Ë
    g^(hq  ã                   ó$  — d Z ddlZddlZddlmZmZmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZmZ e	j                   e	j"                  e	j$                  e	j&                  e	j"                  e	j"                  e	j&                  e	j&                  e	j(                  e	j(                  e	j*                  e	j*                  e	j,                  e	j,                  e	j.                  e	j.                  e	j0                  e	j0                  e	j2                  e	j2                  i
Ze	j                   e	j(                  e	j$                  e	j*                  e	j(                  e	j(                  e	j*                  e	j*                  e	j"                  e	j(                  e	j&                  e	j*                  e	j,                  e	j,                  e	j.                  e	j.                  e	j0                  e	j0                  e	j2                  e	j2                  i
Ze	j                   e	j,                  e	j$                  e	j.                  e	j(                  e	j,                  e	j*                  e	j.                  e	j"                  e	j,                  e	j&                  e	j.                  e	j,                  e	j,                  e	j.                  e	j.                  e	j0                  e	j0                  e	j2                  e	j2                  i
Ze	j                   e	j0                  e	j$                  e	j2                  e	j"                  e	j0                  e	j&                  e	j2                  e	j0                  e	j0                  e	j2                  e	j2                  e	j(                  e	j0                  e	j*                  e	j2                  e	j,                  e	j0                  e	j.                  e	j2                  i
Zd„ Z ej>                  d	¬
«       G d„ de
«      «       Z  ej>                  d	¬
«       G d„ de
«      «       Z! ej>                  d	¬
«       G d„ de
«      «       Z" ej>                  d	¬
«       G d„ de
«      «       Z# ej>                  d	¬
«       G d„ de
«      «       Z$ ej>                  d	¬
«       G d„ de«      «       Z% ej>                  d	¬
«       G d„ de%«      «       Z& ej>                  d	¬
«       G d„ de«      «       Z' ej>                  d	¬
«       G d„ de
«      «       Z( ej>                  d	¬
«       G d„ de«      «       Z) ej>                  d	¬
«       G d„ d e'«      «       Z* ej>                  d	¬
«       G d!„ d"e'«      «       Z+ ej>                  d	¬
«       G d#„ d$e
«      «       Z, G d%„ d&ejZ                  «      Z. ej>                  d	¬
«       G d'„ d(e«      «       Z/ ej>                  d	¬
«       G d)„ d*e«      «       Z0 ej>                  d	¬
«       G d+„ d,e«      «       Z1 ej>                  d	¬
«       G d-„ d.e«      «       Z2 ej>                  d	¬
«       G d/„ d0e«      «       Z3 ej>                  d	¬
«       G d1„ d2e«      «       Z4 G d3„ d4e«      Z5 ej>                  d	¬
«       G d5„ d6e«      «       Z6 ej>                  d	¬
«       G d7„ d8e«      «       Z7 ej>                  d	¬
«       G d9„ d:e«      «       Z8 ej>                  d	¬
«       G d;„ d<e«      «       Z9 ej>                  d	¬
«       G d=„ d>e7«      «       Z: ej>                  d	¬
«       G d?„ d@e7«      «       Z; ej>                  d	¬
«       G dA„ dBe«      «       Z< ej>                  d	¬
«       G dC„ dDe«      «       Z= ej>                  d	¬
«       G dE„ dFe«      «       Z> ej>                  d	¬
«       G dG„ dHe>«      «       Z? ej>                  d	¬
«       G dI„ dJe?«      «       Z@ ej>                  d	¬
«       G dK„ dLe>«      «       ZA ej>                  d	¬
«       G dM„ dNe
«      «       ZB ej>                  d	¬
«       G dO„ dPe
«      «       ZC ej>                  d	¬
«       G dQ„ dRe
«      «       ZD ej>                  d	¬
«       G dS„ dTe«      «       ZE ej>                  d	¬
«       G dU„ dVe«      «       ZF ej>                  d	¬
«       G dW„ dXe«      «       ZG ej>                  d	¬
«       G dY„ dZe«      «       ZH ej>                  d	¬
«       G d[„ d\e
«      «       ZI ej>                  d	¬
«       G d]„ d^e
«      «       ZJd_d`œdae
fdb„ZKdae
fdc„ZLdae
fdd„ZMdae
fde„ZNdae
fdf„ZOy)ga  
This module provides Source classes that track the origins of values in PyTorch Dynamo.
Sources represent where values come from (e.g. local variables, globals, attributes) and
are used for guard generation and code reconstruction during compilation.

The module includes specialized sources for:
- Local variables and synthetic locals
- Global variables and constants
- Object attributes and method calls
- NN module specialization (specialized vs unspecialized)
- Random values and tensor properties
- Default argument handling
- FSDP (Fully Sharded Data Parallel) modules

Sources play a key role in Dynamo's guard system by tracking value origins for
guard generation, and in code reconstruction by providing methods to rebuild
the code needed to recreate values.
é    N)ÚAnyÚOptionalÚUnion)ÚChainedSourceÚGuardSourceÚSourceé   )Úutils)Úcreate_call_functionÚcreate_instructionc                 óŒ   — t        | t        «      ry	 | j                  «       t        j                  k(  ry	 y# t
        $ r Y yw xY w©NTF)Ú
isinstanceÚConstantSourceÚguard_sourcer   ÚCONSTANTÚNotImplementedError©Úsources    úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_dynamo/source.pyÚis_constant_sourcer   _   sO   € Ü�&œ.Ô)ØðØ×ÑÓ ¤K×$8Ñ$8Ò8Øð 9ð
 øô ò Øàðús   “!7 ·	AÁAT)Úfrozenc                   ó`   — e Zd ZU eed<   dZeed<   dZee	e      ed<   dZ
eed<   d„ Zd„ Zd	„ Zy)
ÚLocalSourceÚ
local_nameFÚis_inputNÚdynamismÚis_derefed_cell_contentsc                 ó¨   — | j                   r|j                  | j                  «       y |j                  |j	                  | j                  «      «       y ©N)r   Ú
load_derefr   Úappend_outputÚcreate_load©ÚselfÚcodegens     r   ÚreconstructzLocalSource.reconstruct{   s:   € Ø×(Ò(Ø×Ñ˜tŸ™Õ/à×!Ñ! '×"5Ñ"5°d·o±oÓ"FÕGó    c                 ó"   — t         j                  S r    )r   ÚLOCAL©r%   s    r   r   zLocalSource.guard_source�   s   € Ü× Ñ Ð r(   c                 ó4   — dt        | j                  «      › d�S )NzL[ú])Úreprr   r+   s    r   ÚnamezLocalSource.name„   s   € Ø”D˜Ÿ™Ó)Ð*¨!Ð,Ð,r(   )Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   Úboolr   r   Ú	frozensetr   r'   r   r/   © r(   r   r   r   k   sE   … àƒOð €HˆdÓð *.€Hˆh�y ‘~Ñ&Ó-ð
 &+Ð˜dÓ*òHò!ó-r(   r   c                   ó*   — e Zd ZU eed<   d„ Zd„ Zd„ Zy)ÚSyntheticLocalSourcer   c                 óX   — |j                  |j                  | j                  «      «       y r    )r"   r#   r   r$   s     r   r'   z SyntheticLocalSource.reconstructŒ   s   € Ø×Ñ˜g×1Ñ1°$·/±/ÓBÕCr(   c                 ó"   — t         j                  S r    )r   ÚSYNTHETIC_LOCALr+   s    r   r   z!SyntheticLocalSource.guard_source�   s   € Ü×*Ñ*Ð*r(   c                 ó"   — d| j                   ›d�S )NzSYNTHETIC_LOCAL[r-   )r   r+   s    r   r/   zSyntheticLocalSource.name’   s   € Ø! $§/¡/Ð!4°AÐ6Ð6r(   N©r0   r1   r2   r3   r4   r'   r   r/   r7   r(   r   r9   r9   ˆ   s   … àƒOòDò+ó7r(   r9   c                   ó*   — e Zd ZU eed<   d„ Zd„ Zd„ Zy)ÚRandomValueSourceÚrandom_call_indexc                 ó"   — t         j                  S r    )r   ÚRANDOM_VALUEr+   s    r   r   zRandomValueSource.guard_sourceš   s   € Ü×'Ñ'Ð'r(   c                 ó  — |j                  |j                  |j                  j                  j                  «      «       |j                  |j                  | j                  «      «       |j                  t        d«      «       y ©NÚBINARY_SUBSCR)r"   r#   ÚtxÚoutputÚrandom_values_varÚcreate_load_constrA   r   r$   s     r   r'   zRandomValueSource.reconstruct�   s^   € Ø×Ñ˜g×1Ñ1°'·*±*×2CÑ2C×2UÑ2UÓVÔWØ×Ñ˜g×7Ñ7¸×8NÑ8NÓOÔPØ×ÑÔ0°ÓAÕBr(   c                 ó    — d| j                   › �S )NÚrandom_value_)rA   r+   s    r   r/   zRandomValueSource.name¢   s   € Ø˜t×5Ñ5Ð6Ð7Ð7r(   N)r0   r1   r2   Úintr4   r   r'   r/   r7   r(   r   r@   r@   –   s   … àÓò(òCó
8r(   r@   c                   ó*   — e Zd ZU eed<   d„ Zd„ Zd„ Zy)ÚGlobalSourceÚglobal_namec                 ó\   — |j                  |j                  | j                  d¬«      «       y ©NT©Úadd©r"   Úcreate_load_globalrP   r$   s     r   r'   zGlobalSource.reconstructª   s&   € Ø×Ñ˜g×8Ñ8¸×9IÑ9IÈtÐ8ÓTÕUr(   c                 ó"   — t         j                  S r    ©r   ÚGLOBALr+   s    r   r   zGlobalSource.guard_source­   ó   € Ü×!Ñ!Ð!r(   c                 ó4   — dt        | j                  «      › d�S )NúG[r-   ©r.   rP   r+   s    r   r/   zGlobalSource.name°   s   € Ø”D˜×)Ñ)Ó*Ð+¨1Ð-Ð-r(   Nr>   r7   r(   r   rO   rO   ¦   s   … àÓòVò"ó.r(   rO   c                   ó*   — e Zd ZU eed<   d„ Zd„ Zd„ Zy)ÚGlobalWeakRefSourcerP   c                 óh   ‡ ‡— ‰j                  ˆˆ fd„«       ‰j                  t        dd«      «       y )Nc                  ó\   •— ‰ j                  ‰ j                  ‰j                  d¬«      «      S rR   rU   ©r&   r%   s   €€r   ú<lambda>z1GlobalWeakRefSource.reconstruct.<locals>.<lambda>º   s+   ø€ �G×)Ñ)Ø×*Ñ*¨4×+;Ñ+;ÀÐ*ÓFó€ r(   r   F©Úadd_push_nullÚextend_outputr   r$   s   ``r   r'   zGlobalWeakRefSource.reconstruct¸   s.   ù€ Ø×Ñôô	
ð
 	×ÑÔ2°1°eÓ<Õ=r(   c                 ó"   — t         j                  S r    rX   r+   s    r   r   z GlobalWeakRefSource.guard_sourceÀ   rZ   r(   c                 ó4   — dt        | j                  «      › d�S )Nr\   z]()r]   r+   s    r   r/   zGlobalWeakRefSource.nameÃ   s   € Ø”D˜×)Ñ)Ó*Ð+¨3Ð/Ð/r(   Nr>   r7   r(   r   r_   r_   ´   s   … àÓò>ò"ó0r(   r_   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚWeakRefCallSourcec                 óh   ‡ ‡— ‰j                  ˆˆ fd„«       ‰j                  t        dd«      «       y )Nc                  ó(   •—  ‰ ‰j                   «      S r    ©Úbaserb   s   €€r   rc   z/WeakRefCallSource.reconstruct.<locals>.<lambda>Ê   s   ø€ ¡g¨d¯i©iÓ&8€ r(   r   Frd   r$   s   ``r   r'   zWeakRefCallSource.reconstructÉ   s(   ù€ Ø×ÑÔ8Ô9Ø×ÑÔ2°1°eÓ<Õ=r(   c                 ó6   — | j                   j                  «       S r    ©rn   r   r+   s    r   r   zWeakRefCallSource.guard_sourceÍ   ó   € Ø�y‰y×%Ñ%Ó'Ð'r(   c                 ó<   — | j                   j                  «       › d�S )Nz()©rn   r/   r+   s    r   r/   zWeakRefCallSource.nameÐ   s   € Ø—)‘)—.‘.Ó"Ð# 2Ð&Ð&r(   N©r0   r1   r2   r'   r   r/   r7   r(   r   rj   rj   Ç   s   „ ò>ò(ó'r(   rj   c                   ó   — e Zd Zy)ÚCallFunctionNoArgsSourceN©r0   r1   r2   r7   r(   r   rv   rv   Ô   ó   „ àr(   rv   c                   ó0   — e Zd ZU eed<   d„ Zd„ Zd„ Zd„ Zy)Ú
AttrSourceÚmemberc                 ó,  — | j                   sJ d«       ‚d| j                  v rs| j                  j                  d«      }t        j	                  | dt        | j                   dj                  |d d «      «      «       t        j	                  | d|d   «       y y )Nz9Can't construct an AttrSource without a valid base sourceú.rn   éÿÿÿÿr{   )rn   r{   ÚsplitÚobjectÚ__setattr__rz   Újoin)r%   Úmember_partss     r   Ú__post_init__zAttrSource.__post_init__Ý   s‚   € Ø�yŠyÐUÐUÓUˆyØ�$—+‘+ÑØŸ;™;×,Ñ,¨SÓ1ˆLÜ×ÑØ�fœj¨¯©°C·H±H¸\È#È2Ð=NÓ4OÓPôô ×Ñ˜t X¨|¸BÑ/?Õ@ð r(   c                 ó|   —  || j                   «       |j                  |j                  | j                  «      «       y r    ©rn   rf   Úcreate_load_attrsr{   r$   s     r   r'   zAttrSource.reconstructæ   ó+   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿¹ÓDÕEr(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zAttrSource.guard_sourceê   rq   r(   c                 óÞ   — | j                   j                  «       s+d| j                  j                  «       › d| j                   ›d�S | j                  j                  «       › d| j                   › �S )Nzgetattr(ú, ú)r}   )r{   Úisidentifierrn   r/   r+   s    r   r/   zAttrSource.nameí   sX   € Ø�{‰{×'Ñ'Ô)Ø˜dŸi™iŸn™nÓ.Ð/¨r°$·+±+°ÀÐBÐBØ—)‘)—.‘.Ó"Ð# 1 T§[¡[ MÐ2Ð2r(   N)	r0   r1   r2   r3   r4   r„   r'   r   r/   r7   r(   r   rz   rz   Ù   s   … àƒKòAòFò(ó3r(   rz   c                   ó"   — e Zd ZU dZeed<   d„ Zy)ÚLocalCellSourcezƒ
    Conceptually, this class is `LocalSource` for cell objects implicitly
    generated by Python (e.g., captured variables).
    r   c                 óX   — |j                  |j                  | j                  «      «       y r    )r"   Úcreate_load_closurer   r$   s     r   r'   zLocalCellSource.reconstructü   s!   € ð 	×Ñ˜g×9Ñ9¸$¿/¹/ÓJÕKr(   N)r0   r1   r2   Ú__doc__r3   r4   r'   r7   r(   r   r�   r�   ó   s   … ñð
 ƒOóLr(   r�   c                   ó.   — e Zd ZU dZeed<   d„ Zd„ Zd„ Zy)Ú
GradSourceÚgradr{   c                 ó|   —  || j                   «       |j                  |j                  | j                  «      «       y r    r†   r$   s     r   r'   zGradSource.reconstruct  rˆ   r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zGradSource.guard_source  rq   r(   c                 óT   — | j                   j                  «       › d| j                  › �S )Nr}   )rn   r/   r{   r+   s    r   r/   zGradSource.name  s#   € Ø—)‘)—.‘.Ó"Ð# 1 T§[¡[ MÐ2Ð2r(   N)	r0   r1   r2   r{   r3   r4   r'   r   r/   r7   r(   r   r”   r”   
  s   … à€FˆCÓòFò(ó3r(   r”   c                   ó   — e Zd Zd„ Zy)ÚParamBufferSourcec                 óD   — t         | j                  j                  «          S r    ©Ú#_GUARD_SOURCE_SPECIALIZED_NN_MODULErn   r   r+   s    r   r   zParamBufferSource.guard_source  ó   € Ü2°4·9±9×3IÑ3IÓ3KÑLÐLr(   N©r0   r1   r2   r   r7   r(   r   rš   rš     s   „ óMr(   rš   c                   ó   — e Zd Zy)ÚUnspecializedParamBufferSourceNrw   r7   r(   r   r¡   r¡      rx   r(   r¡   c                   ó:   — e Zd ZU dZee   ed<   d„ Zd„ Zd„ Z	d„ Z
y)ÚEphemeralSourceNÚdescc                 ó"   — t         j                  S r    )r   Ú	EPHEMERALr+   s    r   r   zEphemeralSource.guard_source2  ó   € Ü×$Ñ$Ð$r(   c                 óJ   — d| j                   �d| j                   z   › d�S d› d�S )Nz
<ephemeralz: Ú ú>)r¤   r+   s    r   r/   zEphemeralSource.name5  s1   € Ø°·	±	Ð0E˜D 4§9¡9Ñ,ÐNÈaÐPÐPÈ2ÐNÈaÐPÐPr(   c                 ó   — t         ‚r    ©r   ©r%   Úfns     r   Ú
make_guardzEphemeralSource.make_guard8  ó   € Ü!Ð!r(   c                  ó   — y©NTr7   r+   s    r   Úis_ephemeralzEphemeralSource.is_ephemeral;  ó   € Ør(   )r0   r1   r2   r¤   r   r3   r4   r   r/   r¯   r³   r7   r(   r   r£   r£   .  s%   … à€Dˆ(�3‰-Óò%òQò"ór(   r£   c                   ó   — e Zd ZdZdZdZd„ Zy)ÚTensorPropertyr   r	   é   c                 óv   — | t         j                  u ry| t         j                  u ry| t         j                  u ryy )NÚsizeÚstrideÚstorage_offset)r¶   ÚSIZEÚSTRIDEÚSTORAGE_OFFSETr+   s    r   Úmethod_namezTensorProperty.method_nameD  s:   € Ø”>×&Ñ&Ñ&ØØ”^×*Ñ*Ñ*ØØ”^×2Ñ2Ñ2Ø#ð 3r(   N)r0   r1   r2   r¼   r½   r¾   r¿   r7   r(   r   r¶   r¶   ?  s   „ Ø€DØ€FØ€Nó$r(   r¶   c                   óD   — e Zd ZU eed<   dZee   ed<   d„ Zd„ Z	d„ Z
d„ Zy)ÚTensorPropertySourceÚpropNÚidxc                 ó’   — | j                   €J ‚| j                  t        j                  u r| j                  �J ‚y | j                  €J ‚y r    )rn   rÂ   r¶   r¾   rÃ   r+   s    r   r„   z"TensorPropertySource.__post_init__R  sD   € Ø�y‰yÐ$Ð$Ð$Ø�9‰9œ×5Ñ5Ñ5Ø—8‘8Ð#Ð#Ñ#à—8‘8Ð'Ð'Ñ'r(   c                 ó  ‡ ‡— ‰j                  ˆˆ fd„«        ‰‰ j                  «       ‰ j                  �*‰j                  ‰j	                  ‰ j                  «      «       ‰j                  t        ‰ j                  �dndd«      «       y )Nc                  óz   •— ‰ j                  t        j                  d‰j                  j	                  «       › �«      S )NÚcall_)Úload_import_fromr
   r0   rÂ   r¿   rb   s   €€r   rc   z2TensorPropertySource.reconstruct.<locals>.<lambda>[  s0   ø€ �G×,Ñ,Ü—‘ %¨¯	©	×(=Ñ(=Ó(?Ð'@Ð Aó€ r(   r·   r	   F)re   rn   rÃ   r"   rJ   rf   r   r$   s   ``r   r'   z TensorPropertySource.reconstructY  sn   ù€ Ø×Ñôô	
ñ
 	�—	‘	Ôà�8‰8ÐØ×!Ñ! '×";Ñ";¸D¿H¹HÓ"EÔFØ×ÑÜ  d§h¡hÐ&:¡ÀÀ5ÓIõ	
r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   z!TensorPropertySource.guard_sourceg  rq   r(   c                 óØ  — | j                   t        j                  u r*| j                  j	                  «       › d| j
                  › d�S | j                   t        j                  u r*| j                  j	                  «       › d| j
                  › d�S | j                   t        j                  u r+| j
                  �J ‚| j                  j	                  «       › d�S t        d| j                   › �«      ‚)Nz.size()[r-   z
.stride()[z.storage_offset()z
unhandled )	rÂ   r¶   r¼   rn   r/   rÃ   r½   r¾   ÚAssertionErrorr+   s    r   r/   zTensorPropertySource.namej  s¾   € Ø�9‰9œ×+Ñ+Ñ+Ø—i‘i—n‘nÓ&Ð' x°·±¨z¸Ð;Ð;Ø�Y‰Yœ.×/Ñ/Ñ/Ø—i‘i—n‘nÓ&Ð' z°$·(±(°¸1Ð=Ð=Ø�Y‰Yœ.×7Ñ7Ñ7Ø—8‘8Ð#Ð#Ð#Ø—i‘i—n‘nÓ&Ð'Ð'8Ð9Ð9ä  :¨d¯i©i¨[Ð!9Ó:Ð:r(   )r0   r1   r2   r¶   r4   rÃ   r   rM   r„   r'   r   r/   r7   r(   r   rÁ   rÁ   M  s*   … à
ÓØ€Cˆ�#‰Óò(ò
ò(ó	;r(   rÁ   c                   ó0   — e Zd ZU eed<   d„ Zd„ Zd„ Zd„ Zy)ÚIndexedSourcerÃ   c                 ó    — | j                   €J ‚y r    rm   r+   s    r   r„   zIndexedSource.__post_init__z  ó   € Ø�y‰yÐ$Ð$Ñ$r(   c                 ó   — t         ‚r    r¬   r$   s     r   r'   zIndexedSource.reconstruct}  r°   r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zIndexedSource.guard_source€  rq   r(   c                 óX   — d| j                   › d| j                  j                  «       › d�S )Nú(r‹   rŒ   )rÃ   rn   r/   r+   s    r   r/   zIndexedSource.nameƒ  s'   € Ø�4—8‘8�*˜B˜tŸy™yŸ~™~Ó/Ð0°Ð2Ð2r(   N)	r0   r1   r2   rM   r4   r„   r'   r   r/   r7   r(   r   rÍ   rÍ   v  s   … à	ƒHò%ò"ò(ó3r(   rÍ   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚNegateSourcec                 ó    — | j                   €J ‚y r    rm   r+   s    r   r„   zNegateSource.__post_init__‰  rÏ   r(   c                 ó   — t         ‚r    r¬   r$   s     r   r'   zNegateSource.reconstructŒ  r°   r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zNegateSource.guard_source�  rq   r(   c                 ó<   — | j                   j                  «       › d�S )Nz
.__neg__()rs   r+   s    r   r/   zNegateSource.name’  s   € à—)‘)—.‘.Ó"Ð# :Ð.Ð.r(   N©r0   r1   r2   r„   r'   r   r/   r7   r(   r   rÕ   rÕ   ‡  s   „ ò%ò"ò(ó/r(   rÕ   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚConvertIntSourcec                 ó    — | j                   €J ‚y r    rm   r+   s    r   r„   zConvertIntSource.__post_init__™  rÏ   r(   c                 ó(   —  || j                   «       y r    rm   r$   s     r   r'   zConvertIntSource.reconstructœ  ó   € Ù�—	‘	Õr(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zConvertIntSource.guard_sourceŸ  rq   r(   c                 ó>   — d| j                   j                  «       › d�S )Nz!cast_symbool_to_symint_guardless(rŒ   rs   r+   s    r   r/   zConvertIntSource.name¢  s   € Ø2°4·9±9·>±>Ó3CÐ2DÀAÐFÐFr(   NrÚ   r7   r(   r   rÜ   rÜ   —  s   „ ò%òò(óGr(   rÜ   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚFlattenScriptObjectSourcec                 ó    — | j                   €J ‚y r    rm   r+   s    r   r„   z'FlattenScriptObjectSource.__post_init__¨  rÏ   r(   c                 ó(   —  || j                   «       y r    rm   r$   s     r   r'   z%FlattenScriptObjectSource.reconstruct«  rß   r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   z&FlattenScriptObjectSource.guard_source®  rq   r(   c                 ó<   — | j                   j                  «       › d�S )Nz.__obj_flatten__()rs   r+   s    r   r/   zFlattenScriptObjectSource.name±  s   € Ø—)‘)—.‘.Ó"Ð#Ð#5Ð6Ð6r(   NrÚ   r7   r(   r   rã   rã   ¦  s   „ ò%òò(ó7r(   rã   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚScriptObjectQualifiedNameSourcec                 ó    — | j                   €J ‚y r    rm   r+   s    r   r„   z-ScriptObjectQualifiedNameSource.__post_init__·  rÏ   r(   c                 ó(   —  || j                   «       y r    rm   r$   s     r   r'   z+ScriptObjectQualifiedNameSource.reconstructº  rß   r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   z,ScriptObjectQualifiedNameSource.guard_source½  rq   r(   c                 ó<   — | j                   j                  «       › d�S )Nz._type().qualified_name()rs   r+   s    r   r/   z$ScriptObjectQualifiedNameSource.nameÀ  s   € Ø—)‘)—.‘.Ó"Ð#Ð#<Ð=Ð=r(   NrÚ   r7   r(   r   ré   ré   µ  s   „ ò%òò(ó>r(   ré   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚAttrProxySourcec                 ó(   —  || j                   «       y r    rm   r$   s     r   r'   zAttrProxySource.reconstructÅ  rß   r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zAttrProxySource.guard_sourceÈ  rq   r(   c                 ó<   — | j                   j                  «       › d�S )Nz.get_base()rs   r+   s    r   r/   zAttrProxySource.nameË  s   € Ø—)‘)—.‘.Ó"Ð# ;Ð/Ð/r(   Nrt   r7   r(   r   rï   rï   Ä  s   „ òò(ó0r(   rï   c                   ó°   — e Zd ZU eeef   ed<   dZeed<    e	j                  ddd¬«      Z
eed<    e	j                  ddd¬«      Zeed<   d„ Zd„ Zd	„ Zd
„ Zy)ÚDefaultsSourceÚidx_keyFÚis_kw)Úinitr.   ÚcompareÚfieldÚ_namec           
      ó@  — | j                   sJ d«       ‚| j                  r€t        | j                  t        «      sJ ‚t
        j                  | dd«       t
        j                  | d| j                   j                  «       › d| j                  › d| j                  › d�«       y t        | j                  t        «      sJ ‚t
        j                  | dd«       t
        j                  | d| j                   j                  «       › d| j                  › d	| j                  › d
�«       y )Nz]Base must be a valid source in order to properly track and guard this Defaults to its origin.rù   Ú__kwdefaults__rú   r}   z['z']Ú__defaults__ú[r-   )
rn   rö   r   rõ   r3   r€   r�   r/   rù   rM   r+   s    r   r„   zDefaultsSource.__post_init__Ö  sé   € Ø�yŠyð 	
Økó	
ˆyð �:Š:Ü˜dŸl™l¬CÔ0Ð0Ð0Ü×Ñ˜t WÐ.>Ô?Ü×ÑØ�g $§)¡)§.¡.Ó"2Ð!3°1°T·Z±Z°LÀÀ4Ç<Á<À.ÐPRÐSõô ˜dŸl™l¬CÔ0Ð0Ð0Ü×Ñ˜t W¨nÔ=Ü×ÑØ�g $§)¡)§.¡.Ó"2Ð!3°1°T·Z±Z°LÀÀ$Ç,Á,ÀÈqÐQõr(   c                 ó  —  || j                   «       |j                  |j                  | j                  «      «       |j	                  |j                  | j                  «      «       |j	                  t        d«      «       y rE   )rn   rf   r‡   rù   r"   rJ   rõ   r   r$   s     r   r'   zDefaultsSource.reconstructç  s\   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×Ñ˜g×7Ñ7¸¿¹ÓEÔFØ×ÑÔ0°ÓAÕBr(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zDefaultsSource.guard_sourceí  rq   r(   c                 ó   — | j                   S r    )rú   r+   s    r   r/   zDefaultsSource.nameð  s   € Ø�z‰zÐr(   N)r0   r1   r2   r   rM   r3   r4   rö   r5   Údataclassesrù   rú   r„   r'   r   r/   r7   r(   r   rô   rô   Ï  se   … à�3˜�8‰_ÓØ€Eˆ4ÓØ"�×"Ñ"¨°EÀ5ÔI€Eˆ3ÓIØ"�×"Ñ"¨°EÀ5ÔI€Eˆ3ÓIòò"Cò(ór(   rô   c                   óP   ‡ — e Zd ZU eed<   dZeed<   ˆ fd„Zd„ Zd„ Z	d„ Z
d„ Zˆ xZS )	ÚGetItemSourceÚindexFÚindex_is_slicec                 óÈ   •— | j                   €J ‚t        | j                  t        «      r9t        ‰| �  d| j                  j                  «       «       t        ‰| �  dd«       y y )Nr  r  T)rn   r   r  ÚsliceÚsuperr�   Ú
__reduce__)r%   Ú	__class__s    €r   r„   zGetItemSource.__post_init__ù  sR   ø€ Ø�y‰yÐ$Ð$Ð$Ü�d—j‘j¤%Ô(ä‰GÑ ¨¯©×)>Ñ)>Ó)@ÔAÜ‰GÑÐ 0°$Õ7ð )r(   c                 ó&  —  || j                   «       | j                  r/|j                  |j                  | j	                  «       «      «       n*|j                  |j                  | j
                  «      «       |j                  t        d«      «       y rE   )rn   r  r"   rJ   Úunpack_slicer  r   r$   s     r   r'   zGetItemSource.reconstruct   sj   € Ù�—	‘	ÔØ×ÒØ×!Ñ! '×";Ñ";¸D×<MÑ<MÓ<OÓ"PÕQà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHØ×ÑÔ0°ÓAÕBr(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zGetItemSource.guard_source  rq   r(   c                 óF   — | j                   sJ ‚| j                  \  }} ||Ž S r    )r  r  )r%   Úslice_classÚ
slice_argss      r   r  zGetItemSource.unpack_slice  s*   € Ø×"Ò"Ð"Ð"Ø"&§*¡*Ñˆ�ZÙ˜JÐ'Ð'r(   c                 ó  — t        | j                  t        «      rJ ‚| j                  r.| j                  j                  «       › d| j                  «       ›d�S | j                  j                  «       › d| j                  ›d�S )Nrþ   r-   )r   r  r   r  rn   r/   r  r+   s    r   r/   zGetItemSource.name  sm   € ô ˜dŸj™j¬&Ô1Ð1Ð1Ø×ÒØ—i‘i—n‘nÓ&Ð' q¨×):Ñ):Ó)<Ð(?¸qÐAÐAà—i‘i—n‘nÓ&Ð' q¨¯©¨°aÐ8Ð8r(   )r0   r1   r2   r   r4   r  r5   r„   r'   r   r  r/   Ú__classcell__)r  s   @r   r  r  ô  s,   ø… àƒJØ €N�DÓ ô8òCò(ò(ö
9r(   r  c                   ó0   — e Zd ZU eed<   d„ Zd„ Zd„ Zd„ Zy)ÚConstDictKeySourcer  c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zConstDictKeySource.guard_source  rq   r(   c                 óÜ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚdict_keys_getitem©rÈ   r
   r0   ©r&   s   €r   rc   z0ConstDictKeySource.reconstruct.<locals>.<lambda>$  s   ø€ �G×,Ñ,¬U¯^©^Ð=PÓQ€ r(   r·   F©re   rn   r"   rJ   r  rf   r   r$   s    `r   r'   zConstDictKeySource.reconstruct"  sU   ø€ Ø×ÑÛQô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r(   c                 óX   — d| j                   j                  «       › d| j                  ›d�S )Nzlist(dict.keys(z))[r-   ©rn   r/   r  r+   s    r   r/   zConstDictKeySource.name*  s'   € à  §¡§¡Ó!1Ð 2°#°d·j±j°^À1ÐEÐEr(   c                  ó   — yr²   r7   r+   s    r   Úis_dict_keyzConstDictKeySource.is_dict_key.  r´   r(   N)	r0   r1   r2   r   r4   r   r'   r/   r   r7   r(   r   r  r    s   … àƒJò(ò>òFór(   r  c                   ó0   — e Zd ZU eed<   d„ Zd„ Zd„ Zd„ Zy)ÚDictGetItemSourcer  c                 ó€   — ddl m} t        | j                  t        «      s|j                  | j                  «      sJ ‚y y )Nr	   )ÚConstantVariable)Ú	variablesr$  r   r  r  Ú
is_literal)r%   r$  s     r   r„   zDictGetItemSource.__post_init__:  s;   € Ý/äØ�J‰JÔ*ô
à×(Ñ(¨¯©Ô4ð	5ð 5à4ð
r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zDictGetItemSource.guard_sourceA  rq   r(   c                 ó6  ‡— ‰j                  ˆfd„«        ‰| j                  «       t        | j                  t        «      r ‰| j                  «       n*‰j                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚdict_getitemr  r  s   €r   rc   z/DictGetItemSource.reconstruct.<locals>.<lambda>I  ó   ø€ �G×,Ñ,¬U¯^©^¸^ÓL€ r(   r·   F)	re   rn   r   r  r   r"   rJ   rf   r   r$   s    `r   r'   zDictGetItemSource.reconstructD  ss   ø€ ð 	×ÑÛLô	
ñ
 	�—	‘	Ôô �d—j‘j¤&Ô)Ù�D—J‘JÕà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHà×ÑÔ2°1°eÓ<Õ=r(   c                 óü   — t        | j                  t        «      r9d| j                  j	                  «       › d| j                  j	                  «       › d�S | j                  j	                  «       › d| j                  ›d�S )Nzdict.__getitem__(r‹   rŒ   rþ   r-   )r   r  r  rn   r/   r+   s    r   r/   zDictGetItemSource.nameW  sa   € Ü�d—j‘jÔ"4Ô5Ø& t§y¡y§~¡~Ó'7Ð&8¸¸4¿:¹:¿?¹?Ó;LÐ:MÈQÐOÐOà—i‘i—n‘nÓ&Ð' q¨¯©¨°aÐ8Ð8r(   N)	r0   r1   r2   r   r4   r„   r   r'   r/   r7   r(   r   r"  r"  3  s   … ð
 ƒJò5ò(ò>ó&9r(   r"  c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚListGetItemSourcezY
    Same as GetItemSource with reconstruct and name overridden to be list specific.
    c                 ó
  ‡— ‰j                  ˆfd„«        ‰| j                  «       | j                  rt        d«      ‚‰j	                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚlist_getitemr  r  s   €r   rc   z/ListGetItemSource.reconstruct.<locals>.<lambda>j  r+  r(   ú>List[slice] is a temporary object and should not have a sourcer·   F)	re   rn   r  ÚRuntimeErrorr"   rJ   r  rf   r   r$   s    `r   r'   zListGetItemSource.reconstructd  st   ø€ ð
 	×ÑÛLô	
ñ
 	�—	‘	Ôð ×ÒÜØPóð ð ×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHà×ÑÔ2°1°eÓ<Õ=r(   c                 ó¾   — t        | j                  t        «      rJ ‚| j                  rt	        d«      ‚d| j
                  j                  «       › d| j                  ›d�S )Nr2  zlist.__getitem__(r‹   rŒ   )r   r  r   r  r3  rn   r/   r+   s    r   r/   zListGetItemSource.namez  sX   € ô ˜dŸj™j¬&Ô1Ð1Ð1Ø×ÒÜØPóð ð ' t§y¡y§~¡~Ó'7Ð&8¸¸4¿:¹:¸.ÈÐJÐJr(   N)r0   r1   r2   r’   r'   r/   r7   r(   r   r.  r.  ^  s   „ ñò>ó,
Kr(   r.  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTupleIteratorGetItemSourcec                 óÜ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚtuple_iterator_getitemr  r  s   €r   rc   z8TupleIteratorGetItemSource.reconstruct.<locals>.<lambda>‹  s   ø€ �G×,Ñ,¬U¯^©^Ð=UÓV€ r(   r·   Fr  r$   s    `r   r'   z&TupleIteratorGetItemSource.reconstruct‰  sU   ø€ Ø×ÑÛVô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r(   c                 óX   — d| j                   j                  «       › d| j                  ›d�S )Nz___tuple_iterator_getitem(r‹   rŒ   r  r+   s    r   r/   zTupleIteratorGetItemSource.name‘  s'   € Ø+¨D¯I©I¯N©NÓ,<Ð+=¸RÀÇ
Á
¸~ÈQÐOÐOr(   N)r0   r1   r2   r'   r/   r7   r(   r   r6  r6  ‡  s   „ ò>óPr(   r6  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)Ú
TypeSourcec                 ó    — | j                   €J ‚y r    rm   r+   s    r   r„   zTypeSource.__post_init__—  rÏ   r(   c                 óˆ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  t        dd«      «       y )Nc                  ó(   •— ‰ j                  dd«      S )NÚbuiltinsÚtype©rÈ   r  s   €r   rc   z(TypeSource.reconstruct.<locals>.<lambda>›  s   ø€  g×&>Ñ&>¸zÈ6Ó&R€ r(   r	   F©re   rn   rf   r   r$   s    `r   r'   zTypeSource.reconstructš  s4   ø€ Ø×ÑÓRÔSÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zTypeSource.guard_sourceŸ  rq   r(   c                 ó>   — d| j                   j                  «       › d�S )Nztype(rŒ   rs   r+   s    r   r/   zTypeSource.name¢  s   € Ø�t—y‘y—~‘~Ó'Ð(¨Ð*Ð*r(   NrÚ   r7   r(   r   r<  r<  •  s   „ ò%ò>ò
(ó+r(   r<  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚOptimizerSourcec                 ó(   —  || j                   «       y r    rm   r$   s     r   r'   zOptimizerSource.reconstruct¨  rß   r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zOptimizerSource.guard_source«  rq   r(   c                 ó6   — | j                   j                  «       S r    rs   r+   s    r   r/   zOptimizerSource.name®  ó   € Ø�y‰y�~‰~ÓÐr(   Nrt   r7   r(   r   rG  rG  ¦  s   „ òò(ó r(   rG  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚNNModuleSourcec                 ó(   —  || j                   «       y r    rm   r$   s     r   r'   zNNModuleSource.reconstruct´  rß   r(   c                 óD   — t         | j                  j                  «          S r    rœ   r+   s    r   r   zNNModuleSource.guard_source·  rž   r(   c                 ó6   — | j                   j                  «       S r    rs   r+   s    r   r/   zNNModuleSource.nameº  rK  r(   Nrt   r7   r(   r   rM  rM  ²  s   „ òòMó r(   rM  c                   ó   — e Zd Zd„ Zy)ÚUnspecializedNNModuleSourcec                 óD   — t         | j                  j                  «          S r    )Ú%_GUARD_SOURCE_UNSPECIALIZED_NN_MODULErn   r   r+   s    r   r   z(UnspecializedNNModuleSource.guard_sourceÀ  s   € Ü4°T·Y±Y×5KÑ5KÓ5MÑNÐNr(   NrŸ   r7   r(   r   rR  rR  ¾  s   „ óOr(   rR  c                   ó   — e Zd Zd„ Zy)Ú"UnspecializedBuiltinNNModuleSourcec                 óD   — t         | j                  j                  «          S r    )Ú-_GUARD_SOURCE_UNSPECIALIZED_BUILTIN_NN_MODULErn   r   r+   s    r   r   z/UnspecializedBuiltinNNModuleSource.guard_sourceÆ  s   € Ü<¸T¿Y¹Y×=SÑ=SÓ=UÑVÐVr(   NrŸ   r7   r(   r   rV  rV  Ä  s   „ óWr(   rV  c                   ó   — e Zd Zd„ Zy)ÚFSDPNNModuleSourcec                 óD   — t         | j                  j                  «          S r    )Ú_GUARD_SOURCE_FSDP_MODULErn   r   r+   s    r   r   zFSDPNNModuleSource.guard_sourceÌ  s   € Ü(¨¯©×)?Ñ)?Ó)AÑBÐBr(   NrŸ   r7   r(   r   rZ  rZ  Ê  s   „ óCr(   rZ  c                   ó   — e Zd Zd„ Zd„ Zy)ÚGlobalStateSourcec                  ó   — y©Nr©   r7   r+   s    r   r/   zGlobalStateSource.nameÒ  ó   € Ør(   c                 ó"   — t         j                  S r    rX   r+   s    r   r   zGlobalStateSource.guard_sourceÕ  rZ   r(   N©r0   r1   r2   r/   r   r7   r(   r   r^  r^  Ð  s   „ òó"r(   r^  c                   ó0   — e Zd ZU eed<   d„ Zd„ Zd„ Zd„ Zy)ÚTorchFunctionModeStackSourceÚindc                 ó*   — d| j                  «       › d�S )Nz$___get_torch_function_mode_stack_at(rŒ   )Ú
_get_indexr+   s    r   r/   z!TorchFunctionModeStackSource.nameÝ  s   € Ø5°d·o±oÓ6GÐ5HÈÐJÐJr(   c                 óD   — ddl m} |j                  | j                  «      S )Nr	   )ÚTorchFunctionModeStackVariable)Úvariables.torch_functionrj  Úget_mode_indexrf  )r%   rj  s     r   rh  z'TorchFunctionModeStackSource._get_indexà  s   € ÝLà-×<Ñ<¸T¿X¹XÓFÐFr(   c                 óÂ   ‡— ‰j                  ˆfd„«       ‰j                  ‰j                  | j                  «       «      g«       ‰j                  t	        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚ get_torch_function_mode_stack_atr  r  s   €r   rc   z:TorchFunctionModeStackSource.reconstruct.<locals>.<lambda>ç  s   ø€ �G×,Ñ,Ü—‘Ð Bó€ r(   r	   F)re   rf   rJ   rh  r   r$   s    `r   r'   z(TorchFunctionModeStackSource.reconstructå  sQ   ø€ Ø×Ñóô	
ð
 	×Ñ˜w×8Ñ8¸¿¹Ó9JÓKÐLÔMØ×ÑÔ2°1°eÓ<Õ=r(   c                 ó"   — t         j                  S r    rX   r+   s    r   r   z)TorchFunctionModeStackSource.guard_sourceî  rZ   r(   N)	r0   r1   r2   rM   r4   r/   rh  r'   r   r7   r(   r   re  re  Ù  s   … à	ƒHòKòGò
>ó"r(   re  c                   ó0   — e Zd ZU eed<   d„ Zd„ Zd„ Zd„ Zy)r   Úsource_namec                 ó\   — |j                  |j                  | j                  d¬«      «       y )NFrS   )r"   rV   rr  r$   s     r   r'   zConstantSource.reconstructö  s&   € Ø×Ñ˜g×8Ñ8¸×9IÑ9IÈuÐ8ÓUÕVr(   c                 ó"   — t         j                  S r    )r   r   r+   s    r   r   zConstantSource.guard_sourceù  s   € Ü×#Ñ#Ð#r(   c                 ó   — | j                   S r    )rr  r+   s    r   r/   zConstantSource.nameü  s   € Ø×ÑÐr(   c                 ó   — t         ‚r    r¬   r­   s     r   r¯   zConstantSource.make_guardÿ  r°   r(   N)	r0   r1   r2   r3   r4   r'   r   r/   r¯   r7   r(   r   r   r   ò  s   … àÓòWò$ò ó"r(   r   c                   ó$   — e Zd Zdefd„Zd„ Zd„ Zy)ÚNumpyTensorSourceÚreturnc                 ó>   — d| j                   j                  «       › d�S )Nz___from_numpy(rŒ   rs   r+   s    r   r/   zNumpyTensorSource.name  s   € Ø §	¡	§¡Ó 0Ð1°Ð3Ð3r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zNumpyTensorSource.guard_source  rq   r(   c                 óˆ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  t        dd«      «       y )Nc                  ó(   •— ‰ j                  dd«      S )NÚtorchÚ	as_tensorrB  r  s   €r   rc   z/NumpyTensorSource.reconstruct.<locals>.<lambda>  s   ø€  g×&>Ñ&>¸wÈÓ&T€ r(   r	   FrC  r$   s    `r   r'   zNumpyTensorSource.reconstruct  s4   ø€ Ø×ÑÓTÔUÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r(   N)r0   r1   r2   r3   r/   r   r'   r7   r(   r   rx  rx    s   „ ð4�có 4ò(ó>r(   rx  c                   ó   — e Zd Zdefd„Zd„ Zy)ÚSubclassAttrListSourcery  c                 ó<   — | j                   j                  «       › d�S )Nz.__tensor_flatten__()[0]rs   r+   s    r   r/   zSubclassAttrListSource.name  s   € Ø—)‘)—.‘.Ó"Ð#Ð#;Ð<Ð<r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   z#SubclassAttrListSource.guard_source  rq   r(   N©r0   r1   r2   r3   r/   r   r7   r(   r   r�  r�    s   „ ð=�có =ó(r(   r�  c                   ó   — e Zd Zdefd„Zd„ Zy)ÚFloatTensorSourcery  c                 ó>   — d| j                   j                  «       › d�S )Nz___as_tensor(rŒ   rs   r+   s    r   r/   zFloatTensorSource.name  s   € Ø˜tŸy™yŸ~™~Ó/Ð0°Ð2Ð2r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   zFloatTensorSource.guard_source!  rq   r(   Nr„  r7   r(   r   r†  r†    s   „ ð3�có 3ó(r(   r†  c                   ó   — e Zd Zdefd„Zd„ Zy)ÚCallMethodItemSourcery  c                 ó<   — | j                   j                  «       › d�S )Nz.item()rs   r+   s    r   r/   zCallMethodItemSource.name'  s   € Ø—)‘)—.‘.Ó"Ð# 7Ð+Ð+r(   c                 ó6   — | j                   j                  «       S r    rp   r+   s    r   r   z!CallMethodItemSource.guard_source*  rq   r(   Nr„  r7   r(   r   rŠ  rŠ  %  s   „ ð,�có ,ó(r(   rŠ  c                   ó   — e Zd Zd„ Zd„ Zy)ÚShapeEnvSourcec                  ó   — yr`  r7   r+   s    r   r/   zShapeEnvSource.name3  ra  r(   c                 ó"   — t         j                  S r    )r   Ú	SHAPE_ENVr+   s    r   r   zShapeEnvSource.guard_source6  r§   r(   Nrc  r7   r(   r   rŽ  rŽ  1  s   „ òó%r(   rŽ  c                   ó   — e Zd Zd„ Zd„ Zy)ÚBackwardStateSourcec                  ó   — yr`  r7   r+   s    r   r/   zBackwardStateSource.name<  ra  r(   c                 ó"   — t         j                  S r    )r   ÚBACKWARD_STATEr+   s    r   r   z BackwardStateSource.guard_source?  s   € Ü×)Ñ)Ð)r(   Nrc  r7   r(   r   r“  r“  :  s   „ òó*r(   r“  F©Úonly_allow_inputr   c                ó’   — t        | t        «      rt        | j                  |¬«      S t        | t        «      sy|r| j
                  syy)Nr—  FT)r   r   Úis_from_local_sourcern   r   r   )r   r˜  s     r   rš  rš  C  s:   € Ü�&œ-Ô(Ü# F§K¡KÐBRÔSÐSÜ�fœkÔ*ØÙ §¢ØØr(   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   r¡   r   Ú)is_from_unspecialized_param_buffer_sourcern   r   s    r   rœ  rœ  M  s,   € Ü�&Ô8Ô9ØÜ�&œ-Ô(Ü8¸¿¹ÓEÐEØr(   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   rã   r   Ú$is_from_flatten_script_object_sourcern   r   s    r   rž  rž  U  s,   € Ü�&Ô3Ô4ØÜ	�FœMÔ	*Ü3°F·K±KÓ@Ð@Ør(   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   rG  r   Úis_from_optimizer_sourcern   r   s    r   r   r   ]  s+   € Ü�&œ/Ô*ØÜ�&œ-Ô(Ü'¨¯©Ó4Ð4Ør(   c                 ó€  — t        | t        «      ryt        | t        «      r4t        | j                  t        «      r| j                  j
                  dk(  ryt        | t        «      r4t        | j                  t        «      r| j                  j
                  dk(  ryt        | t        «      rt        | j                  «      S y)NTrü   rý   F)	r   rô   r"  rn   rz   r{   r  r   Úis_from_defaultsr   s    r   r¢  r¢  g  s‹   € Ü�&œ.Ô)Øô 	�6Ô,Ô-Ü�v—{‘{¤JÔ/Ø�K‰K×ÑÐ"2Ò2àô 	�6œ=Ô)Ü�v—{‘{¤JÔ/Ø�K‰K×Ñ .Ò0àä�&œ-Ô(Ü §¡Ó,Ð,Ør(   )Pr’   r  ÚenumÚtypingr   r   r   Útorch._guardsr   r   r   r©   r
   Úbytecode_transformationr   r   r*   ÚLOCAL_SPECIALIZED_NN_MODULErY   ÚGLOBAL_SPECIALIZED_NN_MODULEÚLOCAL_UNSPECIALIZED_NN_MODULEÚGLOBAL_UNSPECIALIZED_NN_MODULEÚ%LOCAL_UNSPECIALIZED_BUILTIN_NN_MODULEÚ&GLOBAL_UNSPECIALIZED_BUILTIN_NN_MODULEÚLOCAL_FSDP_MODULEÚGLOBAL_FSDP_MODULEr�   rT  rX  r\  r   Ú	dataclassr   r9   r@   rO   r_   rj   rv   rz   r�   r”   rš   r¡   r£   ÚEnumr¶   rÁ   rÍ   rÕ   rÜ   rã   ré   rï   rô   r  r  r"  r.  r6  r<  rG  rM  rR  rV  rZ  r^  re  r   rx  r�  r†  rŠ  rŽ  r“  rš  rœ  rž  r   r¢  r7   r(   r   ú<module>r±     s¶	  ðñó& Û ß 'Ñ 'ç <Ñ <å ß Mð ×Ñ�{×>Ñ>Ø×Ñ˜×@Ñ@Ø×+Ñ+¨[×-TÑ-TØ×,Ñ,¨k×.VÑ.Và×-Ñ-¨{×/XÑ/XØ×.Ñ.°×0ZÑ0ZØ×5Ñ5°{×7hÑ7hØ×6Ñ6¸×8jÑ8jØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$Bð'Ð #ð  ×Ñ�{×@Ñ@Ø×Ñ˜×BÑBØ×-Ñ-¨{×/XÑ/XØ×.Ñ.°×0ZÑ0Zà×+Ñ+¨[×-VÑ-VØ×,Ñ,¨k×.XÑ.Xà×5Ñ5°{×7hÑ7hØ×6Ñ6¸×8jÑ8jØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$Bð)Ð %ð" ×Ñ�{×HÑHØ×Ñ˜×JÑJØ×-Ñ-¨{×/`Ñ/`Ø×.Ñ.°×0bÑ0bØ×+Ñ+¨[×-^Ñ-^Ø×,Ñ,¨k×.`Ñ.`à×5Ñ5°{×7hÑ7hØ×6Ñ6¸×8jÑ8jØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$Bð1Ð -ð ×Ñ�{×4Ñ4Ø×Ñ˜×6Ñ6Ø×+Ñ+¨[×-JÑ-JØ×,Ñ,¨k×.LÑ.LØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$BØ×-Ñ-¨{×/LÑ/LØ×.Ñ.°×0NÑ0NØ×5Ñ5°{×7TÑ7TØ×6Ñ6¸×8VÑ8VðÐ ò	ð €×Ñ˜dÔ#ô-�&ó -ó $ð-ð8 €×Ñ˜dÔ#ô
7˜6ó 
7ó $ð
7ð €×Ñ˜dÔ#ô8˜ó 8ó $ð8ð €×Ñ˜dÔ#ô
.�6ó 
.ó $ð
.ð €×Ñ˜dÔ#ô0˜&ó 0ó $ð0ð$ €×Ñ˜dÔ#ô	'˜ó 	'ó $ð	'ð €×Ñ˜dÔ#ô	Ð0ó 	ó $ð	ð €×Ñ˜dÔ#ô3�ó 3ó $ð3ð2 €×Ñ˜dÔ#ôL�fó Ló $ðLð, €×Ñ˜dÔ#ô3�ó 3ó $ð3ð €×Ñ˜dÔ#ôM˜
ó Mó $ðMð €×Ñ˜dÔ#ô	 Zó 	ó $ð	ð €×Ñ˜dÔ#ô�fó ó $ðô $�T—Y‘Yô $ð €×Ñ˜dÔ#ô%;˜=ó %;ó $ð%;ðP €×Ñ˜dÔ#ô3�Mó 3ó $ð3ð  €×Ñ˜dÔ#ô/�=ó /ó $ð/ð €×Ñ˜dÔ#ôG�}ó Gó $ðGð €×Ñ˜dÔ#ô7 ó 7ó $ð7ð €×Ñ˜dÔ#ô> mó >ó $ð>ô0�mô 0ð €×Ñ˜dÔ#ô!�]ó !ó $ð!ðH €×Ñ˜dÔ#ô#9�Mó #9ó $ð#9ðL €×Ñ˜dÔ#ô˜ó ó $ðð. €×Ñ˜dÔ#ô'9˜ó '9ó $ð'9ðT €×Ñ˜dÔ#ô%K˜ó %Kó $ð%KðP €×Ñ˜dÔ#ô
P ó 
Pó $ð
Pð €×Ñ˜dÔ#ô+�ó +ó $ð+ð  €×Ñ˜dÔ#ô �mó  ó $ð ð €×Ñ˜dÔ#ô �]ó  ó $ð ð €×Ñ˜dÔ#ôO .ó Oó $ðOð
 €×Ñ˜dÔ#ôWÐ)Dó Wó $ðWð
 €×Ñ˜dÔ#ôC˜ó Có $ðCð
 €×Ñ˜dÔ#ô"˜ó "ó $ð"ð €×Ñ˜dÔ#ô" 6ó "ó $ð"ð0 €×Ñ˜dÔ#ô"�Vó "ó $ð"ð  €×Ñ˜dÔ#ô
>˜ó 
>ó $ð
>ð €×Ñ˜dÔ#ô(˜]ó (ó $ð(ð €×Ñ˜dÔ#ô(˜ó (ó $ð(ð €×Ñ˜dÔ#ô(˜=ó (ó $ð(ð €×Ñ˜dÔ#ô%�Vó %ó $ð%ð €×Ñ˜dÔ#ô*˜&ó *ó $ð*ð >Cò  ó ð°fó ð°ó ð Vó ð˜Vô r(   