Ë
    g^(hNU ã                   ó0  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
mZmZ d dlmZmZ d dl	mZmZmZ d dlZd dlmZmZ d dlmZ ddlmZmZmZ dd	lmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ dd
l%m&Z&m'Z' ddl(m)Z) ddl*m+Z+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? ddl@mAZAmBZB ddlCmDZD ddlEmFZFmGZG ddlHmIZImJZJmKZKmLZLmMZMmNZN ddlOmPZPmQZQmRZRmSZSmTZTmUZU ddlVmWZWmXZXmYZYmZZZm[Z[ ddl\m]Z]m^Z^ erd dl_m`Z`  ejÂ                  eb«      ZcejÈ                  ejÊ                  ejÌ                  ejÎ                  ejÐ                  ejÒ                  ejÔ                  ejÖ                  ejØ                  ejÚ                  ejÜ                  ejÞ                  ejà                  ejà                  ejâ                  ejä                  ejæ                  ejè                  ejê                  ejì                  ejî                  ejð                  ejò                  ejô                  ejö                  ejø                  iZ}ede	jü                  e	jü                  geBf   Zee€eB   e�e€eB   df   f   Z‚e�j                  e�j                  e�j
                  e�j                  e�j                  e�j                  e�j                  e�j                  e�j                  e�j                  e�j                  e�j                  iZ� G d„ deB«      Z�e �j"                  d„ «       Z’y)é    N)ÚdefaultdictÚOrderedDict)ÚKeysViewÚSequence)ÚCallableÚTYPE_CHECKINGÚUnion)Ú	sym_floatÚsym_int)Úis_traceable_wrapper_subclassé   )ÚconfigÚ	polyfillsÚ	variables)ÚAttributeMutationErrorÚObservedAttributeErrorÚraise_observed_exceptionÚunimplementedÚunimplemented_v2ÚUnsupportedÚ	UserErrorÚUserErrorType)ÚGuardBuilderÚinstall_guard)ÚDummyModule)Ú
AttrSourceÚGetItemSourceÚGlobalSourceÚis_constant_sourceÚ
TypeSource)Úcheck_constant_argsÚcheck_numpy_ndarray_argsÚcheck_unspec_or_constant_argsÚcheck_unspec_python_argsÚcmp_name_to_op_mappingÚdict_methodsÚextract_fake_example_valueÚget_fake_valueÚguard_if_dynÚis_wrapper_or_member_descriptorÚistypeÚnumpy_operator_wrapperÚproxy_args_kwargsÚstr_methodsÚtensortype_to_dtypeé   )ÚValueMutationNewÚVariableTracker©ÚConstantVariable)ÚEventVariableÚStreamVariable)ÚConstDictVariableÚDefaultDictVariableÚDictViewVariableÚFrozensetVariableÚis_hashableÚSetVariable)ÚBaseListVariableÚListIteratorVariableÚListVariableÚSizeVariableÚTupleIteratorVariableÚTupleVariable)ÚFakeItemVariableÚsupported_comparison_opsÚSymNodeVariableÚTensorVariableÚUnspecializedPythonVariable)ÚUserDefinedObjectVariableÚUserDefinedVariable)ÚInstructionTranslatorrJ   .c            
       ó°  ‡ — e Zd ZU dZ e«       Zdhej                  £Zed„ «       Z	e
 ej                  d«      d„ «       «       Zd„ Ze
 ej                  d«      d„ «       «       Ze
 ej                  d«      deed	ef   eee   ed	ef   f   f   fd
„«       «       Ze
 ej                  d«      d„ «       «       Ze
d„ «       Zd„ Zd^ˆ fd„Zdefd„Zd„ Zˆ fd„Zd_d„Zd„ Zd„ Zd„ Z d„ Z!e
d„ «       Z"d„ Z#e
dee$   de%fd„«       Z&d`d„Z'i Z(eeed	f   ede)e   eeef   gef   f   e*d<   ddd e)d!   d"d#dd!fd$„Z+	 	 	 	 	 	 daˆ fd%„Z,d`d&„Z-e-Z.e-Z/d`d'„Z0d`d(„Z1d`d)„Z2d`d*„Z3e1Z4e1Z5dbd,„Z6dbd-„Z7dbd.„Z8d`d/„Z9d`d0„Z:d1„ Z;d`d2„Z<d`d3„Z=	 dc	 d`d4„Z>d5„ Z?dcd6„Z@d`d7„ZAe@ZBe@ZCd`d8„ZDd9„ ZEd`d:„ZFe
d`d;„«       ZGe
	 	 d`d<„«       ZHd`d=„ZId`d>„ZJd`d?„ZKd`d@„ZLd`dA„ZMd`dB„ZNd`dC„ZOd`dD„ZPddd+efdE„ZQd`dF„ZRd`dG„ZSd`dH„ZT	 dcdddIedJefdK„ZUdddIedJedLefdM„ZVdddIedJefdN„ZWdddIefdO„ZXdddIefdP„ZYdddIed"efdQ„ZZd`dR„Z[d`dS„Z\d`dT„Z]d`dU„Z^d`dV„Z_d`dW„Z`d`dX„ZaeaZbd`dY„ZcecZdd`dZ„Zeddd[ed\efd]„Zfˆ xZgS )dÚBuiltinVariableað  
    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.
    Úfnc                 óf   — t        |j                  t        j                  «      «        | ||¬«      S )N©Úsource)r   Ú
make_guardr   ÚBUILTIN_MATCH)ÚclsÚvaluerP   s      ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_dynamo/variables/builtin.pyÚcreate_with_sourcez"BuiltinVariable.create_with_sourceŽ   s(   € ä�f×'Ñ'¬×(BÑ(BÓCÔDÙ�5 Ô(Ð(ó    Nc                  ó.  — h t         ’t        ’t        ’t        ’t        ’t
        ’t        ’t        ’t        ’t        ’t        ’t        ’t        ’t        ’t        ’t        ’t         ’t"        ’t"        j$                  ’t&        ’t(        ’t*        j                   ’t*        j,                  ’t*        j.                  ’t*        j0                  ’t*        j2                  ’t*        j4                  ’t*        j                  ’t*        j6                  ’t*        j8                  ’t*        j:                  ’t*        j<                  ’t*        j>                  ’t*        j@                  ’t*        jB                  ’t*        jD                  ’t*        jF                  ’t*        jH                  ’t*        jJ                  ’t*        jL                  ’t*        jN                  ’t*        jP                  ’t*        jR                  ’t*        jT                  ’t*        jV                  ’t*        jX                  ’t*        jZ                  ’t*        j\                  ’t*        j^                  ’t*        j`                  ’t*        jb                  ’t*        jd                  ’t*        jf                  ’t*        jh                  ’t*        jj                  ’t*        jl                  ’} ddl7m8} | js                   |jt                  «       «       | js                  d„ tv        jx                  ju                  «       D «       «       | S )Nr0   )rD   c              3   óh   K  — | ]*  }t        |t        t        j                  «      «      sŒ'|–— Œ, y ­w©N)Ú
isinstanceÚtypeÚmathÚsqrt©Ú.0Úxs     rU   ú	<genexpr>z;BuiltinVariable._constant_fold_functions.<locals>.<genexpr>Ó   s!   è ø€ ÒW˜¼
À1ÄdÌ4Ï9É9ÃoÕ8V”1ÑWùs   ‚(2«2)=ÚabsÚallÚanyÚboolÚcallableÚchrÚdivmodÚfloatÚgetattrÚintÚlenÚmaxÚminÚordÚpowÚreprÚroundÚstrÚformatÚsumr\   ÚoperatorÚposÚnegÚnot_ÚtruthÚinvertÚmulÚmatmulÚfloordivÚtruedivÚmodÚaddÚsubÚgetitemÚlength_hintÚlshiftÚrshiftÚand_Úor_ÚxorÚipowÚimulÚimatmulÚ	ifloordivÚitruedivÚimodÚiaddÚisubÚilshiftÚirshiftÚiandÚixorÚiorÚindexÚtensorrD   ÚupdateÚvaluesr]   Ú__dict__)ÚfnsrD   s     rU   Ú_constant_fold_functionsz(BuiltinVariable._constant_fold_functions“   sL  € ð9
Üð9
äð9
ô ð9
ô ð	9
ô
 ð9
ô ð9
ô ð9
ô ð9
ô ð9
ô ð9
ô ð9
ô ð9
ô ð9
ô ð9
ô ð9
ô  ð!9
ô" ð#9
ô$ ð%9
ô& �J‰Jð'9
ô( ð)9
ô* ð+9
ô, �L‰Lð-9
ô. �L‰Lð/9
ô0 �L‰Lð19
ô2 �M‰Mð39
ô4 �N‰Nð59
ô6 �O‰Oð79
ô8 �L‰Lð99
ô: �L‰Lð;9
ô< �O‰Oð=9
ô> ×Ñð?9
ô@ ×ÑðA9
ôB �L‰LðC9
ôD �L‰LðE9
ôF �L‰LðG9
ôH ×ÑðI9
ôJ × Ñ ðK9
ôL �O‰OðM9
ôN �O‰OðO9
ôP �M‰MðQ9
ôR �L‰LðS9
ôT �L‰LðU9
ôV �M‰MðW9
ôX �M‰MðY9
ôZ ×Ñð[9
ô\ ×Ñð]9
ô^ ×Ñð_9
ô` �M‰Mða9
ôb �M‰Mðc9
ôd �M‰Mðe9
ôf ×Ñðg9
ôh ×Ñði9
ôj �M‰Mðk9
ôl �M‰Mðm9
ôn �L‰Lðo9
ôp �N‰Nðq9
ˆõt 	5à�
‰
Ð2Ð+×2Ñ2Ó4Ô5Ø�
‰
ÑWœdŸm™m×2Ñ2Ó4ÔWÔWØˆ
rW   c                 ó:   — | j                   | j                  «       v S rZ   )rM   rž   ©Úselfs    rU   Úcan_constant_fold_throughz)BuiltinVariable.can_constant_fold_throughÖ   s   € Ø�w‰w˜$×7Ñ7Ó9Ð9Ð9rW   c                  óê  — h t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j
                  ’t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j                  ’t         j                   ’t         j"                  ’t         j$                  ’t         j&                  ’t         j(                  ’t         j*                  ’t         j,                  ’t         j.                  ’t         j0                  ’t         j2                  ’t         j4                  ’t         j6                  ’t         j8                  ’t         j:                  ’t         j<                  ’t         j>                  ’t         j@                  ’t         jB                  ’t         jD                  ’t         jF                  ’t         jH                  ’t         jJ                  ’t         jL                  ’t         jN                  ’} | S rZ   )(rw   rc   rx   ry   rz   r|   rq   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    rU   Ú_fx_graph_functionsz#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 ˆ
rW   Úreturn.c                  óž  — t         j                  g d¢t         j                  ft         j                  g d¢t         j                  ft         j
                  g d¢t         j                  ft         j                  g d¢t         j                  ft         j                  g d¢t         j                  ft         j                  g d¢t         j                  ft        g d¢t         j                  ft         j                  g d¢t         j                  ft         j                  g d¢t         j                   ft         j"                  g d	¢t         j$                  fi
} | S )
N)Ú__add__Ú__radd__Ú__iadd__)Ú__sub__Ú__rsub__Ú__isub__)Ú__mul__Ú__rmul__Ú__imul__)Ú__truediv__Ú__rtruediv__Ú__itruediv__)Ú__floordiv__Ú__rfloordiv__Ú__ifloordiv__)Ú__mod__Ú__rmod__Ú__imod__)Ú__pow__Ú__rpow__Ú__ipow__)Ú
__lshift__Ú__rlshift__Ú__ilshift__)Ú
__rshift__Ú__rrshift__Ú__irshift__)rw   r‚   r‘   rƒ   r’   r}   rŒ   r€   r�   r   rŽ   r�   r�   rq   r‹   r†   r“   r‡   r”   rª   s    rU   Ú_binopszBuiltinVariable._binops  së   € ô �L‰LÒ>ÄÇÁÐNÜ�L‰LÒ>ÄÇÁÐNÜ�L‰LÒ>ÄÇÁÐNÜ×ÑÚ?Ü×!Ñ!ðô ×ÑÚBÜ×"Ñ"ð ô �L‰LÒ>ÄÇÁÐNÜÒ5´x·}±}ÐEÜ�L‰LÒ>ÄÇÁÐNÜ�O‰OÚ<Ü× Ñ ðô �O‰OÚ<Ü× Ñ ðð'U
ˆð> ˆ
rW   c                  óÜ  ‡‡‡‡‡‡‡‡— ddl mŠmŠ ddlmŠ ddlmŠ ddlmŠ ddl	m
ŠmŠmŠ i } t        j                  «       j                  «       D �]!  \  }\  }}g | |<   g | |<   |\  }}}||dœˆfd„
}| |   j!                  ‰t"        f|f«       | |   j!                  t"        ‰f|f«       |d	œ	 dd
„}| |   j!                  ‰t"        f|f«       | |   j!                  t"        ‰f|f«       |dœdd„}	| |   j!                  t$        t"        f|	f«       | |   j!                  t"        t$        f|	f«       | |   j!                  t$        t"        f|	f«       | |   j!                  t"        t$        f|	f«       �Œ$ dd„}
dd„}t&        t&        f|ft(        t(        f|
ft(        t*        f|
ft*        t(        fd„ ft,        t.        t*        t0        ffd„ ft.        t.        fd„ fg}| t2        j4                     j7                  |«       dd„}t,        t"        f|ft(        t(        f|
ft(        t*        f|
fg}| t2        j8                     j7                  |«       dd„}t,        t*        f|ft(        t*        f|ft*        t,        f|ft*        t(        f|fg}| t2        j:                     j7                  |«       ˆˆˆˆˆˆˆˆfd„}t=        j>                  «       D ]   }tA        |«      sJ ‚|| vsJ ‚ ||«      | |<   Œ" | S )Nr0   )ÚBaseUserFunctionVariableÚUserFunctionVariable©ÚNNModuleVariable)Úsupported_const_comparison_ops)ÚBaseTorchVariable)ÚUserDefinedClassVariablerH   rI   )Úforward_nameÚreverse_namec                óp   •— t        |‰«      r|j                  | ||gi «      S |j                  | ||gi «      S rZ   )r[   Úcall_method)ÚtxÚaÚbrÒ   rÓ   rI   s        €rU   Úuser_defined_handlerz=BuiltinVariable._binop_handlers.<locals>.user_defined_handlerV  s>   ø€ ô, ˜aÐ!4Ô5ØŸ=™=¨¨\¸A¸3ÀÓCÐCàŸ=™=¨¨\¸A¸3ÀÓCÐCrW   )rÒ   c                ó,   — |j                  | ||gi «      S rZ   ©rÕ   )rÖ   r×   rØ   rÒ   s       rU   Úuser_defined_inplace_handlerzEBuiltinVariable._binop_handlers.<locals>.user_defined_inplace_handlerx  s   € ð —}‘} R¨¸°s¸BÓ?Ð?rW   ©rM   c          
      óp   — ddl m}  ||  | j                  j                  d|gt	        ||gi «      ¢­Ž «      S ©Nr0   ©Úwrap_fx_proxyÚcall_function)Úbuilderrá   ÚoutputÚcreate_proxyr-   )rÖ   r×   rØ   rM   rá   s        rU   Údynamic_handlerz8BuiltinVariable._binop_handlers.<locals>.dynamic_handler…  sA   € Ý2á$ØØ*�B—I‘I×*Ñ*Ø'¨ðÜ.?ÀÀAÀÈÓ.Kòóð rW   c                 óR   — t        g |j                  ¢|j                  | «      ¢«      S rZ   )rB   ÚitemsÚunpack_var_sequence©rÖ   r×   rØ   s      rU   Útuple_add_handlerz:BuiltinVariable._binop_handlers.<locals>.tuple_add_handler¡  s'   € Ü Ð!G 1§7¡7Ð!G¨Q×-BÑ-BÀ2Ó-FÐ!GÓHÐHrW   c                 óR   — t        g |j                  ¢|j                  | «      ¢«      S rZ   )r@   rè   ré   rê   s      rU   Úsize_add_handlerz9BuiltinVariable._binop_handlers.<locals>.size_add_handler¤  s'   € ÜÐ F !§'¡'Ð F¨A×,AÑ,AÀ"Ó,EÐ FÓGÐGrW   c                 óR   — t        g |j                  | «      ¢|j                  ¢«      S rZ   )rB   ré   rè   rê   s      rU   ú<lambda>z1BuiltinVariable._binop_handlers.<locals>.<lambda>Á  s/   € ¤ðØ×.Ñ.¨rÓ2ðàŸ™ðó"€ rW   c                 óf   — t        g |j                  ¢|j                  | «      ¢t        «       ¬«      S ©N©Úmutation_type)r?   rè   ré   r1   rê   s      rU   rï   z1BuiltinVariable._binop_handlers.<locals>.<lambda>Í  s-   € ¤Ø:�a—g‘gÐ: × 5Ñ 5°bÓ 9Ð:Ü"2Ó"4ô"€ rW   c                 óT   —  t        |«      g |j                  ¢|j                  ¢«      S rZ   )r\   rè   rê   s      rU   rï   z1BuiltinVariable._binop_handlers.<locals>.<lambda>Ô  s.   €  ¤ a£ðØŸ™ðàŸ™ðó"€ rW   c                 óì   — |j                  «       s|j                  | «      sy |j                  | «      }| j                  j                  j                  |«       |j                  j                  |«       |S rZ   )Úis_immutableÚhas_unpack_var_sequenceré   rä   Úside_effectsÚmutationrè   Úextend)rÖ   r×   rØ   Úseqs       rU   Úlist_iadd_handlerz:BuiltinVariable._binop_handlers.<locals>.list_iadd_handlerÞ  sY   € Ø�~‰~Ô q×'@Ñ'@ÀÔ'Dàà×'Ñ'¨Ó+ˆCØ�I‰I×"Ñ"×+Ñ+¨AÔ.Ø�G‰G�N‰N˜3ÔØˆHrW   c                 ó–   — t        |t        «      r||}}|j                  |j                  |j	                  «       z  t        «       ¬«      S )N)rè   ró   )r[   r4   Ú	__class__rè   Úas_python_constantr1   )rÖ   ÚlstÚconsts      rU   Úexpand_list_likez9BuiltinVariable._binop_handlers.<locals>.expand_list_likeþ  sG   € Ü˜#Ô/Ô0Ø" C�U�Ø—=‘=Ø—i‘i %×":Ñ":Ó"<Ñ<Ü.Ó0ð !ó ð rW   c                 ó4  •‡ ‡
— dˆ fd„}t         t         f|fg}‰ t        v r}t         t         f|fg}t        ‰ «      }|j                  t        t
        f|j                  ft
        t        f|j                  fg«       ˆ fd„}|j                  t
        t
        f|f«       |S t         t         f|fg}‰ ‰j                  «       v �rX‰ j                  j                  d«      �r< ‰ t        «       d «      Š
dˆ
fd„}|}|}t        t        ‰t        ‰‰t        ‰f}|j                  |t         f|ft         |f|fg«       t        ‰ «      }|j                  ‰t        f‰t        ffˆ fd„f‰‰fˆ fd„f‰‰f|f‰‰f|ft        t         t         ft        t         t         ff|ft        t
        f|j"                  ft
        t        f|j"                  ft        t
        f|j                  ft
        t        f|j                  fg	«       dˆ fd„}	|j                  t
        t
        f|	f«       |S )	Nc                 óP   •— t         ‰|j                  |j                  «      «      S rZ   )r4   rT   ©rÖ   r×   rØ   Úops      €rU   Úcompare_by_valuezYBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.compare_by_value  s   ø€ Ü'©¨1¯7©7°A·G±GÓ(<Ó=Ð=rW   c                 ód   •— | j                  t        j                  | t        ‰   «      ||gi «      S rZ   )Úinline_user_function_returnr2   ÚbuildÚpolyfill_fn_mappingr  s      €rU   ÚhandlerzPBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handler6  s6   ø€ Ø×9Ñ9Ü'×-Ñ-¨bÔ2EÀbÑ2IÓJÈQÐPQÈFÐTVóð rW   Úis_c                 ó   •— t        ‰«      S rZ   r3   )rÖ   r×   rØ   Únone_results      €rU   ÚneverzNBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.neverF  s   ø€ Ü+¨KÓ8Ð8rW   c                 óP   •— t         ‰|j                  |j                  «      «      S rZ   )r4   rM   r  s      €rU   rï   zQBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.<lambda>k  s   ø€ Ô-=¹bÀÇÁÀqÇtÁt»nÓ-M€ rW   c                 ó´   •— t         ‰| j                  j                  |j                  «      | j                  j                  |j                  «      «      «      S rZ   )r4   rä   Úget_submoduleÚ
module_keyr  s      €rU   rï   zQBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.<lambda>r  sA   ø€ Ô-=Ù "Ø$&§I¡I×$;Ñ$;¸A¿L¹LÓ$IØ$&§I¡I×$;Ñ$;¸A¿L¹LÓ$Ió!"ó.€ rW   c                 óŠ  •— t        |«      t        |«      ur"t        j                  ‰j                  dk7  «      S ||u rt        j                   ‰||«      «      S t	        |t
        j                  «      rPt	        |t
        j                  «      r5|j                  |j                  urt        j                   ‰||«      «      S y y y )Nr  )r\   r4   ÚcreateÚ__name__r+   r   ÚExceptionVariableÚexc_type)rÖ   ÚleftÚrightr  s      €rU   Ú	handle_iszRBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handle_is›  s¦   ø€ ô ˜D“z¬¨e«Ñ4Ü/×6Ñ6°r·{±{ÀeÑ7KÓLÐLØ˜u‘}Ü/×6Ñ6±r¸$À³ÓGÐGä˜t¤Y×%@Ñ%@ÔAÜ" 5¬)×*EÑ*EÔFØ ŸM™M°·±Ñ?ä/×6Ñ6±r¸$À³ÓGÐGð @ð Gð BrW   ©rÖ   rJ   )r4   r  rL   rú   rE   r2   Ú_comparison_with_symnodeÚappendr›   r  Ú
startswithÚobjectrF   r=   r7   r6   r5   Ú_comparison_with_tensor)r  r  ÚresultÚop_varr  r  Úobj_op_noneÚnone_op_objÚtypes_that_are_never_noner  r  rÐ   rË   rÎ   rÑ   rH   rI   rÌ   rÏ   s   `         @€€€€€€€€rU   Úcreate_cmp_op_handlersz?BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers  sŽ  ú€ õ>ô $Ô%5Ð6Ð8HÐIÐJð ð Ô(Ñ(ô -Ô.>Ð?ÐAQÐRÐS�ä(¨Ó,�à—‘ô -¬oÐ>Ø"×;Ñ;ðô
 -¬oÐ>Ø"×;Ñ;ðð	ôôð
 —‘¤´ÐAÀ7ÐKÔLØ�ä(Ô*:Ð;Ð=MÐNÐOˆFàÐ3×:Ñ:Ó<Ò<ÀÇÁ×AWÑAWØõBñ !¤£¨4Ó0�õ9ð $�Ø#�ô #Ü#Ø$Ü$Ø'Ø,Ü%Ø%ð	-Ð)ð —‘ð 7Ô8HÐIØ'ðô
 .Ð/HÐIØ'ðð	ôô )¨Ó,�Ø—‘ð "6´Ð GØ!5´Ð Gðó Nðð !1Ø 0ðóðð 7Ð8QÐRØ,ðð
 6Ð7OÐPØ,ðô "0´Ô@PÐ QÜ!/´Ô@PÐ Qðð -ðô ,¬_Ð=Ø"×:Ñ:ðô
 -¬nÐ=Ø"×:Ñ:ðô
 -¬oÐ>Ø"×;Ñ;ðô
 -¬oÐ>Ø"×;Ñ;ðð_3ô5õnHð —‘¤´ÐAÀ9ÐMÔNàˆMrW   r  )!Ú	functionsrË   rÌ   Ú	nn_modulerÎ   r™   rÏ   ÚtorchrÐ   Úuser_definedrÑ   rH   rI   rL   rÉ   rè   r  r2   rE   r@   rB   r4   r?   r=   r>   rw   r‚   rú   r‘   r}   rD   r›   rg   )Úop_handlersr  Úmagic_method_namesÚin_place_oprÒ   rÓ   Úinplace_namerÙ   rÜ   ræ   rë   rí   Úlist_like_addition_handlersrü   Úlist_like_iadd_handlersr  Úlist_like_expansion_handlersr(  rÐ   rË   rÎ   rÑ   rH   rI   rÌ   rÏ   s                     @@@@@@@@rU   Ú_binop_handlerszBuiltinVariable._binop_handlers.  sŠ  ÿ€ ÷ 	NÝ/Ý:Ý,÷	
ñ 	
ð$ ð 	ô ×$Ñ$Ó&×,Ñ,Ó.óP	ñ 
ØÙ-Ð à ˆK˜‰OØ')ˆK˜Ñ$à7IÑ4ˆL˜,¨ð *Ø)öDð6 ˜‰O×"Ñ"Ø%¤Ð7Ð9MÐNôð ˜‰O×"Ñ"Ü!Ð#6Ð7Ð9MÐNôð
 DPñ@Ø+ó@ð
 ˜Ñ$×+Ñ+Ø%¤Ð7Ð9UÐVôð ˜Ñ$×+Ñ+Ü!Ð#6Ð7Ð9UÐVôð
 JLõ ð ˜‰O×"Ñ"Ü!¤?Ð3°_ÐEôð ˜‰O×"Ñ"Ü!¤?Ð3°_ÐEôð
 ˜Ñ$×+Ñ+Ü!¤?Ð3°_ÐEôð ˜Ñ$×+Ñ+Ü!¤?Ð3°_ÐEöð]P	ój	Ió	Hô  œ|Ð,Ø ðô
 ¤Ð.Ø!ðô
 Ô 0Ð1Ø!ðô
 "¤=Ð1ñðô !Ü%Ô'7Ô9MÐNðñð	ô "Ô#3Ð4ñððG,
ð 	$ðj 	”H—L‘LÑ!×(Ñ(Ð)DÔEó	ô" œÐ/Ø!ðô
 ¤Ð.Ø!ðô
 Ô 0Ð1Ø!ðð
ð 	 ð& 	”H—M‘MÑ"×)Ñ)Ð*AÔBó	ô Ô,Ð-Ð/?Ð@ÜÔ-Ð.Ð0@ÐAÜ¤Ð-Ð/?Ð@Ü¤Ð.Ð0@ÐAð	
ð 	%ð 	”H—L‘LÑ!×(Ñ(Ð)EÔF÷X	ó X	ôt +×1Ñ1Ó3ò 	9ˆBÜ˜B”<Ð�<Ø˜[Ñ(Ð(Ð(Ù4°RÓ8ˆK˜ŠOð	9ð
 ÐrW   c                 óÆ   — t         j                  «       j                  | «      }|€y g }|D ]3  \  \  }}}t        ||«      sŒt        ||«      sŒ#|j	                  |«       Œ5 |S rZ   )rL   r4  ÚgetÚ
issubclassr  )r  Úa_typeÚb_typeÚhandlersÚmatchesÚtype1Útype2r  s           rU   Ú_find_binop_handlerz#BuiltinVariable._find_binop_handler´  sg   € ä"×2Ñ2Ó4×8Ñ8¸Ó<ˆØÐØàˆØ'/ò 	(Ñ#‰NˆU�E˜GÜ˜& %Õ(¬Z¸ÀÕ-FØ—‘˜wÕ'ð	(ð ˆrW   c                 ó:   — | j                   | j                  «       v S rZ   )rM   r«   r    s    rU   Úcan_insert_in_graphz#BuiltinVariable.can_insert_in_graphÀ  s   € Ø�w‰w˜$×2Ñ2Ó4Ð4Ð4rW   c                 ó2   •— t        ‰| �  di |¤Ž || _        y )N© )ÚsuperÚ__init__rM   )r¡   rM   Úkwargsrþ   s      €rU   rD  zBuiltinVariable.__init__Ã  s   ø€ Ü‰ÑÑ"˜6Ò"Øˆ�rW   c                 ó„   — | j                   €d}n| j                   j                  }| j                  j                  › d|› d�S )NÚNoneú(ú))rM   r  rþ   )r¡   Únames     rU   Ú__repr__zBuiltinVariable.__repr__Ç  s=   € Ø�7‰7ˆ?Ø‰Dà—7‘7×#Ñ#ˆDà—.‘.×)Ñ)Ð*¨!¨D¨6°Ð3Ð3rW   c                 ó   — | j                   S rZ   rÝ   r    s    rU   rÿ   z"BuiltinVariable.as_python_constantÏ  s   € Ø�w‰wˆrW   c                 óÖ   •— t         t        j                   t        t        j                  t        t        j
                  i}| j                  |v r|| j                     S t        ‰| �!  «       S rZ   )	rf   r+  rl   Úint64rj   Úfloat64rM   rC  Úas_proxy)r¡   ÚDTYPErþ   s     €rU   rP  zBuiltinVariable.as_proxyÒ  sO   ø€ ä”%—*‘*Ü”—‘Ü”5—=‘=ð
ˆð
 �7‰7�eÑØ˜Ÿ™‘>Ð!Ü‰wÑÓ!Ð!rW   c                 óè   — | j                   j                  }| j                   j                  dk(  sJ ‚||j                  j                  vsJ d«       ‚|j                  |j                  |d¬«      «       y )NÚbuiltinszshadowed globalT)r‚   )rM   r  Ú
__module__rÖ   Ú	f_globalsÚappend_outputÚcreate_load_global)r¡   ÚcodegenrJ  s      rU   ÚreconstructzBuiltinVariable.reconstructÜ  se   € Ø�w‰w×ÑˆØ�w‰w×!Ñ! ZÒ/Ð/Ð/Ø˜7Ÿ:™:×/Ñ/Ñ/ÐBÐ1BÓBÐ/Ø×Ñ˜g×8Ñ8¸À4Ð8ÓHÕIrW   c                 ó   — t        ||«      S rZ   )r!   ©r¡   ÚargsrE  s      rU   Úconstant_argszBuiltinVariable.constant_argsâ  s   € Ü" 4¨Ó0Ð0rW   c                 óŒ   — d}|D ]<  }t        |t        j                  «      r y|xs t        |t        j                  «      }Œ> |S ©NF)r[   r   ÚGetAttrVariablerF   )r¡   r\  Ú
any_tensorÚargs       rU   Útensor_argszBuiltinVariable.tensor_argså  sJ   € Øˆ
Øò 	QˆCÜ˜#œy×8Ñ8Ô9ÙØ#ÒP¤z°#´y×7OÑ7OÓ'P‰Jð	Qð ÐrW   c                 óŒ   — d}|D ]<  }t        |t        j                  «      r y|xs t        |t        j                  «      }Œ> |S r_  )r7  r   r`  rF   )r¡   Ú	arg_typesra  Úarg_types       rU   Útensor_args_typez BuiltinVariable.tensor_args_typeí  sJ   € Øˆ
Ø!ò 	VˆHÜ˜(¤I×$=Ñ$=Ô>ÙØ#ÒU¤z°(¼I×<TÑ<TÓ'U‰Jð	Vð ÐrW   c                 ó  — g }g }t        j                  ||j                  «       «      D ]?  }t        |t        j
                  «      r|j                  |«       Œ/|j                  |«       ŒA t        d„ |D «       «      xr  | j                  |Ž S )Nc              3   ób   K  — | ]'  }|j                   �t        |j                   «      nd–— Œ) y ­wr_  )rP   r   )r`   Úts     rU   rb   zBBuiltinVariable.python_and_tensor_constant_only.<locals>.<genexpr>ý  s0   è ø€ ò 
àð -.¯H©HÐ,@Ô˜qŸx™xÔ(ÀeÓKñ
ùs   ‚-/)	Ú	itertoolsÚchainr›   r[   r   rF   r  rd   r]  )r¡   r\  rE  rc  Únon_tensor_argsÚis         rU   Úpython_and_tensor_constant_onlyz/BuiltinVariable.python_and_tensor_constant_onlyõ  s‹   € ØˆØˆÜ—‘  v§}¡}£Ó7ò 	*ˆAÜ˜!œY×5Ñ5Ô6Ø×"Ñ" 1Õ%à×&Ñ& qÕ)ð		*ô
 ñ 
à ô
ó 
ò 3ð !ˆd× Ñ  /Ð2ð	3rW   c                 ó¸   — | D �cg c]  }|j                  «       ‘Œ c}|j                  «       D ��ci c]  \  }}||j                  «       “Œ c}}fS c c}w c c}}w rZ   )rÿ   rè   )r\  rE  ra   ÚkÚvs        rU   Úunwrap_unspec_args_kwargsz)BuiltinVariable.unwrap_unspec_args_kwargs  sV   € à04Ö5¨1�×$Ñ$Õ&Ò5Ø28·,±,³.÷8
Ù*.¨!¨QˆAˆq×#Ñ#Ó%Ñ%ó8
ð 
ð 	
ùÒ5ùó 8
s
   …A±Ac                 ó>   — | j                  «       xr t        ||«      S rZ   )r¢   r#   r[  s      rU   Úhas_constant_handlerz$BuiltinVariable.has_constant_handler  s%   € Ø×-Ñ-Ó/ò 
Ô4QØ�&ó5
ð 	
rW   re  Ú
has_kwargsc                 ó  ‡ ‡‡‡‡	‡
‡‡‡‡‡— ddl mŠ t        ‰ «      Šg Št        ˆfd„‰D «       «      rˆfd„S t	        j
                  ‰ «      r"t        ‰ t        «      s‰ t        u r
	 	 dˆ fd„}|S ‰j                  «       ri‰ t        j                  u rt        ‰d   t        j                  «      r:‰j                  ‰«      r‰j                  S ‰r‰j!                  ‰j                  «       t#        ‰«      dk(  rY‰sWt        j$                  ‰ g‰¢­Ž Š
‰
sn>t#        ‰
«      dk(  r‰
\  Š	‰j!                  ˆ	fd„«       ndˆ
fd	„}‰j!                  |«       t'        ‰d
‰ j(                  › �d «      Š‰rdˆˆfd„}‰j!                  |«       ‰j+                  «       r2t-        d„ ‰D «       «      r	‰sdˆ fd„}ndˆ fd„}‰j!                  |«       ˆˆ ˆfd„Št#        ‰«      dk(  rˆfd„S t#        ‰«      dk(  r‰\  Šdˆˆfd„}|S dˆˆfd„}|S )Nr0   )ÚLazyVariableTrackerc              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wrZ   )r7  )r`   rj  rx  s     €rU   rb   z0BuiltinVariable._make_handler.<locals>.<genexpr>  s   øè ø€ ÒE°aŒz˜!Ð0×1ÑEùs   ƒc                 ól   •— ‰j                  | |D �cg c]  }|j                  «       ‘Œ c}|«      S c c}w rZ   )râ   Úrealize)rÖ   r\  rE  rr  Úobjs       €rU   rï   z/BuiltinVariable._make_handler.<locals>.<lambda>  s-   ø€ ¨C×,=Ñ,=Ø¨$Ö/ Q�Q—Y‘Y•[Ò/°ó-€ ùÚ/s   ’1
c                 ó|   •— ‰t         u rt        d„ |D «       «      st        d«       t        j                  ‰|fi |¤ŽS )Nc              3   óˆ   K  — | ]:  }t        |t        j                  «      xr t        |j                  t        «      –— Œ< y ­wrZ   )r[   r   r4   rT   rt   r_   s     rU   rb   zWBuiltinVariable._make_handler.<locals>.create_exception_class_object.<locals>.<genexpr>$  s?   è ø€ ò 4ð ô ˜q¤)×"<Ñ"<Ó=ò 1Ü" 1§7¡7¬CÓ0ó1ñ4ùs   ‚A Azassert with non-string message)ÚAssertionErrorrd   r   r   r  )rÖ   r\  rE  rM   s      €rU   Úcreate_exception_class_objectzDBuiltinVariable._make_handler.<locals>.create_exception_class_object!  sF   ø€ ð œÑ'´ñ 4ð "ô4ô 1ô
 "Ð"BÔCä ×2Ñ2°2°tÑF¸vÑFÐFrW   r   r   c                 ó   •—  ‰| g|¢­Ž S rZ   rB  )rÖ   r\  Ú_Úbinop_handlers      €rU   rï   z/BuiltinVariable._make_handler.<locals>.<lambda>B  s   ø€ ±MÀ"Ð4LÀtÒ4L€ rW   c                 ó2   •— ‰D ]  } || g|¢­Ž }|sŒ|c S  y rZ   rB  )rÖ   r\  r‚  rM   ÚrvÚbinop_handlerss        €rU   Úcall_binop_handlersz:BuiltinVariable._make_handler.<locals>.call_binop_handlersE  s'   ø€ Ø,ò &˜Ù ˜] Tš]˜ÚØ#%šIñ&rW   Úcall_c           
      ó¼  •— 	  ‰| g|¢­i |¤Ž}|�|S y # t         $ rˆ 	  t        j                  ‰«      j                  | g|¢­i |¤Ž ‚ # t         $ rP}‰j	                  ||«      }|s1t
        j                  d‰|«       t        d‰› d|› d|› �«       Y d }~Y y Y d }~Y y d }~ww xY wt        $ r/}‰j	                  ||«      }|s‚ |j                  «        Y d }~y d }~ww xY w)Nz1incorrect arg count %s %s and no constant handlerzinvalid handler args ú )
Ú	TypeErrorÚinspectÚ	signatureÚbindru  ÚlogÚwarningr   r   Úremove_from_stats)	rÖ   r\  rE  r#  Úeru  Úexcr|  Úself_handlers	          €€rU   Úcall_self_handlerz8BuiltinVariable._make_handler.<locals>.call_self_handlerP  s  ø€ ð,Ù)¨"Ð>¨tÒ>°vÑ>�FØÐ)Ø%˜ð *øä ò ðØ<œ×)Ñ)¨,Ó7×<Ñ<¸RÐQÀ$ÒQÈ&ÒQð øô %ò 
Ø/2×/GÑ/GÈÈfÓ/UÐ,Ù3ÜŸK™KØ SØ ,Ø !ôô
 *Ø"7¸°~ÀQÀtÀfÈAÈfÈXÐ V÷ò õ  4ûð
úô #ò ,Ø+.×+CÑ+CÀDÈ&Ó+QÐ(Ù/Øà×)Ñ)×+Ñ+ûð,úsD   ƒ ”	Cž)AÁCÁ	B!Á?BÂCÂCÂB!Â!CÂ,%CÃCc              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrZ   )r7  r4   r_   s     rU   rb   z0BuiltinVariable._make_handler.<locals>.<genexpr>r  s   è ø€ ÒG¸”J˜qÔ"2×3ÑGùó   ‚c                 óØ   •— 	  ‰|D �cg c]  }|j                  «       ‘Œ c}Ž }t	        j
                  | «      S c c}w # t        $ r!}t        dt        |«      › �«       Y d }~Œ@d }~ww xY w©Nzconstant fold exception: )rÿ   Ú	Exceptionr   rr   r2   r
  )rÖ   r\  rE  ra   Úresr“  rM   s         €rU   Úconstant_fold_handlerz<BuiltinVariable._make_handler.<locals>.constant_fold_handlerv  sn   ø€ ðOÙ Ø>BÖC¸˜a×2Ñ2Õ4ÒCð˜ô
 +×0Ñ0°°SÓ9Ð9ùò	 Døä$ò OÜ%Ð(AÄ$ÀsÃ)ÀÐ&M×NÑNûðOús!   ƒ? ‰: ? º? ¿	A)ÁA$Á$A)c                 ód  •— t        ||«      rk	  ‰|D �cg c]  }|j                  «       ‘Œ c}i |j                  «       D ��ci c]  \  }}||j                  «       “Œ c}}¤Ž}t        j                  | «      S y c c}w c c}}w # t        $ r!}t	        dt        |«      › �«       Y d }~ŒGd }~ww xY wr™  )r#   rÿ   rè   rš  r   rr   r2   r
  )	rÖ   r\  rE  ra   rq  rr  r›  r“  rM   s	           €rU   rœ  z<BuiltinVariable._make_handler.<locals>.constant_fold_handler‚  s¹   ø€ ä4°T¸6ÔBðSÙ"$ØBFÖ!G¸Q !×"6Ñ"6Õ"8Ò!Gð#ð KQÏ,É,Ë.÷#"ÙBFÀ!ÀQ A q×';Ñ';Ó'=Ñ$=ó#"ñ#˜Cô  /×4Ñ4°R¸Ó=Ð=ð Cùò "Hùó#"øô  )ò SÜ)Ð,EÄdÈ3ÃiÀ[Ð*Q×RÑRûðSús3   �B •A:¬B ÁA?ÁB Á:B Â	B/ÂB*Â*B/c                 óø   •— | D �cg c]  }|j                  «       ‘Œ }}t        dd‰j                  › d‰› d‰› �d‰j                  › d|› d‰› d�d‰j                  › d|› d	‰j                  › d
�ddg¬«       y c c}w )Nz Failed to trace builtin operatorzbuiltin rŠ  z4Dynamo does not know how to trace builtin operator `z` with argument types z (has_kwargs rI  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.)Úgb_typeÚcontextÚexplanationÚhints)Úpython_type_namer   r  )r\  rb  Úreal_arg_typesre  rM   rv  s      €€€rU   Úcall_unimplemented_v2z<BuiltinVariable._make_handler.<locals>.call_unimplemented_v2’  s³   ø€ Ø@DÖE¸˜c×2Ñ2Õ4ÐEˆ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   †A7c                 ó   •—  ‰|«      S rZ   rB  )rÖ   r\  rE  r¥  s      €rU   rï   z/BuiltinVariable._make_handler.<locals>.<lambda>£  s   ø€ Ñ,AÀ$Ó,G€ rW   c                 ó2   •—  ‰| ||«      }|r|S  ‰|«       y rZ   rB  )rÖ   r\  rE  r…  r¥  r  s       €€rU   Úbuiltin_dispatchz7BuiltinVariable._make_handler.<locals>.builtin_dispatch§  s!   ø€ Ù˜R  vÓ.�ÙØ�IÙ% dÕ+rW   c                 óD   •— ‰D ]  } || ||«      }|sŒ|c S   ‰|«       y rZ   rB  )rÖ   r\  rE  rM   r…  r¥  r:  s        €€rU   r¨  z7BuiltinVariable._make_handler.<locals>.builtin_dispatch¯  s2   ø€ Ø"ò "�BÙ˜B  fÓ-�BÚØ!š	ð"ñ & dÕ+rW   r  )Úlazyrx  rL   re   rŒ  Úisclassr7  rš  ÚGeneratorExitr@  rw   r„   r   rF   rg  Ú_handle_insert_op_in_graphr  rm   r>  rk   r  r¢   rd   )rM   re  rv  r€  r‡  r•  rœ  r¨  rx  rƒ  r†  r¥  r  r:  r|  r”  s   ```     @@@@@@@@rU   Ú_make_handlerzBuiltinVariable._make_handler  sÑ  ÿú€ å-ä˜bÓ!ˆØ+-ˆäÓE¸9ÔEÔEóð ô �?‰?˜2ÔÜ�rœ9Ô%ð ”]Ñ"ð
GØ+õ
Gð 1Ð0à×"Ñ"Ô$Ø”(×"Ñ"Ñ"Ü˜y¨™|¬Y×-EÑ-EÔFà×#Ñ# IÔ.Ø×5Ñ5Ð5Ùà—‘ × >Ñ >Ô?ô ˆy‹>˜QÒ¡zä,×@Ñ@ÀÐPÀiÒPˆNÙ!ØÜ�^Ó$¨Ò)Ø#1Ñ �Ø—‘Ó LÕMõ&ð —‘Ð 3Ô4ä˜s e¨B¯K©K¨=Ð$9¸4Ó@ˆÙö,ð< �O‰OÐ-Ô.à×(Ñ(Ô*äÑG¸YÔGÔGÙ"ö:õ>ð �O‰OÐ1Ô2ö	ô  ˆx‹=˜AÒÛGÐGÜ�‹]˜aÒØ!‰JˆWö,ð  Ðö,ð  ÐrW   rÖ   rJ   c           	      óê  — ddl m}m} |r# | j                  g |¢|j	                  «       ¢­Ž sy ddl m} ddlm}m}m	}	m
}
  |	|||«      r˜|j                  sct        |d   t        «      s@| j                  |v r|| j                     }n|| j                     }|d   }|d   |d<   ||d<   n|| j                     }n| j                  }|j                  ||«      } |
||||«      S | j                  }	  | j                   |i |¤Žr(ddlm} ddlm}  ||| ||j*                  «      ||«      S |t,        v r0t        |d   t.        j0                  «      rt,        |   |d   |d   g}}|t2        j4                  u rKt        |d   t6        «      r8t8        j:                  |d   t.        j0                  j                  d«      |d   g}}t=        ||«      r[t?        d	„ |D «       «      sI |j@                  jB                  d
tE        |«      gtG        ||«      ¢­Ž } |t.        jH                  ||«      S  |j@                  jB                  d
|gtG        ||«      ¢­Ž }t?        d„ |D «       «      r |tJ        ||«      S tM        ||«      rb| jO                  ||«      \  }} ||i |¤Ž}t?        d„ tQ        jR                  ||j	                  «       «      D «       «      } |tT        ||||¬«      S tW        d„ |D «       «      rt7        j                  ||d «      S |t2        jX                  u r3t        |d   t.        jT                  «      r|d   j[                  «       |d<    |||«      S # t\        $ r t_        d| › d|› d|› �«       Y y w xY w)Nr0   )rá   Úwrap_fx_proxy_cls)ÚSourcelessBuilder)ÚBUILTIN_TO_TENSOR_FN_MAPÚBUILTIN_TO_TENSOR_RFN_MAPÚcan_dispatch_torch_functionÚdispatch_torch_functionr   r   )Ú	unique_id)Úinvoke_and_store_as_constantc              3   óT   K  — | ]   }t        |«      t        j                  k(  –— Œ" y ­wrZ   )r\   r   rF   ©r`   rb  s     rU   rb   z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>  s&   è ø€ ò BØ:=”�S“	œY×5Ñ5Õ5ñBùs   ‚&(râ   c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrZ   ©r[   rC   r¹  s     rU   rb   z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>  s   è ø€ ÒE¸”:˜cÔ#3×4ÑEùr—  c              3   óh   K  — | ]*  }t        |t        j                  «      r|j                  –— Œ, y ­wrZ   ©r[   r   rG   Úneed_unwrapr_   s     rU   rb   z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>  ó,   è ø€ ò "àÜ! !¤Y×%JÑ%JÔKð —M•Mñ"ùó   ‚02)Ú	raw_valuer¾  c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrZ   ©r[   rE   r_   s     rU   rb   z=BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>+  s   è ø€ ÒB¸”Z ¤?×3ÑBùr—  zpartial tensor op: rŠ  )0rã   rá   r°  rc  r›   r±  Útorch_functionr²  r³  r´  rµ  Úexportr[   rF   rM   r  ro  Úbytecode_transformationr¶  r)  r·  r  ÚIN_PLACE_DESUGARING_MAPr   r4   rw   r„   rE   r+  Úselectr"   re   rä   rå   r,   r-   ÚNumpyNdarrayVariablerC   r$   rs  rk  rl  rG   rd   r€   rÿ   ÚNotImplementedErrorr   )r¡   rÖ   r\  rE  rá   r°  r±  r²  r³  r´  rµ  ÚfuncÚtmpÚfn_varrM   r¶  r·  ÚproxyÚ_argsÚ_kwargsrÁ  r¾  s                         rU   r­  z*BuiltinVariable._handle_insert_op_in_graph¸  s�  € ß=áÐ*˜$×*Ñ*ÐC¨DÐC°6·=±=³?ÓCØõ 	/÷	
ó 	
ñ ' r¨4°Ô8ð —9’9ä! $ q¡'¬>Ô:Ø—w‘wÐ";Ñ;Ø8¸¿¹ÑA™à7¸¿¹Ñ@˜à˜q™'�Cà" 1™g�D˜‘GØ!�D˜’Gà3°D·G±GÑ<‘Dà—w‘w�à&×-Ñ-¨b°$Ó7ˆFá*¨2¨v°t¸VÓDÐDà�W‰WˆðW	Hà3ˆt×3Ñ3°TÐD¸VÒDÝ?ÝCá3Ø˜™I b§k¡kÓ2°D¸&óð ð Ô,Ñ,´Ø�Q‘œ×3Ñ3ô2ô 3°2Ñ6¸¸a¹À$ÀqÁ'Ð8J�D�à”X×%Ñ%Ñ%¬*°T¸!±W¼oÔ*Nô
 —L‘Là˜Q™Ü!×2Ñ2×9Ñ9¸!Ó<Ø˜Q™ðð �ô (¨¨fÔ5¼cñ BØAEôBô ?ð /˜Ÿ	™	×.Ñ.Ø#Ü*¨2Ó.ðô ' t¨VÓ4ò�ñ )¬×)GÑ)GÈÈUÓSÐSà*�B—I‘I×*Ñ*ØØðô # 4¨Ó0òˆEô
 ÑEÀÔEÔEÙ(Ü$ØØóð ô
 *¨$°Ô7Ø!%×!?Ñ!?ÀÀfÓ!M‘��wÙ Ð1¨Ñ1�	ä!ñ "ä&Ÿ_™_¨T°6·=±=³?ÓCô"ó �ñ )Ü/ØØØ'Ø +ôð ô ÑB¸TÔBÔBÜ&×-Ñ-¨b°%¸Ó>Ð>ð œ×)Ñ)Ñ)¬jØ˜‘GœY×BÑBô/ð # 1™g×8Ñ8Ó:�D˜‘GÙ$ R¨Ó/Ð/øä"ò 	HÜÐ/°¨v°Q°t°f¸A¸f¸XÐFÖGð	Hús4   Ã/9M Ä)C;M È%AM É-A-M Ë(M ÌAM ÍM2Í1M2Úcall_function_handler_cacher\  r2   rE  údict[str, VariableTracker]c           	      óÆ  — |rK|j                  «       D ��ci c]  \  }}||j                  «       “Œ }}}| j                  gd„ |D «       ¢d‘­}n| j                  gd„ |D «       ¢­}| j                  j	                  |«      }|sL| j                  | j                  |D �cg c]  }t        |«      ‘Œ c}t        |«      «      x| j                  |<   } ||||«      S c c}}w c c}w )Nc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrZ   ©r\   r_   s     rU   rb   z0BuiltinVariable.call_function.<locals>.<genexpr>N  ó   è ø€ Ò4¨!œd 1ŸgÑ4ùó   ‚Tc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrZ   rÕ  r_   s     rU   rb   z0BuiltinVariable.call_function.<locals>.<genexpr>P  rÖ  r×  )rè   r{  rM   rÑ  r6  r®  r\   rf   )	r¡   rÖ   r\  rE  rq  rr  Úkeyr  ra   s	            rU   râ   zBuiltinVariable.call_functionE  sÖ   € ñ Ø17·±³×@©¨¨A�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 aœ$˜q�'Ò0´$°v³,ó?ð ˆD×,Ñ,¨SÑ1°Gñ �r˜4 Ó(Ð(ùó Aùò 1s   –CÂC
c                 óè  •— | j                   t        u r“|dk(  rŽt        |«      dk(  sJ ‚t        |«      dk(  sJ ‚|\  }}}|j                  «       }t	        |t
        «      rH|j                  j                  j                  |«      r#|j                  «       r|j                  |||«      S |dk(  �rA| j                   t        u rKt        |«      dk(  r=t        |«      dk(  sJ ‚|j                  j                  j                  | |d   |dd  «      S | j                   t        u r�t        |«      dk(  rs|sqt        i t        t        «       ¬«      }t	        |d   t        «      r|d   j                   t        u r|S |j                  j                  j                  | |d   |dd  «      S | j                   t         u rÁt        |«      dk(  r³|d   j#                  |«      rŸ|s�|d   j%                  |«      }	t'        j(                  |	t        «       ¬«      }
t	        |d   t        «      r|d   j                   t         u r|
S |j                  j                  j                  | |d   |dd  «      }|j+                  |
«       |S | j                   t,        u rlt/        g t        «       ¬«      }t	        |d   t        «      r|d   j                   t,        u r|S |j                  j                  j                  | |d   |dd  «      S | j                   t        u r|dk(  rt'        j0                  d «      S | j                   t        u r#|d	k(  rt        j2                  |t        g|¢­i |¤ŽS | j                   t        u r–t5        | j                   |«      }|t6        v rxt	        |d   t&        j8                  «      r$|d   j:                  j=                  |||dd  |«      S t	        |d   t&        j                  «      r|d   j=                  |||dd  |«      S | j                   t>        u rYt        |«      dk\  rKt5        | j                   |«      }|t@        v r-t	        |d   t0        «      r|d   j=                  |||dd  |«      S tB        ‰| �y  ||||«      S )
NÚ__setattr__é   r   Ú__new__r0   rò   r   rD  Úfromkeys)"rM   r!  rm   r{  r[   rH   rä   rø   Úis_attribute_mutationÚis_python_constantÚmethod_setattr_standardÚtrack_new_user_defined_objectÚdictr7   r1   rL   Útupler÷   ré   r   rB   Úset_underlying_tuple_vtÚlistr?   r4   Úcall_custom_dict_fromkeysrk   r&   ÚUserDefinedDictVariableÚ_dict_vtrÕ   rt   r.   rC  )r¡   rÖ   rJ  r\  rE  r|  Úname_varÚvalÚdict_vtÚ	init_argsÚtuple_vtr#  Úlist_vtÚresolved_fnrþ   s                 €rU   rÕ   zBuiltinVariable.call_methodY  sü  ø€ ð �7‰7”fÑ ¨Ò!6Ü�t“9 ’>Ð!�>Ü�v“; !Ò#Ð#Ð#Ø!%ÑˆC�˜3Ø—+‘+“-ˆCä˜3Ô 9Ô:Ø—I‘I×*Ñ*×@Ñ@ÀÔEØ×/Ñ/Ô1à×2Ñ2°2°xÀÓEÐEà�9Óà�w‰wœ&Ñ ¤S¨£Y°!¢^Ü˜6“{ aÒ'Ð'Ð'Ø—y‘y×-Ñ-×KÑKØ˜$˜q™' 4¨¨ 8óð ð �w‰wœ$‰¤3 t£9°¢>¹&Ü+¨B´ÔDTÓDVÔW�Ü˜d 1™g¤Ô7¸DÀ¹G¿J¹JÌ$Ñ<NØ"�Nð —y‘y×-Ñ-×KÑKØØ˜‘GØ˜˜�Hóð ð —‘œ5Ñ Ü˜“I ’NØ˜‘G×3Ñ3°BÔ7Ùà  ™G×7Ñ7¸Ó;�	Ü$×2Ñ2ØÔ-=Ó-?ô�ô ˜d 1™g¤Ô7¸DÀ¹G¿J¹JÌ%Ñ<OØ#�OàŸ™×/Ñ/×MÑMØØ˜‘GØ˜˜�Hó�ð
 ×.Ñ.¨xÔ8Ø�à�w‰wœ$‰Ü& rÔ9IÓ9KÔL�Ü˜d 1™g¤Ô7¸DÀ¹G¿J¹JÌ$Ñ<NØ"�NØ—y‘y×-Ñ-×KÑKØØ˜‘GØ˜˜�Hóð ð �7‰7”fÑ ¨Ò!3ä×-Ñ-¨dÓ3Ð3à�7‰7”d‰?˜t zÒ1Ü"×<Ñ<¸RÄÐWÈÒWÐPVÑWÐWà�7‰7”d‰?Ü! $§'¡'¨4Ó0ˆKØœlÑ*Ü˜d 1™g¤y×'HÑ'HÔIØ ™7×+Ñ+×7Ñ7¸¸DÀ$ÀqÀrÀ(ÈFÓSÐSÜ  Q¡¬×)DÑ)DÔEØ ™7×.Ñ.¨r°4¸¸a¸b¸À6ÓJÐJà�7‰7”c‰>œc $›i¨1šnÜ! $§'¡'¨4Ó0ˆKØœkÑ)Ü˜d 1™gÔ'7Ô8Ø ™7×.Ñ.¨r°4¸¸a¸b¸À6ÓJÐJä‰wÑ" 2 t¨T°6Ó:Ð:rW   c           	      óX  — t        |t        t        j                  f«      rŠt        |t        j                  «      r|j	                  |dg i «      }n|}| j
                  t        u rt        nt        }ddl	m
}  |||j                  j                  d||j                  «       fi «      ¬«      S y )NÚitemr   rà   râ   ©rÖ   rÎ  )r[   rE   r   rF   rÕ   rM   rl   r   r
   Útorch._dynamo.variables.builderrá   rä   rå   rP  )r¡   rÖ   rb  rò  Úfn_rá   s         rU   Ú_call_int_floatzBuiltinVariable._call_int_float·  s“   € ô �cœO¬Y×-EÑ-EÐFÔGÜ˜#œy×7Ñ7Ô8Ø—‘ r¨6°2°rÓ:‘à�Ø!ŸW™W¬™^•'´ˆCÝEá ØØ—i‘i×,Ñ,Ø#ØØ—]‘]“_Ð&Øó	ôð ð HrW   c                 ó„  — t        |t        j                  «      r3t        j                  j	                  t        |j                  «      ¬«      S t        |t        j                  «      �rt        |j                  d«      r|j                  j                  }n8t        |j                  d«      r|j                  j                  }nt        d«       t        |j                  «      j                  t        j                  u r&	 t        j                  j	                   «       ¬«      S t!        «      r"t        t        |j                  «      › d�«       y |j"                  }	 t        j                  |«      }|j+                  ||gi «      S y # t        $ r Y y w xY w# t$        $ r }t&        j)                  d|«       Y d }~y d }~ww xY w)N)rT   Ú__str__rK  z5user defined object has no __str__ or __repr__ methodz has a C/C++ based str methodz)Failed to create UserFunctionVariable: %s)r[   r   rÌ   r4   r  rt   rM   rH   ÚhasattrrT   rø  rK  r   r\   r!  ÚAttributeErrorr*   Ú__func__r  r�  r�  r	  )r¡   rÖ   rb  Ú
str_methodÚbound_methodÚuser_func_variabler’  s          rU   Úcall_strzBuiltinVariable.call_strÏ  sa  € ä�cœI×:Ñ:Ô<Ü×-Ñ-×4Ñ4¼3¸s¿v¹v»;Ð4ÓGÐGÜ˜œi×AÑAÕCä�s—y‘y )Ô,Ø ŸY™Y×.Ñ.‘
Ü˜Ÿ™ JÔ/à ŸY™Y×/Ñ/‘
äÐUÔVä�C—I‘I‹×&Ñ&¬&¯.©.Ñ8ðÜ$×5Ñ5×<Ñ<Á:Ã<Ð<ÓPÐPô 1°Ô<Ü¤ c§i¡i£Ð 1Ð1NÐOÕPð  *×2Ñ2�ðä)2×)GÑ)GÈÓ)UÐ&ð ×5Ñ5Ð6HÈ3È%ÐQSÓTÐTðC Døô &ò áðûô &ò ä—K‘KÐ KÈQÔOÜûðús*   Ã>$F ÅF Æ	FÆFÆ	F?ÆF:Æ:F?c                 ó"  — t        |«      dk(  r:|d   j                  |«      r&|d   j                  |«      }| j                  ||«      S t        |«      dk(  r| j	                  ||d   |d   «      S t        |«      dkD  r| j                  ||«      S y )Nr0   r   r   )rm   Úhas_force_unpack_var_sequenceÚforce_unpack_var_sequenceÚ_call_min_max_seqÚ_call_min_max_binary)r¡   rÖ   r\  rè   s       rU   Ú_call_min_maxzBuiltinVariable._call_min_maxö  s�   € Üˆt‹9˜Š>˜d 1™g×CÑCÀBÔGØ˜‘G×5Ñ5°bÓ9ˆEØ×)Ñ)¨"¨eÓ4Ð4Ü�‹Y˜!Š^Ø×,Ñ,¨R°°a±¸$¸q¹'ÓBÐBÜ�‹Y˜Š]Ø×)Ñ)¨"¨dÓ3Ð3ð rW   c                 ó°   — t        |«      dkD  sJ ‚t        |«      dk(  r|d   S t        j                  t        j                  | j                  |«      |«      S ©Nr   r0   )rm   Ú	functoolsÚreduceÚpartialr  )r¡   rÖ   rè   s      rU   r  z!BuiltinVariable._call_min_max_seqÿ  sM   € Ü�5‹z˜AŠ~Ðˆ~Üˆu‹:˜Š?Ø˜‘8ˆOä×Ñ¤	× 1Ñ 1°$×2KÑ2KÈRÓ PÐRWÓXÐXrW   c                 ó€  — |�|€y | j                  ||«      �r9t        |t        j                  «      s||}}t        |t        j                  «      sJ ‚t        |t        «      r5t        j
                  t        j                  «      j                  ||gi «      }t        |t        «      st        |t        «      rLddl
m}  |t        |«      | |j                  j                  d| j                  gt!        ||gi «      ¢­Ž ¬«      S |j#                  «       r�t        |t        j$                  «      r$dd l}t        j(                  |j*                  «      }n#t        j
                  t        j,                  «      }| j                  t.        u rd|ind|i}|j                  ||g|«      }nÄt        |t        j$                  «      rIdd l}t.        |j0                  t2        |j4                  i| j                     }	t        j(                  |	«      }nLt.        t        j0                  t2        t        j4                  i| j                     }
t        j
                  |
«      }|j                  |||gi «      }t7        d„ ||fD «       «      rÔt9        d	„ ||fD «       «      rt        j                  j;                  |«      S |j#                  «       r|j=                  «       }n|j>                  }| j                  t.        u rt/        |j>                  |«      }nt3        |j>                  |«      }t9        d
„ ||fD «       «      }t        j@                  j;                  |||«      S |S t        |t        «      st        |t        «      rs| j                  t.        u rt        jB                  nt        jD                  } |j                  j                  d|gt!        ||gi «      ¢­Ž }t        jF                  ||d «      S t        |tH        «      rJt        |tH        «      r9| j                  |j=                  «       |j=                  «       «      }tI        |«      S y y )Nr0   ©r°  râ   ró  r   ro   rn   c              3   óp   K  — | ].  }t        |t        j                  t        j                  f«      –— Œ0 y ­wrZ   )r[   r   rG   r4   )r`   rn  s     rU   rb   z7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>;  s9   è ø€ ò 	ð ô Øä!×=Ñ=Ü!×2Ñ2ð÷ñ	ùs   ‚46c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrZ   r»  )r`   rë  s     rU   rb   z7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>E  s   è ø€ ÒK¸S”z #Ô'7×8ÑKùr—  c              3   óh   K  — | ]*  }t        |t        j                  «      r|j                  –— Œ, y ­wrZ   r½  r_   s     rU   rb   z7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>Q  r¿  rÀ  )%rc  r[   r   rF   rC   ÚTorchInGraphFunctionVariabler+  r™   râ   rE   rã   r°  r\   rä   rå   rM   r-   rà  rÉ  ÚnumpyÚNumpyVariableÚclipÚclamprn   Úmaximumro   Úminimumrd   re   Úfrom_tensor_variablerÿ   rÁ  rG   Úsym_maxÚsym_minr  r4   )r¡   rÖ   r×   rØ   r°  ÚnprM   rE  r#  Únp_fnÚtorch_fnÚraw_bÚraw_resr¾  Úpy_fnrÎ  rT   s                    rU   r  z$BuiltinVariable._call_min_max_binary  sƒ  € Øˆ9˜˜	ð Ø×Ñ˜A˜qÕ!Ü˜a¤×!9Ñ!9Ô:Ø˜!�1�Ü˜a¤×!9Ñ!9Ô:Ð:Ð:ô ˜!Ô-Ô.Ü×:Ñ:¼5¿<¹<ÓH×VÑVØ˜˜˜Ró�ô
 ˜!œ_Ô-´¸A¼Ô1OÝ6á(Ü˜“GØØ0˜"Ÿ)™)×0Ñ0Ø'ØŸ™ðô +¨A¨q¨6°2Ó6òôð ð ×#Ñ#Ô%ä˜a¤×!?Ñ!?Ô@Û&ä"×0Ñ0°·±Ó9‘Bä"×?Ñ?ÄÇÁÓL�BØ(,¯©´3©˜% ™¸eÀQ¸Z�Ø×)Ñ)¨"¨q¨c°6Ó:‘ä˜a¤×!?Ñ!?Ô@Û&ä  "§*¡*¬c°2·:±:Ð>¸t¿w¹wÑG�EÜ"×0Ñ0°Ó7‘Bä #¤U§]¡]´C¼¿¹ÐGÈÏÉÑP�HÜ"×?Ñ?ÀÓI�BØ×)Ñ)¨"¨q°!¨f°bÓ9�ô ñ 	ð ˜Q˜ô	ô 	ô ÑKÀQÈÀFÔ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Ø˜G [óð ð
 �Ü˜œ?Ô+¬z¸!¼_Ô/MØ%)§W¡W´¡^”E—M’M¼¿¹ˆEØ*�B—I‘I×*Ñ*Ø ðÜ):¸A¸q¸6À2Ó)FòˆEô #×)Ñ)¨"¨e°TÓ:Ð:Ü˜Ô+Ô,´¸AÔ?OÔ1PØ—G‘GØ×$Ñ$Ó&Ø×$Ñ$Ó&óˆEô $ EÓ*Ð*ð 2QÐ,rW   rb  c                 ó’   — t        t        «      j                  ||t        j                  d«      gi «      }|j                  |g i «      S )NÚ__abs__©rL   rk   râ   r4   r  )r¡   rÖ   rb  Ú
abs_methods       rU   Úcall_abszBuiltinVariable.call_absl  óF   € ä$¤WÓ-×;Ñ;Ø�Ô&×-Ñ-¨iÓ8Ð9¸2ó
ˆ
ð ×'Ñ'¨¨B°Ó3Ð3rW   c                 ó’   — t        t        «      j                  ||t        j                  d«      gi «      }|j                  |g i «      S )NÚ__pos__r"  )r¡   rÖ   rb  Ú
pos_methods       rU   Úcall_poszBuiltinVariable.call_poss  r%  rW   c                 óÊ   — t        |t        j                  «      rt        d«       t	        |«      }t        j                  |«      }t        j                  j                  |«      S )Nzunsupported index(tensor))	r[   r   rF   r   r)   rw   r˜   r4   r  )r¡   rÖ   rb  Úconstant_values       rU   Ú
call_indexzBuiltinVariable.call_indexz  sJ   € Ü�cœ9×3Ñ3Ô4ÜÐ5Ô6ä˜3ÓˆÜ!Ÿ™¨Ó,ˆÜ×)Ñ)×0Ñ0°Ó@Ð@rW   c                 ó’   — t        t        «      j                  ||t        j                  d«      gi «      }|j                  |||«      S )NÚ	__round__r"  )r¡   rÖ   rb  r\  rE  Úround_methods         rU   Ú
call_roundzBuiltinVariable.call_round‚  sF   € ä&¤wÓ/×=Ñ=Ø�Ô&×-Ñ-¨kÓ:Ð;¸Ró
ˆð ×)Ñ)¨"¨d°FÓ;Ð;rW   c                 ó²   — t        |i «      rt        j                  |«      S  | j                  |Ž r't	        d„ |D «       «      }t        j                  |«      S y )Nc              3   ól   K  — | ],  }t         j                  j                  t        |«      «      –— Œ. y ­wrZ   )r   r4   r  r)   r¹  s     rU   rb   z-BuiltinVariable.call_range.<locals>.<genexpr>�  s+   è ø€ ò ØIL”	×*Ñ*×1Ñ1´,¸sÓ2C×Dñùó   ‚24)r#   r   ÚRangeVariableÚ_dynamic_argsrä  ©r¡   rÖ   r\  s      rU   Ú
call_rangezBuiltinVariable.call_range‰  sZ   € Ü(¨¨rÔ2Ü×*Ñ*¨4Ó0Ð0ØˆT×Ñ Ñ&Üñ ØPTôó ˆDô ×*Ñ*¨4Ó0Ð0àrW   c                 ój   — t        d„ |D «       «      xs  t        d„ |j                  «       D «       «      S )Nc              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrZ   rÃ  r_   s     rU   rb   z0BuiltinVariable._dynamic_args.<locals>.<genexpr>•  s   è ø€ Ò@°a”:˜a¤×1Ñ@ùr—  c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrZ   rÃ  r_   s     rU   rb   z0BuiltinVariable._dynamic_args.<locals>.<genexpr>•  s   è ø€ ò H
Ø/0ŒJ�qœ/×*ñH
ùr—  )re   r›   r[  s      rU   r5  zBuiltinVariable._dynamic_args”  s7   € ÜÑ@¸4Ô@Ó@ò 
ÄCñ H
Ø4:·M±M³OôH
ó E
ð 	
rW   c                 ó,   — t        j                  |«      S rZ   )r   ÚSliceVariabler6  s      rU   Ú
call_slicezBuiltinVariable.call_slice™  s   € Ü×&Ñ& tÓ,Ð,rW   c           
      ó€   — ddl m}  || |j                  j                  d| j                  gt        ||«      ¢­Ž «      S rß   )rã   rá   rä   rå   rM   r-   )r¡   rÖ   r\  rE  rá   s        rU   Ú
_dyn_proxyzBuiltinVariable._dyn_proxyœ  sA   € Ý*áØØ"ˆB�I‰I×"Ñ"Ø §¡ðÜ+<¸TÀ6Ó+Jòó
ð 	
rW   c                 ó~  — t        |t        j                  «      rJ ‚ | j                  |i |¤Žr | j                  |g|¢­i |¤ŽS t        j
                  j                  | j                  «      }|€ |g t        «       ¬«      S |j                  |«      �r*|j                  rôt        |j                  «      sßt        |t        «      r3t        |j                  j                  t        j                   «      «       nœt#        |dd«      r]t        |t$        «      rMt'        |t(        «      s=|j*                  j,                  j/                  |j                  j1                  «       «       t        |j                  j                  t        j2                  «      «        |t5        |j7                  |«      «      t        «       ¬«      S y )Nrò   rP   F)r[   r   ÚIteratorVariabler5  r?  r=   Úcls_forrM   r1   r÷   rP   r   rA   r   rQ   r   ÚTUPLE_ITERATOR_LENrk   r7   r+   r<   rä   Úguard_on_key_orderr‚   rJ  ÚSEQUENCE_LENGTHræ  ré   ©r¡   rÖ   r|  r\  rE  rS   s         rU   Ú_call_iter_tuple_listz%BuiltinVariable._call_iter_tuple_list§  s[  € ô ˜c¤9×#=Ñ#=Ô>Ð>Ð>àˆ4×Ñ˜tÐ. vÒ.Ø"�4—?‘? 2Ð7¨Ò7°Ñ7Ð7ä×(Ñ(×0Ñ0°·±Ó9ˆØˆ;ÙØÜ.Ó0ôð ð ×(Ñ(¨Õ,Ø�zŠzÔ"4°S·Z±ZÔ"@Ü˜cÔ#8Ô9Ü!ØŸ
™
×-Ñ-¬l×.MÑ.MÓNõô
    X¨uÔ5Ü& sÔ,=Ô>Ü & s¬KÔ 8àŸ	™	×4Ñ4×8Ñ8¸¿¹¿¹Ó9JÔKä! #§*¡*×"7Ñ"7¼×8TÑ8TÓ"UÔVáÜ�S×,Ñ,¨RÓ0Ó1Ü.Ó0ôð ð! -rW   c                 ó¨   — t         j                  j                  | j                  «      } |t	        |j                  |«      «      t        «       ¬«      S rñ   )r   r=   rB  rM   ræ  r  r1   rF  s         rU   Ú_call_iter_tuple_generatorz*BuiltinVariable._call_iter_tuple_generatorÊ  sB   € Ü×(Ñ(×0Ñ0°·±Ó9ˆÙÜ�×.Ñ.¨rÓ2Ó3Ü*Ó,ô
ð 	
rW   c                 ól  — t        |t        j                  «      rSt        j                  j	                  | j
                  «      } |t        |j                  |«      «      t        «       ¬«      S t        |t        j                  «      r | j                  ||g|¢­i |¤ŽS  | j                  ||g|¢­i |¤ŽS rñ   )r[   r   rA  r=   rB  rM   ræ  r  r1   ÚLocalGeneratorObjectVariablerI  rG  rF  s         rU   Ú_call_tuple_listz BuiltinVariable._call_tuple_listÑ  s¢   € Ü�cœ9×5Ñ5Ô6Ü×,Ñ,×4Ñ4°T·W±WÓ=ˆCÙÜ�S×2Ñ2°2Ó6Ó7Ü.Ó0ôð ô ˜œY×CÑCÔDØ2�4×2Ñ2°2°sÐL¸TÒLÀVÑLÐLà-�4×-Ñ-¨b°#ÐG¸ÒGÀÑGÐGrW   c                 óš   — t        |t        j                  «      r|}n | j                  ||g|¢­i |¤Ž}|€|j	                  |d||«      S |S )NÚ__iter__)r[   r   rA  rG  rÕ   )r¡   rÖ   r|  r\  rE  Úrets         rU   Ú	call_iterzBuiltinVariable.call_iterÝ  sX   € Ü�cœ9×5Ñ5Ô6Ø‰Cð -�$×,Ñ,¨R°ÐF°tÒF¸vÑFˆCàˆ;ð —?‘? 2 z°4¸Ó@Ð@Øˆ
rW   c           	      ó°  — ddl m}m} ddlm} t        |t        j                  |||f«      rt        j                  j                  d«      S t        |t        «      r2t        j                  j                  t        |j                  «      «      S t        |t        t        t        t        t         t"        f«      rt        j                  j                  d«      S y )Nr0   )rË   ÚFunctoolsPartialVariablerÍ   TF)r)  rË   rR  r*  rÎ   r[   r   rÑ   r4   r  rI   rg   rT   rE   rF   r?   rB   r>   )r¡   rÖ   rb  rË   rR  rÎ   s         rU   Úcall_callablezBuiltinVariable.call_callableî  s®   € ßQÝ/äØä×2Ñ2Ø(Ø(Ø ð	ô
ô ×-Ñ-×4Ñ4°TÓ:Ð:Ü˜Ô0Ô1Ü×-Ñ-×4Ñ4´X¸c¿i¹iÓ5HÓIÐIÜØä ÜÜÜÜÜ$ðô

ô ×-Ñ-×4Ñ4°UÓ;Ð;ð

rW   c                 óL   — t        |«      dk(  r|d   S t        d|› d|› �«       y )Nr   r0   z$unsupported args to builtin cast(): rŠ  )rm   r   )r¡   r‚  r\  rE  s       rU   Ú	call_castzBuiltinVariable.call_cast  s,   € Üˆt‹9˜Š>Ø˜‘7ˆNäÐ<¸T¸FÀ!ÀFÀ8ÐLÕMrW   c                 ó>   — t        j                  |t        g|¢­i |¤ŽS rZ   )rL   Úcall_custom_dictrã  ©r¡   rÖ   r\  rE  s       rU   Ú	call_dictzBuiltinVariable.call_dict  s   € Ü×/Ñ/°´DÐJ¸4ÒJÀ6ÑJÐJrW   c                 óš   — | j                  t        j                  | t        j                  «      t        j                  | |«      g|¢|«      S rZ   )r	  r2   r
  r   Úconstruct_dict)rÖ   Úuser_clsr\  rE  s       rU   rW  z BuiltinVariable.call_custom_dict  sF   € à×-Ñ-Ü×!Ñ! "¤i×&>Ñ&>Ó?Ü×"Ñ" 2 xÓ0Ð8°4Ð8Øó
ð 	
rW   c                 ó\  — |t         t        t        hv sJ ‚|rB|t        u sJ ‚t        |«      dk(  rt        |«      dk(  rd|v sJ ‚g |¢|j	                  d«      ‘­}t        |«      dk(  rt        t        d«      ‚t        |«      dk(  rg |¢t        j                  d «      ‘­}t        |«      dk(  sJ ‚|\  }}|t        urt        nt        }t        |t         «      rW|j                  «       D �cg c]  }t        j                  |«      ‘Œ }} |t         j                  ||«      |t        «       ¬«      S |j                  | «      rJ|j!                  | «      }t#        d„ |D «       «      r' |t         j                  ||«      |t        «       ¬«      S t%        |j&                  › d|› d	|› �«       y c c}w )
Nr0   rT   r   z,fromkeys expected at least 1 argument, got 0r   rò   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrZ   )r;   )r`   rr  s     rU   rb   z<BuiltinVariable.call_custom_dict_fromkeys.<locals>.<genexpr>7  s   è ø€ Ò0 a”;˜q—>Ñ0ùr×  z.fromkeys(): rŠ  )rã  r   r   rm   Úpopr   r‹  r4   r  r7   r8   r[   ÚkeysrÞ  r1   r  r  rd   r   r  )	rÖ   r\  r\  rE  rb  rT   ÚDictVariableTyperq  r`  s	            rU   rç  z)BuiltinVariable.call_custom_dict_fromkeys  sž  € ð œD¤+¬{Ð;Ñ;Ð;Ð;Ùàœ{Ñ*Ð*Ð*Ü�t“9 ’>¤c¨&£k°QÒ&6¸7ÀfÑ;LÐLÐLØ/�TÐ/˜6Ÿ:™: gÓ.Ñ/ˆDÜˆt‹9˜Š>ÜœIÐ'UÓVÐVÜˆt‹9˜Š>Ø9�TÐ9Ô+×2Ñ2°4Ó8Ñ9ˆDÜ�4‹y˜AŠ~Ðˆ~Ø‰
ˆˆUà!)´Ñ!<ÕÔBUð 	ô �cœ4Ô Ø7:·x±x³zÖB°!Ô#×*Ñ*¨1Õ-ÐBˆCÐBÙ#Ü—‘˜c 5Ó)¨8ÔCSÓCUôð ð ×.Ñ.¨rÔ2Ø×0Ñ0°Ó4ˆDÜÑ0¨4Ô0Ô0Ù'Ü—M‘M $¨Ó.ØÜ"2Ó"4ôð ô
 	˜×*Ñ*Ð+¨=¸¸¸aÀ¸xÐHÕIùò Cs   Ã+F)c                 óÈ  — |rJ ‚|st        g t        «       ¬«      S t        |«      dk(  sJ ‚|d   }t        |t        j                   «      r|j                  t        «       ¬«      S |j                  |«      r&|j                  |«      }t        |t        «       ¬«      S t        |t        j                  «      rœt        |j                  t        «      r‚|j                  |d«      }t        |t        j                  «      rD|j                  |||«      }t        |t         «      r|S t        t        «      j!                  ||«      S t#        d|› d|› �«       y t#        d|› d|› �«       y )Nrò   r0   r   rN  zset(): rŠ  )r<   r1   rm   r[   r   Úcloner  r  rH   rT   r   Úvar_getattrÚUserMethodVariabler	  rL   ÚsetÚcall_setr   )r¡   rÖ   r\  rE  rb  rè   Úiter_fnÚouts           rU   rg  zBuiltinVariable.call_set?  s3  € áÐˆzÙÜ˜rÔ1AÓ1CÔDÐDÜ�4‹y˜AŠ~Ðˆ~Ø�1‰gˆÜ�cœ9×0Ñ0Ô1Ø—9‘9Ô+;Ó+=�9Ó>Ð>Ø×.Ñ.¨rÔ2Ø×1Ñ1°"Ó5ˆEÜ˜uÔ4DÓ4FÔGÐGÜ˜œY×@Ñ@ÔAÄjØ�I‰I”xôG
ð —o‘o b¨*Ó5ˆGÜ˜'¤9×#?Ñ#?Ô@Ø×4Ñ4°W¸dÀFÓK�Ü˜c¤;Ô/Ø�JÜ&¤sÓ+×4Ñ4°R¸Ó=Ð=ä ¨ v¨Q¨v¨hÐ7Õ8ä˜G D 6¨¨6¨(Ð3Õ4rW   c                 ód  — |rJ ‚|st        g «      S t        |«      dk(  sJ ‚|d   }t        |t        j                   «      r-t        |j                  D �cg c]  }|j
                  ‘Œ c}«      S |j                  |«      r|j                  |«      }t        |«      S t        d|› d|› �«       y c c}w )Nr0   r   zfrozenset(): rŠ  )	r:   rm   r[   r   Ú	set_itemsÚvtr÷   ré   r   )r¡   rÖ   r\  rE  rb  ra   rè   s          rU   Úcall_frozensetzBuiltinVariable.call_frozensetY  s£   € ÙÐˆzÙÜ$ RÓ(Ð(Ü�4‹y˜AŠ~Ðˆ~Ø�1‰gˆÜ�cœ9×6Ñ6Ô7Ü$°C·M±MÖ%B¨q a§d£dÒ%BÓCÐCØ×(Ñ(¨Ô,Ø×+Ñ+¨BÓ/ˆEÜ$ UÓ+Ð+ä˜M¨$¨¨q°°Ð9Õ:ùò &Cs   ÁB-c                 óþ   — |rt        |«      dk(  rd|v sJ ‚|j                  dd«      }|D �cg c]&  }|j                  |«      r|j                  |«      n|‘Œ( }}t	        j
                  ||t        «       ¬«      S c c}w )Nr0   ÚstrictF)ro  ró   )rm   r_  r÷   ré   r   ÚZipVariabler1   )r¡   rÖ   r\  rE  ro  rb  s         rU   Úcall_zipzBuiltinVariable.call_zipg  s�   € ÙÜ�v“; !Ò#¨°FÑ(:Ð:Ð:Ø—‘˜H eÓ,ˆð ö
àð ,/×+FÑ+FÀrÔ+JˆC×#Ñ# BÔ'ÐPSÑSð
ˆð 
ô ×$Ñ$Ø˜Ô/?Ó/Aô
ð 	
ùò	
s   ­+A:c                 ó6   — |d   j                  |d|dd  |«      S )Nr   Ú__len__r0   rÛ   rX  s       rU   Úcall_lenzBuiltinVariable.call_lens  s#   € Ø�A‰w×"Ñ" 2 y°$°q°r°(¸FÓCÐCrW   c                 ó6   — |d   j                  |d|dd  |«      S )Nr   Ú__getitem__r0   rÛ   rX  s       rU   Úcall_getitemzBuiltinVariable.call_getitemv  s#   € Ø�A‰w×"Ñ" 2 }°d¸1¸2°hÀÓGÐGrW   c           	      ón  ‡— 	 ‰j                  «       }|j                  «       }t	        ‰t
        j                  «      r7‰j                  �+ˆfd„}t
        j                  j                   |‰|«      «      S t	        ‰t
        j                  «      r5t	        ‰j                  t        j                  «      rt        d‰› d|› �«       t	        ‰t
        j                  «      r[d|j                  j                  v rCt
        j                  j                  |j                  j!                  |‰j                  «      «      S t	        |t"        «      st%        t'        |dd «      «      r|f}nrt(        j*                  dk\  r't	        |t        j,                  «      r|j.                  }n8t	        |t0        «      rt3        d	„ |D «       «      r|}nt5        t6        |d
g¬«       	 t9        «      }t
        j                  j                  |«      S # t        $ r t        d‰› d|› d‰› �«       Y �Œw xY w# t6        $ r v }Y ŒRw xY w)Nzisinstance(ú, z): can't determine type of c                 ój   •‡— ˆfd„Št        |«      t        u rt        ˆfd„|D «       «      S  ‰|«      S )Nc                 ó>  •— | t         vr~‰j                  «       j                  j                  d   }t	        |«      r2| t
        j                  j                  j                  u rt        || «      S t        ‰j                  «       | «      S t         |    }‰j                  |v S )NÚexample_value)r/   rP  ÚnodeÚmetar   r+  ÚnnÚ	parameterÚ	Parameterr[   r7  Úpython_typeÚdtype)ÚtyÚexample_valÚdtypesrb  s      €rU   Ú
check_typezOBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.check_type†  s„   ø€ ØÔ!4Ñ4Ø&)§l¡l£n×&9Ñ&9×&>Ñ&>¸Ñ&O˜ä9¸+ÔFØ "¤e§h¡h×&8Ñ&8×&BÑ&BÑ Bô
 $.¨k¸2Ó#>Ð>ä#-¨c¯o©oÓ.?ÀÓ#DÐDä0°Ñ4�FØŸ9™9¨Ð.Ð.rW   c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wrZ   rB  )r`   r„  r‡  s     €rU   rb   zNBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.<genexpr>˜  s   øè ø€ ÒD°"™z¨"Ÿ~ÑDùs   ƒ)r\   rä  re   )Ú
tensor_varÚtensor_typer‡  rb  s     @€rU   Ú_tensor_isinstancez;BuiltinVariable.call_isinstance.<locals>._tensor_isinstance…  s3   ù€ ô/ô" ˜Ó$¬Ñ-ÜÓD¸ÔDÓDÐDá% kÓ2Ð2rW   z&isinstance called on UserDefinedClass rŠ  Ú__instancecheck__)rÜ  é
   c              3   ól   K  — | ],  }t        |t        «      xs t        t        |d d«      «      –— Œ. y­w)rŒ  N)r[   r\   rg   rk   )r`   Útps     rU   rb   z2BuiltinVariable.call_isinstance.<locals>.<genexpr>º  s6   è ø€ ò 8
àô �rœ4Ó ÒT¤H¬W°RÐ9LÈdÓ-SÓ$TÓTñ8
ùr3  z?isinstance() arg 2 must be a type, a tuple of types, or a union)r\  )r‚  rÊ  r   rÿ   r[   r   rF   rƒ  r4   r  rH   rT   ÚtypesÚMemberDescriptorTyperþ   rœ   rŒ  r\   rg   rk   ÚsysÚversion_infoÚ	UnionTypeÚ__args__rä  rd   r   r‹  r7  )r¡   rÖ   rb  Úisinstance_typerf  r‹  Úisinstance_type_tuplerë  s     `     rU   Úcall_isinstancezBuiltinVariable.call_isinstancey  s  ø€ ð	Ø—‘Ó(ˆHð *×<Ñ<Ó>ˆä�cœ9×3Ñ3Ô4¸¿¹Ð9Nô3ô. ×-Ñ-×4Ñ4Ù" 3¨Ó8óð ô
 �cœ9×>Ñ>Ô?ÄJØ�I‰I”u×1Ñ1ôE
ô Ø8¸¸¸Q¸Ð>OÐPôô
 �sœI×?Ñ?Ô@Ø# ×'@Ñ'@×'IÑ'IÑIä×-Ñ-×4Ñ4Ø×)Ñ)×;Ñ;¸OÈSÏYÉYÓWóð ô
 �o¤tÔ,´ä�OÐ%8¸$Ó?ô1
ð &5Ð$6Ñ!Ü×Ñ Ò(¬ZØœUŸ_™_ô.
ð %4×$<Ñ$<Ñ!Ü˜¬Ô/´Cñ 8
à%ô8
ô 5
ð %4Ñ!ä$ÜØàUðõð
	4ô ˜XÐ'<Ó=ˆCô ×)Ñ)×0Ñ0°Ó5Ð5øôo #ò 	ÜØ˜c˜U " _Ð$5Ð5PÐQTÐPUÐV÷ð	ûôj ò 	4ØÐ3Ð3ŠCð	4ús#   ƒH  ÇH$ È H!È H!È$H4È3H4c                 óÂ   — 	 |j                  «       }|j                  «       }t        j                  t        «      «      S # t        $ r t        d|› d|› �«       Y Œ;w xY w)z,Checks if first arg is subclass of right argz+call_issubclass args not constant left_ty: z, right_ty: )rÿ   rÊ  r   r   r4   r7  )r¡   rÖ   Úleft_tyÚright_tyÚ
left_ty_pyÚright_ty_pys         rU   Úcall_issubclasszBuiltinVariable.call_issubclassÕ  sh   € ð	Ø ×3Ñ3Ó5ˆJØ"×5Ñ5Ó7ˆKô ×)Ñ)¬*°ZÀÓ*MÓNÐNøô #ò 	ÜØ=¸g¸YÀlÐS[ÐR\Ð]öð	ús   ‚ A ÁAÁAc                 ó.   — t        j                  ||«      S rZ   )r   ÚSuperVariable©r¡   rÖ   r×   rØ   s       rU   Ú
call_superzBuiltinVariable.call_superã  s   € Ü×&Ñ& q¨!Ó,Ð,rW   c                 óÆ   — 	 |j                  |«      S # t        $ rD}t        |t        j                  «      r$|j                  «        |j                  d   cY d }~S ‚ d }~ww xY w)Nr   )Únext_variabler   r[   r   r=   r‘  rè   )r¡   rÖ   rb  Úexs       rU   Ú	call_nextzBuiltinVariable.call_nextæ  sU   € ð	Ø×$Ñ$ RÓ(Ð(øÜò 	Ü˜#œy×9Ñ9Ô:Ø×$Ñ$Ô&Ø—y‘y ‘|Õ#Øûð		ús    ‚ “	A œ8AÁA ÁAÁA c                 óî   — |j                  «       re|j                  «       }t        |t        j                  «      r)t        j
                  t        |j                  |«      «      S |j                  ||«      S y rZ   )	rà  rÿ   r[   r   rL   r4   rù  rM   Úcall_obj_hasattr)r¡   rÖ   r|  ÚattrrJ  s        rU   Úcall_hasattrzBuiltinVariable.call_hasattrï  s`   € Ø×"Ñ"Ô$Ø×*Ñ*Ó,ˆDÜ˜#œy×8Ñ8Ô9Ü ×1Ñ1´'¸#¿&¹&À$Ó2GÓHÐHØ×'Ñ'¨¨DÓ1Ð1ð	 %rW   c                 ó®   — |D �cg c]&  }|j                  |«      r|j                  |«      n|‘Œ( }}t        j                  ||t	        «       ¬«      S c c}w rñ   )r÷   ré   r   ÚMapVariabler1   )r¡   rÖ   rM   Úseqsrû   s        rU   Úcall_mapzBuiltinVariable.call_mapö  s_   € ð ö
àð ,/×+FÑ+FÀrÔ+JˆC×#Ñ# BÔ'ÐPSÑSð
ˆð 
ô ×$Ñ$ R¨Ô=MÓ=OÔPÐPùò	
s   …+Ac                 óŠ   — |j                  |«      r|j                  |«      n|}t        j                  ||t	        «       ¬«      S rñ   )r÷   ré   r   ÚFilterVariabler1   )r¡   rÖ   rM   rû   s       rU   Úcall_filterzBuiltinVariable.call_filterý  s;   € Ø-0×-HÑ-HÈÔ-Lˆc×%Ñ% bÔ)ÐRUˆÜ×'Ñ'¨¨CÔ?OÓ?QÔRÐRrW   r|  rê  c                 ó&
  — |j                  «       }|j                  «       st        d«       |j                  j                  j                  |«      r^t        |t        j                  «      rD|dv r@|j                  r4|j                  j                  j                  |«      rt        d|›d�«       |j                  j                  j                  ||«      r&|j                  j                  j                  ||«      S |�9| j                  |||«      }|j                  «       dv sJ ‚|j                  «       s|S |j                  xr t        |j                  |«      }|dv rÑ	 |j                  «       }t        |t         «      r°|dk(  rat#        |j$                  «      D �	�
cg c]*  \  }	}
t'        j(                  ||
|xr t+        ||	«      «      ‘Œ, }}	}
t        j,                  ||¬«      S |d	k(  r!t'        j(                  ||j.                  |«      S |d
k(  rt1        j2                  |j4                  «      S t        |t        j8                  «      r|j;                  ||«      S t        |t        j<                  t        j>                  t        j0                  t        j@                  t        jB                  t        jD                  f«      r	 |j;                  ||«      S t        |t        jH                  «      rµtK        |jL                  |«      }t        |tN        jP                  jR                  tN        jP                  jT                  f«      r@tN        jV                  jX                  j[                  |«      rt        jH                  ||¬«      S |t\        v rt        jF                  |||¬«      S y t        |t^        «      r¢|j`                  s||jL                  jb                  vrtK        |jL                  |«      }n|jL                  jb                  |   }td        jf                  r'|jh                  jk                  |jL                  ||«       t'        j(                  |||«      S tm        |t        jn                  «      r-|dv r)t1        j2                  tK        |jp                  |«      «      S 	 |j;                  ||«      S c c}
}	w # t6        $ r Y �Œ’w xY w# t6        $ r t        jF                  |||¬«      cY S w xY w# t6        $ r t        jF                  |||¬«      cY S w xY w)Nznon-const getattr() name)Únamed_parametersÚ
parametersÚnamed_buffersÚbuffersÚnamed_modulesÚmodulesz4pending mutation on nn module, so graph breaking at z call)TF>   Ú__base__Ú	__bases__Ú	__flags__rº  rO   r¹  r»  )r  rT  )9rÿ   rà  r   rä   rø   rß  r[   r   ÚUnspecializedNNModuleVariableÚis_state_mutatedÚhas_pending_mutationÚhas_pending_mutation_of_attrÚ	load_attrrª  rP   r   r\   Ú	enumeraterº  r2   r
  r   rB   r¹  r4   r  r»  rÊ  rÎ   rd  rF   ÚNamedTupleVariableÚDistributedVariablerÑ   rH   r`  r  rk   rT   r+  Ú_opsÚOpOverloadPacketÚ
OpOverloadÚ_dynamoÚtrace_rulesÚis_aten_op_or_tensor_methodr%   r   Úis_torchrœ   r   Úreplay_record_enabledÚexec_recorderÚrecord_module_accessr+   rÌ   rM   )r¡   rÖ   r|  rê  ÚdefaultrJ  Úhasattr_varrP   rT   rn  rØ   Ú
tuple_argsÚmembers                rU   Úcall_getattrzBuiltinVariable.call_getattr  sE  € ð ×*Ñ*Ó,ˆà×*Ñ*Ô,ÜÐ4Ô5à�9‰9×!Ñ!×7Ñ7¸Ô<Ü˜#œy×FÑFÔGàðñð ×,Ò,ØŸ	™	×.Ñ.×CÑCÀCÔHä!ØNÈtÈhÐV[Ð\ôð �9‰9×!Ñ!×>Ñ>¸sÀDÔIØ—9‘9×)Ñ)×3Ñ3°C¸Ó>Ð>àÐØ×+Ñ+¨B°°XÓ>ˆKØ×1Ñ1Ó3°}ÑDÐDÐDØ×1Ñ1Ô3Ø�à—‘Ò<¤
¨3¯:©:°tÓ <ˆØÐ9Ñ9ðØ×.Ñ.Ó0�Ü˜e¤TÔ*Ø˜{Ò*ô
 )2°%·/±/Ó(B÷	&ñ !%  1ô ,×1Ñ1Ø " A vÒ'J´-ÀÈÓ2Jõð&˜
ñ &ô  )×6Ñ6°zÈ&ÔQÐQØ˜zÒ)Ü.×4Ñ4°R¸¿¹ÈÓPÐPØ˜{Ò*Ü/×6Ñ6°u·±ÓGÐGô �cœ9×5Ñ5Ô6Ø—?‘? 2 tÓ,Ð,ÜØä×(Ñ(Ü×,Ñ,Ü×*Ñ*Ü×-Ñ-Ü×2Ñ2Ü×3Ñ3ðô

ðKØ—‘ r¨4Ó0Ð0ô ˜œY×CÑCÔDä˜SŸY™Y¨Ó-ˆFÜØœŸ™×4Ñ4´e·j±j×6KÑ6KÐLôä—-‘-×+Ñ+×GÑGÈÔOÜ ×=Ñ=¸fÈVÔTÐTØÔ/Ñ/Ü ×0Ñ0°°dÀ6ÔJÐJð 0ä˜œ[Ô)à�|Š|˜t¨3¯9©9×+=Ñ+=Ñ=Ü  §¡¨DÓ1‘àŸ™×+Ñ+¨DÑ1�ä×+Ò+Ø× Ñ ×5Ñ5°c·i±iÀÀvÔNÜ"×(Ñ(¨¨V°VÓ<Ð<ä�Cœ×7Ñ7Ô8¸Tð F
ñ >
ô $×*Ñ*¬7°3·6±6¸4Ó+@ÓAÐAðKØ—‘ r¨4Ó0Ð0ùóu&øô 'ò Úðûô$ 'ò KÜ ×0Ñ0°°dÀ6ÔJÒJðKûô< 'ò KÜ ×0Ñ0°°dÀ6ÔJÒJðKúsT   Å=R5 Æ/R/ÇR5 Ç%%R5 È#R5 ËS ÒS, Ò/R5 Ò5	SÓSÓ!S)Ó(S)Ó,!TÔTrë  c                 óx  — t        |t        j                  t        j                  t        j                  t        j
                  f«      r|j                  |d||gi «      S |j                  j                  j                  |«      �rï|j                  «       �rÞ|j                  «       }t        |t        j                  «      �r^ddlm} |dk(  rt        d«       |dk(  �rB|j                  j                   D �cg c]  }|j"                  |j"                  k(  sŒ|‘Œ  }}|D ]'  }|j                  j                   j%                  |«       Œ) t'        |«      5  t)        j*                  «       5   || |j                  j,                  dt(        j.                  j0                  gt3        ||gi «      ¢­Ž «      }	d d d «       d d d «       d„ }
|j                  j-                  d|
	j5                  «       fi «        |
|j5                  «       j6                  j8                  d	   «       |	S |j                  j                  j;                  |||«       |d
k(  r'|j                  j                  j;                  |d|«       |S t        |t        j                  «      r,t        dt=        |j>                  «      j@                  › �«       y t        |t        jB                  «      �r0|j                  jE                  «       stG        d«      ‚|j                  «       rét        |t        j                  «      rÏtI        |j5                  «       j6                  |«      }	 |jK                  ||j                  «       «      }t        |t        j                  «      rptI        |j5                  «       j6                  |«      }tQ        jR                  |jT                  d«      }||u r(|t(        jV                  jX                  j@                  u r|S |j[                  |«       y y c c}w # 1 sw Y   �Œ]xY w# 1 sw Y   �ŒbxY w# tL        tN        f$ r d }Y ŒÏw xY w)NrÛ  r0   rà   Úrequires_gradz¢mutating requires_grad can introduce a new leaf from non-leaf or vice versa in the middle of the graph, which aot_autograd does not currently know how to handle. Údatarâ   c                 óŠ   — | j                   }|dkD  r|dz
  }t        j                  j                  j	                  | f|f«       | S r  )Ú_versionr+  Ú_CÚ	_autogradÚ_unsafe_set_version_counter)ra   Úversions     rU   Ú_lower_version_count_by_1z?BuiltinVariable.call_setattr.<locals>._lower_version_count_by_1¨  s>   € Ø"#§*¡*˜Ø" Qš;Ø&-°¡k˜GÜŸ™×*Ñ*×FÑFÈÀtÈgÈZÔXØ ˜rW   r|  Ú_gradÚgradz#setattr(UserDefinedObjectVariable) z?Can't inplace modify module params/buffers inside HigherOrderOp).r[   r   ÚPlacementVariablerÂ  rH   r  rÕ   rä   rø   rß  rà  rÿ   rF   rã   rá   r   Útracked_fakesrP   ÚremoveÚdynamo_disable_gradr+  Úno_gradrå   ÚTensorÚset_r-   rP  r}  r~  Ú
store_attrr\   rT   rÛ  rÎ   Úis_root_tracerr   r(   rd  rú  r   rŒ  Úgetattr_staticÚmodule_typer  ÚModuleÚconvert_to_unspecialized)r¡   rÖ   r|  rê  rë  rJ  rá   ÚtfÚ	to_removeri  rÜ  Úassigning_fake_valÚgetattr_varÚexisting_fake_attrÚmod_setattrs                  rU   Úcall_setattrzBuiltinVariable.call_setattrm  sŽ  € ô Øä×+Ñ+Ü×,Ñ,Ü×3Ñ3Ü×+Ñ+ð	ô
ð —?‘? 2 }°xÀ°oÀrÓJÐJà�I‰I×"Ñ"×8Ñ8¸Õ=Ø×+Ñ+Õ-à×.Ñ.Ó0ˆDÜ˜#œy×7Ñ7Õ8Ý2à˜?Ò*ä!ðnôð ˜6“>ð &(§Y¡Y×%<Ñ%<ö!Ø!ÀÇ	Á	ÈSÏZÉZÓ@Wšð!�Ið !ð (ò ;˜ØŸ	™	×/Ñ/×6Ñ6°rÕ:ð;ô -¨RÓ0ñ 	´%·-±-³/ñ 	á+ØØ2˜BŸI™I×2Ñ2Ø /Ü %§¡× 1Ñ 1ðô "3°C¸°:¸rÓ!Bòó˜÷	÷ 	ò!ð —I‘I×*Ñ*Ø'Ø1ØŸ™›Ð)Øô	ñ .¨c¯l©l«n×.AÑ.A×.FÑ.FÀÑ.WÔXð �Jà�I‰I×"Ñ"×-Ñ-¨c°4¸Ô=Ø�wŠØ—	‘	×&Ñ&×1Ñ1°#°v¸sÔCàˆJÜ˜œY×@Ñ@ÔAÜØ5´d¸3¿9¹9³o×6QÑ6QÐ5RÐSõô ˜œY×7Ñ7Õ8Ø—9‘9×+Ñ+Ô-Ü,ØUóð ð ×*Ñ*Ô,´Ø”Y×-Ñ-ô2ô &4°C·L±L³N×4GÑ4GÈÓ%LÐ"ð'Ø"%§/¡/°"°h×6QÑ6QÓ6SÓ"T�Kô ˜k¬9×+CÑ+CÔDä)7¸×8LÑ8LÓ8N×8SÑ8SÐUWÓ)XÐ&ô #*×"8Ñ"8¸¿¹È-Ó"X�Kà*Ð.@Ñ@Ø'¬5¯8©8¯?©?×+FÑ+FÑFà*Ð*à×(Ñ(¨Õ,ð7 9ùòc!÷	ñ 	ú÷ 	ñ 	ûôl 'Ô(>Ð?ò 'Ø"&’Kð'úsC   Ã5PÄPÅPÅ&A
PÆ0PÍ	 P% ÐP	ÐPÐP"Ð%P9Ð8P9c                 óN   — | j                  |||t        j                  «       «      S rZ   )rò  r   ÚDeletedVariable)r¡   rÖ   r|  rê  s       rU   Úcall_delattrzBuiltinVariable.call_delattrà  s$   € ð × Ñ   S¨(´I×4MÑ4MÓ4OÓPÐPrW   c                 óü  — 	 |j                  «       }|j                  xr t        |j                  «      }|€2t        |t        j                  «      r|j                  r|j                  }|t        j                  u r5|j                  j                  dt        «      }t!        t#        |«      d«      }t%        j&                  |||«      S # t        $ r+}t        t        j                  t        |«      d¬«      d ‚d }~ww xY w)NÚunknown_python_type)Ú	case_nameÚ rä  )r‚  rÊ  r   r   ÚINVALID_INPUTrt   rP   r    r[   r   rH   Ú
cls_sourcer+  rä  rä   Úinstall_global_by_idr   r   r2   r
  )r¡   rÖ   r|  Úpy_typeÚerrorrP   rJ  s          rU   Ú	call_typezBuiltinVariable.call_typeè  sÐ   € ð	Ø—o‘oÓ'ˆGð —‘Ò6¤
¨3¯:©:Ó 6ˆàˆNÜ˜3¤	× CÑ CÔDØ—’à—^‘^ˆFØ”e—l‘lÑ"à—9‘9×1Ñ1°"´eÓ<ˆDÜ¤¨TÓ 2°HÓ=ˆFä×$Ñ$ R¨°&Ó9Ð9øô' #ò 	ÜÜ×+Ñ+Ü�E“
Ø/ôð ð	ûð	ús   ‚C Ã	C;Ã&C6Ã6C;c                 ó–   — |j                  |«      r8t        t        |j                  |«      «      «      }t	        j
                  |«      S y rZ   )r÷   ræ  Úreversedré   r   rB   )r¡   rÖ   r|  rè   s       rU   Úcall_reversedzBuiltinVariable.call_reversed   s@   € Ø×&Ñ& rÔ*Üœ #×"9Ñ"9¸"Ó"=Ó>Ó?ˆEÜ×*Ñ*¨5Ó1Ð1ð +rW   c                 óä   — |j                  |«      r_t        |t        j                  «      sDt        j                  |j                  |«      t        «       ¬«      }|j                  |dg |«       |S y y )Nrò   Úsort)r  r[   r   rF   r?   r  r1   rÕ   )r¡   rÖ   r|  rE  Úlist_vars        rU   Úcall_sortedzBuiltinVariable.call_sorted  sm   € ð ×,Ñ,¨RÔ0¼Ø”×)Ñ)ô:
ô !×-Ñ-Ø×-Ñ-¨bÓ1Ü.Ó0ôˆHð × Ñ   V¨R°Ô8ØˆOð:
Ð0rW   c                 ó–   — t        |t        «      r9t        j                  |t        j                  |j                  «       «      d ¬«      S y )N©Úsym_num)r[   rE   r  rw   ry   rP  ©r¡   rÖ   r×   s      rU   Úcall_negzBuiltinVariable.call_neg  s<   € Ü�aœÔ)Ü"×)Ñ)ØÜ—‘˜qŸz™z›|Ó,Øôð ð rW   c                 óz   — |j                  «       }t        |«      }t        j                  j	                  |||«      S rZ   )rÿ   rt   r   ÚStringFormatVariabler  )r¡   rÖ   Ú_format_stringr\  rE  Úformat_strings         rU   Úcall_formatzBuiltinVariable.call_format   s5   € Ø&×9Ñ9Ó;ˆÜ˜MÓ*ˆÜ×-Ñ-×4Ñ4°]ÀDÈ&ÓQÐQrW   c                 óà  — t        |«      dkD  rot        |d   t        j                  «      rR|d   }|j                  j                  |j                  «      }t        j                  j                  t        |«      «      S t        |«      dk(  r¨t        |d   t        j                  t        j                  f«      r{|d   j                  r5t        |d   j                  j                  t        j                   «      «       t        |d   j"                  «      }t        j                  j                  |«      S t        |«      dk(  r)t        |d   t$        «      r|d   }|j'                  |«      S t)        |d   t        j*                  «      r5t        j                  j                  t        |d   j,                  «      «      S t)        |d   t        j.                  «      r5t        j                  j                  t        |d   j"                  «      «      S t)        |d   t        j0                  «      r5t        j                  j                  t        |d   j2                  «      «      S t5        d|› �«       y )Nr   r0   zcall_id with args )rm   r[   r   rÎ   rä   r  r  r4   r  ÚidrÑ   rH   rP   r   rQ   r   ÚID_MATCHrT   rF   Úcall_idr+   rÌ   rM   ÚSkipFunctionVariablerR  Ú
fake_valuer   )r¡   rÖ   r\  Únn_mod_variabler�   Úconstant_resultÚtensor_variables          rU   r  zBuiltinVariable.call_id%  sÍ  € Üˆt‹9�qŠ=œZ¨¨Q©´×1KÑ1KÔLØ" 1™gˆOØ—)‘)×)Ñ)¨/×*DÑ*DÓEˆCÜ×-Ñ-×4Ñ4´R¸³WÓ=Ð=Ü�‹Y˜!Š^¤
Ø�‰GÜ×/Ñ/´×1TÑ1TÐUô!
ð �A‰w�~Š~Ü˜d 1™gŸn™n×7Ñ7¼×8MÑ8MÓNÔOÜ   a¡§¡Ó/ˆOÜ×-Ñ-×4Ñ4°_ÓEÐEÜ�‹Y˜!Š^¤
¨4°©7´NÔ CØ" 1™gˆOØ"×*Ñ*¨2Ó.Ð.Ü�D˜‘GœY×;Ñ;Ô<Ü×-Ñ-×4Ñ4´R¸¸Q¹¿
¹
³^ÓDÐDÜ�D˜‘GœY×;Ñ;Ô<Ü×-Ñ-×4Ñ4´R¸¸Q¹¿¹Ó5FÓGÐGÜ�D˜‘GœY×?Ñ?Ô@Ü×-Ñ-×4Ñ4´R¸¸Q¹×8JÑ8JÓ5KÓLÐLäÐ.¨t¨fÐ5Õ6rW   c                 ó2   — t        dt        |«      › �«       y )Nzcopy.deepcopy )r   rr   )r¡   rÖ   ra   s      rU   Úcall_deepcopyzBuiltinVariable.call_deepcopy>  s   € Ü˜¤t¨A£w iÐ0Õ1rW   c           	      óJ  — ddl m} ddlm} | j                  }|t
        j                  t
        j                  fv rºt        |t        «      xrk t        |t        «      xrY t        t        |j                  «       j                  «      «      t        t        |j                  «       j                  «      «      k(  }|t
        j                  u rt        j                  |«      S t        j                  | «      S ||vrt!        |j"                  › d|› d|› d�«       t        |t        «      rnt        |t        «      r^|j$                  xr |j$                  �D|j$                  |j$                  k7  r+	 t'        j(                  |j$                  |j$                  «       t        |t        «      r|n|}|j,                  j/                  d||j                  «       |j                  «       fi «      }	 |t1        |«      ||	«      S # t*        $ r! t!        |j"                  › d|› d|› d�«       Y ŒŒw xY w)Nr0   r  ©Ú%supported_tensor_comparison_op_valuesrH  ry  rI  râ   )rã   r°  r™   r  rM   rw   r  Úis_notr[   rF   r  r'   rP  r}  r4   r  r   r  Úsizer+  Úbroadcast_shapesÚRuntimeErrorrä   rå   r\   )
r¡   rÖ   r  r  r°  r  r  Ú	is_resultÚ
tensor_clsrÎ  s
             rU   r"  z'BuiltinVariable._comparison_with_tensorA  sÅ  € Ý.ÝAà�W‰Wˆà”(—,‘,¤§¡Ð0Ñ0ä˜4¤Ó0ò IÜ˜u¤nÓ5òIäÔ1°$·-±-³/×2FÑ2FÓGÓHÜÔ0°·±Ó1A×1FÑ1FÓGÓHñIð ð ”X—\‘\Ñ!Ü'×.Ñ.¨yÓ9Ð9ä'×.Ñ.°9¨}Ó=Ð=àÐ:Ñ:Ü˜RŸ[™[˜M¨¨4¨&°°5°'¸Ð;Ô<ä�tœ^Ô,Ü˜5¤.Ô1Ø—‘Ò)˜uŸz™zÐ6Ø—	‘	˜UŸZ™ZÒ'ðAÜ×&Ñ& t§y¡y°%·*±*Ô=ô (¨¬nÔ=‘TÀ5ˆ
Ø—	‘	×&Ñ&Ø˜R $§-¡-£/°5·>±>Ó3CÐ!DÀbó
ˆñ !Ü�ÓØØó
ð 	
øô  ò Aä §¡ ¨Q¨t¨f°B°u°g¸QÐ?Ö@ðAús   Å+*G8 Ç8'H"È!H"c                 óŽ  — ddl m} | j                  }||vrt        |j                  › d|› d|› d�«       t        |t        j                  «      r$t        j                   |t        «       d «      «      S |j                  j                  d||j                  «       |j                  «       fi «      }t        j                  ||d ¬«      S )Nr0   r  rH  ry  rI  râ   r  )r™   r  rM   r   r  r[   r   rÑ   r4   r!  rä   rå   rP  rE   r  )r¡   rÖ   r  r  r  r  rÎ  s          rU   r  z(BuiltinVariable._comparison_with_symnodej  s¯   € ÝAà�W‰WˆàÐ:Ñ:Ü˜RŸ[™[˜M¨¨4¨&°°5°'¸Ð;Ô<ô �eœY×?Ñ?Ô@Ü×-Ñ-©b´³¸4Ó.@ÓAÐAà—	‘	×&Ñ&Ø˜R $§-¡-£/°5·>±>Ó3CÐ!DÀbó
ˆô ×%Ñ%ØØØô
ð 	
rW   c           
      óÂ  — t        |t        «      rt        |t        «      ry t        |t        t        f«      rdt        |t        t        f«      rNt        j                  | |j                  j
                  dt        j                  gt        ||gi «      ¢­Ž d ¬«      S t        |d«      r8t        |d«      r+t        t        |j                  |j                  z  «      «      S y y ©Nrâ   r  rk  )r[   r4   rE   r  rä   rå   rw   rˆ   r-   rù  r<   ræ  rk  r¡  s       rU   Ú	call_and_zBuiltinVariable.call_and_  sÄ   € ä�aÔ)Ô*¬z¸!Ô=MÔ/NØÜ�aœ/Ô+;Ð<Ô=Ä*Ø”Ô!1Ð2ôC
ô #×)Ñ)ØØ&�—	‘	×&Ñ&Ø#¤X§]¡]ðÜ5FÈÈ1ÀvÈrÓ5Ròð ôð ô �1�kÔ"¤w¨q°+Ô'>Üœt A§K¡K°!·+±+Ñ$=Ó>Ó?Ð?ð (?Ð"rW   c           
      óÀ  — t        |t        «      rt        |t        «      ry t        |t        t        f«      rdt        |t        t        f«      rNt        j                  | |j                  j
                  dt        j                  gt        ||gi «      ¢­Ž d ¬«      S t        |d«      r7t        |d«      r+t        t        |j                  |j                  z  «      «      S y r'  )r[   r4   rE   r  rä   rå   rw   r‰   r-   rù  r<   ræ  rk  r¡  s       rU   Úcall_or_zBuiltinVariable.call_or_“  s¿   € ä�aÔ)Ô*¬z¸!Ô=MÔ/NØÜ�aœ/Ô+;Ð<Ô=Ä*Ø”Ô!1Ð2ôC
ô #×)Ñ)ØØ&�—	‘	×&Ñ&Ø#¤X§\¡\ðÜ4EÀqÈ!ÀfÈbÓ4Qòð ôð ô �1�kÔ"¤w¨q°+Ô'>Üœt A§K¡K°!·+±+Ñ$=Ó>Ó?Ð?àrW   c           
      óx  — t        |t        «      rMt        j                  | |j                  j                  dt
        j                  gt        |gi «      ¢­Ž d ¬«      S t        |t        «      r|j                  }t        |t        t        f«      r+t        j                  t        |j                  «      dk(  «      S y )Nrâ   r  r   )r[   rE   r  rä   rå   rw   rz   r-   r9   Údv_dictr?   r7   r4   rm   rè   r
  s      rU   Ú	call_not_zBuiltinVariable.call_not_¨  sœ   € Ü�aœÔ)Ü"×)Ñ)ØØ&�—	‘	×&Ñ&Ø#¤X§]¡]ðÜ5FÈÀsÈBÓ5Oòð ôð ô �aÔ)Ô*Ø—	‘	ˆAÜ�aœ,Ô(9Ð:Ô;Ü#×*Ñ*¬3¨q¯w©w«<¸1Ñ+<Ó=Ð=àrW   r×   rØ   c                 ó,   — |j                  |d|gi «      S )NÚ__contains__rÛ   r¡  s       rU   Úcall_containszBuiltinVariable.call_containsº  s   € ð �}‰}˜R °!°°bÓ9Ð9rW   )r¬   N)rX  ztorch._dynamo.codegen.PyCodegenr  )r\  zlist[VariableTracker]rE  rÒ  r¬   r2   )rÖ   rJ   rb  r2   rZ   )hr  rT  Ú__qualname__Ú__doc__r!  Ú	_SENTINELr2   Ú_nonvar_fieldsÚclassmethodrV   Ústaticmethodr  Ú	lru_cacherž   r¢   r«   rã  r   rä  ræ  rt   rÉ   r4  r>  r@  rD  rK  rÿ   rP  rY  r]  rc  rg  ro  rs  ru  r\   rf   r®  r­  rÑ  r   Ú__annotations__râ   rÕ   rö  Úcall_intÚ
call_floatrÿ  r  r  r  Úcall_minÚcall_maxr$  r)  r,  r0  r7  r5  r=  r?  rG  rI  rL  rP  Ú
call_tupleÚ	call_listrS  rU  rY  rW  rç  rg  rm  rq  rt  rw  r˜  rž  r¢  r¦  rª  r®  r±  rÒ  rò  rõ  rÿ  r  r  r  r  r  r  r"  r  r(  Ú	call_iandr*  Úcall_iorr-  r0  Ú__classcell__)rþ   s   @rU   rL   rL   }   s·  ø… ññ “€Iàðà	×	'Ñ	'ð€Nð
 ñ)ó ð)ð Ø€Y×Ñ˜Óñ?ó ó ð?òB:ð Ø€Y×Ñ˜Óñ*ó ó ð*ðX Ø€Y×Ñ˜Óð#�TØ��f�Ñ˜u T¨#¡Y°¸¸f¸Ñ0EÐ%EÑFÐFñò #ó ó ð#ðJ Ø€Y×Ñ˜ÓñBó ó ðBðH ñ	ó ð	ò5õð4˜#ó 4òô"óJò1òòò3ð ñ
ó ð
ò

ð
 ðh  T¨$¡Zð h ¸Tò h ó ðh óTHðV 	ð   Øˆf�cˆkÑØà'Ø˜Ñ)Ø�S˜/Ð)Ñ*ðð
 ðñ	
ð	ñ
"ó 
ð)à#ð)ð Ð(Ñ)ð)ð -ð	)ð
 
ó)ð(\;ð &ð	\;ð
 -ð\;ð 
õ\;ó|ð* €HØ €Jó%UóN4óYóa+ðF €HØ€Hó4ó4óAó<ó	ò
ó
-ó
ð 04ð!Ø)ó!òF
ó
Hóð "€JØ €Ió<ò:NóKð ò
ó ð
ð ð JØ#ò Jó ð JóD5ó4;ó

óDóHóZ6óxOó-ðÐ3ð ¸/ó ó2óQóSð ñjKà#ðjKð ðjKð "ó	jKðXq-à#ðq-ð ðq-ð "ð	q-ð
 óq-ðfQà#ðQð ðQð "ó	Qð:Ð3ð :¸/ó :ð02Ð 7ð 2¸oó 2ð
à#ðð ðð "ó	ó"óRó
7ó22ó'
óR
ó*@ð$ €Ióð& €Hóð$:Ø)ð:Ø.=ð:ØBQ÷:rW   rL   c              #   ó¶   K  — ddl m} |j                  | d«      }	 |j                  | «       d –— |j	                  | «       y # |j	                  | «       w xY w­w)Nr0   )ÚGradModeVariableF)rù  rC  r  ÚenterÚexit)rÖ   rC  Úgmvs      rU   râ  râ  À  sD   è ø€ å"à
×
!Ñ
! " eÓ
,€CðØ�	‰	�"ŒÛà�‰��øˆ�‰��üs   ‚AœA ±AÁAÁA)“Ú
contextlibr  rŒ  rk  Úloggingr]   rw   r’  r�  ÚtypingÚcollectionsr   r   Úcollections.abcr   r   r   r   r	   r+  r
   r   Útorch.utils._python_dispatchr   rù  r   r   r   r“  r   r   r   r   r   r   r   r   Úguardsr   r   Úreplay_recordr   rP   r   r   r   r   r    Úutilsr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Úbaser1   r2   Úconstantr4   Úctx_managerr5   r6   Údictsr7   r8   r9   r:   r;   r<   Úlistsr=   r>   r?   r@   rA   rB   r™   rC   rD   rE   rF   rG   r,  rH   rI   Útorch._dynamo.symbolic_convertrJ   Ú	getLoggerr  r�  r‘   r‚   r’   rƒ   rŒ   r}   rŽ   r   r�   r€   r�   r�   r�   r“   r†   r”   r‡   r‹   rq   r•   rˆ   r—   r‰   r–   rŠ   rÇ  ÚAnyÚ_HandlerCallbackr\   rä  Ú_TrackersTyper©   Úcmp_eqr¨   Úcmp_ner¤   Úcmp_ltr§   Úcmp_ler¥   Úcmp_gtr¦   Úcmp_ger  rL   Úcontextmanagerrâ  rB  rW   rU   ú<module>ra     s[  ðó Û Û Û Û Û Û Û 
Û Û ß 0ß .ß 1Ñ 1ã ß $Ý Fç +Ñ +÷	÷ 	ó 	÷ 1Ý '÷õ ÷÷ ÷ ÷ ñ ÷" 4Ý &ß 6÷÷ ÷÷ ÷õ ÷ Iñ åDà€g×Ñ˜Ó!€ð ‡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—<‘<ðÐ ð" Ø˜fŸj™j¨&¯*©*Ð5°ÐFñÐ ð �d˜?Ñ+¨U°4¸Ñ3HÈ#Ð3MÑ-NÐNÑO€à‡K‚K�×!Ò!Ø‡K‚K�×!Ò!Ø‡K‚K�×!Ò!Ø‡K‚K�×!Ò!Ø‡K‚K�×!Ò!Ø‡K‚K�×!Ò!ðÐ ô@!:�oô @!:ðFB ×Òñó ñrW   