
    [Th                     z   S SK r S SKJr  S SKJrJr  S SKJr  S SKJ	r	J
r
Jr  S SKrS SKJr  / SQr\ " S S	5      5       r " S
 S\5      r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\\\4   r\\\\\	4   4   r\ " S S5      5       r\ " S S5      5       r\" SS9 " S S5      5       rg)    N)Sequence)	dataclassfield)Enum)AnyOptionalUnion)	StatefulT)ChunkStorageMetadataTensorStorageMetadataBytesStorageMetadataMetadataMetadataIndexTensorPropertiesStorageMetac                   V    \ rS rSr% Sr\R                  \S'   \R                  \S'   Srg)r      zc
Each chunk is expected to have the same properties of the TensorStorageMetadata
that includes it.
offsetssizes N)	__name__
__module____qualname____firstlineno____doc__torchSize__annotations____static_attributes__r       ]/var/www/auris/envauris/lib/python3.13/site-packages/torch/distributed/checkpoint/metadata.pyr   r      s    
 ZZ::r    r   c                   $    \ rS rSrSrSrSrSrSrg)_MEM_FORMAT_ENCODING"   z'Describe the memory format of a tensor.r         r   N)	r   r   r   r   r   TORCH_CONTIGUOUS_FORMATTORCH_CHANNELS_LASTTORCH_PRESERVE_FORMATr   r   r    r!   r#   r#   "   s    1r    r#   c                   ,   \ rS rSr% Sr\" \R                  S9r\R                  \	S'   \" \R                  S9r\R                  \	S'   Sr\\	S'   \" \R                  S9r\R                  \	S	'   Sr\\	S
'   S rS r\S\R(                  SS 4S j5       rSrg)r   *   z)Properties used to create :class:`Tensor`default_factorydtype)defaultlayoutFrequires_gradmemory_format
pin_memoryc                 r   U R                   nU[        R                  :X  a  [        R                  nOXU[        R
                  :X  a  [        R                  nO3U[        R                  :X  a  [        R                  nO[        SU 35      eU R                  U R                  U R                  UU R                  4$ )NzInvalid torch.memory_format: )r2   r   contiguous_formatr#   r'   channels_lastr(   preserve_formatr)   RuntimeErrorr.   r0   r1   r3   )selfr2   mem_format_encodings      r!   __getstate__TensorProperties.__getstate__9   s    **E333"6"N"Ne111"6"J"Je333"6"L"L!>}oNOO JJKKOO
 	
r    c                 B   Uu  U l         U l        U l        nU l        U[        R
                  :X  a  [        R                  nOXU[        R                  :X  a  [        R                  nO3U[        R                  :X  a  [        R                  nO[        SU 35      eX0l        g )Nz&Invalid torch.memory_format encoding: )r.   r0   r1   r3   r#   r'   r   r5   r(   r6   r)   r7   r8   r2   )r9   stater:   r2   s       r!   __setstate__TensorProperties.__setstate__M   s     	
JKO "6"N"NN!33M $8$L$LL!//M $8$N$NN!11M89L8MN  +r    tensorreturnc                     [        U R                  U R                  U R                  [        R
                  U R                  5       S9$ )N)r.   r0   r1   r2   r3   )r   r.   r0   r1   r   r5   	is_pinned)rA   s    r!   create_from_tensor#TensorProperties.create_from_tensorf   s;    ,,== ..11'')
 	
r    )r.   r0   r2   r3   r1   N)r   r   r   r   r   r   r   get_default_dtyper.   r   stridedr0   r1   boolr5   r2   r3   r;   r?   staticmethodTensorrE   r   r   r    r!   r   r   *   s    3 u/F/FGE5;;G 7FELL7M4).u7N7N)OM5&&OJ
(+2 
5<< 
4F 
 
r    r   c                   N    \ rS rSr% \\S'   \R                  \S'   \\	   \S'   Sr
g)r   q   
propertiessizechunksr   N)r   r   r   r   r   r   r   r   listr   r   r   r    r!   r   r   q   s      
**%&&r    r   c                       \ rS rSrSrg)r   x   r   N)r   r   r   r   r   r   r    r!   r   r   x   s    r    r   c                       \ rS rSr% Sr\\\R                  S4   \	S'   Sr
\\   \	S'   Sr\\   \	S'   \" \S9r\\   \	S'   Srg)	r      Ncheckpoint_idsave_idload_idr,   modulesr   )r   r   r   r   rV   r	   strosPathLiker   rW   r   rX   r   rQ   rY   r   r   r    r!   r   r      sK    37M5bkk4/07!GXc]!!GXc]!t4GT#Y4r    r   c                   ^    \ rS rSr% Sr\\\4   \S'   Sr	\
\S'   Sr\
\S'   Sr\\   \S'   Srg)	r      z5This class represents the metadata of the checkpoint.state_dict_metadataNplanner_datastorage_datastorage_metar   )r   r   r   r   r   dictrZ   STORAGE_TYPESr   r`   r   ra   rb   r   r   r   r   r    r!   r   r      s<    ? c=011
 L#L#*.L(;'.r    r   T)frozenc                       \ rS rSr% Sr\\S'    Sr\\	R                     \S'    \" SSSS9r\\   \S'      SS\S\\\      S\\   4S	 jjrS
rg)r      zIThis class represents a lookup key for items in a state dict or Metadata.fqnNoffsetF)hashcomparer/   indexc                     [         R                  U SU5        [         R                  U SU5        Ub,  [         R                  U S[        R                  " U5      5        g g )Nrh   rl   ri   )object__setattr__r   r   )r9   rh   ri   rl   s       r!   __init__MetadataIndex.__init__   sN     	4,4%0tXuzz&/AB r    r   )NN)r   r   r   r   r   rZ   r   ri   r   r   r   r   rl   intr   rp   r   r   r    r!   r   r      s    S	H,#'FHUZZ 'M eUDIE8C=I	 +/#	
C
C #'
C }	
C 
Cr    r   )r[   collections.abcr   dataclassesr   r   enumr   typingr   r   r	   r   %torch.distributed.checkpoint.statefulr
   __all__r   r#   r   r   r   rd   rc   rZ   STATE_DICT_TYPEr   r   r   r   r    r!   <module>rz      s   	 $ (  ' '  ;   4  C
 C
 C
L ' ' ' 	 	 	 +-AABsE)S.112 5 5 5 / / / $C C Cr    