
    }Yh                        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      p/var/www/tools.fuzzalab.pt/emblema-extractor/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$KK   r"   .c                 @    t          |           t          |           ffS r&   )r   r(   r)   s    r    
__reduce__zimmutable_list.__reduce__>   s    T

U4[[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*eE"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     Idjjll++,,,r"   .c                 d    t          |           t          |                                           ffS r&   )r   r(   rA   r)   s    r    r,   zimmutable_dict.__reduce__R   s&    T

U4::<<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-# - - - -4E$t*eE%S/3:N4O.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   $ $ $ $ $ $ ) ) ) ) ) ) ) ) ) ) " " " " " "	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 * ) ) ) ) ) -
. 
EGG  WT]]genngenns 3 # (     d+++, , , , ,T"X , , ,+,. d+++4 4 4 4 4T#s(^ 4 4 ,+4(~b1 eDHg<M6N    <RL<< B< < < <~c3h7 E$s)WBT<U    <SM<< CH< < < <  H0     H0     r"   