+
    "Ý³jRh ã                  óþ  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHtHtHtHtHt ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtHtHtH t H!t!H"t"  ^ R	I#H$t% ^ R
I#H&t' ^RI)H*t* ^RI+H,t, ^RI-H.t. ^RI/H0t0 ^RI1H2t2 ^RI3H4t4 ^RI5H6t6 ^RI7H8t8 ^RI9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtD ^RIEHFtFHGtGHHtHHItIHJtJHKtK ^RILHMtMHNtN ^RIOHPtP ^RIQHRtRHStS ^RITHUtU ^RIVHWtW ^RIXHYtY ^RIZH[t[ ^RI\H]t] ^RI^H_t_H`t` ^RIaHbtbHctcHdtdHeteHftfHgtgHhth ^RIiHjtj ^R IkHltlHmtmHntnHotoHptp ^R!IqHrtrHsts ^R"ItHutuHvtvHwtwHxtxHyty ^R#IzH{t{H|t| ^R$I}H~t~Ht ^R%I€H�t� ]'       d   ^R&I‚Hƒtƒ  ^ R	I#H$t„ ^ R
I#H&t… ^R'I‡Hˆtˆ  ! R( R)4      t‰ ! R* R+4      tŠR, t‹R- tŒR. t�R/ tŽR0t�R1t�R2t‘]�]�3t’]�]"n�        ]`! 4       t“ ! R3 R4]EP(                  4      t•R4.t–]{! ]�! ]•4      4      t•R#   ]( d	    Rt%Rt' ELxi ; i  ]( d    ]†;t„t… L†i ; i)5é    )ÚannotationsN)Údefaultdict)Únullcontext)Úcount)ÚTYPE_CHECKINGÚAnyÚDictÚListÚOptionalÚSetÚTypeÚUnion)Ú	Tokenicer)ÚAutoModelForCausalLMÚAutoProcessorÚPreTrainedModelÚPreTrainedTokenizerBaseÚProcessorMixinÚmodeling_utils)ÚDataset)ÚIterableDataset)ÚDEVICE_THREAD_POOL)ÚAdapter)ÚExllamaV3Linear)ÚBaseQuantLinear)ÚTorchFP4Linear)ÚTorchFP8Linear)Úconfigure_default_lookahead)ÚTorchLinear)ÚFORMATÚMETHODÚQUANTIZE_BLACK_LISTÚAutoModuleDecoderConfigÚBaseQuantizeConfigÚGcModeÚQuantizeEmbedÚQuantizeEmbedConfigÚVramStrategyÚdynamic_getÚresolve_quant_format)Úavailable_float8_dtypesÚdequantize_f4_e2m1Údequantize_fp8Údevice_supports_dtypeÚdevice_supports_native_fp4Úis_fp4_packed_dtype)Úfuse_layer_normsÚrotate_model)Únormalize_seq_mask)ÚBACKENDÚnormalize_backend)Úprepare_calibration_dataset)Ú
get_device)Ú"with_quantization_device_telemetry)Úautofix_hf_model_config)Úselect_quant_linear)ÚQuantizationRegionTimerÚsetup_logger)ÚMODALITYÚ_module_has_meta_tensorsÚfind_modulesÚ
get_moduleÚget_module_by_name_prefixÚget_module_nameÚmove_to)Úinfer_block_shape)Ú
LazyTurtleÚ_get_parent_and_leaf_by_pathÚ_get_qualified_nameÚ+alias_direct_meta_from_turtle_for_submoduleÚalias_from_turtle_for_submodule)ÚTORCH_HAS_COMPILEÚtorch_compile)ÚCPUÚDEFAULT_MAX_SHARD_SIZEÚDEVICEÚEXPERT_INDEX_PLACEHOLDERÚMETA)ÚModelLoaderÚ_setup_rotation_online_had)ÚSharedInputPlanÚbuild_shared_input_plan)ÚModelWriter©ÚCheckpointConfig)ÚNamedModulec                  ó&   € ] tR t^utRtR R ltRtR# )Ú_QuantizedCheckpointSourcezØExpose an on-disk quantized checkpoint through the shard-map interface.

Embedding-only saves use this lightweight source when a model was loaded
through the regular quantized loader and therefore has no LazyTurtle.
c               ó   € V ^8„  d   QhRR/# )é   Úmodel_local_pathÚstr© )Úformats   "ÚV/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/models/base.pyÚ__annotate__Ú'_QuantizedCheckpointSource.__annotate__|   s   € ÷ ñ ¨ñ ó    c                	óœ  € Wn         \        P                  P                  VR 4      p\        P                  P	                  V4      '       d³   \        VRRR7      ;_uu_ 4       p\        P                  ! V4      pRRR4       XP                  R/ 4      p\        V\        4      '       d	   V'       g   \        RV R24      hVP                  4        UUu/ uF  w  rg\        V4      \        V4      bK  	  uppV n        R# \        P                  P                  VR4      p\        P                  P	                  V4      '       g   \        R	V R
24      h^ RIHp	 V	! VRRR7      ;_uu_ 4       p
V
P%                  4        Uu/ uF  qfRbK  	  upV n        RRR4       R#   + '       g   i     EL+; iu uppi u upi   + '       g   i     R# ; i)zmodel.safetensors.index.jsonÚrúutf-8©ÚencodingNÚ
weight_mapzCheckpoint index at `z'` has an empty or invalid `weight_map`.zmodel.safetensorszFNo `model.safetensors.index.json` or `model.safetensors` found under `ú`.)Ú	safe_openÚptÚcpu)Ú	frameworkÚdevice)r]   ÚosÚpathÚjoinÚexistsÚopenÚjsonÚloadÚgetÚ
isinstanceÚdictÚ
ValueErrorÚitemsr^   Ú_weight_mapÚFileNotFoundErrorÚsafetensorsrl   Úkeys)Úselfr]   Ú
index_pathÚhandleÚindexrj   Útensor_nameÚ
shard_nameÚsingle_shardrl   Úhandlers   &&         ra   Ú__init__Ú#_QuantizedCheckpointSource.__init__|   sw  € Ø 0ÔÜ—W‘W—\‘\Ð"2Ð4RÓSˆ
Ü�7‰7�>‰>˜*×%Ò%Ü�j #°×8Õ8¸FÜŸ	š	 &Ó)�÷ 9àŸ™ <°Ó4ˆJÜ˜j¬$×/Ò/·zÜ Ð#8¸¸ÐDkÐ!lÓmÐmð 0:×/?Ñ/?Ô/Aô á/AÑ+�Kô �KÓ ¤# j£/Ò1Ù/Aò ˆDÔñ ä—w‘w—|‘|Ð$4Ð6IÓJˆÜ�w‰w�~‰~˜l×+Ò+Ü#ØXÐYiÐXjÐjlÐmóð õ 	*á�|¨t¸E×BÕBÀgàDKÇLÁLÄNó ÙDR°[Ð0Ò0ÁNñ ˆDÔ÷ CÑB÷' 9×8Ð8üó
 ùò ÷ C×BÐBús0   Á"FÃ F/Å+F:Å>F5Æ	F:ÆF,	Æ5F:Æ:G	)r}   r]   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r‰   Ú__static_attributes__r_   rd   ra   rZ   rZ   u   s   † ñ÷ñ rd   rZ   c                  ó*   € ] tR t^™tRR ltRR ltRtR# )Ú_ClassPropertyDescriptorNc                	ó   € Wn         R # ©N©Úfget)r�   r–   Úfsets   &&&ra   r‰   Ú!_ClassPropertyDescriptor.__init__š   s   € ØŽ	rd   c                	ó`   € Vf   \        V4      pV P                  P                  W4      ! 4       # r”   )Útyper–   Ú__get__)r�   ÚinstanceÚowners   &&&ra   r›   Ú _ClassPropertyDescriptor.__get__�   s(   € ØŠ=Ü˜“NˆEØ�y‰y× Ñ  Ô1Ó3Ð3rd   r•   r”   )r‹   rŒ   r�   rŽ   r‰   r›   r�   r_   rd   ra   r’   r’   ™   s   † ô÷4ð 4rd   r’   c                óf   € \        V \        \        34      '       g   \        V 4      p \        V 4      # r”   )ry   ÚclassmethodÚstaticmethodr’   )Úfuncs   &ra   Úclasspropertyr£   £   s)   € Ü�dœ[¬,Ð7×8Ò8Ü˜4Ó ˆÜ# DÓ)Ð)rd   c                ó:   € R VRVRV /pVe   W&R&   Ve   WVR&   VR3# )Úprev_opÚlayersÚinpNÚkwargsÚmodule2inspectr_   )r§   r¥   Úmodule_kwargsÚ
nodes_sizeÚsubsetr©   Úns   &&&&&& ra   Úgenerate_node_for_awq_scalingr®   ©   sA   € à�7Ø�&Øˆsð	€Að
 Ò ð
 $ˆ(‰àÒ!Ø,Ð
Ñàˆdˆ7€Nrd   c                 ó   € R # ©Fr_   )Úargsr¨   s   *,ra   Ú%check_support_param_buffer_assignmentr²   »   s   € Ùrd   c                óB  € \        V \        4      '       d�   \        V\        4      '       dz   VP                  4        Fc  w  r#W 9   dU   \        W,          \        \        34      '       d3   \        V\        \        34      '       d   \	        W,          V4      W&   K_  W0V&   Ke  	  V # \        V \        4      '       dd   \        V\        4      '       dN   V FG  p\        V\        4      '       g   K  V  F&  p\        V\        4      '       g   K  \	        WT4       K(  	  KI  	  V # )zT
Recursively find the corresponding key of override in module_tree and override it.
)ry   rz   r|   ÚlistÚapply_module_tree_override)Úmodule_treeÚoverrideÚkÚvÚoÚbs   &&    ra   rµ   rµ   ¿   sÕ   € ô �+œt×$Ò$¬°H¼d×)CÒ)CØ—N‘NÖ$‰DˆAØÔ¤J¨{­~ÄÄd¸|×$LÒ$LÔQ[Ð\]Ô`dÔfjÐ_k×QlÒQlÜ!;¸K½NÈAÓ!N�“à!"˜A“ñ	 %ð Ðô 
�K¤×	&Ò	&¬:°hÄ×+EÒ+EÛˆAÜ˜!œT×"Ô"Û$�AÜ! !¤T×*Ô*Ü2°1Ö8ó %ñ ð
 Ðrd   z:!z:?z:moec                  ó¢  a € ] tR t^Þt$ RtR]R&   RtR]R&   RtR]R&   RtR]R	&   ]	! 4       t
R
]R&   RtRtR]R&   RtR]R&   RtRtRtR]R&   RtR]R&   RtR]R&   RtRtR]R&   RtR]R&   ]tRt]P4                  ]P6                  .tR]R&   ]P4                  ]P6                  .tR]R&   RtRt/ t R]R&   Rt!R]R &   RR.t"]#PH                  .t%R!]R"&   / t&R#]R$&   . t'R]R%&   . t(R]R&&   Rt)Rt*Rt+R']R(&   R).t,]-P\                  t/Rt0R]R*&   Rt1Rt2Rt3Rt4R]R+&   RëR, V 3R- lllt5]6R. 4       t7]6RìR/ R0 ll4       t8]6RìR1 R2 ll4       t9]6R3 R4 l4       t:]6R5 R6 l4       t;]6R7 R8 l4       t<]6RìR9 R: ll4       t=]6RíR; R< ll4       t>]6R= R> l4       t?]6R? R@ l4       t@]6RA RB l4       tA]6RîRC RD ll4       tB]6RE 4       tC]6RF RG l4       tD]6RH 4       tE]6RïRI RJ ll4       tF]6RìRK RL ll4       tG]6RðRM RN ll4       tH]6RñRO RP ll4       tI]6RQ RR l4       tJ]6RS RT l4       tKRòRU RV lltL]MRRRW^R]NPž                  RR^
RRRR3RX RY ll4       tP]QRZ R[ l4       tRRRRW^R]NPž                  RR^
RR3R\ R] lltSR^R/R_ R` lltTR^R/Ra Rb lltURóRc Rd lltVRe Rf ltWRg tXRh Ri ltYRj Rk ltZRl Rm lt[Rn Ro lt\RìRp lt]RìRq lt^Rr t_R]`RRR3Rs Rt lltaRu Rv ltbRw Rx ltcRyR/Rz R{ lltdR| R} lteR~ R ltfR€ R� ltgRôR‚ Rƒ llthRôR„ R… lltiRõR† R‡ lltjRˆ tkRöR‰ RŠ lltlR‹ RŒ ltmR� tnRŽ toR� tpR� R‘ ltqR’ R“ ltrR” R• ltsR– R— lttR˜ R™ ltuRš R› ltvRœ R� ltwRž RŸ ltxR  R¡ ltyR¢ R£ ltzR¤ R¥ lt{R¦R/R§ R¨ llt|R© Rª lt}R« R¬ lt~R­ R® ltR¯ R° lt€R± R² lt�R³ R´ lt‚Rµ R¶ ltƒR· R¸ lt„R¹ Rº lt…R» R¼ lt†R½ R¾ lt‡R¿ RÀ ltˆRÁ RÂ lt‰RÃ RÄ ltŠRÅ RÆ lt‹RÇ RÈ ltŒRÉ RÊ lt�]6RË RÌ l4       tŽRÍ t�R÷RÎ RÏ llt�RìRÐ RÑ llt‘]6RîRÒ RÓ ll4       t’]6RîRÔ RÕ ll4       t“]6RÖ R× l4       t”]6RØ RÙ l4       t•]6RÚ RÛ l4       t–RÜ t—RÝ RÞ lt˜Rß Rà lt™Rá Râ ltšRã Rä lt›Rå Ræ ltœV 3Rç lt�Rè Ré ltžRêtŸV ;t # )øÚ
BaseQModelÚlm_headr^   Nú
str | NoneÚrotary_embeddingú	List[str]r¶   zdict[METHOD, List[str]]Úmodule_tree_overrideszfrozenset[str]Ú!shared_input_verified_model_typesTÚpre_lm_head_norm_moduleÚ*awq_scale_optimize_shape_dependent_modulesFúOptional[List[str]]Úrequire_pkgszOptional[str | torch.dtype]Úrequire_dtypeÚboolÚrequire_fast_initúOptional[str]Údynamic_expert_indexúOptional[Dict[str, str]]Údynamic_expert_indiceszList[VramStrategy]Úsupported_dense_vram_strategiesÚsupported_moe_vram_strategieszDict[str, str]Úinfoz+Optional[Dict[str, Union[str | List[str]]]]Úout_of_model_tensorszList[MODALITY]Úmodalityz&Dict[str, Union[str | Dict[str, Any]]]Úquant_override_filesÚ modules_with_direct_meta_tensorsÚdirect_meta_modulesúOptional[Any]ÚHF_CONVERSION_MAP_REVERSEDz.expertÚ"ATTENTION_MASKS_REQUIRED_FOR_INPUTÚhf_conversion_model_type_aliasc               ó<   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRR/	# )r\   Úmodelr   Ú	quantizedrÉ   Úquantize_configzOptional[BaseQuantizeConfig]Ú	tokenizerú!Optional[PreTrainedTokenizerBase]Úqlinear_kernelú	nn.ModuleÚload_quantized_modelÚtrust_remote_coder]   r^   Úturtle_modelzOptional[LazyTurtle]r_   )r`   s   "ra   rb   ÚBaseQModel.__annotate__`  so   € ÷ d)ñ d)àðd)ð ðd)ð 6ð	d)ð
 5ðd)ð "ðd)ð #ðd)ð  ðd)ð ðd)ð +ñd)rd   c
           	     	ót  <a€ \         SV `  4        V'       dÉ   VP                  p
V P                  ey   V P                  P	                  V
4      e\   \
        P                  RV
P                  4        24       \        V P                  V P                  V
,          4      \        V 4      n	        \        V 4      P                  f    V P                  W4      \        V 4      n	        \        V 4      P                  f&   \        RVP                  P                   RV 24      hRV n        W n        W`n        WPn        Wpn        W€n        W0n        \-        \
        R7      V n        R V n        R V n        V P5                  WR7      V n        W�n        . V n        Ve‰   \=        V\>        4      '       d5   \@        PB                  ! VV\E        V P6                  RR 4      R7      V n#        M\        R	\        V4       R
24      hV PF                  PF                  V P6                  n#        MW@n#        W@P6                  n#        \=        V P6                  \H        4      '       d   \K        V P6                  VR7       V PM                  4        \N        PP                  ! 4       V n)        . V n*        V PV                  '       d'   \X        PZ                  ! W€P\                  R7      V n        V P^                  '       d   V Pa                  4        ^RI1H2p V'       dë   \=        V P*                  Pf                  V4      '       dÅ   ^ p\i        V P6                  \j        .R7      pVPm                  4        Fm  w  po\n        ;QJ d-    V3R lVPq                  4        4       F  '       d   K   RM"	  RM! V3R lVPq                  4        4       4      '       g   Kd  V^,          pKo  	  \
        P                  RV R\s        V4       R24       \
        P                  RRPu                  R V Pw                  4        4       4       R24       V Py                  4        R # )Nz"Module Tree: overridden by METHOD.zUnsupport model_type z2, and failed to auto-detect module tree for model F)Úlogger)rã   Úconfig©rä   Úmodel_configúLUnsupported `tokenizer` type: Expected `PreTrainedTokenizerBase`, actual = `rk   )rr   )rä   ©ÚLora©r¦   c              3  óP   <"  € T F  p\        SP                  V4      x € K  	  R # 5ir”   )ÚhasattrÚadapter)Ú.0ÚnameÚms   & €ra   Ú	<genexpr>Ú&BaseQModel.__init__.<locals>.<genexpr>¼  s!   øé € ÐRÑ<Q°D”w˜qŸy™y¨$×/Ð/Ó<Qùs   ƒ#&Tz
Adapter: `z!` EoRA/Lora adapters loaded for `z
` modules.zKernel: loaded -> `[z, c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir”   )r‹   )ró   Úclss   & ra   rö   r÷   Â  s   é € Ð1YÉ.À3·,¶,Ë.ùs   ‚z]`)=Úsuperr‰   ÚmethodrÂ   rx   ÚlogrÑ   Úupperrµ   r¶   rš   Ú_auto_detect_module_treer{   ré   Ú
model_typeÚcompiledrÝ   rã   rá   rä   r]   rÞ   r;   Úquant_region_timerÚ_runtime_generateÚ	processorÚafter_model_loadrÜ   rå   Úauto_module_decoder_eventsry   r   r   rw   Úgetattrrß   r   r9   Ú_configure_modelopt_runtimeÚ	threadingÚRLockÚ_turtle_lockÚ	quant_logÚrequire_load_processorr   Úfrom_pretrainedÚrequire_trust_remote_codeÚrequire_monkeypatchÚmonkey_patchÚadapter.adapterrî   rò   r?   r   r|   ÚallÚparameter_keysÚlenrs   ÚkernelsÚ_auto_configure_lookahead)r�   rÜ   rÝ   rÞ   rß   rá   rã   rä   r]   rå   Úquant_methodrî   Úloaded_lorasÚqmodulesrô   rõ   Ú	__class__s   &&&&&&&&&&     @€ra   r‰   ÚBaseQModel.__init__`  s[  ù€ ô 	‰ÑÔçØ*×1Ñ1ˆLà×)Ñ)Ò5¸$×:TÑ:T×:XÑ:XÐYeÓ:fÒ:rÜ—‘Ð=¸l×>PÑ>PÓ>RÐ=SÐTÔUä)CÀD×DTÑDTÐVZ×VpÑVpÐq}ÕV~Ó)”�T“
Ô&ä�D‹z×%Ñ%Ò-Ø)-×)FÑ)FÀuÓ)[”�T“
Ô&ô �‹:×!Ñ!Ò)ÜÐ4°U·\±\×5LÑ5LÐ4MÐMð  AFð  @Gð  Hó  Ið  Ið ˆŒØ"ŒØ$8Ô!Ø,ÔØ!2ÔØ 0ÔØ.ÔÜ"9ÄÔ"EˆÔØ!%ˆÔà)-ˆŒà×*Ñ*¨5Ð*Ó\ˆŒ
Ø(Ôà@BˆÔ'àÒ Ü˜)Ô%<×=Ò=Ü!*§¢ØØ&7Ü!(¨¯©°X¸tÓ!Dô"�•ô !ØbÔcgÐhqÓcrÐbsÐsuÐvóxð xà#'§>¡>×#;Ñ#;ˆD�J‰JÕ à&ŒNØ#,�J‰JÔ ô �d—j‘j¤/×2Ò2Ü# D§J¡JÐ5EÕFð 	×(Ñ(Ô*ä%ŸOšOÓ-ˆÔð ˆŒà×&×&Ð&Ü*×:Ò:Ð;K×_}Ñ_}Ô~ˆDŒNð ×#×#Ð#Ø×ÑÔõ 	+÷ œz¨$×*>Ñ*>×*FÑ*FÈ×MÒMØˆLÜ# D§J¡J¼Ð7HÔIˆHØ#Ÿ>™>Ö+‘��aß“3ÔR¸D×<OÑ<OÔ<QÓR—3—3’3ÔR¸D×<OÑ<OÔ<QÓR×RÔRØ  AÕ%’Lñ ,ô �H‰H�z , Ð/PÔQTÐU]ÓQ^ÐP_Ð_iÐjÔkô 	�‰Ð'¨¯	©	Ñ1YÈ$Ï,É,Ì.Ó1YÓ(YÐ'ZÐZ\Ð]Ô^à×&Ñ&Ö(rd   c                óš   € . pV P                  4        F4  pV P                  V4       F  pW19  g   K  VP                  V4       K  	  K6  	  V# )as  
Given a module_tree structure, return the layers_node string.
It returns layer paths from each complete module_tree variant.
Example:
    ["model", "layers", "#", {...}] -> ["model.layers"]
    [
        ["model", "L_module", "layers", "#", {...}],
        ["model", "H_module", "layers", "#", {...}],
    ]
        -> ["model.L_module.layers", "model.H_module.layers"]
)Ú_iter_module_tree_variantsÚ_expand_module_tree_prefixesÚappend)rù   ÚpathsÚtreerr   s   &   ra   Úextract_layers_nodeÚBaseQModel.extract_layers_nodeÆ  sJ   € ð ˆØ×2Ñ2Ö4ˆDØ×8Ñ8¸Ö>�ØÖ$Ø—L‘L Ö&ó ?ñ 5ð ˆrd   c               ó   € V ^8„  d   QhRR/# )r\   ÚreturnzList[List[Any]]r_   )r`   s   "ra   rb   ræ   Û  s   € ÷ 
ñ 
¸_ñ 
rd   c                ó2  € Vf   V P                   MTp\        V\        4      '       g   . # V'       dV   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   V Uu. uF  p\        V4      NK  	  up# \        V4      .# u upi )z>Normalize module_tree into one or more complete tree variants.c              3  óN   "  € T F  p\        V\        \        34      x € K  	  R # 5ir”   )ry   r´   Útuple)ró   Úitems   & ra   rö   Ú8BaseQModel._iter_module_tree_variants.<locals>.<genexpr>â  s   é € ÐIÁD¸Dœ
 4¬$´¨×7Ð7ÃDùs   ‚#%FT)r¶   ry   r´   r  )rù   r¶   r!  r)  s   &&  ra   r  Ú%BaseQModel._iter_module_tree_variantsÚ  ss   € ð #.Ò"5ˆs�Š¸;ˆÜ˜$¤×%Ò%ØˆIç—C“CÑIÁDÓI—C—C’CÑIÁDÓI×IÒIÙ+/Ó0©4 4”D˜–J©4Ñ0Ð0ä�T“
ˆ|Ðùò 1s   Á1Bc               ó   € V ^8„  d   QhRR/# )r\   r%  rÁ   r_   )r`   s   "ra   rb   ræ   è  s   € ÷ 0ñ 0¸	ñ 0rd   c                ó  € Vf   V P                   MTpVf   . # . pV FL  pVR8X  d    MD\        V\        4      '       g    M,VP                  VP	                  R^4      ^ ,          4       KN  	  V'       d   RP                  V4      .# . # )z<Return the module_tree prefix before `#` as a concrete path.Ú#Ú:Ú.)r¶   ry   r^   r  Úsplitrs   )rù   r!  rr   Únodes   &&  ra   r  Ú'BaseQModel._expand_module_tree_prefixesç  s|   € ð #'¢,ˆs�Š°DˆØŠ<ØˆIàˆÛˆDØ�sŒ{ÙÜ˜d¤C×(Ò(Ùà�K‰K˜Ÿ
™
 3¨Ó*¨1Õ-Ö.ñ ÷ $(�—‘˜“ÐÐ/¨RÐ/rd   c               ó    € V ^8„  d   QhRRRR/# )r\   Úmodule_specr^   r%  rÁ   r_   )r`   s   "ra   rb   ræ   û  s   € ÷ !ñ !°ð !¸	ñ !rd   c                ó"  € \        V\        4      '       d   VP                  R4      M. pV'       d
   V^ ,          MTp\        V\        4      '       g   V.# VP                  R4       Uu. uF  qD'       g   K  VNK  	  ppT;'       g    V.# u upi )zÓ
Parse a module specification into its ordered runtime/checkpoint aliases.

The first alias is the runtime shell name. Any later aliases are
alternate checkpoint names declared directly in the model definition.
r/  Ú|)ry   r^   r1  )rù   r5  Úpartsrô   ÚaliasÚaliasess   &&    ra   Ú_parse_module_aliasesÚ BaseQModel._parse_module_aliasesú  sy   € ô +5°[Ä#×*FÒ*F�×!Ñ! #Ô&ÈBˆß ˆu�QŽx kˆÜ˜$¤×$Ò$Ø�6ˆMØ&*§j¡j°¤oÓ?¡o˜U»—5�5¡oˆÐ?Ø× Ð ˜4˜&Ð ùò @s   Á)	BÁ7Bc               ó    € V ^8„  d   QhRRRR/# )r\   r5  r^   r%  útuple[str, List[str]]r_   )r`   s   "ra   rb   ræ   
  s   € ÷ 	ñ 	¨cð 	Ð6Kñ 	rd   c                ó   € \        V\        4      '       d   VP                  R4      M. p\        V\        4      '       d   V P                  V4      MV.pV'       d
   V^ ,          MTpVR,           Uu. uF  qU'       g   K  VNK  	  ppWF3# u upi )zj
Parse a module specification into module name and flags.
Example: "gate:moe:!" -> ("gate", ["moe", "!"])
r/  ºé   NN)ry   r^   r1  r;  )rù   r5  r8  r:  rô   ÚpÚflagss   &&     ra   Ú_parse_module_flagsÚBaseQModel._parse_module_flags	  s{   € ô +5°[Ä#×*FÒ*F�×!Ñ! #Ô&ÈBˆÜ<FÀ{ÔTW×<XÒ<X�#×+Ñ+¨KÔ8Ð_jÐ^kˆß$ˆw�qŽz¨+ˆØ! "žIÓ+™I�q«—�™IˆÐ+Øˆ{Ðùò ,s   Á2	BÂ Bc               ó    € V ^8„  d   QhRRRR/# )r\   r5  r^   r%  rÉ   r_   )r`   s   "ra   rb   ræ     s   € ÷ -ñ - sð -¨tñ -rd   c                óˆ   € \        V\        4      '       g   R# V P                  V4      w  r#\        P	                  R4      V9   # )z4
Check if a module specification has the :moe flag.
Fr/  )ry   r^   rD  ÚMOE_FLAGÚlstrip)rù   r5  Ú_rC  s   &&  ra   Úhas_moe_flagÚBaseQModel.has_moe_flag  s:   € ô
 ˜+¤s×+Ò+ÙØ×*Ñ*¨;Ó7‰ˆÜ�‰˜sÓ# uÑ,Ð,rd   c               ó    € V ^8„  d   QhRRRR/# )r\   Útarget_modelúOptional[nn.Module]r%  r×   r_   )r`   s   "ra   rb   ræ      s    € ÷ Qñ QÐ>Qð QÐ]jñ Qrd   c                	óD  € \        V R R4      pVe   \        P                  ! V4      # \        V RR4      pV'       d3   \        P                  ! VVR7      pVe   \        P                  ! V4      # \        P                  ! VR7      pVe   \        P                  ! V4      # R# )rØ   NrÚ   )rN  rÿ   )rN  )r  ÚcopyÚdeepcopyrE   Ú infer_hf_conversion_map_reversed)rù   rN  Úconfigured_mapÚmodel_type_aliasÚinferred_maps   &&   ra   Ú"resolve_hf_conversion_map_reversedÚ-BaseQModel.resolve_hf_conversion_map_reversed  s�   € ä  Ð&BÀDÓIˆØÒ%Ü—=’= Ó0Ð0ä" 3Ð(HÈ$ÓOÐßÜ%×FÒFØ)Ø+ôˆLð Ò'Ü—}’} \Ó2Ð2ä!×BÒBÐP\Ô]ˆØ.:Ò.FŒt�}Š}˜\Ó*ÐPÈDÐPrd   c               ó   € V ^8„  d   QhRR/# ©r\   r%  zSet[str]r_   )r`   s   "ra   rb   ræ   2  s   € ÷ -ñ -Ð_gñ -rd   c           	     óR  € \        4       p\        V\        4      '       Ed5   VP                  4        EF  w  rVVR8X  d:   \        V\        4      '       d"   VP	                  V P                  WbV4      4       KF  \        V\        4      '       d   V P                  V4      MV. 3w  rxV'       d	   V RV 2p	MTp	\        V\        4      '       d   V P                  V4      MRp
V
'       g	   V'       d   VP                  V	4       \        V\        \        \        34      '       g   Kò  TP	                  T P                  YiT;'       g    T
4      4       EK   	  V# \        V\        \        34      '       d¶   V F¯  p\        V\        4      '       d^   V P                  V4      '       dG   V P                  V4      w  rxV'       d   VP                  V RV 24       Kc  VP                  V4       Kv  \        V\        4      '       g   KŽ  VP	                  V P                  W²V4      4       K±  	  V# )z–
Recursively collect all module paths that have the :moe flag.
Returns a set of full module paths (e.g., "mlp", "mlp.experts", "mlp.shared_experts").
r.  r0  F)Úsetry   rz   r|   ÚupdateÚ_collect_moe_modules_from_treer^   rD  rK  Úaddr(  r´   )rù   Ú	tree_nodeÚparent_pathÚparent_is_moeÚmoe_modulesÚkeyÚvalueÚmodule_namerJ  Ú	full_pathÚis_moer)  s   &&&&        ra   r^  Ú)BaseQModel._collect_moe_modules_from_tree1  s¼  € ô “eˆä�i¤×&Ó&Ø'Ÿo™o×/‘
�à˜#”:ä! %¬×.Ò.Ø#×*Ñ*¨3×+MÑ+MÈeÐboÓ+pÔqÙô BLÈCÔQT×AUÒAU ×!8Ñ!8¸Ô!=Ð\_ÐacÐ[d‘�ßØ#. -¨q°°Ð >‘Ià +�Iô 3=¸SÄ#×2FÒ2F˜×)Ñ)¨#Ô.ÈE�ßŸ]Ø—O‘O IÔ.ô ˜e¤d¬E´4Ð%8×9Ô9Ø×&Ñ&Ø×:Ñ:¸5È]×MdÐMdÐ^dÓe÷ñ- 0ðJ Ðô ˜	¤E¬4 =×1Ò1Û!�Ü˜d¤C×(Ò(¨S×-=Ñ-=¸d×-CÒ-CØ%(×%<Ñ%<¸TÓ%B‘N�Kß"Ø#Ÿ™¨;¨-°q¸¸Ð(FÖGà#Ÿ™¨Ö4Ü ¤d×+Ô+Ø×&Ñ& s×'IÑ'IÈ$Ð]jÓ'kÖlñ "ð Ðrd   c               ó   € V ^8„  d   QhRR/# rZ  r_   )r`   s   "ra   rb   ræ   b  s   € ÷ ñ  ñ rd   c                ó¸   € V P                   f   \        4       # \        4       pV P                  4        F#  pVP                  V P	                  V4      4       K%  	  V# )z²
Get all MoE module paths from the model's module_tree.
Returns a set of module paths that have the :moe flag.

Example: {"mlp", "mlp.experts", "mlp.shared_experts", "mlp.gate"}
)r¶   r\  r  r]  r^  )rù   rc  r!  s   &  ra   Úget_moe_modulesÚBaseQModel.get_moe_modulesa  sN   € ð �?‰?Ò"Ü“5ˆLÜ“eˆØ×2Ñ2Ö4ˆDØ×Ñ˜s×AÑAÀ$ÓGÖHñ 5àÐrd   c               ó    € V ^8„  d   QhRRRR/# )r\   Úmodule_pathr^   r%  rÉ   r_   )r`   s   "ra   rb   ræ   q  s   € ÷ ñ ¨ð °ñ rd   c                óN  € V P                  4       pV FŽ  pRV 2V9   g   VP                  V4      '       d    R# VP                  R4      p\        \	        V4      4       F>  pRP                  WER 4      pVP                  VR,           4      '       g	   Wc8X  g   K<    R# 	  K�  	  R# )zá
Check if a given module path is an MoE module based on :moe flags.

Args:
    module_path: Full module path like "model.layers.0.mlp.experts.5.gate_proj"

Returns:
    True if any parent in the path is marked with :moe flag
r0  TNF)rl  Úendswithr1  Úranger  rs   Ú
startswith)rù   ro  rc  Ú
moe_moduleÚ
path_partsÚiÚpartial_paths   &&     ra   Úis_moe_moduleÚBaseQModel.is_moe_modulep  s˜   € ð ×)Ñ)Ó+ˆó &ˆJà�:�,Ð ;Ô.°+×2FÑ2FÀz×2RÒ2RÚà$×*Ñ*¨3Ó/ˆJÜœ3˜z›?Ö+�Ø"Ÿx™x¨
°2¨Ó7�Ø×*Ñ*¨:¸Õ+;×<Ò<ÀÖ@ZÛó ,ñ &ñ rd   c               ó   € V ^8„  d   QhRR/# )r\   r%  rÆ   r_   )r`   s   "ra   rb   ræ   Œ  s   € ÷ $ñ $Ð$7ñ $rd   c                ó”  € V P                   f   R# . pV P                  4        F¡  pRpRpV F2  pVR8X  d   RpK  V'       g   K  \        V\        4      '       g   K0  Tp M	  Vf   KE  VP	                  4        FH  pV P                  V4      '       g   K  V P                  V4      w  rxWq9  g   K7  VP                  V4       KJ  	  K£  	  V# )aD  
Get the name of the MoE module from module_tree.

Each layer can have only ONE MoE module marked with :moe flag.
For example:
- GLM-4: "mlp:moe" -> returns "mlp"
- MiniMax-M2: "block_sparse_moe:moe" -> returns "block_sparse_moe"

Returns:
    The name of the MoE module (without flags), or None if no MoE module is defined
NFr.  T)r¶   r  ry   rz   r€   rK  rD  r  )	rù   Úfound_namesr!  Úlayer_structureÚ
found_hashr)  rd  rf  rJ  s	   &        ra   Úget_moe_module_nameÚBaseQModel.get_moe_module_name‹  sÂ   € ð �?‰?Ò"ÙàˆØ×2Ñ2Ö4ˆDØ"ˆOØˆJÛ�Ø˜3”;Ø!%�JÙß‘:¤*¨T´4×"8Ô"8Ø&*�OÙñ ð Ò&Ùà&×+Ñ+Ö-�Ø×#Ñ# C×(Ô(Ø%(×%<Ñ%<¸SÓ%A‘N�KØ"Ö5Ø#×*Ñ*¨;Ö7ó	 .ñ 5ð( Ðrd   c               ó   € V ^8„  d   QhRR/# )r\   Úis_awq_quantizerÉ   r_   )r`   s   "ra   rb   ræ   ³  s   € ÷ Rñ RÐUYñ Rrd   c                	óŽ  a aa€ SEe8   S P                   Ee)   S P                  S4      oR V VV3R llp. pR pV EFÿ  pVP                  . 4       \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      p	V	'       d   \        V4      pK’  V'       g   VR,          P                  V4       K´  V'       Edí   . p
. pR pV F?  p\        V9   pVf   TpWì8w  d   V
P                  WË34       . pTpVP                  V4       KA  	  V'       d   V
P                  WË34       V
 EF  w  ppV'       g   VR,          P                  V4       K)  V Uu0 uF
  qÔ! V4      kK  	  pp\        V4      ^8X  da   \        VP                  4       4       FA  pV F8  pVR,          P                  VP                  \        \        V4      4      4       K:  	  KC  	  K¯  V FP  p\        V! V4      4       F8  pVR,          P                  VP                  \        \        V4      4      4       K:  	  KR  	  EK  	  \        V4      \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   ^M^8H  pV'       d'   V'       d   VR,          P                  V4       EK£  EK¦  EK©  V FP  p\        V! V4      4       F8  pVR,          P                  VP                  \        \        V4      4      4       K:  	  KR  	  EK  	  V# V# u upi )	Nc               ó    € V ^8„  d   QhRRRR/# )r\   rf  r^   r%  Úintr_   )r`   s   "ra   rb   Ú:BaseQModel.build_moe_modules_if_need.<locals>.__annotate__¸  s   € ÷ ?ñ ?¨#ð ?°#ñ ?rd   c                ó8   <€ SP                  SV 4      pVf   S# T# r”   )Úget_num_experts_for_module)rf  r   rù   rë   Únum_expertss   & €€€ra   Úexpert_countÚ:BaseQModel.build_moe_modules_if_need.<locals>.expert_count¸  s$   ø€ Ø×6Ñ6°|À[ÓQ�Ø&+¢m�{Ð>¸Ð>rd   c              3  ó4   "  € T F  p\         V9   x € K  	  R # 5ir”   )rO   ©ró   r­   s   & ra   rö   Ú7BaseQModel.build_moe_modules_if_need.<locals>.<genexpr>Á  s   é € Ð NÉÀ1Ô!9¸QÖ!>Ëùó   ‚TFc              3  ó4   "  € T F  p\         V9   x € K  	  R # 5ir”   )ÚCAPTURE_ONLY_FLAGr�  s   & ra   rö   rŽ  Â  s   é € Ð&MÁuÀ!Ô'8¸AÖ'=Ãuùr�  c              3  ó,   "  € T F
  pR V9   x € K  	  R# 5i)Úshared_expertNr_   r�  s   & ra   rö   rŽ  ù  s   é € ÐEjÑdiÐ_`ÀoÐYZÖFZÓdiùó   ‚éÿÿÿÿ)rÌ   Úget_num_expertsr  Úanyr  r´   ÚextendrO   r  rr  ÚpopÚreplacer^   )rù   rë   Úlayer_modulesr‚  rŠ  Ú
moe_simpleÚcapture_only_modulesÚnamesÚ
has_expertÚhas_capture_onlyÚsegmentsÚcurrent_segmentÚcurrent_is_expert_segmentr­   Úis_expert_entryÚis_expert_segmentÚsegment_namesÚsegment_countsr„   Úadd_capture_only_moduler‰  s   ff&&                @ra   Úbuild_moe_modules_if_needÚ$BaseQModel.build_moe_modules_if_need²  sÍ  ú€ ð Ó#¨×(@Ñ(@Ó(LØ×-Ñ-¨lÓ;ˆK÷?ò ?ð ˆJØ#'Ð Ü&�Ø×!Ñ! "Ô%ç ›SÑ NÉÓ NŸSŸSšSÑ NÉÓ NÓN�
ß#&£3Ñ&MÁuÓ&M§3§3¢3Ñ&MÁuÓ&MÓ#MÐ ß#Ü+/°«;Ð(Ùç!Ø˜r•N×)Ñ)¨%Ô0Ùç"�?ð  "�HØ&(�OØ04Ð-Û"˜Ü*BÀaÑ*G˜Ø4Ò<Ø8GÐ5Ø*ÔGØ$ŸO™OÐ-FÐ,XÔYØ.0˜OØ8GÐ5Ø'×.Ñ.¨qÖ1ñ #÷ 'Ø Ÿ™Ð)BÐ(TÔUô =EÑ8Ð)¨=ß0Ø& r�N×1Ñ1°-Ô@Ù$ñ
 DQÓ)QÁ=¸a¨,°q®/Á=˜Ð)QÜ˜~Ó.°!Ô3Ü).¨~×/AÑ/AÓ/CÖ)D Û)6 AØ$.¨r¥N×$9Ñ$9¸!¿)¹)ÔD\Ô^aÐbgÓ^hÓ:iÖ$jó *7ó *Eó &3 Ü-2±<À³?Ö-C EØ$.¨r¥N×$9Ñ$9¸!¿)¹)ÔD\Ô^aÐbgÓ^hÓ:iÖ$jó .Dô &3ñ =Eô( /2°%«jÇ#Ã#ÑEjÑdiÓEjÇ#Ç#Â#ÑEjÑdiÓEj×BjÒBj¹QÐpqÑ.rÐ+ß.×3Gà" 2�×-Ñ-Ð.B×Cò 4HÒ.ó
 #˜Ü%*©<¸«?Ö%;˜EØ& r�N×1Ñ1°!·)±)Ô<TÔVYÐZ_ÓV`Ó2aÖbó &<ô #ñC 'ðJ ÐàÐùò1 *Rs   ÆMc                ó  € \        VR4      '       d#   \        VP                  V P                  4      pV# \        VR4      '       d-   \        VP                  P                  V P                  4      pV# \        WP                  4      pV# )z,Return the model-wide fallback expert count.Útext_configÚthinker_config)rñ   r  r¬  rÌ   r­  )rù   rë   r‰  s   && ra   r–  ÚBaseQModel.get_num_experts  s   € ô �< ×/Ò/Ü! ,×":Ñ":¸C×<TÑ<TÓUˆKð
 Ðô	 �\Ð#3×4Ò4Ü! ,×"=Ñ"=×"IÑ"IÈ3×KcÑKcÓdˆKð Ðô " ,×0HÑ0HÓIˆKØÐrd   c               ó    € V ^8„  d   QhRRRR/# )r\   rf  r^   r%  úOptional[int]r_   )r`   s   "ra   rb   ræ     s   € ÷ )ñ )À3ð )È=ñ )rd   c                óÔ  € \        V\        4      '       d   \        V9  d   R# VP                  \        ^4      ^ ,          P	                  R4      p\        V RR4      ;'       g    / pRpVP                  4        F�  w  rg\        V\        4      '       d   \        V\        4      '       g   K3  VP                  R4      pW68X  g   VP                  V R24      '       g   Kf  Ve#   \        V4      \        V^ ,          4      8”  g   KŒ  Wg3pK‘  	  Ve
   V^,          MV P                  pV'       g   R# Tp\        VR4      '       d   VP                  pM(\        VR4      '       d   VP                  P                  p\        W‡R4      p	V	f/   Ve+   V P                  '       d   \        W€P                  R4      MRp	V	f   R#  \        \        V	4      ^ 4      #   \         \"        3 d     R# i ; i)a#  Resolve a placeholder's expert count from its longest matching prefix.

``module_name`` is a layer-relative module-tree path.  A missing or
malformed mapped config field deliberately falls back to the legacy
``dynamic_expert_index`` behavior so existing model definitions remain
compatible.
Nr0  rÎ   r¬  r­  )ry   r^   rO   r1  Úrstripr  r|   Ústriprs  r  rÌ   rñ   r¬  r­  Úmaxr…  Ú	TypeErrorr{   )
rù   rë   rf  Úexpert_prefixÚmappingsÚmatchedÚprefixÚ
field_nameré   re  s
   &&&       ra   rˆ  Ú%BaseQModel.get_num_experts_for_module  sŸ  € ô ˜+¤s×+Ò+Ô/GÈ{Ô/ZÙà#×)Ñ)Ô*BÀAÓFÀqÕI×PÑPÐQTÓUˆÜ˜3Ð 8¸$Ó?×EÐEÀ2ˆØˆØ"*§.¡.Ö"2ÑˆFÜ˜f¤c×*Ò*´*¸ZÌ×2MÒ2MÙØ—\‘\ #Ó&ˆFØÔ&¨-×*BÑ*BÀfÀXÈQÀ<×*PÔ*PØ’?¤c¨&£k´C¸À½
³OÖ&CØ%Ð2’Gñ #3ð $+Ò#6�W˜Q–Z¸C×<TÑ<Tˆ
ßÙàˆÜ�6˜=×)Ò)Ø×'Ñ'‰FÜ�VÐ-×.Ò.Ø×*Ñ*×6Ñ6ˆFÜ˜¨DÓ1ˆØŠ=˜WÒ0ð HK×G_×G_ÐG_”G˜F×$<Ñ$<¸dÔCÐeiˆEØŠ=Ùð	Ü”s˜5“z 1Ó%Ð%øÜœ:Ð&ô 	Úð	ús   Æ=G ÇG'Ç&G'c           	     	ó²  € R  R lp. pV F4  pV Uu. uF  qc! V4      '       g   K  VNK  	  ppVP                  V4       K6  	  TpV Uu. uF  qU'       g   K  VNK  	  pp\        VRR4      '       dW   . pV FL  p	V	 U
u. uF"  p
\        VP                  V
R7      RJg   K   V
NK$  	  pp
V'       g   K;  VP                  V4       KN  	  TpV# u upi u upi u up
i )c               ó    € V ^8„  d   QhRRRR/# )r\   rô   r^   r%  rÉ   r_   )r`   s   "ra   rb   Ú;BaseQModel.filter_not_quantize_module.<locals>.__annotate__@  s   € ÷ 	Hñ 	H #ð 	H¨$ñ 	Hrd   c                ó¦   a € \         ;QJ d-    V 3R  l\         4       F  '       g   K   R'       * # 	  R'       * # ! V 3R  l\         4       4      '       * # )c              3  ó,   <"  € T F	  qS9   x € K  	  R # 5ir”   r_   ©ró   Úflagrô   s   & €ra   rö   ÚQBaseQModel.filter_not_quantize_module.<locals>.should_quantize.<locals>.<genexpr>B  s   øé € ÐGÑ4F¨D 4ž<Ó4Fùó   ƒTF©r—  ÚNON_QUANTIZE_FLAGS)rô   s   fra   Úshould_quantizeÚ>BaseQModel.filter_not_quantize_module.<locals>.should_quantize@  s7   ø€ ç“sÔGÕ4FÓG—s”sÔGÐG’sÔGÐG�sÔGÕ4FÓGÓGÔGÐGrd   ÚdynamicN)rf  F)r  r  r)   rÉ  )rù   r›  rÞ   rÇ  Úfiltered_layer_modulesÚblockrô   Úfiltered_blockÚnew_layer_modulesÚmodulesrõ   Úfiltereds   &&&         ra   Úfilter_not_quantize_moduleÚ%BaseQModel.filter_not_quantize_module>  sí   € õ	Hð "$ÐÛ"ˆEÙ/4ÓN©u t¸È×8MŸd˜d©uˆNÐNØ"×)Ñ)¨.Ö9ñ #ð /ˆá,9ÓC©M 5»UŸ˜©MˆÐCä�? I¨t×4Ò4Ø "ÐÛ(�á&óÙ&˜!Ü" ?×#:Ñ#:ÈÔJÐRWÐW÷ �A™wð ð ÷ ‘8Ø%×,Ñ,¨XÖ6ñ )ð .ˆMàÐùò# Oùò Dùò
s"   ’C
¦C
Á		CÁCÁ=CÂCc               ó    € V ^8„  d   QhRRRR/# ©r\   r‚  rÉ   Úinclude_capture_onlyr_   )r`   s   "ra   rb   ræ   ]  s   € ÷ ñ ÐRVð Ðvzñ rd   c                	ó†   € V P                  V P                  VR 7      pV P                  WV4      pV P                  WR4      pV# ©)rÔ  )Úbuild_layer_modulesr¶   r©  rÐ  )rù   rë   rÞ   r‚  rÔ  r›  s   &&&&& ra   Úsimple_layer_modulesÚBaseQModel.simple_layer_modules\  sG   € à×/Ñ/°·±ÐVjÐ/Ókˆà×5Ñ5°lÐSbÓcˆà×6Ñ6°}ÓVˆð Ðrd   c               ó   € V ^8„  d   QhRR/# ©r\   r%  rÉ   r_   )r`   s   "ra   rb   ræ   h  s   € ÷ &ñ &¸ñ &rd   c                óŒ   € \        VRR4      p\        V\        4      '       g   R# V P                  P	                  RR4      pW#9   # )a¯  
True when this definition's `:in=<tag>` metadata was verified by a real forward
for `model_config.model_type`.

Only the model types a class lists in its own `shared_input_verified_model_types`
count (`module_tree` is inherited, the verification set is not), so a subclass or
an extra `model_type` mapped onto a verified definition stays singleton-only until
it is covered by `tests/module_tree/test_shared_input_cpu_forward.py`.
rÿ   NFrÃ   r_   )r  ry   r^   Ú__dict__rx   )rù   rë   rÿ   Úverifieds   &&  ra   Úshared_input_verifiedÚ BaseQModel.shared_input_verifiedg  sB   € ô ˜\¨<¸Ó>ˆ
Ü˜*¤c×*Ò*ÙØ—<‘<×#Ñ#Ð$GÈÓLˆØÑ%Ð%rd   c               ó    € V ^8„  d   QhRRRR/# )r\   r‚  rÉ   r%  rS   r_   )r`   s   "ra   rb   ræ   y  s    € ÷ 
ñ 
ð ð	
ð
 
ñ
rd   c                óv   € V P                  WVR7      p\        V P                  VV P                  V4      R7      # )a‰  
Group the quantizable modules of one decoder layer by shared input tensor.

Modules in the same group consume identical activations, so Hessian (X^T X)
collection only needs to run for the group leader. Every module is a singleton
unless sibling leaves opt in with the same `:in=<tag>` flag *and* the model type
is listed in `shared_input_verified_model_types` (see `shared_input_verified`).
)r‚  )Úexplicit_tags)rØ  rT   r¶   rß  )rù   rë   rÞ   r‚  r›  s   &&&& ra   Úshared_input_planÚBaseQModel.shared_input_planx  s?   € ð ×0Ñ0°Ð`oÐ0ÓpˆÜ&Ø�O‰OØØ×3Ñ3°LÓAô
ð 	
rd   c               ó    € V ^8„  d   QhRRRR/# rÓ  r_   )r`   s   "ra   rb   ræ   �  s   € ÷ ñ ÀDð Ðhlñ rd   c                	ód   € V P                  V P                  VR 7      pV P                  WV4      pV# rÖ  )r×  r¶   r©  )rù   rë   r‚  rÔ  Úfulls   &&&& ra   Úfull_layer_modulesÚBaseQModel.full_layer_modulesŽ  s3   € à×&Ñ& s§¡ÐMaÐ&ÓbˆØ×,Ñ,¨\ÀÓQˆàˆrd   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r\   Úlayerrâ   Ú
layer_namer^   Úlayer_indexz
int | NonerÞ   r$   r%  rÉ   r_   )r`   s   "ra   rb   ræ   –  s<   € ÷ ñ àðð ðð  ð	ð
 ,ðð 
ñrd   c                ó   € R# )zFReturn whether a decoder layer should be quantized during calibration.Tr_   )rù   rì  rí  rî  rÞ   s   &&&&&ra   Úshould_quantize_layerÚ BaseQModel.should_quantize_layer•  s   € ñ rd   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r\   rÜ   râ   rf  r^   ÚmodulerÞ   r$   r%  rÉ   r_   )r`   s   "ra   rb   ræ   ¡  s<   € ÷ ñ àðð ðð ð	ð
 ,ðð 
ñrd   c                ó   € R# )aL  
Return whether a concrete module should be replaced with a quantized module.

`module_tree` describes reusable suffixes inside decoder layers, but some
model families use different layer subclasses under the same layer list.
Model definitions can override this hook when a suffix is quantizable only
for specific layer subclasses.
Tr_   )rù   rÜ   rf  ró  rÞ   s   &&&&&ra   Úshould_quantize_moduleÚ!BaseQModel.should_quantize_module   s   € ñ  rd   c               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )r\   Úcalibration_datasetz€Union[List[Dict[str, Union[List[int], torch.LongTensor]]], List[str], List[List[int]], 'HFDatasetType', 'HFIterableDatasetType']Úcalibration_dataset_concat_sizer°  Úcalibration_dataset_sortrË   Ú
batch_sizer…  Úcalibration_data_min_lengthÚcalibration_concat_separatorr_   )r`   s   "ra   rb   ræ   ²  sH   € ÷ 
ñ 
ð
ð
ð *7ð
ð #0ð
ð ð
ð &)ð
ð '4ñ
rd   c                	ó0   € \        V VVVVVV\        R 7      # ))rø  rù  rú  rû  rü  rý  rè   )r6   rü   )r�   rø  rù  rú  rû  rü  rý  s   &&&&&&&ra   Úprepare_datasetÚBaseQModel.prepare_dataset²  s)   € ô +ØØ 3Ø,KØ%=Ø!Ø(CØ)EÜô	
ð 		
rd   Údescc               óP   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRRRR/# )r\   ÚcalibrationzZOptional[Union[List[Dict[str, Union[List[int], torch.LongTensor]]], List[str], List[int]]]Úcalibration_concat_sizer°  Úcalibration_sortrË   rû  r…  rß   rà   ÚbackendúOptional[BACKEND]rò   r   Úadapter_calibration_datasetúPUnion[List[Dict[str, Union[List[int], torch.LongTensor]]], List[str], List[int]]rü  rý  Úembed_quant_configú3Optional[Union[QuantizeEmbedConfig, QuantizeEmbed]]Úembed_quant_modeúOptional[QuantizeEmbed]Ú
checkpointúOptional['CheckpointConfig']r%  úDict[str, List[Dict[str, str]]]r_   )r`   s   "ra   rb   ræ   Í  s¨   € ÷ Kñ KàoðKð "/ð	Kð
 (ðKð ðKð 5ðKð #ðKð ðKð &vðKð &)ðKð '4ðKð PðKð  2ð!Kð" 1ð#Kð$ 
)ñ%Krd   c                	ó(  € V P                  VVR 7      pV P                  e!   \        V P                  \        4      '       g   \	        R4      h\
        P                  P                  R4      R8X  d   \        R4      hVe3   ^RI	H
p ^RIHp \        WÞ4      '       g   \        R4      hV! WVR	7       V P                  '       d   Vf   \        R
4      h\!        V RR4      pVe   VP#                  4        V P                  P$                  \&        9   d#   \        RV P                  P$                   24      hV P(                  '       g   \*        P-                  R4       ^p\/        V P                  P0                  V P                  P$                  4      pV\2        P4                  8X  d   \        R4      hV P                  P7                  4       pV\8        P:                  8X  dZ   V\2        P<                  \2        P>                  39   d5   \*        PA                  R4       \B        PD                  V P                  n#        V P(                  RJ d   ^p\*        P-                  R4       Tp\I        VVR7      pTpVR\J        PL                  39   Eda   V P                  PN                  p\        V\P        4      '       d   VPR                  pM\\        V\B        PN                  4      '       d   VPR                  pM/\U        V4      PW                  R4      ^ ,          PY                  4       pV\8        P:                  8X  Ed2   VR8X  d%   V\2        PZ                  8w  d   \        RV R24      hV\2        PZ                  8X  dJ   V P                  P]                  4       '       g   VR8X  d   \J        P^                  M\J        P`                  pEM,V\2        Pb                  8X  d   \J        Pd                  pEMV\2        Pf                  8X  d   \J        Ph                  pEMÞV\2        P<                  \2        P>                  39   d   \J        Pj                  pEM§\        RV P                  P0                   R24      hV P                  P$                  \8        Pl                  8X  d*   VR8X  d   \J        Pn                  M\J        Pl                  pEM2V P                  P$                  \8        Pp                  8X  d   \J        Pr                  pMøV P                  P$                  \8        Pt                  8X  d   \J        Pv                  pM¾V P                  P$                  \8        Px                  8X  d   \J        PL                  pM„V P                  P$                  \8        Pz                  8X  d   \J        P|                  pMJV P                  P$                  \8        P~                  8X  d   \J        P~                  pM\J        P€                  pV P                  P$                  \8        Pt                  8X  Ed   V\J        PL                  \J        Pv                  39  d   \        R4      h\B        P‚                  P…                  4       '       g   \        R4      hV P                  PN                  p\        V\P        4      '       d   VPR                  pM\\        V\B        PN                  4      '       d   VPR                  pM/\U        V4      PW                  R4      ^ ,          PY                  4       pVR8w  d   \        R4      hM«\‡        V P                  Pˆ                  V P                  PŠ                  V P                  PŒ                  V P                  PŽ                  V P                  P�                  VVV\Q        V P                  PN                  4      RV P                  PF                  R7      pVem   \        V\’        4      '       d?   \”        P–                  ! VV P˜                  \!        V Pš                  RR4      R 7      V nN        M\        R!\S        V4       R24      hV\2        Pb                  8X  d   ^R"IOHPpHQp VRJ d   \        V4      hVe   WpP                  nR        V P                  P$                  \8        Pt                  8X  d   \¦        V nT        M±\‡        V P                  Pˆ                  V P                  PŒ                  V P                  PŽ                  V P                  P�                  RV P                  PŠ                  \Q        V P                  PN                  4      V P                  PF                  RVVVR#7      V nT        V P                  Pª                  '       EdÅ   ^ R$IVHWp ^ R%IXHYp \        V VV34      '       g#   \        R&V P´                  P¶                   24      hV Pš                  P¸                  Pº                  '       d‘   \*        PA                  R'4       RV Pš                  P¸                  n]        \½        V Pš                  V P¾                  4      w  pp\À        PÂ                  ! VPÄ                  PÆ                  PÉ                  4       4      Vnb        R(V PË                  4       R)V P¾                  /p\Í        R2R*V Pš                  R+V PÎ                  /VB V nM        V P                  PN                  \P        PÐ                  8w  d   V P                  PN                  M\P        PÒ                  p\Õ        R2R*V Pš                  R,V P                  Pª                  R-V/VB w  V nM        pV P                  Pª                  '       dz   \I        W`P                  P$                  R7      pV\J        PL                  8X  d   \J        P€                  pV\J        P€                  \J        PÖ                  39  d   \Ù        R.V R24      hV P                  P]                  4       '       d   V PÛ                  VVVVVVV
VR/7      pM)Vf   \        R04      hV PÝ                  VVVVVVV
VVR17	      pV Pß                  4        \!        V RR4      pVe   VPá                  4        \ã        V Pš                  V P                  Pª                  4       V# )3©r
  r  Nz"`quantize_config` must be not NoneÚGPTQMODEL_RESUMEÚ1zYGPTQMODEL_RESUME is retired; use checkpoint=CheckpointConfig(path=...) in a new directoryrV   )Úvalidate_checkpoint_supportz%checkpoint must be a CheckpointConfig)r
  rò   z6quantize() is called a model that is already quantizedr  z5Unsupported quantization operation for quant method: zGQuantize: batch_size overridden by model class definition to `disabled`zœFORMAT.MARLIN is deprecated for quantization. Please switch to FORMAT.GPTQ. GPTQMOdel will auto-use Marlin kernel for accelerated inference for FORMAT.GPTQ.z6Quantize Model: Auto fix `pack_dtype` to `torch.int16`FzLBatch quantization is not supported for this model. Setting batch_size to 1.)r  r/  ÚnpuzjNPU AWQ quantization requires FORMAT.GEMM so the AwqTorchLinear runtime can run on NPU; actual format is `rk   zUnsupported FORMAT: `z` with `METHOD.AWQ`zHEXL3 quantization only supports BACKEND.AUTO or BACKEND.EXL3_EXLLAMA_V3.z$EXL3 quantization requires CUDA/HIP.Úcudaz:EXL3 quantization requires a CUDA/HIP quantization device.T)ÚbitsrÉ  Ú
group_sizeÚdesc_actÚsymr  r`   r  rp   ÚpackÚ
pack_dtyperé   rê   rì   )ÚBITBLAS_AVAILABLEÚBITBLAS_INSTALL_HINT)r  r  r  r  r  rÉ  rp   r  Úmulti_selectr  r`   r  )ÚLlamaQModel)ÚQwen2QModelz<rotation only supports: llama/qwen2 model, current model is z8Rotation requires word embeddings to be untied. Untying.Úlayers_nodeÚlm_head_namerÜ   Úpre_lm_head_norm_module_nameÚrotate_moderp   zN`rotation` is only supported with `gptq_torch` or `gptq_triton` backend, got `)r  r  r  r  rû  r  rý  r
  zSCalibration dataset is required unless a weight-only quantize config is configured.)	r  r  r  rû  r  r  rý  r
  r  r_   )rÚ_normalize_embed_quant_configrÞ   ry   r$   ÚAttributeErrorrq   Úenvironrx   r{   Úlooper.checkpoint_storerW   Úlooper.gptq_checkpointr  rµ  rÝ   ÚEnvironmentErrorr  Úresetrû   r"   Úsupport_batch_quantizerü   Úwarnr*   r`   r    ÚMARLINÚexport_quant_methodr!   ÚAWQÚ	GEMV_FASTÚLLM_AWQrÑ   ÚtorchÚint16r  r5   r4   ÚAUTOrp   rN   rš   r^   r1  ÚlowerÚGEMMÚuses_weight_only_lifecycleÚ	AWQ_TORCHÚAWQ_GEMMÚBITBLASÚAWQ_BITBLASÚGEMVÚAWQ_GEMVÚAWQ_GEMV_FASTÚQQQÚ	QQQ_TORCHÚPAROÚPAROQUANT_CUDAÚEXL3ÚEXL3_EXLLAMA_V3ÚGGUFÚFP8Ú	FP8_TORCHÚBITSANDBYTESÚ
GPTQ_TORCHr  Úis_availabler:   Úruntime_bitsrÉ  r  r  r  r   r   rw   rä   rÜ   rß   Únn_modules.qlinear.bitblasr  r  rò   r   rá   ÚrotationÚ"gptqmodel.models.definitions.llamar!  Ú"gptqmodel.models.definitions.qwen2r"  r  r‹   ré   Útie_word_embeddingsrA   r¾   ÚnnÚ	ParameterÚweightÚdataÚcloner"  r1   rÄ   ÚMPSrL   r2   ÚGPTQ_TRITONÚNotImplementedErrorÚ_quantize_weight_onlyÚ_quantize_with_calibrationÚafter_quantizeÚflushrR   ) r�   r  r  r  rû  rß   r  rò   r  rü  rý  r
  r  r  rW   r  ÚtimerÚformat_coder1  Úrequested_backendÚpreferred_backendÚquant_deviceÚquant_device_typerJ  r  r  r!  r"  r¾   Úmodule_name_argsÚrotation_deviceÚresults    &&&&&&&&&&&&&&                  ra   ÚquantizeÚBaseQModel.quantizeÌ  s
  € ð( "×?Ñ?Ø1Ø-ð @ó 
Ðð
 ×ÑÒ'¬z¸$×:NÑ:NÔPb×/cÒ/cÜ Ð!EÓFÐFä�:‰:�>‰>Ð,Ó-°Ô4ÜÐxÓyÐyØÒ!ÝBÝLä˜j×;Ò;ÜÐ GÓHÐHÙ'¨Ð]dÕeà�>�>ˆ>Ð0Ò8Ü"Ð#[Ó\Ð\ä˜Ð2°DÓ9ˆØÒØ�K‰KŒMà×Ñ×&Ñ&Ô*=Ô=ÜØGÈ×H\ÑH\×HcÑHcÐGdÐeóð ð ×*×*Ð*Ü�H‰HÐ^Ô_ØˆJä*¨4×+?Ñ+?×+FÑ+FÈ×H\ÑH\×HcÑHcÓdˆàœ&Ÿ-™-Ô'Üð oóð ð #×2Ñ2×FÑFÓHÐà¤&§*¡*Ô,Øœv×/Ñ/´·±Ð@Ô@ä—‘ÐQÔRÜ27·+±+�×$Ñ$Ô/à×&Ñ&¨%Ó/ØˆJÜ�H‰HÐcÔdà#ÐÜ-Ð.?ÐNaÔbÐà-ÐØ ¤w§|¡|Ð 4Õ4Ø×/Ñ/×6Ñ6ˆLÜ˜,¬×/Ò/Ø$0×$5Ñ$5Ñ!Ü˜L¬%¯,©,×7Ò7Ø$0×$5Ñ$5Ñ!ä$'¨Ó$5×$;Ñ$;¸CÓ$@ÀÕ$C×$IÑ$IÓ$KÐ!à"¤f§j¡jÕ0Ø$¨Ô-°+ÄÇÁÔ2LÜ$ð-Ø-8¨M¸ð=óð ð ¤&§+¡+Ô-ð  ×/Ñ/×JÑJ×LÒLÐPaÐejÔPjô  ×)Ò)ä$×-Ñ-ò &ð
 !¤F§N¡NÔ2Ü(/×(;Ñ(;Ò%Ø ¤F§K¡KÔ/Ü(/×(8Ñ(8Ò%Ø ¤V×%5Ñ%5´v·~±~Ð$FÔFÜ(/×(=Ñ(=Ò%ä$Ð'<¸T×=QÑ=Q×=XÑ=XÐ<YÐYlÐ%mÓnÐnØ×%Ñ%×,Ñ,´·
±
Ô:Ø9JÈeÔ9S¤G×$5Ò$5ÔY`×YdÑYdÒ!Ø×%Ñ%×,Ñ,´·±Ô;Ü$+×$:Ñ$:Ñ!Ø×%Ñ%×,Ñ,´·±Ô;Ü$+×$;Ñ$;Ñ!Ø×%Ñ%×,Ñ,´·±Ô;Ü$+§L¡LÑ!Ø×%Ñ%×,Ñ,´·
±
Ô:Ü$+×$5Ñ$5Ñ!Ø×%Ñ%×,Ñ,´×0CÑ0CÔCÜ$+×$8Ñ$8Ñ!ä$+×$6Ñ$6Ð!à×Ñ×&Ñ&¬&¯+©+Õ5Ø ¬¯©´w×7NÑ7NÐ(OÔOÜ Ð!kÓlÐlä—:‘:×*Ñ*×,Ò,Ü Ð!GÓHÐHà×/Ñ/×6Ñ6ˆLÜ˜,¬×/Ò/Ø$0×$5Ñ$5Ñ!Ü˜L¬%¯,©,×7Ò7Ø$0×$5Ñ$5Ñ!ä$'¨Ó$5×$;Ñ$;¸CÓ$@ÀÕ$C×$IÑ$IÓ$KÐ!à  FÔ*Ü Ð!]Ó^Ð^ð +ô $Ø×)Ñ)×6Ñ6Ø×,Ñ,×4Ñ4Ø×/Ñ/×:Ñ:Ø×-Ñ-×6Ñ6Ø×(Ñ(×,Ñ,Ø)Ø"Ø0Ü˜d×2Ñ2×9Ñ9Ó:ØØ×/Ñ/×:Ñ:ôˆAð Ò Ü˜)Ô%<×=Ò=ä!*§¢ØØ&*×&<Ñ&<Ü!(¨¯©°X¸tÓ!Dô"�•ô !ØbÔcgÐhqÓcrÐbsÐsuÐvóxð xð œ&Ÿ.™.Ô(ß\Ø  EÓ)Ü Ð!5Ó6Ð6ð ÒØ+2× Ñ Ô(à×Ñ×&Ñ&¬&¯+©+Ô5Ü"1ˆDÕä"5Ø×-Ñ-×:Ñ:Ø#×3Ñ3×>Ñ>Ø!×1Ñ1×:Ñ:Ø×,Ñ,×0Ñ0ØØ ×0Ñ0×8Ñ8Ü! $×"6Ñ"6×"=Ñ"=Ó>Ø#×3Ñ3×>Ñ>Ø!&Ø-Ø&Ø!4ô#ˆDÔð  ×Ñ×(×(Ñ(ÝFÝFÜ˜d [°+Ð$>×?Ò?Ü ð $8Ø8<¿¹×8OÑ8OÐ7Pð"Ró Sð Sð �z‰z× Ñ ×4×4Ð4Ü—‘ÐSÔTØ8=�—
‘
×!Ñ!Ô5Ü6°t·z±zÀ4Ç<Á<ÓP‘
�˜Ü!#§¢¨g¯n©n×.AÑ.A×.GÑ.GÓ.IÓ!J�”ð ˜t×7Ñ7Ó9Ø §¡ð Ðô *ñ @°·
±
ð @ØIM×IeÑIeð@à.>ñ@ˆDŒJð
 >B×=QÑ=Q×=XÑ=XÔ\b×\fÑ\fÔ=f˜d×2Ñ2×9Ò9Ôlr×lvÑlvˆOÜ(ñ X¨t¯z©zð XÀt×G[ÑG[×GdÑGdð XØ3BðXØFVñX‰MˆDŒJ˜ð ×Ñ×(×(Ð(Ü'¨×>RÑ>R×>YÑ>YÔZˆGØœ'Ÿ,™,Ô&Ü!×,Ñ,�Øœw×1Ñ1´7×3FÑ3FÐGÔGÜ)ØdÐelÐdmÐmoÐpóð ð ×Ñ×:Ñ:×<Ò<Ø×/Ñ/Ø%Ø'Ø(?Ø!1Ø%ØØ-IØ#5ð 0ó 	‰Fð Ò"Ü Øióð ð ×4Ñ4Ø'Ø(?Ø!1Ø%ØØ,GØ-IØ#5Ø%ð 5ó 
ˆFð 	×ÑÔä˜Ð2°DÓ9ˆØÒØ�K‰KŒMä" 4§:¡:¨t×/CÑ/C×/LÑ/LÔMØˆrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   r
  r  r  r  r%  úOptional[QuantizeEmbedConfig]r_   )r`   s   "ra   rb   ræ   Û  s&   € ÷ ñ ØOðà1ðð 
'ñrd   c                ó   € V e   Ve   \        R4      h\        V \        4      '       d   \        V R7      # V e$   \        V \        4      '       g   \	        R4      hV # Ve.   \        V\        4      '       g   \	        R4      h\        VR7      # R# )zHNormalize the embedding quantization API and its compatibility argument.Nz<Pass only one of `embed_quant_config` or `embed_quant_mode`.)r  zQ`embed_quant_config` must be a `QuantizeEmbedConfig` or `QuantizeEmbed` instance.z6`embed_quant_mode` must be a `QuantizeEmbed` instance.)r{   ry   r&   r'   rµ  r  s   &&ra   r'  Ú(BaseQModel._normalize_embed_quant_configÚ  sŒ   € ð Ò)Ð.>Ò.JÜÐ[Ó\Ð\ÜÐ(¬-×8Ò8Ü&Ð8JÔKÐKØÒ)ÜÐ0Ô2E×FÒFÜÐ sÓtÐtØ%Ð%ØÒ'ÜÐ.´×>Ò>ÜÐ XÓYÐYÜ&Ð8HÔIÐIÙrd   c               óL   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRRRR
RRRRRR/# )r\   r  r	  r
  r  r  r°  r  rË   rû  r…  rß   rà   r  r  rò   r   r  rü  rý  r  r  r%  r  r_   )r`   s   "ra   rb   ræ   î  s�   € ÷ Fñ FàeðFð PðFð "/ð	Fð
 (ðFð ðFð 5ðFð #ðFð ðFð &vðFð &)ðFð '4ðFð 2ðFð 
)ñFrd   c                	óR  € V P                   '       g   \        R 4      hV P                  W,4      pVf   \        R4      h\	        V RR4      pVeŠ   VP
                  f|   V P                  4       pVe   TMV P                  4       pVe   \        V4      M\        V P                  4      pVP                  R8X  d   \        p\        VP                  4      Vn        V P                  VVVVVVVV	V
VVR7      p\        \	        V R\        4       4      4      pVP                  pV\         P"                  \         P$                  39   d*   V P'                  4       pV'       d   VP)                  V4       V\         P*                  \         P$                  39   d>   V P-                  4       ;'       g    V P.                  pV'       d   VP)                  V4       VV n        V P2                  '       dA   V'       d9   V P4                  f$   \7        \9        V P:                  4      4      V n        RV n        V# )zGrequantize() must be called on a model that has already been quantized.NzC`requantize()` requires `embed_quant_config` or `embed_quant_mode`.rÞ   Úmeta)r  r  r  rû  rß   r  rò   r  rü  rý  r
  Ú_embedding_replacement_prefixesT) rÝ   r,  r'  r{   r  rp   Úget_input_embeddingsÚget_output_embeddingsr7   rÜ   rš   rL   rN   ri  r\  r  r&   ÚINPUTÚBOTHÚget_input_embeddings_namer_  ÚOUTPUTÚget_output_embeddings_namer¾   rr  rã   rå   rZ   r^   r]   Ú_embedding_replacement_sourceÚ'_model_free_weight_only_embeddings_only)r�   r  r
  r  r  rû  rß   r  rò   r  rü  rý  r  rÞ   Úinput_endpointÚendpointÚendpoint_devicerh  ÚprefixesÚmodeÚ
input_nameÚoutput_names   &&&&&&&&&&&&&         ra   Ú
requantizeÚBaseQModel.requantizeî  sá  € ð �~�~ˆ~Ü"Ð#lÓmÐmØ!×?Ñ?Ð@RÓeÐØÒ%ÜÐbÓcÐcô
 " $Ð(9¸4Ó@ˆØÒ&¨?×+AÑ+AÒ+IØ!×6Ñ6Ó8ˆNØ)7Ò)C‘~È×IcÑIcÓIeˆHØ6>Ò6Jœj¨Ô2ÔPZÐ[_×[eÑ[eÓPfˆOØ×#Ñ# vÔ-Ü"%�Ü%+¨O×,@Ñ,@Ó%AˆOÔ"à—‘Ø#Ø$;Ø-Ø!ØØØØ(CØ(CØ)EØ1ð ó 
ˆô$ ”w˜tÐ%FÌËÓNÓOˆØ!×2Ñ2ˆØ”M×'Ñ'¬×);Ñ);Ð<Ô<Ø×7Ñ7Ó9ˆJßØ—‘˜ZÔ(Ø”M×(Ñ(¬-×*<Ñ*<Ð=Ô=Ø×9Ñ9Ó;×KÐK¸t¿|¹|ˆKßØ—‘˜[Ô)Ø/7ˆÔ,à×$×$Ð$¯Ø× Ñ Ò(ô 6PÔPSÐTX×TiÑTiÓPjÓ5k�Ô2Ø;?ˆDÔ8àˆrd   r  c               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# )r\   r  r°  r  rË   rû  r…  r  r  rý  r
  rl  r  r  r_   )r`   s   "ra   rb   ræ   6  sd   € ÷ b@ñ b@ð "/ð	b@ð
 (ðb@ð ðb@ð #ðb@ð '4ðb@ð :ðb@ð 1ñb@rd   c       	        	óÔ  € ^RI Hp
 ^RIHp ^RIHp ^RIHp \        V P                  P                  V
4      pRV P                  RV P                  RVRV P                  R	VR
VRVRVRV/	p. p\        V P                  RR4      '       d   VP                  V! R%/ VB 4       V P                  P                  \         P"                  8X  d°   ^RIHp V'       d   \)        R4      h\        V P                  RR4      e   \)        R4      h\        V P                  RR4      e   \)        R4      hRV P                  RV P                  RVRV P                  R	VR
VRVRVRV P*                  /	pVV! R%/ VB .,           pEMWV P                  P                  \         P,                  8X  d   ^RIHp VV! R%/ VB .,           pEMV P                  P                  \         P2                  8X  dX   ^RIHp \9        V4      \:        P<                  R&   \?        V4      pV VR&   V P@                  VR&   VVR&   VV! R%/ VB .,           pM–V P                  P                  \         PB                  8X  dX   ^RI"H#p \9        V4      \:        P<                  R&   \?        V4      pV VR&   V P@                  VR&   VVR&   VV! R%/ VB .,           pM^RI$H%p VV! R%/ VB .,           p\        V P                  RR4      e�   ^RI&H'p VPQ                  4        UUu/ uF  w  ppVR8w  g   K  VVbK  	  ppp\R        PT                  ! V4      pVR,          VR&   VPW                  RR4       VPY                  ^ V! R%/ VB 4       \        V P                  RR4      e¦   V P                  PZ                  P\                  ^ 8”  d�   ^RI&H'p VPQ                  4        UUu/ uF  w  ppVR8w  g   K  VVbK  	  ppp\R        PT                  ! V4      pVR,          VR&   VPW                  RR4       VPY                  ^ V! R%/ VB 4       TpV'       dD   TP                  T! V P                  V P                  Ve   TMTV P                  VVVVR7      4       V P                  P^                  \`        Pb                  8X  d   \d        Pf                  ! 4       M	\i        4       p ^R I5H6p! V	e	   V!! W�4      M	\i        4       p"T ;_uu_ 4        T";_uu_ 4       p#T! T TTV#e   V#3MR%R!7      p$\        V P@                  Pn                  R"R#4      p% V$Pq                  WPP                  Pr                  R$7      V#eB    \d        Pt                  ! 4        V$Pw                  4        V%V P@                  Pn                  n<        uuRRR4       uuRRR4       # u uppi u uppi   T%T P@                  Pn                  n<        i ; i  T#ec    \d        Pt                  ! 4        T$Pw                  4        T%T P@                  Pn                  n<        i   T%T P@                  Pn                  n<        i ; ii ; i  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)&r\   rí   ©ÚEoraProcessor©ÚModuleLooper©ÚModulePreProcessorrß   Úqcfgr  Úprepare_dataset_funcr  r  rý  rû  Úcalculate_w_wq_diffÚpreprocessorsN)ÚEXL3Processorz;EXL3 quantization does not support adapter/EoRA generation.ÚgptaqzCEXL3 quantization does not support GPTAQ/native activation capture.ÚfoemzBEXL3 quantization does not support FOEM/native activation capture.r$  )ÚQQQProcessor)ÚAWQProcessorÚAWQ_BATCH_SIZEÚ
gptq_modelrÜ   )ÚParoQuantProcessor)ÚGPTQProcessor)ÚNativeProcessor©rß   r�  r  rŽ  r  r  rý  rû  ©Úcheckpoint_session)Ú
processorsr
  Ú
extensionsÚ	use_cacheF)r  Úfallbackr_   )=r  rî   Úlooper.eora_processorrˆ  Úlooper.module_looperrŠ  Úlooper.module_preprocessorrŒ  ry   rÞ   rò   rß   rÿ  r  r  rû   r!   rF  Úlooper.exllamav3_processorr‘  r[  r¾   rB  Úlooper.qqq_processorr”  r2  Úlooper.awq_processorr•  r^   rq   r)  rz   rÜ   rD  Úlooper.paroquant_processorr˜  Úlooper.gptq_processorr™  Úlooper.native_processorrš  r|   rQ  rR  r™  Úinsertr“  ÚalphaÚgc_moder%   ÚON_STAGE_ENDr   Ú
no_auto_gcr   r+  r�  ré   Úloopr¡  ÚwaitÚwait_dangling_threadsr   )&r�   r  r  r  rû  r  r  rý  r
  r  rî   rˆ  rŠ  rŒ  Ú
needs_lorar±   r�  r‘  Ú	exl3_argsÚquantize_processorr”  r•  Úawq_argsr˜  Ú	paro_argsr™  rš  r¸   r¹   Úargs_to_copyÚ
args_clonerž  Ú
gc_contextr�  Úcheckpoint_contextÚ	extensionÚmodule_looperr   s&   &$$$$$$$$$                            ra   r]  Ú%BaseQModel._quantize_with_calibration6  sÂ  € õ 	+Ý9Ý7ÝCä × 4Ñ 4× <Ñ <¸dÓCˆ
ð ˜Ÿ™Ø�D×(Ñ(Ø˜;Ø" D×$8Ñ$8Ø%Ð'>ØÐ 0Ø*Ð,HØ˜*Ø! :ð

ˆð ˆÜ�4×'Ñ'¨¸$×?Ò?Ø× Ñ Ñ!3Ñ!;°dÑ!;Ô<à×Ñ×&Ñ&¬&¯+©+Ô5ÝBçÜ)Ð*gÓhÐhä�t×+Ñ+¨W°dÓ;ÒGÜ)Ð*oÓpÐpä�t×+Ñ+¨V°TÓ:ÒFÜ)Ð*nÓoÐoð ˜TŸ^™^Ø˜×,Ñ,Ø˜{Ø&¨×(<Ñ(<Ø)Ð+BØ"Ð$4Ø.Ð0LØ˜jØ §¡ð
ˆIð "/ÙÑ* 	Ñ*ð2õ "Òð ×!Ñ!×(Ñ(¬F¯J©JÔ6Ý;à!.ÙÑ$˜tÑ$ð2õ "Òð ×!Ñ!×(Ñ(¬F¯J©JÔ6Ý;ä+.¨z«?ŒB�J‰JÐ'Ñ(ä˜D“zˆHØ%)ˆH�\Ñ"Ø $§
¡
ˆH�WÑØ%/ˆH�\Ñ"à!.ÙÑ(˜xÑ(ð2õ "Ñð ×!Ñ!×(Ñ(¬F¯K©KÔ7ÝGä+.¨z«?ŒB�J‰JÐ'Ñ(ä˜T›
ˆIØ&*ˆI�lÑ#Ø!%§¡ˆI�gÑØ&0ˆI�lÑ#à!.Ù"Ñ/ YÑ/ð2õ "Ñõ >à!.ÙÑ% Ñ%ð2õ "Ðô �4×'Ñ'¨°$Ó7ÒCÝAà-1¯Z©Z¬\ÔY©\¡T Q¨¸QÐBXÑ=XœD˜A˜qšD©\ˆLÑYÜŸš |Ó4ˆJØ15Ð6LÕ1MˆJÐ-Ñ.à�N‰NÐ0°$Ô7Ø×%Ñ% a©Ñ)F¸:Ñ)FÔGä�4×'Ñ'¨°Ó6ÒBØ×#Ñ#×(Ñ(×.Ñ.°Ô2ÝEà15·±´Ô]±©¨¨AÀÐF\ÑA\¤  1¢±�Ñ]Ü!Ÿ]š]¨<Ó8�
Ø59Ð:PÕ5Q�
Ð1Ñ2à—‘Ð4°dÔ;Ø"×)Ñ)¨!©_Ñ-J¸zÑ-JÔKà'ˆ
ßØ×ÑÙØ"Ÿn™nØ×-Ñ-Ø?ZÒ?fÑ ;ÐlwØ)-×)=Ñ)=Ø,CØ%5Ø1MØ)ô	ôð ×#Ñ#×+Ñ+¬v×/BÑ/BÔBô ×)Ò)Ô+ä“ð 	õ 	@àEOÒE[Ñ/°
ÔAÔalÓanÐßŠZ×+Ñ+¨yÙ(Ø Ð@RØ+4Ò+@˜I™<ÀbôˆMô   §
¡
× 1Ñ 1°;ÀÓFˆIð
@Ø$×)Ñ)°'×DXÑDX×DaÑDaÐ)Óbð Ò(ð@Ü*×/Ò/Ô1Ø%×;Ñ;Ô=à6?˜Ÿ
™
×)Ñ)Ô3÷! ,Ñ+�ZŠZùóU Zùó  ^øð^ 7@˜Ÿ
™
×)Ñ)Õ3ûð Ò(ð@Ü*×/Ò/Ô1Ø%×;Ñ;Ô=à6?˜Ÿ
™
×)Ñ)Õ3ø°i˜Ÿ
™
×)Ñ)Õ3úð )ú÷ ,×+ú�Z�Z�ZŠZús„   ÌV"ÌV"Ï V(ÏV(Ó"YÓ-5X9	Ô#%WÕX9	Õ%V.
Õ2X9	Ö
YÖ.W×X9	×X6×%X×9X6ØX2Ø2X6Ø6X9	Ø9Y	ÙYÙY'	c               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )r\   r  r°  r  rË   rû  r…  r  r  rý  r
  rl  r_   )r`   s   "ra   rb   ræ   Ú  sH   € ÷ :.ñ :.ð
 "/ð:.ð (ð:.ð ð:.ð #ð:.ð '4ð:.ð :ñ:.rd   c               	óâ  € ????^RI Hp	 ^RIHp
 ^RIHp Ve   \        P                  R4       \        V P                  P                  V	4      '       d   \        R4      h\        V P                  RR4      e   \        R4      h\        V P                  R	R4      e   \        R
4      hV! V P                  V P                  R7      pV P                  P                  \        P                   8X  d   \"        P$                  ! 4       M	\'        4       p^RIHp T;_uu_ 4        V'       d	   V! W4      M	\'        4       ;_uu_ 4       pT
! YTV'       d   V3MRR7      p VP-                  VR7      V'       d   \"        P.                  ! 4        uuRRR4       uuRRR4       #   T'       d   \"        P.                  ! 4        i i ; i  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)r\   rí   )ÚWeightOnlyLooper)ÚWeightOnlyProcessorNzIWeight-only quantization selected; ignoring provided calibration dataset.zBWeight-only quantization does not support adapter/EoRA generation.r’  zJWeight-only quantization does not support GPTAQ/native activation capture.r“  zIWeight-only quantization does not support FOEM/native activation capture.)rß   r�  rœ  )rÜ   r  r
  rŸ  )r  r_   )r  rî   Úlooper.weight_only_looperrÁ  Úlooper.weight_only_processorrÂ  rü   rÑ   ry   rÞ   rò   r[  r  rß   r­  r%   r®  r   r¯  r   r+  r�  r°  r±  )r�   r  r  r  r  rû  r  rý  r
  rî   rÁ  rÂ  r  rº  r�  r¼  r½  s   &$$$$$$$$        ra   r\  Ú BaseQModel._quantize_weight_onlyÚ  sŒ  € ð $Ð%5°zÐC_å*Ý@ÝFàÒ"Ü�H‰HÐ`Ôaä�d×*Ñ*×2Ñ2°D×9Ò9Ü%ØTóð ô �4×'Ñ'¨°$Ó7ÒCÜ%Ø\óð ô �4×'Ñ'¨°Ó6ÒBÜ%Ø[óð ñ (Ø—n‘nØ×%Ñ%ô
ˆ	ð ×#Ñ#×+Ñ+¬v×/BÑ/BÔBô ×)Ò)Ô+ä“ð 	õ 	@çŠZÇ*Ñ,¨ZÔ>ÔR]ÓR_×_Ð_ÐdmÙ,ØÐDVß+4˜I™<¸"ôˆMð.Ø$×)Ñ)°'Ð)Ó:çÜ&×+Ò+Ô-÷ `Ñ_�ZŠZø÷ Ü&×+Ò+Õ-ð ú÷ `×_ú�Z�Z�ZŠZús<   Ä#GÅG 	ÅFÅ+G 	Æ
GÆ F=Æ=G 	Ç GÇGÇG.	c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR
/# )r\   rò   r   Úquantized_moduleszDict[str, TorchLinear]rø  r	  rù  r°  rú  rË   rû  r…  rß   rà   rý  r_   )r`   s   "ra   rb   ræ     sg   € ÷ Mñ Mð ðMð 2ð	Mð
 nðMð *7ðMð #0ðMð ðMð 5ðMð '4ñMrd   c	                	ó�  € V P                   '       d   \        R 4      hVem   \        V\        4      '       d?   \        P
                  ! VV P                  \        V P                  RR4      R7      V n	        M\        R\        V4       R24      h^RIHp	 ^RIHp
 ^RIHp ^R	IHp ^R
IHp WP,                  n        \        V P,                  P.                  V	4      '       g   Q h. p\        V P,                  RR4      '       d>   VP1                  V! V P                  V P,                  VV P2                  VVVVR7      4       VP5                  V
! VR7      V! V P                  V P,                  VV P2                  VVVVR7      .4       V! WR7      pVP7                  4        V P9                  VP:                  V P<                  R7       R# )z;eora_generate() is called a model that is already quantizedNré   rê   rì   rk   rí   )ÚDequantizeProcessorr‡  r‰  r‹  r�  r›  )rÇ  )rÜ   rž  )Úsave_dirÚmodel_save_dir)rÝ   r,  ry   r   r   rw   rä   r  rÜ   rß   r{   rš   r  rî   Úlooper.dequantize_processorrÉ  r¢  rˆ  r£  rŠ  r¤  rŒ  rÞ   rò   r  rÿ  r˜  r°  Ú	eora_saverr   r]   )r�   rò   rÇ  rø  rù  rú  rû  rß   rý  rî   rÉ  rˆ  rŠ  rŒ  rž  r½  s   &&&&&&&&&       ra   Ú_eora_generateÚBaseQModel._eora_generate  sž  € ð �>�>ˆ>Ü"Ð#`ÓaÐað Ò Ü˜)Ô%<×=Ò=ä!*§¢ØØ&*×&<Ñ&<Ü!(¨¯©°X¸tÓ!Dô"�•ô !ØbÔcgÐhqÓcrÐbsÐsuÐvóxð xõ 	+ÝEÝ9Ý7ÝCà'.×ÑÔ$ä˜$×.Ñ.×6Ñ6¸×=Ò=Ð=Ð=ð ˆ
Ü�4×'Ñ'¨¸$×?Ò?Ø×ÑÙ"Ø"Ÿn™nØ×-Ñ-Ø 3Ø)-×)=Ñ)=Ø,KØ%=Ø1MØ)ô	ôð 	×Ñá#Ø&7ôñ Ø"Ÿn™nØ×-Ñ-Ø 3Ø)-×)=Ñ)=Ø,KØ%=Ø1MØ)ô	ð	ô	
ñ& %¨4ÔGˆà×ÑÔà�‰ §¡¸T×=RÑ=RˆÔSÙrd   c               ó   € V ^8„  d   QhRR/# )r\   rp   zUnion[str, torch.device]r_   )r`   s   "ra   rb   ræ   e  s   € ÷ Vñ VÐ1ñ Vrd   c                	óÄ   € \        V P                  R 4      '       d#   V P                  P                  V4      V n        V # V P                  P                  P                   R2h)Útoz! does not support the to() method)rñ   rÜ   rÒ  r  r‹   )r�   rp   s   &&ra   rÒ  ÚBaseQModel.toe  sK   € Ü�4—:‘:˜t×$Ò$ØŸ™Ÿ™ vÓ.ˆDŒJØˆKà—Z‘Z×)Ñ)×2Ñ2Ð3Ð3TÐUÐUrd   c                	ó&   € V P                   ! V/ VB # r”   ©rÜ   ©r�   r±   r¨   s   &*,ra   ÚforwardÚBaseQModel.forwardl  s   € Ø�zŠz˜4Ð* 6Ñ*Ð*rd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   ÚexampleúDict[str, Any]Údata_deviceútorch.devicer%  r_   )r`   s   "ra   rb   ræ   o  s(   € ÷ <ñ <àð<ð "ð<ð 
ñ	<rd   c                	óæ  € VP                  4        FÍ  w  r4\        V\        4      '       de   \        V4       FS  w  rV\        P
                  ! V4      '       g   K#  VP                  ^8X  d   VP                  ^ 4      p\        WbR7      WE&   KU  	  K  \        P
                  ! V4      '       g   K�  VP                  ^8X  d   VP                  ^ 4      p\        WBR7      W&   KÏ  	  V P                  V4      # )rA  ©rp   )
r|   ry   r´   Ú	enumerater5  Ú	is_tensorÚndimÚ	unsqueezerC   Úfinalize_input_capture_example)r�   rÚ  rÜ  rd  re  r„   r)  s   &&&    ra   Úmove_input_capture_exampleÚ%BaseQModel.move_input_capture_exampleo  s´   € ð
 "Ÿ-™-ž/‰JˆCÜ˜%¤×&Ò&Ü#,¨UÖ#3‘K�EÜ Ÿ?š?¨4×0Ò0Ù à—y‘y A”~Ø#Ÿ~™~¨aÓ0˜ä#*¨4Ô#D�E“Ló $4ô —’ ×'Ô'Ø—:‘: ”?Ø!ŸO™O¨AÓ.�Eä& uÔA�“ñ *ð  ×2Ñ2°7Ó;Ð;rd   c               ó    € V ^8„  d   QhRRRR/# )r\   rÚ  rÛ  r%  r_   )r`   s   "ra   rb   ræ   †  s   € ÷ ñ àðð 
ñrd   c                	ó„   € V P                   \        P                  J d"   R V9   d   VR ,          P                  4       VR &   V# )Úattention_mask)ÚATTENTION_MASKS_DTYPEr5  Úlong)r�   rÚ  s   &&ra   rä  Ú)BaseQModel.finalize_input_capture_example†  s=   € ð ×%Ñ%¬¯©Ó3Ð8HÈGÔ8SØ(/Ð0@Õ(A×(FÑ(FÓ(HˆGÐ$Ñ%àˆrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   rÚ  rÛ  r   rÉ   rÜ  rÝ  r_   )r`   s   "ra   rb   ræ   �  s(   € ÷ :ñ :àð:ð ð:ð "ñ	:rd   c                	ód  € VP                  R 4      p\        P                  ! V4      '       d5   V P                  V4      pWAP                  R 4      Jd   \	        V4      pWAR &   V P
                  '       d)   V P                  P                  ! R/ VBV P
                  B # V P                  ! R/ VBRV/B # )Ú	input_idsr   r_   )rx   r5  rá  Ú"_sanitize_input_ids_for_embeddingsrz   ÚINPUT_EMBEDDING_EXTRA_ARGSrÜ   Úgenerate)r�   rÚ  r   rÜ  rï  s   &&&& ra   Úrun_input_captureÚBaseQModel.run_input_capture�  s£   € ð —K‘K Ó,ˆ	Ü�?Š?˜9×%Ò%Ø×?Ñ?À	ÓJˆIØ§¡¨KÓ 8Ó8Ü˜w›-�Ø'0˜Ñ$à×*×*Ð*Ø—:‘:×&Ò&ñ Øðà×1Ñ1ñð ð
 �zŠzÑ9˜GÑ9¨yÒ9Ð9rd   c               ó    € V ^8„  d   QhRRRR/# )r\   rï  útorch.Tensorr%  r_   )r`   s   "ra   rb   ræ   ¤  s   € ÷ 2ñ 2¸Lð 2È\ñ 2rd   c                	ó€  € VP                   \        P                  \        P                  39  d   V# VP	                  4       ^ 8X  d   V# \        V P                  RR4      p\        V4      '       g   V#  V! 4       pTe   \        TR4      '       g   T# \        \        TR^ 4      ;'       g    ^ 4      pT^ 8:  d   T# T^ 8  Y8¬  ,          p\        TP                  4       4      '       g   T# \        T RR4      pRpR FD  pTe   \        YhR4      MRp	\        T	\        4      '       g   K-  ^ T	u;8:  d
   T8  g   K>  M KB  T	p M	  Tf   ^ pTP                  4       p
YzT&   \        TP!                  4       P#                  4       4      p\$        P'                  RTTT4       T
#   \         d    Tu # \         d    Tu # i ; i)r   rs  NÚnum_embeddingsrß   zQInput capture: replaced %s out-of-range token ids with %s (valid range: [0, %s)).)Úunk_token_idÚpad_token_idÚeos_token_idÚbos_token_id)Údtyper5  Úint32Úint64Únumelr  rÜ   Úcallabler[  Ú	Exceptionrñ   r…  rÉ   r—  ry   rX  Úsumr)  rü   Úwarning)r�   rï  ÚembedderÚ	embeddingÚ
vocab_sizeÚinvalid_maskrß   Úreplacement_token_idÚ	attr_nameÚ	candidateÚ	sanitizedÚinvalid_counts   &&          ra   rð  Ú-BaseQModel._sanitize_input_ids_for_embeddings¤  s±  € Ø�?‰?¤5§;¡;´·±Ð"<Ô<ØÐà�?‰?Ó Ô!ØÐä˜4Ÿ:™:Ð'=¸tÓDˆÜ˜×!Ò!ØÐð	Ù ›
ˆIð
 Ò¤G¨IÐ7G×$HÒ$HØÐäœ Ð,<¸aÓ@×EÐEÀAÓFˆ
Ø˜Œ?ØÐà! A™¨)Ñ*AÕBˆÜ�L×$Ñ$Ó&×'Ò'ØÐä˜D +¨tÓ4ˆ	Ø#ÐÛYˆIØ?HÒ?Tœ 	°dÔ;ÐZ^ˆIÜ˜)¤S×)Ô)¨a°9Ö.I¸z×.IÒ.IØ'0Ð$Ùñ	 Zð
  Ò'Ø#$Ð à—O‘OÓ%ˆ	Ø"6�,Ñä˜L×,Ñ,Ó.×3Ñ3Ó5Ó6ˆÜ�‰Ø_ØØ Øô		
ð ÐøôG #ô 	ØÒÜô 	ØÒð	ús   Á4F ÆF=Æ.F=Æ7F=Æ<F=c                	ó8  € R  p\        V\        4      '       gQ   \        V\        4      '       dN   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   VP	                  RV4       Mc\        VR4      '       d<   \        P                  ! V4      '       g    \        V4      pVP                  V4       TpMVe   VP	                  RV4       RV9   d#   V! VP                  R4      VR,          4      VR&   V! V P                  3/ VB # )c                óü   € \         P                  ! V4      '       d   VP                  ^8:  d   V# Rp\         P                  ! V 4      '       d%   V P                  ^8¼  d   V P                  R,          p\	        WR7      # ©r\   N)Úseq_lenr•  ©r5  rá  râ  Úshaper3   ©rï  ré  r  s   && ra   Ú"_normalize_generate_attention_maskÚMBaseQModel._generate_with_runtime.<locals>._normalize_generate_attention_maskÙ  s\   € Ü—?’? >×2Ò2°n×6IÑ6IÈQÔ6NØ%Ð%àˆGÜ�Š˜y×)Ò)¨i¯n©nÀÔ.AØ#Ÿ/™/¨"Õ-�ä% nÔFÐFrd   c              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5ir”   ©ry   r^   ©ró   Úxs   & ra   rö   Ú4BaseQModel._generate_with_runtime.<locals>.<genexpr>ã  s   é € ÐGkÑdjÐ_`Ì
ÐSTÔVY×HZÐHZÓdjùó   ‚FTÚpromptsrx   rï  ré  )ry   r^   r´   r  Ú
setdefaultrñ   r5  rá  rz   r]  rx   rÜ   )r�   Úruntime_generateÚinputsr¨   r  Úmerged_kwargss   &&&,  ra   Ú_generate_with_runtimeÚ!BaseQModel._generate_with_runtimeØ  så   € ò	Gô �fœc×"Ò"¤z°&¼$×'?Ò'?ÇCÃCÑGkÑdjÓGkÇCÇCÂCÑGkÑdjÓGk×DkÒDkØ×Ñ˜i¨Õ0Ü�V˜U×#Ò#¬E¯OªO¸F×,CÒ,CÜ  ›LˆMØ× Ñ  Ô(Ø"‰FØÒØ×Ñ˜k¨6Ô2à˜vÔ%Ù'IØ—
‘
˜;Ó'ØÐ'Õ(ó(ˆFÐ#Ñ$ñ
   §
¡
Ñ5¨fÑ5Ð5rd   c           	     	ó  € \         P                  ! 4       ;_uu_ 4        VP                  R R4      pVf,   V P                  '       d   V P                  P                  VR &   \        V RR4      pVe    V P                  ! V3RV/VB uuRRR4       # R p\        V\        4      '       gQ   \        V\        4      '       dß   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d¥   V P                  f   \        R4      hV P                  VR	RR
R7      pRV9   d#   V! VP                  R4      VR,          4      VR&   VP                  V P                  P                  4      pV P                  P                  ! R/ VBVB uuRRR4       # \!        VR4      '       dn   \         P"                  ! V4      '       gR   RV9   d#   V! VP                  R4      VR,          4      VR&   V P                  P                  ! R/ VBVB uuRRR4       # RV9   d$   V! VP                  RV4      VR,          4      VR&   V P                  P                  ! RRV/VB uuRRR4       #   + '       g   i     R# ; i)rú  Nr  r!  c                óü   € \         P                  ! V4      '       d   VP                  ^8:  d   V# Rp\         P                  ! V 4      '       d%   V P                  ^8¼  d   V P                  R,          p\	        WR7      # r  r  r  s   && ra   r  Ú?BaseQModel.generate.<locals>._normalize_generate_attention_maskÿ  s]   € Ü—’ ~×6Ò6¸.×:MÑ:MÐQRÔ:RØ)Ð)à�Ü—?’? 9×-Ò-°)·.±.ÀAÔ2EØ'Ÿo™o¨bÕ1�Gä)¨.ÔJÐJrd   c              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5ir”   r  r  s   & ra   rö   Ú&BaseQModel.generate.<locals>.<genexpr>	  s   é € ÐKoÑhnÐcdÌJÐWXÔZ]×L^ÐL^Óhnùr  FTz‹You passed in an `input` to `generate()` of type `str` but model is missing `model.tokenizer`. Please set `model.tokenizer = my_tokenizer`.rm   Úleft)Úreturn_tensorsÚpaddingÚpadding_sideré  rï  rx   r_   )r5  Úinference_moderx   rß   rú  r  r#  ry   r^   r´   r  r{   rÒ  rÜ   rp   rò  rñ   rá  )r�   r!  r¨   rú  r   r  s   &&,   ra   rò  ÚBaseQModel.generateô  s+  € Ü×!Ò!×#Õ#à!Ÿ:™: n°dÓ;ˆLØÒ#¨¯¯¨Ø)-¯©×)DÑ)D��~Ñ&ä& tÐ-@À$ÓGÐØÒ+Ø×2Ò2Ð3CÑ]ÈFÐ]ÐV\Ñ]÷ $Ò#òKô ˜&¤#×&Ò&¬:°f¼d×+CÒ+CÏËÑKoÑhnÓKoÏÏÊÑKoÑhnÓKo×HoÒHoØ—>‘>Ò)Ü$ð  &só  tð  tØŸ™¨¸tÈTÐ`f˜Óg�Ø# vÔ-Ù/QØŸ
™
 ;Ó/ØÐ/Õ0ó0�FÐ+Ñ,ð  Ÿ™ 4§:¡:×#4Ñ#4Ó5�Ø—z‘z×*Ò*Ñ>¨VÐ>°vÑ>÷= $Ò#ô@ �v˜u×%Ò%¬e¯oªo¸f×.EÒ.EØ# vÔ-Ù/QØŸ
™
 ;Ó/ØÐ/Õ0ó0�FÐ+Ñ,ð —z‘z×*Ò*Ñ>¨VÐ>°vÑ>÷M $Ò#ðP   6Ô)Ù+MØ—J‘J˜{¨FÓ3ØÐ+Õ,ó,�Ð'Ñ(ð
 —:‘:×&Ò&Ñ?¨fÐ?¸Ñ?÷] $×#×#Ó#ús>   ž(I.Á>I.Â9I.Ã
I.ÃI.Ã9BI.Æ-I.ÇAI.ÈAI.É.I?	c                ó:   € V P                   P                  ! V/ VB # )z0shortcut for model.prepare_inputs_for_generation)rÜ   Úprepare_inputs_for_generationrÖ  s   &*,ra   r1  Ú(BaseQModel.prepare_inputs_for_generation%  s   € à�z‰z×7Ò7¸ÐHÀÑHÐHrd   c               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )r\   rÊ  r^   Úsafetensors_metadatarÍ   Úmax_shard_sizezOptional[Union[int, str]]Úmeta_quantizerrË   Ú	eora_pathÚsplit_byr_   )r`   s   "ra   rb   ræ   )  sF   € ÷ 7ñ 7àð7ð #;ð7ð 6ð	7ð
 *ð7ð %ð7ð $ñ7rd   c           	     	ó   € \        V R R4      pV'       d   \        P                  ! 4       MRp	 V P                  '       dð   \        V RR4      '       d   V P	                  VVVVR7       MV P                  VVVVVVR7       V P                  P                  4        F�  w  r«\        P                  P                  W4      p\        VRRR7      ;_uu_ 4       p\        V\        4      '       d   VP                  V4       M%VP                  \        P                   ! V4      4       RRR4       K’  	  MV P"                  ! RR	V/VB  Veg   V	ea    \        P                  P%                  V4      pVP-                  R
\        P                  ! 4       V	,
          VR7       VP/                  4        R# R# R#   + '       g   i     EK'  ; i  \&        \(        \*        3 d    \        T4      p L|i ; i  Te�   T	eˆ    \        P                  P%                  T4      pM'  \&        \(        \*        3 d    \        T4      p Mi ; iTP-                  R
\        P                  ! 4       T	,
          TR7       TP/                  4        i i i ; i)r  Nr{  F)rÊ  r4  r5  r6  )rÊ  r4  r5  r6  r7  r8  Úwrg   rh   rÊ  Ú
model_save)Úsourcer_   )r  ÚtimeÚperf_counterrÝ   Úsave_quantized_embeddingsÚsave_quantizedrÔ   r|   rq   rr   rs   ru   ry   r^   Úwriterv   ÚdumpsÚsave_pretrainedÚabspathrµ  r{   ÚOSErrorÚrecordr_  )r�   rÊ  r4  r5  r6  r7  r8  r¨   r`  Ú
start_timerô   re  Ú	json_pathÚfÚtargets   &&&&&&&,       ra   ÚsaveÚBaseQModel.save)  s%  € ô ˜Ð2°DÓ9ˆß,1”T×&Ò&Ô(°tˆ
ð*	Ø�~�~ˆ~ô ˜4Ð!JÈE×RÒRØ×2Ñ2Ø!)Ø-AØ'5Ø'5ð	 3õ ð ×'Ñ'Ø!)Ø-AØ'5Ø'5Ø"+Ø!)ð (ô +ð $(×#<Ñ#<×#BÑ#BÖ#D‘K�DÜ "§¡§¡¨XÓ <�IÜ˜i¨°w×?Õ?À1Ü% e¬S×1Ò1ØŸG™G E�NàŸG™G¤D§J¢J¨uÓ$5Ô6÷	 @Ñ?ò $Eð ×$Ò$ÑA¨hÐA¸&ÒAàÒ  ZÒ%;ð+ÜŸW™WŸ_™_¨XÓ6�Fð —‘Ø Ü×%Ò%Ó'¨*Õ4Ø!ð ô ð
 —‘–ñ &<Ñ ÷ @×?Ñ?ûô "¤:¬wÐ7ô +Ü  ›]’Fð+ûð Ò  ZÒ%;ð+ÜŸW™WŸ_™_¨XÓ6‘FøÜ!¤:¬wÐ7ô +Ü  ›]’Fð+úà—‘Ø Ü×%Ò%Ó'¨*Õ4Ø!ð ô ð
 —‘•ð &<Ð úsb   ®G+ Á BG+ ÃAF/Ä"!G+ ÅG Æ/GÆ:
G+ Ç!G(Ç'G(Ç+	I=Ç5HÈI=È!H9È6I=È8H9È9AI=c               ó   € V ^8„  d   QhRR/# )r\   r%  z!Optional[AutoModuleDecoderConfig]r_   )r`   s   "ra   rb   ræ   b  s   € ÷ ñ Ð4Uñ rd   c                ó    € \        V P                  RR4      ;'       g    . p\        V4       F  p\        V\        4      '       g   K  Vu # 	  R# )z;Return the active auto-decoder preprocessor config, if any.r�  N)r  rÞ   Úreversedry   r#   )r�   r�  Úpreprocessors   &  ra   Ú"_active_auto_module_decoder_configÚ-BaseQModel._active_auto_module_decoder_configb  sI   € ô   × 4Ñ 4°oÀtÓL×RÐRÐPRˆÜ$ ]Ö3ˆLÜ˜,Ô(?×@Ô@Ø#Ò#ñ 4ñ rd   c               ó   € V ^8„  d   QhRR/# )r\   r%  r…  r_   )r`   s   "ra   rb   ræ   k  s   € ÷ (ñ (¸#ñ (rd   c                óê  € V P                  4       pVe   VP                  R8w  d   ^ # ^ p\        V P                  P	                  4       4       EF!  w  r4\        V\        4      '       g   \        VR4      '       g   K0  Rp\        V P                  \        4      '       d)   V P                  P                  V P                  VRR7      pV'       g   \        VP                  RR7      4      pVP                  R4      p\        V\        P                  4      '       g   KÐ  V P!                  VVR7      pVf   Ké  V P#                  VVVP$                  R	7      pV P'                  WH4       V^,          pEK$  	  V# )
zIDecode passthrough floatx modules in-place before saving when configured.NÚdecoderV  F©rN  Útarget_submoduleÚrecurseT©Ú	keep_vars©rV  Úcheckpoint_tensors©r\  Útarget_dtype)rQ  Úpassthrough_save_policyr´   rÜ   Únamed_modulesry   r   rñ   rå   rE   Ú checkpoint_tensors_for_submodulerz   Ú
state_dictrx   r5  ÚTensorÚ_decoder_weight_formatÚ"_build_decoder_quant_source_moduler^  Ú_replace_live_submodule)	r�   Údecoder_cfgÚdecoded_countrJ  ró  r\  rV  Údecoder_kindÚdecoded_modules	   &        ra   Ú(materialize_passthrough_modules_for_saveÚ3BaseQModel.materialize_passthrough_modules_for_savek  sZ  € ð ×=Ñ=Ó?ˆØÒ +×"EÑ"EÈÔ"QÙàˆÜ˜dŸj™j×6Ñ6Ó8×9‰IˆAÜ˜&¤/×2Ò2¼'À&È(×:SÒ:SÙà!%ÐÜ˜$×+Ñ+¬Z×8Ò8Ø%)×%6Ñ%6×%WÑ%WØ!%§¡Ø%+Ø!ð &Xó &Ð"÷
 &Ü%)¨&×*;Ñ*;ÀdÐ*;Ó*KÓ%LÐ"Ø'×+Ñ+¨HÓ5ˆFÜ˜f¤e§l¡l×3Ò3Ùà×6Ñ6ØØ#5ð 7ó ˆLð Ò#Ùà!×DÑDØØ#5Ø(×5Ñ5ð Eó ˆNð
 ×(Ñ(¨Ô@Ø˜QÕ‹Mñ= :ð@ Ðrd   Úrespect_forward_policyc               ó$   € V ^8„  d   QhRRRRRR/# )r\   rp   rÝ  rm  rÉ   r%  r…  r_   )r`   s   "ra   rb   ræ   •  s-   € ÷ Dñ DàðDð !%ð	Dð
 
ñDrd   c               óR  € V P                  4       pVf   ^ # \        P                  ! V4      p^ p\        V P                  P                  4       4       EFÐ  w  rg\        V\        4      '       g   \        VR4      '       g   K0  Rp\        V P                  \        4      '       d)   V P                  P                  V P                  VRR7      pV'       g   \        VP                  RR7      4      pVP                  R4      p	\        V	\        P                  4      '       g   KÐ  V P!                  V	VR7      p
V
f   Ké  RpV'       d�   VP"                  R8w  d~   V
R	8X  d>   \%        WIP&                  RR
7      '       d!   V P)                  VVVVP*                  R7      pM9V
R8X  d3   \-        VRR
7      '       d    V P/                  VVVVP*                  R7      pVf2   V P1                  VVVP*                  R7      pV P3                  VVR7      pV P5                  W{4       V^,          pEKÓ  	  V# )zDMaterialize passthrough floatx modules into live evaluation modules.NrV  FrV  TrY  r[  rU  Úfp8©Úrequire_validation©rW  r\  rp   r^  Úfp4r]  ©Úquant_sourcerp   )rQ  r5  rp   r´   rÜ   r`  ry   r   rñ   rå   rE   ra  rz   rb  rx   rc  rd  Úpassthrough_forward_policyr.   rý  Ú_build_fp8_forward_moduler^  r/   Ú_build_fp4_forward_modulere  Ú_build_decoder_forward_modulerf  )r�   rp   rm  rg  Útarget_devicerh  rJ  ró  r\  rV  ri  Úforward_modulerj  s   &&$          ra   Ú(materialize_passthrough_modules_for_evalÚ3BaseQModel.materialize_passthrough_modules_for_eval•  s  € ð ×=Ñ=Ó?ˆØÒÙäŸš VÓ,ˆØˆÜ˜dŸj™j×6Ñ6Ó8×9‰IˆAÜ˜&¤/×2Ò2¼'À&È(×:SÒ:SÙà!%ÐÜ˜$×+Ñ+¬Z×8Ò8Ø%)×%6Ñ%6×%WÑ%WØ!%§¡Ø%+Ø!ð &Xó &Ð"÷
 &Ü%)¨&×*;Ñ*;ÀdÐ*;Ó*KÓ%LÐ"Ø'×+Ñ+¨HÓ5ˆFÜ˜f¤e§l¡l×3Ò3Ùà×6Ñ6ØØ#5ð 7ó ˆLð Ò#Ùà!ˆNß%¨+×*PÑ*PÐT\Ô*\Ø 5Ô(Ô-BÀ=×R^ÑR^Ðsx×-yÓ-yØ%)×%CÑ%CØ)/Ø+=Ø,Ø%0×%=Ñ%=ð	 &Dó &‘Nð " UÔ*Ô/IÈ-Ðlq×/rÓ/rØ%)×%CÑ%CØ)/Ø+=Ø,Ø%0×%=Ñ%=ð	 &Dó &�Nð Ò%Ø!%×!HÑ!HØØ'9Ø!,×!9Ñ!9ð "Ió "�ð
 "&×!CÑ!CØ!/Ø(ð "Dó "�ð ×(Ñ(¨Ô@Ø˜QÕ‹Mñi :ðl Ðrd   c               ó   € V ^8„  d   QhRR/# )r\   r%  z)tuple[Dict[str, torch.Tensor], List[str]]r_   )r`   s   "ra   rb   ræ   Û  s   € ÷ *1ñ *1ÐAjñ *1rd   c                óŠ  € V P                  4       pVe   VP                  R8w  d   / . 3# / p. p\        V P                  P	                  4       4       EFl  w  rEV'       d)   \        V\        4      '       g   \        VR4      '       g   K8  Rp\        V P                  \        4      '       d)   V P                  P                  V P                  VRR7      pV'       g   \        VP                  RR7      4      pVP                  R4      p\        V\        P                  4      '       g   KØ  V P!                  VVR7      pVf   Kñ  V P#                  VVVP$                  R	7      p	VP'                  V4       V	P                  4       P)                  4        F*  w  r«VP+                  4       P-                  4       W$ R
V
 2&   K,  	  EKo  	  W#3# )zWReturn dense state-dict entries that should replace native passthrough tensors on save.NrU  rV  FrV  TrY  r[  r]  r0  )rQ  r_  r´   rÜ   r`  ry   r   rñ   rå   rE   ra  rz   rb  rx   r5  rc  rd  re  r^  r  r|   Údetachrn   )r�   rg  Údecoded_entriesÚdecoded_prefixesrf  ró  r\  rV  ri  rj  rd  Útensors   &           ra   Ú/decoded_passthrough_state_dict_entries_for_saveÚ:BaseQModel.decoded_passthrough_state_dict_entries_for_saveÛ  s¦  € ð ×=Ñ=Ó?ˆØÒ +×"EÑ"EÈÔ"QØ�r�6ˆMà35ˆØ&(ÐÜ#'¨¯
©
×(@Ñ(@Ó(B×#CÑˆKß¤*¨V´_×"EÒ"EÌWÐU[Ð]e×MfÒMfÙà!%ÐÜ˜$×+Ñ+¬Z×8Ò8Ø%)×%6Ñ%6×%WÑ%WØ!%§¡Ø%+Ø!ð &Xó &Ð"÷
 &Ü%)¨&×*;Ñ*;ÀdÐ*;Ó*KÓ%LÐ"Ø'×+Ñ+¨HÓ5ˆFÜ˜f¤e§l¡l×3Ò3Ùà×6Ñ6ØØ#5ð 7ó ˆLð Ò#Ùà!×DÑDØØ#5Ø(×5Ñ5ð Eó ˆNð
 ×#Ñ# KÔ0Ø-×8Ñ8Ó:×@Ñ@ÖB‘�Ø:@¿-¹-»/×:MÑ:MÓ:O� -¨q°°Ð 6Ó7ô  Cñ= $DðB Ð0Ð0rd   c               ó   € V ^8„  d   QhRR/# )r\   r%  zList[Type[BaseQuantLinear]]r_   )r`   s   "ra   rb   ræ   	  s   € ÷ $ñ $Ð4ñ $rd   c                	ó$  € \        V P                  \        P                  4      '       g   . # \	        4       p\        V P                  \        .R 7      pVP                  4        F   w  r4VP                  VP                  4       K"  	  \        V4      # )rï   )ry   rÜ   rT  ÚModuler\  r?   r   r|   r_  r  r´   )r�   Úloaded_kernelsrÎ  r¸   r¹   s   &    ra   r  ÚBaseQModel.kernels	  sg   € Ü˜$Ÿ*™*¤b§i¡i×0Ò0ØˆIÜ›ˆÜ˜tŸz™z´?Ð2CÔDˆØ—M‘M–O‰DˆAØ×Ñ˜qŸ{™{Ö+ñ $ô �NÓ#Ð#rd   c               ó   € V ^8„  d   QhRR/# ©r\   r%  ÚNoner_   )r`   s   "ra   rb   ræ     s   € ÷ 0ñ 0¨4ñ 0rd   c                	ó   € \        V P                  \        P                  4      '       g   R # V P                  P	                  4        Uu. uF  p\        V\
        4      '       g   K  VNK  	  ppV'       g   R # \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   R # \        V P                  4       R # u upi )Nc              3  ó<   "  € T F  p\        VR R4      x € K  	  R# 5i)Ú_lookahead_enabledFN)r  )ró   ró  s   & ra   rö   Ú7BaseQModel._auto_configure_lookahead.<locals>.<genexpr>  s   é € Ð\ÉmÀF”7˜6Ð#7¸×?Ð?Ëmùs   ‚TF)ry   rÜ   rT  r‰  rÎ  r   r—  r   )r�   ró  Úquant_moduless   &  ra   r  Ú$BaseQModel._auto_configure_lookahead  s†   € Ü˜$Ÿ*™*¤b§i¡i×0Ò0Ùà.2¯j©j×.@Ñ.@Ô.BÓfÑ.B FÄjÐQWÔYd×FeŸ˜Ñ.BˆÐfßÙç‹sÑ\ÉmÓ\�s�sŠsÑ\ÉmÓ\×\Ò\Ùä# D§J¡JÖ/ùò gs   Á	CÁ&Cc               ó$   € V ^8„  d   QhRRRRRR/# ©r\   r  r^   r€  Ú	fullgraphrÉ   r_   )r`   s   "ra   rb   ræ      s&   € ÷ Nñ N˜sð N°sð NÈdñ Nrd   c                	óR   € \         P                  R 4       V P                  WVR7      # )zTDeprecation: `model.compile()` is deprecated. Please use `model.optimize()` instead.)r  r€  r—  )rü   r/  Úoptimize)r�   r  r€  r—  s   &&&&ra   ÚcompileÚBaseQModel.compile   s"   € Ü�‰ÐgÔhØ�}‰} WÀ9ˆ}ÓMÐMrd   c               ó$   € V ^8„  d   QhRRRRRR/# r–  r_   )r`   s   "ra   rb   ræ   $  s!   € ÷ $ñ $ ð $¸ð $Ètñ $rd   c                	óî  € V P                   '       g   \        P                  R 4       V # \        '       d   RV n        \        P                  R4       V # \        P                  RV RV R24       \        V P                  \        .R7      pVP                  4        F  pWE,          P                  RWR7       K  	  \        P                  RV RV R24       \        V P                  W1VR7      V n        V # )	z)model is not quantized, skip compiling...Fz}To use compile(), you need to have torch version >= 2.6.0, please upgrade it by `pip install -U torch torchaudio torchvision`z)Compiling qlinear modules with backend: `z
`, mode: `Ú`rï   )r—  r  r€  zCompiling model with backend: `)rÝ   rü   r/  rJ   r   rÑ   r?   rÜ   r   r€   r™  rK   )r�   r  r€  r—  rÎ  rô   s   &&&&  ra   r™  ÚBaseQModel.optimize$  sÔ   € Ø�~�~ˆ~Ü�H‰HÐ@ÔAØˆKçÓØ!ˆDŒMÜ�H‰Hð Yô ZàˆKô
 	�‰Ð<¸W¸IÀZÐPTÈvÐUVÐWÔXÜ˜tŸz™z´?Ð2CÔDˆØ—L‘L–NˆDØ�M×"Ñ"¨U¸GÐ"ÖOñ #ô
 	�‰Ð2°7°)¸:ÀdÀVÈ1ÐMÔNä" 4§:¡:¸ÐZ^Ô_ˆŒ
ð ˆrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   Úhostr^   Úportr…  Ú
async_moderÉ   r_   )r`   s   "ra   rb   ræ   J  s+   € ÷ Gñ GØðGàðGð  ñGrd   c                	óh   € ^RI Hp V! V R7      V n        V P                  P                  WVR7       R# )r\   )ÚOpenAiServerrÕ  )r¡  r¢  r£  N)Úutils.openai_serverr¥  ÚserverÚstart)r�   r¡  r¢  r£  r¥  s   &&&& ra   ÚserveÚBaseQModel.serveJ  s*   € õ 	7Ù"¨Ô.ˆŒØ�‰×Ñ˜t¸:ÐÖFrd   c                	óZ   € V P                   e   V P                   P                  4        R # R # r”   )r§  Úshutdown©r�   s   &ra   Úserve_shutdownÚBaseQModel.serve_shutdownR  s!   € Ø�;‰;Ò"Ø�K‰K× Ñ Ö"ñ #rd   c               ó    € V ^8„  d   QhRRRR/# )r\   Útimeoutr…  Úcheck_intervalÚfloatr_   )r`   s   "ra   rb   ræ   V  s   € ÷ Yñ Y¨cð YÈñ Yrd   c                	ó^   € V P                   e   V P                   P                  WR7       R # R # )N)r±  r²  )r§  Úwait_until_ready)r�   r±  r²  s   &&&ra   Úserve_wait_until_readyÚ!BaseQModel.serve_wait_until_readyV  s&   € Ø�;‰;Ò"Ø�K‰K×(Ñ(°Ð(ÖXñ #rd   c               ó    € V ^8„  d   QhRRRR/# )r\   r]   r^   rã   rÉ   r_   )r`   s   "ra   rb   ræ   Z  s   € ÷ ñ °#ð ÈTñ rd   c                	ó   € R # r”   r_   )r�   r]   rã   s   &&&ra   Úbefore_model_loadÚBaseQModel.before_model_loadZ  ó   € Ùrd   c                	ó   € V# r”   r_   )r�   rÜ   rã   s   &&&ra   r  ÚBaseQModel.after_model_load]  s   € Øˆrd   c                	ó   € R # r”   r_   r­  s   &ra   Ú pre_quantize_generate_hook_startÚ+BaseQModel.pre_quantize_generate_hook_start`  r¼  rd   c                	óB   € V P                   P                  '       d   R # R # r”   )rÞ   Úoffload_to_diskr­  s   &ra   Úpre_quantize_generate_hook_endÚ)BaseQModel.pre_quantize_generate_hook_endc  s   € Ø×Ñ×/×/Ð/ñ ñ 0rd   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r\   r±   útuple[Any, ...]r¨   rÛ  Úbatch_devicerÝ  r%  úList[torch.Tensor]r_   )r`   s   "ra   rb   ræ   i  s2   € ÷ ñ àðð ðð #ð	ð
 
ñrd   c                ó�   € VP                  R4      e   \        VR,          VR7      .# V'       d   \        V^ ,          VR7      .# . # )z^Normalize first-layer positional inputs so cached forwards can replay decoder layers directly.Úhidden_statesrß  )rx   rC   )r�   r±   r¨   rÈ  s   &&&&ra   Ú%capture_first_layer_positional_inputsÚ0BaseQModel.capture_first_layer_positional_inputsi  sD   € ð �:‰:�oÓ&Ò2Ü˜F ?Õ3¸LÔIÐJÐJßÜ˜D �G¨LÔ9Ð:Ð:Øˆ	rd   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r\   r±   rÇ  r¨   rÛ  rÈ  rÝ  Úlayer_input_kwargsr%  r_   )r`   s   "ra   rb   ræ   w  s<   € ÷ 	"ñ 	"àð	"ð ð	"ð #ð		"ð
 +ð	"ð 
ñ	"rd   c                ó   € V# )z`Allow model definitions to persist extra first-layer replay metadata during calibration capture.r_   )r�   r±   r¨   rÈ  rÏ  s   &&&&&ra   Ú capture_first_layer_input_kwargsÚ+BaseQModel.capture_first_layer_input_kwargsw  ó
   € ð "Ð!rd   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r\   rì  râ   Úlayer_inputrÉ  Úadditional_inputsrÛ  r{  rÝ  r%  r_   )r`   s   "ra   rb   ræ   ‚  s<   € ÷ 	!ñ 	!àð	!ð (ð	!ð *ð		!ð
 $ð	!ð 
ñ	!rd   c                ó   € V# )zTAllow model definitions to refresh layer-specific kwargs before cached layer replay.r_   )r�   rì  rÕ  rÖ  r{  s   &&&&&ra   Úprepare_layer_replay_kwargsÚ&BaseQModel.prepare_layer_replay_kwargs‚  s
   € ð !Ð rd   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r\   rì  râ   Úlayer_outputr   rÏ  rÛ  r{  rÝ  r%  r_   )r`   s   "ra   rb   ræ   �  s<   € ÷ 	"ñ 	"àð	"ð ð	"ð +ð		"ð
 $ð	"ð 
ñ	"rd   c                ó   € V# )zRAllow model definitions to persist cross-layer replay state from one layer output.r_   )r�   rì  rÛ  rÏ  r{  s   &&&&&ra   Ú&update_layer_replay_kwargs_from_outputÚ1BaseQModel.update_layer_replay_kwargs_from_output�  rÓ  rd   c               ó    € V ^8„  d   QhRRRR/# )r\   r!  zList[List[torch.tensor]]r%  r_   )r`   s   "ra   rb   ræ   ˜  s   € ÷ 
ñ 
Ð9Qð 
ÐVnñ 
rd   c                	ó  € V P                   '       dz   \        V P                  V P                   .4      w  r#V P                  V4      pV F.  p\	        \        V4      4       F  pV! WE,          4      WE&   K  	  K0  	  V P                  V4       V# r”   )rÄ   rA   rÜ   Úpre_quantizerr  r  Úpost_quantize)r�   r!  ÚnormrJ  Úelementrv  s   &&    ra   Ú"lm_head_pre_quantize_generate_hookÚ-BaseQModel.lm_head_pre_quantize_generate_hook˜  sy   € Ø×'×'Ð'Ü/°·
±
¸T×=YÑ=YÐ<ZÓ[‰GˆDØ×$Ñ$ TÓ*ˆDã!�Üœs 7›|Ö,�AÙ!% g¥jÓ!1�G“Jó -ñ "ð ×Ñ˜tÔ$Øˆrd   c               ó    € V ^8„  d   QhRRRR/# ©r\   ró  râ   r%  r_   )r`   s   "ra   rb   ræ   ¤  s   € ÷ 	ñ 	 9ð 	°ñ 	rd   c                	óD  € \        V4      \        8X  g   \        V4      '       d(   V P                  VV P                  P
                  R 7      # \        V4      \        8X  d@   V P                  P
                  \        8w  d!   \        WP                  P
                  R7      # V# )©rW  rp   rß  )r7   rP   r>   Úshell_module_materializerÞ   rp   rL   rC   ©r�   ró  s   &&ra   rá  ÚBaseQModel.pre_quantize¤  s‚   € Ü�fÓ¤Ô%Ô)AÀ&×)IÒ)IØ×0Ñ0Ø!'Ø×+Ñ+×2Ñ2ð 1ó ð ô ˜Ó¤3Ô&¨4×+?Ñ+?×+FÑ+FÌ#Ô+MÜ˜6×*>Ñ*>×*EÑ*EÔFÐFàˆMrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   ró  râ   Úplanned_devicerÝ  r%  r_   )r`   s   "ra   rb   ræ   ¯  s"   € ÷ ñ °	ð È<ð Ð\hñ rd   c                ó  € V P                   p\        V\        4      '       g   V# \        V RR4      pVe   \	        V4      V9  dH   V P
                  P                  4        UUu/ uF  w  rVV'       g   K  \	        V4      VbK  	  pppW@n        VP                  \	        V4      4      pVf   V# VP                  RR7       F8  w  r‰VP                  Wx4      '       g   K  \        P                  ! \        4      u # 	  V# u uppi )zDApply model-declared placement exclusions to subset replay planning.Ú_forward_module_paths_by_idNF)rX  )rå   ry   rE   r  ÚidrÜ   r`  rñ  rx   Únamed_parametersÚis_no_placement_tensorr5  rp   rL   )
r�   ró  rï  rå   Úmodule_pathsrô   r  ro  Úrel_namerJ  s
   &&&       ra   Úforward_device_for_moduleÚ$BaseQModel.forward_device_for_module¯  sç   € ð ×(Ñ(ˆÜ˜,¬
×3Ò3Ø!Ð!ô ˜tÐ%BÀDÓIˆØÒ¤2 f£:°\Ô#AØGKÇzÁz×G_ÑG_ÔGaÔjÑGa±O°DÔeiÔ/œB˜y›M¨4Ò/ÑGaˆLÑjØ/;Ô,Ø"×&Ñ&¤r¨&£zÓ2ˆØÒØ!Ð!à!×2Ñ2¸5Ð2ÖA‰KˆHØ×2Ñ2°;×IÔIÜ—|’|¤CÓ(Ò(ñ Bð Ðùó ks   Á#C=Á4C=c               ó   € V ^8„  d   QhRR/# rÛ  r_   )r`   s   "ra   rb   ræ   Ä  s   € ÷ 
ñ 
¨dñ 
rd   c                óv   € V P                   p\        V\        4      ;'       d    \        \	        VRR4      4      # )zDReturn whether replay must preserve model-declared tensor placement.Ú_no_placement_paramsr_   )rå   ry   rE   rÉ   r  )r�   rå   s   & ra   Úhas_forward_device_overridesÚ'BaseQModel.has_forward_device_overridesÄ  s<   € ð ×(Ñ(ˆÜ˜,¬
Ó3÷ 
ð 
¼Ü�LÐ"8¸"Ó=ó9
ð 	
rd   c               ó    € V ^8„  d   QhRRRR/# rè  r_   )r`   s   "ra   rb   ræ   Ì  s   € ÷ +ñ + Ið +°)ñ +rd   c                	ó$   € \        V\        R 7      # )rß  )rC   rL   rì  s   &&ra   râ  ÚBaseQModel.post_quantizeÌ  s   € ä�v¤cÔ*Ð*rd   c               ó   € V ^8„  d   QhRR/# r�  r_   )r`   s   "ra   rb   ræ   Ð  s   € ÷ ñ  ñ rd   c                ó   € R# )zERun model-specific finalization after the complete quantization loop.Nr_   r­  s   &ra   r^  ÚBaseQModel.after_quantizeÐ  s   € ñ rd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   Úcurrent_submodulerâ   Úreplacementr%  r_   )r`   s   "ra   rb   ræ   Õ  s(   € ÷ 
ñ 
à$ð
ð ð
ð 
ñ	
rd   c                óz   € \        V P                  V4      p\        V P                  V4      w  rE\        WEV4       V# )zEReplace one live model submodule in place and return the replacement.)rG   rÜ   rF   Úsetattr)r�   r  r  ro  ÚparentÚleafs   &&&   ra   rf  Ú"BaseQModel._replace_live_submoduleÕ  s7   € ô *¨$¯*©*Ð6GÓHˆÜ3°D·J±JÀÓL‰ˆÜ�˜kÔ*ØÐrd   r\  c               ó(   € V ^8„  d   QhRRRRRRRR/# )r\   rW  râ   r\  z!Optional[Dict[str, torch.Tensor]]r^  útorch.dtyper%  r_   )r`   s   "ra   rb   ræ   á  s8   € ÷ Jñ Jà#ðJð >ð	Jð
 "ðJð 
ñJrd   c               ó�  € \         P                  ! V4      p\        V4      '       d   VP                  \        R7      pMVP                  \        R7      pVf   RMVP                  R4      p\        V\        P                  4      '       Edä   \        VR4      '       EdÑ   V P                  VVR7      p\        \        VP                  RVP                  4      4      pVR8X  d   V P!                  VVR7      M!V P#                  VP                  R4      VR	7      pRp	\        V\        P                  4      '       g#   V P#                  VP                  R
4      VR	7      p	VR8X  dV   \%        T\        V\        P                  4      '       d   TMR\        V	\        P                  4      '       d   T	MRRVR7      p
MnVR8X  dV   \'        T\        V\        P                  4      '       d   TMR\        V	\        P                  4      '       d   T	MRRVR7      p
MVP                  VR7      p
\        VR4      p\(        P*                  ! V
P                  \        VR7      \        VRR4      R7      Vn        Vf   RMVP                  R4      p\        V\        P                  4      '       dY   \        VRR4      eJ   VP,                  p\(        P*                  ! VP                  \        VR7      \        VRR4      R7      Vn        VP                  VR7      pVP/                  4        \1        VR\        P2                  ! \        4      4       V# )zIBuild a dense CPU source module from checkpoint tensors for quantization.rß  NrV  r[  r  rt  ©r\  Úresult_shapeÚweight_scale©Úscale_tensorr  Úweight_scale_invrp  )ÚscaleÚ	scale_invÚaxisr^  )rý  ©rp   rý  Úrequires_gradF)r  Úbiasr{  )rQ  rR  r>   Úto_emptyrL   rÒ  rx   ry   r5  rc  rñ   rd  r(  r  rV  r  Ú_decoder_fp4_effective_scaleÚ_decoder_scale_tensorr-   r,   rT  rU  r  Úevalr  rp   )r�   rW  r\  r^  rv  rV  ri  r  r  r  Údecoded_weightÚexisting_weightr  Úexisting_biass   &&$$          ra   re  Ú-BaseQModel._build_decoder_quant_source_moduleá  sÈ  € ô —}’}Ð%5Ó6ˆÜ# L×1Ò1Ø'×0Ñ0¼Ð0Ó<‰Là'Ÿ?™?´#˜?Ó6ˆLØ+Ò3‘Ð9K×9OÑ9OÐPXÓ9YˆÜ�fœeŸl™l×+Ó+´¸Àh×0OÓ0OØ×6Ñ6ØØ#5ð 7ó ˆLô !¤¨×)<Ñ)<¸gÀvÇ|Á|Ó!TÓUˆLð   5Ô(ð	 ×1Ñ1Ø'9Ø!-ð 2ô ð
 ×/Ñ/Ø!3×!7Ñ!7¸Ó!GØ!-ð 0ó ð ð ˆIÜ˜e¤U§\¡\×2Ò2Ø ×6Ñ6Ø!3×!7Ñ!7Ð8JÓ!KØ!-ð 7ó �	ð ˜uÔ$Ü!/ØÜ#-¨e´U·\±\×#BÒ#B™%ÈÜ+5°iÄÇÁ×+NÒ+N™iÐTXØØ!-ô"‘ð  Ô&Ü!3ØÜ#-¨e´U·\±\×#BÒ#B™%ÈÜ+5°iÄÇÁ×+NÒ+N™iÐTXØØ!-ô"‘ð "(§¡° Ó!>�ä% l°HÓ=ˆOÜ"$§,¢,Ø×!Ñ!¬°LÐ!ÓAÜ% o°ÈÓNô#ˆLÔð
 *Ò1‰tÐ7I×7MÑ7MÈfÓ7UˆÜ�dœEŸL™L×)Ò)¬g°lÀFÈDÓ.QÒ.]Ø(×-Ñ-ˆMÜ "§¢Ø—‘œs¨,�Ó7Ü% m°_ÀeÓLô!ˆLÔð
 $—‘¨\�Ó:ˆØ×ÑÔÜ�˜o¬u¯|ª|¼CÓ/@ÔAØÐrd   c               ó   € V ^8„  d   QhRR/# )r\   r%  zOptional[tuple[int, int]]r_   )r`   s   "ra   rb   ræ   -	  s   € ÷ 
ñ 
Ð%>ñ 
rd   c                óT  € \        \        V P                  RR4      RR4      p\        V\        4      '       d   VP	                  R4      pM\        VRR4      p\        V\
        \        34      '       d5   \        V4      ^8X  d%   \        V^ ,          4      \        V^,          4      3# R# )z>Read the checkpoint's floatx block size metadata when present.ré   NÚquantization_configÚweight_block_size)	r  rÜ   ry   rz   rx   r´   r(  r  r…  )r�   Úquant_configÚ
block_sizes   &  ra   Ú_decoder_block_sizeÚBaseQModel._decoder_block_size-	  sŠ   € ô œw t§z¡z°8¸TÓBÐDYÐ[_Ó`ˆÜ�l¤D×)Ò)Ø%×)Ñ)Ð*=Ó>‰Jä  Ð/BÀDÓIˆJÜ�j¤4¬ -×0Ò0´S¸³_ÈÔ5IÜ�z !•}Ó%¤s¨:°a­=Ó'9Ð9Ð9Ùrd   c               ó   € V ^8„  d   QhRR/# )r\   r%  r^   r_   )r`   s   "ra   rb   ræ   9	  s   € ÷ 0ñ 0¨Cñ 0rd   c                ó  € \        \        V P                  RR4      RR4      p\        V\        4      '       d   VP	                  R4      pM\        VRR4      p\        T;'       g    R4      P                  4       P                  4       # )z@Return the checkpoint quantizer family declared in model config.ré   Nr%  r  Ú )r  rÜ   ry   rz   rx   r^   r³  r8  )r�   r'  re  s   &  ra   Ú_decoder_quant_method_nameÚ%BaseQModel._decoder_quant_method_name9	  so   € ô œw t§z¡z°8¸TÓBÐDYÐ[_Ó`ˆÜ�l¤D×)Ò)Ø ×$Ñ$ ^Ó4‰Eä˜L¨.¸$Ó?ˆEÜ�5—;�;˜BÓ×%Ñ%Ó'×-Ñ-Ó/Ð/rd   c               ó   € V ^8„  d   QhRR/# rÛ  r_   )r`   s   "ra   rb   ræ   C	  s   € ÷ ?ñ ?¨ñ ?rd   c                ó(   € V P                  4       R8H  # )zHReturn ``True`` when the checkpoint declares ModelOpt runtime semantics.Úmodelopt)r.  r­  s   &ra   Ú_uses_modelopt_runtimeÚ!BaseQModel._uses_modelopt_runtimeC	  s   € ð ×.Ñ.Ó0°JÑ>Ð>rd   c               ó   € V ^8„  d   QhRR/# ©r\   r%  rË   r_   )r`   s   "ra   rb   ræ   H	  s   € ÷ ñ ¸ñ rd   c                ó  € \        \        V P                  RR4      RR4      p\        V\        4      '       g   R# VP	                  R4      p\        V\        4      '       d›   VP                  4        F†  p\        V\        4      '       g   K  VP	                  R4      p\        V\        4      '       g   KD  VP	                  R4      p\        V\        \        34      '       g   Ks  \        V4      ^8  g   K…   R# 	  VP	                  R4      p\        V\        4      '       d@   VP	                  R4      p\        V\        \        34      '       d   \        V4      ^8  d   R# \        V P                  \        4      '       d&   V P                  P                  P                  4       pM(V P                  P                  4       P                  4       p\        ;QJ d    R V 4       F  '       g   K   R	M	  R
M! R V 4       4      '       d   R# R# )zLDescribe unsupported ModelOpt activation quantization metadata when present.ré   Nr%  Úconfig_groupsÚinput_activationsÚnum_bitsÚkv_cache_schemec              3  óV   "  € T F  p\        V4      P                  R4      x € K!  	  R# 5i)ú.input_scaleN)r=  z.k_scalez.v_scale)r^   rq  ©ró   rô   s   & ra   rö   ÚDBaseQModel._modelopt_activation_quantization_mode.<locals>.<genexpr>d	  s&   é € Ð]ÑX\ÐPTŒs�4‹y×!Ñ!Ð"J×KÐKÓX\ùs   ‚')TFÚcheckpoint_scales)r  rÜ   ry   rz   rx   Úvaluesr…  r³  rå   rE   r}   r€   rb  r—  )r�   r'  r8  Ú	group_cfgr9  r:  r;  r€   s   &       ra   Ú&_modelopt_activation_quantization_modeÚ1BaseQModel._modelopt_activation_quantization_modeH	  s~  € ô œw t§z¡z°8¸TÓBÐDYÐ[_Ó`ˆÜ˜,¬×-Ò-Ùà$×(Ñ(¨Ó9ˆÜ�m¤T×*Ò*Ø*×1Ñ1Ö3�	Ü! )¬T×2Ò2ÙØ$-§M¡MÐ2EÓ$FÐ!ÜÐ/´×6Ô6Ø0×4Ñ4°ZÓ@�HÜ! (¬S´%¨L×9Ô9¼cÀ(»mÈbÖ>PÚ2ñ 4ð '×*Ñ*Ð+<Ó=ˆÜ�o¤t×,Ò,Ø&×*Ñ*¨:Ó6ˆHÜ˜(¤S¬% L×1Ò1´c¸(³mÀbÔ6HÙ(ä�d×'Ñ'¬×4Ò4Ø×$Ñ$×0Ñ0×5Ñ5Ó7‰Dà—:‘:×(Ñ(Ó*×/Ñ/Ó1ˆDß‹3Ñ]ÑX\Ó]�3�3Š3Ñ]ÑX\Ó]×]Ò]Ù&Ùrd   c               ó   € V ^8„  d   QhRR/# r�  r_   )r`   s   "ra   rb   ræ   h	  s   € ÷ ñ ¨Tñ rd   c                ó¦   € V P                  4       '       g   R# V P                  4       pVe%   \        P                  R4       \	        RV R24      hR# )zAReject unsupported ModelOpt activation quantization at load time.NzLGPT-QModel currently does not support loading of activation quantized modelsa  GPT-QModel currently does not support loading of activation quantized models. GPTQModel does not support loading ModelOpt checkpoints with activation quantization. Only dense-activation weight-only variants such as W8A16/FP8 and W4A16/FP4 are supported. Detected unsupported metadata: r0  )r3  rC  rü   Úerrorr{   )r�   Úunsupported_modes   & ra   r  Ú&BaseQModel._configure_modelopt_runtimeh	  s`   € ð ×*Ñ*×,Ò,Ùà×FÑFÓHÐØÒ'Ü�I‰IÐdÔeÜð2ð 3CÐ1CÀ1ðFóð ñ (rd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   r  úOptional[torch.Tensor]r  útuple[int, ...]r%  r_   )r`   s   "ra   rb   ræ   x	  s*   € ÷ 3ñ 3ð -ð3ð &ð	3ð
 
 ñ3rd   c               óÚ  € \        V\        P                  4      '       g   R# VP                  ^8w  g   \	        V4      ^8w  d   V# Vw  r4VP
                  w  rVW5,          ^ 8X  d   WF,          ^ 8X  d   V# V P                  4       pVf   V# Vw  r‰WX,          V8  g   Wi,          V8  d   V# VP                  V^ R7      p
V
P                  V	^R7      p
V
RV1RV13,          P                  4       # )zGExpand padded floatx block grids to the dense weight shape when needed.N)Údim)	ry   r5  rc  râ  r  r  r)  Úrepeat_interleaveÚ
contiguous)r�   r  r  ÚrowsÚcolsÚblocks_rÚblocks_cr(  Ú
block_rowsÚ
block_colsÚexpandeds   &$$        ra   r  Ú BaseQModel._decoder_scale_tensorx	  sí   € ô ˜,¬¯©×5Ò5ÙØ×Ñ Ô!¤S¨Ó%6¸!Ô%;ØÐà!‰
ˆØ)×/Ñ/ÑˆØ�?˜aÔ D¥O°qÔ$8ØÐà×-Ñ-Ó/ˆ
ØÒØÐà!+Ñˆ
ØÕ  4Ô'¨8Õ+@À4Ô+GØÐà×1Ñ1°*À!Ð1ÓDˆØ×-Ñ-¨j¸aÐ-Ó@ˆØ˜˜˜˜u ˜u˜Õ%×0Ñ0Ó2Ð2rd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   r\  úDict[str, torch.Tensor]r  rL  r%  rK  r_   )r`   s   "ra   rb   ræ   –	  s*   € ÷ ñ ð 4ðð &ð	ð
 
 ñrd   c               óv  € V P                  VP                  R4      VR7      p\        V\        P                  4      '       g   R# VP                  R4      p\        V\        P                  4      '       dD   VP                  \        P                  4      VP                  \        P                  4      ,          pV# )zIResolve NVFP4 weight scales, including ModelOpt's secondary global scale.r  r  NÚweight_scale_2)r  rx   ry   r5  rc  rÒ  Úfloat32)r�   r\  r  r  Úscale_2s   &$$  ra   r  Ú'BaseQModel._decoder_fp4_effective_scale–	  s‹   € ð ×*Ñ*Ø+×/Ñ/°Ó?Ø%ð +ó 
ˆô ˜%¤§¡×.Ò.ÙØ$×(Ñ(Ð)9Ó:ˆÜ�gœuŸ|™|×,Ò,Ø—H‘HœUŸ]™]Ó+¨g¯j©j¼¿¹Ó.GÕGˆEØˆrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   rV  rö  r\  rZ  r%  rË   r_   )r`   s   "ra   rb   ræ   ©	  s*   € ÷ ñ ð ðð 4ð	ð
 
ñrd   c               óð  € VP                   \        4       9   d   R# \        VP                   4      '       d   R# VP                   \        P                  Jg0   \        VP                  R4      \        P                  4      '       g   R# \        VP                  R4      \        P                  4      '       d   R# \        \        V P                  RR4      RR4      p\        V\        4      '       d,   VP                  R4      ;'       g    VP                  R	4      pM"\        VRR4      ;'       g    \        VR	R4      p\        T;'       g    R
4      P                  4       P                  4       R9   d   R# R# )z@Infer which floatx decoder matches one checkpoint weight tensor.rp  rt  r  Nr\  ré   r%  r`   r  r-  >   rt  Únvfp4)rý  r+   r0   r5  Úuint8ry   rx   rc  r  rÜ   rz   r^   r³  r8  )r�   rV  r\  r'  Úformat_names   &$$  ra   rd  Ú!BaseQModel._decoder_weight_format©	  s  € ð �<‰<Ô2Ó4Ô4ÙÜ˜vŸ|™|×,Ò,ÙØ�<‰<œuŸ{™{Ó*´*Ð=O×=SÑ=SÐTbÓ=cÔej×eqÑeq×2rÒ2rÙÜÐ(×,Ñ,Ð-=Ó>ÄÇÁ×MÒMÙäœw t§z¡z°8¸TÓBÐDYÐ[_Ó`ˆÜ�l¤D×)Ò)Ø&×*Ñ*¨8Ó4×XÐX¸×8HÑ8HÈÓ8X‰Kä! ,°¸$Ó?×nÐnÄ7È<ÐYgÐimÓCnˆKÜˆ{× Ð ˜bÓ!×'Ñ'Ó)×/Ñ/Ó1Ð5EÔEÙÙrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   rv  râ   rp   rÝ  r%  r_   )r`   s   "ra   rb   ræ   Ã	  s*   € ÷ ñ ð  ðð ð	ð
 
ñrd   c               ó¸   € \         P                  ! V4      pVP                  VR7      pVP                  4        \	        VR\
        P                  ! V4      4       V# )zHClone the decoded quant source into a live forward module on ``device``.rß  r{  )rQ  rR  rÒ  r  r  r5  rp   )r�   rv  rp   r|  s   &$$ ra   rz  Ú(BaseQModel._build_decoder_forward_moduleÃ	  sL   € ô Ÿš |Ó4ˆØ'×*Ñ*°&Ð*Ó9ˆØ×ÑÔÜ� ´·²¸fÓ1EÔFØÐrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   rV  rö  r  r%  z%tuple[str, Optional[tuple[int, int]]]r_   )r`   s   "ra   rb   ræ   Ñ	  s/   € ÷ Jñ Jð ðJð  ð	Jð
 
/ñJrd   c               óê   € VP                  4       ^8X  d   R# VP                  ^8X  d,   VP                  ^ ,          VP                  ^ ,          8X  d   R# R\        \	        VP                  4      V4      3# )zFInfer the FP8 scale layout needed to rebuild a TorchFP8Linear wrapper.rË  )r„  N)ÚrowN)r   râ  r  rD   r(  )r�   rV  r  s   &$$ra   Ú_infer_fp8_forward_layoutÚ$BaseQModel._infer_fp8_forward_layoutÑ	  s_   € ð �?‰?Ó Ô!Ø!Ð!Ø�>‰>˜QÔ 9§?¡?°1Õ#5¸¿¹Àa½Ô#HØÐØÔ)¬%°·±Ó*=¸yÓIÐIÐIrd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   rW  râ   r  rö  r%  r…  r_   )r`   s   "ra   rb   ræ   ß	  s*   € ÷ 
ñ 
ð $ð
ð ð	
ð
 
ñ
rd   c               óè  € V P                  4       pVe2   VP                  V^,          ,          ^ 8X  d   \        V^,          4      # VP                  ^8¼  do   VP                  R,          ^ 8”  dW   VP                  VP                  R,          ,          ^ 8X  d.   \        VP                  VP                  R,          ,          4      # \        RVP                   R\        VP                  4       R24      h)z=Infer the NVFP4 block size used along the input-feature axis.z,Cannot infer FP4 block size for in_features=z and scale shape=r0  r•  )r)  Úin_featuresr…  râ  r  r{   r(  )r�   rW  r  r(  s   &$$ ra   Ú_infer_fp4_forward_block_sizeÚ(BaseQModel._infer_fp4_forward_block_sizeß	  sÒ   € ð ×-Ñ-Ó/ˆ
ØÒ!Ð&6×&BÑ&BÀZÐPQÅ]Õ&RÐVWÔ&WÜ�z !•}Ó%Ð%à�:‰:˜Œ?˜uŸ{™{¨2�°Ô2Ð7G×7SÑ7SÐV[×VaÑVaÐbdÕVeÕ7eÐijÔ7jÜÐ'×3Ñ3°u·{±{À2µÕFÓGÐGäØ:Ð;K×;WÑ;WÐ:Xð YÜ$ U§[¡[Ó1Ð2°!ð5ó
ð 	
rd   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r\   rW  râ   r\  rZ  rp   rÝ  r^  r  r%  rO  r_   )r`   s   "ra   rb   ræ   ó	  sE   € ÷ Qñ Qð $ðQð 4ð	Qð
 ðQð "ðQð 
ñQrd   c               óF  € \        V\        P                  4      '       g   R# VP                  R4      p\        V\        P
                  4      '       g   R# V P                  VP                  R4      \        VP                  4      R7      p\        V\        P
                  4      '       gð   V P                  VP                  R4      \        VP                  4      R7      p\        V\        P
                  4      '       g   R# VP                  \        P                  4      p\        P                  ! \        P                  4      P                  p\        P                  ! V^ 8g  \        P                  ! V4      \        P                  ! VRV,          4      4      p\!        VP"                  4      P%                  R4      R,          p	 V P'                  VVR7      w  r«\)        ^RR	R
VP*                  VP,                  VP.                  RJ\        P0                  V	V
VR	R7      P                  VR7      pTP5                  RTP                  TR7      4       TP5                  RTP                  T\        P                  R7      4       TP                  R4      p\        T\        P
                  4      '       d$   TP5                  RTP                  Y4R7      4       MRTn        TP7                  4        \9        TR\        P:                  ! T4      4       T#   \2         d     R# i ; i)zARebuild one linear submodule as a TorchFP8Linear forward wrapper.NrV  r  r  r  g      ð?r0  )rV  r  FT)r  r  r  r  rp  Úout_featuresr  r  r`   Úweight_scale_methodr&  Úregister_buffersrß  r  r  r{  r•  )ry   rT  ÚLinearrx   r5  rc  r  r(  r  rÒ  r]  ÚfinfoÚtinyÚwhereÚ
reciprocalÚ	full_liker^   rý  r1  rl  r   rp  rv  r  rþ  r  Úregister_bufferr  r  rp   )r�   rW  r\  rp   r^  rV  r  r  r{  rd  rw  r&  r|  r  s   &$$$$         ra   rx  Ú$BaseQModel._build_fp8_forward_moduleó	  s”  € ô Ð*¬B¯I©I×6Ò6Ùà#×'Ñ'¨Ó1ˆÜ˜&¤%§,¡,×/Ò/Ùà×.Ñ.Ø+×/Ñ/Ð0BÓCÜ˜vŸ|™|Ó,ð /ó 
ˆ	ô ˜)¤U§\¡\×2Ò2ð ×.Ñ.Ø/×3Ñ3°NÓCÜ" 6§<¡<Ó0ð /ó ˆEô ˜e¤U§\¡\×2Ò2ÙØ—H‘HœUŸ]™]Ó+ˆEÜ—;’;œuŸ}™}Ó-×2Ñ2ˆDÜŸšØ˜‘
Ü× Ò  Ó'Ü—’  s¨T¥zÓ2óˆIô ˜&Ÿ,™,Ó'×-Ñ-¨cÓ2°2Õ6ˆð	ð 6:×5SÑ5SØØ#ð 6Tó 6Ñ2Ðô ,ØØØØØ,×8Ñ8Ø-×:Ñ:Ø%×*Ñ*°$Ð6Ü Ÿ;™;Ø"Ø$7Ø"3Ø!&ô÷ ‰b˜ˆbÓð ð$ 	×&Ñ& x°·±À&°Ó1IÔJØ×&Ñ&ØØ�L‰L ¬e¯m©mˆLÓ<ô	
ð
 "×%Ñ% fÓ-ˆÜ�dœEŸL™L×)Ò)Ø×*Ñ*ØØ—‘˜v�Ó:õð
 #'ˆNÔà×ÑÔÜ� ´·²¸fÓ1EÔFØÐøô+ ô 	ò ð	ús   ÇA*L ÌL ÌL c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# rt  r_   )r`   s   "ra   rb   ræ   F
  s>   € ÷ *ñ *ð $ð*ð 4ð	*ð
 ð*ð "ð*ð 
ñ*rd   c               ó  € \        V\        P                  4      '       g   R# VP                  R4      pV P	                  VVP
                  VP                  3R7      p\        V\        P                  4      '       d!   \        V\        P                  4      '       g   R#  V P                  VVR7      p\        VP                  VP
                  VP                  VR7      VP                  VR7      TT\        VP                  R4      \        P                  4      '       d"   VP                  R4      P                  W4R7      MRR7      pTP                  4        \        TR	\        P                  ! T4      4       T#   \         d     R# i ; i)
z?Rebuild one linear submodule as a native NVFP4 forward wrapper.NrV  r  )rW  r  rß  r  r  )rp  rv  rV  r  r&  Ú
orig_dtyper  r{  )ry   rT  ry  rx   r  rv  rp  r5  rc  rq  r   rÒ  r  r  r  rp   )	r�   rW  r\  rp   r^  rV  r  r(  r|  s	   &$$$$    ra   ry  Ú$BaseQModel._build_fp4_forward_moduleF
  sW  € ô Ð*¬B¯I©I×6Ò6Ùà#×'Ñ'¨Ó1ˆØ×1Ñ1Ø1Ø*×7Ñ7Ð9I×9UÑ9UÐVð 2ó 
ˆô ˜&¤%§,¡,×/Ò/´zÀ%ÌÏÉ×7VÒ7VÙð	Ø×;Ñ;Ø!1Øð <ó ˆJô ,Ø,×8Ñ8Ø-×:Ñ:Ø—y‘y¨�yÓ/Ø"ŸX™X¨V˜XÓ4Ø",Ø'äÐ0×4Ñ4°VÓ<¼e¿l¹l×KÒKð (×+Ñ+¨FÓ3×6Ñ6¸fÐ6ÔYàô
ˆNð 	×ÑÔÜ� ´·²¸fÓ1EÔFØÐøô ô 	Úð	ús   Â B)E< Å<FÆ
Fc               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )r\   Únamed_moduleú'NamedModule'rp   rÝ  Úforward_moder^   Úsource_dtyper  r^  r%  rŽ  r_   )r`   s   "ra   rb   ræ   r
  sP   € ÷ Iñ Ið $ðIð ð	Ið
 ðIð "ðIð "ðIð 
ñIrd   c               óV  € VP                   P                  R4      '       d   R# V P                  P                  RVP                  R\        V4      RVR\        V4      P                  R4      R
,          R\        V4      P                  R4      R
,          /4       R	VP                   R&   R# )zDStore one auto-decoder decision so tests can assert the chosen path.Ú#_auto_module_decoder_event_recordedNró  rp   rˆ  r‰  r0  r^  Tr•  )Ústaterx   r  r  Ú	full_namer^   r1  )r�   r†  rp   rˆ  r‰  r^  s   &$$$$$ra   Ú!_record_auto_module_decoder_eventÚ,BaseQModel._record_auto_module_decoder_eventr
  sš   € ð ×Ñ×!Ñ!Ð"G×HÒHÙà×'Ñ'×.Ñ.à˜,×0Ñ0Øœ#˜f›+Ø Ø¤ LÓ 1× 7Ñ 7¸Ó <¸RÕ @Ø¤ LÓ 1× 7Ñ 7¸Ó <¸RÕ @ðô	
ð EIˆ×ÑÐ@ÓArd   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r\   rW  râ   rp   rÝ  r†  r‡  r%  r_   )r`   s   "ra   rb   ræ   ‹
  s:   € ÷ Lñ Lð $ðLð ð	Lð
 $ðLð 
ñLrd   c               ó  € VP                   P                  R4      pV P                  p\        V\        4      '       d   Vf   V# VP                  V P                  VRR7      pVP                  R4      p\        V\        P                  4      '       g   V# V P                  VVR7      pVf   V# VP                  RVP                  P                  4      p	\        VP                  RR4      4      P                  4       P                  4       p
\        VP                   P                  R	4      \        P                   4      '       g"   V P#                  VVV	R
7      VP                   R	&   RpTpV
R8w  dR   VR8X  dK   \%        W'P                  RR7      '       d.   V P'                  VVVV	R7      pVe   V P)                  W4      pRpMMV
R8w  dG   VR8X  d@   \+        VRR7      '       d-   V P-                  VVVV	R7      pVe   V P)                  W4      pRpVR8X  d6   V P/                  VP                   R	,          VR7      pV P)                  W4      pW³P                   R&   V P1                  V\        P2                  ! V4      VVP                  V	R7       V# )zDSwap one decoded shell module to an FP8 forward view when supported.Úauto_module_decoderFrV  rV  r[  r^  rw  ÚnativeÚquant_source_moduler]  rU  rp  rq  rs  rt  ru  Ú auto_module_decoder_forward_mode)r†  rp   rˆ  r‰  r^  )rŒ  rx   rå   ry   rz   ra  rÜ   r5  rc  rd  rV  rý  r^   r³  r8  rT  r‰  re  r.   rx  rf  r/   ry  rz  rŽ  rp   )r�   rW  rp   r†  Údecoder_planrå   r\  rV  ri  r^  Úforward_policyrˆ  r  Ú
fp8_moduleÚ
fp4_moduleÚdecoded_forwards   &$$$            ra   Ú$_prepare_auto_decoder_forward_moduleÚ/BaseQModel._prepare_auto_decoder_forward_module‹
  s¹  € ð $×)Ñ)×-Ñ-Ð.CÓDˆØ×(Ñ(ˆÜ˜,¬×-Ò-°Ò1EØ#Ð#à)×JÑJØŸ™Ø-Øð Kó 
Ðð
 $×'Ñ'¨Ó1ˆÜ˜&¤%§,¡,×/Ò/Ø#Ð#à×2Ñ2ØØ1ð 3ó 
ˆð ÒØ#Ð#à#×'Ñ'¨Ð8H×8OÑ8O×8UÑ8UÓVˆÜ˜\×-Ñ-Ð.JÈHÓUÓV×\Ñ\Ó^×dÑdÓfˆÜ˜,×,Ñ,×0Ñ0Ð1FÓGÌÏÉ×SÒSØ8<×8_Ñ8_Ø Ø#5Ø)ð 9`ó 9ˆL×ÑÐ4Ñ5ð  ˆØ&ˆØ˜XÔ%¨,¸%Ô*?ÔDYÐZ`×bnÑbnð  DI÷  EJó  EJØ×7Ñ7Ø!1Ø#5ØØ)ð	 8ó ˆJð Ò%Ø"×:Ñ:Ð;KÓX�Ø'�øØ˜xÔ'¨L¸EÔ,AÔF`Ðagð  }B÷  GCó  GCØ×7Ñ7Ø!1Ø#5ØØ)ð	 8ó ˆJð Ò%Ø"×:Ñ:Ð;KÓX�Ø'�Ø˜8Ô#Ø"×@Ñ@Ø)×/Ñ/Ð0EÕFØð Aó ˆOð ×6Ñ6Ð7GÓYˆKàAM×ÑÐ=Ñ>Ø×.Ñ.Ø%Ü—<’< Ó'Ø%ØŸ™Ø%ð 	/ô 	
ð Ðrd   c               ó   € V ^8„  d   QhRR/# )r\   rp   r^   r_   )r`   s   "ra   rb   ræ   Ù
  s   € ÷ ñ  ñ rd   c                	ó¬   € V P                  V P                  4       F4  p\        V P                  V4      w  r4Vf   K!  V P                  VVR7       K6  	  R # )Nrê  )Úget_base_modulesrÜ   rA   rë  )r�   rp   Úembed_module_nameÚembed_modulerJ  s   &&   ra   Ú
move_embedÚBaseQModel.move_embedÙ
  sO   € Ø!%×!6Ñ!6°t·z±zÖ!BÐÜ7¸¿
¹
ÐDUÓV‰OˆLØÔ'Ø×-Ñ-Ø%1Ø!ð .ö ó "Crd   c               ó   € V ^8„  d   QhRR/# rÛ  r_   )r`   s   "ra   rb   ræ   â
  s   € ÷ ñ ¨dñ rd   c                	ó   € R # r”   r_   r­  s   &ra   Úawq_skip_modules_for_scalingÚ'BaseQModel.awq_skip_modules_for_scalingâ
  r¼  rd   c               ó    € V ^8„  d   QhRRRR/# )r\   rf  r^   r%  zOptional[Dict[str, Any]]r_   )r`   s   "ra   rb   ræ   æ
  s   € ÷ ñ ¸ð Ð@Xñ rd   c                óÔ   € \        V\        4      '       g   R# V P                  4       ;'       g    .  F1  pW8X  d	   RRRR/u # VP                  V R24      '       g   K-  RR/u # 	  R# )z@Declare bounded token-row aggregation for pointwise MoE modules.Nr€  Ú
token_rowsÚcapture_rootTr0  )ry   r^   r  rs  )rù   rf  Úmoe_roots   && ra   Úawq_input_feature_aggregationÚ(BaseQModel.awq_input_feature_aggregationå
  sy   € ô ˜+¤s×+Ò+Ùà×/Ñ/Ó1×7Ð7°RÒ7ˆHØÔ&à˜LØ" Dðò ð ×%Ñ%¨¨
°! n×5Ô5à˜Lðò ñ 8ñ rd   c                	óx  a aaaa#a$a%a&a'a(a)€ . pR o$R o%R o&\        V\        4      '       dA   VP                  R/ 4      o'VP                  4        UUu/ uF  w  rVVR8w  g   K  WVbK  	  uppo#M/ o'Vo#S P                  P
                  e4   S P                  e&   S P                  S P                  P
                  4       R o(VV(3R lpR V$V%V&V3R llpR V#V'3R llp	S P                  S P                  P
                  RRR	7      p
\        V
4       EF  w  r¼\        ;QJ d    R
 V 4       F  '       d   K   RM	  RM! R
 V 4       4      pV'       dw   V^ 8”  dW   \        ;QJ d)    R W«^,
          ,           4       F  '       d   K   RM	  RM! R W«^,
          ,           4       4      '       d   KŸ  S(! VR ,          4      pV! V4       K¸  \        ;QJ d    V 3R lV 4       F  '       g   K   RM	  RM! V 3R lV 4       4      pT;'       d5    \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      pT;'       dq    \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      ;'       d5    \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      pV'       Ed   S$Ee   S%eþ   S%P                  R4      R ,          pV FÝ  oRP                  SP                  R4      R R  V.,           4      p\        SV4      w  ppVe   SS9  d   \        P!                  RS4       K`  \        SS4      w  ppVf   \        P!                  RS4       K‹  V.pSp\#        SS,          VV	! V4      \%        V4      VR R7      w  ppVVR&   Ve
   S&V8w  d   Vo&VP'                  V4       Kß  	  EMu. pRpV Fû  o\        ;QJ d#    V3R l\(         4       F  '       d   K   RM	  RM! V3R l\(         4       4      '       g   KM  \        SS4      w  ppS P*                  ec   SS P*                  9   dR   \        S$\,        P.                  4      '       d2   S$P0                  P2                  VP0                  P2                  8w  d   RpVf   \        P!                  RS4       Rp MVP'                  V4       Ký  	  V'       g	   V'       g   EKÑ  S$pVf   \        P!                  RV4       EKð  V! V4      ;'       g    S(! V^ ,          4      pVP                  R4      pR p\%        V4      ^8¼  d"   V^ ,          pVS&8w  d   Vo&\        SV4      w  ppV'       de   Vea   S&S9  d!   \        P!                  RS&\%        V4      4       S&S9   d   S&MV! V4      pSP                  S&SP                  V! V4      4      4      pMV! V4      pSP                  V4      pVf   \        P!                  RV4       EKõ  \#        VVV	! V4      \%        V4      VVR7      w  ppVVR&   VP'                  V4       V'       dÇ   \        V4       UUau. uFn  w  po\        ;QJ d)    V3R lS P4                   4       F  '       g   K   RM	  RM! V3R lS P4                   4       4      '       g   K\  RS9   g
   RS9   g   Kl  VNKp  	  p pp\%        V 4      ^ 8”  g   Q R4       hV R ,          p!S(! VV!,          4      pRV9   g
   RV9   g   Q hMS(! VR ,          4      pV! V4       EK  	  ^ R Io)V)3R lp"V# u uppi u uppi )!NÚ_awq_feature_kwargsc                óT   € \          F  pW9   g   K  V P                  VR 4      p K  	  V # )r-  )rÆ  rš  )rf  rÂ  s   & ra   Ústrip_non_quantize_flagsÚHBaseQModel.awq_get_modules_for_scaling.<locals>.strip_non_quantize_flags  s,   € ß*�ØÖ&Ø"-×"5Ñ"5°d¸BÓ"?’Kñ +ð Ðrd   c                ón   <€ V  F  pS! V4      pVS9   g   K  Vu # 	  V '       d   S! V ^ ,          4      # R# )z?Return the first quantized child that has captured activations.Nr_   )rž  ÚrawÚstrippedÚ
input_featr²  s   &  €€ra   Ú_select_feature_nameÚDBaseQModel.awq_get_modules_for_scaling.<locals>._select_feature_name  s=   ø€ ã�Ù3°CÓ8�Ø˜zÖ)Ø#’Oñ ÷ :?Ñ+¨E°!­HÓ5ÐHÀDÐHrd   c               ó    € V ^8„  d   QhRRRR/# )r\   Úcandidate_namer^   r%  rÉ   r_   )r`   s   "ra   rb   Ú<BaseQModel.awq_get_modules_for_scaling.<locals>.__annotate__  s   € ÷ 	ñ 	°Cð 	¸Dñ 	rd   c                ó¦   <€ \        SV 4      w  rVf   \        P                  RV S4       R# VoV oRV 9   d   V P                  R^4      ^ ,          oR# )NzXawq_get_modules_for_scaling: last-module candidate `%s` missing; retaining previous `%s`Fr0  T)rA   rü   Údebugr1  )r»  Úresolved_modulerJ  Úlast_moduleÚlast_module_nameÚlast_module_rootró  s   &  €€€€ra   Ú_try_update_last_moduleÚGBaseQModel.awq_get_modules_for_scaling.<locals>._try_update_last_module  sb   ø€ ô ";¸6À>Ó!RÑˆOØÒ&Ü—	‘	ØnØ"Ø$ôñ
 à)ˆKØ-ÐØ�nÔ$Ø#1×#7Ñ#7¸¸QÓ#?ÀÕ#BÐ Ùrd   c               ó   € V ^8„  d   QhRR/# )r\   Úfeature_namer¿   r_   )r`   s   "ra   rb   r¼  ,  s   € ÷ 	&ñ 	&°Zñ 	&rd   c                óÊ   <€ \        S4      pV '       dO   \        S\         4      '       d9   SP                  V 4      p\        V\         4      '       d   VP                  V4       V# r”   )rz   ry   rx   r]  )rÆ  Úkwargs_for_featureÚfeature_specific_kwargsÚbase_module_kwargsÚper_feature_kwargss   &  €€ra   Ú_module_kwargs_for_featureÚJBaseQModel.awq_get_modules_for_scaling.<locals>._module_kwargs_for_feature,  sS   ø€ Ü!%Ð&8Ó!9Ðß¤
Ð+=¼t× DÒ DØ*<×*@Ñ*@ÀÓ*NÐ'ÜÐ5´t×<Ò<Ø&×-Ñ-Ð.EÔFØ%Ð%rd   T)r‚  rÔ  c              3  ó¨   a"  € T FG  o\         ;QJ d#    V3R  l\         4       F  '       g   K   RM	  RM! V3R  l\         4       4      x € KI  	  R# 5i)c              3  ó,   <"  € T F	  qS9   x € K  	  R # 5ir”   r_   rÁ  s   & €ra   rö   ÚCBaseQModel.awq_get_modules_for_scaling.<locals>.<genexpr>.<genexpr>:  s   øé € Ð#PÑ=O°T¨D¦LÓ=OùrÄ  TFNrÅ  r>  s   &@ra   rö   Ú9BaseQModel.awq_get_modules_for_scaling.<locals>.<genexpr>:  s4   øé € ÐcÑ]bÐUY§£Ô#PÕ=OÓ#P§§¢Ô#PÕ=OÓ#P× PÐ PÓ]bùó   ƒA“A®$AFc              3  ó¨   a"  € T FG  o\         ;QJ d#    V3R  l\         4       F  '       g   K   RM	  RM! V3R  l\         4       4      x € KI  	  R# 5i)c              3  ó,   <"  € T F	  qS9   x € K  	  R # 5ir”   r_   rÁ  s   & €ra   rö   rÐ  ?  s   øé € Ð$QÑ>P°d¨T¦\Ó>PùrÄ  TFNrÅ  r>  s   &@ra   rö   rÑ  ?  s4   øé € Ð xÑ^wÐVZ§£Ô$QÕ>PÓ$Q§§¢Ô$QÕ>PÓ$Q×!QÐ!QÓ^wùrÒ  c              3  óÂ   <a"  € T FS  o\         ;QJ d)    V3R  lSP                   4       F  '       g   K   RM	  RM! V3R  lSP                   4       4      x € KU  	  R# 5i)c              3  ó,   <"  € T F	  qS9   x € K  	  R # 5ir”   r_   ©ró   r¸   rô   s   & €ra   rö   rÐ  G  s   øé € Ð"[Ñ6Z°¨¦9Ó6ZùrÄ  TFN)r—  Úmoe_expert_module_name_prefixes)ró   rô   r�   s   &@€ra   rö   rÑ  G  s>   ùé € ÐnÑhmÐ`dŸs›sÔ"[°d×6ZÒ6ZÓ"[ŸsŸsšsÔ"[°d×6ZÒ6ZÓ"[×[Ð[Óhmùs   „A”Aµ*Ac              3  ó,   "  € T F
  pR V9   x € K  	  R# 5i)ÚdownNr_   r>  s   & ra   rö   rÑ  H  s   é € Ð4VÑPUÈ°V¸t¶^ÓPUùr”  c              3  ó,   "  € T F
  pR V9   x € K  	  R# 5i)ÚgateNr_   r>  s   & ra   rö   rÑ  I  s   é € Ð7YÑSXÈ4¸À$¾ÓSXùr”  c              3  ó,   "  € T F
  pR V9   x € K  	  R# 5i)ÚupNr_   r>  s   & ra   rö   rÑ  I  s&   é € ð  bBñ  |AÐswÐbfÐjnÖbnó  |Aùr”  r0  zTawq_get_modules_for_scaling: skipping expert `%s` due to missing prev_op or featuresz@awq_get_modules_for_scaling: skipping missing expert module `%s`)r§   r¥   rª   r«   r¬   r©   Ú_input_feature_namec              3  ó,   <"  € T F	  qS9  x € K  	  R # 5ir”   r_   rÁ  s   & €ra   rö   rÑ  g  s   øé € ÐKÑ8J° tÖ+Ó8JùrÄ  z9awq_get_modules_for_scaling: skipping missing module `%s`zMawq_get_modules_for_scaling: skipping block %s due to missing previous modulezpawq_get_modules_for_scaling: missing input feature for `%s` while processing experts block (layer block size=%s)zLawq_get_modules_for_scaling: skipping block %s due to missing input featuresc              3  ó,   <"  € T F	  qS9   x € K  	  R # 5ir”   r_   r×  s   & €ra   rö   rÑ  «  s   øé € ÐSÑ.R¨ ž9Ó.RùrÄ  rÜ  rÞ  z+No expert gate_proj/up_proj found in block.c                óF  <€ . pV  EF  p/ pVP                  4        Få  w  rE\        VSP                  4      '       d+   R \        VP                  4       RVP
                   R2W4&   KK  \        V\        4      '       d�   VP                  4        UUu. uF_  w  rg\        VSP                  4      '       d*   RV R\        VP                  4       RVP
                   R2M\        V4      P                  NKa  	  uppW4&   Ká  WSV&   Kç  	  VP                  V4       EK  	  V# u uppi )zTensor(shape=z, dtype=Ú)zKey: z, Value: Tensor(shape=z); )
r|   ry   rc  r(  r  rý  rz   rš   r‹   r  )	ÚnodesÚoutr­   Úentryr¸   r¹   Úkkr  r5  s	   &       €ra   Úformat_nodesÚ<BaseQModel.awq_get_modules_for_scaling.<locals>.format_nodes¹  s  ø€ ØˆCÜ�Ø�ØŸG™GžI‘D�AÜ! ! U§\¡\×2Ò2Ø%2´5¸¿¹³>Ð2BÀ(È1Ï7É7È)ÐSTÐ#U˜›Ü# A¤t×,Ò,ð
 *+¯©¬ô	$ñ *3¡ ô gqÐqrØqv×q}Ñq}÷gò g˜e B 4Ð'=¼eÀAÇGÁG»nÐ=MÈXÐVW×V]ÑV]ÐU^Ð^aÑbô EIØ !óE#ß#+¡8ò,ñ *3ò	$˜›ð $%˜a›ñ &ð —
‘
˜5×!ñ ð ˆJùó$s   ÂA%D
r•  )ry   rz   rx   r|   rÜ   ré   rÌ   r–  ré  rà  r  r—  r1  rs   rA   rü   r¾  r®   r  r  rÆ  rÅ   rT  ry  rV  r  rØ  r5  )*r�   ró  r·  rª   rä  rd  re  r¸  rÃ  rÌ  ré  rv  rË  Únot_quantizedr»  Úis_moe_blockÚis_moe_down_blockÚis_moe_gate_up_blockÚtarget_suffixÚprev_op_namer¥   rJ  rõ   r¬   rÆ  r­   ÚrootÚskipÚ
root_splitr©   r§   rô   Úgate_up_proj_indicesÚlast_up_proj_indexrè  rÊ  rÀ  rÁ  rÂ  rË  r²  r5  s*   fff&                           `   @@@@@@@ra   Úawq_get_modules_for_scalingÚ&BaseQModel.awq_get_modules_for_scalingù
  s¦  ÿú€ ØˆØˆØÐØÐÜ�m¤T×*Ò*Ø!.×!2Ñ!2Ð3HÈ"Ó!MÐð #0×"5Ñ"5Ô"7ô"á"7‘J�CØÐ/Ñ/ô �’
Ù"7ò"Ñð "$ÐØ!.Ðà�:‰:×ÑÒ(¨T×-FÑ-FÒ-RØ× Ñ  §¡×!2Ñ!2Ô3ò	ö	I÷	ó 	÷$	&ñ 	&ð "×4Ñ4Ø�J‰J×ÑØ Ø!%ð 5ó 
Ðô
 "Ð"4×5‰HˆAß›CÑcÑ]bÓcŸCŸCšCÑcÑ]bÓcÓcˆMßð �q”5ŸS›SÑ xÐ^pÐuvÕqvÖ^wÓ xŸSŸSšSÑ xÐ^pÐuvÕqvÖ^wÓ x×xÒxÙñ ":¸%À½)Ó!D�Ù'¨Ô7Ùç›3ÔnÑhmÓnŸ3Ÿ3š3ÔnÑhmÓnÓnˆLØ ,× VÐ V·³Ñ4VÑPUÓ4V··²Ñ4VÑPUÓ4VÓ1VÐØ#/÷  $Bð  $B·C³CÑ7YÑSXÓ7Y·C·C²CÑ7YÑSXÓ7YÓ4Y÷  $Bð  $B×^aÓ^añ  bBñ  |Aó  bB×^a×^aÒ^añ  bBñ  |Aó  bBó  _BÐ ß Ð  [Ó%<ÐAQÒA]à 0× 6Ñ 6°sÓ ;¸BÕ ?�Û!�DØ#&§8¡8¨D¯J©J°s«O¸C¸RÐ,@ÀMÀ?Õ,RÓ#S�LÜ!:¸6À<Ó!P‘J�G˜QØ’¨$°jÔ*@ÜŸ	™	Ð"xÐz~ÔÙ ä4°V¸TÓB‘D�A�qØ’yÜŸ	™	Ð"dÐfjÔkÙ Ø˜S�FØ#'�LÜ;À
È4Õ@PÐZaÙJdÐeqÓJrô  @Cð  DIó  @JØCIÐZ^ô`‘G�A�tð 0<�AÐ+Ñ,ØÒ'Ð,<ÀÔ,DØ+/Ð(à—L‘L –Oó) "ð. �Ø�Û!�Dß“sÔKÕ8JÓK—s—s’sÔKÕ8JÓK×KÔKÜ8¸ÀÓF™˜˜1ð !×KÑKÒWØ$(¨D×,[Ñ,[Ô$[Ü$.¨{¼B¿I¹I×$FÒ$FØ$/×$6Ñ$6×$<Ñ$<ÀÇÁÇÁÔ$Nà#'˜Dàš9ÜŸI™IÐ&aÐcgÔhØ#'˜DÙ!ØŸ™ aÖ(ñ! "÷$ ŸvÚà%�Ø’?Ü—I‘IÐmÐotÔuÚñ  4°EÓ:×`Ð`Ñ>VÐW\Ð]^ÕW_Ó>`�Ø)×/Ñ/°Ó4�
Ø!%�Ü�z“? aÔ'Ø% a�=�DØÐ/Ô/Ø+/Ð(Ü,EÀfÈdÓ,SÑ)˜¨÷ (¨NÒ,FØ'¨zÔ9ÜŸ	™	ð OØ,Ü ›Jôð
 8HÈ:Ô7UÑ#3Ñ[oÐpuÓ[v�LØ$Ÿ.™.Ð)9¸:¿>¹>ÑJ^Ð_dÓJeÓ;fÓg‘Cá#7¸Ó#>�LØ$Ÿ.™.¨Ó6�Cà’;Ü—I‘IÐlÐnsÔtÚä7¸CÈÙF`ÐamÓFnÔ{~ð  @Eó  |FØ?EÐVdôf‘��4ð ,8�Ð'Ñ(à—‘˜Q”÷ $ô &/¨uÔ%5õ(Ù%5™'˜!˜Tß“sÔS¨d×.RÒ.RÓS—s—s’sÔS¨d×.RÒ.RÓS×Sô ØY_ÐcgÔYgÐkoÐswÑkw÷ �AÑ%5ð %ñ (ô Ð/Ó0°1Ô4ÐcÐ6cÓcÐ4Ø%9¸"Õ%=Ð"á!9¸%Ð@RÕ:SÓ!T�Ø Ô/°4¸>Ô3IÐIÐIøá!9¸%À½)Ó!D�Ù# N×3ñ{ 6ó~ 	õ	ð( ˆùó["ùóR(s*   Á\0Á\0Ù\6Ù$\6Ú%\6Ú/\6Ú?\6c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r\   rW  útorch.nn.Modulerp   rÝ  Únon_blockingrÉ   Úroler^   r†  zOptional['NamedModule']ro  rË   r%  r_   )r`   s   "ra   rb   ræ   Ð  sY   € ÷ Oñ Oà-ðOð !ðOð ð	Oð
 ðOð 2ðOð 'ðOð 
ñOrd   c                	óŒ  € V P                   ;_uu_ 4        VR 8X  EdF   VEeA   VP                  P                  R4      p\        V\        P
                  4      '       gÈ   VP                  P                  R4      ;'       g    / pVP                  R\        \        VRR4      R\        P                  4      4      p	Rp
\        V P                  \        4      '       d)   V P                  P                  V P                  VRR7      p
V P                  VV
V	R	7      pWuP                  R&   V P                  W4      p\        V4      V8w  d   VP!                  V4       VuuRRR4       # V P                  pVR
8X  d³   Ve¯   \        V\        4      '       d™   VP                  V P                  VRR7      p
V
P                  R4      p\        V\        P"                  4      '       dJ   V P%                  VV
R7      pVe3   V P'                  V\        P(                  ! V4      VR7      uuRRR4       # Vf%   \        V4      V8w  d   VP!                  V4       TpM%\+        V P                  VVVVV P,                  R7      pVR
8X  d-   Ve)   V P'                  V\        P(                  ! V4      VR7      pRRR4       V#   + '       g   i     X# ; i)rv  Nr”  r’  r^  rV  rý  FrV  r]  r×  r[  )rW  rp   r†  )rN  rå   rW  rp   ro  Útie_weights)r
  rŒ  rx   ry   rT  r‰  r  r5  Úfloat16rå   rE   ra  rÜ   re  rf  r7   rÒ  rc  rd  r›  rp   rI   Úturtle_materialize_tie_weights)r�   rW  rp   rù  rú  r†  ro  rv  r–  r^  r\  ró  rå   rV  ri  s   &&&&&&&        ra   rë  Ú#BaseQModel.shell_module_materializeÐ  s¬  € ð ××ÓØ�~Õ%¨,Ó*BØ+×1Ñ1×5Ñ5Ð6KÓL�Ü! ,´·	±	×:Ò:Ø#/×#5Ñ#5×#9Ñ#9Ð:OÓ#P×#VÐ#VÐTV�LØ#/×#3Ñ#3Ø&Ü¤Ð(8¸(ÀDÓ IÈ7ÔTY×TaÑTaÓbó$�Lð *.Ð&Ü! $×"3Ñ"3´Z×@Ò@Ø-1×->Ñ->×-_Ñ-_Ø)-¯©Ø-=Ø$)ð .`ó .Ð*ð
 $(×#JÑ#JØ(Ø+=Ø%1ð $Kó $�Lð
 AM×&Ñ&Ð'<Ñ=à×5Ñ5Ð6FÓU�Ü˜fÓ%¨Ô/Ø—I‘I˜fÔ%Ø÷5 Òð8  ×,Ñ,ˆLØ�yÔ  \Ò%=Ä*È\Ô[e×BfÒBfØ%1×%RÑ%RØ!%§¡Ø%5Ø!ð &Só &Ð"ð
 ,×/Ñ/°Ó9�Ü˜f¤e§l¡l×3Ò3Ø#'×#>Ñ#>Ø%Ø+=ð $?ó $�Lð $Ò/ð  $×HÑHØ-=Ü#(§<¢<°Ó#7Ø)5ð  Ió  ÷Y Òðd Ò#ÜÐ.Ó/°6Ô9Ø$×'Ñ'¨Ô/Ø)‘ä8Ø!%§¡Ø!-Ø%5Ø!Ø +Ø $× CÑ Cô�ð �yÔ  \Ò%=Ø×BÑBØ%+Ü Ÿ<š<¨Ó/Ø!-ð Có �÷C ðL ˆ÷M ÖðL ˆús!   •A*J2Â CJ2Å#B:J2È(B J2Ê2K	c               ó    € V ^8„  d   QhRRRR/# )r\   rW  rø  rp   zOptional[torch.device]r_   )r`   s   "ra   rb   ræ   !  s   € ÷ ñ à-ðð +ñrd   c           	     	óà   € V P                   ;_uu_ 4        V P                  f    R R R 4       R # \        V P                  V P                  VVR7      uuR R R 4       #   + '       g   i     R # ; i)N)rN  rå   rW  rp   )r
  rå   rH   rÜ   )r�   rW  rp   s   &&&ra   Úshell_direct_meta_materializeÚ(BaseQModel.shell_direct_meta_materialize!  sV   € ð
 ××ÓØ× Ñ Ò(Ø÷ Ñô ?Ø!ŸZ™ZØ!×.Ñ.Ø!1Øô	÷ ××Óús   •A¯"AÁA-	c               ó   € V ^8„  d   QhRR/# ©r\   rÔ  rÉ   r_   )r`   s   "ra   rb   ræ   D  s   € ÷ `ñ `Àtñ `rd   c                óH  a aaaaaaaaa€ RpV F  p\        V\        4      '       g   K  Tp M	  Vf   \        R4      h. p/ o/ o\        4       o\        4       pR V 3R lloR R loR R loR	 R
 loRR VVVVVV3R llloR VVVV3R llpVP	                  4        Fm  w  r‰S! W‰4      p
\        V
4       FQ  p\        V4      pW«,          pV F5  p\        V4      ^8X  d   Vw  rïpTpV^ 3pV! WÎVVVV34       K-  V! WÄ4       K7  	  KS  	  Ko  	  \        SP                  4       V3R lR7       Fn  p. pSV,           FK  w  rïpTpV'       d   V\        ,          pV'       d   S'       d   V\        ,          pVP                  V4       KM  	  VP                  V4       Kp  	  V# )a™  
tree format:
  [<model_name>, <submodule>, "#", { parent_module: ( "child[:!][:grp]", ... ), ... }]
Rules:
  - ':!' means participates in inference but is NOT quantized; keep this marker in output.
  - ':?' marks capture-only nodes; activations are recorded but the module is not quantized.
  - ':<digit>' means grouping; children with the same group id are emitted in the same block.
  - ':in=<tag>' declares which sibling children consume the same input tensor (see shared_input.py);
    it does not affect the emitted blocks.
  - Flags can be combined, e.g. 'module_name:!:2' or 'module_name:1:in=q'.
  - Supports nested dict structures for MoE models with experts.
  - Special key "#" in nested dicts means direct children under parent (no additional nesting).
  - EXPERT_INDEX_PLACEHOLDER in keys will be handled by simple_layer_modules for MoE expansion.
Output:
  _layer_modules = [ [items...], [items...], ... ]
Nz,Mapping configuration not found in the tree.c               ó    € V ^8„  d   QhRRRR/# )r\   Útokenr^   r%  r>  r_   )r`   s   "ra   rb   Ú>BaseQModel._build_layer_modules_for_tree.<locals>.__annotate__c  s   € ÷ 	2ñ 	2 ð 	2Ð(=ñ 	2rd   c                ó&   <€ SP                  V 4      # r”   ©rD  )r  rù   s   &€ra   Ú_parse_tokenÚ>BaseQModel._build_layer_modules_for_tree.<locals>._parse_tokenc  s   ø€ Ø×*Ñ*¨5Ó1Ð1rd   c               ó    € V ^8„  d   QhRRRR/# )r\   rC  rÁ   r%  r…  r_   )r`   s   "ra   rb   r	  f  s   € ÷ 	ñ 	 Yð 	°3ñ 	rd   c                ó^   € V  F&  pVP                  4       '       g   K  \        V4      u # 	  ^ # )r   )Úisdigitr…  )rC  rÂ  s   & ra   Ú_group_from_flagsÚCBaseQModel._build_layer_modules_for_tree.<locals>._group_from_flagsf  s&   € Û�Ø—<‘<—>”>Ü˜t›9Ò$ñ ñ rd   c               ó    € V ^8„  d   QhRRRR/# )r\   rC  rÁ   r%  rÉ   r_   )r`   s   "ra   rb   r	  l  s   € ÷ 	9ñ 	9 Yð 	9°4ñ 	9rd   c                ój   € \         ;QJ d    R  V  4       F  '       g   K   R# 	  R# ! R  V  4       4      # )c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir”   )r  )ró   rÂ  s   & ra   rö   ÚVBaseQModel._build_layer_modules_for_tree.<locals>._has_numeric_flag.<locals>.<genexpr>m  s   é € Ð8±%¨$—|‘|—~�~³%ùs   ‚TF)r—  )rC  s   &ra   Ú_has_numeric_flagÚCBaseQModel._build_layer_modules_for_tree.<locals>._has_numeric_flagl  s+   € ß“3Ñ8±%Ó8—3”3Ð8’3Ð8�3Ñ8±%Ó8Ó8Ð8rd   c               ó    € V ^8„  d   QhRRRR/# )r\   Úparent_namer^   r%  r¿   r_   )r`   s   "ra   rb   r	  o  s   € ÷ 	0ñ 	0 Cð 	0¨Jñ 	0rd   c                óH   € V '       g   R # V P                  R^4      ^ ,          # )Nr0  ©r1  )r  s   &ra   Ú
_get_scopeÚ<BaseQModel._build_layer_modules_for_tree.<locals>._get_scopeo  s    € ßÙØ×$Ñ$ S¨!Ó,¨QÕ/Ð/rd   c               ó$   € V ^8„  d   QhRRRRRR/# )r\   Úparent_tokenr^   Úparent_group_offsetr…  Ú	scope_keyr¿   r_   )r`   s   "ra   rb   r	  t  s'   € ÷ D	ñ D	¨#ð D	ÈSð D	Ðakñ D	rd   c                ó€  <€ \        \        4      pS,! V 4      w  rVS*! V4      pW',           pRV9   p	RV9   p
S+! V4      pVe   TMS)! V4      pV'       d   TMTpR R lpTpT	;'       g    T
;'       d    S-pV'       dM   V'       d   TMTpVe   V R2MRpWH,          P                  V! VV	V
V^ VR7      4       \        Wø^,           4      p\	        V\
        \        34      '       dÂ   V F¹  pS,! V4      w  ppRV9   pRV9   pS*! V4      pVV,           pVP                  RV 24      '       g   VV8X  d   TpMV'       d	   V RV 2pMTpV'       d   S-'       g   Kq  V'       d   TMTpV'       d   TMTpV'       d   TM^ pVV,          P                  V! VVVVVVR7      4       K»  	  V# \	        V\        4      '       Ed   ^ pVP                  4        FJ  w  pp\	        V\
        \        34      '       g   K$  V F   pS,! V4      w  p p!\        VS*! V!4      4      pK"  	  KL  	  Tp"VP                  4        EFŠ  w  ppVR	8X  dú   V'       d   V R\         2M\        p#V'       d   V# R
V 2MT#p$V"V,           ^d,           p%\	        V\
        \        34      '       d   \        V4      ^8X  d   V^ ,          R	8X  g   VR	8X  d?   V'       d   TMT#pV'       d   TMT%pVV%,          P                  V! V#RRV^ VR7      4       KÇ  S.! V$VV%V4      p&V&P                  4        F  w  pp'VV,          P                  V'4       K   	  EK  VR8X  d   Tp(MV'       d   V RV 2MTp(S.! V(VV"V4      p&V&P                  4        F  w  pp'VV,          P                  V'4       K   	  V&'       g   EKj  \        V&P                  4       4      ^,           p"EK�  	  V# )zDProcess entries recursively to handle nested dict structures for MoEÚ!Ú?Nc               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )r\   rg  r^   Úhas_bangrÉ   Úcapture_onlyÚ
alias_baser…  Ú	alias_relÚalias_scoper¿   r%  r(  r_   )r`   s   "ra   rb   ÚWBaseQModel._build_layer_modules_for_tree.<locals>.process_entries.<locals>.__annotate__‚  sR   € ÷ añ a sð a°dð aÈ$ð aÐ_bð aÐorð að  BLð að  QVñ ard   c               ó   € WW%W433# r”   r_   )rg  r'  r(  r)  r*  r+  s   &&&$$$ra   Ú_make_entryÚVBaseQModel._build_layer_modules_for_tree.<locals>.process_entries.<locals>._make_entry‚  s   € Ø!¨\ÈÐH_Ð`Ð`rd   z.__parent__)r)  r*  r+  r0  r.  r/  Fr-  )r   r´   r  r´  ry   r(  rq  rz   r|   rO   r  r˜  r€   )/r   Úentriesr!  r"  Úgroupsr  Úparent_flagsÚparent_rel_groupÚparent_groupÚparent_has_bangÚparent_capture_onlyÚparent_has_numericÚscopeÚparent_alias_scoper.  Úchild_group_offsetÚ
add_parentr)  Úparent_entry_scopeÚentÚ
child_nameÚchild_flagsr'  r(  Úchild_rel_groupÚgrprg  r+  r*  Úmax_current_groupÚ
sub_parentÚsub_entriesrJ  Ú	ent_flagsÚcurrent_offsetÚtemplate_parentÚtemplate_parent_tokenÚexpert_offsetÚ
sub_groupsr|   Úfull_sub_parentr  r  r  r  rÔ  Úprocess_entriess/   &&&&                                     €€€€€€ra   rL  ÚABaseQModel._build_layer_modules_for_tree.<locals>.process_entriest  s  ø€ ä4?ÄÓ4EˆFá(4°\Ó(BÑ%ˆKÙ0°Ó>ÐØ.ÕAˆLØ! \Ñ1ˆOØ"%¨Ñ"5ÐÙ!2°<Ó!@Ðà!*Ò!6‘I¹JÀ{Ó<SˆEß*<¡À+Ðõað "5ÐØ(×ZÐZÐ-@×-YÐ-YÐEYˆJßß1CÑ-È�
ØK]ÒKiÐ(:Ð';¸;Ñ%GÐosÐ"ØÕ$×+Ñ+ÙØ#Ø'Ø+Ø#-Ø"#Ø$6ôô	ô &)Ð);ÈAÕ=MÓ%NÐ"ô ˜'¤E¬4 =×1Ò1Û"�CÙ.:¸3Ó.?Ñ+�J à" kÑ1�HØ#&¨+Ñ#5�Lá&7¸Ó&D�OØ,¨Õ>�Cð #×+Ñ+¨a°
¨|Ð,<×=Ò=ÀÐPZÔAZØ$/™	ß$Ø'2 m°1°Z°LÐ$A™	à$.˜	ç#×,@Ù ß+=¡%À;�Kß5GÑ!1ÈS�Jß3E¡È1�IØ˜3•K×&Ñ&Ù#Ø%Ø$Ø(Ø'1Ø&/Ø(3ôö	ñ- #ð@ ˆMô ˜G¤T×*Ó*à$%Ð!Ø/6¯}©}®Ñ+�J Ü! +´´t¨}×=Ô=Û#.˜CÙ+7¸Ó+<™L˜A˜yÜ03Ð4EÑGXÐYbÓGcÓ0dÒ-ó $/ñ 0?ð "4�Ø/6¯}©}¯Ñ+�J Ø! SÔ(÷
  +ð  +˜m¨1Ô-EÐ,FÑGÜ0Hð (÷  2ð  /Ð/¨qÐ1AÐ0BÑCà!0ð .ð )7Ð9JÕ(JÈSÕ(P˜ô ' {´U¼D°M×BÒBÄsÈ;ÓGWÐ[\ÔG\ÐalÐmnÕaoÐsvÔavð  |Gð  KNô  |Nç3E©%È?˜Kß=OÑ)9ÐUb˜JØ" =Õ1×8Ñ8Ù +Ø$3Ø$)Ø$)Ø/9Ø./Ø0;ô!"ö	ñ *9Ð9NÐP[Ð]jÐlqÓ)r˜JØ.8×.>Ñ.>Ö.@¡
  UØ & s¥× 2Ñ 2°5Ö 9ô /Að
 &¨Ô+Ø.9™O÷ $/ð $/ -¨q°°Ñ =Ø4>ð ,ñ &5°_ÀkÐSaÐchÓ%i˜
Ø*4×*:Ñ*:Ö*<™J˜C Ø" 3�K×.Ñ.¨uÖ5ñ +=÷ &š:Ü-0°·±Ó1BÓ-CÀaÕ-G›Nñe 0?ðh ˆMrd   c               ó    € V ^8„  d   QhRRRR/# )r\   Ú	order_idxr…  r)  z3tuple[str, bool, bool, str | None, tuple[int, int]]r_   )r`   s   "ra   rb   r	  ú  s   € ÷ 	Nñ 	N sð 	NÐ2eñ 	Nrd   c                ó  <€ Vw  r#rEpV'       d   S'       g   R # TpVw  r‰W‰,           p
Wz3pSP                  V4      pVf   RV R\        S4      /SV&   W#V3.SV&   R # \        VR,          V 4      VR&   SV,          P                  W#V34       R # )NÚorderÚseq)rx   ÚnextÚminr  )rO  r)  rg  r'  r(  r8  Úalias_partsr+  r)  r*  Úalias_indexrd  rq  Úalias_groupsÚ
alias_metaÚ	alias_seqrÔ  s   &&           €€€€ra   Ú_register_aliasÚABaseQModel._build_layer_modules_for_tree.<locals>._register_aliasú  sœ   ø€ ØDHÑAˆI °kß×$8ÙØˆKØ$/Ñ!ˆJØ$Õ0ˆKØÐ,ˆCØ—>‘> #Ó&ˆDØŠ|Ø#*¨I°u¼dÀ9»oÐ"N�
˜3‘Ø&/¸<Ð%HÐ$I�˜SÓ!ä # D¨¥M°9Ó =��W‘Ø˜SÕ!×(Ñ(¨)¸|Ð)LÖMrd   c                óD   <€ SV ,          R ,          SV ,          R,          3# )rQ  rR  r_   )r¸   rX  s   &€ra   Ú<lambda>Ú:BaseQModel._build_layer_modules_for_tree.<locals>.<lambda>  s    ø€ ¸jÈ½mÈGÕ>TÐV`ÐabÕVcÐdiÕVjÑ=krd   )rd  ©r   N)ry   rz   r{   r   r|   ÚsortedrS  r  r€   ÚNOT_QUANTIZE_FLAGr‘  r  )rù   r!  rÔ  Úmappingr)  Ú
out_blocksÚ	group_seqrZ  r	  r0  r1  ÚgrO  r|   rg  r'  r(  r8  rU  rd  rË  rô   r  r  r  r  rW  rX  rY  rL  s   f&f                   @@@@@@@@ra   Ú_build_layer_modules_for_treeÚ(BaseQModel._build_layer_modules_for_treeC  s•  ÿù€ ð$ ˆÛˆDÜ˜$¤×%Ô%Ø�Ùñ ð Š?ÜÐKÓLÐLàˆ
ØSUˆØCEˆ
Ü“Gˆ	Ü“Gˆ	÷	2ð 	2õ	õ	9õ	0÷
D	÷ D	÷L	Nó 	Nð   'Ÿ}™}ž‰OˆFÙ$ VÓ5ˆFä˜F–^�Ü  ›O�	Ø�	�Û!�DÜ˜4“y A”~Ø<@Ñ9˜	¨\Ø )˜Ø'(¨! f˜Ù'¨	¸xÈÐW\Ð^iÐ3jÖká'¨	Ö8ó "ó $ñ  /ô ˜,×+Ñ+Ó-Ô3k×lˆCØˆEØ5AÀ#×5FÐ5FÑ1�	 \Ø �ßØÔ-Õ-�Dß×$8ØÔ-Õ-�DØ—‘˜TÖ"ñ 6Gð ×Ñ˜eÖ$ñ mð Ðrd   c               ó   € V ^8„  d   QhRR/# r  r_   )r`   s   "ra   rb   ræ   '  s   € ÷ ñ ¸Tñ rd   c                	óê   € . p\        4       pV P                  V4       FQ  pV P                  WRR 7       F8  p\        V4      pWt9   d   K  VP	                  V4       VP                  V4       K:  	  KS  	  V# rÖ  )r\  r  rf  r(  r_  r  )rù   r!  rÔ  ÚblocksÚseenÚtree_variantrË  rd  s   &&&     ra   r×  ÚBaseQModel.build_layer_modules&  sl   € àˆÜ‹uˆØ×:Ñ:¸4Ö@ˆLØ×:Ñ:¸<Ð:Ös�Ü˜E“l�à”;ÙØ—‘˜”Ø—‘˜eÖ$ó tñ Að ˆrd   c               ó   € V ^8„  d   QhRR/# ©r\   rÜ   râ   r_   )r`   s   "ra   rb   ræ   5  s   € ÷ ñ ¸ñ rd   c                óì   € . pV P                   ;'       g    V P                  ;'       g    . pV FA  p\        W4      p\        V\        P
                  4      '       g   K0  VP                  V4       KC  	  V# )zn
Return module paths whose direct params/buffers are materialized outside
normal layer/base-module traversal.
)rÕ   rÖ   r@   ry   rT  r‰  r  )rù   rÜ   rå  Úmodule_namesrf  ró  s   &&    ra   Ú$get_modules_with_direct_meta_tensorsÚ/BaseQModel.get_modules_with_direct_meta_tensors4  sc   € ð ˆØ×;Ñ;×\Ð\¸s×?VÑ?V×\Ð\ÐZ\ˆÛ'ˆKÜ Ó3ˆFÜ˜&¤"§)¡)×,Ô,Ø—
‘
˜;Ö'ñ (ð ˆ
rd   c               ó   € V ^8„  d   QhRR/# ro  r_   )r`   s   "ra   rb   ræ   C  s   € ÷ ?ñ ?¨Iñ ?rd   c                	ó$   € V P                  V4      # r”   )rr  )rù   rÜ   s   &&ra   Úget_direct_meta_modulesÚ"BaseQModel.get_direct_meta_modulesB  s   € à×7Ñ7¸Ó>Ð>rd   c               ó   € V ^8„  d   QhRR/# ro  r_   )r`   s   "ra   rb   ræ   G  s   € ÷ 3ñ 3 Yñ 3rd   c                óü  € . pV P                  4        Fn  p VP                  R4      pT^ 8”  g   Q R4       hT P                  T4       F6  p\	        TP                  R4      4      pYb9  g   K%  TP                  T4       K8  	  Kp  	  V'       g   . # / pV Fg  p\        \        V4      ^,
          4       FE  p	VRV	^,            p
VP                  V
\        4       4      P                  W‰^,           ,          4       KG  	  Ki  	  . p\        4       pV FÒ  p\        \        V4      ^,
          4       F°  p	VRV	^,            pTpVP                  V\        4       4      pV F  p\        WßR4      pVe   K   M	  Vf   KL  VP                  4        FP  w  ppVV9   d   K  RP                  . VOVN54      pVV9   d   K.  VP                  V4       VP                  V4       KR  	  K²  	  KÔ  	  V#   \         d    \        R4      hi ; i)zW
Return list of base modules directly under the root path but not the layer container.
r.  z2module_tree must contain '#' to separate hierarchyzfailed to get_base_modulesr0  N)r  r„   r{   r  r(  r1  r  rr  r  r  r\  r_  rx   r  Únamed_childrenrs   )rù   rÜ   Úall_prefix_pathsr!  Ú	sharp_idxrr   r¹  Úexclude_by_parentr8  rv  ra  rå  rk  ÚbaseÚexcluder2  rô   rJ  r�  s   &&                 ra   rŸ  ÚBaseQModel.get_base_modulesF  sâ  € ð
 ÐØ×2Ñ2Ö4ˆDðWØ ŸJ™J s›O�	ð ˜q”=Ð>Ð">Ó>�=Ø×8Ñ8¸Ö>�Ü˜tŸz™z¨#›Ó/�ØÖ1Ø$×+Ñ+¨FÖ3ó ?ñ 5÷  ØˆIà=?ÐÛ%ˆEÜœ3˜u›:¨�>Ö*�Ø# G a¨!¥e˜n�à!×,Ñ,¨[¼#»%Ó@×DÑDÀUÈqÍ5Å\ÖRó +ñ &ð ˆÜ‹uˆÛ%ˆEÜœ3˜u›:¨�>Ö*�Ø˜W˜q 1�u�~�Ø�Ø+×/Ñ/°´c³eÓ<�ã �DÜ" 4¨tÓ4�DØ”|Ùñ !ð ’<Ùà#×2Ñ2Ö4‘G�D˜!à˜w”Ù Ø #§¡¨¨4¨°©Ó 7�IØ  DÔ(Ù Ø—H‘H˜YÔ'Ø—J‘J˜yÖ)ó  5ó +ñ &ð, ˆ
øôW ô WÜ Ð!UÓVÐVðWús   —G$Ç$G;c                ód  a € \        V\        4      '       d"   V Uu. uF  pS P                  V4      NK  	  up# \        V\        4      '       Ed.   / pVP	                  4        EF  w  rE\        V\
        4      '       d   S P                  V4      ^ ,          MTp\        V\        \        34      '       d°   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       dv   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   KÈ  \        ;QJ d    . V 3R lV 4       F  NK  	  5M! V 3R lV 4       4      pWsV&   EK  S P                  V4      W6&   EK  	  V# \        V\
        4      '       d   S P                  V4      ^ ,          # V# u upi )zµ
Recursively walk a nested list/dict structure and:
  1. Drop dict entries where *all* values are ':!' or ':?' flagged.
  2. Remove ':!' / ':?' and ':<digit>' markers from strings.
c              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5ir”   r  r  s   & ra   rö   ÚABaseQModel.generate_layers_modules_tree_simple.<locals>.<genexpr>�  s   é € Ð7VÑTUÈq¼
À1Äc×8JÐ8JÓTUùr  FTc              3  óâ   "  € T Fe  p\         ;QJ d2    R  VP                  R4      R,           4       F  '       g   K   RM'	  RM#! R  VP                  R4      R,           4       4      x € Kg  	  R# 5i)c              3  ó*   "  € T F	  qR9   x € K  	  R# 5i)r$  N>   r$  r%  r_   )ró   rB  s   & ra   rö   ÚKBaseQModel.generate_layers_modules_tree_simple.<locals>.<genexpr>.<genexpr>�  s   é € ÐIÑ8H°1 JžÓ8Hùs   ‚r/  r@  TFN)r—  r1  r  s   & ra   rö   rƒ  �  sJ   é € ÐUÑSTÈaŸ3›3ÑI¸¿¹À»ÀRÖ8HÓIŸ3Ÿ3š3ÑI¸¿¹À»ÀRÖ8HÓI×IÐIÓSTùs   ‚A/’'A/¼3A/c              3  óT   <"  € T F  pSP                  V4      ^ ,          x € K  	  R# 5ir_  r  )ró   r  r�   s   & €ra   rö   rƒ  “  s$   øé € Ð#NÉAÀq D×$<Ñ$<¸QÓ$?À×$BÒ$BËAùs   ƒ%()	ry   r´   Ú#generate_layers_modules_tree_simplerz   r|   r^   rD  r(  r  )r�   r2  r  Únew_dictr¸   r¹   Ú	clean_keyÚcleaneds   f&      ra   rˆ  Ú.BaseQModel.generate_layers_modules_tree_simple|  sL  ø€ ô �dœD×!Ò!ÙIMÓNÉÀA�D×<Ñ<¸QÖ?ÉÑNÐNô �dœD×!Ó!ØˆHØŸ
™
Ÿ‘�Ü>HÈÌC×>PÒ>P˜D×4Ñ4°QÓ7¸Ö:ÐVW�	ä˜a¤%¬ ×/Ò/·C³CÑ7VÑTUÓ7V·C·C²CÑ7VÑTUÓ7V×4VÒ4Vç“sÑUÑSTÓU—s—s’sÑUÑSTÓU×UÒUÙ ÷ $œeÔ#NÉAÓ#NŸe™eÔ#NÉAÓ#NÓN�GØ*1˜YÔ'ð +/×*RÑ*RÐSTÓ*U�HÔ'ñ %ð ˆOô �dœC× Ò Ø×+Ñ+¨DÓ1°!Õ4Ð4ð ˆùò5 Os   œF-c               ó   € V ^8„  d   QhRR/# rÛ  r_   )r`   s   "ra   rb   ræ   ¡  s   € ÷ Hñ H Tñ Hrd   c                	óD   € \        V P                  P                  R R4      # )rS  F)r  rÜ   ré   r­  s   &ra   Útied_word_embeddingÚBaseQModel.tied_word_embedding¡  s   € Ü�t—z‘z×(Ñ(Ð*?ÀÓGÐGrd   c               ó   € V ^8„  d   QhRR/# ©r\   r%  rO  r_   )r`   s   "ra   rb   ræ   ¤  s   € ÷ 6ñ 6Ð&9ñ 6rd   c                	ód   € \        V P                  R R4      p\        V4      '       d   V! 4       # R# )rs  N©r  rÜ   r  ©r�   Úgetters   & ra   rs  ÚBaseQModel.get_input_embeddings¤  s,   € Ü˜Ÿ™Ð%;¸TÓBˆÜ# F×+Ò+‰v‹xÐ5°Ð5rd   c               ó   € V ^8„  d   QhRR/# r6  r_   )r`   s   "ra   rb   ræ   ¨  s   € ÷ Sñ S¨=ñ Srd   c                	óZ   € V P                  4       pVe   \        V P                  V4      # R # r”   )rs  rB   rÜ   rì  s   & ra   rw  Ú$BaseQModel.get_input_embeddings_name¨  s+   € Ø×*Ñ*Ó,ˆØ6<Ò6HŒ˜tŸz™z¨6Ó2ÐRÈdÐRrd   c               ó   € V ^8„  d   QhRR/# r’  r_   )r`   s   "ra   rb   ræ   ¬  s   € ÷ 6ñ 6Ð':ñ 6rd   c                	ód   € \        V P                  R R4      p\        V4      '       d   V! 4       # R# )rt  Nr”  r•  s   & ra   rt  Ú BaseQModel.get_output_embeddings¬  s,   € Ü˜Ÿ™Ð%<¸dÓCˆÜ# F×+Ò+‰v‹xÐ5°Ð5rd   c               ó   € V ^8„  d   QhRR/# r6  r_   )r`   s   "ra   rb   ræ   °  s   € ÷ Sñ S¨Mñ Srd   c                	óZ   € V P                  4       pVe   \        V P                  V4      # R # r”   )rt  rB   rÜ   rì  s   & ra   ry  Ú%BaseQModel.get_output_embeddings_name°  s+   € Ø×+Ñ+Ó-ˆØ6<Ò6HŒ˜tŸz™z¨6Ó2ÐRÈdÐRrd   c                	ó   <€  \         SV `  V4      #   \         dq   pT P                  P	                  R 4      pTf0   \        T R4      '       d   T P                  P	                  R 4      MRpTe   TR 8w  d   \        Y14      u Rp?# ThRp?ii ; i)rÜ   NÚ_modules)rú   Ú__getattr__r  rÝ  rx   rñ   r¢  r  )r�   r)  ÚexcrÜ   r  s   &&  €ra   r£  ÚBaseQModel.__getattr__´  s€   ø€ ð	Ü‘7Ñ& tÓ,Ð,øÜô 	Ø—M‘M×%Ñ% gÓ.ˆEØŠ}Ü6=¸dÀJ×6OÒ6O˜Ÿ™×)Ñ)¨'Ô2ÐUY�ØÒ  T¨W¤_Ü˜uÓ+Õ+ØˆIûð	ús!   ƒ ’B�A#BÂ BÂBÂBc               ó    € V ^8„  d   QhRRRR/# )r\   rÜ   r   r  r!   r_   )r`   s   "ra   rb   ræ   ¿  s   € ÷ Vñ V¨oð VÈVñ Vrd   c           	     	ó�  aa€ \         P                  R 4       V\        P                  \        P                  \        P
                  \        P                  \        P                  \        P                  09  d   \         P                  RV R24       R# V3R lp. ROpRpV F£  pV! V4      p\        V\        P                  \        \        34      '       g   K8  \        V4      ^ 8”  g   KJ  \        V^ ,          \        P                  4      '       g   Ks  Tp\         P                  RV R\!        V4      P"                   24        M	  Vf   \         P                  R4       R# V! V4      ^ ,          p\         P                  R\!        V4      P"                   24       R	 p	V	! V4      o\        S4      ^ 8”  d<   \         P                  R
\        S4       R\!        V4      P"                   RS 24       M\         P                  R4       R# / p
R pV3R lp. ROpV! W�4      pV F  pV! V4      pV'       g   K  VW¯&   K  	  V
'       gJ   \        ;QJ d    . R S 4       F  NK  	  5M! R S 4       4      pVV
R&   \         P                  RV 24       VP%                  R4      pVRV
.,           p\         P                  RV 24       V# )z;Model not yet support, attempting Module Tree AutoCompat...z-Module Tree AutoCompat: Failed, quant_method=z8, only support GPTQ/GGUF/FP8/BITSANDBYTES/EXL3/PAROQUANTNc                ób   <€ SpV P                  R 4       F  p\        WR4      pVe   K   R# 	  V# )r0  N)r1  r  )rr   r~  rB  rÜ   s   &  €ra   Ú_getÚ1BaseQModel._auto_detect_module_tree.<locals>._getÉ  s5   ø€ ØˆDØ—Z‘Z –_�Ü˜t¨Ó-�Ø”<Úñ %ð ˆKrd   z0Module Tree AutoCompat: Matched candidate path 'z', type=z@Module Tree AutoCompat: All candidate paths invalid, return Nonez&Module Tree AutoCompat: Using layer0: c                ó  € \        V \        P                  \        P                  \        P                  .R 7      p\
        P                  R\        V4       R\        V 4      P                   24       \        VP                  4       4      # )rï   z-Module Tree AutoCompat: _linear_names: found ú Linear/Conv modules in )r?   rT  ry  ÚConv1dÚConv2drü   r/  r  rš   r‹   r´   r€   )ró  Úmodss   & ra   Ú_linear_namesÚ:BaseQModel._auto_detect_module_tree.<locals>._linear_namesë  sb   € Ü ´·	±	¼2¿9¹9ÄbÇiÁiÐ/PÔQˆDÜ�H‰HÐDÄSÈÃYÀKÐOgÔhlÐmsÓht×h}Ñh}Ðg~Ðô  AÜ˜Ÿ	™	›Ó$Ð$rd   zModule Tree AutoCompat: found r¬  z: zCModule Tree AutoCompat: No Linear/Conv names in layer0, return Nonec                ó  a€ \        4       pV P                  4        Fh  w  r4VP                  4       o\        ;QJ d    V3R  lV 4       F  '       g   K   RM	  RM! V3R  lV 4       4      '       g   KW  VP	                  V4       Kj  	  V# )c              3  ó,   <"  € T F	  qS9   x € K  	  R # 5ir”   r_   )ró   r¸   Úlowered_names   & €ra   rö   ÚMBaseQModel._auto_detect_module_tree.<locals>._find_parents.<locals>.<genexpr>ý  s   øé € ÐA±.¨Q˜LÖ(³.ùrÄ  TF)r\  rz  r8  r—  r_  )ró  Úpossible_namesÚfoundr­   rJ  r´  s   &&   @ra   Ú_find_parentsÚ:BaseQModel._auto_detect_module_tree.<locals>._find_parentsù  s]   ø€ Ü“EˆEØ×-Ñ-Ö/‘�Ø Ÿw™w›y�ß“3ÔA±.ÓA—3—3’3ÔA±.ÓA×AÔAØ—I‘I˜a–Lñ 0ð ˆLrd   c                ój   <a € \         ;QJ d    . V 3R  lS 4       F  NK  	  5# ! V 3R  lS 4       4      # )c              3  óŠ   <"  € T F8  qP                  S R 24      '       g   K  VP                  R 4      R,          x € K:  	  R# 5i©r0  Nr•  )rs  r1  )ró   r  r¹  s   & €ra   rö   ÚLBaseQModel._auto_detect_module_tree.<locals>._leaf_tokens.<locals>.<genexpr>  s6   øé € Ð\±:¨aÇÁÐQWÐPXÐXYÈl×A[Ô)˜Ÿ™ › b×)Ò)³:ùs
   ƒA£ A)r(  )r¹  Ú
all_linears   f€ra   Ú_leaf_tokensÚ9BaseQModel._auto_detect_module_tree.<locals>._leaf_tokens  s%   ù€ ß”5Ô\±:Ó\—5Ð\�5Ô\±:Ó\Ó\Ð\rd   c              3  óP   "  € T F  qP                  R 4      R,          x € K  	  R# 5ir¼  r  r�  s   & ra   rö   Ú6BaseQModel._auto_detect_module_tree.<locals>.<genexpr>  s   é € Ð@±Z°Ÿ7™7 3›<¨×+Ò+³Zùs   ‚$&r-  zEModule Tree AutoCompat: Mapping empty, using all Linear as fallback: r0  r.  z+Module Tree AutoCompat: Final module_tree: )zmodel.layerszlanguage_model.layerszmodel.decoder.layersztransformer.hztransformer.blocksr¦   rj  zmodel.blocks)ÚattnÚ	attentionÚ	self_attnÚmlpÚffnÚfeedÚdense)rü   r/  r!   ÚGPTQrH  rI  rK  rF  rD  ry   rT  Ú
ModuleListr´   r(  r  r‰  rš   r‹   r1  )r�   rÜ   r  r©  Ú
candidatesÚchosenÚcrõ   Úlayer0r°  rb  r¸  r¿  Úpossible_parentÚfound_parentsrB  Útrj  r8  r!  r¾  s   &f&                 @ra   rþ   Ú#BaseQModel._auto_detect_module_tree¿  si  ù€ Ü�‰ÐNÔOà¤§¡¬V¯[©[¼&¿*¹*Äf×FYÑFYÔ[a×[fÑ[fÔhn×hsÑhsÐtÔtÜ�H‰HØ?À¸~ð NIð Iôñ õ	ò	
ˆ
ð ˆÛˆAÙ�Q“ˆAÜ˜!œbŸm™m¬T´5Ð9×:Ô:¼sÀ1»vÈ¾zÌjÐYZÐ[\ÕY]Ô_a×_hÑ_h×NiÔNiØ�Ü—‘ÐKÈAÈ3ÈhÔW[Ð\]ÓW^×WgÑWgÐVhÐiÔjÙñ ð Š>Ü�H‰HÐWÔXÙá�f“˜a•ˆÜ�‰Ð9¼$¸v»,×:OÑ:OÐ9PÐQÔRò	%ñ
 # 6Ó*ˆ
Üˆz‹?˜1ÔÜ�H‰HÐ5´c¸*³oÐ5FÐF^Ô_cÐdjÓ_k×_tÑ_tÐ^uÐuwð  yCð  xDð  Eõ  Fä�H‰HÐZÔ[Ùàˆò	õ	]ò \ˆá% fÓ>ˆãˆAÙ˜Q“ˆAß‰qØ�“
ñ ÷
 ß”UÑ@±ZÓ@—U‘UÑ@±ZÓ@Ó@ˆFØ ˆG�B‰KÜ�H‰HÐ\Ð]cÐ\dÐeÔfà—‘˜SÓ!ˆØ˜˜W�~Õ%ˆÜ�‰Ð>¸t¸fÐEÔFØˆrd   )rr  rz  rñ  r{  r  r
  r  r   rã   rÜ   r]   r  rá   r  r  rÞ   rÝ   r§  rß   rä   rå   )NNFFNNr”   )r-  Fr°   )FF)NNF)NFF)NNrA  é
   N)NNrA  NN)ÚinductorNF)z0.0.0.0éP   F)é   gš™™™™™¹?)FÚdefaultNN)¡r‹   rŒ   r�   rŽ   r¾   Ú__annotations__rÀ   r¶   rÂ   Ú	frozensetrÃ   Úlayer_modules_strictrÄ   rÅ   Ú)awq_preserve_explicit_position_embeddingsr  rÇ   rÈ   rÊ   r  rÌ   rÎ   r   Úloaderr  r(   Ú	EXCLUSIVEÚBALANCEDrÏ   rÐ   r.  Úwrite_shared_kv_cacherÑ   rÒ   Úsupports_desc_actr=   ÚTEXTrÓ   rÔ   rÕ   rÖ   r§  Úsupport_offload_to_diskrØ   rØ  r5  rÉ   rê  rÙ   rñ  Údefuser_module_pathsrþ  rÚ   r‰   r    r"  r  r  r;  rD  rK  rW  r^  rl  rx  r  r©  r–  rˆ  rÐ  rØ  rß  rä  ré  rð  rõ  rÿ  r8   r4   r7  ri  r¡   r'  rƒ  r]  r\  rÎ  rÒ  r×  rå  rä  ró  rð  r#  rò  r1  rM   rK  rQ  rk  r}  r…  r  r  rš  r™  r©  r®  r¶  rº  r  rÀ  rÄ  rÌ  rÑ  rØ  rÝ  rå  rá  r÷  rü  râ  r^  rf  re  r)  r.  r3  rC  r  r  r  rd  rz  rl  rq  rx  ry  rŽ  r›  r¢  r¦  r­  rõ  rë  r  rf  r×  rr  rv  rŸ  rˆ  r�  rs  rw  rt  ry  r£  rþ   r�   Ú__classcell__)r  s   @ra   r½   r½   Þ   sZ  ø‡ à€GˆSÓð $(Ð�jÓ'ð "€K�Ó!à59ÐÐ2Ó9ñ 9B»Ð% ~ÓCð  Ðà#'Ð˜SÓ'ð =AÐ.°	Ó@ð 16Ð-ð !%Ðð )-€LÐ%Ó,ð 04€MÐ,Ó3Ø"Ð�tÓ"ð #Ðð +/Ð˜-Ó.ð 8<ÐÐ4Ó;ð "€Fð  Ðð 	×ÑØ×Ñð;Ð#Ð%7ó ð 	×ÑØ×Ñð9Ð!Ð#5ó ð "Ðð "Ðð €Dˆ.Óð IMÐÐEÓLà˜u˜Ðà (§¡˜€HˆnÓ.àCEÐÐ@ÓEð 35Ð$ iÓ4Ø%'Ð˜Ó'à€Fà"Ðð 15Ð Ó4à'0 kÐ#à!ŸJ™JÐà/4Ð&¨Ó4à!%Ðð
  Ðð &*Ð"ð 59Ð" MÓ8÷d)ò d)ðL ñó ðð& ö
ó ð
ð ö0ó ð0ð$ ô!ó ð!ð ô	ó ð	ð ô-ó ð-ð öQó ðQð" ö-ó ð-ð^ ôó ðð ôó ðð4 ô$ó ð$ðL öRó ðRðh ñó ðð ô)ó ð)ðV ñó ðð: öó ðð ö&ó ð&ð  ö
ó ð
ð* öó ðð ôó ðð ôó ð÷"
ð4 (ð swà15Ø*0ØØ7;Ø%,§\¡\àØx|à+-Ø6:ØRVØ48Ø37ö#Kó (ðKðZ ôó ðð, SWØ15Ø*0ØØ7;Ø%,§\¡\ØØx|Ø+-Ø6:Ø48÷FðPb@ð 48÷b@ðH:.ð ÷:.÷xMõ^Vò+õ<õ.õ:õ*2ôh6ô8/@òbIð >BØ8NØ,0Ø'+Ø&*÷7õrõ(ðTDð (-÷	DõL*1õ\$õ0÷N÷$÷LGò#÷Yõòòòõõ	"õ	!õ	"õ
õ	õõ*
õ+õõ

ðJð AE÷	JõX
õ0õ?õ
õ@õ 3õ<õ&õ4õJõ
õ(Qõf*õXIõ2Lõ\õð ôó ðò&T÷nO÷bðD ö`ó ð`ðD öó ðð ôó ðð ô?ó ð?ð ô3ó ð3òj#õJHõ6õSõ6õSõ	÷Vó Vrd   r½   )—Ú
__future__r   rQ  rv   rq   r  r=  Úcollectionsr   Ú
contextlibr   Ú	itertoolsr   Útypingr   r   r	   r
   r   r   r   r   r5  Útorch._dynamoÚtorch.nnrT  Ú	tokenicerr   Útransformersr   r   r   r   r   r   Údatasetsr   Ú	HFDatasetr   ÚHFIterableDatasetr  r-  r   r  r   Únn_modules.exllamav3r   Únn_modules.qlinearr   Únn_modules.qlinear.fp4r   Únn_modules.qlinear.fp8r   Únn_modules.qlinear.lookaheadr   Únn_modules.qlinear.torchr   Úquantization.configr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   Úquantization.dtyper+   r,   r-   r.   r/   r0   Úquantization.rotation.rotationr1   r2   Úutils.attn_maskr3   Úutils.backendr4   r5   Úutils.calibrationr6   Úutils.devicer7   Úutils.device_telemetryr8   Úutils.hfr9   Úutils.importerr:   Úutils.loggerr;   r<   Úutils.modelr=   r>   r?   r@   rA   rB   rC   Úutils.model_dequantrD   Úutils.structurerE   rF   rG   rH   rI   Úutils.torchrJ   rK   Ú_constrL   rM   rN   rO   rP   rÝ  rQ   rR   Úshared_inputrS   rT   ÚwriterrU   r*  rW   ÚHFDatasetTypeÚHFIterableDatasetTypeÚobjectÚlooper.named_modulerX   rZ   r’   r£   r®   r²   rµ   ra  r‘  rH  rÆ  rü   r‰  r½   Ú__all__r_   rd   ra   Ú<module>r     s²  ðõ
 #ã Û Û 	Û Û Ý #Ý "Ý ß M× MÓ Mã Û Ý Ý ÷÷ ðÝ-Ý=õ
 "Ý %Ý 2Ý 0Ý 3Ý 3Ý FÝ 2÷÷ ÷ ñ ÷÷ ÷ LÝ 0ß 6Ý ;Ý %Ý GÝ .Ý 0ß @÷÷ ñ õ 4÷õ ÷ ;÷õ ÷ <ß BÝ ÷ Ý:ð7Ý5ÝEõ 2÷!ñ !÷H4ñ 4ò*òò$òð& Ð ØÐ Ø€Ø'Ð):Ð;Ð ð
 8]€Ô 4áƒn€ôw4�—’ô w4ðri ˆ.€á™ ZÓ0Ó1‚
øðoo ô Ø€IØÓðûðZ ô 7Ø06Ð6ˆÒ-ð7ús$   Á&G Å)G. ÇG+Ç*G+Ç.G<Ç;G<