ó
    CC˜jX ã                   óx  • % S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSKrSSKJrJr  SSKJrJrJr  SSKJrJrJr  SSKrSSKJr  SSKJr  SS	KJrJrJ r   SS
K!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,  SSK-J.r.J/r/  SSK0J1r1J2r2J3r3J4r4J5r5J6r6J7r7  SSK8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrG  SSKHJIrIJJrJJKrKJLrLJMrM  SSKNJOrOJPrP  SSKQJRrRJSrSJTrTJUrUJVrV  SSKWJXrX  SSKYJZrZJ[r[J\r\J]r]  SSK^J_r_J`r`Jara  SSKbJcrcJdrdJereJfrfJgrgJhrhJiriJjrjJkrkJlrlJmrmJnrnJoroJprpJqrqJrrrJsrsJtrtJuruJvrvJwrwJxrxJyryJzrzJ{r{J|r|J}r}J~r~JrJ€r€J�r�J‚r‚JƒrƒJ„r„J…r…J†r†J‡r‡JˆrˆJ‰r‰JŠrŠJ‹r‹  SSKŒJ�r�JŽrŽ  SSK�J�r�J‘r‘J’r’J“r“J”r”  SSK•J–r–J—r—  \(       a  SSK˜J™r™  SSKšJ›r›  \GR8                  " \�5      rž\
GR>                  \
GR@                  \
GRB                  \
GRD                  \
GRF                  \
GRH                  \
GRJ                  \
GRL                  \
GRN                  \
GRP                  \
GRR                  \
GRT                  \
GRV                  \
GRV                  \
GRX                  \
GRZ                  \
GR\                  \
GR^                  \
GR`                  \
GRb                  \
GRd                  \
GRf                  \
GRh                  \
GRj                  \
GRl                  \
GRn                  0r¸\¹\º" SS15      \»\º" SS15      \¼\º" SS15      0r½\¾\¿\º\À   4   \ÁS'   \GR„                  S :¼  a  \º" S!15      \½\Ã'   \S"\R*                  \R*                  /\MS-  4   rÄ\¿\M   \Å\¿\M   S#4   -  rÆ\
GRŽ                  S$\
GR�                  S%\
GR’                  S&\
GR”                  S'\
GR–                  S(\
GR˜                  S)0rÍ\¾\S#\4   \À4   \ÁS*'   \
GRb                  \
GRH                  \
GRœ                  \
GRL                  \
GRP                  \
GRT                  \
GR@                  \
GR’                  \
GR–                  \
GR˜                  \
GR”                  \
GR�                  \
GRŽ                  \
GRD                  \
GR`                  \
GRF                  \
GRV                  \
GRJ                  \
GRN                  \
GRR                  \
GR>                  \
GRB                  4rÏ\
GRf                  \
GRj                  \
GRn                  \
GRd                  \
GRl                  \
GRh                  4rÐ\
GR¢                  4rÒ\
GRZ                  \
GR^                  \
GRX                  \
GR\                  \
GR¦                  4rÔ\
GRª                  \
GR¬                  \
GR®                  \
GR°                  \
GR²                  4rÚ\S\T\Ž\–4rÛ\Å\¿\M   S#4   \ÁS+'   0 qÜ\¾\S#\4   \S#\4   4   \ÁS,'   0 qÝ\¾\S#\4   \S#\4   4   \ÁS-'   \Þ" 5       rß\º" \
GR@                  \
GRD                  \
GRH                  /5      rà\º\S#\4      \ÁS.'   S/\S#\4   S0\á\M   S1\MS-  4S2 jrâSLS3 jrã " S4 S5\M5      räS6S6S7.S8\S9\»S:\»S1\»4S; jjrå " S< S=\ä5      ræ " S> S?\ä5      rç " S@ SA\ä5      rè " SB SC\ä5      ré " SD SE\ä5      rê " SF SG\ä5      rë " SH SI\ä5      rì\GRÚ                  SJS"S1\GRÜ                  S   4SK j5       rïg)Ma\  
Built-in function and type variable tracking for TorchDynamo's symbolic execution.

This module contains variable tracker classes for Python built-in functions, types,
and operations during graph compilation. It handles symbolic execution of:

- Built-in functions (len, getattr, isinstance, etc.)
- Type constructors (int, float, str, list, dict, etc.)
- Built-in operators and methods
- Special Python constructs (super, hasattr, etc.)

Key classes:
- BuiltinVariable: Tracks built-in functions and handles their execution
- TypeVariable: Manages type constructor calls and type checking
- SuperVariable: Handles super() calls in class hierarchies

These variable trackers ensure that built-in Python operations are correctly
handled during symbolic execution, either by executing them directly when safe
or by creating appropriate graph nodes when needed.
é    N)ÚdefaultdictÚOrderedDict)ÚCallableÚIterableÚSequence)ÚAnyÚNoReturnÚTYPE_CHECKING)ÚBaseTorchFunctionMode)Úis_traceable_wrapper_subclassé   )Úgraph_break_hintsÚ	polyfillsÚ	variables)Úhandle_observed_exceptionÚObservedAttributeErrorÚObservedTypeErrorÚObservedUserStopIterationÚraise_observed_exceptionÚraise_type_errorÚraise_value_errorÚunimplementedÚUnsupportedÚ	UserErrorÚUserErrorType)ÚGuardBuilderÚinstall_guard)Ú
AttrSourceÚGetItemSourceÚGlobalSourceÚis_constant_sourceÚLocalSourceÚSourceÚ
TypeSource)Úcheck_constant_argsÚcheck_numpy_ndarray_argsÚcheck_unspec_or_constant_argsÚcheck_unspec_python_argsÚdict_methodsÚextract_fake_example_valueÚget_fake_valueÚis_tensor_getset_descriptorÚistypeÚnumpy_operator_wrapperÚproxy_args_kwargsÚraise_args_mismatchÚstr_methodsÚtensortype_to_dtypeÚunpack_iterableé   )Ú#AsPythonConstantNotImplementedErrorÚGetSetÚMemberÚValueMutationNewÚVariableTracker)ÚConstantVariableÚFakeIdVariable)ÚConstDictVariableÚDictItemsVariableÚDictKeysVariableÚDictViewVariableÚOrderedDictVariable©Úis_hashable)ÚBaseListVariableÚListVariableÚTupleIteratorVariableÚTupleVariable)ÚCellVariableÚNullVariableÚStringFormatVariable))Ú_NO_DEFAULTÚ
binary_iopÚ	binary_opÚgeneric_delitemÚgeneric_getattrÚgeneric_getitemÚgeneric_getiterÚgeneric_hashÚgeneric_is_trueÚgeneric_issubclassÚgeneric_reprÚgeneric_richcompareÚgeneric_setitemÚgeneric_sizeÚgeneric_strÚmaybe_get_python_typeÚpycallable_checkÚpyiter_checkÚpylong_from_baseÚpynumber_absoluteÚpynumber_addÚpynumber_floatÚpynumber_indexÚpynumber_inplace_addÚ pynumber_inplace_matrix_multiplyÚpynumber_inplace_multiplyÚpynumber_intÚpynumber_invertÚpynumber_matrix_multiplyÚpynumber_multiplyÚpynumber_negativeÚpynumber_positiveÚpynumber_tobaseÚpysequence_checkÚpysequence_containsÚ python_constant_richcompare_implÚternary_iopÚ
ternary_opÚtype_implements_mp_lengthÚtype_implements_sq_lengthÚvt_identity_compare)ÚFrozensetVariableÚSetVariable)ÚFakeItemVariableÚsupported_comparison_opsÚSymNodeVariableÚTensorVariableÚUnspecializedPythonVariable)ÚUserDefinedObjectVariableÚUserDefinedVariable)Ú	PyCodegen)ÚInstructionTranslatorBaseÚ__new__Ú
from_bytesÚfromhexÚhexÚ"_BUILTIN_CONSTANT_FOLDABLE_METHODS©é   é   Úfrom_numberr}   .Ú__eq__Ú__ne__Ú__lt__Ú__le__Ú__gt__Ú__ge__Ú_OPERATOR_TO_DUNDERÚ_SET_LIKE_OP_SUPPORTÚBUILTIN_TO_TENSOR_FN_MAPÚBUILTIN_TO_TENSOR_RFN_MAPÚ_COMPUTED_LAZY_CONSTANT_OPSÚfnÚargsÚreturnc                 ó<  • SSK JnJn  [        R	                  X 5      n U [
        ;  d  [        U5      S:w  a  gSnU HE  n[        XSU45      (       a  UR                  5       (       d  SnM.  [        U[        5      (       a  ME    g   U(       d  gUR                  X5      $ )zIBuild a ComputedLazyConstantVariable for fn(*args), or None to fall back.r4   )ÚComputedLazyConstantVariableÚLazyConstantVariabler   NFT)Úlazyr–   r—   ÚIN_PLACE_DESUGARING_MAPÚgetr‘   ÚlenÚ
isinstanceÚis_realizedr:   Úcreate)r’   r“   r–   r—   Úany_unrealizedÚargs         Ú­C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\torch/_dynamo/variables/builtin.pyÚ_try_computed_lazy_constantr¢     sŠ   € ÷ Iä	 ×	$Ñ	$ RÓ	,€BØ	Ô,Ó,´°D³	¸Q³ØØ€NÛˆä�sÐ3OÐP×QÑQØ—O‘O×%Ñ%à!ŠNÜ˜CÔ!1×2Ó2Ùñ ö ØØ'×.Ñ.¨rÓ8Ð8ó    c                  ó¢  ^^^	^
^• [        [        5      S:”  a  g S m " U4S jS[        5      n [        R                  " S5      m[        R                  " S5      m	[        R                  " S[        R
                  S9m[        R                  " S[        R
                  S9m
U " 5          U4S j[        4U4S j[        4UU	4S j[        4UU
4S	 j[        4U4S
 j[        4/nU H0  u  p#U H%  nU" U5        Tc  [        SU 35      eT[        U'   M'     M2     U	4S j[        4U
4S j[        4U4S j[        4/n[        R                  [        R                  [        R                  1nU HF  u  p#U H;  nXF;   a  M
  U" U5        Tc  [        SU 35      eT[        U   :w  d  M2  T[         U'   M=     MH     S S S 5        g ! , (       d  f       g = f)Nr   c                   óf   >• \ rS rSrSr  SS\S\4   S\S\\   S	\\	\4   S-  S
\4
U 4S jjjr
Srg)Ú8populate_builtin_to_tensor_fn_map.<locals>.GetMethodModei<  z‚
Mode to extract the correct methods from torch function invocations
(Used to get the correct torch.Tensor methods from builtins)
© NÚfunc.Útypesr“   Úkwargsr”   c                 ó.   >• U=(       d    0 nUmU" U0 UD6$ ©Nr§   )Úselfr¨   r©   r“   rª   Úmost_recent_funcs        €r¡   Ú__torch_function__ÚKpopulate_builtin_to_tensor_fn_map.<locals>.GetMethodMode.__torch_function__B  s$   ø€ ð —\˜rˆFà#ÐÙ˜Ð( Ñ(Ð(r£   )r§   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   ÚdictÚstrr¯   Ú__static_attributes__)r®   s   €r¡   ÚGetMethodModer¦   <  sd   ø† ñ	ð #%Ø,0ñ
	)à˜3 ˜8Ñ$ð
	)ð ð
	)ð ˜3‘-ð	
	)ð
 ˜˜c˜‘N TÑ)ð
	)ð ÷
	)ó 
	)r£   r¹   r4   )Údtypec                 ó   >• U " T5      $ r¬   r§   )ÚoÚinp0s    €r¡   Ú<lambda>Ú3populate_builtin_to_tensor_fn_map.<locals>.<lambda>T  s	   ø€ ‘q˜”wr£   c                 ó   >• U " T5      $ r¬   r§   ©r¼   Úinp0_ints    €r¡   r¾   r¿   U  s	   ø€ ‘q˜”{r£   c                 ó   >• U " TT5      $ r¬   r§   )r¼   r½   Úinp1s    €€r¡   r¾   r¿   V  s   ø€ ‘q˜˜t”}r£   c                 ó   >• U " TT5      $ r¬   r§   )r¼   rÂ   Úinp1_ints    €€r¡   r¾   r¿   W  s   ø€ ‘q˜ 8Ô,r£   c                 ó   >• U " TS5      $ ©Nr   r§   rÁ   s    €r¡   r¾   r¿   X  s   ø€ ‘q˜ 1”~r£   z,most_recent_func is None after setup for op c                 ó   >• U " ST5      $ ©Nr4   r§   )r¼   rÄ   s    €r¡   r¾   r¿   f  s   ø€ ™!˜A˜tœ*r£   c                 ó   >• U " ST5      $ rÊ   r§   )r¼   rÆ   s    €r¡   r¾   r¿   i  ó   ø€ ‘q˜˜H”~r£   c                 ó   >• U " ST5      $ rÈ   r§   rÁ   s    €r¡   r¾   r¿   j  rÌ   r£   z4most_recent_func is None after setup for reverse op )r›   r�   r   ÚtorchÚonesÚint32Úun_opsÚ
un_int_opsÚbin_opsÚbin_int_opsÚtensor_and_int_opsÚAssertionErrorÚoperatorÚmatmulÚimatmulÚgetitemr�   )r¹   Úsetups_and_oplistsÚsetup_fnÚop_listÚopÚrsetups_and_oplistsÚrskipsr½   rÂ   rÄ   rÆ   r®   s          @@@@@r¡   Ú!populate_builtin_to_tensor_fn_maprá   4  sž  ü€ ä
Ô#Ó$ qÓ(ð 	Ø26Ð÷)Ô-ô )ô$ �:Š:�a‹=€DÜ�:Š:�a‹=€DÜ�zŠz˜!¤5§;¡;Ñ/€HÜ�zŠz˜!¤5§;¡;Ñ/€HÙ	�ä¤Ð'Ü"¤JÐ/Ý$¤gÐ.Ý,¬kÐ:Ü%Ô'9Ð:ðN
Ðó "4ÑˆHÛ�Ù˜”Ø#Ñ+Ü(ØFÀrÀdÐKóð ð 0@Ô(¨Ó,ó ñ "4ô %Üðô &¤{Ð3Ü%Ô'9Ð:ðO
Ðô —/‘/¤8×#3Ñ#3´X×5EÑ5EÐFˆÛ!4ÑˆHÛ�Ø“<ÙÙ˜”Ø#Ñ+Ü(ØNÈrÈdÐSóð ð $Ô'?ÀÑ'CÕCØ4DÔ-¨bÓ1ó ñ "5÷9 
�Žús   Â'C;G Æ&G Ç 
Gc            
       ó|  ^ • \ rS rSr% SrSr\\S'         SS jr      SS	 jr	      SS
 jr
S\" \S5      0r\" \	S5      \" \
S5      S.r\S\S\SS 4S j5       rS\4S jrSS jrSSS\S\4S jrSSS\S\4S jrSSS\\\4   4S jrSSS\S\S\4S jrSSS\S\\   S\\\4   S\4
U 4S jjr Sr!U =r"$ )ÚBaseBuiltinVariablei{  aç  
Common base class for all builtin variable trackers (BuiltinVariable,
DictBuiltinVariable, IterBuiltinVariable, and future specialized builtins).

Provides shared implementations for guard installation, hasattr tracing,
and Python-level hashability/equality.

Specialized subclasses (e.g. DictBuiltinVariable) set `_fn` as a class
attribute. BuiltinVariable stores the callable on the instance as `self.fn`
and overrides as_python_constant / reconstruct / tp_getattro_impl accordingly.
NÚ_fnÚtxr}   r”   c                 ót  • U R                  5       n[        U[        5      (       d  g U R                  =(       a    [	        U R                  S5      n[        UR                  5       VVs/ s H.  u  pE[        R                  " XU=(       a    [        X45      5      PM0     nnn[        R                  " XcS9$ s  snnf )NÚ	__bases__©Úsource)Úas_python_constantrœ   Útyperé   r   Ú	enumeraterç   r9   Úbuildr   r   rF   )r­   rå   r’   ré   ÚiÚbÚitemss          r¡   Ú_type_get_basesÚ#BaseBuiltinVariable._type_get_bases‘  s—   € ð ×$Ñ$Ó&ˆÜ˜"œd×#Ñ#ØØ—‘×E¤¨D¯K©K¸Ó!Eˆô " "§,¡,Ô/ô
â/‘�ô ×!Ò! "¨×)L´MÀ&Ó4LÖMÙ/ð 	ñ 
ô ×&Ò& uÑ<Ð<ùó	
s   Á(5B4c                 óâ   • U R                  5       n[        U[        5      (       d  g U R                  =(       a    [	        U R                  S5      n[
        R                  " XR                  U5      $ )NÚ__base__)rê   rœ   rë   ré   r   r9   rí   rô   ©r­   rå   r’   ré   s       r¡   Ú_type_get_baseÚ"BaseBuiltinVariable._type_get_basež  sR   € ð ×$Ñ$Ó&ˆÜ˜"œd×#Ñ#ØØ—‘×D¤¨D¯K©K¸Ó!DˆÜ×$Ò$ R¯©°fÓ=Ð=r£   c                 óâ   • U R                  5       n[        U[        5      (       d  g U R                  =(       a    [	        U R                  S5      n[
        R                  " XR                  U5      $ )NÚ	__flags__)rê   rœ   rë   ré   r   r9   rí   rù   rõ   s       r¡   Ú_type_get_flagsÚ#BaseBuiltinVariable._type_get_flags§  sR   € ð ×$Ñ$Ó&ˆÜ˜"œd×#Ñ#ØØ—‘×E¤¨D¯K©K¸Ó!EˆÜ×$Ò$ R¯©°vÓ>Ð>r£   rç   )rô   rù   Úvalueré   c                 ó^   • [        UR                  [        R                  5      5        U " US9$ ©Nrè   ©r   Ú
make_guardr   ÚBUILTIN_MATCH©Úclsrü   ré   s      r¡   Úcreate_with_sourceÚ&BaseBuiltinVariable.create_with_source¶  s&   € ä�f×'Ñ'¬×(BÑ(BÓCÔDÙ˜&Ñ!Ð!r£   c                 ó   • U R                   $ r¬   )rä   ©r­   s    r¡   rê   Ú&BaseBuiltinVariable.as_python_constant»  s   € Ø�x‰xˆr£   c                 ó¾   • U R                  5       R                  nX!R                  R                  ;   a  [	        S5      eUR                  UR                  USS95        g )Núshadowed globalT©Úadd)rê   r±   rå   Ú	f_globalsrÖ   Úappend_outputÚcreate_load_global©r­   ÚcodegenÚnames      r¡   ÚreconstructÚBaseBuiltinVariable.reconstruct¾  sP   € Ø×&Ñ&Ó(×1Ñ1ˆØ—:‘:×'Ñ'Ó'Ü Ð!2Ó3Ð3Ø×Ñ˜g×8Ñ8¸À4Ð8ÐHÕIr£   r  c                 óÚ   • U R                  5       nU R                  =(       a    [        U R                  U5      n[        X2S 5      n[        R
                  " XUb  [        U5      US9$ S US9$ ©N)Úpy_typeré   )rê   ré   r   Úgetattrr   ÚGetAttrVariablerë   )r­   rå   r  r’   ré   Úattrs         r¡   Útp_getattro_implÚ$BaseBuiltinVariable.tp_getattro_implÄ  sk   € ð ×$Ñ$Ó&ˆØ—‘×>¤¨D¯K©K¸Ó!>ˆÜ�r Ó&ˆÜ×(Ò(Ø¨dÑ.>¤ T£
ÐQWñ
ð 	
ØDHÐQWñ
ð 	
r£   c                 ó`   • [         R                  " U[        U R                  5       U5      5      $ r¬   )r9   rí   Úhasattrrê   )r­   rå   r  s      r¡   Úcall_obj_hasattrÚ$BaseBuiltinVariable.call_obj_hasattrÒ  s'   € ô ×$Ò$ R¬°×1HÑ1HÓ1JÈDÓ)QÓRÐRr£   c                 ó8   • [        U R                  5       5      S4$ ©NF)Úhashrê   )r­   rå   s     r¡   Ú	hash_implÚBaseBuiltinVariable.hash_impl×  s   € ä�D×+Ñ+Ó-Ó.°Ð5Ð5r£   ÚotherrÞ   c                 ó   • [        XX#5      $ r¬   )rm   )r­   rå   r&  rÞ   s       r¡   Útp_richcompare_implÚ'BaseBuiltinVariable.tp_richcompare_implÛ  s   € ô 0°¸%ÓDÐDr£   r“   rª   c                 ó`  >• US:X  Ga$  [        U5      S:X  Ga  U(       Gd  US   nU R                  5       [        L a  [        X5      $ U R                  5       [        L aÃ  [        U[        R                  5      (       a4  [        R                  " U[        R                  UR                  5      5      $ UR                  5       (       a[  [        UR                  5       [        5      (       a8  [        R                  " U[        R                  UR                  5       5      5      $ [        X5      $ US:X  Gal  [        U5      S:X  Ga\  U(       GdT  US   nU R                  5       [        L aS  [        U[        R                  5      (       a4  [        R                  " U[        R                  UR                  5      5      $ U R                  5       [        L aÃ  [        U[        R                  5      (       a4  [        R                  " U[        R                  UR                  5      5      $ UR                  5       (       a[  [        UR                  5       [        5      (       a8  [        R                  " U[        R                  UR                  5       5      5      $ [        X5      $ [         TU ]E  XX45      $ )NÚ__str__r4   r   Ú__repr__)r›   rê   ÚobjectrT   rë   rœ   r   ÚUserDefinedClassVariabler9   rí   r+  rü   Úis_python_constantrX   rz   r,  ÚsuperÚcall_method)r­   rå   r  r“   rª   r    Ú	__class__s         €r¡   r1  ÚBaseBuiltinVariable.call_methodã  s  ø€ ð �9Ô¤ T£¨a¤¿Ø�q‘'ˆCØ×&Ñ&Ó(¬FÒ2Ü# BÓ,Ð,Ø×&Ñ&Ó(¬DÒ0Ü˜c¤9×#EÑ#E×FÑFÜ*×0Ò0°´T·\±\À#Ç)Á)Ó5LÓMÐMØ×)Ñ)×+Ñ+´
Ø×*Ñ*Ó,¬d÷1ñ 1ô +×0Ò0ØœDŸL™L¨×)?Ñ)?Ó)AÓBóð ô ˜rÓ'Ð'Ø�:Ô¤# d£)¨q¤.¿Ø�q‘'ˆCØ×&Ñ&Ó(¬FÒ2´zØ”Y×8Ñ8÷8ñ 8ô '×,Ò,¨R´·±ÀÇÁÓ1KÓLÐLØ×&Ñ&Ó(¬DÒ0Ü˜c¤9×#EÑ#E×FÑFÜ*×0Ò0°´T·]±]À3Ç9Á9Ó5MÓNÐNØ×)Ñ)×+Ñ+´
Ø×*Ñ*Ó,¬d÷1ñ 1ô +×0Ò0ØœDŸM™M¨#×*@Ñ*@Ó*BÓCóð ô   Ó(Ð(Ü‰wÑ" 2¨TÓ:Ð:r£   r§   )r­   rã   rå   r}   r”   úVariableTracker | None©r  r|   r”   N)#r±   r²   r³   r´   rµ   rä   r   Ú__annotations__rñ   rö   rú   r6   Ú	tp_getsetr7   Ú
tp_membersÚclassmethodr#   r  rê   r  r·   r9   r  r:   r  ÚtupleÚintÚboolr$  r(  Úlistr¶   r1  r¸   Ú__classcell__©r2  s   @r¡   rã   rã   {  s¨  ø‡ ñ
ð €CˆƒOð=Ø#ð=Ø)Dð=à	!ô=ð>Ø#ð>Ø)Dð>à	!ô>ð?Ø#ð?Ø)Dð?à	!ô?ð ™f _°dÓ;Ð<€Iá˜>¨4Ó0Ù˜O¨TÓ2ñ€Jð
 ð" sð "°Fð "Ð?Tó "ó ð"ð Cô ôJð
Ø-ð
Ø58ð
à	ô
ðSØ-ðSØ58ðSà	ôSð
6Ð7ð 6¸EÀ#ÀtÀ)Ñ<Lô 6ðEà'ðEð ðEð ð	Eð
 
ôEð%;à'ð%;ð ð%;ð �?Ñ#ð	%;ð
 �S˜/Ð)Ñ*ð%;ð 
÷%;õ %;r£   rã   T©Úuse_instancecheckÚuse_subclasscheckÚ	type_inforA  rB  c                óü  ^• [        U [        5      (       a  [        S U  5       5      $ [        U [        R                  5      (       a&  [        S [
        R                  " U 5       5       5      $ [
        R                  " U 5      [
        R                  L a<  [        R                  S:¬  m[        U4S j[
        R                  " U 5       5       5      $ [        U [        5      (       Ga  U [        ;   a  g[        U 5      n[        USS 5      n[        USS 5      nU[        R                  L a  U[        R                  L a  g[!        U ["        R$                  5      (       a  UR&                  UR(                  4S;   a  gU=(       a5    U[        R                  L=(       a    U[*        R,                  R                  L=(       d>    U=(       a5    U[        R                  L=(       a    U[*        R,                  R                  L$ g)	Nc              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr¬   ©Ú_uses_custom_classinfo_check©Ú.0Úitems     r¡   Ú	<genexpr>Ú/_uses_custom_classinfo_check.<locals>.<genexpr>  s   é € ÐLÂ)¸$Ô/°×5Ð5Â)ùó   ‚c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr¬   rF  rH  s     r¡   rK  rL    s   é € ð 
Ú;U°4Ô(¨×.Ð.Ò;UùrM  ©r„   é   c              3   ó:   >#   • U  H  n[        UTS S9v •  M     g7f)Tr@  NrF  )rI  rJ  Útyping_union_uses_instancechecks     €r¡   rK  rL    s*   øé € ð 
ò 3�ô )ØØ"AØ"&öò
 3ùs   ƒFÚ__instancecheck__Ú__subclasscheck__>   ©z"torch.distributed.fsdp._flat_paramÚ_FlatParameterMeta©útorch.nn.parameterÚ_BufferMeta©rX  Ú_ParameterMeta)rœ   r:  Úanyr©   Ú	UnionTypeÚtypingÚget_argsÚ
get_originÚUnionÚsysÚversion_inforë   r2   r  rS  rT  Ú
issubclassrÎ   ÚTensorr²   r³   ÚabcÚABCMeta)rC  rA  rB  Útype_info_metaÚinstancecheckÚsubclasscheckrR  s         @r¡   rG  rG    s¯  ø€ ô �)œU×#Ñ#ÜÑLÁ)ÓLÓLÐLÜ�)œUŸ_™_×-Ñ-Üñ 
Ü;A¿?º?È9Ô;Uó
ó 
ð 	
ô ×Ò˜Ó#¤v§|¡|Ò3Ü*-×*:Ñ*:¸gÑ*EÐ'Üô 
ô Ÿš¨	Ô2ó
ó 
ð 	
ô �)œT×"Ò"ØÔ+Ó+Øä˜i›ˆÜ Ð0CÀTÓJˆÜ Ð0CÀTÓJˆàœT×3Ñ3Ò3Ø¤×!7Ñ!7Ò7àä�i¤§¡×.Ñ.Ø×%Ñ%Ø×'Ñ'ð4
ð
ó4
ð ð ÷ CØ¤T×%;Ñ%;Ð;÷Cà¤S§[¡[×%BÑ%BÐB÷
ð
 ÷ CØ¤T×%;Ñ%;Ð;÷Cà¤S§[¡[×%BÑ%BÐBð	
ð r£   c                   ó  ^ • \ rS rSr% Sr\" 5       rS1\R                  kr      S¢S jr	S\
" \	S	5      0r\S
\S\SS 4S j5       r\\R$                  S\\S\4      4S j5       5       rS\4S jr\\R$                  S\\S\4      4S j5       5       r\\R$                  S\\S\4   \\\   \S\4   4   4   4S j5       5       r\\R$                  S\\S\4   \\\\\   \4   \ 4      4   4S j5       5       r!\S\S\4   S\\   S\S\\    S	-  4S j5       r"S\4S jr#\$" \\%\&\'\\(15      r)\$\   \*S'   S\S\SS	4U 4S jjr+S\4S jr,S\4S jr-S\4S jr. S£SSS\S\S\4S  jjr/S\4U 4S! jjr0S¤S" jr1S#\S\S\4S$ jr2S#\S\4S% jr3S&\\   S\4S' jr4S#\S\S\4S( jr5\S#\\   S\\\4   S\\\   \\\4   4   4S) j5       r6S#\\   S\\\4   S\4S* jr7\S\S\4   S&\\   S+\S\S\\   \\\4   /\S	-  4   4S, j5       r8\S-\9Rt                  S\4S. j5       r;\SSS/\9Rx                  S0\S\S	-  4S1 j5       r=SSS\S#\S\S\S	-  4
S2 jr>SSS#\S\S\4S3 jr?SSS#\S\4S4 jr@\SSS\4S5 j5       rASSS#\\   S\\\4   S\S	-  4S6 jrB0 rC\\\S4   \S\\   \\\4   /\4   4   \*S7'   SSS#\\   S\\\4   S\4S8 jrDSSS9\S#\\   S\\\4   S\4
U 4S: jjrE S¥SSS;\S<\S	-  S\S	-  4S= jjrFSSS;\S\S	-  4S> jrGSSS;\S\S	-  4S? jrHSSS;\S\S	-  4S@ jrISSS;\S\S	-  4SA jrJSSS;\S\S	-  4SB jrKSSS;\S\4SC jrLSSS;\S\S	-  4SD jrMSSS;\S\S	-  4SE jrNSF rOS	S	SG.SSS#\SH\S	-  SI\S	-  S\S	-  4
SJ jjrPSSSK\\   S\4SL jrQSSSK\\   SH\S\4SM jrRSSSN\S	-  SO\S	-  S\S	-  4SP jrS\PrT\PrUSSS;\S\4SQ jrVSSS;\S\4SR jrWSSS;\S\4SS jrXSSS;\S#\S\S\4
ST jrYSSS#\S\S\4SU jrZS#\S\S\4SV jr[SSS#\S\4SW jr\SSS#\S\S\4SX jr]SSS#\S\S\S	-  4SY jr^SSS;\S\4SZ jr_S[\S#\S\S\S	-  4S\ jr`SSS;\S\S	-  4S] jraSSS#\S\S\4S^ jrbSSS#\S\S\4S_ jrcSSS#\S\S\4S` jrdSSS#\S\S\4Sa jreSSS#\S\S\4Sb jrfSSS#\S\S\4Sc jrgSSS#\S\S\4Sd jrhSSS#\S\S\4Se jriSSS;\Sf\S\4Sg jrjSSSh\Si\S\4Sj jrkSSSN\SO\S\4Sk jrlSSS#\S\S\4Sl jrmSSS\Sm\S\S\4
Sn jrnSSS\So\S\4Sp jroSSS9\S\4Sq jrpSSSr\Ss\S\4St jrqSSSr\S\4Su jrrSSSr\S\4Sv jrsSSSr\S\S\S	-  4Sw jrtSSSN\S\4Sx jruSSSN\S\4Sy jrvSSSz\S#\S\S\4
S{ jrwSSS#\S\4S| jrxSSS}\S\4S~ jrySSS\S€\S\4S� jrzSSS\S€\S\4S‚ jr{SSSN\SO\S\S	-  4Sƒ jr|SSSN\SO\S\S	-  4S„ jr}SSSN\SO\S\S	-  4S… jr~SSSN\SO\S\S	-  4S† jrSSSN\SO\S\S	-  4S‡ jr€SSSN\SO\S\S	-  4Sˆ jr�SSSN\SO\S\S	-  4S‰ jr‚SSSN\SO\S\S	-  4SŠ jrƒSSSN\SO\S\S	-  4S‹ jr„SSSN\SO\S\S	-  4SŒ jr…SSSN\SO\S\S	-  4S� jr†SSSN\SO\S\S	-  4SŽ jr‡SSSN\SO\S\S	-  4S� jrˆSSSN\SO\S\S	-  4S� jr‰SSSN\SO\S\S	-  4S‘ jrŠSSSN\SO\S\S	-  4S’ jr‹SSSN\SO\S\S	-  4S“ jrŒSSSN\SO\S\S	-  4S” jr�SSSN\SO\S\S	-  4S• jrŽSSSN\SO\S\S	-  4S– jr�SSSN\SO\S\S	-  4S— jr�SSSN\SO\S\S	-  4S˜ jr‘SSSN\SO\S\S	-  4S™ jr’SSSN\SO\S\S	-  4Sš jr“SSSN\SO\S\S	-  4S› jr” S¥SSSN\SO\Sœ\S	-  S\S	-  4
S� jjr• S¥SSSN\SO\Sœ\S	-  S\S	-  4
Sž jjr–SSSN\S\S	-  4SŸ jr—SSSN\SO\S\4S  jr˜S¡r™U =rš$ )¦ÚBuiltinVariableiD  aÔ  
A VariableTracker that represents a built-in value (functions and operators).
A lot of the code here assumes it will be a function object.

The BuiltinVariable class wraps Python built-in functions (like len, isinstance, etc.)
and operators (like +, -, *, etc.) to enable symbolic execution during tracing. This allows
Dynamo to properly handle these operations when converting Python code to FX graphs while
maintaining correct semantics and enabling optimizations.
r’   rå   r}   r”   c                 óª   • U R                   =(       a    [        U R                   S5      n[        R                  " XR                  R
                  U5      $ )Nr±   )ré   r   r9   rí   r’   r±   )r­   rå   ré   s      r¡   Ú_builtin_type_get_nameÚ&BuiltinVariable._builtin_type_get_nameX  s:   € ð —‘×D¤¨D¯K©K¸Ó!DˆÜ×$Ò$ R¯©×)9Ñ)9¸6ÓBÐBr£   r±   Nrü   ré   c                 ó^   • [        UR                  [        R                  5      5        U " XS9$ rþ   rÿ   r  s      r¡   r  Ú"BuiltinVariable.create_with_sourceb  s&   € ä�f×'Ñ'¬×(BÑ(BÓCÔDÙ�5Ñ(Ð(r£   .c                  óv  • 1 [         i[        i[        i[        i[        i[
        i[        i[        i[        i[        i[        i[        i[        i[        i[        i[        i[         i["        i[$        i[&        i[(        i[*        i[,        i[.        i[.        R                  i[0        i[2        i[4        R                   i[4        R6                  i[4        R8                  i[4        R:                  i[4        R<                  i[4        R>                  i[4        R(                  i[4        R@                  i[4        RB                  i[4        RD                  i[4        RF                  i[4        RH                  i[4        RJ                  i[4        RL                  i[4        RN                  i[4        RP                  i[4        RR                  i[4        RT                  i[4        RV                  i[4        RX                  i[4        RZ                  i[4        R\                  i[4        R^                  i[4        R`                  i[4        Rb                  i[4        Rd                  i[4        Rf                  i[4        Rh                  i[4        Rj                  i[4        Rl                  i[4        Rn                  i[4        Rp                  i[4        Rr                  i[4        Rt                  i[4        Rv                  in SSK<J=n  U R}                  UR~                  " 5       5        U R}                  S [€        R‚                  R                  5        5       5        U $ )Nr4   )rv   c              3   óz   #   • U  H1  n[        U[        [        R                  5      5      (       d  M-  Uv •  M3     g 7fr¬   )rœ   rë   ÚmathÚsqrt©rI  Úxs     r¡   rK  Ú;BuiltinVariable._constant_fold_functions.<locals>.<genexpr>­  s%   é € ÐWÒ4˜¼
À1ÄdÌ4Ï9É9Ão×8V—1‘1Ò4ùs   ‚,;²	;)BÚabsÚallr\  ÚasciiÚbinr<  ÚcallableÚchrÚcomplexÚdivmodÚfloatÚformatr  r�   r;  r›   ÚmaxÚminÚoctÚordÚpowÚreprÚroundr·   Úsumrë   r×   ÚposÚnegÚnot_ÚtruthÚinvertÚmulrØ   ÚfloordivÚtruedivÚmodr  ÚsubrÚ   Úlength_hintÚlshiftÚrshiftÚand_Úor_ÚxorÚipowÚimulrÙ   Ú	ifloordivÚitruedivÚimodÚiaddÚisubÚilshiftÚirshiftÚiandÚixorÚiorÚindexÚtensorrv   ÚupdateÚvaluesrt  Ú__dict__)Úfnsrv   s     r¡   Ú_constant_fold_functionsÚ(BuiltinVariable._constant_fold_functionsg  s‘  € ð?(
Üð?(
äð?(
ô ð?(
ô ð	?(
ô
 ð?(
ô ð?(
ô ð?(
ô ð?(
ô ð?(
ô ð?(
ô ð?(
ô ð?(
ô ð?(
ô ð?(
ô ð?(
ô  ð!?(
ô" ð#?(
ô$ ð%?(
ô& ð'?(
ô( ð)?(
ô* ð+?(
ô, ð-?(
ô. ð/?(
ô0 ð1?(
ô2 �J‰Jð3?(
ô4 ð5?(
ô6 ð7?(
ô8 �L‰Lð9?(
ô: �L‰Lð;?(
ô< �L‰Lð=?(
ô> �M‰Mð??(
ô@ �N‰NðA?(
ôB �O‰OðC?(
ôD �L‰LðE?(
ôF �L‰LðG?(
ôH �O‰OðI?(
ôJ ×ÑðK?(
ôL ×ÑðM?(
ôN �L‰LðO?(
ôP �L‰LðQ?(
ôR �L‰LðS?(
ôT ×ÑðU?(
ôV × Ñ ðW?(
ôX �O‰OðY?(
ôZ �O‰Oð[?(
ô\ �M‰Mð]?(
ô^ �L‰Lð_?(
ô` �L‰Lða?(
ôb �M‰Mðc?(
ôd �M‰Mðe?(
ôf ×Ñðg?(
ôh ×Ñði?(
ôj ×Ñðk?(
ôl �M‰Mðm?(
ôn �M‰Mðo?(
ôp �M‰Mðq?(
ôr ×Ñðs?(
ôt ×Ñðu?(
ôv �M‰Mðw?(
ôx �M‰Mðy?(
ôz �L‰Lð{?(
ô| �N‰Nð}?(
ˆõ@ 	5à�
‰
Ð+×2Ò2Ó4Ô5Ø�
‰
ÑWœdŸm™m×2Ñ2Ô4ÓWÔWØˆ
r£   c                 ó<   • U R                   U R                  5       ;   $ r¬   )r’   r­  r  s    r¡   Úcan_constant_fold_throughÚ)BuiltinVariable.can_constant_fold_through°  s   € Ø�w‰w˜$×7Ñ7Ó9Ñ9Ð9r£   c                  óê  • 1 [         R                  i[         R                  i[         R                  i[         R                  i[         R
                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                   i[         R"                  i[         R$                  i[         R&                  i[         R(                  i[         R*                  i[         R,                  i[         R.                  i[         R0                  i[         R2                  i[         R4                  i[         R6                  i[         R8                  i[         R:                  i[         R<                  i[         R>                  i[         R@                  i[         RB                  i[         RD                  i[         RF                  i[         RH                  i[         RJ                  i[         RL                  i[         RN                  in U $ r¬   )(r×   ry  r‹  rŒ  r�  r�  r‡  r�  rØ   r‘  r’  r“  r  ÚltÚgtÚgeÚleÚneÚeqr”  r•  r–  r—  r˜  r™  rš  r›  rœ  rÙ   r�  rž  rÚ   rŸ  r   r¡  r¢  r£  r¤  r¥  r¦  ©r¬  s    r¡   Ú_fx_graph_functionsÚ#BuiltinVariable._fx_graph_functions³  sQ  € ð(
Ü�L‰Lð(
ä�L‰Lð(
ô �L‰Lð(
ô �M‰Mð	(
ô
 �O‰Oð(
ô �L‰Lð(
ô �L‰Lð(
ô �O‰Oð(
ô ×Ñð(
ô ×Ñð(
ô �L‰Lð(
ô �L‰Lð(
ô �K‰Kð(
ô �K‰Kð(
ô �K‰Kð(
ô  �K‰Kð!(
ô" �K‰Kð#(
ô$ �K‰Kð%(
ô& �L‰Lð'(
ô( × Ñ ð)(
ô* �O‰Oð+(
ô, �O‰Oð-(
ô. �M‰Mð/(
ô0 �L‰Lð1(
ô2 �L‰Lð3(
ô4 �M‰Mð5(
ô6 �M‰Mð7(
ô8 ×Ñð9(
ô: ×Ñð;(
ô< ×Ñð=(
ô> ×Ñð?(
ô@ �M‰MðA(
ôB �M‰MðC(
ôD �M‰MðE(
ôF ×ÑðG(
ôH ×ÑðI(
ôJ �M‰MðK(
ôL �M‰MðM(
ôN �L‰LðO(
ˆðR ˆ
r£   c                  ó
   • 0 n U $ r¬   r§   r¹  s    r¡   Ú_binopsÚBuiltinVariable._binopsá  s   € ðU
ˆð ˆ
r£   c                  óÐ  ^^^^• SSK Jm  SSKJm  SSKJm  SSKJm  0 n [        R                  5       R                  5        GH‡  u  nu  p#/ X'   / X'   Uu  pEnUUS.SSS	[        S
[        S[        S[        S[        4S jjnX   R                  [        [        4U45        X   R                  [        [        4U45        US.SSS	[        S
[        S[        S[        4
S jjnX   R                  [        [        4U45        X   R                  [        [        4U45        US.SSS	[        S
[        S[        S[         4   S[        4
S jjn	X   R                  ["        [        4U	45        X   R                  [        ["        4U	45        X   R                  ["        [        4U	45        X   R                  [        ["        4U	45        GMŠ     S[        S[         4   S[$        [&        [&        [(        [(        4   [*        4      4UUUU4S jjn
[,        R.                  " 5        H?  n[1        U5      (       d  [3        SU S35      eX;   a  [3        SU 35      eU
" U5      X'   MA     U $ )Nr4   )ÚBaseUserFunctionVariable)ÚNNModuleVariable)Úsupported_const_comparison_ops)ÚBaseTorchVariable)Úforward_nameÚreverse_namerå   r}   Úarï   rÄ  rÅ  r”   c                ó|   • [        U[        5      (       a  UR                  XU/0 5      $ UR                  XU/0 5      $ r¬   )rœ   r{   r1  )rå   rÆ  rï   rÄ  rÅ  s        r¡   Úuser_defined_handlerÚ=BuiltinVariable._binop_handlers.<locals>.user_defined_handler  s<   € ô, ˜aÔ!4×5Ñ5ØŸ=™=¨¸A¸3ÀÓCÐCàŸ=™=¨¸A¸3ÀÓCÐCr£   )rÄ  c                ó*   • UR                  XU/0 5      $ r¬   ©r1  )rå   rÆ  rï   rÄ  s       r¡   Úuser_defined_inplace_handlerÚEBuiltinVariable._binop_handlers.<locals>.user_defined_inplace_handler6  s   € ð —}‘} R¸°s¸BÓ?Ð?r£   ©r’   r’   .c          
      ón   • SSK Jn  U" U U R                  R                  " SU/[	        X/0 5      Q76 5      $ ©Nr4   ©Úwrap_fx_proxyÚcall_function)ÚbuilderrÒ  ÚoutputÚcreate_proxyr/   )rå   rÆ  rï   r’   rÒ  s        r¡   Údynamic_handlerÚ8BuiltinVariable._binop_handlers.<locals>.dynamic_handlerG  s?   € õ 3á$ØØ—I‘I×*Ò*Ø'¨ðÜ.?ÀÀÈÓ.Kòóð r£   rÞ   c           	      óˆ  >^ ^
^• SSS[         S[         S[         4U 4S jjn[        [        4U4/nT [        ;   a�  [        [        4U4/n[        T 5      nUR	                  [
        [         4UR                  4[         [
        4UR                  4/5        [        T    m
SSS[         S[         S[         4U
4S jjnUR                  [         [         4U45        U$ [        [        4U4/nT TR                  5       ;   GaG  T R                  R                  S5      (       Ga&  T " [        5       S 5      mSSS[         S[         S[         4U4S	 jjnUnUn[        [
        T[        [        T[        T4nUR	                  U[        4U4[        U4U4/5        [        T 5      nUR	                  [        [         4UR                   4[         [        4UR                   4[
        [         4UR                  4[         [
        4UR                  4/5        SSS
[         S[         S[         S -  4U 4S jjn	UR                  [         [         4U	45        U$ )Nrå   r}   rÆ  rï   r”   c                 óæ   >•  [         R                  " U T" UR                  UR                  5      5      $ ! [         a1  n[	        [        U5      U [        UR                  5      S9   S nAg S nAff = f)N©r“   )r9   rí   rü   Ú	TypeErrorr   rë   r=  r“   )rå   rÆ  rï   ÚexcrÞ   s       €r¡   Úcompare_by_valueÚYBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.compare_by_valuek  sW   ø€ ðÜ*×0Ò0°±R¸¿¹ÀÇÁÓ5IÓJÐJøÜ ó Ü,Ü˜S›	ØÜ! #§(¡(›^÷ûðús   ƒ15 µ
A0¿'A+Á+A0c                 ó   >• [        XUT5      $ r¬   )rU   )rå   rÆ  rï   Údunders      €r¡   ÚhandlerÚPBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handler�  s   ø€ ô
 /¨r°a¸Ó@Ð@r£   Úis_c                 ó2   >• [         R                  " U T5      $ r¬   )r9   rí   )rå   rÆ  rï   Únone_results      €r¡   ÚneverÚNBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.never¯  s   ø€ ô
 +×0Ò0°°[ÓAÐAr£   ÚleftÚrightc                 ó¦   >• [        X5      nUc  g UR                  5       n[        R                  " U TR                  S:X  a  U5      $ U(       + 5      $ )Nrä  )rr   rê   r9   rí   r±   )rå   ré  rê  ÚresultÚis_samerÞ   s        €r¡   Ú	handle_isÚRBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handle_isæ  sW   ø€ ô
 1°Ó=�FØ‘~Ø#Ø$×7Ñ7Ó9�GÜ*×0Ò0Ø r§{¡{°eÓ';˜Góð ØELÄóð r£   )r9   r:   r�   rl  Úextendrw   Ú_comparison_with_symnodeÚappendrª  r±   Ú
startswithr-  rx   rC   r{   r<   Ú_comparison_with_tensor)rÞ   rÞ  rì  Úop_varrâ  rç  Úobj_op_noneÚnone_op_objÚtypes_that_are_never_nonerî  rá  ræ  rÃ  rÀ  rÁ  rÂ  s   `         @@€€€€r¡   Úcreate_cmp_op_handlersÚ?BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlersh  s¶  û€ ð
Ø/ð
Ü4Cð
ÜHWð
ä ÷
ô( $Ô%5Ð6Ð8HÐIÐJð ð Ô(Ó(ô
 'Ô(8Ð9Ð;KÐLð�ô )¨Ó,�à—‘ô -¬oÐ>Ø"×;Ñ;ðô
 -¬oÐ>Ø"×;Ñ;ðð	ôô  -¨RÑ0�ðAØ3ðAä&ðAô 'ðAô %÷	Að —‘¤´ÐAÀ7ÐKÔLØ�ä(Ô*:Ð;Ð=MÐNÐOˆFàÐ3×:Ñ:Ó<Ô<ÀÇÁ×AWÑAWØ÷Bò Bñ !¤£¨4Ó0�ðBØ3ðBä&ðBô 'ðBô %÷	Bð $�Ø#�ô #Ü#Ø$Ü$Ü'Ø,Ü%Ø%ð	-Ð)ð —‘ð 7Ô8HÐIØ'ðô
 .Ð/HÐIØ'ðð	ôô )¨Ó,�Ø—‘ô ,¬_Ð=Ø"×:Ñ:ðô
 -¬nÐ=Ø"×:Ñ:ðô
 -¬oÐ>Ø"×;Ñ;ðô
 -¬oÐ>Ø"×;Ñ;ððôð*Ø3ðä)ðô +ðô % tÑ+÷	ð —‘¤´ÐAÀ9ÐMÔNàˆMr£   zcomparison op z is not callablezduplicate handler for op )Ú	functionsrÀ  Ú	nn_modulerÁ  r¨  rÂ  rÎ   rÃ  rl  r½  rð   r9   r·   rò  r{   r   r   rw   r=  r:  Ú_TrackersTypeÚ_HandlerCallbackrv   rª  r}  rÖ   )Úop_handlersrÞ   Úmagic_method_namesÚin_place_oprÄ  rÅ  Úinplace_namerÈ  rÌ  r×  rù  rÃ  rÀ  rÁ  rÂ  s              @@@@r¡   Ú_binop_handlersÚBuiltinVariable._binop_handlersñ  sÌ  û€ õ$ 	8Ý/Ý:Ý,ð -/ˆô ×$Ñ$Ó&×,Ñ,×.ñ
ØÙ-Ðà ˆK‰OØ')ˆKÑ$à7IÑ4ˆL¨ð %1Ø$0òDØ/ðDä"ðDô #ðDô
 "ðDô "ðDô !õDð6 ‰O×"Ñ"Ü%¤Ð7Ð9MÐNôð ‰O×"Ñ"Ü!Ô#6Ð7Ð9MÐNôð %1ò@Ø/ð@ä"ð@ô #ð@ô
 "ð@ô !õ@ð Ñ$×+Ñ+Ü%¤Ð7Ð9UÐVôð Ñ$×+Ñ+Ü!Ô#6Ð7Ð9UÐVôð *,òØ/ðä"ðô #ðô
 ˜S¤#˜XÑ&ðô !õð  ‰O×"Ñ"Ü!¤?Ð3°_ÐEôð ‰O×"Ñ"Ü!¤?Ð3°_ÐEôð
 Ñ$×+Ñ+Ü!¤?Ð3°_ÐEôð Ñ$×+Ñ+Ü!¤?Ð3°_ÐE÷ñk /ðvM	Ü˜œc˜Ñ"ðM	ä”%œœm¬]Ð:Ñ;Ô=MÐMÑNÑO÷M	ò M	ô^ +×1Ò1Ö3ˆBÜ˜B—<‘<Ü$ ~°b°TÐ9IÐ%JÓKÐKØÓ Ü$Ð'@ÀÀÐ%EÓFÐFÙ4°RÓ8ˆK‹Oñ 4ð Ðr£   rÞ   Úa_typeÚb_typec                 óÞ   • [         R                  5       R                  U 5      nUc  g / nU H=  u  u  pVn[        X5      (       d  M  [        X&5      (       d  M,  UR	                  U5        M?     U$ r¬   )rl  r  rš   rd  rò  )rÞ   r  r  ÚhandlersÚmatchesÚtype1Útype2râ  s           r¡   Ú_find_binop_handlerÚ#BuiltinVariable._find_binop_handler   sd   € ô #×2Ñ2Ó4×8Ñ8¸Ó<ˆØÑØàˆÛ'/Ñ#‰NˆU˜GÜ˜&×(Ó(¬Z¸×-FÓ-FØ—‘˜wÖ'ñ (0ð ˆr£   c                 ó<   • U R                   U R                  5       ;   $ r¬   )r’   rº  r  s    r¡   Úcan_insert_in_graphÚ#BuiltinVariable.can_insert_in_graph  s   € Ø�w‰w˜$×2Ñ2Ó4Ñ4Ð4r£   ÚMUST_USE_SPECIALIZEDrª   c                 óp   >• XR                   ;   a  [        SU< S35      e[        TU ]  " S0 UD6  Xl        g )Nz!Use the specialized VT class for z9, not BuiltinVariable. E.g. DictBuiltinVariable for dict.r§   )r  rÖ   r0  Ú__init__r’   )r­   r’   rª   r2  s      €r¡   r  ÚBuiltinVariable.__init__  sD   ø€ Ø×*Ñ*Ó*Ü Ø3°B±6ð :5ð 6óð ô 	‰ÒÑ"˜6Ò"Ø�r£   c                 ó†   • U R                   c  SnOU R                   R                  nU R                  R                   SU S3$ )NÚNoneÚ(Ú))r’   r±   r2  )r­   r  s     r¡   r,  ÚBuiltinVariable.__repr__   s=   € Ø�7‰7‰?Ø‰Dà—7‘7×#Ñ#ˆDà—.‘.×)Ñ)Ð*¨!¨D¨6°Ð3Ð3r£   c                 ó   • U R                   $ r¬   rÎ  r  s    r¡   rê   Ú"BuiltinVariable.as_python_constant(  ó   € Ø�w‰wˆr£   c                 ó   • U R                   $ r¬   rÎ  r  s    r¡   Úget_real_python_backed_valueÚ,BuiltinVariable.get_real_python_backed_value+  r  r£   r&  Úreversec                 óÀ  • [        U R                  [        5      (       d  [        R                  " U[
        5      $  UR                  5       n[        U R                  5      R                  U R                  U5      nU[
        L a  [        R                  " U[
        5      $ [        R                  " X5      $ ! [         a    [        R                  " U[
        5      s $ f = fr¬   )	rœ   r’   rë   r9   rí   ÚNotImplementedrê   ÚNotImplementedErrorÚ__or__)r­   rå   r&  r   Ú	other_valrì  s         r¡   Ú
nb_or_implÚBuiltinVariable.nb_or_impl.  s«   € ô ˜$Ÿ'™'¤4×(Ñ(Ü"×(Ò(¨¬^Ó<Ð<ð	=Ø×0Ñ0Ó2ˆIô �d—g‘g“×%Ñ% d§g¡g¨yÓ9ˆØ”^Ò#Ü"×(Ò(¨¬^Ó<Ð<Ü×$Ò$ RÓ0Ð0øô #ó 	=Ü"×(Ò(¨¬^Ó<Ò<ð	=ús   ¼B5 Â5%CÃCc                 óØ   >• [         [        R                   [        [        R                  [        [        R
                  0nU R                  U;   a  XR                     $ [        TU ]!  5       $ r¬   )	r<  rÎ   r;  Úint64r�  Úfloat64r’   r0  Úas_proxy)r­   ÚDTYPEr2  s     €r¡   r+  ÚBuiltinVariable.as_proxyE  sM   ø€ ä”%—*‘*Ü”—‘Ü”5—=‘=ð
ˆð
 �7‰7�eÓØŸ™‘>Ð!Ü‰wÑÓ!Ð!r£   c                 ó.  • U R                   R                  nU R                   R                  S:w  a"  [        SU R                   R                   35      eX!R                  R
                  ;   a  [        S5      eUR                  UR                  USS95        g )NÚbuiltinszExpected builtins module, got r
  Tr  )r’   r±   r²   rÖ   rå   r  r  r  r  s      r¡   r  ÚBuiltinVariable.reconstructO  s{   € Ø�w‰w×ÑˆØ�7‰7×Ñ Ó+Ü Ð#AÀ$Ç'Á'×BTÑBTÐAUÐ!VÓWÐWØ—:‘:×'Ñ'Ó'Ü Ð!2Ó3Ð3Ø×Ñ˜g×8Ñ8¸À4Ð8ÐHÕIr£   r“   c                 ó   • [        X5      $ r¬   )r%   ©r­   r“   rª   s      r¡   Úconstant_argsÚBuiltinVariable.constant_argsW  s   € Ü" 4Ó0Ð0r£   c                 ó�   • SnU H=  n[        U[        R                  5      (       a    gU=(       d    UR                  5       nM?     U$ r"  )rœ   r   r  Ú	is_tensor)r­   r“   Ú
any_tensorr    s       r¡   Útensor_argsÚBuiltinVariable.tensor_argsZ  s?   € Øˆ
ÛˆCÜ˜#œy×8Ñ8×9Ñ9ÙØ#×6 s§}¡}£ŠJñ ð Ðr£   Ú	arg_typesc                 ó¤   • SnU HG  n[        U[        R                  5      (       a    gU=(       d    [        U[        R                  5      nMI     U$ r"  )rd  r   r  rx   )r­   r:  r7  Úarg_types       r¡   Útensor_args_typeÚ BuiltinVariable.tensor_args_typeb  sF   € Øˆ
Û!ˆHÜ˜(¤I×$=Ñ$=×>Ñ>ÙØ#×U¤z°(¼I×<TÑ<TÓ'UŠJñ "ð Ðr£   c                 ó"  • / n/ n[         R                  " XR                  5       5       H<  nUR                  5       (       a  UR	                  U5        M+  UR	                  U5        M>     [        S U 5       5      =(       a    U R                  " U6 $ )Nc              3   ój   #   • U  H)  nUR                   b  [        UR                   5      OSv •  M+     g 7fr"  )ré   r!   )rI  Úts     r¡   rK  ÚBBuiltinVariable.python_and_tensor_constant_only.<locals>.<genexpr>t  s/   é € ð 
â �ð -.¯H©HÑ,@Ô˜qŸx™xÔ(ÀeÔKÚ ùs   ‚13)Ú	itertoolsÚchainrª  r6  rò  rz  r3  )r­   r“   rª   r8  Únon_tensor_argsrî   s         r¡   Úpython_and_tensor_constant_onlyÚ/BuiltinVariable.python_and_tensor_constant_onlyj  s   € ð ˆØˆÜ—’ §}¡}£Ö7ˆAØ�{‰{�}‰}Ø×"Ñ" 1Ö%à×&Ñ& qÖ)ñ	 8ô
 ñ 
á ó
ó 
÷ 3ð × Ò  /Ð2ð	3r£   c                 ó¾   • U  Vs/ s H  o"R                  5       PM     snUR                  5        VVs0 s H  u  p4X4R                  5       _M     snn4$ s  snf s  snnf r¬   )rê   rð   )r“   rª   rw  ÚkÚvs        r¡   Úunwrap_unspec_args_kwargsÚ)BuiltinVariable.unwrap_unspec_args_kwargsy  sZ   € ñ 15Ó5²¨1×$Ñ$Ö&±Ñ5Ø28·,±,´.ô8
Ú2@©$¨!ˆA×#Ñ#Ó%Ò%±.ò8
ð 
ð 	
ùÒ5ùó 8
s
   …A³Ac                 óF   • U R                  5       =(       a    [        X5      $ r¬   )r°  r'   r2  s      r¡   Úhas_constant_handlerÚ$BuiltinVariable.has_constant_handler�  s%   € ð ×-Ñ-Ó/÷ 
Ô4QØó5
ð 	
r£   Ú
has_kwargsc           
      ó’  ^ ^^^^^^^^^^^^• SSK JnJnJm  [	        T 5      m/ mXC4mT Vs/ s H  n[        UT5      (       d  M  UPM     nnU(       a™  [        U4S jU 5       5      (       d  UUU4S j$ [        R                  T T Vs/ s H  n[        UT5      (       a  [        OUPM     snT5      mSSS[        [           S[        [        [        4   S	[        S -  4U UUU4S
 jjnU$ [        R                  " T 5      (       aP  [        T [        5      (       d	  T [         L a2  SSS[        [           S[        [        [        4   S	[        4U 4S jjnU$ TR#                  5       (       aˆ  T [$        R&                  L a1  [)        T5      S:w  df  [        TS   [*        R,                  5      (       aD  TR/                  T5      (       a  TR0                  $ T(       a  TR3                  TR0                  5        [)        T5      S:X  a|  T(       du  [        R4                  " T /TQ76 mT(       d  OV[)        T5      S:X  a  Tu  mTR3                  U4S j5        O-SSS[6        S[6        S	[6        4U4S jjn	TR3                  U	5        [9        TST R:                   3S 5      mT(       aF  SSS[        [           S[        [        [        4   S	[        S -  4U UU4S jjn
TR3                  U
5        TR=                  5       (       a–  [        S T 5       5      (       a;  T(       d4  SSS[        [           S[        [        [        4   S	[        S -  4U 4S jjnO3SSS[        [           S[        [        [        4   S	[        S -  4U 4S jjnTR3                  U5        S[        [           S	S 4UU U4S jjm[)        T5      S:X  a  U4S j$ [)        T5      S:X  a:  Tu  mSSS[        [           S[        [        [        4   S	[        S -  4UU4S jjnU$ SSS[        [           S[        [        [        4   S	[        S -  4UU4S jjnU$ s  snf s  snf )Nr4   )r–   r—   ÚLazyVariableTrackerc              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7fr¬   )rd  )rI  rA  Úlazy_constant_typess     €r¡   rK  Ú0BuiltinVariable._make_handler.<locals>.<genexpr>Ÿ  s   øé € ÐNÂ:¸a”z !Ð%8×9Ð9Â:ùó   ƒc           
      óº   >• TR                  U U Vs/ s H7  n[        UT5      (       a!  [        UT5      (       d  UR                  5       OUPM9     snU5      $ s  snf r¬   )rÓ  rœ   Úrealize)rå   r“   rª   rÆ  rR  rT  Úobjs       €€€r¡   r¾   Ú/BuiltinVariable._make_handler.<locals>.<lambda>£  sl   ø€ °×0AÑ0AØñ "&óò
 "&˜Aô & aÐ)<×=Ñ=Ü *¨1Ð.A× BÑ Bð Ÿ	™	œð òñ "&ñð ô
1ùòs   ’>A
rå   r}   r“   rª   r”   c                 óD  >• U(       d  [        TU5      nUb  U$ U Ht  n[        UT5      (       d  M  UR                  5       [        Ld  M/  T	R	                  U U Vs/ s H&  n[        UT5      (       a  UR                  5       OUPM(     snU5      s  $    T" XU5      $ s  snf r¬   )r¢   rœ   Úget_handler_type_for_dispatchr:   rÓ  rX  )
rå   r“   rª   rì  rÆ  rJ  r’   Úinner_handlerrT  rY  s
         €€€€r¡   Úlazy_constant_handlerÚ<BuiltinVariable._make_handler.<locals>.lazy_constant_handler¾  s·   ø€ ö
 Ü8¸¸TÓB�FØÑ)Ø%˜Û�AÜ! !Ð%8×9Ó9Ø×:Ñ:Ó<ÔDTÔTØ#&×#4Ñ#4Ø "ñ
 .2ó	!"ò .2¨ô (2°!Ð5H×'IÑ'Ið %&§I¡I¤Kà)*ò%+ñ .2ñ	!"ð !'ó	$ò 	ñ ñ % R¨vÓ6Ð6ùò!"s   Á-Bc                 ó|  >• T[         L a<  [        S U 5       5      (       d%  [        S[        U5      S/ [        R
                  QS9  T[        L a  [        R                  " TX5      $ T[        L a  [        R                  " TX5      $ T[        L a  [        R                  " TX5      $ [        R                  " TX5      $ )Nc              3   óŒ   #   • U  H:  nUR                  5       =(       a    [        UR                  5       [        5      v •  M<     g 7fr¬   )r/  rœ   rê   r·   rv  s     r¡   rK  ÚWBuiltinVariable._make_handler.<locals>.create_exception_class_object.<locals>.<genexpr>å  s9   é € ð 4â!˜ð ×(Ñ(Ó*×V¬z¸!×:NÑ:NÓ:PÔRUÓ/VÔVÚ!ùs   ‚AAzassert with non-string messagez1Dynamo only supports asserts with string messages©Úgb_typeÚcontextÚexplanationÚhints)rÖ   rz  r   r·   r   ÚSUPPORTABLEÚStopIterationr   ÚStopIterationVariableÚAttributeErrorÚAttributeErrorVariableÚ	NameErrorÚNameErrorVariableÚExceptionVariable)rå   r“   rª   r’   s      €r¡   Úcreate_exception_class_objectÚDBuiltinVariable._make_handler.<locals>.create_exception_class_objectà  s±   ø€ ð
 œÒ'´ñ 4á!ó4÷ 1ñ 1ô "Ø @Ü # D£	Ø$WØ>Ô 1× =Ñ =Ð>ò	ð œÒ&Ü$×:Ò:¸2¸tÓLÐLØœ>Ò)Ü$×;Ò;¸BÀÓMÐMØœ9’_Ü$×6Ò6°r¸4ÓHÐHÜ ×2Ò2°2°tÓDÐDr£   r   r   c                 ó   >• T" U /UQ76 $ r¬   r§   )rå   r“   Ú_Úbinop_handlers      €r¡   r¾   rZ    s   ø€ ±MÀ"Ð4LÀtÓ4Lr£   rs  c                 ó@   >• T H  nU" U /UQ76 nU(       d  M  Us  $    g r¬   r§   )rå   r“   rs  r’   ÚrvÚbinop_handlerss        €r¡   Úcall_binop_handlersÚ:BuiltinVariable._make_handler.<locals>.call_binop_handlers  s+   ø€ ó -˜Ù ˜] Tš]˜ß˜2Ø#%šIñ -ð  r£   Úcall_c                 óú  >•  T" U /UQ70 UD6$ ! [          a¦     [        R                  " T5      R                  " U /UQ70 UD6  e ! [          al  nTR	                  X5      nU(       dI  [
        R                  STU5        [        SST SU SU 3STR                   3/ [        R                  QS9   S nA g S nAff = f[         a3  nTR	                  X5      nU(       d  e UR                  5          S nAg S nAff = f)Nz1incorrect arg count %s %s and no constant handlerz"invalid call to builtin op handlerzinvalid args to z: Ú z/Encountered TypeError when trying to handle op rc  )rÜ  ÚinspectÚ	signatureÚbindrN  ÚlogÚwarningr   r±   r   Ú	DIFFICULTr   Úremove_from_stats)	rå   r“   rª   ÚerN  rÝ  r’   rY  Úself_handlers	         €€€r¡   Úcall_self_handlerÚ8BuiltinVariable._make_handler.<locals>.call_self_handler"  s  ø€ ð
,á'¨Ð<¨TÒ<°VÑ<Ð<øÜ ó ðä×)Ò)¨,Ó7×<Ò<¸RÐQÀ$ÒQÈ&ÒQð  øô %ó Ø/2×/GÑ/GÈÓ/UÐ,Þ3ÜŸK™KØ SØ ,Ø !ôô
 *Ø(LØ*:¸<¸.ÈÈ4È&ÐPQÐRXÐQYÐ(ZØ.]Ð^`×^iÑ^iÐ]jÐ,kØ&DÔ(9×(CÑ(CÐ&Dò	üð ûð-úô  #ó ,Ø+.×+CÑ+CÀDÓ+QÐ(Þ/Øà×)Ñ)×+Ð+Øûð,ús?   ƒ �
C:š*AÁC:Á
B;ÁA!B6Â0C:Â6B;Â;C:Ã)C5Ã5C:c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr¬   )rd  r:   rv  s     r¡   rK  rU  L  s   é € ÐGºY¸”J˜qÔ"2×3Ð3ºYùó   ‚c           	      ój  >•  T" U Vs/ s H  o3R                  5       PM     sn6 n[        R                  " U W5      $ s  snf ! [         a1  n[        [        U5      U [	        UR
                  5      S9   S nANRS nAf[         a-  n[        SST SU 3S/ [        R                  QUS9   S nAN‡S nAff = f)NrÛ  úconstant fold exceptionúattempted to run function ú with arguments ú7Encountered exception when attempting to constant fold.©rd  re  rf  rg  Úfrom_exc)rê   Ú	Exceptionr   rë   r=  r“   r5   r   r   Ú
DYNAMO_BUGr9   rí   )rå   r“   rª   rw  ÚresrÝ  r’   s         €r¡   Úconstant_fold_handlerÚ<BuiltinVariable._make_handler.<locals>.constant_fold_handlerP  s±   ø€ ðÙ Ù>BÓCºd¸×2Ñ2Ö4¹dÑCð˜ô" +×0Ò0°°SÓ9Ð9ùò! Døä$ó Ü0Ü  ›IØÜ!% c§h¡h£÷ûô
 ?ó Ü%Ø$=Ø&@ÀÀÐDTÐUYÐTZÐ$[Ø(aØ"AÔ$5×$@Ñ$@Ð"AØ%(÷ûðús1   ƒA ‰=¢A ½A Á
B2Á'A8Á8B2Â#B-Â-B2c                 ó   >• [        X5      (       ao   T" U Vs/ s H  o3R                  5       PM     sn0 UR                  5        VVs0 s H  u  pEXER                  5       _M     snnD6n[        R                  " U W5      $ g s  snf s  snnf ! [         a-  n[	        SST SU 3S/ [
        R                  QUS9   S nANUS nAf[         a1  n[        [        U5      U [        UR                  5      S9   S nANŽS nAff = f)Nr‹  rŒ  r�  rŽ  r�  rÛ  )r'   rê   rð   r5   r   r   r’  r‘  r   rë   r=  r“   r9   rí   )	rå   r“   rª   rw  rI  rJ  r“  rÝ  r’   s	           €r¡   r”  r•  l  sý   ø€ ô 5°T×BÑBðÙ"$ÙBFÓ!GÂ$¸Q×"6Ñ"6Ö"8Á$Ñ!Gð#ð KQÏ,É,Ì.ô#"ÚJXÁ$À! A×';Ñ';Ó'=Ò$=É.ò#"ñ#˜Cô(  /×4Ò4°R¸Ó=Ð=Øùò) "Hùó#"øô  Có Ü)Ø(AØ*DÀRÀDÐHXÐY]ÐX^Ð(_Ø,eØ&EÔ(9×(DÑ(DÐ&EØ),÷ûô  )ó Ü4Ü $ S£	Ø "Ü%)¨#¯(©(£^÷ûðús?   “B ™B²B ÁBÁ$B ÂB Â
C=Â#B?Â?C=Ã'C8Ã8C=c                 óö   >• U  Vs/ s H  oR                  5       PM     nn[        SSTR                   ST ST 3STR                   SU ST S3STR                   SU S	TR                   S
3SS/S9  g s  snf )Nz Failed to trace builtin operatorzbuiltin r|  z4Dynamo does not know how to trace builtin operator `z` with argument types z (has_kwargs r  zAvoid calling builtin `z?. Consider using an equivalent alternative function/method to `z`.z�If you are attempting to call a logging function (e.g. `print`), you can try adding it to `torch._dynamo.config.reorderable_logging_functions`.z"Please report an issue to PyTorch.rc  )Úpython_type_namer   r±   )r“   r    Úreal_arg_typesr:  r’   rP  s      €€€r¡   Úcall_unimplementedÚ9BuiltinVariable._make_handler.<locals>.call_unimplemented�  s²   ø€ Ù@DÓEÂ¸×2Ñ2Ö4ÁˆNÐEÜØ:Ø" 2§;¡; -¨q°°¸1¸Z¸LÐIØRÐSU×S^ÑS^ÐR_ð `'Ø'5Ð&6°mÀJÀ<ÈqðRð .¨b¯k©k¨]Ð:PÐQ_ÐP`ð aTØTV×T_ÑT_ÐS`Ð`bðdðeà8ðóùò Fs   †A6c                 ó   >• T" U5      $ r¬   r§   )rå   r“   rª   rš  s      €r¡   r¾   rZ  ž  s   ø€ Ñ,>¸tÔ,Dr£   c                 ó<   >• T" XU5      nU(       a  U$ T" U5        U$ r¬   r§   )rå   r“   rª   rv  rš  râ  s       €€r¡   Úbuiltin_dispatchÚ7BuiltinVariable._make_handler.<locals>.builtin_dispatch¢  s&   ø€ ñ
 ˜R vÓ.�ÞØ�IÙ" 4Ô(Ø�	r£   c                 óV   >• S nT H  nU" XU5      nU(       d  M  Us  $    T" U5        U$ r¬   r§   )rå   r“   rª   rv  r’   rš  r  s        €€r¡   rž  rŸ  ¯  s9   ø€ ð
 �Û"�BÙ˜B fÓ-�Bß�rØ!š	ñ #ñ # 4Ô(Ø�	r£   )r˜   r–   r—   rR  rl  rd  rz  Ú_make_handlerr:   r=  r9   r¶   r·   r}  ÚisclassÚBaseExceptionÚGeneratorExitr  r×   rÚ   r›   r   rx   r=  Ú_handle_insert_op_in_graphrò  r  r   r  r±   r°  )r’   r:  rP  r–   r—   rA  Ú
lazy_typesr^  rp  rx  r†  r”  rž  rR  rt  rw  rš  râ  r  r]  rT  rY  r…  s   ```          @@@@@@@@@@r¡   r¡  ÚBuiltinVariable._make_handlerˆ  s\  ÿü€ ÷	
ñ 	
ô ˜bÓ!ˆØ+-ˆà3ÐRÐÙ!*ÓQ¢˜A¬j¸Ð<O×.P—a¡ˆ
ÐQÞÜÔNÁ:ÓN×NÑNö
ð 
ô$ ,×9Ñ9Øñ 'óâ&˜ô )3°1Ð6I×(JÑ(JÕ$ÐPQÒQÙ&ñð óˆMð7Ø/ð7äœ?Ñ+ð7ô œS¤/Ð1Ñ2ð7ô ! 4Ñ'÷	7ò 7ð0 )Ð(ä�?Š?˜2×ÑÜ�rœ=×)Ñ)ð ”]Ò"ðEØ/ðEäœ?Ñ+ðEô œS¤/Ð1Ñ2ðEô !÷	Eð0 1Ð0à×"Ñ"×$Ñ$Ø”(×"Ñ"Ò"ä�I“ !Ó#Ü! )¨A¡,´	×0HÑ0H×IÑIð ×#Ñ# I×.Ñ.Ø×5Ñ5Ð5Þà—‘ × >Ñ >Ô?ô ˆy‹>˜QÓ¦zä,×@Ò@ÀÐPÀiÒPˆNÞ!ØÜ�^Ó$¨Ó)Ø#1Ñ �Ø—‘Ô LÕMð Ø3ð Ü;>ð ÜCFð ä÷ ð —‘Ð 3Ô4ä˜s e¨B¯K©K¨=Ð$9¸4Ó@ˆÞð$Ø/ð$äœ?Ñ+ð$ô œS¤/Ð1Ñ2ð$ô ! 4Ñ'÷	$ñ $ðL �O‰OÐ-Ô.à×(Ñ(×*Ñ*äÑG¹YÓG×GÑGÞ"ð:Ø3ð:äœÑ/ð:ô !¤¤oÐ!5Ñ6ð:ô % tÑ+÷	:ð :ð8 Ø3ð äœÑ/ð ô !¤¤oÐ!5Ñ6ð ô % tÑ+÷	 ð> �O‰OÐ1Ô2ð	¤T¬/Ñ%:ð 	¸t÷ 	ñ 	ô  ˆx‹=˜AÓÜDÐDÜ�‹]˜aÓØ!‰JˆWð	Ø/ð	äœ?Ñ+ð	ô œS¤/Ð1Ñ2ð	ô ! 4Ñ'÷		ð 	ð4  ÐðØ/ðäœ?Ñ+ðô œS¤/Ð1Ñ2ðô ! 4Ñ'÷	ð ð  Ðùò Rùò4s   ¬P?ÁP?Â
#Q
Únodec                 ó:  ^• [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                   4m[#        U4S j[         R$                  " U 5       5       5      $ )Nc              3   óê   >#   • U  Hh  n[        UT5      =(       aP    [        U[        R                  5      (       + =(       d*    [        UR                  [        [
        [        [        45      v •  Mj     g 7fr¬   )rœ   ÚastÚConstantrü   r<  r;  r�  r  )rI  ÚchildÚallowed_nodess     €r¡   rK  Ú>BuiltinVariable._constant_eval_numeric_expr.<locals>.<genexpr>Ò  s[   øé € ð 
ò (�ô �u˜mÓ,÷ ä˜u¤c§l¡lÓ3Ô3÷ HÜ˜eŸk™k¬D´#´u¼gÐ+FÓGôò
 (ùs   ƒA0A3)r«  Ú
Expressionr¬  ÚUnaryOpÚBinOpÚUAddÚUSubÚInvertÚAddÚSubÚMultÚDivÚFloorDivÚModÚBitOrÚBitXorÚBitAndrz  Úwalk)r¨  r®  s    @r¡   Ú_constant_eval_numeric_exprÚ+BuiltinVariable._constant_eval_numeric_expr¾  s¢   ø€ ô �N‰NÜ�L‰LÜ�K‰KÜ�I‰IÜ�H‰HÜ�H‰HÜ�J‰JÜ�G‰GÜ�G‰GÜ�H‰HÜ�G‰GÜ�L‰LÜ�G‰GÜ�I‰IÜ�J‰JÜ�J‰Jð!
ˆô$ ô 
ô Ÿš $œó
ó 
ð 	
r£   ÚtreeÚfilenamec           	      óì  • [        S [        R                  " U5       5       5      (       a  g [        R                  " U5         [        R                  " U5      n[        R                   " U W5      $ ! [
         ax    [        R                  U5      (       d   g  [        [        XS5      S0 00 5      n NY! [         a2  n[        [        U5      U [        UR                  5      S9   S nA N�S nAff = ff = f)Nc              3   óV   #   • U  H  n[        U[        R                  5      v •  M!     g 7fr¬   )rœ   r«  ÚCall)rI  r­  s     r¡   rK  Ú8BuiltinVariable._constant_eval_result.<locals>.<genexpr>ß  s   é € ÐGº¨uŒz˜%¤§¡×*Ð*ºùs   ‚')ÚevalÚ__builtins__rÛ  )r\  r«  r¿  Úfix_missing_locationsÚliteral_evalÚ
ValueErrorrl  rÀ  rÈ  Úcompiler‘  r   rë   r=  r“   r9   rí   )rå   rÂ  rÃ  rì  rÝ  s        r¡   Ú_constant_eval_resultÚ%BuiltinVariable._constant_eval_resultÛ  sÔ   € ô ÑG¼¿ºÀ¼ÓG×GÑGØÜ×!Ò! $Ô'ð	MÜ×%Ò% dÓ+ˆFô ×$Ò$ R¨Ó0Ð0øô ó 
	MÜ"×>Ñ>¸t×DÑDÙðMÜÜ˜D¨FÓ3Ø# RÐ(Øó’øô
 ó MÜ(¬¨c«°B¼TÀ#Ç(Á(»^×LÐLûðMúð
	Mús0   ÁA1 Á1$C3ÂB3Â3
C/Â='C*Ã$C3Ã*C/Ã/C3c                 óf  • U(       d  U(       a  g UR                  5       (       d  g UR                  5       n[        U[        5      (       d  g  [        R
                  " UR                  5       SS9nU R                  UWS5      $ ! [         a#  n[        [        XR                  /S9   S nAN;S nAff = f)NrÈ  )ÚmoderÛ  z<torch._dynamo.eval>)r/  rê   rœ   r·   r«  ÚparseÚstripÚSyntaxErrorr   ÚmsgrÎ  )r­   rå   ré   r“   rª   Ú
source_strrÂ  rÝ  s           r¡   Ú	call_evalÚBuiltinVariable.call_evalñ  s—   € ö –6ØØ×(Ñ(×*Ñ*ØØ×.Ñ.Ó0ˆ
Ü˜*¤c×*Ñ*Øð	FÜ—9’9˜Z×-Ñ-Ó/°fÑ=ˆDð ×)Ñ)¨"¨dÐ4JÓKÐKøô ó 	FÜ$¤[°"¿G¹G¸9×Eûð	Fús   Á#B Â
B0ÂB+Â+B0c                 ó"  • U(       a  [        US5        [        U5      S:X  a  U R                  U5      $ [        U5      S:w  a  [        US[        U5       35         US   R                  US5      $ ! [         a    [        [        U5         g f = f)Nz!vars() takes no keyword argumentsr   r4   z&vars expected at most 1 argument, got r«  )r   r›   Ú_call_frame_locals_snapshotr  r   r   rÜ  ©r­   rå   r“   rª   s       r¡   Ú	call_varsÚBuiltinVariable.call_vars  s„   € ö Ü˜RÐ!DÔEÜˆt‹9˜‹>Ø×3Ñ3°BÓ7Ð7Üˆt‹9˜‹>Ü˜RÐ#IÌ#ÈdË)ÈÐ!UÔVð	4Ø˜‘7×+Ñ+¨B°
Ó;Ð;øÜ%ó 	4Ü$¤Y°Ö3ð	4ús   ÁA1 Á1BÂBc                 ób   • [        U5      S:w  a  [        [        U5        U R                  U5      $ rÈ   )r›   r   rÜ  rÚ  ©r­   rå   r“   s      r¡   Úcall_localsÚBuiltinVariable.call_locals  s*   € ô ˆt‹9˜‹>Ü$¤Y°Ô3Ø×/Ñ/°Ó3Ð3r£   c                 ó  • SSK Jn  [        U R                  R                  5      [        U R                  5       5      -  n[        U R                  5       5      n0 n[        R                  S S S:X  a5  U R                  R                  5       U R                  R                  5       4nO4U R                  R                  5       U R                  R                  5       4n[        R                  " U6  H¨  u  pgXb;  a  M  [        R                  [        U5      (       a%  U R                   R"                  R%                  U5      n[        R                  [&        U5      (       d  [)        U[*        R,                  5      (       a  M�  Xt[.        R0                  " U5      '   Mª     U H]  nXd;   d  Xc;   a  M  X`R2                  ;  a  M   U" U [5        U5      5      " U R2                  U   5      nX„[.        R0                  " U5      '   M_     [7        U[9        5       S9$ )Nr4   )ÚVariableBuilderr   rO  ©Úmutation_type)rÔ  rã  ÚsetÚf_codeÚco_varnamesÚcell_and_freevarsrb  rc  Úsymbolic_localsrð   Úsymbolic_cellvarsrC  rD  rë   rS  rG   rÕ  Úside_effectsÚ	load_cellrH   rœ   r   ÚDeletedVariabler:   rž   Úf_localsr"   r<   r8   )	rå   rã  Úframe_local_namesré  Úframe_localsÚitsr  rü   Úvts	            r¡   rÚ  Ú+BuiltinVariable._call_frame_locals_snapshot   s¯  € å,ä §	¡	× 5Ñ 5Ó6¼¸R×=QÑ=QÓ=SÓ9TÑTÐÜ × 4Ñ 4Ó 6Ó7ÐØˆô
 ×Ñ˜B˜QÐ 7Ó*Ø×%Ñ%×+Ñ+Ó-¨r×/CÑ/C×/IÑ/IÓ/KÐL‰Cà×'Ñ'×-Ñ-Ó/°×1CÑ1C×1IÑ1IÓ1KÐLˆCä$Ÿ?š?¨CÓ0‰KˆDØÓ,Ùô ×%Ñ%¤l°E×:Ñ:ØŸ	™	×.Ñ.×8Ñ8¸Ó?�Ü×%Ñ%¤l°E×:Ñ:¼jØ”y×0Ñ0÷?ñ ?ñ Ø:?Ô)×0Ò0°Ó6Ó7ñ 1ó &ˆDØÓ# tÓ'@ÙØŸ;™;Ó&ÙÙ  ¤[°Ó%6Ô7¸¿¹ÀDÑ8IÓJˆBØ:<Ô)×0Ò0°Ó6Ó7ñ &ô !ØÜ*Ó,ñ
ð 	
r£   c           
      óì  • SSK JnJn  U(       a(  U R                  " / UQUR	                  5       Q76 (       d  g SSK Jn  SSKJnJn  U" XU5      (       aº  UR                  (       dƒ  [        5         US   R                  5       (       dM  U R                  [        ;   a  [        U R                     n	O[        U R                     n	US   n
US   US'   X¢S'   O [        U R                     n	OU R                  n	UR                  X5      nU" XX#5      $ U R                  n U R                   " U0 UD6(       a&  SSKJn  SSKJn  U" XU" UR*                  5      X#5      $ U[,        ;   a5  [/        US   [0        R2                  5      (       a  [,        U   nUS   US   /nU[4        R6                  L a‹  U(       a  [9        US	5        [;        U5      S:w  a  [9        US
[;        U5       35        [/        US   [<        5      (       a9  [>        R@                  nUS   [0        RB                  RE                  US5      US   /n[G        X#5      (       a^  [I        S U 5       5      (       dG  URJ                  RL                  " S[O        U5      /[Q        X#5      Q76 nU" [0        RR                  X5      $ U[T        ;   a@  [;        U5      S:X  a1  [I        S U 5       5      (       a  [W        XS   US   [T        U   5      $ URJ                  RL                  " SU/[Q        X#5      Q76 n[I        S U 5       5      (       a  U" [X        UU5      $ [[        X#5      (       a^  U R]                  X#5      u  nnU" U0 UD6n[I        S [^        R`                  " X#R	                  5       5       5       5      nU" [b        UUUUS9$ [e        S U 5       5      (       a  [<        R                  " XS 5      $ U[4        Rf                  L aC  [/        US   [0        Rb                  5      (       a!  [i        U5      nUS   Rk                  5       US'   U" X5      $ ! [l         a6    [o        SSU  SU SU 3SU R                   S3/ [p        Rr                  QS9   g f = f)Nr4   )rÒ  Úwrap_fx_proxy_cls©ÚSourcelessBuilder)Úcan_dispatch_torch_functionÚdispatch_torch_functionr   r   )Ú	unique_id)Úinvoke_and_store_as_constantú._operator.getitem() takes no keyword argumentsú"getitem expected 2 arguments, got c              3   óD   #   • U  H  n[        U5      [        L v •  M     g 7fr¬   )rë   rx   ©rI  r    s     r¡   rK  Ú=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>¤  s   é € ð BÚ7;°”�S“	œ^Õ+²tùs   ‚ rÓ  c              3   ól   #   • U  H*  n[        U[        R                  [        45      (       + v •  M,     g 7fr¬   )rœ   r   rx   rw   ©rI  rÆ  s     r¡   rK  r  ²  s/   é € ð â!˜ô # 1¤y×'?Ñ'?ÄÐ&QÓR×RÑRÚ!ùs   ‚24c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr¬   ©rœ   ru   r   s     r¡   rK  r  À  s   é € ÐEÂ¸”:˜cÔ#3×4Ð4Âùr‰  c              3   ó|   #   • U  H2  n[        U[        R                  5      (       d  M$  UR                  v •  M4     g 7fr¬   ©rœ   r   ry   Úneed_unwraprv  s     r¡   rK  r  Ê  s-   é € ð "âC˜Ü! !¤Y×%JÑ%J×Kó "�A—M–MÚCùó   ‚#<©<)Ú	raw_valuer  c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr¬   ©rœ   rw   rv  s     r¡   rK  r  ×  s   é € ÐBºT¸”Z ¤?×3Ð3ºTùr‰  z,unimplemented builtin op on tensor argumentszpartial tensor op: r|  z3Dynamo does not know how to trace builtin operator z with tensor argumentsrc  ):rÔ  rÒ  rö  r8  rª  rø  Útorch_functionrù  rú  Úexportrá   r6  r’   r�   r�   rž   rF  Úbytecode_transformationrû  rû  rü  r±   r™   rœ   r   r:   r×   rÚ   r   r›   rw   rÎ   Úselectr9   rí   r&   r\  rÕ  rÖ  r.   r/   ÚNumpyNdarrayVariabler�   rU   ru   r(   rK  rC  rD  ry   rz  r’  r=  rê   r#  r   r   rh  )r­   rå   r“   rª   rÒ  rö  rø  rù  rú  r¨   ÚtmpÚfn_varr’   rû  rü  ÚproxyÚ_argsÚ_kwargsr
  r  s                       r¡   r¥  Ú*BuiltinVariable._handle_insert_op_in_graphK  sO  € ÷ 	>æ˜$×*Ò*ÐC¨DÐC°6·=±=³?×CÐCØõ 	/ßXñ ' r°×8Ñ8ð —9—9ä1Ô3à˜A‘w×(Ñ(×*Ñ*Ø—w‘wÔ";Ó;Ü8¸¿¹ÑA™ä7¸¿¹Ñ@˜à˜q™'�Cà" 1™g�D˜‘GØ!˜’Gä3°D·G±GÑ<‘Dà—w‘w�à&×-Ñ-¨bÓ7ˆFá*¨2°tÓDÐDà�W‰Wˆðs	à×3Ò3°TÐD¸V×DÝ?ÝCá3Ø™I b§k¡kÓ2°Dóð ð Ô,Ó,´Ø�Q‘œ×3Ñ3÷2ñ 2ô -¨RÑ0�Ø˜Q™  a¡Ð)�à”X×%Ñ%Ò%ÞÜ$ØÐLôô �t“9 “>Ü$ØÐ@ÄÀTÃÀÐLôô ˜d 1™g¤×7Ñ7ô Ÿ™�Bà˜Q™Ü!×1Ñ1×7Ñ7¸¸AÓ>Ø˜Q™ð�Dô (¨×5Ñ5¼cñ BÙ7;óB÷ ?ñ ?ð Ÿ	™	×.Ò.Ø#Ü*¨2Ó.ðô ' tÓ4ò�ñ )¬×)GÑ)GÈÓSÐSð Ô)Ó)Ü˜“I “NÜñ á!ó÷ ñ ô
 +Ø˜Q™  a¡Ô*=¸bÑ*Aóð ð —I‘I×*Ò*ØØðô # 4Ó0òˆEô
 ÑEÁÓE×EÑEÙ(Ü$ØØóð ô
 *¨$×7Ñ7Ø!%×!?Ñ!?ÀÓ!M‘��wÙ Ð1¨Ñ1�	ä!ñ "ä&Ÿ_š_¨T·=±=³?ÔCó"ó �ñ )Ü/ØØØ'Ø +ñð ô ÑB¹TÓB×BÑBÜ&×-Ò-¨b¸Ó>Ð>ð œ×)Ñ)Ò)¬jØ˜‘GœY×BÑB÷/ñ /ô   ›:�DØ" 1™g×8Ñ8Ó:�D˜‘GÙ$ RÓ/Ð/øä"ó 	ÜØFØ-¨d¨V°1°T°F¸!¸F¸8ÐDØQÐRV×RYÑRYÐQZÐZpÐqØ6Ô)×5Ñ5Ð6ô	ð	ús;   Ä<P3 ÅE
P3 Ê#A	P3 Ë-AP3 Ì9A-P3 Î'-P3 ÏAP3 Ð3=Q3Ñ2Q3Úcall_function_handler_cachec                 óÜ  • U R                   [        L a.  U(       d'  U(       d   SSKJn  UR	                  U[        5       5      $ U(       aL  UR                  5        VVs0 s H  u  pVXVR                  5       _M     nnnU R                   /S U 5       QSP7nOU R                   /S U 5       Q7nU R                  R                  U5      nU(       dO  U R                  U R                   U V	s/ s H  n	[        U	5      PM     sn	[        U5      5      =U R                  U'   nUc5  [        SU R                    SU V	s/ s H  n	[        U	5      PM     sn	 35      eU" XU5      $ s  snnf s  sn	f s  sn	f )Nr4   r÷  c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr¬   ©rë   rv  s     r¡   rK  Ú0BuiltinVariable.call_function.<locals>.<genexpr>  ó   é € Ð4ªt¨!œd 1Ÿg˜gªtùrM  Tc              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr¬   r  rv  s     r¡   rK  r  
  r  rM  zNo handler found for z with args )r’   r-  rÔ  rø  rž   rð   rX  r  rš   r¡  rë   r<  rÖ   )
r­   rå   r“   rª   rø  rI  rJ  Úkeyrâ  rw  s
             r¡   rÓ  ÚBuiltinVariable.call_function÷  sC  € ð �7‰7”fÒ¦T¶&õ 3à$×+Ñ+¨B´³Ó9Ð9ö Ø17·±´Ô@²©¨�aŸ™›’n±ˆFÑ@Ø—7‘7Ð;Ñ4©tÓ4Ð;°dÑ;‰Cà—7‘7Ð5Ñ4©tÓ4Ñ5ˆCà×2Ñ2×6Ñ6°sÓ;ˆÞØ>B×>PÑ>PØ—‘©4Ó0ª4 aœ$˜qž'©4Ñ0´$°v³,ó?ð ˆD×,Ñ,¨SÑ1°Gð ‰?Ü Ø'¨¯© y°ÉdÓ<SÊdÈ¼TÀ!¾WÉdÑ<SÐ;TÐUóð ñ �r Ó(Ð(ùó Aùò 1ùò =Ts   ÁEÃ(E$
Ä7E)r  c                 óø  >• U R                   [        L aÍ  US:X  aÇ  [        U5      S:w  a  [        S[        U5       35      e[        U5      S:w  a  [        S[        U5       35      eUu  pVnUR	                  5       n[        U[        5      (       aQ  UR                  R                  R                  U5      (       a'  UR                  5       (       a  UR                  XU5      $ US:X  Ga"  U R                   [        L aa  [        U5      S:X  aR  [        U5      S:w  a  [        S[        U5       35      eUR                  R                  R                  U US   USS  US	9$ U R                   [        L a›  [        U5      S
:X  aŒ  U(       d…  [        US   [        5      (       aA  US   R                   [        L a+  [        XS   5      n[         R"                  " U[%        5       S9$ UR                  R                  R                  U US   USS  US	9$ U[&        R)                  U R                   S5      ;   a©  [+        S U 5       5      (       a’  [+        S UR-                  5        5       5      (       am   [/        U R                   U5      n	U	" S U 5       0 UR1                  5        V
Vs0 s H  u  p«X«R3                  5       _M     snn
D6n[4        R6                  " X5      $ U R                   [        L a%  US:X  a  [         RB                  RE                  S 5      $ U R                   [F        [H        [>        [        4;   ay  [        US   [         R                  5      (       a>  US   RJ                  c  [        S5      eUS   RJ                  RM                  XUSS  U5      $ US   RM                  XUSS  U5      $ US;   aÓ  [        U5      S
:X  aÄ  U(       d½  [        U R                   [<        5      (       až  US   R                  5       (       a†  US   R                  5       (       an  US   R3                  5       n[        XàR                   5      (       aA  [B        RD                  " [/        U R                   U5      " XãS   R3                  5       5      5      $ U R                   [N        L aa  [        U5      S:¼  aR  [/        U R                   US 5      nU[P        ;   a1  [        US   [B        5      (       a  US   RM                  XUSS  U5      $ U R                   [R        L ac  [        U5      S:¼  aT  [        US   [B        5      (       a<  [4        R6                  " U[/        [R        U5      " US   R3                  5       5      5      $ US:X  a$  [        U5      S:X  a  U(       d  [U        XS   5      $ US:X  a&  [        U5      S:X  a  U(       d  [V        TU ]™  XX45      $ US:X  a&  [        U5      S:X  a  U(       d  [V        TU ]™  XX45      $ US:X  a$  [        U5      S:X  a  U(       d  [Y        XS   5      $ US:X  a$  [        U5      S:X  a  U(       d  [[        XS   5      $ US:X  a$  [        U5      S:X  a  U(       d  []        XS   5      $ US:X  a$  [        U5      S:X  a  U(       d  [_        XS   5      $ US:X  a$  [        U5      S:X  a  U(       d  [a        XS   5      $ US:X  a]  [        U5      S:X  aN  U(       dG  US   n[        U[         Rb                  5      (       a#  URJ                  b  [e        UURJ                  5      $ [V        TU ]™  XX45      $ s  snn
f ! [8         a2  n[;        [=        U5      U[?        UR@                  5      S9   S nAGNœS nAff = f)NÚ__setattr__r„   z'object.__setattr__ expects 3 args, got r   z*object.__setattr__ expects no kwargs, got r~   r4   z&object.__new__ expects no kwargs, got ©rå   r   rä  r§   c              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr¬   ©r/  r  s     r¡   rK  Ú.BuiltinVariable.call_method.<locals>.<genexpr>M  s   é € Ð8²4¨a×'Ñ'×)Ð)²4ùó   ‚c              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr¬   r%  ©rI  rJ  s     r¡   rK  r&  M  s   é € ð AÚ0?¨1×$Ñ$×&Ð&²ùr'  c              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr¬   )rê   r  s     r¡   rK  r&  S  s   é € Ð?º$°Q×.Ñ.×0Ð0º$ùr'  rÛ  r  z3UserDefinedObjectVariable._base_vt must not be None)r‡   rˆ   r‰   rŠ   r‹   rŒ   Ú__len__r+  r,  Ú__iter__Ú__neg__Ú__pos__Ú__abs__Ú
__invert__Ú__hash__)3r’   r-  r›   rÖ   rX  rœ   rz   rÕ  rì  Úis_attribute_mutationr/  Úmethod_setattr_standardÚtrack_new_user_defined_objectr:  rl  r3   r   rF   r8   r‚   rš   rz  rª  r  rð   rê   r9   rí   r‘  r   rë   r=  r“   r:   rž   ræ  Ú	frozensetÚ_base_vtr1  r·   r1   r�  rW   r0  rP   rh   ri   r]   re   ÚUserDefinedConstantVariablerQ   )r­   rå   r  r“   rª   rY  Úname_varÚvalÚ	init_argsr’   rI  rJ  r“  r„  ÚlvalÚresolved_fnr    r2  s                    €r¡   r1  ÚBuiltinVariable.call_method  s~  ø€ ð �7‰7”fÒ ¨Ó!6Ü�4‹y˜A‹~Ü$Ø=¼cÀ$»i¸[ÐIóð ô �6‹{˜aÓÜ$Ø@ÄÀVÃÀÐNóð ð "&ÑˆC˜3Ø—+‘+“-ˆCä˜3Ô 9×:Ñ:Ø—I‘I×*Ñ*×@Ñ@À×EÑEØ×/Ñ/×1Ñ1à×2Ñ2°2ÀÓEÐEà�9Ôà�w‰wœ&Ò ¤S¨£Y°!£^Ü�v“; !Ó#Ü(Ø@ÄÀVÃÀÐNóð ð —y‘y×-Ñ-×KÑKØØ˜‘GØ˜˜�HØð	 Lð ð ð �w‰wœ%Ò¤C¨£I°£N¾6Ü˜d 1™g¤×7Ñ7¸DÀ¹G¿J¹JÌ%Ò<OÜ /°¸±GÓ <�IÜ$×2Ò2Ø!Ô1AÓ1Cñð ð —y‘y×-Ñ-×KÑKØØ˜‘GØ˜˜�HØð	 Lð ð ð Ô5×9Ñ9¸$¿'¹'À2ÓFÓFÜÑ8±4Ó8×8Ñ8¼Sñ AØ06·±´óA÷ >ñ >ðÜ  §¡¨$Ó/�BÙÙ?¹$Ó?ðàAGÇÁÄÔPÂ¹¸˜1×2Ñ2Ó4Ò4ÁÒPñ�Cô +×0Ò0°Ó9Ð9ð �7‰7”fÒ ¨Ó!3ä×-Ñ-×4Ñ4°TÓ:Ð:à�7‰7”sœI¤t¬UÐ3Ó3Ü˜$˜q™'¤9×#FÑ#F×GÑGØ˜‘7×#Ñ#Ñ+Ü(ØMóð ð ˜A‘w×'Ñ'×3Ñ3°B¸dÀ1À2¸hÈÓOÐOà˜A‘w×*Ñ*¨2°T¸!¸"°X¸vÓFÐFð ÐPÓPÜ�D“	˜Q“ÞÜ˜4Ÿ7™7¤D×)Ñ)Ø�Q‘×*Ñ*×,Ñ,Ø�Q‘×*Ñ*×,Ñ,ð ˜‘7×-Ñ-Ó/ˆDÜ˜$§¡×(Ñ(Ü'×.Ò.Ü˜DŸG™G TÔ*¨4°a±×1KÑ1KÓ1MÓNóð ð �7‰7”cŠ>œc $›i¨1›nÜ! $§'¡'¨4°Ó6ˆKØœkÓ)ä˜d 1™gÔ'7×8Ñ8Ø ™7×.Ñ.¨r¸¸a¸b¸À6ÓJÐJà�7‰7”eÒ¤ D£	¨Q£ä˜$˜q™'Ô#3×4Ñ4Ü&×,Ò,Øœ¤ tÔ,¨T°!©W×-GÑ-GÓ-IÓJóð ð �9Ó¤ T£¨a£¾ô   ¨¡GÓ,Ð,à�9Ó¤ T£¨a£¾Ü‘7Ñ& r°Ó>Ð>à�:Ó¤# d£)¨q£.¾Ü‘7Ñ& r°Ó>Ð>à�:Ó¤# d£)¨q£.¾ô # 2¨A¡wÓ/Ð/à�9Ó¤ T£¨a£¾ô % R¨a©Ó1Ð1à�9Ó¤ T£¨a£¾ô % R¨a©Ó1Ð1à�9Ó¤ T£¨a£¾ô % R¨a©Ó1Ð1à�<Ó¤C¨£I°£N¾6ô # 2¨A¡wÓ/Ð/à�:Ó¤# d£)¨q£.¾Ø�q‘'ˆCä˜3¤	× EÑ E×FÑFØ—L‘LÑ,ä# B¨¯©Ó5Ð5ä‰wÑ" 2¨TÓ:Ð:ùóK Qøô !ó Ü,Ü˜Q›ØÜ! !§&¡&›\÷ð ûðús*   É,4\= Ê \7Ê<\= Ü7\= Ü=
]9Ý']4Ý4]9r    Úbasec                 ó6   • Uc  [        X5      $ [        XU5      $ r¬   )rd   r\   )r­   rå   r    r>  s       r¡   Úcall_intÚBuiltinVariable.call_int»  s!   € ð ‰<Ü Ó(Ð(Ü ¨Ó.Ð.r£   c                 ó   • [        X5      $ r¬   )r_   ©r­   rå   r    s      r¡   Ú
call_floatÚBuiltinVariable.call_floatÅ  s   € ô ˜bÓ&Ð&r£   c                 ó   • [        XS5      $ )Nr   ©rj   rC  s      r¡   Úcall_binÚBuiltinVariable.call_binÊ  ó   € ô ˜r¨Ó*Ð*r£   c                 ó   • [        XS5      $ )Né   rG  rC  s      r¡   Úcall_octÚBuiltinVariable.call_octÏ  rJ  r£   c                 ó   • [        XS5      $ )Né   rG  rC  s      r¡   Úcall_hexÚBuiltinVariable.call_hexÔ  s   € ô ˜r¨Ó+Ð+r£   c                 ó   • [        X5      $ r¬   )rR   rC  s      r¡   Ú	call_boolÚBuiltinVariable.call_boolÙ  s   € ô ˜rÓ'Ð'r£   c                 ó   • [        X5      $ r¬   )rQ   rC  s      r¡   Ú	call_hashÚBuiltinVariable.call_hashß  ó   € ô ˜BÓ$Ð$r£   c                 ó   • [        X5      $ r¬   )rT   rC  s      r¡   Ú	call_reprÚBuiltinVariable.call_reprä  rY  r£   c                 ó   • [        X5      $ r¬   )rX   rC  s      r¡   Úcall_strÚBuiltinVariable.call_stré  s   € ô ˜2Ó#Ð#r£   c                 ó  • S[         4S jn[        R                  R                  R                  (       d  U" X#5         [        US   [        R                  5      (       a  US   R                  SS9nOUS   R                  5       n [        USS  U5      (       aN  [        R                  " W/USS   Vs/ s H  ofR                  5       PM     snQ76 n[        R                  " X5      $ U" X#5        g ! [         a    U" X#5         Nf = fs  snf )Nr”   c                 óH   • [        SSU  SU 3S/ [        R                  QS9  g )NzInvalid call to __build_class__z&Non-constant args to __build_class__: r|  zCannot trace class definition: the class body function is unsupported or the base class argument are not compile-time constantsrc  ©r   r   rh  )r“   rª   s     r¡   ÚfailÚ2BuiltinVariable.call___build_class__.<locals>.failï  s2   € ÜØ9Ø@ÀÀÀaÈÀxÐPð ^Ø6Ô)×5Ñ5Ð6ó	r£   r   T)Úallow_sourced_cellsr4   )r	   rÎ   Ú_dynamoÚconfigÚenable_trace_load_build_classrœ   r   ÚNestedUserFunctionVariableÚget_functionr#  r%   r/  Ú__build_class__rê   r9   rí   )r­   rå   r“   rª   rc  r’   rÆ  Úrs           r¡   Úcall___build_class__Ú$BuiltinVariable.call___build_class__î  sô   € ð	¤(ô 	ô �}‰}×#Ñ#×A×AÙ�Ôð	Ü˜$˜q™'¤9×#GÑ#G×HÑHØ˜!‘W×)Ñ)¸dÐ)ÐC‘à˜!‘W×)Ñ)Ó+‘ô ˜t A B˜x¨×0Ñ0Ü×(Ò(Øðà26°q°r±(Ó;²(¨Q×&Ñ&Ö(±(Ñ;òˆAô #×(Ò(¨Ó/Ð/á�Õøô #ó 	Ù�Öð	üò <s   ¾4C2 Á3C2 Â4D

Ã2DÄD)r  Údefaultr  ro  c                ó¼  • U R                   R                  n[        U5      S:X  a  [        X S35        [        U5      S:„  nU(       a  Ub  [        USU S35        Ub  UR	                  5       (       a  S nU(       a  [        U5      O[        XS   5      n[        U5      S:X  a  Ub  U$ [        X S35        Uc  U R                  X5      $ U R                  XU5      $ )Nr   z$ expected at least 1 argument, got 0r4   zCannot specify a default for z%() with multiple positional argumentsz() iterable argument is empty)
r’   r±   r›   r   Úis_constant_noner=  r3   r   Ú_call_min_max_seqÚ_call_min_max_seq_with_key)r­   rå   r  ro  r“   r  Ú
positionalrð   s           r¡   Ú_call_min_maxÚBuiltinVariable._call_min_max  sÜ   € ð �w‰w×ÑˆÜˆt‹9˜‹>Ü˜R 6Ð)MÐ!NÔOô ˜“Y ‘]ˆ
Þ˜'Ñ-ÜØØ/°¨vÐ5ZÐ[ôð
 ‰?˜s×3Ñ3×5Ñ5ØˆCæ(”�T”
¬o¸bÀqÁ'Ó.Jˆäˆu‹:˜‹?ØÑ"Ø�Ü˜b FÐ*GÐ"HÔIà‰;Ø×)Ñ)¨"Ó4Ð4Ø×.Ñ.¨r¸#Ó>Ð>r£   rð   c                 óÊ   • [        U5      S::  a  [        S5      e[        U5      S:X  a  US   $ [        R                  " [        R                  " U R
                  U5      U5      $ )Nr   z,_call_min_max_seq requires at least one itemr4   )r›   rÖ   Ú	functoolsÚreduceÚpartialÚ_call_min_max_binary)r­   rå   rð   s      r¡   rr  Ú!BuiltinVariable._call_min_max_seq,  sV   € ô ˆu‹:˜‹?Ü Ð!OÓPÐPÜˆu‹:˜‹?Ø˜‘8ˆOä×Ò¤	× 1Ò 1°$×2KÑ2KÈRÓ PÐRWÓXÐXr£   c           
      ó"  • U Vs/ s H  oCR                  X/0 5      PM     nnUS   US   pv[        USS  USS  5       HÈ  u  pHU R                  [        L a  Xx4OX‡4u  pš[	        [
        R                  5      R                  XU
/0 5      nUR                  5       (       dO  [        S[        U5      SU R                  R                   SUR                  5        S3S/[        R                  QS9  UR                  5       (       d  MÆ  XHpvMÊ     U$ s  snf )	Nr   r4   zmin/max with non-constant keyzCannot compute zB() whose key comparison is not a compile-time constant. Key type: zE. Most notably, Tensor or SymInt keys are unsupported, but ints work.zUse something else as the key.rc  )rÓ  Úzipr’   rƒ  rl  r×   r³  r/  r   r·   r±   Úpython_typer   rh  rê   )r­   rå   rð   r  rJ  ÚkeyvalsÚ	best_itemÚbest_keyÚkeyvalré  rê  Úcmps               r¡   rs  Ú*BuiltinVariable._call_min_max_seq_with_key6  s  € ñ BGÓGÂ¸×$Ñ$ R¨°Ö4ÁˆÐGØ# A™h¨°©
�8Ü  a b 	¨7°1°2¨;Ö7‰LˆDØ04·±¼3²˜8Ñ,ÀVÐDV‰KˆDÜ!¤(§+¡+Ó.×<Ñ<¸RÈÀÐPRÓSˆCØ×)Ñ)×+Ñ+ÜØ;Ü ›Kà)¨$¯'©'×*:Ñ*:Ð);ð <BØBH×BTÑBTÓBVÐAWð X^ð_ð
 9ðä*×6Ñ6ðòð ×%Ñ%×'Ó'Ø&*š8ñ% 8ð& Ðùò+ Hs   …DrÆ  rï   c                 ó	  • Ub  Uc  g U R                  X#5      (       Ga`  UR                  5       (       d  X2p2UR                  5       (       d  [        S5      e[        U[        5      (       a5  [
        R                  " [        R                  5      R                  X/0 5      n[        U[        5      (       d  [        U[        5      (       aH  SSKJn  U" [        U5      UUR                  R                  " SU R                   /[#        X#/0 5      Q76 S9$ UR%                  5       (       a—  [        U[
        R&                  5      (       a%  SS Kn[
        R*                  " UR,                  5      nO$[
        R                  " [        R.                  5      nU R                   [0        L a  SU0OSU0nUR                  X/U5      nOÊ[        U[
        R&                  5      (       aJ  SS Kn[0        UR2                  [4        UR6                  0U R                      n	[
        R*                  " U	5      nOM[0        [        R2                  [4        [        R6                  0U R                      n
[
        R                  " U
5      nUR                  XU/0 5      n[9        S	 X#4 5       5      (       aÝ  [;        S
 X#4 5       5      (       a  [
        R                  R=                  U5      $ UR%                  5       (       a  UR?                  5       nOUR@                  nU R                   [0        L a  [1        UR@                  U5      nO[5        UR@                  U5      n[;        S X#4 5       5      n[
        RB                  R=                  UUU5      $ U$ [        U[        5      (       d  [        U[        5      (       as  U R                   [0        L a  [        RD                  O[        RF                  nUR                  R                  " SU/[#        X#/0 5      Q76 n[        RH                  " XS 5      $ [        U[J        5      (       aZ  [        U[J        5      (       aE  U R!                  UR?                  5       UR?                  5       5      n[L        RN                  " UU5      $ g )Nz1Expected at least one tensor argument for min/maxr4   ©rö  rÓ  )rå   r  r   r„  rƒ  c              3   óv   #   • U  H/  n[        U[        R                  [        R                  45      v •  M1     g 7fr¬   )rœ   r   ry   r:   )rI  rî   s     r¡   rK  Ú7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>•  s?   é € ð 	ò  �Aô Øä!×=Ñ=Ü!×2Ñ2ð÷ð ò  ùs   ‚79c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr¬   r  )rI  r9  s     r¡   rK  r‰  Ÿ  s   é € ÐKÂF¸S”z #Ô'7×8Ð8ÂFùr‰  c              3   ó|   #   • U  H2  n[        U[        R                  5      (       d  M$  UR                  v •  M4     g 7fr¬   r  rv  s     r¡   rK  r‰  ¬  s-   é € ð "â#˜Ü! !¤Y×%JÑ%J×Kó "�A—M–MÚ#ùr	  )(r8  r6  rÖ   rœ   ru   r   ÚTorchInGraphFunctionVariablerÎ   r¨  rÓ  rw   rÔ  rö  rë   rÕ  rÖ  r’   r/   r/  r  ÚnumpyÚNumpyVariableÚclipÚclamprƒ  Úmaximumr„  Úminimumrz  r\  Úfrom_tensor_variablerê   r
  ry   Úsym_maxÚsym_minrž   r:   r9   rí   )r­   rå   rÆ  rï   rö  Únpr’   rª   rì  Únp_fnÚtorch_fnÚraw_bÚraw_resr  Úpy_fnr  rü   s                    r¡   r{  Ú$BuiltinVariable._call_min_max_binaryX  s™  € ð ‰9˜™	ð Ø×Ñ˜A×!Ò!Ø—;‘;—=‘=Ø�1Ø—;‘;—=‘=Ü$ØGóð ô
 ˜!Ô-×.Ñ.Ü×:Ò:¼5¿<¹<ÓH×VÑVØ˜˜Ró�ô
 ˜!œ_×-Ñ-´¸A¼×1OÑ1OÝ6á(Ü˜“GØØŸ)™)×0Ò0Ø'ØŸ™ðô +¨A¨6°2Ó6òñð ð ×#Ñ#×%Ñ%ä˜a¤×!?Ñ!?×@Ñ@Û&ä"×0Ò0°·±Ó9‘Bä"×?Ò?ÄÇÁÓL�BØ(,¯©´3ª˜% ™¸eÀQ¸Z�Ø×)Ñ)¨"¨c°6Ó:‘ä˜a¤×!?Ñ!?×@Ñ@Û&ä  "§*¡*¬c°2·:±:Ð>¸t¿w¹wÑG�EÜ"×0Ò0°Ó7‘Bä #¤U§]¡]´C¼¿¹ÐGÈÏÉÑP�HÜ"×?Ò?ÀÓI�BØ×)Ñ)¨"°!¨f°bÓ9�ô ñ 	ð ™ó	÷ 	ñ 	ô ÑKÀQÁFÓK×KÑKä$×5Ñ5×JÑJÈ6ÓRÐRà×'Ñ'×)Ñ)Ø×0Ñ0Ó2‘EàŸK™K�EØ—7‘7œc’>Ü! !§+¡+¨uÓ5‘Gä! !§+¡+¨uÓ5�Gä!ñ "à™Vó"ó �ô
 !×<Ñ<×QÑQØØØóð ð �Ü˜œ?×+Ñ+¬z¸!¼_×/MÑ/MØ%)§W¡W´¢^”E—M’M¼¿¹ˆEØ—I‘I×*Ò*Ø ðÜ):¸A¸6À2Ó)FòˆEô #×)Ò)¨"°TÓ:Ð:Ü˜Ô+×,Ñ,´¸AÔ?O×1PÑ1PØ—G‘GØ×$Ñ$Ó&Ø×$Ñ$Ó&óˆEô #×(Ò(¨¨UÓ3Ð3Ør£   c                 ó   • [        X5      $ r¬   )r]   rC  s      r¡   Úcall_absÚBuiltinVariable.call_absÊ  ó   € ô ! Ó)Ð)r£   c                 ó   • [        X5      $ r¬   )ri   rC  s      r¡   Úcall_posÚBuiltinVariable.call_posÏ  r   r£   c                 ó   • [        X5      $ r¬   ©r`   rC  s      r¡   Ú
call_indexÚBuiltinVariable.call_indexÔ  s   € ô
 ˜bÓ&Ð&r£   c                 óÀ   • SSK Jn  UR                  U[        5      R	                  X[
        R                  " US5      /0 5      nUR	                  U[        U5      U5      $ )Nr4   r÷  Ú	__round__)rÔ  rø  rž   r  rÓ  r9   rí   r=  )r­   rå   r    r“   rª   rø  Úround_methods          r¡   Ú
call_roundÚBuiltinVariable.call_roundÛ  sX   € õ 	/ð )×/Ñ/°´GÓ<×JÑJØ”o×+Ò+¨B°Ó<Ð=¸ró
ˆð ×)Ñ)¨"¬d°4«j¸&ÓAÐAr£   c                 ó  ^• U(       a  [        TS5        [        U5      S:X  a  [        TS5        [        U5      S:”  a  [        TS[        U5       35        [        U4S jU 5       5      n[        R                  " [        U5      5      $ )Nz"range() takes no keyword argumentsr   z)range expected at least 1 argument, got 0r„   z(range expected at most 3 arguments, got c              3   ó<   >#   • U  H  n[        TU5      v •  M     g 7fr¬   r¥  )rI  r    rå   s     €r¡   rK  Ú-BuiltinVariable.call_range.<locals>.<genexpr>ö  s   øé € Ð=º°”^ B¨×,Ð,ºùrV  )r   r›   r:  r   ÚRangeVariabler=  rÛ  s    `  r¡   Ú
call_rangeÚBuiltinVariable.call_rangeê  sp   ø€ ö Ü˜RÐ!EÔFÜˆt‹9˜‹>Ü˜RÐ!LÔMÜˆt‹9�q‹=Ü˜RÐ#KÌCÐPTËIÈ;Ð!WÔXÜÔ=¹Ó=Ó=ˆÜ×&Ò&¤t¨D£zÓ2Ð2r£   c                 ót   • [        S U 5       5      =(       d     [        S UR                  5        5       5      $ )Nc              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr¬   r  rv  s     r¡   rK  Ú0BuiltinVariable._dynamic_args.<locals>.<genexpr>ú  s   é € Ð@º4°a”:˜a¤×1Ð1º4ùr‰  c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr¬   r  rv  s     r¡   rK  rµ  ú  s   é € ð H
Ú4C¨qŒJ�qœ/×*Ð*²Oùr‰  )r\  rª  r2  s      r¡   Ú_dynamic_argsÚBuiltinVariable._dynamic_argsù  s7   € ÜÑ@¹4Ó@Ó@÷ 
ÄCñ H
Ø4:·M±M´OóH
ó E
ð 	
r£   c                 ó¢   • S[        U5      s=::  a  S:  d  O  [        US[        U5       35        [        R                  " [	        U5      U5      $ )Nr4   é   z(slice expected at least 1 argument, got )r›   r   r   ÚSliceVariabler=  rß  s      r¡   Ú
call_sliceÚBuiltinVariable.call_sliceþ  sC   € ð ”C˜“IÕ! Õ!Ü˜RÐ#KÌCÐPTËIÈ;Ð!WÔXÜ×&Ò&¤t¨D£z°2Ó6Ð6r£   c           
      ó~   • SSK Jn  U" UUR                  R                  " SU R                  /[        X#5      Q76 5      $ rÐ  )rÔ  rÒ  rÕ  rÖ  r’   r/   )r­   rå   r“   rª   rÒ  s        r¡   Ú
_dyn_proxyÚBuiltinVariable._dyn_proxy	  s?   € õ 	+áØØ�I‰I×"Ò"Ø §¡ðÜ+<¸TÓ+Jòó
ð 	
r£   c                 ó¸  • U(       a#  [        UU R                  R                   S35        [        U5      S:X  a  [	        / [        5       S9$ [        U5      S:”  a.  [        UU R                  R                   S[        U5       35        US   n[        U[        5      (       a  UR                  5       [        L a  U$ [        XS   5      n[	        U[        5       S9$ )Nz() takes no keyword argumentsr   rä  r4   z" expected at most 1 argument, got )
r   r’   r±   r›   rF   r8   rœ   r  r:  r3   )r­   rå   r“   rª   rY  rð   s         r¡   Ú
call_tupleÚBuiltinVariable.call_tuple	  sÄ   € ö ÜØØ—7‘7×#Ñ#Ð$Ð$AÐBôô ˆt‹9˜‹>Ü  Ô3CÓ3EÑFÐFÜ�‹Y˜‹]ÜØØ—7‘7×#Ñ#Ð$Ð$FÄsÈ4ÃyÀkÐRôð
 �1‰gˆÜ�cœ=×)Ñ)¨c¯o©oÓ.?Ä5Ò.HØˆJä ¨¡GÓ,ˆÜ˜UÔ2BÓ2DÑEÐEr£   c                 ód   • [         R                  R                  [        [	        U5      5      5      $ r¬   )r   r:   rž   rZ   rY   rC  s      r¡   Úcall_callableÚBuiltinVariable.call_callable,	  s+   € ô ×)Ñ)×0Ñ0ÜÔ2°3Ó7Ó8ó
ð 	
r£   rs  c                 óR   • [        U5      S:X  a  US   $ [        SSU SU 3SS/S9  g )	Nr   r4   zbad args to builtin cast()z	got args r|  z0Dynamo expects exactly 2 args to builtin cast().z3Ensure your call to cast() has exactly 2 arguments.rc  )r›   r   )r­   rs  r“   rª   s       r¡   Ú	call_castÚBuiltinVariable.call_cast8	  s<   € ô ˆt‹9˜‹>Ø˜‘7ˆNäØ0Ø ˜v Q v hÐ/ØJØHÐIó		
r£   c                 óš  • [        U[        R                  5      (       a*  [        R                  " U[        UR                  5      5      $ [        U[        5      (       a*  [        R                  " U[        UR                  5      5      $ UR                  5       (       a.  [        R                  " U[        UR                  5       5      5      $ g r¬   )rœ   r   r.  r9   rí   Údirrü   rl  r’   r/  rê   rC  s      r¡   Úcall_dirÚBuiltinVariable.call_dirE	  s�   € ô �cœ9×=Ñ=×>Ñ>Ü"×(Ò(¨¬S°·±«^Ó<Ð<Ü�cœ?×+Ñ+Ü"×(Ò(¨¬S°·±«[Ó9Ð9à×!Ñ!×#Ñ#Ü"×(Ò(¨¬S°×1GÑ1GÓ1IÓ-JÓKÐKØr£   c                 ó6  • U(       a  [        US5        [        U5      S:X  a%  [        R                  " [	        5       [        5       S9$ [        U5      S:”  a  [        US[        U5       35        [        / [        5       S9nUR                  USUS   /U5        U$ )Nz set() takes no keyword argumentsr   rä  r4   z%set expected at most 1 argument, got r©  )r   r›   r   rt   ræ  r8   r1  )r­   rå   r“   rª   Úss        r¡   Úcall_setÚBuiltinVariable.call_setQ	  sŽ   € ö ÜØØ2ôô ˆt‹9˜‹>Ü×(Ò(¬«Ô>NÓ>PÑQÐQÜ�‹Y˜‹]ÜØØ7¼¸D»	°{ÐCôô
 ˜Ô*:Ó*<Ñ=ˆØ	�‰�b˜( T¨!¡W I¨vÔ6Øˆr£   c                 ó"  • U(       a  [        US5        [        U5      S:X  a%  [        R                  " [	        5       [        5       S9$ [        U5      S:”  a  [        US[        U5       35        [        US   [        R                  5      (       a  US   $ [        US   [        R                  [        R                  45      (       a'  [        US   R                  R                  5       5      nO[        XS   5      n[        U[        5       S9nU$ )Nz&frozenset() takes no keyword argumentsr   rä  r4   z+frozenset expected at most 1 argument, got )r   r›   r   rs   ræ  r8   r-   rœ   rt   r<   r=  rð   Úkeysr3   )r­   rå   r“   rª   rð   Úfss         r¡   Úcall_frozensetÚBuiltinVariable.call_frozensetk	  sã   € ö ÜØØ8ôô ˆt‹9˜‹>Ü×.Ò.¬s«uÔDTÓDVÑWÐWÜ�‹Y˜‹]ÜØØ=¼cÀ$»i¸[ÐIôô
 �$�q‘'œ9×6Ñ6×7Ñ7à˜‘7ˆNô
 �d˜1‘g¤	× 5Ñ 5´y×7RÑ7RÐS×TÑTÜ˜˜a™Ÿ™×+Ñ+Ó-Ó.‰Eä# B¨Q©Ó0ˆEÜ˜uÔ4DÓ4FÑGˆØˆ	r£   c                 ó€  • U(       a/  [        U5      S:X  a  SU;   d  [        USS[        U5       S35        UR                  S[        R                  " S5      5      n/ nU H  nUR                  [        X5      5        M     [        U[        5       S9n[        R                  " UUR                  5       [        5       S9$ )	Nr4   Ústrictr~  ú1 kwargs (`strict`)ú kwargsFrä  ©rØ  rå  )r›   r0   Úpopr:   rž   rò  rP   rF   r8   r   ÚZipVariablerê   )r­   rå   r“   rª   rØ  rð   r    Ú	iter_argss           r¡   Úcall_zipÚBuiltinVariable.call_zipŒ	  s¯   € ö Ü˜“K 1Ó$¨°VÓ);Ü#ØØØ)Ü˜6“{�m 7Ð+ô	ð —‘˜HÔ&6×&=Ò&=¸eÓ&DÓEˆØˆÛˆCØ�L‰Lœ¨Ó1Ö2ñ ä! %Ô7GÓ7IÑJˆ	Ü×$Ò$ØØ×,Ñ,Ó.Ü*Ó,ñ
ð 	
r£   c                 ó”   • U(       a  [        US5        [        U5      S:w  a  [        US[        U5       S35        [        XS   5      $ )Nz len() takes no keyword argumentsr4   z"len() takes exactly one argument (ú given)r   )r   r›   rW   rÛ  s       r¡   Úcall_lenÚBuiltinVariable.call_len¦	  sI   € ö Ü˜RÐ!CÔDÜˆt‹9˜‹>ÜØÐ8¼¸T»¸À7ÐKôô ˜B Q¡Ó(Ð(r£   c                 ó¾  • U(       d  S[        U5      s=::  a  S::  d  O  [        US[        U5       35        US   n[        U5      S:X  a  US   O[        R                  " S5      n[	        U5      n[        U5      (       d  [        U5      (       a  [        X5      $ [        USS 5      c  U$  UR                  US/ 0 5      $ ! [         a    [        U5        Us $ f = f)Nr4   r   z+length_hint expected 1 or 2 arguments, got r   Ú__length_hint__)r›   r   r:   rž   rY   rq   rp   rW   r  r1  r   r   )r­   rå   r“   rª   rY  ro  Úobj_types          r¡   Úcall_length_hintÚ BuiltinVariable.call_length_hint´	  sÓ   € ö ˜!œs 4›yÕ-¨AÕ-ÜØÐAÄ#ÀdÃ)ÀÐMôð �1‰gˆÜ  ›Y¨!›^�$�q’'Ô1A×1HÒ1HÈÓ1Kˆä(¨Ó-ˆä$ X×.Ñ.Ô2KÈH×2UÑ2UÜ Ó(Ð(ä�8Ð.°Ó5Ñ=ØˆNð	Ø—?‘? 2Ð'8¸"¸bÓAÐAøÜ ó 	Ü% bÔ)ØŠNð	ús   Â.C ÃCÃCc                 óš   • U(       a  [        US5        [        U5      S:w  a  [        US[        U5       35        [        XS   US   5      $ )Nrý  r   rþ  r   r4   )r   r›   rO   rÛ  s       r¡   Úcall_getitemÚBuiltinVariable.call_getitemÑ	  óH   € ö Ü˜RÐ!QÔRÜˆt‹9˜‹>Ü˜RÐ#EÄcÈ$ÃiÀ[Ð!QÔRÜ˜r¨¡7¨D°©GÓ4Ð4r£   c                 ó¢   • U(       a  [        US5        [        U5      S:w  a  [        US[        U5       35        [        XS   US   US   5      $ )Nz._operator.setitem() takes no keyword argumentsr„   z"setitem expected 3 arguments, got r   r4   r   )r   r›   rV   rÛ  s       r¡   Úcall_setitemÚBuiltinVariable.call_setitemÝ	  sN   € ö Ü˜RÐ!QÔRÜˆt‹9˜‹>Ü˜RÐ#EÄcÈ$ÃiÀ[Ð!QÔRÜ˜r¨¡7¨D°©G°T¸!±WÓ=Ð=r£   c                 óš   • U(       a  [        US5        [        U5      S:w  a  [        US[        U5       35        [        XS   US   5      $ )Nz._operator.delitem() takes no keyword argumentsr   z"delitem expected 2 arguments, got r   r4   )r   r›   rM   rÛ  s       r¡   Úcall_delitemÚBuiltinVariable.call_delitemé	  rí  r£   Úisinstance_type_varc           	      ó,  ^^
•  TR                  5       m
UR                  5       n[        T[        R                  5      (       a†  TR                  by  SSK
Jn  U" T
5      (       af  [        U[        5      (       a  UOU4n[        U
4S	 jU 5       5      (       a2  [        TR                  R                  [         R"                  5      5        [        T[        R                  5      (       aw  TR$                  bj  ['        U5      (       a#  [        S
ST SU S3S/ [        R(                  QS9  S[*        S[,        S[.        4U4S jjn[*        R0                  " X" TU5      5      $ [        T[        R2                  5      (       aL  [        TR4                  [6        R8                  5      (       a#  [        SST SU S3S/ [        R(                  QS9  [        T[        R2                  5      (       aU  SUR:                  R<                  ;   a;  [*        R0                  " UUR:                  R?                  UTR4                  5      5      $ [        T[        R@                  5      (       a!  [*        R0                  " U[        T
U5      5      $ [        U[B        5      (       d  [E        [G        USS 5      5      (       a  U4nOu[        U[6        RH                  5      (       a  [J        RL                  " U5      nO?[        U[        5      (       a  [O        S U 5       5      (       a  UnO[Q        [R        US/S9   [U        T
W5      n	[*        R0                  " X5      $ ! [         a*    [        SST SU S3ST 3/ [        R                  QS9   GNif = f! [R         a    T
W;   n	 N^f = f)Nz6builtin isinstance() cannot determine type of argumentzisinstance(ú, r  z=Dynamo doesn't have a rule to determine the type of argument rc  r   )Úis_async_collective_tensor_typec              3   óª   >#   • U  HH  n[        U[        5      (       + =(       d'    [        TU5      [        [        R                  U5      :g  v •  MJ     g 7fr¬   )rœ   rë   rd  rÎ   re  )rI  Útyr<  s     €r¡   rK  Ú2BuiltinVariable.call_isinstance.<locals>.<genexpr>
  sJ   øé € ð ò *˜ô # 2¤tÓ,Ô,÷ PÜ! (¨BÓ/´:¼e¿l¹lÈBÓ3OÑOôPâ)ùs   ƒAAz5builtin isinstance() with custom type check on tensorzœDynamo cannot soundly trace arbitrary custom __instancecheck__ or __subclasscheck__ hooks on tensor values because the hook may read external mutable state.Ú
tensor_varÚtensor_typer”   c                 óŒ   >^• S[         S[        4U4S jjm[        U5      [        L a  [	        U4S jU 5       5      $ T" U5      $ )Nrù  r”   c                 óN  >• U [         ;  aƒ  TR                  5       R                  R                  S   n[	        U5      (       a2  U [
        R                  R                  R                  L a  [        X5      $ [        TR                  5       U 5      $ [         U    nTR                  U;   $ )NÚexample_value)r2   r+  r¨  Úmetar   rÎ   ÚnnÚ	parameterÚ	Parameterrœ   rd  r  rº   )rù  Úexample_valÚdtypesr    s      €r¡   Ú
check_typeÚOBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.check_type-
  s…   ø€ ØÔ!4Ó4Ø&)§l¡l£n×&9Ñ&9×&>Ñ&>¸Ñ&O˜ä9¸+×FÑFØ "¤e§h¡h×&8Ñ&8×&BÑ&BÒ Bô
 $.¨kÓ#>Ð>ä#-¨c¯o©oÓ.?ÀÓ#DÐDä0°Ñ4�FàŸ9™9¨Ñ.Ð.r£   c              3   ó4   >#   • U  H  nT" U5      v •  M     g 7fr¬   r§   )rI  rù  r  s     €r¡   rK  ÚNBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.<genexpr>@
  s   øé € ÐDº°"™z¨"Ÿ~˜~ºùs   ƒ)r   r<  rë   r:  r\  )rû  rü  r  r    s     @€r¡   Ú_tensor_isinstanceÚ;BuiltinVariable.call_isinstance.<locals>._tensor_isinstance*
  sA   ù€ ð/¤3ð /¬4÷ /ô$ ˜Ó$¬Ò-ÜÔD¹ÓDÓDÐDá% kÓ2Ð2r£   z<isinstance() called on user defined object with C extensionszeUser-defined object with C extensions can have torch.Tensor attributes; intentionally graph breaking.rS  c              3   ó|   #   • U  H2  n[        U[        5      =(       d    [        [        US S5      5      v •  M4     g7f)rS  N)rœ   rë   r}  r  )rI  Útps     r¡   rK  rú  g
  s5   é € ð 8
â%�ô �rœ4Ó ×T¤H¬W°RÐ9LÈdÓ-SÓ$TÔTÚ%ùs   ‚:<z?isinstance() arg 2 must be a type, a tuple of types, or a unionrÛ  )+r  r#  r   r   r’  rê   rœ   r   rx   ré   Ú$torch._functorch._aot_autograd.utilsr÷  r:  r\  r   r   r   Ú
TYPE_MATCHrº   rG  rh  r9   r   r<  rí   rz   rü   r©   ÚMemberDescriptorTyper2  r«  rS  Ú!UserDefinedExceptionClassVariablerë   r}  r  r]  r^  r_  rz  r   rÜ  rd  )r­   rå   r    rô  Úisinstance_typer÷  Úcheck_typesr
  Úisinstance_type_tupler9  r<  s     `       @r¡   Úcall_isinstanceÚBuiltinVariable.call_isinstanceõ	  sZ  ù€ ð	Ø—‘Ó(ˆHð .×@Ñ@ÓBˆô �cœ9×3Ñ3×4Ñ4¸¿¹Ñ9Oõñ /¨x×8Ñ8ô " /´5×9Ñ9ñ $à)Ð+ð ô ô ñ *ó÷ ñ ô
 " #§*¡*×"7Ñ"7¼×8OÑ8OÓ"PÔQÜ�cœ9×3Ñ3×4Ñ4¸¿¹Ñ9NÜ+¨O×<Ñ<ÜØSØ)¨#¨¨b°Ð0AÀÐCð!Oð ;Ô-×9Ñ9Ð:òð3Ü+ð3Ü:=ð3ä÷3ô4 #×(Ò(¨Ð-?ÀÀ_Ó-UÓVÐVô �cœ9×>Ñ>×?Ñ?ÄJØ�I‰I”u×1Ñ1÷E
ñ E
ô ØVØ% c U¨"¨_Ð,=¸QÐ?ð<à6Ô)×5Ñ5Ð6òô �sœI×?Ñ?×@Ñ@Ø# ×'@Ñ'@×'IÑ'IÓIä"×(Ò(ØØ×)Ñ)×;Ñ;¸OÈSÏYÉYÓWóð ô
 �cœ9×FÑF×GÑGä"×(Ò(¨¬Z¸À/Ó-RÓSÐSô �o¤t×,Ñ,´ä�OÐ%8¸$Ó?÷1
ñ 1
ð &5Ð$6Ñ!Ü˜¬¯©×9Ñ9Ü$*§O¢O°OÓ$DÑ!Ü˜¬×/Ñ/´Cñ 8
á%ó8
÷ 5
ñ 5
ð %4Ñ!ä$ÜØàUðòð
	4ô ˜XÐ'<Ó=ˆCô ×$Ò$ RÓ-Ð-øôG #ó 	ÜØPØ% c U¨"Ð-@Ð,AÀÐCØ[Ð\_Ð[`ÐaØ5Ô)×4Ñ4Ð5õ	ð	ûôB ó 	4ØÐ3Ñ3ŠCð	4ús#   „M
 Ì(N Í
0M>Í=M>ÎNÎNÚleft_tyÚright_tyc                 ó   • [        XU5      $ )z,Checks if first arg is subclass of right arg)rS   )r­   rå   r  r  s       r¡   Úcall_issubclassÚBuiltinVariable.call_issubclass‚
  s   € ô " "¨xÓ8Ð8r£   c                 ó.   • [         R                  " X#5      $ r¬   )r   ÚSuperVariable©r­   rå   rÆ  rï   s       r¡   Ú
call_superÚBuiltinVariable.call_super‹
  s   € ô ×&Ò& qÓ,Ð,r£   c                 ó’  • U(       a  [        US5        [        U5      S:X  a  [        US5        [        U5      S:”  a  [        US[        U5       35        US   n[        [        U5      5      (       d  [        USUR	                  5        S35         UR                  U5      $ ! [         a    [        U5      S:X  a  US   s $ e f = f)	Nz!next() takes no keyword argumentsr   z(next expected at least 1 argument, got 0r   z'next expected at most 2 arguments, got Ú'z' object is not an iteratorr4   )r   r›   r[   rY   r˜  Únext_variabler   )r­   rå   r“   rª   r    s        r¡   Ú	call_nextÚBuiltinVariable.call_next�
  sÀ   € ö Ü˜RÐ!DÔEÜˆt‹9˜‹>Ü˜RÐ!KÔLÜˆt‹9�q‹=Ü˜RÐ#JÌ3ÈtË9È+Ð!VÔWØ�1‰gˆÜÔ1°#Ó6×7Ñ7ÜØ�a˜×,Ñ,Ó.Ð/Ð/JÐKôð	Ø×$Ñ$ RÓ(Ð(øÜ(ó 	Ü�4‹y˜A‹~Ø˜A‘w’Øð	ús   ÂB$ Â$CÃCÚseqsc                 ó@  • [        U5      S:X  a  [        [        US/S9  [        R                  " S5      nU(       a„  [
        R                  S:¼  aV  [        U5      S:X  a  SU;   d  [        USS	[        U5       S
35        UR                  S[        R                  " S5      5      nO[        USS[        U5       S
35        U Vs/ s H  n[        X5      PM     nn[        U[        5       S9n[        R                  " UUUR                  5       [        5       S9$ s  snf )Nr   z'map() must have at least two arguments.rÛ  Frƒ   r4   rØ  ÚmaprÙ  rÚ  z0 kwargsrä  rÛ  )r›   r   rÜ  r:   rž   rb  rc  r0   rÜ  rP   rF   r8   r   ÚMapVariablerê   )	r­   rå   r’   r&  rª   rØ  ÚseqÚ	iterablesrÞ  s	            r¡   Úcall_mapÚBuiltinVariable.call_map¨
  s  € ô ˆt‹9˜‹>Ü$ÜØØ?Ð@òô "×(Ò(¨Ó/ˆÞÜ×Ñ 7Ó*Ü˜F› qÓ(¨X¸Ó-?Ü'ØØØ-Ü˜v›;˜- wÐ/ô	ð  Ÿ™ HÔ.>×.EÒ.EÀeÓ.LÓM‘ä#ØØØÜ˜6“{�m 7Ð+ô	ñ :>Ó>º°#”_ RÖ-¹ˆ	Ð>Ü! )Ô;KÓ;MÑNˆ	Ü×$Ò$ØØØ×,Ñ,Ó.Ü*Ó,ñ	
ð 	
ùò ?s   ÃDr*  c                 óP   • [         R                  " U[        X5      [        5       S9$ )Nrä  )r   ÚFilterVariablerP   r8   )r­   rå   r’   r*  s       r¡   Úcall_filterÚBuiltinVariable.call_filterÒ
  s(   € ô ×'Ò'ØÜ˜BÓ$Ü*Ó,ñ
ð 	
r£   c                 ó²  • U R                   =(       a    [        U R                   U5      nU R                  [        L a>   [	        U R                  U5      n[        W5      (       d  [        R                  " XU5      $ [	        U R                  US 5      n[        R                  " XUb  [        U5      US9$ S US9$ ! [
         a    [        [
        U5         N�f = fr  )ré   r   r’   r-  r  rk  r   r}  r9   rí   r   r  rë   )r­   rå   r  ré   rü   r  s         r¡   r  Ú BuiltinVariable.tp_getattro_implÛ
  s½   € ð —‘×>¤¨D¯K©K¸Ó!>ˆØ�7‰7”fÒð=Ü §¡¨Ó.�ô ˜E—?‘?Ü&×,Ò,¨R¸Ó?Ð?Ü�t—w‘w  dÓ+ˆÜ×(Ò(Ø¨dÑ.>¤ T£
ÐQWñ
ð 	
ØDHÐQWñ
ð 	
øô "ó =Ü(¬¸Ö<ð=ús   ¾B9 Â9CÃCrY  r8  c                 ó,   • UR                  USU/0 5      $ )NÚ__delattr__rË  )r­   rå   rY  r8  s       r¡   Úcall_delattrÚBuiltinVariable.call_delattrð
  s   € ð �‰˜r =°8°*¸bÓAÐAr£   c                 ó  •  UR                  5       nUR                  =(       a    [        UR                  5      nUc<  [        U[        R                  5      (       a  UR                  (       a  UR                  nU[        R                  L a5  UR                  R                  S[        5      n[!        [#        U5      S5      n[$        R&                  " XU5      $ ! [         a(  n[        [        R                  [        U5      SS9S eS nAff = f)NÚunknown_python_type)Ú	case_nameÚ re  )r  r#  r   r   ÚINVALID_INPUTr·   ré   r$   rœ   r   rz   Ú
cls_sourcerÎ   re  rÕ  Úinstall_global_by_idr   r    r9   rí   )r­   rå   rY  r  Úerrorré   r  s          r¡   Ú	call_typeÚBuiltinVariable.call_typeø
  sÑ   € ð	Ø—o‘oÓ'ˆGð —‘×6¤
¨3¯:©:Ó 6ˆà‰NÜ˜3¤	× CÑ C×DÑDØ——à—^‘^ˆFØ”e—l‘lÒ"à—9‘9×1Ñ1°"´eÓ<ˆDÜ¤¨TÓ 2°HÓ=ˆFä×$Ò$ R°&Ó9Ð9øô' #ó 	ÜÜ×+Ñ+Ü�E“
Ø/ñð ð	ûð	ús   ‚C Ã
D
Ã"#DÄD
c                 óz  • [        U5      n[        R                  " US[        5      nUc  [	        USUR
                   S35        U[        La  UR                  US/ 0 5      $ [        U5      (       d  [	        US5        [        R                  " [        R                  R                  5      R                  X/0 5      $ )NÚ__reversed__r"  z' object is not reversiblez)argument to reversed() must be a sequence)rY   r}  Úgetattr_staticÚ_MISSING_SENTINELr   r±   r1  rk   r   ÚUserFunctionVariabler   r/  Úreversed_sequence_iteratorrÓ  )r­   rå   rY  rç  Úreversed_attrs        r¡   Úcall_reversedÚBuiltinVariable.call_reversed  s¯   € ô )¨Ó-ˆô  ×.Ò.Ø�nÔ&7ó
ˆð Ñ Ü˜R 1 X×%6Ñ%6Ð$7Ð7QÐ!RÔSØÔ 1Ò1Ø—?‘? 2 ~°r¸2Ó>Ð>ä ×)Ñ)Ü˜RÐ!LÔMä×-Ò-Ü×Ñ×9Ñ9ó
ç
‰-˜˜E 2Ó
&ð	'r£   c                 óº   • [        U[        R                  5      (       d<  [        R                  " [	        X5      [        5       S9nUR                  US/ U5        U$ g )Nrä  Úsort)rœ   r   rx   rD   r3   r8   r1  )r­   rå   rY  rª   Úlist_vars        r¡   Úcall_sortedÚBuiltinVariable.call_sorted0  sS   € ô ˜#œy×7Ñ7×8Ñ8Ü ×-Ò-Ü Ó(Ü.Ó0ñˆHð × Ñ   V¨R°Ô8ØˆOØr£   c                 ó   • [        X5      $ r¬   )rh   ©r­   rå   rÆ  s      r¡   Úcall_negÚBuiltinVariable.call_neg?  s   € ô ! Ó'Ð'r£   c                 ó   • [        X5      $ r¬   )re   rQ  s      r¡   Úcall_invertÚBuiltinVariable.call_invertD  s   € ô ˜rÓ%Ð%r£   Ú_format_stringc                 óz   • UR                  5       n[        U5      n[        R                  " U[	        U5      U5      $ r¬   )rê   r·   rI   rž   r=  )r­   rå   rW  r“   rª   Úformat_strings         r¡   Úcall_formatÚBuiltinVariable.call_formatI  s5   € ð '×9Ñ9Ó;ˆÜ˜MÓ*ˆÜ#×*Ò*¨=¼$¸t»*ÀfÓMÐMr£   c                 óp  • [        U5      S:w  a  [        [        US[        U5       S3/S9  US   nUR                  U5      nUb^  UR                  (       a7  UR                  5       nUb$  [        UR                  R                  U5      5        [        R                  " X5      $ [        [        U5      5      $ )Nr4   z!id() takes exactly one argument (râ  rÛ  r   )r›   r   rÜ  Úget_idré   Úget_id_guard_typer   r   r9   rí   r;   Úid)r­   rå   r“   r    Úreal_idÚ
guard_types         r¡   Úcall_idÚBuiltinVariable.call_idT  s    € ô ˆt‹9˜‹>Ü$ÜØØ9¼#¸d»)¸ÀGÐLÐMòð
 �1‰gˆà—*‘*˜R“.ˆØÑØ�z�zØ ×2Ñ2Ó4�
ØÑ)Ü! #§*¡*×"7Ñ"7¸
Ó"CÔDÜ"×(Ò(¨Ó5Ð5äœb ›gÓ&Ð&r£   rw  c                 óF   • [        SSU S3SS/[        R                  QS9  g )Nzcopy.deepcopy()zcopy.deepcopy(r  z'Dynamo does not support copy.deepcopy()zAvoid calling copy.deepcopy()rc  rb  )r­   rå   rw  s      r¡   Úcall_deepcopyÚBuiltinVariable.call_deepcopyi  s4   € ô 	Ø%Ø$ Q C qÐ)ØAà/ðä"×.Ñ.ðó		
r£   ré  rê  c                 ó2  • SSK Jn  SSKJn  U R                  nU[
        R                  [
        R                  4;   aË  UR                  5       =(       ap    UR                  5       =(       aY    [        [        UR                  5       R                  5      5      [        [        UR                  5       R                  5      5      :H  nU[
        R                  L a  [        R                  " X5      $ [        R                  " X(       + 5      $ Xe;  aB  [        SUR                    SU SU S3SUR                    S	U SU 3/ ["        R$                  QS
9  ['        U[(        5      (       a{  ['        U[(        5      (       af  UR*                  =(       a    UR*                  bF  UR*                  UR*                  :w  a,   [,        R.                  " UR*                  UR*                  5        UR                  5       (       a  UOUnUR4                  R7                  SXbR                  5       UR                  5       40 5      n	U" [9        U5      UU	5      $ ! [0         aF    [        SUR                    SU SU S3SU SU SUR                    S3/ ["        R2                  QS
9   N¶f = f)Nr4   r‡  ©Ú%supported_tensor_comparison_op_valuesz unsupported Tensor comparison opr  rö  r  ú*Dynamo does not support the comparison op z with Tensor arguments rc  z8failed to broadcast when attempting Tensor comparison opz.Dynamo was unable to broad cast the arguments z, when attempting to trace the comparison op Ú.rÓ  )rÔ  rö  r¨  ri  r’   r×   rä  Úis_notr6  r_  r*   r+  r¨  r9   rí   r   r±   r   rh  rœ   rx   ÚsizerÎ   Úbroadcast_shapesÚRuntimeErrorÚ
USER_ERRORrÕ  rÖ  rë   )
r­   rå   ré  rê  rö  ri  rÞ   Ú	is_resultÚ
tensor_clsr  s
             r¡   rô  Ú'BuiltinVariable._comparison_with_tensorv  s?  € õ 	/ÝAà�W‰Wˆà”(—,‘,¤§¡Ð0Ó0à—‘Ó ÷ IØ—O‘OÓ%÷IäÔ1°$·-±-³/×2FÑ2FÓGÓHÜÔ0°·±Ó1A×1FÑ1FÓGÓHñIð ð ”X—\‘\Ò!Ü&×,Ò,¨RÓ;Ð;ä&×,Ò,¨R´Ó?Ð?àÓ:ÜØ:ØŸ;™;˜- q¨¨¨b°°°qÐ9ØHÈÏÉÈð V)Ø)-¨¨b°°ð9à6Ô)×5Ñ5Ð6òô �tœ^×,Ñ,Ü˜5¤.×1Ñ1Ø—‘×)˜uŸz™zÑ6Ø—	‘	˜UŸZ™ZÓ'ð
Ü×&Ò& t§y¡y°%·*±*Ô=ð "Ÿ^™^×-Ñ-‘T°5ˆ
Ø—	‘	×&Ñ&Ø˜R§-¡-£/°5·>±>Ó3CÐ!DÀbó
ˆñ !Ü�ÓØØó
ð 	
øô  ó äØVØ!Ÿ{™{˜m¨1¨T¨F°"°U°G¸1Ð=Ø"PÐQUÐPVÐVXÐY^ÐX_ð `BØBDÇ+Á+ÀÈað!Qà9Ô-×8Ñ8Ð9ôðús   Æ4+I ÉAJÊJc           
      ó  • SSK Jn  U R                  nXT;  aB  [        SUR                   SU SU S3SUR                   SU SU 3/ [
        R                  QS	9  [        U[        5      (       a  UOUn[        U[        [        [        45      (       d%  [        R                  " X" [        5       S 5      5      $ UR                  R                  S
XRR!                  5       UR!                  5       40 5      n[        R"                  " UUS S9$ )Nr4   rh  z!unsupported SymNode comparison opr  rö  r  rj  z with SymNode arguments rc  rÓ  ©Úsym_num)r¨  ri  r’   r   r±   r   rh  rœ   rw   r:   rx   r9   rí   r-  rÕ  rÖ  r+  rž   )r­   rå   ré  rê  ri  rÞ   Únon_symnoder  s           r¡   rñ  Ú(BuiltinVariable._comparison_with_symnode°  s  € õ 	Bà�W‰WˆàÓ:ÜØ;ØŸ;™;˜- q¨¨¨b°°°qÐ9ØHÈÏÉÈð V*Ø*.¨¨r°%°ð:à6Ô)×5Ñ5Ð6òô  *¨$´×@Ñ@‘eÀdˆÜØœ/Ô+;¼^ÐL÷
ñ 
ô #×(Ò(¨¨R´³¸$Ó-?Ó@Ð@à—	‘	×&Ñ&Ø˜R§-¡-£/°5·>±>Ó3CÐ!DÀbó
ˆô ×%Ò%ØØØñ
ð 	
r£   c                 ó   • [        XUSS5      $ )NÚnb_xorÚ^©rL   r  s       r¡   Úcall_xorÚBuiltinVariable.call_xor×  ó   € ô ˜  8¨SÓ1Ð1r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_xorrz  z^=©rK   r  s       r¡   Ú	call_ixorÚBuiltinVariable.call_ixorÜ  ó   € ô ˜" Ð$4°hÀÓEÐEr£   c                 ó   • [        XU5      $ r¬   )rg   r  s       r¡   Úcall_mulÚBuiltinVariable.call_mulá  s   € ô ! ¨Ó*Ð*r£   c                 ó   • [        XU5      $ r¬   )rc   r  s       r¡   Ú	call_imulÚBuiltinVariable.call_imulæ  s   € ô )¨°Ó2Ð2r£   c                 ó   • [        XU5      $ r¬   )rf   r  s       r¡   Úcall_matmulÚBuiltinVariable.call_matmulë  s   € ô (¨¨qÓ1Ð1r£   c                 ó   • [        XU5      $ r¬   )rb   r  s       r¡   Úcall_imatmulÚBuiltinVariable.call_imatmulð  s   € ô 0°°qÓ9Ð9r£   c                 ó   • [        XUSS5      $ )NÚnb_subtractÚ-r|  r  s       r¡   Úcall_subÚBuiltinVariable.call_subõ  s   € ô ˜  =°#Ó6Ð6r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_subtractr“  z-=r‚  r  s       r¡   Ú	call_isubÚBuiltinVariable.call_isubú  s   € ô ˜" Ð$9¸=È$ÓOÐOr£   c                 ó   • [        XU5      $ r¬   )r^   r  s       r¡   Úcall_addÚBuiltinVariable.call_addÿ  s   € ô ˜B 1Ó%Ð%r£   c                 ó   • [        XU5      $ r¬   )ra   r  s       r¡   Ú	call_iaddÚBuiltinVariable.call_iadd  s   € ô $ B¨1Ó-Ð-r£   c                 ó   • [        XUSS5      $ )NÚnb_andÚ&r|  r  s       r¡   Ú	call_and_ÚBuiltinVariable.call_and_	  r  r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_andr¢  z&=r‚  r  s       r¡   Ú	call_iandÚBuiltinVariable.call_iand  r…  r£   c                 ó   • [        XUSS5      $ )NÚnb_orÚ|r|  r  s       r¡   Úcall_or_ÚBuiltinVariable.call_or_  s   € ô ˜  7¨CÓ0Ð0r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_orr«  z|=r‚  r  s       r¡   Úcall_iorÚBuiltinVariable.call_ior  s   € ô ˜"  O°W¸dÓCÐCr£   c                 ó   • [        XUSS5      $ )NÚ	nb_lshiftz<<r|  r  s       r¡   Úcall_lshiftÚBuiltinVariable.call_lshift  ó   € ô ˜  ;°Ó5Ð5r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_lshiftr´  z<<=r‚  r  s       r¡   Úcall_ilshiftÚBuiltinVariable.call_ilshift"  ó   € ô ˜" Ð$7¸ÀeÓLÐLr£   c                 ó   • [        XUSS5      $ )NÚ	nb_rshiftz>>r|  r  s       r¡   Úcall_rshiftÚBuiltinVariable.call_rshift'  r·  r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_rshiftr¾  z>>=r‚  r  s       r¡   Úcall_irshiftÚBuiltinVariable.call_irshift,  r¼  r£   c                 ó   • [        XUSS5      $ )NÚnb_floor_dividez//r|  r  s       r¡   Úcall_floordivÚBuiltinVariable.call_floordiv1  s   € ô ˜ Ð#4°dÓ;Ð;r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_floor_dividerÆ  z//=r‚  r  s       r¡   Úcall_ifloordivÚBuiltinVariable.call_ifloordiv6  s   € ô ˜" Ð$=Ð?PÐRWÓXÐXr£   c                 ó   • [        XUSS5      $ )NÚnb_true_divideÚ/r|  r  s       r¡   Úcall_truedivÚBuiltinVariable.call_truediv;  s   € ô ˜ Ð#3°SÓ9Ð9r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_true_dividerÎ  z/=r‚  r  s       r¡   Úcall_itruedivÚBuiltinVariable.call_itruediv@  s   € ô ˜" Ð$<Ð>NÐPTÓUÐUr£   c                 ó   • [        XUSS5      $ )NÚnb_remainderÚ%r|  r  s       r¡   Úcall_modÚBuiltinVariable.call_modE  s   € ô ˜  >°3Ó7Ð7r£   c                 ó    • [        XUSSS5      $ )NÚnb_inplace_remainderr×  z%=r‚  r  s       r¡   Ú	call_imodÚBuiltinVariable.call_imodJ  s   € ô ˜" Ð$:¸NÈDÓQÐQr£   c                 ó   • [        XUSS5      $ )NÚ	nb_divmodzdivmod()r|  r  s       r¡   Úcall_divmodÚBuiltinVariable.call_divmodO  s   € ô
 ˜  ;°
Ó;Ð;r£   Úcc                 ó   • [        XX4SS5      $ )NÚnb_powerz** or pow())ro   ©r­   rå   rÆ  rï   rã  s        r¡   Úcall_powÚBuiltinVariable.call_powV  s   € ô ˜"  z°=ÓAÐAr£   c           	      ó    • [        XX4SSS5      $ )NÚnb_inplace_powerrå  z**=)rn   ræ  s        r¡   Ú	call_ipowÚBuiltinVariable.call_ipow_  s   € ô ˜2 !Ð(:¸JÈÓNÐNr£   c           
      ó6  • [        U[        5      (       aK  [        R                  " UUR                  R                  " S[
        R                  /[        U/0 5      Q76 S S9$ [        U[        5      (       a  UR                  n[        U[        [        [        45      (       a-  [        R                  " U[        UR                   5      S:H  5      $ [        U["        5      (       a6  U R%                  X5      n[        R                  " XR&                  (       + 5      $ g )NrÓ  ru  r   )rœ   rw   rž   rÕ  rÖ  r×   r�  r/   r?   Údv_dictrD   r<   rt   r9   rí   r›   rð   rz   rT  rü   )r­   rå   rÆ  Úbool_results       r¡   Ú	call_not_ÚBuiltinVariable.call_not_h  sß   € ô �aœ×)Ñ)Ü"×)Ò)ØØ—	‘	×&Ò&Ø#¤X§]¡]ðÜ5FÈÀsÈBÓ5Oòð ñð ô �aÔ)×*Ñ*Ø—	‘	ˆAÜ�aœ,Ô(9¼;ÐG×HÑHÜ"×(Ò(¨¬S°·±«\¸QÑ->Ó?Ð?Ü�aÔ2×3Ñ3ØŸ.™.¨Ó/ˆKÜ"×(Ò(¨×1BÑ1BÔ-BÓCÐCàr£   c                 ó   • [        XU5      $ r¬   )rl   r  s       r¡   Úcall_containsÚBuiltinVariable.call_contains  s   € ô # 2¨!Ó,Ð,r£   rÎ  )r­   rl  rå   r}   r”   r4  )Fr5  r¬   )›r±   r²   r³   r´   rµ   r-  Ú	_SENTINELr9   Ú_nonvar_fieldsrn  r6   r7  r9  r   r#   r  Ústaticmethodrx  Úcacheræ  r   r­  r<  r°  rº  r¶   r:  r=  r·   r½  rë   rý  rþ  r  r  r  r5  r  r  ÚiterÚsetattrr  r6  r  r,  rê   r  r&  r+  r  r3  r8  r=  rF  rK  rN  r¡  r«  ÚASTrÀ  r°  rÎ  r×  rÜ  rà  rÚ  r¥  r  rÓ  r1  r@  rD  rH  rM  rQ  rT  rW  r[  r^  rm  ru  rr  rs  r{  Úcall_minÚcall_maxrž  r¢  r¦  r«  r±  r·  r¼  r¿  rÂ  rÅ  rÈ  rÌ  rÐ  rÕ  rß  rã  rè  rë  rï  rò  r  r  r  r$  r,  r0  r  r6  r@  rI  rN  rR  rU  rZ  rb  re  rô  rñ  r}  rƒ  r‡  rŠ  r�  r�  r•  r™  rœ  rŸ  r¤  r¨  r­  r±  rµ  rº  r¿  rÃ  rÇ  rË  rÐ  rÔ  rÙ  rÝ  rá  rç  rë  rð  ró  r¸   r>  r?  s   @r¡   rl  rl  D  s�  ø‡ ññ “€Iàðà	×	'Ñ	'ð€NðCØðCØ%@ðCà	!ôCð 	‘FÐ1°4Ó8ð€Ið ð) sð )°Fð )Ð?Pó )ó ð)ð Ø‡_�_ðE c¨(°3¸°8Ñ*<Ñ&=ó Eó ó ðEðN:¨4ô :ð Ø‡_�_ð*  X¨c°3¨hÑ%7Ñ!8ó *ó ó ð*ðX Ø‡_�_ð�TØ��f�Ñ˜u T¨#¡Y°¸¸f¸Ñ0EÐ%EÑFÐFñó ó ó ðð Ø‡_�_ðK˜TØ��f�ÑØØØØ˜Ñ)Ø!ð#ñð !ð	"ññ	
ð		ñó Kó ó ðKðZ ðØ�S˜#�XÑðØ(,¨_Ñ(=ðØGKðà	ÐÑ	 $Ñ	&óó ðð5 Tô 5ñ
 ,5Ø	ˆw˜  t¨WÐ5ó,Ð˜) C™.ó ð˜3ð ¨#ð °$÷ ð4˜#ô 4ð Cô ð¨cô ð ñ	1à'ð1ð ð1ð ð	1ð
 
õ1ð."˜#÷ "ôJð1 ?ð 1¸oð 1ÐRVô 1ð ð °Tô ð¨$¨t©*ð ¸ô ð3Ø$ð3Ø0?ð3à	ô3ð ð
Ø�?Ñ#ð
Ø-1°#°Ð2FÑ-Gð
à	ˆt�C‰y˜$˜s C˜x™.Ð(Ñ	)ó
ó ð
ð
Ø˜Ñ)ð
Ø37¸¸_Ð8LÑ3Mð
à	ô
ð ðs Ø�S˜#�XÑðs Ø+/°©:ðs ØCGðs à	à'Ø�Ñ!Ø��oÐ%Ñ&ð	
ð
 	˜$Ñð	 ñ
ós ó ðs ðj	 ð
¨#¯'©'ð 
°dó 
ó ð
ð8 ð1Ø'ð1Ø/2¯~©~ð1ØILð1à	˜4Ñ	ó1ó ð1ð*Là'ðLð  ðLð ð	Lð
 "ðLð 
˜4Ñ	ôLð,4à'ð4ð ð4ð "ð	4ð
 
ô4ð$4Ø-ð4Ø6Eð4à	ô4ð ð(
Ð(Cð (
Èó (
ó ð(
ðT^à'ð^ð �?Ñ#ð^ð �S˜/Ð)Ñ*ð	^ð
 
˜4Ñ	ô^ðT 	ð   Øˆf�cˆkÑØà+Ø�_Ñ%Ø�S˜/Ð)Ñ*ðð
 ðñ	
ð	ñ
"ó 
ð)à'ð)ð �?Ñ#ð)ð �S˜/Ð)Ñ*ð	)ð
 
ô)ð@b;à'ðb;ð ðb;ð �?Ñ#ð	b;ð
 �S˜/Ð)Ñ*ðb;ð 
÷b;ðP (,ñ	/à'ð/ð ð/ð  Ñ$ð	/ð
 
˜4Ñ	õ/ð'Ø-ð'Ø4Cð'à	˜4Ñ	ô'ð
+Ø-ð+Ø4Cð+à	˜4Ñ	ô+ð
+Ø-ð+Ø4Cð+à	˜4Ñ	ô+ð
,Ø-ð,Ø4Cð,à	˜4Ñ	ô,ð
(Ø-ð(Ø4Cð(à	˜4Ñ	ô(ð%Ø-ð%Ø4Cð%à	ô%ð
%Ø-ð%Ø4Cð%à	˜4Ñ	ô%ð
$Ø-ð$Ø4Cð$à	˜4Ñ	ô$ò
ðB '+Ø*.ò?à'ð?ð ð?ð ˜tÑ#ð	?ð
 ! 4Ñ'ð?ð 
˜4Ñ	õ?ðBYØ-ðYØ6:¸?Ñ6KðYà	ôYð à'ð ð �OÑ$ð ð ð	 ð
 
ô ðDmà'ðmð ˜TÑ!ðmð ˜TÑ!ð	mð
 
˜4Ñ	ômð^ €HØ€Hð*Ø-ð*Ø4Cð*à	ô*ð
*Ø-ð*Ø4Cð*à	ô*ð
'Ø-ð'Ø4Cð'à	ô'ðBà'ðBð ðBð ð	Bð
 "ðBð 
ôBð3à'ð3ð ð3ð "ð	3ð
 
ô3ð
 ?ð 
¸oð 
ÐRVô 
ð
7Ø-ð7Ø6Eð7à	ô7ð

Ø-ð

Ø69ð

ØEHð

à	ô

ðFà'ðFð ðFð "ð	Fð
 
˜4Ñ	ôFð6

Ø-ð

Ø4Cð

à	ô

ð
Øð
Ø,ð
Ø8Gð
à	˜4Ñ	ô
ð
Ø-ð
Ø4Cð
à	˜4Ñ	ô
ðà'ðð ðð "ð	ð
 
ôð4à'ðð ðð "ð	ð
 
ôðB
à'ð
ð ð
ð "ð	
ð
 
ô
ð4)à'ð)ð ð)ð "ð	)ð
 
ô)ðà'ðð ðð "ð	ð
 
ôð:
5à'ð
5ð ð
5ð "ð	
5ð
 
ô
5ð
>à'ð
>ð ð
>ð "ð	
>ð
 
ô
>ð
5à'ð
5ð ð
5ð "ð	
5ð
 
ô
5ðK.à'ðK.ð ðK.ð -ð	K.ð
 
ôK.ðZ9à'ð9ð !ð9ð "ð	9ð
 
ô9ð-Ø-ð-Ø2Að-ØFUð-à	ô-ð
à'ðð ðð "ð	ð
 
ôð0(
à'ð(
ð ð(
ð ð	(
ð
 "ð(
ð 
ô(
ðT
Ø-ð
Ø3Bð
ØIXð
à	ô
ð
Ø-ð
Ø58ð
à	ô
ð*Bà'ðBð ðBð "ð	Bð
 
ôBð:Ø-ð:Ø4Cð:à	ô:ð4'Ø-ð'Ø4Cð'à	ô'ð<à'ðð ðð "ð	ð
 
˜4Ñ	ôð(Ø-ð(Ø2Að(à	ô(ð
&Ø-ð&Ø2Að&à	ô&ð
	Nà'ð	Nð (ð	Nð ð		Nð
 "ð	Nð 
ô	Nð'Ø-ð'Ø6Eð'à	ô'ð*
Ø-ð
Ø2Að
à	ô
ð8
à'ð8
ð ð8
ð ð	8
ð
 
ô8
ðt%
à'ð%
ð ð%
ð ð	%
ð
 
ô%
ðN2Ø-ð2Ø2Að2ØFUð2à	˜4Ñ	ô2ð
FØ-ðFØ2AðFØFUðFà	˜4Ñ	ôFð
+Ø-ð+Ø2Að+ØFUð+à	˜4Ñ	ô+ð
3Ø-ð3Ø2Að3ØFUð3à	˜4Ñ	ô3ð
2Ø-ð2Ø2Að2ØFUð2à	˜4Ñ	ô2ð
:Ø-ð:Ø2Að:ØFUð:à	˜4Ñ	ô:ð
7Ø-ð7Ø2Að7ØFUð7à	˜4Ñ	ô7ð
PØ-ðPØ2AðPØFUðPà	˜4Ñ	ôPð
&Ø-ð&Ø2Að&ØFUð&à	˜4Ñ	ô&ð
.Ø-ð.Ø2Að.ØFUð.à	˜4Ñ	ô.ð
2Ø-ð2Ø2Að2ØFUð2à	˜4Ñ	ô2ð
FØ-ðFØ2AðFØFUðFà	˜4Ñ	ôFð
1Ø-ð1Ø2Að1ØFUð1à	˜4Ñ	ô1ð
DØ-ðDØ2AðDØFUðDà	˜4Ñ	ôDð
6Ø-ð6Ø2Að6ØFUð6à	˜4Ñ	ô6ð
MØ-ðMØ2AðMØFUðMà	˜4Ñ	ôMð
6Ø-ð6Ø2Að6ØFUð6à	˜4Ñ	ô6ð
MØ-ðMØ2AðMØFUðMà	˜4Ñ	ôMð
<Ø-ð<Ø2Að<ØFUð<à	˜4Ñ	ô<ð
YØ-ðYØ2AðYØFUðYà	˜4Ñ	ôYð
:Ø-ð:Ø2Að:ØFUð:à	˜4Ñ	ô:ð
VØ-ðVØ2AðVØFUðVà	˜4Ñ	ôVð
8Ø-ð8Ø2Að8ØFUð8à	˜4Ñ	ô8ð
RØ-ðRØ2AðRØFUðRà	˜4Ñ	ôRð
<Ø-ð<Ø2Að<ØFUð<à	˜4Ñ	ô<ð %)ñBà'ðBð ðBð ð	Bð
 ˜TÑ!ðBð 
˜4Ñ	õBð %)ñOà'ðOð ðOð ð	Oð
 ˜TÑ!ðOð 
˜4Ñ	õOðØ-ðØ2Aðà	˜4Ñ	ôð.-Ø-ð-Ø2Að-ØFUð-à	÷-ò -r£   rl  c                   ó  ^ • \ rS rSrSr\r\4S\S\SS4U 4S jjjr	S\
4S jrS	S
S\\   S\\
\4   S\4S jrS	S
S\
S\\   S\\
\4   S\4
U 4S jjr\S	S
S\S\S\S\4
S j5       r\S	S
S\S\S\S\4
S j5       rSrU =r$ )ÚDictBuiltinVariablei…  z4Variable tracker for the `dict` builtin constructor.rü   rª   r”   Nc                 óT   >• U[         La  [        SU 35      e[        TU ]  " S0 UD6  g )Nz,DictBuiltinVariable value must be dict, got r§   )r¶   rÖ   r0  r  ©r­   rü   rª   r2  s      €r¡   r  ÚDictBuiltinVariable.__init__Š  ó/   ø€ ØœÒÜ Ð#OÐPUÈwÐ!WÓXÐXÜ‰ÒÑ"˜6Ó"r£   c                 ó   • g)NzDictBuiltinVariable()r§   r  s    r¡   r,  ÚDictBuiltinVariable.__repr__�  ó   € Ø&r£   rå   r}   r“   c                 ó@   • [         R                  " U[        /UQ70 UD6$ r¬   )rÿ  Úcall_custom_dictr¶   rÛ  s       r¡   rÓ  Ú!DictBuiltinVariable.call_function’  s!   € ô #×3Ò3°B¼ÐN¸tÒNÀvÑNÐNr£   r  c                 ó�  >• US:X  a\  U(       aU  [        0 [        5       S9n[        US   [        5      (       a  U$ UR                  R
                  R                  U US   / US9$ US:X  a  [        R                  " U[        /UQ70 UD6$ [        [        US 5      nUb›  U[        ;   a‘  [        US   [        R                  5      (       a>  US   R                  c  [        S5      eUS   R                  R                  XUSS  U5      $ [        US   [         5      (       a  US   R                  XUSS  U5      $ [         TU ]=  XX45      $ )Nr~   rä  r   r#  ÚfromkeyszJUserDefinedDictVariable._base_vt must not be None for dict method dispatchr4   )r<   r8   rœ   rÿ  rÕ  rì  r4  Úcall_custom_dict_fromkeysr¶   r  r)   r   ÚUserDefinedDictVariabler6  rÖ   r1  r0  )r­   rå   r  r“   rª   Údict_vtr<  r2  s          €r¡   r1  ÚDictBuiltinVariable.call_methodš  s\  ø€ ð �9ÓÞô
 ,¨BÔ>NÓ>PÑQ�Ü˜d 1™gÔ':×;Ñ;Ø"�NØ—y‘y×-Ñ-×KÑKØØ˜‘GØØð	 Lð ð ð �:ÓÜ&×@Ò@Ø”DðØòØ#)ñð ô œd D¨$Ó/ˆØÑ" {´lÓ'BÜ˜$˜q™'¤9×#DÑ#D×EÑEØ˜‘7×#Ñ#Ñ+Ü(Ødóð ð ˜A‘w×'Ñ'×3Ñ3°B¸dÀ1À2¸hÈÓOÐOÜ˜D ™GÔ%6×7Ñ7Ø˜A‘w×*Ñ*¨2°T¸!¸"°X¸vÓFÐFä‰wÑ" 2¨TÓ:Ð:r£   Úuser_clsc                ó²   • [        U5      nU R                  [        R                  " U [        R
                  5      [        R                  " X5      /UQU5      $ r¬   )r=  Úinline_user_function_returnr9   rí   r   Úconstruct_dict)rå   r  r“   rª   Ú	args_lists        r¡   r  Ú$DictBuiltinVariable.call_custom_dictÃ  sO   € ô ˜“Jˆ	Ø×-Ñ-Ü×!Ò! "¤i×&>Ñ&>Ó?Ü×"Ò" 2Ó0Ð=°9Ð=Øó
ð 	
r£   c          
      óœ  ^ ^• T[         [        [        1;  aH  [        STR                   SU SU 3STR                   STR                   S3STR                   S3/S	9  U(       av  T[        Ld$  [        U5      S
:w  d  [        U5      S
:w  d  SU;  a3  [        T TR                   S3S[        U5       S[        U5       S35        / UQUR                  S5      P7n[        U5      S:X  a'  [        T TR                   S3S[        U5       S35        [        U5      S
:X  a  / UQ[        R                  " S 5      P7n[        U5      S:w  a'  [        T TR                   S3S[        U5       S35        Uu  pES[         [        [        4   S[        4U U4S jjn[        U[        R                  [        45      (       a4  U" [         R                  UR                   R#                  5       U5      5      $ [        U[         5      (       aB  U Vs/ s H  n[        R$                  " T U5      PM     nnU" [         R                  X…5      5      $ ['        T U5      =n	(       a>  [)        T U	5      n
[+        S U
 5       5      (       a  U" [         R                  X¥5      5      $ [        STR                   SU SU 3STR                   S3SS/S	9  g s  snf )Nz$Unsupported dict type for fromkeys()z.fromkeys(): r|  zFailed to call z.fromkeys() because z5 is not any type of dict, OrderedDict, or defaultdictzEnsure z0 is a type of dict, OrderedDict, or defaultdict.rc  r4   rü   z	.fromkeysz1 args and 1 kwargs (`value`)z
 args and rÚ  r   zat least 1 argsz argsr   z2 argsrð   r”   c                 ó¤  >• T[         L a  [        U [        5       S9$ T[        L aš  SSKJn  SSKJn  TR                  R                  R                  UR                  T[        5      UR                  T[        5      / TS9n[        X25      (       d  [        S[        U5       35      e[!        U [        5       S9Ul        U$ [!        U [        5       S9$ )Nrä  r4   r÷  )ÚDefaultDictVariabler#  z"Expected DefaultDictVariable, got )r   r@   r8   r   rÔ  rø  Úuser_definedr  rÕ  rì  r4  rž   r¶   rœ   rÖ   rë   r<   r6  )rð   rø  r  rì  rå   r  s       €€r¡   Ú_make_resultÚCDictBuiltinVariable.call_custom_dict_fromkeys.<locals>._make_result  sÉ   ø€ ð œ;Ò&Ü*¨5Ô@PÓ@RÑSÐSØœ[Ò(Ý6Ý=àŸ™×/Ñ/×MÑMØ%×,Ñ,¨R´Ó6Ø%×,Ñ,¨R´Ó=ØØð	 Nð �ô " &×>Ñ>Ü(Ø<¼TÀ&»\¸NÐKóð ô #4ØÔ)9Ó);ñ#�”ð �ä(¨Ô>NÓ>PÑQÐQr£   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr¬   rA   r)  s     r¡   rK  Ú@DictBuiltinVariable.call_custom_dict_fromkeys.<locals>.<genexpr>,  s   é € Ð0ª4 a”;˜q—>�>ª4ùrM  zfailed to call dict.fromkeys()zo.fromkeys() because arguments could not be automatically converted to a list, or some dict key is not hashable.z(Manually convert the argument to a list.zEnsure all keys are hashable.)r¶   r   r   r   r±   r›   r0   rÜ  r:   rž   r9   rœ   r   rt   r<   r  rð   rÓ  rí   rP   r3   rz  )rå   r  r“   rª   r    rü   r  rI  Úarg_listÚiteratorrÓ  s   ``         r¡   r  Ú-DictBuiltinVariable.call_custom_dict_fromkeysÒ  sÕ  ù€ ð œD¤+¬{Ð;Ó;ÜØ>Ø#×,Ñ,Ð-¨]¸4¸&ÀÀ&ÀÐJØ-¨h×.?Ñ.?Ð-@Ð@TØ×$Ñ$Ð%Ð%Zð\ð ˜h×/Ñ/Ð0Ð0`Ðaðòö ð ¤Ò+Ü�t“9 “>Ü�v“; !Ó#Ø &Ó(ä#ØØ×(Ñ(Ð)¨Ð3Ø3Ü˜4“y�k ¬C°«K¨=¸Ð@ô	ð 0�TÐ/˜6Ÿ:™: gÓ.Ñ/ˆDÜˆt‹9˜‹>ÜØØ×$Ñ$Ð% YÐ/Ø!Ü�t“9�+˜UÐ#ô	ô ˆt‹9˜‹>Ø9�TÐ9Ô+×2Ò2°4Ó8Ñ9ˆDÜˆt‹9˜‹>ÜØØ×$Ñ$Ð% YÐ/ØÜ�t“9�+˜UÐ#ô	ð ‰
ˆð	RÜœ¬Ð8Ñ9ð	Rä÷	Rð 	Rô< �cœI×1Ñ1Ô3DÐE×FÑFá¤§¡¨c¯i©i¯n©nÓ.>ÀÓ FÓGÐGÜ�cœ4× Ñ Ù>AÓBºc¸œ×-Ò-¨b°!Ö4¹cˆHÐBÙ¤§¡¨hÓ >Ó?Ð?Ü(¨¨SÓ1Ð1ˆXÕ1Ü" 2 xÓ0ˆDÜÑ0©4Ó0×0Ñ0Ù#¤D§M¡M°$Ó$>Ó?Ð?äØ4Ø×(Ñ(Ð)¨°t°f¸A¸f¸XÐFØ)¨(×*;Ñ*;Ð)<ð =0ð 0ð ;Ø/ðó
	
ùò Cs   È!K	r§   )r±   r²   r³   r´   rµ   r¶   rä   rë   r   r  r·   r,  r=  r9   rÓ  r1  r÷  r  r  r¸   r>  r?  s   @r¡   rÿ  rÿ  …  sH  ø† Ù>à
€Cà%)ñ #˜dð #°Sð #¸T÷ #ð #ð
'˜#ô 'ðOà'ðOð �?Ñ#ðOð �S˜/Ð)Ñ*ð	Oð
 
ôOð';à'ð';ð ð';ð �?Ñ#ð	';ð
 �S˜/Ð)Ñ*ð';ð 
÷';ðR ð
Ø'ð
àð
ð ð	
ð
 "ð
ð 
ó
ó ð
ð ðf
Ø'ðf
àðf
ð ð	f
ð
 "ðf
ð 
óf
ó öf
r£   rÿ  c                   ó~   ^ • \ rS rSrSr\r\4S\S\SS4U 4S jjjrS\	4S jr
S	S
S\\   S\\	\4   S\4S jrSrU =r$ )ÚIterBuiltinVariablei<  z(Variable tracker for the `iter` builtin.rü   rª   r”   Nc                 óT   >• U[         La  [        SU 35      e[        TU ]  " S0 UD6  g )Nz,IterBuiltinVariable value must be iter, got r§   )rù  rÖ   r0  r  r  s      €r¡   r  ÚIterBuiltinVariable.__init__A  r  r£   c                 ó   • g)NzIterBuiltinVariable()r§   r  s    r¡   r,  ÚIterBuiltinVariable.__repr__F  r  r£   rå   r}   r“   c                 óæ   • U(       d  [        [        US/S9  [        U5      S:X  a  [        XS   5      $ [        R
                  " [        R                  R                  5      R                  XU5      $ )Nz(iter expected at least 1 argument, got 0rÛ  r4   r   )
r   rÜ  r›   rP   r   rF  r   r/  Úcallable_iteratorrÓ  rÛ  s       r¡   rÓ  Ú!IterBuiltinVariable.call_functionI  se   € ö Ü$ÜØØ@ÐAòô ˆt‹9˜‹>Ü" 2¨A¡wÓ/Ð/ä×1Ò1Ü×"Ñ"×4Ñ4óç‰m˜B fÓ-ð.r£   r§   )r±   r²   r³   r´   rµ   rù  rä   r   r  r·   r,  r=  r9   r¶   rÓ  r¸   r>  r?  s   @r¡   r"  r"  <  sx   ø† Ù2à
€Cà$(ñ #˜cð #°Cð #¸D÷ #ð #ð
'˜#ô 'ð.à'ð.ð �?Ñ#ð.ð �S˜/Ð)Ñ*ð	.ð
 
÷.ò .r£   r"  c                   ó¨   ^ • \ rS rSrSr\r\4S\S\SS4U 4S jjjrS\	4S jr
S	S
S\\   S\\	\4   S\4S jrS	S
S\\   S\\	\4   S\4S jrSrU =r$ )ÚGetAttrBuiltinVariablei`  z+Variable tracker for the `getattr` builtin.rü   rª   r”   Nc                 óT   >• U[         La  [        SU 35      e[        TU ]  " S0 UD6  g )Nz2GetAttrBuiltinVariable value must be getattr, got r§   )r  rÖ   r0  r  r  s      €r¡   r  ÚGetAttrBuiltinVariable.__init__e  ó4   ø€ ØœÒÜ ØDÀUÀGÐLóð ô 	‰ÒÑ"˜6Ó"r£   c                 ó   • g)NzGetAttrBuiltinVariable()r§   r  s    r¡   r,  ÚGetAttrBuiltinVariable.__repr__l  ó   € Ø)r£   rå   r}   r“   c           	      ó`  ^• SSK Jm  [        U4S jU 5       5      (       a3  U Vs/ s H&  n[        UT5      (       a  UR	                  5       OUPM(     nn U R                  XU5      $ s  snf ! [         a¶    [        X#5      (       d  e  [        U Vs/ s H  oDR                  5       PM     Os  snf sn6 nO^! [         a    [        [        U5        e [         a    e [         a-  n[        [        U5      U[        UR                   5      S9  e S nAff = f["        R$                  " X5      s $ f = f)Nr4   ©rR  c              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7fr¬   ©rœ   ©rI  rÆ  rR  s     €r¡   rK  Ú7GetAttrBuiltinVariable.call_function.<locals>.<genexpr>w  ó   øé € Ð@º4°aŒz˜!Ð0×1Ð1º4ùrV  rÛ  )r˜   rR  r\  rœ   rX  Ú_call_getattrr   r'   r  rê   rk  r   r5   r‘  rë   r=  r“   r9   rí   )r­   rå   r“   rª   rÆ  rì  rÝ  rR  s          @r¡   rÓ  Ú$GetAttrBuiltinVariable.call_functiono  s  ø€ õ 	.äÔ@¹4Ó@×@Ñ@áRVóÚRVÈQœz¨!Ð-@×AÑA�—	‘	”ÀqÒHÑRVð ð ð	5Ø×%Ñ% b°Ó7Ð7ùò	øô
 ó 	5ô 1°×>Ñ>Øð	Ü Á4Ó"HÂ4¸a×#7Ñ#7Ö#9Â4ùÔ"HÐI‘øÜ!ó Ü(¬¸Ô<ØÜ6ó ØÜó Ü(¬¨c«°B¼TÀ#Ç(Á(»^ÒLØûðúô #×(Ò(¨Ó4Ò4ð!	5úsG   ¦-A(ÁA- Á-D-Â		B6ÂB,
Â+
B6Â5D-Â6.DÃ$(DÄDÄD-Ä,D-c           
      óÚ   • US   nUS   n[        U5      S:”  a  US   O[        nUR                  5       (       d  [        SSU SU SU S3SS	/S
9  UR	                  5       n[        XXv5      $ )Nr   r4   r   z)getattr() with non-constant name argumentzgetattr(rö  r  z:getattr() with non-constant name argument is not supportedz1Ensure the name argument of getattr() is a stringrc  )r›   rJ   r/  r   rê   rN   )r­   rå   r“   rª   rY  r8  ro  r  s           r¡   r9  Ú$GetAttrBuiltinVariable._call_getattr�  sƒ   € ð �1‰gˆØ˜‘7ˆÜ  ›Y¨›]�$�q’'´ˆà×*Ñ*×,Ñ,ÜØCØ" 3 % r¨(¨°2°g°Y¸aÐ@ØXØJÐKò	ð ×*Ñ*Ó,ˆÜ˜r¨Ó6Ð6r£   r§   )r±   r²   r³   r´   rµ   r  rä   r   r  r·   r,  r=  r9   r¶   rÓ  r9  r¸   r>  r?  s   @r¡   r+  r+  `  s³   ø† Ù5à
€Cà$+ñ #˜cð #°sð #¸t÷ #ð #ð*˜#ô *ð5à'ð5ð �?Ñ#ð5ð �S˜/Ð)Ñ*ð	5ð
 
ô5ð@7à'ð7ð �?Ñ#ð7ð �S˜/Ð)Ñ*ð	7ð
 
÷7ò 7r£   r+  c                   ó~   ^ • \ rS rSrSr\r\4S\S\SS4U 4S jjjrS\	4S jr
S	S
S\\   S\\	\4   S\4S jrSrU =r$ )ÚHasAttrBuiltinVariablei¥  z+Variable tracker for the `hasattr` builtin.rü   rª   r”   Nc                 óT   >• U[         La  [        SU 35      e[        TU ]  " S0 UD6  g )Nz2HasAttrBuiltinVariable value must be hasattr, got r§   )r  rÖ   r0  r  r  s      €r¡   r  ÚHasAttrBuiltinVariable.__init__ª  r.  r£   c                 ó   • g)NzHasAttrBuiltinVariable()r§   r  s    r¡   r,  ÚHasAttrBuiltinVariable.__repr__±  r1  r£   rå   r}   r“   c                 ó  ^• SSK Jm  [        U4S jU 5       5      (       a3  U Vs/ s H&  n[        UT5      (       a  UR	                  5       OUPM(     nn[        U5      S:w  d  U(       a  [        [        U5        Uu  pVUR                  5       (       d  [        [        U5        UR                  XR                  5       5      nUc4  [        SSU SU S3S	UR                  5        3/ [        R                  QS
9  U$ s  snf )Nr4   r3  c              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7fr¬   r5  r6  s     €r¡   rK  Ú7HasAttrBuiltinVariable.call_function.<locals>.<genexpr>¼  r8  rV  r   zhasattr() on unsupported typezhasattr(rö  r  z#hasattr() is not supported on type rc  )r˜   rR  r\  rœ   rX  r›   r   rÜ  r/  r  rê   r   r˜  r   rh  )	r­   rå   r“   rª   rÆ  rY  r  rì  rR  s	           @r¡   rÓ  Ú$HasAttrBuiltinVariable.call_function´  sñ   ø€ õ 	.äÔ@¹4Ó@×@Ñ@áRVóÚRVÈQœz¨!Ð-@×AÑA�—	‘	”ÀqÒHÑRVð ð ô ˆt‹9˜‹>žVÜ$¤Y°Ô3Ø‰	ˆØ×&Ñ&×(Ñ(Ü$¤Y°Ô3Ø×%Ñ% b×*AÑ*AÓ*CÓDˆØ‰>ÜØ7Ø" 3 % r¨$¨¨qÐ1ØAÀ#×BVÑBVÓBXÐAYÐZØ6Ô)×5Ñ5Ð6ò	ð ˆùò!s   ¦-C<r§   )r±   r²   r³   r´   rµ   r  rä   r   r  r·   r,  r   r9   r¶   rÓ  r¸   r>  r?  s   @r¡   r>  r>  ¥  sx   ø† Ù5à
€Cà$+ñ #˜cð #°sð #¸t÷ #ð #ð*˜#ô *ðà'ðð �Ñ'ðð �S˜/Ð)Ñ*ð	ð
 
÷ò r£   r>  c                   ó¢   ^ • \ rS rSrSr\r\4S\S\SS4U 4S jjjrS\	4S jr
S	S
S\\   S\\	\4   S\4S jrS	S
S\S\S\S\S-  4
S jrSrU =r$ )ÚSetAttrBuiltinVariableiÐ  z+Variable tracker for the `setattr` builtin.rü   rª   r”   Nc                 óT   >• U[         La  [        SU 35      e[        TU ]  " S0 UD6  g )Nz2SetAttrBuiltinVariable value must be setattr, got r§   )rú  rÖ   r0  r  r  s      €r¡   r  ÚSetAttrBuiltinVariable.__init__Õ  r.  r£   c                 ó   • g)NzSetAttrBuiltinVariable()r§   r  s    r¡   r,  ÚSetAttrBuiltinVariable.__repr__Ü  r1  r£   rå   r}   r“   c           
      ó¨  ^	• SSK Jm	  [        U	4S jU 5       5      (       a3  U Vs/ s H&  n[        UT	5      (       a  UR	                  5       OUPM(     nn[        U5      S:w  d  U(       a  [        [        U5        Uu  pVnU R                  XXg5      nUb  U$ [        SSU SU SU S3S	UR                  5        3/ [        R                  QS
9  g s  snf )Nr4   r3  c              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7fr¬   r5  r6  s     €r¡   rK  Ú7SetAttrBuiltinVariable.call_function.<locals>.<genexpr>ç  r8  rV  r„   zsetattr() on unsupported typeúsetattr(rö  r  z#setattr() is not supported on type rc  )r˜   rR  r\  rœ   rX  r›   r   rÜ  Ú_call_setattrr   r˜  r   rh  )
r­   rå   r“   rª   rÆ  rY  r8  r9  rì  rR  s
            @r¡   rÓ  Ú$SetAttrBuiltinVariable.call_functionß  sÙ   ø€ õ 	.äÔ@¹4Ó@×@Ñ@áRVóÚRVÈQœz¨!Ð-@×AÑA�—	‘	”ÀqÒHÑRVð ð ô ˆt‹9˜‹>žVÜ$¤Y°Ô3Ø!Ñˆ�sØ×#Ñ# B¨XÓ;ˆØÑØˆMÜØ3Ø˜s˜e 2 h Z¨r°#°°aÐ8Ø=¸c×>RÑ>RÓ>TÐ=UÐVØ2Ô%×1Ñ1Ð2ó		
ùòs   ¦-CrY  r8  r9  c                 óh  • [        U[        R                  [        R                  [        R                  [        R
                  [        R                  [        R                  45      (       a  UR                  USX4/0 5      $ UR                  R                  R                  U5      (       d£  UR                  b–  UR                  5       =nbƒ  [        US5      (       ar  UR                  5       (       a]  UR                  R                  R!                  XR5        UR#                  5       nUR                  R                  R%                  X&U5        U$ UR                  R                  R                  U5      (       Ga†  UR                  5       (       Gap  UR#                  5       nUR'                  5       (       Ga"  SSKJn  US:X  a(  [-        SSU SU SU S	3S
/ [.        R0                  QS9  GOîUS:X  Ga³  UR                  c  [-        SSU SU SU S	3SS/S9  GOUR2                  UR2                  :w  a  [-        SSU SU SU S	3SS/S9  OÏUR4                  UR4                  :w  aµ  [7        UR9                  5       R:                  U5      n[7        UR9                  5       R:                  U5      n	UR2                  U	R2                  :w  d<  UR<                  U	R<                  :w  d"  UR?                  5       U	R?                  5       :w  a  [-        SSU SU SU S	3SS/S9  UR                  R@                   V
s/ s H   oªR                  UR                  :X  d  M  U
PM"     nn
U H(  n
UR                  R@                  RC                  U
5        M*     UR9                  5       R:                  nURD                  S:X  am  URF                  RI                  S5      nUbO  [        US5      (       a>  SSK%J&n  U" URN                  U5      nUR                  RP                  RS                  XÏ5        [U        U5         [V        RX                  " 5          U" UUR                  RZ                  " S[V        R\                  R^                  R`                  /[c        X$/0 5      Q76 5      nS S S 5        S S S 5        W$ US;   a  SnO+[e        U5      (       a  [-        SSU SU SU S	3SSU S3/S9  UR                  R                  R%                  X&U5        U$ [        U[        Rf                  5      (       GaS  UR                  Ri                  5       (       d   [-        S S!U 3S"S#/[.        Rj                  QS9  UR                  5       (       aî  [        U[        Rl                  5      (       aÏ  [7        UR9                  5       R:                  U5      n URo                  XR#                  5       5      nUbˆ  UR'                  5       (       as  [7        UR9                  5       R:                  U5      n[t        Rv                  " URx                  S5      nUUL a)  U[V        Rz                  R|                  R~                  L a  U$ UR�                  U5        g s  sn
f ! , (       d  f       GNî= f! , (       d  f       W$ = f! [p        [r        4 a    S n NÚf = f)$Nr"  r«  r4   rÑ  Úrequires_gradz!setattr() on Tensor.requires_gradrP  rö  r  zÑsetattr() on Tensor.requires_grad not supported. Mutating requires_grad can introduce a new leaf from non-leaf or vice versa in the middle of the graph, which AOTAutograd does not currently know how to handle.rc  Údataz&Failed to mutate tensor data attributezVDynamo only supports mutating `.data` of tensor created outside `torch.compile` regionzWDon't mutate `.data` on this tensor, or move the mutation out of `torch.compile` regionz9Failed to mutate tensor data attribute to different dtypezPDynamo only supports mutating `.data` of tensor to a new one with the same dtypezRFailed to mutate tensor data attribute across devices with different shape/strideszODynamo only supports cross-device `.data` mutation when shape and strides matchÚplaceholderrÿ  Ú	fake_moder   )Úfast_detachrÓ  )Ú_gradÚgradrZ  zFailed to set tensor attributez6Dynamo doesn't support setting these tensor attributeszDon't mutate attribute 'z@' on tensors, or move the mutation out of `torch.compile` regionz#nn.Module mutation in HigherOrderOpznn.Module: zPInplace modifying nn.Module params/buffers inside HigherOrderOps is not allowed.z<Remove the mutation or move it outside of the HigherOrderOp.)Arœ   r   r  rz   ri  ro  ÚTracebackVariableÚDequeVariabler1  rÕ  rì  r2  ré   Úget_value_for_setattrr  r/  Útrack_object_existingrê   Ú
store_attrr6  rÔ  rÒ  r   r   rh  rº   Údevicer+   r+  r¨  ÚshapeÚstrideÚtracked_fakesÚremoverÞ   r   rš   Útorch._subclasses.fake_implsrX  rW  Ú#_shallow_copy_placeholder_snapshotsÚ
setdefaultÚdynamo_disable_gradrÎ   Úno_gradrÖ  ÚopsÚatenÚshallow_copy_data_r/   r,   rÁ  Úis_root_tracerÚFUNDAMENTALrx   r  rk  r   r}  rD  Úmodule_typer  ÚModuler"  Úconvert_to_unspecialized)r­   rå   rY  r8  r9  Ú
underlyingr  rÒ  Úobj_fakeÚval_fakeÚtfÚ	to_removeÚ
input_nodeÚevrX  ÚsnapshotÚoutÚassigning_fake_valÚgetattr_varÚexisting_fake_attrÚmod_setattrs                        r¡   rQ  Ú$SetAttrBuiltinVariable._call_setattrø  så  € ô Øä×-Ñ-Ü×3Ñ3Ü×4Ñ4Ü×+Ñ+Ü×+Ñ+Ü×'Ñ'ð÷

ñ 

ð —?‘? 2 }°x°oÀrÓJÐJà—	‘	×&Ñ&×<Ñ<¸S×AÑAØ—
‘
Ñ&Ø"×8Ñ8Ó:Ð:�ÑGÜ˜
 J×/Ñ/Ø×+Ñ+×-Ñ-à�I‰I×"Ñ"×8Ñ8¸ÔIØ×.Ñ.Ó0ˆDØ�I‰I×"Ñ"×-Ñ-¨c¸Ô=ØˆJà�I‰I×"Ñ"×8Ñ8¸×=Ò=Ø×+Ñ+×-Ò-à×.Ñ.Ó0ˆDØ�}‰}�ŠÝ2à˜?Ó*ä!Ø CØ"*¨3¨%¨r°$°°r¸#¸¸aÐ @ð%lð ?Ô 1× =Ñ =Ð>ôð ˜V”^à—z‘zÑ)Ü%Ø$LØ&.¨s¨e°2°d°V¸2¸c¸UÀ!Ð$Dð)Pð!Mð#ô	ð Ÿ™ c§i¡iÓ/Ü%Ø$_Ø&.¨s¨e°2°d°V¸2¸c¸UÀ!Ð$Dð)Jð!Mð#ó	ð Ÿ™ s§z¡zÓ1Ü#1°#·,±,³.×2EÑ2EÀrÓ#J˜Ü#1°#·,±,³.×2EÑ2EÀrÓ#J˜à$ŸN™N¨h¯n©nÓ<Ø'Ÿ~™~°·±Ó?Ø'Ÿ™Ó0°H·O±OÓ4EÓEä)Ø(|Ø*2°3°%°r¸$¸¸rÀ#ÀÀaÐ(Hð-Ið%Qð'"ò	ð" &(§Y¡Y×%<Ò%<ó!Ú%<˜rÇ	Á	ÈSÏZÉZÑ@WŸÑ%<ð ð !ó (˜ØŸ	™	×/Ñ/×6Ñ6°rÖ:ñ (ð "%§¡£×!4Ñ!4�JØ!—}‘}¨Ó5Ø'Ÿ_™_×0Ñ0°ÓA˜Ø™>¬g°b¸+×.FÑ.FÝPá'2°2·<±<ÀÓ'D˜HØŸI™I×IÑI×TÑTØ *ôô -¨RÕ0´%·-²-µ/Ù+ØØŸI™I×2Ò2Ø /Ü %§	¡	§¡× AÑ Aðô "3°C°:¸rÓ!Bòó˜÷ 3B×0ð �JØÐ.Ó.ð "‘DÜ0°×6Ñ6ô "Ø @Ø"*¨3¨%¨r°$°°r¸#¸¸aÐ @Ø$\à6°t°fð =Nð Nðò	ð �I‰I×"Ñ"×-Ñ-¨c¸Ô=ØˆJÜ˜œY×7Ñ7×8Ò8Ø—9‘9×+Ñ+×-Ñ-ÜØAØ)¨#¨Ð/Ø ràVðä*×6Ñ6ðò	ð ×*Ñ*×,Ñ,´Ø”Y×-Ñ-÷2ñ 2ô &4°C·L±L³N×4GÑ4GÈÓ%LÐ"ð'Ø"%×"6Ñ"6Ø×7Ñ7Ó9ó#�Kð Ñ*¨{×/DÑ/D×/FÑ/Fä)7¸×8LÑ8LÓ8N×8SÑ8SÐUWÓ)XÐ&ô #*×"8Ò"8¸¿¹È-Ó"X�Kà*Ð.@Ò@Ø'¬5¯8©8¯?©?×+FÑ+FÒFà*Ð*à×(Ñ(¨Ô,Øùòy!÷, 3B¶/ú×0Ô0ð �JûôX 'Ô(>Ð?ó 'Ø"&’Kð'úsC   Ì/Y3ÍY3Ð(Z
Ð>AY8ÒZ
Ö7Z Ù8
Z	ÚZ
Ú

ZÚZ1Ú0Z1r§   )r±   r²   r³   r´   rµ   rú  rä   r   r  r·   r,  r   r9   r¶   rÓ  rQ  r¸   r>  r?  s   @r¡   rH  rH  Ð  s¹   ø† Ù5à
€Cà$+ñ #˜cð #°sð #¸t÷ #ð #ð*˜#ô *ð
à'ð
ð �Ñ'ð
ð �S˜/Ð)Ñ*ð	
ð
 
ô
ð2|à'ð|ð ð|ð "ð	|ð
 ð|ð 
˜4Ñ	÷|ò |r£   rH  c            
       ó²   ^ • \ rS rSrSr\r\4S\S\SS4U 4S jjjr	S\
4S jrS	S
S\\   S\\
\4   S\4S jrS	S
S\
S\\   S\\
\4   S\4
U 4S jjrSrU =r$ )ÚListBuiltinVariablei·  z4Variable tracker for the `list` builtin constructor.rü   rª   r”   Nc                 óT   >• U[         La  [        SU 35      e[        TU ]  " S0 UD6  g )Nz,ListBuiltinVariable value must be list, got r§   )r=  rÖ   r0  r  r  s      €r¡   r  ÚListBuiltinVariable.__init__¼  r  r£   c                 ó   • g)NzListBuiltinVariable()r§   r  s    r¡   r,  ÚListBuiltinVariable.__repr__Á  r  r£   rå   r}   r“   c                 ór  • U(       a  [        US5        [        U5      S:X  a  [        / [        5       S9$ [        U5      S:”  a  [        US[        U5       35        US   nUR                  (       Gaš  [        UR                  5      (       Gd  [        U[        5      (       a4  [        UR                  R                  [        R                  5      5        GO6[        U[        R                  [        R                  45      (       Gd  [        U[        [        R                   [        R"                  45      (       a/  UR$                  R&                  R)                  UR                  5        [        U[        R*                  5      (       a3  [        UR                  R                  [        R,                  5      5        OQ[        U[        R.                  5      (       d2  [        UR                  R                  [        R0                  5      5        [        / [        5       S9nUR3                  USUS   /0 5        U$ )Nz!list() takes no keyword argumentsr   rä  r4   z&list expected at most 1 argument, got rð  )r   r›   rD   r8   ré   r!   rœ   rE   r   r   r   ÚTUPLE_ITERATOR_LENr   ÚIteratorVariableÚLocalGeneratorObjectVariabler<   ÚOrderedSetVariableÚDictKeySetVariablerÕ  Úguard_on_key_orderr  ÚMappingProxyVariableÚMAPPING_KEYS_CHECKÚUnspecializedNNModuleVariableÚSEQUENCE_LENGTHr1  )r­   rå   r“   rª   rY  Úlsts         r¡   rÓ  Ú!ListBuiltinVariable.call_functionÄ  s¥  € ö ÜØØ3ôô ˆt‹9˜‹>Ü Ô2BÓ2DÑEÐEÜ�‹Y˜‹]ÜØØ8¼¸T»¸ÐDôð
 �1‰gˆØ�:�:ˆ:Ô0°·±×<Ò<Ü˜#Ô4×5Ñ5Ü˜cŸj™j×3Ñ3´L×4SÑ4SÓTÖUÜØÜ×+Ñ+¬Y×-SÑ-SÐT÷ò ô Øä)Ü!×4Ñ4Ü!×4Ñ4ð÷ñ ð —I‘I×0Ñ0×4Ñ4°S·Z±ZÔ@Ü˜c¤9×#AÑ#A×BÑBÜ!ØŸ
™
×-Ñ-¬l×.MÑ.MÓNõô $ C¬×)PÑ)P×QÑQÜ! #§*¡*×"7Ñ"7¼×8TÑ8TÓ"UÔVä˜2Ô-=Ó-?Ñ@ˆØ�‰˜˜H t¨A¡w i°Ô4Øˆ
r£   r  c                 ó  >• US:X  an  [        U5      S:X  a_  U(       dX  [        / [        5       S9n[        US   [        5      (       a  U$ UR
                  R                  R                  U US   USS  US9$ [        TU ]%  XX45      $ )Nr~   r4   rä  r   r#  )
r›   rD   r8   rœ   r�  rÕ  rì  r4  r0  r1  )r­   rå   r  r“   rª   Úlist_vtr2  s         €r¡   r1  ÚListBuiltinVariable.call_methodô  sŽ   ø€ ð �9ÓÜ�4‹y˜A‹~¦fÜ& rÔ9IÓ9KÑL�Ü˜d 1™gÔ':×;Ñ;Ø"�NØ—y‘y×-Ñ-×KÑKØØ˜‘GØ˜˜�HØð	 Lð ð ô ‰wÑ" 2¨TÓ:Ð:r£   r§   )r±   r²   r³   r´   rµ   r=  rä   rë   r   r  r·   r,  r9   r¶   rÓ  r1  r¸   r>  r?  s   @r¡   r�  r�  ·  s½   ø† Ù>à
€Cà%)ñ #˜dð #°Sð #¸T÷ #ð #ð
'˜#ô 'ð.à'ð.ð �?Ñ#ð.ð �S˜/Ð)Ñ*ð	.ð
 
ô.ð`;à'ð;ð ð;ð �?Ñ#ð	;ð
 �S˜/Ð)Ñ*ð;ð 
÷;õ ;r£   r�  rå   c              #   ó¶   #   • SSK Jn  UR                  U S5      n UR                  U 5        S v •  UR	                  U 5        g ! UR	                  U 5        f = f7f)Nr4   )ÚGradModeVariableF)r;  r—  rž   ÚenterÚexit)rå   r—  Úgmvs      r¡   rh  rh    sC   é € å"à
×
!Ñ
! " eÓ
,€CðØ�	‰	�"ŒÛà�‰��øˆ�‰��üs   ‚AœA ±AÁAÁA)r”   N)ðrµ   rf  r«  r/  Ú
contextlibrx  r}  rC  Úloggingrt  r×   rb  r©   r^  Úcollectionsr   r   Úcollections.abcr   r   r   r   r	   r
   rÎ   Útorch.overridesr   Útorch.utils._python_dispatchr   r;  r   r   r   rÝ  r   r   r   r   r   r   r   r   r   r   r   Úguardsr   r   ré   r   r   r    r!   r"   r#   r$   Úutilsr%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r>  r5   r6   r7   r8   r9   Úconstantr:   r;   Údictsr<   r=   r>   r?   r@   ÚhashablerB   ÚlistsrC   rD   rE   rF   ÚmiscrG   rH   rI   Úobject_protocolrJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   Úsetsrs   rt   r¨  ru   rv   rw   rx   ry   r  rz   r{   Útorch._dynamo.codegenr|   Útorch._dynamo.symbolic_convertr}   Ú	getLoggerr±   r€  r   r  r¡  r”  rœ  r�  r�  r‘  rž  r’  rŸ  r“  rÙ   r¢  r–  r£  r—  r›  r‡  r¤  r˜  r¦  r™  r¥  rš  r™   r;  r5  r<  r�  r‚   r¶   rë   r·   r6  rc  r  rþ  r:  rý  r¸  r·  r³  r¶  r´  rµ  r�   rØ   rÓ   rÔ   r�  rÒ   rÚ   rÕ   ry  r‹  rŒ  r�  r•  rÑ   rŽ   r�   r�   r-  rE  r‘   r=  r¢   rá   rã   rG  rl  rÿ  r"  r+  r>  rH  r�  ÚcontextmanagerÚIteratorrh  r§   r£   r¡   Ú<module>r¯     s&  ðòó* Û 
Û Û Û Û Û Û Û Û Û 
Û Û ß 0ß 8Ñ 8ß /Ñ /ã Ý 1Ý Fç 6Ñ 6÷÷ ÷ ñ ÷ 1÷÷ ñ ÷÷ ÷ ÷ ñ ÷"õ ÷ 7÷õ õ "ß WÓ Wß BÑ B÷*÷ *÷ *÷ *÷ *÷ *÷ *÷ *÷ *÷ *õ *÷V 1÷õ ÷ Iö å/ÝHà×Ó˜Ó!€ð ‡M‚M�8—<’<Ø‡M‚M�8—<’<Ø‡M‚M�8—<’<Ø×Ò˜×)Ò)Ø×Ò�x×'Ò'Ø‡M‚M�8—<’<Ø×Ò�h×&Ò&Ø×Ò�h—o’oØ×Ò�h—o’oØ‡M‚M�8—<’<Ø‡M‚M�8—=’=Ø‡L‚L�(—,’,Ø‡M‚M�8—<’<ðÐ ð" ‰�I˜|Ð,Ó	-Ø‰)�Y Ð-Ó
.Ø	‰9�i Ð'Ó(ðBÐ " D¨¨y¸©~Ð)=Ñ$>ó ð
 ×Ò�wÓÙ2;¸]¸OÓ2LÐ& wÑ/ð Ø  &§*¡*¨f¯j©jÐ9¸?ÈTÑ;QÐQñÐ ð �_Ñ%¨¨d°?Ñ.CÀSÐ.HÑ(IÑI€à‡K‚K�Ø‡K‚K�Ø‡K‚K�Ø‡K‚K�Ø‡K‚K�Ø‡K‚K�ð6Ð �T˜( 3¨ 8Ñ,¨cÐ1Ñ2ó ð ‡L‚LØ‡L‚LØ‡O‚OØ×ÒØ×ÒØ‡L‚LØ‡L‚LØ‡K‚KØ‡K‚KØ‡K‚KØ‡K‚KØ‡K‚KØ‡K‚KØ‡L‚LØ‡M‚MØ‡M‚MØ×ÒØ×ÒØ×ÒØ‡M‚MØ‡M‚MØ‡M‚Mð-€ð4 ‡M‚MØ‡L‚LØ‡L‚LØ‡M‚MØ‡M‚MØ‡L‚Lð€ð �oŠoÐ€
ð ‡O‚OØ‡O‚OØ×ÒØ×ÒØ×ÒðÐ ð ‡L‚LØ‡L‚LØ‡L‚LØ‡M‚MØ×Òð
€ð ØØØð	;Ð �e˜D Ñ1°3Ð6Ñ7ó ð JLÐ ˜$˜x¨¨S¨Ñ1°8¸CÀ¸HÑ3EÐEÑFÓ Kð KMÐ ˜4 ¨¨c¨Ñ 2°H¸SÀ#¸XÑ4FÐ FÑGÓ Lñ
 “HÐ á=Fà�ŠØ�ŠØ�Šðó>Ð ˜Y x°°S°Ñ'9Ñ:ó ð9Ø��c�Ñð9Ø"& Ñ"7ð9à�tÑô9ô.DEôNM;˜/ô M;ðf #Ø"ò	6Øð6ð ð6ð ð	6ð
 
õ6ôr~(-Ð)ô ~(-ôBRt
Ð-ô t
ôn!.Ð-ô !.ôHB7Ð0ô B7ôJ(Ð0ô (ôVdÐ0ô dôNP;Ð-ô P;ðh ×ÒðÐ7ð ¸F¿OºOÈDÑ<Qó ó ñr£   