Ë
    L²jt  ã                  óx   — d Z ddlmZ ddlmZ ddlmZ dgZ ed«      Z ee	j                  d¬	«      dd
„«       Zy)z
Python polyfills for copy
é    )Úannotations)ÚTypeVaré   )Úsubstitute_in_graphÚreduce_ex_user_defined_objectÚTT)Úskip_signature_checkc               óX   — ddl }t        | «      }|j                  |f| j                  ddfS )a  Traceable polyfill for object.__reduce_ex__ on user-defined objects.

    Returns the same tuple that CPython's _common_reduce produces:
    (copyreg.__newobj__, (cls,), obj.__dict__, None, None).
    copy._reconstruct then calls cls.__new__(cls) and updates __dict__.
    r   N)ÚcopyregÚtypeÚ
__newobj__Ú__dict__)ÚobjÚprotocolr   Úclss       ú[/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_dynamo/polyfills/copy.pyr   r      s5   € ó ä
ˆs‹)€Cà×ÑØ	ˆØ�‰ØØðð ó    N)r   r   r   ÚintÚreturnÚtuple)Ú__doc__Ú
__future__r   Útypingr   Ú
decoratorsr   Ú__all__r   ÚobjectÚ__reduce_ex__r   © r   r   ú<module>r      sN   ðñõ #å å ,ð $ð€ñ ˆCƒL€ñ �V×)Ñ)ÀÔEòó Fñr   