+
    –°³jÍè  ã                  óÚ  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHt ^ RIHt ^ RIt^ R	IHt  ^ R
I!H"t" ^ RI#H$t$ ^ RI%H&t&H't' ^ RI(H)t) ]PT                  ! ]+4      t,]'       dC   ^ RI-t-^ RI.H/t/H0t0H1t1 ^ RI2H3t3 ^ RI4t4^ RI5H6t6 ^ RI7H8t8 ^ RI9H:t: ^ RI;H<t< ^ RI=H>t> ^ RI?H@t@ ^ RIAHBtB  ]P†                  ! R4      tD]P†                  ! R4      tE]! RRRR7       ! R R4      4       tF ! R R]4      tG ! R R ]P�                  4      tI  ! R! R"4      tJ]P&                  ! RR#7       ! R$ R%4      4       tK ! R& R']4      tL]P&                  ! RR(7       ! R) R*4      4       tM]! R+4      tN ]P&                  ! RR#7       ! R, R-4      4       tO ]P&                  ! RR#7       ! R. R/]O4      4       tP ]P&                  ! RR#7       ! R0 R1]O4      4       tQ  ! R2 R3]]N,          4      tR ! R4 R54      tS ! R6 R74      tT ! R8 R9]R]T,          4      tU ! R: R;4      tV ! R< R=]R]V,          4      tW ! R> R?4      tX  ! R@ RA]R]S,          4      tY ! RB RC4      tZ] ! RD RE4      4       t[] ! RF RG4      4       t\ ! RH RI]Z4      t] ! RJ RK4      t^ ! RL RM]	P¾                  4      t`]`! 4       ta  ! RN RO4      tb] ! RP RQ4      4       tc ! RR RS4      td]RT RU l4       te]RV RW l4       tf]RX RY l4       tg]RfRZ R[ ll4       tg]! 4       RfR\ R] ll4       tg]g! RR#7       ! R^ R_4      4       th]g! RR#7       ! R` Ra]h4      4       tiRfRb Rc lltjRd Re ltkR# )gé    )ÚannotationsN)Úabstractmethod)Údefaultdict)Úcontextmanager)Ú	dataclass)ÚAnyÚGenericÚ
NamedTupleÚoverloadÚTYPE_CHECKINGÚTypeVar)Údataclass_transform)Ú_pytree)Ú
OrderedSet)Úis_traceable_wrapper_subclass)ÚCapturedTracebackÚformat_frame)ÚWeakTensorKeyDictionary)ÚCallableÚ	GeneratorÚIterator)ÚCodeType)ÚDDPOptimizerContext)Ú	PyCodegen)ÚGuardCheckSpec)ÚCodeOptions)ÚViewAndMutationMeta)ÚNestedCompileRegionOptions©ÚFakeTensorModez-^(?P<frame_id>\d+)/(?P<frame_compile_id>\d+)$zQ^!(?P<compiled_autograd_id>\d+)(?:/(?P<frame_id>\d+)/(?P<frame_compile_id>\d+))?$T)ÚfrozenÚkw_onlyÚslotsc                  ó\   € ] tR t^It$ R]R&   R]R&   RtR]R&   R R lt]R R	 l4       tR
t	R# )Ú	CompileIdú
int | NoneÚframe_idÚframe_compile_idNÚcompiled_autograd_idc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚstr© )Úformats   "ÚN/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_guards.pyÚ__annotate__ÚCompileId.__annotate__X   s   € ÷ >ñ >˜ñ >ó    c                	óØ  € V P                   e‚   V P                  R J V P                  R J 8w  d&   \        RV P                   RV P                   24      hRpV P                  e   RV P                   RV P                   2pRV P                    V 2# V P                  e   V P                  f&   \        RV P                   RV P                   24      hV P                   RV P                   2# )NzMframe_id and frame_compile_id must both be None or both be set, got frame_id=z, frame_compile_id=Ú Ú/Ú!z=frame_id and frame_compile_id must not be None, got frame_id=)r)   r'   r(   ÚAssertionError)ÚselfÚ	frame_strs   & r1   Ú__str__ÚCompileId.__str__X   s  € à×$Ñ$Ò0Ø—‘ Ð%¨4×+@Ñ+@ÀDÐ+HÔIÜ$ð$Ø$(§M¡M ?Ð2EÀd×F[ÑF[ÐE\ð^óð ð ˆIØ�}‰}Ò(Ø §¡˜¨a°×0EÑ0EÐ/FÐG�	à�t×0Ñ0Ð1°)°Ð=Ð=à�}‰}Ò$¨×(=Ñ(=Ò(EÜ$ð$Ø$(§M¡M ?Ð2EÀd×F[ÑF[ÐE\ð^óð ð —m‘m�_ A d×&;Ñ&;Ð%<Ð=Ð=r4   c               ó    € V ^8„  d   QhRRRR/# )r,   Ú
compile_idú
str | Noner-   úCompileId | Noner/   )r0   s   "r1   r2   r3   n   s   € ÷ Jñ J Zð JÐ4Dñ Jr4   c                óF  € Vf   R#  \         \        3 Fb  pVP                  V4      ;p'       g   K  VP                  4       pVP	                  4        F  w  rVVf   K  \        V4      WE&   K  	  V ! R/ VB u # 	  \        h  \         d   p\        RT R24      ThRp?ii ; i)zt
Factory method that creates a CompileId from its string representation.
Keep this in sync with the __str__ method.
NzInvalid compile_id 'Ú'r/   )ÚCOMPILE_ID_PATTERNÚCA_COMPILE_ID_PATTERNÚmatchÚ	groupdictÚitemsÚintÚ
ValueErrorÚ	Exception)Úclsr?   ÚpatternrF   ÚgroupsÚkÚvÚes   &&      r1   Úfrom_stringÚCompileId.from_stringm   s¨   € ð ÒÙð	JÜ.Ô0EÓF�Ø#ŸM™M¨*Ó5Ð5�5×5Ð5Ø"Ÿ_™_Ó.�FØ &§¡¦™˜Øœ=Ü(+¨A«˜F›Iñ !/ñ ™= ™=Ò(ñ Gô !Ð øäô 	JÜÐ3°J°<¸qÐAÓBÈÐIûð	Jús(   ˆ%B  ²&B  ÁB  Á8B  Â B ÂBÂB r/   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r)   r<   ÚclassmethodrR   Ú__static_attributes__r/   r4   r1   r%   r%   I   s8   ‡ àÓð
 !Ó ð (,Ð˜*Ó+õ
>ð* ôJó ôJr4   r%   c                  ó8   € ] tR t^„t$ R]R&   R]R&   R R ltRtR# )	ÚTraceIdr%   r?   rI   Úattemptc               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   ÚTraceId.__annotate__Š   s   € ÷ 7ñ 7˜ñ 7r4   c                	ó„   € V P                   ^ 8X  d   \        V P                  4      # V P                   RV P                    2# )r   Ú_)r]   r.   r?   ©r:   s   &r1   r<   ÚTraceId.__str__Š   s7   € à�<‰<˜1ÔÜ�t—‘Ó'Ð'à—o‘oÐ& a¨¯© ~Ð6Ð6r4   r/   N©rT   rU   rV   rW   rX   r<   rZ   r/   r4   r1   r\   r\   „   s   ‡ ØÓð ƒL÷7ñ 7r4   r\   c                  ó–   € ] tR t^’t^ t^t^t^t^t^t	^t
^t^t^	t^
t^t^t^t^t^t^tR R ltR R ltR R ltR R ltR	 R
 ltRtR# )ÚGuardSourcec               ó   € V ^8„  d   QhRR/# ©r,   r-   Úboolr/   )r0   s   "r1   r2   ÚGuardSource.__annotate__¥   s   € ÷ Wñ W ñ Wr4   c                	óH   € V \         P                  \         P                  39   # ©N)rf   ÚGLOBAL_FSDP_MODULEÚLOCAL_FSDP_MODULErb   s   &r1   Úis_fsdp_moduleÚGuardSource.is_fsdp_module¥   s   € Øœ×6Ñ6¼×8UÑ8UÐVÑVÐVr4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   rj   ¨   s   € ÷ 
ñ 
¨$ñ 
r4   c                	óô   € ^ RI Hu Hp VP                  '       d<   V \        P
                  \        P                  39   ;'       g    V P                  4       # V \        P
                  \        P                  39   # ©r   N)Útorch._dynamo.configÚ_dynamoÚconfigÚ_unsafe_skip_fsdp_module_guardsrf   ÚGLOBAL_SPECIALIZED_NN_MODULEÚLOCAL_SPECIALIZED_NN_MODULEro   )r:   rv   s   & r1   Úis_specialized_nn_moduleÚ$GuardSource.is_specialized_nn_module¨   sv   € ß-Ð-à×1×1Ð1àä×<Ñ<Ü×;Ñ;ðñ÷ )ð )ð
 ×&Ñ&Ó(ðð Ü×4Ñ4Ü×3Ñ3ð
ñ 
ð 	
r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   rj   ¹   s   € ÷ 
ñ 
¨Dñ 
r4   c                	ó„   € V \         P                  \         P                  \         P                  \         P                  39   # rl   )rf   ÚGLOBAL_UNSPECIALIZED_NN_MODULEÚLOCAL_UNSPECIALIZED_NN_MODULEÚ&GLOBAL_UNSPECIALIZED_BUILTIN_NN_MODULEÚ%LOCAL_UNSPECIALIZED_BUILTIN_NN_MODULErb   s   &r1   Úis_unspecialized_nn_moduleÚ&GuardSource.is_unspecialized_nn_module¹   s8   € ØÜ×6Ñ6Ü×5Ñ5Ü×>Ñ>Ü×=Ñ=ð	
ñ 
ð 	
r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   rj   Á   s   € ÷ 
ñ 
°Dñ 
r4   c                	óH   € V \         P                  \         P                  39   # rl   )rf   r€   r�   rb   s   &r1   Ú"is_unspecialized_builtin_nn_moduleÚ.GuardSource.is_unspecialized_builtin_nn_moduleÁ   s&   € ØÜ×>Ñ>Ü×=Ñ=ð
ñ 
ð 	
r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   rj   Ç   s   € ÷ 
ñ 
˜$ñ 
r4   c                	ó¢   € V \         P                  \         P                  \         P                  \         P                  \         P
                  39   # rl   )rf   ÚLOCALry   rn   r   r�   rb   s   &r1   Úis_localÚGuardSource.is_localÇ   sA   € ØÜ×ÑÜ×3Ñ3Ü×)Ñ)Ü×5Ñ5Ü×=Ñ=ð
ñ 
ð 	
r4   r/   N)rT   rU   rV   rW   rŠ   ÚGLOBALry   rx   ÚCONSTANTÚRANDOM_VALUEÚ	SHAPE_ENVrn   rm   ÚBACKWARD_STATEÚ	EPHEMERALÚSYNTHETIC_LOCALr   r~   r�   r€   Ú
TEMP_LOCALro   rz   r‚   r†   r‹   rZ   r/   r4   r1   rf   rf   ’   s~   † Ø€EØ€FØ"#ÐØ#$Ð Ø€HØ€LØ€IØÐØÐØ€NØ€IØ€OØ$&Ð!Ø%'Ð"Ø,.Ð)Ø-/Ð*Ø€JõWõ
õ"
õ
÷
ñ 
r4   rf   c                  ó   € ] tR t^ßtRtR# )ÚGuardBuilderBaser/   N©rT   rU   rV   rW   rZ   r/   r4   r1   r–   r–   ß   s   † Ûr4   r–   )r!   c                  ó8   € ] tR t^ãt$ R]R&   R]R&   R R ltRtR# )	ÚSLocz#traceback.FrameSummary | str | NoneÚframework_locr@   Úmaybe_user_locc               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   ÚSLoc.__annotate__è   s   € ÷ ñ ˜ñ r4   c                	óð   € \        V P                  \        4      '       d   V P                  M$V P                  f   RM\        V P                  4      pV P                  e   V P                   RV R2# RV R2# )Nr6   z (Ú)Ú()Ú
isinstancerš   r.   r   r›   )r:   Úflocs   & r1   r<   ÚSLoc.__str__è   s~   € ô ˜$×,Ñ,¬c×2Ò2ð ×Òð ×!Ñ!Ò)ñ ä˜d×0Ñ0Ó1ð 	ð ×ÑÒ*Ø×)Ñ)Ð*¨"¨T¨F°!Ð4Ð4à�t�f˜A�;Ðr4   r/   Nrd   r/   r4   r1   r™   r™   ã   s   ‡ à6Ó6ØÓ÷ñ r4   r™   c                  ó6   € ] tR t^öt$ R]R&   R]R&   R]R&   RtR# )	Ú
ShapeGuardzsympy.logic.boolalg.BooleanÚexprr™   Úslocri   Úsize_obliviousr/   N©rT   rU   rV   rW   rX   rZ   r/   r4   r1   r¥   r¥   ö   s   ‡ Ø
%Ó%Ø
ƒJØ×r4   r¥   )r#   c                  ó|  € ] tR t^üt$ R]R&   R]R&   RtR]R&   RtR]R&   RtR	]R
&   RtR]R&   Rt	R]R&   Rt
R]R&   RtR]R&   RtR]R&   RtR]R&   R R ltR R ltR R ltR R lt]R R  l4       t]R! R" l4       t]R# R$ l4       tR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3 R4 ltR5tR# )6ÚGuardÚSourceÚoriginating_sourcez)Callable[[GuardBuilderBase, Guard], None]Ú	create_fnNzlist[str] | NoneÚguard_typesÚ	code_listzobject | NoneÚobj_weakrefú!weakref.ReferenceType[Any] | NoneÚguarded_class_weakrefzCapturedTraceback | NoneÚstackztraceback.StackSummary | NoneÚ
user_stackr&   Ú_hashFri   Ú_unserializableÚ_force_dict_keys_matchc               ó   € V ^8„  d   QhRR/# ©r,   r-   rI   r/   )r0   s   "r1   r2   ÚGuard.__annotate__  s   € ÷ ñ ˜#ñ r4   c                	óª   € V P                   f;   \        V P                  V P                  \	        V P
                  4      34      V n         V P                   # rl   )r¶   ÚhashÚnameÚsourceÚidr®   rb   s   &r1   Ú__hash__ÚGuard.__hash__  s:   € Ø�:‰:ÒÜ˜tŸy™y¨$¯+©+´r¸$¿.¹.Ó7IÐJÓKˆDŒJØ�z‰zÐr4   c               ó   € V ^8„  d   QhRR/# )r,   r-   ztuple[bool, int, int, str, int]r/   )r0   s   "r1   r2   r»   #  s   € ÷ 
ñ 
Ð9ñ 
r4   c                	ó¾  € \        V P                  \        P                  4      ;'       dE    V P                  P                  \
        P                  P                  P                  P                  J pTV P                  '       d   V P                  P                  MR\        V P                  4      V P                  V P                  4       P                  P                   3# )é   éÿÿÿÿ)r¡   r®   Ú	functoolsÚpartialÚfuncÚtorchru   ÚguardsÚGuardBuilderÚDUPLICATE_INPUTr¿   ÚvalueÚlenr¾   Úinner_create_fnÚ__code__Úco_firstlineno)r:   Úis_duplicate_inputs   & r1   Úsort_keyÚGuard.sort_key#  s¡   € ô
 �t—~‘~¤y×'8Ñ'8Ó9÷ Yð YØ—‘×#Ñ#¤u§}¡}×';Ñ';×'HÑ'H×'XÑ'XÐXð 	ð
 Ø!%§§ ˆD�K‰K×Ò°"Ü�—	‘	‹NØ�I‰IØ× Ñ Ó"×+Ñ+×:Ñ:ð
ð 	
r4   c               ó    € V ^8„  d   QhRRRR/# )r,   Úotherr«   r-   ri   r/   )r0   s   "r1   r2   r»   3  s   € ÷ 2ñ 2˜Eð 2 dñ 2r4   c                	óD   € V P                  4       VP                  4       8  # rl   )rÔ   ©r:   r×   s   &&r1   Ú__lt__ÚGuard.__lt__3  s   € Ø�}‰}‹ §¡Ó!1Ñ1Ð1r4   c               ó   € V ^8„  d   QhRR/# )r,   r-   z(Callable[[GuardBuilderBase, Guard], Any]r/   )r0   s   "r1   r2   r»   6  s   € ÷ "ñ "Ð!Iñ "r4   c                	óš   € \        V P                  \        P                  4      '       d   V P                  P                  # V P                  # rl   )r¡   r®   rÇ   rÈ   rÉ   rb   s   &r1   rÐ   ÚGuard.inner_create_fn6  s3   € Ü�d—n‘n¤i×&7Ñ&7×8Ò8Ø—>‘>×&Ñ&Ð&à—>‘>Ð!r4   c               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   r»   =  s   € ÷ ,ñ ,�cñ ,r4   c                	ó.   € V P                   P                  # rl   )r­   r¾   rb   s   &r1   r¾   Ú
Guard.name<  s   € à×&Ñ&×+Ñ+Ð+r4   c               ó   € V ^8„  d   QhRR/# ©r,   r-   rf   r/   )r0   s   "r1   r2   r»   A  s   € ÷ 4ñ 4˜ñ 4r4   c                	ó.   € V P                   P                  # rl   )r­   Úguard_sourcerb   s   &r1   r¿   ÚGuard.source@  s   € à×&Ñ&×3Ñ3Ð3r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r±   Úobjectr-   r.   r/   )r0   s   "r1   r2   r»   E  s   € ÷ $ñ $ Fð $¨sñ $r4   c           
     ó&  € \        V \        P                  4      '       dh   V ! 4       pVeE   R\        \	        V 4      4       RVP
                  P                   R\        \	        V4      4       R2# R\        \	        V 4      4       R2# \        V 4      # )a„  
This is a workaround of a Python weakref bug.

`obj_weakref` is instance returned by `weakref.ref`,
`str(obj_weakref)` is buggy if the original obj overrides __getattr__, e.g:

    class MyConfig(dict):
        def __getattr__(self, x):
            return self[x]

    obj = MyConfig(offset=5)
    obj_weakref = weakref.ref(obj)
    str(obj_weakref)  # raise error: KeyError: '__name__'
z<weakref at z; to 'z' at Ú>z; dead>)r¡   ÚweakrefÚReferenceTypeÚhexrÀ   Ú	__class__rT   r.   )r±   Úobjs   & r1   Úweakref_to_strÚGuard.weakref_to_strD  s‡   € ô  �k¤7×#8Ñ#8×9Ò9Ù“-ˆCØŠØ%¤c¬"¨[«/Ó&:Ð%;¸6À#Ç-Á-×BXÑBXÐAYÐY^Ô_bÔceÐfiÓcjÓ_kÐ^lÐlmÐnÐnà%¤c¬"¨[«/Ó&:Ð%;¸7ÐCÐCä�{Ó#Ð#r4   c               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   r»   ]  s   € ÷ 
ñ 
˜#ñ 
r4   c                	óf  € R V P                   '       d%   V P                   P                  P                  4       MR R\        V P                  4       RV P	                  4       P
                   RV P                   RV P                   RV P                  V P                  4       RV P                   R2pV# )z	
        r6   Ú z&
        {
            'guard_types': z,
            'code': z,
            'obj_weakref': z
            'guarded_class': z
        }
        )r¿   r¾   ÚlowerÚreprrÐ   rT   r¯   r°   rð   r±   r³   )r:   Úss   & r1   Ú__repr__ÚGuard.__repr__]  s±   € ð	Ø%)§[§[ [ˆ�‰×	Ñ	×	Ñ	Ô	!°bÐ9¸¼4ÀÇ	Á	»?Ð:KÈ1ÈT×MaÑMaÓMc×MlÑMlÐLmð nà ×,Ñ,Ð-ð .Ø—^‘^Ð$ð %Ø ×/Ñ/°×0@Ñ0@ÓAÐBð CØ"×8Ñ8Ð9ð :	ðˆð ˆr4   c               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   r»   i  s   € ÷ 	ñ 	˜ñ 	r4   c                	óâ  € R \        V P                  4       R2pV P                  '       d%   V P                  P                  P                  4       MRpVRV R2,          pVRV P	                  4       P
                   R2,          pVRV P                   R2,          pVRV P                   R2,          pVRV P                  V P                  4       R2,          pVRV P                   R2,          pV# )	zName: Ú
r6   z    Source: z    Create Function: z    Guard Types: z    Code List: z    Object Weakref: z    Guarded Class Weakref: )rö   r¾   r¿   rõ   rÐ   rT   r¯   r°   rð   r±   r³   )r:   Úoutputr¿   s   &  r1   r<   ÚGuard.__str__i  së   € Øœ$˜tŸy™y›/Ð*¨"Ð-ˆØ-1¯[¯[¨[�—‘×!Ñ!×'Ñ'Ô)¸bˆØ�L  ¨Ð+Õ+ˆØÐ)¨$×*>Ñ*>Ó*@×*IÑ*IÐ)JÈ"ÐMÕMˆØÐ% d×&6Ñ&6Ð%7°rÐ:Õ:ˆØ�O D§N¡NÐ#3°2Ð6Õ6ˆØÐ(¨×)<Ñ)<¸T×=MÑ=MÓ)NÐ(OÈrÐRÕRˆØÐ/°×0JÑ0JÐ/KÈ2ÐNÕNˆØˆr4   c               ó    € V ^8„  d   QhRRRR/# )r,   Úbuilderr–   r-   r   r/   )r0   s   "r1   r2   r»   t  s   € ÷ ñ Ð.ð °3ñ r4   c           	     	ó`  €  V P                  W4      #   \         d�    \        P                  R \	        T 4      P                  4       4       T P                  '       dO   \        P                  RRP                  T P                  P                  4       RR 4      P                  4       4       h i ; i)zError while creating guard:
%szCreated at:
%sr6   Néüÿÿÿ)
r®   rK   ÚlogÚ	exceptionr.   Úrstripr´   ÚerrorÚjoinr0   )r:   r   s   &&r1   ÚcreateÚGuard.createt  s‚   € ð	Ø—>‘> 'Ó0Ð0øÜô 	Ü�M‰MÐ;¼SÀ»Y×=MÑ=MÓ=OÔPØ�z�zˆzÜ—	‘	Ð+¨R¯W©W°T·Z±Z×5FÑ5FÓ5HÈÈÐ5MÓ-N×-UÑ-UÓ-WÔXØð		ús
   ‚ “BB-c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   r»   }  s   € ÷ 6ñ 6¨$ñ 6r4   c                	ó6   € V P                   P                  4       # rl   )r¿   rz   rb   s   &r1   rz   ÚGuard.is_specialized_nn_module}  s   € Ø�{‰{×3Ñ3Ó5Ð5r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   r»   €  s   € ÷ ,ñ , ñ ,r4   c                	ó6   € V P                   P                  4       # rl   )r¿   ro   rb   s   &r1   ro   ÚGuard.is_fsdp_module€  s   € Ø�{‰{×)Ñ)Ó+Ð+r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   r»   ƒ  s   € ÷ &ñ &˜$ñ &r4   c                	ó6   € V P                   P                  4       # rl   )r¿   r‹   rb   s   &r1   r‹   ÚGuard.is_localƒ  s   € Ø�{‰{×#Ñ#Ó%Ð%r4   c               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   r»   †  s   € ÷ "ñ " ñ "r4   c                	óÊ   € \        V P                  \        P                  4      '       d#   V P                  P                  pVP
                  # V P                  pVP
                  # rl   )r¡   r®   rÇ   rÈ   rÉ   rT   )r:   r®   s   & r1   Úcreate_fn_nameÚGuard.create_fn_name†  sM   € Ü�d—n‘n¤i×&7Ñ&7×8Ò8ØŸ™×+Ñ+ˆIð ×!Ñ!Ð!ð Ÿ™ˆIØ×!Ñ!Ð!r4   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r,   Ú
guard_typer.   Úguarded_classr²   r°   ú	list[str]r±   rè   r-   ÚNoner/   )r0   s   "r1   r2   r»   �  s<   € ÷ &'ñ &'àð&'ð 9ð&'ð ð	&'ð
 ð&'ð 
ñ&'r4   c                	ó   € V P                   '       g   . V n         V P                   P                  V4       V P                  VR 39  d   \        RV P                   RV 24      hW n        V P                  '       g   W0n        MV P                  P                  V4       V P                  VR 39   ;'       g0    \        V P                  4      ;'       d    V P                  4       R J pV'       g   \        RV P                   RV 24      hW@n        R # )Nz1Guarded class id must be identical, or None, got z vs zHGuarded object must be identical, None or ephemeral (dead weakref), got )r¯   Úappendr³   r9   r°   Úextendr±   Úcallable)r:   r  r  r°   r±   Úis_valids   &&&&& r1   Úset_export_infoÚGuard.set_export_info�  s  € ð ××ÐØ!ˆDÔà×Ñ×Ñ 
Ô+à×%Ñ%¨m¸TÐ-BÔBÜ ðØ×1Ñ1Ð2°$°}°oðGóð ð &3Ô"à�~�~ˆ~Ø&�Nà�N‰N×!Ñ! )Ô,ð ×Ñ ¨dÐ 3Ñ3÷ +ð +Ü˜×(Ñ(Ó)÷ +ð +Ø× Ñ Ó" dÐ*ð 	÷
 Ü ðØ×'Ñ'Ð(¨¨[¨Mð;óð ð 'Ör4   )r¶   r°   r¯   r³   r±   ) rT   rU   rV   rW   rX   r¯   r°   r±   r³   r´   rµ   r¶   r·   r¸   rÁ   rÔ   rÚ   rÐ   Úpropertyr¾   r¿   Ústaticmethodrð   rø   r<   r  rz   ro   r‹   r  r!  rZ   r/   r4   r1   r«   r«   ü   sð   ‡ ð& ÓØ8Ó8ð %)€KÐ!Ó(Ø"&€IÐÓ&Ø!%€K�Ó%Ø?CÐÐ<ÓCà&*€EÐ#Ó*Ø04€JÐ-Ó4Ø€Eˆ:ÓØ!€O�TÓ!Ø#(Ð˜DÓ(õõ

õ 2õ"ð ô,ó ð,ð ô4ó ð4ð ô$ó ð$õ0
õ	õõ6õ,õ&õ"÷&'ñ &'r4   r«   ÚTc                  ó   € ] tR tRtRtR# )ÚGuardEnvExpriÀ  r/   Nr—   r/   r4   r1   r'  r'  À  s   † ãr4   r'  c                  ó8   € ] tR tRt$ R]R&   R]R&   R R ltRtR# )	ÚDuplicateInputsiË  r¬   Úinput_source_aÚinput_source_bc               ó   € V ^8„  d   QhRR/# ©r,   r-   r  r/   )r0   s   "r1   r2   ÚDuplicateInputs.__annotate__Ð  s   € ÷ ñ ˜tñ r4   c                	ól   € V P                   V P                  8X  d   \        R V P                    24      hR# )z9input_source_a and input_source_b must be different, got N)r*  r+  r9   rb   s   &r1   Ú__post_init__ÚDuplicateInputs.__post_init__Ð  s>   € Ø×Ñ $×"5Ñ"5Ô5Ü ðØ×*Ñ*Ð+ð-óð ñ 6r4   r/   N)rT   rU   rV   rW   rX   r0  rZ   r/   r4   r1   r)  r)  Ë  s   ‡ àÓØÓ÷ñ r4   r)  c                  ó,   € ] tR tRt$ R]R&   R]R&   RtR# )ÚStorageOverlapiæ  zlist[Source]Úoverlapping_sourcesÚnon_overlapping_sourcesr/   Nr©   r/   r4   r1   r3  r3  æ  s   ‡ à%Ó%Ø)×)r4   r3  c                  óB   € ] tR tRt]R R l4       t]R R l4       tRtR# )ÚCheckpointableiù  c               ó   € V ^8„  d   QhRR/# )r,   r-   r%  r/   )r0   s   "r1   r2   ÚCheckpointable.__annotate__û  s   € ×'Ñ' Ñ'r4   c                	ó   € R # rl   r/   rb   s   &r1   Úcopy_graphstateÚCheckpointable.copy_graphstateú  s   € Ù$'r4   c               ó    € V ^8„  d   QhRRRR/# )r,   Ústater%  r-   r  r/   )r0   s   "r1   r2   r9  þ  s   € ×7Ñ7¨Ð7¨dÑ7r4   c                	ó   € R # rl   r/   ©r:   r>  s   &&r1   Úrestore_graphstateÚ!Checkpointable.restore_graphstateý  s   € Ù47r4   r/   N)rT   rU   rV   rW   r   r;  rA  rZ   r/   r4   r1   r7  r7  ù  s   † ØÜ'ó Ø'àÜ7ó Ü7r4   r7  c                  óJ   € ] tR tRt$ RtR]R&   R R ltR R ltR	 R
 ltRt	R# )ÚGuardsCheckpointStatei  zO
The GuardCheckpointState - it is the T of Checkpointable[T] for GuardsContext
úOrderedSet[Guard]Údynamo_guardsc               ó    € V ^8„  d   QhRRRR/# )r,   rF  rE  r-   r  r/   )r0   s   "r1   r2   Ú"GuardsCheckpointState.__annotate__  s   € ÷ +ñ +Ð&7ð +¸Dñ +r4   c                	ó   € Wn         R # rl   ©rF  )r:   rF  s   &&r1   Ú__init__ÚGuardsCheckpointState.__init__  s   € Ø*Ör4   c               ó    € V ^8„  d   QhRRRR/# )r,   r×   rD  r-   úOrderedSet[Guard] | Noner/   )r0   s   "r1   r2   rH    s   € ÷ 
ñ 
Ð/ð 
Ð4Lñ 
r4   c                ót   € V P                   P                  VP                   4      p\        V4      ^ 8X  d   R# V# )z¡
Produces a delta against another GuardsCheckpointState.

Returns None if no delta is found, otherwise, return an OrderedSet() of mismatched
Guard type objects.
N)rF  Ú
differencerÏ   ©r:   r×   Úrs   && r1   ÚdiffÚGuardsCheckpointState.diff  s3   € ð ×Ñ×)Ñ)¨%×*=Ñ*=Ó>ˆÜˆq‹6�QŒ;ÙØˆr4   c               ó    € V ^8„  d   QhRRRR/# ©r,   r×   rè   r-   ri   r/   )r0   s   "r1   r2   rH    ó   € ÷ (ñ (˜Fð ( tñ (r4   c                	óX   € \        V\        4      '       g   R # V P                  V4      RJ # ©FN)r¡   rD  rS  rÙ   s   &&r1   Ú__eq__ÚGuardsCheckpointState.__eq__  s'   € Ü˜%Ô!6×7Ò7ÙØ�y‰y˜Ó 4Ð'Ð'r4   rJ  N)
rT   rU   rV   rW   Ú__doc__rX   rK  rS  rZ  rZ   r/   r4   r1   rD  rD    s#   ‡ ñð %Ó$õ+õ
÷(ñ (r4   rD  c                  óJ   € ] tR tRt$ / tR]R&   R R ltR R ltR R	 ltR
t	R# )ÚModuleContextCheckpointStatei  údict[str, torch.nn.Module]Ú
nn_modulesc               ó    € V ^8„  d   QhRRRR/# )r,   r`  r_  r-   r  r/   )r0   s   "r1   r2   Ú)ModuleContextCheckpointState.__annotate__   s   € ÷ %ñ %Ð#=ð %À$ñ %r4   c                	ó   € Wn         R # rl   ©r`  )r:   r`  s   &&r1   rK  Ú%ModuleContextCheckpointState.__init__   s   € Ø$Žr4   c               ó    € V ^8„  d   QhRRRR/# )r,   r×   r^  r-   úset[str] | Noner/   )r0   s   "r1   r2   rb  #  ó   € ÷ 
ñ 
Ð6ð 
¸?ñ 
r4   c                óÐ   € \        V P                  P                  4       4      P                  \        VP                  P                  4       4      4      p\	        V4      ^ 8X  d   R# V# )zž
Produces a delta against another ModuleContextCheckpointState.

Returns None if no delta is found, otherwise, return a set() of mismatched
module key names.
N)Úsetr`  ÚkeysrP  rÏ   rQ  s   && r1   rS  Ú!ModuleContextCheckpointState.diff#  sM   € ô �—‘×$Ñ$Ó&Ó'×2Ñ2´3°u×7GÑ7G×7LÑ7LÓ7NÓ3OÓPˆÜˆq‹6�QŒ;ÙØˆr4   c               ó    € V ^8„  d   QhRRRR/# rV  r/   )r0   s   "r1   r2   rb  /  rW  r4   c                	óX   € \        V\        4      '       g   R # V P                  V4      RJ # rY  )r¡   r^  rS  rÙ   s   &&r1   rZ  Ú#ModuleContextCheckpointState.__eq__/  ó'   € Ü˜%Ô!=×>Ò>ÙØ�y‰y˜Ó 4Ð'Ð'r4   rd  N)
rT   rU   rV   rW   r`  rX   rK  rS  rZ  rZ   r/   r4   r1   r^  r^    s!   ‡ Ø-/€JÐ*Ó/õ%õ
÷(ñ (r4   r^  c                  ó:   € ] tR tRtR R ltR R ltR R ltRtR	# )
ÚModuleContexti5  c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   ÚModuleContext.__annotate__6  s   € ÷ -ñ -˜$ñ -r4   c                	ó   € / V n         R # rl   rd  rb   s   &r1   rK  ÚModuleContext.__init__6  s	   € Ø*,ˆŽr4   c               ó   € V ^8„  d   QhRR/# )r,   r-   r^  r/   )r0   s   "r1   r2   rt  9  s   € ÷ Cñ CÐ!=ñ Cr4   c                	ó>   € \        \        V P                  4      4      # rl   )r^  Údictr`  rb   s   &r1   r;  ÚModuleContext.copy_graphstate9  s   € Ü+¬D°·±Ó,AÓBÐBr4   c               ó    € V ^8„  d   QhRRRR/# )r,   r>  r^  r-   r  r/   )r0   s   "r1   r2   rt  <  s   € ÷ +ñ +Ð(Dð +Èñ +r4   c                	ó‚   € \        V\        4      '       g   \        R \        V4       24      hVP                  V n        R# )z+expected ModuleContextCheckpointState, got N)r¡   r^  r9   Útyper`  r@  s   &&r1   rA  Ú ModuleContext.restore_graphstate<  s:   € Ü˜%Ô!=×>Ò>Ü Ø=¼dÀ5»k¸]ÐKóð ð  ×*Ñ*ˆŽr4   rd  N)rT   rU   rV   rW   rK  r;  rA  rZ   r/   r4   r1   rr  rr  5  s   † õ-õC÷+ñ +r4   rr  c                  óJ   € ] tR tRt$ / tR]R&   R R ltR R ltR R	 ltR
t	R# )ÚGlobalContextCheckpointStateiD  údict[str, tuple[Callable, Any]]Úglobal_statec               ó    € V ^8„  d   QhRRRR/# )r,   Úglobal_statesr�  r-   r  r/   )r0   s   "r1   r2   Ú)GlobalContextCheckpointState.__annotate__G  s   € ÷ *ñ *Ð&Eð *È$ñ *r4   c                	ó   € Wn         R # rl   ©r‚  )r:   r„  s   &&r1   rK  Ú%GlobalContextCheckpointState.__init__G  s   € Ø)Ör4   c               ó    € V ^8„  d   QhRRRR/# )r,   r×   r€  r-   rg  r/   )r0   s   "r1   r2   r…  J  rh  r4   c                óÐ   € \        V P                  P                  4       4      P                  \        VP                  P                  4       4      4      p\	        V4      ^ 8X  d   R# V# )zž
Produces a delta against another GlobalContextCheckpointState.

Returns None if no delta is found, otherwise, return a set() of mismatched
global key names.
N)rj  r‚  rk  rP  rÏ   rQ  s   && r1   rS  Ú!GlobalContextCheckpointState.diffJ  sO   € ô �×!Ñ!×&Ñ&Ó(Ó)×4Ñ4´S¸×9KÑ9K×9PÑ9PÓ9RÓ5SÓTˆÜˆq‹6�QŒ;ÙØˆr4   c               ó    € V ^8„  d   QhRRRR/# rV  r/   )r0   s   "r1   r2   r…  V  rW  r4   c                	óX   € \        V\        4      '       g   R # V P                  V4      RJ # rY  )r¡   r€  rS  rÙ   s   &&r1   rZ  Ú#GlobalContextCheckpointState.__eq__V  rp  r4   r‡  N)
rT   rU   rV   rW   r‚  rX   rK  rS  rZ  rZ   r/   r4   r1   r€  r€  D  s!   ‡ Ø46€LÐ1Ó6õ*õ
÷(ñ (r4   r€  c                  óF   € ] tR tRtRt0 RmtR R ltR R ltR R ltR	t	R
# )ÚGlobalContexti\  zn
This keeps track of the global torch state during tracing of a function.
For example, torch.is_grad_enabled.
c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   ÚGlobalContext.__annotate__k  s   € ÷ @ñ @˜$ñ @r4   c                	ó   € / V n         R # rl   r‡  rb   s   &r1   rK  ÚGlobalContext.__init__k  s
   € Ø=?ˆÖr4   c               ó   € V ^8„  d   QhRR/# )r,   r-   r€  r/   )r0   s   "r1   r2   r’  n  s   € ÷ ?ñ ?Ð!=ñ ?r4   c                	ó,   € \        V P                  4      # rl   )r€  r‚  rb   s   &r1   r;  ÚGlobalContext.copy_graphstaten  s   € Ü+¨D×,=Ñ,=Ó>Ð>r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r>  r€  r-   r  r/   )r0   s   "r1   r2   r’  q  s   € ÷ ñ Ð(Dð Èñ r4   c                	ó  € \        V\        4      '       g   \        R \        V4       24      hVP                  V n        \        V P                  4      \        V P                  4      8X  d3   \        V P                  P                  4       4      V P                  8X  g=   \        R\        V P                  P                  4       4       RV P                   24      hV P                  P                  4        F  w  r#V! V4       K  	  R# )z+expected GlobalContextCheckpointState, got z Global state mismatch: got keys z, expected N)
r¡   r€  r9   r}  r‚  rÏ   Ú_supported_global_statesrj  rk  Úvalues)r:   r>  rÉ   Úargss   &&  r1   rA  Ú GlobalContext.restore_graphstateq  sß   € Ü˜%Ô!=×>Ò>Ü Ø=¼dÀ5»k¸]ÐKóð ð "×.Ñ.ˆÔä�×!Ñ!Ó"¤c¨$×*GÑ*GÓ&HÔHÜ�D×%Ñ%×*Ñ*Ó,Ó-°×1NÑ1NÔNä Ø2´3°t×7HÑ7H×7MÑ7MÓ7OÓ3PÐ2Qð RØ ×9Ñ9Ð:ð<óð ð ×+Ñ+×2Ñ2Ö4‰JˆDÙ�ŽJó 5r4   r‡  N>   Úgrad_enabledÚautocast_enabledÚautocast_cpu_dtypeÚautocast_gpu_dtypeÚautocast_cpu_enabledÚautocast_cache_enabled)
rT   rU   rV   rW   r\  rš  rK  r;  rA  rZ   r/   r4   r1   r�  r�  \  s$   † ñò
 Ðõ@õ?÷ñ r4   r�  c                  óª   € ] tR tRtRR R lltR R ltR R ltR	 R
 ltR R ltR R lt	R R lt
RRR^ /R R lltR R ltR R ltR R ltRtR# )Ú	GuardsSeti…  Nc               ó    € V ^8„  d   QhRRRR/# )r,   ÚinnerrN  r-   r  r/   )r0   s   "r1   r2   ÚGuardsSet.__annotate__†  s   € ÷ 	.ñ 	.Ð6ð 	.À$ñ 	.r4   c                	óª   € Vf   \        4       V n        MWn        \        \        4      V n        V P                   F  pV P                  V4       K  	  R # rl   )r   r§  r   ÚlistÚsource_to_guardsÚtrack_guard_by_source)r:   r§  Úguards   && r1   rK  ÚGuardsSet.__init__†  sB   € ØŠ=Ü,6«LˆD�JàŒJô CNÌdÓBSˆÔØ—Z”ZˆEØ×&Ñ& uÖ-ó  r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r­  r«   r-   r  r/   )r0   s   "r1   r2   r¨  ‘  s   € ÷ 4ñ 4¨5ð 4°Tñ 4r4   c                	ób   € VP                   pV P                  V,          P                  V4       R # rl   )r­   r«  r  )r:   r­  r¿   s   && r1   r¬  ÚGuardsSet.track_guard_by_source‘  s&   € Ø×)Ñ)ˆØ×Ñ˜fÕ%×,Ñ,¨UÖ3r4   c               ó   € V ^8„  d   QhRR/# )r,   r-   zIterator[Guard]r/   )r0   s   "r1   r2   r¨  •  s   € ÷  ñ  ˜/ñ  r4   c                	ó,   € \        V P                  4      # rl   )Úiterr§  rb   s   &r1   Ú__iter__ÚGuardsSet.__iter__•  ó   € Ü�D—J‘JÓÐr4   c               ó   € V ^8„  d   QhRR/# rº   r/   )r0   s   "r1   r2   r¨  ˜  s   € ÷ ñ ˜ñ r4   c                	ó,   € \        V P                  4      # rl   )rÏ   r§  rb   s   &r1   Ú__len__ÚGuardsSet.__len__˜  s   € Ü�4—:‘:‹Ðr4   c               ó    € V ^8„  d   QhRRRR/# )r,   r×   r¥  r-   r/   )r0   s   "r1   r2   r¨  �  s   € ÷ 3ñ 3˜Yð 3¨9ñ 3r4   c                	óN   € \        V P                  VP                  ,
          4      # rl   )r¥  r§  rÙ   s   &&r1   Ú__sub__ÚGuardsSet.__sub__�  s   € Ü˜Ÿ™ e§k¡kÕ1Ó2Ð2r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   r¨     s   € ÷  ñ  ˜$ñ  r4   c                	ó,   € \        V P                  4      # rl   )ri   r§  rb   s   &r1   Ú__bool__ÚGuardsSet.__bool__   r·  r4   c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   r¨  £  s   € ÷ 2ñ 2�tñ 2r4   c                	óL   € \        4       V n        \        \        4      V n        R # rl   )r   r§  r   rª  r«  rb   s   &r1   ÚclearÚGuardsSet.clear£  s   € Ü“\ˆŒ
Ü +¬DÓ 1ˆÖr4   Úcollect_debug_stackTÚskipc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r,   r­  r«   rÈ  ri   rÉ  rI   r-   r  r/   )r0   s   "r1   r2   r¨  §  s,   € ÷ *ñ *Øð*Ø48ð*ØGJð*à	ñ*r4   c               	óB  € WP                   9   d   R # V'       d2   VP                  f$   \        P                  ! ^V,           R7      Vn        VP                  f   \
        P                  4       Vn        V P                   P                  V4       V P                  V4       R # )N©rÉ  )	r§  r´   r   Úextractrµ   ÚTracingContextÚextract_stackÚaddr¬  )r:   r­  rÈ  rÉ  s   &&$$r1   rÐ  ÚGuardsSet.add§  so   € ð —J‘JÔÙßØ�{‰{Ò"Ü/×7Ò7¸QÀ½XÔF�”Ø×ÑÒ#Ü-×;Ñ;Ó=ˆEÔØ�
‰
�‰�uÔØ×"Ñ" 5Ö)r4   c               ó    € V ^8„  d   QhRRRR/# )r,   Úothersz
set[Guard]r-   r  r/   )r0   s   "r1   r2   r¨  ´  s   € ÷ $ñ $˜jð $¨Tñ $r4   c                	óP   € V F  pV F  pV P                  V^R7       K  	  K!  	  R# )rÅ   rÌ  N)rÐ  )r:   rÓ  ÚoÚgs   &*  r1   ÚupdateÚGuardsSet.update´  s&   € ÛˆAÛ�Ø—‘˜ �Ö#ó ó r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r¿   r¬   r-   zlist[Guard]r/   )r0   s   "r1   r2   r¨  ¹  s   € ÷ 3ñ 3¨Fð 3°{ñ 3r4   c                ó:   € \        V P                  V,          4      # )z4Return all guards with the given originating_source.)rª  r«  )r:   r¿   s   &&r1   Úget_guards_for_sourceÚGuardsSet.get_guards_for_source¹  s   € ä�D×)Ñ)¨&Õ1Ó2Ð2r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r¿   r¬   r-   r  r/   )r0   s   "r1   r2   r¨  ½  s   € ÷ .ñ .°ð .¸4ñ .r4   c                óÐ   aa€ ^RI Ho \        VV3R lV P                   4       4      V n        \	        \
        4      V n        V P                   F  pV P                  V4       K  	  R# )z.Delete all guards that contains a given source)Úis_from_sourcec              3  ó^   <"  € T F"  pS! VP                   S4      '       d   K  Vx € K$  	  R # 5irl   )r­   )Ú.0rÖ  rß  r¿   s   & €€r1   Ú	<genexpr>Ú6GuardsSet.remove_guards_with_source.<locals>.<genexpr>Á  s%   øé € ð  
Ù!�!©¸×8LÑ8LÈf×)U�AŠA“zùs   ƒ-£
-N)Ú_dynamo.sourcerß  r   r§  r   rª  r«  r¬  )r:   r¿   r­  rß  s   &f @r1   Úremove_guards_with_sourceÚ#GuardsSet.remove_guards_with_source½  sN   ù€ å2äõ  
Ø—z’zó 
ó 
ˆŒ
ô
 !,¬DÓ 1ˆÔØ—Z”ZˆEØ×&Ñ& uÖ-ó  r4   )r§  r«  rl   )rT   rU   rV   rW   rK  r¬  rµ  rº  r¾  rÂ  rÆ  rÐ  r×  rÛ  rå  rZ   r/   r4   r1   r¥  r¥  …  sN   † ÷	.õ4õ õõ
3õ õ2ð*Ø;?ð*ØMN÷*õ$õ
3÷.ñ .r4   r¥  c                  ód   € ] tR tRtR R lt]P                  R R l4       tR R ltR R	 lt	R
t
R# )ÚGuardsContextiÓ  c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   ÚGuardsContext.__annotate__Ô  s   € ÷ (ñ (˜$ñ (r4   c                	ó@   € \        4       V n        . V n        R V n        R# rY  )r¥  rF  Úaotautograd_guardsÚskip_installrb   s   &r1   rK  ÚGuardsContext.__init__Ô  s   € Ü(1«ˆÔØ68ˆÔØ"'ˆÖr4   c               ó   € V ^8„  d   QhRR/# ©r,   r-   úGenerator[None, None, None]r/   )r0   s   "r1   r2   rê  Ú  s   € ÷ $ñ $Ð$?ñ $r4   c              #  	ó`   "  € V P                   pR V n          Rx € Wn         R#   Yn         i ; i5i)TN)rí  )r:   Úolds   & r1   Úskip_guard_installÚ GuardsContext.skip_guard_installÙ  s,   é € à×ÑˆØ ˆÔð	$Ûà #Öø Õüs   ‚.—# ›.£+«.c               ó   € V ^8„  d   QhRR/# )r,   r-   rD  r/   )r0   s   "r1   r2   rê  â  s   € ÷ Kñ KÐ!6ñ Kr4   c                	óR   € \        \        V P                  P                  4      4      # rl   )rD  r   rF  r§  rb   s   &r1   r;  ÚGuardsContext.copy_graphstateâ  s   € Ü$¤Z°×0BÑ0B×0HÑ0HÓ%IÓJÐJr4   c               ó    € V ^8„  d   QhRRRR/# )r,   r>  rD  r-   r  r/   )r0   s   "r1   r2   rê  å  s   € ÷ <ñ <Ð(=ð <À$ñ <r4   c                	ó”   € \        V\        4      '       g   \        R \        V4       24      h\	        VP
                  4      V n        R# )z$expected GuardsCheckpointState, got N)r¡   rD  r9   r}  r¥  rF  r@  s   &&r1   rA  Ú GuardsContext.restore_graphstateå  s:   € ä˜%Ô!6×7Ò7Ü Ð#GÌÈUËÀ}Ð!UÓVÐVÜ& u×':Ñ':Ó;ˆÖr4   )rì  rF  rí  N)rT   rU   rV   rW   rK  Ú
contextlibr   rô  r;  rA  rZ   r/   r4   r1   rè  rè  Ó  s1   † õ(ð
 ×Ñô$ó ð$õK÷<ñ <r4   rè  c                  óò   € ] tR tRt]R R l4       t]R R l4       t]R R l4       t]R R	 l4       t]R
 R l4       t	]R R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       tRtR# )ÚHopSubgraphCacheiì  c               ó$   € V ^8„  d   QhRRRRRR/# ©r,   Úfn_coder   Ú
identifierr.   r-   r  r/   )r0   s   "r1   r2   ÚHopSubgraphCache.__annotate__î  s$   € ÷ ñ ØðØ-0ðà	ñr4   c                	ó   € R # rl   r/   ©r:   r  r  s   &&&r1   Úadd_dynamo_installed_submoduleÚ/HopSubgraphCache.add_dynamo_installed_submoduleí  ó   € ñ r4   c               ó    € V ^8„  d   QhRRRR/# ©r,   r  r   r-   r  r/   )r0   s   "r1   r2   r  ó  s   € ×RÑR°xÐRÀIÑRr4   c                	ó   € R # rl   r/   ©r:   r  s   &&r1   Úget_dynamo_installed_submodulesÚ0HopSubgraphCache.get_dynamo_installed_submodulesò  s   € ÙORr4   c               ó$   € V ^8„  d   QhRRRRRR/# ©r,   r  r.   Úkeyr   r-   r  r/   )r0   s   "r1   r2   r  ö  s   € ×QÑQ°ÐQ¸8ÐQÈÑQr4   c                	ó   € R # rl   r/   ©r:   r  r  s   &&&r1   Úadd_autograd_key_entryÚ'HopSubgraphCache.add_autograd_key_entryõ  s   € ÙNQr4   c               ó    € V ^8„  d   QhRRRR/# ©r,   r  r.   r-   zCallable | Noner/   )r0   s   "r1   r2   r  ù  s   € ×MÑM°ÐM¸ÑMr4   c                	ó   € R # rl   r/   ©r:   r  s   &&r1   Úget_autograd_key_entryÚ'HopSubgraphCache.get_autograd_key_entryø  s   € ÙJMr4   c               ó$   € V ^8„  d   QhRRRRRR/# r  r/   )r0   s   "r1   r2   r  ü  s   € ×SÑS°3ÐS¸XÐSÈ$ÑSr4   c                	ó   € R # rl   r/   r  s   &&&r1   Úadd_proxy_dispatch_entryÚ)HopSubgraphCache.add_proxy_dispatch_entryû  s   € ÙPSr4   c               ó    € V ^8„  d   QhRRRR/# r  r/   )r0   s   "r1   r2   r  ÿ  s   € ×OÑO°3ÐO¸?ÑOr4   c                	ó   € R # rl   r/   r  s   &&r1   Úget_proxy_dispatch_entryÚ)HopSubgraphCache.get_proxy_dispatch_entryþ  s   € ÙLOr4   c               ó$   € V ^8„  d   QhRRRRRR/# ©r,   r  rè   Úschemaztorch._C.FunctionSchemar-   r  r/   )r0   s   "r1   r2   r    s$   € ÷ ñ ØðØ#:ðà	ñr4   c                	ó   € R # rl   r/   ©r:   r  r&  s   &&&r1   Úadd_functionalize_schema_entryÚ/HopSubgraphCache.add_functionalize_schema_entry  r  r4   c               ó    € V ^8„  d   QhRRRR/# ©r,   r  rè   r-   ztorch._C.FunctionSchema | Noner/   )r0   s   "r1   r2   r    s   € ÷ -ñ -Øð-à	'ñ-r4   c                	ó   € R # rl   r/   ©r:   r  s   &&r1   Úget_functionalize_schema_entryÚ/HopSubgraphCache.get_functionalize_schema_entry  s   € ñ *-r4   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r,   r  r.   Útangent_metadataútuple[object]Úgmodútorch.fx.GraphModuler-   rI   r/   )r0   s   "r1   r2   r    s2   € ÷ ñ àðð (ðð #ð	ð
 
ñr4   c                	ó   € R # rl   r/   )r:   r  r3  r5  s   &&&&r1   Úadd_lazy_bwd_entryÚ#HopSubgraphCache.add_lazy_bwd_entry  s   € ñ r4   c               ó$   € V ^8„  d   QhRRRRRR/# ©r,   r  r.   r3  r4  r-   z.tuple[torch.fx.GraphModule | None, int | None]r/   )r0   s   "r1   r2   r    s$   € ÷ =ñ =Øð=Ø1>ð=à	7ñ=r4   c                	ó   € R # rl   r/   ©r:   r  r3  s   &&&r1   Úget_lazy_bwd_entryÚ#HopSubgraphCache.get_lazy_bwd_entry  s   € ñ :=r4   r/   N)rT   rU   rV   rW   r   r  r  r  r  r  r"  r)  r/  r8  r>  rZ   r/   r4   r1   rþ  rþ  ì  sª   † Øôó ðð ÜRó ØRàÜQó ØQàÜMó ØMàÜSó ØSàÜOó ØOàôó ðð ô-ó ð-ð ôó ðð ô=ó ô=r4   rþ  c                  ól   € ] tR tRt$ R]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   R]R&   ^ tR]R&   RtR# )ÚInvokeSubgraphReuseEntryi  r.   Ú	body_namer6  Ú	body_gmodz!NestedCompileRegionOptions | Nonerv   ú	list[Any]Úsubgraph_input_mappingri   Úsingle_tensor_outputzIlist[tuple[torch.Size, tuple[int, ...], torch.dtype, torch.device, bool]]Úoutput_metadatazlist[Source | None]Úarg_sourcesrI   Únum_user_outputsr/   N)rT   rU   rV   rW   rX   rI  rZ   r/   r4   r1   rA  rA    sD   ‡ àƒNØ#Ó#Ø-Ó-ðó ð Óðó ð %Ó$ð Ð�c×r4   rA  c                  ój   € ] tR tRt$ R]R&   R]R&   RtR]R&   ]P                  ! ]R	7      t	R
]R&   Rt
R# )ÚInvokeSubgraphReuseConditioni3  zlist[tuple[Any, object]]Úinput_checksz2list[tuple[Source, GuardCheckSpec, object, Guard]]rË   Nzpytree.TreeSpec | NoneÚtreespec)Údefault_factoryzOrderedSet[Source]Útraced_sourcesr/   )rT   rU   rV   rW   rX   rM  ÚdataclassesÚfieldr   rO  rZ   r/   r4   r1   rK  rK  3  s7   ‡ ð +Ó*ð
 ?Ó>ð (,€HÐ$Ó+ð
 *5×):Ò):È:Ô)V€NÐ&×Vr4   rK  c                  óê   € ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR&R R lltR R ltR  R! ltR&R" R# lltR$tR%# )'ÚInvokeSubgraphCacheiN  c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   Ú InvokeSubgraphCache.__annotate__O  s   € ÷ ñ ˜$ñ r4   c                	óÞ   € / V n         / V n        / V n        \        \        4      V n        \        \        4      V n        / V n        \        \        4      V n	        \        \        4      V n
        R # rl   )Úautograd_cacheÚproxy_dispatch_cacheÚfunctionalize_schema_cacher   rª  Údynamo_installed_submodulesry  Úlazy_bwd_cacheÚeffects_cacheÚsubgraph_reuse_cacheÚsubgraph_reuse_key_cacherb   s   &r1   rK  ÚInvokeSubgraphCache.__init__O  sk   € Ø35ˆÔØ9;ˆÔ!ØQSˆÔ'ÜFQÔRVÓFWˆÔ(ô œÓð 	Ôð
 ð 	Ôô œÓð 	Ô!ô œÓð 	Ö%r4   c               ó$   € V ^8„  d   QhRRRRRR/# r   r/   )r0   s   "r1   r2   rU  f  s)   € ÷ Eñ EØðEØ-0ðEà	ñEr4   c                	óJ   € V P                   V,          P                  V4       R # rl   )rZ  r  r  s   &&&r1   r  Ú2InvokeSubgraphCache.add_dynamo_installed_submodulef  s   € ð 	×(Ñ(¨Õ1×8Ñ8¸ÖDr4   c               ó    € V ^8„  d   QhRRRR/# r
  r/   )r0   s   "r1   r2   rU  k  s   € ÷ Añ A°xð AÀIñ Ar4   c                	ó:   € V P                   P                  V. 4      # rl   )rZ  Úgetr  s   &&r1   r  Ú3InvokeSubgraphCache.get_dynamo_installed_submodulesk  s   € Ø×/Ñ/×3Ñ3°G¸RÓ@Ð@r4   c               ó$   € V ^8„  d   QhRRRRRR/# r  r/   )r0   s   "r1   r2   rU  n  s!   € ÷ .ñ .°ð .¸8ð .Èñ .r4   c                	ó"   € W P                   V&   R # rl   )rW  r  s   &&&r1   r  Ú*InvokeSubgraphCache.add_autograd_key_entryn  s   € Ø*-×Ñ˜JÓ'r4   c               ó    € V ^8„  d   QhRRRR/# r  r/   )r0   s   "r1   r2   rU  q  s   € ÷ 9ñ 9°ð 9¸ñ 9r4   c                	ó:   € V P                   P                  VR 4      # rl   )rW  re  r  s   &&r1   r  Ú*InvokeSubgraphCache.get_autograd_key_entryq  s   € Ø×"Ñ"×&Ñ& z°4Ó8Ð8r4   c               ó$   € V ^8„  d   QhRRRRRR/# r  r/   )r0   s   "r1   r2   rU  t  s!   € ÷ 4ñ 4°3ð 4¸Xð 4È$ñ 4r4   c                	ó"   € W P                   V&   R # rl   )rX  r  s   &&&r1   r  Ú,InvokeSubgraphCache.add_proxy_dispatch_entryt  s   € Ø03×!Ñ! *Ó-r4   c               ó    € V ^8„  d   QhRRRR/# r  r/   )r0   s   "r1   r2   rU  w  s   € ÷ ?ñ ?°3ð ?¸?ñ ?r4   c                	ó:   € V P                   P                  VR 4      # rl   )rX  re  r  s   &&r1   r"  Ú,InvokeSubgraphCache.get_proxy_dispatch_entryw  s   € Ø×(Ñ(×,Ñ,¨Z¸Ó>Ð>r4   c               ó$   € V ^8„  d   QhRRRRRR/# r%  r/   )r0   s   "r1   r2   rU  z  s$   € ÷ 6ñ 6Øð6Ø#:ð6à	ñ6r4   c                	ó"   € W P                   V&   R # rl   )rY  r(  s   &&&r1   r)  Ú2InvokeSubgraphCache.add_functionalize_schema_entryz  s   € ð 06×'Ñ'¨Ó,r4   c               ó    € V ^8„  d   QhRRRR/# r,  r/   )r0   s   "r1   r2   rU    s   € ÷ >ñ >Øð>à	'ñ>r4   c                	ó:   € V P                   P                  VR 4      # rl   )rY  re  r.  s   &&r1   r/  Ú2InvokeSubgraphCache.get_functionalize_schema_entry  s   € ð ×.Ñ.×2Ñ2°3¸Ó=Ð=r4   c               ó(   € V ^8„  d   QhRRRRRRRR/# r2  r/   )r0   s   "r1   r2   rU  „  s2   € ÷ 	ñ 	àð	ð (ð	ð #ð		ð
 
ñ	r4   c                	ól   € \        V P                  V,          4      pW43V P                  V,          V&   V# rl   )rÏ   r[  )r:   r  r3  r5  Ú	num_gmodss   &&&& r1   r8  Ú&InvokeSubgraphCache.add_lazy_bwd_entry„  s8   € ô ˜×+Ñ+¨JÕ7Ó8ˆ	Ø=AÐ<Mˆ×Ñ˜JÕ'Ð(8Ñ9ØÐr4   c               ó$   € V ^8„  d   QhRRRRRR/# r;  r/   )r0   s   "r1   r2   rU  �  s)   € ÷ Sñ SØðSØ1>ðSà	7ñSr4   c                	ól   € WP                   9  d   R# V P                   V,          P                  VR4      # )N)NN)r[  re  r=  s   &&&r1   r>  Ú&InvokeSubgraphCache.get_lazy_bwd_entry�  s5   € ð ×0Ñ0Ô0ØÐà×"Ñ" :Õ.×2Ñ2Ð3CÀ\ÓRÐRr4   c               ó$   € V ^8„  d   QhRRRRRR/# )r,   r  r.   Úeffectsrj  r-   r  r/   )r0   s   "r1   r2   rU  —  s!   € ÷ 
1ñ 
1 cð 
1°Cð 
1¸Dñ 
1r4   c           	     ó    € V P                   P                  VR4      ;p'       d   W#8w  d   \        RV RV RV R24      hW P                   V&   R# )z>Store the effect types for a given invoke_subgraph identifier.NzPDifferent number of effects were found for invoke_subgraph call with identifier z,. 
Previously we had the following effects: z.
But now we have: Ú.)r\  re  r9   )r:   r  r�  Úprev_effectss   &&& r1   Úadd_effectsÚInvokeSubgraphCache.add_effects—  sj   € à×-Ñ-×1Ñ1°*¸dÓCÐCˆ<ÖCØÔ&Ü$ð,Ø,6¨<ð 8@Ø@L¸~ð N(Ø(/ y°ð3óð ð *1×Ñ˜:Ó&r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r  r.   r-   z
set | Noner/   )r0   s   "r1   r2   rU  £  s   € ÷ 8ñ 8 cð 8¨jñ 8r4   c                ó:   € V P                   P                  VR4      # )zARetrieve the effect types for a given invoke_subgraph identifier.N)r\  re  r  s   &&r1   Úget_effectsÚInvokeSubgraphCache.get_effects£  s   € à×!Ñ!×%Ñ% j°$Ó7Ð7r4   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r,   r  r   Ú	conditionrK  ÚentryrA  Úmax_reuse_entriesrI   r-   r  r/   )r0   s   "r1   r2   rU  §  s<   € ÷ +ñ +àð+ð 0ð+ð (ð	+ð
 ð+ð 
ñ+r4   c                	ó”   € V P                   V,          p\        V4      V8¼  d   \        R V RV R24      hVP                  W#34       R# )ú1invoke_subgraph: exceeded maximum reuse entries (ú) for function code a?  . This most likely means a guard keeps failing on every invocation, preventing subgraph reuse. Set TORCH_LOGS='+hierarchical_compile' to identify which guard is failing. If reuse is genuinely not possible and you need more cache entries, increase the limit via the max_reuse_entries argument to nested_compile_region().N)r]  rÏ   ÚRuntimeErrorr  )r:   r  rŒ  r�  rŽ  Úentriess   &&&&& r1   Úadd_reuse_entryÚ#InvokeSubgraphCache.add_reuse_entry§  s^   € ð ×+Ñ+¨GÕ4ˆÜˆw‹<Ð,Ô,ÜðØ%Ð&Ð&:¸7¸)ð DIðJó	ð 	ð 	�‰˜	Ð)Ö*r4   c               ó$   € V ^8„  d   QhRRRRRR/# )r,   r  r   Ú	evaluatorzHCallable[[InvokeSubgraphReuseCondition, InvokeSubgraphReuseEntry], bool]r-   úInvokeSubgraphReuseEntry | Noner/   )r0   s   "r1   r2   rU  ¼  s(   € ÷ ñ àðð
ðð 
)ñr4   c                	óà   € V P                   P                  V. 4      p\        V4       FB  w  pw  rVV! WV4      '       g   K  V^ 8”  d"   VP                  ^ VP	                  V4      4       Vu # 	  R# rs   )r]  re  Ú	enumerateÚinsertÚpop)r:   r  r—  r“  ÚirŒ  r�  s   &&&    r1   Úfind_reuse_entryÚ$InvokeSubgraphCache.find_reuse_entry¼  se   € ð ×+Ñ+×/Ñ/°¸Ó<ˆÜ%.¨wÖ%7Ñ!ˆAÑ!�	Ù˜×*Ô*à�q”5Ø—N‘N 1 g§k¡k°!£nÔ5Ø’ñ &8ñ r4   c               ó$   € V ^8„  d   QhRRRRRR/# )r,   r  r   Úhash_keyrI   r-   r˜  r/   )r0   s   "r1   r2   rU  Ì  s)   € ÷ Lñ LØðLØ+.ðLà	(ñLr4   c                	óX   € V P                   P                  V/ 4      P                  V4      # rl   )r^  re  )r:   r  r¡  s   &&&r1   Úfind_reuse_entry_by_keyÚ+InvokeSubgraphCache.find_reuse_entry_by_keyÌ  s(   € ð ×,Ñ,×0Ñ0°¸"Ó=×AÑAÀ(ÓKÐKr4   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r,   r  r   r¡  rI   r�  rA  rŽ  r-   r  r/   )r0   s   "r1   r2   rU  Ñ  s<   € ÷ $ñ $àð$ð ð$ð (ð	$ð
 ð$ð 
ñ$r4   c                	ó„   € V P                   V,          p\        V4      V8¼  d   W%9  d   \        R V RV R24      hW5V&   R# )r�  r‘  zc (hash-key path). Increase the limit via the max_reuse_entries argument to nested_compile_region().N)r^  rÏ   r’  )r:   r  r¡  r�  rŽ  Ú	key_caches   &&&&& r1   Úadd_reuse_entry_by_keyÚ*InvokeSubgraphCache.add_reuse_entry_by_keyÑ  sZ   € ð ×1Ñ1°'Õ:ˆ	Üˆy‹>Ð.Ô.°8Ô3LÜðØ%Ð&Ð&:¸7¸)ð D+ð,óð ð $�(Ór4   )rW  rZ  r\  rY  r[  rX  r]  r^  N)é   )rT   rU   rV   rW   rK  r  r  r  r  r  r"  r)  r/  r8  r>  r…  r‰  r”  rž  r£  r¨  rZ   r/   r4   r1   rS  rS  N  s`   † õõ.Eõ
Aõ.õ9õ4õ?õ6õ
>õ
	õSõ
1õ8÷+õ*õ L÷
$ó $r4   rS  c                  ó.   € ] tR tRtR R ltR R ltRtR# )ÚHopDispatchSetCacheiã  c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   Ú HopDispatchSetCache.__annotate__ä  s   € ÷ Fñ F˜$ñ Fr4   c                	ó4   € ^ RI Hp V\        4       /V n        R# )r   )Úinvoke_subgraphN)Ú'torch._higher_order_ops.invoke_subgraphr°  rS  Úhop_cache_map)r:   r°  s   & r1   rK  ÚHopDispatchSetCache.__init__ä  s   € åKà-Ô/BÓ/DÐEˆÖr4   c               ó    € V ^8„  d   QhRRRR/# )r,   Úopztorch._ops.HigherOrderOperatorr-   zHopSubgraphCache | Noner/   )r0   s   "r1   r2   r®  ê  s   € ÷ &ñ &Ð:ð &Ð?Vñ &r4   c                	óL   € WP                   9  d   R # V P                   V,          # rl   ©r²  )r:   rµ  s   &&r1   Ú	get_cacheÚHopDispatchSetCache.get_cacheê  s"   € Ø×'Ñ'Ô'ÙØ×!Ñ! "Õ%Ð%r4   r·  N)rT   rU   rV   rW   rK  r¸  rZ   r/   r4   r1   r¬  r¬  ã  s   † õF÷&ñ &r4   r¬  c                  ó"   € ] tR tRtR R ltRtR# )Ú_TLSStorageið  c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   Ú_TLSStorage.__annotate__÷  s   € ÷ ;ñ ;˜$ñ ;r4   c                	ó"   € R V n         R V n        R # rl   )Útracing_contextÚcompile_contextrb   s   &r1   rK  Ú_TLSStorage.__init__÷  s   € Ø6:ˆÔØ6:ˆÖr4   )rÀ  r¿  N)rT   rU   rV   rW   rK  rZ   r/   r4   r1   r»  r»  ð  s   † ÷;ñ ;r4   r»  c                  óz   € ] tR tRt]R R l4       t]R R l4       tR R lt]R R	 l4       t]R
 R l4       t	Rt
R# )ÚCompileContexti  c               ó   € V ^8„  d   QhRR/# )r,   r-   rÃ  r/   )r0   s   "r1   r2   ÚCompileContext.__annotate__  s   € ÷ $ñ $�ñ $r4   c                 	ó\   € \         P                  f   \        R4      h\         P                  # )Nzcompile_context is not set)Ú_TLSrÀ  r9   r/   r4   r1   re  ÚCompileContext.get  s&   € ä×ÑÒ'Ü Ð!=Ó>Ð>Ü×#Ñ#Ð#r4   c               ó   € V ^8„  d   QhRR/# )r,   r-   úCompileContext | Noner/   )r0   s   "r1   r2   rÅ    ó   € ÷ 6ñ 6Ð*ñ 6r4   c                 	ó$   € \        \        R R4      # ©rÀ  N©ÚgetattrrÇ  r/   r4   r1   Útry_getÚCompileContext.try_get  ó   € ä”tÐ.°Ó5Ð5r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r?   rA   r-   r  r/   )r0   s   "r1   r2   rÅ    s   € ÷ .ñ .Ð#3ð .¸ñ .r4   c                	ó�   € Ve.   \        V\        4      '       g   \        R\        V4       24      hWn        ^ V n        . V n        R # )Nz*compile_id must be None or CompileId, got )r¡   r%   r9   r}  r?   r]   Úshape_env_guards)r:   r?   s   &&r1   rK  ÚCompileContext.__init__  sG   € ØÒ!¬*°ZÄ×*KÒ*KÜ Ø<¼TÀ*Ó=MÐ<NÐOóð ð -7ŒØˆŒà+-ˆÖr4   c               ó   € V ^8„  d   QhRR/# )r,   r-   rA   r/   )r0   s   "r1   r2   rÅ  '  s   € ÷ ñ Ð 0ñ r4   c                 	óN   € \         P                  4       p V f   R # V P                  # rl   )rÃ  rÐ  r?   rb   s    r1   Úcurrent_compile_idÚ!CompileContext.current_compile_id&  s"   € ä×%Ñ%Ó'ˆØŠ<ÙØ�‰Ðr4   c               ó   € V ^8„  d   QhRR/# )r,   r-   zTraceId | Noner/   )r0   s   "r1   r2   rÅ  .  s   € ÷ 6ñ 6˜nñ 6r4   c                 	ó–   € \         P                  4       p V f   R # V P                  f   R # \        V P                  V P                  4      # rl   )rÃ  rÐ  r?   r\   r]   rb   s    r1   Úcurrent_trace_idÚCompileContext.current_trace_id-  s:   € ä×%Ñ%Ó'ˆØŠ<ÙØ�?‰?Ò"ÙÜ�t—‘¨¯©Ó5Ð5r4   )r]   r?   rÕ  N)rT   rU   rV   rW   r$  re  rÐ  rK  rÙ  rÝ  rZ   r/   r4   r1   rÃ  rÃ    sU   † Øô$ó ð$ð
 ô6ó ð6õ.ð ôó ðð ô6ó ô6r4   rÃ  c                  ó:   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	tR
# )ÚInlinedCodeCachei7  z8Cache for code-object-derived data used during inlining.rD  Úinstructionszdict[Any, int]Úindexofr   Úcode_optionsr/   N)rT   rU   rV   rW   r\  rX   rZ   r/   r4   r1   rà  rà  7  s   ‡ áBàÓØÓØ×r4   rà  c                  ól  € ] tR tRtRt]R R l4       t]R R l4       tR R ltR	 R
 lt	]]
R R l4       4       t]R R l4       tR R lt]]P                  R R l4       4       t]]P                  R R l4       4       t]]P                  R R l4       4       t]RR R ll4       t]R R l4       tRtR# )rÎ  i@  zµ
Provides the currently installed TracingContext, or None.

Note that it is a staticmethod, and invocations outside of `with tracing()` (see below), are valid but
will return None.
c               ó   € V ^8„  d   QhRR/# )r,   r-   úTracingContext | Noner/   )r0   s   "r1   r2   ÚTracingContext.__annotate__I  rË  r4   c                 	ó$   € \        \        R R4      # )r¿  NrÎ  r/   r4   r1   rÐ  ÚTracingContext.try_getH  rÒ  r4   c               ó   € V ^8„  d   QhRR/# )r,   r-   rÎ  r/   )r0   s   "r1   r2   rç  M  s   € ÷ 
ñ 
�ñ 
r4   c                 	óT   € \         P                  4       ;p '       d   V # \        R 4      h)z<TracingContext.get() must be called within an ongoing trace.)rÎ  rÐ  r’  )Úctxs    r1   re  ÚTracingContext.getL  s+   € ä ×(Ñ(Ó*Ð*ˆ3Ö*ØˆJÜØJó
ð 	
r4   c               ó    € V ^8„  d   QhRRRR/# )r,   Ú	fake_modeúFakeTensorMode | Noner-   r  r/   )r0   s   "r1   r2   rç  T  s   € ÷ 5.ñ 5.Ð"7ð 5.¸Dñ 5.r4   c                	óÆ  € \        4       V n        \        4       V n        \	        4       V n        \        4       V n        \        4       V n        \        4       V n	        Wn
        . V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        RV n        \-        4       V n        RV n        \3        4       V n        . V n        R V n        R # )NF)rè  Úguards_contextrr  Úmodule_contextr�  Úglobal_contextry  Úpreviously_inlined_functionsÚpreviously_cleaned_instructionsÚinlined_code_cacherï  Úframe_summary_stackÚloc_in_frameÚloc_in_frame_positionsÚfw_metadataÚddp_optimizer_ctxÚaot_graph_nameÚparams_flatÚparams_flat_unwrap_subclassesÚparams_unwrapped_to_flat_indexÚoutput_stridesÚ#force_unspec_int_unbacked_size_liker   Útensor_to_contextÚfakify_first_callr¬  Úhop_dispatch_set_cacheÚtraced_codeÚcudagraph_annotation)r:   rï  s   &&r1   rK  ÚTracingContext.__init__T  sÓ   € Ü+›oˆÔÜ+›oˆÔÜ+›oˆÔÜ<@»FˆÔ)Ü?C»vˆÔ,ä?C»vˆÔØ09ŒØACˆÔ ð :>ˆÔØ<@ˆÔ#à7;ˆÔà=AˆÔà04ˆÔØ-1ˆÔØ?CˆÔ*Ø@DˆÔ+ð DHˆÔð 49ˆÔ0ä!8Ó!:ˆÔð
 "'ˆÔÜ&9Ó&;ˆÔ#à+-ˆÔØ)-ˆÖ!r4   c               ó   € V ^8„  d   QhRR/# r-  r/   )r0   s   "r1   r2   rç  ‹  s   € ÷ (ñ (�tñ (r4   c                	óÄ   € / V P                   n        V P                  P                  4        V P                  P                  4        V P
                  P                  4        R # rl   )rô  r‚  rõ  rÆ  rö  r÷  rb   s   &r1   rÆ  ÚTracingContext.clear‹  sH   € ð ,.ˆ×ÑÔ(Ø×)Ñ)×/Ñ/Ô1Ø×,Ñ,×2Ñ2Ô4Ø×Ñ×%Ñ%Ö'r4   c               ó    € V ^8„  d   QhRRRR/# )r,   Úkwargsr   r-   rñ  r/   )r0   s   "r1   r2   rç  •  s   € ÷ 'ñ '˜ð 'Ð ;ñ 'r4   c               +  	óX  "  € / p\         P                  4       pV  F  p\        W#4      W&   K  	  V P                  4        F  w  r4\	        W#V4       K  	   R x € VP                  4        F  w  r4\	        W#V4       K  	  R #   TP                  4        F  w  r4\	        Y#T4       K  	  i ; i5irl   )rÎ  re  rÏ  rH   Úsetattr)r  Úpriorrì  r  Úvals   ,    r1   ÚpatchÚTracingContext.patch“  sŽ   é € ð ˆÜ× Ñ Ó"ˆãˆCä  Ó*ˆE‹Jñ ð Ÿ™ž‰HˆCÜ�C˜cÖ"ñ 'ð	'Ûà!ŸK™KžM‘�Ü˜ #Ö&ó *ø˜EŸK™KžM‘�Ü˜ #Ö&ò *üs   ‚AB*ÁB  Á'B*Â 'B'Â'B*c               ó   € V ^8„  d   QhRR/# )r,   r-   ztraceback.StackSummaryr/   )r0   s   "r1   r2   rç  ¥  s   € ÷ 7ñ 7Ð1ñ 7r4   c                 	óü   € \         P                  4       p V f   \        P                  ! 4       # V P                  pV P
                  e   WP                  4       .,           p\        P                  P                  V4      # rl   )rÎ  rÐ  Ú	tracebackÚStackSummaryrø  rù  Ú_populate_loc_in_frame_summaryÚ	from_list)r:   r´   s     r1   rÏ  ÚTracingContext.extract_stack¤  sf   € ä×%Ñ%Ó'ˆØŠ<Ü×)Ò)Ó+Ð+Ø×(Ñ(ˆØ×ÑÒ(Ø×@Ñ@ÓBÐCÕCˆEÜ×%Ñ%×/Ñ/°Ó6Ð6r4   c               ó   € V ^8„  d   QhRR/# )r,   r-   ztraceback.FrameSummaryr/   )r0   s   "r1   r2   rç  ®  s   € ÷ 
ñ 
Ð0Fñ 
r4   c                	ó6  € V P                   f   \        R4      hV P                   w  rp/ p\        P                  R8¼  dA   V P                  e3   V P                  P
                  VR&   V P                  P                  VR&   \        P                  ! VVV3RR/VB # )Nzloc_in_frame must not be NoneÚcolnoÚ	end_colnoÚlookup_lineF)é   é   )	rù  r9   ÚsysÚversion_inforú  Ú
col_offsetÚend_col_offsetr  ÚFrameSummary)r:   ÚfilenameÚlinenoÚ
frame_namer  s   &    r1   r  Ú-TracingContext._populate_loc_in_frame_summary®  s£   € Ø×ÑÒ$Ü Ð!@ÓAÐAØ'+×'8Ñ'8Ñ$ˆ˜*à!#ˆÜ×Ñ˜wÔ&¨4×+FÑ+FÒ+RØ"×9Ñ9×DÑDˆF�7‰OØ"&×"=Ñ"=×"LÑ"LˆF�;ÑÜ×%Ò%ØØØñ
ð ð	
ð
 ñ
ð 	
r4   c               ó   € V ^8„  d   QhRR/# rð  r/   )r0   s   "r1   r2   rç  Ã  s   € ÷ ñ Ð4ñ r4   c               #  	óx  "  € \         P                  4       p \        P                  P                  P                  V R . 4      ;_uu_ 4        \        P                  P                  P                  V RR4      ;_uu_ 4        \        P                  P                  P                  V RR4      ;_uu_ 4         Rx €  RRR4       RRR4       RRR4       R#   \         d    p\        TR4      '       g   RTn        h Rp?ii ; i  + '       g   i     LO; i  + '       g   i     LZ; i  + '       g   i     R# ; i5i)rø  rù  Nrú  Ú
real_stack)	rÎ  re  ÚunittestÚmockr  rè   rK   Úhasattrr-  )ÚtcrQ   s     r1   Úclear_frameÚTracingContext.clear_frameÁ  sÜ   é € ô ×ÑÓ!ˆä�M‰M×Ñ×&Ñ& rÐ+@À"×EÕEÜ�M‰M×Ñ×&Ñ& r¨>¸4×@Õ@Ü�M‰M×Ñ×&Ñ& rÐ+CÀT×JÕJðÜ÷ K÷ A÷ FÑEøô ô ô$ ˜q ,×/Ò/Ø#'�A”LØûð)ú÷	 K×Jú÷ A×@ú÷ F×EÐEüsl   ‚AD:Á
4D&Á>4D	Â2D Â4CÂ9D	ÃD&Ã	
D:ÃC=ÃC8Ã8C=Ã=D Ä DÄD	ÄD#ÄD&Ä&D7	Ä1	D:c               ó    € V ^8„  d   QhRRRR/# )r,   Úframe_summaryztraceback.FrameSummary | Noner-   rñ  r/   )r0   s   "r1   r2   rç  ä  s   € ÷ 6ñ 6Ø4ð6à	$ñ6r4   c              #  	óô  "  € \         P                  4       pV e   VP                  P                  V 4       VP                  pVP
                  pR Vn        R Vn         R x €  T e   TP                  P                  4        Y!n        Y1n        R #   \         d.   p\        TR4      '       g   TP                  4       Tn	        h R p?ii ; i  T e   TP                  P                  4        Y!n        Y1n        i ; i5i)Nr-  )rÎ  re  rø  r  rù  rú  rK   r0  rÏ  r-  rœ  )r5  r1  ró  Úold_positionsrQ   s   &    r1   Úcurrent_frameÚTracingContext.current_frameâ  sÖ   é € ô ×ÑÓ!ˆØÒ$Ø×"Ñ"×)Ñ)¨-Ô8Ø�o‰oˆØ×1Ñ1ˆØˆŒØ$(ˆÔ!ð
	6Üð Ò(Ø×&Ñ&×*Ñ*Ô,Ø!ŒOØ(5Ö%øô ô 	Ü˜1˜l×+Ò+Ø!×/Ñ/Ó1�”Øûð	ûð
 Ò(Ø×&Ñ&×*Ñ*Ô,Ø!ŒOØ(5Õ%üs6   ‚AC8ÁB Á",C8ÂCÂ(CÃCÃC	 Ã	,C5Ã5C8c               ó   € V ^8„  d   QhRR/# )r,   r-   z:Generator[list[tuple[int, ...] | None] | None, None, None]r/   )r0   s   "r1   r2   rç  þ  s   € ÷ 3ñ 3ð $ñ 3r4   c               #  	ó°   "  € \         P                  4       p V f   R x € R # V P                  p. V n         V P                  x € Wn        R #   Yn        i ; i5irl   )rÎ  rÐ  r  )r1  Úold_output_stridess     r1   Úreport_output_stridesÚ$TracingContext.report_output_stridesü  sT   é € ô
 ×#Ñ#Ó%ˆØŠ:ØŠJÙØ×.Ñ.ÐØˆÔð	3Ø×#Ñ#Ò#à 2ÖøÐ 2Õüs   ‚2AµA ÁAÁAÁANc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r,   r'  r.   r(  rI   r)  Ú	positionszdis.Positions | Noner-   r  r/   )r0   s   "r1   r2   rç    s:   € ÷ 
.ñ 
.Øð
.àð
.ð ð
.ð (ð	
.ð
 
ñ
.r4   c                	óL   € \         P                  4       pWV3Vn        W4n        R # rl   )rÎ  re  rù  rú  )r'  r(  r)  r@  r1  s   &&&& r1   Úset_current_locÚTracingContext.set_current_loc  s$   € ô ×ÑÓ!ˆØ#¨ZÐ8ˆŒØ$-Ö!r4   c               ó   € V ^8„  d   QhRR/# )r,   r-   zlist[CodeType] | Noner/   )r0   s   "r1   r2   rç    s   € ÷ ñ Ð2ñ r4   c                 	óN   € \         P                  4       p V f   R # V P                  # rl   )rÎ  rÐ  r  )r1  s    r1   Úget_traced_codeÚTracingContext.get_traced_code  s"   € ä×#Ñ#Ó%ˆØŠ:ÙØ�~‰~Ðr4   )rý  r  rü  rï  r  r  rø  rû  rô  rò  r  r÷  rù  rú  ró  r  rþ  rÿ  r   rö  rõ  r  r  rl   )rT   rU   rV   rW   r\  r$  rÐ  re  rK  rÆ  r   r  rÏ  r  rü  r2  r8  r=  rB  rF  rZ   r/   r4   r1   rÎ  rÎ  @  sý   † ñð ô6ó ð6ð ô
ó ð
õ5.õn(ð Øô'ó ó ð'ð ô7ó ð7õ
ð& Ø×Ñôó ó ðð> Ø×Ñô6ó ó ð6ð0 Ø×Ñô3ó ó ð3ð ö
.ó ð
.ð ôó ôr4   rÎ  c               ó    € V ^8„  d   QhRRRR/# )r,   ÚcontextrÊ  r-   z,Generator[CompileContext | None, None, None]r/   )r0   s   "r1   r2   r2   "  s   € ÷ +ñ +Ø"ð+à1ñ+r4   c              #  ó†   "  € \        \        R R4      pV \        n         V x € V\        n        R#   T\        n        i ; i5irÍ  )rÏ  rÇ  rÀ  )rI  Úold_contexts   & r1   rÀ  rÀ  !  s8   é € ô œ$Ð 1°4Ó8€KØ"„DÔð+ØŠà*ŒÖø˜{ŒÕüs   ‚A 1 ¤A±>¾Ac               ó    € V ^8„  d   QhRRRR/# )r,   rI  ræ  r-   z,Generator[TracingContext | None, None, None]r/   )r0   s   "r1   r2   r2   .  s   € ÷ +ñ +Ø"ð+à1ñ+r4   c              #  ó>  "  € \        \        RR4      pV \        n         V x €  T eK   T P                  e=   T P                  P                  e%   T P                  P                  P                  4        T\        n        R#   \         d2   p\	        TR4      '       g   T e   T P                  4       Tn        h Rp?ii ; i  T eK   T P                  e=   T P                  P                  e%   T P                  P                  P                  4        T\        n        i ; i5i)z·
This function installs the passed in tracing context as a dynamic scoped
global variable.

Calls to TracingContext.get() while not under a `with tracing()` context
will return None.
r¿  Nr-  )
rÏ  rÇ  r¿  rK   r0  rÏ  r-  rï  Ú	shape_envÚcleanup)rI  rK  rQ   s   &  r1   ÚtracingrP  -  së   é € ô œ$Ð 1°4Ó8€KØ"„DÔð+Ø‹ð ÒØ×!Ñ!Ò-Ø×!Ñ!×+Ñ+Ò7à×Ñ×'Ñ'×/Ñ/Ô1Ø*ŒÖøô ô Ü�q˜,×'Ò'¨GÒ,?Ø"×0Ñ0Ó2ˆAŒLØûðûð ÒØ×!Ñ!Ò-Ø×!Ñ!×+Ñ+Ò7à×Ñ×'Ñ'×/Ñ/Ô1Ø*ŒÕüs5   ‚D B  ¥ADÂ B<Â,B7Â7B<Â<B? Â?ADÄDc               ó$   € V ^8„  d   QhRRRRRR/# )r,   rL   útype[T]r  r   r-   r/   )r0   s   "r1   r2   r2   K  s   € × KÑ K GÐ K°sÐ K¸wÑ Kr4   c                ó   € R # rl   r/   ©rL   r  s   &,r1   Údataclass_with_cached_hashrU  J  s   € ÙHKr4   c               ó$   € V ^8„  d   QhRRRRRR/# )r,   rL   r  r  r   r-   zCallable[[type[T]], type[T]]r/   )r0   s   "r1   r2   r2   O  s$   € ÷ 'ñ 'Ø	ð'Ø #ð'à!ñ'r4   c                ó   € R # rl   r/   rT  s   &,r1   rU  rU  N  s   € ñ $'r4   c               ó$   € V ^8„  d   QhRRRRRR/# )r,   rL   ztype[T] | Noner  r   r-   z&type[T] | Callable[[type[T]], type[T]]r/   )r0   s   "r1   r2   r2   U  s$   € ÷ ñ Ø	ðØ*-ðà+ñr4   c                ó2   a€ R  V3R llpV f   V# V! V 4      # )c               ó    € V ^8„  d   QhRRRR/# )r,   Ú	cls_innerrR  r-   r/   )r0   s   "r1   r2   Ú0dataclass_with_cached_hash.<locals>.__annotate__X  s   € ÷ ñ ˜ð  Gñ r4   c                ó€   <a€ \         P                  ! V 3/ SB pV P                  oR  V3R llpR pW!n        W1n        V# )c               ó   € V ^8„  d   QhRR/# rº   r/   )r0   s   "r1   r2   Ú>dataclass_with_cached_hash.<locals>.wrap.<locals>.__annotate__\  s   € ÷ 	ñ 	˜cñ 	r4   c                óz   <€ \        V R 4      '       g   \        P                  V R S! V 4      4       V P                  # )r¶   )r0  rè   Ú__setattr__r¶   )r:   Úold_hashs   &€r1   rÁ   Ú:dataclass_with_cached_hash.<locals>.wrap.<locals>.__hash__\  s0   ø€ Ü˜4 ×)Ò)Ü×"Ñ" 4¨±(¸4³.ÔAØ—:‘:Ðr4   c                ó°   a € \         P                  ! S 4      p\        ;QJ d    . V 3R  lV 4       F  NK  	  5M! V 3R  lV 4       4      pS P                  V3# )c              3  óv   <"  € T F.  qP                   '       g   K  \        SVP                  4      x € K0  	  R # 5irl   )ÚinitrÏ  r¾   )rá  Úfr:   s   & €r1   râ  ÚOdataclass_with_cached_hash.<locals>.wrap.<locals>.__reduce__.<locals>.<genexpr>f  s&   øé € Ð QÁ¸1Ï&Í&Ô!6¤¨¨q¯v©v×!6Ð!6Ãùs   ƒ9›9)rP  ÚfieldsÚtuplerî   )r:   ri  Úfield_valuess   f  r1   Ú
__reduce__Ú<dataclass_with_cached_hash.<locals>.wrap.<locals>.__reduce__a  sB   ø€ ô !×'Ò'¨Ó-ˆFß œ5Ô QÁÓ QŸ5™5Ô QÁÓ QÓQˆLØ—N‘N LÐ1Ð1r4   )rP  r   rÁ   rl  )r[  Únew_clsrÁ   rl  rb  r  s   &   @€r1   ÚwrapÚ(dataclass_with_cached_hash.<locals>.wrapX  sE   ù€ Ü×'Ò'¨	Ñ<°VÑ<ˆØ×%Ñ%ˆ÷	ð 	ò
	2ð $ÔØ'ÔØˆr4   r/   )rL   r  ro  s   &l r1   rU  rU  T  s#   ø€ ÷ð ð* ‚{Øˆá�‹9Ðr4   c                  óð   € ] tR tRtR R ltR R ltR R ltR R	 lt]P                  R
 R l4       t
]R R l4       t]P                  R R l4       tR R ltR R ltR R ltR R ltRR R lltRtR# )r¬   iu  c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   ÚSource.__annotate__w  s   € ÷ ñ ˜Tñ r4   c                	ó   € R # ©Fr/   rb   s   &r1   Úis_dict_keyÚSource.is_dict_keyw  ó   € Ùr4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   rs  z  s   € ÷ ñ ˜dñ r4   c                	ó   € R # ru  r/   rb   s   &r1   Úis_ephemeralÚSource.is_ephemeralz  rx  r4   c               ó    € V ^8„  d   QhRRRR/# )r,   Úcodegenr   r-   r  r/   )r0   s   "r1   r2   rs  }  s   € ÷ "ñ " 9ð "°ñ "r4   c                	ó   € \         hrl   ©ÚNotImplementedError©r:   r~  s   &&r1   ÚreconstructÚSource.reconstruct}  s   € Ü!Ð!r4   c               ó    € V ^8„  d   QhRRRR/# )r,   r~  r   r-   r.   r/   )r0   s   "r1   r2   rs  €  s   € ÷ "ñ "¨)ð "¸ñ "r4   c                ó   € \         h)z½
Reconstructs the source into a string of Python code. This method should
be eventually implemented for all subclasses of Source to achieve full
coverage of python wrapper code generation.
r€  r‚  s   &&r1   Úreconstruct_pycodeÚSource.reconstruct_pycode€  s
   € ô "Ð!r4   c               ó   € V ^8„  d   QhRR/# rã   r/   )r0   s   "r1   r2   rs  ‰  s   € ÷ "ñ "˜kñ "r4   c                	ó   € \         hrl   r€  rb   s   &r1   rå   ÚSource.guard_sourceˆ  s   € ä!Ð!r4   c               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   rs  �  s   € ÷ "ñ " ñ "r4   c                ó   € \         h)a‚  
A template for the name of the source. Used to prevent code duplication between
`name` and `get_value`.

For non-ChainedSources, `name` and `get_value` use the returned string directly.

For ChainedSources, `name` and `get_value` expect the return to be a format string
with `{0}` present - `name` and `get_value` will apply different values to this function's
returned format string.
r€  rb   s   &r1   Ú_name_templateÚSource._name_templateŒ  s
   € ô "Ð!r4   c               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   rs  ›  s   € ÷ #ñ #�cñ #r4   c                	ó   € V P                   # rl   )rŽ  rb   s   &r1   r¾   ÚSource.nameš  s   € à×"Ñ"Ð"r4   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r,   Úglobalszdict[str, Any]ÚlocalsÚcachezdict[Source, Any]r-   r   r/   )r0   s   "r1   r2   rs  ž  s2   € ÷ 
ñ 
àð
ð ð
ð !ð	
ð
 
ñ
r4   c                	óV   € W9   d	   W0,          # \        V P                  W4      pWCV &   V# rl   )ÚevalrŽ  )r:   r•  r–  r—  rÎ   s   &&&& r1   Ú	get_valueÚSource.get_valuež  s/   € ð Œ=Ø•;ÐÜ�T×(Ñ(¨'Ó:ˆØˆd‰Øˆr4   c               ó    € V ^8„  d   QhRRRR/# )r,   ÚfnzCallable[..., Any]r-   r«   r/   )r0   s   "r1   r2   rs  ª  s   € ÷ ñ Ð/ð °Eñ r4   c                	ó`   € V P                   \        P                  J d   \        h\	        W4      # rl   )rå   rf   rŽ   r�  r«   )r:   r�  s   &&r1   Ú
make_guardÚSource.make_guardª  s&   € Ø×Ñ¤× 4Ñ 4Ó4Ü%Ð%Ü�T‹Ðr4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   rs  ¯  s   € ÷ <ñ <¨$ñ <r4   c                	ó6   € V P                   P                  4       # rl   )rå   rz   rb   s   &r1   rz   ÚSource.is_specialized_nn_module¯  s   € Ø× Ñ ×9Ñ9Ó;Ð;r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   rs  ²  s   € ÷ @ñ @ 4ñ @r4   c                ó<   € V P                   \        P                  8g  # )z+True if you can guard on attributes of this)rå   rf   r“   rb   s   &r1   Úsubguards_allowedÚSource.subguards_allowed²  s   € à× Ñ ¤K×$?Ñ$?Ñ?Ð?r4   Nc               ó    € V ^8„  d   QhRRRR/# ©r,   Útransform_fnz!Callable[[Source], Source] | Noner-   r¬   r/   )r0   s   "r1   r2   rs  ¶  s   € ÷ ñ Ð"Cð Èvñ r4   c                	ó   € Ve	   V! V 4      # V # rl   r/   )r:   rª  s   &&r1   ÚcloneÚSource.clone¶  s   € ð Ò#Ù Ó%Ð%Øˆr4   r/   rl   )rT   rU   rV   rW   rv  r{  rƒ  r‡  rÇ   Úcached_propertyrå   r#  rŽ  r¾   rš  rŸ  rz   r¦  r¬  rZ   r/   r4   r1   r¬   r¬   u  s}   † õõõ"õ"ð ×Ñô"ó ð"ð ô"ó ð"ð ×Ñô#ó ð#õ
õõ
<õ@÷ó r4   r¬   c                  ó¶   € ] tR tRt$ R]R&   R R ltR R lt]P                  R R	 l4       t	R
 R lt
]P                  R R l4       tR R ltRR R lltRtR# )ÚChainedSourcei¿  r¬   Úbasec               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   ÚChainedSource.__annotate__Ã  s   € ÷ 'ñ '˜Tñ 'r4   c                	ó6   € V P                   P                  4       # rl   )r±  rv  rb   s   &r1   rv  ÚChainedSource.is_dict_keyÃ  s   € à�y‰y×$Ñ$Ó&Ð&r4   c               ó   € V ^8„  d   QhRR/# rh   r/   )r0   s   "r1   r2   r³  Ç  s   € ÷ (ñ (˜dñ (r4   c                	ó6   € V P                   P                  4       # rl   )r±  r{  rb   s   &r1   r{  ÚChainedSource.is_ephemeralÇ  s   € Ø�y‰y×%Ñ%Ó'Ð'r4   c               ó   € V ^8„  d   QhRR/# rã   r/   )r0   s   "r1   r2   r³  Ë  s   € ÷ &ñ &˜kñ &r4   c                	ó.   € V P                   P                  # rl   )r±  rå   rb   s   &r1   rå   ÚChainedSource.guard_sourceÊ  s   € à�y‰y×%Ñ%Ð%r4   c               ó   € V ^8„  d   QhRR/# )r,   r-   r¬   r/   )r0   s   "r1   r2   r³  Î  s   € ÷ ñ ˜&ñ r4   c                	óR   € T p\        V\        4      '       d   VP                  pK$  V# rl   )r¡   r°  r±  )r:   Úcurrents   & r1   Úget_baseÚChainedSource.get_baseÎ  s"   € ØˆÜ˜¤-×0Ò0Ø—l‘lŠGØˆr4   c               ó   € V ^8„  d   QhRR/# r+   r/   )r0   s   "r1   r2   r³  Õ  s   € ÷ :ñ :�cñ :r4   c                	ó`   € V P                   P                  V P                  P                  4      # rl   )rŽ  r0   r±  r¾   rb   s   &r1   r¾   ÚChainedSource.nameÔ  s!   € à×"Ñ"×)Ñ)¨$¯)©)¯.©.Ó9Ð9r4   c               ó(   € V ^8„  d   QhRRRRRRRR/# r”  r/   )r0   s   "r1   r2   r³  Ø  s2   € ÷ ñ àðð ðð !ð	ð
 
ñr4   c                	óè   € W9   d	   W0,          # R p^ pWB9   d   R V 2pV^,          pK  V P                   P                  WV4      W$&   \        V P                  P	                  V4      W4      pW$ WcV &   V# )Útmp)r±  rš  r™  rŽ  r0   )r:   r•  r–  r—  ÚtmpvarÚcounterrÎ   s   &&&&   r1   rš  ÚChainedSource.get_valueØ  s{   € ð Œ=Ø•;ÐØˆØˆØÔØ˜7˜)�_ˆFØ�q�LŠGØŸ™×,Ñ,¨W¸eÓDˆ‰Ü�T×(Ñ(×/Ñ/°Ó7¸ÓIˆØˆNØˆd‰Øˆr4   Nc               ó    € V ^8„  d   QhRRRR/# r©  r/   )r0   s   "r1   r2   r³  ë  s   € ÷ ñ Ð"Cð Èvñ r4   c                	óz  € R V P                   P                  V4      /p\        P                  ! V 4       F`  pVP                  R 8X  d   K  \        WP                  4      p\        V\        4      '       g   KC  VP                  V4      W#P                  &   Kb  	  \        P                  ! V 3/ VB pVe	   V! V4      pV# )r±  )	r±  r¬  rP  ri  r¾   rÏ  r¡   r¬   Úreplace)r:   rª  Úcloned_fieldsrg  r  Úresults   &&    r1   r¬  ÚChainedSource.cloneë  s™   € Ø)/°·±·±ÀÓ1NÐ(OˆÜ×#Ò# DÖ)ˆAØ�v‰v˜ÔÙÜ˜$§¡Ó'ˆCÜ˜#œv×&Ô&Ø(+¯	©	°,Ó(?�Ÿf™fÓ%ñ *ô ×$Ò$ TÑ;¨]Ñ;ˆØÒ#Ù! &Ó)ˆFØˆr4   r/   rl   )rT   rU   rV   rW   rX   rv  r{  rÇ   r®  rå   r¿  r¾   rš  r¬  rZ   r/   r4   r1   r°  r°  ¿  sY   ‡ à
ƒLõ'õ(ð ×Ñô&ó ð&õð ×Ñô:ó ð:õ÷&ó r4   r°  c               ó    € V ^8„  d   QhRRRR/# )r,   Úinputsr   r-   rð  r/   )r0   s   "r1   r2   r2   ù  s   € ÷ Bñ B˜Sð BÐ,Añ Br4   c                óº  € ^ RI HpHpHpHpHp \        P                  4       ;p'       d   VP                  pVe   V# . p^ RI	H
p	 \        \        V	! 4       4      4       F,  w  r«\        W²4      '       g   K  VP                  VRV
34       K.  	  \        P                   ! V 4      p\        V4       Fª  w  r­V! V4      '       d   VP                  V! V4      RV
34       \#        V4      '       g   K@  . pV! WÞR7       V Uu. uF  p\        Wñ4      '       g   K  VNK  	  ppTP%                  \        V4       UUu. uF  w  ppV! V4      RV
 2V3NK  	  upp4       K¬  	  V'       dl   V^ ,          w  pppVR,           FO  w  pppW{Jg   K  \'        R	V R
V RV RV R
V RV RV RV RVP(                   RV RV RVP(                   24      h	  V# R# u upi u uppi )ax  
Attempts to "detect" what the current fake mode is.  If there is one ambiently
available from TracingContext, we preferentially use that.  Otherwise, we
heuristically detect the fake mode via the following sources, in order of
priority:

    - Currently active fake mode on stack
    - Fake mode associated with passed in tensors (inputs does not
      have to be flattened)
)Ú
FakeTensorr    Úget_plain_tensorsÚis_fake_tensorÚmaybe_get_fake_modeN©Ú _get_current_dispatch_mode_stackzactive fake modezfake tensor input)Úoutzsubclass input :rÅ   NNzfake mode (z) from rô   z doesn't match mode (z

fake mode from z allocated at:
z
fake mode from )Útorch._subclasses.fake_tensorrÓ  r    rÔ  rÕ  rÖ  rÎ  rÐ  rï  Útorch.utils._python_dispatchrØ  rš  Úreversedr¡   r  ÚpytreeÚtree_leavesr   r  r9   r´   )rÑ  rÓ  r    rÔ  rÕ  rÖ  rI  rï  Ú
fake_modesrØ  r�  ÚmÚflat_inputsÚ
flat_inputrÙ  ÚxÚfake_tensorsÚixÚtensorÚdesc1Úi1Údesc2Úi2s   &                      r1   Údetect_fake_moderë  ù  s  € ÷õ ô !×(Ñ(Ó*Ð*€wÖ*Ø×%Ñ%ˆ	ØÒ ØÐà€JåMäœ(Ñ#CÓ#EÓFÖG‰ˆÜ�a×(Ô(Ø×Ñ˜qÐ"4°aÐ8Ö9ñ Hô ×$Ò$ VÓ,€KÜ" ;Ö/‰ˆÙ˜*×%Ò%Ø×ÑÑ2°:Ó>Ð@SÐUVÐWÔXÜ(¨×4Ô4Ø;=ˆCÙ˜jÕ2ñ ó.á�AÜ˜a×,÷ �Ùð ð .ð
 ×Ñô '0°Ô&=ôá&=™
˜˜Fñ )¨Ó0°OÀAÀ3Ð2GÈÓLÙ&=òöñ 0÷$ Ø)¨!�}Ñˆ	�5˜"Ø& rŸN˜N‰LˆAˆu�bØÕ!Ü$Ø! ) ¨G°E°7¸!¸B¸4Ð?TÐUVÐTWÐW^Ð_dÐ^eÐefÐgiÐfjð k&Ø&+ W¨A¨b¨TÐ1AÀ)Ç/Á/ÐARð S&Ø&+ W¨A¨b¨TÐ1AÀ!Ç'Á'ÀðLóð ñ +ð Ðáùò1.ùós   Ã>GÄGÄ7Gc               ó   € V ^8„  d   QhRR/# )r,   r-   rð  r/   )r0   s   "r1   r2   r2   >  s   € ÷ ñ Ð/ñ r4   c                 óŒ   € ^ RI Hp  ^ RIHp \	        \        V! 4       4      4       F  w  r#\        W04      '       g   K  Vu # 	  R# )zr
Inspects the dispatch mode stack for an active fake mode and returns it.
Returns None if no fake mode is active.
r   r×  N)rÚ  r    rÛ  rØ  rš  rÜ  r¡   )r    rØ  ra   rà  s       r1   Úactive_fake_moderî  >  s:   € õ
 =ÝMäœ(Ñ#CÓ#EÓFÖG‰ˆÜ�a×(Ô(ØŠHñ Hñ r4   rl   )lÚ
__future__r   rü  rP  ÚenumrÇ   ÚloggingÚrer"  Ú	threadingr  Úunittest.mockr.  rë   Úabcr   Úcollectionsr   r   r   Útypingr   r	   r
   r   r   r   Útyping_extensionsr   rÊ   Útorch.utilsr   rÝ  Útorch.utils._ordered_setr   rÛ  r   Útorch.utils._tracebackr   r   Útorch.utils.weakr   Ú	getLoggerrT   r  ÚdisÚcollections.abcr   r   r   Útypesr   ÚsympyÚ"torch._dynamo.backends.distributedr   Útorch._dynamo.codegenr   Útorch._dynamo.guardsr   Útorch._dynamo.output_graphr   Ú&torch._functorch._aot_autograd.schemasr   r±  r   rÚ  r    ÚcompilerD   rE   r%   r\   ÚEnumrf   r–   r™   r¥   r«   r%  r'  r)  r3  r7  rD  r^  rr  r€  r�  r¥  rè  rþ  rA  rK  rS  r¬  Úlocalr»  rÇ  rÃ  rà  rÎ  rÀ  rP  rU  r¬   r°  rë  rî  r/   r4   r1   Ú<module>r
     sÀ  ðÝ "ã Û Û Û Û Û 	Û 
Û Û Û Û Ý Ý #Ý %Ý !ß M× MÝ 1ã Ý )Ý /Ý Fß BÝ 4ð ×Ò˜Ó!€÷ Ûß=Ñ=ÝãåFÝ/Ý3Ý6ÝJÝRÝ<ðð —Z’ZÐ PÓQÐ ØŸ
š
ØXóÐ ñ" �$ ¨DÔ1÷7Jð 7Jó 2ð7Jôt7ˆjô 7ô<
�$—)‘)ô <
ð~÷	ñ 	ð ×Ò˜dÔ#÷ð ó $ðô$�ô ð ×Ò˜TÔ"÷v'ð v'ó #ðv'ñr ˆCƒL€ðð ×Ò˜dÔ#÷	ð 	ó $ð	ðð ×Ò˜dÔ#ô	�ló 	ó $ð	ðð ×Ò˜dÔ#ô*�\ó *ó $ð*ð

ô8�W˜Q•Zô 8÷(ñ (÷8(ñ (ô0+�NÐ#?Õ@ô +÷(ñ (ô0$�NÐ#?Õ@ô $÷RC.ñ C.ðLô<�NÐ#8Õ9ô <÷2*=ñ *=ðZ ÷ð ó ðð2 ÷Wð Wó ðWô4R$Ð*ô R$÷j
&ñ 
&ô	;�)—/‘/ô 	;ñ ƒ}€ð÷&#6ñ #6ðL ÷ð ó ð÷^ñ ^ðB ô+ó ð+ð ô+ó ð+ð8 
Ü Kó 
Ø Kð 
ö'ó 
ð'ñ
 Óöó ðñ@  4Ô(÷Eð Eó )ðEñR  4Ô(ô6�Fó 6ó )ð6÷rB÷Jr4   