§
    Ÿ²Åj÷  ã                   óR  — U d dl Z d dlZd dlmZmZmZmZmZ d dlm	Z	 d dl
mZ d dlmc mZ d dlmZ g Zee         ed<    ej        e¦  «        a ed¦  «        Z e	d¦  «        Zd	eeef         fd
„Zd	eeef         fd„Z	 ddeded	eeeef         geeef         f         fd„ZdS )é    N)ÚAnyÚCallableÚDictÚListÚTypeVar)Ú	ParamSpec)Úuuid4)ÚDCP_LOGGER_NAMEÚ__all__Ú_TÚ_PÚreturnc                  óÄ  — i }|                      dd¦  «        }|                      dd¦  «        }|                      dd¦  «        }|                      dd¦  «        }|s|p|x}rt          |dd¦  «        }|�t          |¦  «        n||d<   t          t          ¦   «         j        ¦  «        |d<   |r|j        j        |d<   |r|j        j        |d<   |r|j        j        |d<   |S )z0
    Extracts log data from dcp method args
    Ústorage_writerNÚstorage_readerÚplannerÚcheckpoint_idÚuuid)ÚgetÚgetattrÚstrr	   ÚintÚ	__class__Ú__name__)ÚargsÚkwargsÚmsg_dictr   r   r   r   Ú
serializers           úTC:\Projects\Historical\venv\Lib\site-packages\torch/distributed/checkpoint/logger.pyÚ_msg_dict_from_dcp_method_argsr       s  € ð €Hð —Z’ZÐ 0°$Ñ7Ô7€NØ—Z’ZÐ 0°$Ñ7Ô7€NØ�jŠj˜ DÑ)Ô)€Gà—J’J˜°Ñ5Ô5€MØð C¨NÐ,L¸nÐL˜jð CÝ 
¨O¸TÑBÔBˆð ,Ð7�ˆMÑÔÐ¸]ð ˆ_Ñõ
 �5™7œ7œ;Ñ'Ô'€HˆVÑàð GØ%3Ô%=Ô%FˆÐ!Ñ"àð GØ%3Ô%=Ô%FˆÐ!Ñ"àð 9Ø%Ô/Ô8ˆ�Ñà€Oó    c                 ón   — t          |i |¤Ž}|                     t          j        | g|¢R i |¤Ž¦  «         |S )N)r    ÚupdateÚc10d_loggerÚ_get_msg_dict)Ú	func_namer   r   r   s       r   r%   r%   7   sF   € Ý-¨tÐ>°vÐ>Ð>€HØ‡O‚O•KÔ-¨iÐI¸$ÐIÐIÐIÀ&ÐIÐIÑJÔJÐJà€Or!   FÚlog_exceptionsÚwrapper_kwargsc                 óJ   ‡ ‡— dt           t          t          f         fˆ ˆfd„}|S )zKThis method decorator logs the start, end, and exception of wrapped events.Úfuncc                 óŒ   •‡ — t          j        ‰ ¦  «        dt          j        dt          j        dt
          fˆ ˆˆfd„¦   «         }|S )Nr   r   r   c                  ó  •— t          ‰j        g| ¢R i i ‰	¥|¥¤Ž}d|d<   t          j        ¦   «         }||d<   ‰|d<   t                               |¦  «         	  ‰| i |¤Ž}nP# t          $ rC}‰r;d|d<   |› |d<   t          j        ¦   «         |d<   t                               |¦  «         ‚ d }~ww xY wd|d<   t          j        ¦   «         }t          j        ¦   «         |d<   ||z
  |d<   t                               |¦  «         |S )	NÚstartÚeventÚtimer'   Ú	exceptionÚerrorÚendÚtimes_spent)r%   r   r/   Útime_nsÚ_dcp_loggerÚdebugÚBaseExceptionr1   )
r   r   r   Út0Úresultr1   Út1r*   r'   r(   s
          €€€r   Úwrapperz6_dcp_method_logger.<locals>.decorator.<locals>.wrapperD   sH  ø€ å$Ø”ðØ $ðð ð Ø(D¨>Ð(D¸VÐ(Dðð ˆHð
 !(ˆH�WÑÝ”‘”ˆBØ!ˆH�VÑØ)7ˆHÐ%Ñ&Ý×Ò˜hÑ'Ô'Ð'ðØ˜˜tÐ. vÐ.Ð.��øÝ ð ð ð Ø!ð 0Ø(3�H˜WÑ%Ø+0¨
�H˜WÑ%Ý'+¤|¡~¤~�H˜VÑ$Ý×%Ò% hÑ/Ô/Ð/Øøøøøðøøøð !&ˆH�WÑÝ”‘”ˆBÝ#œ|™~œ~ˆH�VÑØ&(¨2¡gˆH�]Ñ#Ý×Ò˜hÑ'Ô'Ð'àˆMs   ÁA! Á!
B.Á+>B)Â)B.)Ú	functoolsÚwrapsr   r   r   r   )r*   r;   r'   r(   s   ` €€r   Ú	decoratorz%_dcp_method_logger.<locals>.decoratorC   sb   øø€ Ý	Œ˜Ñ	Ô	ð	�2œ7ð 	­b¬ið 	½Bð 	ð 	ð 	ð 	ð 	ð 	ð 	ñ 
Ô	ð	ð@ ˆr!   )r   r   r   )r'   r(   r>   s   `` r   Ú_dcp_method_loggerr?   >   s@   øø€ ð
"�¥¥R Ô(ð "ð "ð "ð "ð "ð "ð "ðH Ðr!   )F)r<   r/   Útypingr   r   r   r   r   Útyping_extensionsr   r   r	   Útorch.distributed.c10d_loggerÚdistributedr$   Ú-torch.distributed.checkpoint.logging_handlersr
   r   r   Ú__annotations__Ú_get_or_create_loggerr5   r   r   r    r%   Úboolr?   © r!   r   ú<module>rI      s‚  ðà Ð Ð Ð Ð Ø €€€Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø IÐ IÐ IÐ IÐ IÐ Ið €ˆˆcŒÐ Ð Ñ ð 0ˆkÔ/°Ñ@Ô@€à€WˆT�]„]€Ø€Yˆt�_„_€ð°t¸CÀ¸H´~ð ð ð ð ðD°°c¸3°h´ð ð ð ð ð !ð)ð )Øð)Ø47ð)àˆx˜˜B˜ÔÐ  (¨2¨r¨6Ô"2Ð2Ô3ð)ð )ð )ð )ð )ð )r!   