+
    –°³jÏ ã                   ó|  € 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HtHt ^ RI	Ht ^ RIHt ^ RIHtHtHtHt ^ RIt^ RIHt ^ RIHu H 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I1H2t2 ^RI3H4t4H5t5H6t6H7t7 ^RI8H9t9H:t: ^RI;H<t< ^RI=H>t>H?t?H@t@HAtAHBtBHCtC ^RIHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtK ^RILHMtMHNtNHOtOHPtPHQtQHRtRHStS ^RITHUtU ^RIVHWtWHXtX ^RIYHZtZ ^RI[H\t\H]t]H^t^ ]'       d   ^ RI_H`t` ^ RIaHbtb  ! R R]S4      tc ! R R]S4      td ! R R]S4      te ! R R]S4      tf ! R  R!]f4      tg ! R" R#]f4      th ! R$ R%]h4      ti ! R& R']h4      tj ! R( R)]S4      tk ! R* R+]k4      tl ! R, R-]S4      tm ! R. R/]S4      tn ! R0 R1]S4      toR2 R3 ltp ! R4 R5]S4      tq]Pä                   ! R6 R74      4       ts ! R8 R9]^4      tt ! R: R;]^4      tu ! R< R=]S4      tv ! R> R?]S4      tw ! R@ RA]S4      tx ! RB RC]S4      ty ! RD RE]S4      tz]Pö                  ! ^RF7      RG RH l4       t|]Pö                  ! ^RF7      RI RJ l4       t} ! RK RL]S4      t~ ! RM RN]S4      t ! RO RP]S4      t€ ! RQ RR]S4      t� ! RS RT]S4      t‚]EP                  Ri8¼  d    ! RU RV]S4      t„ ! RW RX]S4      t… ! RY RZ]S4      t† ! R[ R\]S4      t‡ ! R] R^]S4      tˆ ! R_ R`]ˆ4      t‰]EP                  ]ˆ]EP                  ]ˆ]EP                  ]‰/t� ! Ra Rb]S4      tŽ ! Rc Rd]S4      t� ! Re Rf]S4      t� ! Rg Rh]S4      t‘R# )jaÎ  
This module contains miscellaneous variable tracker implementations for various Python types
and features used in Dynamo's symbolic execution. These classes help track and propagate
information about different kinds of variables during graph capture.

Key classes include:
- SuperVariable: Handles super() calls and method resolution
- ExceptionVariable: Tracks exception objects
- RandomVariable: Manages random number generators
- GetAttrVariable: Tracks attribute access
- MethodWrapperVariable: Handles method wrappers
- PythonModuleVariable: Tracks Python modules
- NumpyVariable: Handles numpy functions and types
- StringFormatVariable: Manages string formatting
- DebuggingVariable: Handles print and logging
N)ÚCallableÚSequence©ÚRandom©ÚBuiltinFunctionType)ÚAnyÚTYPE_CHECKINGÚ	TypeGuardÚUnion)ÚMutationType©ÚTupleVariable)ÚSource)ÚconfigÚgraph_break_hintsÚtrace_rulesÚ	variables)Úcreate_call_functionÚcreate_call_function_exÚcreate_instruction)Ú$do_not_convert_to_tracable_parameter)Úraise_observed_exceptionÚraise_type_errorÚraise_value_errorÚunimplemented)ÚGuardBuilderÚinstall_guard)Úunpatched_nn_module_init)Ú
AttrSourceÚGenericAttrSourceÚGetItemSourceÚTypeMROSourceÚ
TypeSourceÚWeakRefCallSource)Úcheck_positionalÚcheck_unspec_or_constant_argsÚidentityÚistypeÚno_keywordsÚproxy_args_kwargsÚraise_args_mismatchÚunpack_iterable)Ú#AsPythonConstantNotImplementedErrorÚgetset_buildÚgetset_readÚMemberÚMethodÚNO_SUCH_SUBOBJÚVariableTracker)ÚConstantVariable)ÚNestedUserFunctionVariableÚUserFunctionVariable)Úgeneric_str)Úcall_random_fnÚis_standard_setattrÚUserDefinedObjectVariable)Ú	PyCodegen)ÚInstructionTranslatorBasec                   óÈ   a a€ ] tR t^at o]t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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RtVtV ;t# )ÚSuperVariablec                ó>   <€ V ^8„  d   QhRS[ RS[ R,          RS[RR/# )é   ÚtypevarÚobjvarNÚkwargsÚreturn©r3   r   )ÚformatÚ__classdict__s   "€Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/variables/misc.pyÚ__annotate__ÚSuperVariable.__annotate__i   s8   ø€ ÷ ñ á ðñ   $Õ&ðñ ð	ð
 
ñó    c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # ©N© )ÚsuperÚ__init__rA   rB   )ÚselfrA   rB   rC   Ú	__class__s   &&&,€rH   rP   ÚSuperVariable.__init__i   s#   ø€ ô 	‰ÒÑ"˜6Ò"ð Œð
 ŽrK   c                ó    <€ V ^8„  d   QhRS[ /# ©r@   rD   ©Útype)rF   rG   s   "€rH   rI   rJ   z   ó   ø€ ÷ ñ ™Tñ rK   c                ó"   € \         P                  # ©N)ÚbuiltinsrO   ©rQ   s   &rH   Úpython_typeÚSuperVariable.python_typez   s   € Ü�~‰~ÐrK   c                ó"   <€ V ^8„  d   QhRRRR/# ©r@   Úcodegenr;   rD   NrN   )rF   rG   s   "€rH   rI   rJ   }   s   ø€ ÷ Bñ B ;ð B°4ñ BrK   c                ó
  <a€ SP                  VV3R  l4       S! V P                  4       V P                  e0   S! V P                  4       SP                  \	        ^R4      4       R# SP                  \	        ^R4      4       R# )c                  óD   <€ S! \         P                  ! \        4      4      # rZ   )r   ÚBuiltinVariablerO   )rR   ra   s   €€rH   Ú<lambda>Ú+SuperVariable.reconstruct.<locals>.<lambda>~   s   ø€ ¡g¬i×.GÒ.GÌÓ.NÔ&OrK   NF)Úadd_push_nullrA   rB   Úextend_outputr   ©rQ   ra   rR   s   &f€rH   ÚreconstructÚSuperVariable.reconstruct}   s`   ù€ Ø×ÑÕOÔPÙ�—‘ÔØ�;‰;Ò"Ù�D—K‘KÔ Ø×!Ñ!Ô"6°q¸%Ó"@ÖAà×!Ñ!Ô"6°q¸%Ó"@ÖArK   c          	      óN   <€ V ^8„  d   QhRRRS[ RS[S[S[R,          3,          /# )r@   Útxr<   ÚnamerD   N)ÚstrÚtupler   r   )rF   rG   s   "€rH   rI   rJ   †   s9   ø€ ÷ C
ñ C
Ø-ðC
Ù58ðC
á	‰s‘J Õ%Ð%Õ	&ñC
rK   c                ó   <€ V P                   '       g/   \        R RRV RV P                   RV P                    R2R.R7       V P                   f   \        R	4      hV P                  P	                  4       pV P                   P                  4       pV P                   P                  '       d    \        V P                   P                  4      MRp\        V\        4      '       d-   V P                   P                  pV P                   P                  pRpVP                  p VP                  V4      ^,           p\!        T\#        T4      4       Fi  p	Yy,          P$                  P'                  T\(        4      ;p
'       g   K3  T
\(        Jg   K?  T'       d    \+        \-        \/        T4      T	4      T4      pY¦3u # 	  \        R
RRT RT P                   RT P                    R2RR.R7       R#   \         d    \        \        Y44      T4      R3u # i ; i)z1-arg super not implementedÚ z"Dynamo failed to trace attribute `z$` accessed via `super()` (for type `z` and object `z4`) because one-argument of super() is not supported.z-Use two-argument super(type, object_or_type).©Úgb_typeÚcontextÚexplanationÚhintsNz!super() requires objvar to be setzUnable to resolve super getattrz8`) because the resolved attribute type is not supported.z0Ensure the attribute exists in the parent class.z(Check the arguments passed to `super()`.)rB   r   rA   ÚAssertionErrorÚas_python_constantr]   Úsourcer#   Ú
issubclassrW   ÚvalueÚ__mro__ÚindexÚ
ValueErrorÚgetattrrO   ÚrangeÚlenÚ__dict__Úgetr2   r   r!   r"   )rQ   rm   rn   Úsearch_typeÚtype_to_useÚtype_to_use_sourcerz   Ú
search_mroÚstart_indexr~   Úresolved_getattrrR   s   &&&        €rH   Ú_resolved_getattr_and_sourceÚ*SuperVariable._resolved_getattr_and_source†   sù  ø€ ð �{�{ˆ{ÜØ5ØØ@ÀÀð G,Ø,0¯L©L¨>¸ÈÏÉÀ}ð UDðDð Dðõ	ð �;‰;ÒÜ Ð!DÓEÐEØ—l‘l×5Ñ5Ó7ˆð —k‘k×-Ñ-Ó/ˆà.2¯k©k×.@×.@Ð.@ŒJ�t—{‘{×)Ñ)Ô*Àdð 	ô �k¤4×(Ò(ØŸ+™+×+Ñ+ˆKØ!%§¡×!3Ñ!3ÐàˆØ ×(Ñ(ˆ
ð	HØ$×*Ñ*¨;Ó7¸!Õ;ˆKô ˜;¬¨J«Ö8ˆEà#-Õ#4×#=Ñ#=×#AÑ#AÀ$ÌÓ#WÐWÐ×WÐWØ#¬>Õ9ç)Ü!+Ü)¬-Ð8JÓ*KÈUÓSØ ó"˜ð ,Ð3Ò3ñ 9ô 	Ø5ØØ<¸T¸Fð C(Ø(,¯© ~°^ÀDÇKÁKÀ=ð QDðDð CØ:ð÷
	
øô' ô 	Hô œ5 Ó:¸DÓAÀ4ÐGÒGð	Hús   ÄG( Ç("HÈHc                ó*   <€ V ^8„  d   QhRRRS[ RS[/# ©r@   rm   r<   rn   rD   ©ro   r3   )rF   rG   s   "€rH   rI   rJ   Ë   s*   ø€ ÷ Gñ GØ-ðGÙ58ðGá	ñGrK   c                ó>  € V P                  W4      w  r4\        P                  P                  V4      '       g   \	        W\        V4      R 7      # V'       d)   \        VP                  \        P                  4      4       \        P                  P                  W4R7      # )©Úpy_type©rz   )r‹   r   r4   Ú
is_literalÚGetAttrVariablerW   r   Ú
make_guardr   ÚCONSTANT_MATCHÚcreate)rQ   rm   rn   r|   rz   s   &&&  rH   Útp_getattro_implÚSuperVariable.tp_getattro_implË   st   € ð ×9Ñ9¸"ÓC‰ˆÜ×)Ñ)×4Ñ4°U×;Ò;Ü" 4´t¸E³{ÔCÐCßÜ˜&×+Ñ+¬L×,GÑ,GÓHÔIÜ×)Ñ)×0Ñ0°Ð0ÓFÐFrK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# ©r@   rm   r<   rn   ÚargsrC   rD   ©ro   Úlistr3   Údict)rF   rG   s   "€rH   rI   rJ   Ý   sS   ø€ ÷ ]
ñ ]
à'ð]
ñ ð]
ñ ‘?Õ#ð	]
ñ
 ‘S™/Ð)Õ*ð]
ñ 
ñ]
rK   c                ó²  € V P                  W4      w  rVV P                  f   \        R4      hV\        P                  J d   \        \        4      # V\        P                  P                  P                  J dî   T P                  p^RI
Hp \        V\        P                  4      '       d‹   \        VP                  V4      '       do   V'       gg   V'       g_   \!        4       ;_uu_ 4        \"        P$                  ! V\&        VR7      p	V	P)                  WP                  .V,           V4      uuR R R 4       # \+        RRV  RV RV RV 2RV R2. \,        P.                  OR	7       EMÚV P                  P0                  '       dÔ   \3        VR
4      '       dÂ   VP4                  R8X  d±   \        P6                  P9                  V4      '       dŒ   VP:                  p
\3        V
R4      '       d)   V
P<                  R8X  d   \"        P$                  ! W4      pM2Vf   \        R4      hVP>                  p\        P6                  ! W¬R7      pVPA                  VRW44      # \        V\B        4      '       d`   \        VPD                  \F        PH                  4      '       d6   \"        P$                  ! WPD                  VRR7      p	V	P)                  WV4      # \        V\J        4      '       Ed   \        VPD                  \F        PH                  4      '       dó   \        V P                  \        P6                  4      '       d   V P                  pMiR pV P                  P0                  '       d    \M        V P                  P0                  4      p\"        P$                  ! VV P                  PN                  V4      pVf   \        R4      h\"        P$                  ! VVPD                  \Q        VR4      RR7      p	V	P)                  W.VOV4      # \        V\F        PH                  4      '       d>   \"        P$                  ! WVRR7      p	V	P)                  WP                  .V,           V4      # \        V\F        PR                  4      '       d>   \        PT                  ! VPD                  V P                  VR7      P)                  WV4      # \W        V4      '       dA   \        V P                  \        4      '       d!   V P                  PX                  ! V.VO5/ VB # V\        PZ                  J Ed   V^ ,          p VP]                  4       pVP`                  P                  Pc                  V P                  4      '       g5   \+        RRV  RV 2RV P                   R2R.\,        Pd                  OR	7       \        V\f        4      '       g   \        R\i        V4       24      hVP`                  P                  Pk                  V P                  V\        Pl                  ! 4       4       \        Pn                  Pq                  R 4      # \        V P                  \        P                  4      '       dq   V P                  Pr                  eY   V P                  Pt                  eA   WPP                  Pt                  9   d'   V P                  Pr                  PA                  WW44      # V\        Pv                  J dÏ   V^ ,          Px                  p\        V P                  \        4      '       d   V P                  P{                  VV4      # R p \        Pw                  V P                  Px                  V4      pR pV P                  P0                  e!   \�        V P                  P0                  V4      p\"        P$                  ! VVV4      # V\        P‚                  P„                  J dµ   V^ ,          p/ pV^,          P†                  pV^,          P†                  P‡                  4        F%  w  ppVPˆ                  P]                  4       pVVV&   K'  	  VPŠ                  PŒ                  pRVPŠ                  nF         VP)                  VVV4      VVPŠ                  nF        # \        V\F        PŽ                  4      '       dX   V\�        P’                  ! 4       9   d>   \"        P$                  ! WVRR7      pVP)                  WP                  .V,           V4      # \        V\F        P”                  4      '       d,   \"        P$                  ! WVRR7      p	V	P)                  WV4      # \+        RRV  RV 2RV R V R!2R".R	7       R #   + '       g   i     L/; i  \^         d#   p\+        RRT  RT 2RR.TR7        R p?ELcR p?ii ; i  \|         d    \        \|        T4        ELfi ; i  TTPŠ                  nF        i ; i)#Nz2super() requires objvar to be set for method calls)ÚAttributeMutationNewr“   z#Unsupported super().__init__() callúcall_method Ú z0Dynamo encountered a super().__init__() call on zK that resolved to a `torch.nn.Module.__init__()` call that we cannot trace.rs   Ú__name__Ú__new__Ú
__module__r[   z.source must not be None for user-defined classT©rz   Úrealizez2source must not be None for classmethod resolutionÚ__func__z7Non-constant attribute given to `super().__delattr__()`zbDynamo requires the attribute name passed to `super().__delattr__(...)` to be a constant (string).zEEnsure the attribute name is a string literal or a constant variable.)rt   ru   rv   rw   Úfrom_exczFAttempted super().__delattr__() on an object without mutation trackingzmDynamo needs to track mutations on an object before `super().__delattr__` can be used on it. But the object (z3) doesn't have attribute mutation tracking enabled.z<Ensure the object is tracked by Dynamo's side effect system.zattr must be a str, got F)r©   zFAttempted to call a super() attribute that is not a function or methodz4Dynamo does not know how to trace the call `super().z()` because `super().z(` is not a function or method attribute.zMEnsure the attribute accessed via `super()` is a standard method or function.)Kr‹   rB   rx   ÚobjectrP   ÚLambdaVariabler'   ÚtorchÚnnÚModuleÚside_effectsr¢   Ú
isinstancer   r:   Úmutation_typer   r3   Úbuildr   Úcall_functionr   r   Ú	DIFFICULTrz   Úhasattrr¥   ÚUserDefinedClassVariableÚis_supported_new_methodÚ__self__r§   ÚmemberÚcall_methodÚstaticmethodrª   ÚtypesÚFunctionTypeÚclassmethodr#   Ú
value_typer   Ú
MethodTypeÚUserMethodVariabler9   Úmethod_setattr_standardÚ__delattr__ry   ÚNotImplementedErrorÚoutputÚis_attribute_mutationÚ
DYNAMO_BUGro   rW   Ú
store_attrÚDeletedVariabler4   r˜   Ú_base_vtÚ_base_methodsÚ__getattribute__r|   Úgeneric_getattrÚAttributeErrorr   r    Ú_CÚ_disabled_torch_function_implÚitemsÚvtÚsymbolic_torch_function_stateÚtorch_function_subclass_enabledÚMethodDescriptorTyper   Úget_tensor_methodr   )rQ   rm   rn   r�   rC   Úinner_fnrz   rB   r¢   Úfn_vtÚuser_clsÚuser_cls_vtÚuser_cls_sourceÚcls_variableÚ
cls_sourceÚattrÚexcÚ	attr_nameÚ
attr_valueÚattr_sourceÚfuncÚ	tf_kwargsÚtf_argsÚhash_key_vtÚvalue_vtÚkey_strÚtx_oldÚfn_vars   &&&&&                       rH   r¼   ÚSuperVariable.call_methodÝ   s8  € ð  ×<Ñ<¸RÓFÑˆØ�;‰;ÒÜ Ð!UÓVÐVð ”v—‘Ó&Ü!¤(Ó+Ð+ØœŸ™Ÿ™×1Ñ1Ó1Ø—[‘[ˆFÝ;ô ˜6¤9×#FÑ#F×GÒGÜ˜v×3Ñ3Ð5I×JÒJß§ä9×;Õ;Ü+×1Ò1ØÔ4¸Vô�Eð !×.Ñ.¨r·K±K°=À4Õ3GÈÓP÷	 <Ò;ô ØAØ*¨4¨&°°$°°q¸¸¸aÀ¸xÐHð!Ø ˜ð "1ð!1ð 9Ô-×7Ñ7Ð8÷ð �K‰K××ÐÜ˜ *×-Ò-Ø×!Ñ! YÔ.Ü×2Ñ2×JÑJÈ8×TÒTà×(Ñ(ˆHÜ�x ×.Ò.°8×3FÑ3FÈ*Ô3TÜ/>×/DÒ/DÀRÓ/R‘à’>Ü(ØHóð ð #)§-¡-�Ü'×@Ò@Øô�ð ×*Ñ*¨2¨y¸$ÓGÐGÜ˜¤,×/Ò/´JØ×Ñœu×1Ñ1÷5
ò 5
ô $×)Ò)Ø×%Ñ%¨f¸dôˆEð ×&Ñ& r°Ó8Ð8Ü˜¤+×.Ó.´:Ø×Ñœu×1Ñ1÷4
ò 4
ô ˜$Ÿ+™+¤y×'IÑ'I×JÒJð  $Ÿ{™{‘ð "�
Ø—;‘;×%×%Ð%Ü!+¨D¯K©K×,>Ñ,>Ó!?�JÜ.×4Ò4ØØ—K‘K×*Ñ*Øó �ð
 Š~Ü$ØHóð ô $×)Ò)ØØ×!Ñ!Ü! &¨*Ó5Øô	ˆEð ×&Ñ& rÐ+@¸4Ð+@À&ÓIÐIÜ˜¤%×"4Ñ"4×5Ò5Ü#×)Ò)¨"¸vÈtÔTˆEØ×&Ñ& r¯K©K¨=¸4Õ+?ÀÓHÐHÜ˜¤%×"2Ñ"2×3Ò3Ü×/Ò/Ø×!Ñ! 4§;¡;°vôç‰m˜B fÓ-ð.ô ! ×*Ò*¬zØ�K‰KÔ2÷0
ò 0
ð —;‘;×6Ò6°rÐK¸DÒKÀFÑKÐKØœ×+Ñ+Ô+Ø˜•7ˆDðØ×.Ñ.Ó0�ð —9‘9×)Ñ)×?Ñ?ÀÇÁ×LÒLÜØdØ*¨4¨&°°$°Ð8ð!à#Ÿ{™{˜mð ,(ð!(ð
 Wðä*×5Ñ5ðõô ˜d¤C×(Ò(Ü$Ð'?ÄÀTÃ
¸|Ð%LÓMÐMØ�I‰I×"Ñ"×-Ñ-Ø—‘˜T¤9×#<Ò#<Ó#>ôô ×-Ñ-×4Ñ4°TÓ:Ð:ä�t—{‘{¤I×$GÑ$G×HÒHØ—‘×$Ñ$Ò0Ø—‘×)Ñ)Ò5ØŸK™K×5Ñ5Ô5à—;‘;×'Ñ'×3Ñ3°B¸dÓKÐKØœ×0Ñ0Ó0Ø˜Q�Ÿ™ˆIô ˜$Ÿ+™+Ô'@×AÒAØ—{‘{×2Ñ2°2°yÓAÐAàˆJð=Ü#×4Ñ4Ø—K‘K×%Ñ%Øó�
ð ˆKØ�{‰{×!Ñ!Ò-Ü/°·±×0BÑ0BÀIÓN�Ü"×(Ò(¨¨Z¸ÓEÐEØœŸ™×?Ñ?Ó?ð
 ˜•7ˆDàˆIØ˜1•g—m‘mˆGà)-¨a­¯©×)<Ñ)<Ö)>Ñ%�˜XØ%Ÿ.™.×;Ñ;Ó=�Ø%-�	˜'Ó"ñ *?ð ×5Ñ5×UÑUˆFØOTˆB×,Ñ,ÔLðØ×)Ñ)¨"¨g°yÓAð ð ×0Ñ0ÕPô �x¤×!;Ñ!;×<Ò<ØœK×9Ò9Ó;Ô;ô %×*Ò*¨2¸ÈÔNˆFØ×'Ñ'¨¯[©[¨M¸DÕ,@À&ÓIÐIÜ˜¤%×";Ñ";×<Ò<Ü#×)Ò)¨"¸vÈtÔTˆEØ×&Ñ& r°Ó8Ð8äð'à" 4 &¨¨$¨Ð0ðØ�vÐ2°4°&ð 9,ð,ð `ð÷
	
÷m <×;ûôt 'ô 
ÜØUØ*¨4¨&°°$°Ð8ð!Lð `ðð !÷	ó 	ûð
ûôf "ô =Ü(¬¸×<ð=ûð6 ð ×0Ñ0ÕPúsC   Ã(AeÔ&e1 Ü/*f! ág åe.	å1få<fæfæ!g æ?g çg)rB   rA   rZ   )r¥   r§   Ú__qualname__Ú__firstlineno__rO   Ú_cpython_typer3   Ú_nonvar_fieldsrP   r]   rj   r‹   r™   r¼   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rR   rG   s   @@rH   r>   r>   a   sj   ù‡ € à€MðØ	×	'Ñ	'ð€N÷õ ÷"ð ÷Bó B÷C
ó C
÷JGð G÷$]
÷ ]
ð ]
rK   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R]! ]! R 4      4      R]! ]! R	 4      4      R
]! ]! R 4      4      R]! ]! R 4      4      /tRt	Vt
V ;t# )ÚFrameSummaryVariablei½  c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# )r@   Úframe_summaryrC   rD   N)Ú	tracebackÚFrameSummaryr   )rF   rG   s   "€rH   rI   Ú!FrameSummaryVariable.__annotate__¾  s)   ø€ ÷ +ñ +¡i×&<Ñ&<ð +Éð +ÐPTñ +rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   )rO   rP   rù   )rQ   rù   rC   rR   s   &&,€rH   rP   ÚFrameSummaryVariable.__init__¾  s   ø€ Ü‰ÒÑ"˜6Ò"Ø*ÖrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   rü   Â  ó   ø€ ÷ &ñ &™Tñ &rK   c                ó"   € \         P                  # rZ   )rú   rû   r\   s   &rH   r]   Ú FrameSummaryVariable.python_typeÂ  s   € Ü×%Ñ%Ð%rK   Úlinenoc                ó.   € V P                   P                  # rZ   )rù   r  ©Úss   &rH   re   ÚFrameSummaryVariable.<lambda>È  s   € °·±×0FÒ0FrK   Úfilenamec                ó.   € V P                   P                  # rZ   )rù   r  r  s   &rH   re   r  É  s   € °!·/±/×2JÒ2JrK   rn   c                ó.   € V P                   P                  # rZ   )rù   rn   r  s   &rH   re   r  Ê  ó   € ¨a¯o©o×.BÒ.BrK   Úlinec                ó.   € V P                   P                  # rZ   )rù   r  r  s   &rH   re   r  Ë  r  rK   )rù   )r¥   r§   rî   rï   rP   r]   r0   r.   Ú
tp_membersrò   ró   rô   rõ   s   @@rH   r÷   r÷   ½  sd   ù‡ € ÷+ó +÷&ð &ð 	‘&™Ñ&FÓGÓHØ‘F™<Ñ(JÓKÓLØ‘‘|Ñ$BÓCÓDØ‘‘|Ñ$BÓCÓDð	‡J€JrK   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4       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V 3R lltV3R lR ltV3R lV 3R lltRtVtV ;t# )ÚTracebackVariableiÏ  c                óD   <€ V ^8„  d   QhRS[ RS[RS[3,          RS[RR/# )r@   rù   Útb_nextr  rC   rD   N)r÷   r   r4   r   )rF   rG   s   "€rH   rI   ÚTracebackVariable.__annotate__Ð  s?   ø€ ÷ ñ á+ðñ Ð*Ñ,<Ð<Õ=ðñ ð	ð
 
ñrK   c                ó^   <€ \         SV `  ! R/ VB  Wn        Vf   \        R4      hW n        R # )Nztb_next must not be NonerN   )rO   rP   rù   rx   r  )rQ   rù   r  rC   rR   s   &&&,€rH   rP   ÚTracebackVariable.__init__Ð  s1   ø€ ô 	‰ÒÑ"˜6Ò"Ø*ÔàŠ?Ü Ð!;Ó<Ð<ØŽrK   c                óR   <€ V ^8„  d   QhRS[ P                  RS[RS[3,          RR/# )r@   rù   r  r  rD   )rú   rû   r   r4   )rF   rG   s   "€rH   rI   r  ä  s@   ø€ ÷ Iñ Iá ×-Ñ-ðIñ Ð*Ñ,<Ð<Õ=ðIð 
ñ	IrK   c                ó(   € V ! \        V4      VR 7      # ))r  )r÷   )Úclsrù   r  s   &&&rH   Úfrom_frame_summaryÚ$TracebackVariable.from_frame_summaryã  s   € ñ Ô'¨Ó6ÀÔHÐHrK   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r@   ÚobjrD   ©r3   Úbool)rF   rG   s   "€rH   rI   r  ì  s   ø€ ÷ Hñ H¡ð H±Dñ HrK   c                óR   € \        V \        4      ;'       g    V P                  4       # rZ   )r(   r  Úis_constant_none©r  s   &rH   Úis_valid_tracebackÚ$TracebackVariable.is_valid_tracebackë  s!   € ä�cÔ,Ó-×GÐG°×1EÑ1EÓ1GÐGrK   c                óT   <€ V ^8„  d   QhRS[ S[P                  S[,          ,          /# rU   )rŸ   rú   rû   r÷   )rF   rG   s   "€rH   rI   r  ï  s(   ø€ ÷ @ñ @™D¡×!7Ñ!7Ñ:NÕ!NÕOñ @rK   c                ó´   € \        V P                  \        4      '       d   V P                  .# V P                  .V P                  P	                  4       ,           # rZ   )r(   r  r4   rù   Ú
extract_tbr\   s   &rH   r'  ÚTracebackVariable.extract_tbï  sD   € Ü�$—,‘,Ô 0×1Ò1Ø×&Ñ&Ð'Ð'Ø×"Ñ"Ð# d§l¡l×&=Ñ&=Ó&?Õ?Ð?rK   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r@   ÚtbrD   r  )rF   rG   s   "€rH   rI   r  ô  s   ø€ ÷ ñ ¡oð ¹$ñ rK   c                ó`   € T p\        V\        4      '       d   W!J d   R # VP                  pK+  R# )TF)r(   r  r  )rQ   r*  Úcurr_tbs   && rH   Úhas_reference_cycleÚ%TracebackVariable.has_reference_cycleô  s)   € à8<ˆÜ�WÔ/×0Ò0Ø‹}ÙØ—o‘oŠGÙrK   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# rU   )rW   r¾   ÚTracebackType)rF   rG   s   "€rH   rI   r  ý  s   ø€ ÷ #ñ #™T¡%×"5Ñ"5Õ6ñ #rK   c                ó"   € \         P                  # rZ   )r¾   r0  r\   s   &rH   r]   ÚTracebackVariable.python_typeý  s   € Ü×"Ñ"Ð"rK   c                ó0   <€ V ^8„  d   QhRRRS[ RS[ RS[ /# )r@   rm   r<   Úname_varÚvalrD   ©r3   )rF   rG   s   "€rH   rI   r     s3   ø€ ÷ 7ñ 7à'ð7ñ "ð7ñ ð	7ñ
 
ñ7rK   c                óÖ  € VP                  4       pVR 8X  dµ   V P                  V4      '       g   \        \        V4       \	        V\
        \        34      '       g   \        R\        V4       24      hV P                  V4      '       g.   \        V\
        4      '       d(   VP                  V 4      '       d   \        \        V4       W0n        \        P                  P                  R4      # )r  z?tb_next val must be TracebackVariable or ConstantVariable, got N)ry   r#  r   Ú	TypeErrorr²   r  r4   rx   rW   r-  r(   r   r  r   r˜   )rQ   rm   r4  r5  rn   s   &&&& rH   Úcall_setattrÚTracebackVariable.call_setattr   s¿   € ð ×*Ñ*Ó,ˆØ�9ÔØ×*Ñ*¨3×/Ò/Ü(¬°BÔ7Ü˜cÔ$5Ô7GÐ#H×IÒIÜ$ØUÔVZÐ[^ÓV_ÐU`Ðaóð ð ×'Ñ'¨×,Ò,Ü�sÔ-×.Ò.°3×3JÑ3JÈ4×3PÒ3Pä(¬°RÔ8ØŒLÜ×)Ñ)×0Ñ0°Ó6Ð6rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   r    s%   ø€ ÷ 2ñ 2Ø-ð2Ù58ð2á	ñ2rK   c                ó  <€ VR 8X  d   V P                   # VR8X  d   V P                  P                  VR4      # VR8X  d   V P                  # VR8X  d#   \        RV  R2R. \        P
                  OR7       \        SV `	  W4      # )	r  Ú	tb_linenor  rù   Útb_lastiz traceback.tb_lasti not supportedz accessing 'tb_lasti'zNDynamo does not support accessing the tb_lasti attribute of traceback objects.rs   )r  rù   r™   r   r   ÚSUPPORTABLErO   ©rQ   rm   rn   rR   s   &&&€rH   r™   Ú"TracebackVariable.tp_getattro_impl  sŽ   ø€ ð �9ÔØ—<‘<ÐØ�[Ô Ø×%Ñ%×6Ñ6°r¸8ÓDÐDØ�_Ô$Ø×%Ñ%Ð%Ø�ZÔÜØ:Ø˜&Ð 5Ð6ØlØ6Ô)×5Ñ5Ð6õ	ô ‰wÑ'¨Ó1Ð1rK   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# ©r@   rm   r<   Úotherr3   ÚoprD   ©ro   )rF   rG   s   "€rH   rI   r  '  ó-   ø€ ÷ 7ñ 7Ø-ð7Ø6Gð7ÙMPð7à	ñ7rK   c                ó    € ^RI Hp V! WW#4      # ©é   )Úobject_richcompare©Úobject_protocolrK  ©rQ   rm   rD  rE  rK  s   &&&& rH   Útp_richcompare_implÚ%TracebackVariable.tp_richcompare_impl'  ó   € õ 	8á! $¨EÓ6Ð6rK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   r  .  sL   ø€ ÷ 	;ñ 	;à'ð	;ñ ð	;ñ ‘?Õ#ð		;ñ
 ‘S™/Ð)Õ*ð	;ñ 
ñ	;rK   c                óZ   <€ VR 8X  d   V P                   ! V.VO5!  # \        SV `	  WW44      # )Ú__setattr__)r9  rO   r¼   ©rQ   rm   rn   r�   rC   rR   s   &&&&&€rH   r¼   ÚTracebackVariable.call_method.  s5   ø€ ð �=Ô Ø×$Ò$ RÐ/¨$Ó/Ð/Ü‰wÑ" 2¨TÓ:Ð:rK   )rù   r  )r¥   r§   rî   rï   rP   rÀ   r  r½   r#  r'  r-  r]   r9  r™   rO  r¼   rò   ró   rô   rõ   s   @@rH   r  r  Ï  sˆ   ù‡ € ÷ó ð& ÷Ió ðIð ÷Hó ðH÷@ð @÷
ð ÷#ð #÷7ð 7÷*2ó 2÷$7ð 7÷	;÷ 	;ó 	;rK   r  c                   ó&  a a€ ] tR tRt o]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V 3R lltV3R lR ltV3R lR lt]t]V3R lR l4       tV3R lR ltV3R lR ltRtVtV ;t# )ÚExceptionVariablei:  c                óŒ   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[S[3,          R,          RS[R,          RS[R,          RR/# ©r@   Úexc_typer�   Úinit_kwargsNrz   r³   rD   ©r   rŸ   r3   r    ro   r   r   )rF   rG   s   "€rH   rI   ÚExceptionVariable.__annotate__?  sl   ø€ ÷ @ñ @áð@ñ ‘?Õ#ð@ñ ™#™Ð.Õ/°$Õ6ð	@ñ
 ˜•ð@ñ $ dÕ*ð@ð 
ñ@rK   c                ó~  <€ \         SV `  WER 7       Wn        W n        V'       d%   \	        RV  RV 2R. \
        P                  OR7       \        P                  ! R4      V n	        \        P                  ! R4      V n
        \        P                  ! R4      V n        \        P                  ! R4      V n        RV n        R# ))rz   r³   z,Keyword args passed to exception constructorz with kwargs zRDynamo does not know how to handle keyword args passed to an exception constructorrs   NF)rO   rP   r[  r�   r   r   r?  r4   r˜   Ú__context__Ú	__cause__Ú__suppress_context__Ú__traceback__Úpython_stack©rQ   r[  r�   r\  rz   r³   rR   s   &&&&&&€rH   rP   ÚExceptionVariable.__init__?  s§   ø€ ô 	‰Ñ ÐÔDØ ŒØŒ	ßÜØFØ˜& ¨k¨]Ð;ØpØ6Ô)×5Ñ5Ð6õ	ô -=×,CÒ,CÀDÓ,IˆÔô +;×*AÒ*AÀ$Ó*GˆŒä5E×5LÒ5LÈUÓ5SˆÔ!ä.>×.EÒ.EÀdÓ.KˆÔð <@ˆÖrK   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r@   ru   rD   Nr6  )rF   rG   s   "€rH   rI   r^  `  s   ø€ ÷ #ñ #¡?ð #°tñ #rK   c                ó   € Wn         R # rZ   )r`  )rQ   ru   s   &&rH   Úset_contextÚExceptionVariable.set_context`  s   € Ø"ÖrK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   r^  c  s   ø€ ÷ -ñ - ;ð -°4ñ -rK   c                óú   a a€ SP                  VV 3R  l4       SP                  S P                  4       SP                  \	        S P                  4      R4       R VV 3R llpV! R4       V! R4       V! R4       R# )c                  óP   <€ S P                  R SP                  P                  4      # )r[   )Úload_import_fromr[  r¥   ©ra   rQ   s   €€rH   re   Ú/ExceptionVariable.reconstruct.<locals>.<lambda>e  s   ø€ �G×,Ñ,¨Z¸¿¹×9OÑ9OÔPrK   Fc                ó(   € V ^8„  d   QhR\         RR/# )r@   rn   rD   NrF  )rF   s   "rH   rI   Ú3ExceptionVariable.reconstruct.<locals>.__annotate__j  s   € ÷ 	)ñ 	)œsð 	) tñ 	)rK   c                 ó   <€ \        SV 4      p\        V\        4      '       d"   VP                  R9  d   \	        RV 24      hR# SP                  4        S! V4       SP                  SP                  ^4      4       SP                  V 4       R# )TNz-attr.value must be True, False, or None, got )TFN)	r€   r(   r4   r|   rx   Údup_toprh   Úrot_nrÊ   )rn   rà   ra   rQ   s   & €€rH   Úcodegen_attrÚ3ExceptionVariable.reconstruct.<locals>.codegen_attrj  s~   ø€ Ü˜4 Ó&ˆDÜ�dÔ,×-Ò-Ø—:‘:Ð%8Ô8Ü(ØGÈÀvÐNóð ñ 9ð
 —‘Ô!Ù˜”Ø×%Ñ% g§m¡m°AÓ&6Ô7Ø×"Ñ" 4Ö(rK   r`  ra  rb  N)rg   Úforeachr�   rµ   r‚   )rQ   ra   rv  s   ff rH   rj   ÚExceptionVariable.reconstructc  sc   ù€ Ø×ÑÝPô	
ð 	�‰˜Ÿ	™	Ô"Ø×Ñœc $§)¡)›n¨eÔ4÷	)ñ 	)ñ 	�]Ô#Ù�[Ô!ÙÐ+Ö,rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   r^  {  s   ø€ ÷ ñ ™Tñ rK   c                ó   € V P                   # rZ   )r[  r\   s   &rH   r]   ÚExceptionVariable.python_type{  s   € Ø�}‰}ÐrK   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# rC  rF  )rF   rG   s   "€rH   rI   r^  ~  rG  rK   c                ó    € ^RI Hp V! WW#4      # rI  rL  rN  s   &&&& rH   rO  Ú%ExceptionVariable.tp_richcompare_impl~  rQ  rK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   r^  …  sS   ø€ ÷ ^?ñ ^?à'ð^?ñ ð^?ñ ‘?Õ#ð	^?ñ
 ‘S™/Ð)Õ*ð^?ñ 
ñ^?rK   c                ó^  <€ VR 8X  Ed.   V^ ,          P                  4       pV^,          pVR8X  du   VP                  4       '       gL   \        V\        P                  \        P
                  \        P                  34      '       g   \        VR4       V P                  V4       EMsVR8X  d�   VP                  4       '       gO   \        V\        P                  \        P                  \        P
                  \        P                  34      '       d,   WPn
        \        P                  P                  R4      V n        MÝ\        VR4       MÐVR8X  d-   VP                  RR4      '       d   WPn        Mª\        VR4       M�VR8X  d/   \        P!                  V4      '       g   \        VR	4       WPn        MhVR
8X  d   \%        W4      V n        MPVP(                  P*                  pVP-                  V 4      '       g   VP/                  V 4       VP1                  WV4       \        P                  P                  R4      # VR8X  dÿ   \3        V4      ^8w  d   \        VR\3        V4       R24       Vw  pVP                  4       '       d    \        P                  P                  R4      # \        V\        P4                  4      '       g   \        VR4       VP7                  4       P9                  4        F/  w  r‰V P;                  VR \        P                  ! V4      V	./ 4       K1  	  \        P                  P                  R4      # VR8X  d]   \3        V4      ^8w  d   \        VR\3        V4       R24       Vw  p
\        P!                  V
4      '       g   \        VR	4       W n        V # \<        SV `u  WW44      # )rT  r`  z;exception context must be None or derive from BaseExceptionra  Tz9exception cause must be None or derive from BaseExceptionrb  Frc  z)__traceback__ must be a traceback or Noner�   NÚ__setstate__z+__setstate__() takes exactly one argument (z given)zstate is not a dictionaryÚwith_tracebackz-with_traceback() takes exactly one argument ()ry   r!  r²   r   rX  Ú!UserDefinedExceptionClassVariableÚ"UserDefinedExceptionObjectVariabler   ri  rd   ra  r4   r˜   rb  Úis_constant_matchr  r#  rc  r,   r�   rÇ   r±   rÈ   Útrack_attribute_mutation_newÚstore_instance_dict_attrr‚   ÚConstDictVariableÚkeys_as_python_constantrÓ   r¼   rO   )rQ   rm   rn   r�   rC   r5  ÚseÚstateÚkeyr|   r*  rR   s   &&&&&      €rH   r¼   ÚExceptionVariable.call_method…  s$  ø€ ð �=Õ Ø˜•7×-Ñ-Ó/ˆDØ�q•'ˆCØ�}Ô$ð ×(Ñ(×*Ò*Ü!Øä%×7Ñ7Ü%×GÑGÜ%×HÑHð÷ò ô %ØØUôð × Ñ  Ö%Ø˜Ô$Ø×'Ñ'×)Ò)¬ZØä!×1Ñ1Ü!×3Ñ3Ü!×CÑCÜ!×DÑDð	÷.ò .ð &)”NÜ09×0JÑ0J×0QÑ0QÐRVÓ0W�DÕ-ä$ØÐWõð Ð/Ô/Ø×(Ñ(¨¨u×5Ò5Ø03Õ-ä$ØÐWõð ˜Ô(Ü(×;Ñ;¸C×@Ò@Ü$ RÐ)TÔUØ%(Õ"Ø˜”ä+¨BÓ4�•	ð —Y‘Y×+Ñ+�Ø×/Ñ/°×5Ò5Ø×3Ñ3°DÔ9Ø×+Ñ+¨D¸Ô<Ü×-Ñ-×4Ñ4°TÓ:Ð:Ø�^Ô#Ü�4‹y˜AŒ~Ü ØÐEÄcÈ$ÃiÀ[ÐPWÐXôð ‰GˆUà×%Ñ%×'Ò'Ü ×1Ñ1×8Ñ8¸Ó>Ð>Ü˜e¤Y×%@Ñ%@×AÒAÜ  Ð%@ÔAØ#×;Ñ;Ó=×CÑCÖE‘
�Ø× Ñ Ø˜Ô(8×(?Ò(?ÀÓ(DÀeÐ'LÈböñ Fô ×-Ñ-×4Ñ4°TÓ:Ð:ØÐ%Ô%Ü�4‹y˜AŒ~Ü ØØCÄCÈÃIÀ;ÈgÐVôð ‰DˆRÜ$×7Ñ7¸×;Ò;Ü  Ð%PÔQØ!#ÔØˆKä‘7Ñ& r°Ó>Ð>rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   r^  å  s%   ø€ ÷ ñ Ø-ðÙ58ðá	ñrK   c           
     ó@  <€ VR 8X  d!   \         P                  ! WP                  4      # VR8X  d   V P                  # VR8X  d   V P                  # VR8X  d   V P
                  # VR8X  d   V P                  # VR8X  dU   \         P                  ! T\        V P                  4      V P                  ;'       d    \        V P                  R4      R7      #  \        SV `1  W4      #   \         d3    \        \        TRT P                  P                    RT R2.R	7        R
# i ; i)rR   r`  ra  rb  rc  r�   r“   Ú'z' object has no attribute '©r�   N)r3   r´   r[  r`  ra  rb  rc  rp   r�   rz   r   rO   r™   rÆ   r   rÐ   r¥   r@  s   &&&€rH   r™   Ú"ExceptionVariable.tp_getattro_implå  s  ø€ ð �;ÔÜ"×(Ò(¨¯]©]Ó;Ð;Ø�]Ô"Ø×#Ñ#Ð#Ø�[Ô Ø—>‘>Ð!ØÐ+Ô+Ø×,Ñ,Ð,Ø�_Ô$Ø×%Ñ%Ð%Ø�VŒ^Ü"×(Ò(ØÜ�d—i‘iÓ Ø—{‘{×FÐF¤z°$·+±+¸vÓ'Fôð ð
	ô ‘7Ñ+¨BÓ5Ð5øÜ"ô 	Ü$ÜØØ˜$Ÿ-™-×0Ñ0Ð1Ð1LÈTÈFÐRSÐTÐU÷ð ð	ús   ÃC  Ã 9DÄDc                ó$   <€ V ^8„  d   QhRRRS[ /# ©r@   rm   r<   rD   r6  )rF   rG   s   "€rH   rI   r^    s   ø€ ÷ 
.ñ 
.Ð9ð 
.¹oñ 
.rK   c                ó(  € \        V P                  4      ^ 8X  d   \        P                  ! VR4      # \        V P                  4      ^8X  d   \	        WP                  ^ ,          4      # ^RIHp V! \        V P                  4      4      p\	        W4      # )é    rr   r   )r‚   r�   r3   r´   r7   rr   r   rŸ   )rQ   rm   r   Ú	tuple_vars   &&  rH   Útp_str_implÚExceptionVariable.tp_str_impl  sh   € äˆt�y‰y‹>˜QÔÜ"×(Ò(¨¨RÓ0Ð0Ü�—‘‹^˜qÔ Ü˜r§9¡9¨Q¥<Ó0Ð0å'á%¤d¨4¯9©9£oÓ6ˆIÜ˜rÓ-Ð-rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   r^    s   ø€ ÷ =ñ =™ñ =rK   c                óN   € V P                   P                   R V P                   R2# )Ú(Ú))rR   r¥   r[  r\   s   &rH   Ú__str__ÚExceptionVariable.__str__  s$   € Ø—.‘.×)Ñ)Ð*¨!¨D¯M©M¨?¸!Ð<Ð<rK   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r@   ÚargrD   ©r3   ro   )rF   rG   s   "€rH   rI   r^    s   ø€ ÷ $ñ $™ð $±3ñ $rK   c                óx   €  \        V P                  4       4      #   \         d    T P                  4       u # i ; irZ   )Úreprry   Ú	ExceptionÚ
debug_repr©r£  s   &rH   Ú_debug_format_argÚ#ExceptionVariable._debug_format_arg  s7   € ð	$Ü˜×.Ñ.Ó0Ó1Ð1øÜô 	$Ø—>‘>Ó#Ò#ð	$ús   ‚ ›9¸9c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   r^    s   ø€ ÷ 4ñ 4™Cñ 4rK   c                óz   a € R P                  V 3R lS P                   4       4      pS P                  4        RV R2# )ú, c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5irZ   )rª  )Ú.0r£  rQ   s   & €rH   Ú	<genexpr>Ú/ExceptionVariable.debug_repr.<locals>.<genexpr>  s   øé € ÐJÁ	¸˜×/Ñ/°×4Ð4Ã	ùó   ƒ!r�  rž  )Újoinr�   Úpython_type_name)rQ   r�   s   f rH   r¨  ÚExceptionVariable.debug_repr  s8   ø€ Ø�y‰yÔJÀÇ	Â	ÓJÓJˆØ×'Ñ'Ó)Ð*¨!¨D¨6°Ð3Ð3rK   c                ó$   <€ V ^8„  d   QhRRRS[ /# r•  r6  )rF   rG   s   "€rH   rI   r^  "  s   ø€ ÷ <ñ <Ð:ð <¹ñ <rK   c                óJ   € \         P                  ! WP                  4       4      # rZ   )r3   r´   r¨  ©rQ   rm   s   &&rH   Útp_repr_implÚExceptionVariable.tp_repr_impl"  s   € ä×$Ò$ R¯©Ó):Ó;Ð;rK   )ra  r`  rb  rc  r�   r[  rd  ©NNN)r¥   r§   rî   rï   ÚBaseExceptionrð   rP   ri  rj   r]   rO  r¼   r™   r™  rŸ  Ú__repr__r½   rª  r¨  rº  rò   ró   rô   rõ   s   @@rH   rX  rX  :  s�   ù‡ € à!€M÷@õ @÷B#ð #÷-ð -÷0ð ÷7ð 7÷^?ó ^?÷@ó ÷B
.ð 
.÷=ð =ð €Hà÷$ó ð$÷4ð 4÷<÷ <ð <rK   rX  c                   óZ   a a€ ] tR tRt oRV3R lV 3R llltV3R lV 3R lltRtVtV ;t# )ÚStopIterationVariablei'  c                óŒ   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[S[3,          R,          RS[R,          RS[R,          RR/# rZ  r]  )rF   rG   s   "€rH   rI   Ú"StopIterationVariable.__annotate__(  sl   ø€ ÷ 	Mñ 	Máð	Mñ ‘?Õ#ð	Mñ ™#™Ð.Õ/°$Õ6ð		Mñ
 ˜•ð	Mñ $ dÕ*ð	Mð 
ñ	MrK   c                ó”   <€ V'       d
   V^ ,          M\         P                  P                  R4      V n        \        SV `  WW4V4       R# ©r—  N)r   r4   r˜   r|   rO   rP   re  s   &&&&&&€rH   rP   ÚStopIterationVariable.__init__(  s6   ø€ ÷ !%�T˜!–W¬)×*DÑ*D×*KÑ*KÈDÓ*QˆŒ
Ü‰Ñ˜¨¸mÖLrK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   rÂ  3  ó%   ø€ ÷ 2ñ 2Ø-ð2Ù58ð2á	ñ2rK   c                óH   <€ VR 8X  d   V P                   # \        SV `	  W4      # ©r|   )r|   rO   r™   r@  s   &&&€rH   r™   Ú&StopIterationVariable.tp_getattro_impl3  s&   ø€ ð �7Œ?Ø—:‘:ÐÜ‰wÑ'¨Ó1Ð1rK   rÉ  r¼  )	r¥   r§   rî   rï   rP   r™   rò   ró   rô   rõ   s   @@rH   rÀ  rÀ  '  s    ù‡ € ÷	Mõ 	M÷2÷ 2ó 2rK   rÀ  c                   ó‚   a a€ ] tR tRt oR
tRV3R lV 3R ll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tR	t	Vt
V ;t# )Ú_KwargAttrExceptionVariablei;  c                óŒ   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[S[3,          R,          RS[R,          RS[R,          RR/# rZ  r]  )rF   rG   s   "€rH   rI   Ú(_KwargAttrExceptionVariable.__annotate__B  sl   ø€ ÷ Mñ MáðMñ ‘?Õ#ðMñ ™#™Ð.Õ/°$Õ6ð	Mñ
 ˜•ðMñ $ dÕ*ðMð 
ñMrK   c                óü   <€ V'       d   \        V4      M/ p\        P                  P                  R 4      pV P                   Uu/ uF  qwVP                  Wv4      bK  	  upV n        \        SV `!  WW4V4       R # u upi rZ   )	r    r   r4   r˜   Ú_kwarg_attrsÚpopÚ_attrsrO   rP   )	rQ   r[  r�   r\  rz   r³   Únonern   rR   s	   &&&&&&  €rH   rP   Ú$_KwargAttrExceptionVariable.__init__B  sj   ø€ ÷ ,7”d˜;Ô'¸BˆÜ×)Ñ)×0Ñ0°Ó6ˆØEI×EVÒEVÓWÑEV¸T˜[Ÿ_™_¨TÓ8Ò8ÑEVÑWˆŒÜ‰Ñ˜¨¸mÖLùò Xs   ÁA9c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   rÎ  O  rÇ  rK   c                óh   <€ W P                   9   d   V P                   V,          # \        SV `	  W4      # rZ   )rÒ  rO   r™   r@  s   &&&€rH   r™   Ú,_KwargAttrExceptionVariable.tp_getattro_implO  s.   ø€ ð —;‘;ÔØ—;‘;˜tÕ$Ð$Ü‰wÑ'¨Ó1Ð1rK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   rÎ  V  s   ø€ ÷ )ñ ) ;ð )°4ñ )rK   c                óJ  <€ \         SV `  V4       V P                  P                  4        Ft  w  r#\	        V\
        4      '       d   VP                  f   K+  VP                  4        V! V4       VP                  VP                  ^4      4       VP                  V4       Kv  	  R # rZ   )rO   rj   rÒ  rÓ   r(   r4   r|   rt  rh   ru  rÊ   )rQ   ra   rn   r5  rR   s   &&  €rH   rj   Ú'_KwargAttrExceptionVariable.reconstructV  sv   ø€ Ü‰Ñ˜GÔ$ØŸ™×*Ñ*Ö,‰IˆDÜ˜3Ô 0×1Ò1°c·i±iÔ6GØ—‘Ô!Ù˜”Ø×%Ñ% g§m¡m°AÓ&6Ô7Ø×"Ñ" 4Ö(ó -rK   c                ó:   <€ V ^8„  d   Qh/ S[ S[R3,          ;R&   # )r@   .rÐ  )rp   ro   )rF   rG   s   "€rH   rI   rÎ  ;  s   ø‡ ‚ ñ
 ™˜S˜•/Ñ&ò rK   ©rÒ  rN   r¼  )r¥   r§   rî   rï   rÐ  rP   r™   rj   Ú__annotate_func__rò   ró   rô   rõ   s   @@rH   rÌ  rÌ  ;  s3   ù‡ € ð
 %'€L÷Mõ M÷2ó 2÷)ó )÷7 … rK   rÌ  c                   óZ   € ] tR tRtRtR]! ]! R 4      4      R]! ]! R 4      4      /tRtR# )	ÚAttributeErrorVariablei`  rn   r  c                ó(   € V P                   R ,          # ©rn   rÜ  r  s   &rH   re   ÚAttributeErrorVariable.<lambda>d  s   € ¨Q¯X©X°fÖ-=rK   c                ó(   € V P                   R ,          # r"  rÜ  r  s   &rH   re   râ  e  s   € ¨A¯H©H°U®OrK   rN   N)rn   r  ©	r¥   r§   rî   rï   rÐ  r0   r/   r  rò   rN   rK   rH   rß  rß  `  s.   † à"€Là‘‘{Ñ#=Ó>Ó?Ø‰v‘kÑ";Ó<Ó=ð„JrK   rß  c                   ó<   € ] tR tRtRtR]! ]! R 4      4      /tRtR# )ÚNameErrorVariableii  rn   c                ó(   € V P                   R ,          # rá  rÜ  r  s   &rH   re   ÚNameErrorVariable.<lambda>l  s   € °q·x±xÀÖ7GrK   rN   Nrá  rä  rN   rK   rH   ræ  ræ  i  s   † à€LØ™&¡Ñ-GÓ!HÓIÐJ„JrK   ræ  c                   ó   € ] tR tRtRtRtR# )ÚUnknownVariableio  z
It could be anything!
rN   N©r¥   r§   rî   rï   Ú__doc__rò   rN   rK   rH   rê  rê  o  s   † õrK   rê  c                   óX   a a€ ] tR tRt oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )	ÚDelayGraphBreakVariableiu  zV
Used to insert a dummy variable in the stack to do the graph break at CALL_FUNCTION.
c                ó\   <€ V ^8„  d   QhRS[ R,          RS[S[ ,          R,          RS[RR/# )r@   ÚmsgNrw   rC   rD   )ro   rŸ   r   )rF   rG   s   "€rH   rI   Ú$DelayGraphBreakVariable.__annotate__z  s@   ø€ ÷ !ñ !á�4�Zð!ñ ‘C�y˜4Õð!ñ ð	!ð
 
ñ!rK   c                óV   <€ \         SV `  ! R/ VB  Wn        T;'       g    . V n        R # rM   )rO   rP   rð  rw   )rQ   rð  rw   rC   rR   s   &&&,€rH   rP   Ú DelayGraphBreakVariable.__init__z  s'   ø€ ô 	‰ÒÑ"˜6Ò"ØŒØ—[�[˜bˆŽ
rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# ©r@   rm   r<   r�   rC   rD   ©rŸ   r3   r    ro   )rF   rG   s   "€rH   rI   rñ  „  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
rK   c                ó¾   € V P                   f   RMV P                   P                  p\        RRV P                    2RV RV P                   2V P                  R7       R # )Nrr   z#Unsupported function call (delayed)zsource: z@Dynamo determined that a graph break should occur when calling `z`. Reason: rs   )rz   rn   r   rð  rw   )rQ   rm   r�   rC   rn   s   &&&& rH   rµ   Ú%DelayGraphBreakVariable.call_function„  sW   € ð —[‘[Ò(‰r¨d¯k©k×.>Ñ.>ˆÜØ9Ø˜tŸ{™{˜mÐ,ðØ!˜F +¨d¯h©h¨Zð9à—*‘*÷	
rK   )rw   rð  ©NN)
r¥   r§   rî   rï   rì  rP   rµ   rò   ró   rô   rõ   s   @@rH   rî  rî  u  s#   ù‡ € ñ÷!õ !÷
÷ 
ð 
rK   rî  c                   óZ   a € ] tR tRt o 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	R
# )ÚComptimeVariablei”  zU
This variable is special, it lets you execute arbitrary code at
Dynamo compile time
c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   ÚComptimeVariable.__annotate__š  s   ø€ ÷ >ñ > ;ð >°4ñ >rK   c                ó   € \        R 4      h)zcomptime is special form)rÆ   ©rQ   ra   s   &&rH   rj   ÚComptimeVariable.reconstructš  s   € Ü!Ð"<Ó=Ð=rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   rý  �  s%   ø€ ÷ 

ñ 

Ø-ð

Ù58ð

á	ñ

rK   c                ó¬   € ^RI H p V P                  f   \        R4      h\        P                  ! V\        W24      \        V P                  V4      R7      # )r@   )Úcomptimez"ComptimeVariable requires a sourcer“   )r  rz   rx   r3   r´   r€   r   )rQ   rm   rn   r  s   &&& rH   r™   Ú!ComptimeVariable.tp_getattro_impl�  sG   € õ 	(à�;‰;ÒÜ Ð!EÓFÐFä×$Ò$Ø”˜Ó'´
¸4¿;¹;ÈÓ0Mô
ð 	
rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   rý  ©  sB   ø€ ÷ -7ñ -7à'ð-7ñ ‘?Õ#ð-7ñ ‘S™/Ð)Õ*ð	-7ñ
 
ñ-7rK   c           
     ó  € ^RI Hp V'       g   \        V4      ^8”  d'   \        VRR\        V4       R\        V4       R24       V^ ,          p\	        V\
        4      '       d   VP                  4       ! V! V4      4       Mä\	        V\        4      '       d¸   VP                  4       pVP                  '       d   \        VRVP                   24       \        P                  ! TVP                  VP                  P!                  4       VP"                  '       d    \%        VP"                  P&                  4      MRR	4      pV! V! V4      4       M\)        R\+        V4       24      h\,        P.                  P1                  R4      # )
r@   )ÚComptimeContextz
comptime()zat most 2 args and 0 kwargsz
 args and ú kwargszOcomptime function must not have free variables, but these variables were free: Nz"unsupported argument to comptime: rN   )r  r  r‚   r+   r²   r6   Úget_functionr5   Úget_codeÚclosurer   Úco_freevarsr¾   r¿   Ú	f_globalsÚfn_namery   Údefaultsrp   rÓ   ÚRuntimeErrorrW   r   r4   r˜   )rQ   rm   r�   rC   r  ÚfnÚcoderå   s   &&&&    rH   rµ   ÚComptimeVariable.call_function©  s5  € õ 	/÷ ”S˜“Y ”]ÜØØØ-Ü�t“9�+˜Z¬¨F« }°GÐ<ô	ð �!�WˆÜ�bÔ.×/Ò/Ø�O‰OÔ™o¨bÓ1Õ2Ü˜Ô6×7Ò7à—;‘;“=ˆDØ�z�zˆzÜ ØØeÐfj×fvÑfvÐewÐxôô ×%Ò%ØØ—‘Ø—
‘
×-Ñ-Ó/à,.¯K¯K¨K”�b—k‘k×'Ñ'Ô(¸Tð óˆDñ ‘ Ó$Õ%äÐ!CÄDÈÃHÀ:ÐNÓOÐOä×)Ñ)×0Ñ0°Ó6Ð6rK   rN   N)
r¥   r§   rî   rï   rì  rj   r™   rµ   rò   ró   ©rG   s   @rH   rû  rû  ”  s(   ø‡ € ñ÷
>ð >÷

ð 

÷-7ö -7rK   rû  c                   ó|   a a€ ] tR tRt o]P
                  tRtR	V3R lV 3R llltV3R lR lt	V3R lt
RtVtV ;t# )
ÚCellVariableiÙ  Nc                ó8   <€ V ^8„  d   QhRS[ R,          RS[RR/# )r@   Úpre_existing_contentsNrC   rD   rE   )rF   rG   s   "€rH   rI   ÚCellVariable.__annotate__é  s*   ø€ ÷ ;ñ ;Ù%4°tÕ%;ð;ÙNQð;à	ñ;rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   )rO   rP   r  )rQ   r  rC   rR   s   &&,€rH   rP   ÚCellVariable.__init__é  s   ø€ ô 	‰ÒÑ"˜6Ò"Ø%:Ö"rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   r  ï  rX   rK   c                ó"   € \         P                  # rZ   )r¾   ÚCellTyper\   s   &rH   r]   ÚCellVariable.python_typeï  s   € Ü�~‰~ÐrK   c                óN   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[R,          ;R&   # )r@   Nr  Ú
local_namer¤  )rF   rG   s   "€rH   rI   r  Ù  s(   ø‡ ‚ ñ +¨TÕ1Ñ1ñ ñ �d•
Ñ!ò rK   )r  rZ   )r¥   r§   rî   rï   r¾   r  rð   r!  rP   r]   rÝ  rò   ró   rô   rõ   s   @@rH   r  r  Ù  s0   ù‡ € à—N‘N€Mð "€J÷;õ ;÷ð ÷- … rK   r  c                   ó>   a a€ ] tR tRt oV3R lV 3R lltRtVtV ;t# )ÚNewGlobalVariableió  c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r@   rC   rD   N©r   )rF   rG   s   "€rH   rI   ÚNewGlobalVariable.__annotate__ô  ó   ø€ ÷ #ñ #¡ð #¨ñ #rK   c                ó(   <€ \         SV `  ! R/ VB  R # rM   ©rO   rP   ©rQ   rC   rR   s   &,€rH   rP   ÚNewGlobalVariable.__init__ô  ó   ø€ Ü‰ÒÑ"˜6Ô"rK   rN   )r¥   r§   rî   rï   rP   rò   ró   rô   rõ   s   @@rH   r#  r#  ó  s   ù‡ € ÷#÷ #ó #rK   r#  c                óJ   € V ^8„  d   QhR\         R\        R\         3,          /# )r@   Úfn_clsrD   .)r   r   )rF   s   "rH   rI   rI   ø  s#   € ÷ %ñ %¬cð %´h¸sÄC¸xÕ6Hñ %rK   c                 ó0   a € R  V 3R llp\         Vn        V# )c                ó<   € V ^8„  d   QhR\         R\         R\         /# ©r@   r�   rC   rD   r&  )rF   s   "rH   rI   Ú7produce_trampoline_autograd_apply.<locals>.__annotate__ù  s!   € ÷ -ñ -¬ð -¼ð -Äñ -rK   c                  ó(   <€ SP                   ! V / VB # rZ   )Úapply)r�   rC   r/  s   *,€rH   Útrampoline_autograd_applyÚDproduce_trampoline_autograd_apply.<locals>.trampoline_autograd_applyù  s   ø€ Ø�|Š|˜TÐ, VÑ,Ð,rK   )Ú!produce_trampoline_autograd_applyÚ_origin)r/  r6  s   f rH   r8  r8  ø  s   ø€ ÷-ð -ô )JÐÔ%Ø$Ð$rK   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V3R lR ltV3R lR ltRtVtV ;t# )ÚAutogradFunctionVariablei  z-represents a torch.autograd.Function subclassr/  c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )r@   r/  rC   rD   Nr&  )rF   rG   s   "€rH   rI   Ú%AutogradFunctionVariable.__annotate__	  s"   ø€ ÷ ñ ™sð ©cð °dñ rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   )rO   rP   r/  )rQ   r/  rC   rR   s   &&,€rH   rP   Ú!AutogradFunctionVariable.__init__	  ó   ø€ Ü‰ÒÑ"˜6Ò"ØŽrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   r=    ó   ø€ ÷ ñ ™Tñ rK   c                ó   € \         # rZ   rV   r\   s   &rH   r]   Ú$AutogradFunctionVariable.python_type  ó   € ÜˆrK   c                óp   <€ V ^8„  d   QhRS[ S[,          RS[S[S[3,          RS[ S[,          R,          /# )r@   r�   rC   rD   Nrö  )rF   rG   s   "€rH   rI   r=    sB   ø€ ÷ 'ñ 'á‘?Õ#ð'ñ ‘S™/Ð)Õ*ð'ñ 
‰oÕ	 Õ	%ñ	'rK   c                ó�  a€ ^ RI Hp V P                  P                  pVP                  pV! V P                  P
                  4      '       * pV'       d   ^M^ p\        VP                  WuP                   4      oV F;  pVS9  d    R# SP                  V4      \        V4      8  g   K.  \        RV R24      h	  \        V3R lV 4       \        V4      ^,
          R7      p	\        V4      p
\        \        V4      V	^,           4       F;  pSV,          pW‚9   d   V
P                  W(,          4       K+  \        RV RV R	24      h	  V
# )
zéResolve kwargs to positional args using forward().__code__.

Uses co_varnames/co_argcount directly to match the C++
resolve_kwargs_to_positional in python_function.cpp.
Keyword-only args are not resolved; callers should graph break.
©Ú_is_setup_context_definedNz,forward() got multiple values for argument 'r‘  c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5irZ   )r~   )r°  rn   Úparam_namess   & €rH   r±  Ú;AutogradFunctionVariable._resolve_kwargs.<locals>.<genexpr>*  s   øé € Ð8±¨ˆ[×Ñ˜t×$Ð$³ùr³  )Údefaultz&forward() missing required argument: 'z' (position rž  )Útorch.autograd.functionrI  r/  ÚforwardÚ__code__Úsetup_contextrŸ   Úco_varnamesÚco_argcountr~   r‚   r8  Úmaxr�   Úappend)rQ   r�   rC   rI  r  r  Úhas_ctxÚparam_offsetrn   Úmax_idxÚresultÚirK  s   &&&         @rH   Ú_resolve_kwargsÚ(AutogradFunctionVariable._resolve_kwargs  s$  ø€ õ 	Fà�[‰[× Ñ ˆØ�{‰{ˆÙ/°·±×0IÑ0IÓJÔJˆß#‘q¨ˆÜ˜4×+Ñ+¨L×;KÑ;KÐLÓMˆãˆDØ˜;Ô&ÚØ× Ñ  Ó&¬¨T«Ö2ÜÐ"NÈtÈfÐTUÐ VÓWÐWñ	 ô Ü8±Ó8Ü˜“I •Mô
ˆô
 )-¨T«
ˆÜ”s˜4“y '¨A¥+Ö.ˆAØ˜q•>ˆDØŒ~Ø—‘˜f�lÖ+äØ<¸T¸FÀ,ÈqÈcÐQRÐSóð ñ /ð ˆrK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r=  9  sH   ø€ ÷ Gñ Gà'ðGñ ‘?Õ#ðGñ ‘S™/Ð)Õ*ð	Gñ
 
ñGrK   c           	     óØ	  aa€ V'       d}   V P                  W#4      pVfd   \        RR\        V4      \        V P                  P                  P
                  P                  4      ,
           2R. \        P                  OR7       Tp/ pRoR VV3R llp\        P                  ! WRV34       S'       Ed¥   \        P                  ! 4       '       Ed‰   T P                  p^ RIHp ^ R	IHp V P                  P                  p	V! V P                  P$                  4      p
V
'       d4   V! V P                  P                  V P                  P$                  4      p	R pV P                  P&                  pV\        P(                  P*                  P&                  Jd+   \        R
RV  RV RV 2RRR.\        P                  OR7       V P                  P,                  pV\        P(                  P*                  P,                  Jd*   \        RRV  RV RV 2RR.\        P                  OR7       ^RIHp VfL   V
'       gD   \3        SP5                  V P                  P6                  4      V P                  P8                  4      pT;'       d    \3        VRR7      pV! V	V P                  P:                  VVR7      P=                  SW#4      pV P                  '       d…   V
'       d}   \3        V P                  R4      p\?        VPA                  \B        PD                  4      4       \3        V P                  R4      p\?        VPA                  \B        PD                  4      4       V# V P                  '       d   \3        V P                  R4      pMR pV P                  P                  p\F        PI                  SW#4      pV.VOp\K        V\L        PN                  4      '       dv   \P        PR                  ! V4      p\U        V4      ^,
          \U        VPV                  4      8X  d
   VR,          p\        PX                  ! SVVRR7      pVP=                  SW#4      # \K        V\L        PZ                  4      '       dR   \\        P^                  ! VP`                  \\        Pb                  ! V P                  4      VR7      P=                  SW#4      # \        RRV  RV RV 2R\e        V4      P8                   R2R.R7       R # ) NÚautograd_function_kwonly_argsz!forward() has keyword-only args: zMautograd.Function.apply does not support keyword-only arguments in forward().rs   Fc                ó(   € V ^8„  d   QhR\         RR/# )r@   rÔ   rD   Nr6  )rF   s   "rH   rI   Ú9AutogradFunctionVariable.call_apply.<locals>.__annotate__M  s   € ÷ 	)ñ 	)”oð 	)¨$ñ 	)rK   c                 óÒ   <€ V P                  4       '       d   V P                  R Jd   Ro\        V \        P                  4      '       d   V P                  S4      '       d   RoR# R# R# )FTN)Ú	is_tensorÚrequires_gradr²   r   ÚNNModuleVariableÚis_training)rÔ   rd  rm   s   &€€rH   ÚvisitÚ2AutogradFunctionVariable.call_apply.<locals>.visitM  sR   ø€ à�|‰|�~Š~à×#Ñ#¨5Ó0Ø$(�MÜ˜"œi×8Ñ8×9Ò9Ø—>‘> "×%Ò%Ø$(’Mñ &ñ :rK   )Ú#autograd_function_forward_rewrittenrH  zUnsupported custom vjpzcall_apply r¤   zgDynamo does not support tracing `torch.autograd.Function` subclasses that define a custom `vjp` method.z+Remove the custom `vjp` method if possible.z.Use standard `backward` instead if applicable.zUnsupported custom jvpzgDynamo does not support tracing `torch.autograd.Function` subclasses that define a custom `jvp` method.z+Remove the custom `jvp` method if possible.)ÚAutogradFunctionApplyVariabler5  )r»   r“   rO  rQ  :rJ  NNTr¨   z=Non-function or method in subclass of torch.autograd.FunctionzˆDynamo requires the `forward` attribute of a `torch.autograd.Function` subclass to be a standard Python function or method. Found type `z
` instead.zPEnsure the `forward` method is defined as a regular function or instance method.)3r[  r   Úsetr/  rO  rP  rR  r   r?  r3   rg  r®   Úis_grad_enabledrz   Ú"torch._functorch.autograd_functionri  rN  rI  rQ  ÚvjpÚautogradÚFunctionÚjvpÚhigher_order_opsrj  r   Úimport_sourcer§   r¥   Úbackwardrµ   r   r–   r   ÚCLOSURE_MATCHÚAutogradFunctionContextVariabler˜   r²   r¾   r¿   ÚinspectÚ	signaturer‚   Ú
parametersr´   rÂ   r   rÃ   rª   r¸   rW   )rQ   rm   r�   rC   Úresolvedrg  rz   ri  rI  Ú
forward_fnÚis_setup_ctx_definedÚvjp_fnÚjvp_fnrj  Úapply_sourcer5  Úfwd_srcÚsetup_ctx_srcr  ÚctxÚsigrÚ   rd  s   &f&&                  @rH   Ú
call_applyÚ#AutogradFunctionVariable.call_apply9  s   ù€ ÷ Ø×+Ñ+¨DÓ9ˆHØÒÜØ;Ø?ÄÀFÃÌcÐRV×R]ÑR]×ReÑRe×RnÑRn×RzÑRzÓN{Õ@{Ð?|Ð}Ø oØ:Ô-×9Ñ9Ð:õ	ð ˆDØˆFàˆ÷	)ñ 	)ô 	×Ò˜e¨F ^Ô4çˆ=œU×2Ò2×4Ó4Ø—[‘[ˆFõõ JàŸ™×,Ñ,ˆJá#<¸T¿[¹[×=VÑ=VÓ#WÐ ß#ñ AØ—K‘K×'Ñ'¨¯©×)BÑ)Bó�
ð �à—[‘[—_‘_ˆFØœUŸ^™^×4Ñ4×8Ñ8Ó8ÜØ4Ø)¨$¨¨q°°°a¸°xÐ@ð!-ð FØHðô +×6Ñ6ðõð —[‘[—_‘_ˆFØœUŸ^™^×4Ñ4×8Ñ8Ó8ÜØ4Ø)¨$¨¨q°°°a¸°xÐ@ð!-ð Fðä*×6Ñ6ðõ
õ HàŠ~×&:Ü#Ø×$Ñ$ T§[¡[×%;Ñ%;Ó<¸d¿k¹k×>RÑ>Ró�ð "×HÐH¤j°ÀÔ&HˆLÙ/ØØ—‘×$Ñ$ØØ#ô	÷
 ‰m˜B Ó-ð ð �{�{ˆ{×3Ü$ T§[¡[°)Ó<�Ü˜g×0Ñ0´×1KÑ1KÓLÔMÜ *¨4¯;©;¸Ó H�Ü˜m×6Ñ6´|×7QÑ7QÓRÔSàˆJà�;�;ˆ;Ü §¡¨YÓ7‰FàˆFà�[‰[× Ñ ˆÜ-×4Ñ4°R¸ÓFˆØˆ|�dˆ|ˆÜ�bœ%×,Ñ,×-Ò-Ü×#Ò# BÓ'ˆCÜ�4‹y˜1�}¤ C§N¡NÓ 3Ô3Ø˜B•x�Ü#×)Ò)¨"¨b¸ÈÔNˆEØ×&Ñ& r¨4Ó8Ð8Ü˜œE×,Ñ,×-Ò-Ü×/Ò/Ø—‘Ü×2Ò2°4·;±;Ó?Øô÷ ‰m˜B Ó-ð	.ô ØWØ% d V¨1¨T¨F°!°F°8Ð<ð3ä37¸³8×3DÑ3DÐ2EÀZðQð3ð÷
rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r=  Â  sB   ø€ ÷ 5ñ 5à'ð5ñ ‘?Õ#ð5ñ ‘S™/Ð)Õ*ð	5ñ
 
ñ5rK   c                ó$  € V P                   P                  p\        V^ ,          P                  4      \        P
                  P                  P                  Jd)   \        R\        V^ ,          P                  4       24      h\        V\        P                  4      '       g   \        R\        V4       24      hV P                  f   \        R4      h\        V P                  R4      p\        P                  ! WVRR7      pVP!                  WV4      # )r—  z$Expected FakeBackwardCFunction, got zExpected FunctionType, got z*AutogradFunctionVariable requires a sourcert  Tr¨   )r/  rt  rW   r|   r®   Ú_dynamoÚexternal_utilsÚFakeBackwardCFunctionrx   r²   r¾   r¿   rz   r   r3   r´   rµ   )rQ   rm   r�   rC   r  Ú	fn_sourcerÚ   s   &&&&   rH   Úcall_backwardÚ&AutogradFunctionVariable.call_backwardÂ  sÜ   € ð �[‰[×!Ñ!ˆä��a•—‘ÓÜ—=‘=×/Ñ/×EÑEóFô !Ø6´t¸DÀ½G¿M¹MÓ7JÐ6KÐLóð ô ˜"œe×0Ñ0×1Ò1Ü Ð#>¼tÀB»x¸jÐ!IÓJÐJØ�;‰;ÒÜ Ð!MÓNÐNÜ˜tŸ{™{¨JÓ7ˆ	Ü×%Ò% b°YÈÔMˆØ×"Ñ" 2¨VÓ4Ð4rK   c                óT   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RR/# )r@   rm   r<   r�   rC   rD   r;  rö  )rF   rG   s   "€rH   rI   r=  Ø  sB   ø€ ÷ 5ñ 5à'ð5ñ ‘?Õ#ð5ñ ‘S™/Ð)Õ*ð	5ð
 
$ñ5rK   c                ó,   € \        V P                  4      # rZ   )r;  r/  ©rQ   rm   r�   rC   s   &&&&rH   rµ   Ú&AutogradFunctionVariable.call_functionØ  s   € ô (¨¯©Ó4Ð4rK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   r=  à  sS   ø€ ÷ Añ Aà'ðAñ ðAñ ‘?Õ#ð	Añ
 ‘S™/Ð)Õ*ðAñ 
ñArK   c           
     óö  € ^RI Hp VR8X  d~   \        P                  ! V P                  4      '       dF   \        V P                  4      pV! VVP                  P                  ! RV.\        W44      O5!  R7      # V P                  WV4      # VR8X  d   V P                  WV4      # V P                  e   \        V P                  V4      MRp \        P                  ! V P                  V4      p\!        V\"        4      '       d‚   VP%                  V P                  4      p	\        P&                  ! V	4      p
V
f   \)        RV	 24      hVe#   V
P+                  W—R7      P-                  WV4      # V
! V	4      P-                  WV4      # \!        V\.        4      '       d3   \0        P2                  ! VP4                  WR7      P-                  WV4      # \7        R	R
V  RV 2RV R2R.R7       R#   \         d    Rp ELi ; i)rJ  )Úwrap_fx_proxyr5  rµ   )rm   Úproxyrt  Nz%trace_rules.lookup returned None for r“   z$Unsupported autograd.Function methodr£   r¤   ú,Dynamo does not support calling the method `z‡` directly on the `torch.autograd.Function` instance. Supported methods include `apply`, `backward`, static methods, and class methods.znEnsure the method is decorated with `@staticmethod` or `@classmethod` if it's meant to be called on the class.rs   )Úbuilderr”  r   Úis_callable_allowedr/  r8  rÇ   Úcreate_proxyr*   r„  rŒ  rz   r   rw  Úgetattr_staticrÐ   r²   r½   Ú__get__Úlookuprx   Úcreate_with_sourcerµ   rÀ   r   rÃ   rª   r   )rQ   rm   rn   r�   rC   r”  r6  rz   r  rå   Útraceds   &&&&&      rH   r¼   Ú$AutogradFunctionVariable.call_methodà  sì  € õ 	+à�7Œ?Ü×.Ò.¨t¯{©{×;Ò;Ü,MØ—K‘Kó-Ð)ñ %ØØŸ)™)×0Ò0Ø'Ø1ðô +¨4Ó8óôð ð —‘ r°Ó8Ð8à�ZÔØ×%Ñ% b°Ó7Ð7à6:·k±kÒ6M”Z §¡¨TÔ2ÐSWˆFðÜ×,Ò,¨T¯[©[¸$Ó?�ô ˜#œ|×,Ò,Ø—{‘{ 4§;¡;Ó/�Ü$×+Ò+¨DÓ1�Ø’>Ü(Ð+PÐQUÐPVÐ)WÓXÐXØÒ%ð ×1Ñ1°$Ð1ÓF×TÑTØ fóðñ " $›<×5Ñ5°bÀÓGÐGÜ˜C¤×-Ò-Ü ×3Ò3Ø—L‘L $ôç‘- ¨&Ó1ð2ô ØBØ*¨4¨&°°$°Ð8ð!Ø�vð 9ð!9ð
Uð÷øô/ "ô Ø“ðús   Ã!G' Ç'G8Ç7G8)r/  )r¥   r§   rî   rï   rì  r3   rñ   rP   r]   r[  r„  rŒ  rµ   r¼   rò   ró   rô   rõ   s   @@rH   r;  r;    st   ù‡ € Ù7ð 	ðà	×	'Ñ	'ð€N÷
ó ÷ð ÷'ð '÷RGð G÷R5ð 5÷,5ð 5÷A÷ Að ArK   r;  c                   óR   a € ] tR tRt o ]P
                  ! ]R7      tV 3R ltRt	V t
R# )ÚSavedTensorBoxi$  )Údefault_factoryc                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r@   Útensors)rŸ   r3   )rF   rG   s   "€rH   rI   ÚSavedTensorBox.__annotate__$  s   ø‡ ‚ á‘/Õ"ÑLò rK   rN   N)r¥   r§   rî   rï   ÚdataclassesÚfieldrŸ   r¤  rÝ  rò   ró   r  s   @rH   r¡  r¡  $  s   ø‡ € à%0×%6Ò%6ÀtÔ%L€G÷ ƒ rK   r¡  c                   óÈ   a a€ ] tR tRt oRt0 Rm]P                  mtRV3R lV 3R lllt]RV3R lR ll4       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RtVtV ;t# )rv  i)  zR
Tracks an autograd.Function() context using mutation tracking in side_effects.py
c                ó�   <€ V ^8„  d   QhRS[ RS[R,          RS[RS[ R,          RS[ R,          RS[S[,          R,          RS[ R	R/# )
r@   r|   rÁ   NÚ	inferenceÚsaved_tensorsÚnon_differentiableÚdirty_tensorsrC   rD   )r   rW   r  rŸ   r3   )rF   rG   s   "€rH   rI   Ú,AutogradFunctionContextVariable.__annotate__5  sq   ø€ ÷ +ñ +áð+ñ ˜4•Kð+ñ ð	+ñ
 ˜T•zð+ñ   $�Jð+ñ ™OÕ,¨tÕ3ð+ñ ð+ð 
ñ+rK   c                ó`   <€ \         SV `  ! RR VRV/VB  W0n        W@n        WPn        W`n        R# ©r|   rÁ   NrN   )rO   rP   rª  r«  r¬  r­  )	rQ   r|   rÁ   rª  r«  r¬  r­  rC   rR   s	   &&&&&&&,€rH   rP   Ú(AutogradFunctionContextVariable.__init__5  s6   ø€ ô 	‰ÒÑF˜uÐF°ÐF¸vÒFØ"ŒØ*ÔØ"4ÔØ*ÖrK   c                ór   <€ V ^8„  d   QhRRRS[ S[,          R,          RS[S[S[3,          R,          RS[/# )r@   rm   r<   r�   NrC   rD   rö  )rF   rG   s   "€rH   rI   r®  F  sJ   ø€ ÷ ñ Ø'ðá‘?Õ# dÕ*ðñ ‘S™/Ð)Õ*¨TÕ1ðñ 
ñ	rK   c           
     óÎ  € V P                   P                  P                  R \        P                  P
                  P                  \        P                  ! \        R\        4       R7      / 4      pV'       dp   V'       gh   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pV P                   P                  P                  VR\        P                  ! V4      4       V# )NT)rª  r«  c              3   óh   "  € T F(  qP                  4       ;'       d    VP                  x € K*  	  R # 5irZ   )rc  rd  ©r°  Úxs   & rH   r±  Ú9AutogradFunctionContextVariable.create.<locals>.<genexpr>Z  s%   é € Ð$UÑPTÈ1§[¡[£]×%FÐ%F°q·±Ô%FÓPTùs   ‚2�2Úneeds_input_grad)rÇ   r±   Útrack_object_newr®   ro  ÚfunctionÚFunctionCtxÚ	functoolsÚpartialrv  r¡  rp   rˆ  r4   r˜   )rm   r�   rC   Úoutr¸  s   &&&  rH   r˜   Ú&AutogradFunctionContextVariable.createE  s±   € ð �i‰i×$Ñ$×5Ñ5ØÜ�N‰N×#Ñ#×/Ñ/Ü×ÒÜ/ØÜ,Ó.ôð
 ó	
ˆ÷ Ÿ÷
  %œuÑ$UÑPTÓ$UŸu™uÑ$UÑPTÓ$UÓUÐØ�I‰I×"Ñ"×;Ñ;ØÐ'Ô)9×)@Ò)@ÐAQÓ)Rôð ˆ
rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   r®  `  s   ø€ ÷ ñ ™#ñ rK   c                óz   € V P                   f#   \        RRV  2R. \        P                  OR7       V P                   # )Nzproxy not setz	as_proxy zMDynamo requires the autograd.Function context to be initialized with a proxy.rs   )r•  r   r   rÉ   r\   s   &rH   Úas_proxyÚ(AutogradFunctionContextVariable.as_proxy`  sA   € à�:‰:ÒÜØ'Ø# D 6Ð*ð2à5Ô)×4Ñ4Ð5õð �z‰zÐrK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   r®  m  sS   ø€ ÷ C7ñ C7à'ðC7ñ ðC7ñ ‘?Õ#ð	C7ñ
 ‘S™/Ð)Õ*ðC7ñ 
ñC7rK   c                óŠ  <€ VR 8X  d   \         SV `  WW44      # VR8X  dY   V'       d   \        WR\        V4       R24       \	        V/ 4      ^ ,          V n        \        P                  P                  R4      # VR8X  d{   V'       d   \        WR\        V4       R24       \        V RR4      f&   \        RRV  R	V 2R
. \        P                  OR7       W0n        \        P                  P                  R4      # VR8w  d*   \        RRV  R	V 2RV R2. \        P                  OR7       V P                  f   \        RRV  R	V 2RR.R7       V P                  f   \        R4      hV P                   '       gL   V'       g   V P"                  '       g   \%        VR4       VP&                  P(                  P+                  W4       \        V P                  P,                  4      ^ 8”  d   . V P                  n        V F(  pV P                  P,                  P/                  V4       K*  	  \        P                  P                  R4      # )rT  Úmark_non_differentiablez0 kwargsr  NÚ
mark_dirtyr•  z2Unsupported autograd.Function context `mark_dirty`r£   r¤   zKDynamo only supports tracing ctx.mark_dirty inside autograd.Function.apply.rs   Úsave_for_backwardz,Unsupported autograd.Function context methodr–  z�` on `autograd.Function` context objects. Supported methods are `__setattr__`, `save_for_backward`, `mark_dirty` and `mark_non_differentiable`.z9Unsupported autograd.Function context `save_for_backward`zjDynamo requires the `saved_tensors` attribute to be initialized on the `autograd.Function` context object.zÆEnsure that the `saved_tensors` attribute is properly initialized before calling `save_for_backward`. `save_for_backward` only supported on a newly constructed `torch.autograd.function.FunctionCtx`.z:saved_tensors must be initialized before save_for_backwardz>save_for_backward() requires a source and no keyword arguments)rO   r¼   r+   r‚   r*   r¬  r   r4   r˜   r€   r   r   r?  r­  r«  rx   rª  rz   r   rÇ   r±   Útrack_save_for_backwardr¤  rU  )rQ   rm   rn   r�   rC   r£  rR   s   &&&&& €rH   r¼   Ú+AutogradFunctionContextVariable.call_methodm  s/  ø€ ð �=Ô Ü‘7Ñ& r°Ó>Ð>ØÐ.Ô.ßÜ# B¨j¼SÀ»[¸MÈÐ:QÔRÜ&7¸¸bÓ&AÀ!Õ&DˆDÔ#Ü×-Ñ-×4Ñ4°TÓ:Ð:Ø�\Ô!ßÜ# B¨j¼SÀ»[¸MÈÐ:QÔRÜ�t˜W dÓ+Ò3ÜØPØ*¨4¨&°°$°Ð8ð!6à:Ô-×9Ñ9Ð:õð "&ÔÜ×-Ñ-×4Ñ4°TÓ:Ð:àÐ&Ô&ÜØFØ& t f¨A¨d¨VÐ4ðØ�6ð >ð>ð 7Ô)×5Ñ5Ð6õð ×ÑÒ%ÜØSØ& t f¨A¨d¨VÐ4ðOðwðõ
ð ×ÑÒ%Ü ØLóð ð �~�~ˆ~ß˜TŸ[Ÿ[˜[Ü ØÐXôð �I‰I×"Ñ"×:Ñ:¸4ÔFô ˆt×!Ñ!×)Ñ)Ó*¨QÔ.à)+ˆD×ÑÔ&ÛˆCØ×Ñ×&Ñ&×-Ñ-¨cÖ2ñ ä×)Ñ)×0Ñ0°Ó6Ð6rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   r®  ²  s%   ø€ ÷ 2ñ 2Ø-ð2Ù58ð2á	ñ2rK   c                ó¤  <a aa€ SR9   d   \        VV V3R l4      # SR8X  dW   S P                  f    \        P                  P	                  R4      # \        P
                  ! \        S P                  4      4      # SR8X  dB   S P                  e4   \        P
                  ! \        S P                  P                  4      4      # \        SS `)  SS4      # )rÈ  c                  ó>   <€ SP                  SS\        V 4      V4      # rZ   )r¼   rŸ   )r�   rC   rn   rQ   rm   s   *,€€€rH   re   ÚBAutogradFunctionContextVariable.tp_getattro_impl.<locals>.<lambda>·  s   ø€ ¨×(8Ñ(8¸¸TÄ4ÈÃ:ÈvÔ(VrK   r­  Nr«  )rÈ  rÇ  rÆ  )r­   r­  r   r4   r˜   r   rŸ   r«  r¤  rO   r™   r@  s   fff€rH   r™   Ú0AutogradFunctionContextVariable.tp_getattro_impl²  s®   û€ ð ÐQÔQÜ!ÞVóð ð �?Ô"Ø×!Ñ!Ò)Ü ×1Ñ1×8Ñ8¸Ó>Ð>Ü×*Ò*¬4°×0BÑ0BÓ+CÓDÐDØ�?Ô" t×'9Ñ'9Ò'EÜ×*Ò*¬4°×0BÑ0B×0JÑ0JÓ+KÓLÐLä‰wÑ'¨¨DÓ1Ð1rK   )r­  rª  r¬  r«  >   r•  rª  r«  )NFNNNrù  )r¥   r§   rî   rï   rì  r:   rñ   rP   r½   r˜   rÂ  r¼   r™   rò   ró   rô   rõ   s   @@rH   rv  rv  )  sj   ù‡ € ñòð 
#×	1Ñ	1ð	€N÷+õ +ð  ÷ñ ó ð÷4ð ÷C7ó C7÷J2÷ 2ó 2rK   rv  c                   óX   a a€ ] tR tRt oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )	ÚAutogradEngineVariableiÃ  z3
Represents a torch._C._ImperativeEngine instance.
c                óž   <€ V ^8„  d   QhRS[ P                  P                  RS[S[ P                  P                  ,          R,          RS[RR/# )r@   r|   rÁ   NrC   rD   )r®   rÑ   Ú_ImperativeEnginerW   r   )rF   rG   s   "€rH   rI   Ú#AutogradEngineVariable.__annotate__È  sW   ø€ ÷ Gñ Gá�x‰x×)Ñ)ðGñ ™Ÿ™×3Ñ3Õ4°tÕ;ðGñ ð	Gð
 
ñGrK   c                ó0   <€ \         SV `  ! RR VRV/VB  R# r°  r*  )rQ   r|   rÁ   rC   rR   s   &&&,€rH   rP   ÚAutogradEngineVariable.__init__È  s   ø€ ô 	‰ÒÑF˜uÐF°ÐF¸vÔFrK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   rÔ  Ð  sL   ø€ ÷ &ñ &à'ð&ñ ð&ñ ‘?Õ#ð	&ñ
 ‘S™/Ð)Õ*ð&ñ 
ñ&rK   c                ó  € VR 8X  dí   \         P                  P                  P                  '       d¬   VP                  '       g   VP
                  '       g   \        R4      h\        P                  ! V\         P                  P                  P                  P                  4      pVP                  VVP                  P                  P                  4       .VO5V4      # \!        RRV  RV 2R. R7       R
# \!        RRV  RV 2RV R	2. R7       R
# )Úqueue_callbackzXqueue_callback() is only supported when Compiled Autograd is enabled with fullgraph=Truez7Unsupported torch._C._ImperativeEngine.queue_callback()r£   r¤   zYqueue_callback() is only supported when Compiled Autograd is enabled with fullgraph=True.rs   z-Unsupported torch._C._ImperativeEngine methodzgDynamo only supports the `queue_callback` method on a torch._C._ImperativeEngine instance, but found: `z`.N)r®   rˆ  Úcompiled_autogradÚin_compiled_autograd_regionÚ	one_graphÚerror_on_graph_breakrx   r3   r´   r‰  ÚFakeCompiledAutogradEnginerÙ  rµ   rÇ   r±   Úget_ca_final_callbacks_varr   )rQ   rm   rn   r�   rC   rÚ   s   &&&&& rH   r¼   Ú"AutogradEngineVariable.call_methodÐ  s  € ð Ð#Ô#Ü�}‰}×.Ñ.×J×JÐJØŸŸ˜¨×(?×(?Ð(?Ü(Øróð ô (×-Ò-ØÜ—M‘M×0Ñ0×KÑK×ZÑZó�ð ×*Ñ*ØØ—Y‘Y×+Ñ+×FÑFÓHÐPÈ4ÑPØóð ô ØUØ*¨4¨&°°$°Ð8ð!Hà÷ô ØGØ& t f¨A¨d¨VÐ4ðIØIMÈÈbðRà÷rK   rN   rZ   )
r¥   r§   rî   rï   rì  rP   r¼   rò   ró   rô   rõ   s   @@rH   rÑ  rÑ  Ã  s%   ù‡ € ñ÷Gõ G÷&÷ &ð &rK   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	# )	r­   iù  c                ó>   <€ V ^8„  d   QhRS[ RS[3,          RS[RR/# )r@   r  .rC   rD   N)r   r3   r   )rF   rG   s   "€rH   rI   ÚLambdaVariable.__annotate__û  s,   ø€ ÷ ñ ™8 C©Ð$8Õ9ð ÁSð ÈTñ rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   )rO   rP   r  )rQ   r  rC   rR   s   &&,€rH   rP   ÚLambdaVariable.__init__û  s   ø€ Ü‰ÒÑ"˜6Ò"ØŽrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   rã  ÿ  s   ø€ ÷ "ñ "™Tñ "rK   c                ó"   € \         P                  # rZ   )r¾   r¿   r\   s   &rH   r]   ÚLambdaVariable.python_typeÿ  s   € Ü×!Ñ!Ð!rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   rã    sB   ø€ ÷ (ñ (à'ð(ñ ‘?Õ#ð(ñ ‘S™/Ð)Õ*ð	(ñ
 
ñ(rK   c                ó&   € V P                   ! V/ VB # rZ   ©r  r�  s   &&&&rH   rµ   ÚLambdaVariable.call_function  s   € ð �wŠw˜Ð' Ñ'Ð'rK   rë  )
r¥   r§   rî   rï   rP   r]   rµ   rò   ró   rô   rõ   s   @@rH   r­   r­   ù  s(   ù‡ € ÷ó ÷"ð "÷(÷ (ð (rK   r­   c                   óV  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V 3R lltV3R lR	 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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V 3R lltRtVtV ;t# ) r•   i  rn   r’   c          
      óD   <€ V ^8„  d   QhRS[ RS[RS[R,          RS[RR/# )r@   r  rn   r’   NrC   rD   )r3   ro   rW   r   )rF   rG   s   "€rH   rI   ÚGetAttrVariable.__annotate__  sA   ø€ ÷ ñ áðñ ðñ ˜•ð	ñ
 ðð 
ñrK   c                ó   <€ \         SV `  ! R/ VB  \        V\        4      '       g   \	        R \        V4       24      h\        V\        4      '       g   \	        R\        V4       24      hWn        W n        W0n	        R# )z#obj must be a VariableTracker, got zname must be a str, got NrN   )
rO   rP   r²   r3   rx   rW   ro   r  rn   r’   )rQ   r  rn   r’   rC   rR   s   &&&&,€rH   rP   ÚGetAttrVariable.__init__  sl   ø€ ô 	‰ÒÑ"˜6Ò"Ü˜#œ×/Ò/Ü Ð#FÄtÈCÃyÀkÐ!RÓSÐSÜ˜$¤×$Ò$Ü Ð#;¼DÀ»J¸<Ð!HÓIÐIØŒØŒ	ØŽrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   rï  "  s   ø€ ÷ )ñ )™Tñ )rK   c                óT   <€ V P                   e   V P                   # \        SV `	  4       # rZ   )r’   rO   r]   ©rQ   rR   s   &€rH   r]   ÚGetAttrVariable.python_type"  s%   ø€ Ø�<‰<Ò#Ø—<‘<Ðä‘7Ñ&Ó(Ð(rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   rï  (  s   ø€ ÷ Eñ E™#ñ ErK   c                óh   € V P                   P                   R V P                   RV P                   R2# ©r�  r®  rž  )rR   r¥   r  rn   r\   s   &rH   r¾  ÚGetAttrVariable.__repr__(  s.   € Ø—.‘.×)Ñ)Ð*¨!¨D¯H©H¨:°R¸¿	¹	°{À!ÐDÐDrK   c                óT   <€ V ^8„  d   QhRS[ P                  P                  RS[RS[/# )r@   Ú
base_proxyrà   rD   )r®   ÚfxÚProxyro   r   )rF   rG   s   "€rH   rI   rï  ,  s*   ø€ ÷ )ñ )©¯©¯©ð )¹sð )Ásñ )rK   c                ó   € \        W4      # rZ   )r€   )rû  rà   s   &&rH   Úcreate_getattr_proxyÚ$GetAttrVariable.create_getattr_proxy+  s   € ä�zÓ(Ð(rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rï  /  s   ø€ ÷ Tñ T™#ñ TrK   c                ór   € \         P                  V P                  P                  4       V P                  4      # rZ   )r•   rÿ  r  rÂ  rn   r\   s   &rH   rÂ  ÚGetAttrVariable.as_proxy/  s&   € Ü×3Ñ3°D·H±H×4EÑ4EÓ4GÈÏÉÓSÐSrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rï  2  s   ø€ ÷ Mñ M¡Cñ MrK   c                óž   € V P                   P                  4       p \        WP                  4      #   \         d    \        T  R 24      Rhi ; i)z is not a constantN)r  ry   r€   rn   rÐ   rÆ   )rQ   Úconstants   & rH   ry   Ú"GetAttrVariable.as_python_constant2  sO   € Ø—8‘8×.Ñ.Ó0ˆð	MÜ˜8§Y¡YÓ/Ð/øÜô 	MÜ%¨¨Ð.@Ð&AÓBÈÐLð	Mús	   œ1 ±Ac                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# r•  ©rp   Úintr  )rF   rG   s   "€rH   rI   rï  9  s%   ø€ ÷  ñ  Ð7ð  ¹EÁ#ÁtÀ)Õ<Lñ  rK   c                ó¾   €  V P                  4       p\        X4      R3#   \        \        3 d-    ^RIHp T! RRT  2RT  R2. \
        P                  OR7        LIi ; i)r@   )r   z!Non-constant GetAttrVariable hashz
hash_impl zCannot hash zh because Dynamo doesn't know how to represent the type of the getattr() result, which is not a constant.rs   F)ry   r-   rÆ   rá   r   r   r?  Úhash)rQ   rm   r5  r   s   &&  rH   Ú	hash_implÚGetAttrVariable.hash_impl9  sw   € ð	Ø×)Ñ)Ó+ˆCô �C‹y˜%ÐÐøô 4Ô5HÐIô 		Ý+áØ;Ø$ T FÐ+Ø*¨4¨&ð 1Mð Mà6Ô)×5Ñ5Ð6÷ð		ús   ‚ Ÿ:AÁAc                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r@   rm   r<   rn   rD   r4   rF  )rF   rG   s   "€rH   rI   rï  J  s%   ø€ ÷ 2ñ 2Ø-ð2Ù58ð2à	ñ2rK   c                ó`  <€ \        V P                  \        4      '       d€   V P                  R 8X  do   \	        V P                  P
                  RR4      '       dH   \        P                  P                  \        V P                  P
                  P                  V4      4      # \        SV `1  W4      # )r5  Úgenerate_vmap_ruleF)r²   r  r;  rn   r€   r/  r   r4   r˜   r·   r5  rO   Úcall_obj_hasattrr@  s   &&&€rH   r  Ú GetAttrVariable.call_obj_hasattrJ  s~   ø€ ô �t—x‘xÔ!9×:Ò:Ø—	‘	˜WÔ$Ü˜Ÿ™Ÿ™Ð)=¸u×EÒEä×-Ñ-×4Ñ4Ü˜Ÿ™Ÿ™×-Ñ-¨tÓ4óð ô ‰wÑ'¨Ó1Ð1rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   )ro   r   )rF   rG   s   "€rH   rI   rï  W  s#   ø€ ÷ 	3ñ 	3Ð ;ð 	3Á3ð 	3É3ñ 	3rK   c                óš  € \        V P                  \        P                  4      '       g   \        hVP
                  P                  V P                  P                  4      pV P                  VP                  9  d   \        h\        P                  ! W0P                  4      pW$P                  9  d   \        h\        P                  ! WB4      # rZ   )r²   r  r   re  rÆ   rÇ   Úget_submoduleÚ
module_keyrn   rƒ   rw  rš  )rQ   rm   rn   Ústep1Ústep2s   &&&  rH   Úconst_getattrÚGetAttrVariable.const_getattrW  sˆ   € Ü˜$Ÿ(™(¤I×$>Ñ$>×?Ò?Ü%Ð%Ø—	‘	×'Ñ'¨¯©×(;Ñ(;Ó<ˆØ�9‰9˜EŸN™NÔ*Ü%Ð%Ü×&Ò& u¯i©iÓ8ˆØ—~‘~Ô%Ü%Ð%Ü×%Ò% eÓ2Ð2rK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   rï  b  s   ø€ ÷ Dñ D ;ð D°4ñ DrK   c                ó~   € V! V P                   4       VP                  VP                  V P                  4      4       R # rZ   )r  rh   Úcreate_load_attrsrn   rÿ  s   &&rH   rj   ÚGetAttrVariable.reconstructb  s+   € Ù�—‘ÔØ×Ñ˜g×7Ñ7¸¿	¹	ÓBÖCrK   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# rC  rF  )rF   rG   s   "€rH   rI   rï  f  s-   ø€ ÷ <ñ <Ø-ð<Ø6Gð<ÙMPð<à	ñ<rK   c                óâ  € ^RI Hp  V P                  P                  WP                  4      pVe   \        V\        4      '       d�   V P                  P                  4       '       dF   \        V P                  P                  4       V P                  4      p\        P                  ! W4      pM)\        RRV  RV 2RV  R2. \        P                  OR7       V! WW#4      #   \
         d    Rp LÀi ; i)	rJ  ©Úgeneric_richcompareNz%Unresolved GetAttrVariable comparisonztp_richcompare_impl r¤   zCannot compare zA because the attribute could not be resolved to a concrete value.rs   )rM  r#  r  r™   rn   rÆ   r²   r•   Úis_python_constantr€   ry   r3   r´   r   r   r?  )rQ   rm   rD  rE  r#  rz  r5  s   &&&&   rH   rO  Ú#GetAttrVariable.tp_richcompare_implf  sÚ   € õ 	9ð	Ø—x‘x×0Ñ0°·Y±YÓ?ˆHð Òœz¨(´O×DÒDØ�x‰x×*Ñ*×,Ò,Ü˜dŸh™h×9Ñ9Ó;¸T¿Y¹YÓG�Ü*×0Ò0°Ó9‘äØCØ2°4°&¸¸"¸Ð>Ø"1°$°ð 8Að !Bà:Ô-×9Ñ9Ð:õñ # 2°Ó;Ð;øô #ô 	ØŠHð	ús   ˆ%C ÃC.Ã-C.c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   rï  }  sH   ø€ ÷ Añ Aà'ðAñ ‘?Õ#ðAñ ‘S™/Ð)Õ*ð	Añ
 
ñArK   c                óN   € V P                   P                  WP                  W#4      # rZ   )r  r¼   rn   r�  s   &&&&rH   rµ   ÚGetAttrVariable.call_function}  s   € ð �x‰x×#Ñ# B¯	©	°4Ó@Ð@rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ©r@   rm   r<   r�  rD   r6  )rF   rG   s   "€rH   rI   rï  …  s)   ø€ ÷ 2ñ 2à'ð2ñ ð2ñ 
ñ	2rK   c                óÐ   <€ V P                   R 8X  dG   \        V P                  R4      '       d+   V P                  P                  V4      P	                  W4      # \
        SV `  W4      # )rƒ   Úget_dict_vt)rn   r·   r  r,  Úmp_subscript_implrO   )rQ   rm   r�  rR   s   &&&€rH   r-  Ú!GetAttrVariable.mp_subscript_impl…  sQ   ø€ ð
 �9‰9˜
Ô"¤w¨t¯x©x¸×'GÒ'GØ—8‘8×'Ñ'¨Ó+×=Ñ=¸bÓFÐFÜ‰wÑ(¨Ó1Ð1rK   )rn   r  r’   rZ   )r¥   r§   rî   rï   r3   rñ   rP   r]   r¾  r½   rÿ  rÂ  ry   r  r  r  rj   rO  rµ   r-  rò   ró   rô   rõ   s   @@rH   r•   r•     s½   ù‡ € àØðð 
×	'Ñ	'ð€N÷õ ÷ )ó )÷Eð Eð ÷)ó ð)÷Tð T÷Mð M÷ ð  ÷"2ó 2÷	3ð 	3÷Dð D÷<ð <÷.Að A÷2÷ 2ó 2rK   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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# )ÚCallMethodVariablei�  z‘A method bound to a VT instance.

Returned by object_generic_getattr when the MRO walk finds a method
on a VT that has custom call_method logic.
Úmethod_namec                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# )r@   r  r1  rC   rD   N)r3   ro   r   )rF   rG   s   "€rH   rI   ÚCallMethodVariable.__annotate__›  s3   ø€ ÷ 'ñ 'áð'ñ ð'ñ ð	'ð
 
ñ'rK   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # rM   )rO   rP   r  r1  )rQ   r  r1  rC   rR   s   &&&,€rH   rP   ÚCallMethodVariable.__init__›  s    ø€ ô 	‰ÒÑ"˜6Ò"ØŒØ&ÖrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   r3  ¥  s   ø€ ÷ Lñ L™#ñ LrK   c                óh   € V P                   P                   R V P                   RV P                   R2# rø  )rR   r¥   r  r1  r\   s   &rH   r¾  ÚCallMethodVariable.__repr__¥  s1   € Ø—.‘.×)Ñ)Ð*¨!¨D¯H©H¨:°R¸×8HÑ8HÐ7IÈÐKÐKrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   r3  ¨  s   ø€ ÷ $ñ $™Tñ $rK   c                ó„   €  \        V P                  4       4      #   \        \        3 d    \        P
                  u # i ; irZ   )rW   ry   r-   rÐ   r¾   rÂ   r\   s   &rH   r]   ÚCallMethodVariable.python_type¨  s;   € ð	$Ü˜×/Ñ/Ó1Ó2Ð2øÜ3´^ÐDô 	$Ü×#Ñ#Ò#ð	$ús   ‚ ›!?¾?c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   r3  ®  s   ø€ ÷ Hñ H¡Cñ HrK   c                ó^   € \        V P                  P                  4       V P                  4      # rZ   )r€   r  ry   r1  r\   s   &rH   ry   Ú%CallMethodVariable.as_python_constant®  s"   € Ü�t—x‘x×2Ñ2Ó4°d×6FÑ6FÓGÐGrK   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# r•  r	  )rF   rG   s   "€rH   rI   r3  ±  s%   ø€ ÷ "ñ "Ð7ð "¹EÁ#ÁtÀ)Õ<Lñ "rK   c                óv   €  \        V P                  4       4      R 3#   \         d    \        T 4      R3u # i ; i)FT)r  ry   r-   Úidr¹  s   &&rH   r  ÚCallMethodVariable.hash_impl±  s=   € ð	"Ü˜×/Ñ/Ó1Ó2°EÐ9Ð9øÜ2ô 	"Ü�d“8˜T�>Ò!ð	"ús   ‚ �8·8c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# ©r@   rm   r<   rD  rE  rD   r¤  )rF   rG   s   "€rH   rI   r3  ·  s3   ø€ ÷ 7ñ 7à'ð7ñ ð7ñ ð	7ñ
 
ñ7rK   c                ó    € ^RI Hp V! WW#4      # rI  rL  rN  s   &&&& rH   rO  Ú&CallMethodVariable.tp_richcompare_impl·  s   € õ 	8á! $¨EÓ6Ð6rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r3  Á  sH   ø€ ÷ Hñ Hà'ðHñ ‘?Õ#ðHñ ‘S™/Ð)Õ*ð	Hñ
 
ñHrK   c                óN   € V P                   P                  WP                  W#4      # rZ   )r  r¼   r1  r�  s   &&&&rH   rµ   Ú CallMethodVariable.call_functionÁ  s!   € ð �x‰x×#Ñ# B×(8Ñ(8¸$ÓGÐGrK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   r3  É  s   ø€ ÷ Kñ K ;ð K°4ñ KrK   c                ó~   € V! V P                   4       VP                  VP                  V P                  4      4       R # rZ   )r  rh   r  r1  rÿ  s   &&rH   rj   ÚCallMethodVariable.reconstructÉ  s-   € Ù�—‘ÔØ×Ñ˜g×7Ñ7¸×8HÑ8HÓIÖJrK   )r1  r  )r¥   r§   rî   rï   rì  r3   rñ   rP   r¾  r]   ry   r  rO  rµ   rj   rò   ró   rô   rõ   s   @@rH   r0  r0  �  s‚   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
'ó '÷Lð L÷$ð $÷Hð H÷"ð "÷7ð 7÷Hð H÷K÷ Kð KrK   r0  c                   óâ   a a€ ] tR tRt o]P
                  tR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V3R lR ltV3R lR ltRtVtV ;t# )ÚPythonModuleVariableiÎ  r|   Úis_torchc                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# ©r@   r|   rC   rD   N)r¾   Ú
ModuleTyper   )rF   rG   s   "€rH   rI   Ú!PythonModuleVariable.__annotate__Ø  s-   ø€ ÷ Xñ X™e×.Ñ.ð X¹#ð XÀ$ñ XrK   c                ó¼   <€ \         SV `  ! R/ VB  Wn        V P                  \        J ;'       g&    V P                  P                  P                  R 4      V n        R# )ztorch.NrN   )rO   rP   r|   r®   r¥   Ú
startswithrO  ©rQ   r|   rC   rR   s   &&,€rH   rP   ÚPythonModuleVariable.__init__Ø  sE   ø€ Ü‰ÒÑ"˜6Ò"ØŒ
ØŸ
™
¤eÐ+×WÐW¨t¯z©z×/BÑ/B×/MÑ/MÈhÓ/WˆŽrK   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# rU   )rW   r¾   rR  )rF   rG   s   "€rH   rI   rS  Ý  s   ø€ ÷  ñ  ™T¡%×"2Ñ"2Õ3ñ  rK   c                ó"   € \         P                  # rZ   ©r¾   rR  r\   s   &rH   r]   Ú PythonModuleVariable.python_typeÝ  s   € Ü×ÑÐrK   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rU   rZ  )rF   rG   s   "€rH   rI   rS  à  s   ø€ ÷ ñ ¡E×$4Ñ$4ñ rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   ry   Ú'PythonModuleVariable.as_python_constantà  ó   € Ø�z‰zÐrK   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rU   rZ  )rF   rG   s   "€rH   rI   rS  ã  s   ø€ ÷ ñ ©e×.>Ñ.>ñ rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   Úget_real_python_backed_valueÚ1PythonModuleVariable.get_real_python_backed_valueã  r_  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   rS  æ  s   ø€ ÷ 5ñ 5™#ñ 5rK   c                ó"   € R V P                    R2# )zPythonModuleVariable(rž  rÉ  r\   s   &rH   r¾  ÚPythonModuleVariable.__repr__æ  s   € Ø& t§z¡z l°!Ð4Ð4rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   rS  é  s%   ø€ ÷ =ñ =Ø-ð=Ù58ð=á	ñ=rK   c                ó,  € VP                   P                  P                  W4      '       d&   VP                   P                  P                  W4      # R pV P                  '       g   W P
                  P                  9  d    \        V P
                  V4      pMV P
                  P                  V,          pV P                  ;'       d    \        V P                  V4      p\        P                  ! WV4      #   \         d    \        \        T4        L^i ; irZ   )rÇ   r±   Úhas_pending_mutation_of_attrÚ	load_attrrO  r|   rƒ   r€   rÐ   r   rz   r   r3   r´   )rQ   rm   rn   rã   rz   s   &&&  rH   r™   Ú%PythonModuleVariable.tp_getattro_implé  sÌ   € ð �9‰9×!Ñ!×>Ñ>¸t×JÒJØ—9‘9×)Ñ)×3Ñ3°DÓ?Ð?àˆ
Ø�=�=ˆ=˜D¯
©
×(;Ñ(;Ô;ð=Ü$ T§Z¡Z°Ó6‘
ð Ÿ™×,Ñ,¨TÕ2ˆJà—‘×>Ð>¤¨D¯K©K¸Ó!>ˆÜ×$Ò$ R°VÓ<Ð<øô "ô =Ü(¬¸Ö<ð=ús   Â C5 Ã5DÄDc                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# rC  rF  )rF   rG   s   "€rH   rI   rS  û  rG  rK   c                ó    € ^RI Hp V! WW#4      # rI  rL  rN  s   &&&& rH   rO  Ú(PythonModuleVariable.tp_richcompare_implû  rQ  rK   )rO  r|   )r¥   r§   rî   rï   r¾   rR  rð   r3   rñ   rP   r]   ry   rb  r¾  r™   rO  rò   ró   rô   rõ   s   @@rH   rN  rN  Î  s|   ù‡ € à×$Ñ$€Mð 	Øðð 
×	'Ñ	'ð€N÷Xó X÷
 ð  ÷ð ÷ð ÷5ð 5÷=ð =÷$7÷ 7ð 7rK   rN  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RV3R
 l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V 3R lltRtVtV ;t# )ÚTypingVariablei  c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# rQ  r&  )rF   rG   s   "€rH   rI   ÚTypingVariable.__annotate__  ó"   ø€ ÷ ñ ™cð ©Sð °Tñ rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ©rO   rP   r|   rV  s   &&,€rH   rP   ÚTypingVariable.__init__  ó   ø€ Ü‰ÒÑ"˜6Ò"ØŽ
rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# r*  r6  )rF   rG   s   "€rH   rI   rr    s)   ø€ ÷ *ñ *à'ð*ñ ð*ñ 
ñ	*rK   c                óè   € VP                  4       '       g2   \        R RV R2RV P                   R2. \        P                  OR7       V P                  VP                  4       ,          p\        V4      # )znon-constant typing subscriptzTypingVariable[Ú]z"Cannot subscript typing construct z with a non-constant key.rs   )r$  r   r|   r   r?  ry   rp  )rQ   rm   r�  Ú
new_typings   &&& rH   r-  Ú TypingVariable.mp_subscript_impl  sn   € ð ×%Ñ%×'Ò'ÜØ7Ø)¨#¨¨aÐ0Ø@ÀÇÁÀÐLeÐfØ6Ô)×5Ñ5Ð6õ	ð —Z‘Z × 6Ñ 6Ó 8Õ9ˆ
Ü˜jÓ)Ð)rK   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# rC  rF  )rF   rG   s   "€rH   rI   rr    s-   ø€ ÷ 
7ñ 
7Ø-ð
7Ø6Gð
7ÙMPð
7à	ñ
7rK   c                ó  € VR9   dn   \        V\        4      '       d>   V P                  VP                  8H  pVR8X  d   V'       * p\        P                  ! V4      # \        P                  ! \
        4      # \        P                  ! \
        4      # )Ú__eq__Ú__ne__©r  r€  )r(   rp  r|   r4   r˜   ÚNotImplemented©rQ   rm   rD  rE  rY  s   &&&& rH   rO  Ú"TypingVariable.tp_richcompare_impl  sm   € ð Ð%Ô%Ü�eœ^×,Ò,ØŸ™ u§{¡{Ñ2�Ø˜”>Ø!'œZ�FÜ'×.Ò.¨vÓ6Ð6Ü#×*Ò*¬>Ó:Ð:Ü×&Ò&¤~Ó6Ð6rK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   rr  $  sL   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ‘?Õ#ð	
ñ
 ‘S™/Ð)Õ*ð
ñ 
ñ
rK   c                ó¶   € \        R RV P                   RV RV RV 2RV RV P                   R2RV R	V P                   R2.\        P                  OR
7       R# )z,unsupported method call on `typing` variableztyping variable: z, method name: ú, args: ú
, kwargs: z.`torch.compile` does not support method call `z` on `typing` variable fÚ.zAvoid calling the z method on rs   N)r   r|   r   r?  ©rQ   rm   rn   r�   rC   s   &&&&&rH   r¼   ÚTypingVariable.call_method$  sy   € ô 	ØBØ'¨¯
©
 |°?À4À&ÈÐQUÐPVÐV`ÐagÐ`hÐiØHÈÈÐNfÐgk×gqÑgqÐfrÐrsÐtà$ T F¨+°d·j±j°\ÀÐCðä"×.Ñ.ð÷		
rK   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# )r@   rm   r<   rD  ÚreverserD   r  )rF   rG   s   "€rH   rI   rr  5  s3   ø€ ÷ 1ñ 1à'ð1ñ ð1ñ ð	1ñ
 
ñ1rK   c                óX  € VP                  4       '       g   \        P                  ! V\        4      # VP	                  4       p\        V P                  4      P                  V P                  V4      pV\        J d   \        P                  ! V\        4      # \        P                  ! W4      # rZ   )r$  r3   r´   r‚  ry   rW   r|   Ú__or__)rQ   rm   rD  r�  Ú	other_valrY  s   &&&&  rH   Ú
nb_or_implÚTypingVariable.nb_or_impl5  s   € ð ×'Ñ'×)Ò)Ü"×(Ò(¨¬^Ó<Ð<Ø×,Ñ,Ó.ˆ	ä�d—j‘jÓ!×(Ñ(¨¯©°YÓ?ˆØ”^Ó#Ü"×(Ò(¨¬^Ó<Ð<Ü×$Ò$ RÓ0Ð0rK   c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   rr  F  s%   ø€ ÷ 7ñ 7Ø-ð7Ù58ð7á	ñ7rK   c                ól  € ^RI HpHp VP                  P                  P                  W4      '       d&   VP                  P                  P                  W4      # \        V P                  V4      pV P                  '       d%   \        V P                  V4      pV! W4      ! V4      # VP                  W4      # )rJ  )ÚSourcelessBuilderÚVariableBuilder)r—  r•  r–  rÇ   r±   ri  rj  r€   r|   rz   r   r˜   )rQ   rm   rn   r•  r–  r|   rä   s   &&&    rH   r™   ÚTypingVariable.tp_getattro_implF  sˆ   € ÷ 	@à�9‰9×!Ñ!×>Ñ>¸t×JÒJØ—9‘9×)Ñ)×3Ñ3°DÓ?Ð?ä˜Ÿ
™
 DÓ)ˆØ�;�;ˆ;Ü$ T§[¡[°$Ó7ˆKÙ" 2Ô3°EÓ:Ð:à$×+Ñ+¨BÓ6Ð6rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rr  U  ó   ø€ ÷ ñ ¡Cñ rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   ry   Ú!TypingVariable.as_python_constantU  r_  rK   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# r•  r	  )rF   rG   s   "€rH   rI   rr  X  ó%   ø€ ÷ 'ñ 'Ð7ð '¹EÁ#ÁtÀ)Õ<Lñ 'rK   c                ó0   € \        V P                  4      R 3# ©F©r  r|   r¹  s   &&rH   r  ÚTypingVariable.hash_implX  ó   € Ü�D—J‘JÓ Ð&Ð&rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rr  [  ó   ø€ ÷ ñ ©cñ rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   rb  Ú+TypingVariable.get_real_python_backed_value[  r_  rK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   rr  ^  s   ø€ ÷ Eñ E ;ð E°4ñ ErK   c                óÎ   <€ \        V P                  \        P                  4      '       g   \        SV `  V4      # VP                  VP                  V P                  4      4       R # rZ   )r²   r|   r¾   ÚGenericAliasrO   rj   Úappend_outputÚcreate_load_constri   s   &&€rH   rj   ÚTypingVariable.reconstruct^  sI   ø€ Ü˜$Ÿ*™*¤e×&8Ñ&8×9Ò9Ü‘7Ñ& wÓ/Ð/ð0 	×Ñ˜g×7Ñ7¸¿
¹
ÓCÖDrK   rÉ  rŸ  )r¥   r§   rî   rï   rP   r-  rO  r¼   r‘  r™   ry   r  rb  rj   rò   ró   rô   rõ   s   @@rH   rp  rp    sq   ù‡ € ÷ó ÷*ð *÷ 
7ð 
7÷
ð 
÷"1ò 1÷"7ð 7÷ð ÷'ð '÷ð ÷E÷ Eó ErK   rp  )Úmaxsizec                ón   € V ^8„  d   QhR\         \        P                  \        P                  3,          /# rU   )r    r¾   r   r¿   )rF   s   "rH   rI   rI   |  s)   € ÷ ñ œ4¤× 9Ñ 9¼5×;MÑ;MÐ MÕNñ rK   c                 óè   € ^RI Hp  / pV P                  4        FU  w  r#VP                  P                  4        F2  w  rE\	        V4      '       g   K  \        W$R4      ;p'       g   K.  WQV&   K4  	  KW  	  V# )zX
This generates a mapping from numpy modules to their torch._numpy
modules equivalents.
)ÚNP_TO_TNP_MODULEN)Úutilsr°  rÓ   rƒ   Úcallabler€   )r°  Únp_fn_to_tnp_fnÚnp_modÚtnp_modr  Útnp_fnÚnp_fns          rH   Úget_np_to_tnp_mapr¸  {  sn   € õ )à€Oà+×1Ñ1Ö3‰ˆØ&×/Ñ/×5Ñ5Ö7‰OˆGÜ˜×Ôô $ F°TÓ:Ð:�5×:Ð:Ø-3 EÓ*ó  8ñ 4ð ÐrK   c                ón   € V ^8„  d   QhR\         \        P                  \        P                  3,          /# rU   )r    r¾   r¿   r   )rF   s   "rH   rI   rI   ‘  s)   € ÷ (ñ (œ4¤× 2Ñ 2´E×4MÑ4MÐ MÕNñ (rK   c                 ój   € \        4       p V P                  4        UUu/ uF  w  rW!bK	  	  upp# u uppi )zs
This is just the reverse mapping of get_np_to_tnp_map() - mapping from
torch._numpy modules to numpy equivalents.
)r¸  rÓ   )ÚmÚkÚvs      rH   Úget_tnp_to_np_mapr¾  �  s.   € ô 	Ó€AØŸW™WœYÔ'™Y‘T�QˆAŠD™YÒ'Ð'ùÓ's   ž/c                   ó  a a€ ] tR tRt oRt]P                  3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4       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V 3R lltRtVtV ;t# )ÚNumpyVariableiš  zr
Wrapper around `numpy.*`. Currently, is able to trace a small subset of numpy functions as well as numpy dtypes.
c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# rQ  r&  )rF   rG   s   "€rH   rI   ÚNumpyVariable.__annotate__¡  rs  rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ru  rV  s   &&,€rH   rP   ÚNumpyVariable.__init__¡  rw  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rÂ  ¥  r¤  rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   rb  Ú*NumpyVariable.get_real_python_backed_value¥  r_  rK   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# rD  r¤  )rF   rG   s   "€rH   rI   rÂ  ¨  s3   ø€ ÷ /ñ /à'ð/ñ ð/ñ ð	/ñ
 
ñ/rK   c                ó  € VR9  g   \        VR4      '       g   \        P                  ! \        4      # VR 8X  d   V P                  VP                  8H  MV P                  VP                  8g  p\        P                  ! V4      # )r  r|   r�  )r·   r4   r˜   r‚  r|   rƒ  s   &&&& rH   rO  Ú!NumpyVariable.tp_richcompare_impl¨  sg   € ð Ð)Ô)´¸À×1HÒ1HÜ#×*Ò*¬>Ó:Ð:à)+¨x¬ˆD�J‰J˜%Ÿ+™+Ò%¸T¿Z¹ZÈ5Ï;É;Ñ=Vð 	ô  ×&Ò& vÓ.Ð.rK   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# ©r@   r  rD   )r¾   r¿   r  )rF   rG   s   "€rH   rI   rÂ  ¸  s!   ø€ ÷ 
1ñ 
1©5×+=Ñ+=ð 
1Á$ñ 
1rK   c                óø   € VP                   P                  R 4      p\        V4      ^8  d   \        RV 24      hVR,          RR.8w  d%   \        RR P	                  VR,          4       24      hWP
                  9   # ©r‰  z0Expected module path with at least 2 parts, got :Nr@   Nr®   Ú_numpyz"Expected torch._numpy module, got )r§   Úsplitr‚   rx   r´  Úconstant_fold_functions©r  r  Úmods   && rH   Úcan_constant_fold_throughÚ'NumpyVariable.can_constant_fold_through·  s�   € à�m‰m×!Ñ! #Ó&ˆÜˆs‹8�aŒ<Ü ØBÀ3À%ÐHóð ð ˆr�7�w Ð)Ô)Ü Ø4°S·X±X¸cÀ"½gÓ5FÐ4GÐHóð ð ×0Ñ0Ñ0Ð0rK   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# rÌ  )r¾   r¿   r   )rF   rG   s   "€rH   rI   rÂ  Å  s!   ø€ ÷ 
3ñ 
3±%×2DÑ2Dð 
3Éñ 
3rK   c                ó  € VP                   P                  R 4      p\        V4      ^8  d   \        RV 24      hVR,          RR.8w  d%   \        RR P	                  VR,          4       24      h\
        P                  V4      # rÎ  )r§   rÐ  r‚   rx   r´  Únp_constant_collections_mapr„   rÒ  s   && rH   Ú get_constant_collection_for_funcÚ.NumpyVariable.get_constant_collection_for_funcÄ  sƒ   € à�m‰m×!Ñ! #Ó&ˆÜˆs‹8�aŒ<Ü ØBÀ3À%ÐHóð ð ˆr�7�w Ð)Ô)Ü Ø4°S·X±X¸cÀ"½gÓ5FÐ4GÐHóð ô +×.Ñ.¨rÓ2Ð2rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   rÂ  Ñ  sH   ø€ ÷ ]:ñ ]:à'ð]:ñ ‘?Õ#ð]:ñ ‘S™/Ð)Õ*ð	]:ñ
 
ñ]:rK   c                óV  € \         P                  '       g2   \        R RV P                   RV RV 2RV P                   R2R.R7       ^RIHp ^R	IHp \        4       P                  V P                  4      pVfE   \        RRV P                   RV RV RV R2	RV P                   R2. \        P                  OR7       Vf   \        RV P                   24      hV P                  V4      ;p eg    T! V P                  ! V Uu. uF  qˆP                  4       NK  	  up/ VP                  4        U	U
u/ uF  w  ršWšP                  4       bK  	  up
p	B 4      # VP$                  R8X  d[   \         P&                  '       dE   \        RRV P                   RV RV RV R2	RV P                   R2RRV P                   R2.R7       VP)                  VP*                  W#4      w  r#V P-                  V4      '       dŠ   \/        W#4      '       dy   \0        P2                  ! TV P                  4       ! V Uu. uF  qˆP                  4       NK  	  up/ VP                  4        U	U
u/ uF  w  ršWšP                  4       bK  	  up
p	B 4      # VP4                  P6                  ! RV! V4      .\9        W#4      O5!  pVP;                  W4      # u upi u up
p	i   \          dI    \        RRT P                   RT RT RT R2	RT P                   R2. \        P"                  OR7        R
# i ; iu upi u up
p	i )z?attempted to trace numpy function with config.trace_numpy=Falseúnumpy function: r‡  rˆ  z"Attempted to trace numpy function z; while `torch._dynamo.config.trace_numpy` was set to False.zHSet `torch._dynamo.config.trace_numpy` to True to trace numpy functions.rs   )Únumpy_to_tensor_wrapper)ÚNumpyNdarrayVariableNz8attempted to trace numpy function unsupported by PyTorchz  (corresponding torch function: rž  z Can't find numpy numpy function z in torch._numpy.z+Could not find torch._numpy equivalent for zTnumpy function that produces a const collection type encountered non-const argumentsznumpy function zs that produces a const collection type (e.g. np.dtype, np.iinfo/np.finfo) received arguments that are not constant.ztorch._numpy.randomzXattempted to trace torch._numpy.random function with config.use_numpy_random_stream=TruezAttempted to trace zD when `torch._dynamo.config.use_numpy_random_stream` is set to True.z<Set `torch._dynamo.config.use_numpy_random_stream` to False.zAvoid calling r‰  rµ   )r   Útrace_numpyr   r|   r±  rÞ  Útensorrß  r¸  r„   r   r?  rx   rÙ  ry   rÓ   r-   Ú
USER_ERRORr§   Úuse_numpy_random_streamÚ
patch_argsr¥   rÔ  r&   r3   r´   rÇ   r™  r*   r˜   )rQ   rm   r�   rC   rÞ  rß  rå   Úcollection_variable_typr¶  r¼  r½  r•  s   &&&&        rH   rµ   ÚNumpyVariable.call_functionÑ  st  € ô ×!×!Ð!ÜØYØ*¨4¯:©:¨,°h¸t¸fÀJÈvÈhÐWØ@ÀÇÁÀð MMð Mð _ðõõ 	4Ý0ä Ó"×&Ñ& t§z¡zÓ2ˆØŠ<ÜØRØ*¨4¯:©:¨,°h¸t¸fÀJÈvÈhÐVvÐw{Ðv|Ð|}Ð~Ø>¸t¿z¹z¸lÐJ[Ð\ðÜ&×2Ñ2ðõ	ð Š<Ü Ø=¸d¿j¹j¸\ÐJóð ð (,×'LÑ'LÈTÓ'RÐRÐ#ØòðÙ.Ø—J’JÙ:>Ó?¹$°Q×.Ñ.Ö0¹$Ñ?ðàAGÇÁÄÔPÁ¹¸˜1×2Ñ2Ó4Ò4ÁÒPñóð ð& —‘Ð#8Ô8Ü×2×2Ð2äØvØ.¨t¯z©z¨l¸(À4À&È
ÐSYÐRZÐZzÐ{ð  {Að  ABð  CØ"5°d·j±j°\ð B&ð !&ð WØ(¨¯©¨°AÐ6ðõ	ð 0×:Ñ:¸4¿=¹=È$ÓW‰LˆDà×-Ñ-¨d×3Ò3Ü-¨d×;Ò;ô '×,Ò,ØØ×+Ñ+Ô-Ù:>Ó?¹$°Q×.Ñ.Ö0¹$Ñ?ðàAGÇÁÄÔPÁ¹¸˜1×2Ñ2Ó4Ò4ÁÒPñóð ð —I‘I×*Ò*ØÙ'¨Ó-ðô # 4Ó0óˆEð
 (×.Ñ.¨rÓ9Ð9ùòg @ùÛPøô 7ô 
ÜØrØ.¨t¯z©z¨l¸(À4À&È
ÐSYÐRZÐZzÐ{ð  {Að  ABð  CØ"1°$·*±*°ð >@ð !@ðÜ*×5Ñ5ð÷	ð 	ð
üòH @ùÛPs=   Ã2K
 ÄJ?ÄK
 Ä2KÅ	K
 È-L ÉL%Ê?K
 Ë
ALÌLc          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   rÂ  0  sL   ø€ ÷ 
ñ 
à'ð
ñ ð
ñ ‘?Õ#ð	
ñ
 ‘S™/Ð)Õ*ð
ñ 
ñ
rK   c           	     ój   € \        R RV P                   RV RV 2R. \        P                  OR7       R# )z/attempted to trace numpy.* function as a methodrÝ  r‡  rˆ  z6Tracing numpy.* functions as methods is not supported.rs   N)r   r|   r   r¶   rŠ  s   &&&&&rH   r¼   ÚNumpyVariable.call_method0  s?   € ô 	ØEØ& t§z¡z l°(¸4¸&À
È6È(ÐSØPðÜ"×,Ñ,ð÷		
rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r   )rF   rG   s   "€rH   rI   rÂ  @  s   ø€ ÷ ñ Ñ$7ñ rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   ry   Ú NumpyVariable.as_python_constant@  r_  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rÂ  C  s   ø€ ÷ "ñ "™#ñ "rK   c                ó$  <€ \         P                  '       dm   \        V P                  \        P
                  4      '       d   V P                  # \        V P                  \        4      '       d   V P                  P                  # \        SV `%  4       # rZ   )
r   rà  r²   r|   ÚenumÚEnumMetarW   r¥   rO   rÂ  rô  s   &€rH   rÂ  ÚNumpyVariable.as_proxyC  s_   ø€ Ü××Ðä˜$Ÿ*™*¤d§m¡m×4Ò4à—z‘zÐ!Ü˜$Ÿ*™*¤d×+Ò+ð —z‘z×*Ñ*Ð*ä‰wÑÓ!Ð!rK   rÉ  )r¥   r§   rî   rï   rì  ÚtnpÚ
issubdtyperÑ  rP   rb  rO  rÀ   rÔ  rÙ  rµ   r¼   ry   rÂ  rò   ró   rô   rõ   s   @@rH   rÀ  rÀ  š  s�   ù‡ € ñð  #Ÿ~™~Ð/Ð÷ó ÷ð ÷/ð /ð ÷
1ó ð
1ð ÷
3ó ð
3÷]:ð ]:÷~
ð 
÷ ð ÷"÷ "ó "rK   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
# )ÚNullVariableiS  c                ó$   <€ V ^8„  d   QhRS[ RR/# r%  r&  )rF   rG   s   "€rH   rI   ÚNullVariable.__annotate__T  r(  rK   c                ó(   <€ \         SV `  ! R/ VB  R # rM   r*  r+  s   &,€rH   rP   ÚNullVariable.__init__T  r-  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   r÷  W  s   ø€ ÷ ñ ™#ñ rK   c                ó   € R # )rõ  rN   r\   s   &rH   r¾  ÚNullVariable.__repr__W  s   € ÙrK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   r÷  Z  s   ø€ ÷ ?ñ ? ;ð ?°4ñ ?rK   c                ó¢   € \         P                  R8  d    \        RRR. \        P                  OR7       VP                  \        R4      4       R# )é   z0cannot reconstruct NullVariable in Python < 3.11rr   zdAttempted to generate PUSH_NULL instruction in Python < 3.11; where this instruction does not exist.rs   Ú	PUSH_NULLN)rÿ  é   )ÚsysÚversion_infor   r   rÉ   rª  r   rÿ  s   &&rH   rj   ÚNullVariable.reconstructZ  sL   € Ü×Ñ˜gÔ%ÜØJØð9ðÜ&×1Ñ1ðõð 	×ÑÔ0°Ó=Ö>rK   c                ó$   <€ V ^8„  d   QhRRRS[ /# )r@   ra   r;   rD   rF  )rF   rG   s   "€rH   rI   r÷  g  s   ø€ ÷ ñ ¨+ð ¹#ñ rK   c                ó   € R # )ÚNonerN   rÿ  s   &&rH   Úreconstruct_pycodeÚNullVariable.reconstruct_pycodeg  s   € ÙrK   rN   )r¥   r§   rî   rï   rP   r¾  rj   r  rò   ró   rô   rõ   s   @@rH   rõ  rõ  S  s2   ù‡ € ÷#ó #÷ð ÷?ð ?÷÷ ð rK   rõ  c                   ó   € ] tR tRtRtRtR# )rË   ik  z"Marker used to implement delattr()rN   Nrë  rN   rK   rH   rË   rË   k  s   † Ý,rK   rË   c                   óà   a a€ ] tR tRt oRtR0]P                  mtV3R lR lt]V3R lR l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4       tV3R lR ltV3R lR ltRtVtV ;t# )ÚStringFormatVariableio  zS
Represents a call to str.format(), we delay calling format until after the graph.
Úformat_stringc                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   Ú!StringFormatVariable.__annotate__v  s   ø€ ÷ ñ ™Tñ rK   c                ó   € \         # rZ   rF  r\   s   &rH   r]   Ú StringFormatVariable.python_typev  s   € Üˆ
rK   c                óX   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[ S[3,          RS[/# )r@   r  Úsym_argsÚ
sym_kwargsrD   rž   )rF   rG   s   "€rH   rI   r  z  sH   ø€ ÷ Dñ DáðDñ ‘Õ'ðDñ ™™oÐ-Õ.ð	Dñ
 
ñDrK   c                óD  € \         ;QJ d>    R  \        P                  ! W#P                  4       4       4       F  '       d   K   RM3	  RM/! R  \        P                  ! W#P                  4       4       4       4      '       d}   \        P
                  P                  VP                  ! V Uu. uF  qDP                  4       NK  	  up/ VP                  4        UUu/ uF  w  rTWTP                  4       bK  	  uppB 4      # V ! V\        V4      \        V4      4      # u upi u uppi )c              3   óB   "  € T F  pVP                  4       x € K  	  R # 5irZ   )r$  rµ  s   & rH   r±  Ú.StringFormatVariable.create.<locals>.<genexpr>€  s#   é € ð 
áC�ð × Ñ ×"Ð"ÛCùs   ‚FT)ÚallÚ	itertoolsÚchainÚvaluesr   r4   r˜   rF   ry   rÓ   rŸ   r    )r  r  r  r  r½  r¼  s   &&&&  rH   r˜   ÚStringFormatVariable.createy  sì   € ÷ ‹3ñ 
ä—_’_ X×/@Ñ/@Ó/BÔCó
�3�3Š3ñ 
ä—_’_ X×/@Ñ/@Ó/BÔCó
÷ 
ò 
ô ×-Ñ-×4Ñ4Ø×$Ò$Ù6>Ó?±h°×*Ñ*Ö,±hÑ?ðà=G×=MÑ=MÔ=OÔPÑ=O±T°Q�q×.Ñ.Ó0Ò0Ñ=OÒPñóð ñ �=¤$ x£.´$°zÓ2BÓCÐCùò	 @ùÛPs   Â(DÃDc          
      ó\   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[ S[3,          RS[RR/# )r@   r  r  r  rC   rD   N)ro   rŸ   r3   r    r   )rF   rG   s   "€rH   rI   r  Œ  sL   ø€ ÷ %ñ %áð%ñ ‘Õ'ð%ñ ™™oÐ-Õ.ð	%ñ
 ð%ð 
ñ%rK   c                ó¦   <€ \         SV `  ! R/ VB  \        V\        4      '       g   \	        R \        V4       24      hWn        W n        W0n        R# )z!format_string must be a str, got NrN   )	rO   rP   r²   ro   rx   rW   r  r  r  )rQ   r  r  r  rC   rR   s   &&&&,€rH   rP   ÚStringFormatVariable.__init__Œ  sQ   ø€ ô 	‰ÒÑ"˜6Ò"Ü˜-¬×-Ò-Ü Ø3´D¸Ó4GÐ3HÐIóð ð +ÔØ ŒØ$ŽrK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   r  œ  s   ø€ ÷ lñ l™#ñ lrK   c                óˆ   € V P                   P                   R V P                  : RV P                  : RV P                  : R2# rø  )rR   r¥   r  r  r  r\   s   &rH   r¾  ÚStringFormatVariable.__repr__œ  sB   € Ø—.‘.×)Ñ)Ð*¨!¨D×,>Ñ,>Ñ+AÀÀDÇMÁMÑCTÐTVÐW[×WfÑWfÑViÐijÐkÐkrK   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r¢  )r3   r¬   )rF   rG   s   "€rH   rI   r     s   ø€ ÷ $ñ $™ð $±6ñ $rK   c                óf   €  V P                  4       #   \         d    T P                  4       u # i ; irZ   )ry   r§  r¨  r©  s   &rH   rª  Ú&StringFormatVariable._debug_format_argŸ  s2   € ð	$Ø×)Ñ)Ó+Ð+øÜô 	$Ø—>‘>Ó#Ò#ð	$ús   ‚ ’0¯0c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   r  ¦  s   ø€ ÷ ñ ™Cñ rK   c                óf  €  V P                   P                  ! V P                   Uu. uF  qP                  V4      NK  	  up/ V P                  P                  4        UUu/ uF  w  r#W P                  V4      bK  	  uppB p\        T4      # u upi u uppi   \         d    \        T 4      u # i ; irZ   )r  rF   r  rª  r  rÓ   r§  r¦  )rQ   r£  r�  r|   Úrendereds   &    rH   r¨  ÚStringFormatVariable.debug_repr¦  s­   € ð		Ø×)Ñ)×0Ò0Ø9=¿ºÓG¹°#×(Ñ(¨Ö-¹ÑGðð '+§o¡o×&;Ñ&;Ô&=ôá&=™
˜ð ×/Ñ/°Ó6Ò6Ù&=òñˆHô �H‹~Ðùò Hùóøô
 ô 	Ü˜“:Òð	ús-   ‚$B ¦B¿ B ÁBÁ;B ÂB ÂB0Â/B0c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   r  ³  s   ø€ ÷ Dñ D ;ð D°4ñ DrK   c                ó¨  a a€ SP                  VV 3R  lRR7       S! \        P                  ! \        S P                  4      4      4       S P
                  P                  4        UUu/ uF%  w  r#\        P                  P                  V4      VbK'  	  pppS! \        P                  ! V4      4       SP                  \        RR4      4       R# u uppi )c                  óz   <€ S P                  S P                  SP                  4      S P                  R 4      .4      # )rF   )rh   r«  r  Úcreate_load_attrro  s   €€rH   re   Ú2StringFormatVariable.reconstruct.<locals>.<lambda>µ  s7   ø€ �G×)Ñ)à×-Ñ-¨d×.@Ñ.@ÓAØ×,Ñ,¨XÓ6ðôrK   T)Úcall_function_exFN)rg   r   r   rŸ   r  r  rÓ   r4   r˜   r‰  rh   r   )rQ   ra   r¼  r½  rC   s   ff   rH   rj   Ú StringFormatVariable.reconstruct³  s°   ù€ Ø×Ñõð "ð 	ô 	
ñ 	”	×'Ò'¬¨T¯]©]Ó(;Ó<Ô=à@DÇÁ×@UÑ@UÔ@Wô
Ù@W¹¸ŒI×&Ñ&×-Ñ-¨aÓ0°!Ò3Ñ@Wð 	ñ 
ñ 	”	×+Ò+¨FÓ3Ô4Ø×ÑÔ5°d¸EÓBÖCùó	
s   Á'+C)r  r  r  )r¥   r§   rî   rï   rì  r3   rñ   r]   rÀ   r˜   rP   r¾  r½   rª  r¨  rj   rò   ró   rô   rõ   s   @@rH   r  r  o  s…   ù‡ € ñð &ÐG¨×(FÑ(FÐG€N÷ð ð ÷Dó ðD÷$%ó %÷ lð lð ÷$ó ð$÷ð ÷D÷ Dð DrK   r  c                   óx   a a€ ] tR tRt o]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# )ÚObjectVariableiÅ  c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# rQ  )r¬   r   )rF   rG   s   "€rH   rI   ÚObjectVariable.__annotate__Ê  s"   ø€ ÷ ñ ™fð ±ð ¸ñ rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ru  rV  s   &&,€rH   rP   ÚObjectVariable.__init__Ê  rw  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   ©r¬   )rF   rG   s   "€rH   rI   r4  Î  s   ø€ ÷ ñ ©fñ rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   rb  Ú+ObjectVariable.get_real_python_backed_valueÎ  r_  rK   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rU   )rW   r¬   )rF   rG   s   "€rH   rI   r4  Ñ  s   ø€ ÷ ñ ™T¡&�\ñ rK   c                ó   € \         # rZ   r8  r\   s   &rH   r]   ÚObjectVariable.python_typeÑ  s   € ÜˆrK   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# rC  rF  )rF   rG   s   "€rH   rI   r4  Ô  rG  rK   c                ó    € ^RI Hp V! WW#4      # rI  rL  rN  s   &&&& rH   rO  Ú"ObjectVariable.tp_richcompare_implÔ  rQ  rK   rÉ  )r¥   r§   rî   rï   r¬   rð   rP   rb  r]   rO  rò   ró   rô   rõ   s   @@rH   r2  r2  Å  s7   ù‡ € à€M÷ó ÷ð ÷ð ÷7÷ 7ð 7rK   r2  c                   óz   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	Rt
VtV ;t# )	ÚSentinelVariableiÞ  c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# rQ  )r[   Úsentinelr   )rF   rG   s   "€rH   rI   ÚSentinelVariable.__annotate__â  s(   ø€ ÷ 	ñ 	¡(×"3Ñ"3ð 	¹sð 	Àtñ 	rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ru  rV  s   &&,€rH   rP   ÚSentinelVariable.__init__â  s   ø€ Ü‰GÒÑ&˜vÒ&ØŽJrK   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rU   )r[   rD  )rF   rG   s   "€rH   rI   rE  æ  s   ø€ ÷ 	ñ 	±(×2CÑ2Cñ 	rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   rb  Ú-SentinelVariable.get_real_python_backed_valueæ  s   € Ø—:‘:ÐrK   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# rU   )rW   r[   rD  )rF   rG   s   "€rH   rI   rE  é  s   ø€ ÷ 	&ñ 	&¡¡h×&7Ñ&7Õ!8ñ 	&rK   c                ó   € V P                   # rZ   )rð   r\   s   &rH   r]   ÚSentinelVariable.python_typeé  s   € Ø×%Ñ%Ð%rK   rÉ  )r¥   r§   rî   rï   r[   rD  rð   rP   rb  r]   rò   ró   rô   rõ   s   @@rH   rB  rB  Þ  s3   ù‡ € à ×)Ñ)ˆ÷	ó 	÷	ð 	÷	&÷ 	&ð 	&rK   rB  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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4       tRtVtV ;t# )ÚDebuggingVariableií  zz
Represents a call to a debugging function like print(), or something
registered to config.reorderable_logging_functions.
c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# rQ  r&  )rF   rG   s   "€rH   rI   ÚDebuggingVariable.__annotate__ó  rs  rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ru  rV  s   &&,€rH   rP   ÚDebuggingVariable.__init__ó  rw  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   rQ  ÷  ó   ø€ ÷  ñ  ™Tñ  rK   c                ó,   € \        V P                  4      # rZ   ©rW   r|   r\   s   &rH   r]   ÚDebuggingVariable.python_type÷  ó   € Ü�D—J‘JÓÐrK   c                ón   <€ V ^8„  d   QhRS[ RS[S[P                  S[P                  ,          ,          /# r  )r   r
   r¾   r¿   r   )rF   rG   s   "€rH   rI   rQ  û  s3   ø€ ÷ 
ñ 
Ùð
á	‘5×%Ñ%©×(AÑ(AÕAÕ	Bñ
rK   c                óÚ   € \        V 4      ;'       dZ    \        V \        P                  \        P                  34      ;'       d(    V \
        P                  P                  P                  9   # rZ   )	r²  r²   r¾   r¿   r   r®   rˆ  r   Úreorderable_logging_functionsr"  s   &rH   Úis_reorderable_logging_functionÚ1DebuggingVariable.is_reorderable_logging_functionú  s[   € ô
 �S‹M÷ Jð JÜ˜3¤×!3Ñ!3´U×5NÑ5NÐ OÓP÷Jð Jà”u—}‘}×+Ñ+×IÑIÑIð	
rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   rQ  	  sB   ø€ ÷ -ñ -à'ð-ñ ‘?Õ#ð-ñ ‘S™/Ð)Õ*ð	-ñ
 
ñ-rK   c           	     óp  € VP                   '       d   \        P                  ! R 4      # V P                  V P                  W#4      '       g2   \        RRV P                   RV RV 2RRV P                   R2.R7       VP                  P                  V \        V4      34       \        P                  ! R 4      # )	NzJattempted to reorder a debugging function that can't actually be reorderedzfn: r‡  rˆ  z–`torch.compile` can only reorder functions that are called without keyword arguments and whose arguments are Tensors, constants, or string formatters.z#Avoid calling the logging function z" with args that are not supported.rs   )	Úexportr4   r˜   Úcan_reorder_logsr|   r   Údebug_localsrU  rŸ   r�  s   &&&&rH   rµ   ÚDebuggingVariable.call_function	  s¥   € ð �9�9ˆ9ä#×*Ò*¨4Ó0Ð0à×$Ñ$ T§Z¡Z°×>Ò>ÜØdØ˜tŸz™z˜l¨(°4°&¸
À6À(ÐKð(ð :¸$¿*¹*¸ÐEgÐhðõ	ð 	�‰×Ñ ¤d¨4£jÐ1Ô2Ü×&Ò& tÓ,Ð,rK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   rQ  	  s   ø€ ÷ 0ñ 0 ;ð 0°4ñ 0rK   c                ój   € V P                   f   \        R4      hV P                   P                  V4      # )Nz7DebugLocalVariable requires a source for reconstruction)rz   rx   rj   rÿ  s   &&rH   rj   ÚDebuggingVariable.reconstruct	  s3   € Ø�;‰;ÒÜ ØIóð ð �{‰{×&Ñ& wÓ/Ð/rK   c                óX   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[S[S[ 3,          RS[/# )r@   r  r�   rC   rD   )r   r   r    ro   r  )rF   rG   s   "€rH   rI   rQ  %	  s6   ø€ ÷ ñ ™Sð ©±­ð ¹tÁCÉÀH½~ð ÑRVñ rK   c                óÊ   € V'       d   R# \         P                  \         P                  \        3p\        P
                  ! V4      pV F  p\        WS4      '       d   K   R# 	  R# )zU
Run some additional checks for what sort of function calls can we
actually reorder.
FT)r   ÚTensorVariabler4   r  ÚpytreeÚtree_leavesr²   )r  r�   rC   Úallowed_input_typesÚ	flat_argsr£  s   &&&   rH   rb  Ú"DebuggingVariable.can_reorder_logs$	  sX   € ÷ Ùô ×$Ñ$Ü×&Ñ&Ü ð
Ðô ×&Ò& tÓ,ˆ	ÛˆCÜ˜c×7Ô7Úñ ñ rK   rÉ  )r¥   r§   rî   rï   rì  rP   r]   r½   r]  rµ   rj   rb  rò   ró   rô   rõ   s   @@rH   rO  rO  í  s_   ù‡ € ñ÷
ó ÷ ð  ð ÷
ó ð
÷-ð -÷20ð 0ð ÷ó ÷ð rK   rO  c                   óx   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V3R	 lR
 ltRt	Vt
V ;t# )ÚIgnoredFunctionVariablei=	  zD
Represents a call to an arbitrary function that should be ignored.
c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# rQ  r&  )rF   rG   s   "€rH   rI   Ú$IgnoredFunctionVariable.__annotate__B	  rs  rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ru  rV  s   &&,€rH   rP   Ú IgnoredFunctionVariable.__init__B	  rw  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   rs  F	  rU  rK   c                ó,   € \        V P                  4      # rZ   rW  r\   s   &rH   r]   Ú#IgnoredFunctionVariable.python_typeF	  rY  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rs  I	  r¤  rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   rb  Ú4IgnoredFunctionVariable.get_real_python_backed_valueI	  r_  rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   rs  L	  óB   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7rK   c                ó@   € \         P                  P                  R 4      # rZ   )r   r4   r˜   r�  s   &&&&rH   rµ   Ú%IgnoredFunctionVariable.call_functionL	  s   € ô ×)Ñ)×0Ñ0°Ó6Ð6rK   rÉ  )r¥   r§   rî   rï   rì  rP   r]   rb  rµ   rò   ró   rô   rõ   s   @@rH   rq  rq  =	  s7   ù‡ € ñ÷ó ÷ ð  ÷ð ÷7÷ 7ð 7rK   rq  c                   óx   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V3R	 lR
 ltRt	Vt
V ;t# )ÚLoggingLoggerVariableiU	  z2
Represents a call to any logging.Logger methods.
c                ó>   <€ V ^8„  d   QhRS[ P                  RS[RR/# rQ  )ÚloggingÚLoggerr   )rF   rG   s   "€rH   rI   Ú"LoggingLoggerVariable.__annotate__Z	  s&   ø€ ÷ ñ ™gŸn™nð ¹ð Àñ rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ru  rV  s   &&,€rH   rP   ÚLoggingLoggerVariable.__init__Z	  rw  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   r…  ^	  rU  rK   c                ó,   € \        V P                  4      # rZ   rW  r\   s   &rH   r]   Ú!LoggingLoggerVariable.python_type^	  rY  rK   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rU   )rƒ  r„  )rF   rG   s   "€rH   rI   r…  a	  s   ø€ ÷ ñ ©g¯n©nñ rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   rb  Ú2LoggingLoggerVariable.get_real_python_backed_valuea	  r_  rK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   r…  d	  sL   ø€ ÷ &
ñ &
à'ð&
ñ ð&
ñ ‘?Õ#ð	&
ñ
 ‘S™/Ð)Õ*ð&
ñ 
ñ&
rK   c                ó   € VP                   '       d    \        P                  P                  R 4      # \	        V P
                  VR 4      p\	        VRR 4      p\        P                  P                  P                  pWW9   g   Wg9   d    \        P                  P                  R 4      # \        P                  P                  P                  pV P                  '       d@   WX9   g   Wh9   d4   \        V\        V P                  V4      R7      p	V	P                  WV4      # \        V P
                  4      p
V
P                    RV
P"                   2p\%        RRV P
                   RV RV RV 2RR	R
V RV RV RV RV R2RV RV R2RV R2.R7       R # )Nrª   r“   r‰  z8logging.Logger method not supported for non-export caseszmethod: r‡  rˆ  z‡For non-export cases, logging.Logger methods are only supported if the logger has a source and the method is registered as reorderable.z¯If you do not need this logging side effect, add the exact method being called to `torch._dynamo.config.ignore_logging_functions`. Dynamo will skip the call and return `None`.zFor example, for `logger.zF(...)`, use `torch._dynamo.config.ignore_logging_functions.add(logger.z)`. If `z8` is defined on the logger class, add the class method `z8` to ignore this method for all instances of that class.z`Dynamo does not trace into logging.Logger method bodies, so only the method you call directly (`z>`) is checked against the ignore set. Ignoring a method that `z!` calls internally has no effect.a  If you need the log side effect to run, then you can try one of (1) create the logger outside the compiled region and add the method to `torch._dynamo.config.reorderable_logging_functions` (e.g. `torch._dynamo.config.reorderable_logging_functions.add(logger.aY  )`) so that it runs after the compiled region, as long as it is called without kwargs and its arguments are tensors, constants, or string formatters, (2) `torch._higher_order_ops.print(...)`, (3) wrap the logging call in a custom op (marked as mutable), or (4) preserve the logging contents and move the logging call outside the compiled region.rs   )ra  r   r4   r˜   r€   r|   r®   rˆ  r   Úignore_logging_functionsr\  rz   rO  r   rµ   rW   r§   rî   r   )rQ   rm   rn   r�   rC   Úmethodrº  Ú
ignore_setÚreorderablerì   Ú
logger_clsÚlogger_cls_names   &&&&&       rH   r¼   Ú!LoggingLoggerVariable.call_methodd	  sß  € ð �9�9ˆ9ä×-Ñ-×4Ñ4°TÓ:Ð:ä˜Ÿ™ T¨4Ó0ˆÜ˜6 :¨tÓ4ˆô —]‘]×)Ñ)×BÑBˆ
àÔ 8Ô#9Ü×-Ñ-×4Ñ4°TÓ:Ð:ä—m‘m×*Ñ*×HÑHˆØ�;�;ˆ;˜FÔ1°XÔ5LÜ& v´jÀÇÁÈdÓ6SÔTˆFØ×'Ñ'¨°&Ó9Ð9ä˜$Ÿ*™*Ó%ˆ
Ø'×2Ñ2Ð3°1°Z×5LÑ5LÐ4MÐNˆÜØNØ˜tŸz™z˜l¨!¨D¨6°¸$¸¸zÈ&ÈÐRðHð BØ+¨D¨6Ð1wÐx|Ðw}ð  ~Fð  GKð  FLð  LDð  ETð  DUð  UVð  W[ð  V\ð  \Tð  UØrÐswÐrxð  ywð  x|ð  w}ð  }^ð  _ð Uð  VZð  U[ð  [t	ð  u	ð	÷	
rK   rÉ  )r¥   r§   rî   rï   rì  rP   r]   rb  r¼   rò   ró   rô   rõ   s   @@rH   r�  r�  U	  s7   ù‡ € ñ÷ó ÷ ð  ÷ð ÷&
÷ &
ð &
rK   r�  c                   ó  a a€ ] tR tRt oRt ^ RIHtHt	H
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#   ] d    ]! RR/ 4      t	]! RR/ 4      t Lli ; i)ÚConstantLikeVariablei�	  z8self.value is a compile-time constant, but not a literal)ÚdtypeÚfloatingÚgenericÚinvalid_typec                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# rQ  r&  )rF   rG   s   "€rH   rI   Ú!ConstantLikeVariable.__annotate__œ	  rs  rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   ru  rV  s   &&,€rH   rP   ÚConstantLikeVariable.__init__œ	  rw  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   rž  ¡	  s   ø€ ÷ 2ñ 2™sñ 2rK   c                óœ   € \        V P                  4      pVP                  R8X  d   VP                  # VP                   RVP                   2# )z4Dynamically compute the prefix from the value's typer[   r‰  )rW   r|   r§   rî   )rQ   Úts   & rH   Ú_error_prefixÚ"ConstantLikeVariable._error_prefix 	  sD   € ô �—‘Óˆð �<‰<˜:Ô%Ø—>‘>Ð!à—,‘,�˜q §¡Ð 0Ð1Ð1rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   r&  )rF   rG   s   "€rH   rI   rž  «	  r™  rK   c                ó   € V P                   # rZ   rÉ  r\   s   &rH   ry   Ú'ConstantLikeVariable.as_python_constant«	  r_  rK   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# r•  r	  )rF   rG   s   "€rH   rI   rž  ®	  r�  rK   c                ó0   € \        V P                  4      R 3# rŸ  r   r¹  s   &&rH   r  ÚConstantLikeVariable.hash_impl®	  r¢  rK   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# rC  rF  )rF   rG   s   "€rH   rI   rž  ±	  s3   ø€ ÷ Eñ EØ-ðEØ6GðEÙMPðEà	ñErK   c                ó    € ^RI Hp V! WW#4      # )rJ  )Ú python_constant_richcompare_impl)rM  r®  )rQ   rm   rD  rE  r®  s   &&&& rH   rO  Ú(ConstantLikeVariable.tp_richcompare_impl±	  s   € õ 	Fá/°¸%ÓDÐDrK   c          
      ó\   <€ V ^8„  d   QhRRRS[ RS[S[,          RS[S[ S[3,          RS[/# rœ   rž   )rF   rG   s   "€rH   rI   rž  ¸	  sL   ø€ ÷ %
ñ %
à'ð%
ñ ð%
ñ ‘?Õ#ð	%
ñ
 ‘S™/Ð)Õ*ð%
ñ 
ñ%
rK   c                óî  € . / re V Uu. uF  qwP                  4       NK  	  ppVP                  4        UU	u/ uF  w  r‰W‰P                  4       bK  	  ppp	\        V P                  V4      ! V/ VB p
\        P                  P                  V
4      '       d   \        P                  ! W4      # \        V
\        P                  4      '       d   \        V
4      # \        R	V P                   RV RV RV R
V
 2	RV P                   RV RV
 R2. \         P"                  OR7       R# u upi u up	pi   \         d<    \        R T P                   RT RT RT R2RT P                   RT R2R.R7        ELi ; i)z0constant-like method call with non-constant argsr‰  z(*z, **rž  zAttempted to call z with non-constant args.zFEnsure that the args to the method call are constant (int, str, etc.).rs   z6constant-like method call with unsupported return typez) returned z, got unsupported return value N)ry   rÓ   rÆ   r   r¤  r€   r|   r   r4   r”   r3   r´   r²   ÚreÚMatchr˜  r   r?  )rQ   rm   rn   r�   rC   ÚcargsÚckwargsr¶  r¼  r½  rY  s   &&&&&      rH   r¼   Ú ConstantLikeVariable.call_method¸	  s‰  € ð ˜Rˆwð	á59Ó:±T°×)Ñ)Ö+±TˆEÐ:Ø=C¿\¹\¼^ÔL¹^±T°Q�q×.Ñ.Ó0Ò0¹^ˆGÑLô ˜Ÿ™ TÔ*¨EÐ=°WÑ=ˆä×%Ñ%×0Ñ0°×8Ò8Ü"×(Ò(¨Ó4Ð4Ü�fœbŸh™h×'Ò'Ü'¨Ó/Ð/äØLØ×)Ñ)Ð*¨!¨D¨6°°D°6¸¸f¸XÀ[ÐQWÐPXÐYØ,¨T×-?Ñ-?Ð,@ÀÀ$ÀÐGfÐgmÐfnÐnoÐpðÜ"×.Ñ.ð÷		
ùò' ;ùÛLøÜ"ô 	ÜØJØ×-Ñ-Ð.¨a°¨v°R¸°v¸TÀ&ÀÈÐKØ0°×1CÑ1CÐ0DÀAÀdÀVÐKcÐdà\ð÷	ð ð	ús-   …D. ‰D#¡D. ¶D(ÁD. Ä#D. Ä.AE4Å3E4c                ó*   <€ V ^8„  d   QhRRRS[ RS[/# rŽ   r�   )rF   rG   s   "€rH   rI   rž  ß	  s*   ø€ ÷ Añ AØ-ðAÙ58ðAá	ñArK   c                óà  € \        V P                  V4      p\        W0P                  4      '       d   \	        V4      p\        W0P
                  4      '       d   \        V4      # \        V\        4      '       d'   \        W0P                  4      '       d   \        V4      # \        P                  P                  V4      '       d   \        P                  ! W4      # \!        W\        V4      R 7      # )r‘   )r€   r|   r²   Únp_floatingÚfloatÚnp_dtypeÚNumpyDTypeVariablerW   r{   Ú
np_genericrÀ  r   r4   r”   r3   r´   r•   )rQ   rm   rn   rY  s   &&& rH   r™   Ú%ConstantLikeVariable.tp_getattro_implß	  s§   € ô ˜Ÿ™ TÓ*ˆÜ�f×.Ñ.×/Ò/Ü˜6“]ˆFÜ�fŸm™m×,Ò,Ü% fÓ-Ð-Ü�fœd×#Ò#¬
°6¿?¹?×(KÒ(Kä  Ó(Ð(Ü×%Ñ%×0Ñ0°×8Ò8Ü"×(Ò(¨Ó4Ð4Ü˜t´4¸³<Ô@Ð@rK   rÉ  rN   )r¥   r§   rî   rï   rì  Únumpyr™  r»  rš  r¹  r›  r½  ÚImportErrorrW   rP   Úpropertyr¤  ry   r  rO  r¼   r™   rò   ró   rô   rõ   s   @@rH   r˜  r˜  �	  s    ù‡ € ÙBð
0÷	
ñ 	
÷ó ð ÷2ó ð2÷ð ÷'ð '÷Eð E÷%
ð %
÷NA÷ Að AøðS ô 0á˜>¨2¨rÓ2ˆá˜¨¨BÓ/Šð	0ús   Ž
A' Á'BÂBr˜  c                   ó2   a € ] tR tRt o V 3R lR ltRtV tR# )r¼  iï	  c                ó    <€ V ^8„  d   QhRS[ /# rU   rF  )rF   rG   s   "€rH   rI   ÚNumpyDTypeVariable.__annotate__ð	  s   ø€ ÷ (ñ (™#ñ (rK   c                óB   € V P                   P                  P                  # )a  Similar to how numpy dtype descriptors (e.g. np.float32 ) are handled by NumpyVariable:

np.dtype() objects are serialized as strings, torch._numpy wrappers will normalize to the torch dtype.
This also handles unsupported things nicely (i.e. structured arrays and object arrays).
)r|   rW   r¥   r\   s   &rH   rÂ  ÚNumpyDTypeVariable.as_proxyð	  s   € ð �z‰z�‰×'Ñ'Ð'rK   rN   N)r¥   r§   rî   rï   rÂ  rò   ró   r  s   @rH   r¼  r¼  ï	  s   ø‡ € ÷(ö (rK   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V 3R	 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RtVtV ;t# )ÚContextVarVariablei 
  z¬Wraps a contextvars.ContextVar for Dynamo tracing.

.get() is resolved at trace time with a guard that re-checks at cache time.
.set() and .reset() graph-break in Phase 1.
Úcv_objc                óN   <€ V ^8„  d   QhRS[ P                  S[,          RS[RR/# )r@   rÉ  rC   rD   N)ÚcontextvarsÚ
ContextVarr   )rF   rG   s   "€rH   rI   ÚContextVarVariable.__annotate__
  s-   ø€ ÷ ñ ™{×5Ñ5±cÕ:ð Ácð Èdñ rK   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # rM   )rO   rP   rÉ  )rQ   rÉ  rC   rR   s   &&,€rH   rP   ÚContextVarVariable.__init__
  r@  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   rÍ  
  r   rK   c                ó"   € \         P                  # rZ   )rË  rÌ  r\   s   &rH   r]   ÚContextVarVariable.python_type
  s   € Ü×%Ñ%Ð%rK   c          
      ó0   <€ V ^8„  d   QhRRRS[ RRRRRR	/# )
r@   rm   r<   rn   r�   úlist[VariableTracker]rC   údict[str, VariableTracker]rD   r3   rF  )rF   rG   s   "€rH   rI   rÍ  
  s=   ø€ ÷ ;ñ ;à'ð;ñ ð;ð &ð	;ð
 -ð;ð 
ñ;rK   c           	     óæ   <€ VR 8X  d   V P                  WV4      # VR	9   dB   \        RRV P                  P                   RV R2RV RV R2. \        P
                  OR7       \        SV `  WW44      # )
r„   z!ContextVar mutation not supportedúContextVar('z').z()zContextVar.z8() is not yet supported inside torch.compile. Move the .z$() call outside the compiled region.rs   )rk  Úreset)Ú_handle_getr   rÉ  rn   r   r?  rO   r¼   rU  s   &&&&&€rH   r¼   ÚContextVarVariable.call_method
  s�   ø€ ð �5Œ=Ø×#Ñ# B¨fÓ5Ð5ØÐ%Ô%ÜØ;Ø& t§{¡{×'7Ñ'7Ð&8¸¸D¸6ÀÐDà! $ ð (0Ø04¨vð 6'ð(ð 7Ô)×5Ñ5Ð6õ	ô ‰wÑ" 2¨TÓ:Ð:rK   c                ó*   <€ V ^8„  d   QhRRRRRRRR/# )	r@   rm   r<   r�   rÔ  rC   rÕ  rD   r3   rN   )rF   rG   s   "€rH   rI   rÍ  )
  s9   ø€ ÷ /Eñ /Eà'ð/Eð &ð/Eð -ð	/Eð
 
ñ/ErK   c                óh  € ^RI Hp ^RIHp ^RIHp V'       d   \        \        VR.R7       \        V4      ^8”  d    \        \        VR\        V4       2.R7       V'       d
   V^ ,          MRpVRJpRp	V'       d[   VP                  4       p	W–J g   V! V	4      '       g8   \        RR	V P                  P                   R
2R. \        P                  OR7       V P                  WV	4      p
V P                   '       g   \!        R4      hV! V P                   VV	R7      p\"        P$                  ! WVR7      # )r@   )ÚContextVarGetSource)Úis_safe_constant)r2   z+ContextVar.get() takes no keyword argumentsr’  z%get expected at most 1 argument, got Nz*ContextVar.get() with non-constant defaultr×  z').get(...)zWContextVar.get() default argument must be a compile-time constant inside torch.compile.rs   z/ContextVarVariable requires a source for .get())ÚbaseÚhas_defaultÚdefault_valuer“   )rz   rÝ  r±  rÞ  rß  r2   r   r8  r‚   rb  r   rÉ  rn   r   r?  Ú
_get_valuerx   r3   r´   )rQ   rm   r�   rC   rÝ  rÞ  r2   Údefault_varrà  rá  r|   Úvalue_sources   &&&&        rH   rÙ  ÚContextVarVariable._handle_get)
  s  € õ 	1Ý,Ý(çÜ$Ü˜2Ð%RÐ$Sõô ˆt‹9�qŒ=Ü$ÜØØ=¼cÀ$»i¸[ÐIÐJõ÷ "&�d˜1–g¨4ˆØ!¨Ð-ˆØˆçØ'×DÑDÓFˆMØÓ.Ñ6FÀ}×6UÒ6UÜØHØ*¨4¯;©;×+;Ñ+;Ð*<¸KÐHðFð ;Ô-×9Ñ9Ð:õð —‘ °Ó?ˆà�{�{ˆ{Ü Ð!RÓSÐSÙ*Ø—‘Ø#Ø'ô
ˆô
 ×$Ò$ R°|ÔDÐDrK   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[/# )r@   rm   r<   rà  rá  rD   )r  r   )rF   rG   s   "€rH   rI   rÍ  Z
  s9   ø€ ÷ Qñ Qà'ðQñ ðQñ ð	Qñ
 
ñQrK   c                óÞ   € V'       d   V P                   P                  V4      #  V P                   P                  4       #   \         d#    \        \        YP                   : .R 7        R# i ; i)r’  N)rÉ  r„   ÚLookupErrorr   )rQ   rm   rà  rá  s   &&&&rH   râ  ÚContextVarVariable._get_valueZ
  sX   € ÷ Ø—;‘;—?‘? =Ó1Ð1ð	QØ—;‘;—?‘?Ó$Ð$øÜô 	QÜ$¤[°"¿{¹{¹oÐ;O×PÐPð	Qús   ¥? ¿)A,Á+A,c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r@   rm   r<   rn   rD   r3   rF  )rF   rG   s   "€rH   rI   rÍ  g
  s%   ø€ ÷ 2ñ 2Ø-ð2Ù58ð2à	ñ2rK   c                ó„   <€ VR 8X  d+   \         P                  ! V P                  P                  4      # \        SV `  W4      # rá  )r4   r˜   rÉ  rn   rO   r™   r@  s   &&&€rH   r™   Ú#ContextVarVariable.tp_getattro_implg
  s7   ø€ ð �6Œ>Ü#×*Ò*¨4¯;©;×+;Ñ+;Ó<Ð<Ü‰wÑ'¨Ó1Ð1rK   )rÉ  )r¥   r§   rî   rï   rì  r3   rñ   rP   r]   r¼   rÙ  râ  r™   rò   ró   rô   rõ   s   @@rH   rÈ  rÈ   
  sj   ù‡ € ñð 	ðà	×	'Ñ	'ð€N÷
ó ÷&ð &÷;ó ;÷,/Eð /E÷bQð Q÷2÷ 2ó 2rK   rÈ  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
# )
ÚRandomClassVariableio
  zrandom.Randomc                ó$   <€ V ^8„  d   QhRS[ RR/# r%  r&  )rF   rG   s   "€rH   rI   Ú RandomClassVariable.__annotate__r
  r(  rK   c                ó(   <€ \         SV `  ! R/ VB  R # rM   r*  r+  s   &,€rH   rP   ÚRandomClassVariable.__init__r
  r-  rK   c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   rð  u
  rB  rK   c                ó   € \         # rZ   rV   r\   s   &rH   r]   ÚRandomClassVariable.python_typeu
  rE  rK   c                óT   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RR/# )r@   rm   r<   r�   rC   rD   ÚRandomVariablerö  )rF   rG   s   "€rH   rI   rð  x
  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ð
 
ñ
rK   c                ó>  € \        V4      ^8”  g	   V'       d&   \        RRV RV 2R. \        P                  OR7       \        V4      ^ 8X  d    \        P
                  P                  R4      MV^ ,          p\        V\        P                  P                  4       R7      # )rJ  z'random.Random() with improper argumentszargs: rˆ  z=random.Random() with > 1 arg or with kwargs is not supported.rs   N)Úseedr³   )
r‚   r   r   râ  r   r4   r˜   r÷  rß  ÚValueMutationNew)rQ   rm   r�   rC   rù  s   &&&& rH   rµ   Ú!RandomClassVariable.call_functionx
  sŠ   € ô ˆt‹9�qŒ=ŸFÜØAØ    j°°Ð9Ø[ðÜ&×1Ñ1ðõ	ô ;>¸d»)Àq¼.Œy×)Ñ)×0Ñ0°Ô6ÈdÐSTÍgˆÜØ¤Y§^¡^×%DÑ%DÓ%Fô
ð 	
rK   rN   )r¥   r§   rî   rï   rì  rP   r]   rµ   rò   ró   rô   rõ   s   @@rH   rî  rî  o
  s+   ù‡ € Ù÷#ó #÷ð ÷
÷ 
ð 
rK   rî  c                   óf  a a€ ] tR tRt oRt]P                  tR0]P                  mt	0 R0mt
R1V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4       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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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      R)]! ]4      R*]! ]4      R+]! ]4      R,]! ]4      R]! ]4      R]! ]4      R]! ]4      R]! ]4      /	tV3R- lR. ltR/t Vt!V ;t"# )2r÷  i�
  zêrandom.Random()

Implemented by wrapping a VariableTracker around a random.Random object.
The supported methods for the random.Random object cannot be overridden.
Assumes that random objects behave the same given a set seed or state.
ÚrandomÚrandintÚ	randrangeÚuniformc                ó`   <€ V ^8„  d   QhRS[ P                  R,          RS[R,          RS[RR/# )r@   ÚrandNrù  rC   rD   )rý  r   r3   r   )rF   rG   s   "€rH   rI   ÚRandomVariable.__annotate__£
  sA   ø€ ÷ .ñ .á�m‰m˜dÕ"ð.ñ  Õ$ð.ñ ð	.ð
 
ñ.rK   c                ó`  <€ \         SV `  ! R/ VB  Veh   V P                  V4      '       g   \        R4      h\        P
                  ! 4       V n        V P                  P                  VP                  4       4       R # Ve   VP                  4       MR p\        P
                  ! V4      V n        R # )Nz8Unsupported random.Random object with overridden methodsrN   )	rO   rP   Úis_supported_random_objrx   rý  r   ÚsetstateÚgetstatery   )rQ   r  rù  rC   rR   s   &&&,€rH   rP   ÚRandomVariable.__init__£
  sˆ   ø€ ô 	‰ÒÑ"˜6Ò"ØÒØ×/Ñ/°×5Ò5Ü$ØNóð ô !Ÿ-š-›/ˆDŒKØ�K‰K× Ñ  §¡£Ö1à04Ò0@�4×*Ñ*Ô,ÀdˆDÜ Ÿ-š-¨Ó-ˆDŽKrK   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# rU   )rW   rý  r   )rF   rG   s   "€rH   rI   r  µ
  s   ø€ ÷ ñ ™T¡&§-¡-Õ0ñ rK   c                ó"   € \         P                  # rZ   ©rý  r   r\   s   &rH   r]   ÚRandomVariable.python_typeµ
  s   € Ü�}‰}ÐrK   c                ó4   <€ V ^8„  d   QhRS[ P                  /# rU   r  )rF   rG   s   "€rH   rI   r  ¸
  s   ø€ ÷ ñ ¡F§M¡Mñ rK   c                ó   € V P                   # rZ   ©rý  r\   s   &rH   ry   Ú!RandomVariable.as_python_constant¸
  s   € Ø�{‰{ÐrK   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r@   r5  rD   )r   r  )rF   rG   s   "€rH   rI   r  ¼
  s   ø€ ÷ ñ ¡Vð ±ñ rK   c                óÐ  € \        V 4      \        P                  Jd   R # \        P                  ! \
        P                  R4       F�  p\        W4      '       g    R # \        W4      p\        P                  ! V4      '       d4   V\        \        P                  V4      P                  V 4      8w  d    R # Kq  \        VRR4      \        \        P                  V4      Jg   Kœ   R # 	  R# )Frª   NT)rù  r  r  )rW   rý  r   r  r  r÷  Ú_supported_fn_namesr·   r€   rw  Ú	isbuiltinr›  )r5  rn   Úmeths   &  rH   r  Ú&RandomVariable.is_supported_random_obj»
  s­   € ä�‹9œFŸM™MÓ)ÙÜ—O’OÜ×.Ñ.Ð0Pö
ˆDô ˜3×%Ò%ÚÜ˜3Ó%ˆDÜ× Ò  ×&Ò&àœ7¤6§=¡=°$Ó7×?Ñ?ÀÓDÔDÚ ñ Eô ˜4 ¨TÓ2¼'Ä&Ç-Á-ÐQUÓ:VÕVÚ ñ
ñ rK   c                ó`   <€ V ^8„  d   QhRS[ S[S[ S[R3,          S[R,          3,          RR/# ©r@   rŒ  .NrD   )rp   r
  rº  )rF   rG   s   "€rH   rI   r  Ï
  s3   ø€ ÷ ñ ™5¡¡e©C°¨H¥o±u¸tµ|Ð!CÕDð Èñ rK   c                ój  € \        V 4      \        Jd   \        R \        V 4       24      h\        V ^ ,          4      \        Jd   \        R\        V ^ ,          4       24      h\        V ^,          4      \        Jd   \        R\        V ^,          4       24      h\        ;QJ d#    R V ^,           4       F  '       d   K   RM	  RM! R V ^,           4       4      '       g   \        R4      hV ^,          e;   \        V ^,          4      \
        Jd   \        R\        V ^,          4       24      hR# R# )	zstate must be a tuple, got zstate[0] must be an int, got zstate[1] must be a tuple, got c              3   óD   "  € T F  p\        V4      \        J x € K  	  R # 5irZ   )rW   r
  rµ  s   & rH   r±  Ú-RandomVariable.check_state.<locals>.<genexpr>Ö
  s   é € Ð4©8 a”4˜“7œc•>«8ùs   ‚ FTz$all elements of state[1] must be intNz$state[2] must be None or float, got )rW   rp   rx   r
  r  rº  )rŒ  s   &rH   Úcheck_stateÚRandomVariable.check_stateÎ
  sô   € ä�‹;œeÓ#Ü Ð#>¼tÀE»{¸mÐ!LÓMÐMÜ��a•‹>¤Ó$Ü Ð#@ÄÀeÈAÅhÃÐ@PÐ!QÓRÐRÜ��a•‹>¤Ó&Ü Ð#AÄ$ÀuÈQÅxÃ.ÐAQÐ!RÓSÐSß‹sÑ4¨5°®8Ó4�s�sŠsÑ4¨5°®8Ó4×4Ò4Ü Ð!GÓHÐHØ��8Ò¤D¨¨q­£N¼%Ó$?Ü Ø6´t¸EÀ!½H³~Ð6FÐGóð ñ %@ÑrK   c                ób   <€ V ^8„  d   QhRS[ S[S[ S[R3,          S[R,          3,          RS[/# r  )rp   r
  rº  r   )rF   rG   s   "€rH   rI   r  Þ
  s3   ø€ ÷ 

ñ 

™%¡¡U©3°¨8¥_±e¸dµlÐ BÕCð 

Éñ 

rK   c                óˆ  € \         P                  V 4       \        P                  ! \        P                  P                  V ^ ,          4      \        P                  ! V ^,           Uu. uF"  p\        P                  P                  V4      NK$  	  up4      \        P                  P                  V ^,          4      .4      # u upi )r—  )r÷  r  r   r   r4   r˜   )rŒ  r¶  s   & rH   Ú
wrap_stateÚRandomVariable.wrap_stateÝ
  s•   € ä×"Ñ" 5Ô)Ü×&Ò&ä×*Ñ*×1Ñ1°%¸µ(Ó;Ü×'Ò'ØCHÈÆ8ÓLÁ8¸a”Y×/Ñ/×6Ñ6°qÖ9Á8ÑLóô ×*Ñ*×1Ñ1°%¸µ(Ó;ðó
ð 	
ùò Ms   Á&(B?c                ób   <€ V ^8„  d   QhRS[ RS[S[S[S[R3,          S[R,          3,          /# )r@   rŒ  rD   .N)r3   rp   r
  rº  )rF   rG   s   "€rH   rI   r  ë
  s5   ø€ ÷ ñ Ùðá	‰s‘E™#˜s˜(•O¡U¨T¥\Ð1Õ	2ñrK   c                óP   € V P                  4       p\        P                  V4       V# rZ   )ry   r÷  r  )rŒ  Ú	state_objs   & rH   Úunwrap_stateÚRandomVariable.unwrap_stateê
  s&   € ð ×,Ñ,Ó.ˆ	Ü×"Ñ" 9Ô-ØÐrK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r  ò
  sB   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7rK   c                ór  € VP                   P                  P                  V 4       V P                  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                  R 4      # u upi u uppi rZ   )
rÇ   r±   Úmutationrý  rù  ry   rÓ   r   r4   r˜   )rQ   rm   r�   rC   r¶  r�  r5  s   &&&&   rH   rù  ÚRandomVariable.seedò
  s“   € ð 	�	‰	×Ñ×'Ñ'¨Ô-Ø�‰×ÒÙ.2Ó3©d¨×"Ñ"Ö$©dÑ3ð	
à=C¿\¹\¼^ÔL¹^±°ˆs×*Ñ*Ó,Ò,¹^ÒLò	
ô ×)Ñ)×0Ñ0°Ó6Ð6ùò 4ùÛLs   Á B.Á.B3c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r  ÿ
  r}  rK   c                óT   € V P                  V P                  P                  4       4      # rZ   )r   rý  r  r�  s   &&&&rH   r  ÚRandomVariable.getstateÿ
  s    € ð �‰˜tŸ{™{×3Ñ3Ó5Ó6Ð6rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r    sB   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7rK   c                óì   € VP                   P                  P                  V 4       V P                  P	                  V P                  V^ ,          4      4       \        P                  P                  R4      # rÄ  )	rÇ   r±   r)  rý  r  r%  r   r4   r˜   r�  s   &&&&rH   r  ÚRandomVariable.setstate  sT   € ð 	�	‰	×Ñ×'Ñ'¨Ô-Ø�‰×Ñ˜T×.Ñ.¨t°A­wÓ7Ô8Ü×)Ñ)×0Ñ0°Ó6Ð6rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r    sB   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7rK   c                ór  € R p\        W\        V4      ^^4       \        WV4       V^ ,          P                  4       pVP                  P
                  P                  V 4       \        VR4      '       g   \        R4      h\        \        \        VP                  4      4      4      pV P                  P                  V4       VP                  P
                  P                  V4       V Uu. uF  quP                  V,          NK  	  upVP                  R&   \        P                  P!                  R4      # u upi )ÚshufflerÓ   z4shuffle only supports ListVariable and TupleVariable:NNNN)r%   r‚   r)   r©   rÇ   r±   r)  r·   rx   rŸ   r�   rÓ   rý  r3  r   r4   r˜   )rQ   rm   r�   rC   rn   ÚseqÚpermrZ  s   &&&&    rH   r3  ÚRandomVariable.shuffle  sé   € ð ˆÜ˜¤3 t£9¨a°Ô3Ü�B˜fÔ%Ø�1�g�o‰oÓˆØ
�	‰	×Ñ×'Ñ'¨Ô-ô �s˜G×$Ò$Ü Ð!WÓXÐXÜ”Eœ#˜cŸi™i›.Ó)Ó*ˆØ�‰×Ñ˜DÔ!Ø
�	‰	×Ñ×'Ñ'¨Ô,Ù.2Ó3©d¨Ÿ	™	 !Ÿ˜©dÑ3ˆ�	‰	�!‰Ü×)Ñ)×0Ñ0°Ó6Ð6ùò 4s   Ã*D4c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r  '  sB   ø€ ÷ 
ñ 
à'ð
ñ ‘?Õ#ð
ñ ‘S™/Ð)Õ*ð	
ñ
 
ñ
rK   c                óT  € R p\        W\        V4      ^^4       \        WV4       \        W^ ,          4      pV^,          P	                  4       p\        V\        4      '       d   V^ 8  g   V\        V4      8”  d   \        VR4       VP                  P                  P                  V 4       V P                  P                  \        \        V4      4      V4      p\        P                  ! V Uu. uF  q…V,          NK  	  up\        P                   P#                  4       R7      # u upi )Úsamplez,Sample larger than population or is negative)r³   )r%   r‚   r)   r,   ry   r²   r
  r   rÇ   r±   r)  rý  r9  r�   r   ÚListVariablerß  rú  )	rQ   rm   r�   rC   rn   Úelemsr¼  ÚindicesrZ  s	   &&&&     rH   r9  ÚRandomVariable.sample'  sç   € ð ˆÜ˜¤3 t£9¨a°Ô3Ü�B˜fÔ%Ü ¨¥GÓ,ˆØ��G×&Ñ&Ó(ˆÜ˜!œS×!Ò! Q¨¤U¨a´#°e³*¬nÜØØ>ôð 	�	‰	×Ñ×'Ñ'¨Ô-ð —+‘+×$Ñ$¤U¬3¨u«:Ó%6¸Ó:ˆÜ×%Ò%Ù&Ó'™w˜!�1�XˆX™wÑ'Ü#Ÿ.™.×9Ñ9Ó;ô
ð 	
ùÚ's   Ã/D%c                ó˜  aa	€ VP                   P                  P                  V 4       V P                  P	                  4       o	R  VV	3R llp\        V P                  S4      ! V Uu. uF  qfP                  4       NK  	  up/ VP                  4        UUu/ uF  w  rxWxP                  4       bK  	  uppB  \        WW44      # u upi u uppi )c                ó<   € V ^8„  d   QhR\         R\         R\         /# r2  r&  )rF   s   "rH   rI   Ú1RandomVariable._call_random.<locals>.__annotate__E  s!   € ÷ 	5ñ 	5¤Cð 	5´3ð 	5¼3ñ 	5rK   c                  ót   <€ \         P                  ! 4       pVP                  S4       \        VS4      ! V / VB # rZ   )rý  r   r  r€   )r�   rC   Úrrn   rŒ  s   *, €€rH   Úcall_random_methÚ5RandomVariable._call_random.<locals>.call_random_methE  s1   ø€ Ü—’“ˆAØ�J‰J�uÔÜ˜1˜dÔ# TÐ4¨VÑ4Ð4rK   )	rÇ   r±   r)  rý  r  r€   ry   rÓ   r8   )
rQ   rm   rn   r�   rC   rC  r¶  r¼  r½  rŒ  s
   &&f&&    @rH   Ú_call_randomÚRandomVariable._call_randomA  s§   ù€ Ø
�	‰	×Ñ×'Ñ'¨Ô-Ø—‘×$Ñ$Ó&ˆ÷	5ñ 	5ô 	�—‘˜TÔ"Ù.2Ó3©d¨×"Ñ"Ö$©dÑ3ð	
à5;·\±\´^ÔD±^©T¨Qˆq×&Ñ&Ó(Ò(±^ÒDò	
ô
 ˜b°DÓAÐAùò	 4ùÛDs   Á&CÂCc                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r  S  sB   ø€ ÷ =ñ =à'ð=ñ ‘?Õ#ð=ñ ‘S™/Ð)Õ*ð	=ñ
 
ñ=rK   c                ó(   € V P                  VR W#4      # r  ©rE  r�  s   &&&&rH   Ú_randomÚRandomVariable._randomS  s   € ð × Ñ   X¨tÓ<Ð<rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r  [  óB   ø€ ÷ >ñ >à'ð>ñ ‘?Õ#ð>ñ ‘S™/Ð)Õ*ð	>ñ
 
ñ>rK   c                ó(   € V P                  VR W#4      # )rþ  rI  r�  s   &&&&rH   Ú_randintÚRandomVariable._randint[  ó   € ð × Ñ   Y°Ó=Ð=rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r  c  sH   ø€ ÷ @ñ @à'ð@ñ ‘?Õ#ð@ñ ‘S™/Ð)Õ*ð	@ñ
 
ñ@rK   c                ó(   € V P                  VR W#4      # )rÿ  rI  r�  s   &&&&rH   Ú
_randrangeÚRandomVariable._randrangec  s   € ð × Ñ   [°$Ó?Ð?rK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   r  k  rM  rK   c                ó(   € V P                  VR W#4      # )r   rI  r�  s   &&&&rH   Ú_uniformÚRandomVariable._uniformk  rQ  rK   rù  r  r  r3  r9  c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   r    s   ø€ ÷ ñ  ;ð °4ñ rK   c                ó:  a€ SP                  V3R  l4       SP                  ^ R4       SP                  4        SP                  R4       S! V P	                  V P
                  P                  4       4      4       SP                  ^R4       SP                  4        R# )c                  ón   <€ S P                  S P                  \        4      S P                  R 4      .4      # r   )rh   Úcreate_load_python_modulerý  r-  ©ra   s   €rH   re   Ú,RandomVariable.reconstruct.<locals>.<lambda>�  s1   ø€ �G×)Ñ)à×5Ñ5´fÓ=Ø×,Ñ,¨XÓ6ðôrK   Fr  TN)rg   rµ   rt  rj  r   rý  r  Úpop_toprÿ  s   &frH   rj   ÚRandomVariable.reconstruct  sz   ø€ Ø×Ñôô	
ð 	×Ñ˜a Ô'ð 	�‰ÔØ×Ñ˜*Ô%Ù�—‘ §¡× 4Ñ 4Ó 6Ó7Ô8Ø×Ñ˜a Ô&Ø�‰ÖrK   r  >   rý  rþ  r   rÿ  rù  )#r¥   r§   rî   rï   rì  rý  r   rð   r3   rñ   r  rP   r]   ry   r½   r  r  r   r%  rù  r  r  r3  r9  rE  rJ  rO  rT  rX  r1   Ú
tp_methodsrj   rò   ró   rô   rõ   s   @@rH   r÷  r÷  �
  su  ù‡ € ñð —M‘M€Mð 	ðà	×	'Ñ	'ð€Nò
Ð÷.õ .÷$ð ÷ð ð ÷ó ðð$ ÷ó ðð ÷

ó ð

ð ÷ó ð÷7ð 7÷7ð 7÷7ð 7÷7ð 7÷,
ð 
ò4B÷$=ð =÷>ð >÷@ð @÷>ð >ð 	‘�t“Ø‘F˜8Ó$Ø‘F˜8Ó$Ø‘6˜'“?Ø‘&˜“.Ø‘&˜“/Ø‘6˜(Ó#Ø‘V˜JÓ'Ø‘6˜(Ó#ð
€J÷÷ ð rK   r÷  c                   ó´   a a€ ] tR tRt oV3R lR lt]V3R lR l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	V3R lR lt
V3R lR ltRtVtV ;t# )ÚWeakRefVariablei’  c                ó    <€ V ^8„  d   QhRS[ /# rU   rV   )rF   rG   s   "€rH   rI   ÚWeakRefVariable.__annotate__“  s   ø€ ÷ ñ ™Tñ rK   c                ó"   € \         P                  # rZ   ©ÚweakrefÚrefr\   s   &rH   r]   ÚWeakRefVariable.python_type“  s   € Ü�{‰{ÐrK   c          
      óf   <€ V ^8„  d   QhRRRS[ P                  S[,          RS[R,          RS[RR/# )	r@   rm   r<   Úweakref_valuerz   NÚoptionsrD   rd  )ri  ÚReferenceTyper   r   )rF   rG   s   "€rH   rI   rf  ˜  sQ   ø€ ÷ Dñ DØ'ðDá×,Ñ,©SÕ1ðDñ ˜•ðDñ ð	Dð
 
ñDrK   c                ó  € Vf   \        R4      hVP                  pT;'       d    \        VR4      p\        P                  ! WV4      pV! 4       pT;'       d    \        V4      p\        P                  ! WV4      pW#R&   \        W†3/ VB # )Nz'WeakRefVariable.build requires a sourceÚ__callback__rz   )rx   rq  r   r3   r´   r$   rd  )	rm   rm  rz   rn  ÚcallbackÚcallback_sourceÚcallback_vtÚreferentÚreferent_vts	   &&&,     rH   r´   ÚWeakRefVariable.build–  sŠ   € ð Š>Ü Ð!JÓKÐKØ ×-Ñ-ˆØ ×GÐG¤Z°¸Ó%GˆÜ%×+Ò+¨B¸/ÓJˆÙ “?ˆØ×5Ð5Ô-¨fÓ5ˆÜ%×+Ò+¨B¸&ÓAˆØ"�ÑÜ˜{ÑC¸7ÑCÐCrK   c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[RR/# )r@   rv  rt  rn  rD   NrE   )rF   rG   s   "€rH   rI   rf  ©  s-   ø€ ÷ 'ñ 'Ù*ð'Ù9Hð'ÙUXð'à	ñ'rK   c                ó@   <€ \         SV `  ! R/ VB  Wn        W n        R # rM   )rO   rP   rv  rt  )rQ   rv  rt  rn  rR   s   &&&,€rH   rP   ÚWeakRefVariable.__init__©  s!   ø€ ô 	‰ÒÑ#˜7Ò#Ø&ÔØ&ÖrK   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rõ  rö  )rF   rG   s   "€rH   rI   rf  °  sB   ø€ ÷  ñ  à'ð ñ ‘?Õ#ð ñ ‘S™/Ð)Õ*ð	 ñ
 
ñ rK   c                ó   € V P                   # rZ   )rv  r�  s   &&&&rH   rµ   ÚWeakRefVariable.call_function°  s   € ð ×ÑÐrK   c                ó"   <€ V ^8„  d   QhRRRR/# r`   rN   )rF   rG   s   "€rH   rI   rf  ¸  s   ø€ ÷ >ñ > ;ð >°4ñ >rK   c                ó°   a€ SP                  V3R  l4       S! V P                  4       S! V P                  4       SP                  \	        ^R4      4       R# )c                  ó(   <€ S P                  R R4      # rh  )rn  r^  s   €rH   re   Ú-WeakRefVariable.reconstruct.<locals>.<lambda>¹  s   ø€  g×&>Ñ&>¸yÈ%Ô&PrK   FN)rg   rv  rt  rh   r   rÿ  s   &frH   rj   ÚWeakRefVariable.reconstruct¸  sD   ø€ Ø×ÑÔPÔQÙ�× Ñ Ô!Ù�× Ñ Ô!Ø×ÑÔ2°1°eÓ<Ö=rK   c                ó:   <€ V ^8„  d   QhRRRS[ S[S[3,          /# r•  r	  )rF   rG   s   "€rH   rI   rf  ¾  s%   ø€ ÷ 7ñ 7Ð7ð 7¹EÁ#ÁtÀ)Õ<Lñ 7rK   c                ó2   € ^RI Hp V! WP                  4      # )rJ  )Úgeneric_hash_impl)rM  r…  rv  )rQ   rm   r…  s   && rH   r  ÚWeakRefVariable.hash_impl¾  s   € õ 	7á  ×%5Ñ%5Ó6Ð6rK   c                ó,   <€ V ^8„  d   QhRRRRRS[ RR/# rC  rF  )rF   rG   s   "€rH   rI   rf  Å  s3   ø€ ÷ 
Pñ 
PØ-ð
PØ6Gð
PÙMPð
Pà	ñ
PrK   c                ó¸   € ^RI Hp VR9  g   \        V\        4      '       g   \        P
                  ! \        4      # V! WP                  VP                  V4      # )rJ  r"  r�  )rM  r#  r²   rd  r4   r˜   r‚  rv  )rQ   rm   rD  rE  r#  s   &&&& rH   rO  Ú#WeakRefVariable.tp_richcompare_implÅ  sJ   € õ 	9ð
 Ð)Ô)´¸EÄ?×1SÒ1SÜ#×*Ò*¬>Ó:Ð:Ù" 2×'7Ñ'7¸×9JÑ9JÈBÓOÐOrK   )rt  rv  )r¥   r§   rî   rï   r]   r½   r´   rP   rµ   rj   r  rO  rò   ró   rô   rõ   s   @@rH   rd  rd  ’  s_   ù‡ € ÷ð ð ÷Dó ðD÷"'ó '÷ ð  ÷>ð >÷7ð 7÷
P÷ 
Pð 
PrK   rd  )rÿ  é   )’rì  r[   rË  r¦  rï  r¼  rw  r  rƒ  rý  r²  r  rú   r¾   ri  Úcollections.abcr   r   r   r   Útypingr   r	   r
   r   Útorch._Cr®   Útorch._numpyrÏ  rò  Útorch.utils._pytreer±  Ú_pytreerk  Útorch._dynamo.variables.baser   Útorch._dynamo.variables.listsr   Útorch._guardsr   rr   r   r   r   r   Úbytecode_transformationr   r   r   Úcreate_parameter_opr   rá   r   r   r   r   Úguardsr   r   Úmutation_guardr   rz   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   rß  r-   r.   r/   r0   r1   r2   r3   r  r4   Ú	functionsr5   r6   rM  r7   Úuser_definedr8   r9   r:   Útorch._dynamo.codegenr;   Útorch._dynamo.symbolic_convertr<   r>   r÷   r  rX  rÀ  rÌ  rß  ræ  rê  rî  rû  r  r#  r8  r;  Ú	dataclassr¡  rv  rÑ  r­   r•   r0  rN  rp  Ú	lru_cacher¸  r¾  rÀ  rõ  rË   r  r2  r  rB  rO  rq  r�  r˜  r¼  ÚfinfoÚiinfor™  rØ  rÈ  rî  r÷  rd  rN   rK   rH   Ú<module>r      sU  ðñó" Û Û Û Û Û Û Û Û Û 	Û 
Û Û Û ß .Ý Ý %ß 7Ó 7ã Ý ß $Ð $Ý 5Ý 7Ý  ç @Ó @÷ñ õ
 G÷ó ÷ 1Ý 5÷÷ ÷	÷ 	ó 	÷÷ ñ õ 'ß GÝ (ß XÑ X÷ Ý/ÝHôY
�Oô Y
ôx
˜?ô ô$h;˜ô h;ôVj<˜ô j<ôZ2Ð-ô 2ô(")Ð"3ô ")ôJÐ8ô ôKÐ3ô Kô�oô ô
˜oô 
ô>B7�ô B7ôJ�?ô ô4#˜ô #õ
%ô`˜ô `ðF	 ×Ñ÷Mð Mó ðMôW2Ð&?ô W2ôt3Ð6ô 3ôl(�_ô (ô$A2�oô A2ôH<K˜ô <Kô~27˜?ô 27ôjuE�_ô uEðp ×Ò˜QÔôó  ðð( ×Ò˜QÔô(ó  ð(ôu"�Oô u"ôr�?ô ô0-�oô -ôSD˜?ô SDôl7�_ô 7ð. ×Ò�wÔô&˜?ô &ôM˜ô Mô`7˜oô 7ô05
˜Oô 5
ôp_A˜?ô _AôD(Ð-ô (ð ‡I‚IÐ#Ø‡I‚IÐ#Ø‡I‚IÐ!ðÐ ôl2˜ô l2ô^
˜/ô 
ô<B�_ô BôJ=P�oö =PrK   