§
    Ë²Åjø  ã                   ób   — d dl Z d dlmZmZmZ ddlmZ  G d„ de j        ¦  «        Zej	        Z
dS )é    N)ÚListÚOptionalÚTupleé   )Ú_resolve_namec                   ó    ‡ — e Zd ZdZedededeeeee         f                  fd„¦   «         Z	ˆ fd„Z
dededefd	„Zd
„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )Ú_ExtractModuleReferenceszR
    Extract the list of global variables a block of code will read and write
    ÚsrcÚpackageÚreturnc                 ó¶   —  | |¦  «        }t          j        |¦  «        }|                     |¦  «         t          |j                             ¦   «         ¦  «        S ©N)ÚastÚparseÚvisitÚlistÚ
referencesÚkeys)Úclsr
   r   ÚvisitorÚtrees        úUC:\Projects\Historical\venv\Lib\site-packages\torch/package/find_file_dependencies.pyÚrunz_ExtractModuleReferences.run   sK   € à�#�g‘,”,ˆÝŒy˜‰~Œ~ˆØ�Š�dÑÔÐÝ�GÔ&×+Ò+Ñ-Ô-Ñ.Ô.Ð.ó    c                 ód   •— t          ¦   «                              ¦   «          || _        i | _        d S r   )ÚsuperÚ__init__r   r   )Úselfr   Ú	__class__s     €r   r   z!_ExtractModuleReferences.__init__   s+   ø€ Ý‰Œ×ÒÑÔÐØˆŒØˆŒˆˆr   Úmodule_nameÚlevelc                 ó>   — |dk    rt          || j        |¦  «        S |S )Nr   )r   r   )r   r    r!   s      r   Ú
_absmodulez#_ExtractModuleReferences._absmodule   s%   € Ø�1Š9ˆ9Ý  ¨d¬l¸EÑBÔBÐBØÐr   c                 ó<   — |j         D ]}d| j        |j        d f<   Œd S )NT)Únamesr   Úname)r   ÚnodeÚaliass      r   Úvisit_Importz%_ExtractModuleReferences.visit_Import   s3   € Ø”Zð 	7ð 	7ˆEØ26ˆDŒO˜UœZ¨Ð.Ñ/Ð/ð	7ð 	7r   c                 ó¾   — |                       |j        |j        €dn|j        ¦  «        }|j        D ]+}|j        dk    rd| j        ||j        f<   Œd| j        |d f<   Œ,d S )Nr   Ú*T)r#   Úmoduler!   r%   r&   r   )r   r'   r&   r(   s       r   Úvisit_ImportFromz)_ExtractModuleReferences.visit_ImportFrom"   sw   € Ø�Š˜tœ{°´Ð1C¨A¨AÈÌÑTÔTˆØ”Zð 	5ð 	5ˆEð Œz˜SÒ Ð Ø6:�”  u¤zÐ 2Ñ3Ð3à04�”  t Ñ-Ð-ð	5ð 	5r   c                 ó   — |j         S r   ©Úvalue©r   r'   s     r   Ú_grab_node_intz'_ExtractModuleReferences._grab_node_int-   ó
   € ØŒzÐr   c                 ó   — |j         S r   r/   r1   s     r   Ú_grab_node_strz'_ExtractModuleReferences._grab_node_str0   r3   r   c                 ó  ‡ — t          |j        d¦  «        �rð|j        j        dk    �rá	 ‰                      |j        d         ¦  «        }g }d}t          |j        ¦  «        dk    r2|                     ˆ fd„|j        d         j        D ¦   «         ¦  «         nPt          |d¦  «        r@|j        D ]8}|j	        dk    r+|                     ˆ fd„|j
        j        D ¦   «         ¦  «         Œ9t          |j        ¦  «        d	k    r!‰                      |j        d	         ¦  «        }n?t          |d¦  «        r/|j        D ]'}|j	        d
k    r‰                      |j
        ¦  «        }Œ(|g k    rUd‰ j        |d f<   |                     dd¬¦  «        d         }||k    r$‰                      ||¦  «        }d‰ j        |d f<   d S d S ‰                      ||¦  «        }|D ]!}|dk    rd‰ j        ||f<   Œd‰ j        |d f<   Œ"d S # t          $ r Y d S w xY wd S d S )NÚidÚ
__import__r   é   c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   ©r5   ©Ú.0Úvr   s     €r   ú	<genexpr>z6_ExtractModuleReferences.visit_Call.<locals>.<genexpr>;   s1   øè è € Ð#VÐ#V¸q D×$7Ò$7¸Ñ$:Ô$:Ð#VÐ#VÐ#VÐ#VÐ#VÐ#Vr   ÚkeywordsÚfromlistc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   r;   r<   s     €r   r?   z6_ExtractModuleReferences.visit_Call.<locals>.<genexpr>?   sB   øè è € ð ,ð ,Ø;< × 3Ò 3°AÑ 6Ô 6ð,ð ,ð ,ð ,ð ,ð ,r   é   r!   Tú.r   )Úmaxsplitr+   )ÚhasattrÚfuncr7   r5   ÚargsÚlenÚextendÚeltsr@   Úargr0   r2   r   Úrsplitr#   Ú	Exception)r   r'   r&   rA   r!   ÚkeywordÚtop_namer(   s   `       r   Ú
visit_Callz#_ExtractModuleReferences.visit_Call3   sˆ  ø€ å�4”9˜dÑ#Ô#ñ (	¨¬	¬¸Ò(DÑ(Dð'Ø×*Ò*¨4¬9°Q¬<Ñ8Ô8�Ø&(�Ø�Ý�t”y‘>”> AÒ%Ð%Ø—O’OÐ#VÐ#VÐ#VÐ#VÀDÄIÈaÄLÔDUÐ#VÑ#VÔ#VÑVÔVÐVÐVÝ˜T :Ñ.Ô.ð Ø#'¤=ð ð ˜Ø"œ;¨*Ò4Ð4Ø$ŸOšOð ,ð ,ð ,ð ,Ø@GÄÔ@Rð,ñ ,ô ,ñ ô ð øõ �t”y‘>”> AÒ%Ð%Ø ×/Ò/°´	¸!´Ñ=Ô=�E�EÝ˜T :Ñ.Ô.ð GØ#'¤=ð Gð G˜Ø"œ;¨'Ò1Ð1Ø$(×$7Ò$7¸¼Ñ$FÔ$F˜EøØ˜r’>�>ð
 59�D”O T¨4 LÑ1Ø#Ÿ{š{¨3¸˜{Ñ;Ô;¸AÔ>�HØ 4Ò'Ð'Ø#'§?¢?°8¸UÑ#CÔ#C˜Ø<@˜œ¨°4Ð(8Ñ9Ð9Ð9ð (Ð'ð  Ÿ?š?¨4°Ñ7Ô7�DØ!)ð Að A˜ð ! Cš<˜<Ø=A˜DœO¨T°5¨MÑ:Ð:à<@˜DœO¨T°4¨LÑ9Ð9ðAð Aøõ ð ð ð Ø��ðøøøðO(	ð (	Ð(DÐ(Ds   ªFG7 Æ;:G7 Ç7
HÈH)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚclassmethodÚstrr   r   r   r   r   Úintr#   r)   r-   r2   r5   rQ   Ú__classcell__)r   s   @r   r	   r	      sþ   ø€ € € € € ðð ð ð/�cð / Cð /¨D°°s¸HÀS¼MÐ7IÔ1JÔ,Kð /ð /ð /ñ „[ð/ðð ð ð ð ð
 cð °#ð ¸#ð ð ð ð ð
7ð 7ð 7ð	5ð 	5ð 	5ðð ð ðð ð ð*ð *ð *ð *ð *ð *ð *r   r	   )r   Útypingr   r   r   Ú
_importlibr   ÚNodeVisitorr	   r   Úfind_files_source_depends_on© r   r   ú<module>r_      s„   ðà 
€
€
€
Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (à %Ð %Ð %Ð %Ð %Ð %ðUð Uð Uð Uð U˜sœñ Uô Uð Uðp  8Ô;Ð Ð Ð r   