+
    "Ý³jŽ[ ã                  ó8  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RI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 ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RI H!t! ^ RI"H#t# ^ R	I$H%t% ^ R
IH&t& ^ RI'H(t( ^ RI)H*t* ^RI+H,t, ^RI-H.t. ^RI/H0t0H1t1H2t2H3t3 ^RI4H5t5H6t6 ^RI7H8t8 ^RI9H:t: ^RI;H<t< ^RI=H>t>H?t? ^RI@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtL ^RIMHNtN ^RIOHPtPHQtQ ^RIRHRtR ^RISHTtT ^RIUHVtV ^RIWHXtXHYtY ^RIZH[t[H\t\ ^RI]H^t^H_t_ ^RI`HataHbtb ^RIHctcHdtd ]_! 4       te]PÌ                  ! R 4      tg]PÐ                  R¿]PÒ                  RÀ]PÔ                  RÁ]PÖ                  RÂ]PØ                  RÃ]PÚ                  RÄ]PÜ                  RÅ]PÞ                  RÆ]Pà                  RÇ]Pâ                  RÈ/
tr]s! ]R!4      '       d   RÉ]r]Pè                  &   ]s! ]R"4      '       d   RÊ]r]Pê                  &   ]v;QJ d    . R# RË 4       F  NK  	  5M! R# RË 4       4      tw]v;QJ d    . R% RÌ 4       F  NK  	  5M! R% RÌ 4       4      tx]yPõ                  . ]w U u. uF  p ]{! ]V 4      NK  	  up O]x U u. uF  p ]{! ]V 4      NK  	  up O5^4      t|/ R&]PÐ                  bR']PÐ                  bR(]PÒ                  bR)]PÒ                  bR*]PÔ                  bR+]PÔ                  bR,]PÖ                  bR-]PØ                  bR.]PØ                  bR/]PÚ                  bR0]PÚ                  bR1]PÜ                  bR2]PÜ                  bR3]PÞ                  bR4]Pà                  bR5]Pâ                  bt}]w F)  t~]{! ]]~4      t]]}]~&   ]]}R6]~EP                  R74       2&   K+  	  ]s! ]R!4      '       d   ]Pè                  ]}R8&   ]s! ]R"4      '       d   ]Pê                  ]}R9&   ]s! ]R$4      '       d!   ]EP                  ]}R:&   ]EP                  ]}R;&   ]x F)  t~]{! ]]~4      t]]}]~&   ]]}R<]~EP                  R=4       2&   K+  	  ]]]EP                  ]ƒ]„3,          ,          t…. RÍOt†R>R?.t‡R@ RA ltˆRB RC lt‰RD RE ltŠ]! RFRG7       ! RH RI4      4       t‹] ! RJ RK4      4       tŒRL RM lt�RN tŽRO RP lt�RÎRQ RR llt�RÎRS RT llt‘RÏRU RV llt’RW t“RX RY lt”RZ R[ lt•R\ R] lt–R^ R_ lt—R` t˜RÐRb Rc llt™]>EP4                  ]PEP6                  RFRRR3Rd Re lltœR]>EP4                  RR3Rf Rg llt�Rh Ri ltžRj Rk ltŸ]EP@                  ! 4       Rl Rm l4       t¡Rn Ro lt¢Rp Rq lt£]EP@                  ! 4       Rr Rs l4       t¤]EP@                  ! 4       RÑRt Ru ll4       t¥RÒRv Rw llt¦Rx Ry lt§Rz R{ lt¨R| R} lt©R~ R ltªR€ t«RÓR� R‚ llt¬RÓRƒ R„ llt­R… R† lt®RÔR‡ Rˆ llt¯R‰ RŠ lt°R‹ t±RÕRŒ lt². RÖO3R� lt³RŽ t´ ! R� R�]ƒ]4      tµR‘ R’ lt¶R“ t·R” t¸R• R– lt¹R— R˜ ltºRÎR™ Rš llt»R›Ra/Rœ R� llt¼Rž RŸ lt½R  R¡ lt¾R¢ t¿R×tÀ]Á! ]Â! ]À4      4      tÃ]
EPˆ                  ! 4       tÅR£^ /R¤ R¥ lltÆR¦ R§ ltÇR¨ R© ltÈRª R« ltÉR¬ R­ ltÊR® tËR¯ R° ltÌR± R² ltÍR³ R´ ltÎRµ R¶ ltÏR· tÐR¸ tÑR¹ Rº ltÒR» R¼ ltÓR½ R¾ ltÔR# u up i u up i )Øé    )ÚannotationsN)ÚThreadPoolExecutor)Ú	dataclass)ÚEnum)ÚAnyÚDictÚListÚOptionalÚTupleÚTypeÚUnion)Úversion)Ú	safe_open)Ú_ConvNd)ÚPretrainedConfig)Úid_tensor_storage)Úcached_file)ÚAdapter)ÚNamedModule)ÚCPUÚDEVICEÚEXPERT_INDEX_PLACEHOLDERÚSUPPORTS_MODULE_TYPES)ÚBaseQuantLinearÚGPTQQuantLinear)ÚExllamaV2Linear)ÚAwqExllamaV2Linear)ÚTorchQuantEmbeddings)ÚFORMATÚQuantizeConfig)ÚFORMAT_FIELD_CODEÚMETHODÚ"_normalize_bitsandbytes_block_sizeÚ_normalize_bitsandbytes_formatÚ_normalize_fp8_fmtÚ_normalize_fp8_scale_semanticsÚ _normalize_fp8_weight_block_sizeÚ"_normalize_fp8_weight_scale_methodÚ_normalize_quant_bitsÚdynamic_getÚquant_bits_widthÚresolve_quant_format)Úhas_gil_disabled)ÚBACKENDÚnormalize_backend)Úctx)Ú
get_device)Úget_hf_config_dtype)Úhf_hub_downloadÚ
model_info)Úselect_quant_linearÚvalidate_quant_linear)Úlog_time_blockÚsetup_logger)Ú_correct_gptq_v1_qzerosÚ!_revert_gptq_v1_qzeros_correction)ÚHAS_CUDAÚtorch_empty_cachez(<=|>=|==|<|>)\s*([\d\.]+)Úfloat8_e4m3fnÚfloat8_e5m2c              #  óV   "  € T F  p\        \        V4      '       g   K  Vx € K!  	  R # 5i©N©ÚhasattrÚtorch©Ú.0Únames   & ÚV/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/model.pyÚ	<genexpr>rH   `   s)   é € ð 
ñˆô Œu�d×÷ 	‚Dóùó   ‚)Ÿ
)Úfloat8_e8m0fnuc              #  óV   "  € T F  p\        \        V4      '       g   K  Vx € K!  	  R # 5ir@   rA   rD   s   & rG   rH   rH   k   s   é € ð #Ù*ˆT¬g´e¸T×.B‡D‚DÓ*ùrI   Úfloat32ÚfloatÚfloat16ÚhalfÚfloat64ÚdoubleÚbfloat16Úint64ÚlongÚint32ÚintÚint16ÚshortÚint8Úuint8ÚboolÚf8_Úfloat8_Úf8_e4m3Úf8_e5m2Úfloat8_e8m0Úf8_e8m0Úf4_Úfloat4_Únum_expertsÚmoe_num_expertsc               ó    € V ^8„  d   QhRRRR/# )é   Údtypeútorch.dtypeÚreturnrV   © )Úformats   "rG   Ú__annotate__rm   ¨   s   € ÷ Tñ T +ð T°#ñ Tó    c                óŒ   € V \         9   d   \         V ,          ^,          # V \        9   d   \        V ,          # \        RV  24      h)é   ú*Unsupported dtype for safetensors export: )Ú_DTYPE_SAFE_MAPÚ_DTYPE_NUM_BYTESÚNotImplementedError©rh   s   &rG   Ú_torch_dtype_num_bytesrv   ¨   sA   € Ø”ÔÜ˜uÕ% aÕ(Ð(ØÔ Ô Ü Õ&Ð&Ü
Ð JÈ5È'ÐRÓ
SÐSrn   c               ó    € V ^8„  d   QhRRRR/# )rg   rh   ri   rj   Ústrrk   )rl   s   "rG   rm   rm   °   s   € ÷ %ñ % {ð %°sñ %rn   c                ó\   € V \         9  d   \        R V  24      h\         V ,          ^ ,          # )rq   )rr   rt   ru   s   &rG   Ú_torch_dtype_to_safetensorsrz   °   s-   € Ø”OÔ#Ü!Ð$NÈuÈgÐ"VÓWÐWÜ˜5Õ! !Õ$Ð$rn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   Ú	dtype_strúOptional[str]Úfallbackri   rj   rk   )rl   s   "rG   rm   rm   ¶   s!   € ÷ -ñ - mð -¸{ð -È{ñ -rn   c                óX   € V f   V# V P                  4       p\        P                  W!4      # r@   )ÚlowerÚ_DTYPE_STR_MAPÚget)r|   r~   Úkeys   && rG   Ú_dtype_string_to_torchr„   ¶   s*   € ØÒØˆØ
�/‰/Ó
€CÜ×Ñ˜cÓ,Ð,rn   T)Úfrozenc                  ór   € ] tR t^½t$ R]R&   R]R&   R]R&   R]R&   RtR	]R
&   RtR]R&   ]R R l4       tRt	R# )ÚOffloadTensorRefrx   Úpathri   Útorch_dtypeúTuple[int, ...]Úshaperl   Nr}   Úweight_namezOptional[Tuple[int, int]]Údata_offsetsc               ó   € V ^8„  d   QhRR/# ©rg   rj   rV   rk   )rl   s   "rG   rm   ÚOffloadTensorRef.__annotate__Ç   ó   € ÷ Xñ X˜3ñ Xrn   c                	óŠ   € \        V P                  4      \        P                  ! V P                  ;'       g    R4      ,          # ©rp   ©rp   ©rv   r‰   ÚmathÚprodr‹   ©Úselfs   &rG   Ú	num_bytesÚOffloadTensorRef.num_bytesÆ   ó.   € ä% d×&6Ñ&6Ó7¼$¿)º)ÀDÇJÁJ×DVÐDVÐRVÓ:WÕWÐWrn   rk   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__rŒ   r�   Úpropertyrš   Ú__static_attributes__rk   rn   rG   r‡   r‡   ½   sA   ‡ à
ƒIØÓØÓØƒKØ!%€K�Ó%Ø.2€LÐ+Ó2àôXó ôXrn   r‡   c                  óV   € ] tR t^Ët$ R]R&   R]R&   R]R&   R]R&   ]R	 R
 l4       tRtR# )ÚTensorSourcerx   rF   ri   r‰   rŠ   r‹   z%Union[torch.Tensor, OffloadTensorRef]Úsourcec               ó   € V ^8„  d   QhRR/# r�   rk   )rl   s   "rG   rm   ÚTensorSource.__annotate__Ó   r‘   rn   c                	óŠ   € \        V P                  4      \        P                  ! V P                  ;'       g    R4      ,          # r“   r•   r˜   s   &rG   rš   ÚTensorSource.num_bytesÒ   rœ   rn   rk   N)r�   rž   rŸ   r    r¡   r¢   rš   r£   rk   rn   rG   r¥   r¥   Ë   s-   ‡ à
ƒIØÓØÓØ1Ó1àôXó ôXrn   r¥   c               ó   € V ^8„  d   QhRR/# )rg   Úattrrx   rk   )rl   s   "rG   rm   rm   Ö   s   € ÷ ?ñ ?˜sñ ?rn   c                ób   € R p\         P                  ! W .VP                  R4      ,           4      # )zµ
Recursive `getattr`.

Args:
    obj:
        A class instance holding the attribute.
    attr (`str`):
        The attribute that is to be retrieved, e.g. 'attribute1.attribute2'.
c                ó   € \        W4      # r@   )Úgetattr)Úobjr¬   s   &&rG   Ú_getattrÚ!recurse_getattr.<locals>._getattrá   s   € Ü�sÓ!Ð!rn   Ú.)Ú	functoolsÚreduceÚsplit)r°   r¬   r±   s   && rG   Úrecurse_getattrr·   Ö   s)   € ò"ô ×Ò˜H e¨d¯j©j¸«oÕ&=Ó>Ð>rn   c                ó‚   € RV9  d   \        WV4       R# VP                  R^4      w  r\        \        W4      W24       R# )z5A function to recursively set attributes to a module.r³   N)Úsetattrr¶   Úrecurse_setattrr¯   )ÚmodulerF   ÚvalueÚrests   &&& rG   rº   rº   ç   s4   € à
�$„Ü�˜eÖ$à—Z‘Z  QÓ'‰
ˆÜœ Ó-¨tÖ;rn   c               ó    € V ^8„  d   QhRRRR/# )rg   r»   ú	nn.Modulerj   r[   rk   )rl   s   "rG   rm   rm   ð   s   € ÷ ñ  Yð °4ñ rn   c                ó.  € V P                  R R7       F4  p\        VRR4      '       g   VP                  P                  R8X  g   K3   R # 	  V P	                  R R7       F4  p\        VRR4      '       g   VP                  P                  R8X  g   K3   R # 	  R# )T©ÚrecurseÚis_metaFÚmeta)Ú
parametersr¯   ÚdeviceÚtypeÚbuffers)r»   ÚparamÚbufs   &  rG   Ú_module_has_meta_tensorsrË   ð   sz   € Ø×"Ñ"¨4Ð"Ö0ˆÜ�5˜) U×+Ò+¨u¯|©|×/@Ñ/@ÀFÖ/JÚñ 1ð �~‰~ dˆ~Ö+ˆÜ�3˜	 5×)Ò)¨S¯Z©Z¯_©_ÀÖ-FÚñ ,ñ rn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r°   ztorch.Tensor | nn.ModulerÆ   ztorch.devicerh   ri   rk   )rl   s   "rG   rm   rm   ú   s"   € ÷ ñ Ð)ð °<ð Èñ rn   c                ó6  € \        V \        P                  4      '       dR   \        V 4      '       dA   \        P
                  P                  V 4      '       g   \        R 4      h^RIH	p V! WVR7      # \        V 4      V8w  g   Ve   V P                  WRR7      p V # )z{Cannot move a module that still contains meta tensors without offload hooks. Materialize it first before calling move_to().)Úundo_offload_to_disk©rÆ   rh   F)rÆ   rh   Únon_blocking)Ú
isinstanceÚnnÚModulerË   Ú
accelerateÚutilsÚhas_offloaded_paramsrt   ÚoffloadrÎ   r1   Úto)r°   rÆ   rh   rÎ   s   &&& rG   Úmove_torÙ   ú   s‚   € Ü�#”r—y‘y×!Ò!Ô&>¸s×&CÒ&CÜ×Ñ×4Ñ4°S×9Ò9Ü%ðAóð õ 	2á# C¸eÔDÐDä�#ƒ˜&Ô  EÒ$5Ø�f‰f˜F¸eˆfÓDˆà€Jrn   c               ó   € V ^8„  d   QhRR/# )rg   rh   ri   rk   )rl   s   "rG   rm   rm     s   € ÷ ñ  [ñ rn   c                óp  aa€ \        V \        P                  4      '       d   \        V SSR 7      # \        V \        4      '       d2   V P                  4        UUu/ uF  w  r4V\        VSSR 7      bK  	  upp# \        V \        \        34      '       d   \        V 4      ! VV3R lV  4       4      # V # u uppi )rÏ   c              3  ó@   <"  € T F  p\        VSSR 7      x € K  	  R# 5i)rÏ   N)Únested_move_to)rE   ÚerÆ   rh   s   & €€rG   rH   Ú!nested_move_to.<locals>.<genexpr>  s$   øé € ð 
á�ô ˜1 V°5×9Ñ9Ûùs   ƒ)
rÑ   rC   ÚTensorrÙ   ÚdictÚitemsrÝ   ÚlistÚtuplerÇ   )ÚvrÆ   rh   ÚkÚvals   &ff  rG   rÝ   rÝ     s¥   ù€ Ü�!”U—\‘\×"Ò"Ü�q ¨uÔ5Ð5ä	�A”t×	Ò	ð Ÿ'™'œ)ô
á#‘�ð Œ~˜c¨&¸Ô>Ò>Ù#ò
ð 	
ô
 
�Aœœe�}×	%Ò	%Ü�AŒwõ 
áó
ó 
ð 	
ð ˆùó
s   ÁB2c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r»   r¿   rF   rx   rj   zDict[str, nn.Module]rk   )rl   s   "rG   rm   rm   "  s"   € ÷ 
ñ 
˜ð 
°sð 
ÐBVñ 
rn   c           	     óú   € V'       g   \         p\        V \        V4      4      '       d   W /# / pV P                  4        F8  w  rETP	                  \        YQVR 8w  d   VR,           V,           MTR7      4       K:  	  V# )Ú r³   )ÚlayersrF   )r   rÑ   rä   Únamed_childrenÚupdateÚfind_modules)r»   rë   rF   ÚresÚname1Úchilds   &&&   rG   rî   rî   "  sj   € ßÜ&ˆä�&œ% ›-×(Ò(ØˆnÐà
€CØ×-Ñ-Ö/‰ˆØ�
‰
”< ÐQUÐY[ÔQ[¸4À#½:ÈÖ;MÐafÔgÖhñ 0à€Jrn   c                ój   € V P                  4        F  w  r#W!8X  g   K  Vu # 	  \        R V RV  24      h)zCannot find child_name ú in module ©Únamed_modulesÚ
ValueError)r»   Ú
child_namerF   Úms   &&  rG   Úget_module_by_namerù   /  s=   € à×'Ñ'Ö)‰ˆØÖØŠHñ *ô Ð.¨z¨l¸+ÀfÀXÐNÓ
OÐOrn   c               ó   € V ^8„  d   QhRR/# ©rg   Úmodule_namezUnion[List[str], str]rk   )rl   s   "rG   rm   rm   7  s   € ÷ ñ Ð2Gñ rn   c                ó¼   € \        V\        4      '       d   TMV.pV P                  4        F,  w  r4V F!  pVP                  V4      '       g   K  WE3u u # 	  K.  	  R# )N©Nrê   )rÑ   rã   rõ   Ú
startswith)Úmodelrü   Úmodule_name_listrF   r»   Úprefixs   &&    rG   Úget_module_by_name_prefixr  7  sU   € Ü&0°¼d×&CÒ&C‘{È+ÈÐØ×+Ñ+Ö-‰ˆÛ&ˆFØ�‰˜v×&Ô&Ø�~Ô%ó 'ñ .ð
 €Orn   c               ó   € V ^8„  d   QhRR/# rû   rk   )rl   s   "rG   rm   rm   A  s   € ÷ /ñ /Ð1Fñ /rn   c                óÀ  € \        V\        4      '       d   TMV.p. p. p\        4       pV EF  pV'       g   K   \        W4      pVf   K   \        V4      pW…9   d   K3  VP                  V4       \        V\        P                  \        \        34      '       d`   \        V4       FN  w  rš\        V
\        P                  4      '       g   K'  VP                  V
4       VP                  V RV	 24       KP  	  KÎ  \        V\        P                  4      '       g   Kð  VP                  V4       VP                  V4       EK  	  V'       d   W43# \        W4      w  rvVf   R. 3# \        V\        P                  \        \        34      '       d4   \        V4      \        \        V4      4       Uu. uF	  q¶ RV 2NK  	  up3# V.V.3#   \         d    Rp EL‘i ; iu upi )aw  Resolve one or more layer containers into a flat layer list plus per-layer names.

Existing model definitions often expose a single `layers` ModuleList, but some
architectures split the decoder into multiple stacks that still need to be
quantized as one ordered sequence. This helper flattens every matching layer
container while preserving the source prefix for each layer.
Nr³   )rÑ   rã   Úsetrù   rö   ÚidÚaddrÒ   Ú
ModuleListrä   Ú	enumeraterÓ   Úappendr  ÚrangeÚlen)r   rü   r  rë   Úlayer_namesÚseen_container_idsr  r»   Úcontainer_idÚlocal_indexÚlayerÚindexs   &&          rG   Úget_layers_with_prefixesr  A  sž  € ô '1°¼d×&CÒ&C‘{È+ÈÐà€FØ€KÜ›Ðä"ˆßÙð	Ü'¨Ó6ˆFð Š>Ùä˜&“zˆØÔ-ÙØ×Ñ˜|Ô,ä�fœrŸ}™}¬d´EÐ:×;Ò;Ü&/°Ö&7Ñ"�Ü˜e¤R§Y¡Y×/Ô/Ø—M‘M %Ô(Ø×&Ñ&¨&¨°°;°-Ð'@ÖAó '8ô ˜¤§	¡	×*Ô*Ø�M‰M˜&Ô!Ø×Ñ˜v×&ñ- #÷0 ØÐ"Ð"ä.¨uÓG�N€FØ‚~Ø�RˆxˆÜ�&œ2Ÿ=™=¬$´Ð6×7Ò7Ü�F‹|¼uÄSÈÃ[Ô?QÓRÑ?Q°e ¨¨%¨Ó1Ñ?QÑRÐRÐRØˆ8�f�XÐÐøô7 ô 	Ø‹Fð	üò4 Ss   »GÆ.GÇGÇGc               ó$   € V ^8„  d   QhRRRRRR/# )rg   r  zUnion[List[str], str, None]Úlayer_indexrV   rj   rx   rk   )rl   s   "rG   rm   rm   s  s#   € ÷ 	ñ 	Ð ;ð 	È#ð 	ÐRUñ 	rn   c                óˆ   € V '       g   R# \        V \        4      '       d   V # V\        V 4      8  d	   W,          # V R,          # )zBReturn the concrete full layer path for one flattened layer index.rê   éÿÿÿÿ)rÑ   rx   r  )r  r  s   &&rG   Úget_layer_namer  s  s=   € ÷ ÙÜ�+œs×#Ò#ØÐØ”S˜Ó%Ô%ØÕ'Ð'Ø�r�?Ðrn   c               ó   € V ^8„  d   QhRR/# )rg   rü   rx   rk   )rl   s   "rG   rm   rm     s   € ÷ ñ °#ñ rn   c                ón   € V P                  4        F   w  r#VP                  V4      '       g   K  Vu # 	  R # r@   )rõ   Úendswith)r   rü   rF   r»   s   &&  rG   Úget_module_by_name_suffixr    s+   € Ø×+Ñ+Ö-‰ˆØ�=‰=˜×%Ô%ØŠMó .rn   c                óR   € VP                  R4      pV F  p\        WR4      p K  	  V # )z�Get module from model by key name.

Args:
    module (torch.nn.Module): original model
    key (str): module name to be replaced
r³   N)r¶   r¯   )r»   rƒ   Ú	name_listrF   s   &&  rG   Ú
get_moduler   „  s,   € ð —	‘	˜#“€IÛˆÜ˜ tÓ,Šñ à€Mrn   Fc               ó@   € 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/
# )rg   Úqcfgr    Úquant_resultúDict[str, Dict[str, Any]]Úbackendr.   Úlm_head_namerx   Úpackr[   rÆ   r   Úfrom_quantizedrh   úOptional[torch.dtype]Ú
is_shardedrj   úType[BaseQuantLinear]rk   )rl   s   "rG   rm   rm   �  sz   € ÷ Kñ Kà
ðKð ,ðKð ð	Kð
 ðKð ðKð ðKð ðKð !ðKð ðKð ñKrn   c
                óô  € VP                   p
VP                  pVP                  p\        VP                  VP
                  4      pVP                  pVP                  pVP                  pVP                  pVP                  4       pVP                  4       p\        VVR 7      pV'       g    V\        P                  \        P                  39   d{   V\         P"                  \         P$                  39   d   \        P&                  pMDVP(                  \*        P,                  8X  d&   V\         P.                  8X  d   \        P0                  p\3        V
VVVVVVVVVVVRVV	R7      p\4        P7                  RRP9                  R V 4       4       R24       \;        R/ RVbRV
bR	VbR
VbRVbRV bRVbRVbRVbRVbRVbRVbRVP                  bRVbRVbRVb p\4        P7                  RVP<                   R24       V# ))Úquant_methodT)ÚbitsÚ
group_sizeÚdesc_actÚsymr%  rl   r-  r'  ÚdynamicrÆ   Ú
pack_dtyperh   Úmulti_selectÚadapterr*  zKernel: candidates -> `[ú, c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir@   ©r�   )rE   Úclss   & rG   rH   Úmake_quant.<locals>.<genexpr>Ä  s   é € Ð1bÑJaÀ3·,¶,ÓJaùó   ‚ú]`Úlinear_candidatesr.  r0  r2  r/  r»   r1  rÆ   r#  r&  r3  r%  r5  rl   Úinit_kwargsrh   zKernel: selected -> `ú`.rk   )Úruntime_bitsr/  r5  r,   rl   Úmethodr0  r1  r2  r3  Úquant_linear_init_kwargsÚexport_quant_methodr/   r.   ÚGPTQ_BITBLASÚAWQ_BITBLASr   ÚGPTQÚGPTQ_V2Ú
GPTQ_TORCHr-  r"   ÚAWQÚGEMMÚ	AWQ_TORCHr5   ÚlogÚinfoÚjoinÚcreate_quant_layerr�   )r»   r"  r#  r%  r&  r'  rÆ   r(  rh   r*  r.  r/  Ú	extensionrl   r0  r1  r2  r3  r>  rC  Úquant_linear_candidatesÚ
linear_clss   &&&&&&&&&&            rG   Ú
make_quantrS  �  s  € ð ×Ñ€DØ—‘€JØ—‘€IÜ! $§+¡+¨t¯{©{Ó;€FØ�}‰}€HØ
�(‰(€CØ�l‰l€GØ—‘€JØ×/Ñ/Ó1€Kà×2Ñ2Ó4ÐÜ Ð6IÔJ€G÷ �G¤× 4Ñ 4´g×6IÑ6IÐJÔJØ”f—k‘k¤6§>¡>Ð2Ô2Ü×(Ñ(‰GØ×Ñ¤&§*¡*Ô,°¼6¿;¹;Ô1FÜ×'Ñ'ˆGô 2ØØØØØØØ(ØØØØØØØØôÐô$ ‡H�HÐ'¨¯	©	Ñ1bÑJaÓ1bÓ(bÐ'cÐceÐfÔgô $ò Ù1ðáðñ ðñ ð	ñ
 ðñ ðñ ðñ ðñ "ðñ "ðñ ðñ ðð —’ðñ ðñ  ðñ  ð!€Jô$ ‡H�HÐ$ Z×%8Ñ%8Ð$9¸Ð<Ô=ØÐrn   c                óX   € 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/# )rg   rF   rx   rR  r+  r0  r[   r/  rV   r»   r¿   Ú	submoduler1  rÆ   r   r&  r3  ri   rl   r   r%  r.   Úregister_buffersr5  úOptional[Adapter]r>  úOptional[Dict[str, Any]]rh   r)  rk   )rl   s   "rG   rm   rm   Ý  sÌ   € ÷ pBñ pBØ
ðpBà%ðpBð ð	pBð ðpBð ðpBð ðpBð 
ðpBð ðpBð ðpBð ðpBð ðpBð ðpBð ðpBð  ð!pBð" *ð#pBð$ !ñ%pBrn   c                ó  € \        V\        4      '       d   VP                  p\        V\        P                  4      '       d   \
        p\        V\        4      '       g%   \        VP                  4       4      P                  pM!VP                  4       ^ ,          P                  pVP                  \        P                  8w  d   \        RV  RV R24      h\        V\        4      '       d9   VP                  P                  R4      pVP                  P                  R4      pEM:\        V\        P                   4      '       d   VP"                  pVP$                  pEM \        V\        P                  4      '       d   VP&                  pVP(                  pMÇ\        V\*        4      '       d   VP,                  pVP.                  pM˜\        V\0        P2                  4      '       d<   VP4                  P6                  ^ ,          pVP4                  P6                  ^,          pM=\        V\        4      '       d   VP"                  pVP$                  pM\9        RV 24      h\;        VR4      '       d   VP<                  RJMR	p\?        W,R
7      pTpTpTpTp\A        T;'       g    / 4      pVEe,   \C        W@R7      pVR	8X  d   R# V'       Ed   \?        VP                  RV4      VR
7      pVP                  RV4      pVP                  RV4      pVP                  RV4      pVP                  RV4      pV\D        PF                  8X  dÇ   VP                  \H        VP                  R4      4      pVe   \K        V4      VR&   VP                  RVP                  R4      4      p\M        V4      pRV9   g   Ve0   \O        VP                  RVP                  R4      4      VR7      VR&   RV9   d   \Q        VR,          4      VR&   RV9   d   VVR&   MÍV\D        PR                  8X  d¹   VP                  \H        VP                  R4      4      p V e   \U        V \W        V4      R7      VR&   RV9   g   RV9   d.   \Y        VP                  RVP                  R4      4      4      VR&   RV9   g   RV9   d.   \[        VP                  RVP                  R4      4      4      VR&   \W        V4      p!\]        VRR4      R8X  d   TMT!p"\_        V\`        4      '       d   VPc                  RV4       \e        VV!VVVVVVVV	VR7      w  p#p$V$e   V$hV! R&RV"RVRVRVRVRVRVRVR VR!V R"V
R#VR$VR%V/VB p%VV%n	        \g        W`V%Pi                  V4      4       R# )'r   z
Expected `zG` to reside on CPU during quant module creation, but found tensors on `r?  Úin_featuresÚout_featureszUnsupported module ÚbiasNF)Úformat_value)r2  rü   r.  r/  r0  r1  r3  Úfmtrl   Úweight_block_sizeÚweight_scale_method)r_  Úweight_scale_semanticsÚbnb_quant_type©r.  Ú
block_sizeÚbnb_block_sizeÚcompress_statisticsÚbnb_compress_statisticsÚ
QUANT_TYPEÚgguf)
r.  r/  r0  r1  r3  rh   rZ  r[  rÆ   r5  rh   rF   r&  r%  rV  r5  rk   )5rÑ   r   r»   rÒ   Ú	Embeddingr   r   ÚnextrÅ   rÆ   Úlist_buffersrÇ   r   ÚAssertionErrorÚstater‚   ÚLinearrZ  r[  Únum_embeddingsÚembedding_dimr   Úin_channelsÚout_channelsÚtransformersÚConv1DÚweightr‹   rt   rB   r\  r)   rá   r*   r   ÚFP8r!   r%   r'   r(   r&   ÚBITSANDBYTESr$   r+   r#   r[   r¯   Ú
issubclassr   Ú
setdefaultr6   rº   rØ   )&rF   rR  r.  r0  r2  r/  r»   rU  r1  rÆ   r&  r3  rl   r%  rV  r5  r>  rh   Úori_layer_devicerZ  r[  r\  Útmp_bitsÚtmp_group_sizeÚtmp_desc_actÚtmp_symÚtmp_pack_dtypeÚtmp_init_kwargsÚ	overridesÚfp8_format_overrideÚblock_size_overrideÚnormalized_block_sizeÚ
raw_formatÚvalidate_bitsÚconstructor_bitsÚ_ÚerrÚ	new_layers&   &&&&&&&&&&&&&&&&&&                    rG   Úcreate_quant_modulerŒ  Ý  sw  € ô, �)œ[×)Ò)à×$Ñ$ˆ	ä�)œRŸ\™\×*Ò*Ü)ˆ
ô
 �i¤×1Ò1Ü 	× 4Ñ 4Ó 6Ó7×>Ñ>Ñà$×1Ñ1Ó3°AÕ6×=Ñ=Ðà×Ñ¤§¡Ô(ÜØ˜˜ð %Ø%5Ð$6°bð:ó
ð 	
ô
 �)œ[×)Ò)Ø—o‘o×)Ñ)¨-Ó8ˆØ —‘×*Ñ*¨>Ó:ŠÜ	�IœrŸy™y×	)Ò	)Ø×+Ñ+ˆØ ×-Ñ-ŠÜ	�IœrŸ|™|×	,Ò	,Ø×.Ñ.ˆØ ×.Ñ.‰Ü	�Iœw×	'Ò	'Ø×+Ñ+ˆØ ×-Ñ-‰Ü	�Iœ|×2Ñ2×	3Ò	3Ø×&Ñ&×,Ñ,¨QÕ/ˆØ ×'Ñ'×-Ñ-¨aÕ0‰Ü	�Iœ×	/Ò	/à×+Ñ+ˆØ ×-Ñ-‰ä!Ð$7¸	°{Ð"CÓDÐDä)0°¸F×)CÒ)Cˆ9�>‰> Ñ%È€Dô % TÔ?€HØ€NØ€LØ€GØ€NÜ˜;×,Ð,¨"Ó-€Oð ÓÜ¨ÔBˆ	à˜ÔÙ÷ ˆ9ä,¨Y¯]©]¸6À4Ó-HÐW]Ô^ˆHØ&Ÿ]™]¨<¸ÓDˆNØ$Ÿ=™=¨°XÓ>ˆLØ—m‘m E¨3Ó/ˆGØ&Ÿ]™]¨<¸ÓDˆNàœŸ™Ô#Ø&/§m¡mÔ4EÀyÇ}Á}ÐUZÓG[Ó&\Ð#Ø&Ò2Ü0BÐCVÓ0W�O HÑ-Ø&/§m¡mØ'Ø#×'Ñ'Ð(;Ó<ó'Ð#ô )IÐI\Ó(]Ð%Ø(¨IÔ5Ð9LÒ9XÜ=_Ø!Ÿ™Ø1Ø+×/Ñ/Ð0EÓFóð +@ô>�OÐ$9Ñ:ð ,¨yÔ8Ü@^Ø!Ð":Õ;óA�OÐ$<Ñ=ð '¨)Ô3Ø;P�OÐ$7Ñ8øØœ6×.Ñ.Ô.Ø&Ÿ]™]Ô+<¸i¿m¹mÐL\Ó>]Ó^�
ØÒ)Ü0NØ"Ü-¨hÓ7ô1�O HÑ-ð   9Ô,Ð0@ÀIÔ0MÜ4VØ!Ÿ™ l°I·M±MÐBRÓ4SÓTó5�O LÑ1ð )¨IÔ5Ð9RÐV_Ô9_Ü=AØ!Ÿ™Ð&;¸Y¿]¹]ÐKdÓ=eÓfó>�OÐ$9Ñ:ô % XÓ.€MÜ#*¨:°|ÀTÓ#JÈfÔ#T‘xÐZgÐô �*œo×.Ò.Ø×"Ñ" 8¨VÔ4ô
 #ØØØ!ØØØ!ØØØ!ØØô�F€A€sð ‚Øˆ	áñ Øðà!ðð ðð ð	ð
  ðð "ðð "ðð ðð ðð ðð "ðð ðð *ðð ðð  ñ!€Ið$ (€IÔÜ�F )§,¡,Ð/?Ó"@ÖArn   c               ó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/# )rg   r=  zList[Type[BaseQuantLinear]]r0  r[   r/  rV   r#  r$  r1  rÆ   r   r&  rx   r3  ri   r%  r.   r5  rW  rl   r   r>  rX  rh   r)  rj   r+  rk   )rl   s   "rG   rm   rm   �  s¶   € ÷ Lkñ LkØ6ðLkð ðLkð
 ðLkð 0ðLkð ðLkð ðLkð ðLkð  ðLkð ðLkð #ðLkð ðLkð .ðLkð  %ð!Lkð$ ñ%Lkrn   c                óä  a€ \         ;QJ d    V3R  lV  4       F  '       g   K   RM	  RM! V3R  lV  4       4      '       d   \        S4      # \        P                  V ^ 4      p^ V\        &   SP                  4        F°  w  ppVV9  d   K  \        V\        P                  4      '       d   \        .MT pRpV F]  p \        R/ RVbRVbRVbRVbRVbR	VbR
SbRVbRVbRVbRV	bRV
bRVbRVbRVbRVbRVb  TP                  T^ 4      ^,           TT&    K›  	  Ve   Vh\        RV R24      h	  VP!                  4        UUu/ uF  w  ppV'       g   K  VVbK  	  pppV'       g#   \        RSP"                  P$                   24      hRP'                  R VP!                  4        4       4      p\(        P+                  RV R24       VP!                  4        UUu/ uF  w  ppV\        Jg   K  VVbK  	  ppp\-        T;'       g    TT;'       g    TP                  R7      #   \         d5   pTpT\        P                  \        P                  39  d   h  Rp?EK¦  Rp?ii ; iu uppi u uppi )c              3  ó<   <"  € T F  p\        SV4      x € K  	  R # 5ir@   )rÑ   )rE   Ú	candidater»   s   & €rG   rH   Ú%create_quant_layer.<locals>.<genexpr>¢  s   øé € Ð
LÑ:K¨YŒ:�f˜i×(Ð(Ó:Kùó   ƒTFNrF   rR  r.  r0  r2  r/  r»   rU  r1  rÆ   r&  r3  rl   r%  r5  r>  rh   z1No compatible quant linear was found for module `r?  z6No compatible quant linear was found for this module: r6  c              3  óH   "  € T F  w  rVP                    R V 2x € K  	  R# 5i)Ú=Nr8  )rE   r�  Úcounts   &  rG   rH   r‘  Ô  s'   é € ÐhÑPgÑ<L¸I˜9×-Ñ-Ð.¨a°¨wÕ7ÓPgùs   ‚ "z#Kernel: per-module selections -> `[r<  ©rƒ   rk   )ÚanyrÇ   rá   Úfromkeysr   rõ   rÑ   rÒ   rj  rŒ  rt   r.   ÚAUTOÚAUTO_TRAINABLEr‚   rö   râ   Ú	__class__r�   rN  rL  rM  Úmax)r=  r.  r0  r2  r/  r#  r»   r1  rÆ   r&  r3  r%  r5  rl   r>  rh   Úselected_countsrF   rU  Ú
candidatesÚ
last_errorÚqlinear_clsÚerrorr�  r•  ÚsummaryÚnon_embedding_countss   &&&&&&f&&&&&&&&&           rG   rO  rO  �  sÉ  ø€ ÷& ƒsÔ
LÑ:KÓ
L‡s‡s‚sÔ
LÑ:KÓ
L×LÒLÜ�F‹|Ðä—m‘mÐ$5°qÓ9€OØ,-€OÔ(Ñ)Ø!×/Ñ/Ö1‰ˆˆià�|Ô#Ùä/9¸)ÄRÇ\Á\×/RÒ/RÔ*Ñ+ÐXiˆ
Øˆ
Û%ˆKðÜ#ò Ùðá*ðñ ðñ &ð	ñ
 $ðñ  *ðñ "ðñ (ðñ ðñ "ðñ ".ðñ  *ðñ "ðñ $ðñ $ðñ  !,ð!ñ"  ñ#ð2 ,;×+>Ñ+>¸{ÈAÓ+NÐQRÕ+RˆO˜KÑ(Úñ9 &ð< Ò%Ø Ð ÜÐPÐQUÐPVÐVXÐYÓZÐZñO 2ðR AP×@UÑ@UÔ@WÔaÑ@WÑ,<¨I°uÔ[`Ô'�y %Ò'Ñ@W€OÑaßÜÐQÐRX×RbÑRb×RkÑRkÐQlÐmÓnÐnà�i‰iÑhÐP_×PeÑPeÔPgÓhÓh€GÜ‡H�HÐ2°7°)¸2Ð>Ô?ð !0× 5Ñ 5Ô 7ôá 7ÑˆI�uØÔ0Ð0ô 	ˆ	�5ÒÙ 7ð ñ ô
 Ð#×6Ð6 Ð=Q×=dÐ=dÐUd×<iÑ<iÔjÐjøô1 'ô Ø"�
Ø¤7§<¡<´×1GÑ1GÐ"HÔHØÞûð	üó bùós0   Â<<H$ÅI&ÅI&ÇI,Ç/I,È$I#È/(IÉI#c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rg   r   r¿   r.  rV   Úqlinear_kernelr+  Úcheckpoint_formatrx   rÄ   úOptional[Dict[str, any]]rj   úTuple[nn.Module, bool]rk   )rl   s   "rG   rm   rm   Þ  sD   € ÷ ñ Øðà
ðð *ðð ð	ð
 #ðð ñrn   c                ó   € VR 8X  du   \         ;QJ d*    R V P                  4        4       F  '       g   K   RM	  RM! R V P                  4        4       4      '       g   V R3# \        VR7      p\        WV4      R3# V R3# )Úgptqc              3  ól   "  € T F*  p\        V\        4      ;'       d    \        VR R4      x € K,  	  R# 5i©ÚREQUIRES_FORMAT_V2FN©rÑ   r   r¯   ©rE   rø   s   & rG   rH   Ú2hf_convert_gptq_v1_to_v2_format.<locals>.<genexpr>ç  s4   é € ð 
á$�ô �qœ/Ó*×VÐV¬w°qÐ:NÐPUÓ/VÔVÛ$ùó   ‚4ž4TFrc  )r—  Úmodulesr    Úconvert_gptq_v1_to_v2_format)r   r.  r¥  r¦  rÄ   Úcfgs   &&&&& rG   Úhf_convert_gptq_v1_to_v2_formatrµ  Þ  sy   € ð ˜FÔ"ç‹sñ 
à—]‘]”_ó
�s�sŠsñ 
à—]‘]”_ó
÷ 
ò 
ð ˜%�<Ðä $Ô'ˆÜ+¨E¸ÓGÈÐMÐMà�eˆ|Ðrn   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rg   r»   r   r.  rV   r3  ri   rj   r¿   rk   )rl   s   "rG   rm   rm   ò  s0   € ÷ ^"ñ ^"°ð ^"Àsð ^"ÐXcð ^"Ðhqñ ^"rn   c                óØ  € \        V \        4      '       g   Q h\        P                  P	                  R 4       V^8X  dé   V\
        P                  8X  d&   V P                  ;P                  R,          un        EM_V\
        P                  8X  d&   V P                  ;P                  R,          un        EM%V\
        P                  8X  d&   V P                  ;P                  R,          un        EMëV\
        P                  8X  d$   V P                  ;P                  ^U,          un        EM±V^8X  EdP   V\
        P                  8X  dS   V P                  P                  P                  \        V P                  P                  V\        V RR4      R7      4       EMBV\
        P                  8X  d   RpM/V\
        P                  8X  d   RpMV\
        P                  8X  d   ^$pV P                  P                  R	\        ^ V P                  P                  P                   ^,          ^4      3;;,          X,          uu&   V\
        P                  8X  d   R
pM/V\
        P                  8X  d   RpMV\
        P                  8X  d   ^’pV P                  P                  R	\        ^V P                  P                  P                   ^,          ^4      3;;,          V,          uu&   V\
        P                  8X  d   RpM/V\
        P                  8X  d   RpMV\
        P                  8X  d   ^IpV P                  P                  R	\        ^V P                  P                  P                   ^,          ^4      3;;,          V,          uu&   EMZV^8X  dé   V\
        P                  8X  d&   V P                  ;P                  R,          un        EMV\
        P                  8X  d&   V P                  ;P                  R,          un        EMßV\
        P                  8X  d&   V P                  ;P                  R,          un        EM¥V\
        P                  8X  d$   V P                  ;P                  ^,          un        EMkV^8X  dæ   V\
        P                  8X  d&   V P                  ;P                  R,          un        EM*V\
        P                  8X  d%   V P                  ;P                  R,          un        MñV\
        P                  8X  d%   V P                  ;P                  R,          un        M¸V\
        P                  8X  d$   V P                  ;P                  ^,          un        MVR9   dn   V\
        P                  8w  d   \#        RV RV R24      hV P                  P                  P                  \        V P                  P                  VRR7      4       M\#        R4      hV P%                  ^R7       R# )z Format: Converting GPTQ v1 to v2l   UUª*UUª* éUUUUiUU  ÚplanarF©r¹  l   $I$I�$’$ i’$  ºNNNl   ’$’$JI	 iI’  l   II%I$I i$I  l   ""DDˆ éi  l   éi  úPlanar ú=-bit GPTQ only supports 32-bit packing words, got pack_dtype=r³   Tú&Only 2,3,4,5,6,7,8 bits are supported.©rl   N©é   é   é   )rÑ   r   rL  rM  ÚoncerC   rS   ÚqzerosÚdatarU   rW   rY   Úcopy_r9   r¯   r  r‹   rt   Úqzero_format)r»   r.  r3  Úoffsets   &&& rG   Ú#convert_gptq_v1_to_v2_format_modulerÌ  ò  s
  € Ü�fœo×.Ò.Ð.Ð.ä‡H�H‡M�MÐ4Ô5ð ˆq„yØœŸ™Ô$Ø�M‰M×ÒÐ"dÕd×Øœ5Ÿ;™;Ô&Ø�M‰M×ÒÐ"DÕD×Øœ5Ÿ;™;Ô&Ø�M‰M×ÒÐ"4Õ4×Øœ5Ÿ:™:Ô%Ø�M‰M×Ò *Õ,ÕùØ	��ØœŸ™Ô$ð �M‰M×Ñ×$Ñ$Ü'¨¯©×(:Ñ(:¸DÌÐQWÐYaÐchÓIiÔjöð œUŸ[™[Ô(Ø[‘ØœuŸ{™{Ô*Ø+‘ØœuŸz™zÔ)Ø#�à�M‰M×Ñ˜q¤%¨¨6¯=©=×+=Ñ+=×+CÑ+CÀAÕ+FÈÓ"JÐJ×KØõÓKð
 œUŸ[™[Ô(Ø[‘ØœuŸ{™{Ô*Ø+‘ØœuŸz™zÔ)Ø#�à�M‰M×Ñ˜q¤%¨¨6¯=©=×+=Ñ+=×+CÑ+CÀAÕ+FÈÓ"JÐJ×KØõÓKð
 œUŸ[™[Ô(Ø[‘ØœuŸ{™{Ô*Ø+‘ØœuŸz™zÔ)Ø#�à�M‰M×Ñ˜q¤%¨¨6¯=©=×+=Ñ+=×+CÑ+CÀAÕ+FÈÓ"JÐJ×KØõÕKð 
�ŒØœŸ™Ô$Ø�M‰M×ÒÐ"dÕd×Øœ5Ÿ;™;Ô&Ø�M‰M×ÒÐ"DÕD×Øœ5Ÿ;™;Ô&Ø�M‰M×ÒÐ"4Õ4×Øœ5Ÿ:™:Ô%Ø�M‰M×Ò *Õ,ÕùØ	�ŒØœŸ™Ô$Ø�M‰M×ÒÐ"dÕd×Øœ5Ÿ;™;Ô&Ø�M‰M×ÒÐ"DÕDÖØœ5Ÿ;™;Ô&Ø�M‰M×ÒÐ"4Õ4ÖØœ5Ÿ:™:Ô%Ø�M‰M×Ò *Õ,ÕøØ	�Ô	ØœŸ™Ô$Ü%Ø˜$˜Ð\Ð]gÐ\hÐhiÐjóð ð
 	�‰×Ñ× Ñ Ô!8¸¿¹×9KÑ9KÈTÐZ^Ô!_Õ`ä!Ð"JÓKÐKð ×Ñ˜qÐÖ!rn   c               ó    € V ^8„  d   QhRRRR/# )rg   r´  r    r¥  r+  rk   )rl   s   "rG   rm   rm   T  s   € ÷ "ñ "à	ð"ð *ñ"rn   c           
     óÒ  € VP                  4       \        P                  8X  dr   \        ;QJ d*    R  V P	                  4        4       F  '       g   K   RM	  RM! R  V P	                  4        4       4      '       g   \
        P                  RV R24       V # \        P                  ! 4        \
        P                  R\         R\        P                   R\        P                   R24       V P                  4        Fj  w  r4\        V\        4      '       g   K  \        VR	R4      '       g   K2  \        V\        VR
VP                   4      \        VRVP"                  4      R7       Kl  	  V # )c              3  ól   "  € T F*  p\        V\        4      ;'       d    \        VR R4      x € K,  	  R# 5ir¬  r®  r¯  s   & rG   rH   Ú/convert_gptq_v1_to_v2_format.<locals>.<genexpr>Z  s3   é € ð <á ˆAô 	�1”oÓ&×RÐR¬7°1Ð6JÈEÓ+RÔRÛ ùr±  TFzFFormat: Skipped v1 to v2 conversion; no selected kernel requires v2 (`z`).zFormat: Converting `z` from `z` to internal `r?  r­  r.  r3  )r»   r.  r3  )rC  r"   rF  r—  r²  rL  rM  Útimer!   r   rG  rõ   rÑ   r   r¯   rÌ  r.  r3  )r   r´  r¥  r‰  rU  s   &&&  rG   r³  r³  S  s  € ð ×ÑÓ ¤F§K¡KÔ/¿»ñ <à—‘”ó<¿¿ºñ <à—‘”ó<÷ 9ò 9ô 	�‰ØTÐUcÐTdÐdgÐhô	jàˆô 	‡I‚I„KÜ‡H�HØ
Ô0Ð1°¼&¿+¹+¸ÀoÔV\×VdÑVdÐUeÐegÐhôjð ×+Ñ+Ö-‰ˆô
 �i¤×1Ô1´g¸iÐI]Ð_d×6eÔ6eÜ/Ø Ü˜Y¨°·±Ó9Ü" 9¨l¸C¿N¹NÓK÷ñ .ð €Lrn   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )rg   r   r¿   r1  r[   r.  rV   r¥  r+  r¦  rx   rÄ   r§  rj   r¨  rk   )rl   s   "rG   rm   rm   y  sN   € ÷ ñ Øðà	ðð ðð *ð	ð
 ðð #ðð ñrn   c                ó\   € V'       d"   VR 8X  d   \        VR7      p\        WV4      R3# V R3# )Úgptq_v2rc  TF)r    Úconvert_gptq_v2_to_v1_format)r   r1  r.  r¥  r¦  rÄ   Úquantize_configs   &&&&&& rG   Úhf_convert_gptq_v2_to_v1_formatr×  y  s6   € ÷ Ð  IÔ-Ü(¨dÔ3ˆÜ+¨EÀNÓSÐUYÐYÐYà�eˆ|Ðrn   c               ó    € V ^8„  d   QhRRRR/# )rg   r»   r   rÖ  r    rk   )rl   s   "rG   rm   rm   ˆ  s   € ÷ +"ñ +"Øð+"à#ñ+"rn   c                óø  € \        V \        4      '       g   Q h\        P                  P	                  R 4       \        V RVP                  4      p\        V RVP                  4      pV^8X  d&   V P                  ;P                  R,          un	        EMVV^8X  Edz   V\        P                  8X  dS   V P                  P                  P                  \        V P                  P                  V\        V RR4      R7      4       EMçV P                  P                  R\        ^ V P                  P                  P                  ^,          ^4      3;;,          R,          uu&   V P                  P                  R\        ^V P                  P                  P                  ^,          ^4      3;;,          R	,          uu&   V P                  P                  R\        ^V P                  P                  P                  ^,          ^4      3;;,          R
,          uu&   MÕV^8X  d%   V P                  ;P                  R,          un	        MªV^8X  d%   V P                  ;P                  R,          un	        MVR9   dn   V\        P                  8w  d   \!        RV RV R24      hV P                  P                  P                  \        V P                  P                  VRR7      4       M\!        R4      hV P#                  ^R7       R# )z Format: Converting GPTQ v2 to v1r.  r3  r¸  r¹  Frº  r»  i$I’$l   ’$’$ iI’$Ir¼  r½  r¾  r¿  r³   TrÀ  rÁ  NrÂ  )rÑ   r   rL  rM  rÆ  r¯   r.  r3  rÇ  rÈ  rC   rU   rÉ  r:   r  r‹   rt   rÊ  )r»   rÖ  r.  r3  s   &&  rG   Ú#convert_gptq_v2_to_v1_format_modulerÚ  ˆ  sC  € ô �fœo×.Ò.Ð.Ð.ä‡H�H‡M�MÐ4Ô5ä�6˜6 ?×#7Ñ#7Ó8€DÜ˜ ¨×/IÑ/IÓJ€JØˆq„yØ�‰×ÒÐ@Õ@×Ø	��ØœŸ™Ô$à�M‰M×Ñ×$Ñ$Ü1°&·-±-×2DÑ2DÀdÔSZÐ[aÐckÐmrÓSsÔtöð �M‰M×Ñ˜q¤%¨¨6¯=©=×+=Ñ+=×+CÑ+CÀAÕ+FÈÓ"JÐJ×KØ2õÓKð �M‰M×Ñ˜q¤%¨¨6¯=©=×+=Ñ+=×+CÑ+CÀAÕ+FÈÓ"JÐJ×KØ2õÓKð �M‰M×Ñ˜q¤%¨¨6¯=©=×+=Ñ+=×+CÑ+CÀAÕ+FÈÓ"JÐJ×KØ2õÔKð 
�ŒØ�‰×ÒÐ@Õ@ÖØ	�ŒØ�‰×ÒÐ@Õ@ÖØ	�Ô	ØœŸ™Ô$Ü%Ø˜$˜Ð\Ð]gÐ\hÐhiÐjóð ð 	�‰×Ñ× Ñ Ü-¨f¯m©m×.@Ñ.@À$ÈtÔTõ	
ô "Ð"JÓKÐKà
×Ñ˜qÐÖ!rn   c               ó    € V ^8„  d   QhRRRR/# )rg   rÖ  r    r¥  r+  rk   )rl   s   "rG   rm   rm   ·  s   € ÷ ñ à#ðð *ñrn   c                ó   € VP                  4       \        P                  8X  dY   \        ;QJ d*    R  V P	                  4        4       F  '       g   K   RM	  RM! R  V P	                  4        4       4      '       g   V # V P                  4        F>  w  r4\        V\        4      '       g   K  \        VRR4      '       g   K2  \        WAR7       K@  	  V # )c              3  ól   "  € T F*  p\        V\        4      ;'       d    \        VR R4      x € K,  	  R# 5ir¬  r®  r¯  s   & rG   rH   Ú/convert_gptq_v2_to_v1_format.<locals>.<genexpr>¾  s4   é € ð Há ˆAô 	�1”oÓ&×RÐR¬7°1Ð6JÈEÓ+RÔRÛ ùr±  TFr­  ©r»   rÖ  )
rC  r"   rF  r—  r²  rõ   rÑ   r   r¯   rÚ  )r   rÖ  r¥  r‰  rU  s   &&&  rG   rÕ  rÕ  ¶  s£   € ð ×*Ñ*Ó,´·±Ô;ÇCÃCñ Hà—‘”óHÇCÇCÂCñ Hà—‘”óH÷ Eò Eð ˆð ×+Ñ+Ö-‰ˆä�i¤×1Ô1´g¸iÐI]Ð_d×6eÔ6eÜ/°y×bñ .ð
 €Lrn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   Úlockzthreading.LockrÖ  zOptional[QuantizeConfig]r#  rX  rk   )rl   s   "rG   rm   rm   Î  s/   € ÷ dñ dð ðdð .ðdð +ñdrn   c           
     óÖ	  € WP,          pW,          p\        V4      \        8X  g   Q h\        V4      \        8X  g   Q h\        V4      \        8X  g   Q h\        V4      \        8X  g   Q hVe   \        V4      \        8X  g   Q hRpR pV	eœ   \        V	RR4      ;'       g    Rp\        V	RR 4      p\        V\        4      '       d   VP                  4       pMP\        V\        P                  4      '       d   TpM-\        V\        4      '       d    \        P                  ! V4      pR pVe   V;_uu_ 4        WµV &   WÁV &   R R R 4       MWµV &   WÁV &   \        V\        4      '       d   \        V4      MTpVP                  R8X  dT   Ve   VP!                  \        4      pRp\#        V\        V R7      ;_uu_ 4        VP%                  W²VR	7       R R R 4       V# VP                  P'                  R
4      '       g   VP                  R8X  d=   Rp\#        V\        V R7      ;_uu_ 4        VP%                  VVVVR7       R R R 4       V# T;'       g    RP)                  4       pVR9   d   RpM~VR9   d   RpMtVR8X  dO   \*        '       g   \        P                  R4       RpMI\-        VR4      '       g   \        P                  R4       RpMVR8w  d   \        P                  RV4       RpRRRRRR/pVV,          p\#        V\        V R7      ;_uu_ 4        VR8X  d    VP/                  VVVVVR7       M1VR8X  d    VP3                  VVVVR7       MVP1                  W²W4R7       R R R 4       V	eœ   V	P5                  4       \6        P8                  8X  dy   \;        V	P<                  V	P>                  4      \@        P8                  8X  dF   \        VRR4      '       d3   \#        R\        V R7      ;_uu_ 4        \C        VV	R7       R R R 4       V# V#   \        \        3 d    \        P                  RT R24        ELi ; i  + '       g   i     ELþ; i  + '       g   i     T# ; i  + '       g   i     T# ; i  \         d    TP1                  Y²Y4R7        EL7i ; i  \         d    TP1                  Y²Y4R7        EL\i ; i  + '       g   i     ELi; i  + '       g   i     T# ; i)NÚoriginalÚ	pack_implrÆ   z,pack_module: unable to parse target device `z"`; defaulting to CUDA auto-select.Úqqqzmodule.pack)Úloggerrü   )ÚlinearÚscalesÚs_extraÚawq_zllm-awq)rç  rè  ÚzerosÚg_idxÚblockÚgpuzZpack_module: GPU packing requested but CUDA is unavailable; falling back to original pack.Úpack_gpuz\pack_module: GPU packing requested but module lacks pack_gpu; falling back to original pack.zApack_module: Unknown pack_impl `%s`; defaulting to original pack.zmodule.pack_gpuzmodule.pack_blockzmodule.pack_original)rç  rè  rë  rì  rÆ   r­  FÚconvert_v2_to_v1rß  >   Úcpurí  Ú
pack_block>   rã  Úpack_original)"r1   r   r¯   rÑ   r   Úto_torch_devicerC   rÆ   rx   ÚRuntimeErrorrö   rL  Úwarningr   rÇ   rh  rØ   r7   r'  rÿ   r€   r;   rB   rï  ró  rò  rC  r"   rF  r,   rl   rA  r   rÚ  )rF   ÚqModulesÚq_scalesÚq_zerosÚq_g_idxrë   Úquant_linear_clsrá  Úq_scales_extrarÖ  r#  r  r»   rä  Útarget_deviceÚ
cfg_deviceÚpacker_labelÚ
module_clsÚeffective_implÚ	label_maps   &&&&&&&&&&&         rG   Úpack_moduler  Í  sÆ  € ð  �L€EØ�^€Fä�fÓ¤Ô$Ð$Ð$Ü�eÓ¤Ô#Ð#Ð#Ü�hÓ¤3Ô&Ð&Ð&Ü�gÓ¤#Ô%Ð%Ð%ð ÒÜ˜'Ó"¤cÔ)Ð)Ð)ð €IØ€MØÒ"Ü˜O¨[¸*ÓE×SÐSÈˆ	Ü˜_¨h¸Ó=ˆ
Ü�j¤&×)Ò)Ø&×6Ñ6Ó8‰MÜ˜
¤E§L¡L×1Ò1Ø&‰MÜ˜
¤C×(Ò(ð{Ü %§¢¨ZÓ 8�ð €LàÒßŠTØ �4‰LØ#�T‰N÷ ˆTð ˆt‰Ø�‰ô ",¨F´O×!DÒ!D”�f”ÐJZ€Jð ×Ñ Ô%ØÒ%Ø+×.Ñ.¬sÓ3ˆNØ$ˆÜØÜØ÷
ö 
ð
 �K‰K˜u¸~ˆKÔN÷
ðD Ððy 
×	Ñ	×	)Ñ	)¨&×	1Ò	1°Z×5JÑ5JÈiÔ5WØ$ˆÜØÜØ÷
ö 
ð
 �K‰KØØØØð	 ô ÷
ðt Ðð] $×1Ð1 z×8Ñ8Ó:ˆàÐ;Ô;Ø$‰NØÐ<Ô<Ø'‰NØ˜uÔ$ß“8Ü—‘ÐxÔyØ!+‘Ü˜V Z×0Ò0Ü—‘ÐzÔ{Ø!+�øØ˜zÔ)Ü�K‰KØSØôð (ˆNð Ð$ØÐ(ØÐ.ð
ˆ	ð ! Õ0ˆäØÜØ÷
ö 
ð
  Ô&ð	fØ—O‘OØ$Ø'Ø%Ø%Ø,ð $õ ð   7Ô*ðfØ×%Ñ%Ø$Ø'Ø%Ø%ð	 &õ ð ×$Ñ$¨EÈ'Ð$Ôa÷7
ð< Ò'Ø×3Ñ3Ó5¼¿¹ÔDÜ$ _×%;Ñ%;¸_×=SÑ=SÓTÔX^×XcÑXcÔcÜ˜
Ð$8¸%×@Ò@äØ"ÜØ ÷ö ô
 4Ø!Ø$3õ÷ð Ðˆ<Ðøôq !¤*Ð-ô {Ü—‘ÐJÈ:È,ÐVxÐy×zð{ú÷ �TˆTú÷ 
ö 
ðD Ðú÷u
ö 
ðt ÐûôI "ô fØ×(Ñ(°ÈgÐ(×eðfûô "ô fØ×(Ñ(°ÈgÐ(×eðfú÷1
÷ 
ð 
ú÷Fö ð Ðús–   ÄP Ä6	P=Æ9QÈ%Q%ÌSÌQ9Ì1SÌ:RÍSÏ2SÐ*P:Ð9P:Ð=Q	ÑQ"	Ñ%Q6	Ñ9RÒSÒRÒSÒS Ò<SÒ?S Ó SÓS	ÓS(	c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )rg   r#  r$  r%  r.   rl   zstr | FORMATr-  zstr | METHODr&  rx   r1  r[   r3  ri   rk   )rl   s   "rG   rm   rm   t  sY   € ÷ Xñ Xà+ðXð
 ðXð ðXð ðXð ðXð 
ðXð ñXrn   c                óŽ  aaaaaaa€ \        VVVVVV	V
VR 7      oV P                  \        4       \        P	                  R4       \        V 4      oS Uu/ uF  qÌSV,          bK  	  upo\        V SSVVR\        P                  R7      o\        V \        .4      P                  4        UUu/ uF  w  rÞVS9   g   K  WÞbK  	  uppo\        S4      ^ 8”  g   Q R4       h\        SP                  4       4      p\        P                  ! 4       o\        4       '       dA   ^ RIHp V! R4      p\%        ^\'        ^VP(                  VP*                  ,          4      4      pM^p\,        P.                  ! R4      pVe    \'        ^\1        V4      4      pMTp\5        \7        VR	7      \        P9                  V4      P;                  4       4      ;_uu_ 4       w  poVVVVVVV3R
 lpVP=                  VV4       F  pK  	  RRR4       \        P	                  R4       S# u upi u uppi   \2         d    Tp L¡i ; i  + '       g   i     LE; i))r.  r/  rl   r-  r0  r1  r2  r3  zPacking model...T)r"  r#  r%  r&  r'  rÆ   z(No quantized modules found in the model.)ÚDevicerñ  ÚGPTQMODEL_MAX_PACKERSN)Úmax_workersc           
     ó�   <€ SP                  4        SP                  R V  24      P                  4        \        V SSSSSSR7       R# )zPacking )rF   r÷  r#  rë   rû  rá  rÖ  N)rk  ÚtitleÚdrawr  )rF   rá  r²  Úpbr÷  r"  rû  r#  s   &€€€€€€€rG   ÚwrapperÚpack_model.<locals>.wrapperº  sE   ø€ à�G‰GŒIØ�H‰H�x ˜vÐ&Ó'×,Ñ,Ô.ÜØØ!Ø)ØØ!1ØØ $÷rn   zModel packed.)r    rØ   r   rL  rM  rî   rS  r   r   râ   r  rã   ÚkeysÚ	threadingÚLockr-   Ú
device_smir  Úminrœ  r•  ÚcoresÚosÚgetenvrV   rö   r0   r   r  ÚmanualÚmap)r   r#  r.  r/  r%  rl   r-  r&  r0  r1  r2  r3  ÚnrF   Úquant_moduleÚnamesr  rñ  Údefault_max_packersÚenv_max_packersÚmax_packersÚexecutorr  r‰  rá  r²  r  r÷  r"  rû  s   &f&&&&&&&&&&            @@@@@@rG   Ú
pack_modelr   t  s  þ€ ô ØØØØ!ØØØØô	€Dð 
‡H�HŒS„Mä‡H�HÐÔ ä˜5Ó!€Gá&2Ó3¡l �'˜!•*Š}¡lÑ3€GÜ!ØØØ!ØØ!ØÜ�z‰zôÐô #/¨u´Ð6GÓ"H×"NÑ"NÔ"Pôá"PÑˆDØ�<Ñô 	ˆÒÙ"Pò€Hô ˆx‹=˜1ÔÐHÐHÓHÐä�—‘“Ó!€EÜ�>Š>Ó€Dä×ÒÝ%Ù�U‹mˆÜ! !¤S¨¨C¯I©I¸¿	¹	Õ,AÓ%BÓCÑàÐä—i’iÐ 7Ó8€OØÒ"ð	.Ü˜a¤ _Ó!5Ó6‰Kð *ˆä	Ô¨KÔ8¼#¿&¹&À»-×:NÑ:NÓ:P×	QÔ	QÑUcÐV^Ð`b÷	ó 	ð —‘˜g uÖ-ˆAÙñ .÷ 
Rô$ ‡H�Hˆ_ÔØÐùòs 4ùóøô, ô 	.Ø-ŠKð	.ú÷
 
R×	Qús0   ÁHÂ+HÂ;HÅ7H! Ç)H4È!H1È0H1È4I	c               ó    € V ^8„  d   QhRRRR/# )rg   r   r¿   rj   zset[str]rk   )rl   s   "rG   rm   rm   Ï  s   € ÷ ñ  Yð °8ñ rn   c                óø  a€ \        V RR4      ;'       g    Rp\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pV'       g   \        4       # \        4       p. V P                  4       OV P	                  4       O5pV Fp  w  op\
        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       g   KH  VP                  SP                  R^4      ^ ,          4       Kr  	  V# )zEResolve Transformers no-placement parameter patterns to leaf modules.Ú_no_placement_paramsc              3  ój   "  € T F)  p\        V\        4      '       g   K  V'       g   K%  Vx € K+  	  R # 5ir@   )rÑ   rx   )rE   Úpatterns   & rG   rH   Ú,no_placement_module_names.<locals>.<genexpr>Ó  s    é € Ð]©H ¼
À7ÌC×8P”WÔU\—W’W«Hùs   ‚3Ÿ3©
3c              3  óf   <"  € T F&  pSV8H  ;'       g    SP                  R V 24      x € K(  	  R# 5i©r³   N)r  )rE   r%  Útensor_names   & €rG   rH   r&  Ú  s5   øé € ÐeÑ\dÐQXˆ{˜gÑ%×LÐL¨×)=Ñ)=ÀÀ'À¸mÓ)LÔLÓ\dùs   ƒ1”1TFr³   rk   )r¯   rä   r  Únamed_parametersÚnamed_buffersr—  r  Úrsplit)r   Úpatternsr  Útensorsr‰  r)  s   &    @rG   Úno_placement_module_namesr/  Ï  sÂ   ø€ ô �uÐ4°bÓ9×?Ð?¸R€HßŒuÑ]©HÓ]�u‰uÑ]©HÓ]Ó]€HßÜ‹uˆä‹E€EØA�×&Ñ&Ó(ÐA¨5×+>Ñ+>Ó+@ÑA€GÛ!‰ˆ�Qß‹3ÔeÑ\dÓe�3�3Š3ÔeÑ\dÓe×eÔeØ�I‰I�k×(Ñ(¨¨aÓ0°Õ3Ö4ñ "ð €Lrn   c               ó    € V ^8„  d   QhRRRR/# )rg   Ú
device_mapúDict[str, Union[str, int]]rj   ÚNonerk   )rl   s   "rG   rm   rm   ß  s   € ÷ 	+ñ 	+Ð6Pð 	+ÐUYñ 	+rn   c                ó  € \        V R R7       Fs  pW9  d   K  V'       d   V R2MRp\        V 4       FJ  pW18w  g   K  VP                  V4      '       g   K$  W,          W,          8X  g   K9  V P                  V4       KL  	  Ku  	  R# )z=Remove child entries already covered by a same-device parent.c                ó$   € V P                  R 4      # ©r³   ©r•  ©Úitems   &rG   Ú<lambda>Ú7_remove_redundant_device_map_children.<locals>.<lambda>â  s   € °D·J±J¸s´Orn   r–  r³   rê   N)Úsortedrã   rÿ   Úpop)r1  rF   r  r÷   s   &   rG   Ú%_remove_redundant_device_map_childrenr>  ß  sn   € ô �zÑ'C×DˆØÔ!Ùß#�D�6˜‘¨ˆÜ˜zÖ*ˆJØÖ! j×&;Ñ&;¸F×&CÔ&CÈ
ÕH^ÐblÕbrÖHrØ—‘˜zÖ*ó +ó	 Ern   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )rg   r   r¿   r1  r2  Úancestor_namerx   Útarget_nameÚancestor_devicezUnion[str, int]rj   r3  rk   )rl   s   "rG   rm   rm   ë  sL   € ÷ Vñ VØðVà*ðVð ðVð ð	Vð
 %ðVð 
ñVrn   c                ó  € TpWS8w  dü   V'       g   T MV P                  V4      pV'       g   TMV\        V4      ^,           R pVP                  R^4      ^ ,          p. VP                  RR7      OVP	                  RR7      O F'  w  ršV'       d   V RV	 2MT	pVP                  W´4       K)  	  VP                  4        F/  w  rÊV'       d   V RV 2MTpWÈ8w  g   K  VP                  W´4       K1  	  V'       d   V RV 2MTpEK  R# )zIReplace one parent mapping with non-overlapping branches around a target.Nr³   FrÁ   )Úget_submoduler  r¶   r*  r+  rz  rì   )r   r1  r@  rA  rB  Úcurrent_nameÚcurrent_moduleÚrelative_targetÚ
path_childÚ
param_namer‰  Ú	full_namer÷   s   &&&&&        rG   Ú_split_device_map_around_modulerK  ë  s  € ð !€LØ
Ô
%ß&2™¸×8KÑ8KÈLÓ8Yˆß-9™+¸{Ì3È|ÓK\Ð_`ÕK`ÐKaÐ?bˆØ$×*Ñ*¨3°Ó2°1Õ5ˆ
ð }˜~×>Ñ>ÀuÐ>ÓMÐ|ÐP^×PlÑPlÐuzÐPlÓP{Ó|‰MˆJß:F˜<˜.¨¨*¨Ñ6ÈJˆIØ×!Ñ! )Ö=ñ }ð ,×:Ñ:Ö<‰MˆJß:F˜<˜.¨¨*¨Ñ6ÈJˆIØÖ'Ø×%Ñ% iÖAñ =÷
 :F˜,˜ q¨¨Ñ5È:‹ñ &rn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r   r¿   r1  r2  rj   rk   )rl   s   "rG   rm   rm     s#   € ÷ ñ ¨Ið ÐC]ð Ðb|ñ rn   c           	     ód  € \        V4      p\        V4       \        V 4       Fz  pV Uu. uF1  pWC8w  g   K  V'       d   VP                  V R24      '       g   K/  VNK3  	  pp\	        VR RR7       F#  pVP                  V4      p\        V VVVV4       K%  	  RW#&   K|  	  \        V4       V# u upi )zCBuild a non-overlapping load map with excluded leaf modules on CPU.r³   c                ó$   € V P                  R 4      # r6  r7  r8  s   &rG   r:  Ú2apply_no_placement_to_device_map.<locals>.<lambda>  s   € ÀÇ
Á
È3Ärn   T)rƒ   Úreverserñ  )rá   r>  r/  rÿ   r<  r=  rK  )r   r1  Úresultrü   rF   Ú	ancestorsr@  rB  s   &&      rG   Ú apply_no_placement_to_device_maprS    sÆ   € ô �*Ó€FÜ)¨&Ô1Ü0°Ö7ˆñ ó
á�ØÑ"ô ç,0°K×4JÑ4JÈdÈVÐSTÈ:×4V÷ ˆDÙð 	ð 
ô
 $ IÑ3OÐY]×^ˆMØ$Ÿj™j¨Ó7ˆOÜ+ØØØØØöñ _ð $ˆÓñ# 8ô$ *¨&Ô1Ø€Mùò%
s   ©B-¶B-¾B-ÁB-c                ó¸  aa€ ^ RI HpHp \        S4      oRS9   ;'       d    \	        S4      ^8H  p\
        ;QJ d*    R SP                  4        4       F  '       d   K   RM	  RM! R SP                  4        4       4      pV'       g	   V'       dQ   \        \        SP                  4       4      4      pV P                  \        P                  ! V4      4      p SV n        V # \        P                  P                  P!                  V 4      p\#        SP                  4       4      R08X  g!   \#        SP                  4       4      RR08X  d   RpM/SP                  4        Uu. uF  qfR9  g   K  VNK  	  up^ ,          p\%        V 4      p	\        V P'                  4       4      p
SP)                  4        UUu. uF!  w  r¶VR8X  g   K  W¹9  g   K  Wº9   g   K  W¶3NK#  	  pppRp\+        V4       F0  w  pw  op\-        V S4      p\        P.                  ! WøVR	7      w  ppK2  	  \	        V4      ^8”  d)   V\-        W^ ,          ^ ,          4      P0                  n        SP)                  4        F¶  w  opSR8X  d   K  V
P5                  S4      pVf   K&  VR8w  g   K/  \        P                  ! V4      p\6        ;QJ d.    VV3R
 lSP)                  4        4       F  '       g   K   RM#	  RM! VV3R
 lSP)                  4        4       4      pV! VRV'       * R7      pV! VV4       K¸  	  \        P                  P                  P9                  W4       SV n        V # u upi u uppi )r   )ÚAlignDevicesHookÚadd_hook_to_modulerê   c              3  ó*   "  € T F	  qR9   x € K  	  R# 5i)rñ  N)rñ  Úmpsrk   )rE   Úds   & rG   rH   Ú(simple_dispatch_model.<locals>.<genexpr>'  s   é € ð  Ù%8 ˆ^ÖÓ%8ùs   ‚FTrñ  ÚdiskN)Úexecution_deviceÚprev_module_hookc              3  óx   <"  € T F/  w  rVP                  S R 24      ;'       d    VSS,          8g  x € K1  	  R# 5ir(  ©rÿ   )rE   r÷   Úchild_devicer1  r  s   &  €€rG   rH   rZ  V  s@   øé € ð )á0BÑ,�Jð ×%Ñ%¨¨¨1 gÓ.×PÐP°<À:ÈaÅ=Ñ3PÔPÛ0Bùs   ƒ!:¥:)Úio_same_deviceÚplace_submodules)rñ  r[  )Úaccelerate.hooksrU  rV  rá   r  ÚallÚvaluesrk  ÚiterrØ   rC   rÆ   Úhf_device_maprÔ   rÕ   ÚmodelingÚfind_tied_parametersr  r/  rõ   râ   r
  r  Úcpu_offload_with_hookÚ_hf_hookr]  r‚   r—  Úretie_parameters)r   r1  rU  rV  Úsingle_rootÚall_single_cpu_or_mpsrY  Útied_paramsÚmain_deviceÚresident_cpu_modulesÚmodule_namesr  Úcpu_offload_groupÚ	prev_hookÚidxrø   r‰  Úhas_other_device_childÚhooks   &f         `       rG   Úsimple_dispatch_modelrx  "  sô  ù€ ßEä�jÓ!€JØ˜
Ñ"×;Ð;¤s¨:£¸!Ñ';€Kß›Cñ  Ø%/×%6Ñ%6Ô%8ó ŸCŸCšCñ  Ø%/×%6Ñ%6Ô%8ó ó Ð÷ ×+Ü”�j×'Ñ'Ó)Ó*Ó+ˆØ—‘œŸš a›Ó)ˆØ(ˆÔØˆô ×"Ñ"×+Ñ+×@Ñ@ÀÓG€KÜ
ˆ:×ÑÓÓ E 7Ô*¬c°*×2CÑ2CÓ2EÓ.FØØðKô /ð ‰à",×"3Ñ"3Ô"5ÓRÑ"5˜QÀ/Ñ9Q—q�qÑ"5ÑRÐSTÕUˆô 5°UÓ;ÐÜ˜×+Ñ+Ó-Ó.€Lð ×$Ñ$Ô&ôá&‰DˆAØ�‰:ô 	àÑ7ô 	à<=Ñ<Mô 	ˆ‹Ù&ð ñ ð
 €IÜ Ð!2Ö3‰ˆ‰Vˆa�Ü% e¨QÓ/ˆÜ!×7Ò7¸ÐjsÔt‰ˆŠ9ñ 4ô ÐÓ Ô!Ø^gÔ! %¸1Õ)=¸aÕ)@ÓA×JÑJÔ[à× Ñ Ö"‰ˆˆ1Ø�Œ7ÙØ×Ñ˜QÓˆØŠ9áØ�Ž:Ü—’˜Q“ˆAß%(£Sõ )à0:×0@Ñ0@Ô0Bó)§S§S¢Sõ )à0:×0@Ñ0@Ô0Bó)ó &Ð"ñ
 $ A°dÐQgÔMgÔhˆDÙ˜q $Ö'ñ #ô  ×Ñ×Ñ×.Ñ.¨uÔBà$€EÔà€LùòO Sùós$   ÅMÅ+MÆ2MÇMÇ
MÇMc               ó$   € V ^8„  d   QhRRRRRR/# ©rg   Úuse_act_orderr[   rÖ  r    Úmax_input_lengthúOptional[int]rk   )rl   s   "rG   rm   rm   e  s'   € ÷ Xñ X°ð XÈð XØ*7ñXrn   c                ó   € \        WW#4      # r@   )Úgptqmodel_post_init)r   r{  rÖ  r|  s   &&&&rG   Úhf_gptqmodel_post_initr€  e  s   € ä˜u°_ÓWÐWrn   c               ó$   € V ^8„  d   QhRRRRRR/# rz  rk   )rl   s   "rG   rm   rm   j  s"   € ÷ ?ñ ?¨dð ?À^ð ?Ø*7ñ?rn   c           
     ó(  € / pRpV P                  4        Fê  w  rg\        V\        4      '       dH   RpVP                  P                  pVP                  4       p	\        W”P                  V^ 4      4      WH&   Kb  \        V\        4      '       g   Kz  RpVP                  P                  pTP                  T;'       g    R\        \        P                  ! R^4      4      R7      p	\        W”P                  V^ 4      4      WH&   Kì  	  V'       d3   ^RIHp
 / pVP                  4        F  w  rŒV
! WÈR7      W¸&   K  	  W°n        Ve°   \!        VP"                  VP$                  4      \&        P(                  8H  pV P                  4        Fj  w  rg\        V\*        4      '       g   K  VP,                  ^8X  g   K0  VP.                  V8w  g   KC  \1        RV R	VP.                   R
VP"                   R24      h	  V P                  4        F„  w  rç\        V\        \        34      '       d<   VP                  P                  pVP3                  V P                  V,          R7       K\  \        V\4        4      '       g   Kt  VP3                  4        K†  	  \7        4        V # )zY
Initialize model-persistent backend scratch buffers after quantized weights are loaded.
FTi   ÚAWQ_BATCH_SIZE)Úmax_input_lenÚmax_batch_size)ÚScratchSpace)Úscratch_bytesÚdevÚ`z2`: 3-bit quant module was constructed with planar=z but the checkpoint format is `zp`; the continuous and planar 3-bit layouts are not interchangeable. Pass `format=` when constructing the module.)Úscratch_space)rõ   rÑ   r   ÚqweightrÆ   Úscratch_space_fixedrœ  r‚   r   rV   r  r  Úutils.exllamav2r†  râ   Údevice_tensorsr,   rl   rA  r   ÚGPTQ_Pr   r.  r¹  rö   Ú	post_initr   r<   )r   r{  rÖ  r|  Úfixed_bytesÚmodel_uses_exllamav2rF   rU  rÆ   Úscratch_fixedr†  rŽ  r‡  Úexpect_planar3r‰  s   &&&&           rG   r  r  j  s@  € ð
 €KØ Ðà ×.Ñ.Ö0‰ˆÜ�i¤×1Ò1Ø#'Ð Ø×&Ñ&×-Ñ-ˆFØ%×9Ñ9Ó;ˆMÜ"% m·_±_ÀVÈQÓ5OÓ"PˆKÓÜ˜	Ô#5×6Ô6Ø#'Ð Ø×&Ñ&×-Ñ-ˆFØ%×9Ñ9Ø.×6Ð6°$Ü"¤2§9¢9Ð-=¸qÓ#AÓBð :ó ˆMô #& m·_±_ÀVÈQÓ5OÓ"PˆKÓñ 1÷ Ý2ð ˆØ%0×%6Ñ%6Ö%8Ñ!ˆFÙ%1ÀÔ%ZˆNÓ"ñ &9ð  .Ôð Ò"Ü-¨o×.DÑ.DÀo×F\ÑF\Ó]Ôag×anÑanÑnˆØ$×2Ñ2Ö4‰OˆDä˜9¤o×6Ô6Ø—N‘N aÖ'Ø×$Ñ$¨Ö6ä Ø˜�vÐOÐPY×P`ÑP`ÐOað b5Ø5D×5KÑ5KÐ4Lð M/ð/óð ñ  5ð ×+Ñ+Ö-‰ˆÜ�i¤/Ô3EÐ!F×GÒGØ×&Ñ&×-Ñ-ˆFØ×Ñ¨e×.BÑ.BÀ6Õ.JÐÖKÜ˜	¤?×3Ô3Ø×ÑÖ!ñ .ô Ôà€Lrn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   Úmodel_id_or_pathrx   Ú
extensionsz	List[str]Úpossible_model_basenamesrk   )rl   s   "rG   rm   rm   ¬  s'   € ÷ B=ñ B= cð B=°yð B=Ð\eñ B=rn   c           
     ó   € . pRpRp\         P                  P                  V 4      '       Ed   V EF  pV Fù  pW‡,           R,           p	VP                  V	4       \         P                  P	                  W	4      p
\         P                  P                  V
4      '       d"   V
P                  VR,           R4      pRW¨3u u # \         P                  P	                  W4      pVP                  W‡,           4       \         P                  P                  W·,           4      '       g   Kë  W·,           pRWX3u u # 	  EK  	  EM	RpV EF   pV Fö  pW‡,           R,           p	\        V V	3/ VB pVP                  V	4       Ve…   \        \        V4      4      ;_uu_ 4       p\        P                  ! V4      p\        \        VR,          P                  4       4      4      pV F  p\        V V3/ VB pK  	  RWØ3uuRRR4       u u # \        V W‡,           3/ VB pVf   TpVP                  W‡,           4       Vf   Kî  TpRWX3u u # 	  EK  	  Vf"   \        RV  RR	P	                  V4       R
24      hRWV3#   + '       g   i     EK:  ; i)zý
Retrives (and if necessary downloads from Hugging Face Hub) the model checkpoint. Sharding is supported. All the `possible_model_basenames` (e.g. `["model", "model-4bit-gptq"]`) will be explored over all `extensions` (e.g. `[".bin", ".safetensors"]`).
Nú.index.jsonrê   TFÚ
weight_mapzCould not find a model in z with a name in r6  zG. Please specify the argument model_basename to use a custom file name.)r  rˆ   Úisdirr  rN  ÚisfileÚreplacer   Úopenrx   ÚjsonÚloadrã   r  re  ÚFileNotFoundError)r–  r—  r˜  Úcached_file_kwargsÚsearched_filesÚresolved_archive_fileÚtrue_model_basenameÚextÚpossible_model_basenameÚshard_index_nameÚpossible_index_fileÚmodel_save_nameÚtempÚshard_indexÚfÚ
index_jsonÚshardsÚshards   &&&,              rG   Úget_checkpointsr²  ¬  sy  € ð €NØ ÐØÐä	‡w�w‡}�}Ð%×&Ó&ÜˆCÛ+CÐ'Ø#:Õ#@À=Õ#PÐ Ø×%Ñ%Ð&6Ô7Ü&(§g¡g§l¡lÐ3CÓ&VÐ#Ü—7‘7—>‘>Ð"5×6Ò6à.A×.IÑ.IÈ#ÐP]ÕJ]Ð_aÓ.bÐ+ØÐ!4ÐMÔMä&(§g¡g§l¡lÐ3CÓ&]�OØ"×)Ñ)Ð*AÕ*GÔHÜ—w‘w—~‘~ oÕ&;×<Ô<Ø0?Õ0EÐ-Ø$Ð&;ÐTÔTô ,Dó ð  ˆÜˆCÛ+CÐ'Ø#:Õ#@À=Õ#PÐ Ü)Ø$Ø$ñð )ñ�ð
 ×%Ñ%Ð&6Ô7ØÒ*äœc +Ó.×/Ô/°1Ü%)§Y¢Y¨q£\˜
ä!%¤c¨*°\Õ*B×*IÑ*IÓ*KÓ&LÓ!M˜Û%+˜EÜ4?Ø 0Ø %ñ5ð #5ñ5Ò1ñ &,ð  $ [ÐI÷ 0Ö/ô -8Ø(Ø/Õ5ñ-ð -ñ-Ð)ð
 -Ò4Ø04Ð-Ø"×)Ñ)Ð*AÕ*GÔHØ,Ô8Ø4˜Ø$Ð&;ÐTÔTôA ,Dñ ðF Ò$ÜØ(Ð)9Ð(:Ð:JÈ4Ï9É9ÐUcÓKdÐJeð  fmð  nó
ð 	
ð Ð'Ð<Ð<÷; 0×/Ñ/ús   ÆAI+	É+I=c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rg   Úconfigr   rÆ   r   Úquant_inferencer[   rj   ri   rk   )rl   s   "rG   rm   rm   ò  s,   € ÷ /ñ /Ð'ð /Øð/à $ð/à1<ñ/rn   c                óŒ  € \        V\        4      '       g   Q hV\        P                  \        P                  39   d&   \        P                  R 4       \        P                  # V\        P                  39   d&   \        P                  R4       \        P                  # \        V 4      pV'       d/   \        V\        P                  4      '       g   \        RV 24      hV\        P                  \        P                  39   d&   \        P                  R4       \        P                  # V\        P                  8X  d&   \        P                  R4       \        P                  # V\        P                  8X  d&   \        P                  R4       \        P                  # \        P                  RV R24       \        P                  # )z0Loader: Auto dtype (MPS or XPU): `torch.float16`z8Loader: Auto dtype (CPU + Torch Fused): `torch.bfloat16`z/dtype in config must be a torch.dtype, but got z8Loader: Auto dtype (float32 down-cast): `torch.bfloat16`z4Loader: Auto dtype (native float16): `torch.float16`z6Loader: Auto dtype (native bfloat16): `torch.bfloat16`zLoader: Auto dtype (native = `z`): `torch.bfloat16`)rÑ   r   ÚMPSÚXPUrL  rM  rC   rN   r   rR   r2   rh   rö   rL   rP   )r´  rÆ   rµ  rh   s   &&& rG   Ú
auto_dtyper¹  ò  s3  € ô �fœf×%Ò%Ð%Ð%ð
 ”&—*‘*œfŸj™jÐ)Ô)Ü�‰ÐCÔDÜ�}‰}Ðð ”&—*‘*�ÔÜ�‰ÐKÔLÜ�~‰~Ðô   Ó'€Eß”Z ¤u§{¡{×3Ò3ÜÐJÈ5È'ÐRÓSÐSà”—‘¤§¡Ð.Ô.Ü�‰ÐKÔLÜ�~‰~ÐØ	”%—-‘-Ô	Ü�‰ÐGÔHÜ�}‰}ÐØ	”%—.‘.Ô	 Ü�‰ÐIÔJÜ�~‰~Ðô 	�‰Ð1°%°Ð8LÐMÔNÜ�~‰~Ðrn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   Úlayer_modulesr	   rd   rV   rj   rk   )rl   s   "rG   rm   rm   %  s!   € ÷ $ñ $¨ð $¸Cð $ÀDñ $rn   c                ó(  € . pV  F‰  pVP                  . 4       V Fo  p\        V9   dJ   \        V4       F8  pVR,          P                  VP                  \        \	        V4      4      4       K:  	  KW  VR,          P                  V4       Kq  	  K‹  	  V# )rp   r  )r  r   r  rž  rx   )r»  rd   Únew_inside_layer_modulesr  r  r  s   &&    rG   Úget_moe_layer_modulesr¾  %  s„   € Ø!ÐÛˆØ ×'Ñ'¨Ô+ÛˆAÜ'¨1Ô,Ü" ;Ö/�EØ,¨RÕ0×7Ñ7¸¿	¹	ÔBZÔ\_Ð`eÓ\fÓ8gÖhó 0ð )¨Õ,×3Ñ3°AÖ6ó ñ ð $Ð#rn   c                óø   € \        V \        4      '       d/   V R ,          ^8”  g   RV R,          9   g   RV R,          9   d   R# R# V P                  ^8”  g#   RV P                  9   g   RV P                  9   d   R# R# )r.  ÚfpÚ	data_typerM   FT)rÑ   rá   r.  rÁ  )r´  s   &rG   Úcheck_to_quantizedrÂ  3  se   € Ü�&œ$×ÒØ�&�>˜AÔ ¨°Õ)<Ô!<ÀÈ6ÐR]ÕK^Ô@^ÙÙà�;‰;˜Œ?˜d f×&6Ñ&6Ô6¸'ÀV×EUÑEUÔ:UÙÙrn   c                ó4  € \         P                  ! V R R7       \         P                  P                  V4      '       d}   \         P                  ! V4       Uu. uF  q3P                  R4      '       g   K  VNK  	  ppV F7  p\        P                  ! \         P                  P                  W%4      V 4       K9  	  R# \        V4      pVP                   F>  pVP                  P                  V4      '       g   K&  \        VVP                  V R7      pK@  	  R# u upi )T)Úexist_okú.py)Úrepo_idÚfilenameÚ	local_dirN)r  Úmakedirsrˆ   rœ  Úlistdirr  ÚshutilÚcopy2rN  r4   ÚsiblingsÚ	rfilenamer3   )Úsave_dirÚfile_extensionr–  r®  Úpy_filesÚfileÚremote_model_infor‰  s   &&&     rG   Úcopy_py_filesrÔ  >  sÅ   € Ü‡K‚K� 4Õ(ä	‡w�w‡}�}Ð%×&Ò&Ü!ŸzšzÐ*:Ô;ÓQÑ;˜!¿z¹zÈ%×?P—A�AÑ;ˆÐQÛˆDÜ�LŠLœŸ™Ÿ™Ð&6Ó=¸xÖHó ô 'Ð'7Ó8ÐØ%×.Ô.ˆDØ�~‰~×&Ñ& ~×6Ô6Ü#Ø,Ø!Ÿ^™^Ø&ô’ó /ùò Rs   ÁDÁ3Dc                ó  a a€ \         P                  P                  S 4      '       d,   \        VV 3R  l\         P                  ! S 4       4       4      pM,\        S RR7      p\        V3R lVP                   4       4      pVR,          pV# )c              3  ó‚  <"  € T F´  p\         P                  P                  \         P                  P                  SV4      4      '       g   KH  \         P                  P	                  V4      ^,          S9   g   Ku  \         P                  P                  \         P                  P                  SV4      4      x € K¶  	  R# 5i)rp   N)r  rˆ   r�  rN  ÚsplitextÚgetsize)rE   r®  rÐ  Úpre_quantized_model_paths   & €€rG   rH   Ú'get_model_files_size.<locals>.<genexpr>R  s†   øé € ð '
á9�Ü�w‰w�~‰~œbŸg™gŸl™lÐ+CÀQÓG×Hô GäMOÏWÉW×M]ÑM]Ð^_ÓM`ØõNØ$ñN%ô GŒB�G‰G�O‰OœBŸG™GŸL™LÐ)AÀ1ÓE×FÐFÛ9ùs   ƒAB?Á(B?Á:AB?T)Úfiles_metadatac              3  óÖ   <a"  € T F]  o\         ;QJ d    V3R  lS 4       F  '       g   K   RM	  RM! V3R  lS 4       4      '       g   KE  SP                  ;'       g    ^ x € K_  	  R# 5i)c              3  óZ   <"  € T F   pSP                   P                  V4      x € K"  	  R # 5ir@   )rÎ  r  )rE   r§  Ú	file_datas   & €rG   rH   Ú1get_model_files_size.<locals>.<genexpr>.<genexpr>]  s%   øé € ÐOÁ¸�9×&Ñ&×/Ñ/°×4Ð4Ãùs   ƒ(+TFN)r—  Úsize)rE   rÞ  rÐ  s   &@€rG   rH   rÚ  Z  sG   ùé € ð '
á7�	ß‹sÔOÁÓO�s�sŠsÔOÁÓO×Oô !ˆY�^‰^× Ð ˜qÔ Û7ùs   „A)”A)«A)ÁA)ÁA)i   )r  rˆ   rœ  ÚsumrÊ  r4   rÍ  )rÙ  rÐ  Úpre_quantized_size_bytesrÓ  Úpre_quantized_size_mbs   ff   rG   Úget_model_files_sizerä  P  s{   ù€ Ü	‡w�w‡}�}Ð-×.Ò.Ü#&õ '
ä—Z’ZÐ 8Ô9ó'
ó $
Ñ ô 'Ð'?ÐPTÔUÐÜ#&ô '
à.×7Ò7ó'
ó $
Ð ð
 5¸ÕDÐØ Ð rn   c           
     ó|  € R \         P                  R\         P                  R\         P                  R\         P                  R\         P
                  /p\        P                  V 4      pV'       dM   VP                  4       w  rE\        P                  ! V4      p\        P                  ! V4      pW$,          ! W4      # R# )z<=z>=z==Ú<Ú>N)ÚoperatorÚleÚgeÚeqÚltÚgtÚ_REQUIRES_VERSION_REÚmatchÚgroupsr   Úparse)Úrequires_versionÚcurrent_versionÚOPERATOR_MAPrï  Ú	op_symbolÚrequired_versions   &&    rG   Úcheck_requires_versionr÷  b  s‰   € àŒh�k‰kØŒh�k‰kØŒh�k‰kØŒX�[‰[ØŒX�[‰[ð€Lô !×&Ñ&Ð'7Ó8€EßØ&+§l¡l£nÑ#ˆ	Ü!Ÿ-š-¨Ó8ˆÜ"Ÿ=š=Ð)9Ó:ÐØÖ& ÓIÐIárn   c                  ó   € ] tR tRtRtRtRtR# )ÚMODALITYit  ÚtextÚimage_to_textrk   N)r�   rž   rŸ   r    ÚTEXTÚIMAGE_TO_TEXTr£   rk   rn   rG   rù  rù  t  s   † Ø€DØ#„Mrn   rù  c               ó    € V ^8„  d   QhRRRR/# )rg   rJ  rx   rj   zTuple[str, str]rk   )rl   s   "rG   rm   rm   z  s   € ÷ ñ  Sð ¨_ñ rn   c                óJ   € R V 9   d   V P                  R ^4      w  rW3# RT r!W3# )r³   rê   )r,  )rJ  Úmodule_pathÚleafs   &  rG   Ú_split_parameter_pathr  z  s<   € Ø
ˆiÔØ%×,Ñ,¨S°!Ó4Ñˆð ÐÐð  	�TØÐÐrn   c                ó^  € V'       g   V .# VP                  R4      p. p\        \        V4      ^ R4       FE  pRP                  VRV 4      pVP	                  \
        P                  P                  W4      4       KG  	  VP	                  \
        P                  P                  V R4      4       V# )z‡
Generate fallback paths:
'a.b.c' -> ['gptqmodel_offload/a.b.c', 'gptqmodel_offload/a.b', 'gptqmodel_offload/a', 'gptqmodel_offload/']
r³   Nrê   r  )r¶   r  r  rN  r  r  rˆ   )Úoffload_rootr   ÚpartsÚpathsÚiÚsubs   &&    rG   Ú_generate_offload_search_pathsr	  ‚  sŠ   € ÷
 Øˆ~Ðà×Ñ˜cÓ"€EØ€Eä”3�u“:˜q "Ö%ˆØ�h‰h�u˜R˜a�yÓ!ˆØ�‰”R—W‘W—\‘\ ,Ó4Ö5ñ &ð 
‡L�L”—‘—‘˜l¨BÓ/Ô0à€Lrn   c                óØ   € V.pV '       d_   V P                  R4      p\        \        V4      ^,
          RR4       F,  pRP                  W4R 4      pVP	                  V RV 24       K.  	  V# )a©  
Generate fallback entry keys for lookup inside `index`.

Given:
    module_path = "code2wav.upsample.0.1"
    leaf = "gamma"

This function produces a list of possible lookup keys, ordered from
least specific to most specific, so that the caller can try them in order.

Example output:
    [
        "gamma",
        "1.gamma",
        "0.1.gamma",
        "upsample.0.1.gamma",
        "code2wav.upsample.0.1.gamma",
    ]
r³   Nr  )r¶   r  r  rN  r  )r   r  r  r  r  Úsuffixs   &&    rG   Ú_generate_entry_keysr  –  si   € ð( ˆ6€DßØ×!Ñ! #Ó&ˆÜ”s˜5“z !•| R¨Ö,ˆAØ—X‘X˜e B˜iÓ(ˆFØ�K‰K˜6˜( ! D 6Ð*Ö+ñ -ð €Krn   c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )rg   r  rx   r   r  rh   ri   Ú
shape_hintrŠ   Úindex_cachezDict[str, Optional[Dict]]rj   zOptional[OffloadTensorRef]rk   )rl   s   "rG   rm   rm   ³  sW   € ÷ cñ cØðcàðcð ðcð ð	cð
  ðcð +ðcð  ñcrn   c                ó°  € V '       g   R # \        W4      pR pV Fž  pVP                  V4      pVe    Mˆ\        P                  P	                  VR4      p	\        P                  P                  V	4      '       g   R WX&   Ke  \        V	RRR7      ;_uu_ 4       p
\        P                  ! V
4      pR R R 4       WuV&    M	  V'       g   R # \        W4      pR pV F  pVP                  V4      pVf   K   M	  Vf   R # \        VP                  R4      V4      pRV9   d   \        VR,          4      pMTpWã8w  g   Wô8w  dP   V'       d   V RV 2MTp\        P                  P	                  XR4      p	\        RV R	V	 R
V RV RV RV R24      hVP                  R4      pV'       dÇ   Tp\        P                  P                  V4      '       g!   \        P                  P	                  XV4      pVP                  R4      pVe-   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\        \        P                  P                  V4      VVRVP                  RV4      VR7      # VP                  R4      pV'       dÊ   \        P                  P                  V4      '       d   TM\        P                  P	                  XV4      p\!        VP                  R^ 4      4      pT\#        V4      \$        P&                  ! T;'       g    R4      ,          ,           p\        \        P                  P                  V4      VVRR VV3R7      # \        P                  P	                  XV R24      p\        P                  P                  V4      '       g   R # \        \        P                  P                  V4      VVRR R R7      #   + '       g   i     EL!; i)Nz
index.jsonÚrúutf-8©Úencodingrh   r‹   r³   z&Offload metadata mismatch for tensor 'z' in 'z': expected dtype z and shape z, found dtype Úsafetensors_filer�   c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir@   )rV   )rE   Úxs   & rG   rH   Ú)_resolve_offload_entry.<locals>.<genexpr>ó  s   é € Ð4©G qœC ŸF˜F«Gùr;  ÚsafetensorsrŒ   )rˆ   r‰   r‹   rl   rŒ   r�   rÇ  rË  Údatz.datr”   )r	  r‚   r  rˆ   rN  r�  rŸ  r   r¡  r  r„   rä   rö   Úisabsr‡   ÚabspathrV   rv   r–   r—   )r  r   r  rh   r  r  Úsearch_pathsr  Ú
module_dirÚ
index_pathÚfhr  Úentryrƒ   Úresolved_dtyper‹   rF   r  rˆ   ÚoffsetsrÇ  ÚstartÚendÚ	data_paths   &&&&&&                  rG   Ú_resolve_offload_entryr'  ³  s@  € ÷ Ùä1°,ÓL€LØ€EÛ"ˆ
Ø—‘ 
Ó+ˆØÒÙä—W‘W—\‘\ *¨lÓ;ˆ
Ü�w‰w�~‰~˜j×)Ò)Ø&*ˆKÑ#Ùô �*˜c¨G×4Õ4¸Ü—I’I˜b“MˆE÷ 5ð #(�JÑÙñ #÷" Ùä Ó2€DØ€EÛˆØ—	‘	˜#“ˆØÔÙñ ð ‚}Ùä+¨E¯I©I°gÓ,>ÀÓF€NØ�%ÔÜ�e˜G•nÓ%‰àˆàÔ %Ô"5ß*5�+�˜a ˜vÑ&¸4ˆÜ—W‘W—\‘\ *¨lÓ;ˆ
ÜØ4°T°F¸&ÀÀð MØ#˜W K°
¨|ð <Ø)Ð*¨+°e°W¸Að?ó
ð 	
ð —y‘yÐ!3Ó4ÐßØˆÜ�w‰w�}‰}˜T×"Ò"Ü—7‘7—<‘< 
¨DÓ1ˆDØ—)‘)˜NÓ+ˆØÒß”eÑ4©GÓ4—e‘eÑ4©GÓ4Ó4ˆGÜÜ—‘—‘ Ó&Ø&ØØ ØŸ	™	 -°Ó6Ø ô
ð 	
ð �y‰y˜Ó$€HßÜŸ7™7Ÿ=™=¨×2Ò2‰x¼¿¹¿¹ÀZÐQYÓ8ZˆÜ�E—I‘I˜h¨Ó*Ó+ˆØÔ-¨nÓ=ÄÇ	Â	È%Ï-È-ÐSWÓ@XÕXÕYˆÜÜ—‘—‘ Ó&Ø&ØØØØ ˜ô
ð 	
ô —‘—‘˜Z¨D¨6°¨Ó7€IÜ�7‰7�>‰>˜)×$Ò$ÙäÜ�W‰W�_‰_˜YÓ'Ø"ØØØØôð ÷I 5×4Ð4ús   ÂOÏOc               ó$   € V ^8„  d   QhRRRRRR/# )rg   r   r¿   r  rx   rj   úDict[str, TensorSource]rk   )rl   s   "rG   rm   rm     s"   € ÷ 5ñ 5¨Ið 5ÀSð 5ÐMdñ 5rn   c                óæ  € \         P                  ! 4       p/ pV P                  4        Fµ  w  rE\        V4      w  rgR p\	        VRR4      '       g   VP
                  P                  R8X  dE   \        VVVVP                  \        VP                  4      V4      pVf   \        RV RV R24      hMTp\        WEP                  \        VP                  4      VR7      W$&   K·  	  V P                  4        Fü  w  rš\	        V
RR4      pV
P                  RR	7       FÔ  w  rÍWË9   d   K  V	'       d   V	 R
V 2MTpWB9   d   K&  \        V4      w  rg\	        VRR4      '       g   VP
                  P                  R8X  dE   \        VVVVP                  \        VP                  4      V4      pVf   \        RV RV R24      hMTp\        WMP                  \        VP                  4      VR7      W$&   KÖ  	  Kþ  	  V# )NrÃ   FrÄ   zOffloaded tensor 'z"' not found in offload directory 'z'.©rF   r‰   r‹   r¦   Ú_non_persistent_buffers_setrÁ   r³   zOffloaded buffer 'rk   )ÚcollectionsÚOrderedDictr*  r  r¯   rÆ   rÇ   r'  rh   rä   r‹   r¢  r¥   rõ   r+  )r   r  Ú
state_dictr  rF   rÉ   r   r  r¦   rü   r»   Únon_persistentÚbuffer_namerÊ   s   &&            rG   Ú _collect_state_dict_with_offloadr2    sü  € Ü*5×*AÒ*AÓ*C€JØ-/€Kà×-Ñ-Ö/‰ˆÜ1°$Ó7ÑˆØˆÜ�5˜) U×+Ò+¨u¯|©|×/@Ñ/@ÀFÔ/JÜ+ØØØØ—‘Ü�e—k‘kÓ"ØóˆFð Š~Ü'Ø(¨¨Ð.PÐQ]ÐP^Ð^`Ðaóð ð ð
 ˆFÜ'¨T¿{¹{ÔRWÐX]×XcÑXcÓRdÐmsÔtˆ
Óñ% 0ð.  %×2Ñ2Ö4ÑˆÜ  Ð)FÈÓKˆØ &× 4Ñ 4¸UÐ 4Ö CÑˆKØÔ,Ùß5@�k�] ! K =Ñ1ÀkˆDØÔ!ÙÜ 5°dÓ ;ÑˆKÜ�s˜I u×-Ò-°·±·±ÀFÔ1JÜ/Ø ØØØ—I‘IÜ˜#Ÿ)™)Ó$Øó�ð ’>Ü+Ø,¨T¨FÐ2TÐUaÐTbÐbdÐeóð ð "ð
 �Ü+°Ç9Á9ÔTYÐZ]×ZcÑZcÓTdÐmsÔtˆJÓó- !Dñ  5ð4 Ðrn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r   r¿   r  r}   rj   r)  rk   )rl   s   "rG   rm   rm   Q  s'   € ÷ Iñ I 9ð I¸Mð IÐUlñ Irn   c           	     óN  a€ V'       d   \        W4      pMð\        P                  ! 4       pV P                  4        F5  w  op\	        SVP
                  \        VP                  4      VR7      VS&   K7  	  V P                  4        F~  w  rE\        VRR4      pVP                  RR7       FV  w  rxWv9   d   K  V'       d   V RV 2MToSV9   d   K'  \	        SVP
                  \        VP                  4      VR7      VS&   KX  	  K€  	  \        P                  ! \        4      p	VP                  4        Fè  w  op
V
P                  p\        V\         4      '       d0   RVP"                  VP$                  ;'       g    SVP&                  3pMz\        V\(        P*                  4      '       dN   Tp\        VRR4      '       g   VP,                  P.                  R8X  d   R\1        V4      3pM R	\3        V4      3pMR\1        V4      3pWœ,          P7                  S4       Kê  	  V	P                  4        UUu/ uF  w  rï\9        V4      ^8”  g   K  WïbK  	  ppp\;        4       pVP=                  4        FÞ  pV P>                  e”   ^ p\A        V4       F‚  o\B        ;QJ d)    V3R lV P>                   4       F  '       g   K   RM	  RM! V3R lV P>                   4       4      pV'       g   K[  SV9   g   Kd  V^,          pV\9        V4      8  g   K  VS K„  	  ^ pV F2  oSV9   g   K  V^,          pV^8”  g   K  VS VPE                  S4       K4  	  Kà  	  \9        V4      ^ 8”  d$   \F        PH                  PK                  RV R24       V#   \4         d    R
\1        T4      3p ELœi ; iu uppi )zÔ
Filter weight-sharing tensors.
Referenced from transformers.modeling_utils.PreTrainedModel.save_pretrained.

See https://github.com/huggingface/transformers/blob/v4.38.2/src/transformers/modeling_utils.py#L2369
r+  r,  FrÁ   r³   r×   rÃ   rÄ   ÚstorageÚtensorÚotherc              3  ón   <"  € T F*  p\         P                  ! V4      P                  S4      x € K,  	  R # 5ir@   )ÚpcreÚcompileÚsearch)rE   ÚpatrF   s   & €rG   rH   Ú*get_state_dict_for_save.<locals>.<genexpr>„  s*   øé € Ð%iÑPhÈ¤d§l¢l°3Ó&7×&>Ñ&>¸t×&DÐ&DÓPhùs   ƒ25TzRemoved shared tensor zk while saving. This should be OK, but check by verifying that you don't receive any warning while reloadingrk   )&r2  r-  r.  r*  r¥   rh   rä   r‹   rõ   r¯   r+  Údefaultdictrã   râ   r¦   rÑ   r‡   rˆ   rŒ   r�   rC   rà   rÆ   rÇ   r  r   Ú	Exceptionr  r  r  re  Ú_tied_weights_keysr<  r—  r  rL  ÚwarnrÆ  )r   r  r/  rÉ   rü   r»   r0  r1  rÊ   Úptrsr!  r¦   rƒ   r6  Úptrr  Úshared_ptrsÚ
warn_namesÚfoundÚmatches_patternrF   s   &&                  @rG   Úget_state_dict_for_saverH  Q  s(  ø€ ÷ Ü5°eÓJ‰
ä ×,Ò,Ó.ˆ
Ø ×1Ñ1Ö3‰KˆD�%Ü+°À5Ç;Á;ÔV[Ð\a×\gÑ\gÓVhÐqvÔwˆJ�tÓñ 4ð $)×#6Ñ#6Ö#8ÑˆKÜ$ VÐ-JÈBÓOˆNØ$*×$8Ñ$8ÀÐ$8Ö$GÑ �ØÔ0Ùß9D˜+˜ a¨ }Ñ5È+�Ø˜:Ô%ÙÜ#/°TÀsÇyÁyÔX]Ð^a×^gÑ^gÓXhÐqtÔ#u�
˜4Ó ó %Hñ $9ô ×"Ò"¤4Ó(€DØ!×'Ñ'Ö)‰ˆˆeØ—‘ˆÜ�fÔ.×/Ò/Ø˜fŸk™k¨6×+=Ñ+=×+EÐ+EÀÀv×GZÑGZÐ[‰CÜ˜¤§¡×-Ò-ØˆFÜ�v˜y¨%×0Ò0°F·M±M×4FÑ4FÈ&Ô4PØœr &›zÐ*‘ð1Ø$Ô&7¸Ó&?Ð@‘Cð œB˜v›JÐ'ˆCØ�	×Ñ˜Öñ *ð" 15·
±
´ÔO±¡* #ÄÀEÃ
ÈQÁ”:�3’:±€KÑOÜ“€JØ×#Ñ#Ö%ˆð ×#Ñ#Ò/ØˆEÜ˜už�ß"%£#Ô%iÐPU×PhÒPhÓ%i§#§#¢#Ô%iÐPU×PhÒPhÓ%iÓ"i�ß"‘? t¨zÖ'9Ø˜Q•J�EØœs 5›zÖ)Ø& tÒ,ñ &ð ˆÛˆDØ�zÖ!Ø˜•
�Ø˜1–9Ø" 4Ð(Ø—N‘N 4Ö(ó ñ% &ô0 ˆ:ƒ˜ÔÜ�‰�‰Ø$ Z Lð  1\ð  ]ô	
ð ÐøôI !ô 1Ø#¤R¨£ZÐ0“Cð1üó Ps   Ç&NÈ/N!ÉN!ÎNÎNÚverify_shardsc               ó$   € V ^8„  d   QhRRRRRR/# )rg   Ú
checkpointústr | os.PathLikerI  r[   rj   zOptional[set[str]]rk   )rl   s   "rG   rm   rm   �  s$   € ÷ /ñ /Ø!ð/Ø59ð/àñ/rn   c               ó  € \         P                  ! V 4      p \         P                  P                  V 4      '       Edf   V P	                  R 4      '       dü   \        V RR7      ;_uu_ 4       p\        P                  ! V4      pRRR4       XP                  RV4      p\        V\        4      '       dž   V'       d‹   \        4       p\        VP                  4       4       Fa  p\        \         P                  P                  \         P                  P                  V 4      V4      4      pVf    R# VP!                  V4       Kc  	  V# \        V4      # R# V P	                  R4      '       d;   \#        V RRR7      ;_uu_ 4       p\        VP%                  4       4      uuRRR4       # R# \         P                  P'                  V 4      '       g   R# \         P                  P                  V R	4      p	\         P                  P                  V	4      '       d;   \#        V	RRR7      ;_uu_ 4       p\        VP%                  4       4      uuRRR4       # \         P(                  ! V 4       U
u. uF  qªP	                  R
4      '       g   K  V
NK  	  pp
\+        V4      ^8w  d   R# \        \         P                  P                  W^ ,          4      VR7      #   + '       g   i     ELQ; i  + '       g   i     R# ; i  + '       g   i     L¸; iu up
i )z.jsonr  r  Nr›  ú.safetensorsÚptrñ  ©Ú	frameworkrÆ   zmodel.safetensorsrš  ©rI  )r  Úfspathrˆ   r�  r  rŸ  r   r¡  r‚   rÑ   rá   r  re  Ú_checkpoint_tensor_keysrN  Údirnamerí   r   r  rœ  rÊ  r  )rK  rI  r®  r  r›  r  r±  Ú
shard_keysÚhandlerÚsafetensors_pathrF   Úindex_filess   &$          rG   rT  rT  �  s  € ô —’˜:Ó&€Jä	‡w�w‡~�~�j×!Ó!Ø×Ñ˜w×'Ò'Ü�j¨7×3Õ3°qÜŸ	š	 !›�÷ 4àŸ™ <°Ó7ˆJÜ˜*¤d×+Ò+ß Ü›5�DÜ!$ Z×%6Ñ%6Ó%8Ö!9˜Ü%<ÜŸG™GŸL™L¬¯©¯©¸Ó)DÀeÓLó&˜
ð &Ò-Ú#'ØŸ™ JÖ/ñ ":ð  �KÜ˜:“Ð&Ùà×Ñ˜~×.Ò.Ü˜:°¸e×DÕDÈÜ˜7Ÿ<™<›>Ó*÷ EÒDñ ä�7‰7�=‰=˜×$Ò$Ùä—w‘w—|‘| JÐ0CÓDÐÜ	‡w�w‡~�~Ð&×'Ò'ÜÐ'°4À×FÕFÈ'Ü�w—|‘|“~Ó&÷ GÒFô %'§J¢J¨zÔ$:Ó[Ñ$:˜D¿m¹mÈM×>Z—4�4Ñ$:€KÐ[Ü
ˆ;Ó˜1ÔÙä"Ü
�‰�‰�Z¨Q¥Ó0Àôð ÷G 4×3Ð3ú÷$ EÖDñ ú÷ G×Füò \s0   Á)KÅ<KÈ$K0É LÉ=LËK	ËK-	Ë0L 	c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rg   r   r¿   rK  rL  rl   r   rj   r3  rk   )rl   s   "rG   rm   rm   Ï  s,   € ÷ 
ñ 
Øð
Ø"3ð
Ø=Cð
à	ñ
rn   c                ó<  a€ V\         P                  \         P                  39  d   R # \        VRR7      oSf   R # \        P
                  ! \        4      pV P                  RR7       FK  w  rE\        V\        4      '       g   K  V\        V4      ,          P                  V'       d   V R2MR4       KM  	  \        V3R lVP                  4        4       4      pV'       d;   \        R\        P                   ! V4      : R	2R
P#                  V4      ,           4      hR # )NTrR  F)Úremove_duplicateú.qweightr‹  c              3  óZ   <"  € T F   qS,          '       d   K  \        V4      x € K"  	  R # 5ir@   )r  )rE   r  Úcheckpoint_keyss   & €rG   rH   Ú/validate_checkpoint_qweights.<locals>.<genexpr>Þ  s%   øé € ð Ù2�dÀ×:PÑ:PŒ	ŒˆD�	ˆ	Ó2ùs   ƒ+˜+z1Missing required quantized weights in checkpoint ú: r6  )r   rF  rG  rT  r-  r>  r  rõ   rÑ   r   r  r  r<  re  rö   r  rS  rN  )r   rK  rl   Úmodule_keysrF   r»   Úmissingr_  s   &&&    @rG   Úvalidate_checkpoint_qweightsrd  Ï  sï   ø€ ð ”f—k‘k¤6§>¡>Ð2Ô2Ùä-¨jÈÔM€OØÒÙô ×)Ò)¬#Ó.€KØ×+Ñ+¸UÐ+ÖC‰ˆÜ�fœo×.Ô.Øœ˜6›
Õ#×'Ñ'¿T¨4¨&°Ñ(9ÀyÖQñ Dô ô Ø)×0Ñ0Ô2óó €G÷ ÜØ?ÄÇ	Â	È*Ó@UÑ?XÐXZÐ[Ø�i‰i˜Ó õ!ó
ð 	
ñ rn   c               ó    € V ^8„  d   QhRRRR/# )rg   rK  zstr | os.PathLike | Nonerj   r3  rk   )rl   s   "rG   rm   rm   è  s   € ÷ ñ Ð:Rð ÐW[ñ rn   c                ó"  € R pVe>   \        V4      pVe/   \        V P                  4       P                  4       4      V,
          pVf   V P	                  4        R #  V P	                  VR7       R #   \
         d    T P	                  4         R # i ; i)N)Úmissing_keys)rT  r  r/  r  Útie_weightsÚ	TypeError)r   rK  rg  r_  s   &&  rG   Ú"_tie_weights_after_checkpoint_loadrj  è  s†   € ð €LØÒÜ1°*Ó=ˆØÒ&Ü˜u×/Ñ/Ó1×6Ñ6Ó8Ó9¸OÕKˆLàÒØ×ÑÔÙðØ×Ñ |ÐÖ4øÜô Ø×Ñ×ðús   ÁA/ Á/BÂBc                óœ   € VP                  R 4      pVf   V'       d
   V^ ,          p\        P                  ! V .VO5/ VB  \        W4       R# )rK  N)r‚   rÔ   Úload_checkpoint_in_modelrj  )r   ÚargsÚkwargsrK  s   &*, rG   Ú)load_checkpoint_in_model_then_tie_weightsro  ÿ  sA   € Ø—‘˜LÓ)€JØÒŸdØ˜!•Wˆ
Ü×'Ò'¨Ð?°Ò?¸Ò?Ü& uÖ9rn   rË  c               ó(   € V ^8„  d   QhRRRRRRRR/# )rg   Úsrc_pathrx   ÚlengthrV   rË  rj   r3  rk   )rl   s   "rG   rm   rm     s)   € ÷ ñ  ð °Sð ÀSð ÐQUñ rn   c               ó’  € \        \        V R ^ R7      \        4      ;_uu_ 4       w  rEV'       d   VP                  V4       TpV^ 8”  da   \	        \
        V4      pVP                  \        RV 4      pV'       g   \        RV  24      hVP                  \        RV 4       Wh,          pKg   RRR4       R#   + '       g   i     R# ; i)Úrb)Ú	bufferingNz"Unexpected EOF while copying from )
r0   rŸ  Ú_STREAM_BUFFER_LOCKÚseekr  Ú_STREAM_BUFFER_SIZEÚreadintoÚ_STREAM_BUFFERÚIOErrorÚwrite)	rq  Údst_fhrr  rË  Úsrcr‰  Ú	remainingÚ
chunk_sizeÚreads	   &&&$     rG   Ú_copy_file_streamr‚    s    € Ü	ŒT�(˜D¨AÔ.Ô0C×	DÔ	DÉÈßØ�H‰H�VÔØˆ	Ø˜!ŒmÜÔ0°)Ó<ˆJØ—<‘<¤¨{°
Ð ;Ó<ˆDßÜÐ BÀ8À*ÐMÓNÐNØ�L‰Lœ¨¨Ð.Ô/ØÕŠIð ÷	 
E×	D×	DÒ	Dús   ¥BB5Â5C	c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r6  ztorch.Tensorrh   ri   rj   r3  rk   )rl   s   "rG   rm   rm     s!   € ÷ >ñ > \ð >¸+ð >È$ñ >rn   c                ó8  € VP                  4       P                  R 4      P                  4       pV\        P                  J dO   VP                  \        P                  4      pV P                  VP                  4       P                  4       4       R#  V P                  VP                  4       P                  4       4       R#   \         dO    T P                  TP                  \        P                  4      P                  4       P                  4       4        R# i ; i)rñ  N)ÚdetachrØ   Ú
contiguousrC   rR   ÚviewrW   r|  ÚnumpyÚtobytesri  rZ   )Úoutr6  rh   r‡  s   &&& rG   Ú_write_tensor_bytesr‹    s¹   € Ø�]‰]‹_×Ñ Ó&×1Ñ1Ó3€FØ”—‘ÓØ�{‰{œ5Ÿ;™;Ó'ˆØ�	‰	�$—*‘*“,×&Ñ&Ó(Ô)Ùð>Ø�	‰	�&—,‘,“.×(Ñ(Ó*Ö+øÜô >ð 	�	‰	�&—+‘+œeŸk™kÓ*×0Ñ0Ó2×:Ñ:Ó<×=ð>ús   Â-C  Ã ADÄDc               ó(   € V ^8„  d   QhRRRRRRRR/# )	rg   rˆ   rx   ÚentriesúList[TensorSource]ÚmetadataúDict[str, str]rj   rV   rk   )rl   s   "rG   rm   rm   )  s*   € ÷ 3ñ 3˜Cð 3Ð*<ð 3Èð 3Ð[^ñ 3rn   c           
     óÎ  € / pV'       d   W#R &   ^ pV Fa  pR\        VP                  4      R\        VP                  4      RWDVP                  ,           ./W5P
                  &   WEP                  ,          pKc  	  \        P                  ! VRR7      P                  R4      p\        V4      ) ^,          pV'       d   VRV,          ,          p\        V R4      ;_uu_ 4       pVP                  \        P                  ! R\        V4      4      4       VP                  V4       V EF€  pVP                  p	\        V	\         4      '       Ed3   V	P"                  R	8X  dH   ^ p
V	P$                  e   V	P$                  ^ ,          p
\'        V	P(                  W…P                  V
R7       K  V	P"                  R8X  d>   V	P$                  e0   V	P$                  w  r«\'        V	P(                  W‹V
,
          V
R7       KÍ  \+        V	P(                  RRR7      ;_uu_ 4       pTP-                  V	P.                  ;'       g    VP
                  4      pR
R
R
4       XP1                  V	P                  4      p\3        W�V	P                  4       EKY  V	P5                  4       p\3        W�VP                  4       ?EKƒ  	  VP7                  4       pR
R
R
4       V#   + '       g   i     LŠ; i  + '       g   i     X# ; i)Ú__metadata__rh   r‹   r�   )Ú
separatorsr  ó    Úwbz<Qr  N)rË  r  rO  rñ  rP  )Ú,Ú:)rz   r‰   rã   r‹   rš   rF   r   ÚdumpsÚencoder  rŸ  r|  Ústructr'  r¦   rÑ   r‡   rl   r�   r‚  rˆ   r   Ú
get_tensorrŒ   rØ   r‹  r…  Útell)rˆ   r�  r�  ÚheaderrË  r!  Úheader_bytesÚheader_paddingrŠ  r¦   r$  r%  rW  r6  Ú	file_sizes   &&&            rG   Ú_write_shard_filer¡  )  s9  € Ø€FßØ!)ˆ~Ñà€FÛˆàÔ0°×1BÑ1BÓCØ”T˜%Ÿ+™+Ó&Ø˜V¨e¯o©oÕ%=Ð>ð
ˆ�z‰zÑð
 	—/‘/Õ!Šñ ô —:’:˜f°Ô<×CÑCÀGÓL€Lô ˜<Ó(Ð(¨AÕ-€NßØ˜˜~Õ-Õ-ˆä	ˆd�D×	Ô	˜SØ�	‰	”&—+’+˜d¤C¨Ó$5Ó6Ô7Ø�	‰	�,ÔäˆEØ—\‘\ˆFÜ˜&Ô"2×3Ó3Ø—=‘= EÔ)à�EØ×*Ñ*Ò6Ø &× 3Ñ 3°AÕ 6˜Ü% f§k¡k°3¿¹ÐPU×VØ—]‘] mÔ3¸×8KÑ8KÒ8Wà!'×!4Ñ!4‘J�EÜ% f§k¡k°3¸e½ÈE×Rô # 6§;¡;¸$Àu×MÕMÐQXØ!(×!3Ñ!3°F×4FÑ4F×4TÐ4TÈ%Ï*É*Ó!U˜÷ Nà#ŸY™Y v×'9Ñ'9Ó:�FÜ'¨°V×5GÑ5G×HàŸ™›�Ü# C°×1BÑ1BÔCÛñ- ð0 —H‘H“Jˆ	÷9 
ð< Ð÷ N×Mú÷' 
Ö	ð< Ðús&   ÃD0KÈ0K È>A8KË KËKËK$	c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r�  rŽ  Úmax_shard_sizer}  rj   zList[List[TensorSource]]rk   )rl   s   "rG   rm   rm   _  s#   € ÷ ñ Ð,ð ¸mð ÐPhñ rn   c                ó†  € V'       d   V^ 8:  d   V .# . p. p^ pV  F‰  pVP                   pWa8”  d2   V'       d   VP                  V4       . p^ pVP                  V.4       KF  WF,           V8”  d   V'       d   VP                  V4       . p^ pVP                  V4       WF,          pK‹  	  V'       d   VP                  V4       V# )r   )rš   r  )r�  r£  r°  ÚcurrentÚcurrent_sizer!  rà  s   &&     rG   Ú_plan_shardsr§  _  s³   € ß˜^¨qÔ0ØˆyÐà')€FØ"$€GØ€LãˆØ�‰ˆØÔ ßØ—‘˜gÔ&Ø�Ø �Ø�M‰M˜5˜'Ô"ÙØÕ Ô/·GØ�M‰M˜'Ô"ØˆGØˆLØ�‰�uÔØÕŠñ ÷  Ø�‰�gÔà€Mrn   c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )rg   r/  r)  rÏ  rx   Úmodel_base_nameÚsingle_file_namer�  r�  r£  r}  rj   z%Tuple[List[str], Dict[str, str], int]rk   )rl   s   "rG   rm   rm   }  sN   € ÷ 5ñ 5Ø'ð5àð5ð ð5ð ð	5ð
 ð5ð "ð5ð +ñ5rn   c                ó†  € \        V P                  4       4      p\        We4      p\        V4      p. p	/ p
^ p\	        V^R7       Fx  w  rÍV^8X  d   TpMV RVR RVR R2p\
        P                  P                  W4      p\        WýV4      pVV,          pV	P                  V4       V F  pWêVP                  &   K  	  Kz  	  WšV3# )r   )r$  Ú-Ú05dz-of-rN  )rã   re  r§  r  r
  r  rˆ   rN  r¡  r  rF   )r/  rÏ  r©  rª  r�  r£  r�  r°  Ú
num_shardsÚ	filenamesÚtensor_to_filenameÚ
total_sizeru  Úshard_entriesrÇ  rˆ   rà  r!  s   &&&&&&            rG   Ústreaming_state_dict_to_shardsr³  }  sÑ   € ô �:×$Ñ$Ó&Ó'€GÜ˜'Ó2€FÜ�V“€JØ€IØ)+ÐØ€Jä'¨°a×8ÑˆØ˜Œ?Ø'‰Hà)Ð*¨!¨C°¨9°D¸ÀCÐ8HÈÐUˆHä�w‰w�|‰|˜HÓ/ˆÜ  °hÓ?ˆØ�dÕˆ
Ø×Ñ˜Ô"Û"ˆEØ-5˜uŸz™zÓ*ó #ñ 9ð ¨*Ð4Ð4rn   c                ó¢   € V P                  4        F:  w  r#W!9   d   Vu # \        V\        4      '       g   K'  \        W14      pVf   K8  Vu # 	  R # r@   )râ   rÑ   rá   Úfind_config_seq_len)Úconfig_dictÚtarget_keysræ   rå   rF  s   &&   rG   rµ  rµ  œ  sI   € Ø×!Ñ!Ö#‰ˆØÔØŠHÜ�aœ×ÔÜ'¨Ó7ˆEØÔ Ø’ñ $ñ rn   c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r»   r¿   Úchild_modulerj   rx   rk   )rl   s   "rG   rm   rm   §  s&   € ÷ Tñ T˜Ið T°Yð TÀ3ñ Trn   c                óh   € V P                  4        F  w  r#W1J g   K  Vu # 	  \        R V RV  24      h)zCannot find child_module ró   rô   )r»   r¹  rF   r�  s   &&  rG   Úget_module_namer»  §  s=   € Ø!×/Ñ/Ö1‰ˆØÕ$ØŠKñ 2ô Ð0°°¸kÈ&ÈÐRÓ
SÐSrn   c               ó    € V ^8„  d   QhRRRR/# )rg   r   r¿   rj   rk   )rl   s   "rG   rm   rm   ®  s   € ÷ ñ  ð ¨yñ rn   c           	     ó  € \        V P                  RR4      '       g   V # V P                  4       pV P                  4       pVe   Vf   \	        R4      hRV P                  n        \        P                  ! VP                  P                  ^,          VP                  P                  ^ ,          \        VRR4      RJVP                  P                  VP                  P                  R7      pVP                  P                  P                  VP                  P                  4       VP                  eH   VP                  e:   VP                  P                  P                  VP                  P                  4       V P                  V4       V # )zOClone a tied output head so embedding endpoints can be quantized independently.Útie_word_embeddingsFNzMCannot untie word embeddings without both input and output embedding modules.r\  )r\  rÆ   rh   )r¯   r´  Úget_input_embeddingsÚget_output_embeddingsrö   r¾  rÒ   ro  rv  r‹   rÆ   rh   rÈ  rÉ  r\  Úset_output_embeddings)r   Úinput_embeddingsÚoutput_embeddingsÚnew_heads   &   rG   Úuntie_word_embeddingsrÅ  ®  s8  € ä�5—<‘<Ð!6¸×>Ò>Øˆà×1Ñ1Ó3ÐØ×3Ñ3Ó5ÐØÒÐ#4Ò#<ÜÐhÓiÐià',€E‡L�LÔ$Ü�yŠyØ×Ñ×%Ñ% aÕ(Ø×Ñ×%Ñ% aÕ(ÜÐ&¨°Ó5¸TÐAØ×&Ñ&×-Ñ-Ø×%Ñ%×+Ñ+ô€Hð ‡O�O×Ñ×ÑÐ/×6Ñ6×;Ñ;Ô<Ø‡}�}Ò Ð%6×%;Ñ%;Ò%GØ�‰×Ñ× Ñ Ð!2×!7Ñ!7×!<Ñ!<Ô=Ø	×Ñ Ô)Ø€Lrn   c               ó    € V ^8„  d   QhRRRR/# )rg   rü   rx   rj   r[   rk   )rl   s   "rG   rm   rm   Ç  s   € ÷ ñ °cð ¸dñ rn   c                óx   a€ \         ;QJ d    V3R  lV  4       F  '       g   K   R# 	  R# ! V3R  lV  4       4      # )c              3  ó¢   <"  € T FD  pVP                  SR ,           4      ;'       d     RV9   ;'       g    RV9   ;'       g    RV9   x € KF  	  R# 5i)r³   r]  z.qzerosz.scalesNr_  )rE   rƒ   rü   s   & €rG   rH   Ú1check_module_quantized_in_keys.<locals>.<genexpr>È  s\   øé € ð ñ ˆCð 	�‰�{ SÕ(Ó)÷ 	Hð 	HØ˜3Ñ×FÐF )¨sÑ"2×FÐF°iÀ3Ñ6Fô	Hãùs   ƒ#A§A´AÁATF©r—  )r  rü   s   &frG   Úcheck_module_quantized_in_keysrË  Ç  sB   ø€ ß‹3ô ñ ó�3Œ3ð Š3ð ˆ3ô ñ óó ð rn   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rg   Ú	model_dirrx   Úinput_embed_namer}   Úoutput_embed_namerj   úTuple[bool, bool]rk   )rl   s   "rG   rm   rm   Ï  s0   € ÷ $-ñ $-Øð$-à#ð$-ð %ð$-ð ñ	$-rn   c                óÊ  aa€ R pR pR VV3R llp\         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       V! XP                  R/ 4      P                  4       4      # \         P                  ! V 4       U	u. uF;  p	V	P                  R	4      '       g   K  \         P                  P                  W	4      NK=  	  p
p	V
 Fo  p \        VR
R7      ;_uu_ 4       pV! VP                  4       4      w  rÍT;'       g    TpT;'       g    TpV'       d   V'       d    RRR4        W43# RRR4       Kq  	  W43#   + '       g   i     EL
; iu up	i   + '       g   i     K   ; i  \         d'   p\        P                  RT RT 24        Rp?KÏ  Rp?ii ; i)Fc               ó   € V ^8„  d   QhRR/# )rg   rj   rÐ  rk   )rl   s   "rG   rm   Ú4is_embeddings_module_quantized.<locals>.__annotate__×  s   € ÷ 
ñ 
Ð/ñ 
rn   c                ó€   <€ \        S;'       d    \        V S4      4      \        S;'       d    \        V S4      4      3# r@   )r[   rË  )r  rÎ  rÏ  s   &€€rG   Úinspect_keysÚ4is_embeddings_module_quantized.<locals>.inspect_keys×  sA   ø€ äÐ!×\Ð\Ô&DÀTÐK[Ó&\Ó]ÜÐ"×^Ð^Ô'EÀdÐL]Ó'^Ó_ð
ð 	
rn   zmodel.safetensors.index.jsonr  r  r  Nr›  rN  rO  )rQ  zFailed to inspect ra  )r  rˆ   rN  ÚexistsrŸ  r   r¡  r‚   r  rÊ  r  r   r?  rL  rA  )rÍ  rÎ  rÏ  Úinput_quantizedÚoutput_quantizedrÕ  r  Úhandler  rÇ  Úsafetensor_filesÚsafefileÚfound_inputÚfound_outputÚexcs   &ff            rG   Úis_embeddings_module_quantizedrà  Ï  s–  ù€ ð
 €OØÐ÷
ñ 
ô —‘—‘˜iÐ)GÓH€JÜ	‡w�w‡~�~�j×!Ò!Ü�*˜c¨G×4Õ4¸Ü—I’I˜fÓ%ˆE÷ 5á˜EŸI™I l°BÓ7×<Ñ<Ó>Ó?Ð?ô Ÿ
š
 9Ô-óá-ˆHØ×Ñ˜^×,ô 	*Œ�‰�‰�YÖ)Ù-ð ð ó
 %ˆð	=Ü˜8¨t×4Õ4¸Ù,8¸¿¹»Ó,GÑ)�Ø"1×"@Ð"@°[�Ø#3×#CÐ#C°|Ð ß"×'7Ø÷ 5Ð4ð Ð,Ð,÷ 5Ñ4ñ %ð Ð,Ð,÷) 5×4Ð4üò÷ 5×4Ð4ûô ô 	=Ü�H‰HÐ)¨(¨°2°c°UÐ;×<Ò<ûð	=úsf   Á,FÃ	FÃ'#FÄF1Ä'-FÅ
FÅ FÅ(FÅ)F1Å5F1ÆF	ÆF.Æ(F1Æ.F1Æ1G"Æ<GÇG"c                óx   a € \         ;QJ d    V 3R  lV 4       F  '       g   K   R# 	  R# ! V 3R  lV 4       4      # )c              3  ó<   <"  € T F  p\        SV4      x € K  	  R # 5ir@   )rB   )rE   rF   r°   s   & €rG   rH   Úhas_any_attr.<locals>.<genexpr>÷  s   øé € Ð4©e dŒw�s˜D×!Ð!«eùr’  TFrÊ  )r°   r  s   f&rG   Úhas_any_attrrä  ö  s,   ø€ ß‹3Ô4©eÓ4�3Œ3Ð4Š3Ð4ˆ3Ô4©eÓ4Ó4Ð4rn   c                ó°   € . pV P                  4        F?  p\        V\        4      '       g   K  \        V4      '       g   K.  VP	                  V4       KA  	  V# r@   )r²  rä  ÚMOE_TOPK_FIELD_NAMESÚ_get_local_expert_countr  )r   r²  r»   s   &  rG   Úfind_moe_routing_modulesrè  ú  sD   € Ø€GØ—-‘-–/ˆÜ˜Ô 4×5Ô5Ô:QÐRX×:YÔ:YØ�N‰N˜6Ö"ñ "ð €Nrn   c               ó    € V ^8„  d   QhRRRR/# )rg   r»   r¿   rj   r}  rk   )rl   s   "rG   rm   rm   	  s   € ÷ ñ  Ið °-ñ rn   c                óð   € \          F2  p\        WR4      p\        V\        4      '       g   K'  V^ 8”  g   K0  Vu # 	  \        V RR4      pVe    \	        V4      pV^ 8”  d   V# R#   \
         d    ^ p Li ; i)a5  Return the expert cardinality owned by one router module.

Most MoE implementations expose ``num_experts`` directly.  K2 Horizon's
MoVA value router instead owns an ``nn.ModuleList`` called ``v_experts``;
deriving its local count is important because the model also contains a
separate 100-expert MLP router.
NÚ	v_experts)ÚMOE_NUM_EXPERTS_FIELD_NAMESr¯   rÑ   rV   r  ri  )r»   rF   r¼   Úexpertsr•  s   &    rG   rç  rç  	  s}   € ÷ ,ˆÜ˜ dÓ+ˆÜ�eœS×!Ô! e¨a¦iØŠLñ ,ô
 �f˜k¨4Ó0€GØÒð	Ü˜“LˆEð �1Œ9ØˆLÙøô	 ô 	ØŠEð	ús   ÁA% Á%A5Á4A5c               ó$   € V ^8„  d   QhRRRRRR/# )rg   r   r¿   Únew_topkrV   rj   ÚMoETopKStaterk   )rl   s   "rG   rm   rm   	  s!   € ÷ ñ ˜	ð ¨Sð °\ñ rn   c           
     ó,  € \        V 4      p. pV F€  p\        V4      pVf   K  \         Fb  p\        WF4      '       g   K  \	        WF4      p\        V\        4      '       g   Q hVP                  WFV34       \        WF\        W4      4        K~  	  K‚  	  V# r@   )
rè  rç  ræ  rB   r¯   rÑ   rV   r  r¹   r  )r   rï  Úroutersrn  r  Úlocal_countrF   Úolds   &&      rG   Úset_moe_topkrõ  	  s‹   € Ü& uÓ-€GØ€EÛˆÜ-¨aÓ0ˆØÒÙß(ˆDÜ�q×ÔÜ˜aÓ&�Ü! #¤s×+Ò+Ð+Ð+Ø—‘˜a s˜^Ô,ô ˜¤ XÓ!;Ô<Úó )ñ	 ð €Lrn   c               ó   € V ^8„  d   QhRR/# )rg   rn  rð  rk   )rl   s   "rG   rm   rm   .	  s   € ÷ 'ñ '˜Lñ 'rn   c                ó\   € V  F%  w  rp\        W4      '       g   K  \        WV4       K'  	  R # r@   )rB   r¹   )rn  r»   rF   rô  s   &   rG   Úrestore_moe_topkrø  .	  s&   € Û"Ñˆ�cÜ�6× Ô Ü�F #Ö&ó #rn   )ÚF32é   )ÚF16rg   )ÚF64é   )ÚBF16rg   )ÚI64rý  )ÚI32rú  )ÚI16rg   )ÚI8rp   )ÚU8rp   )ÚBOOLrp   )ÚF8_E4M3rp   )ÚF8_E5M2rp   )r=   r>   Úfloat8_e4m3fnuzÚfloat8_e5m2fnuzrJ   )Úfloat4_e2m1fn_x2)Útop_kÚmoe_kÚnum_experts_per_tokr@   rþ   )FNFNF)NNN)FTNN)NN)F)rÅ  rê   )z.binrN  z.pthz.ptz.ckptz.h5z.pbz.onnxi   )ÕÚ
__future__r   r-  r´   r   r–   rè  r  rË  rš  r  rÑ  Úconcurrent.futuresr   Údataclassesr   Úenumr   Útypingr   r   r	   r
   r   r   r   rÔ   r9  rC   Útorch.nnrÒ   rt  Ú	packagingr   r  r   Útorch.nn.modules.convr   r   Útransformers.pytorch_utilsr   Útransformers.utils.hubr   Úadapter.adapterr   Úlooper.named_moduler   Úmodels._constr   r   r   r   Únn_modules.qlinearr   r   Únn_modules.qlinear.exllamav2r   Ú nn_modules.qlinear.exllamav2_awqr   Únn_modules.qlinear.torchr   Úquantizationr   r    Úquantization.configr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   rê   r-   r%  r.   r/   r0   rÆ   r1   Úhfr2   Úhubr3   r4   Úimporterr5   r6   ræ  r7   r8   Úmodel_dequantr9   r:   r;   r<   rL  r:  rî  rL   rN   rP   rR   rS   rU   rW   rY   rZ   r[   rr   rB   r=   r>   rä   Ú_FLOAT8_DTYPE_NAMESÚ_FLOAT4_PACKED_DTYPE_NAMESrá   r˜  r¯   rs   r�   rF   rh   ÚremoveprefixrJ   rÓ   rx   rV   rð  ræ  rì  rv   rz   r„   r‡   r¥   r·   rº   rË   rÙ   rÝ   rî   rù   r  r  r  r  r   rS  rF  r™  rŒ  rO  rµ  rÌ  Úinference_moder³  r×  rÚ  rÕ  r  r   r/  r>  rK  rS  rx  r€  r  r²  r¹  r¾  rÂ  rÔ  rä  r÷  rù  r  r	  r  r'  r2  rH  rT  rd  rj  ro  rx  Ú
memoryviewÚ	bytearrayrz  r  rv  r‚  r‹  r¡  r§  r³  rµ  r»  rÅ  rË  rà  rä  rè  rç  rõ  rø  )rF   s   0rG   Ú<module>r*     sÏ  ðõ #ã Û Û Û Û Û 	Û Û Û Û Ý 1Ý !Ý ß @× @Ñ @ã Û Û Ý Û Ý Ý !Ý )Ý )Ý 8Ý .å %Ý -÷ó ÷ BÝ :Ý AÝ ;ß 1÷÷ ÷ ó õ ß /Ý Ý Ý #ß ,ß @ß 0ß Uß .ñ ƒn€Ø—|’|Ð$AÓBÐ ð 
‡M�M�:Ø	‡M�M�:Ø	‡M�M�:Ø	‡N�N�KØ	‡K�K�Ø	‡K�K�Ø	‡K�K�Ø	‡J�J�	Ø	‡K�K�Ø	‡J�J�ð€ñ ˆ5�/×"Ò"Ø+9€O�E×'Ñ'Ñ(Ù
ˆ5�-× Ò Ø)7€O�E×%Ñ%Ñ&ç�eñ 
ñó
—e‘eñ 
ñó
ó 
Ð ÷ #˜Uñ #Ù*ó#ŸU™Uñ #Ù*ó#ó Ð ð —=‘=ð  "[ÑEXÓ#YÑEX¸T¡G¨E°4Ö$8ÑEXÑ#Yð  "[ñ  Yó  ]Zñ  YÐvzÑ]dÐejÐlpÖ]qñ  Yñ  ]Zñ  "[ð  ]^ó  _Ð ðØˆu�}‰}ðàˆU�]‰]ðð ˆu�}‰}ðð ˆE�M‰Mð	ð
 ˆu�}‰}ðð ˆe�m‰mðð �—‘ðð ˆU�[‰[ðð ˆE�K‰Kðð ˆU�[‰[ðð 
ˆ5�;‰;ðð ˆU�[‰[ðð ˆU�[‰[ðð ˆE�J‰Jðð ˆU�[‰[ðð  ˆE�J‰Jð!€ó&  €DÙ�E˜4Ó €EØ €N�4ÑØ;@€N�S˜×*Ò*¨9Ó5Ð6Ð7Ó8ñ  ñ
 ˆ5�/×"Ò"Ø %× 3Ñ 3€N�9ÑÙ
ˆ5�-× Ò Ø %× 1Ñ 1€N�9ÑÙ
ˆ5Ð"×#Ò#Ø$)×$8Ò$8€N�=Ñ!Ø %× 4Ò 4€N�9Ñã&€DÙ�E˜4Ó €EØ €N�4ÑØ;@€N�S˜×*Ò*¨9Ó5Ð6Ð7Ó8ñ 'ð
 �E˜"Ÿ)š) S¨#Ð-Õ.Õ/€òÐ ð ØðÐ õTõ%õ-ñ �$Ô÷
Xð 
Xó ð
Xð ÷Xð Xó ðXõ?ò"<õ÷÷(÷(
òPõõ/õd	õò

÷Kðt —[’[Ø—|’|Ø!Ø!%Ø,0Ø#'÷%pBð~ &*ØŸšØ04Ø'+÷!Lkõ^õ(^"ðB ×ÓÓô"ó ð"õJõ+"ð\ ×ÓÓôó ðð, ×ÓÓödó ðd÷LXõvõ 	+õVõ8ò6?÷FX÷
?õDB=÷L/õf$òôò$ CJô !ò$ô$$ˆs�Dô $õòò(õ:cõL5÷pIðX/Ø<A÷/õd
õ2ò.:ð 'Ð Ù™IÐ&9Ó:Ó;€Ø—n“nÓ&Ð ðÈ1÷ õ>õ3õlõ<5ò>õTõõ2õ$-òN5òõõ0÷('ùò{E $Zùò  ]Zs   ÉZ
É3Z
