§
    ŠŠtjÅ  ã                   óœ  — d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZmZmZ ddlmZ ddgZd	                     ¦   «         Z ed
¦  «        Z ed¦  «        Z ed¦  «        Zdedededefd„Z ed¬¦  «         G d„ dee         ¦  «        ¦   «         Z ed¬¦  «         G d„ deeef         ¦  «        ¦   «         Zdee         deee         ef         fd„Zdee         dedee         fd„Z deeef         deee         ef         fd„Z!dee         dedeeef         fd„Z" eeee de¬¦  «          eee!e"de
¬¦  «         d S )!é    )ÚIterable)ÚAnyÚNoReturnÚTypeVar)ÚSelf)Ú_dict_flattenÚ_dict_flatten_with_keysÚ_dict_unflattenÚ_list_flattenÚ_list_flatten_with_keysÚ_list_unflattenÚContextÚregister_pytree_nodeé   )ÚcompatibilityÚimmutable_listÚimmutable_dictzÕ
If you are attempting to modify the kwargs or args of a torch.fx.Node object,
instead create a new copy of it and assign the copy to the node:

    new_args = ...  # copy and mutate args
    node.args = new_args
Ú_TÚ_KTÚ_VTÚselfÚargsÚkwargsÚreturnc                 óX   — t          t          | ¦  «        j        ›dt          › �¦  «        ‚)Nz# object does not support mutation. )Ú	TypeErrorÚtypeÚ__name__Ú_help_mutation)r   r   r   s      ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/fx/immutable_collections.pyÚ_no_mutationr!   $   s.   € Ý
Ý�‰:Œ:ÔÐUÐUÅ^ÐUÐUñô ð ó    T)Úis_backward_compatiblec                   ó’   — e Zd ZdZeZeZeZeZeZ	eZ
eZeZeZeZeZeZdefd„Zdeee         eeedf                  f         fd„ZdS )r   z&An immutable version of :class:`list`.r   c                 ó:   — t          t          | ¦  «        ¦  «        S ©N)ÚhashÚtuple©r   s    r    Ú__hash__zimmutable_list.__hash__;   s   € Ý•E˜$‘K”KÑ Ô Ð r"   .c                 ó@   — t          | ¦  «        t          | ¦  «        ffS r&   )r   r(   r)   s    r    Ú
__reduce__zimmutable_list.__reduce__>   s   € Ý�T‘
”
�U 4™[œ[˜NÐ+Ð+r"   N)r   Ú
__module__Ú__qualname__Ú__doc__r!   Ú__delitem__Ú__iadd__Ú__imul__Ú__setitem__ÚappendÚclearÚextendÚinsertÚpopÚremoveÚreverseÚsortÚintr*   r(   r   r   r   r,   © r"   r    r   r   *   s§   € € € € € à0Ð0à€KØ€HØ€HØ€KØ€FØ€EØ€FØ€FØ
€CØ€FØ€GØ€Dð!˜#ð !ð !ð !ð !ð,˜E $ t¤*¨e°E¸"¸c¸'´NÔ.CÐ"CÔDð ,ð ,ð ,ð ,ð ,ð ,r"   c                   ó’   — e Zd ZdZeZeZeZeZeZ	eZ
eZeZdefd„Zdeee         eeeeef         df                  f         fd„ZdS )r   z&An immutable version of :class:`dict`.r   c                 ó^   — t          t          |                      ¦   «         ¦  «        ¦  «        S r&   )r'   Ú	frozensetÚitemsr)   s    r    r*   zimmutable_dict.__hash__O   s    € Ý•I˜dŸjšj™lœlÑ+Ô+Ñ,Ô,Ð,r"   .c                 ód   — t          | ¦  «        t          |                      ¦   «         ¦  «        ffS r&   )r   r(   rA   r)   s    r    r,   zimmutable_dict.__reduce__R   s&   € Ý�T‘
”
�U 4§:¢:¡<¤<Ñ0Ô0Ð2Ð3Ð3r"   N)r   r-   r.   r/   r!   r0   Ú__ior__r3   r5   r8   ÚpopitemÚ
setdefaultÚupdater<   r*   r(   r   r   r   r   r,   r=   r"   r    r   r   B   s�   € € € € € à0Ð0à€KØ€GØ€KØ€EØ
€CØ€GØ€JØ€Fð-˜#ð -ð -ð -ð -ð4˜E $ t¤*¨e°E¸%ÀÀSÀ¼/È3Ð:NÔ4OÔ.PÐ"PÔQð 4ð 4ð 4ð 4ð 4ð 4r"   Údc                 ó    — t          | ¦  «        S r&   )r   ©rG   s    r    Ú_immutable_list_flattenrJ   W   ó   € Ý˜ÑÔÐr"   ÚvaluesÚcontextc                 ó<   — t          t          | |¦  «        ¦  «        S r&   )r   r   ©rL   rM   s     r    Ú_immutable_list_unflattenrP   [   ó   € õ �/¨&°'Ñ:Ô:Ñ;Ô;Ð;r"   c                 ó    — t          | ¦  «        S r&   )r   rI   s    r    Ú_immutable_dict_flattenrS   b   rK   r"   c                 ó<   — t          t          | |¦  «        ¦  «        S r&   )r   r
   rO   s     r    Ú_immutable_dict_unflattenrU   f   rQ   r"   z-torch.fx.immutable_collections.immutable_list)Úserialized_type_nameÚflatten_with_keys_fnz-torch.fx.immutable_collections.immutable_dictN)#Úcollections.abcr   Útypingr   r   r   Útyping_extensionsr   Útorch.utils._pytreer   r	   r
   r   r   r   r   r   Ú_compatibilityr   Ú__all__Ústripr   r   r   r   r!   Úlistr   Údictr   r(   rJ   rP   rS   rU   r=   r"   r    ú<module>ra      s  ðØ $Ð $Ð $Ð $Ð $Ð $Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø "Ð "Ð "Ð "Ð "Ð "ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð *Ð )Ð )Ð )Ð )Ð )ð Ð-Ð
.€ð÷ 
‚E�G„Gð ð €WˆT�]„]€Ø€gˆe�n„n€Ø€gˆe�n„n€ð�sð  3ð °#ð ¸(ð ð ð ð ð € dÐ+Ñ+Ô+ð,ð ,ð ,ð ,ð ,�T˜"”Xñ ,ô ,ñ ,Ô+ð,ð. € dÐ+Ñ+Ô+ð4ð 4ð 4ð 4ð 4�T˜#˜s˜(”^ñ 4ô 4ñ ,Ô+ð4ð(˜~¨bÔ1ð °e¸DÀ¼HÀgÐ<MÔ6Nð ð ð ð ð<Ø�RŒLð<àð<ð �BÔð<ð <ð <ð <ð˜~¨c°3¨hÔ7ð ¸EÀ$ÀsÄ)ÈWÐBTÔ<Uð ð ð ð ð<Ø�SŒMð<àð<ð �C˜�HÔð<ð <ð <ð <ð Ð ØØØØHØ0ðñ ô ð ð Ð ØØØØHØ0ðñ ô ð ð ð r"   