
    8h              
          % S SK r S SKrS SKrS SKJr  S SKJrJr  S SKrSr	\
\S'   SrSrSrS	rS
rSrSrSrSrSr\R,                  \R.                  \R0                  \R2                  \R4                  \R6                  \R8                  \R:                  \R<                  S.	rSr \!\S'   Sr"S	r#Sr$Sr%\ " S S5      5       r& S#S\'S\'S\\'   S\
4S jjr(S\ RR                  S\*\\'4   4S jr+S\
S\RX                  4S  jr-S!\S\\   4S" jr.g)$    N)	dataclass)AnyOptionalzmodel.safetensors.index.json_metadata_fnzmodel-{cpt_idx}-of-{num_files}z0shard-{shard_idx}-model-{cpt_idx}-of-{num_files}z.safetensorsDCP_SHARDING_INFO__metadata__saved_offsetsshapedatadtypedata_offsets)	F16F32F64I8U8I16I32I64BF16g      ?HF_DCP_VERSIONDCP_VERSIONformatptc                   t    \ rS rSr% Sr\\S'   \\S'   \\S'   \R                  \S'   \R                  \S'   Srg	)
_HFStorageInfo-   z#This is the per entry storage info.relative_pathoffsetlengthr
   r    N)__name__
__module____qualname____firstlineno____doc__str__annotations__inttorchSizer   __static_attributes__r!       `/var/www/fran/franai/venv/lib/python3.13/site-packages/torch/distributed/checkpoint/_hf_utils.pyr   r   -   s)    -KK::;;r-   r   indexlargest_indexshard_indexreturnc                    UbL  [         R                  U R                  S5      U  R                  S5      U R                  S5      S9[        -   $ [        R                  U  R                  S5      U R                  S5      S9[        -   $ )N   )	shard_idxcpt_idx	num_files)r6   r7   )SHARDED_FILE_NAMEr   zfillSUFFIX	FILE_NAME)r/   r0   r1   s      r.   _gen_file_namer<   8   s     $$(M003 '((+*O2215 % 
 	
  '((+-7O7OPQ7R   	
r-   
file_bytesc                     SnU R                  U5      n[        R                  " SU5      S   nU R                  U5      n[        R                  " U5      nXSU-   4$ )N   z<Qr   )readstructunpackjsonloads)r=   num_bytes_for_header_lenheader_len_bytes
header_lenheader_jsonmetadatas         r.   _get_safetensors_file_metadatarJ   M   s[      !!'?@t%56q9J//*-Kzz+&H#;;<<r-   	dtype_strc                 f     [         U    nU$ ! [         a    [        R                  " 5       n U$ f = fN)	DTYPE_MAPKeyErrorr*   get_default_dtype)rK   r   s     r.   
_get_dtyperQ   [   s<    *)$ L  *'')L*s   	 00rI   c                 x    [         U ;   a0  U [            n[        U;   a  [        R                  " U[           5      $ g rM   )DEFAULT_EXTRA_METADATA_KEYCUSTOM_METADATA_KEYrC   rD   )rI   custom_metadatas     r.   _get_dcp_custom_metadatarV   d   s5    !X-"#=>/1::o.ABCCr-   rM   )/iorC   rA   dataclassesr   typingr   r   r*   r   r'   r(   r;   r8   r:   rT   rS   SAVED_OFFSETS_KEY	SHAPE_KEYDATA_KEY	DTYPE_KEYDATA_OFFSETS_KEYfloat16float32float64int8uint8int16int32int64bfloat16rN   r   floatDCP_VERSION_KEYDCP_SHARDING_INFO_KEY
FORMAT_KEYFORMAT_VALUEr   r)   r<   IOBasetuplerJ   r   rQ   rV   r!   r-   r.   <module>ro      s[   	   !    3c 2,	F 	 * + # 		!  ======
**
++;;;;;;NN
	  + 
    BF

"
19#

*=ryy =U38_ =# %++ s x} r-   