§
    ŠŠtjt  ã                  ó‚   — 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dS )z
Python polyfills for copy
é    )Úannotations)ÚTypeVaré   )Úsubstitute_in_graphÚreduce_ex_user_defined_objectÚTT)Úskip_signature_checkÚobjÚprotocolÚintÚreturnÚtuplec               óL   — 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__)r
   r   r   Úclss       úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/polyfills/copy.pyr   r      s8   € ð €N€N€Nå
ˆs‰)Œ)€CàÔØ	ˆØŒØØðð ó    N)r
   r   r   r   r   r   )Ú__doc__Ú
__future__r   Útypingr   Ú
decoratorsr   Ú__all__r   ÚobjectÚ__reduce_ex__r   © r   r   ú<module>r      s¡   ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,ð $ð€ð €GˆC�L„L€ð Ð�VÔ)ÀÐEÑEÔEðð ð ñ FÔEðð ð r   