+
    –°³jhå ã            	       óò  a € R– tÐ0 t R 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t^ RIt^ RIt^ RIt^ RIHtHt ^ RIHtHt ^ RIHtHtHtHtHtHt ^ RI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*H+t+H,t, ^RI-H.t.H/t/H0t0 ^RI1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t= ^RI>H?t?H@t@ ^RIAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtK ^RILHMtMHNtNHOtOHPtPHQtQHRtRHStSHTtTHUtUHVtVHWtW ^RIXHYtYHZtZH[t[H\t\H]t]H^t^H_t_H`t`HataHbtb ^RIcHdtd ^RIeHftf  ^ RIgHhth ]'       d-   ^ RIjHktk ^ RIlHmtmHntnHoto ^ RIpHqtq ^ RIrHstsHttt ^RIuHvtvHwtw ^RIxHyty ]! R]R]3,          R7      tz^t{^t|]}! 0 R—m4      t~]}! R04      tRt€] ! 4       t�] ^ k  ! R R ]‚4      tƒ]EP                  R! R" l4       t… ! R# R$4      t†R% R& lt‡ ! R' R(]ˆ4      t‰R) R* ltŠR˜R+ R, llt‹R- R. ltŒR/ R0 lt�R1 R2 ltŽ0 R™mt�R3 R4 lt� ! R5 R6]b4      t‘ ! R7 R8]‘4      t’ ! R9 R:]’4      t“ ! R; R<]‘4      t” ! R= R>]b4      t• ! R? R@]•4      t– ! RA RB]‘4      t— ! RC RD]—4      t˜ ! RE RF]’4      t™ ! RG RH]™4      tš ! RI RJ]’4      t›RK RL ltœ ! RM RN]‘4      t� ! RO RP]�4      tž]EP>                  ]EP@                  ]EPB                  ]EPD                  ]EPF                  ]EPH                  ]EPJ                  ]EPL                  ]EPN                  0	t¨ ! RQ RR]b4      t© ! RS RT]©4      tª ! RU RV]‘4      t« ! RW RX]«4      t¬RY RZ lt­R[ R\ lt® ! R] R^]’4      t¯ ! R_ R`]’4      t° ! Ra Rb]b4      t± ! Rc Rd]b4      t² ! Re Rf]b4      t³^ RgIrH´t´HµtµH¶t¶H·t·  ! Rh Ri]·4      t¸]¸! 4       t¹ ! Rj Rk]b4      tº ! Rl Rm]b4      t» ! Rn Ro]b4      t¼ ! Rp Rq]b4      t½ ! Rr Rs]b4      t¾ ! Rt Ru]’4      t¿ ! Rv Rw]’4      tÀ ! Rx Ry]©4      tÁRz R{ ltÂ ! R| R}]b4      tÃR~ R ltÄ ! R€ R�]b4      tÅ ! R‚ Rƒ]b4      tÆ ! R„ R…]b4      tÇ ! R† R‡]b4      tÈ ! Rˆ R‰]b4      tÉ ! RŠ R‹]b4      tÊ ! RŒ R�]b4      tË ! RŽ R�]b4      tÌ ! R� R‘]b4      tÍ ! R’ R“]b4      tÎ ! R” R•]b4      tÏR#   ]i d    Rth ELWi ; i)šaŽ  
Function-related variable tracking classes for Dynamo's symbolic execution.

This module contains classes that track different types of functions during graph
compilation, including:
- User-defined functions and methods
- Built-in functions and methods
- Wrapped functions (e.g. from decorators)
- Special function types (e.g. functools.partial)
- Triton kernels and related function types

These classes are responsible for:
- Tracking function calls and their arguments
- Managing function closures and cell variables
- Handling function attributes and special methods
- Maintaining guards for function identity and closure contents
- Supporting function inlining and specialization
- Enabling proper symbolic execution of different function types

The variable trackers here work together with the rest of Dynamo to enable
accurate graph capture while handling Python's various function-related behaviors.
N)ÚCallableÚSequence)ÚCellTypeÚFunctionType)ÚAnyÚcastÚLiteralÚOptionalÚTYPE_CHECKINGÚTypeVar©ÚNever)ÚWeakKeyDictionary)Úget_stack_above_dynamo©ÚSource)Úis_namedtuple_class)ÚconfigÚgraph_break_hintsÚ	polyfillsÚ	variables)Úcreate_call_functionÚcreate_rot_nÚis_generator)Úformat_frame_infoÚget_dynamo_observed_exceptionÚInfiniteGeneratorErrorÚObservedExceptionÚObservedGeneratorExitÚObservedUserStopIterationÚraise_observed_exceptionÚraise_type_errorÚraise_value_errorÚStepUnsupportedÚunimplementedÚUnsupported)ÚGuardBuilderÚinstall_guard)
Ú
AttrSourceÚCellContentsSourceÚClosureSourceÚConstantSourceÚDefaultsSourceÚGetItemSourceÚImportSourceÚSkipGuardSourceÚTypeMROSourceÚ
TypeSource)Úcheck_constant_argsÚcheck_unspec_or_constant_argsÚ
FrameStateÚidentityÚis_functionÚ2is_lru_cache_wrapper_trace_without_warning_allowedÚis_tensor_base_attr_getterÚis_wrapper_or_member_descriptorÚistypeÚ	make_cellÚunpack_iterable)
Ú#AsPythonConstantNotImplementedErrorÚAttributeMutationNewÚGetSetÚgetset_buildÚgetset_readÚMemberÚMethodÚNO_SUCH_SUBOBJÚValueMutationNewÚVariableTracker©ÚConstantVariable)ÚUserDefinedObjectVariable)Ú_fsdp_param_group)Ú	PyCodegen)Ú&InliningGeneratorInstructionTranslatorÚInliningInstructionTranslatorÚInstructionTranslatorBase)ÚContextWrappingVariable)ÚTritonGridTypeÚTritonKernelType)ÚBaseListVariableÚListVariable)ÚTensorVariableÚ_F.)ÚboundÚis_leafzihttps://github.com/pytorch/pytorch/issues/new?&labels=oncall%3A+pt2&projects=&template=pt2-bug-report.ymlc                   ó   € ] tR t^�tRtR# )ÚClosureConversionError© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__rZ   ó    Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/variables/functions.pyrY   rY   �   ó   † Ûra   rY   c                ó$   € V ^8„  d   QhR\         /# ©é   Úreturn)r(   )Úformats   "rb   Ú__annotate__ri   •   s   € ÷ ñ ¬:ñ ra   c            	      óT   € \        \        \        \        R 4      R4      R4      R4      # )ÚtorchÚutilsÚ_pytreeÚSUPPORTED_NODES)r(   r.   rZ   ra   rb   Ú!get_pytree_SUPPORTED_NODES_sourcero   ”   s*   € ô Ü”:œl¨7Ó3°WÓ=¸yÓIØóð ra   c                   óD   a € ] tR t^žt o V 3R lR ltV 3R lR ltRtV tR# )ÚFunctionSpecc                ó$   <€ V ^8„  d   QhRS[ RR/# ©rf   Úfuncrg   N©r   )rh   Ú__classdict__s   "€rb   ri   ÚFunctionSpec.__annotate__Ÿ   s   ø€ ÷ Nñ N™\ð N¨dñ Nra   c                óÎ  € VP                   pVP                  pVP                  V n        VP                  V n        VP                  V n        VR V P                   V n        W0P                  V P
                   V n	        V P                  V P                  ,           V n
        W0P
                  V P
                  V P                  ,            V n        V P
                  V P                  ,           pVP                  \        ,          '       d	   W4,          MR V n        Y@P                  '       d   ^M^ ,          pVP                  \        ,          '       d   W4,          V n        R # R V n        R # ©N)Ú__code__Úco_varnamesÚco_posonlyargcountÚposonly_countÚco_argcountÚ	arg_countÚco_kwonlyargcountÚkwonly_countÚposonly_namesÚpos_or_kw_namesÚall_pos_namesÚkwonly_namesÚco_flagsÚ
CO_VARARGSÚvarargs_nameÚCO_VARKEYWORDSÚ
varkw_name)Úselfrt   ÚcodeÚvnÚoffs   &&   rb   Ú__init__ÚFunctionSpec.__init__Ÿ   s  € Ø�}‰}ˆØ×Ñˆà!×4Ñ4ˆÔØ×)Ñ)ˆŒØ ×2Ñ2ˆÔàÐ 4 $×"4Ñ"4Ð5ˆÔØ!×"4Ñ"4°t·~±~ÐFˆÔØ!×/Ñ/°$×2FÑ2FÕFˆÔØŸ~™~°·±À×ARÑARÕ0RÐSˆÔà�n‰n˜t×0Ñ0Õ0ˆØ'+§}¡}´z×'AÔ'A˜BžGÀtˆÔØ×%×%Ð%‰q¨1Õ,ˆØ%)§]¡]´^×%CÔ%C˜"�'ˆŽÈˆŽra   c                ó$   <€ V ^8„  d   QhRS[ RR/# rs   ru   )rh   rv   s   "€rb   ri   rw   ±   s   ø€ ÷ 	
ñ 	
¡Lð 	
°Tñ 	
ra   c           
     ó   € VP                   ;'       g    RV n        VP                  ;'       g    / V n        \	        \        V P                  \        V P                  4      ) R  \        \        V P                  4      4      4      4      V n	        R # ©NrZ   )
Ú__defaults__ÚdefaultsÚ__kwdefaults__Ú
kwdefaultsÚdictÚzipr„   ÚlenÚrangeÚpos_default_map)r‹   rt   s   &&rb   Úupdate_defaultsÚFunctionSpec.update_defaults±   so   € ð ×)Ñ)×/Ð/¨RˆŒØ×-Ñ-×3Ð3°ˆŒô  $Ü�×"Ñ"¤C¨¯©Ó$6Ð#6Ð#8Ð9¼5ÄÀTÇ]Á]ÓASÓ;TÓUó 
ˆÖra   )r„   r   r•   r—   r�   r…   rœ   rƒ   r}   r‚   rˆ   rŠ   N)r\   r]   r^   r_   r�   r�   r`   Ú__classdictcell__©rv   s   @rb   rq   rq   ž   s   ø‡ € ÷Nð N÷$	
ö 	
ra   rq   c                ó0   € V ^8„  d   QhR\         R\        /# )rf   rt   rg   )r   rq   )rh   s   "rb   ri   ri   ½   s   € ÷ ñ ”Lð ¤\ñ ra   c                 ó`   € \         P                  V 4      pVf   \        V 4      pV\         V &   V# ry   )Ú_spec_cacheÚgetrq   )rt   Úspecs   & rb   Ú	_get_specr¦   ½   s.   € Ü�?‰?˜4Ó €DØ‚|Ü˜DÓ!ˆØ Œ�DÑØ€Kra   c                   ó   € ] tR t^ÅtRtR# )ÚBindArgsTypeErrorrZ   Nr[   rZ   ra   rb   r¨   r¨   Å   rc   ra   r¨   c                óÀ   € V ^8„  d   QhR\         RRR\        R,          R\        \        ,          R\        \
        \        3,          R\        \
        \        3,          /# )	rf   rt   ÚtxrN   Ú	fn_sourceNÚargsÚkwargsrg   )r   r   r   r   r˜   ÚstrrF   )rh   s   "rb   ri   ri   É   sf   € ÷ \ñ \Ü
ð\à#ð\ô ˜�}ð\ô ”3�-ð	\ô
 ””c��Nð\ô 
Œ#ŒÐ
Õñ\ra   c           
      ó(  € \        V 4      p\        V4      VP                  8X  d‹   V P                  '       gy   V'       gq   VP                  '       g_   VP
                  '       gM   VP                  '       g;   \        VP                  4       UUu/ uF  w  rgV\        WV,          4      bK  	  upp# VP                  V 4       / p\        V4      p	R p
\        VP                  4       EFL  w  rgV\        V4      8  d   \        WV,          4      W‡&   K,  Wy9   d/   WuP                  9  d   \        WP                  V4      4      W‡&   K`  WuP                  9   dÒ   VP                  V,          pV'       d=   V
'       g5   \        \!        VR4      P#                  \$        P&                  4      4       Rp
RpV'       dO   \(        P*                  ! VP,                  V,          4      '       d   \.        P0                  '       g   \3        W+4      p\        WP,                  V,          V4      W‡&   EKA  \5        RV 24      h	  V\        VP                  4      R pVP                  '       d#   \        V\7        V4      4      W…P                  &   M5V'       d.   \5        R\        V4       R\        VP                  4       24      hVP                   F{  pWy9   d   \        WP                  V4      4      W‡&   K'  WuP8                  9   d9   RpV'       d   \3        W'RR7      p\        WP8                  V,          V4      W‡&   Ko  \5        RV 24      h	  VP
                  '       d   \        W4      W…P
                  &   V# V	'       d   \5        R	\;        V	4       24      hV# u uppi )
Fr”   TNz&missing required positional argument: z#Too many positional arguments: got z, expected )Úis_kwz(Missing required keyword-only argument: zUnexpected keyword arguments: )r¦   rš   r   r”   rˆ   rŠ   r…   Ú	enumerater„   Úwrap_bound_argr�   r˜   r‚   Úpoprœ   r'   r(   Ú
make_guardr&   ÚSEQUENCE_LENGTHrH   Ú
is_literalr•   r   Ú%skip_guards_on_constant_func_defaultsr,   r¨   Útupler—   Úlist)rt   rª   r«   r¬   r­   r¥   ÚiÚnameÚbaÚrem_kwÚguarded_pos_defaults_lenÚidxÚdefault_sourceÚextraÚkwdefault_sources   &&&&&          rb   Úbind_args_cachedrÃ   É   sò  € ô �T‹?€Dô
 	ˆD‹	�T—^‘^Ô#Ø×!×!Ð!ßØ×!×!Ð!Ø——�Ø×!×!Ð!ô % T×%7Ñ%7Ô8ô
á8‘�ð ”. ¨!¥WÓ-Ò-Ù8ò
ð 	
ð 	×Ñ˜ÔØ	€BÜ�&‹\€FØ$Ðô ˜T×/Ñ/×0‰ˆØŒs�4‹yŒ=Ü% b¨q­'Ó2ˆB‹HØŒ^ð ×*Ñ*Ô*ä% b¯*©*°TÓ*:Ó;ˆB‹HØ×)Ñ)Ô)Ø×&Ñ& tÕ,ˆCß×!9ô Ü˜y¨.Ó9×DÑDÜ$×4Ñ4óôð
 ,0Ð(Ø!ˆNßÜ ×+Ò+¨D¯M©M¸#Õ,>×?Ò?Ü×@×@Ð@ä!/°	Ó!?�Ü% b¯-©-¸Õ*<¸nÓMˆBŒHä#Ð&LÈTÈFÐ$SÓTÐTñA 1ðF ”�T×'Ñ'Ó(Ð*Ð+€EØ××ÐÜ .¨r´5¸³<Ó @ˆ×ÑÒß	ÜØ1´#°d³)°¸KÌÈD×L^ÑL^ÓH_ÐG`Ðaó
ð 	
ð
 ×!Ô!ˆØŒ>Ü% b¯*©*°TÓ*:Ó;ˆB‹HØ—_‘_Ô$Ø#ÐßÜ#1°)ÈÔ#NÐ Ü% b¯/©/¸$Õ*?ÐAQÓRˆB‹Hä#Ð&NÈtÈfÐ$UÓVÐVñ "ð ‡‡€Ü,¨RÓ8ˆ�?‰?Ñð €I÷ 
ÜÐ"@ÄÀfÃÀÐ OÓPÐPà€IùóS
s   ÂNc                óN   € V ^8„  d   QhRRR\         R\        R,          R\        /# )rf   rª   rN   ÚvalÚsourceNrg   )r   r   rF   )rh   s   "rb   ri   ri   (  s6   € ÷ Hñ HØ#ðHÜ*-ðHÜ7=Àµ}ðHäñHra   c                 ó°   € \        V\        4      '       d   V# V'       g   \        P                  ! W4      # \        P                  P                  WV R 7      # )©rª   )Ú
isinstancerF   Úbuildr   ÚLazyVariableTrackerÚcreate)rª   rÅ   rÆ   s   &&&rb   r²   r²   (  sH   € ô �#”×'Ò'Øˆ
ßÜ×$Ò$ RÓ-Ð-ô ×,Ñ,×3Ñ3°CÀBÐ3ÓGÐGra   c                óN   € V ^8„  d   QhRRR\         \        \        3,          RR/# )rf   rª   rN   Úresultrg   N©r˜   r®   r   )rh   s   "rb   ri   ri   6  s+   € ÷ .ñ .Ð4ð .¼dÄ3ÌÀ8½nð .ÐQUñ .ra   c                 ó    € \        VP                  4       4       F0  w  r#\        V\        \        34      '       g   K#  \        W4      W&   K2  	  R # ry   )r¹   ÚitemsrÉ   r¸   r˜   r²   )rª   rÎ   ÚkÚvs   &&  rb   Úwrap_args_kwargsrÔ   6  s6   € Ü�V—\‘\“^Ö$‰ˆÜ�aœ%¤˜×'Ô'ä& rÓ-ˆF‹Ió %ra   c                ón   € V ^8„  d   QhRRR\         \        \        3,          R\        P                  RR/# )rf   ÚparentrN   rÎ   rŒ   rg   N)r˜   r®   rF   ÚtypesÚCodeType)rh   s   "rb   ri   ri   =  s>   € ÷  ñ  Ø'ð ä””oÐ%Õ&ð ô �.‰.ð ð 
ñ	 ra   c                óÌ   € V P                   P                  pVP                   F=  pVP                  4       pWA9   d!   VP	                  WQP                  V4      4       WQV&   K?  	  R# )z³
Update `result` to add mapping from local name to new cells created
directly by `code`, or update SideEffects in `parent` if a local cell is
already in `result` (cell argument).
N)ÚoutputÚside_effectsÚco_cellvarsÚtrack_cell_newÚ
store_cellr³   )rÖ   rÎ   rŒ   rÛ   r»   Únew_cells   &&&   rb   Úinit_cellvarsrà   =  sV   € ð —=‘=×-Ñ-€Là× Ô ˆØ×.Ñ.Ó0ˆØŒ>ð ×#Ñ# H¯j©j¸Ó.>Ô?Øˆt‹ó !ra   c                ón  € V ^8„  d   QhR\         P                  R\        \        \        3,          R\        R\
        \        R3,          R,          R\
        \        ,          R,          R\        \        \        3,          R,          R	\        \        \        3,          R,          R
\         P                  /# )rf   rŒ   Ú	f_globalsr»   r•   .NÚclosurer—   Úannotationsrg   )	r×   rØ   r˜   r®   r   r¸   Úobjectr   r   )rh   s   "rb   ri   ri   R  s›   € ÷ ñ Ü
�.‰.ðä”Cœ�H�~ðô ðô ”F˜C�KÕ  4Õ'ð	ô
 ”8�_˜tÕ#ðô ”Sœ#�X• Õ%ðô ”cœ3�h• $Õ&ðô ×Ññra   c                 óú   € ^ RI Hp V! WW#V4      pWXn        \        V\        4      '       d   ^ RIHp	 \        V	! V4      4      pVe.   \        V\        4      '       g   \        R\        V4       24      hWhn
        V# )é    ru   ©Úpairwisez(annotations must be None or a dict, got )r×   r   r–   rÉ   r¸   Ú	itertoolsré   r˜   ÚAssertionErrorÚtypeÚ__annotations__)
rŒ   râ   r»   r•   rã   r—   rä   r   rt   ré   s
   &&&&&&&   rb   Ú_create_nested_fnrî   R  sx   € õ #á˜¨¸ÓA€DØ$Ôä�+œu×%Ò%Ý&ä™8 KÓ0Ó1ˆð Ò¤:¨k¼4×#@Ò#@ÜØ6´t¸KÓ7HÐ6IÐJó
ð 	
ð 'Ôà€Kra   c          
      óZ   € V ^8„  d   QhRRR\         R\        R,          R\        R\        /# )rf   rª   rN   ÚfnrÆ   Nr»   rg   )rå   r   r®   rF   )rh   s   "rb   ri   ri   }  s8   € ÷ -ñ -Ø#ð-Ü)/ð-Ü9?À$½ð-ÜNQð-äñ-ra   c                 ó~  € T;'       d    \        W#4      pV'       d   VR 8X  d   \        V4      pRp \        P                  ! W4      pV\        9   d   \        W4      pV'       d"   \        P                  P                  WBV R7      # \        P                  ! W4      #   \         d    \        \        T 4        Lri ; i)rí   NrÈ   )r(   r/   ÚinspectÚgetattr_staticÚAttributeErrorr    Úfn_known_dunder_attrsÚgetattrr   rË   rÌ   rF   rÊ   )rª   rð   rÆ   r»   Úsubobjs   &&&& rb   Úfn_getattro_implrø   }  s©   € ð ×0Ð0œ
 6Ó0€Fç�$Ð+Ô+ô ! Ó(ˆà€Fð5Ü×'Ò'¨Ó1ˆð Ô$Ô$Ü˜Ó"ˆßÜ×,Ñ,×3Ñ3°FÀrÐ3ÓJÐJÜ× Ò  Ó,Ð,øô ô 5ô 	!¤°Ö4ð5ús   ³B ÂB<Â;B<c                   óÌ  a a€ ] tR tRt oRtR tV3R lR ltV3R lR ltV3R lR	 ltV3R
 lV 3R llt	V3R lR lt
V3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R  lR! ltV3R" lR# ltV3R$ lR% ltV3R& lR' ltV3R( lR) ltR*]! ]R4      R+]! ]R4      R,]! R- 4      R.]! R/ 4      R0]! R1 4      R2]! R3 4      R4]! ]4      R5]! ]4      /tR6]! R7 4      R8]! R9 4      R:]! ]4      /tV3R; lR< ltV3R= lR> ltV3R? lR@ ltV3RA lRB lt V3RC lRD lt!V3RE lRF lt"V3RG lt#RHt$Vt%V ;t&# )IÚBaseUserFunctionVariableiš  Nc                ó    € ^RI Hp V! WW#4      # ©é   )Úobject_richcompare©Úobject_protocolrþ   ©r‹   rª   ÚotherÚoprþ   s   &&&& rb   Útp_richcompare_implÚ,BaseUserFunctionVariable.tp_richcompare_implŸ  ó   € Ý7á! $¨EÓ6Ð6ra   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# re   ©r¹   rF   )rh   rv   s   "€rb   ri   Ú%BaseUserFunctionVariable.__annotate__¤  ó   ø€ ÷ ñ ™4¡Õ0ñ ra   c                ó   € . # ry   rZ   ©r‹   s   &rb   Ú	self_argsÚ"BaseUserFunctionVariable.self_args¤  ó   € Øˆ	ra   c                ó.   <€ V ^8„  d   QhRS[ R,          /# ©rf   rg   Nr   )rh   rv   s   "€rb   ri   r	  §  s   ø€ ÷ ñ ™F T�Mñ ra   c                ó   € V P                   # ry   ©rÆ   r  s   &rb   Ú
get_sourceÚ#BaseUserFunctionVariable.get_source§  ó   € Ø�{‰{Ðra   c                ó"   <€ V ^8„  d   QhRRRR/# ©rf   rª   rN   rg   rF   rZ   )rh   rv   s   "€rb   ri   r	  ª  s!   ø€ ÷ Jñ JÐ:ð JÐ?Pñ Jra   c                ó^   € \         P                  ! V\        V P                  4       4      4      # ry   )rF   rÊ   ÚreprÚas_python_constant©r‹   rª   s   &&rb   Útp_repr_implÚ%BaseUserFunctionVariable.tp_repr_implª  s#   € ä×$Ò$ R¬¨d×.EÑ.EÓ.GÓ)HÓIÐIra   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# ©rf   rª   rN   r»   r¬   r­   rg   ©r®   r¹   rF   r˜   )rh   rv   s   "€rb   ri   r	  ®  sS   ø€ ÷ Añ Aà'ðAñ ðAñ ‘?Õ#ð	Añ
 ‘S™/Ð)Õ*ðAñ 
ñAra   c                óþ  <€ VR 8X  do   V^ ,          P                  R4      '       d%   V^,          V n        \        P                  ! R4      # V P	                  V4      P                  VR\        V4      V4      # VR8X  dh   V^ ,          P                  R4      '       d   RV n        \        P                  ! R4      # V P	                  V4      P                  VR\        V4      / 4      # \        SV `  W\        V4      V4      # )Ú__setattr__rí   NÚ__setitem__Ú__delattr__Ú__delitem__)Úis_constant_matchrä   rH   rÌ   Úget_dict_vtÚcall_methodr¹   Úsuper)r‹   rª   r»   r¬   r­   Ú	__class__s   &&&&&€rb   r)  Ú$BaseUserFunctionVariable.call_method®  sã   ø€ ð �=Ô Ø�A�w×(Ñ(Ð):×;Ò;Ø#'¨¥7�Ô Ü'×.Ò.¨tÓ4Ð4Ø×#Ñ# BÓ'×3Ñ3Ø�M¤4¨£:¨vóð ð �]Ô"Ø�A�w×(Ñ(Ð):×;Ò;Ø#'�Ô Ü'×.Ò.¨tÓ4Ð4Ø×#Ñ# BÓ'×3Ñ3°B¸ÄtÈDÃzÐSUÓVÐVÜ‰wÑ" 2¬T°$«Z¸Ó@Ð@ra   c                ó    <€ V ^8„  d   QhRS[ /# re   ©r®   )rh   rv   s   "€rb   ri   r	  Ã  ó   ø€ ÷ +ñ +™cñ +ra   c                ó6   € V P                  4       P                  # ry   ©Úget_codeÚco_filenamer  s   &rb   Úget_filenameÚ%BaseUserFunctionVariable.get_filenameÃ  ó   € Ø�}‰}‹×*Ñ*Ð*ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r	  Æ  ó   ø€ ÷ 'ñ '™#ñ 'ra   c                ó6   € V P                  4       P                  # ry   ©r2  Úco_namer  s   &rb   Úget_nameÚ!BaseUserFunctionVariable.get_nameÆ  ó   € Ø�}‰}‹×&Ñ&Ð&ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r	  É  s   ø€ ÷ #ñ #™cñ #ra   c                ó€   € \         P                  R8¼  d   V P                  4       P                  # V P	                  4       # )é   ©rA  é   )ÚsysÚversion_infor2  Úco_qualnamer<  r  s   &rb   Úget_qualnameÚ%BaseUserFunctionVariable.get_qualnameÉ  s.   € Ü×Ñ˜wÔ&Ø—=‘=“?×.Ñ.Ð.à—=‘=“?Ð"ra   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r  r.  )rh   rv   s   "€rb   ri   r	  Ï  s   ø€ ÷ ,ñ ,™˜t�ñ ,ra   c                óD   € V P                  4       P                  ^ ,          # ©rç   )r2  Ú	co_constsr  s   &rb   Úget_docÚ BaseUserFunctionVariable.get_docÏ  s   € à�}‰}‹×(Ñ(¨Õ+Ð+ra   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# re   rÏ   )rh   rv   s   "€rb   ri   r	  Ó  s   ø€ ÷ "ñ "™T¡#¡s (�^ñ "ra   c                ó   € \         hry   ©ÚNotImplementedErrorr  s   &rb   Úget_globalsÚ$BaseUserFunctionVariable.get_globalsÓ  ó   € Ü!Ð!ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   ©r×   rØ   )rh   rv   s   "€rb   ri   r	  Ö  ó   ø€ ÷ "ñ "™%Ÿ.™.ñ "ra   c                ó   € \         hry   rQ  r  s   &rb   r2  Ú!BaseUserFunctionVariable.get_codeÖ  rU  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   ©Úbool)rh   rv   s   "€rb   ri   r	  Ù  ó   ø€ ÷ "ñ "™$ñ "ra   c                ó   € \         hry   rQ  r  s   &rb   Úhas_selfÚ!BaseUserFunctionVariable.has_selfÙ  rU  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   ©r×   r   )rh   rv   s   "€rb   ri   r	  Ü  s   ø€ ÷ "ñ "™e×0Ñ0ñ "ra   c                ó   € \         hry   rQ  r  s   &rb   Úget_functionÚ%BaseUserFunctionVariable.get_functionÜ  rU  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r	  ß  s   ø€ ÷ .ñ .™Cñ .ra   c                ó0   € V P                  4       R ,          # ©r\   )rS  r  s   &rb   Ú
get_moduleÚ#BaseUserFunctionVariable.get_moduleß  s   € Ø×ÑÓ! *Õ-Ð-ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# ©rf   rª   rN   rg   ©rF   )rh   rv   s   "€rb   ri   r	  â  s    ø€ ÷ Eñ EÐ ;ð EÁñ Era   c                óT   € \        V R R4      pVe   V# \        P                  ! R4      # )r•   N©rö   rH   rÌ   ©r‹   rª   Úds   && rb   Ú_get_defaultsÚ&BaseUserFunctionVariable._get_defaultsâ  s+   € Ü�D˜* dÓ+ˆØ’MˆqÐDÔ'7×'>Ò'>¸tÓ'DÐDra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# ©rf   rª   rN   r»   rg   ©r®   rF   )rh   rv   s   "€rb   ri   r	  æ  s%   ø€ ÷ 	
ñ 	
Ø-ð	
Ù58ð	
á	ñ	
ra   c                ó   € V P                  V4      pVP                  V4      '       d   VP                  V4      # \        V R V^R  24      ! 4       p\        P
                  ! Y@P                  ;'       d    \        V P                  V4      R7      # )Úget_r  éþÿÿÿ)r(  ÚcontainsÚgetitemrö   rH   rÌ   rÆ   r(   )r‹   rª   r»   Úfn_dictrÅ   s   &&&  rb   Ú_get_named_attrÚ(BaseUserFunctionVariable._get_named_attræ  s}   € ð ×"Ñ" 2Ó&ˆØ×Ñ˜D×!Ò!Ø—?‘? 4Ó(Ð(Ü�d˜d 4¨¨" : ,Ð/Ô0Ó2ˆÜ×&Ò&ØŸ™×EÐE¬
°4·;±;ÀÓ(Eô
ð 	
ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r	  ñ  s   ø€ ÷  ñ  Ð#>ð  Á?ñ  ra   c                ó€   € V P                   f&   \        P                  ! / \        4       R7      V n         V P                   # )N©Úmutation_type)rä   r   ÚConstDictVariablerE   r  s   &&rb   Ú_get_annotationsÚ)BaseUserFunctionVariable._get_annotationsñ  s:   € ð ×ÑÒ#Ü(×:Ò:ØÔ"2Ó"4ô ˆDÔð ×ÑÐra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r	  ú  s   ø€ ÷ 
ñ 
Ð#>ð 
Á?ñ 
ra   c                óF   € V P                  V4      P                  R R 4      # )Ú__type_params__c                  óB   € \         P                  ! . \        4       R 7      # )r‚  )r   ÚTupleVariablerE   rZ   ra   rb   Ú<lambda>Ú;BaseUserFunctionVariable._get_type_params.<locals>.<lambda>ý  s   € ”I×+Ò+¨BÔ>NÓ>PÕQra   )r(  Úgetitem_or_defaultr  s   &&rb   Ú_get_type_paramsÚ)BaseUserFunctionVariable._get_type_paramsú  s&   € Ø×Ñ Ó#×6Ñ6ØÙQó
ð 	
ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r	     s    ø€ ÷ Eñ EÐ"=ð EÁ/ñ Era   c                óT   € \        V R R4      pVe   V# \        P                  ! R4      # )r—   Nrp  rq  s   && rb   Ú_get_kwdefaultsÚ(BaseUserFunctionVariable._get_kwdefaults   s+   € Ü�D˜,¨Ó-ˆØ’MˆqÐDÔ'7×'>Ò'>¸tÓ'DÐDra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r	    s    ø€ ÷ Eñ EÐ:ð E¹ñ Era   c                óT   € \        V R R4      pVe   V# \        P                  ! R4      # )rã   Nrp  )r‹   rª   Úcs   && rb   Ú_get_closureÚ%BaseUserFunctionVariable._get_closure  s+   € Ü�D˜) TÓ*ˆØ’MˆqÐDÔ'7×'>Ò'>¸tÓ'DÐDra   r”   r–   r\   c                ó&   € V P                  VR 4      # ri  ©r~  ©Úsrª   s   &&rb   rŒ  Ú!BaseUserFunctionVariable.<lambda>  ó   € ¨×):Ñ):¸2¸zÔ)Jra   r^   c                ó&   € V P                  VR 4      # ©r^   r›  rœ  s   &&rb   rŒ  rž    s   € ¨Q×->Ñ->¸rÀ>Ô-Rra   rz   c                ó&   € V P                  VR 4      # ©rz   r›  rœ  s   &&rb   rŒ  rž    rŸ  ra   Ú__dict__c                ó$   € V P                  V4      # ry   )r(  rœ  s   &&rb   rŒ  rž    s   € ¨¯©°rÔ):ra   rí   r‰  Ú__doc__c                ó&   € V P                  VR 4      # ©r¦  r›  rœ  s   &&rb   rŒ  rž    s   € ¨×(9Ñ(9¸"¸iÔ(Hra   r]   c                ó&   € V P                  VR 4      # ©r]   r›  rœ  s   &&rb   rŒ  rž    s   € ¨1×+<Ñ+<¸RÀÔ+Nra   Ú__closure__c                ó(   <€ V ^8„  d   QhRRRS[ RR/# ©rf   rª   rN   r»   rg   úVariableTracker | Noner.  )rh   rv   s   "€rb   ri   r	    s%   ø€ ÷ 8ñ 8Ø-ð8Ù58ð8à	!ñ8ra   c                óT  €  V P                  4       p\        TRR 4      pT'       d   Y$9  d   R # T P                  4       pTe   \	        YR4      MR pTe(   \
        P                  P                  YB,          YQR7      # \        P                  ! YT,          4      #   \         d     R # i ; i)Nr¤  rÈ   )
re  rR  rö   r  r(   r   rË   rÌ   rF   rÊ   )r‹   rª   r»   rð   r}  rÆ   s   &&&   rb   Úlookup_instance_dictÚ-BaseUserFunctionVariable.lookup_instance_dict  sš   € ð	Ø×"Ñ"Ó$ˆBô ˜"˜j¨$Ó/ˆß˜$Ô-ÙØ—‘Ó"ˆØ-3Ò-?”˜FÔ)ÀTˆØÒÜ×0Ñ0×7Ñ7¸½ÀvÐ7ÓUÐUÜ×$Ò$ R°­Ó7Ð7øô #ô 	Úð	ús   ‚B ÂB'Â&B'c                ó(   <€ V ^8„  d   QhRRRS[ RR/# r­  r.  )rh   rv   s   "€rb   ri   r	  ,  s*   ø€ ÷ Bñ BØ-ðBÙ58ðBà	!ñBra   c                ó*   € \        \        W.R 7       R# ©©r¬   N©r    rô   ©r‹   rª   r»   s   &&&rb   Úcall_getattr_fallbackÚ.BaseUserFunctionVariable.call_getattr_fallback,  s   € ô 	!¤°¸&×Ara   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# ©rf   rª   rN   r¬   r­   rg   ©r¹   rF   r˜   r®   )rh   rv   s   "€rb   ri   r	  4  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
ra   c                óð   € V P                  4       R 8X  d<   V P                  4       P                  R4      '       d   \        P                  ! R4      # VP                  V . V P                  4       OVOVRR7      # )Úpatch_track_step_calledztorch/optim/lr_scheduler.pyNT)Úallow_nested_graph_breaks)r<  r4  ÚendswithrH   rÌ   Úinline_user_function_returnr  ©r‹   rª   r¬   r­   s   &&&&rb   Úcall_functionÚ&BaseUserFunctionVariable.call_function4  st   € ð �M‰M‹OÐ8Ô8Ø×!Ñ!Ó#×,Ñ,Ð-J×KÒKä#×*Ò*¨4Ó0Ð0Ø×-Ñ-ØØ&ˆd�n‰nÓÐ& Ð&ØØ&*ð	 .ó 
ð 	
ra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  ©r®   rH   )rh   rv   s   "€rb   ri   r	  H  s%   ø€ ÷ 1ñ 1Ø-ð1Ù58ð1á	ñ1ra   c                óæ   € V P                  W4      pVe   V# RpV\        9   g   VR8X  d   RpM \        V P                  4       V4      p\
        P                  ! W4      #   \         d    Rp L%i ; i)NFr¤  T)Ú_hasattr_check_side_effectsrõ   Úhasattrre  rR  rF   rÊ   )r‹   rª   r»   Ú	se_resultrÎ   s   &&&  rb   Úcall_obj_hasattrÚ)BaseUserFunctionVariable.call_obj_hasattrH  s}   € ð ×4Ñ4°RÓ>ˆ	ØÒ ØÐàˆàÔ(Ô(¨D°JÔ,>Ø‰FðÜ  ×!2Ñ!2Ó!4°dÓ;�ô ×$Ò$ RÓ0Ð0øô 'ô Ø’ðús   °A  Á A0Á/A0c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# rm  )r˜   r®   rF   )rh   rv   s   "€rb   ri   r	  Z  s'   ø€ ÷ ñ Ø-ðá	‰c‘?Ð"Õ	#ñra   c                ó   € / # ry   rZ   r  s   &&rb   Úclosure_varsÚ%BaseUserFunctionVariable.closure_varsZ  ó	   € ð ˆ	ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   r	  b  s   ø€ ÷ ñ ±$ñ ra   c                ó   € R # ©TrZ   r  s   &rb   Ú should_allow_nested_graph_breaksÚ9BaseUserFunctionVariable.should_allow_nested_graph_breaksb  ó   € Ùra   c                ó$   <€ V ^8„  d   Qh/ R;R&   # )rf   r®  rä   rZ   )rh   rv   s   "€rb   ri   r	  š  s   ø‡ ‚ ð *Ñ0ò ra   )rä   )'r\   r]   r^   r_   rä   r  r  r  r  r)  r4  r<  rG  rM  rS  r2  r`  re  rj  rs  r~  r…  r�  r“  r˜  r?   Ú	tp_getsetrB   Ú
tp_membersr°  r¸  rÃ  rË  rÏ  rÕ  Ú__annotate_func__r`   rŸ   Ú__classcell__©r+  rv   s   @@rb   rú   rú   š  s«  ù‡ € ð -1€Kò7÷
ð ÷ð ÷Jð J÷Aó A÷*+ð +÷'ð '÷#ð #÷,ð ,÷"ð "÷"ð "÷"ð "÷"ð "÷.ð .÷Eð E÷	
ð 	
÷ ð  ÷
ð 
÷Eð E÷Eð Eð
 	™˜}¨dÓ3Ø™& °$Ó7Ø‘FÑJÓKØ™ÑRÓSØ‘FÑJÓKØ‘FÑ:Ó;Ø™6Ð"2Ó3Ø™6Ð"2Ó3ð	€Ið 	‘6ÑHÓIØ‘fÑNÓOØ‘v˜lÓ+ð€J÷8ð 8÷(Bð B÷
ð 
÷(1ð 1÷$ð ÷ð ÷Q … ra   rú   c                   óD  a a€ ] tR tRt oRt]P                  tRR0]P                  mt	]
! 0 RQm4      t]V3R lR l4       tV3R lR ltRRV3R	 lV 3R
 llltV3R lV 3R lltR tV3R lV 3R lltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R  lR! ltV3R" lR# ltV3R$ lR% ltR&]! ]R'4      R(]! R) 4      R*]! R+ 4      R,]! R- 4      R.]! R/ 4      R0]! R1 4      R2]! R3 4      R4]! R5 4      /tR6] ! R7 4      R8] ! R9 4      R:] ! R; 4      /t!V3R< lR= lt"V3R> lV 3R? llt#V3R@ lRA lt$V3RB lRC lt%V3RD lRE lt&V3RF lRG lt'V3RH lRI lt(V3RJ lRK lt)V3RL lRM lt*V3RN lRO lt+RPt,Vt-V ;t.# )SÚUserFunctionVariableif  z-Some unsupported user-defined global functionrð   Úis_constantc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rf   ÚvaluerÆ   rg   rß  ©r   )rh   rv   s   "€rb   ri   Ú!UserFunctionVariable.__annotate__|  s#   ø€ ÷ )ñ )¡sð )±Cð )Ð<Rñ )ra   c                ód   € \        VP                  \        P                  4      4       V ! WR 7      # ©r  ©r'   r´   r&   ÚCLOSURE_MATCH©Úclsrâ  rÆ   s   &&&rb   Úcreate_with_sourceÚ'UserFunctionVariable.create_with_source{  s&   € ä�f×'Ñ'¬×(BÑ(BÓCÔDÙ�5Ô(Ð(ra   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r  ©rå   )rh   rv   s   "€rb   ri   rä  €  ó   ø€ ÷ ñ ¡v°¥}ñ ra   c                ó   € V P                   # ry   ©rð   r  s   &rb   Úget_value_for_setattrÚ*UserFunctionVariable.get_value_for_setattr€  ó   € Ø�w‰wˆra   c                ó|   <€ V ^8„  d   QhRS[ P                  S[P                  P                  ,          RS[RS[RR/# )rf   rð   rà  r­   rg   N)r×   r   rk   ÚjitÚScriptFunctionr]  r   )rh   rv   s   "€rb   ri   rä  ƒ  sH   ø€ ÷ ñ á×Ñ¡§¡×!9Ñ!9Õ9ðñ ðñ ð	ð
 
ñra   c                ó^  <€ \         SV `  ! R	/ VB  \        VR R4      '       d	   RV n        MRV n        \	        V\
        P                  \        P                  P                  34      '       g"   \        RV RR.\        P                  OR7       \        P                  ! VRV4      pWn        R# )
Ú_dynamo_marked_constantFTz1can't handle functions not implemented in python z2Dynamo can only handle functions defined in pythonz9Move usage of this function out of `torch.compile` region©Úgb_typeÚcontextÚexplanationÚhintsÚ_torchdynamo_inlineNrZ   )r*  r�   rö   rà  rÉ   r×   r   rk   rö  r÷  r$   r   ÚINFERENCE_MODErò   ró   rð   )r‹   rð   rà  r­   r+  s   &&&,€rb   r�   ÚUserFunctionVariable.__init__ƒ  sž   ø€ ô 	‰ÒÑ"˜6Ò"Ü�2Ð0°%×8Ò8à#ˆDÕà$ˆDÔô ˜"œu×1Ñ1´5·9±9×3KÑ3KÐL×MÒMÜØKØ˜$ØPàOðä&×5Ñ5ðõ	ô ×#Ò# BÐ(=¸rÓBˆØŽra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   rä  ¢  s   ø€ ÷ ,ñ ,¡Cñ ,ra   c                ód   <€ \        V \        4      '       d   V P                  # \        SV `  4       # ry   )r:   rß  rð   r*  r  ©r‹   r+  s   &€rb   r  Ú'UserFunctionVariable.as_python_constant¢  s(   ø€ Ü�$Ô,×-Ò-Ø—7‘7ˆNä‰wÑ)Ó+Ð+ra   c                ór   € V P                   '       d   V P                   P                  V4      # \        R 4      h)zBPython codegen not implemented for sourceless UserFunctionVariable©rÆ   Úreconstruct_pycoderR  ©r‹   Úcodegens   &&rb   r  Ú'UserFunctionVariable.reconstruct_pycode¨  ó0   € Ø�;�;ˆ;Ø—;‘;×1Ñ1°'Ó:Ð:Ü!ØPó
ð 	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   rä  ¯  s   ø€ ÷ 6ñ 6©cñ 6ra   c                ód   <€ \        V \        4      '       d   V P                  # \        SV `  4       # ry   )r:   rß  rð   r*  Úget_real_python_backed_valuer  s   &€rb   r  Ú1UserFunctionVariable.get_real_python_backed_value¯  s(   ø€ Ü�$Ô,×-Ò-Ø—7‘7ˆNÜ‰wÑ3Ó5Ð5ra   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# re   r  )rh   rv   s   "€rb   ri   rä  ´  r
  ra   c                ó   € . # ry   rZ   r  s   &rb   r  ÚUserFunctionVariable.self_args´  r  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rc  )rh   rv   s   "€rb   ri   rä  ·  s   ø€ ÷ ñ ™e×0Ñ0ñ ra   c                ó   € V P                   # ry   rñ  r  s   &rb   re  Ú!UserFunctionVariable.get_function·  rô  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rW  )rh   rv   s   "€rb   ri   rä  º  s   ø€ ÷  ñ  ™%Ÿ.™.ñ  ra   c                ó.   € V P                   P                  # ry   )rð   rz   r  s   &rb   r2  ÚUserFunctionVariable.get_codeº  s   € Ø�w‰w×ÑÐra   c                ó    <€ V ^8„  d   QhRS[ /# re   ©rì   )rh   rv   s   "€rb   ri   rä  ½  ó   ø€ ÷ "ñ "™Tñ "ra   c                ó"   € \         P                  # ry   rc  r  s   &rb   Úpython_typeÚ UserFunctionVariable.python_type½  ó   € Ü×!Ñ!Ð!ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rä  À  s   ø€ ÷ >ñ >™$ñ >ra   c                ó4   € \        V P                  R R4      RJ# )Ú__self__N)rö   rð   r  s   &rb   r`  ÚUserFunctionVariable.has_selfÀ  s   € Ü�t—w‘w 
¨DÓ1¸Ð=Ð=ra   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# re   rÏ   )rh   rv   s   "€rb   ri   rä  Ã  s   ø€ ÷ #ñ #™T¡#¡s (�^ñ #ra   c                ó.   € V P                   P                  # ry   )rð   Ú__globals__r  s   &rb   rS  Ú UserFunctionVariable.get_globalsÃ  s   € Ø�w‰w×"Ñ"Ð"ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rä  Æ  s   ø€ ÷ ñ ±$ñ ra   c                óÜ   a€ ^ RI HpHp V P                  4       o\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   R# V! S4      '       d   R# R# )rç   )ÚBUILTIN_INLINE_WHEN_CALLEDÚis_ngb_suppressed_inlinec              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5iry   )Ú
startswith)Ú.0rr  Úfilenames   & €rb   Ú	<genexpr>ÚHUserFunctionVariable.should_allow_nested_graph_breaks.<locals>.<genexpr>Í  s!   øé € ÐJÑ/I¨!ˆx×"Ñ" 1×%Ð%Ó/Iùs   ƒ!TF)Útorch._dynamo.trace_rulesr+  r,  r4  Úany)r‹   r+  r,  r0  s   &  @rb   rÕ  Ú5UserFunctionVariable.should_allow_nested_graph_breaksÆ  sO   ø€ ÷	
ð
 ×$Ñ$Ó&ˆß‹3ÔJÑ/IÓJ�3�3Š3ÔJÑ/IÓJ×JÒJÙÙ# H×-Ò-ÙÙra   c                ó    <€ V ^8„  d   QhRS[ /# re   r   )rh   rv   s   "€rb   ri   rä  Ó  s   ø€ ÷ ñ ™Fñ ra   c                ó†   € V P                   pV'       d-   \        V \        P                  4      '       d   V P                  pV# ry   )rÆ   rÉ   r   ÚUserMethodVariableÚ	source_fn)r‹   rÆ   s   & rb   r  ÚUserFunctionVariable.get_sourceÓ  s.   € Ø—‘ˆç”j ¤y×'CÑ'C×DÒDØ—^‘^ˆFØˆra   c          
      ól   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[S[S[3,          /# ©rf   rÖ   rN   r¬   r­   rg   r¼  )rh   rv   s   "€rb   ri   rä  Ú  sR   ø€ ÷ Cñ Cà+ðCñ ‘?Õ#ðCñ ‘S™/Ð)Õ*ð	Cñ
 
‰c‘?Ð"Õ	#ñCra   c                óþ  € V P                   '       d   \        R4      hV P                  p\        V\        4      '       g   \        R4      hVP                  P                  pV P                  4       p\        WEWbV4      p\        WVP                  4       V P                  P                  ;'       g    Rp\        V4      \        V P                  P                  P                  4      8w  dB   \        R\        V4       R\        V P                  P                  P                  4       24      h\        \         P"                  ! 4       V P                  P                  P                  V4       FÃ  w  ršpVP                  P$                  pW¼9   d
   WË,          pM”V'       dY   \'        \)        V4      V	4      p\+        VRV
R7      p \,        P.                  ! WP0                  V4      pVP9                  WëV4      pM4 \,        P.                  ! WP0                  4      pVP9                  RVV4      pW×V
&   KÅ  	  V#   \2         d    \4        P6                  ! 4       p Lsi ; i  \2         d    \4        P6                  ! 4       p Lei ; i)	z
Assume `args` and `kwargs` are VariableTracker arguments for a call to
this function, create new bindings for initial locals.
z5bind_args should not be called on a constant functionz'Only supports regular Python functions.zclosure length z# does not match co_freevars length Úcell_contents)Úfreevar_nameNrZ   )rà  rë   rð   rÉ   r   Ú	TypeErrorrÚ   Úroot_txr  rÃ   rà   rz   r«  rš   Úco_freevarsr™   rê   ÚcountrÛ   r-   r*   r)   rF   rÊ   r>  Ú
ValueErrorr   ÚDeletedVariableÚtrack_cell_existing)r‹   rÖ   r¬   r­   rð   rA  rÆ   rÎ   rã   r¿   r»   ÚcellrÛ   Úcell_varÚclosure_cellÚclosure_cell_contentsÚcontents_vars   &&&&             rb   Ú	bind_argsÚUserFunctionVariable.bind_argsÚ  s  € ð ××ÐÜ ØGóð ð "&§¡ˆä˜"œl×+Ò+ÜÐEÓFÐFØ—-‘-×'Ñ'ˆà—‘Ó"ˆÜ! "¨v¸VÓDˆä�f b§k¡kÔ2Ø—'‘'×%Ñ%×+Ð+¨ˆÜˆw‹<œ3˜tŸw™w×/Ñ/×;Ñ;Ó<Ô<Ü Ø!¤# g£, ð 0&Ü&)¨$¯'©'×*:Ñ*:×*FÑ*FÓ&GÐ%HðJóð ô  #Ü�OŠOÓ˜tŸw™w×/Ñ/×;Ñ;¸Wö 
‰OˆC�tð "Ÿ=™=×5Ñ5ˆLØÔ#Ø'Õ-‘çÜ,¬]¸6Ó-BÀCÓH�Ü(:Ø  /Àô)Ð%ð?Ü#2×#8Ò#8Ø× 2Ñ 2Ð4Ió$�Lð (×;Ñ;Ø ¨ó‘ð?Ü#2×#8Ò#8¸×ASÑASÓ#T�Lð (×;Ñ;¸DÀ$ÈÓU�à#�4‹LñE 
ðH ˆøô' "ô ?ä#,×#<Ò#<Ó#>’Lð?ûô "ô ?ä#,×#<Ò#<Ó#>’Lð?ús$   Ç!H3Ç6 IÈ3 IÉIÉ I<É;I<c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   rä  !  s    ø€ ÷ Bñ BÐ"=ð BÁ/ñ Bra   c                óœ   € V P                  4       pVe   \        VR4      MR p\        P                  ! WP                  P
                  V4      # ©NÚ__get__)r  r(   rF   rÊ   rð   rQ  ©r‹   rª   rÆ   s   && rb   Ú_get_dunder_getÚ$UserFunctionVariable._get_dunder_get!  s<   € Ø—‘Ó"ˆØ28Ò2D”˜F IÔ.È$ˆÜ×$Ò$ R¯©¯©¸&ÓAÐAra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  rw  )rh   rv   s   "€rb   ri   rä  &  s*   ø€ ÷ Fñ FØ-ðFÙ58ðFá	ñFra   c                óL   € \        WP                  V P                  4       V4      # ry   )rø   rð   r  r·  s   &&&rb   Ú_fn_getattrÚ UserFunctionVariable._fn_getattr&  s   € ô   §G¡G¨T¯_©_Ó->ÀÓEÐEra   rQ  Nr\   c                ó&   € V P                  VR 4      # ri  ©rW  rœ  s   &&rb   rŒ  ÚUserFunctionVariable.<lambda>2  ó   € ¨¯©°r¸:Ô)Fra   r^   c                ó&   € V P                  VR 4      # r¡  rZ  rœ  s   &&rb   rŒ  r[  3  ó   € ¨Q¯]©]¸2¸~Ô-Nra   rz   c                ó&   € V P                  VR 4      # r£  rZ  rœ  s   &&rb   rŒ  r[  4  r\  ra   r”   c                ó&   € V P                  VR 4      # )r”   rZ  rœ  s   &&rb   rŒ  r[  5  r^  ra   r–   c                ó&   € V P                  VR 4      # )r–   rZ  rœ  s   &&rb   rŒ  r[  6  s   € ¨q¯}©}¸RÐAQÔ/Rra   rí   c                ó&   € V P                  VR 4      # )rí   rZ  rœ  s   &&rb   rŒ  r[  7  ó   € °·±¸bÐBSÔ0Tra   r‰  c                ó&   € V P                  VR 4      # )r‰  rZ  rœ  s   &&rb   rŒ  r[  8  rc  ra   r¦  c                ó&   € V P                  VR 4      # r¨  rZ  rœ  s   &&rb   rŒ  r[  ;  s   € ¨¯©°b¸)Ô(Dra   r]   c                ó&   € V P                  VR 4      # rª  rZ  rœ  s   &&rb   rŒ  r[  <  s   € ¨1¯=©=¸¸\Ô+Jra   r«  c                ó&   € V P                  VR 4      # )r«  rZ  rœ  s   &&rb   rŒ  r[  =  s   € ¨A¯M©M¸"¸mÔ,Lra   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# ©rf   rª   rN   ÚobjÚownerrg   rn  )rh   rv   s   "€rb   ri   rä  @  s9   ø€ ÷ 
Vñ 
Và'ð
Vñ ð
Vñ ð	
Vñ
 
ñ
Vra   c                óÂ   € VP                   ;'       d+    \        VP                   V P                  P                  4      p\	        V P                  W P                   VR 7      # )©r9  rÆ   )rÆ   r(   rð   r\   r8  )r‹   rª   rj  rk  rÆ   s   &&&& rb   Útp_descr_get_implÚ&UserFunctionVariable.tp_descr_get_impl@  sA   € ð —‘×HÐH¤
¨3¯:©:°t·w±w×7GÑ7GÓ HˆÜ! $§'¡'¨3¿+¹+ÈfÔUÐUra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rä  L  sH   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7ra   c           
     óR  <€ V P                   \        P                  P                  J d‘    V Uu. uF  qDP	                  4       NK  	  ppVP                  4        UUu/ uF  w  rgWgP	                  4       bK  	  ppp\        P                  P                  ! V/ VB P                  p	\        P                  ! V	4      # V P                   \        P                  P                  J d–    \        P                  ! V P                   4      P                  ! V/ VB pVP                  R,          P	                  4       p\!        V\"        4      '       g   \%        R\'        V4       24      h\        P(                  ! V4      # V P                   \        P                  P,                  J dÊ    \        P                  ! V P                   4      P                  ! V/ VB pVP/                  4        VP                  R,          pVP                  R,          p\!        V\0        4      '       d   VP	                  4       p\!        V\0        4      '       d   VP	                  4       p\        P2                  ! WÞ4      # V P                   \        P                  P4                  P6                  J d1   R	VP8                  n        \        P<                  P?                  R4      # V P                   \        P                  P@                  J Ed5   \        P                  ! V P                   4      P                  ! V/ VB pVPB                  ^ ,          p\!        V\D        4      '       gT   VPG                  4       pR
VPH                   R2p\K        RRV PL                   RV RV R2V. \N        PP                  OR7       \!        V\R        4      '       g-   VPU                  4       pRV R2p\K        RV  VRV R2R.R7       VP                   p\        PV                  ! V\        P                  PX                  PZ                  R7      # V P\                  '       d&   \_        WP                   V PU                  4       W#4      # VP8                  P`                  Pb                  '       g   V P                   \        P                  Pd                  Pf                  J dM   \        P                  Ph                  Pk                  V4      ;_uu_ 4        \l        SV `Ý  WV4      uuRRR4       # \q        VP8                  P`                  RR4      R8X  d¥   VP8                  P`                  Pr                  '       g    ^ RI:H;p Vet   V P                   VPx                  VPz                  39   dM   \        P                  Ph                  Ps                  V4      ;_uu_ 4        \l        SV `Ý  WV4      uuRRR4       # V P}                  WV4      pVe   V# \l        SV `Ý  WV4      # u upi u uppi   \         d   p
\        R T RT 24      T
hRp
?
ii ; i  \*         d   p
\        RT RT 24      T
hRp
?
ii ; i  \*         d   p
\        RT RT 24      T
hRp
?
ii ; i  + '       g   i     EL}; i  \*         d    Rp EL=i ; i  + '       g   i     LÚ; i)zˆCannot convert patch_dynamo_config args/kwargs to constants. Please fix your call to patch_dynamo_config by using simpler inputs. args: ú
, kwargs: NÚerror_on_graph_breakz)error_on_graph_break must be a bool, got z\Improper error_on_graph_break() call. Please fix your call to error_on_graph_break(). args: ÚfwdÚbwdzZImproper override_cudagraphs() call. Please fix your call to override_cudagraphs(). args: Tz=`nonstrict_trace` expects a callable, but got value of type <Ú>zTypeError from user codezcall_function(ú, Ú)rú  z(Applying `nonstrict_trace` to function <zk>; however, `nonstrict_trace` currently requires the function to be defined outside `torch.compile` region.zLimitation of `nonstrict_tracezmake sure definition of z is outside z`torch.compile` region©ÚkindÚdescriptionz!torch.utils.checkpoint.checkpoint)Ú	FSDPState)?rð   rk   Ú_dynamoÚpatch_dynamo_configr  rÑ   Úchangesr   ÚDynamoConfigPatchVariabler=   ÚRuntimeErrorrs  rò   Ú	signatureÚbindÚ	argumentsrÉ   r]  rë   rì   ÚErrorOnGraphBreakVariableÚ	ExceptionÚoverride_cudagraphsÚapply_defaultsrF   ÚCudagraphOverrideVariableÚbytecode_debuggerÚ
breakpointrÚ   Ú_emit_debugger_breakpointrH   rÌ   Únonstrict_tracer¬   rú   r  r\   r$   râ  r   Ú
USER_ERRORrß  r<  ÚTorchInGraphFunctionVariableÚAllowInGraphKindÚNONSTRICT_TRACErà  Úinvoke_and_store_as_constantÚcurrent_tracerÚ,unsafe_allow_externally_visible_side_effectsrl   Ú8_disable_side_effect_safety_checks_for_current_subtracerrÛ   Ú2allow_externally_visible_side_effects_in_subtracerr*  rÃ  rö   Úallow_side_effects_in_hopÚ/torch.distributed.fsdp._fully_shard._fsdp_stater|  Ú_pre_forwardÚ_post_forwardÚ_maybe_call_tree_map_fastpath)r‹   rª   r¬   r­   ÚargÚ
args_constÚkeyrÅ   Úkwargs_constr  ÚerV   rs  rt  ru  Úfn_varÚtypÚmsgÚfn_namerð   r|  Útree_map_resultr+  s   &&&&                  €rb   rÃ  Ú"UserFunctionVariable.call_functionL  sÐ  ø€ ð �7‰7”e—m‘m×7Ñ7Ó7ðÙBFÓGÁ$¸3×4Ñ4Ö6Á$�
ÐGàBHÇ,Á,Ä.ô ÙBP±h°c�C×/Ñ/Ó1Ò1Á.ð ñ  ô  Ÿ-™-×;Ò;ØðØ#/ñç‘'ð ô !×:Ò:¸7ÓCÐCð �W‰WœŸ™×:Ñ:Ó:ðÜ×)Ò)¨$¯'©'Ó2×7Ò7¸ÐHÀÑH�Ø',§¡Ø*õ(ç$Ñ$Ó&ð %ô "Ð"6¼×=Ò=Ü(ØCÄDÐI]ÓD^ÐC_Ð`óð ô !×:Ò:Ð;OÓPÐPð �W‰WœŸ™×9Ñ9Ó9ðÜ×)Ò)¨$¯'©'Ó2×7Ò7¸ÐHÀÑH�Ø×$Ñ$Ô&Ø—o‘o eÕ,�Ø—o‘o eÕ,�Ü˜c¤?×3Ò3Ø×0Ñ0Ó2�CÜ˜c¤?×3Ò3Ø×0Ñ0Ó2�CÜ ×:Ò:¸3ÓDÐDð �W‰WœŸ™×7Ñ7×BÑBÓBØ26ˆB�I‰IÔ/Ü×-Ñ-×4Ñ4°TÓ:Ð:à�W‰WœŸ™×5Ñ5Ô5Ü×%Ò% d§g¡gÓ.×3Ò3°TÐD¸VÑDˆEØ—Z‘Z •]ˆFÜ˜fÔ&>×?Ò?Ø×(Ñ(Ó*�ØUÐVY×VbÑVbÐUcÐcdÐe�ÜØ6Ø,¨T¯Z©Z¨L¸¸4¸&ÀÀ6À(È!ÐLØ #ðÜ*×5Ñ5ðõ	ô ˜fÔ&:×;Ò;Ø Ÿ/™/Ó+�Ø@ÀÀ	ð  Juð  v�ÜØ<Ø#˜fØ #à2°7°)¸<ÐHØ0ðõ	ð —‘ˆBÜ×9Ò9ØœŸ™×9Ñ9×IÑIôð ð ××ÐÜ/Ø—G‘G˜TŸ]™]›_¨dóð ð
 —	‘	×(Ñ(×U×UÐUØ—‘Ü�}‰}×"Ñ"×[Ñ[ó\ô —‘×+Ñ+×^Ñ^Ø÷õ ô ‘wÑ,¨R°vÓ>÷ò ô �B—I‘I×,Ñ,¨m¸TÓBØ2ô3à—I‘I×,Ñ,×F×FÐFð!ÝUð Ò$¨¯©Ø×&Ñ&Ø×'Ñ'ð5ô *ô —]‘]×/Ñ/×IÑIÈ"×MÕMÜ ™7Ñ0°¸6ÓB÷ NÒMð ×<Ñ<¸RÀvÓNˆØÒ&Ø"Ð"ä‰wÑ$ R¨vÓ6Ð6ùòm Hùó øô 7ô Ü"ðà!˜F *¨V¨Hð6óð ð	ûðûô" ô Ü"ðØ!˜F *¨V¨Hð6óð ðûðûô  ô Ü"ðØ!˜F *¨V¨Hð6óð ðûðú÷h÷ ð ûô ô !Ø “	ð!ú÷ N×Mús‘   «W? ¯W4ÁW? ÁW9Á7AW? Ã#BX$ Æ CY	 Ó'Y.ÕZ Ö1Z×4W? ×?X!Ø
XØX!Ø$YØ/YÙYÙ	Y+ÙY&Ù&Y+Ù.Y?	ÚZÚZÚZ&	c          	      ód   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[R,          /# )rf   rª   rN   r¬   r­   rg   Nr¼  )rh   rv   s   "€rb   ri   rä  Í  sG   ø€ ÷ 5ñ 5à'ð5ñ ‘?Õ#ð5ñ ‘S™/Ð)Õ*ð	5ñ
 
˜4Õ	ñ5ra   c                ó˜  € V P                  WV4      pVe   Vw  rVpMT pTpTp\        V\        4      ;'       d    VP                  4       p\        V\        4      ;'       d    VP	                  4       p	V'       g   V	'       g   R # 0 Vm\
        ,
          '       d   R # \        V4      ^8  d   R # V^ ,          p
V^,          pVR,          p\        P                  P                  4       ;_uu_ 4        V	'       d"   VP                  VVV
VVRR7      uuR R R 4       # VP                  VVV
VV4      uuR R R 4       #   + '       g   i     R # ; i)N:rf   NN)ÚkeypathrZ   )Ú_rewrite_tree_map_only_callrÉ   rß  Ú_is_tree_map_functionÚ_is_tree_map_with_path_functionÚ_SUPPORTED_TREE_MAP_KWARGSrš   rk   r}  Údisable_nested_graph_breaksÚcall_tree_map_with_pathÚcall_tree_map)r‹   rª   r¬   r­   ÚrewriteÚtree_map_fnÚtree_map_argsÚtree_map_kwargsÚis_tree_mapÚis_tree_map_with_pathÚmap_fnÚ
first_treeÚrests   &&&&         rb   r›  Ú2UserFunctionVariable._maybe_call_tree_map_fastpathÍ  sE  € ð ×2Ñ2°2¸VÓDˆØÒØ:AÑ7ˆK©àˆKØ ˆMØ$ˆOô �{Ô$8Ó9÷ 4ð 4Ø×1Ñ1Ó3ð 	ô
 �{Ô$8Ó9÷ >ð >Ø×;Ñ;Ó=ð 	÷
 ×4ÙØˆ_ÐÔ :×:Ô:ÙÜˆ}Ó Ô!Ùà˜qÕ!ˆØ" 1Õ%ˆ
Ø˜RÕ ˆô �]‰]×6Ñ6×8Õ8ß$Ø!×9Ñ9ØØØØØ#Øð :ó ÷ 9Ò8ð "×/Ñ/ØØØØØ#ó÷ 9×8×8Ó8ús   Ã/D8ÄD8Ä8E		c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rä    ó   ø€ ÷ 
ñ 
¡tñ 
ra   c                óŽ   € \        V P                  R R4      R8H  ;'       d%    \        V P                  RR4      V P                  9   # )r\   NÚtree_mapr]   ©rö   rð   Ú_TREE_MAP_MODULESr  s   &rb   r«  Ú*UserFunctionVariable._is_tree_map_function  sC   € ä�D—G‘G˜Z¨Ó.°*Ñ<÷ Oð OÜ˜Ÿ™ ¨tÓ4¸×8NÑ8NÑNð	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rä  
  s   ø€ ÷ 
ñ 
±ñ 
ra   c                óŽ   € \        V P                  R R4      R8H  ;'       d%    \        V P                  RR4      V P                  9   # )r\   NÚtree_map_with_pathr]   r¿  r  s   &rb   r¬  Ú4UserFunctionVariable._is_tree_map_with_path_function
  sD   € ä�D—G‘G˜Z¨Ó.Ð2FÑF÷ Oð OÜ˜Ÿ™ ¨tÓ4¸×8NÑ8NÑNð	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rä    s   ø€ ÷ 
ñ 
©Dñ 
ra   c                óŽ   € \        V P                  R R4      R8H  ;'       d%    \        V P                  RR4      V P                  9   # )r\   NÚtree_map_onlyr]   r¿  r  s   &rb   Ú_is_tree_map_only_functionÚ/UserFunctionVariable._is_tree_map_only_function  sC   € ä�D—G‘G˜Z¨Ó.°/ÑA÷ Oð OÜ˜Ÿ™ ¨tÓ4¸×8NÑ8NÑNð	
ra   c                ó¢   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[RS[ S[,          S[S[S[3,          3,          R,          /# )rf   rª   rN   r¬   r­   rg   rß  N)r¹   rF   r˜   r®   r¸   )rh   rv   s   "€rb   ri   rä    st   ø€ ÷ $Kñ $Kà'ð$Kñ ‘?Õ#ð$Kñ ‘S™/Ð)Õ*ð	$Kñ 	Ø"Ù‘Õ!Ù‘‘oÐ%Õ&ð(õ	
ð
 õ	ñ$Kra   c           	     ód  € V P                  4       '       g   R # \        V4      ^8w  d   R # 0 Vm\        ,
          '       d   R # Vw  rEpV P                  V4      pVf   R # V P	                  4       pVf   R # \        VV\        VRR 4      R7      p	\        P                  ! W4      p
W©V.\        V4      3# )NrÆ   r  )
rÉ  rš   Ú_TREE_MAP_ONLY_SUPPORTED_KWARGSÚ_extract_tree_map_only_typesÚ_lookup_tree_map_functionÚTreeMapOnlyFunctionVariablerö   rF   rÊ   r˜   )r‹   rª   r¬   r­   Útype_selectorr·  Útree_argÚallowed_typesÚtree_map_callableÚwrapped_map_fnÚtree_map_variables   &&&&       rb   rª  Ú0UserFunctionVariable._rewrite_tree_map_only_call  sµ   € ð ×.Ñ.×0Ò0Ùäˆt‹9˜Œ>ÙØˆVˆ9Ô6×6Ô6Ùà*.Ñ'ˆ˜xØ×9Ñ9¸-ÓHˆØÒ Ùà ×:Ñ:Ó<ÐØÒ$Ùä4ØØÜ˜6 8¨TÓ2ô
ˆô
 ,×1Ò1°"ÓHÐØ °8Ð"<¼dÀ6»lÐJÐJra   c                óB   <€ V ^8„  d   QhRS[ P                  R,          /# r  rc  )rh   rv   s   "€rb   ri   rä  <  s   ø€ ÷ 
ñ 
©5×+=Ñ+=ÀÕ+Dñ 
ra   c                óð   € \        V P                  R R4      pV'       g   R# \        P                  P	                  V4      pVf   R# \        VRR4      p\        V\        P                  4      '       d   V# R# )r]   Nr¾  )rö   rð   rD  Úmodulesr¤   rÉ   r×   r   )r‹   Úmodule_nameÚmoduler¾  s   &   rb   rÏ  Ú.UserFunctionVariable._lookup_tree_map_function<  s]   € Ü˜dŸg™g |°TÓ:ˆßÙÜ—‘—‘ Ó-ˆØŠ>ÙÜ˜6 :¨tÓ4ˆÜ�h¤× 2Ñ 2×3Ò3ØˆOÙra   c                óH   <€ V ^8„  d   QhRS[ RS[S[R3,          R,          /# )rf   Úselectorrg   .N)rF   r¸   rì   )rh   rv   s   "€rb   ri   rä  H  s+   ø€ ÷ /ñ /Ù'ð/á	‰t�SˆyÕ	˜DÕ	 ñ/ra   c                ób  € VP                  4       '       g   R #  VP                  4       pT P                  T4      pT'       g   R # \        ;QJ d    R T 4       F  '       d   K   RM	  RM! R T 4       4      '       g   R # \        \        P                  T4      4      #   \         d     R # i ; i)Nc              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5iry   )rÉ   rì   )r/  r¢  s   & rb   r1  ÚDUserFunctionVariable._extract_tree_map_only_types.<locals>.<genexpr>U  s   é € Ð>±I¨S”:˜c¤4×(Ð(³Iùs   ‚FT)Úis_python_constantr  rR  Ú_flatten_type_specÚallr¸   r˜   Úfromkeys)r‹   rß  Ú	raw_valueÚ	flatteneds   &&  rb   rÎ  Ú1UserFunctionVariable._extract_tree_map_only_typesH  s�   € ð ×*Ñ*×,Ò,Ùð	Ø ×3Ñ3Ó5ˆIð ×+Ñ+¨IÓ6ˆ	ßÙß‹sÑ>±IÓ>�s�sŠsÑ>±IÓ>×>Ò>ÙÜ”T—]‘] 9Ó-Ó.Ð.øô #ô 	Úð	ús   šB ÂB.Â-B.c                óD   <€ V ^8„  d   QhRS[ RS[S[,          R,          /# )rf   râ  rg   N)r   r¹   rì   )rh   rv   s   "€rb   ri   rä  Y  s$   ø€ ÷ ñ ©ð ±±Tµ
¸TÕ0Añ ra   c                ó°  € \        V\        4      '       d   V.# \        V\        4      '       d7   . pV F,  pV P                  V4      pVf    R # VP	                  V4       K.  	  V# \        \        RR 4      pVe\   \        W4      '       dK   . p\        P                  ! V4       F,  pV P                  V4      pVf    R # VP	                  V4       K.  	  V# R # )NÚ	UnionType)	rÉ   rì   r¸   rä  Úextendrö   r×   ÚtypingÚget_args)r‹   râ  Ú	collectedÚentryÚflatÚ
union_types   &&    rb   rä  Ú'UserFunctionVariable._flatten_type_specY  sÇ   € Ü�eœT×"Ò"Ø�7ˆNÜ�eœU×#Ò#Ø$&ˆIÛ�Ø×.Ñ.¨uÓ5�Ø’<ÚØ× Ñ  Ö&ñ	 ð
 ÐÜœU K°Ó6ˆ
ØÒ!¤j°×&CÒ&CØˆIÜŸš¨Ö/�Ø×.Ñ.¨uÓ5�Ø’<ÚØ× Ñ  Ö&ñ	 0ð
 ÐÙra   )rð   rà  >   Úoptreeú
optree.opsútorch.utils._pytreeútorch.utils._cxx_pytree©F)/r\   r]   r^   r_   r¦  r×   r   Ú_cpython_typerú   Ú_nonvar_fieldsÚ	frozensetrÀ  Úclassmethodrë  rò  r�   r  r  r  r  re  r2  r  r`  rS  rÕ  r  rL  rS  rW  r?   rÙ  rB   rÚ  rn  rÃ  r›  r«  r¬  rÉ  rª  rÏ  rÎ  rä  r`   rŸ   rÜ  rÝ  s   @@rb   rß  rß  f  sú  ù‡ € Ù7ð ×&Ñ&€Mð 	Øðð 
"×	0Ñ	0ð€Nñ "ò	
óÐð ÷)ó ð)÷ð ÷õ ÷>,ó ,ò
÷6ó 6÷
ð ÷ð ÷ ð  ÷"ð "÷>ð >÷#ð #÷ð ÷ð ÷Cð C÷NBð B÷
Fð Fð 	‘6˜/¨4Ó0Ø‘FÑFÓGØ™ÑNÓOØ‘FÑFÓGØ™ÑNÓOØ™&Ñ!RÓSØ™6Ñ"TÓUØ™6Ñ"TÓUð	€Ið 	‘6ÑDÓEØ‘fÑJÓKØ‘vÑLÓMð€J÷
Vð 
V÷7ó 7÷B5ð 5÷n
ð 
÷
ð 
÷
ð 
÷$Kð $K÷L
ð 
÷/ð /÷"÷ ð ra   rß  c                   óB   a a€ ] tR tRt oRtV3R lV 3R lltRtVtV ;t# )ÚInspectSignatureVariableip  a£  
Variable tracker for inspect.signature with caching support.

inspect.Signature is expensive to trace. When inspect.signature is called
repeatedly on the same function during tracing, we cache the result to avoid
retracing the signature construction each time. Although this is different
from CPython behavior, it is safe to do so because inspect.signature does
not change across different calls to the same function.
c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   Ú%InspectSignatureVariable.__annotate__{  sB   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7ra   c                óŒ  <€ \        V4      ^8X  d¥   V'       g�   V^ ,          pRp\        V\        \        34      '       d   VP	                  4       pVeb   WQP
                  P                  9   d   VP
                  P                  V,          # \        SV `!  WV4      pWaP
                  P                  V&   V# \        SV `!  WV4      # )rý   N)	rš   rÉ   rß  r8  re  rÚ   Úsignature_cacher*  rÃ  )r‹   rª   r¬   r­   Ú
target_argÚ	cache_keyrÎ   r+  s   &&&&   €rb   rÃ  Ú&InspectSignatureVariable.call_function{  s§   ø€ ô ˆt‹9˜Œ>§&Ø˜a�ˆJØˆIä˜*Ô';Ô=OÐ&P×QÒQØ&×3Ñ3Ó5�	àÒ$Ø§	¡	× 9Ñ 9Ô9ØŸ9™9×4Ñ4°YÕ?Ð?ä™Ñ.¨r¸Ó@�Ø7=—	‘	×)Ñ)¨)Ñ4Ø�ä‰wÑ$ R¨vÓ6Ð6ra   rZ   ©	r\   r]   r^   r_   r¦  rÃ  r`   rŸ   rÜ  rÝ  s   @@rb   rÿ  rÿ  p  s   ù‡ € ñ÷7÷ 7ó 7ra   rÿ  c                   ó’   a a€ ] tR tRt oR0]P
                  mtV3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 lt	Rt
VtV ;t# )rÐ  i”  rÓ  c                óD   <€ V ^8„  d   QhRS[ S[R3,          RS[RS[RR/# )rf   rÓ  .r·  r­   rg   N)r¸   rì   rF   r   )rh   rv   s   "€rb   ri   Ú(TreeMapOnlyFunctionVariable.__annotate__š  s<   ø€ ÷ ñ á™T 3˜YÕ'ðñ  ðñ ð	ð
 
ñra   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   )r*  r�   rÓ  r·  )r‹   rÓ  r·  r­   r+  s   &&&,€rb   r�   Ú$TreeMapOnlyFunctionVariable.__init__š  s    ø€ ô 	‰ÒÑ"˜6Ò"Ø*ÔØŽra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r
  ¤  ó   ø€ ÷ ñ ™Tñ ra   c                ó   € \         # ry   ru   r  s   &rb   r  Ú'TreeMapOnlyFunctionVariable.python_type¤  ó   € ÜÐra   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rf   Únoderg   ©rF   r]  )rh   rv   s   "€rb   ri   r
  §  s   ø€ ÷ Uñ U©/ð U¹dñ Ura   c                óæ   a€  VP                  4       o\        ;QJ d)    T3R lT P                   4       F  '       g   K   R# 	  R # ! T3R lT P                   4       4      #   \         d     R # i ; i)Fc              3   ó<   <"  € T F  p\        SV4      x € K  	  R # 5iry   )Ú
issubclass)r/  ÚallowedÚ	node_types   & €rb   r1  ÚDTreeMapOnlyFunctionVariable._matches_allowed_type.<locals>.<genexpr>¬  s   øé € ÐTÑAS°g”:˜i¨×1Ð1ÓASùs   ƒT)r  rR  r4  rÓ  )r‹   r  r  s   &&@rb   Ú_matches_allowed_typeÚ1TreeMapOnlyFunctionVariable._matches_allowed_type§  sa   ø€ ð	Ø×(Ñ(Ó*ˆI÷ ‹sÔTÀ×ASÒASÓT�sŒsÐTŠsÐTˆsÔTÀ×ASÒASÓTÓTÐTøô #ô 	Úð	ús   ƒA! Á!A0Á/A0c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r
  ®  sB   ø€ ÷ ñ à'ðñ ‘?Õ#ðñ ‘S™/Ð)Õ*ð	ñ
 
ñra   c                ó.  € V'       g   V P                   P                  WV4      # V^ ,          pV P                  V4      '       d   V P                   P                  WV4      # \        V4      ^8w  g	   V'       d   V P                   P                  WV4      # V# rK  )r·  rÃ  r  rš   )r‹   rª   r¬   r­   Úleafs   &&&& rb   rÃ  Ú)TreeMapOnlyFunctionVariable.call_function®  sz   € ÷ Ø—;‘;×,Ñ,¨R°vÓ>Ð>Ø�A�wˆØ×%Ñ% d×+Ò+Ø—;‘;×,Ñ,¨R°vÓ>Ð>Üˆt‹9˜Œ>ŸVð —;‘;×,Ñ,¨R°vÓ>Ð>Øˆra   )rÓ  r·  )r\   r]   r^   r_   rú   rû  r�   r  r  rÃ  r`   rŸ   rÜ  rÝ  s   @@rb   rÐ  rÐ  ”  sL   ù‡ € àðà	!×	0Ñ	0ð€N÷
ó ÷ð ÷Uð U÷÷ ð ra   rÐ  c                   ób  a a€ ] tR tRt o]P
                  tV3R lV 3R lltV3R lR ltV3R lR lt	V3R lR	 lt
V3R
 lR ltV3R lR ltV3R lR lt V3R lR lt]tV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R  lR! ltV3R" lR# ltV3R$ lR% ltV3R& lR' ltV3R( lR) ltV3R* lR+ ltV3R, lR- ltV3R. lR/ ltV3R0 lR1 ltV3R2 lR3 ltV3R4 lR5 lt V3R6 lR7 lt!R8]"! ]4      R9]"! ]4      R:]"! ]!4      /t#R;t$Vt%V ;t&# )<ÚLocalGeneratorObjectVariableiÀ  c          
      ó^   <€ V ^8„  d   QhRS[ P                  RS[S[S[3,          RRRS[RR/# )rf   rŒ   râ   Úinline_tracerrL   r­   rg   N)r×   rØ   r˜   r®   r   )rh   rv   s   "€rb   ri   Ú)LocalGeneratorObjectVariable.__annotate__Ä  sJ   ø€ ÷ 3ñ 3á�n‰nð3ñ ™™S˜•>ð3ð @ð	3ñ
 ð3ð 
ñ3ra   c                ó�   <€ \         SV `  ! R/ VB  Wn        W n        W0n        . V n        VP                  P                  V 4       R # r“   )r*  r�   rŒ   râ   r$  Úremaining_itemsrÚ   Útrack_generator)r‹   rŒ   râ   r$  r­   r+  s   &&&&,€rb   r�   Ú%LocalGeneratorObjectVariable.__init__Ä  sA   ø€ ô 	‰ÒÑ"˜6Ò"ØŒ	Ø"ŒØ*ÔØ68ˆÔØ×Ñ×,Ñ,¨TÖ2ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rW  )rh   rv   s   "€rb   ri   r%  Ò  s   ø€ ÷ ñ ™%Ÿ.™.ñ ra   c                ó   € V P                   # ry   )rŒ   r  s   &rb   r2  Ú%LocalGeneratorObjectVariable.get_codeÒ  ó   € Ø�y‰yÐra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r%  Õ  r/  ra   c                ó6   € V P                  4       P                  # ry   r1  r  s   &rb   r4  Ú)LocalGeneratorObjectVariable.get_filenameÕ  r6  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r%  Ø  r8  ra   c                ó6   € V P                  4       P                  # ry   r:  r  s   &rb   r<  Ú%LocalGeneratorObjectVariable.get_nameØ  r>  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r   )rh   rv   s   "€rb   ri   r%  Û  s   ø€ ÷ 2ñ 2™eñ 2ra   c                ó   € \        R 4      h©re  rQ  r  s   &rb   re  Ú)LocalGeneratorObjectVariable.get_functionÛ  s   € Ü! .Ó1Ð1ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   r%  Þ  ó   ø€ ÷ ñ ™$ñ ra   c                ó   € R # rù  rZ   r  s   &rb   r`  Ú%LocalGeneratorObjectVariable.has_selfÞ  ó   € Ùra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r%  á  s   ø€ ÷ ñ ™#ñ ra   c                ó"   € V P                  4       # ry   )r<  r  s   &rb   r\   Ú%LocalGeneratorObjectVariable.__name__á  s   € Ø�}‰}‹Ðra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r%  ä  s   ø€ ÷ ?ñ ?™ñ ?ra   c                óV   € V P                   P                   R V P                  4        R2# )Ú(rx  )r+  r\   r<  r  s   &rb   Ú__str__Ú$LocalGeneratorObjectVariable.__str__ä  s'   € Ø—.‘.×)Ñ)Ð*¨!¨D¯M©M«OÐ+<¸AÐ>Ð>ra   c                ó"   <€ V ^8„  d   QhRRRR/# ©rf   r
  rK   rg   NrZ   )rh   rv   s   "€rb   ri   r%  é  s   ø€ ÷ Vñ V ;ð V°4ñ Vra   c                óú  € ^ RI Hp ^ RIHpHp VP
                  pV! V4      pV! V4      pV! V4      pT;_uu_ 4        T;_uu_ 4        T;_uu_ 4        V P                  4       '       g   \        WP4      V n        \        P                  ! V P                  4      P                  V4       RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)rç   )Ú"disallow_side_effects_in_generator)Ú save_and_restart_speculation_logÚ(temporarely_allow_writes_to_output_graphN)Útorch._dynamo.side_effectsrH  Útorch._dynamo.symbolic_convertrI  rJ  rª   Ú_frame_state_finishedr<   r'  r   ÚListIteratorVariableÚreconstruct)	r‹   r
  rH  rI  rJ  rª   ÚsaveÚdisallowÚtemps	   &&       rb   rO  Ú(LocalGeneratorObjectVariable.reconstructé  s—   € ÝQ÷	
ð
 �Z‰ZˆÙ/°Ó3ˆÙ5°bÓ9ˆÙ7¸Ó;ˆçŠT—8’8ŸTšTØ×-Ñ-×/Ò/Ü'6°rÓ'@�Ô$Ü×*Ò*¨4×+?Ñ+?Ó@×LÑLÈWÔU÷ "—8�T‰TŸTŸTú—8—8ú�T�TˆTús<   ½C)ÁC	ÁACÂ)C	Â1C)ÃCÃC	ÃC&Ã!C)Ã)C:	c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# re   rÏ   )rh   rv   s   "€rb   ri   r%  ú  ó   ø€ ÷ ñ ™T¡#¡s (�^ñ ra   c                ó   € V P                   # ry   ©râ   r  s   &rb   rS  Ú(LocalGeneratorObjectVariable.get_globalsú  ó   € Ø�~‰~Ðra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r%  ý  s   ø€ ÷ #ñ #™Tñ #ra   c                ó"   € \         P                  # ry   )r×   ÚGeneratorTyper  s   &rb   r  Ú(LocalGeneratorObjectVariable.python_typeý  s   € Ü×"Ñ"Ð"ra   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# )rf   rª   rN   r  r  rg   )rF   r®   )rh   rv   s   "€rb   ri   r%     s-   ø€ ÷ 7ñ 7Ø-ð7Ù6Eð7ÙKNð7á	ñ7ra   c                ó    € ^RI Hp V! WW#4      # rü   rÿ   r  s   &&&& rb   r  Ú0LocalGeneratorObjectVariable.tp_richcompare_impl   s   € õ
 	8á! $¨EÓ6Ð6ra   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r  rn  )rh   rv   s   "€rb   ri   r%  	  s   ø€ ÷ ñ ™/¨DÕ0ñ ra   c                óÆ   € V P                   P                  \        P                  8X  d8   \        P
                  R8¼  d   RpMRpV P                   P                  V,          # R# )rA  N)rA  é   rz  éÿÿÿÿ)r$  Úframe_stater4   ÚFRAME_SUSPENDED_YIELD_FROMrD  rE  Ústack)r‹   Úinds   & rb   Úpygen_yfÚ%LocalGeneratorObjectVariable.pygen_yf	  sN   € Ø×Ñ×)Ñ)¬Z×-RÑ-RÔRÜ×Ñ 7Ô*Ø‘à�Ø×%Ñ%×+Ñ+¨CÕ0Ð0Ùra   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# ©rf   rª   rN   rœ  Úexcrg   r  )rh   rv   s   "€rb   ri   r%    s9   ø€ ÷ Xñ Xà'ðXñ ðXñ ð	Xñ
 
ñXra   c           	     ó  € V P                   pVP                  \        P                  8X  d#   VP	                  4       '       g   \        VR 4       VP                  \        P                  8X  d   \        VR4       V P                  4       '       d   \        \        V4       \        P                  Vn         VP                  V4       V P                   P                  4       ;_uu_ 4        V'       d   V P                  4        VP                  4       uuRRR4       #   + '       g   i     R# ; i  \         dé    TP                  \        P                  8H  p\        P                   Tn        \"        P$                  R8  d    T'       d˜   TP&                  P)                  4       p\*        P,                  ! T\.        4      P1                  T\*        P,                  ! TR4      ./ 4      pTP3                  TR\4        P6                  ! R4      T./ 4       TP9                  Yv4       h \:         d    \        P<                  Tn        h \>         d-    \A        RRRR	\B         R
2.\D        PF                  OR7        R# \H         d‚   p\J        PL                  PN                  PQ                  T PS                  4       4       RTn*        TPV                  '       g,   TPX                  '       g   T;PZ                  R,          un-        h Rp?ii ; i)z5can't send non-None value to a just-started generatorzgenerator already executingNzgenerator raised StopIterationr#  Ú__context__zinfinite generator detectedÚ z}Dynamo traced the YIELD_VALUE bytecode too many times. This could mean that we have attempted to trace an infinite generator.zLIf you are sure that your generator is not infinite, please report a bug at Ú.rú  TzA

Skipping frame due to graph break in a generator's next() call.)rA  é   ).r$  re  r4   ÚFRAME_CREATEDÚis_constant_noner!   ÚFRAME_EXECUTINGr"   rM  r    ÚStopIterationÚpushÚlink_gi_exc_stateÚthrow_pendingÚinline_call_r   ÚFRAME_COMPLETEDrD  rE  Úexn_vt_stackÚget_raised_exceptionrF   rÊ   r�  rÃ  r)  rH   rÌ   Údo_raiser   ÚFRAME_CLEAREDr   r$   ÚPT2_ISSUE_TRACKER_URLr   rŽ  r%   rk   r}  Ú
eval_frameÚ	skip_coder2  Ú
skip_frameÚ	one_graphrs  r£  )	r‹   rª   rœ  rm  ÚtracerÚwas_executingÚprevÚrtr   s	   &&&&     rb   Úgen_send_ex2Ú)LocalGeneratorObjectVariable.gen_send_ex2  sa  € ð ×#Ñ#ˆð ×Ñ¤*×":Ñ":Ô:Ø×(Ñ(×*Ò*äØØGôð
 ×Ñ¤×!;Ñ!;Ô;Ü˜bÐ"?Ô@à×%Ñ%×'Ò'Ü$¤]°BÔ7ä'×7Ñ7ˆÔð>	ð �K‰K˜ÔØ×#Ñ#×5Ñ5×7Õ7ßØ×&Ñ&Ô(Ø×*Ñ*Ó,÷ 8×7×7Ó7ûô )ô 	ð #×.Ñ.´*×2LÑ2LÑLˆMÜ!+×!;Ñ!;ˆFÔÜ×Ñ 'Ô)¯mð ×*Ñ*×?Ñ?ÓA�Ü$×*Ò*¨2¬|Ó<×JÑJØÜ$×*Ò*¨2Ð/OÓPÐQØó�ð
 —‘ØØ!Ü%×,Ò,¨]Ó;¸TÐBØô	ð —‘˜BÔ%ØÜ ô 	ô ",×!9Ñ!9ˆFÔØÜ%ô 	äØ5ØðIð cÔcxÐbyÐyzÐ{ðä&×1Ñ1ð÷	ð 	ô ô 	Ü�M‰M×$Ñ$×.Ñ.¨t¯}©}«Ô?ØˆAŒLØ—<—<�<¨×(?×(?Ð(?Ø—’Ð^Õ^•Øûð	ús]   Â53D/ Ã((DÄ
D/ ÄD,	Ä&D/ Ä,D/ Ä/ALÆ	B LÈ*LÉ
)LÉ6LÉ?LÊ A!K<Ë"K<Ë<Lc                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# rl  r  )rh   rv   s   "€rb   ri   r%  l  s9   ø€ ÷ Kñ Kà'ðKñ ðKñ ð	Kñ
 
ñKra   c                óÎ   € V P                  WV4      pV P                  4       '       d   V# VP                  4       '       d   \        \        V4       R# \        \        W.R 7       R# r´  )r‰  Ú_frame_state_suspendedrt  r    rv  )r‹   rª   rœ  rm  rÎ   s   &&&& rb   Úgen_send_exÚ(LocalGeneratorObjectVariable.gen_send_exl  sQ   € ð ×"Ñ" 2¨CÓ0ˆØ×&Ñ&×(Ò(àˆMð ×&Ñ&×(Ò(Ü(¬¸Ö;ä(¬¸À×Jra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r%  ‚  s    ø€ ÷ Kñ KÐ#>ð KÁ?ñ Kra   c                óP   € V P                  V\        P                  ! R 4      R4      # )NF)r‰  rH   rÌ   r  s   &&rb   Útp_iternext_implÚ-LocalGeneratorObjectVariable.tp_iternext_impl‚  s#   € à× Ñ  Ô%5×%<Ò%<¸TÓ%BÀEÓJÐJra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  rÆ  )rh   rv   s   "€rb   ri   r%  †  s%   ø€ ÷ .ñ .Ø-ð.Ù58ð.á	ñ.ra   c                ó–   € W P                  4       P                  9   d   \        P                  ! R 4      # \        P                  ! R4      # ©TF)r  r¤  rH   rÌ   r·  s   &&&rb   rË  Ú-LocalGeneratorObjectVariable.call_obj_hasattr†  s;   € ð ×#Ñ#Ó%×.Ñ.Ô.Ü#×*Ò*¨4Ó0Ð0Ü×&Ò& uÓ-Ð-ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r%  �  s   ø€ ÷ ñ Ð:ð ¹ñ ra   c                ó   € V # ry   rZ   r  s   &&rb   Útp_iter_implÚ)LocalGeneratorObjectVariable.tp_iter_impl�  s   € àˆra   c                ó.   <€ V ^8„  d   QhRS[ R,          /# )rf   rg   F)r   )rh   rv   s   "€rb   ri   r%  ’  s   ø€ ÷ ñ ±'¸%µ.ñ ra   c                ó   € R # rù  rZ   r  s   &rb   rÕ  Ú=LocalGeneratorObjectVariable.should_allow_nested_graph_breaks’  r<  ra   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )rf   rª   rN   rm  rg   Nrn  )rh   rv   s   "€rb   ri   r%  •  s*   ø€ ÷ Bñ BØ-ðBÙ4CðBà	ñBra   c                ó  € ^ RI HpHp \        W#V34      '       g   \	        RVP                  4        24      hVP                  V4      p\        WT4      '       g   \        RV 24      hV P                  P                  P                  V4       R# )rç   )ÚExceptionTypesÚExceptionValsz,Expected an exception type or instance, got z$Expected an exception variable, got N)rL  r¡  r¢  rÉ   r@  Úpython_type_nameÚ_create_exception_instancerë   r$  r|  Úset_raised_exception)r‹   rª   rm  r¡  r¢  rÅ   s   &&&   rb   Ú_setup_exceptionÚ-LocalGeneratorObjectVariable._setup_exception•  s…   € ÷ 	Qô ˜#°Ð>×?Ò?ÜØ>¸s×?SÑ?SÓ?UÐ>VÐWóð ð ×+Ñ+¨CÓ0ˆÜ˜#×-Ò-Ü Ð#GÈÀuÐ!MÓNÐNØ×Ñ×'Ñ'×<Ñ<¸SÖAra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   r%  ¥  s   ø€ ÷ Jñ J¡dñ Jra   c                óP   € V P                   P                  \        P                  8H  # ry   )r$  re  r4   rs  r  s   &rb   Ú_frame_state_createdÚ1LocalGeneratorObjectVariable._frame_state_created¥  s   € Ø×!Ñ!×-Ñ-´×1IÑ1IÑIÐIra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   r%  ¨  r¼  ra   c                óp   € V P                   P                  \        P                  \        P                  09   # ry   )r$  re  r4   r{  r  r  s   &rb   rM  Ú2LocalGeneratorObjectVariable._frame_state_finished¨  s2   € Ø×!Ñ!×-Ñ-Ü×&Ñ&Ü×$Ñ$ð2
ñ 
ð 	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   r%  ®  s   ø€ ÷ 
ñ 
©ñ 
ra   c                óp   € V P                   P                  \        P                  \        P                  09   # ry   )r$  re  r4   ÚFRAME_SUSPENDEDrf  r  s   &rb   r�  Ú3LocalGeneratorObjectVariable._frame_state_suspended®  s2   € Ø×!Ñ!×-Ñ-Ü×&Ñ&Ü×1Ñ1ð2
ñ 
ð 	
ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r%  ´  sB   ø€ ÷ 	4ñ 	4à'ð	4ñ ‘?Õ#ð	4ñ ‘S™/Ð)Õ*ð		4ñ
 
ñ	4ra   c                ó4   € V P                  W^ ,          R4      # )rç   F)rŽ  rÂ  s   &&&&rb   Úgen_sendÚ%LocalGeneratorObjectVariable.gen_send´  s   € ð ×Ñ ¨¥G¨UÓ3Ð3ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r%  ¿  sH   ø€ ÷ B-ñ B-à'ðB-ñ ‘?Õ#ðB-ñ ‘S™/Ð)Õ*ð	B-ñ
 
ñB-ra   c                ód  € V P                   pV P                  4       '       d,   \        P                  Vn        \
        P                  ! R 4      # V P                  4       '       d   \
        P                  ! R 4      # RpV P                  4       pV'       dF   VP                  \        P                  4      ;_uu_ 4         VP                  VR. / 4       R R R 4       VRJ d,   V P                  V\        P                  ! V\         4      4        V P#                  V\
        P                  ! R 4      R4       \%        \&        VR.R7       \
        P                  ! R 4      #   \         d    Rp L™i ; i  + '       g   i     L¥; i  \(         d(   pR Tn        \
        P                  ! R 4      u R p?# R p?i\,         dt    TP.                  P1                  4       p\3        T\4        P6                  4      '       g   \9        RT 24      R hTP:                  '       d   TP:                  ^ ,          u #  Léi ; i)NFÚcloseTzgenerator ignored GeneratorExitrµ  z;Expected current exception to be an ExceptionVariable, got )r$  rª  r4   r{  re  rH   rÌ   rM  ri  Útemporarily_set_frame_stateru  r)  r   r¦  rF   rÊ   ÚGeneratorExitrŽ  r    r�  r   Ú__traceback__r   r|  r}  rÉ   r   ÚExceptionVariablerë   r¬   )	r‹   rª   r¬   r­   r…  ÚerrÚyfr   Úcurr_excs	   &&&&     rb   Ú	gen_closeÚ&LocalGeneratorObjectVariable.gen_close¿  sÎ  € ð& ×#Ñ#ˆØ×$Ñ$×&Ò&Ü!+×!;Ñ!;ˆFÔÜ#×*Ò*¨4Ó0Ð0à×%Ñ%×'Ò'Ü#×*Ò*¨4Ó0Ð0àˆØ�]‰]‹_ˆßØ×3Ñ3´J×4NÑ4N×OÕOðØ—N‘N 2 w°°BÔ7÷ Pð �%‹<Ø×!Ñ! "¤o×&;Ò&;¸BÄÓ&NÔOð	Ø×Ñ˜RÔ!1×!8Ò!8¸Ó!>ÀÔEô* %ÜØØ7Ð8õô
  ×&Ò& tÓ,Ð,øôC )ô Ø’Cðú÷ P×Oûô %ô 	1ð
 #ˆAŒOÜ#×*Ò*¨4Ó0Õ0ûÜ(ô 
	(ð ×*Ñ*×?Ñ?ÓAˆHÜ˜h¬	×(CÑ(C×DÒDä$ØQÐRZÐQ[Ð\óàðð �}�}ˆ}Ø—}‘} QÕ'Ò'ñ ð
	(ús[   Â;E.Â=EÄ'F ÅE+Å(E.Å*E+Å+E.Å.E>	ÆH/ÆF.Æ(H/Æ.H/Æ;AH/ÈH/È.H/c                ó   <€ V ^8„  d   QhRR/# r  rZ   )rh   rv   s   "€rb   ri   r%    s   ø€ ÷ +ñ +˜tñ +ra   c                ó  € V P                   pVP                  P                  4       p\        VP	                  4       4      ! 4       p\
        P                  ! WP                  4      pVP                  WB4       VP                  V4       R # ry   )
r$  r|  r}  r   r  rF   rÊ   Úexc_typeÚset_exception_objÚexception_handler)r‹   r…  rÀ  ÚobservedÚ	curr_types   &    rb   ry  Ú*LocalGeneratorObjectVariable.throw_pending  si   € Ø×#Ñ#ˆØ×&Ñ&×;Ñ;Ó=ˆÜ0°×1EÑ1EÓ1GÔHÓJˆÜ#×)Ò)¨&×2CÑ2CÓDˆ	Ø× Ñ  Ô5Ø× Ñ  Ö*ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r%    sB   ø€ ÷ &ñ &à'ð&ñ ‘?Õ#ð&ñ ‘S™/Ð)Õ*ð	&ñ
 
ñ&ra   c                ó  a aa€ VV V3R  lp^ RI Hp \        V4      ^8”  d
   V^,          MV^ ,          oS P                  4       pS P                  pV'       d¨   V! S\
        4      '       dM    VP                  \        P                  4      ;_uu_ 4        VP                  SR. / 4       RRR4       V! 4       #  VP                  \        P                  4      ;_uu_ 4        VP                  SRS./ 4      uuRRR4       # V! 4       #   + '       g   i     T! 4       # ; i  \         d
     T! 4       # i ; i  + '       g   i     T! 4       # ; i  \         d+    S P                  S\        P                  ! R4      R4      u # i ; i)c                  óv   <€ SP                  SS 4       SP                  S\        P                  ! R 4      R4      # )NT)r¦  rŽ  rH   rÌ   )rœ  r‹   rª   s   €€€rb   Ú
throw_hereÚ:LocalGeneratorObjectVariable.gen_throw.<locals>.throw_here  s4   ø€ Ø×!Ñ! " cÔ*Ø×#Ñ# BÔ(8×(?Ò(?ÀÓ(EÀtÓLÐLra   )Úpyerr_given_exception_matchr¹  NÚthrowT)rL  rÐ  rš   ri  r$  r»  rº  r4   ru  r)  r   rŽ  rH   rÌ   )	r‹   rª   r¬   r­   rÎ  rÐ  r¿  r…  rœ  s	   ff&&    @rb   Ú	gen_throwÚ&LocalGeneratorObjectVariable.gen_throw  sF  ú€ ÷	Mõ 	Oä˜T› Qœˆd�1Žg¨D°­GˆØ�]‰]‹_ˆØ×#Ñ#ˆçá*¨3´×>Ò>ðà×;Ñ;¼J×<VÑ<V×WÕWØŸ™ r¨7°B¸Ô;÷ Xñ "“|Ð#ðQØ×7Ñ7¼
×8RÑ8R×SÕSØŸ>™>¨"¨g¸°u¸bÓA÷ TÒSñ
 ‹|Ð÷ XÖWñ "“|Ð#ûô )ô ØÙ!“|Ð#ðú÷
 TÖSñ
 ‹|Ðûô %ô QØ×'Ñ'¨Ô,<×,CÒ,CÀDÓ,IÈ4ÓPÒPðQús`   Á,'D ÂDÂ(D Â8'E ÃD6Ã4
E ÄD	ÄD ÄD ÄD3Ä2D3Ä6E	ÅE ÅE Å2FÆFÚsendr¹  rÑ  )rŒ   râ   r$  r'  )'r\   r]   r^   r_   r×   r\  rú  r�   r2  r4  r<  re  r`  rC  Ú__repr__rO  rS  r  r  ri  r‰  rŽ  r’  rË  rš  rÕ  r¦  rª  rM  r�  rµ  rÁ  ry  rÒ  rC   Ú
tp_methodsr`   rŸ   rÜ  rÝ  s   @@rb   r"  r"  À  s_  ù‡ € à×'Ñ'€M÷3ó 3÷ð ÷+ð +÷'ð '÷2ð 2÷ð ÷ð ÷?ð ?ð €H÷Vð V÷"ð ÷#ð #÷7ð 7÷ð ÷Xð X÷tKð K÷,Kð K÷.ð .÷ð ÷
ð ÷Bð B÷ Jð J÷
ð 
÷
ð 
÷	4ð 	4÷B-ð B-÷H+ð +÷&ð &ðR 	‘�xÓ Ø‘˜	Ó"Ø‘˜	Ó"ð‡J€Jra   r"  c                   ó   € ] tR tRtRtRtR# )Ú4ContextlibContextManagerLocalGeneratorObjectVariablei:  zâ
.. note::

    This is only used when the function is annotated with @contextlib.contextmanager

    It is a special case of a generator function as we do not allow return a context manager
    from a torch.compile function.
rZ   N)r\   r]   r^   r_   r¦  r`   rZ   ra   rb   rØ  rØ  :  s   † õra   rØ  c                   óÚ   a a€ ] tR tRt oRtV3R lR ltR]/V3R lV 3R llltV3R lR	 ltV3R
 lR lt	V3R lR lt
V3R lR ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚLocalGeneratorFunctionVariableiG  zlfunctions that behaves like iterators

.. note::

    This is a wrapper around (Nested)UserFunctionVariable
c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   Ú+LocalGeneratorFunctionVariable.__annotate__O  r  ra   c                ó"   € \         P                  # ry   rc  r  s   &rb   r  Ú*LocalGeneratorFunctionVariable.python_typeO  r   ra   Úgenerator_clsc                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# )rf   Úvtrß  r­   rg   N)rú   rì   r   )rh   rv   s   "€rb   ri   rÜ  R  s3   ø€ ÷ 	+ñ 	+á$ð	+ñ ð		+ñ
 ð	+ð 
ñ	+ra   c               ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   )r*  r�   rá  rß  )r‹   rá  rß  r­   r+  s   &&$,€rb   r�   Ú'LocalGeneratorFunctionVariable.__init__R  s    ø€ ô 	‰ÒÑ"˜6Ò"ØŒØ*Öra   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rf   r»   rg   ©r®   r   )rh   rv   s   "€rb   ri   rÜ  ]  s   ø€ ÷ &ñ &¡ð &©ñ &ra   c                óx   € WP                   P                  9   d   \        W4      # \        V P                  V4      # ry   )r+  r¤  rö   rá  )r‹   r»   s   &&rb   Ú__getattr__Ú*LocalGeneratorFunctionVariable.__getattr__]  s.   € Ø—>‘>×*Ñ*Ô*Ü˜4Ó&Ð&Ü�t—w‘w Ó%Ð%ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rW  )rh   rv   s   "€rb   ri   rÜ  c  rX  ra   c                ó6   € V P                   P                  4       # ry   )rá  r2  r  s   &rb   r2  Ú'LocalGeneratorFunctionVariable.get_codec  ó   € Ø�w‰w×ÑÓ!Ð!ra   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# re   rÏ   )rh   rv   s   "€rb   ri   rÜ  f  s   ø€ ÷ %ñ %™T¡#¡s (�^ñ %ra   c                ó6   € V P                   P                  4       # ry   )rá  rS  r  s   &rb   rS  Ú*LocalGeneratorFunctionVariable.get_globalsf  s   € Ø�w‰w×"Ñ"Ó$Ð$ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rÜ  i  r^  ra   c                ó6   € V P                   P                  4       # ry   )rá  r`  r  s   &rb   r`  Ú'LocalGeneratorFunctionVariable.has_selfi  rì  ra   c                óT   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RR/# )rf   rª   rN   r¬   r­   rg   rM   r¼  )rh   rv   s   "€rb   ri   rÜ  l  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ð
 
)ñ
ra   c                ó8   € ^ RI Hp VP                  ! VV VV4      # )rç   )rM   )rL  rM   Úbuild_inline_tracer)r‹   rª   r¬   r­   rM   s   &&&& rb   Ú_build_inline_tracerÚ3LocalGeneratorFunctionVariable._build_inline_tracerl  s'   € õ 	Qà,×@Ò@ØØØØó	
ð 	
ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rÜ  {  sB   ø€ ÷ &
ñ &
à'ð&
ñ ‘?Õ#ð&
ñ ‘S™/Ð)Õ*ð	&
ñ
 
ñ&
ra   c                ó„  € \        V P                  \        4      '       d3   \        R \	        V P                  4      R. \
        P                  OR7       \        V P                  P                  4       4      '       g3   \        R\	        V P                  P                  4       4      RRR.R7       V P                  V\        V4      V4      pV P                  P                  4       pV P                  P                  4       p\        P                  R8¼  d   VP                  4        V P                  VVVV P                   R7      # )	z*generator function over a skipped functionz�Cannot trace a generator whose underlying function is skipped by Dynamo (e.g. defined in a skip-listed module), since its body cannot be symbolically traced.rú  z'non-generator contextlib.contextmanagerzvCannot compile function decorated with `@contextlib.contextmanager` that is not a generator, i.e. does not use `yield`z5Use `yield` in the function body instead of `return`.z2Remove the `@contextlib.contextmanager` decorator.r  rB  )rÉ   rá  ÚSkipFunctionVariabler$   r®   r   ÚFUNDAMENTALr   r2  rö  r¹   rS  rD  rE  rz  rß  rÆ   )r‹   rª   r¬   r­   r$  rŒ   râ   s   &&&&   rb   rÃ  Ú,LocalGeneratorFunctionVariable.call_function{  s  € ô �d—g‘gÔ3×4Ò4ÜØDÜ˜DŸG™G›ðhà6Ô)×5Ñ5Ð6õô ˜DŸG™G×,Ñ,Ó.×/Ò/ÜØAÜ˜DŸG™G×,Ñ,Ó.Ó/ð.ð LØHðõ	ð ×1Ñ1°"´d¸4³jÀ&ÓIˆØ�w‰w×ÑÓ!ˆØ—G‘G×'Ñ'Ó)ˆ	ä×Ñ˜wÔ&Ø×&Ñ&Ô(à×!Ñ!ØØØØ—;‘;ð	 "ó 
ð 	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rî  )rh   rv   s   "€rb   ri   rÜ  £  s   ø€ ÷ 6ñ 6©fñ 6ra   c                ó6   € V P                   P                  4       # ry   )rá  r  r  s   &rb   r  Ú;LocalGeneratorFunctionVariable.get_real_python_backed_value£  s   € Ø�w‰w×3Ñ3Ó5Ð5ra   )rß  rá  )r\   r]   r^   r_   r¦  r  r"  r�   rç  r2  rS  r`  rö  rÃ  r  r`   rŸ   rÜ  rÝ  s   @@rb   rÚ  rÚ  G  st   ù‡ € ñ÷"ð "ð	+ð ;÷		+õ 	+÷&ð &÷"ð "÷%ð %÷"ð "÷
ð 
÷&
ð &
÷P6÷ 6ð 6ra   rÚ  c                   óB   a a€ ] tR tRt oRtV3R lV 3R lltRtVtV ;t# )Ú3FunctionDecoratedByContextlibContextManagerVariablei§  za
.. note::

    This is only used when the function is annotated with @contextlib.contextmanager
c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rf   rá  r­   rg   N)rú   r   )rh   rv   s   "€rb   ri   Ú@FunctionDecoratedByContextlibContextManagerVariable.__annotate__°  s#   ø€ ÷ 
ñ 
Ñ3ð 
¹sð 
Àtñ 
ra   c                ó6   <€ \         SV `  ! V3R \        /VB  R# )rß  N)r*  r�   rØ  )r‹   rá  r­   r+  s   &&,€rb   r�   Ú<FunctionDecoratedByContextlibContextManagerVariable.__init__°  s%   ø€ Ü‰ÒØñ	
äNð	
ð ô	
ra   rZ   )	r\   r]   r^   r_   r¦  r�   r`   rŸ   rÜ  rÝ  s   @@rb   r  r  §  s   ù‡ € ñ÷
÷ 
ó 
ra   r  c                   ó  a a€ ] tR tRt oRt]P                  tRV3R lV 3R llltV3R lR lt	V3R lR	 lt
V3R
 lR ltV3R lR ltV3R lV 3R lltV3R lR ltR]! ]! R 4      4      R]! ]R4      /tV3R lR ltRtVtV ;t# )r8  i¸  z$Some unsupported user-defined methodNc          
      óX   <€ V ^8„  d   QhRS[ RS[3,          RS[RS[R,          RS[RR/# )rf   rð   .rj  r9  Nr­   rg   )r   r   rF   r   )rh   rv   s   "€rb   ri   ÚUserMethodVariable.__annotate__¾  sQ   ø€ ÷ Jñ Já�S™#�XÕðJñ ðJñ ˜D•=ð	Jñ
 ðJð 
ñJra   c                óº   <€ \         SV `  ! RR V/VB  W n        W0n        Vf8   VP	                  R4      e#   \        VP	                  R4      R4      V n        R# R# R# )rð   NrÆ   Ú__func__rZ   )r*  r�   rj  r9  r¤   r(   )r‹   rð   rj  r9  r­   r+  s   &&&&,€rb   r�   ÚUserMethodVariable.__init__¾  sZ   ø€ ô 	‰ÒÑ)˜BÐ) &Ò)ØŒØ"Œð Ò §¡¨HÓ!5Ò!AÜ'¨¯
©
°8Ó(<¸jÓIˆDŽNñ "BÑra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r  ×  s   ø€ ÷ Cñ C™#ñ Cra   c                óh   € V P                   P                   R V P                   RV P                   R2# )rB  rw  rx  )r+  r\   rð   rj  r  s   &rb   rÕ  ÚUserMethodVariable.__repr__×  s.   € Ø—.‘.×)Ñ)Ð*¨!¨D¯G©G¨9°B°t·x±x°jÀÐBÐBra   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# rm  ©r¸   Úintr]  )rh   rv   s   "€rb   ri   r  Ú  s%   ø€ ÷ ñ Ð7ð ¹EÁ#ÁtÀ)Õ<Lñ ra   c                ó  € V P                   '       d3   VP                  P                  V P                   4      p\        V4      R 3# ^RIHp V! WP                  4      w  rE\        V P                  4      pWF,          pVR8X  d   RpWu3# )F)Úgeneric_hash_implrd  rz  )rÆ   rÚ   Úresolve_source_valueÚhashr   r  rj  rð   )r‹   rª   Úreal_valr  Ú	self_hashÚ	self_fakeÚ	func_hashÚhs   &&      rb   Ú	hash_implÚUserMethodVariable.hash_implÚ  sq   € ð �;�;ˆ;Ø—y‘y×5Ñ5°d·k±kÓBˆHÜ˜“> 5Ð(Ð(å6á0°·X±XÓ>Ñˆ	Ü˜Ÿ™“Mˆ	ØÕ!ˆØ�Œ7ØˆAØˆ|Ðra   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# re   r  )rh   rv   s   "€rb   ri   r  ê  ó   ø€ ÷ ñ ™4¡Õ0ñ ra   c                ó   € V P                   .# ry   ©rj  r  s   &rb   r  ÚUserMethodVariable.self_argsê  ó   € Ø—‘ˆzÐra   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# re   )rì   r×   Ú
MethodType)rh   rv   s   "€rb   ri   r  í  s   ø€ ÷  ñ  ™T¡%×"2Ñ"2Õ3ñ  ra   c                ó"   € \         P                  # ry   ©r×   r$  r  s   &rb   r  ÚUserMethodVariable.python_typeí  ó   € Ü×ÑÐra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r  ð  sH   ø€ ÷ B7ñ B7à'ðB7ñ ‘?Õ#ðB7ñ ‘S™/Ð)Õ*ð	B7ñ
 
ñB7ra   c                óŽ  <€ ^RI HpHp V! V P                  4      '       dk   . V P	                  4       OVOp\
        P                  ! V P                  \
        P                  P                  P                  R7      pVP                  WV4      # V! V P                  4      '       dk   . V P	                  4       OVOp\
        P                  ! V P                  \
        P                  P                  P                  R7      pVP                  WV4      # VP                  P                  4       '       d¼   \        V P                  \
        P                   4      '       d’   \#        V P                  RR4      pVe   VP%                  R4      '       d   VR8w  g   V P&                  '       dF   V P                  P)                  WP                  P*                  \-        V4      W0P&                  R7      # Mm\.        ef   V P                  \.        P0                  P2                  J d>   \
        P4                  ! V P                  4      P                  WP                  .VOV4      # V P&                  '       dP   \#        V P                  P6                  V P                  P*                  4      p	\9        WV P;                  4       W#4      # \<        S
V `)  WV4      # )rf   )Úis_leaf_functionÚis_nonstrict_trace_callablery  r]   rp  z	torch.nn.ztorch.nn.utils.parametrize)Úconstant)Útrace_rulesr+  r,  rð   r  r   r�  rk   r�  r‘  rÃ  ÚLEAF_FUNCTIONrÚ   Úis_root_tracerrÉ   rj  ÚNNModuleVariablerö   r.  rà  r)  r\   r¹   rJ   ÚFSDPParamGroupÚuse_training_stateÚTorchCtxManagerClassVariablerâ  r’  r<  r*  )r‹   rª   r¬   r­   r+  r,  Ú	call_argsÚvarÚmodule_attrrð   r+  s   &&&&      €rb   rÃ  Ú UserMethodVariable.call_functionð  s$  ø€ ÷ 	Pá& t§w¡w×/Ò/Ø2˜$Ÿ.™.Ó*Ð2¨TÐ2ˆIÜ×8Ò8Ø—‘œiŸo™o×>Ñ>×NÑNôˆCð ×$Ñ$ R°FÓ;Ð;á˜DŸG™G×$Ò$Ø2˜$Ÿ.™.Ó*Ð2¨TÐ2ˆIÜ×8Ò8Ø—‘œiŸo™o×>Ñ>×LÑLôˆCð ×$Ñ$ R°FÓ;Ð;ð �9‰9×#Ñ#×%Ò%¬*Ø�H‰H”i×0Ñ0÷+
ò +
ô " $§'¡'¨<¸Ó<ˆKð Ò'Ø×*Ñ*¨;×7Ò7ØÐ#?Ô?Ø×#×#Ð#à—x‘x×+Ñ+ØŸ™×(Ñ(¬$¨t«*°f×GWÑGWð ,ó ð ð $ô Ò)Ø—‘Ô,×;Ñ;×NÑNÓNä×9Ò9¸$¿'¹'ÓB×PÑPØ—X‘XÐ% Ð% vóð ð ××ÐÜ˜Ÿ™Ÿ™¨¯©×)9Ñ)9Ó:ˆBÜ/°¸¿¹»ÈÓVÐVÜ‰wÑ$ R¨vÓ6Ð6ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r  4  s    ø€ ÷ Bñ BÐ7ð B¹Oñ Bra   c                óX   € \         P                  ! WP                  V P                  4      # ry   )rF   rÊ   rð   r9  r  s   &&rb   Ú	_get_funcÚUserMethodVariable._get_func4  s   € ô ×$Ò$ R¯©°$·.±.ÓAÐAra   r#  c                ó   € V P                   # ry   r   ©r�  s   &rb   rŒ  ÚUserMethodVariable.<lambda>=  s   € °·²ra   r
  c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   r  A  s   ø€ ÷ ñ ©cñ ra   c                ó   € V P                   # ry   rñ  r  s   &rb   r  Ú/UserMethodVariable.get_real_python_backed_valueA  rô  ra   )rj  r9  ry   )r\   r]   r^   r_   r¦  r×   r$  rú  r�   rÕ  r  r  r  rÃ  r;  rB   rA   rÚ  r  r`   rŸ   rÜ  rÝ  s   @@rb   r8  r8  ¸  s—   ù‡ € Ù.ð ×$Ñ$€M÷Jõ J÷2Cð C÷ð ÷ ð ÷ ð  ÷B7ó B7÷HBð Bð 	‘F™;¡Ó7Ó8Ø‘F˜9 dÓ+ð€J÷
÷ ð ra   r8  c                   óh   a a€ ] tR tRt oV3R lV 3R lltV3R lV 3R lltV3R lR ltRtVtV ;t	# )	ÚWrappedUserMethodVariableiE  c                ó.   <€ V ^8„  d   QhRS[ RRRS[RR/# ©rf   Úwrappedrü  rO   r­   rg   N)r8  r   )rh   rv   s   "€rb   ri   Ú&WrappedUserMethodVariable.__annotate__F  s3   ø€ ÷ 
ñ 
á#ð
ð +ð
ñ ð	
ð
 
ñ
ra   c                ó´   <€ VP                  R R4       VP                  RR4       \        SV `  ! VP                  VP                  3/ VB  Wn        W n        R# )rð   Nrj  )r³   r*  r�   rð   rj  rG  rü  ©r‹   rG  rü  r­   r+  s   &&&,€rb   r�   Ú"WrappedUserMethodVariable.__init__F  sG   ø€ ð 	�
‰
�4˜ÔØ�
‰
�5˜$ÔÜ‰Ò˜Ÿ™ W§[¡[Ñ;°FÒ;ØŒØŽra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rH  R  óB   ø€ ÷ ñ à'ðñ ‘?Õ#ðñ ‘S™/Ð)Õ*ð	ñ
 
ñra   c                ób  <€ \         P                  '       dR   \        \        P                  4      pVP                  WP                  V P                  .\        V4      ,           V4      # V P                  P                  V4       \        SV `  WV4      pV P                  P                  V4       V# ry   ©r   Únested_graph_breaksrß  r   Ú_fn_with_ctxrÃ  rü  rG  r¹   Úenterr*  Úexit©r‹   rª   r¬   r­   Ú
wrapper_fnrÎ   r+  s   &&&&  €rb   rÃ  Ú'WrappedUserMethodVariable.call_functionR  ó‹   ø€ ô ×%×%Ð%Ü-¬i×.DÑ.DÓEˆJØ×+Ñ+Ø—\‘\ 4§<¡<Ð0´4¸³:Õ=¸vóð ð 	�‰×Ñ˜2ÔÜ‘Ñ& r°Ó8ˆØ�‰×Ñ˜"ÔØˆra   c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   rH  b  ó   ø€ ÷ >ñ > ;ð >°4ñ >ra   c                ó�   a a€ SP                  VV 3R  l4       S! S P                  4       SP                  \        ^R4      4       R# )c                  ó(   <€ S ! SP                   4      # ry   ©rü  ©r
  r‹   s   €€rb   rŒ  Ú7WrappedUserMethodVariable.reconstruct.<locals>.<lambda>c  ó   ø€ ¡g¨d¯l©lÔ&;ra   FN©Úadd_push_nullrG  Úextend_outputr   r	  s   ffrb   rO  Ú%WrappedUserMethodVariable.reconstructb  ó4   ù€ Ø×ÑÕ;Ô<Ù�—‘ÔØ×ÑÔ2°1°eÓ<Ö=ra   ©rü  rG  ©
r\   r]   r^   r_   r�   rÃ  rO  r`   rŸ   rÜ  rÝ  s   @@rb   rD  rD  E  ó(   ù‡ € ÷
ó 
÷ó ÷ >÷ >ð >ra   rD  c                   óh   a a€ ] tR tRt oV3R lV 3R lltV3R lV 3R lltV3R lR ltRtVtV ;t	# )	ÚWrappedUserFunctionVariableih  c                ó.   <€ V ^8„  d   QhRS[ RRRS[RR/# rF  )rß  r   )rh   rv   s   "€rb   ri   Ú(WrappedUserFunctionVariable.__annotate__i  s3   ø€ ÷ 	ñ 	á%ð	ð +ð	ñ ð		ð
 
ñ	ra   c                óz   <€ VP                  R R4       \        SV `  ! VP                  3/ VB  Wn        W n        R# )rð   N)r³   r*  r�   rð   rG  rü  rJ  s   &&&,€rb   r�   Ú$WrappedUserFunctionVariable.__init__i  s3   ø€ ð 	�
‰
�4˜ÔÜ‰Ò˜Ÿ™Ñ. vÒ.ØŒØŽra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rk  t  rM  ra   c                ób  <€ \         P                  '       dR   \        \        P                  4      pVP                  WP                  V P                  .\        V4      ,           V4      # V P                  P                  V4       \        SV `  WV4      pV P                  P                  V4       V# ry   rO  rT  s   &&&&  €rb   rÃ  Ú)WrappedUserFunctionVariable.call_functiont  rW  ra   c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   rk  „  rY  ra   c                ó�   a a€ SP                  VV 3R  l4       S! S P                  4       SP                  \        ^R4      4       R# )c                  ó(   <€ S ! SP                   4      # ry   r\  r]  s   €€rb   rŒ  Ú9WrappedUserFunctionVariable.reconstruct.<locals>.<lambda>…  r_  ra   FNr`  r	  s   ffrb   rO  Ú'WrappedUserFunctionVariable.reconstruct„  rd  ra   re  rf  rÝ  s   @@rb   ri  ri  h  s(   ù‡ € ÷	ó 	÷ó ÷ >÷ >ð >ra   ri  c                óª   € V ^8„  d   QhRRR\         R\        3,          R\        R\        \        ,          R\
        \        \        3,          R\        /# )	rf   rª   rN   rð   .r»   r¬   r­   rg   )r   r   r®   r¹   rF   r˜   )rh   s   "rb   ri   ri   Š  s\   € ÷ $ñ $Ø#ð$ä�”c�Õð$ô ð$ô ŒÕ
ð	$ô
 ””oÐ%Õ&ð$ô ñ$ra   c                 ó  a€ R  V3R llpV Uu. uF
  qe! V4      NK  	  ppVP                  4        UUu/ uF  w  rxWu! V4      bK  	  pppV! V/ VB p	V P                  P                  V	S\        S4      R7      # u upi u uppi )c                ó0   € V ^8„  d   QhR\         R\        /# )rf   Úxrg   ©rF   r   )rh   s   "rb   ri   Ú2invoke_and_store_as_constant.<locals>.__annotate__‘  s   € ÷ ñ ”?ð ¤sñ ra   c           
      óâ  <€ V P                  4       '       d   \        R V 4      P                  4       # \        V \        4      '       dC   V P
                  e)   \        V P                  \        P                  4      4       V P                  #  V P                  4       #   \         dI    \        RRS R\        T 4      P                   2R\        T 4      P                   RS R2RR	.R
7        R# i ; i)rT   Nz1assume_constant_result argument conversion failedz	function z, variable type z Cannot convert argument of type z# to a Python constant for function zm marked with torch._dynamo.assume_constant_result. The variable tracker does not support constant conversion.z>Remove torch._dynamo.assume_constant_result from this functionzIEnsure all arguments passed to the function can be converted to constantsrú  )Ú	is_tensorr   Úget_real_valuerÉ   rI   rÆ   r'   r´   r&   ÚID_MATCHrâ  r  r=   r$   rì   r\   )ry  r»   s   &€rb   ÚconvertÚ-invoke_and_store_as_constant.<locals>.convert‘  sã   ø€ Ø�;‰;�=Š=ÜÐ(¨!Ó,×;Ñ;Ó=Ð=Ü�aÔ2×3Ò3Ø�x‰xÒ#Ü˜aŸl™l¬<×+@Ñ+@ÓAÔBØ—7‘7ˆNð	Ø×'Ñ'Ó)Ð)øÜ2ô 	ÜØKØ# D 6Ð)9¼$¸q»'×:JÑ:JÐ9KÐLØ>¼tÀA»w×?OÑ?OÐ>Pð Q Ø $˜vð &MðNð UØ_ð÷
ð 
ð	ús   ÂB ÂAC.Ã-C.r  )rÑ   rÚ   Úregister_attr_or_moduler+   )
rª   rð   r»   r¬   r­   r€  ry  rÒ   rÓ   Úress
   &&f&&     rb   r’  r’  Š  sŒ   ø€ ÷ð ñ, !%Ó%¡˜1ˆG�AŽJ¡€DÐ%Ø(.¯©¬Ô7©¡ ˆa�˜“Šm©€FÑ7Ù
ˆdÐ
�fÑ
€CØ�9‰9×,Ñ,ØØÜ˜dÓ#ð -ó ð ùò &ùÛ7s
   �A9´A>c                   óŒ  a a€ ] tR tRt oR0]P
                  mtR&V3R lV 3R llltV3R lR ltV3R lR ltV3R	 lV 3R
 llt	V3R lR lt
V3R lR ltR&RR/V3R lR llltV3R lR ltV3R lR ltV3R lR ltV3R lV 3R lltV3R lV 3R lltV3R lR ltV3R lR  ltV3R! lR" ltV3R# lR$ ltR%tVtV ;t# )'ÚNestedUserFunctionVariablei±  râ   c                óœ   <€ V ^8„  d   QhRS[ RS[ RS[S[S[3,          RS[ R,          RS[ R,          RS[ R,          RS[ R,          R	S[R
R/	# )rf   r¤  rŒ   râ   r•   Nr—   rã   Ú
wrapped_fnr­   rg   )rF   r˜   r®   r   )rh   rv   s   "€rb   ri   Ú'NestedUserFunctionVariable.__annotate__·  s�   ø€ ÷  =ñ  =á ð =ñ ð =ñ ™™S˜•>ð	 =ñ
 " DÕ(ð =ñ $ dÕ*ð =ñ ! 4Õ'ð =ñ $ dÕ*ð =ñ ð =ð 
ñ =ra   c                óh  <€ VP                  R 4      f   VP                  \        4       R7       \        S	V `  ! R/ VB  \        VP                  4       \        4      '       g&   \        R\        VP                  4       4       24      h\        VP                  4       \        P                  4      '       g&   \        R\        VP                  4       4       24      h\        V\        4      '       g   \        R\        V4       24      hWn        W n        W0n        W@n        WPn        W`n        Wpn        R# )rƒ  Nr‚  zfn_name must be a str, got zcode must be a CodeType, got zf_globals must be a dict, got rZ   )r¤   Úupdater>   r*  r�   rÉ   r  r®   rë   rì   r×   rØ   r˜   r¤  rŒ   râ   r•   r—   rã   r‡  )
r‹   r¤  rŒ   râ   r•   r—   rã   r‡  r­   r+  s
   &&&&&&&&,€rb   r�   Ú#NestedUserFunctionVariable.__init__·  sþ   ø€ ð �:‰:�oÓ&Ò.Ø�M‰MÔ(<Ó(>ˆMÔ?Ü‰ÒÑ"˜6Ò"Ü˜'×4Ñ4Ó6¼×<Ò<Ü Ø-¬d°7×3MÑ3MÓ3OÓ.PÐ-QÐRóð ô ˜$×1Ñ1Ó3´U·^±^×DÒDÜ Ø/´°T×5LÑ5LÓ5NÓ0OÐ/PÐQóð ô ˜)¤T×*Ò*Ü Ð#AÄ$ÀyÃ/ÐARÐ!SÓTÐTØŒØŒ	Ø"ŒØ ŒØ$ŒØŒØ2<Žra   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# re   r  )rh   rv   s   "€rb   ri   rˆ  Ù  r
  ra   c                ó   € . # ry   rZ   r  s   &rb   r  Ú$NestedUserFunctionVariable.self_argsÙ  r  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rc  )rh   rv   s   "€rb   ri   rˆ  Ü  s   ø€ ÷ #ñ #¡E×$6Ñ$6ñ #ra   c                ó"   € V P                  4       # ry   r6  r  s   &rb   r  Ú-NestedUserFunctionVariable.as_python_constantÜ  s   € Ø× Ñ Ó"Ð"ra   c                ó"   <€ V ^8„  d   QhRRRR/# r  rZ   )rh   rv   s   "€rb   ri   rˆ  ß  s   ø€ ÷ ñ Ð:ð Ð?Pñ ra   c                óÐ   <€  \         SV `  V4      #   \         dI   p\        R RT P                  P                  4        RT 2R. \        P                  OR7        Rp?R# Rp?ii ; i)z8repr() on nested function with non-constructible closurezrepr() on nested function z: z‚Dynamo could not safely evaluate repr() for this nested function because it could not reconstruct its closure as Python constants.rú  N)r*  r  rY   r$   r¤  r  r   ÚSUPPORTABLE)r‹   rª   r   r+  s   && €rb   r  Ú'NestedUserFunctionVariable.tp_repr_implß  so   ø€ ð
	Ü‘7Ñ'¨Ó+Ð+øÜ%ô 	ÜØRØ4°T·\±\×5TÑ5TÓ5VÐ4WÐWYÐZ[ÐY\Ð]ð'ð 7Ô)×5Ñ5Ð6÷ó ûð	ús   ƒ ’A%�=A Á A%c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rW  )rh   rv   s   "€rb   ri   rˆ  ì  s   ø€ ÷ .ñ .™%Ÿ.™.ñ .ra   c                ó6   € V P                   P                  4       # ry   )rŒ   r  r  s   &rb   r2  Ú#NestedUserFunctionVariable.get_codeì  s   € Ø�y‰y×+Ñ+Ó-Ð-ra   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# re   )rì   r×   r   )rh   rv   s   "€rb   ri   rˆ  ï  s   ø€ ÷ "ñ "™T¡%×"4Ñ"4Õ5ñ "ra   c                ó"   € \         P                  # ry   rc  r  s   &rb   r  Ú&NestedUserFunctionVariable.python_typeï  r   ra   Úallow_sourced_cellsFc                ó^   <€ V ^8„  d   QhRS[ S[,          R,          RS[RS[P                  /# )rf   Ú_convertingNrœ  rg   ©Úsetr  r]  r×   r   )rh   rv   s   "€rb   ri   rˆ  ò  s7   ø€ ÷ )ñ )á™•X •_ð)ñ "ð	)ñ
 
×	Ñ	ñ)ra   c               ó,  € ^RI Hp \        V 4      pVf   \        4       pWA9   d   \	        R4      hVP                  V4        V P                  W4      VP                  V4       #   T d   p\	        R4      ThRp?ii ; i  TP                  T4       i ; i)rý   )r=   Nz-cycle detected in mutually recursive closuresú1failed to convert closure cell to Python constant)Úbaser=   Úidr   rY   ÚaddÚ_get_function_implÚdiscard)r‹   rž  rœ  r=   Úself_idr   s   &&$   rb   re  Ú'NestedUserFunctionVariable.get_functionò  sš   € õ 	>ä�T“(ˆØÒÜ›%ˆKØÔ!Ü(Ø?óð ð 	�‰˜Ô ð	)Ø×*Ñ*¨;ÓLð ×Ñ Õ(øð 3ô 	Ü(ØCóàðûð	ûð
 ×Ñ Õ(ús$   ÁA% Á%A=Á,A8Á8A=Á=B  Â Bc                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rˆ    s   ø€ ÷ ñ ¡Dñ ra   c                óX   €  V P                  4        R #   \        \        3 d     R# i ; ir–  )r  rR  r%   r  s   &rb   rã  Ú-NestedUserFunctionVariable.is_python_constant  s-   € ð	Ø×#Ñ#Ô%ÙøÜ#¤[Ð1ô 	Úð	ús   ‚ ”)¨)c                óP   <€ V ^8„  d   QhRS[ S[,          RS[RS[P                  /# )rf   rž  rœ  rg   rŸ  )rh   rv   s   "€rb   ri   rˆ    s4   ø€ ÷ _ñ _Ù™s�8ð_Ù:>ð_á	×	Ñ	ñ_ra   c                ó2  € R pV P                   '       dæ   ^ RIHp VP                  4       p. pV P                   P                   F¨  pVP
                  P                  P                  V4      pW€J d   \        R4      h\        V\        4      '       d0   VP                  VVR7      p	VP                  \        V	4      4       K}   VP                  4       p	VP                  \        V	4      4       Kª  	  \-        V4      p\.        P0                  ! V P2                  P                  4       V P4                  V P6                  P                  4       R VR7      pV P8                  '       d    V P8                  P                  4       Vn        V P<                  '       d    V P<                  P                  4       Vn        V P@                  '       d{   V P@                  P                  4       p\        V\,        4      '       d   ^ RI!H"p \G        V! V4      4      p\        V\F        4      '       g   \I        R\K        V4       24      hWËn&        V#   \        \         3 d    T'       g   \        R4      R h Mi ; i\        T\"        4      '       d:   TP$                  e,   TP
                  P                  P'                  T4      '       d   \        R4      hTP)                  4       p	\        T	4      p
TP
                  P                  P+                  R Y¨4       TP                  T
4       EKÖ  )N)ÚInstructionTranslatorz self-referential nested function)rœ  r¢  )Úargdefsrã   rè   z annotations must be a dict, got )'rã   rL  r¯  Ú
current_txrÑ   rÚ   rÛ   Ú	load_cellrY   rÉ   r…  re  Úappendr;   r  rR  r%   rI   rÆ   Úis_modifiedÚguard_as_python_constantrF  r¸   r×   r   rŒ   râ   r¤  r•   r”   r—   r–   rä   rê   ré   r˜   rë   rì   rí   )r‹   rž  rœ  Úclosure_cellsr¯  rª   ÚcellsrH  r>  râ  rG  rt   rä   ré   s   &&&           rb   r¦  Ú-NestedUserFunctionVariable._get_function_impl  sŒ  € ð ˆØ�<�<ˆ<ÝLà&×1Ñ1Ó3ˆBØˆEà ŸL™L×.Ô.�ð !#§	¡	× 6Ñ 6× @Ñ @ÀÓ J�ð !Ó(Ü0Ð1SÓTÐTô ˜mÔ-G×HÒHØ)×6Ñ6Ø#Ø,?ð 7ó �Eð —L‘L¤¨5Ó!1Ô2Ùð$Ø)×<Ñ<Ó>�EØ—L‘L¤¨5Ó!1Ô2Ùñ; /ôv " %›LˆMä×!Ò!Ø�I‰I×(Ñ(Ó*Ø�N‰NØ�L‰L×+Ñ+Ó-ØØ!ô
ˆð �=�=ˆ=Ø $§¡× @Ñ @Ó BˆDÔØ�?�?ˆ?Ø"&§/¡/×"DÑ"DÓ"FˆDÔØ××ÐØ×*Ñ*×=Ñ=Ó?ˆKÜ˜+¤u×-Ò-Ý.ä"¡8¨KÓ#8Ó9�ô ˜k¬4×0Ò0Ü$Ø6´t¸KÓ7HÐ6IÐJóð ð $/Ô Øˆøôo ,¬[Ð9ô $ß.Ü4ØOóà#ð$ñ /ð$úô$ ˜}Ô.G×HÒHØ%×,Ñ,Ò8ØŸI™I×2Ñ2×>Ñ>¸}×MÒMä0ØKóð ð &×>Ñ>Ó@�Ü  Ó'�Ø—	‘	×&Ñ&×:Ñ:¸4ÀÔUØ—‘˜T×"s   Ã*H?È?I'ÉI'É&I'c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rˆ  u  s   ø€ ÷ (ñ (™Tñ (ra   c                ó   € V P                   R J# ry   )rã   r  s   &rb   Úhas_closureÚ&NestedUserFunctionVariable.has_closureu  s   € Ø�|‰| 4Ð'Ð'ra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  rå  )rh   rv   s   "€rb   ri   rˆ  x  s#   ø€ ÷ /ñ /Ð ;ð /Á3ð /É3ñ /ra   c                óÚ   <€ VR 8X  d   V P                  4       # VR8X  d   V P                  4       # VR8X  d(   \        V RR4      pV'       d   VP                  4       # R# \        SV `  W4      # )r\   rz   r”   r•   N)r<  r2  rö   r  r*  Úconst_getattr)r‹   rª   r»   rr  r+  s   &&& €rb   r¿  Ú(NestedUserFunctionVariable.const_getattrx  sg   ø€ Ø�:ÔØ—=‘=“?Ð"Ø�:ÔØ—=‘=“?Ð"Ø�>Ô!Ü˜˜j¨$Ó/ˆAß-.�1×'Ñ'Ó)Ð8°DÐ8Ü‰wÑ$ RÓ.Ð.ra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  rÆ  )rh   rv   s   "€rb   ri   rˆ  ‚  s%   ø€ ÷ 
2ñ 
2Ø-ð
2Ù58ð
2á	ñ
2ra   c                óD  <€ VR 8X  d"   \         P                  ! V\        V R4      4      # VR8X  d"   \         P                  ! V\        V R4      4      # \        P                  ! V4      pW0P                  V4      9   d   \        P                  ! R4      # \        SV `  W4      # )rz   rŒ   r”   r•   T)rF   rÊ   rÉ  rH   rÌ   r(  r*  rË  )r‹   rª   r»   rá  r+  s   &&& €rb   rË  Ú+NestedUserFunctionVariable.call_obj_hasattr‚  s‹   ø€ ð �:ÔÜ"×(Ò(¨¬W°T¸6Ó-BÓCÐCØ�>Ô!Ü"×(Ò(¨¬W°T¸:Ó-FÓGÐGÜ×$Ò$ TÓ*ˆØ×!Ñ! "Ó%Ô%Ü#×*Ò*¨4Ó0Ð0Ü‰wÑ'¨Ó1Ð1ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rˆ  Ž  r9  ra   c                ó   € R # rù  rZ   r  s   &rb   r`  Ú#NestedUserFunctionVariable.has_selfŽ  r<  ra   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# re   rÏ   )rh   rv   s   "€rb   ri   rˆ  ‘  rU  ra   c                ó   € V P                   # ry   rW  r  s   &rb   rS  Ú&NestedUserFunctionVariable.get_globals‘  rY  ra   c          
      ól   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[S[S[3,          /# r<  r¼  )rh   rv   s   "€rb   ri   rˆ  ”  sL   ø€ ÷ ñ à+ðñ ‘?Õ#ðñ ‘S™/Ð)Õ*ð	ñ
 
‰c‘?Ð"Õ	#ñra   c                ót  € V P                  4       p\        P                  ! TV P                  V P                  P                  4       V P                  '       d    \        V P                  P                  4      MR \        ;QJ d>    . R \        \        V P                  4       P                  4      4       4       F  NK  	  5M7! R \        \        V P                  4       P                  4      4       4       4      4      pV P                  '       d    V P                  P                  4       Vn         \        P                   ! V4      P"                  ! V/ VB pVP%                  4        \-        TP.                  P                  4       4      p\1        TP2                  P4                  T4       \7        YT4       \9        TP                  4       F<  w  ršY¨9   d   \;        RT
: R24      hT P<                  P                  T	,          pY¸T
&   K>  	  T#   \&         d#   p\)        TP*                  ^ ,          4      ThR p?ii ; i)Nc              3   ó8   "  € T F  p\        R 4      x € K  	  R # 5iry   )r;   )r/  Ú_s   & rb   r1  Ú7NestedUserFunctionVariable.bind_args.<locals>.<genexpr>   s   é € ÐSÑ+R a”)˜D—/�/Ó+Rùs   ‚zfree variable z already in result)r2  r×   r   râ   r¤  r  r•   r¸   rÑ   r›   rš   rB  r—   Úkeys_as_python_constantr–   rò   r‚  rƒ  rˆ  r@  r¨   r¬   r˜   r„  rÔ   rÚ   rA  rà   r±   rë   rã   )r‹   rÖ   r¬   r­   rŒ   rt   rV   r   rÎ   r¿   r»   rG  s   &&&&        rb   rL  Ú$NestedUserFunctionVariable.bind_args”  sŸ  € ð �}‰}‹ˆÜ×!Ò!ØØ�N‰NØ�L‰L×+Ñ+Ó-Ø*.¯-¯-¨-ŒE�$—-‘-×%Ñ%Ô&¸TßŒEÑS¬5´°T·]±]³_×5PÑ5PÓ1QÔ+RÓS�E‰EÑS¬5´°T·]±]³_×5PÑ5PÓ1QÔ+RÓSÓSó
ˆð �?�?ˆ?Ø"&§/¡/×"IÑ"IÓ"KˆDÔð	6Ü×%Ò% dÓ+×0Ò0°$ÐA¸&ÑAˆEØ× Ñ Ô"ô �e—o‘o×+Ñ+Ó-Ó.ˆÜ˜Ÿ™×.Ñ.°Ô7Ü�f dÔ+ä" 4×#3Ñ#3Ö4‰IˆCØŒ~Ü$ ~°d±XÐ=OÐ%PÓQÐQØ—<‘<×%Ñ% cÕ*ˆDØ�4‹Lñ	 5ð ˆøô ô 	6Ü# A§F¡F¨1¥IÓ.°AÐ5ûð	6ús   Ä.6H
 È
H7ÈH2È2H7c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   rˆ  µ  s   ø€ ÷ 6)ñ 6) ;ð 6)°4ñ 6)ra   c                ó   a€ SP                  V3R  l4       S! V P                  4       SP                  SP                  V P                  4      .4       S! \
        P                  ! V P                  P                  P                  4      4       V P                  '       d   S! V P                  4       M!SP                  SP                  R4      .4       V P                  '       d   S! V P                  4       M!SP                  SP                  R4      .4       V P                  '       d   S! V P                  4       M!SP                  SP                  R4      .4       V P                  e>    V P                  P                  4       pSP                  SP                  V4      .4       M!SP                  SP                  R4      .4       SP                  \!        ^R4      4       V P"                  '       dx   SP                  V3R l4       S! V P"                  4       SP                  \!        ^R4      4       SP                  \%        ^4      4       SP                  \!        ^R4      4       SP&                  pVP(                  P*                  P-                  V 4      '       d„   VP(                  P*                  P.                  V ,          P1                  4        FH  w  rESP3                  4        S! V4       SP                  \%        ^4      4       SP5                  V4       KJ  	  R# R#   \         d    S! T P                  4        EL€i ; i)c                  ó0   <€ S P                  \        R 4      # )rî   )Úload_import_fromr\   ©r
  s   €rb   rŒ  Ú8NestedUserFunctionVariable.reconstruct.<locals>.<lambda>·  s   ø€ �G×,Ñ,¬XÐ7JÔKra   NFc                  ó(   <€ S P                  R R4      # )Ú	functoolsÚwraps©rÔ  rÕ  s   €rb   rŒ  rÖ  Û  s   ø€ ˜×0Ñ0°¸gÔFra   T)ra  rŒ   rb  Úcreate_load_const_uncheckedrâ   rH   rÌ   râ  r;  r•   Úcreate_load_constrã   r—   rä   r  rR  r   r‡  r   rª   rÚ   rÛ   Úhas_pending_mutationÚstore_attr_mutationsrÑ   Údup_topÚ
store_attr)r‹   r
  rä   rª   r»   râ  s   &f    rb   rO  Ú&NestedUserFunctionVariable.reconstructµ  s‚  ø€ Ø×ÑÜKô	
ñ 	�—	‘	ÔØ×Ñ˜w×BÑBÀ4Ç>Á>ÓRÐSÔTÙÔ ×'Ò'¨¯	©	¯©×(?Ñ(?Ó@ÔAà�=�=ˆ=Ù�D—M‘MÕ"à×!Ñ! 7×#<Ñ#<¸TÓ#BÐ"CÔDà�<�<ˆ<Ù�D—L‘LÕ!à×!Ñ! 7×#<Ñ#<¸TÓ#BÐ"CÔDà�?�?ˆ?Ù�D—O‘OÕ$à×!Ñ! 7×#<Ñ#<¸TÓ#BÐ"CÔDà×ÑÒ'ð*Ø"×.Ñ.×AÑAÓC�Ø×%Ñ%Ø×8Ñ8¸ÓEÐFõð ×!Ñ! 7×#<Ñ#<¸TÓ#BÐ"CÔDà×ÑÔ2°1°eÓ<Ô=à�?�?ˆ?Ø×!Ñ!ÜFôñ �D—O‘OÔ$Ø×!Ñ!Ô"6°q¸%Ó"@ÔAØ×!Ñ!¤,¨q£/Ô2Ø×!Ñ!Ô"6°q¸$Ó"?Ô@ð �Z‰ZˆØ�9‰9×!Ñ!×6Ñ6°t×<Ò<Ø!Ÿy™y×5Ñ5×JÑJØõ ç‰e‹gò ‘�ð —‘Ô!Ù˜”Ø×%Ñ%¤l°1£oÔ6Ø×"Ñ" 4Ö(ó ñ =øô% 'ô *Ù˜×(Ñ(×)ð*ús   Å/;L, Ì,MÍM)rã   rŒ   r•   râ   r¤  r—   r‡  ry   )r\   r]   r^   r_   rú   rû  r�   r  r  r  r2  r  re  rã  r¦  r»  r¿  rË  r`  rS  rL  rO  r`   rŸ   rÜ  rÝ  s   @@rb   r…  r…  ±  sÑ   ù‡ € àðà	!×	0Ñ	0ð€N÷
 =õ  =÷Dð ÷#ð #÷ó ÷.ð .÷"ð "ñ)ð %*÷	)ó )÷6ð ÷_ð _÷B(ð (÷/ó /÷
2ó 
2÷ð ÷ð ÷ð ÷B6)÷ 6)ð 6)ra   r…  c                   óh   a a€ ] tR tRt oV3R lV 3R lltV3R lV 3R lltV3R lR ltRtVtV ;t	# )	Ú!WrappedNestedUserFunctionVariableiî  c                ó.   <€ V ^8„  d   QhRS[ RRRS[RR/# rF  )r…  r   )rh   rv   s   "€rb   ri   Ú.WrappedNestedUserFunctionVariable.__annotate__ï  s3   ø€ ÷ ñ á+ðð +ðñ ð	ð
 
ñra   c           	     ó  <€ VP                  R R4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       \        SV `	  VP                  VP                  VP
                  VP                  VP                  VP                  VP                  4       VP                  V n
        Wn        W n        R# )	r¤  NrŒ   râ   r•   r—   rä   rã   r‡  )r³   r*  r�   r¤  rŒ   râ   r•   r—   rã   r‡  rä   rG  rü  rJ  s   &&&,€rb   r�   Ú*WrappedNestedUserFunctionVariable.__init__ï  sÕ   ø€ ð 	�
‰
�9˜dÔ#Ø�
‰
�6˜4Ô Ø�
‰
�; Ô%Ø�
‰
�:˜tÔ$Ø�
‰
�< Ô&Ø�
‰
�= $Ô'Ø�
‰
�9˜dÔ#Ø�
‰
�< Ô&Ü‰ÑØ�O‰OØ�L‰LØ×ÑØ×ÑØ×ÑØ�O‰OØ×Ñô	
ð #×.Ñ.ˆÔØŒØŽra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rå  
	  rM  ra   c                ób  <€ \         P                  '       dR   \        \        P                  4      pVP                  WP                  V P                  .\        V4      ,           V4      # V P                  P                  V4       \        SV `  WV4      pV P                  P                  V4       V# ry   rO  rT  s   &&&&  €rb   rÃ  Ú/WrappedNestedUserFunctionVariable.call_function
	  rW  ra   c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   rå  	  rY  ra   c                ó�   a a€ SP                  VV 3R  l4       S! S P                  4       SP                  \        ^R4      4       R# )c                  ó(   <€ S ! SP                   4      # ry   r\  r]  s   €€rb   rŒ  Ú?WrappedNestedUserFunctionVariable.reconstruct.<locals>.<lambda>	  r_  ra   FNr`  r	  s   ffrb   rO  Ú-WrappedNestedUserFunctionVariable.reconstruct	  rd  ra   )rä   rü  rG  rf  rÝ  s   @@rb   rã  rã  î  s(   ù‡ € ÷ó ÷6ó ÷ >÷ >ð >ra   rã  c                   óÒ   a a€ ] tR tRt oRR0]P
                  mtRV3R lV 3R llltV3R lR ltR tV3R	 lR
 lt	V3R lR lt
]V3R lR l4       tV3R lR ltR tRtVtV ;t# )rú  i-	  râ  Úreasonc                ó>   <€ V ^8„  d   QhRS[ RS[R,          RS[ RR/# )rf   râ  rñ  Nr­   rg   ©r   r®   )rh   rv   s   "€rb   ri   Ú!SkipFunctionVariable.__annotate__4	  s.   ø€ ÷ ñ ™cð ©3°­:ð Éð ÐPTñ ra   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   )r*  r�   râ  rñ  )r‹   râ  rñ  r­   r+  s   &&&,€rb   r�   ÚSkipFunctionVariable.__init__4	  s   ø€ Ü‰ÒÑ"˜6Ò"ØŒ
ØŽra   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r  rî  )rh   rv   s   "€rb   ri   rô  9	  s   ø€ ÷ ñ ¡v°¥}ñ ra   c                óœ   € \        V P                  R R4      ;'       g    RpVR8X  g   VP                  R4      '       d   R# V P                  # )r]   Nrp  rk   )ztorch.Útorch_)rö   râ  r.  )r‹   Úmods   & rb   rò  Ú*SkipFunctionVariable.get_value_for_setattr9	  s?   € Ü�d—j‘j ,°Ó5×;Ð;¸ˆØ�'Œ>˜SŸ^™^Ð,@×AÒAÙØ�z‰zÐra   c                ó    € ^RI Hp V! WW#4      # rü   rÿ   r  s   &&&& rb   r  Ú(SkipFunctionVariable.tp_richcompare_impl?	  r  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   rô  D	  s   ø€ ÷ ñ ¡Cñ ra   c                ó   € V P                   # ry   ©râ  r  s   &rb   r  Ú'SkipFunctionVariable.as_python_constantD	  ó   € Ø�z‰zÐra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   rô  G	  s   ø€ ÷ ñ ©cñ ra   c                ó   € V P                   # ry   r   r  s   &rb   r  Ú1SkipFunctionVariable.get_real_python_backed_valueG	  r  ra   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rf   râ  rÆ   rg   rú  ©r   r   )rh   rv   s   "€rb   ri   rô  K	  s#   ø€ ÷ !)ñ !)¡sð !)±Fð !)Ð?Uñ !)ra   c                ó|  € \         P                  ! VR R4      '       d]   TpTp\         P                  ! VRR4      '       d   VP                  p\        VR4      pK8  VP	                  \
        P                  4       Mº\         P                  ! V4      '       df   \        VR4      '       d+   \        VP                  \        P                  4      '       d)   \        VP	                  \
        P                  4      4       M9\        V4      '       g)   \        VP	                  \
        P                  4      4       V ! WR7      # )Ú_torchdynamo_disableFÚ_torchdynamo_orig_callabler#  r  )rò   ró   r
  r(   r´   r&   rè  Ú	isbuiltinrÉ  rÉ   r#  r×   Ú
ModuleTyper'   ÚBUILTIN_MATCHr9   )rê  râ  rÆ   Úguard_on_sourceÚguard_on_values   &&&  rb   rë  Ú'SkipFunctionVariable.create_with_sourceJ	  sü   € ô ×!Ò! %Ð)?À×GÒGð %ˆOØ"ˆNä×(Ò(ØÐ <¸e÷ò ð "0×!JÑ!J�Ü",Ø#Ð%Aó#’ð ×&Ñ&¤|×'AÑ'AÕBÜ×Ò˜u×%Ò%ô
 ˜5 *×-Ò-´Ø—‘¤× 0Ñ 0÷2ò 2ô ˜f×/Ñ/´×0JÑ0JÓKÔLøÜ0°×7Ò7ô ˜&×+Ñ+¬L×,FÑ,FÓGÔHÙ�5Ô(Ð(ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rô  n	  sH   ø€ ÷ Tñ Tà'ðTñ ‘?Õ#ðTñ ‘S™/Ð)Õ*ð	Tñ
 
ñTra   c                óÀ  aa€ V P                   \        P                  P                  \        P                  P
                  39   df   \        ;QJ d    R  S 4       F  '       d   K   RM	  RM! R  S 4       4      '       d,   \        P                  ! WP                   ! R S 4       !  4      # V P                   \        9   dð   \        ;QJ d    R S 4       F  '       d   K   RM	  RM! R S 4       4      '       d¶   \        ;QJ d*    R SP                  4        4       F  '       d   K   RM	  RM! R SP                  4        4       4      '       d`   V P                   ! R S 4       / SP                  4        UUu/ uF  w  rEWEP                  4       bK  	  uppB p\        P                  ! W4      # R VV3R llpV P                   \        P                  P                  J d   V! R	4       R# V P                   \        P                   P                  J d   V! R
4       R# \"        P$                  ! V P                   RR4      '       dY   \"        P$                  ! V P                   RR4      p\'        R\)        V P                   4      RV P                    RV R2R.R7       R# V P                   \        P                  P*                  J dF   SP-                  R4      p	V	'       d   V	P                  4       p	\'        RRS RS R2RV	 2R.R7       R# V P                   \        P                  P.                  J d`   SP-                  R4      p
V
'       d   V
P                  4       p
MRp
\'        RRS RS R\1        VP2                  4       R2R V
 2R!.RR"7       R# V P                   \        P                  P4                  J d    \'        R#RR$R%.R7       R# V P                   \<        P>                  P@                  J dŒ   \C        S4      RO9   dR   S'       gJ   S^ ,          pS^,          p\E        V\F        4      '       d"   \I        VPJ                  WÜPL                  R&7      # \'        R'R(V  R)S R*S 2R+. \N        PP                  OR7       R# \R        PT                  '       dK   ^R,I+H,p VP[                  WP                   4      p\E        V\\        4      '       g   VP_                  VSS4      # \a        V P                   R-R.4      p\a        V P                   R/R4      pVf   R0M
\)        V4      p \"        Pb                  ! V P                   4      pR1V R2V R32pR4V R52.pR6V9  d   VR7V R82R9.,          pTRG8X  d   RHpRI.pT Pn                  '       d   T Pn                  pM^RJI8H9p T! T P                   4      p\'        RKRLT RMT RNT 2TTR7       R# u uppi   \6         d   p\9        TP:                  4      RhRp?ii ; i  \d         dâ    R:R;0pTT9   d   R<T RT R52pR=R>.p L±Tem   TPg                  R?4      '       dV   R@T RT R2pRA.p\        P                  Ph                  Pk                  TRB,           RBPm                  T4      ,           4        EL!RCT RT RD2pRERF.p\        P                  Ph                  Pk                  TRB,           RBPm                  T4      ,           4        ELwi ; i)Pc              3   ó@   "  € T F  qP                  4       x € K  	  R # 5iry   ©rã  ©r/  Úas   & rb   r1  Ú5SkipFunctionVariable.call_function.<locals>.<genexpr>w	  s   é € ð X
Ù,0 q× Ñ ×"Ð"«Dùó   ‚FTc              3   ó@   "  € T F  qP                  4       x € K  	  R # 5iry   ©r  r  s   & rb   r1  r  {	  s   é € Ð FÁ¸A×!5Ñ!5×!7Ð!7Ãùr  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5iry   r  r  s   & rb   r1  r  €	  s   é € Ð9±D¨q×(Ñ(×*Ð*³Dùr  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5iry   r  )r/  rÓ   s   & rb   r1  r  �	  s   é € ÐD±O¨q×(Ñ(×*Ð*³Oùr  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5iry   r  r  s   & rb   r1  r  „	  s   é € Ð7±$¨Q×&Ñ&×(Ð(³$ùr  c                ó0   € V ^8„  d   QhR\         R\        /# )rf   Úapi_namerg   ©r®   r   )rh   s   "rb   ri   Ú8SkipFunctionVariable.call_function.<locals>.__annotate__‰	  s   € ÷ 	ñ 	¼ð 	Äñ 	ra   c           
      ó\   <€ \         pV! R V  R2RV  RS RS R2RV  R2RV  R2R	.R
7       R# )z	Call to `z()`zCalled `z()` with args `ú`, kwargs `Ú`z‡()` was called inside a compiled region. This API disables compilation when used as a decorator or wrapper outside the compiled region.z
Move the `z\()` call outside the compiled function and apply it to the function that should run eagerly.zVUse `torch._dynamo.graph_break()` to intentionally insert a graph break at this point.rú  N©r$   )r  Ú_unimplementedr¬   r­   s   & €€rb   Ú!unimplemented_direct_disable_callÚMSkipFunctionVariable.call_function.<locals>.unimplemented_direct_disable_call‰	  se   ø€ ô
 +ˆNÙØ# H :¨SÐ1Ø" 8 *¨O¸D¸6ÀÈVÈHÐTUÐVØ ˜zð */ð /ð !  
ð  +Gð  HØlð÷
ra   ztorch._dynamo.disableztorch.compiler.disabler	  Ú_torchdynamo_disable_msgNz1Skip calling `torch.compiler.disable()`d functionzSkip calling function `z>` since it was wrapped with `torch.compiler.disable` (reason: rx  z(Remove the `torch.compiler.disable` callrú  r£  z%Call to `torch._dynamo.graph_break()`z0Called `torch._dynamo.graph_break()` with args `r#  r$  z$User-inserted graph break. Message: z.Remove the `torch._dynamo.graph_break()` call.rp  z$Call to `torch._dynamo.skip_frame()`z/Called `torch._dynamo.skip_frame()` with args `z`. Skipping frame rq  z#User-inserted skip frame. Message: z-Remove the `torch._dynamo.skip_frame()` call.)rû  rü  rý  rþ  rƒ  z*Call to `torch._dynamo.step_unsupported()`zUser-inserted step_unsupported.z3Remove the `torch._dynamo.step_unsupported()` call.)r9  z!unsupported function.__get__ callzcall_function z, args: rr  z^Dynamo only supports function.__get__(func, obj[, cls]) where func is a user-defined function.©ÚSourcelessBuilderr^   z<unknown qualname>r]   z<unknown module>z?Dynamo developers have intentionally marked that the function `z` in file `z` should not be traced.zAvoid calling the function `z`.r}  z:Apply `@torch._dynamo.dont_skip_tracing` to the function `zw` to force tracing into the function. More graph breaks may occur as a result of attempting to trace into the function.z Please file an issue to PyTorch.Ú_abcÚ	_warningsz6Dynamo does not know how to trace the Python builtin `z˜If you are attempting to call a logging function (e.g. `_warnings.warn`), you can try adding it to `torch._dynamo.config.reorderable_logging_functions`.zKPlease file an issue on GitHub so the PyTorch team can add support for it. rõ  z*Dynamo cannot trace optree C/C++ function zi Consider using torch.utils._pytree - https://github.com/pytorch/pytorch/blob/main/torch/utils/_pytree.pyÚ
z/Dynamo does not know how to trace the builtin `zˆ.` This function is either a Python builtin (e.g. _warnings.warn) or a third-party C/C++ Python extension (perhaps created with pybind).zŒIf it is a Python builtin, please file an issue on GitHub so the PyTorch team can add support for it and see the next case for a workaround.a  If it is a third-party C/C++ Python extension, please either wrap it into a PyTorch-understood custom operator (see https://pytorch.org/tutorials/advanced/custom_ops_landing_page.html for more details) or, if it is traceable, use `torch.compiler.allow_in_graph`.Úallow_in_graphz°torch.compiler.allow_in_graph (or torch._dynamo.allow_in_graph) was called inside a compiled region. Dynamically annotating functions inside a compiled region is not supported.ziApply @torch.compiler.allow_in_graph as a decorator before compilation, not inside the compiled function.)Úget_skip_reasonz,Attempted to call function marked as skippedzmodule: z, qualname: z, skip reason: )rf   rA  ):râ  Ú	importlibÚutilÚ	find_specÚmetadataÚversionrå  rF   rÊ   ÚRE_CONSTANT_FOLD_FNSÚvaluesrÑ   r  rk   r}  ÚdisableÚcompilerrò   ró   r$   r®   Úgraph_breakr¤   rƒ  r   Úf_codeÚstep_unsupportedr%   r#   r£  r×   r   rQ  rš   rÉ   rß  r8  rð   rÆ   r   r”  r   Údont_skip_tracingÚbuilderr+  rÌ   rú  rÃ  rö   Úgetfiler@  r.  rl   Ú	warn_onceÚjoinrñ  r.  r0  )r‹   rª   r¬   r­   rÒ   rÓ   rÎ   r'  r£  Úgraph_break_msgÚskip_frame_msgr   Úfunc_varÚobj_varr+  Ú
rebuilt_fnÚqualnameÚ	module_orrÛ  Úpathrý  rþ  Úknown_python_builtin_modulesrñ  r0  s   &&ff                     rb   rÃ  Ú"SkipFunctionVariable.call_functionn	  s…  ù€ ð �:‰:œ)Ÿ.™.×2Ñ2´I×4FÑ4F×4NÑ4NÐOÔO×TWÓTWñ X
Ù,0óX
×TW×TWÒTWñ X
Ù,0óX
÷ U
ò U
ô #×(Ò(Ø—J’JÑ FÁÓ FÑGóð ð
 �J‰JÔ.Ô.ß“Ñ9±DÓ9——’Ñ9±DÓ9×9Ò9ß“ÑD°F·M±M´OÓD——’ÑD°F·M±M´OÓD×DÒDà—Z’ZÙ7±$Ó7ðà9?¿¹¼ÔH¹±°�1×*Ñ*Ó,Ò,¹ÒHñˆFô #×(Ò(¨Ó4Ð4÷	ñ 	ð$ �:‰:œŸ™×.Ñ.Ó.Ù-Ð.EÖFØ�Z‰Zœ5Ÿ>™>×1Ñ1Ó1Ù-Ð.FÖGÜ×#Ò# D§J¡JÐ0FÈ×NÒNÜ×(Ò(¨¯©Ð5OÐQUÓVˆCÜØKÜ˜DŸJ™J›Ø5°d·j±j°\ð B:Ø:=¸¸aðAð ?ð÷ð �Z‰Zœ5Ÿ=™=×4Ñ4Ó4Ø$Ÿj™j¨Ó/ˆOßØ"1×"DÑ"DÓ"F�ÜØ?ØJÈ4È&ÐP[Ð\bÐ[cÐcdÐeØBÀ?ÐBSÐTàDð÷	ð �Z‰Zœ5Ÿ=™=×3Ñ3Ó3Ø#ŸZ™Z¨Ó.ˆNßØ!/×!BÑ!BÓ!D‘à!#�ÜØ>ØIÈ$ÈÈ{Ð[aÐZbð c"Ü"3°B·I±IÓ">Ð!?¸qðBàAÀ.ÐAQÐRàCðð  ÷	ð �Z‰Zœ5Ÿ=™=×9Ñ9Ó9ð
7ÜØHØØ AàMð÷	ð �Z‰Zœ5×-Ñ-×5Ñ5Ó5ô �4‹y˜FÔ"¯6Ø �7�Ø˜q�'�Ü˜hÔ(<×=Ò=Ü-Ø Ÿ™ W¿¹ôð ô Ø;Ø(¨¨¨h°t°f¸JÀvÀhÐOð9à6Ô)×5Ñ5Ð6÷ô ×'×'Ð'Ý6ð /×5Ñ5°b¿*¹*ÓE�
ä! *Ô.B×CÒCØ%×3Ñ3°B¸¸fÓEÐEÜ˜tŸz™z¨>Ð;OÓPˆHÜ §
¡
¨L¸$Ó?ˆIØ09Ò0AÑ,ÄsÈ9Ã~ˆKð8YÜ—’ t§z¡zÓ2�àUÐV^ÐU_ð ` Ø $˜vÐ%<ð>ð ð
 3°8°*¸BÐ?ð�ð  DÔ(ØØTÐU]ÐT^ð _lð lð ;ð	õ �EðX Ð+Ô+ðAð ð8ð�ð �{�{ˆ{ØŸ™‘å9á(¨¯©Ó4�ÜØFØ" ; -¨|¸H¸:À_ÐU[ÐT\Ð]Ø'Ø÷	ùóq IøôV ô 7Ü% a§e¡eÓ,°$Ð6ûð7ûôn ô %YØ06¸Ð/DÐ,ØÐ <Ô<ðØ'˜=¨¨(¨°2ð7ð  ð
iðGð’Eð Ò*¨y×/CÑ/CÀH×/MÒ/MØ$NÈ{ÈmÐ[\Ð]eÐ\fÐfgÐ"h�Kð^ð�Eô
 —M‘M×'Ñ'×1Ñ1°+ÀÕ2DÀtÇyÁyÐQVÓGWÕ2W×Xð JÈ+ÈÐVWÐX`ÐWað bað bð  ðmð;ð�Eô —M‘M×'Ñ'×1Ñ1°+ÀÕ2DÀtÇyÁyÐQVÓGWÕ2W×XðK%YúsE   Å8WÎ:W ÔAW1 ×W.×W)×)W.×1#[Ø[Ø1A[ÚA[Û[c                ór   € V P                   '       d   V P                   P                  V4      # \        R 4      h)zBPython codegen not implemented for sourceless SkipFunctionVariabler  r	  s   &&rb   r  Ú'SkipFunctionVariable.reconstruct_pycodeD
  r  ra   )rñ  râ  ry   )r\   r]   r^   r_   rF   rû  r�   rò  r  r  r  rý  rë  rÃ  r  r`   rŸ   rÜ  rÝ  s   @@rb   rú  rú  -	  s{   ù‡ € àØðð 
×	'Ñ	'ð€N÷õ ÷
ð ò7÷
ð ÷ð ð ÷!)ó ð!)÷FTð T÷l
ò 
ra   rú  c                   óh   a a€ ] tR tRt oV3R lV 3R lltV3R lV 3R lltV3R lR ltRtVtV ;t	# )	ÚWrappedSkipFunctionVariableiL
  c                ó.   <€ V ^8„  d   QhRS[ RRRS[RR/# rF  )rú  r   )rh   rv   s   "€rb   ri   Ú(WrappedSkipFunctionVariable.__annotate__M
  s3   ø€ ÷ 
ñ 
á%ð
ð +ð
ñ ð	
ð
 
ñ
ra   c                ó¶   <€ VP                  R R4       VP                  RR4       \        SV `  ! VP                  3RVP                  /VB  Wn        W n        R# )râ  Nrñ  )r³   r*  r�   râ  rñ  rG  rü  rJ  s   &&&,€rb   r�   Ú$WrappedSkipFunctionVariable.__init__M
  sJ   ø€ ð 	�
‰
�7˜DÔ!Ø�
‰
�8˜TÔ"Ü‰Ò˜Ÿ™ÑH¨w¯~©~ÐHÀÒHØŒØŽra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rQ  Y
  rM  ra   c                ób  <€ \         P                  '       dR   \        \        P                  4      pVP                  WP                  V P                  .\        V4      ,           V4      # V P                  P                  V4       \        SV `  WV4      pV P                  P                  V4       V# ry   rO  rT  s   &&&&  €rb   rÃ  Ú)WrappedSkipFunctionVariable.call_functionY
  rW  ra   c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   rQ  i
  rY  ra   c                ó�   a a€ SP                  VV 3R  l4       S! S P                  4       SP                  \        ^R4      4       R# )c                  ó(   <€ S ! SP                   4      # ry   r\  r]  s   €€rb   rŒ  Ú9WrappedSkipFunctionVariable.reconstruct.<locals>.<lambda>j
  r_  ra   FNr`  r	  s   ffrb   rO  Ú'WrappedSkipFunctionVariable.reconstructi
  rd  ra   re  rf  rÝ  s   @@rb   rO  rO  L
  rg  ra   rO  c                   óð   a a€ ] tR tRt oRtV3R lR ltV3R lV 3R lltV3R lR ltV3R	 lR
 ltV3R lR lt	V3R lV 3R llt
R tV3R lR ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚWrapperUserFunctionVariableio
  a  
Used to represent a wrapper object that contains the actual callable as an
attribute. For example, torch.jit.script/trace have the original function at
their _torchdynamo_inline attribute. Similarly, functions with
__script_if_tracing_wrapper have the original attr at "__original_fn".
c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   Ú(WrapperUserFunctionVariable.__annotate__w
  r  ra   c                ó"   € \         P                  # ry   rc  r  s   &rb   r  Ú'WrapperUserFunctionVariable.python_typew
  r   ra   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[ RR/# )rf   Úwrapper_objÚattr_to_tracer­   rg   Nró  )rh   rv   s   "€rb   ri   r_  z
  s)   ø€ ÷ +ñ +¡Cð +¹ð +Ásð +Ètñ +ra   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   )r*  r�   rc  rd  )r‹   rc  rd  r­   r+  s   &&&,€rb   r�   Ú$WrapperUserFunctionVariable.__init__z
  s   ø€ Ü‰ÒÑ"˜6Ò"Ø&ÔØ*Öra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r_  
  s   ø€ ÷ +ñ +™Cñ +ra   c                ó.   € V P                   P                  # ry   )rc  r]   r  s   &rb   rj  Ú&WrapperUserFunctionVariable.get_module
  s   € Ø×Ñ×*Ñ*Ð*ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r_  ‚
  s   ø€ ÷ )ñ )™#ñ )ra   c                ó.   € V P                   P                  # ry   )rc  r\   r  s   &rb   r<  Ú$WrapperUserFunctionVariable.get_name‚
  s   € Ø×Ñ×(Ñ(Ð(ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rW  )rh   rv   s   "€rb   ri   r_  …
  s   ø€ ÷ ,ñ ,™%Ÿ.™.ñ ,ra   c                ó6   € V P                  4       P                  # ry   )re  rz   r  s   &rb   r2  Ú$WrapperUserFunctionVariable.get_code…
  s   € Ø× Ñ Ó"×+Ñ+Ð+ra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  rw  )rh   rv   s   "€rb   ri   r_  ˆ
  s%   ø€ ÷ 2ñ 2Ø-ð2Ù58ð2á	ñ2ra   c                ó  <€ W P                   8X  db   \        V P                  V P                   4      pV P                  ;'       d    \	        V P                  V4      p\
        P                  ! WV4      # \        SV `!  W4      # ry   )	rd  rö   rc  rÆ   r(   rF   rÊ   r*  Útp_getattro_impl)r‹   rª   r»   rÅ   rÆ   r+  s   &&&  €rb   rr  Ú,WrapperUserFunctionVariable.tp_getattro_implˆ
  sh   ø€ ð ×%Ñ%Ô%Ü˜$×*Ñ*¨D×,>Ñ,>Ó?ˆCØ—[‘[×BÐB¤Z°·±¸TÓ%BˆFÜ"×(Ò(¨°&Ó9Ð9Ü‰wÑ'¨Ó1Ð1ra   c                óB   € \        V P                  V P                  4      # ry   )rö   rc  rd  r  s   &rb   re  Ú(WrapperUserFunctionVariable.get_function‘
  s   € Ü�t×'Ñ'¨×);Ñ);Ó<Ð<ra   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# r­  r.  )rh   rv   s   "€rb   ri   r_  ”
  s%   ø€ ÷ =ñ =Ø-ð=Ù58ð=à	!ñ=ra   c                ó"  € \        V P                  R R4      pV'       d   W#9  d   R# V P                  4       pVe   \        WB4      MRpVe(   \        P
                  P                  W2,          WAR7      # \        P                  ! WV,          4      # )r¤  NrÈ   )	rö   rc  r  r(   r   rË   rÌ   rF   rÊ   )r‹   rª   r»   Úwrapper_dictrÆ   s   &&&  rb   r°  Ú0WrapperUserFunctionVariable.lookup_instance_dict”
  s„   € ô ˜t×/Ñ/°¸TÓBˆß˜tÔ7ÙØ—‘Ó"ˆØ-3Ò-?”˜FÔ)ÀTˆØÒÜ×0Ñ0×7Ñ7ØÕ" Fð 8ó ð ô ×$Ò$ R°dÕ);Ó<Ð<ra   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# re   r  )rh   rv   s   "€rb   ri   r_  ¨
  r
  ra   c                ó   € . # ry   rZ   r  s   &rb   r  Ú%WrapperUserFunctionVariable.self_args¨
  r  ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r_  «
  sH   ø€ ÷ J
ñ J
à'ðJ
ñ ‘?Õ#ðJ
ñ ‘S™/Ð)Õ*ð	J
ñ
 
ñJ
ra   c           
     óÎ  € \        V P                  R 4      '       Ed*   \        V P                  V P                  R4      p\        VRR4      ;'       g    Rp\	        V P                  4      pVP                  R^R7      ^ ,          R8w  Ed½   V'       Eg´   VP                  4       p\        P                  P                  VP                  4      pVP                  p	RV RV	 R	RP                  \        P                  ! V.4      4       2p
\        P                   P"                  P%                  V
4       \        P                   P"                  P&                  P)                  R
4      pVP+                  \&        P,                  4      '       d¿   \        P.                  P0                  P3                  4       p\5        4       V,           pVR,          P                  VR,          P                  3pRP                  \        P                  ! V4      4      pRV^ ,           RV^,           R2pV\7        V4      ,          pVP9                  V4       V P;                  4       \=        V4      ,           pV P                  R8H  ;'       dx    \>        P@                  ! V P                  RR4      ;'       dN    \        \>        P@                  ! V P                  RR4      RR4      VPB                  PD                  PF                  JpV'       d   \H        PJ                  M\H        PL                  p\N        PP                  ! VV4      PS                  VV \N        PP                  ! WP                  4      .VOV4      # )Ú
cache_infoNr]   rp  rq  )Úmaxsplitrk   zGDynamo detected a call to a `functools.lru_cache`-wrapped function at 'Ú:zî'. Dynamo ignores the cache wrapper and directly traces the wrapped function. Silent incorrectness is only a *potential* risk, not something we have observed. Enable TORCH_LOGS=+dynamo for a DEBUG stack trace.

This call originates from:
ztorch._dynamoz)call to a lru_cache wrapped function at: r.  rÿ  Ú_is_torch_compileFr
  rz   rd  )*rÉ  rc  rö   rd  r7   ÚsplitÚframe_summaryÚosrI  Úbasenamer0  ÚlinenorA  Ú	tracebackÚformat_listrk   r}  rl   r@  ÚloggingÚ	getLoggerÚisEnabledForÚDEBUGÚ_guardsÚTracingContextÚextract_stackr   r®   Údebugr  r¹   rò   ró   rÚ   rA  r;  r   Ú(getattr_and_trace_no_nested_graph_breaksÚgetattr_and_tracerF   rÊ   rÃ  )r‹   rª   r¬   r­   Ú	target_fnrÛ  Úis_allowed_lru_cache_wrapperr„  r0  r‡  r£  Údynamo_loggerÚ
user_stackÚ	frame_locÚuser_stack_formattedÚuser_stack_traceÚall_argsÚis_inner_torch_compileÚpolyfills   &&&&               rb   rÃ  Ú)WrapperUserFunctionVariable.call_function«
  sê  € ô �4×#Ñ# \×2Ó2Ü × 0Ñ 0°$×2DÑ2DÀdÓKˆIÜ! )¨\¸2Ó>×DÐDÀ"ˆKäBÀ4×CSÑCSÓTð )ð
 ×!Ñ! #°Ð!Ó2°1Õ5¸Õ@ß4Ð4à "× 0Ñ 0Ó 2�ÜŸ7™7×+Ñ+¨M×,BÑ,BÓC�Ø&×-Ñ-�ð$Ø$, :¨Q¨v¨hð 73ð —w‘wœy×4Ò4°m°_ÓEÓFÐGðIð ô —‘×#Ñ#×-Ñ-¨cÔ2ä %§¡× 3Ñ 3× ;Ñ ;× EÑ EÀoÓ V�Ø ×-Ñ-¬g¯m©m×<Ò<Ü!&§¡×!=Ñ!=×!KÑ!KÓ!M�JÜ!7Ó!9¸JÕ!F�JØ!+¨B¥×!8Ñ!8¸*ÀR½.×:OÑ:OÐ P�IØ+-¯7©7´9×3HÒ3HÈÓ3TÓ+UÐ(Ø)RÐS\Ð]^ÕS_ÐR`Ð`aÐbkÐlmÕbnÐaoÐoqÐ'rÐ$Ø$¬Ð,@Ó(AÕAÐ$Ø!×'Ñ'Ð(8Ô9à—>‘>Ó#¤d¨4£jÕ0ˆð ×ÑÐ"7Ñ7÷ 	,ð 	,Ü×&Ò& t×'7Ñ'7Ð9LÈeÓT÷	,ð 	,äÜ×&Ò&Ø×$Ñ$Ð&BÀDóð Øóð —9‘9×$Ñ$×+Ñ+ð,ð 	÷ &ô ×>Ò>ä×,Ñ,ð 	ô
 ×$Ò$ØØó
÷ ‰-ØØ”?×(Ò(¨×-?Ñ-?Ó@ÐLÀ8ÐLØó
ð	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rî  )rh   rv   s   "€rb   ri   r_  ÷
  s   ø€ ÷  ñ  ©fñ  ra   c                ó   € V P                   # ry   )rc  r  s   &rb   r  Ú8WrapperUserFunctionVariable.get_real_python_backed_value÷
  s   € ð ×ÑÐra   )rd  rc  )r\   r]   r^   r_   r¦  r  r�   rj  r<  r2  rr  re  r°  r  rÃ  r  r`   rŸ   rÜ  rÝ  s   @@rb   r]  r]  o
  s{   ù‡ € ñ÷"ð "÷+ó +÷
+ð +÷)ð )÷,ð ,÷2ó 2ò=÷=ð =÷(ð ÷J
ð J
÷X ÷  ð  ra   r]  c                   óf   a a€ ] tR tRt oRtV3R lR ltV3R lV 3R lltV3R lR ltR	tVt	V ;t
# )
ÚWrapperUserMethodVariableiþ
  zÇ
Similar to WrapperUserFunctionVariable, but for methods. The only delta is
saving the vt for `self` object of the method which is then used by
WrapperUserFunctionVariable in `call_function` method.
c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   Ú&WrapperUserMethodVariable.__annotate__  ó   ø€ ÷  ñ  ™Tñ  ra   c                ó"   € \         P                  # ry   r&  r  s   &rb   r  Ú%WrapperUserMethodVariable.python_type  r(  ra   c          
      ó6   <€ V ^8„  d   QhRS[ RS[RS[RS[ RR/# )rf   rc  rd  Úself_objr­   rg   N)r   r®   rF   )rh   rv   s   "€rb   ri   r¥    s=   ø€ ÷ ñ áðñ ðñ "ð	ñ
 ðð 
ñra   c                ó6   <€ \         SV `  ! W3/ VB  W0n        R # ry   )r*  r�   rj  )r‹   rc  rd  rª  r­   r+  s   &&&&,€rb   r�   Ú"WrapperUserMethodVariable.__init__  s   ø€ ô 	‰Ò˜Ñ>°vÒ>ØŽra   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# re   r  )rh   rv   s   "€rb   ri   r¥    r  ra   c                ó   € V P                   .# ry   r   r  s   &rb   r  Ú#WrapperUserMethodVariable.self_args  r"  ra   r   )r\   r]   r^   r_   r¦  r  r�   r  r`   rŸ   rÜ  rÝ  s   @@rb   r£  r£  þ
  s-   ù‡ € ñ÷ ð  ÷ó ÷÷ ð ra   r£  c                óF   € V ^8„  d   QhR\         \        \        3,          /# re   )r˜   r   )rh   s   "rb   ri   ri     s   € ÷ ñ ¤d¬3´¨8¥nñ ra   c                  ó^   € \         P                  P                  4       '       d	   ^ RIHp  V # / # )rç   ©Útraceable_collective_remaps)rk   ÚdistributedÚis_availableÚ)torch.distributed._functional_collectivesr³  r²  s    rb   Ú_traceable_collective_remapsr·    s)   € ä×Ñ×%Ñ%×'Ò'õ	
ð +Ð*Ø€Ira   c                óN   € V ^8„  d   QhRRR\         R\        3,          R\        /# ©rf   rª   rN   rð   .rg   )r   r   r(   )rh   s   "rb   ri   ri   !  s-   € ÷ 
/ñ 
/Ø#ð
/Ü)1°#´s°(Õ);ð
/äñ
/ra   c                 ó  € \         P                  P                  4       '       g   \        R 4      hV\	        4       P                  4       9  d   \        V R24      hVP                  pV P                  R4      p\        W24      # )zIllegal invocation.z$ is not a traceable collective remapz)torch.distributed._functional_collectives)	rk   r´  rµ  rë   r·  r7  r\   Úimport_sourcer(   )rª   rð   Ú
inner_nameÚpath_sources   &&  rb   Ú_traceable_collectives_sourcer¾  !  sr   € ô ×Ñ×)Ñ)×+Ò+ÜÐ2Ó3Ð3Ø	Ô-Ó/×6Ñ6Ó8Ô8Ü ˜tÐ#GÐHÓIÐIà—‘€JØ×"Ñ"Ð#NÓO€KÜ�kÓ.Ð.ra   c                   ó¨   a a€ ] tR tRt oRtV3R lV 3R llt]V3R lR l4       t]V3R lR l4       t]V3R	 lR
 l4       t	V3R lR lt
RtVtV ;t# )Ú!CollectiveFunctionRewriteVariablei.  aß  
Some of the torch.distributed.* collective APIs are possible to rewrite to 'traceable' collectives.

This class provides both a way to check if a function is remappable, and perform the remapping.

In the case that a function is 'remappable' but only for some combinations of call-time arguments,
we check the args at `call_function` time and fall back to graph-breaking if needed.  This is no worse
than status-quo as we currently graph-break on all distributed.* collectives.
c                óD   <€ V ^8„  d   QhRS[ RS[3,          RS[RS[RR/# )rf   rð   .Úreplacement_varr­   rg   N)r   r   rß  )rh   rv   s   "€rb   ri   Ú.CollectiveFunctionRewriteVariable.__annotate__9  s<   ø€ ÷ /ñ /á�S™#�XÕð/ñ .ð	/ñ
 ð/ð 
ñ/ra   c               ó�   <€ \         SV `  ! V3/ VB  \        V\        4      '       g   \	        R \        V4       24      hW n        R# )z4replacement_var must be a UserFunctionVariable, got N)r*  r�   rÉ   rß  rë   rì   rÂ  )r‹   rð   rÂ  r­   r+  s   &&$,€rb   r�   Ú*CollectiveFunctionRewriteVariable.__init__9  sJ   ø€ ô 	‰Ò˜Ñ&˜vÒ&Ü˜/Ô+?×@Ò@Ü ØFÄtÈOÓG\ÐF]Ð^óð ð  /Öra   c          
      óH   <€ V ^8„  d   QhRRRS[ RS[3,          RS[RS[RR/# )	rf   rª   rN   Úold_fn.rÆ   Úoptionsrg   rÀ  )r   r   r   )rh   rv   s   "€rb   ri   rÃ  H  sD   ø€ ÷ 
ñ 
Ø'ð
á˜™c˜Õ"ð
ñ ð
ñ ð	
ð
 
-ñ
ra   c           	     óh   € \         P                  W4      w  rE\        V3R \        V3RV/VB RV/VB # )rÂ  rÆ   )rÀ  r±  rß  )rª   rÇ  rÆ   rÈ  Únew_fnÚ
new_sources   &&&,  rb   rÌ   Ú(CollectiveFunctionRewriteVariable.createG  sR   € ô ?×FÑFÀrÓRÑˆÜ0Øñ
ä0°ÑVÀ
ÐVÈgÑVð
ð ð
ð ñ	
ð 	
ra   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rf   Úvariablerg   )r   r]  )rh   rv   s   "€rb   ri   rÃ  W  s   ø€ ÷ 
ñ 
™cð 
¡dñ 
ra   c                óX   € \         P                  ! V 4      ;'       d    V \        4       9   # ry   )rò   Ú
isfunctionr·  )rÎ  s   &rb   Úcan_rewriteÚ-CollectiveFunctionRewriteVariable.can_rewriteV  s(   € ô ×Ò˜xÓ(×WÐW¨XÔ9UÓ9WÑ-Wð	
ra   c                óT   <€ V ^8„  d   QhRRRS[ RS[3,          RS[S[S[3,          /# r¹  )r   r   r¸   r(   )rh   rv   s   "€rb   ri   rÃ  ]  s<   ø€ ÷ Añ AØ'ðAÙ-5°c¹3°hÕ-?ðAá	‰s‘JˆÕ	ñAra   c                ó>   € \        4       V,          pV\        W4      3# ry   )r·  r¾  )rª   rð   rÊ  s   && rb   r±  Ú)CollectiveFunctionRewriteVariable.rewrite\  s"   € ô .Ó/°Õ3ˆØÔ4°RÓ@Ð@Ð@ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rÃ  c  sN   ø€ ÷ |Dñ |Dà'ð|Dñ ‘?Õ#ð|Dñ ‘S™/Ð)Õ*ð	|Dñ
 
ñ|Dra   c           
     óª
  € ^ RI Hp ^ RIHp \        P
                  ! V P                  4      p\        VP                  ! V/ VB P                  4      p. pRV9   d^   VR,          P                  4       '       dA   \        RV P                   RV: RV: 2RV P                   2. \        P                  OR7       V P                  VP                  8X  Ed7   \        P                   '       g   \        R	V P                   R
R.R7       VR,          p\#        V\$        P&                  4      '       g*   \(        P*                  P,                  P/                  R4      h\1        4       p\1        4       p	\1        4       p
\1        4       pRpVP2                   EFî  pVP5                  4       VP6                  Jd*   \(        P*                  P,                  P/                  R4      hVP9                  VR4      pVP;                  4       '       dƒ   VP                  4       pWôP<                  VP>                  39  d-   \(        P*                  P,                  P/                  RV 24      h\$        P@                  PC                  VPD                  4      pMl\G        VR4      '       d/   \$        P@                  PC                  VPI                  4       4      pM,\(        P*                  P,                  P/                  RV 24      hVPK                  V4       VPK                  VP9                  VR4      4       V	PK                  VP9                  VR4      4       V
PK                  VP9                  VR4      4       Ve   EKÜ  VP9                  VR4      pEKñ  	  Vf   \M        R4      h. pR\$        P&                  ! V4      R\$        P&                  ! V	4      R\$        P&                  ! V
4      R\$        P&                  ! V4      RV/pV PN                  PQ                  VVV4      # V P                  VP<                  VP>                  39   dN   \        P                   '       g   \        RV P                   R
R.R7       V PN                  PQ                  WV4      # V P                  VPR                  VPT                  VPV                  VPX                  VPZ                  39   dt   VP]                  R4      pVe   VP^                  MVP`                  R,          Pb                  pVV9  d   \e        RV 24      h\f        Ph                  ! WV,          4      VR&   V PN                  PQ                  WV4      # )rç   N)ÚREDUCE_OP_TO_STRÚasync_opz)async_op=True for distributed collectivesz, args=ú	, kwargs=z3`torch.compile` doesn't support `async_op=True for rú  z.P2P compilation disabled for batch_isend_irecvzP2P compilation is disabled.z3Set TORCHDYNAMO_ENABLE_P2P_COMPILATION=1 to enable.Úp2p_op_listz`P2POp` used incorrectlyr  zunexpected P2POp op r<  zunexpected P2POp op variable ÚtensorÚ
group_peerÚtagÚgroupz&group_var must be set from P2POp itemsÚop_listÚ	peer_listÚtag_listÚtensorsÚ
group_namez(P2P compilation disabled for isend/irecvzUnsupported all_reduce op: )5Útorch.distributedr´  r¶  rØ  rò   r‚  rð   r˜   rƒ  r„  r  r$   r   r”  Úbatch_isend_irecvr   Úenable_p2p_compilationrÉ   r   rS   rk   r}  rm  ÚInternalTorchDynamoErrorr¹   rÑ   r  ÚP2POprr  rã  ÚisendÚirecvrH   rÌ   r\   rÉ  r<  r³  rë   rÂ  rÃ  Ú
all_reduceÚreduce_scatterÚreduce_scatter_singleÚreduce_scatter_tensorÚ_reduce_scatter_baser¤   râ  Ú
parametersÚdefaultrD  rF   rÊ   )r‹   rª   r¬   r­   ÚdistrØ  r‚  Úp2p_opsÚopsÚpeersÚtagsrã  Ú	group_varÚitemÚop_varr  Únew_argsÚ
new_kwargsÚreduce_op_varÚ	reduce_ops   &&&&                rb   rÃ  Ú/CollectiveFunctionRewriteVariable.call_functionc  s~  € õ 	)ÝNô ×%Ò% d§g¡gÓ.ˆ	Ü�i—n’n dÐ5¨fÑ5×?Ñ?Ó@ˆØˆà˜Ô F¨:Õ$6×$IÑ$I×$KÒ$KÜØCØŸ7™7˜) 8 d¡W¨J¨v©iÐ8ØQÐRV×RYÑRYÐQZÐ[ðÜ&×2Ñ2ðõ	ð �7‰7�d×,Ñ,Õ,Ü×0×0Ð0ÜØLØ#Ÿw™w˜iØ >àMðõ	ð ˜]Õ+ˆGÜ˜g¤y×'=Ñ'=×>Ò>Ü—m‘m×'Ñ'×@Ñ@Ø.óð ô *.«ˆCÜ“FˆEÜ“6ˆDÜ“fˆGØ04ˆIàŸ��Ø×#Ñ#Ó%¨T¯Z©ZÓ7ÜŸ-™-×+Ñ+×DÑDØ2óð ð ×.Ñ.¨r°4Ó8�Ø×,Ñ,×.Ò.Ø×2Ñ2Ó4�BØ§*¡*¨d¯j©jÐ!9Ô9Ü#Ÿm™m×/Ñ/×HÑHØ2°2°$Ð7óð ô '×7Ñ7×>Ñ>¸r¿{¹{ÓK‘FÜ˜V Z×0Ò0Ü&×7Ñ7×>Ñ>¸v¿¹Ó?PÓQ‘FäŸ-™-×+Ñ+×DÑDØ7¸°xÐ@óð ð —
‘
˜6Ô"Ø—‘˜t×4Ñ4°R¸ÓBÔCð —‘˜T×2Ñ2°2°|ÓDÔEØ—‘˜D×1Ñ1°"°eÓ<Ô=ØÕ$Ø $× 5Ñ 5°b¸'Ó B“Iñ9 &ð< Ò Ü$Ð%MÓNÐNØ.0ˆHàœ9×1Ò1°#Ó6ØœY×3Ò3°EÓ:ØœI×2Ò2°4Ó8Øœ9×1Ò1°'Ó:Ø˜ið6ˆJð ×'Ñ'×5Ñ5°b¸(ÀJÓOÐOà�7‰7�t—z‘z 4§:¡:Ð.Ô.Ü×0×0Ð0ÜØFØ#Ÿw™w˜iØ >àMðõ	ð ×'Ñ'×5Ñ5°bÀÓGÐGà�7‰7Ø�O‰OØ×ÑØ×&Ñ&à×&Ñ&à×%Ñ%ð
ô 
ð #ŸJ™J tÓ,ˆMð !Ò,ð ×#Ò#à×)Ñ)¨$Õ/×7Ñ7ð ð
 Ð 0Ô0Ü Ð#>¸y¸kÐ!JÓKÐKÜ*×0Ò0°ÀiÕ5PÓQˆF�4‰LØ×#Ñ#×1Ñ1°"¸FÓCÐCra   )rÂ  )r\   r]   r^   r_   r¦  r�   ÚstaticmethodrÌ   rÑ  r±  rÃ  r`   rŸ   rÜ  rÝ  s   @@rb   rÀ  rÀ  .  sg   ù‡ € ñ÷/ó /ð ÷
ó ð
ð ÷
ó ð
ð
 ÷Aó ðA÷|D÷ |Dð |Dra   rÀ  c                   óD   a € ] tR tRt o V 3R lR ltV 3R lR ltRtV tR# )ÚCollectionsNamedTupleFunctioniâ  c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   Ú*CollectionsNamedTupleFunction.__annotate__ã  ó   ø€ ÷ ñ ¡Cñ ra   c                ó   € V P                   # ry   rñ  r  s   &rb   r  Ú0CollectionsNamedTupleFunction.as_python_constantã  rô  ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r  æ  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
ra   c                ó  € \        W#4      pV'       d�    V P                  ! V Uu. uF  qUP                  4       NK  	  up/ VP                  4        UUu/ uF  w  rgWgP                  4       bK  	  uppB p\        P                  ! X\        4       R7      # \        RRV: RV: 2R. \        P                  OR7       R# u upi u uppi   \         d5   p	\        \        T	4      T\        T	P                  4      R 7        Rp	?	LŽRp	?	ii ; i)rµ  Nr‚  znamedtuple constructionzargs=rÚ  z?`torch.compile` only support certain input types for namedtuplerú  )r2   rð   r  rÑ   r@  r    rì   r¹   r¬   r   ÚUserDefinedClassVariablerE   r$   r   r”  )
r‹   rª   r¬   r­   Úconstant_argsry  rÒ   rÓ   râ  rm  s
   &&&&      rb   rÃ  Ú+CollectionsNamedTupleFunction.call_functionæ  só   € ô ,¨DÓ9ˆßð
ØŸšÙ6:Ó;±d°×*Ñ*Ö,±dÑ;ðà=C¿\¹\¼^ÔL¹^±T°Q�q×.Ñ.Ó0Ò0¹^ÒLñ�ô ×5Ò5ØÜ.Ó0ôð ô 	Ø-Ø�t‘g˜Z ™yÐ)ØYðÜ"×.Ñ.ð÷		
ùò <ùÛLøäô Ü(Ü˜“IØÜ˜cŸh™h›÷ò ûðús3   •C ¥B=½C ÁCÁ.C Â=C ÃDÃ*DÄDrZ   N)r\   r]   r^   r_   r  rÃ  r`   rŸ   r    s   @rb   r  r  â  s   ø‡ € ÷ð ÷
ö 
ra   r  c            	       ó„  a a€ ] tR tRt o]P
                  tR0]P                  mtR!V3R lV 3R lllt	R t
V3R lR ltV3R	 lR
 ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltR]! ]R4      R]! ]R4      R]! ]R4      /tV3R lV 3R lltV3R lR ltV3R lR ltR tVtV ;t# )"ÚFunctoolsPartialVariablei  Úoriginal_cache_hashNc                ób   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[S[S[ 3,          RS[RS[RR/# )rf   rt   r¬   Úkeywordsr  r­   rg   N)rF   r¹   r˜   r®   r   )rh   rv   s   "€rb   ri   Ú%FunctoolsPartialVariable.__annotate__  sV   ø€ ÷ 7ñ 7áð7ñ ‘?Õ#ð7ñ ‘s™OÐ+Õ,ð	7ñ
 !ð7ñ ð7ð 
ñ7ra   c                ó  <€ \         SV `  ! R/ VB  Wn        \        V\        4      '       g   \        R \        V4       24      hW n        \        V\        4      '       g   \        R\        V4       24      hW0n	        W@n
        R# )zargs must be a list, got zkeywords must be a dict, got NrZ   )r*  r�   rt   rÉ   r¹   rë   rì   r¬   r˜   r  r  )r‹   rt   r¬   r  r  r­   r+  s   &&&&&,€rb   r�   Ú!FunctoolsPartialVariable.__init__  ss   ø€ ô 	‰ÒÑ"˜6Ò"ØŒ	Ü˜$¤×%Ò%Ü Ð#<¼TÀ$»Z¸LÐ!IÓJÐJØŒ	Ü˜(¤D×)Ò)Ü Ð#@ÄÀhÃÐ@PÐ!QÓRÐRØ Œà#6Ö ra   c                ó    € ^RI Hp V! WW#4      # rü   rÿ   r  s   &&&& rb   r  Ú,FunctoolsPartialVariable.tp_richcompare_impl#  r  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r  (  ó   ø€ ÷ !ñ !™Tñ !ra   c                ó"   € \         P                  # ry   ©rØ  Úpartialr  s   &rb   r  Ú$FunctoolsPartialVariable.python_type(  s   € Ü× Ñ Ð ra   c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   r  +  s   ø€ ÷ 
ñ 
 ;ð 
°4ñ 
ra   c                ór  a€ SP                  V3R  l4       S! V P                  4       V P                  '       d   SP                  V P                  4       V P                  '       g8   SP                  \        \        V P                  4      ^,           R4      4       R# SP                  V P                  P                  4       4       \        V P                  P                  4       4      pSP                  SP                  \        V4      \        V P                  4      ,           ^,           VR4      4       R# )c                  ó(   <€ S P                  R R4      # r  rÚ  rÕ  s   €rb   rŒ  Ú6FunctoolsPartialVariable.reconstruct.<locals>.<lambda>,  s   ø€  g×&>Ñ&>¸{ÈIÔ&Vra   FN)ra  rt   r¬   Úforeachr  rb  r   rš   r7  r¸   ÚkeysÚcreate_call_function_kw)r‹   r
  r"  s   &f rb   rO  Ú$FunctoolsPartialVariable.reconstruct+  sÍ   ø€ Ø×ÑÔVÔWÙ�—	‘	ÔØ�9�9ˆ9Ø�O‰O˜DŸI™IÔ&Ø�}�}ˆ}Ø×!Ñ!Ô"6´s¸4¿9¹9³~ÈÕ7IÈ5Ó"QÔRÙà�‰˜Ÿ™×,Ñ,Ó.Ô/Ü�T—]‘]×'Ñ'Ó)Ó*ˆØ×ÑØ×+Ñ+¬C°«I¼¸D¿I¹I»Õ,FÈÕ,JÈDÐRWÓXö	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   r  :  ó   ø€ ÷ )ñ )™cñ )ra   c                ó"   € V P                  4       # ry   r  r  s   &rb   re  Ú%FunctoolsPartialVariable.get_function:  ó   € Ø×&Ñ&Ó(Ð(ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r  =  sH   ø€ ÷ Gñ Gà'ðGñ ‘?Õ#ðGñ ‘S™/Ð)Õ*ð	Gñ
 
ñGra   c                ó€   € V P                   V,           p/ V P                  CVCpV P                  P                  WV4      # ry   )r¬   r  rt   rÃ  )r‹   rª   r¬   r­   Úmerged_argsÚmerged_kwargss   &&&&  rb   rÃ  Ú&FunctoolsPartialVariable.call_function=  s<   € ð —i‘i $Õ&ˆØ3˜4Ÿ=™=Ð3¨FÐ3ˆØ�y‰y×&Ñ& r¸ÓFÐFra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  rÆ  )rh   rv   s   "€rb   ri   r  G  s*   ø€ ÷ Uñ UØ-ðUÙ58ðUá	ñUra   c                ót   € \         P                  ! V\        \        P                  ! \
        4      V4      4      # ry   )rF   rÊ   rÉ  rØ  r  r5   r·  s   &&&rb   rË  Ú)FunctoolsPartialVariable.call_obj_hasattrG  s)   € ô ×$Ò$ R¬´×1BÒ1BÄ8Ó1LÈdÓ)SÓTÐTra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r  O  s   ø€ ÷ ñ Ð7ð ¹Oñ ra   c                ó   € V P                   # ry   )rt   r  s   &&rb   r;  Ú"FunctoolsPartialVariable._get_funcO  r-  ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r  R  s    ø€ ÷ Añ AÐ7ð A¹Oñ Ara   c                óš   € V P                   ;'       d    \        V P                   R 4      p\        P                  ! V P                  VR7      # )r¬   r  )rÆ   r(   r   r‹  r¬   rR  s   && rb   Ú	_get_argsÚ"FunctoolsPartialVariable._get_argsR  s5   € Ø—‘×@Ð@¤¨D¯K©K¸Ó!@ˆÜ×&Ò& t§y¡y¸Ô@Ð@ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   r  V  s    ø€ ÷ Añ AÐ ;ð AÁñ Ara   c                ó  € V P                   ;'       d    \        V P                   R 4      pV P                  P                  4        UUu/ uF  w  r4\        P
                  ! W4      VbK  	  ppp\        P                  ! WRR7      # u uppi )r  r  )rÆ   r(   r  rÑ   rF   rÊ   r   r„  )r‹   rª   rÆ   rÒ   rÓ   rÑ   s   &&    rb   Ú_get_keywordsÚ&FunctoolsPartialVariable._get_keywordsV  sj   € Ø—‘×DÐD¤¨D¯K©K¸Ó!DˆØ=A¿]¹]×=PÑ=PÔ=RÔSÑ=R±T°Q”×&Ò& rÓ-¨qÒ0Ñ=RˆÑSÜ×*Ò*¨5Ô@Ð@ùó Ts   Á"Brt   r¬   r  c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rv  rw  )rh   rv   s   "€rb   ri   r  a  s*   ø€ ÷ Fñ FØ-ðFÙ58ðFá	ñFra   c                ól   <€  \         SV `  W4      #   \         d    \        \        Y.R 7        R# i ; ir´  )r*  rr  rR  r    rô   )r‹   rª   r»   r+  s   &&&€rb   rr  Ú)FunctoolsPartialVariable.tp_getattro_impla  s9   ø€ ð	FÜ‘7Ñ+¨BÓ5Ð5øÜ"ô 	FÜ$¤^°R¸f×EÐEð	Fús   ƒ ’3²3c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   r  i  s   ø€ ÷ 
ñ 
¡Cñ 
ra   c                ó>  € \         P                  ! V P                  P                  4       .V P                   Uu. uF  qP                  4       NK  	  upO5/ V P
                  P                  4        UUu/ uF  w  r#W#P                  4       bK  	  uppB # u upi u uppi ry   )rØ  r  rt   r  r¬   r  rÑ   )r‹   rœ  rÒ   rÓ   s   &   rb   r  Ú+FunctoolsPartialVariable.as_python_constanti  sƒ   € Ü× Ò Ø�I‰I×(Ñ(Ó*ð
à26·)²)Ó<±)¨3×$Ñ$Ö&±)Ñ<ò
ð 6:·]±]×5HÑ5HÔ5JÔKÑ5J©T¨Qˆq×&Ñ&Ó(Ò(Ñ5JÒKñ
ð 	
ùâ<ùÛKs   ¹B
Á3Bc                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   r  p  s   ø€ ÷ 
ñ 
©#ñ 
ra   c                ó€  € \         P                  ! V P                  P                  4       .V P                   Uu. uF  qP                  4       NK  	  upO5/ V P
                  P                  4        UUu/ uF  w  r!W!P                  4       bK  	  uppB pV P                  e   V P                  Vn        V# u upi u uppi )zcSimilar to as_python_constant(), but add ID_MATCH guards to try to force things to become constants)	rØ  r  rt   rµ  r¬   r  rÑ   r  Ú
cache_hash)r‹   rÓ   rÒ   rÎ   s   &   rb   rµ  Ú1FunctoolsPartialVariable.guard_as_python_constantp  s¤   € ä×"Ò"Ø�I‰I×.Ñ.Ó0ð
à48·I²IÓ>±I¨q×(Ñ(Ö*±IÑ>ò
ð <@¿=¹=×;NÑ;NÔ;PÔQÑ;P±4°1ˆq×,Ñ,Ó.Ò.Ñ;PÒQñ
ˆð ×#Ñ#Ò/Ø $× 8Ñ 8ˆFÔØˆùò ?ùÛQs   ¹B5
Á3B:)r¬   rt   r  r  ry   )r\   r]   r^   r_   rØ  r  rú  rF   rû  r�   r  r  rO  re  rÃ  rË  r;  r7  r;  rB   rÚ  rr  r  rµ  r`   rŸ   rÜ  rÝ  s   @@rb   r  r    sã   ù‡ € à×%Ñ%€Mð 	ðà	×	'Ñ	'ð€N÷
7õ 7ò&7÷
!ð !÷
ð 
÷)ð )÷Gð G÷Uð U÷ð ÷Að A÷Að Að 	‘�y $Ó'Ø‘�y $Ó'Ø‘F˜=¨$Ó/ð€J÷Fó F÷
ð 
÷
÷ 
ð 
ra   r  c                   ó<  a a€ ] tR tRt o0 Rm]P
                  mt]]P                  V3R lR l4       4       t	]V3R lR l4       t
V3R lR ltV3R lV 3R	 llt]V3R
 lR l4       tV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚPolyfilledFunctionVariablei}  c                ó^   <€ V ^8„  d   QhRS[ S[RS[3,          S[P                  3,          /# ©rf   rg   .)r˜   r   r   r×   r   )rh   rv   s   "€rb   ri   Ú'PolyfilledFunctionVariable.__annotate__‡  s-   ø€ ÷ ñ ¡t©H°S¹#°XÕ,>Á×@RÑ@RÐ,RÕ'Sñ ra   c                ó   € / # ry   rZ   )rê  s   &rb   Ú_get_polyfill_handlersÚ1PolyfilledFunctionVariable._get_polyfill_handlers…  rÑ  ra   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rf   râ  rÆ   rg   rH  r  )rh   rv   s   "€rb   ri   rK  ‹  s%   ø€ ÷ )ñ )Ùð)Ù!'ð)à	%ñ)ra   c                ód   € \        VP                  \        P                  4      4       V ! WR 7      # ræ  rç  ré  s   &&&rb   rë  Ú-PolyfilledFunctionVariable.create_with_sourceŠ  s(   € ô 	�f×'Ñ'¬×(BÑ(BÓCÔDá�5Ô(Ð(ra   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r  rî  )rh   rv   s   "€rb   ri   rK  ’  rï  ra   c                ó   € V P                   # ry   rñ  r  s   &rb   rò  Ú0PolyfilledFunctionVariable.get_value_for_setattr’  rô  ra   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rf   rð   r­   rg   N)rU   r   )rh   rv   s   "€rb   ri   rK  •  s"   ø€ ÷ -ñ -™2ð -©ð -°ñ -ra   c                ór  <€ \         SV `  ! R/ VB  Wn        V P                  4       P	                  W4      pR p\        V4      '       g   \        RV RV 24      hR F;  p\        W5R 4      pV'       g   K  \        V4      '       g   \        RV R24      hTp M	  \        RV R24      hW0n	        W@n
        R # )NzPolyfill handler z is not callable for zPolyfill candidate z is not callablez# does not have a traceable functionrZ   )Ú__torch_dynamo_polyfill__Ú__python_implementation__)r*  r�   rð   rM  r¤   Úcallablerë   rö   r�  r‡  Útraceable_fn)r‹   rð   r­   ÚhandlerrZ  Úcandidate_attrÚ	candidater+  s   &&,    €rb   r�   Ú#PolyfilledFunctionVariable.__init__•  sÔ   ø€ Ü‰ÒÑ"˜6Ò"àŒà×-Ñ-Ó/×3Ñ3°BÓ;ˆØˆÜ˜× Ò Ü Ð#4°W°IÐ=RÐSUÐRVÐ!WÓXÐXó
ˆNô   ¸Ó>ˆIß‰yÜ 	×*Ò*Ü(Ø-¨i¨[Ð8HÐIóð ð  )�Ùñ
ô Ø# G 9Ð,OÐPóð ð "Œà ,Öra   c                ó4   <€ V ^8„  d   QhRS[ RS[3,          /# rJ  )r   r   )rh   rv   s   "€rb   ri   rK  ´  s   ø€ ÷ !ñ !™X c©3 hÕ/ñ !ra   c                ó   € V P                   # ry   )rZ  r  s   &rb   Úpolyfill_fnÚ&PolyfilledFunctionVariable.polyfill_fn³  s   € à× Ñ Ð ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rK  ·  s   ø€ ÷ 
ñ 
©4ñ 
ra   c                ó0   € \        V P                  R R4      # )Ú*__torch_dynamo_can_constant_fold_through__F)rö   r‡  r  s   &rb   Úcan_constant_fold_throughÚ4PolyfilledFunctionVariable.can_constant_fold_through·  s   € ÜØ�O‰OÐIÈ5ó
ð 	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   rK  ¼  r&  ra   c                ó"   € V P                  4       # ry   r  r  s   &rb   re  Ú'PolyfilledFunctionVariable.get_function¼  r)  ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rK  ¿  sB   ø€ ÷ 6
ñ 6
à'ð6
ñ ‘?Õ#ð6
ñ ‘S™/Ð)Õ*ð	6
ñ
 
ñ6
ra   c                óz  € V P                  4       '       d‡   \        W#4      '       dv   V P                  ! V Uu. uF  qDP                  4       NK  	  up/ VP	                  4        UUu/ uF  w  rVWVP                  4       bK  	  uppB p\
        P                  ! W4      # V P                  \        P                  J Ed­   \        V4      ^8X  Edœ   V'       Eg“   \        V^ ,          \        P                  \        P                  34      '       Ed[   \        ;QJ d-    R V^ ,          P                   4       F  '       d   K   RM"	  RM! R V^ ,          P                   4       4      '       dÿ   \        P                  P!                  TVP"                  P%                  R\&        P(                  \*        ;QJ d%    . R V^ ,          P                   4       F  NK  	  5M! R V^ ,          P                   4       4      3/ 4      \&        P(                  ! V^ ,          P                   Uu. uF5  pVP-                  4       '       d   VP                  4       MVP.                  NK7  	  up4      R7      # \
        P                  ! WP0                  4      pVP3                  V\5        V4      \7        V4      4      # u upi u uppi u upi )rý   c              3   ó  "  € T F{  pVP                  4       ;'       d'    \        VP                  4       \        4      ;'       g9    \        V\        P
                  4      ;'       d    VP                  4       \        J x € K}  	  R # 5iry   )rã  rÉ   r  r  r   ÚSymNodeVariabler  )r/  ry  s   & rb   r1  Ú;PolyfilledFunctionVariable.call_function.<locals>.<genexpr>Ö  sp   é € ð ñ '�Að ×%Ñ%Ó'×SÐS¬J°q×7KÑ7KÓ7MÌsÓ,S÷ Yð YÜ˜q¤)×";Ñ";Ó<×WÐWÀÇÁÃÔTWÐAWôYã&ùs   ‚Bž%BÁ!BÁ&BFTrÃ  c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5iry   )Úas_proxyr  s   & rb   r1  ro  á  s   é € Ð?±¨AŸ:™:Ÿ<˜<³ùr  )Úsym_num)rf  r3   rð   r  rÑ   rF   rÊ   ÚbuiltinsÚsumrš   rÉ   r   rS   r‹  rå  rn  rÌ   rÚ   Úcreate_proxyrk   Úsym_sumr¸   rã  rr  rZ  rÁ  r¹   r˜   )	r‹   rª   r¬   r­   ry  rÒ   rÓ   rÎ   Útraceable_function_variables	   &&&&     rb   rÃ  Ú(PolyfilledFunctionVariable.call_function¿  s-  € ð ×)Ñ)×+Ò+Ô0MØ÷1
ò 1
ð —’Ù6:Ó;±d°×*Ñ*Ö,±dÑ;ðà=C¿\¹\¼^ÔL¹^±T°Q�q×.Ñ.Ó0Ò0¹^ÒLñð ô #×(Ò(¨Ó4Ð4ð �G‰G”x—|‘|Ô#Ü�D“	˜Q•ß�FÜ˜4 �7¤Y×%;Ñ%;¼Y×=TÑ=TÐ$U×VÓVß“ñ ð ˜a�Ÿšó——’ñ ð ˜a�Ÿšó÷ ò ô ×,Ñ,×3Ñ3ØØ—	‘	×&Ñ&Ø#Ü—M‘Mß”UÑ?°°aµ·²Ó?—U‘UÑ?°°aµ·²Ó?Ó?ÐAØó	ô Ÿšð "& a¥§¢óñ "/˜Að  !×3Ñ3×5Ò5ð ×0Ñ0Ô2à!"§¡ò+ñ "/ñó	ð 4ó ð ô( '6×&;Ò&;¸B×@QÑ@QÓ&RÐ#Ø×-Ñ-Ø'Ü�‹JÜ�‹Ló
ð 	
ùòO <ùÛLùò4s   ¸J-Á&J2È!J8È< J8c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# r   r!  )rh   rv   s   "€rb   ri   rK  ÷  sS   ø€ ÷ Jñ Jà'ðJñ ðJñ ‘?Õ#ð	Jñ
 ‘S™/Ð)Õ*ðJñ 
ñJra   c                ób  € VR 8X  d   V P                  WV4      # \        V P                  VR4      pV'       g.   \        V4      '       g   \	        VRV RV P                   24       / pV P
                  '       d   \        V P
                  V4      VR&   \        V3/ VB pVP                  WV4      # )Ú__call__NzCannot find callable z in rÆ   )rÃ  rö   rð   r6   r!   rÆ   r(   rH  )r‹   rª   r»   r¬   r­   ÚmethodrÈ  Úpolyfilled_method_variables   &&&&&   rb   r)  Ú&PolyfilledFunctionVariable.call_method÷  s    € ð �:ÔØ×%Ñ% b°Ó7Ð7ä˜Ÿ™ $¨Ó-ˆßœ+ f×-Ò-Ü˜RÐ#8¸¸¸dÀ4Ç7Á7À)Ð!LÔMØˆØ�;�;ˆ;Ü *¨4¯;©;¸Ó =ˆG�HÑÜ%?ÀÑ%RÈ'Ñ%RÐ"Ø)×7Ñ7¸À&ÓIÐIra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   rK  
  r  ra   c                ó   € V P                   # ry   rñ  r  s   &rb   r  Ú-PolyfilledFunctionVariable.as_python_constant
  rô  ra   )rð   rZ  r‡  >   rð   r‡  rZ  )r\   r]   r^   r_   rF   rû  rý  rØ  ÚcacherM  rë  rò  r�   Úpropertyra  rf  re  rÃ  r)  r  r`   rŸ   rÜ  rÝ  s   @@rb   rH  rH  }  s²   ù‡ € òð 
×	'Ñ	'ð	€Nð Ø‡_�_÷ó ó ðð ÷)ó ð)÷ð ÷-ó -ð< ÷!ó ð!÷
ð 
÷
)ð )÷6
ð 6
÷pJð J÷&÷ ð ra   rH  c                   ó†   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltV3R
 lR ltRt	Vt
V ;t# )ÚSysFunctionVariablei  c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# ©rf   râ  r­   rg   Nrã  )rh   rv   s   "€rb   ri   Ú SysFunctionVariable.__annotate__  ó"   ø€ ÷ ñ ™cð ©Sð °Tñ ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   ©r*  r�   râ  ©r‹   râ  r­   r+  s   &&,€rb   r�   ÚSysFunctionVariable.__init__  ó   ø€ Ü‰ÒÑ"˜6Ò"ØŽ
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rˆ    ó   ø€ ÷ )ñ )™Tñ )ra   c                ó"   € \         P                  # ry   )r×   ÚBuiltinFunctionTyper  s   &rb   r  ÚSysFunctionVariable.python_type  s   € Ü×(Ñ(Ð(ra   c                ó"   <€ V ^8„  d   QhRRRR/# )rf   rª   rN   rg   zvariables.TupleVariablerZ   )rh   rv   s   "€rb   ri   rˆ    s   ø€ ÷ .ñ .Ð6ð .Ð;Tñ .ra   c                óz  € \        VP                  4      '       dK   VP                  R,          pVP                  pVP                  VR4      p\        P
                  ! W4      W$.pMA\        P                  ! R4      \        P                  ! R4      \        P                  ! R4      .p\        P                  ! V4      # )rý   r¼  Nrd  )
rš   r|  rÅ  rr  rF   rÊ   rH   rÌ   r   r‹  )r‹   rª   Úexnr¢  ÚtbrÑ   s   &&    rb   Úexc_infoÚSysFunctionVariable.exc_info  s•   € Üˆr�‰×ÒØ—/‘/ "Õ%ˆCØ—,‘,ˆCØ×%Ñ% b¨/Ó:ˆBÜ$×*Ò*¨2Ó3°SÐ=‰Eô !×'Ò'¨Ó-Ü ×'Ò'¨Ó-Ü ×'Ò'¨Ó-ðˆEô
 ×&Ò& uÓ-Ð-ra   c                ó$   <€ V ^8„  d   QhRRRS[ /# rm  rn  )rh   rv   s   "€rb   ri   rˆ  $  s   ø€ ÷ *ñ *Ð7ð *¹Oñ *ra   c                óF   € V P                  V4      P                  ^,          # )rý   )r˜  rÑ   r  s   &&rb   Ú	exceptionÚSysFunctionVariable.exception$  s   € Ø�}‰}˜RÓ ×&Ñ& qÕ)Ð)ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rˆ  '  sB   ø€ ÷ "ñ "à'ð"ñ ‘?Õ#ð"ñ ‘S™/Ð)Õ*ð	"ñ
 
ñ"ra   c                óî   € V P                   \        P                  J d   V P                  V4      # V P                   \        P                  Jd   \	        R V P                    24      hV P                  V4      # )zexpected sys.exception, got )râ  rD  r˜  rœ  rë   rÂ  s   &&&&rb   rÃ  Ú!SysFunctionVariable.call_function'  sY   € ð �:‰:œŸ™Ó%Ø—=‘= Ó$Ð$à�:‰:œSŸ]™]Ó*Ü Ð#?ÀÇ
Á
¸|Ð!LÓMÐMØ�~‰~˜bÓ!Ð!ra   r   )r\   r]   r^   r_   r�   r  r˜  rœ  rÃ  r`   rŸ   rÜ  rÝ  s   @@rb   r…  r…    s<   ù‡ € ÷ó ÷)ð )÷.ð .÷*ð *÷"÷ "ð "ra   r…  )Ú create_tma_experimental_metadataÚcreate_tma_stable_metadataÚTMADescriptorMetadataÚTritonHOPifierc                   óæ   a € ] tR tRt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )ÚDynamoTritonHOPifieri=  c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rf   r£  rg   r   )rh   rv   s   "€rb   ri   Ú!DynamoTritonHOPifier.__annotate__>  s   ø€ ÷ 
ñ 
¡Sð 
©Uñ 
ra   c                ó*   € \        R RRV 2. R7       R# )z!triton kernel unsupported featurerp  z/Encountered triton kernel unsupported feature: rú  Nr%  )r‹   r£  s   &&rb   Úraise_unsupportedÚ&DynamoTritonHOPifier.raise_unsupported>  s   € ÜØ7ØØIÈ#ÈÐOØ÷		
ra   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rf   Úmaybe_callablerg   r  )rh   rv   s   "€rb   ri   r¨  F  s   ø€ ÷ 
ñ 
©/ð 
¹dñ 
ra   c                ó.   € \        V\        \        34      # ry   )rÉ   r…  rß  )r‹   r­  s   &&rb   Úis_callableÚ DynamoTritonHOPifier.is_callableF  s   € ÜØÔ7Ô9MÐNó
ð 	
ra   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rf   rÅ   rg   rz  )rh   rv   s   "€rb   ri   r¨  K  s   ø€ ÷ ñ ™_ð ±ñ ra   c                ó   € VP                   # ry   r   )r‹   rÅ   s   &&rb   Ú	get_valueÚDynamoTritonHOPifier.get_valueK  s   € Ø�y‰yÐra   c                ót   <€ V ^8„  d   QhRRRS[ S[P                  P                  P                  R3,          /# )rf   ÚgridrR   rg   .)r¸   rk   ÚfxÚproxyÚProxy)rh   rv   s   "€rb   ri   r¨  N  s5   ø€ ÷ ñ Ð1ð ±e¹E¿H¹H¿N¹N×<PÑ<PÐRUÐ<UÕ6Vñ ra   c                óª   € ^RI Hp \        W4      '       d   VP                  4       # \	        RR\        V4       2R. \        P                  OR7       R# )rý   )rR   z/unsupported grid type for triton hop check_gridzgrid type = z;`torch.compile` only supports list-like grid for check_gridrú  N)ÚlistsrR   rÉ   rq  r$   rì   r   r”  )r‹   r¶  rR   s   && rb   Ú
check_gridÚDynamoTritonHOPifier.check_gridN  sK   € Ý+ä�d×-Ò-Ø—=‘=“?Ð"äØIØ&¤t¨D£z lÐ3ØYðÜ&×2Ñ2ð÷	ra   c                óF   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          RRRS[ /# )rf   r¶  Úmetarª   rN   rg   )r   r˜   r®   )rh   rv   s   "€rb   ri   r¨  ]  s5   ø€ ÷ ñ ÙðÙ#¡C© H�~ðØ3Nðá	ñra   c                ó¨   € VP                  4        UUu/ uF  w  rE\        P                  ! W44      VbK  	  pppVP                  W6./ 4      pV# u uppi ry   )rÑ   rF   rÊ   rÃ  )r‹   r¶  r¿  rª   rÒ   rÓ   Úmeta_vars   &&&&   rb   Ú	call_gridÚDynamoTritonHOPifier.call_grid]  sQ   € ð AEÇ
Á
ÄÔMÁ¹¸”O×)Ò)¨"Ó0°!Ò3ÁˆÑMØ×!Ñ! " j°"Ó5ˆØˆùó Ns   ”"Ac                ó†   <€ V ^8„  d   QhRS[ RS[3,          RS[S[,          RS[S[S[3,          RS[R,          RS[RS[/# )	rf   Úuser_fn.r¬   r­   rª   rN   rÎ  rg   )r   r   r¹   rF   r˜   r®   r	   )rh   rv   s   "€rb   ri   r¨  e  se   ø€ ÷ ñ á˜#™s˜(Õ#ðñ ‘?Õ#ðñ ‘S™/Ð)Õ*ð	ñ
 Ð0Õ1ðñ ðñ 
ñra   c                óX   € ^RI Hp VP                  WA4      pVP                  WBV4      pV# )rý   r*  )r>  r+  rÌ   rÃ  )	r‹   rÅ  r¬   r­   rª   rÎ  r+  Úwrapped_user_functionrÎ   s	   &&&&&&   rb   Úcall_user_defined_fnÚ)DynamoTritonHOPifier.call_user_defined_fne  s/   € õ 	/à 1× 8Ñ 8¸Ó EÐØ&×4Ñ4°R¸vÓFˆØˆra   c          
      óF   <€ V ^8„  d   QhRS[ RS[R,          RS[ RS[RS[/# )rf   Úuser_objrª   rN   rÎ  r»   rg   )r   r	   r®   rF   )rh   rv   s   "€rb   ri   r¨  s  sC   ø€ ÷  ñ  áð ñ Ð0Õ1ð ñ ð	 ñ
 ð ñ 
ñ ra   c                óx   € ^RI Hp Vf   \        R4      hV! V\        VP                  V 4      4      ! V4      pV# )rý   )ÚVariableBuilderútx must not be None)r>  rÍ  rë   r(   Úkernel_source)r‹   rË  rª   rÎ  r»   rÍ  Úwrapped_user_objs   &&&&&  rb   Úwrap_user_defined_objÚ*DynamoTritonHOPifier.wrap_user_defined_objs  sI   € õ 	-àŠ:Ü Ð!6Ó7Ð7ñ +Ø”
˜8×1Ñ1°d°VÓ=ô
à
óÐð  Ðra   c                óJ   <€ V ^8„  d   QhRS[ RS[R,          RS[S[ ,          /# )rf   Úconfigsrª   rN   rg   )r   r	   r¹   )rh   rv   s   "€rb   ri   r¨  †  s/   ø€ ÷ ñ ÙðÙ (Ð)DÕ Eðá	‰c�ñra   c                ó‚   € Vf   \        R4      h\        W!4      pV Uu. uF  q3P                  ! 4       NK  	  ppV# u upi )NrÎ  )rë   r<   rµ  )r‹   rÔ  rª   r   s   &&& rb   Úmaybe_unpack_configsÚ)DynamoTritonHOPifier.maybe_unpack_configs†  sI   € ð Š:Ü Ð!6Ó7Ð7Ü! "Ó.ˆñ DKÓKÁ7¸×2Ò2Ö4Á7ˆÐKàˆùò Ls   Ÿ<c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rf   rÎ   rg   rz  )rh   rv   s   "€rb   ri   r¨  “  s   ø€ ÷ 1ñ 1±Oð 1Éñ 1ra   c                óp   € VP                  4       '       g   V P                  R 4       VP                  4       # )z`@triton.heuristics must return constant values because configs can only contain constant values.)rã  rª  rµ  )r‹   rÎ   s   &&rb   Úmaybe_unpack_heuristic_resultÚ2DynamoTritonHOPifier.maybe_unpack_heuristic_result“  s3   € Ø×(Ñ(×*Ò*Ø×"Ñ"Ørôð ×.Ñ.Ó0Ð0ra   c                ó8   <€ V ^8„  d   QhRRRS[ S[,          RR/# )rf   rÎ  ÚTritonKernelVariabler¬   rg   )r   r   )rh   rv   s   "€rb   ri   r¨  �  s-   ø€ ÷ 
ñ 
à(ð
ñ ‘s�mð
ð 
 ñ	
ra   c                óÔ   € VP                   f   \        V4      ^8w  d   V P                  R4       \        V4      ! VP                  VP
                  V^ ,          VP                  R7      # )Nz7Triton kernels should be called with only a single grid)ÚkernelÚ
kernel_idxr¶  rÏ  )r¶  rš   rª  rì   rß  rà  rÏ  )r‹   rÎ  r¬   s   &&&rb   Úcall_getitemÚ!DynamoTritonHOPifier.call_getitem�  s\   € ð �=‰=Ò$¬¨D«	°Q¬Ø×"Ñ"ØIôô �HŒ~Ø—?‘?Ø×*Ñ*Ø�a•Ø"×0Ñ0ô	
ð 	
ra   c                óˆ   <€ V ^8„  d   QhRRRS[ RS[S[S[ 3,          RS[S[R3,          RS[S[,          RR	R
S[R,          /# )rf   rÎ  rÝ  ÚgridsÚcombined_argsÚlaunch_kwargs.Úkernel_arg_namesrª   rN   rg   N)r   r˜   r®   r¸   r   rH   )rh   rv   s   "€rb   ri   r¨  ¯  ss   ø€ ÷ ]
ñ ]
à(ð]
ñ ð]
ñ ™C¡˜H•~ð	]
ñ
 ™S #˜X•ð]
ñ ™c�(ð]
ð (ð]
ñ 
˜DÕ	 ñ]
ra   c                ó¾  € ^RI Hp / p\        VP                  4       4       FM  p	W9,          p
\	        V
\
        \        34      '       g   K)  V
P                  4       W‰&   V
P                  4       W9&   KO  	  VP                  4        U	U
u/ uF  w  rš\        P                  ! Wi4      V
bK  	  pp	p
^ RIHpHp VP                  4        U	U
u/ uFE  w  rš\	        V
\        4      '       g   K  V
P                  4       '       g   K5  WšP!                  4       bKG  	  pp	p
VP                  4        U	U
u/ uF5  w  rš\	        V
\        4      '       d   V
P                  4       '       d   K3  WšbK7  	  pp	p
. pV FR  p	W•9   d   K  W9,          p
\	        V
\        4      '       d   V
P                  4       '       d   KA  VP#                  V	4       KT  	  V'       d    V P%                  R\'        V4      : R24       VP)                  4        Fa  p
V
P+                  4       p
V
P-                  4       '       d   K+  V
P/                  4       '       d   KC  V P%                  R\1        V
4       R24       Kc  	  VP3                  V4      pV! V4      pVP4                  P7                  RVRRVP8                  RVR	VR
VRVP;                  4       RV/4       \        P                  ! VR4      # u up
p	i u up
p	i u up
p	i )rý   )r„  )Úkernel_side_tableÚtriton_kernel_wrapper_mutationz1Triton backend options must be Python constants: rq  z.Unexpected argument type for a Triton kernel: rÃ  rà  Úconstant_args_idxr¶  Útma_descriptor_metadatar­   ræ  NrZ   )Údictsr„  r¹   r"  rÉ   Ú!TMADescriptorExperimentalVariableÚTMADescriptorStableVariableÚto_metadataÚ
get_tensorrÑ   rF   rÊ   Ú*torch._higher_order_ops.triton_kernel_wrapré  rê  rã  r  r³  rª  Úsortedr7  Úrealizer}  Úis_symnode_liker  Úadd_constant_argsrÚ   ru  rà  rq  )r‹   rÎ  rä  rå  ræ  rç  rª   r„  rì  rÒ   rÓ   Úcombined_args_vtré  rê  r  Únon_constant_argsÚnon_const_optionsrë  r¿  s   &&&&&&&            rb   Úcall_HOPÚDynamoTritonHOPifier.call_HOP¯  s§  € õ 	-ð :<ÐÜ�m×(Ñ(Ó*Ö+ˆAØÕ ˆAÜØÔ5Ô7RÐS÷ô ð ./¯]©]«_Ð'Ñ*Ø#$§<¡<£>�Ó ñ ,ð 9F×8KÑ8KÔ8Mô
Ù8M±°ŒO×!Ò! "Ó(¨!Ò+Ñ8Mð 	ñ 
÷	
ð &×+Ñ+Ô-ô
á-‘�Ü˜!œ_×-ô &à23×2FÑ2F×2Hô &ˆA×#Ñ#Ó%Ò%Ù-ð 	ñ 
ð )×.Ñ.Ô0ô
á0‘�Ü˜q¤/×2Ò2°q×7KÑ7K×7Mô ˆAŠDÙ0ð 	ñ 
ð (*ÐÛˆAØÔ$ÙØÕ ˆAÜ˜q¤/×2Ò2°q×7KÑ7K×7MÔ7MØ!×(Ñ(¨Ö+ñ ÷ Ø×"Ñ"ØCÜÐ+Ó,Ñ/¨qð2ôð
 #×)Ñ)Ö+ˆAØ—	‘	“ˆAØ—K‘K—M”M Q×%6Ñ%6×%8Ô%8Ø×&Ñ&ØDÄTÈ!ÃWÀIÈQÐOöñ ,ð .×?Ñ?ÀÓNÐÙ Ð!2Ó3ˆØ
�	‰	×ÑØØ*Øà˜h×1Ñ1Ø#Ð%6Ø˜Ø)Ð+BØ˜$Ÿ-™-›/Ø ðô		
ô ×$Ò$ØØó
ð 	
ùóA
ùó
ùó

s$   Â"KÃKÃ%KÃ=KÄ'0KÅKrZ   N)r\   r]   r^   r_   rª  r¯  r³  r¼  rÂ  rÈ  rÑ  rÖ  rÚ  rá  rú  r`   rŸ   r    s   @rb   r¦  r¦  =  su   ø‡ € ÷
ð 
÷
ð 
÷
ð ÷ð ÷ð ÷ð ÷ ð  ÷&ð ÷1ð 1÷
ð 
÷$]
ö ]
ra   r¦  c                   ó¸   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltV3R
 lR ltV3R lR lt	R]
! ]4      /tV3R ltRtVtV ;t# )rÝ  i  c          
      óD   <€ V ^8„  d   QhRS[ RS[R,          RS[ RS[ RR/# )rf   rß  rà  Nr¶  r­   rg   )r   r  )rh   rv   s   "€rb   ri   Ú!TritonKernelVariable.__annotate__  s@   ø€ ÷ Wñ WÙðWÙ'*¨T¥zðWÙ9<ðWÙHKðWà	ñWra   c                ó    <€ VP                  R VP                  R4      4      V n        \        SV `  ! R/ VB  \
        P                  WW#4       R# )rÏ  rÆ   NrZ   )r³   r¤   rÏ  r*  r�   Ú dynamo_triton_hopifier_singletonÚinit_variable)r‹   rß  rà  r¶  r­   r+  s   &&&&,€rb   r�   ÚTritonKernelVariable.__init__  sA   ø€ ð $ŸZ™Z¨¸¿¹ÀHÓ9MÓNˆÔÜ‰ÒÑ"˜6Ò"Ü(×6Ñ6°tÀZÖVra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rþ    r  ra   c                ó,   € \        V P                  4      # ry   )rì   rß  r  s   &rb   r  Ú TritonKernelVariable.python_type  s   € Ü�D—K‘KÓ Ð ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rþ  "  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
ra   c                ó.   € \         P                  WW14      # ry   )r   Úcall_triton_kernelrÂ  s   &&&&rb   rÃ  Ú"TritonKernelVariable.call_function"  s   € ô 0×BÑBØ˜ó
ð 	
ra   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# )rf   rª   rN   rž  rg   rn  )rh   rv   s   "€rb   ri   rþ  ,  s.   ø€ ÷ Jñ Jà'ðJñ ðJñ 
ñ	Jra   c                ó.   € \         P                  W.4      # ry   )r   rá  )r‹   rª   rž  s   &&&rb   Úmp_subscript_implÚ&TritonKernelVariable.mp_subscript_impl,  s   € ô 0×<Ñ<¸TÀ5ÓIÐIra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rþ  4  sH   ø€ ÷ Qñ Qà'ðQñ ‘?Õ#ðQñ ‘S™/Ð)Õ*ð	Qñ
 
ñQra   c                ó.   € \         P                  WW14      # ry   )r   Úcall_runrÂ  s   &&&&rb   ÚrunÚTritonKernelVariable.run4  s   € ô 0×8Ñ8¸ÀVÓPÐPra   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )rf   rœ  rg   rã  )rh   rv   s   "€rb   ri   rþ  <  s   ø€ ÷ ñ ¡sð ©sñ ra   c                ó€   € ^RI Hp ^RIHp \	        W4      '       d!   VP
                  ! VP                  4       4      # V# )rý   rG   )rn  )r-  rH   rÜ  rn  rÉ   rÌ   Úevaluate_expr)r‹   rœ  rH   rn  s   &&  rb   Úspecialize_symbolicÚ(TritonKernelVariable.specialize_symbolic<  s4   € Ý.Ý+ô �c×+Ò+Ø#×*Ò*¨3×+<Ñ+<Ó+>Ó?Ð?Øˆ
ra   r  c                ób   <€ V ^8„  d   Qh/ R;R&   R;R&   S[ R,          ;R&   S[R,          ;R&   # )rf   rP   r¶  rQ   rß  Nrà  rÏ  )r  r   )rh   rv   s   "€rb   ri   rþ    s=   ø‡ ‚ Ø
Ññ àÑñ ñ �d•
Ññ ñ ˜D•=Ñ ò	 ra   )rÏ  )r\   r]   r^   r_   r�   r  rÃ  r  r  r  rC   rÖ  rÛ  r`   rŸ   rÜ  rÝ  s   @@rb   rÝ  rÝ    s_   ù‡ € ÷Wó W÷!ð !÷
ð 
÷Jð J÷Qð Q÷ð ð ™ ›Ð%€J÷g … ra   rÝ  c                   ót   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltR
tVt	V ;t
# )rî  iH  c                óZ   <€ V ^8„  d   QhRRRS[ S[,          RS[ S[,          RS[RS[RR/# )	rf   Údata_ptrzvariables.DataPtrVariableÚdimsÚ
block_dimsÚelement_sizer­   rg   N)r¹   rF   r   )rh   rv   s   "€rb   ri   Ú.TMADescriptorExperimentalVariable.__annotate__I  sQ   ø€ ÷ )ñ )à-ð)ñ ‘?Õ#ð)ñ ™Õ)ð	)ñ
 &ð)ñ ð)ð 
ñ)ra   c                óÆ   <€ \        V\        P                  4      '       g   \        R \	        V4       24      h\
        SV `  ! R/ VB  Wn        W n        W0n	        W@n
        R# )z(data_ptr must be a DataPtrVariable, got NrZ   )rÉ   r   ÚDataPtrVariablerë   rì   r*  r�   r  r  r  r  )r‹   r  r  r  r  r­   r+  s   &&&&&,€rb   r�   Ú*TMADescriptorExperimentalVariable.__init__I  s[   ø€ ô ˜(¤I×$=Ñ$=×>Ò>Ü Ø:¼4À»>Ð:JÐKóð ô 	‰ÒÑ"˜6Ò"Ø ŒØŒ	Ø$ŒØ(Öra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   r  [  s   ø€ ÷ 
ñ 
™Sñ 
ra   c                óü   € \        V P                   Uu. uF  qP                  4       NK  	  upV P                   Uu. uF  qP                  4       NK  	  upV P                  P                  4       4      # u upi u upi ry   )r¡  r  rq  r  r  )r‹   Údims   & rb   rð  Ú-TMADescriptorExperimentalVariable.to_metadata[  s[   € Ü/Ø'+§y¢yÓ1¡y �\‰\Ž^¡yÑ1Ø'+§¢Ó7¡ �\‰\Ž^¡Ñ7Ø×Ñ×&Ñ&Ó(ó
ð 	
ùÚ1ùÚ7s
   ”A4¼A9
c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   r  b  s   ø€ ÷ 
4ñ 
4 ;ð 
4°4ñ 
4ra   c                ó  a a€ SP                  VV 3R  l4       S P                  P                  S4       . S P                  OS P                  OS P
                  NpSP                  V4       SP                  \        V4      ^,           R4       R# )c                  óV   <€ S P                  R R\        SP                  4       R24      # )z$triton.tools.experimental_descriptorÚcreate_Úd_tma_descriptor)rÔ  rš   r  r]  s   €€rb   rŒ  Ú?TMADescriptorExperimentalVariable.reconstruct.<locals>.<lambda>d  s)   ø€ �G×,Ñ,Ø6Øœ#˜dŸi™i›.Ð)Ð)9Ð:ôra   FN)	ra  r  rO  r  r  r  r!  rÃ  rš   )r‹   r
  r¬   s   ff rb   rO  Ú-TMADescriptorExperimentalVariable.reconstructb  sp   ù€ Ø×Ñõô	
ð 	�‰×!Ñ! 'Ô*Ø@�—‘Ð@˜TŸ_™_Ð@¨d×.?Ñ.?Ð@ˆØ�‰˜ÔØ×Ñœc $›i¨!�m¨UÖ3ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rn  )rh   rv   s   "€rb   ri   r  n  s   ø€ ÷ )ñ )™Oñ )ra   c                ó.   € V P                   P                  # ry   )r  Úfrom_tensorr  s   &rb   rñ  Ú,TMADescriptorExperimentalVariable.get_tensorn  s   € Ø�}‰}×(Ñ(Ð(ra   )r  r  r  r  ©r\   r]   r^   r_   r�   rð  rO  rñ  r`   rŸ   rÜ  rÝ  s   @@rb   rî  rî  H  s2   ù‡ € ÷)ó )÷$
ð 
÷
4ð 
4÷)÷ )ð )ra   rî  c                   ót   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltR
tVt	V ;t
# )rï  ir  c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# )rf   rÜ  rT   Úblock_shaperS   r­   rg   Nrã  )rh   rv   s   "€rb   ri   Ú(TMADescriptorStableVariable.__annotate__s  s3   ø€ ÷ 
'ñ 
'à ð
'ð $ð
'ñ ð	
'ð
 
ñ
'ra   c                ó‚   <€ VP                  4       '       g   \        R 4      h\        SV `  ! R/ VB  Wn        W n        R# )z tensor argument must be a tensorNrZ   )r}  rë   r*  r�   rÜ  r5  )r‹   rÜ  r5  r­   r+  s   &&&,€rb   r�   Ú$TMADescriptorStableVariable.__init__s  s;   ø€ ð ×Ñ×!Ò!Ü Ð!CÓDÐDÜ‰ÒÑ"˜6Ò"ØŒØ&Öra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   r6    s   ø€ ÷ 
ñ 
™Sñ 
ra   c                óH   € \        V P                  P                  4       4      # ry   )r¢  r5  rq  r  s   &rb   rð  Ú'TMADescriptorStableVariable.to_metadata  s!   € Ü)Ø×Ñ×%Ñ%Ó'ó
ð 	
ra   c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   r6  „  s   ø€ ÷ 
ñ 
 ;ð 
°4ñ 
ra   c                óÐ   a€ SP                  V3R  l4       SP                  R4       V P                  P                  S4       S! V P                  4       SP                  ^4       R# )c                  ó(   <€ S P                  R R4      # )ztriton.tools.tensor_descriptorÚTensorDescriptorrÚ  rÕ  s   €rb   rŒ  Ú9TMADescriptorStableVariable.reconstruct.<locals>.<lambda>†  s   ø€ �G×,Ñ,Ø0Ø"ôra   r0  N)ra  Úload_methodrÜ  rO  r5  r)  r	  s   &frb   rO  Ú'TMADescriptorStableVariable.reconstruct„  sT   ø€ Ø×Ñôô	
ð 	×Ñ˜MÔ*Ø�‰×Ñ Ô(Ù�× Ñ Ô!Ø×Ñ˜AÖra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   r6  �  s   ø€ ÷ ñ ™Cñ ra   c                ó   € V P                   # ry   )rÜ  r  s   &rb   rñ  Ú&TMADescriptorStableVariable.get_tensor�  r  ra   )r5  rÜ  r2  rÝ  s   @@rb   rï  rï  r  s2   ù‡ € ÷
'ó 
'÷
ð 
÷

ð 
÷÷ ð ra   rï  c                   ób   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltRtVtV ;t	# )	Ú'CreateTMADescriptorExperimentalVariablei”  c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rf   Úrankr­   rg   N)r  r   )rh   rv   s   "€rb   ri   Ú4CreateTMADescriptorExperimentalVariable.__annotate__•  s)   ø€ ÷ ñ áðñ ðð 
ñ	ra   c                ó^   <€ VR9  d   \        RV 24      h\        SV `  ! R/ VB  Wn        R# )rý   zrank must be 1 or 2, got N)rý   rf   rZ   )rë   r*  r�   rI  )r‹   rI  r­   r+  s   &&,€rb   r�   Ú0CreateTMADescriptorExperimentalVariable.__init__•  s5   ø€ ð
 �vÔÜ Ð#<¸T¸FÐ!CÓDÐDÜ‰ÒÑ"˜6Ò"ØŽ	ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rJ  Ÿ  r  ra   c                ó"   € \         P                  # ry   rc  r  s   &rb   r  Ú3CreateTMADescriptorExperimentalVariable.python_typeŸ  r   ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rJ  ¢  sB   ø€ ÷ ;
ñ ;
à'ð;
ñ ‘?Õ#ð;
ñ ‘S™/Ð)Õ*ð	;
ñ
 
ñ;
ra   c                ó
  € R V9   d
   VR ,          MV^ ,          p\        V\        P                  4      '       g3   \        RRV RV 2RV P                   R2RV P                   R2.R7       V P                  ^8X  d~   \        V4      \        V4      ,           ^8w  d)   \        VR	\        V4      \        V4      ,            24       R
V9   d
   VR
,          MV^,          .pRV9   d
   VR,          MV^,          .pM¬\        V4      \        V4      ,           ^8w  d)   \        VR\        V4      \        V4      ,            24       RV9   d
   VR,          MV^,          RV9   d
   VR,          MV^,          .pRV9   d
   VR,          MV^,          RV9   d
   VR,          MV^,          .pRV9   d
   VR,          MVR,          p\        V\        P                  4      '       g   \        R\        V4       24      h\        VVVVR7      # )Úptrz.invalid ptr argument for create_tma_descriptorzargs = z, kwargs = z#Expected `ptr` argument of `create_z]d_tma_descriptor`to be from a `.data_ptr()` call, represented internally by `DataPtrVariable`z `torch.compile` may fail to internally represent result of `.data_ptr()` with `DataPtrVariable` due to a graph break between the `.data_ptr()` call and `create_zTd_tma_descriptor`. Please ensure there were no graph breaks between these two calls.rú  z6TMA metadata rank=1 requires exactly 4 arguments, got r%  Ú	block_dimz6TMA metadata rank=2 requires exactly 6 arguments, got Údim1Údim0Ú
block_dim1Ú
block_dim0r  z#ptr must be a DataPtrVariable, got )r  r  r  r  rd  )
rÉ   r   r!  r$   rI  rš   r!   rë   rì   rî  )r‹   rª   r¬   r­   rR  r  r  r  s   &&&&    rb   rÃ  Ú5CreateTMADescriptorExperimentalVariable.call_function¢  s  € ð  %¨œˆf�UŽm°D¸µGˆä˜#œy×8Ñ8×9Ò9ÜØHØ! $  {°6°(Ð;ØAÀ$Ç)Á)Àð M_ð _ðà#Ÿy™y˜kð */ð/ðõð �9‰9˜Œ>Ü�4‹yœ3˜v›;Õ&¨!Ô+Ü ØØLÌSÐQUËYÔY\Ð]cÓYdÕMdÐLeÐfôð
 "'¨&¤��u–°d¸1µgðˆDð (3°fÔ'<��{Ö#À$ÀqÅ'ð‰Jô �4‹yœ3˜v›;Õ&¨!Ô+Ü ØØLÌSÐQUËYÔY\Ð]cÓYdÕMdÐLeÐfôð
 #)¨FÔ"2��v–¸¸Q½Ø"(¨FÔ"2��v–¸¸Q½ðˆDð
 )5¸Ô(>��|Ö$ÀDÈÅGØ(4¸Ô(>��|Ö$ÀDÈÅGðˆJð 2@À6Ô1I�v˜nÖ-ÈtÐTVÍxˆô ˜#œy×8Ñ8×9Ò9Ü Ð#FÄtÈCÃyÀkÐ!RÓSÐSä0ØØØ!Ø%ô	
ð 	
ra   )rI  )
r\   r]   r^   r_   r�   r  rÃ  r`   rŸ   rÜ  rÝ  s   @@rb   rG  rG  ”  s(   ù‡ € ÷ó ÷"ð "÷;
÷ ;
ð ;
ra   rG  c                   óD   a € ] tR tRt o V 3R lR ltV 3R lR ltRtV tR# )Ú!CreateTMADescriptorStableVariableià  c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   Ú.CreateTMADescriptorStableVariable.__annotate__á  r  ra   c                ó"   € \         P                  # ry   rc  r  s   &rb   r  Ú-CreateTMADescriptorStableVariable.python_typeá  r   ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r\  ä  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
ra   c                ó€   € R V9   d
   VR ,          MV^ ,          pRV9   d
   VR,          MV^,          p\        VVR7      # )rÜ  r5  )rÜ  r5  )rï  )r‹   rª   r¬   r­   rÜ  r5  s   &&&&  rb   rÃ  Ú/CreateTMADescriptorStableVariable.call_functionä  sF   € ð &.°Ô%7�˜Ö!¸TÀ!½WˆØ/<ÀÔ/F�f˜]Ö+ÈDÐQRÍGˆä*ØØ#ô
ð 	
ra   rZ   N)r\   r]   r^   r_   r  rÃ  r`   rŸ   r    s   @rb   rZ  rZ  à  s   ø‡ € ÷"ð "÷
ö 
ra   rZ  c                   ó6   a € ] tR tRt o RtV 3R lR ltRtV tR# )Ú!PyTreeGetNodeTypeFunctionVariableió  a+  
`torch.utils._pytree._get_node_type` function is very hot function. We want to special case it to reduce Dynamo tracing time.

def _get_node_type(tree: Any) -> Any:
    node_type = type(tree)
    # All namedtuple types are implicitly registered as pytree nodes.
    # XXX: Other parts of the codebase expect namedtuple types always return
    #      `namedtuple` instead of the actual namedtuple type. Even if the type
    #      is explicitly registered.
    if is_namedtuple_class(node_type):
        return collections.namedtuple
    return node_type
c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   Ú.PyTreeGetNodeTypeFunctionVariable.__annotate__  sH   ø€ ÷ Jñ Jà'ðJñ ‘?Õ#ðJñ ‘S™/Ð)Õ*ð	Jñ
 
ñJra   c                óˆ  € \        V4      ^8w  d   \        VR\        V4       24       RpV^ ,          P                  '       dV   \        V^ ,          P                  P	                  \
        P                  4      4       \        V^ ,          P                  4      pV^ ,          P                  4       p\        V4      '       dl   \        R4      p\        VP	                  \
        P                  4      4       \        VR4      p\        P                  ! V\        \         4      R,          V4      # \        P                  ! WVR7      # )rý   z6pytree_get_node_type requires exactly 1 argument, got NÚcollectionsÚ
namedtupler  )rš   r!   rÆ   r'   r´   r&   Ú
TYPE_MATCHr1   r  r   r.   r  r(   rF   rÊ   Úvarsrg  )r‹   rª   r¬   r­   Útype_sourcer  Úcollections_sources   &&&&   rb   rÃ  Ú/PyTreeGetNodeTypeFunctionVariable.call_function  sø   € ô ˆt‹9˜Œ>ÜØÐLÌSÐQUËYÈKÐXôð ˆØ��7�>�>ˆ>Ü˜$˜q�'Ÿ.™.×3Ñ3´L×4KÑ4KÓLÔMÜ$ T¨!¥W§^¡^Ó4ˆKØ˜1•g×)Ñ)Ó+ˆÜ˜{×+Ò+Ü!-¨mÓ!<ÐÜÐ,×7Ñ7¼×8MÑ8MÓNÔOÜ$Ð%7¸ÓFˆKÜ"×(Ò(Ø”DœÓ% lÕ3°[óð ô ×$Ò$ R¸[ÔIÐIra   rZ   N)r\   r]   r^   r_   r¦  rÃ  r`   rŸ   r    s   @rb   rc  rc  ó  s   ø‡ € ñ÷Jö Jra   rc  c                   óB   a a€ ] tR tRt oRtV3R lV 3R lltRtVtV ;t# )Ú PyTreeTreeIsLeafFunctionVariablei  a  
`torch.utils._pytree.tree_is_leaf` function is a hot function. We want to special case it to reduce Dynamo tracing time.

def tree_is_leaf(
    tree: PyTree,
    is_leaf: Callable[[PyTree], bool] | None = None,
) -> bool:
    if is_leaf is not None and is_leaf(tree):
        return True
    return _get_node_type(tree) not in SUPPORTED_NODES

When is_leaf is None (the common case), we can optimize by not tracing into the function.
When is_leaf is not None, we fall back to regular tracing since it requires executing user code.
c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   Ú-PyTreeTreeIsLeafFunctionVariable.__annotate__+  sB   ø€ ÷ &8ñ &8à'ð&8ñ ‘?Õ#ð&8ñ ‘S™/Ð)Õ*ð	&8ñ
 
ñ&8ra   c                ó(  <€ \        V4      ^8  g   \        V4      ^8”  d   \        VR\        V4       24       VP                  R\        P                  ! R4      4      p\        V4      ^8X  d
   V^,          pVP                  4       '       g   \        S	V `  WV4      # V^ ,          p\        \        P                  P                  P                  4      P                  W./ 4      p\        \        R4      P                  \         P"                  4      4       \$        P&                  ! V\        P                  P                  P(                  \+        4       R7      pVP-                  VRV./ 4      p\$        P&                  ! WP.                  '       * 4      # )rý   z,tree_is_leaf requires 1 or 2 arguments, got rW   Nrk   r  Ú__contains__)rš   r!   r¤   rH   rÌ   rt  r*  rÃ  rc  rk   rl   rm   Ú_get_node_typer'   r.   r´   r&   r  rF   rÊ   rn   ro   r)  râ  )
r‹   rª   r¬   r­   rW   ÚtreeÚnode_type_varÚsupported_nodes_varÚoutr+  s
   &&&&     €rb   rÃ  Ú.PyTreeTreeIsLeafFunctionVariable.call_function+  s>  ø€ ô ˆt‹9�qŒ=œC ›I¨œMÜØÐBÄ3ÀtÃ9À+ÐNôð
 —*‘*˜YÔ(8×(?Ò(?ÀÓ(EÓFˆÜˆt‹9˜Œ>Ø˜1•gˆGà×'Ñ'×)Ò)Ü‘7Ñ(¨°6Ó:Ð:ð �A�wˆÜ9Ü�K‰K×Ñ×.Ñ.ó
ç
‰-˜˜F BÓ
'ð 	ô 	”l 7Ó+×6Ñ6´|×7LÑ7LÓMÔNÜ-×3Ò3ØÜ�K‰K×Ñ×/Ñ/Ü4Ó6ô
Ðð
 "×-Ñ-¨b°.À=À/ÐSUÓVˆÜ×$Ò$ R¯Y©Y¬Ó7Ð7ra   rZ   r  rÝ  s   @@rb   ro  ro    s   ù‡ € ñ÷&8÷ &8ó &8ra   ro  c                   óT   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )Ú SparseTensorCreationSkipVariableiT  zc
Skip variable for sparse tensor factory functions with clear messaging regarding lack of support.
c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r‡  rã  )rh   rv   s   "€rb   ri   Ú-SparseTensorCreationSkipVariable.__annotate__Y  s"   ø€ ÷ 9ñ 9™cð 9©Sð 9°Tñ 9ra   c                ó2   <€ R p\         SV `  ! V3RV/VB  R# )z8sparse tensor creation is not supported in torch.compilerñ  N)r*  r�   )r‹   râ  r­   rñ  r+  s   &&, €rb   r�   Ú)SparseTensorCreationSkipVariable.__init__Y  s   ø€ ØKˆÜ‰Ò˜Ñ8 vÐ8°Ô8ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r}  ]  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
ra   c                óª   € ^RI Hp \        V P                  R\	        V P                  4      4      p\        RRV 2RV R2. VP                  OR7       R# )	rf   )r   r\   z$Sparse tensor creation not supportedz
function: zEtorch.compile does not support sparse tensor creation functions like zZ. Sparse tensors require specialized handling that is not yet implemented in the compiler.rú  N)rp  r   rö   râ  r®   r$   ÚSPARSE_TENSOR)r‹   rª   r¬   r­   r   r¤  s   &&&&  rb   rÃ  Ú.SparseTensorCreationSkipVariable.call_function]  s]   € õ 	)ä˜$Ÿ*™* j´#°d·j±j³/ÓBˆÜØ:Ø   	Ð*àWÐX_ÐW`ð akð kð 5Ð%×3Ñ3Ð4÷	
ra   rZ   )
r\   r]   r^   r_   r¦  r�   rÃ  r`   rŸ   rÜ  rÝ  s   @@rb   r{  r{  T  s#   ù‡ € ñ÷9ó 9÷
÷ 
ð 
ra   r{  c                óJ   € V ^8„  d   QhRRR\         . R3,          R\        RR/# )rf   rª   rN   Ú	real_implNr»   rg   )r   r®   )rh   s   "rb   ri   ri   q  s?   € ÷ /Sñ /SØ#ð/Sä˜˜D˜Õ!ð/Sô ð/Sð 
ñ	/Sra   c                ó8  a € ^ RI Hu Hp ^ RIHpHpHp R pR.pV! WV4      w  ršV! V	4      pV! V
4      pVP                  R/ 34      ^,          pR V 3R llpV! V R2V4      V! V R2V4      V! V R2V4      R	3pS P                  P                  R
W_/ 4       R# )a%  Emit an invoke_leaf_function node for a side-effectful function with no
tensor inputs or outputs.

The function is captured as a closure inside _LeafCallable objects and
registered as a static attribute on the graph module.  Because
invoke_leaf_function is registered as EffectType.ORDERED, effect tokens
prevent DCE and maintain execution ordering relative to other ops.

Use this when Dynamo needs to preserve a pure-side-effect call (like
setting global runtime state) in the compiled graph so that it replays
at the correct position at runtime.
N)Ú_LeafCallableÚinvoke_leaf_functionÚmake_leaf_function_wrappersc                  ó   € R # ry   rZ   rZ   ra   rb   Ú	fake_implÚ5emit_noargs_leaf_function_to_graph.<locals>.fake_impl‰  r×  ra   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )rf   Ú	attr_namerÅ   rg   rå  )rh   s   "rb   ri   Ú8emit_noargs_leaf_function_to_graph.<locals>.__annotate__•  s!   € ÷ ñ œcð ¬ð ´ñ ra   c                 ór   <€ SP                   P                  W4      p\        V4      VP                  n        V# ry   )rÚ   Ú%register_static_attr_and_return_proxyrì   r  )rŽ  rÅ   r¸  rª   s   && €rb   Ú
make_proxyÚ6emit_noargs_leaf_function_to_graph.<locals>.make_proxy•  s+   ø€ Ø—	‘	×?Ñ?À	ÓOˆÜ˜s›)ˆ�
‰
ŒØˆra   Ú_real_fnÚ_fake_fnÚ_input_specrp  rÃ  rZ   )
Útorch.utils._pytreerl   rm   Ú,torch._higher_order_ops.invoke_leaf_functionr‡  rˆ  r‰  Útree_flattenrÚ   ru  )rª   r…  r»   Úpytreer‡  rˆ  r‰  r‹  Úcaptured_out_specÚwrapped_realÚwrapped_fakeÚreal_callableÚfake_callableÚ
input_specr’  Úinvoke_argss   f&&             rb   Ú"emit_noargs_leaf_function_to_graphr¢  q  sÈ   ø€ ÷" )Ð(÷ñ òð 8<°fÐÙ!<ØÐ/ó"Ñ€Lñ " ,Ó/€MÙ! ,Ó/€MØ×$Ñ$ b¨" XÓ.¨qÕ1€J÷ð ñ 	�d�V˜8Ð$ mÓ4Ù�d�V˜8Ð$ mÓ4Ù�d�V˜;Ð'¨Ó4Ø
ð	€Kð ‡I�I×Ñ˜?Ð,@ÈrÖRra   c                   óf   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltV3R lR ltR	tVt	V ;t
# )
ÚTritonSetAllocatorVariablei£  z”Trace triton.set_allocator as an invoke_leaf_function node in the
graph so that it executes at the right point at runtime, ordered by
effect tokens.c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r‡  rã  )rh   rv   s   "€rb   ri   Ú'TritonSetAllocatorVariable.__annotate__¨  r‰  ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   r‹  rŒ  s   &&,€rb   r�   Ú#TritonSetAllocatorVariable.__init__¨  rŽ  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r¦  ¬  r¦  ra   c                ó,   € \        V P                  4      # ry   )rì   râ  r  s   &rb   r  Ú&TritonSetAllocatorVariable.python_type¬  s   € Ü�D—J‘JÓÐra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r¦  ¯  sB   ø€ ÷ -ñ -à'ð-ñ ‘?Õ#ð-ñ ‘S™/Ð)Õ*ð	-ñ
 
ñ-ra   c                ó  aa€ \        V4      ^8w  d   \        R\        V4       24      hV'       d   \        R4      hV^ ,          P                  4       oV P                  oVV3R lp\	        WR4       \
        P                  ! R4      # )rý   zexpected exactly 1 arg, got zunexpected kwargsc                  ó   <€ S! S 4       R # ry   rZ   )Úalloc_fnÚset_allocators   €€rb   r…  Ú;TritonSetAllocatorVariable.call_function.<locals>.real_impl¾  s   ø€ Ù˜(Ô#Ùra   Ú	set_allocN)rš   rë   r  râ  r¢  rH   rÌ   )r‹   rª   r¬   r­   r…  r¯  r°  s   &&&& @@rb   rÃ  Ú(TritonSetAllocatorVariable.call_function¯  su   ù€ ô ˆt‹9˜Œ>Ü Ð#?ÄÀDÃ	¸{Ð!KÓLÐLßÜ Ð!4Ó5Ð5Ø˜•7×-Ñ-Ó/ˆð Ÿ
™
ˆö	ô 	+¨2¸+ÔFä×&Ò& tÓ,Ð,ra   r   )r\   r]   r^   r_   r¦  r�   r  rÃ  r`   rŸ   rÜ  rÝ  s   @@rb   r¤  r¤  £  s-   ù‡ € ñ÷ó ÷ ð  ÷-÷ -ð -ra   r¤  c                óÂ   € V ^8„  d   QhRRR\         P                  \         P                  ,          \         P                  ,          \         P                  ,          RRRR/# )rf   rª   rN   Ú
descriptorrj  rF   rg   N)r×   ÚMethodDescriptorTypeÚWrapperDescriptorTypeÚMemberDescriptorTypeÚGetSetDescriptorType)rh   s   "rb   ri   ri   Ð  sb   € ÷ 
ñ 
Ø#ð
ä×*Ñ*Ü×!Ñ!õ"ä× Ñ õ!ô × Ñ õ!ð
ð 
ð
ð 
ñ
ra   c           
     ó  € Vf   R#  VP                  4       p\        Y1P                  4      '       gA   \	        T RTP
                   RTP                  P
                   RTP
                   R24       R# R#   \         d     R# i ; i)a+  Check that obj's type is compatible with descriptor.__objclass__.

Mirrors CPython's descr_check which raises TypeError when a C descriptor
is bound to an object whose type is not a subtype of the descriptor's
__objclass__.

https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L79-L96
Núdescriptor 'z' for 'z' objects doesn't apply to a 'z' object)r  rR  r  Ú__objclass__r!   r\   )rª   rµ  rj  Úobj_types   &&& rb   Ú_check_descriptor_obj_typer¾  Ð  s‘   € ð  ‚{ÙðØ—?‘?Ó$ˆô �h× 7Ñ 7×8Ò8ÜØØ˜:×.Ñ.Ð/ð 0Ø×'Ñ'×0Ñ0Ð1ð 2#Ø#+×#4Ñ#4Ð"5°Xð?ö	
ñ 9øô ô Úðús   ˆA5 Á5BÂBc                   ó  a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltR]! ]! R 4      4      R]! ]! R 4      4      /tV3R lR ltV3R lR ltRtVtV ;t# )ÚWrapperDescriptorVariableiñ  aù  Unbound C slot wrapper (wrapper_descriptor on a type).

CPython types define behavior through C-level slots on PyTypeObject
(tp_richcompare, sq_length, nb_add, etc.).  When these slots are
accessed from Python (e.g. list.__add__), CPython exposes them as
wrapper_descriptor objects (PyWrapperDescr_Type).  A wrapper_descriptor
is an unbound descriptor living on the type -- it is not tied to any
instance.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L867

When a wrapper_descriptor is accessed on an instance (e.g. [1,2].__add__),
its tp_descr_get slot (wrapperdescr_get) is invoked, which calls
PyWrapper_New to produce a bound method-wrapper (_PyMethodWrapper_Type).
The tp_descr_get_impl method on this class mirrors that binding step.
rµ  c                óD   <€ V ^8„  d   QhRS[ P                  RS[RS[RR/# ©rf   rµ  rk  r­   rg   N©r×   r·  rF   r   )rh   rv   s   "€rb   ri   Ú&WrapperDescriptorVariable.__annotate__  s9   ø€ ÷ ñ á×/Ñ/ðñ ðñ ð	ð
 
ñra   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   ©r*  r�   rµ  rk  ©r‹   rµ  rk  r­   r+  s   &&&,€rb   r�   Ú"WrapperDescriptorVariable.__init__  ó   ø€ ô 	‰ÒÑ"˜6Ò"Ø$ŒØŽ
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   rÄ    s   ø€ ÷ Sñ S™#ñ Sra   c                ó|   € V P                   P                  P                  pR V RV P                   P                   R2# )zWrapperDescriptorVariable(rq  rx  ©rµ  r¼  r\   ©r‹   Úcls_names   & rb   rÕ  Ú"WrapperDescriptorVariable.__repr__  s8   € Ø—?‘?×/Ñ/×8Ñ8ˆØ+¨H¨:°Q°t·±×7OÑ7OÐ6PÐPQÐRÐRra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rÄ    s   ø€ ÷ +ñ +™Tñ +ra   c                ó"   € \         P                  # ry   ©r×   r·  r  s   &rb   r  Ú%WrapperDescriptorVariable.python_type  s   € Ü×*Ñ*Ð*ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rÒ  )rh   rv   s   "€rb   ri   rÄ    s   ø€ ÷ ñ ¡E×$?Ñ$?ñ ra   c                ó   € V P                   # ry   ©rµ  r  s   &rb   r  Ú,WrapperDescriptorVariable.as_python_constant  ó   € Ø�‰Ðra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rÒ  )rh   rv   s   "€rb   ri   rÄ    s   ø€ ÷ ñ ©e×.IÑ.Iñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú6WrapperDescriptorVariable.get_real_python_backed_value  rØ  ra   r¼  c                ó.   € V P                   P                  # ry   ©rµ  r¼  r>  s   &rb   rŒ  Ú"WrapperDescriptorVariable.<lambda>  ó   € °a·l±l×6OÒ6Ora   r\   c                ó.   € V P                   P                  # ry   ©rµ  r\   r>  s   &rb   rŒ  rÞ     ó   € °!·,±,×2GÒ2Gra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rÄ  #  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
ra   c                ó6  € V'       gF   \        VR V P                  P                   RV P                  P                  P                   R24       VvrE\	        WP                  V4       V P
                  P                  WP                  P                  V.VOV4      # ©r»  z' of 'z' object needs an argument©r!   rµ  r\   r¼  r¾  rk  r)  )r‹   rª   r¬   r­   rj  r¹  s   &&&&  rb   rÃ  Ú'WrapperDescriptorVariable.call_function#  s�   € ÷ ÜØØ˜tŸ™×7Ñ7Ð8ð 9Ø—O‘O×0Ñ0×9Ñ9Ð:Ð:TðVôð
 ˆ
ˆÜ" 2§¡¸Ô<ð
 �z‰z×%Ñ%Ø—‘×(Ñ(¨3¨,°¨,¸ó
ð 	
ra   c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# )rf   rª   rN   rj  rk  rg   ÚMethodWrapperVariablern  )rh   rv   s   "€rb   ri   rÄ  <  s9   ø€ ÷ Oñ Oà'ðOñ ðOñ ð	Oð
 
!ñOra   c                óp   € \        WP                  V4       \        V P                  W P                  R 7      # ræ  )r¾  rµ  ré  rÆ   ©r‹   rª   rj  rk  s   &&&&rb   rn  Ú+WrapperDescriptorVariable.tp_descr_get_impl<  s'   € ô 	# 2§¡¸Ô<Ü$ T§_¡_°cÇ+Á+ÔNÐNra   ©rµ  rk  ©r\   r]   r^   r_   r¦  rF   rû  r�   rÕ  r  r  r  rB   r@   rÚ  rÃ  rn  r`   rŸ   rÜ  rÝ  s   @@rb   rÀ  rÀ  ñ  s�   ù‡ € ñð" 	ðà	×	'Ñ	'ð€N÷
ó ÷Sð S÷+ð +÷ð ÷ð ð 	™™|Ñ,OÓPÓQØ‘F™<Ñ(GÓHÓIð€J÷

ð 
÷2O÷ Oð Ora   rÀ  c                   óF  a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	R
]
! R 4      R]
! R 4      /tR]! R 4      /tV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lV 3R lltV3R lR ltRtVtV ;t# )ré  iJ  a  Bound method-wrapper (wrapper_descriptor bound to an instance).

Produced by WrapperDescriptorVariable.tp_descr_get_impl, mirroring
PyWrapper_New which stores a reference to the descriptor and the instance.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L1450
rµ  c                óD   <€ V ^8„  d   QhRS[ P                  RS[RS[RR/# ©rf   rµ  rj  r­   rg   NrÃ  )rh   rv   s   "€rb   ri   Ú"MethodWrapperVariable.__annotate__W  s9   ø€ ÷ ñ á×/Ñ/ðñ ðñ ð	ð
 
ñra   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   ©r*  r�   rµ  rj  ©r‹   rµ  rj  r­   r+  s   &&&,€rb   r�   ÚMethodWrapperVariable.__init__W  s   ø€ ô 	‰ÒÑ"˜6Ò"Ø$ŒØŽra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   rò  a  s   ø€ ÷ 
ñ 
™#ñ 
ra   c                ó–   € V P                   P                  P                  pR V RV P                   P                   RV P                   R2# )zMethodWrapperVariable(rq  rw  rx  )rµ  r¼  r\   rj  rÍ  s   & rb   rÕ  ÚMethodWrapperVariable.__repr__a  sD   € Ø—?‘?×/Ñ/×8Ñ8ˆà$ X J¨a°·±×0HÑ0HÐ/IÈÈDÏHÉHÈ:ÐUVÐWð	
ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rò  g  ó   ø€ ÷ 'ñ '™Tñ 'ra   c                ó"   € \         P                  # ry   ©r×   ÚMethodWrapperTyper  s   &rb   r  Ú!MethodWrapperVariable.python_typeg  ó   € Ü×&Ñ&Ð&ra   r\   c                óV   € \         P                  ! V P                  P                  4      # ry   )rH   rÌ   rµ  r\   rœ  s   &&rb   rŒ  ÚMethodWrapperVariable.<lambda>p  s   € Ô*×1Ò1°!·,±,×2GÑ2GÔHra   r^   c                óV   € \         P                  ! V P                  P                  4      # ry   )rH   rÌ   rµ  r^   rœ  s   &&rb   rŒ  r  s  s   € Ô*×1Ò1°!·,±,×2KÑ2KÔLra   r#  c                ó   € V P                   # ry   r   rœ  s   &&rb   rŒ  r  w  s   € ¨¯ªra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rý  )rh   rv   s   "€rb   ri   rò  z  s   ø€ ÷ )ñ )©e×.EÑ.Eñ )ra   c                ó"   € V P                  4       # ry   r  r  s   &rb   r  Ú2MethodWrapperVariable.get_real_python_backed_valuez  r)  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rò  }  s   ø€ ÷ -ñ -¡Dñ -ra   c                ó6   € V P                   P                  4       # ry   )rj  rã  r  s   &rb   rã  Ú(MethodWrapperVariable.is_python_constant}  s   € Ø�x‰x×*Ñ*Ó,Ð,ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rý  )rh   rv   s   "€rb   ri   rò  €  s   ø€ ÷ Fñ F¡E×$;Ñ$;ñ Fra   c                ó¸   € V P                   P                  4       p V P                  P                  V\	        V4      4      #   \
         d    \        T 4      R hi ; iry   )rj  r  rµ  rQ  rì   r@  r=   )r‹   Ú	obj_values   & rb   r  Ú(MethodWrapperVariable.as_python_constant€  sS   € Ø—H‘H×/Ñ/Ó1ˆ	ð	FØ—?‘?×*Ñ*¨9´d¸9³oÓFÐFøÜô 	FÜ5°dÓ;ÀÐEð	Fús   œ$A ÁAc                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rò  ‡  sH   ø€ ÷ Vñ Và'ðVñ ‘?Õ#ðVñ ‘S™/Ð)Õ*ð	Vñ
 
ñVra   c                ó  € V'       d¶   \        V^ ,          \        P                  4      '       d�    V P                  4       pVez   \        V4      '       di   \        V4      ^8X  d   \        V4      ^ 8X  g   \        VR4       \        \        VP                  4      pV^ ,          P                  WP                  4      # V P                  P                  WP                  P                  \!        V4      V4      #   \         d    Rp LÆi ; i)rç   Nz2tensor attribute getter takes exactly one argument)rÉ   r   rT   r  rR  r8   rš   r!   r   r   r#  rr  r\   rj  r)  rµ  r¹   )r‹   rª   r¬   r­   Úmethod_wrapperrµ  s   &&&&  rb   rÃ  Ú#MethodWrapperVariable.call_function‡  sÚ   € ÷ ”J˜t A�w¬	×(@Ñ(@×AÒAð&Ø!%×!8Ñ!8Ó!:�ð Ò)Ô.HØ÷/ò /ô ˜D›	 Qœ¬3¨v«;¸!Ô+;Ü$ØÐPôô
 "¤# ~×'>Ñ'>Ó?�
Ø˜A•w×/Ñ/°×4GÑ4GÓHÐHà�x‰x×#Ñ# B¯©×(@Ñ(@Ä$ÀtÃ*ÈfÓUÐUøô 'ô &Ø!%’ð&ús   ±C8 Ã8DÄDc                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   rò  ¤  ó   ø€ ÷ Sñ S ;ð S°4ñ Sra   c                ó’   € V! V P                   4       VP                  VP                  V P                  P                  4      4       R # ry   ©rj  rb  Úcreate_load_attrsrµ  r\   r	  s   &&rb   rO  Ú!MethodWrapperVariable.reconstruct¤  ó1   € Ù�—‘ÔØ×Ñ˜g×7Ñ7¸¿¹×8PÑ8PÓQÖRra   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# rm  r  )rh   rv   s   "€rb   ri   rò  ¨  s%   ø€ ÷ )ñ )Ð7ð )¹EÁ#ÁtÀ)Õ<Lñ )ra   c                ó|   <€  \        V P                  4       4      R 3#   \         d    \        ST `  T4      u # i ; irù  )r  r  rR  r*  r  )r‹   rª   r+  s   &&€rb   r  ÚMethodWrapperVariable.hash_impl¨  sB   ø€ ð	)ô ˜×/Ñ/Ó1Ó2°EÐ9Ð9øÜ"ô 	)Ü‘7Ñ$ RÓ(Ò(ð	)ús   ƒ ž;º;c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# ©rf   rª   rN   r  rF   r  rg   r.  )rh   rv   s   "€rb   ri   rò  °  ó3   ø€ ÷ Eñ EØ-ðEØ6GðEÙMPðEà	ñEra   c                ó    € ^RI Hp V! WW#4      # ©rý   )Ú python_constant_richcompare_impl©r   r"  ©r‹   rª   r  r  r"  s   &&&& rb   r  Ú)MethodWrapperVariable.tp_richcompare_impl°  ó   € õ 	Fá/°¸%ÓDÐDra   ©rµ  rj  )r\   r]   r^   r_   r¦  rF   rû  r�   rÕ  r  r?   rÙ  rB   rÚ  r  rã  r  rÃ  rO  r  r  r`   rŸ   rÜ  rÝ  s   @@rb   ré  ré  J  sÏ   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
ó ÷
ð 
÷'ð 'ð 	‘FÙHó
ð 	™ÙLó
ð	€Ið 	‘FÑ.Ó/ð€J÷)ð )÷-ð -÷Fð F÷Vð V÷:Sð S÷)ó )÷E÷ Eð Era   ré  c                   ó  a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltR]! ]! R 4      4      R]! ]! R 4      4      /tV3R lR ltV3R lR ltRtVtV ;t# )ÚMethodDescriptorVariablei¸  aá  Unbound C method descriptor (method_descriptor on a type).

CPython types expose their PyMethodDef-based C methods as
method_descriptor objects (PyMethodDescr_Type) in the type's tp_dict.
For example, list.append and dict.get are method_descriptors.  Like
wrapper_descriptors, these are unbound descriptors living on the type.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L716

When a method_descriptor is accessed on an instance (e.g. [].append),
its tp_descr_get slot (method_get) is invoked, which calls
PyCFunction_NewEx to produce a bound builtin_function_or_method
(PyCFunction_Type).  The tp_descr_get_impl method mirrors that step.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L137-L159
rµ  c                óD   <€ V ^8„  d   QhRS[ P                  RS[RS[RR/# rÂ  )r×   r¶  rF   r   )rh   rv   s   "€rb   ri   Ú%MethodDescriptorVariable.__annotate__Í  s9   ø€ ÷ ñ á×.Ñ.ðñ ðñ ð	ð
 
ñra   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   rÆ  rÇ  s   &&&,€rb   r�   Ú!MethodDescriptorVariable.__init__Í  rÉ  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r+  ×  ó   ø€ ÷ Rñ R™#ñ Rra   c                ó|   € V P                   P                  P                  pR V RV P                   P                   R2# )zMethodDescriptorVariable(rq  rx  rÌ  rÍ  s   & rb   rÕ  Ú!MethodDescriptorVariable.__repr__×  ó7   € Ø—?‘?×/Ñ/×8Ñ8ˆØ*¨8¨*°A°d·o±o×6NÑ6NÐ5OÈqÐQÐQra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r+  Û  ó   ø€ ÷ *ñ *™Tñ *ra   c                ó"   € \         P                  # ry   ©r×   r¶  r  s   &rb   r  Ú$MethodDescriptorVariable.python_typeÛ  ó   € Ü×)Ñ)Ð)ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   r6  )rh   rv   s   "€rb   ri   r+  Þ  ó   ø€ ÷ ñ ¡E×$>Ñ$>ñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú+MethodDescriptorVariable.as_python_constantÞ  rØ  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   r6  )rh   rv   s   "€rb   ri   r+  á  ó   ø€ ÷ ñ ©e×.HÑ.Hñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú5MethodDescriptorVariable.get_real_python_backed_valueá  rØ  ra   r¼  c                ó.   € V P                   P                  # ry   rÝ  r>  s   &rb   rŒ  Ú!MethodDescriptorVariable.<lambda>å  rß  ra   r\   c                ó.   € V P                   P                  # ry   rá  r>  s   &rb   rŒ  rB  æ  râ  ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   r+  é  sH   ø€ ÷ Fñ Fà'ðFñ ‘?Õ#ðFñ ‘S™/Ð)Õ*ð	Fñ
 
ñFra   c                ó:  € V'       gF   \        VR V P                  P                   RV P                  P                  P                   R24       VvrEV P                  P                  p\	        WP                  V4       V P
                  P                  WV.VOV4      # rå  ræ  )r‹   rª   r¬   r­   rj  r¹  r»   s   &&&&   rb   rÃ  Ú&MethodDescriptorVariable.call_functioné  s�   € ÷ ÜØØ˜tŸ™×7Ñ7Ð8ð 9Ø—O‘O×0Ñ0×9Ñ9Ð:Ð:TðVôð
 ˆ
ˆØ�‰×'Ñ'ˆÜ" 2§¡¸Ô<ð �z‰z×%Ñ% b°°°t°¸fÓEÐEra   c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# )rf   rª   rN   rj  rk  rg   ÚBoundBuiltinMethodVariablern  )rh   rv   s   "€rb   ri   r+  ÿ  s9   ø€ ÷ Tñ Tà'ðTñ ðTñ ð	Tð
 
&ñTra   c                óp   € \        WP                  V4       \        V P                  W P                  R 7      # ræ  )r¾  rµ  rH  rÆ   rë  s   &&&&rb   rn  Ú*MethodDescriptorVariable.tp_descr_get_implÿ  s'   € ô 	# 2§¡¸Ô<Ü)¨$¯/©/¸3Ç{Á{ÔSÐSra   rí  rî  rÝ  s   @@rb   r)  r)  ¸  sŸ   ù‡ € ñð  	ðà	×	'Ñ	'ð€N÷
ó ÷Rð R÷*ð *÷ð ÷ð ð 	™™|Ñ,OÓPÓQØ‘F™<Ñ(GÓHÓIð€J÷
Fð F÷,T÷ Tð Tra   r)  c                   óÒ   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
R tV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )rH  i  aÌ  Bound builtin_function_or_method (PyCFunction_Type).

Produced by MethodDescriptorVariable.tp_descr_get_impl (binding a
method_descriptor to an instance, e.g. [].append) or created by the
builder for bound C methods (e.g. frozenset().__contains__,
tuple.__new__).  The backing descriptor can be a MethodDescriptorType
or a BuiltinFunctionType (for methods stored directly in type dicts).
https://github.com/python/cpython/blob/3.13/Objects/methodobject.c#L331
rµ  c                óŒ   <€ V ^8„  d   QhRS[ P                  S[ P                  ,          S[ P                  ,          RS[RS[RR/# rñ  )r×   r¶  r’  ÚClassMethodDescriptorTyperF   r   )rh   rv   s   "€rb   ri   Ú'BoundBuiltinMethodVariable.__annotate__  sU   ø€ ÷ 
ñ 
á×.Ñ.Ù
×
#Ñ
#õ$á
×
)Ñ
)õ*ð
ñ
 ð
ñ ð
ð 
ñ
ra   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # r“   rô  rõ  s   &&&,€rb   r�   Ú#BoundBuiltinMethodVariable.__init__  s   ø€ ô 	‰ÒÑ"˜6Ò"Ø$ŒØŽra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   rN  )  s   ø€ ÷ `ñ `™#ñ `ra   c                óš   € \        \        V P                  R R4      RR4      pRV RV P                  P                   RV P                   R2# )r¼  Nr\   Ú?zBoundBuiltinMethodVariable(rq  rw  rx  )rö   rµ  r\   rj  rÍ  s   & rb   rÕ  Ú#BoundBuiltinMethodVariable.__repr__)  sR   € ÜÜ�D—O‘O ^°TÓ:¸JÈó
ˆð -¨X¨J°a¸¿¹×8PÑ8PÐ7QÐQSÐTX×T\ÑT\ÐS]Ð]^Ð_Ð_ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rN  /  rû  ra   c                ó"   € \         P                  # ry   )r×   ÚBuiltinMethodTyper  s   &rb   r  Ú&BoundBuiltinMethodVariable.python_type/  r   ra   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# rm  r  )rh   rv   s   "€rb   ri   rN  2  s%   ø€ ÷ "ñ "Ð7ð "¹EÁ#ÁtÀ)Õ<Lñ "ra   c                óv   €  \        V P                  4       4      R 3#   \         d    \        T 4      R3u # i ; i)FT)r  r  r=   r¤  r  s   &&rb   r  Ú$BoundBuiltinMethodVariable.hash_impl2  s=   € ð	"Ü˜×/Ñ/Ó1Ó2°EÐ9Ð9øÜ2ô 	"Ü�d“8˜T�>Ò!ð	"ús   ‚ �8·8c                ó    € ^RI Hp V! WW#4      # rü   rÿ   r  s   &&&& rb   r  Ú.BoundBuiltinMethodVariable.tp_richcompare_impl9  r  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   rã  )rh   rv   s   "€rb   ri   rN  >  s   ø€ ÷ 6ñ 6¡Cñ 6ra   c                ón  € V P                   P                  4       p\        V P                  \        P
                  4      '       d   V P                  P                  R V4      # \        V P                  R4      '       d   V P                  P                  V4      # \        WP                  P                  4      # rP  )
rj  r  rÉ   rµ  r×   rM  rQ  rÉ  rö   r\   )r‹   rj  s   & rb   r  Ú-BoundBuiltinMethodVariable.as_python_constant>  s}   € Ø�h‰h×)Ñ)Ó+ˆÜ�d—o‘o¤u×'FÑ'F×GÒGØ—?‘?×*Ñ*¨4°Ó5Ð5Ü�4—?‘? I×.Ò.Ø—?‘?×*Ñ*¨3Ó/Ð/Ü�sŸO™O×4Ñ4Ó5Ð5ra   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# r»  r¼  )rh   rv   s   "€rb   ri   rN  F  sH   ø€ ÷ Vñ Và'ðVñ ‘?Õ#ðVñ ‘S™/Ð)Õ*ð	Vñ
 
ñVra   c                óv   € V P                   P                  WP                  P                  \	        V4      V4      # ry   )rj  r)  rµ  r\   r¹   rÂ  s   &&&&rb   rÃ  Ú(BoundBuiltinMethodVariable.call_functionF  s+   € ð �x‰x×#Ñ# B¯©×(@Ñ(@Ä$ÀtÃ*ÈfÓUÐUra   c                ó"   <€ V ^8„  d   QhRRRR/# rF  rZ   )rh   rv   s   "€rb   ri   rN  N  r  ra   c                ó’   € V! V P                   4       VP                  VP                  V P                  P                  4      4       R # ry   r  r	  s   &&rb   rO  Ú&BoundBuiltinMethodVariable.reconstructN  r  ra   r'  )r\   r]   r^   r_   r¦  rF   rû  r�   rÕ  r  r  r  r  rÃ  rO  r`   rŸ   rÜ  rÝ  s   @@rb   rH  rH    s{   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷

ó 
÷`ð `÷'ð '÷"ð "ò7÷
6ð 6÷Vð V÷S÷ Sð Sra   rH  c                   óú   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltR]! ]! R 4      4      R]! ]! R 4      4      /tV3R lR ltRtVtV ;t# )ÚClassMethodDescriptorVariableiS  aU  C-level classmethod descriptor (classmethod_descriptor on a type).

CPython exposes C classmethods defined via PyMethodDef with METH_CLASS
as classmethod_descriptor objects (PyClassMethodDescr_Type).  For
example, dict.fromkeys is a classmethod_descriptor.  Like
method_descriptor, these live on the type and are unbound.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L756

classmethod_get binds the C method to the class (ignoring obj) via
PyCMethod_New, producing a bound builtin_function_or_method.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L94-L134
rµ  c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# ©rf   rµ  r­   rg   N)r×   rM  r   )rh   rv   s   "€rb   ri   Ú*ClassMethodDescriptorVariable.__annotate__f  s/   ø€ ÷ %ñ %á×3Ñ3ð%ñ ð%ð 
ñ	%ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   ©r*  r�   rµ  ©r‹   rµ  r­   r+  s   &&,€rb   r�   Ú&ClassMethodDescriptorVariable.__init__f  ó   ø€ ô
 	‰ÒÑ"˜6Ò"Ø$Žra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   rk  n  s   ø€ ÷ Wñ W™#ñ Wra   c                ó|   € V P                   P                  P                  pR V RV P                   P                   R2# )zClassMethodDescriptorVariable(rq  rx  rÌ  rÍ  s   & rb   rÕ  Ú&ClassMethodDescriptorVariable.__repr__n  s8   € Ø—?‘?×/Ñ/×8Ñ8ˆØ/°¨z¸¸4¿?¹?×;SÑ;SÐ:TÐTUÐVÐVra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rk  r  s   ø€ ÷ /ñ /™Tñ /ra   c                ó"   € \         P                  # ry   ©r×   rM  r  s   &rb   r  Ú)ClassMethodDescriptorVariable.python_typer  s   € Ü×.Ñ.Ð.ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rv  )rh   rv   s   "€rb   ri   rk  u  s   ø€ ÷ ñ ¡E×$CÑ$Cñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú0ClassMethodDescriptorVariable.as_python_constantu  rØ  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rv  )rh   rv   s   "€rb   ri   rk  x  s   ø€ ÷ ñ ©e×.MÑ.Mñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú:ClassMethodDescriptorVariable.get_real_python_backed_valuex  rØ  ra   r¼  c                ó.   € V P                   P                  # ry   rÝ  r>  s   &rb   rŒ  Ú&ClassMethodDescriptorVariable.<lambda>|  rß  ra   r\   c                ó.   € V P                   P                  # ry   rá  r>  s   &rb   rŒ  r  }  râ  ra   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[/# ri  )rF   rH  )rh   rv   s   "€rb   ri   rk  €  s9   ø€ ÷ 	Vñ 	Và'ð	Vñ ð	Vñ ð		Vñ
 
$ñ	Vra   c                óD   € \        V P                  W0P                  R 7      # ræ  )rH  rµ  rÆ   rë  s   &&&&rb   rn  Ú/ClassMethodDescriptorVariable.tp_descr_get_impl€  s   € ô *¨$¯/©/¸5ÏÉÔUÐUra   rÖ  )r\   r]   r^   r_   r¦  rF   rû  r�   rÕ  r  r  r  rB   r@   rÚ  rn  r`   rŸ   rÜ  rÝ  s   @@rb   rh  rh  S  s“   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
%ó %÷Wð W÷/ð /÷ð ÷ð ð 	™™|Ñ,OÓPÓQØ‘F™<Ñ(GÓHÓIð€J÷
	V÷ 	Vð 	Vra   rh  c                   ó¨   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltRtVtV ;t# )ÚStaticMethodVariableiŒ  ak  staticmethod descriptor wrapping a callable.

CPython's staticmethod (PyStaticMethod_Type) is a non-data descriptor
whose tp_descr_get (sm_descr_get) simply returns the wrapped callable,
ignoring both obj and type.
https://github.com/python/cpython/blob/3.13/Objects/funcobject.c#L1520
https://github.com/python/cpython/blob/3.13/Objects/funcobject.c#L1418-L1428
rµ  c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# rj  )r   r   )rh   rv   s   "€rb   ri   Ú!StaticMethodVariable.__annotate__›  s)   ø€ ÷ %ñ %á ð%ñ ð%ð 
ñ	%ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   rm  rn  s   &&,€rb   r�   ÚStaticMethodVariable.__init__›  rp  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r‡  £  s   ø€ ÷ 4ñ 4™#ñ 4ra   c                óP   € \        V P                  P                  R R4      pRV R2# )r\   rS  zStaticMethodVariable(rx  ©rö   rµ  r
  ©r‹   Ú	func_names   & rb   rÕ  ÚStaticMethodVariable.__repr__£  s)   € Ü˜DŸO™O×4Ñ4°jÀ#ÓFˆ	Ø& y k°Ð3Ð3ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r‡  §  r  ra   c                ó   € \         # ry   ©r   r  s   &rb   r  Ú StaticMethodVariable.python_type§  r  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r’  )rh   rv   s   "€rb   ri   r‡  ª  s   ø€ ÷ ñ ¡Lñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú'StaticMethodVariable.as_python_constantª  rØ  ra   c                ó>   <€ V ^8„  d   QhRRRS[ R,          RS[ RS[ /# ©rf   rª   rN   rj  Nrk  rg   rn  )rh   rv   s   "€rb   ri   r‡  ­  s>   ø€ ÷ 	Pñ 	Pà'ð	Pñ ˜tÕ#ð	Pñ ð		Pñ
 
ñ	Pra   c                ó¬   € V P                   '       d   \        V P                   R 4      MRp\        P                  ! WP                  P
                  V4      # )r
  N)rÆ   r(   rF   rÊ   rµ  r
  )r‹   rª   rj  rk  Úfunc_sources   &&&& rb   rn  Ú&StaticMethodVariable.tp_descr_get_impl­  s<   € ð >B¿[¿[¸[”j §¡¨jÔ9ÈdˆÜ×$Ò$ R¯©×)AÑ)AÀ;ÓOÐOra   rÖ  ©r\   r]   r^   r_   r¦  rF   rû  r�   rÕ  r  r  rn  r`   rŸ   rÜ  rÝ  s   @@rb   r…  r…  Œ  s^   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
%ó %÷4ð 4÷ð ÷ð ÷	P÷ 	Pð 	Pra   r…  c                   ó¨   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltRtVtV ;t# )ÚClassMethodVariablei¹  a}  classmethod descriptor wrapping a callable.

CPython's classmethod (PyClassMethod_Type) is a non-data descriptor
whose tp_descr_get (cm_descr_get) creates a bound method of the
wrapped callable bound to the class (via PyMethod_New).
https://github.com/python/cpython/blob/3.13/Objects/funcobject.c#L1314
https://github.com/python/cpython/blob/3.13/Objects/funcobject.c#L1215-L1227
rµ  c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# rj  )rý  r   )rh   rv   s   "€rb   ri   Ú ClassMethodVariable.__annotate__È  s)   ø€ ÷ %ñ %áð%ñ ð%ð 
ñ	%ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   rm  rn  s   &&,€rb   r�   ÚClassMethodVariable.__init__È  rp  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r   Ð  s   ø€ ÷ 3ñ 3™#ñ 3ra   c                óP   € \        V P                  P                  R R4      pRV R2# )r\   rS  zClassMethodVariable(rx  rŒ  r�  s   & rb   rÕ  ÚClassMethodVariable.__repr__Ð  s)   € Ü˜DŸO™O×4Ñ4°jÀ#ÓFˆ	Ø% i [°Ð2Ð2ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r   Ô  s   ø€ ÷ ñ ™Tñ ra   c                ó   € \         # ry   ©rý  r  s   &rb   r  ÚClassMethodVariable.python_typeÔ  s   € ÜÐra   c                ó    <€ V ^8„  d   QhRS[ /# re   r¨  )rh   rv   s   "€rb   ri   r   ×  s   ø€ ÷ ñ ¡Kñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú&ClassMethodVariable.as_python_constant×  rØ  ra   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# ri  rn  )rh   rv   s   "€rb   ri   r   Ú  s3   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ð	
ñ
 
ñ
ra   c                ó,  € V P                   '       d   \        V P                   R 4      MRpVP                   '       d5   \        VP                   V P                  P                  P                  4      MRp\        V P                  P                  VVVR7      # )r
  Nrm  )rÆ   r(   rµ  r
  r\   r8  )r‹   rª   rj  rk  rš  Úbound_sources   &&&&  rb   rn  Ú%ClassMethodVariable.tp_descr_get_implÚ  sw   € ð >B¿[¿[¸[”j §¡¨jÔ9Èdˆð �|�|ˆ|ô �u—|‘| T§_¡_×%=Ñ%=×%FÑ%FÔGàð 	ô
 "Ø�O‰O×$Ñ$ØØ!Øô	
ð 	
ra   rÖ  rœ  rÝ  s   @@rb   rž  rž  ¹  s[   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
%ó %÷3ð 3÷ð ÷ð ÷
÷ 
ð 
ra   rž  c                   óú   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
R]! ]! R 4      4      R]! ]! R 4      4      /tV3R lR ltV3R lR ltRtVtV ;t# )ÚMemberDescriptorVariableið  aÙ  C struct field descriptor (member_descriptor on a type).

CPython exposes C struct fields defined via PyMemberDef as
member_descriptor objects (PyMemberDescr_Type).  These are data
descriptors used by __slots__ and C extension types to provide
direct access to struct members.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L793

member_get reads the field via PyMember_GetOne.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L162-L180
rµ  c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# rj  )r×   r¸  r   )rh   rv   s   "€rb   ri   Ú%MemberDescriptorVariable.__annotate__  s/   ø€ ÷ %ñ %á×.Ñ.ð%ñ ð%ð 
ñ	%ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   rm  rn  s   &&,€rb   r�   Ú!MemberDescriptorVariable.__init__  rp  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r´  
  r/  ra   c                ó|   € V P                   P                  P                  pR V RV P                   P                   R2# )zMemberDescriptorVariable(rq  rx  rÌ  rÍ  s   & rb   rÕ  Ú!MemberDescriptorVariable.__repr__
  r2  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r´    r4  ra   c                ó"   € \         P                  # ry   ©r×   r¸  r  s   &rb   r  Ú$MemberDescriptorVariable.python_type  r8  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   r¼  )rh   rv   s   "€rb   ri   r´    r:  ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú+MemberDescriptorVariable.as_python_constant  rØ  ra   r¼  c                ó.   € V P                   P                  # ry   rÝ  r>  s   &rb   rŒ  Ú!MemberDescriptorVariable.<lambda>  rß  ra   r\   c                ó.   € V P                   P                  # ry   rá  r>  s   &rb   rŒ  rÂ    râ  ra   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# ri  rn  )rh   rv   s   "€rb   ri   r´    s9   ø€ ÷ Bñ Bà'ðBñ ðBñ ð	Bñ
 
ñBra   c           
     ó4  € \        WP                  V4       ^RIHp V P                  P                  pVP                  4       pV\        J d"   V! RV R\        V4      P                   24      h V P                  P                  V\        V4      4      pVP                  ;'       d    \        VP                  V4      p\        P                  ! VXV4      #   \        \        3 d1    \        \        TR\        T4      P                   RT R2.R7        L‚i ; i)rý   ©Ú_UnhandledDescriptorErrorz"Cannot resolve member_descriptor 'ú' on Ú'ú' object has no attribute 'rµ  )r¾  rµ  r   rÇ  r\   r  rD   rì   rQ  rô   r@  r    rÆ   r(   rF   rÊ   )	r‹   rª   rj  rk  rÇ  rŽ  r  ÚresolvedÚresult_sources	   &&&&     rb   rn  Ú*MemberDescriptorVariable.tp_descr_get_impl  s  € ô 	# 2§¡¸Ô<Ý>à—O‘O×,Ñ,ˆ	Ø×4Ñ4Ó6ˆ	ØœÓ&Ù+Ø4°Y°Kð @Ü˜3“i×(Ñ(Ð)ð+óð ð		Ø—‘×.Ñ.¨y¼$¸y»/ÓJˆHð Ÿ
™
×HÐH¤z°#·*±*¸iÓ'HˆÜ×$Ò$ R¨°=ÓAÐAøô ¤	Ð*ô 	Ü$ÜØàœ˜Y›×0Ñ0Ð1Ð1LÈYÈKÐWXÐYð÷ð	ús   Á/%C Ã>DÄDc                ó>   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[ /# ©rf   rª   rN   rj  râ  Nrg   rn  )rh   rv   s   "€rb   ri   r´  9  s8   ø€ ÷ 7ñ 7à'ð7ñ ð7ñ  Õ%ð	7ñ
 
ñ7ra   c                óê   € Vf   \         P                  ! 4       MTpVP                  P                  P	                  W P
                  P                  V4       \         P                  P                  R 4      # ry   )	r   rE  rÚ   rÛ   rà  rµ  r\   rH   rÌ   )r‹   rª   rj  râ  Ústoreds   &&&& rb   Útp_descr_set_implÚ*MemberDescriptorVariable.tp_descr_set_impl9  sS   € ð 16²”×*Ò*Ô,À5ˆØ
�	‰	×Ñ×)Ñ)¨#¯©×/GÑ/GÈÔPÜ×)Ñ)×0Ñ0°Ó6Ð6ra   rÖ  ©r\   r]   r^   r_   r¦  rF   rû  r�   rÕ  r  r  rB   r@   rÚ  rn  rÒ  r`   rŸ   rÜ  rÝ  s   @@rb   r²  r²  ð  s“   ù‡ € ñ
ð 	ðà	×	'Ñ	'ð€N÷
%ó %÷Rð R÷*ð *÷ð ð 	™™|Ñ,OÓPÓQØ‘F™<Ñ(GÓHÓIð€J÷
Bð B÷@7÷ 7ð 7ra   r²  c                   ó4  a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
R]! ]
R4      /tR]! ]! R 4      4      R]! ]! R 4      4      /tV3R lR ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚGetSetDescriptorVariableiI  aß  C getter/setter descriptor (getset_descriptor on a type).

CPython exposes C getter/setter pairs defined via PyGetSetDef as
getset_descriptor objects (PyGetSetDescr_Type).  These are data
descriptors used for computed attributes backed by C functions
(e.g. object.__class__, type.__dict__).
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L830

getset_get calls the C getter function.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L183-L197
rµ  c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# rj  )r×   r¹  r   )rh   rv   s   "€rb   ri   Ú%GetSetDescriptorVariable.__annotate__[  s)   ø€ ÷ %ñ %¡5×#=Ñ#=ð %Éð %ÐQUñ %ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   rm  rn  s   &&,€rb   r�   Ú!GetSetDescriptorVariable.__init__[  s   ø€ Ü‰ÒÑ"˜6Ò"Ø$Žra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   rØ  _  r/  ra   c                ó|   € V P                   P                  P                  pR V RV P                   P                   R2# )zGetSetDescriptorVariable(rq  rx  rÌ  rÍ  s   & rb   rÕ  Ú!GetSetDescriptorVariable.__repr___  r2  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   ©r×   r¹  )rh   rv   s   "€rb   ri   rØ  c  r>  ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú5GetSetDescriptorVariable.get_real_python_backed_valuec  rØ  ra   c                ó"   <€ V ^8„  d   QhRRRR/# )rf   rª   rN   rg   r®  rZ   )rh   rv   s   "€rb   ri   rØ  f  s!   ø€ ÷ Jñ JØ-ðJà	!ñJra   c                ó¤   € V P                   f   R # \        V P                   R4      p\        P                  ! WP                  P
                  V4      # rP  )rÆ   r(   rF   rÊ   rµ  rQ  rR  s   && rb   Ú_getset_descriptor_getÚ/GetSetDescriptorVariable._getset_descriptor_getf  s>   € ð �;‰;ÒÙÜ˜DŸK™K¨Ó3ˆÜ×$Ò$ R¯©×)@Ñ)@À&ÓIÐIra   rQ  Nr¼  c                ó.   € V P                   P                  # ry   rÝ  r>  s   &rb   rŒ  Ú!GetSetDescriptorVariable.<lambda>s  rß  ra   r\   c                ó.   € V P                   P                  # ry   rá  r>  s   &rb   rŒ  rç  t  râ  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r\  )rh   rv   s   "€rb   ri   rØ  w  s   ø€ ÷ ñ ¡Dñ ra   c                ó   € R # rÔ  rZ   r  s   &rb   rã  Ú+GetSetDescriptorVariable.is_python_constantw  r×  ra   c                ó4   <€ V ^8„  d   QhRS[ P                  /# re   rß  )rh   rv   s   "€rb   ri   rØ  z  r:  ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú+GetSetDescriptorVariable.as_python_constantz  rØ  ra   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# r  r.  )rh   rv   s   "€rb   ri   rØ  }  r  ra   c                ó    € ^RI Hp V! WW#4      # r!  r#  r$  s   &&&& rb   r  Ú,GetSetDescriptorVariable.tp_richcompare_impl}  r&  ra   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# ri  rn  )rh   rv   s   "€rb   ri   rØ  „  s9   ø€ ÷ .Bñ .Bà'ð.Bñ ð.Bñ ð	.Bñ
 
ñ.Bra   c           
     óB  € V P                   P                  p\        WP                   V4       VP                  4       pV\        J d(   ^RIHp V! RV R\        V4      P                   24      h V P                   P                  V\        V4      4      pVP                  ;'       d    \        VP                  V4      pVP                  '       du   V P                   P                  \        J dW   VR	9   dP   \        P                   ! \        V4      VR4      p	W�P                   Jd   RpMVR8X  d   \#        VP                  4      p\$        P&                  ! VXV4      #   \        \        3 d2    \        \        TR\        T4      P                   RT R2.R7        EL	i ; i)
rý   rÆ  z"Cannot resolve getset_descriptor 'rÈ  rÉ  rÊ  rµ  Ú__mro__N)rí   r¤  rô  )rµ  r\   r¾  r  rD   r   rÇ  rì   rQ  rô   r@  r    rÆ   r(   r¼  rò   ró   r0   rF   rÊ   )
r‹   rª   rj  rk  rŽ  r  rÇ  rË  rÌ  Ústatic_descs
   &&&&      rb   rn  Ú*GetSetDescriptorVariable.tp_descr_get_impl„  sm  € ð —O‘O×,Ñ,ˆ	ô
 	# 2§¡¸Ô<Ø×4Ñ4Ó6ˆ	ØœÓ&ÝBá+Ø4°Y°Kð @Ü˜3“i×(Ñ(Ð)ð+óð ð		Ø—‘×.Ñ.¨y¼$¸y»/ÓJˆHð Ÿ
™
×HÐH¤z°#·*±*¸iÓ'Hˆà�J�JˆJØ—‘×,Ñ,´Ó4ØÐGÔGô
 "×0Ò0´°i³À)ÈTÓRˆKØ§/¡/Ó1Ø $‘Ø˜iÔ'Ü -¨c¯j©jÓ 9�Ü×$Ò$ R¨°=ÓAÐAøô- ¤	Ð*ô 	Ü$ÜØàœ˜Y›×0Ñ0Ð1Ð1LÈYÈKÐWXÐYð÷ð ð	ús   Á/%E Å>FÆFrÖ  )r\   r]   r^   r_   r¦  rF   rû  r�   rÕ  r  rä  r?   rÙ  rB   r@   rÚ  rã  r  r  rn  r`   rŸ   rÜ  rÝ  s   @@rb   rÖ  rÖ  I  sÁ   ù‡ € ñ
ð 	ðà	×	'Ñ	'ð€N÷
%ó %÷Rð R÷ð ÷Jð Jð 	‘6Ð0°$Ó7ð€Ið
 	™™|Ñ,OÓPÓQØ‘F™<Ñ(GÓHÓIð€J÷
ð ÷ð ÷Eð E÷.B÷ .Bð .Bra   rÖ  c                   ó¨   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltRtVtV ;t# )ÚPropertyVariableiµ  a-  Python property descriptor.

The property type is a data descriptor with tp_descr_get =
property_descr_get which calls fget(obj) to compute the value.
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L2073
https://github.com/python/cpython/blob/3.13/Objects/descrobject.c#L1660-L1693
rµ  c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# rj  )rƒ  r   )rh   rv   s   "€rb   ri   ÚPropertyVariable.__annotate__Ã  s)   ø€ ÷ %ñ %áð%ñ ð%ð 
ñ	%ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   rm  rn  s   &&,€rb   r�   ÚPropertyVariable.__init__Ã  rp  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   rú  Ë  s   ø€ ÷ 0ñ 0™#ñ 0ra   c                óP   € \        V P                  P                  R R4      pRV R2# )r\   rS  zPropertyVariable(rx  )rö   rµ  Úfget)r‹   Ú	fget_names   & rb   rÕ  ÚPropertyVariable.__repr__Ë  s)   € Ü˜DŸO™O×0Ñ0°*¸cÓBˆ	Ø" 9 +¨QÐ/Ð/ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   rú  Ï  s   ø€ ÷ ñ ™Tñ ra   c                ó   € \         # ry   ©rƒ  r  s   &rb   r  ÚPropertyVariable.python_typeÏ  s   € Üˆra   c                ó    <€ V ^8„  d   QhRS[ /# re   r	  )rh   rv   s   "€rb   ri   rú  Ò  s   ø€ ÷ ñ ¡Hñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú#PropertyVariable.as_python_constantÒ  rØ  ra   c                ó>   <€ V ^8„  d   QhRRRS[ R,          RS[ RS[ /# r˜  rn  )rh   rv   s   "€rb   ri   rú  Õ  s8   ø€ ÷ 4ñ 4à'ð4ñ ˜tÕ#ð4ñ ð	4ñ
 
ñ4ra   c                óâ   € Vf   V # V P                   '       d   \        V P                   R4      MR p\        P                  ! WP                  P
                  VRR7      pVP                  W./ 4      # )Nrÿ  T)rÆ   rô  )rÆ   r(   rF   rÊ   rµ  rÿ  rÃ  )r‹   rª   rj  rk  Úfget_sourceÚfget_vts   &&&&  rb   rn  Ú"PropertyVariable.tp_descr_get_implÕ  s`   € ð Š;ØˆKØ9=¿¿¸”j §¡¨fÔ5È$ˆÜ!×'Ò'Ø—‘×$Ñ$¨[À$ô
ˆð ×$Ñ$ R¨°Ó3Ð3ra   rÖ  rœ  rÝ  s   @@rb   rø  rø  µ  s[   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
%ó %÷0ð 0÷ð ÷ð ÷4÷ 4ð 4ra   rø  c                   óÜ   a a€ ] tR tRt oRtR0]P                  mtV3R lV 3R lltV3R lR ltV3R lR	 lt	V3R
 lR lt
R]! ]! R 4      4      /tV3R lR ltV3R lR ltRtVtV ;t# )ÚTupleGetterVariableiæ  a�  _tuplegetter descriptor used by namedtuple for field access.

_tuplegetter is a C data descriptor that stores an index and returns
self[index] on instance access. When accessed on the class (obj=None),
it returns the descriptor itself.
https://github.com/python/cpython/blob/3.13/Modules/_collectionsmodule.c#L2735
https://github.com/python/cpython/blob/3.13/Modules/_collectionsmodule.c#L2636-L2663
rµ  c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )rf   rµ  ú_collections._tuplegetterr­   rg   Nrã  )rh   rv   s   "€rb   ri   Ú TupleGetterVariable.__annotate__õ  s)   ø€ ÷ %ñ %à/ð%ñ ð%ð 
ñ	%ra   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # r“   rm  rn  s   &&,€rb   r�   ÚTupleGetterVariable.__init__õ  rp  ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r.  )rh   rv   s   "€rb   ri   r	  ý  s   ø€ ÷ @ñ @™#ñ @ra   c                óT   € V P                   P                  4       w  pw  r#R V RV: R2# )zTupleGetterVariable(index=z, doc=rx  )rµ  Ú
__reduce__)r‹   rÍ  r¿   Údocs   &   rb   rÕ  ÚTupleGetterVariable.__repr__ý  s/   € ØŸ™×2Ñ2Ó4‰ˆ‰:ˆCØ+¨C¨5°°s±g¸QÐ?Ð?ra   c                ó    <€ V ^8„  d   QhRS[ /# re   r  )rh   rv   s   "€rb   ri   r	    r�  ra   c                ó"   € \         P                  # ry   )Ú_collectionsÚ_tuplegetterr  s   &rb   r  ÚTupleGetterVariable.python_type  s   € Ü×(Ñ(Ð(ra   c                ó   <€ V ^8„  d   QhRR/# )rf   rg   r	  rZ   )rh   rv   s   "€rb   ri   r	    s   ø€ ÷ ñ Ð$?ñ ra   c                ó   € V P                   # ry   rÖ  r  s   &rb   r  Ú&TupleGetterVariable.as_python_constant  rØ  ra   r¦  c                ó.   € V P                   P                  # ry   )rµ  r¦  r>  s   &rb   rŒ  ÚTupleGetterVariable.<lambda>	  s   € ¸1¿<¹<×;OÒ;Ora   c                ó>   <€ V ^8„  d   QhRRRS[ R,          RS[ RS[ /# r˜  rn  )rh   rv   s   "€rb   ri   r	    s8   ø€ ÷ 
ñ 
à'ð
ñ ˜tÕ#ð
ñ ð	
ñ
 
ñ
ra   c                ó°   € Vf   V # V P                   P                  4       w  pw  rTVP                  VR\        P                  P                  V4      ./ 4      # )NÚ__getitem__)rµ  r	  r)  r   rH   rÌ   )r‹   rª   rj  rk  rÍ  r¿   s   &&&&  rb   rn  Ú%TupleGetterVariable.tp_descr_get_impl  sT   € ð Š;ØˆKØ—o‘o×0Ñ0Ó2‰ˆ‰8ˆCØ�‰Ø�¤	× :Ñ :× AÑ AÀ#Ó FÐGÈó
ð 	
ra   c                ó>   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[ /# rÏ  rn  )rh   rv   s   "€rb   ri   r	    s>   ø€ ÷ 
Añ 
Aà'ð
Añ ð
Añ  Õ%ð	
Añ
 
ñ
Ara   c                ó:   € Vf   RMRp\        \        W.R7       R # )Nzcan't delete attributezcan't set attributerµ  r¶  )r‹   rª   rj  râ  r£  s   &&&& rb   rÒ  Ú%TupleGetterVariable.tp_descr_set_impl  s   € ð +0ª-Ñ&Ð=RˆÜ ¤°¸%×@ra   rÖ  rÔ  rÝ  s   @@rb   r	  r	  æ  s�   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
%ó %÷@ð @÷)ð )÷ð ð
 ™V¡LÑ1OÓ$PÓQÐR€J÷
ð 
÷
A÷ 
Að 
Ara   r	  c                ób   € V ^8„  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   # )rf   r£   )Ú__conditional_annotations__r   r   )rh   s   "rb   ri   ri      s*   € ÷ ñ ÷V ?Ò >Ôœs¤C˜xÕ(Ñ >òWra   >   rW   Ú	namespaceÚnone_is_leafry   >
   r¦  rz   r\   r]   r«  r'  Ú__builtins__r”   r–   rí   )Ñr,	  r¦  r	  rs  rg  rØ  Úimportlib.metadatar1  Úimportlib.utilrò   rê   rŠ  r…  ÚrerD  rˆ  r×   rî  Úcollections.abcr   r   r   r   r   r   r   r	   r
   r   Útyping_extensionsr   Úweakrefr   rk   Útorch._dynamo.excr   Útorch._guardsr   r—  r   rp  r   r   r   r   Úbytecode_transformationr   r   r   rm  r   r   r   r   r   r   r    r!   r"   r#   r$   r%   Úguardsr&   r'   rÆ   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   rl   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r£  r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   r-  rH   Úuser_definedrI   Ú#torch.distributed.fsdp._fully_shardrJ   ÚModuleNotFoundErrorÚtorch._dynamo.codegenrK   rL  rL   rM   rN   Ú#torch._dynamo.variables.ctx_managerrO   rò  rP   rQ   r»  rR   rS   rÜ  rT   rU   r‡   r‰   rü  r­  rÍ  r€  r£   rR  rY   Ú	lru_cachero   rq   r¦   r@  r¨   rÃ   r²   rÔ   rà   rî   rõ   rø   rú   rß  rÿ  rÐ  r"  rØ  rÚ  r  r8  rD  ri  r’  r…  rã  ÚsearchÚmatchÚ	fullmatchÚcompileÚsubÚsubnrƒ  ÚfindallÚescaper6  rú  rO  r]  r£  r·  r¾  rÀ  r  r  rH  r…  r¡  r¢  r£  r¤  r¦  r   rÝ  rî  rï  rG  rZ  rc  ro  r{  r¢  r¤  r¾  rÀ  ré  r)  rH  rh  r…  rž  r²  rÖ  rø  r	  ri   )r,	  s   @rb   Ú<module>rH	     s©  øðöó. Û Û Û Û Û Û Û Û Û 	Û 	Û 
Û Û Û ß .ß (ß G× GÝ #Ý %ã Ý 4Ý  Ý 3ç >Ó >ß VÑ V÷÷ ÷ ó ÷ 1÷÷ ÷ ÷÷ ÷ ñ ÷÷ ÷ õ 'Ý 3ðÝE÷
 Ý/÷ñ õ
 L÷÷
 6Ý&ñ ˆT˜ # s (Õ+Ô,€Ø€
Ø€Ù&Ò'OÓPÐ Ù"+¨Y¨KÓ"8Ð ð DÐ ñ ,=Ó+>€Ó >ô	Ð0ô 	ð ×Òôó ð÷
ñ 
õ>ô	˜	ô 	õ\÷~Hõ.õ õ*ò:Ð õ-ô:I˜ô IôXGÐ3ô GôT!7Ð3ô !7ôH)Ð":ô )ôXw ?ô wôt
Ø ô
ô]6Ð%=ô ]6ô@
Ø"ô
ô"JÐ-ô JôZ >Ð 2ô  >ôF>Ð"6ô >õD$ôNz)Ð!9ô z)ôz	/>Ð(Bô />ðf ‡I‚IØ‡H‚HØ‡L‚LØ‡J‚JØ‡F‚FØ‡G‚GØ‡H‚HØ‡J‚JØ‡I‚Ið
Ð ô\
˜?ô \
ô~ >Ð"6ô  >ôFL Ð":ô L ô^Ð ;ô õ0õ
/ôqDÐ(<ô qDôh"
Ð$8ô "
ôJs˜ô sôlN ô Nôb$"˜/ô $"÷Nó ôO
˜>ô O
ñd $8Ó#9Ð  ô3&˜?ô 3&ôl')¨ô ')ôT /ô ôDI
¨oô I
ôX
¨ô 
ô&%JÐ(<ô %JôP68Ð';ô 68ôr
Ð';ô 
õ:/Sôd!- ô !-õZ
ôBVO ô VOôrkE˜Oô kEô\RT˜ô RTôjCS ô CSôL6V Oô 6Vôr*P˜?ô *PôZ4
˜/ô 4
ônV7˜ô V7ôriB˜ô iBôX.4�ô .4ôb=A˜/ö =AøðqS ô ØÓðús   ÄQ) Ñ)	Q6Ñ5Q6