§
    ž²Åj¯  ã                   ó2  — U 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
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mZmZmZmZmZmZmZmZmZ d dlZd dlZd dlm Z  d dl!m"Z"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z)m*Z*m+Z+ d dl,m-Z-m.Z. d d	l/m0Z0 d d
l1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z: d dl;m<Z<m=Z= d dl>m?Z? d dl@mAZA d dlBmCZC ddlDmEZEmFZFmGZGmHZH ddlImJZJ ddlKmLZLmMZM ddlNmOZOmPZPmQZQ ddlRmSZSmTZTmUZUmVZVmWZW ddlXmYZY ddlZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZm ddlHmnZnmoZompZpmqZq ddlrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZm€Z€m�Z�m‚Z‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z�mŽZŽm�Z� ddl�m‘Z‘m’Z’m“Z“m”Z” ddl•m–Z–m—Z— ddl˜m™Z™mšZšm›Z›mœZœm�Z�mžZž ddlŸm Z m¡Z¡m¢Z¢m£Z£m¤Z¤m¥Z¥m¦Z¦ ddl§m¨Z¨m©Z©mªZªm«Z«m¬Z¬ dd l­m®Z®m¯Z¯m°Z°m±Z±m²Z²m³Z³m´Z´ dd!lµm¶Z¶ dd"l·m¸Z¸ dd#l¹mºZº dd$l»m¼Z¼m½Z½m¾Z¾m¿Z¿mÀZÀmÁZÁmÂZÂ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ÎmÏZÏmÐZÐmÑZÑmÒZÒmÓZÓmÔZÔmÕZÕmÖZÖm×Z×mØZØmÙZÙmÚZÚmÛZÛmÜZÜmÝZÝ dd&lÞmßZßmàZàmáZá dd'lâmãZã dd(lämåZå dd)læmçZç dd*lèméZémêZêmëZëmìZìmíZímîZî dd+lmïZïmðZð dd,lñmòZòmóZómôZômõZõ dd-löm÷Z÷møZømùZùmúZúmûZûmüZü 	 d dlýZþn# eÿ$ r dZþY nw xY wer	d d.�l �m�Z  e	�j        �e¦  «        �Ze�j        �                     �ed/¦  «        �Ze�Zd0„ �Z	 G d1„ d2¦  «        �Z
e�j         G d3„ d4¦  «        ¦   «         �Z G d5„ d6�e¦  «        �Z �ed7„  �ee¦  «        �                     ¦   «         D ¦   «         ¦  «        �Ze�e         �ed8<    �e¦   «         �Ze�e         �ed9<    G d:„ d;¦  «        �Zd<„ �Zd=„ �Z	 dRd>e“fd?„�Zd@„ �Z	 dRdA„�Z	 dSdB„�Z	 dRdC„�ZdD„ �ZdE„ �Ze�j         G dF„ dG¦  «        ¦   «         �Z 	 dTd>e:fdI„�Z!ddJœdKeek         dL�e"fdM„�Z# G dN„ dO¦  «        �Z$�e$� %                    ¦   «         �e$�_&         G dP„ dQ¦  «        �Z'dS )Ué    N)ÚAnyÚCallableÚDictÚ	FrozenSetÚListÚMutableMappingÚ
NamedTupleÚOptionalÚSetÚTYPE_CHECKINGÚUnion)ÚSymInt)ÚGuardSourceÚTracingContext)Úcall_torchbind)ÚHigherOrderOperator)Ú
FakeTensorÚis_fakeÚmaybe_get_fake_mode)Úis_sparse_anyÚ	safe_grad)Újustknobs_check)ÚBackwardState)Ú_constrain_range_for_sizeÚ_nested_int_aware_sortÚ
DimDynamicÚRelaxedUnspecConstraintÚStatefulSymbolicContextÚSubclassSymbolicContextÚSymbolicContext)Úimmutable_dictÚimmutable_list)Úis_traceable_wrapper_subclass)ÚValueRanges)ÚTensorWeakRefé   )ÚconfigÚmutation_guardÚreplay_recordÚtrace_rules)Ú get_registered_device_interfaces)ÚInternalTorchDynamoErrorÚunimplemented)ÚGuardBuilderÚinstall_guardÚmake_dupe_guard)Úauto_dynamicÚ
auto_unsetÚFrameStateSizeEntryÚInferStrideÚprocess_automatic_dynamic)ÚSideEffects)ÚAttrProxySourceÚ
AttrSourceÚCallMethodItemSourceÚConstantSourceÚConstDictKeySourceÚConvertIntSourceÚFloatTensorSourceÚGetItemSourceÚ
GradSourceÚis_constant_sourceÚis_from_defaultsÚis_from_optimizer_sourceÚLocalSourceÚNumpyTensorSourceÚOptimizerSourceÚRandomValueSourceÚSourceÚSubclassAttrListSourceÚTupleIteratorGetItemSource)Úis_callable_allowedÚis_numpyÚis_numpy_dtypeÚis_numpy_type_info)Ú_extract_tensor_dictÚbuild_checkpoint_variableÚbuild_invoke_subgraph_variableÚclone_inputÚcommon_constant_typesÚget_fake_valueÚget_locals_to_stealÚget_static_address_typeÚis_frozen_dataclassÚis_function_or_wrapperÚis_invoke_subgraphÚis_lru_cache_wrapped_functionÚis_namedtupleÚis_parameter_freezingÚ	is_typingÚis_utils_checkpointÚis_wrapper_or_member_descriptorÚistypeÚnamedtuple_fieldsÚodict_valuesÚproxy_args_kwargsÚrange_iteratorÚset_example_valueÚtensor_always_has_static_shapeÚtuple_iteratorÚtuple_iterator_getitemÚtuple_iterator_lenÚ unwrap_with_attr_name_if_wrapperÚwrap_fake_exceptioné   )ÚtypestrÚValueMutationNewÚVariableTrackerÚVariableTrackerMeta)ÚConstantVariableÚEnumVariable)ÚAutocastModeVariableÚEventVariableÚNullContextVariableÚPreserveVersionContextVariableÚStreamContextVariableÚStreamVariable)ÚConstDictVariableÚCustomizedDictVariableÚDefaultDictVariableÚFrozensetVariableÚHFPretrainedConfigVariableÚPythonSysModulesVariableÚSetVariable)ÚDeviceMeshVariableÚPlacementClassVariableÚPlacementVariableÚProcessGroupVariableÚWorldMetaClassVariable)Ú!CollectiveFunctionRewriteVariableÚCreateTMADescriptorVariableÚFunctoolsPartialVariableÚTritonKernelVariableÚUserFunctionVariableÚUserMethodVariableÚWrapperUserFunctionVariable)Ú TorchHigherOrderOperatorVariable)ÚItertoolsVariable)ÚLazyVariableTracker)
ÚBaseListVariableÚListIteratorVariableÚListVariableÚNamedTupleVariableÚRangeVariableÚRestrictedListSubclassVariableÚSizeVariableÚSliceVariableÚTupleIteratorVariableÚTupleVariable)ÚAutogradEngineVariableÚAutogradFunctionContextVariableÚAutogradFunctionVariableÚComptimeVariableÚDebuggingVariableÚDelayGraphBreakVariableÚGetAttrVariableÚGetSetDescriptorVariableÚInspectSignatureVariableÚLambdaVariableÚLoggingLoggerVariableÚMethodWrapperVariableÚNumpyDTypeVariableÚNumpyTypeInfoVariableÚNumpyVariableÚPythonModuleVariableÚRandomClassVariableÚRandomVariableÚRegexPatternVariableÚSavedTensorBoxÚTorchVersionVariableÚTypingVariableÚWeakRefVariable)ÚFSDPManagedNNModuleVariableÚ$UnspecializedBuiltinNNModuleVariableÚUnspecializedNNModuleVariable)ÚOptimizerVariable)ÚTorchScriptObjectVariable©ÚSDPAParamsVariable)ÚNumpyNdarrayVariableÚ$supported_const_comparison_op_valuesÚSymNodeVariableÚTensorSubclassVariableÚTensorVariableÚUnspecializedPythonVariable)ÚTorchCtxManagerClassVariableÚTorchInGraphFunctionVariable)Úbuild_torch_function_fnÚTensorWithTFOverrideVariableÚ#torch_function_mode_stack_state_mgrÚTorchFunctionModeVariable)ÚFrozenDataClassVariableÚKeyedJaggedTensorVariableÚMutableMappingVariableÚSourcelessGraphModuleVariableÚUserDefinedClassVariableÚUserDefinedObjectVariable)ÚInstructionTranslatorÚcudagraph_static_inputsc                 ó¦   — t          j        ¦   «         5  t          j        dd¦  «         t          | d¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NÚignorezThe .grad attribute of a TensorÚgrad)ÚwarningsÚcatch_warningsÚfilterwarningsÚhasattr)Úts    úPC:\Projects\Historical\venv\Lib\site-packages\torch/_dynamo/variables/builder.pyÚsafe_has_gradrÓ     s–   € Ý	Ô	 Ñ	"Ô	"ð "ð "ÝÔ Ð*KÑLÔLÐLÝ�q˜&Ñ!Ô!ð"ð "ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ”%AÁA
ÁA
c                   ó   — e Zd ZdS )Ú_missingN©Ú__name__Ú
__module__Ú__qualname__© ó    rÒ   rÕ   rÕ     s   € € € € € Ø€DrÛ   rÕ   c                   óÜ   — e Zd ZU eed<   eeej        f         ed<   e	ed<   e
ej        j        j                 ed<   dZe	ed<   dZe
ej                 ed<   ed	„ ¦   «         Zd
„ Zd„ Zd„ Zd„ ZdS )ÚGraphArgÚsourceÚ_exampleÚpass_arg_as_tensorÚfake_tensorTÚ	is_tensorNÚexample_strong_refc                 óx   — t          | j        t          ¦  «        r|                      ¦   «         }|€J ‚|S | j        S ©N)Ú
isinstancerß   r%   )ÚselfÚrs     rÒ   ÚexamplezGraphArg.example/  s9   € å�d”m¥]Ñ3Ô3ð 	!Ø—’‘”ˆAØ�=�=�=ØˆHà”=Ð rÛ   c                 ó¦   — t          | j        t          j        ¦  «        r/t	          | j        ¦  «        | _        t          | j        ¦  «        sJ ‚d S d S rå   )ræ   rß   ÚtorchÚTensorr%   r   rá   ©rç   s    rÒ   Ú__post_init__zGraphArg.__post_init__8  sP   € Ý�d”m¥U¤\Ñ2Ô2ð 	-Ý)¨$¬-Ñ8Ô8ˆDŒMÝ˜4Ô+Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-à,Ð,rÛ   c                 ó:   — | j                              |¦  «         d S rå   )rÞ   Úreconstruct©rç   Úcodegens     rÒ   rð   zGraphArg.reconstruct=  s   € ØŒ×Ò Ñ(Ô(Ð(Ð(Ð(rÛ   c                 ó"   — d | _         d | _        d S rå   )rß   rã   rí   s    rÒ   ÚerasezGraphArg.erase@  s   € ØˆŒØ"&ˆÔÐÐrÛ   c                 ój   — | j                              ¦   «         |j                              ¦   «         k    S rå   )rÞ   Úname©rç   Úothers     rÒ   Ú__eq__zGraphArg.__eq__D  s)   € ØŒ{×ÒÑ!Ô! U¤\×%6Ò%6Ñ%8Ô%8Ò8Ð8rÛ   )r×   rØ   rÙ   rG   Ú__annotations__r   r%   rë   r   Úboolr
   Ú_subclassesrá   r   râ   rã   rì   Úpropertyré   rî   rð   rô   rù   rÚ   rÛ   rÒ   rÝ   rÝ     sâ   € € € € € € à€N€N�Nð �M 5¤<Ð/Ô0Ð0Ð0Ñ0ð" ÐÐÑØ˜%Ô+Ô7ÔBÔCÐCÐCÑCð €IˆtÐÐÑð 26Ð˜ ¤Ô.Ð5Ð5Ñ5àð!ð !ñ „Xð!ð-ð -ð -ð
)ð )ð )ð'ð 'ð 'ð9ð 9ð 9ð 9ð 9rÛ   rÝ   c                   ó&   ‡ — e Zd Zdˆ fd„Zd„ Zˆ xZS )ÚBackwardStateGraphArgÚreturnNc                 ól   •— t          ¦   «                              d t          ¦   «         dd d¬¦  «         d S )NF)rÞ   rß   rà   rá   râ   )ÚsuperÚ__init__r   )rç   Ú	__class__s    €rÒ   r  zBackwardStateGraphArg.__init__I  sA   ø€ Ý‰Œ×ÒØÝ"‘_”_Ø$ØØð 	ñ 	
ô 	
ð 	
ð 	
ð 	
rÛ   c                 óú   ‡— ‰j         j        j        sJ ‚‰                     ˆfd„¦  «         ‰                     dd¦  «         ‰                     ¦   «          ‰                     ‰j         j        j        ¦  «         d S )Nc                  óD   •— ‰                       t          j        d¦  «        S )Nr   )Úload_import_fromr   rØ   )rò   s   €rÒ   ú<lambda>z3BackwardStateGraphArg.reconstruct.<locals>.<lambda>U  s   ø€ �G×,Ò,­]Ô-EÀÑWÔW€ rÛ   r   F)ÚtxÚoutputÚbackward_state_varÚadd_push_nullÚcall_functionÚdup_topÚstorerñ   s    `rÒ   rð   z!BackwardStateGraphArg.reconstructR  sƒ   ø€ ØŒzÔ Ô3Ð3Ð3Ð3Ø×ÒØWÐWÐWÐWñ	
ô 	
ð 	
ð 	×Ò˜a Ñ'Ô'Ð'Ø�ŠÑÔÐØ�Š�g”jÔ'Ô:Ñ;Ô;Ð;Ð;Ð;rÛ   ©r   N)r×   rØ   rÙ   r  rð   Ú__classcell__©r  s   @rÒ   rÿ   rÿ   H  sL   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð<ð <ð <ð <ð <ð <ð <rÛ   rÿ   c              #   óŒ   K  — | ]?\  }}|                      d ¦  «        °t          j        |¦  «        ¯.t          |¦  «        V — Œ@dS )Ú_N)Ú
startswithÚinspectÚisclassÚid)Ú.0rö   Úmembers      rÒ   ú	<genexpr>r  ^  sf   è è € ð /ð /áˆˆfØ�?Š?˜3ÑÔð/õ %,¤O°FÑ$;Ô$;ð/Ý€v�J„Jð/ð /ð /ð /ð /ð /rÛ   ÚITERTOOLS_TYPE_IDSÚITERTOOLS_POLYFILLED_TYPE_IDSc                   ól  ‡ — e Zd ZdZdeddfˆ fd„Zd„ Zd„ Ze e	j
        d¦  «        d„ ¦   «         ¦   «         Zd	„ Zd
„ Zed„ ¦   «         Ze e	j
        d¦  «        d„ ¦   «         ¦   «         Zdej        fd„Zdej        fd„Zd„ Zd„ Ze e	j
        d¦  «        deeed egef         f         fd„¦   «         ¦   «         Zd„ Zdefd„Z de!e"e#e$e%f         fd„Z&de'fd„Z(de)fd„Z*de!e+e,f         fd„Z-de.j/        de0fd„Z1de.j2        j3        fd„Z4d„ Z5de.j/        fd„Z6de.j/        fd„Z7d„ Z8d „ Z9d!„ Z:d"„ Z;ˆ xZ<S )#ÚVariableBuilderz3Wrap a python value in a VariableTracker() instancerÞ   r   Nc                 óè   •— |€
J d¦   «         ‚t          j        ¦   «         €
J d¦   «         ‚t          ¦   «                              ¦   «          || _        || _        |                     ¦   «         | _        d S )NzRConsider SourcelessBuilder for ephemeral objects, usually objects created locally.zExpected active TracingContext)r   Útry_getr  r  r	  rÞ   rö   )rç   r	  rÞ   r  s      €rÒ   r  zVariableBuilder.__init__j  sq   ø€ ð ÐÐØ_ñ ÔÐåÔ%Ñ'Ô'Ð3Ð3Ð5UÑ3Ô3Ð3Ý‰Œ×ÒÑÔÐØˆŒØˆŒØ—K’K‘M”MˆŒ	ˆ	ˆ	rÛ   c                 ól  — || j         j        j        v rJ| j         j        j        |         }t          | j        |j        ¦  «        }|r|                      |¦  «         |S | j         j        j                             || j        ¦  «        }|r|S |                      |¦  «        }| j        |_        |  	                    |¦  «        rG|| j         j        j        vr4t          |¦  «        s%| j         j        j                             ||¦  «        }| j         j        j                             || j        |¦  «         |S rå   )r	  r
  Úside_effectsr0   rÞ   Úinstall_guardsÚvariable_tracker_cacheÚlookupÚ_wrapÚ_can_lift_attrs_to_inputsr^   Útrack_object_existingÚadd)rç   ÚvalueÚside_effect_resultÚ	dup_guardÚ	cached_vtÚvts         rÒ   Ú__call__zVariableBuilder.__call__x  s   € Ø�D”G”NÔ/Ð/Ð/Ø!%¤¤Ô!<¸UÔ!CÐÝ'¨¬Ð5GÔ5NÑOÔOˆIØð /Ø×#Ò# IÑ.Ô.Ð.Ø%Ð%à”G”NÔ9×@Ò@ÀÈÌÑTÔTˆ	Øð 	ØÐà�ZŠZ˜ÑÔˆØ”KˆŒ	à×*Ò*¨2Ñ.Ô.ð	Nà˜TœWœ^Ô8Ð8Ð8Ý3°EÑ:Ô:ð 9ð ””Ô,×BÒBÀ5È"ÑMÔMˆBàŒŒÔ-×1Ò1°%¸¼ÀbÑIÔIÐIØˆ	rÛ   c                 óT   — t          |¦  «        t          t          t          t          hv S rå   )Útyperº   r¿   rÇ   r¶   )rç   r/  s     rÒ   r(  z)VariableBuilder._can_lift_attrs_to_inputs�  s&   € Ý�B‰xŒxÝÝ(Ý%Ý ð	
ð 
ð 	
rÛ   c                  ó
   — ddhS )Nr   rk   rÚ   rÚ   rÛ   rÒ   Ú_common_constantsz!VariableBuilder._common_constants˜  s   € ð Øð		
ð 		
rÛ   c                 ó   — | j         S rå   ©rÞ   rí   s    rÒ   Ú
get_sourcezVariableBuilder.get_source¦  s
   € ØŒ{ÐrÛ   c                 óÒ   ‡— |                       ¦   «         Št          ‰t          ¦  «        s"‰                     ¦   «         t          j        k    rd S t          ˆfd„|D ¦   «         ddiŽ i S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rÚ   )Ú
make_guard)r  ÚguardrÞ   s     €rÒ   ú
<listcomp>z2VariableBuilder.install_guards.<locals>.<listcomp>°  s'   ø€ ÐEÐEÐE°U˜×)Ò)¨%Ñ0Ô0ÐEÐEÐErÛ   Úskiprk   )r7  ræ   r:   Úguard_sourcer   ÚCONSTANTr/   )rç   ÚguardsrÞ   s     @rÒ   r$  zVariableBuilder.install_guards©  sp   ø€ Ø—’Ñ"Ô"ˆå�v�~Ñ.Ô.ð	à×"Ò"Ñ$Ô$­Ô(<Ò<Ð<à�4ÝÐEÐEÐEÐE¸fÐEÑEÔEÐNÈAÐNÐNÐNØˆ	rÛ   c                 ó@   — |                       t          j        ¦  «        S rå   )Ú_type_dispatch_implr'   Útrace_numpy)Úclss    rÒ   Ú_type_dispatchzVariableBuilder._type_dispatch³  s   € à×&Ò&¥vÔ'9Ñ:Ô:Ð:rÛ   c                 óú  — t           j        t           j        j        t           j        j        t           j        j        j        f| j        ft          t          t          t          j        t           j        f| j        ft           | j        ft$          | j        ft(          t*          f| j        ft          t.          ¦  «        | j        ft2          j        | j        ft8          j        | j        ft           j        j         j!        | j"        ft           j#        j$        | j%        fg
}|r-tL          r&| '                    tL          j(        | j)        f¦  «         i }|D ]-\  }}tU          |t          ¦  «        r|n|fD ]}||vsJ ‚|||<   ŒŒ.|S rå   )+rë   rì   ÚnnÚ	Parameterrü   r   Úfunctional_tensorÚFunctionalTensorÚwrap_tensorÚtupleÚlistra   ÚcollectionsÚdequeÚSizeÚwrap_listlikerf   Úwrap_tuple_iteratorrc   Úwrap_range_iteratorÚsliceÚrangeÚwrap_slice_rangerR   Úwrap_literalÚreÚPatternÚwrap_regex_patternÚweakrefÚReferenceTypeÚwrap_weakrefÚutilsÚhooksÚRemovableHandleÚwrap_removable_handleÚjitÚScriptFunctionÚwrap_jit_functionÚnpÚappendÚndarrayÚwrap_numpy_ndarrayræ   )rD  rC  ÚentriesÚresultÚtsÚfnrÑ   s          rÒ   rB  z#VariableBuilder._type_dispatch_impl·  sf  € õ ”LÝ”HÔ&ÝÔ%Ô0ÝÔ%Ô7ÔHð	ð ”ðõ ��l­KÔ,=½u¼zÐJØÔ!ðõ ˜SÔ4Ð5Ý˜SÔ4Ð5Ý•Uˆ^˜SÔ1Ð2ÝÕ(Ñ)Ô)¨3Ô+;Ð<ÝŒZ˜Ô/Ð0ÝÔ" CÔ$4Ð5ÝŒ[ÔÔ.°Ô0IÐJÝŒYÔ% sÔ'<Ð=ð+
ˆð0 ð 	A�2ð 	AØ�NŠN�BœJ¨Ô(>Ð?Ñ@Ô@Ð@àˆØð 	ð 	‰FˆB�Ý% b­%Ñ0Ô0Ð;�R�R°r°eð ð �Ø ����Ø��q‘	�	ðð ˆrÛ   r+  c                 ó^   — |                       t          j        ¦  «         t          |¦  «        S rå   )r$  r.   ÚID_MATCHrª   ©rç   r+  s     rÒ   rZ  z"VariableBuilder.wrap_regex_patternÞ  s'   € à×Ò�LÔ1Ñ2Ô2Ð2Ý# EÑ*Ô*Ð*rÛ   c                 ó‚   — |                       t          j        ¦  «         t          j        | j        || j        ¬¦  «        S ©Nr6  )r$  r.   Ú
TYPE_MATCHr®   Úbuildr	  rÞ   ro  s     rÒ   r]  zVariableBuilder.wrap_weakrefã  s5   € Ø×Ò�LÔ3Ñ4Ô4Ð4ÝÔ$ T¤W¨e¸D¼KÐHÑHÔHÐHrÛ   c                 ó$   — t          d¦  «         d S )Nz"unregistered hook removable handle)r-   ro  s     rÒ   ra  z%VariableBuilder.wrap_removable_handleç  s   € õ
 	Ð:Ñ;Ô;Ð;Ð;Ð;rÛ   c                 ón   — |                       t          j        ¦  «         t          |d| j        ¬¦  «        S )NÚ_torchdynamo_inliner6  )r$  r.   rr  rŠ   rÞ   ro  s     rÒ   rd  z!VariableBuilder.wrap_jit_functionî  s:   € Ø×Ò�LÔ3Ñ4Ô4Ð4Ý*ØÐ(°´ð
ñ 
ô 
ð 	
rÛ   c                 óþ   — ddl m } t          j        d„ f|d„ ft          j        d„ ft
          j        d„ fg}i }|D ]A\  }}t          |t          t          f¦  «        r|n|fD ]}||vsJ ‚||t          |¦  «        <   ŒŒB|S )Nr&   )Úcomptimec                 óx   — t          t          j        fd| j        i|                      t
          j        ¦  «        ¤ŽS ©NrÞ   )r¡   r    ÚcreaterÞ   r$  r.   ÚCLOSURE_MATCHro  s     rÒ   r  z.VariableBuilder._id_dispatch.<locals>.<lambda>þ  s@   € ¥NÝ,Ô3ð%ð %àœ;ð%ð ×)Ò)­,Ô*DÑEÔEð%ð %€ rÛ   c                 ó   — t          ¦   «         S rå   )r›   ro  s     rÒ   r  z.VariableBuilder._id_dispatch.<locals>.<lambda>  s   € Õ+;Ñ+=Ô+=€ rÛ   c                 ón   — t          t          fd| j        i|                      t          j        ¦  «        ¤ŽS rz  )r¡   Ú_dataclasses_fields_lambdarÞ   r$  r.   ÚFUNCTION_MATCHro  s     rÒ   r  z.VariableBuilder._id_dispatch.<locals>.<lambda>  s=   € ¥NÝ.ð%ð %àœ;ð%ð ×)Ò)­,Ô*EÑFÔFð%ð %€ rÛ   c                 ó   — t          ¦   «         S rå   )r¬   ro  s     rÒ   r  z.VariableBuilder._id_dispatch.<locals>.<lambda>  s   € Õ4HÑ4JÔ4J€ rÛ   )rx  r  Ú	signatureÚdataclassesÚfieldsrë   Ú__version__ræ   rL  rM  r  )rD  rx  ri  rj  rk  rl  rÑ   s          rÒ   Ú_id_dispatchzVariableBuilder._id_dispatchô  sÔ   € ð
 	(Ð'Ð'Ð'Ð'Ð'õ Ô!ðð ðð Ð=Ð=Ð>åÔ"ðð ðõ ÔÐ JÐ JÐKð%
ˆð* ˆØð 	#ð 	#‰FˆB�Ý% b­5µ$¨-Ñ8Ô8ÐC�R�R¸r¸eð #ð #�Ø ����Ø "�•r˜!‘u”u‘�ð#ð ˆrÛ   c                 ó,D  ‡ ‡‡-‡.— ddl m}m}  |¦   «         rddlm} ddlm} n G d„ d¦  «        } G d„ d¦  «        } |¦   «         r	dd	lm}m	} nd
„ }d„ }‰  
                    ¦   «                              t          ‰¦  «        ¦  «        }|� |‰ ‰¦  «        S ‰                      ¦   «                              t          ‰¦  «        ¦  «        }	|	� |	‰ ‰¦  «        S t          ‰¦  «        st!          ‰t"          j        ¦  «        r‰                      ‰¦  «        S t)          ‰¦  «        rn‰                      t,          j        ¦  «         ˆ ˆfd„t1          t          ‰¦  «        ¦  «        D ¦   «         }
t3          |
t          ‰¦  «        ‰ j        ¬¦  «        }|S ‰t6          j        j        j        u r¤‰                      t,          j        ¦  «         ‰ j         j!        j"         #                    ‰ j         $                    ¦   «         ¦  «         ˆ fd„tK          ‰ &                    ¦   «         ¦  «        D ¦   «         }tO          |t          ‰¦  «        ¦  «        S ‰tP          j)        u r4‰                      t,          j*        ¦  «         tW          ‰ j        ¬¦  «        S tY          j-        t          ‰¦  «        ¦  «        rY‰                      t,          j.        ¦  «         tY          j/        ‰ ‰¦  «        }‰ j         j!        j0         1                    ‰|¦  «        S t!          ‰td          tf          j4        tf          j5        f¦  «        �r¦‰                      t,          j        ¦  «         tm          d„ ‰ 7                    ¦   «         D ¦   «         ¦  «        Š-‰-r ‰                      t,          j8        ¦  «         n;‰ j         j!        j"         #                    ‰ j         $                    ¦   «         ¦  «         ˆ-ˆ fd„Š.te          ˆ.fd„tK          ‰ &                    ¦   «         ¦  «        D ¦   «         ¦  «        }t!          ‰tf          j4        ¦  «        r\ts          ‰ j        d¦  «        }tu          |t          ‰¦  «         tw          ‰ j         |¦  «        ‰j<        ¦  «        ‰ j        ¬¦  «        }n$tO          |t          ‰¦  «        ‰ j        ¬¦  «        }‰ j         j!        j0         =                    ‰|¦  «        S t}          ‰t6          j?        j@        ¦  «        r‰  A                    ‰¦  «        S t…          jC        ‰¦  «        r‰  D                    ‰¦  «        S t}          ‰t6          jE        jF        ¦  «        r=t�          ‰‰ j        ¬¦  «        }‰ j         j!        j0         1                    ‰|¦  «         |S t!          ‰t�          ¦  «        r\tm          d„ ‰D ¦   «         ¦  «        rCˆ fd„‰D ¦   «         }‰                      t,          jI        ¦  «         t•          |‰ j        ¬¦  «        S t}          ‰t–          jL        ¦  «        r5‰                      t,          jI        ¦  «         t›          ‰‰ j        ¬¦  «        S t�          jO        ‰¦  «        r5‰                      t,          jP        ¦  «         t�          ‰‰ j        ¬¦  «        S t}          ‰t¢          jR        ¦  «        r5‰                      t,          j*        ¦  «         t§          ‰‰ j        ¬¦  «        S t©          ‰¦  «        rt«          ‰ j        ¬¦  «        S t­          ‰¦  «        rt¯          ‰ j        ¬¦  «        S t}          ‰t°          jY        ¦  «        �râts          ‰  Z                    ¦   «         d¦  «        } tw          ‰ j         |¦  «        ‰j[        ¦  «        }g }ts          ‰  Z                    ¦   «         d¦  «        }tK          ‰j\        ¦  «        D ]D\  }}| ]                     tw          ‰ j         t½          ||¦  «        ¦  «        |¦  «        ¦  «         ŒEi }ts          ‰  Z                    ¦   «         d¦  «        }‰j_         &                    ¦   «         D ]W\  }}t…          jC        |¦  «        stÁ          d¦  «          tw          ‰ j         t½          ||¦  «        ¦  «        |¦  «        ||<   ŒXtÃ          ‰  Z                    ¦   «          b                    t,          j.        ¦  «        | b                    t,          jc        ¦  «        | b                    t,          j        ¦  «        ¦  «         tÉ          |||¦  «        S tË          ‰¦  «        r5‰                      t,          jI        ¦  «         tÍ          ‰‰ j        ¬¦  «        S tÎ          �At}          ‰tÎ          jh        ¦  «        r'‰  i                    tÏ          jj        ‰¦  «        ¦  «        S t×          ‰¦  «        rYtÎ          sJ ‚‰                      tÙ          ‰¦  «        rt,          j*        nt,          j.        ¦  «         tÛ          ‰‰ j        ¬¦  «        S tÝ          ‰¦  «        r5‰                      t,          jI        ¦  «         tß          ‰‰ j        ¬¦  «        S tá          ‰¦  «        r°t}          ‰tÎ          jq        ¦  «        ra‰                      t,          j.        ¦  «         ts          ‰ j        d¦  «        }tÃ          | b                    t,          jI        ¦  «        ¦  «         n‰                      t,          jI        ¦  «         tå          ‰‰ j        ¬¦  «        S tç          jt        ‰¦  «        r@‰                      t,          j*        ¦  «         tç          ju        ‰ j         ‰‰ j        ¬¦  «        S t!          ‰t6          jv        jw        jx        ¦  «        r5‰                      t,          j*        ¦  «         tó          ‰‰ j        ¬¦  «        S t}          ‰t6          jv        jw        jz        ¦  «        �rBd }	 ‰j{        }n# tø          $ r Y nw xY wg }‰ j         b                    t,          j.        ¦  «        g}t}          |tú          ¦  «        r›ts          ‰ j        d¦  «        }| ]                    | b                    t,          j        ¦  «        ¦  «         tK          |¦  «        D ]D\  }}| ]                     tw          ‰ j         t½          ||¦  «        ¦  «        |¦  «        ¦  «         ŒEtÃ          |Ž  ‰ j         j!        j0         1                    ‰tý          ‰‰ j        tÿ          |¦  «        ¬¦  «        ¦  «        S t}          ‰�t           j�        ¦  «        r½t!          �t          ‰d d ¦  «        t6          jv        jw        jx        ¦  «        r‰�t          ‰d!d"¦  «        d#k    rs‰�t          ‰jƒ        d#d ¦  «        k    rX‰                      t,          j*        ¦  «         �t	          tó          ‰jƒ        ts          ‰ j        d ¬$¦  «        ¬¦  «        d#¦  «        S t}          ‰t6          j…        j†        ¦  «        r6‰                      t,          jI        ¦  «         �t          ‰‰ j        ¬¦  «        S ‰t6          jˆ        j‰        jŠ        j‹        u r2‰                      t,          j*        ¦  «         �t          ˆ fd%„¦  «        S tÙ          ‰¦  «        re�t          jŽ        ‰¦  «        �P�t          ‰¦  «        rd&‰ j         j!        _�        �t          jŽ        ‰¦  «         ‘                    ‰‰ j        ¬¦  «        S tÎ          r/t}          ‰tÎ          j’        ¦  «        r‰  “                    ‰¦  «        S �t)          j•        ‰¦  «        r/‰                      t,          j.        ¦  «         �t)          ‰¦  «        S t}          ‰�t,          ¦  «        rh‰t6          j—        j˜        u rtÁ          d'¦  «         ‰                      t,          j.        t,          j™        ¦  «         �t5          j›        ‰‰ j        ¬¦  «        S t}          ‰t6          jœ        j�        ¦  «        rr‰                      t,          jI        ¦  «         ts          ‰ j        d(¦  «        } tw          ‰ j         |¦  «        ‰jž        ¦  «        }�t?          ju        ‰ j         |¦  «        S t}          ‰t6          j         ¦  «        r•‰                      t,          jI        ¦  «         ‰ j         j!         ¡                    d)t          ‰¦  «        d*‰j¢        ‰j£        ‰j¤        d+œ¦  «        } �tK          | j¦        ‰¦  «         �tO          | ‰‰j¨        ‰ j        ¬¦  «        S t}          ‰t6          j…        j©        ¦  «        r@‰                      t,          j.        ¦  «         �tU          ju        ‰ j         ‰‰ j        ¦  «        S t}          ‰t6          j«        ¦  «        rµ‰                      t,          jI        ¦  «         t6          jˆ        j         ¬                    ‰¦  «         ‰ j         j!         ¡                    d)t6          jˆ        j        j­        t          ‰¦  «        fi ¦  «        }!�tK          |!j¦        ‰¦  «         �t]          |!‰‰ j        ¬¦  «        S t}          ‰t6          j…        j¯        ¦  «        r%‰t"          j        v r�ta          ‰‰ j        ¬¦  «        S t!          ‰�tb          j²        ¦  «        rL�tg          j´        ‰d,d ¦  «        €5‰                      t,          j.        ¦  «         �tk          ‰ j        ¬¦  «        S �tm          j•        ‰¦  «        r[‰                      t,          j.        ¦  «         �tm          ‰‰ j        ¬¦  «        }‰ j         j!        j0         1                    ‰|¦  «        S t}          ‰t6          j·        j¸        ¦  «        rP‰                      t,          jI        ¦  «         �ts          ‰ j        ¦  «        ‰ _        �tu          ‰‰ j        ¬¦  «        S �tw          j¼        ‰¦  «        r�tw          ‰‰ j        ¬¦  «        S �t{          j¾        ‰¦  «        r6‰                      t,          jI        ¦  «         �t{          ‰‰ j        ¬¦  «        S �t          jÀ        ‰¦  «        r6‰                      t,          jÁ        ¦  «         �t          ‰‰ j        ¬¦  «        S �t…          jÃ        ‰¦  «        r6‰                      t,          jI        ¦  «         �t…          ‰‰ j        ¬¦  «        S �t‰          jÅ        ‰¦  «        r6‰                      t,          jÁ        ¦  «         �t‰          ‰‰ j        ¬¦  «        S t          ‰¦  «        �tŒ          v rMt          ‰¦  «        �tŽ          vr6‰                      t,          j*        ¦  «         �t‘          ‰‰ j        ¬¦  «        S t}          ‰t6          jÉ        ¦  «        �rš�t•          ‰ j        ¦  «        }"‰j¦         Ë                    ¦   «         rZ‰j¦         Ì                    ¦   «         }#‰ j         j!        jÍ         Î                    �tŸ          |#¦  «        |"�t           jÑ        ¬-¦  «        }$n#‰ j         j!        jÍ         Ò                    ¦   «         }$‰ j         j!        jÓ         Ô                    �t«          jÖ        d.d/‰ j$        ¦  «        t          |$¦  «        |$|"¬¦  «        }%�t¯          |"|$d0d d0|$¬1¦  «        |%j¦        jØ        d2<   |$j¦        jÙ        }&t}          |&�t´          jÛ        ¦  «        sJ |&› d3�¦   «         ‚‰ j         j!        jÜ         ]                    �t»          |$|"d ¦  «        ¦  «         �t½          |%|$d4k    ¦  «        S t}          ‰||f¦  «        r8‰                      t,          jI        ¦  «         �t¿          ‰d d ‰ j        ¬¦  «        S ‰|u r�tÁ          d4¬5¦  «        S ‰|u r�tÁ          d6¬5¦  «        S t}          ‰t6          já        jâ        jã        ¦  «        rN‰                      t,          jI        ¦  «         �tÉ          ‰j¨        ‰jå        ‰jæ        ‰jç        g‰ j        ¬7¦  «        S �tÑ          jé        ‰¦  «        r6‰                      t,          j*        ¦  «         �tÑ          ‰‰ j        ¬¦  «        S �tg          j´        ‰d8d0¦  «        r7‰                      t,          j.        ¦  «         �tÕ          ‰d9‰ j        ¬¦  «        S �t×          ‰¦  «        r7‰                      t,          j.        ¦  «         �tÕ          ‰d:‰ j        ¬¦  «        S �tÙ          ‰¦  «        rN�tg          j´        ‰d;d0¦  «        r7‰                      t,          j.        ¦  «         �tÕ          ‰d;‰ j        ¬¦  «        S �tÙ          ‰¦  «        r^�tÛ          ‰¦  «        \  Š}'|'�ts          ‰ j        |'¦  «        ‰ _        �t          jî        ‰¦  «         ‘                    ‰‰ j        ¬¦  «        S ‰�tÞ          jð        u r5‰                      t,          jI        ¦  «         �tã          ‰ j        ¬¦  «        S t!          ‰�tÞ          jð        ¦  «        rr�tå          jó        ‰¦  «        r]‰                      t,          j.        ¦  «         �tå          ‰‰ j        ¬¦  «        }‰ j         j!        j0         =                    ‰|¦  «         |S t}          ‰�t           jô        �tê          jö        f¦  «        r]‰                      t,          j*        ¦  «         �tï          ‰‰ j        ¬¦  «        }‰ j         j!        j0         1                    ‰|¦  «         |S t}          ‰�t           j�        ¦  «        rÏt}          ‰jƒ        t6          j?        j@        t6          j        j        jø        f¦  «        r• tw          ‰ j         ts          ‰ j        d ¦  «        ¬¦  «        ‰jƒ        ¦  «        }(|(rt}          |(�tò          ¦  «        s
J d<¦   «         ‚‰                      t,          j*        ¦  «         �tõ          ‰jû        |(‰ j        ¬¦  «        S t}          ‰�t           jü        ¦  «        r�tû          ‰¦  «        S t}          ‰�t           jþ        ¦  «        r�tÿ          ‰¦  «        S �t          t          ‰¦  «        t          ¦  «        rð‰t6          j        �j        �j        t6          j?        �j        t6          j?        �j        fv r/�t          jî        ‰¦  «         ‘                    ‰‰ j        ¬¦  «        S ‰t6          jv        �j        u r:‰                      t,          j*        ¦  «         �t          �j        ‰ j         ¦  «        S ‰                      t,          jI        ¦  «         �t          ‰‰ j        ¬¦  «        S �t          jé        t          ‰¦  «        ¦  «        r¤‰                      t,          j        ¦  «         ‰ j         j!        j0         =                    ‰�t          ˆ ˆfd=„�t          �t          ‰¦  «        ¦  «        D ¦   «         t          ‰¦  «        ts          ‰ j        d>¦  «        ‰ j        ¬?¦  «        ¦  «        S �t          jé        t          ‰¦  «        ¦  «        �ryd6d@l�m})�m}* t6          �j        �j        �                     ‰¦  «        r˜‰ j         j!        jÓ         Ô                    �t«          jÖ        d.d/‰ j$        ¦  «        t          ‰¦  «        ‰‰ j        ¬¦  «        }+�t¯          ‰ j        ‰d0d d0‰¦  «        |+j¦        jØ        d2<   �t          ju        |+‰‰ j        ¬¦  «        S �t%          ‰dA¦  «        s‰ �                     ‰¦  «        S �t)          �j         tw          ‰ j          |*‰ j        ¦  «        ¦  «        ‰�                     ¦   «         �                     ¦   «         ¦  «        ¦  «         �t)          �j         tw          ‰ j          |)‰ j        ¦  «        ¦  «        ‰�                     ¦   «         ¦  «        ¦  «         t6          �j        �j        �                     ‰ j         j!        �j        ‰¦  «        },‰ j         j!        jÓ         Ô                    �t«          jÖ        d.d/‰ j$        ¦  «        t          ‰¦  «        |,‰ j        ¬¦  «        }+�t¯          ‰ j        ‰d0d d0|,¦  «        |+j¦        jØ        d2<   �t          ju        |+|,‰ j        ¬¦  «        S �t          t          ‰¦  «        �t6          ¦  «        r6‰                      t,          j.        ¦  «         �t9          ‰‰ j        ¬¦  «        S �t;          ‰¦  «        rf‰                      t,          j.        ¦  «         �t=          ju        ‰ j         ‰‰ j        ¬¦  «        }‰ j         j!        j0         1                    ‰|¦  «        S ‰ �                     ‰¦  «        S )BNr   )Ú
has_tritonÚhas_triton_tma)Ú	Autotuner)ÚJITFunctionc                   ó   — e Zd ZdS )ú*VariableBuilder._wrap.<locals>.JITFunctionNrÖ   rÚ   rÛ   rÒ   r‹  r�  !  ó   € € € € € Ø�rÛ   r‹  c                   ó   — e Zd ZdS )ú(VariableBuilder._wrap.<locals>.AutotunerNrÖ   rÚ   rÛ   rÒ   rŠ  r�  $  rŽ  rÛ   rŠ  )Úcreate_1d_tma_descriptorÚcreate_2d_tma_descriptorc                  ó   — d S rå   rÚ   rÚ   rÛ   rÒ   r‘  z7VariableBuilder._wrap.<locals>.create_1d_tma_descriptor.  ó   € Ø�rÛ   c                  ó   — d S rå   rÚ   rÚ   rÛ   rÒ   r’  z7VariableBuilder._wrap.<locals>.create_2d_tma_descriptor1  r”  rÛ   c           	      ó~   •— g | ]9}t          j        t          ‰|¦  «        t          ‰j        |¦  «        ¬ ¦  «        ‘Œ:S ©r6  )r�   r{  Úgetattrr8   rÞ   )r  rö   rç   r+  s     €€rÒ   r<  z)VariableBuilder._wrap.<locals>.<listcomp>E  sY   ø€ ð ð ð ð
 õ	 $Ô*Ý˜E 4Ñ(Ô(Ý% d¤k°4Ñ8Ô8ðñ ô ðð ð rÛ   )Ú	tuple_clsrÞ   c                 óÚ   •— i | ]g\  }\  }}t          |¦  «        t          |t          ‰                     ¦   «         t	          ‰                     ¦   «         |¦  «        ¦  «        ¬ ¦  «        “ŒhS r—  )r­   rÇ   r>   r7  r;   )r  ÚiÚkÚvrç   s       €rÒ   ú
<dictcomp>z)VariableBuilder._wrap.<locals>.<dictcomp>X  s‚   ø€ ð ð ð ñ �A‘v˜˜1õ ˜qÑ!Ô!Õ#<ØÝ(ØŸšÑ)Ô)Õ+=¸d¿oºoÑ>OÔ>OÐQRÑ+SÔ+Sñô ð$ñ $ô $ðð ð rÛ   r6  c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S rå   ©rp   Ú
is_literal)r  rœ  s     rÒ   r  z(VariableBuilder._wrap.<locals>.<genexpr>m  s.   è è € ÐQÐQ¸qÕ,Ô7¸Ñ:Ô:ÐQÐQÐQÐQÐQÐQrÛ   c                 ó  •— ‰rt          j        |¦  «        }|}n7t          ‰                     ¦   «         | ¦  «        }t	          j        ||¦  «        }t          ‰                     ¦   «         |¦  «        }t	          j        ||¦  «        }||fS rå   )rp   r{  r;   r7  r�   r>   )	r›  rœ  r�  ÚkeyÚ
source_keyÚsource_valuer+  Ú	all_constrç   s	          €€rÒ   Úbuild_key_valuez.VariableBuilder._wrap.<locals>.build_key_value‡  sƒ   ø€ Øð DÝ*Ô1°!Ñ4Ô4�CØ!"�J�Jå!3°D·O²OÑ4EÔ4EÀqÑ!IÔ!I�JÝ-Ô4°Q¸
ÑCÔC�Cå,¨T¯_ª_Ñ->Ô->À
ÑKÔK�Ý+Ô2°1°lÑCÔC�à˜E�zÐ!rÛ   c              3   ó>   •K  — | ]\  }\  }} ‰|||¦  «        V — Œd S rå   rÚ   )r  r›  rœ  r�  r§  s       €rÒ   r  z(VariableBuilder._wrap.<locals>.<genexpr>”  sJ   øè è € ð ð Ù-6¨Q±°°A��  1 aÑ(Ô(ðð ð ð ð ð rÛ   Údefault_factory)r©  rÞ   )Úuser_clsrÞ   c              3   ó’   K  — | ]B}t          |¦  «        t          j        u r|j        d k    p|t          j        j        j        v V — ŒCdS )rë   N)r2  ÚtypesÚBuiltinMethodTyperØ   rë   r^  Ú_pytreeÚBUILTIN_TYPES©r  Úxs     rÒ   r  z(VariableBuilder._wrap.<locals>.<genexpr>°  si   è è € ð 	.
ð 	.
ð õ �a‘”�EÔ3Ð3ÐO¸¼ÈÒ8Oð 7ð •U”[Ô(Ô6Ð6ð	.
ð 	.
ð 	.
ð 	.
ð 	.
ð 	.
rÛ   c                 óP   •— g | ]"}t                                ‰j        |¦  «        ‘Œ#S rÚ   )ÚSourcelessBuilderr{  r	  )r  r�  rç   s     €rÒ   r<  z)VariableBuilder._wrap.<locals>.<listcomp>¾  s,   ø€ ÐIÐIÐI¸aÕ&×-Ò-¨d¬g°qÑ9Ô9ÐIÐIÐIrÛ   ©r+  rÞ   ÚfuncÚargsÚkeywordsz*functools.partial with non-literal keywordÚdtypeÚsaved_tensors)rÞ   r¹  Ú__self__r×   Ú Úapply)r  c                  óÌ   •— t          t          j        j        j        j        ¦  «                             ‰ j        ‰ j        j        j	         
                    ¦   «         fi ¦  «        S rå   )rˆ   rë   Ú_dynamoÚexternal_utilsÚFakeCompiledAutogradEngineÚexec_final_callbacksr  r	  r
  r#  Úget_ca_final_callbacks_varrí   s   €rÒ   r  z'VariableBuilder._wrap.<locals>.<lambda>L  sS   ø€ Õ,Ý”MÔ0ÔKÔ`ñô ç’-Ø”GØ”W”^Ô0×KÒKÑMÔMÐOØñô ð rÛ   TzHDirectly using invoke_subgraph is not supported. Use mark_compile_regionÚstreamr  rÚ   )Ú	stream_idÚdevice_indexÚdevice_typeÚenter_result)Údynamic_dimú[^a-zA-Z0-9]+r  F)râ   rã   Úgraphargú is not a basic Symbol.rk   )Úrankr&   )Útarget_valuesrÞ   Ú__script_if_tracing_wrapperÚ__original_fnÚ__wrapped__rv  z"Failed to produce a valid self objc           	      ón   •— g | ]1}t          j        ‰|         t          ‰j        |¦  «        ¬ ¦  «        ‘Œ2S )r´  )r�   r{  r>   rÞ   ©r  r›  rç   r+  s     €€rÒ   r<  z)VariableBuilder._wrap.<locals>.<listcomp>z  sR   ø€ ð ð ð ð õ ,Ô2Ø"'¨¤(µ=ÀÄÈaÑ3PÔ3Pðñ ô ðð ð rÛ   r  )rª  Úuser_cls_sourcerÞ   )ÚFlattenScriptObjectSourceÚScriptObjectQualifiedNameSourceÚ__obj_flatten__(  Útorch.utils._tritonrˆ  r‰  Útriton.runtime.autotunerrŠ  Útriton.runtime.jitr‹  Ú$triton.tools.experimental_descriptorr‘  r’  rE  Úgetr2  r†  r  r#   r_   r'   Útraceable_tensor_subclassesrK  rZ   r$  r.   ÚSEQUENCE_LENGTHr`   r‘   rÞ   rë   r^  r®  ÚSUPPORTED_NODESÚDICT_VERSIONr	  r
  Úguard_on_key_orderr*  rö   Ú	enumerateÚitemsrx   ÚsysÚmodulesr€  r}   ry   Úis_matching_cls_hfrr  Úwrapr#  r)  ÚdictrN  ÚdefaultdictÚOrderedDictÚallÚkeysÚDICT_CONST_KEYSr8   rz   r  r©  Útrack_mutableræ   rG  ÚModuleÚwrap_modulerp   r¡  rW  Ú	overridesÚTorchFunctionModerÁ   Ú	frozensetrn  r{   ÚenumÚEnumrq   rœ   Úis_reorderable_logging_functionÚBUILTIN_MATCHÚloggingÚLoggerr¢   r]   rO   rX   rP   Ú	functoolsÚpartialr7  rµ  r¶  rf  r>   r·  r-   r/   r:  Ú	DICT_KEYSr†   r\   r­   re  Úgenericrh  ÚasarrayrK   Úcallabler¦   rL   r¤   rM   Úiinfor¥   r„   Úcan_rewriter{  ÚautogradÚfunctionÚFunctionMetarš   ÚFunctionCtxr¹  ÚRuntimeErrorrL  r™   r«   r¬  Ú
MethodTyper˜  rº  rž   Ú_CÚ_ImperativeEnginer˜   r¾  r¿  rÀ  Ú_exec_final_callbacks_stubr¡   r*   Úlookup_callablerJ   Ú!has_user_defined_allowed_in_graphÚcreate_with_sourceÚnumberÚwrap_unspecialized_primitiver|   Úis_matching_objectr   Ú_higher_order_opsÚinvoke_subgraphÚ
NAME_MATCHr‹   ÚmakeÚcudaÚStreamContextrÃ  rv   ÚStreamÚcreate_proxyrÄ  rÅ  rÆ  rd   Únoderw   ÚdeviceÚ_SDPAParamsrµ   ÚEventÚstore_user_object_weakrefÚget_user_object_from_idrs   Ú_TensorMetar¹   Ú
contextlibÚnullcontextr  Úgetattr_staticrt   rÃ   ÚoptimÚ	OptimizerrE   r²   rƒ   Úis_group_member_typer‚   Úis_process_groupr   Úis_device_meshÚEQUALS_MATCHr€   Úis_placement_typer�   Úis_placementr  r  rŒ   ÚSymBoolr<   Úhas_hintÚrequire_hintÚ	shape_envÚ$create_unspecified_symint_and_symbolÚintr   ÚDYNAMICÚcreate_unbacked_symintÚroot_tracerÚcreate_graph_inputrX  ÚsubrÝ   ÚmetaÚexprÚsympyÚSymbolÚtracked_fakesÚTrackedFaker¸   r‡   r…   ÚampÚautocast_modeÚautocastrr   Ú
fast_dtypeÚ_enabledÚ_cache_enabledr¼   Úis_matching_clsrŠ   rY   rW   ri   r&  ÚrandomÚRandomr¨   r©   Úis_supported_random_objÚ
ModuleTyper)   ÚDummyModuler§   ÚTreeSpecrn   r‰   Ú__func__ÚGetSetDescriptorTyperŸ   ÚMethodWrapperTyper£   Ú
issubclassr_  ÚBackwardHookrH  ÚBufferÚ _unsafe_preserve_version_counterru   ÚconstructorrÆ   r“   rU  Úlenr³   rÔ  rÕ  Ú_libraryÚfake_class_registryÚtracing_with_realrÐ   Úwrap_user_definedr�   Úrealize_allÚ_typeÚqualified_namerÖ  Úmaybe_to_fake_objÚ	fake_moder   rÄ   rV   rÂ   )/rç   r+  rˆ  r‰  rŠ  r‹  r‘  r’  Útype_dispatchÚid_dispatchr
  rj  Úfactory_sourceÚvarrâ  Úfunc_srcÚfunc_objr¶  Úargs_sourcer›  Úargr·  Úkeywords_sourcerœ  r�  Ú	dt_sourceÚactual_saved_tensorsr¹  r@  Úsaved_tensors_sourceÚstream_sourceÚ
stream_varÚstream_proxyÚevent_proxyÚ
new_sourceÚ
value_hintÚ
new_symintÚsym_node_proxyÚsym_exprÚ	attr_nameÚself_objrÔ  rÕ  ÚproxyÚfake_script_objr¦  r§  s/   ``                                           @@rÒ   r'  zVariableBuilder._wrap  sŠ   øøøø€ àBÐBÐBÐBÐBÐBÐBÐBàˆ:‰<Œ<ð 		Ø:Ð:Ð:Ð:Ð:Ð:Ø6Ð6Ð6Ð6Ð6Ð6Ð6ðð ð ð ð ñ ô ð ðð ð ð ð ñ ô ð ð ˆ>ÑÔð 	ðð ð ð ð ð ð ð ð ðð ð ðð ð ð ×+Ò+Ñ-Ô-×1Ò1µ$°u±+´+Ñ>Ô>ˆØÐ$Ø �=  uÑ-Ô-Ð-ð ×'Ò'Ñ)Ô)×-Ò-­b°©i¬iÑ8Ô8ˆØÐ"Ø�;˜t UÑ+Ô+Ð+õ )¨Ñ/Ô/ð T
	1µ6Ø•6Ô5ñ4
ô 4
ð T
	1ð ×#Ò# EÑ*Ô*Ð*Ý˜5Ñ!Ô!ð P
	1Ø×Ò¥Ô <Ñ=Ô=Ð=ðð ð ð ð õ
 .­d°5©k¬kÑ:Ô:ðñ ô ˆFõ (Ø¥$ u¡+¤+°d´kðñ ô ˆFð ˆMØ•e”kÔ)Ô9Ð9Ð9ð ×Ò¥Ô 9Ñ:Ô:Ð:ð ŒGŒNÔ-×1Ò1°$´+×2BÒ2BÑ2DÔ2DÑEÔEÐEðð ð ð õ "+¨5¯;ª;©=¬=Ñ!9Ô!9ðñ ô ˆFõ % V­T°%©[¬[Ñ9Ô9Ð9Ø•c”kÐ!Ð!Ø×Ò¥Ô ;Ñ<Ô<Ð<Ý+°4´;Ð?Ñ?Ô?Ð?Ý#Ô6µt¸E±{´{ÑCÔCð n		1Ø×Ò¥Ô 7Ñ8Ô8Ð8Ý+Ô0°°uÑ=Ô=ˆFØ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ�E�D¥+Ô"9½;Ô;RÐSÑTÔTñ j		1Ø×Ò¥Ô <Ñ=Ô=Ð=õ ÐQÐQÀEÇJÂJÁLÄLÐQÑQÔQÑQÔQˆIØð Jð ×#Ò#¥LÔ$@ÑAÔAÐAÐAð$ ””Ô1×5Ò5°d´k×6FÒ6FÑ6HÔ6HÑIÔIÐIð"ð "ð "ð "ð "ð "õ ð ð ð ð Ý:CÀEÇKÂKÁMÄMÑ:RÔ:Rðñ ô ñ ô ˆFõ �e�[Ô4Ñ5Ô5ð Ý!+¨D¬KÐ9JÑ!KÔ!K�Ý,ØÝ˜‘K”KØ$L¥O°D´G¸^Ñ$LÔ$LØÔ-ñ%ô %ð  œ;ðñ ô ��õ +Ø¥T¨%¡[¤[¸¼ðñ ô �ð ”7”>Ô.×<Ò<¸UÀFÑKÔKÐKÝ˜�uœxœÑ/Ô/ð k	1Ø×#Ò# EÑ*Ô*Ð*ÝÔ(¨Ñ/Ô/ð i	1Ø×$Ò$ UÑ+Ô+Ð+Ý˜�uœÔ@ÑAÔAð g	1Ý+¨E¸$¼+ÐFÑFÔFˆCØŒGŒNÔ'×=Ò=¸eÀSÑIÔIÐIØˆJÝ�E�9Ñ%Ô%ð c	1­#ð 	.
ð 	.
ð ð	.
ñ 	.
ô 	.
ñ 	+
ô 	+
ð c	1ð JÐIÐIÐIÀ5ÐIÑIÔIˆEØ×Ò¥Ô 5Ñ6Ô6Ð6Ý$ U°4´;Ð?Ñ?Ô?Ð?Ý˜�tœyÑ)Ô)ð R	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Ý e°D´KÐ@Ñ@Ô@Ð@ÝÔ>¸uÑEÔEð O	1ð ×Ò¥Ô :Ñ;Ô;Ð;Ý$ U°4´;Ð?Ñ?Ô?Ð?Ý˜�wœ~Ñ.Ô.ð J	1Ø×Ò¥Ô ;Ñ<Ô<Ð<Ý(¨°t´{ÐCÑCÔCÐCÝ  Ñ'Ô'ð G	1Ý,°D´KÐ@Ñ@Ô@Ð@Ý Ñ&Ô&ð E	1Ý1¸¼ÐEÑEÔEÐEÝ˜�yÔ0Ñ1Ô1ñ C	1Ý! $§/¢/Ñ"3Ô"3°VÑ<Ô<ˆHØ9• t¤w°Ñ9Ô9¸%¼*ÑEÔEˆHàˆDÝ$ T§_¢_Ñ%6Ô%6¸Ñ?Ô?ˆKÝ# E¤JÑ/Ô/ð ð ‘��3Ø—’ØK•O D¤G­]¸;ÈÑ-JÔ-JÑKÔKÈCÑPÔPñô ð ð ð ˆHÝ(¨¯ªÑ):Ô):¸JÑGÔGˆOØœ×,Ò,Ñ.Ô.ð ð ‘��1Ý'Ô2°1Ñ5Ô5ð PÝ!Ð"NÑOÔOÐOð�oØ”G�]¨?¸AÑ>Ô>ñô àñô �˜‘�õ Ø—’Ñ!Ô!×,Ò,­\Ô-DÑEÔEØ×*Ò*­<Ô+AÑBÔBØ×&Ò&¥|Ô'CÑDÔDñô ð õ
 ,¨H°d¸HÑEÔEÐEÝ�uÑÔð i	1à×Ò¥Ô 5Ñ6Ô6Ð6Ý!ØØ”{ðñ ô ð õ ˆ^¥
¨5µ"´*Ñ =Ô =ˆ^à×*Ò*­2¬:°eÑ+<Ô+<Ñ=Ô=Ð=Ý�e‰_Œ_ð _	1ÝˆIˆI�2Ø×Òå˜E‘?”?ð-•Ô+Ð+å!Ô,ñô ð õ
 ! ¨t¬{Ð;Ñ;Ô;Ð;Ý˜EÑ"Ô"ð W	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Ý% e°D´KÐ@Ñ@Ô@Ð@Ý Ñ&Ô&ð T	1Ý˜%¥¤Ñ*Ô*ð ;Ø×#Ò#¥LÔ$;Ñ<Ô<Ð<Ý& t¤{°GÑ<Ô<�	Ý˜i×2Ò2µ<Ô3HÑIÔIÑJÔJÐJÐJà×#Ò#¥LÔ$9Ñ:Ô:Ð:Ý(¨°t´{ÐCÑCÔCÐCå.Ô:¸5ÑAÔAð K	1Ø×Ò¥Ô ;Ñ<Ô<Ð<Ý4Ô;Ø”ØØ”{ðñ ô ð õ
 �E�5œ>Ô2Ô?Ñ@Ô@ð D	1Ø×Ò¥Ô ;Ñ<Ô<Ð<Ý+ØØ”{ðñ ô ð õ ˜�uœ~Ô6ÔBÑCÔCñ ~	1Ø#'Ð ðØ',Ô':Ð$Ð$øÝð ð ð Ø�ðøøøð ˆMØ”k×,Ò,­\Ô-DÑEÔEÐFˆFÝÐ.µÑ6Ô6ð 
Ý'1°$´+¸Ñ'OÔ'OÐ$Ø—’Ø(×3Ò3µLÔ4PÑQÔQñô ð õ &Ð&:Ñ;Ô;ð ð ‘D�A�qØ!×(Ò(ð�Ø œG¥]Ð3GÈÑ%KÔ%Kñô àñô ñô ð ð õ
 ˜6Ð"Ð"à”7”>Ô.×DÒDØÝ/ØØœ;Ý"0°Ñ"?Ô"?ðñ ô ñô ð õ �užeÔ.Ñ/Ô/ð`	1åÞ˜˜z¨4Ñ0Ô0µ%´.Ô2IÔ2Vñô ð`	1ö
 ˜˜z¨2Ñ.Ô.°'Ò9Ð9Øž ¤°¸$Ñ?Ô?Ò?Ð?ð ×Ò¥Ô ;Ñ<Ô<Ð<Þ"Ý(Ø”N­:°d´kÈ*Ð+UÑ+UÔ+Uðñ ô ð ñ	ô ð õ ˜�uœxÔ9Ñ:Ô:ð P	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ)¨%¸¼ÐDÑDÔDÐDàÝŒ}Ô+ÔFÔaðbð bð ×Ò¥Ô ;Ñ<Ô<Ð<Þ!ðð ð ð ñô ð õ �e‰_Œ_ð 	1¦Ô!<¸UÑ!CÔ!CÐ!OÞ" 5Ñ)Ô)ð HØCG�””Ô@ÞÔ.¨uÑ5Ô5×HÒHØ˜dœkð Iñ ô ð õ ð y	1•J˜u¥b¤iÑ0Ô0ð y	1Ø×4Ò4°UÑ;Ô;Ð;Þ'Ô:¸5ÑAÔAð w	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ-¨eÑ4Ô4Ð4Ý˜Ö2Ñ3Ô3ð t	1Ø�Ô/Ô?Ð?Ð?ÝØ^ñô ð ð ×Ò¥Ô 7½Ô9PÑQÔQÐQÞ3Ô8¸ÀtÄ{ÐSÑSÔSÐSÝ˜�uœzÔ7Ñ8Ô8ð m	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Ý& t¤{°HÑ=Ô=ˆMØ@�¨¬°-Ñ@Ô@ÀÄÑNÔNˆJÞ(Ô/°´¸ÑDÔDÐDÝ˜�uœ|Ñ,Ô,ð h	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Øœ7œ>×6Ò6ØÝ�U‘”Øà!&¤Ø$)Ô$6Ø#(Ô#4ðð ñ		ô 	ˆLö ˜lÔ/°Ñ7Ô7Ð7Þ!ØØØ”Ø”{ð	ñ ô ð õ ˜¥¤Ô 4Ñ6Ô6ð U	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ%Ô,¨T¬W°e¸T¼[ÑIÔIÐIÝ˜�uœ{Ñ+Ô+ð R	1Ø×Ò¥Ô 5Ñ6Ô6Ð6ÝŒMÔ×9Ò9¸%Ñ@Ô@Ð@Øœ'œ.×5Ò5ØÝ”Ô#Ô;Ý�E‘”�Øñ	ô ˆKö ˜kÔ.°Ñ6Ô6Ð6Þ ØØØ”{ðñ ô ð õ �u�eœhÔ2Ñ3Ô3ðC	1à�Ô;Ð;Ð;æ)¨%¸¼ÐDÑDÔDÐDå�5ž*Ô0Ñ1Ô1ð~	1æÔ& u¨n¸dÑCÔCÐKà×Ò¥Ô 7Ñ8Ô8Ð8Þ&¨d¬kÐ:Ñ:Ô:Ð:Þ&Ô9¸%Ñ@Ô@ð x	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ.¨u¸T¼[ÐIÑIÔIˆFà”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ˜�uœ{Ô4Ñ5Ô5ð s	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ)¨$¬+Ñ6Ô6ˆDŒKÞ$ U°4´;Ð?Ñ?Ô?Ð?Þ#Ô8¸Ñ?Ô?ð o	1Þ)¨%¸¼ÐDÑDÔDÐDÞ!Ô2°5Ñ9Ô9ð m	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ'¨°d´kÐBÑBÔBÐBÞÔ.¨uÑ5Ô5ð j	1à×Ò¥Ô 9Ñ:Ô:Ð:Þ% e°D´KÐ@Ñ@Ô@Ð@Þ#Ô5°eÑ<Ô<ð f	1à×Ò¥Ô 5Ñ6Ô6Ð6Þ)¨%¸¼ÐDÑDÔDÐDÞÔ+¨EÑ2Ô2ð b	1à×Ò¥Ô 9Ñ:Ô:Ð:Þ$ØØ”{ðñ ô ð õ
 ˆu‰IŒIÖ+Ð+Ð+Ý�5‘	”	Ö!>Ð>Ð>à×Ò¥Ô ;Ñ<Ô<Ð<Þ$ U°4´;Ð?Ñ?Ô?Ð?Ý˜�uœ}Ñ-Ô-ñ U	1ö *¨$¬+Ñ6Ô6ˆJØŒz×"Ò"Ñ$Ô$ð OØ"œZ×4Ò4Ñ6Ô6�
ð ”G”NÔ,×QÒQÞ˜J™œØ"Þ$.Ô$6ð Rñ ô ð �
ð "œWœ^Ô5×LÒLÑNÔN�
à!œWœ^Ô7×JÒJÞ”Ð'¨¨d¬iÑ8Ô8Ý�ZÑ Ô ØØ!ð	 Kñ ô ˆNö 4<ØØØØØØ#-ð4ñ 4ô 4ˆNÔÔ$ ZÑ0ð "”Ô+ˆHÝØž%œ,ñô ð 4ð 4àÐ3Ð3Ð3ñ4ô 4ð ð ŒGŒNÔ(×/Ò/Þ˜J¨
°DÑ9Ô9ñô ð ö #ØØ˜a’ñô ð õ ˜ ¨YÐ7Ñ8Ô8ð a	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ'ØØØØ”{ð	ñ ô ð ð Ð.Ð.Ð.Þ.°AÐ6Ñ6Ô6Ð6ØÐ.Ð.Ð.Þ.°AÐ6Ñ6Ô6Ð6Ý˜�uœyÔ6Ô?Ñ@Ô@ð U	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ'à”LØÔ$Ø”NØÔ(ð	ð ”{ðñ ô ð ö *Ô9¸%Ñ@Ô@ð J	1Ø×Ò¥Ô ;Ñ<Ô<Ð<Þ/°¸d¼kÐJÑJÔJÐJÞÔ# EÐ+HÈ%ÑPÔPð G	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ.Ø�¨t¬{ðñ ô ð ö +¨5Ñ1Ô1ð B	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ.¨u°mÈDÌKÐXÑXÔXÐXÞ# EÑ*Ô*ð 	1®wÔ/EØÐ(¨%ñ0
ô 0
ð 	1ð ×Ò¥Ô 7Ñ8Ô8Ð8Þ.ØÐ,°T´[ðñ ô ð ö $ EÑ*Ô*ð x	1Þ?ÀÑFÔFÑˆE�9ð Ð$Ý(¨¬°iÑ@Ô@�”ÞÔ% eÑ,Ô,×?Ò?Ø˜dœkð @ñ ô ð ð –f”mÐ#Ð#Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ&¨d¬kÐ:Ñ:Ô:Ð:Ý�Ež6œ=Ñ)Ô)ð l	1®nÔ.TØñ/
ô /
ð l	1ð ×Ò¥Ô 7Ñ8Ô8Ð8Þ# E°$´+Ð>Ñ>Ô>ˆFØŒGŒNÔ'×5Ò5°e¸VÑDÔDÐDØˆMõ ˜¦Ô 0¶-Ô2KÐLÑMÔMð b	1Ø×Ò¥Ô ;Ñ<Ô<Ð<Þ)ØØ”{ðñ ô ˆFð ŒGŒNÔ'×=Ò=¸eÀVÑLÔLÐLØˆMÝ˜žuÔ/Ñ0Ô0ð Z	1µZØŒN�UœXœ_­e¬kÔ.AÔ.JÐKñ6
ô 6
ð Z	1ð•Ø”¥
¨4¬;¸
Ñ CÔ Cðñ ô àŒnñô ˆHð ð 4¥
Øž/ñ!ô !ð 4ð 4à3ñ4ô 4ð ð ×Ò¥Ô ;Ñ<Ô<Ð<Þ%Ø”ØØ”{ðñ ô ð õ
 ˜žuÔ9Ñ:Ô:ð @	1ö ,¨EÑ2Ô2Ð2Ý˜žuÔ6Ñ7Ô7ð x	1ö
 )¨Ñ/Ô/Ð/Þ�˜U™œ¥TÑ*Ô*ð r	1ØÝ”Õ!Õ.Ý”Õ"Ý”•ðð ð ö #Ô)¨%Ñ0Ô0×CÒCØ $¤+ð Dñ ô ð ð �œÕGÐGÐGØ×#Ò#¥LÔ$?Ñ@Ô@Ð@Þ5ÕAÀ$Ä'ÑJÔJÐJð ×Ò¥Ô 5Ñ6Ô6Ð6Þ+ØØ”{ðñ ô ð ö ,Ô;½DÀ¹K¼KÑHÔHð ^	1Ø×Ò¥Ô <Ñ=Ô=Ð=Ø”7”>Ô.×<Ò<ØÞ.ðð ð ð ð ö "'¦s¨5¡z¤zÑ!2Ô!2ð	ñ ô õ " %™[œ[Ý$.¨t¬{¸KÑ$HÔ$HØœ;ð
ñ 
ô 
ñô ð ö 'Ô6µt¸E±{´{ÑCÔCñ N	1ðð ð ñ ð ñ ð ð õ
 �~Õ1×CÓCÀEÑJÔJð ØœœÔ2×EÒEÞ”FÐ+¨S°$´)Ñ<Ô<Ý˜‘K”KØØœ;ð	 Fñ ô �ö /7Ø”K ¨¨t°U¸Eñ/ô /�”
” 
Ñ+ö 1Ô7ØØØœ;ðñ ô ð ö ˜5Ð"3Ñ4Ô4ð 5Ø×-Ó-¨eÑ4Ô4Ð4ö  Õ+ØV• ¤Ð)HÐ)HÈÌÑ)UÔ)UÑVÔVØ—K“K‘M”M×0Ó0Ñ2Ô2ñô ñô ð ö  Õ+ØP• ¤Ð)BÐ)BÀ4Ä;Ñ)OÔ)OÑPÔPØ×)Ó)Ñ+Ô+ñô ñô ð õ $�nÕ@×RÓRØ””Õ(¨%ñô ˆOð ”G”NÔ.×AÒAÞ”Ð'¨¨d¬iÑ8Ô8Ý�U‘”ØØ”{ð	 Bñ ô ˆEö +3Ø”˜U E¨4°¸ñ+ô +ˆEŒJŒO˜JÑ'ö -Ô3ØØØ”{ðñ ô ð ö
 �˜U™œ¦^Ñ4Ô4ð 	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ)¨%¸¼ÐDÑDÔDÐDÞ  Ñ'Ô'ð 	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ,Ô3°D´G¸UÈ4Ì;ÐWÑWÔWˆFØ”7”>Ô.×DÒDÀUÈFÑSÔSÐSà×)Ó)¨%Ñ0Ô0Ð0s   ðp ð
pðpc                 óü   — |                       t          j        ¦  «         t          || j        ¬¦  «        }t          j        t          |¦  «        ¦  «        s|S | j        j	        j
                             ||¦  «        S rq  )r$  r.   rr  rÇ   rÞ   r6   Ú"cls_supports_mutation_side_effectsr2  r	  r
  r#  r)  ©rç   r+  rj  s      rÒ   rT  z!VariableBuilder.wrap_user_definedÕ  sh   € Ø×Ò�LÔ3Ñ4Ô4Ð4Ý*¨5¸¼ÐEÑEÔEˆÝÔ=½dÀ5¹k¼kÑJÔJð 	àˆMØŒwŒ~Ô*×@Ò@ÀÈÑOÔOÐOrÛ   c                 óø  ‡ — t           j        rOt          |¦  «        t          j        u r4‰                      t          j        ¦  «         t          j	        |¬¦  «        S ‰                      t          j
        ¦  «         t          |t          ¦  «        r|t          d„ |D ¦   «         ¦  «        rc‰ j                             ¦   «                              ¦   «         r8‰                      t          j        ¦  «         t#          d„ |D ¦   «         ¦  «        S ˆ fd„t%          |¦  «        D ¦   «         }‰ j        j        j                             d¦  «        }t/          ‰ j        t0          ¦  «        �r©‰ j        j        t5          |¦  «        v �r�‰ j        }t/          |t6          ¦  «        sJ ‚‰ j        j        j                             t=          j        dd‰ j         ¦  «        t          |¦  «        ||¬¦  «        }d	|j!        j"        d
<   tG          tH          ‰ j        ||d |¬¦  «        }g }t%          |j%        ¦  «        D ]­\  }}	tM          ||d¬¦  «        }
|	‰ j        j        j'        |
<   tQ          ||         ¦  «        |	j)        j!        j"        d<   tU          j+        t          j,        t[          ||         ¦  «        ¬¦  «        }| .                    |
 /                    |¦  «        ¦  «         Œ®ta          |ddiŽ tc          ||dd d¬¦  «        }||j!        j"        d<    te          j3        |¦  «        |‰ j        ¬¦  «        }t          |t6          th          j5        f¦  «        r%‰ j        j        j6         7                    ||¦  «        S |S )N©r+  c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S rå   r   ©r  Úitems     rÒ   r  z0VariableBuilder.wrap_listlike.<locals>.<genexpr>ë  s.   è è € ÐHÐH¸$Õ$Ô/°Ñ5Ô5ÐHÐHÐHÐHÐHÐHrÛ   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÚ   ©rp   r{  ry  s     rÒ   r<  z1VariableBuilder.wrap_listlike.<locals>.<listcomp>ï  s$   € Ð!RÐ!RÐ!RÀDÕ"2Ô"9¸$Ñ"?Ô"?Ð!RÐ!RÐ!RrÛ   c           	      ó‚   •— g | ];\  }}t          j        |t          ‰                     ¦   «         |¦  «        ¬ ¦  «        ‘Œ<S r—  )r�   r{  r>   r7  )r  r›  rz  rç   s      €rÒ   r<  z1VariableBuilder.wrap_listlike.<locals>.<listcomp>ñ  s[   ø€ ð 
ð 
ð 
ñ
 ��4õ	  Ô&ØÝ$ T§_¢_Ñ%6Ô%6¸Ñ:Ô:ðñ ô ð
ð 
ð 
rÛ   rç   rÉ  r  r6  TÚ	steal_arg)Ú
target_clsr	  rq  Úexample_valueÚsubclass_typerÞ   F©ÚbaseÚindexÚindex_is_sliceÚtensor_dictr=  rk   )rà   rá   râ   rÊ  )8r'   Úspecialize_intr2  rë   rP  r$  r.   ÚCONSTANT_MATCHrp   r{  rÝ  r_   rL  rê  rÞ   r>  Úis_unspecialized_nn_moduler—   rá  r	  r
  Úlocal_scoperÛ  ræ   rC   Ú
local_namerT   rM  r2  r3  rX  r4  rö   r  r5  Úwrap_fx_proxy_clsrº   râ  r>   Úinput_source_to_varrN   rq  rù  rú  ÚTENSOR_MATCHr%   rf  r:  r/   rÝ   rŽ   Úcls_for_instancerN  rO  r#  rí  )rç   r+  r
  Úmaybe_gmrÞ   Útensor_list_proxyÚlist_variabler@  r›  Útensor_variableÚsource_ir;  rÊ  rj  s   `             rÒ   rQ  zVariableBuilder.wrap_listlikeÝ  s  ø€ ÝÔ ð 	8¥T¨%¡[¤[µE´JÐ%>Ð%>Ø×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°Ð7Ñ7Ô7Ð7ð 	×Ò�LÔ8Ñ9Ô9Ð9õ �5�%Ñ Ô ð	TåÐHÐHÀ%ÐHÑHÔHÑHÔHð	Tð ”×(Ò(Ñ*Ô*×EÒEÑGÔGð	Tð
 ×Ò¥Ô ;Ñ<Ô<Ð<Ý Ð!RÐ!RÈEÐ!RÑ!RÔ!RÑSÔSÐSð
ð 
ð 
ð 
õ
 % UÑ+Ô+ð
ñ 
ô 
ˆð ”7”>Ô-×1Ò1°&Ñ9Ô9ˆÝØŒK�ñ
ô 
ñ 5	?àŒkÔ$Õ(;¸HÑ(EÔ(EÐEÑEð ”[ˆFÝ˜e¥TÑ*Ô*Ð*Ð*Ð*Ø $¤¤Ô :× MÒ MÝ”Ð'¨¨d¬iÑ8Ô8Ý�U‘”ØØð	 !Nñ !ô !Ðð 8<ÐÔ"Ô'¨Ñ4å-Ý)Ø”7Ø'Ø#Ø"Øðñ ô ˆMð ˆFÝ&/°Ô0CÑ&DÔ&Dð :ð :Ñ"��?Ý(¨f¸AÈeÐTÑTÔT�à?N�””Ô2°8Ñ<ÝAUØ˜!”HñBô B�Ô%Ô*Ô/°Ñ>õ "Ô)Ý Ô-µ]À5ÈÄ8Ñ5LÔ5Lðñ ô �ð —’˜h×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9Ð9å˜6Ð*¨Ð*Ð*Ð*åØØØ#(Ø Øðñ ô ˆHð 7?ÐÔ"Ô'¨
Ñ3à9Õ!Ô2°5Ñ9Ô9¸&ÈÌÐUÑUÔUˆÝ�%�$¥Ô 1Ð2Ñ3Ô3ð 	LØ”7”>Ô.×<Ò<¸UÀFÑKÔKÐKØˆrÛ   c                 ó  ‡ ‡— ‰                       t          j        ¦  «         ˆ ˆfd„t          t	          ‰¦  «        ¦  «        D ¦   «         }t          |‰ j        ¬¦  «        }‰ j        j        j	         
                    ‰|¦  «        S )Nc           
      ó¨   •— g | ]N} t          ‰j        t          ‰                     ¦   «         |¦  «        ¦  «        t	          ‰|¦  «        ¦  «        ‘ŒOS rÚ   )r  r	  rI   r7  rg   rÒ  s     €€rÒ   r<  z7VariableBuilder.wrap_tuple_iterator.<locals>.<listcomp>8  sg   ø€ ð 
ð 
ð 
ð ð W�O˜DœGÕ%?ÀÇÂÑ@QÔ@QÐSTÑ%UÔ%UÑVÔVÝ& u¨aÑ0Ô0ñô ð
ð 
ð 
rÛ   r6  )r$  r.   ÚTUPLE_ITERATOR_LENrU  rh   r–   rÞ   r	  r
  r#  rí  )rç   r+  r
  rj  s   ``  rÒ   rR  z#VariableBuilder.wrap_tuple_iterator6  sŽ   øø€ Ø×Ò�LÔ;Ñ<Ô<Ð<ð
ð 
ð 
ð 
ð 
õ Õ-¨eÑ4Ô4Ñ5Ô5ð	
ñ 
ô 
ˆõ ' v°d´kÐBÑBÔBˆØŒwŒ~Ô*×8Ò8¸ÀÑGÔGÐGrÛ   c                 óò   — |                       t          j        ¦  «         d„ t          j        |¦  «        D ¦   «         }t          || j        ¬¦  «        }| j        j        j	         
                    ||¦  «        S )Nc                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÚ   r|  )r  r�  s     rÒ   r<  z7VariableBuilder.wrap_range_iterator.<locals>.<listcomp>E  s$   € ÐJÐJÐJ°Õ!Ô(¨Ñ+Ô+ÐJÐJÐJrÛ   r6  )r$  r.   ÚRANGE_ITERATOR_MATCHÚcopyÚdeepcopyr�   rÞ   r	  r
  r#  rí  )rç   r+  râ  rj  s       rÒ   rS  z#VariableBuilder.wrap_range_iteratorA  sj   € Ø×Ò�LÔ=Ñ>Ô>Ð>ð KÐJµT´]À5Ñ5IÔ5IÐJÑJÔJˆÝ% e°D´KÐ@Ñ@Ô@ˆØŒwŒ~Ô*×8Ò8¸ÀÑGÔGÐGrÛ   c                 óä   ‡ ‡— ˆ ˆfd„dD ¦   «         }‰                       t          j        ¦  «         t          ‰t          ¦  «        rt          |‰ j        ¬¦  «        S t          |‰ j        ¬¦  «        S )Nc           
      ó¨   •— g | ]N} t          ‰j        t          ‰                     ¦   «         |¦  «        ¦  «        t	          ‰|¦  «        ¦  «        ‘ŒOS rÚ   )r  r	  r8   r7  r˜  )r  rœ  rç   r+  s     €€rÒ   r<  z4VariableBuilder.wrap_slice_range.<locals>.<listcomp>J  se   ø€ ð 
ð 
ð 
ð ð G�O˜DœG¥Z°·²Ñ0AÔ0AÀ1Ñ%EÔ%EÑFÔFÝ˜˜qÑ!Ô!ñô ð
ð 
ð 
rÛ   )ÚstartÚstopÚstepr6  )r$  r.   rr  ræ   rT  r•   rÞ   r’   )rç   r+  râ  s   `` rÒ   rV  z VariableBuilder.wrap_slice_rangeI  sˆ   øø€ ð
ð 
ð 
ð 
ð 
ð /ð	
ñ 
ô 
ˆð 	×Ò�LÔ3Ñ4Ô4Ð4Ý�e�UÑ#Ô#ð 	<Ý  ¨t¬{Ð;Ñ;Ô;Ð;å  ¨t¬{Ð;Ñ;Ô;Ð;rÛ   r;  c                 óB  — ddl m} t                               d| j                             ¦   «         t          |¦  «        ¦  «          |||¬¦  «         || j        j        j	        v r8| j        j        j	        |         }|j
        |j        j        j        d         d<   d S d S )Nr&   )Úmark_static_addressz Marking static input %s, id: %s)©r;  r†  Ú_dynamo_static_input_type)Ú
decoratorsr£  Ústatic_inputs_logÚdebugrÞ   rö   r  r	  r
  r#  r¥  rq  r  r5  )rç   r+  r;  r£  r]  s        rÒ   Úmark_static_inputz!VariableBuilder.mark_static_inputV  s·   € Ø4Ð4Ð4Ð4Ð4Ð4å×ÒØ.°´×0@Ò0@Ñ0BÔ0BÅBÀuÁIÄIñ	
ô 	
ð 	
ð 	Ð˜E¨Ð/Ñ/Ô/Ð/ð �D”G”NÔ/Ð/Ð/Ø”'”.Ô-¨eÔ4ˆCð Ô/ð ŒIŒNÔ Ô.Ø+ñð ð ð 0Ð/rÛ   c                 óÀ  — ddl m} t          |j        ¦  «        dk    rt	          dt          |¦  «        › �¦  «         t          ||¦  «        rƒt          j        |j	        dd¦  «        rt          | j        ¬¦  «        S |                      t          j        ¦  «         t          | j        d¦  «        | _        |                      |j        ¦  «        S t%          |t&          j        j        t&          j        j        t&          j        j        f¦  «        rt0          j        st	          d	¦  «         t5          |d
d¦  «        r¥t5          |dd¦  «        s
J d¦   «         ‚|                      t          j        ¦  «         t7          ||                      ¦   «         ¬¦  «        }t;          j        t?          |¦  «        ¦  «        s|S | j         j!        j"         #                    ||¦  «        S tI          j%        || j         j&        ¦  «        �rµt%          |t&          j'        j(        j)        j*        ¦  «        r-| +                    ¦   «         }tY          | j        ¦  «        | _        |                      t          j        ¦  «         t&          j-        j        j.        r…t_          ¦   «         }| 0                    ¦   «         D ]}|  1                    ||¬¦  «         Œ| 2                    ¦   «         D ]}|  1                    ||¬¦  «         Œ|r|| j         j!        j3        | j4        <   |j5         6                    d¦  «        st5          |j7        dd¦  «        rtq          || j        ¬¦  «        }nts          || j        ¬¦  «        }t;          j        t?          |¦  «        ¦  «        s|S | j         j!        j"         #                    ||¦  «        S tu          |j7        t&          j        j;        j<        j=        ¦  «        rB|                      t          j        ¦  «         ts          ||                      ¦   «         ¬¦  «        S | j         j!         >                    || j4        |                      ¦   «         ¬¦  «        S )Nr&   )ÚOptimizedModuler   zuninitialized nn.Module: Ú_torchdynamo_disableFr6  Ú	_orig_modz5TorchDynamo purposely graph breaks on RNN, GRU, LSTMsÚ_is_fsdp_managed_moduleÚ_fsdp_use_orig_paramsz3Dynamo only supports FSDP with use_orig_params=Truer¤  )z	torch.nn.z	torch.ao.Ú_dynamo_marked_static)?Ú
eval_framer«  rP  Ú__dict__r-   rl   r_   r  r!  Úforwardr�   rÞ   r$  r.   rr  r8   rï  r­  ræ   rë   rG  ÚRNNÚGRUÚLSTMr'   Ú	allow_rnnr˜  r¯   r7  r6   rt  r2  r	  r
  r#  r)  r(   Úis_dynamic_nn_moduleÚexportÚfxÚexperimentalÚproxy_tensorÚ
_AttrProxyÚget_baser7   r¾  Úinline_inbuilt_nn_modulesr[   Ú
parametersr©  ÚbuffersÚ
nn_modulesrö   rØ   r  r  r°   r±   rK  ÚparallelÚdistributedÚDistributedDataParallelÚregister_attr_or_module)rç   r+  r«  rj  ÚfreezingÚpÚbs          rÒ   rï  zVariableBuilder.wrap_modulef  s  € Ø0Ð0Ð0Ð0Ð0Ð0åˆuŒ~ÑÔ !Ò#Ð#ÝÐFµg¸e±n´nÐFÐFÑGÔGÐGÝ�%˜Ñ)Ô)ð 	5åÔ% e¤mÐ5KÈUÑSÔSð Cõ
 /°d´kÐBÑBÔBÐBà×Ò¥Ô 7Ñ8Ô8Ð8Ý$ T¤[°+Ñ>Ô>ˆDŒKØ×#Ò# E¤OÑ4Ô4Ð4õ �u�uœxœ|­U¬X¬\½5¼8¼=ÐIÑJÔJð	SåÔ$ð	Sõ ÐQÑRÔRÐRå�5Ð3°UÑ;Ô;ð H	õ ØÐ.°ñô ð Eð EàDñEô Eð ð ×Ò¥Ô 7Ñ8Ô8Ð8Ý0°¸t¿ºÑ?PÔ?PÐQÑQÔQˆFÝÔAÅ$ÀuÁ+Ä+ÑNÔNð à�Ø”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝÔ0°¸¼¼ÑGÔGñ .	õ
 ˜%¥¤Ô!6Ô!CÔ!NÑOÔOð ;ØŸšÑ(Ô(�Ý-¨d¬kÑ:Ô:�”à×Ò¥Ô 7Ñ8Ô8Ð8ÝŒ}Ô#Ô=ð AÝ0Ñ2Ô2�Ø×)Ò)Ñ+Ô+ð >ð >�AØ×*Ò*¨1°HÐ*Ñ=Ô=Ð=Ð=àŸš™œð >ð >�AØ×*Ò*¨1°HÐ*Ñ=Ô=Ð=Ð=àð Að <A�D”G”NÔ-¨d¬iÑ8àÔ×*Ò*Ð+EÑFÔFð RÍ'Ø”Ð!8¸%ñKô Kð Rõ >¸eÈDÌKÐXÑXÔX��å6°uÀTÄ[ÐQÑQÔQ�åÔAÅ$ÀuÁ+Ä+ÑNÔNð à�Ø”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝØŒO�UœXÔ.Ô:ÔRñ
ô 
ð 	ð ×Ò¥Ô 7Ñ8Ô8Ð8Ý0°¸t¿ºÑ?PÔ?PÐQÑQÔQÐQà”7”>×9Ò9ØØ”	Ø—’Ñ(Ô(ð :ñ ô ð rÛ   c                 óô  — t           j        �s8t          |¦  «        t          u �r!t	          j        ¦   «         j        sô| j                             ¦   «          	                    ¦   «         r�| j                             ¦   «          
                    ¦   «         sd| j                             ¦   «                              ¦   «         s9t          | j        ¦  «        s%t          d¦  «        sP||                      ¦   «         v r:|                      t           j        ¦  «         t%          j        || j        ¬¦  «        S |                      |¦  «        S t           j        s+t          |¦  «        t,          u r|                      |¦  «        S |                      t           j        ¦  «         t%          j        || j        ¬¦  «        }t1          |t2          t4          f¦  «        r%| j        j        j                             ||¦  «        S |S )Nz5pytorch/dynamo:enable_unspecialize_zero_one_plain_intr´  )r'   r‡  r2  r/  r   rÛ  Ú#force_unspec_int_unbacked_size_likerÞ   r>  Úis_localÚis_specialized_nn_moduleÚ"is_unspecialized_builtin_nn_modulerA   r   r4  r$  r.   rˆ  rp   r{  Úwrap_symintÚspecialize_floatÚfloatÚwrap_symfloatræ   rM  Úsetr	  r
  r#  rí  ru  s      rÒ   rW  zVariableBuilder.wrap_literalÈ  s¼  € ÝÔ$ñ  	­¨e©¬½Ð);Ñ);õ "Ô%Ñ'Ô'ÔKð /à”K×,Ò,Ñ.Ô.×7Ò7Ñ9Ô9ð/ð ”;×+Ò+Ñ-Ô-×FÒFÑHÔHð/ð ”;×+Ò+Ñ-Ô-×PÒPÑRÔRð/õ $ D¤KÑ0Ô0ð/õ (ØOñô ð/ð  ×!7Ò!7Ñ!9Ô!9Ð9Ð9ð ×#Ò#¥LÔ$?Ñ@Ô@Ð@Ý'Ô.°UÀ4Ä;ÐOÑOÔOÐOà×'Ò'¨Ñ.Ô.Ð.ÝÔ(ð 	­T°%©[¬[½EÐ-AÐ-AØ×%Ò% eÑ,Ô,Ð,à×Ò¥Ô ;Ñ<Ô<Ð<Ý%Ô,°5ÀÄÐMÑMÔMˆFÝ˜%¥$­ Ñ-Ô-ð PØ”w”~Ô2×@Ò@ÀÈÑOÔOÐOØˆMrÛ   c                 ó~   — t          |¦  «        r+t          |¦  «        | j        j        u rt	          dd¦  «        ‚d S d S )Nz*Cannot wrap a Tensor that has already beenz"wrapped by this instance of Dynamo)r   r   r	  rY  r,   ro  s     rÒ   Ú assert_not_wrapped_by_this_graphz0VariableBuilder.assert_not_wrapped_by_this_graphë  sP   € Ý�5‰>Œ>ð 	Õ1°%Ñ8Ô8¸D¼GÔ<MÐMÐMÝ*Ø<Ø4ñô ð ð	ð 	ÐMÐMrÛ   c           	      ó4  — |                       ¦   «         }|| j        j        j        vsJ ‚t	          |¦  «        d u}t
          j        rn|slt          |t          j	        j
        ¦  «        s(|rK|                     ¦   «                              ¦   «         r%|                      |t          ¦   «         ¬¦  «         d}|ot
          j         pt          ¦   «         }|                     ¦   «                              ¦   «         s|rb|                     ¦   «                              ¦   «         s<|                      |¦  «         | j        j                             || j        |¬¦  «        S t)          |¦  «        rP|                      |¦  «         | j        j                             |t+          j        dd| j        ¦  «        |¬¦  «        S t/          |¦  «        t
          j        v rt/          |¦  «        }n~t/          |¦  «        t          j        t          j	        j
        t          j        j        j        t          j        j        j        fv s&t?          |¦  «        sJ t/          |¦  «        ¦   «         ‚d }|| j        j        j         v }|r| j        j        j         |         S t	          |¦  «        dk    r|  !                    tD          j#        ¦  «         |                      |¦  «         i }t/          |¦  «        t
          j        v r=tI          | j        || j%        ¦  «        |d<   |  !                    tD          j&        ¦  «         t          |t          j        ¦  «        r?|j'        r8t          |t          j(        j)        j*        j+        ¦  «        stY          d¦  «         t          |t          j        ¦  «        r6t[          |¦  «        r'| j        j.        rt
          j/        stY          d	¦  «         ta          |¦  «        r;tc          |¦  «        �,|j2        tc          |¦  «        j2        k    rtY          d
¦  «         tg          || j        d|¬¦  «        }| j        j        j4         5                    t+          j        dd| j        ¦  «        t/          |¦  «        ||¬¦  «        }	tm          | j        |	|¦  «         to          d| j        |	|||dœ|¤Ž}
| 8                    ¦   «         r+tg          |j9        | j        tu          |d¦  «        d¬¦  «         tD          j;        }t          |tx          ¦  «        rt{          |¦  «        rtD          j>        }|  !                    t          j@        |t          |t‚          ¦  «        r|nt…          |¦  «        ¬¦  «        ¦  «         t?          |¦  «        rè|  !                    tD          jC        ¦  «         |  !                    tD          j&        ¦  «         t‰          t‹          |¦  «         F                    tD          jG        ¦  «        ¦  «         | H                    ¦   «         \  }}|D ]W}t“          ||¦  «        }tu          | j%        |¦  «        }t•          jK         t™          | j        |¦  «        |¦  «        ¦  «         ŒX|
| j        j        j         |<   d|	jM        jN        vsJ ‚tŸ          |¦  «        |	jM        jN        d<   |
jP        jM        jN        d         }t£          |¦  «        | j        jR        urt§          d¦  «        ‚t©          ||d|¦  «        }||	jM        jN        d<   |
S )Nr¤  Tr6  rÉ  r  ÚguardedÚtorch_function_fnú3torch.compile does not support strided NestedTensorz-torch.compile does not support sparse TensorszÕInconsistent dtype between tensor and its gradient. This can happen in FSDP and crashes meta tensor creation. This is potentially a workaround. Fixing it correctly requires some design around FSDP + torch.compile.©r	  râ   rÞ   )r	  rq  r€  r�  rÞ   Ú_base)r	  rÞ   râ   rw  r†  r€  z(Wrapped Tensor must be this graph's fakeFrÊ  rÚ   )Ur7  r	  r
  r#  rU   r'   r¿  ræ   rë   rG  rH  r>  r‰  r©  r[   rÍ  Úis_fsdp_modulerÕ  rÆ  rö   r@   rX  r4  r2  rÜ  rì   rü   rá   r   rI  rJ  r#   r�  r$  r.   rn  r¾   rÞ   rr  Ú	is_nestedÚnestedÚ	_internalÚnested_tensorÚNestedTensorr-   r   r¹  Úcapture_sparse_computerÓ   r   r¸  Úwrap_to_fake_tensor_and_recordr2  r3  Úcache_real_value_when_exportÚwrap_fx_proxyÚ_is_viewrÛ  r8   rŽ  r?   rB   ÚNOT_NONE_MATCHrù  rú  rD   r%   ÚTENSOR_SUBCLASS_METADATA_MATCHr/   rH   r:  r'  Ú__tensor_flatten__r˜  r�   rU  r  r  r5  rN   rq  r   rY  r,   rÝ   )rç   r+  rÞ   Úis_static_inputÚmake_graph_attributer�  Úis_duplicate_tensorÚoptionsr€  Útensor_proxyr“  Ú
guard_typeÚattrsr  ÚattrÚinner_valueÚinner_sourceÚfake_tensor_valuerÊ  s                      rÒ   rK  zVariableBuilder.wrap_tensorò  s1  € Ø—’Ñ"Ô"ˆð ˜DœGœNÔ7Ð7Ð7Ð7Ð7å1°%Ñ8Ô8ÀÐDˆõ Ô,ð	#à#ð	#õ ˜5¥%¤(Ô"4Ñ5Ô5ð		#ð ð	#ð  &×2Ò2Ñ4Ô4×OÒOÑQÔQð	#ð ×"Ò" 5Õ0EÑ0GÔ0GÐ"ÑHÔHÐHØ"ˆOà.ð  
ÝÔ0Ð0ÐKÕ4IÑ4KÔ4Kð 	ð
 ×ÒÑ!Ô!×:Ò:Ñ<Ô<ð	Ø@Tð	à×%Ò%Ñ'Ô'×6Ò6Ñ8Ô8ð	ð ×1Ò1°%Ñ8Ô8Ð8Ø”7”>×9Ò9Ø�t”y¨ð :ñ ô ð õ ˜fÑ%Ô%ð 	Ø×1Ò1°%Ñ8Ô8Ð8Ø”7”>×9Ò9ØÝ”Ð'¨¨d¬iÑ8Ô8Øð :ñ ô ð õ �‰;Œ;�&Ô<Ð<Ð<õ$ ! ™KœKˆMˆMå˜‘;”;Ý”Ý”Ô"ÝÔ!Ô-Ô8ÝÔ!Ô3ÔDð	#ð ð õ
 /¨uÑ5Ô5ðð õ
 8<¸E±{´{ñô ð 6ð !ˆMð %¨¬¬Ô(JÐJÐØð 	>Ø”7”>Ô5°fÔ=Ð=å" 5Ñ)Ô)¨YÒ6Ð6Ø×Ò¥Ô 5Ñ6Ô6Ð6ð 	×-Ò-¨eÑ4Ô4Ð4àˆÝ�‰;Œ;�&Ô<Ð<Ð<Ý+BØ”˜ ¤ñ,ô ,ˆGÐ'Ñ(ð ×Ò¥Ô 7Ñ8Ô8Ð8õ �u�eœlÑ+Ô+ð	Qà”ð	Qõ ˜u¥e¤lÔ&<Ô&JÔ&WÑXÔXð	Qõ
 ÐOÑPÔPÐPõ �u�eœlÑ+Ô+ð	Kå˜eÑ$Ô$ð	Kð ”W”^ð	Kõ ,2Ô+Hð	Kõ ÐIÑJÔJÐJõ ˜%Ñ Ô ð
	å˜%Ñ Ô Ð,Ø”�y¨Ñ/Ô/Ô5Ò5Ð5åðDñô ð õ  7Ø�d”g¨°fð
ñ 
ô 
ˆð ”w”~Ô1×DÒDÝŒFÐ# S¨$¬)Ñ4Ô4Ý�‰KŒKØØð	 Eñ 
ô 
ˆõ 	% T¤W¨l¸EÑBÔBÐBå'ð 
ØŒwØØ'Ø'Øð
ð 
ð ð
ð 
ˆð �>Š>ÑÔð 		õ +Ø”Ø”7Ý! &¨'Ñ2Ô2Øð	ñ ô ð õ "Ô.ˆ
å�f�jÑ)Ô)ð 	5Õ.FÀvÑ.NÔ.Nð 	5Ý%Ô4ˆJà×ÒÝÔØõ " &Õ*;Ñ<Ô<ð.�E�Eå& uÑ-Ô-ðñ ô ñ		
ô 		
ð 		
õ )¨Ñ/Ô/ð 	Ø×Ò¥Ô KÑLÔLÐLØ×Ò¥Ô 7Ñ8Ô8Ð8ÝÝ& vÑ.Ô.×9Ò9½,Ô:SÑTÔTñô ð ð ×/Ò/Ñ1Ô1‰HˆE�1Øð ð �Ý% e¨TÑ2Ô2�Ý)¨$¬+°tÑ<Ô<�Ý#Ô/Ø:•O D¤G¨\Ñ:Ô:¸;ÑGÔGñô ð ð ð 6EˆŒŒÔ*¨6Ñ2Ø LÔ$5Ô$:Ð:Ð:Ð:Ð:Ý0DÀUÑ0KÔ0KˆÔÔ˜}Ñ-ð ,Ô1Ô6Ô;¸OÔLÐÝÐ0Ñ1Ô1¸¼Ô9JÐJÐJÝ*Ð+UÑVÔVÐVå˜F E¨5Ð2CÑDÔDˆØ-5ˆÔÔ˜zÑ*ØÐrÛ   c                 ó~  — t           €J ‚t          |t           j        ¦  «        sJ ‚t          |                      ¦   «         ¦  «        }ddlm} |j        j         }|r?	 d|j        _        n1# t          $ r$ t          |j
        t           j        ¦  «        sJ ‚Y nw xY wt          j        ¦   «         5  	 |                     |¦  «        }|rddlm}  ||¦  «        }n3# t"          $ r&}t%          t'          |¦  «        ¦  «         Y d }~nd }~ww xY wd d d ¦  «         n# 1 swxY w Y   t)          j         t-          | j        |¦  «        |¦  «        ¦  «         t1          || j        d|¬¦  «        }| j        j        j                             t9          j        dd| j        ¦  «        t?          |¦  «        ||¬	¦  «        }	tA          | j        |	|¦  «         d
|i}
tC          dtD          | j        |	|dœ|
¤Ž}|| j        j        j#        |<   |j$        j%        j&        d         }tO          ||d|d|¬¦  «        }||	j%        j&        d<   |S )Nr   )Ú_utilT)Úclone_preserve_stridesFrÚ  rÉ  r  r6  rÞ   ©r  r	  rq  r€  r€  ©rà   rá   râ   rã   rÊ  rÚ   )(re  ræ   rg  rD   r7  Útorch._numpyrö  ÚflagsÚ	writeableÚ
ValueErrorrƒ  ÚnditerrÀ   Útemp_restore_stackÚ_try_convert_to_tensorÚtorch._prims_commonr÷  ÚNotImplementedErrorr-   Ústrr�   rU  r  r	  rã  r
  r2  r3  rX  r4  rö   r2  rä  rŒ  r¶   r�  rq  r  r5  rÝ   )rç   r+  rÞ   rö  ÚreadonlyÚtensor_valuer÷  Úer€  rq  rí  Únumpy_ndarray_variablerÊ  s                rÒ   rh  z"VariableBuilder.wrap_numpy_ndarrayÃ  sç  € Ýˆ~ˆ~ˆ~Ý˜%¥¤Ñ,Ô,Ð,Ð,Ð,å" 4§?¢?Ñ#4Ô#4Ñ5Ô5ˆà&Ð&Ð&Ð&Ð&Ð&à”{Ô,Ð,ˆØð 	9ð9Ø(,�”Ô%Ð%øÝð 9ð 9ð 9õ " %¤*­b¬iÑ8Ô8Ð8Ð8Ð8Ð8Ð8ð9øøøõ
 1ÔCÑEÔEð 		&ð 		&ð&Ø$×;Ò;¸EÑBÔB�Øð HØJÐJÐJÐJÐJÐJà#9Ð#9¸,Ñ#GÔ#G�LøøÝ&ð &ð &ð &å�c !™fœfÑ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%øøøøð&øøøð		&ð 		&ð 		&ñ 		&ô 		&ð 		&ð 		&ð 		&ð 		&ð 		&ð 		&øøøð 		&ð 		&ð 		&ð 		&õ 	Ô'Ð(H­¸¼ÀÑ(HÔ(HÈÑ(VÔ(VÑWÔWÐWÝ6ØØŒwØØð	
ñ 
ô 
ˆð ””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØð	 >ñ 
ô 
ˆõ 	% T¤W¨e°\ÑBÔBÐBØ˜VÐ$ˆÝ!2ð "
Ý+ØŒwØØ'ð	"
ð "
ð
 ð"
ð "
Ðð 6LˆŒŒÔ*¨6Ñ2Ø.Ô4Ô9Ô>¸ÔOˆõ ØØØ#Ø%ØØ+ð
ñ 
ô 
ˆð '/ˆŒ
Œ˜
Ñ#à%Ð%sN   ÁA* Á*+BÂBÂ.DÂ0(CÃDÃ
D	Ã#DÃ?DÄD	Ä	DÄDÄDc                 óä	  — t          |¦  «        t          u sJ ‚| j        | j        j        j        v r| j        j        j        | j                 S | j        j        j        }t          j        ¦   «         j	        r]| 
                    ¦   «         }t          |¦  «         | j        j        j                             t          || j        d ¦  «        ¦  «         �nt!          |                      ¦   «         ¦  «        �sˆt$          j        j        j        r:|                      t.          j        ¦  «         t3          j        || j        ¬¦  «        S | j                             ¦   «         }t7          | j        |t9          j        |¦  «        | j                             ¦   «                              ¦   «         ¬¦  «        }t(          j         r|j!        tD          u rtG          ¦   «         }nMt(          j$        stJ          j&        }n4|                      t.          j        ¦  «         t3          j        |¬¦  «        S | '                    || j        |¬¦  «        }| j        j        j                             t          || j        d ¦  «        ¦  «         n]t!          |                      ¦   «         ¦  «        sJ ‚|                      t.          j        ¦  «         t3          j        || j        ¬¦  «        S tQ          |                      ¦   «         tR          ¦  «        rJ ‚tU          |                      ¦   «          +                    t.          j,        ¦  «        ¦  «         d|                      ¦   «         i}| j        j        j-         .                    t_          j0        dd| j        ¦  «        t          |¦  «        ||                      ¦   «         ¬¦  «        }|j1        j2        }	tQ          |	tf          j4        ¦  «        sJ |	› d	�¦   «         ‚|| j        j        j-        j5        |	<   tm          ||fi |¤Ž}
|
| j        j        j        | j        <   t!          |                      ¦   «         ¦  «        s¥| j        j7        rNtQ          |                      ¦   «         tp          ¦  «        s'ts          d
|› d|                      ¦   «         › �¦  «        ‚|
j:        j1        j;        d         }ty          |                      ¦   «         |dd d|¬¦  «        |j1        j;        d<   |
S )Nr´  ©r‰  rw  )rÞ   rÈ  rÞ   rÉ  r  r6  rË  ú=Dynamo attempts to add additional input during export: value=ú	, source=r€  Frù  rÊ  )=r2  r/  rö   r	  r
  Úunspec_variable_mapr-  r   rÛ  rË  r1  r   r9  rf  r:  rÞ   r@   r7  rë   r¾  r'   r‡  r$  r.   rˆ  rp   r{  r5   r3   Úmake_scalarr>  r‰  Úautomatic_dynamic_shapesÚscalarr1   Ú$get_automatic_dynamic_shapes_mark_asÚassume_static_by_defaultr   r0  r.  ræ   rF   r/   r:  rr  r2  r3  rX  r4  r  r6  r7  r8  Úbound_symbolsr¸   r¹  rC   ÚAssertionErrorrq  r5  rÝ   )rç   r+  r-  Úwrapped_valuerö   Úframe_state_entryrÈ  rí  rq  rn  Ú
unspec_varr€  s               rÒ   rÏ  zVariableBuilder.wrap_symint  sr  € Ý�E‰{Œ{�cÐ!Ð!Ð!Ð!àŒ9˜œœÔ:Ð:Ð:Ø”7”>Ô5°d´iÔ@Ð@à”G”NÔ,ˆ	ÝÔÑÔÔCð :	LØ%×<Ò<Ñ>Ô>ˆMÝ% mÑ4Ô4Ð4ØŒGŒNÔ(×/Ò/Ý˜M¨4¬;¸Ñ=Ô=ñô ð ñ õ $ D§O¢OÑ$5Ô$5Ñ6Ô6ñ /	LÝŒ}Ô#Ô2ð Pð ×#Ò#¥LÔ$?Ñ@Ô@Ð@Ý'Ô.°UÀ4Ä;ÐOÑOÔOÐOà”;×#Ò#Ñ%Ô%ˆDå 9Ø”ØÝ#Ô/°Ñ6Ô6Ø+/¬;×+CÒ+CÑ+EÔ+E×+`Ò+`Ñ+bÔ+bð	!ñ !ô !Ðõ Ô/ð<à%Ô,µÐ<Ð<åBÑDÔD��ÝÔ4ð <Ý(Ô0��ð ×#Ò#¥LÔ$?Ñ@Ô@Ð@Ý'Ô.°UÐ;Ñ;Ô;Ð;à%×JÒJØØ”{Ø'ð Kñ ô ˆMð ŒGŒNÔ(×/Ò/Ý˜M¨4¬;¸Ñ=Ô=ñô ð ð õ & d§o¢oÑ&7Ô&7Ñ8Ô8Ð8Ð8Ð8à×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°¸t¼{ÐKÑKÔKÐKå˜dŸošoÑ/Ô/Õ1BÑCÔCÐCÐCÐCÝ�d—o’oÑ'Ô'×2Ò2µ<Ô3JÑKÔKÑLÔLÐLà˜TŸ_š_Ñ.Ô.Ð/ˆà””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØ—?’?Ñ$Ô$ð	 >ñ 
ô 
ˆð !Ô%Ô*ˆÝ˜(¥E¤LÑ1Ô1ÐWÐW°hÐ3WÐ3WÐ3WÑWÔWÐ1Ø=BˆŒŒÔ"Ô0°Ñ:Ý$ U¨MÐEÐE¸WÐEÐEˆ
Ø8BˆŒŒÔ*¨4¬9Ñ5å! $§/¢/Ñ"3Ô"3Ñ4Ô4ð 	ØŒwŒ~ð ¥j°·²Ñ1BÔ1BÅKÑ&PÔ&Pð Ý$ØÐTaÐÐÐlp×l{Òl{Ñl}Ôl}ÐÐñô ð ð 'Ô,Ô1Ô6°ÔGˆMå*2Ø—’Ñ!Ô!ØØ#(Ø ØØ#0ð+ñ +ô +ˆEŒJŒO˜JÑ'ð ÐrÛ   c           
      óz	  — ddl m} | j        | j        j        j        v r| j        j        j        | j                 S t          | j        | j                             ¦   «         t          j	        |¦  «        | j         
                    ¦   «                              ¦   «         ¬¦  «        }t          j        j        j        sœt!          |                      ¦   «         ¦  «        s{t%          j        |¦  «        sgt%          j        |¦  «        sSt          j        j        j        j        s8t1          dd¦  «        s(|j        t4          us|                     | j        ¦  «        r:|                      t:          j        ¦  «         t?          j         || j        ¬¦  «        S t          j!        |t          j"        ¬¦  «        }t          j#        j$         %                    |¦  «        r:|                      t:          j        ¦  «         t?          j         || j        ¬¦  «        S tM          |                      ¦   «         tN          ¦  «        rJ ‚tQ          |                      ¦   «          )                    t:          j*        ¦  «        ¦  «         tW          |                      ¦   «         ¦  «        }||dœ}tY          || j        d|¬	¦  «        }| j        j        j-         .                    t_          j0        d
d| j        ¦  «        tc          |¦  «        ||¬¦  «        }te          | j        ||¦  «         tg          th          f| j        ||dœ|¤Ž}	tM          |	th          ¦  «        sJ ‚|	| j        j        j        | j        <   | j        j5        rNtM          |                      ¦   «         tl          ¦  «        s'to          d|› d|                      ¦   «         › �¦  «        ‚d }
|	j8        j9        j:        d         }tw          |¦  «        sJ ‚|}
|
j<        | j        j<        u sJ d|
j<        › d�¦   «         ‚t{          |                      ¦   «         |d|
d|¬¦  «        |j9        j:        d<   t}          | j         | j        j        j?        ddgt�          |	gi ¦  «        ¢R Ž ¦  «        }| j        j        jA         B                    t‡          |jD        | j        d ¦  «        ¦  «         |S )Nr&   )ÚTensorifyStater	  z.pytorch/compiler:unspecialize_float_killswitchFr´  )r¸  )rÞ   Ú	raw_valuerÚ  rÉ  r  r6  ©r	  rq  r€  r
  r  r€  úfake mode (ú^) from fake tensor metadata doesn't match mode({self.tx.fake_mode}) from InstructionTranslatorTrù  rÊ  Úcall_methodrz  )EÚsymbolic_convertr  rö   r	  r
  r  r5   rÞ   r3   r  r>  r‰  rë   r¾  r'   rÐ  r@   r7  ÚmathÚisnanÚisinfÚ	_inductorÚtritonÚ
cudagraphsr   r  r1   Úshould_specializer$  r.   rˆ  rp   r{  ÚtensorÚfloat64r  Ú
_functorchÚis_gradtrackingtensorræ   rF   r/   r:  rr  r=   rã  r2  r3  rX  r4  r2  rä  rŒ  r»   r¹  rC   r  rq  r  r5  r   rY  rÝ   rå  r  rb   r9  rf  r:  Úsym_num)rç   r+  r  r  r  rÞ   rí  r€  rq  r  rô  rè   s               rÒ   rÒ  zVariableBuilder.wrap_symfloats  s«  € à5Ð5Ð5Ð5Ð5Ð5ð Œ9˜œœÔ:Ð:Ð:Ø”7”>Ô5°d´iÔ@Ð@å5ØŒGØŒK×ÒÑÔÝÔ+¨EÑ2Ô2Ø'+¤{×'?Ò'?Ñ'AÔ'A×'\Ò'\Ñ'^Ô'^ð	
ñ 
ô 
Ðõ ŒMÔ Ô1ð	Lå! $§/¢/Ñ"3Ô"3Ñ4Ô4ð	Lõ Œz˜%Ñ Ô ð	Lõ Œz˜%Ñ Ô ð		Lõ ŒÔ%Ô,Ô7ð	Lõ ÐOÐQVÑWÔWð	Lð !Ô'­|Ð;Ð;Ø×/Ò/°´Ñ<Ô<ð <ð ×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°¸t¼{ÐKÑKÔKÐKõ œ Uµ%´-Ð@Ñ@Ô@ˆõ
 Œ8Ô×4Ò4°]ÑCÔCð 	LØ×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°¸t¼{ÐKÑKÔKÐKõ ˜dŸošoÑ/Ô/Õ1BÑCÔCÐCÐCÐCÝ�d—o’oÑ'Ô'×2Ò2µ<Ô3JÑKÔKÑLÔLÐLõ # 4§?¢?Ñ#4Ô#4Ñ5Ô5ˆØ#°%Ð8Ð8ˆõ 7Ø˜dœg°¸vð
ñ 
ô 
ˆð ””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØð	 >ñ 
ô 
ˆõ 	% T¤W¨e°]ÑCÔCÐCå&Ý'ð
àŒwØØ'ð	
ð 
ð
 ð
ð 
ˆ
õ ˜*Õ&AÑBÔBÐBÐBÐBØ8BˆŒŒÔ*¨4¬9Ñ5àŒ7Œ>ð 	¥*¨T¯_ª_Ñ->Ô->ÅÑ"LÔ"Lð 	Ý Ø{ÐP]Ð{Ð{Ðhl×hwÒhwÑhyÔhyÐ{Ð{ñô ð ð !ÐØ"Ô(Ô-Ô2°?ÔCˆÝ�}Ñ%Ô%Ð%Ð%Ð%à)ÐØ Ô*¨d¬gÔ.?Ð?Ð?Ð?ð?Ð+Ô5ð ?ð ?ð ?ñ @Ô?Ð?õ  '/Ø�OŠOÑÔØØ#Ø)ØØ,ð'
ñ '
ô '
ˆŒ
Œ˜
Ñ#õ ØŒGØ'ˆDŒGŒNÔ'ØØðõ # J <°Ñ4Ô4ðð ð ñ
ô 
ˆð 	ŒŒÔ$×+Ò+­K¸¼	À4Ä;ÐPTÑ,UÔ,UÑVÔVÐVàˆrÛ   c                 óž  — | j         | j        j        j        v r| j        j        j        | j                  S t	          j        |¦  «        }t          |                      ¦   «         t          ¦  «        s>t          |                      ¦   «          
                    t          j        ¦  «        ¦  «         d|                      ¦   «         i}|                     d|i¦  «         t          || j        d|                      ¦   «         ¬¦  «        }| j        j        j                             t#          j        dd| j         ¦  «        t'          |¦  «        ||                      ¦   «         ¬¦  «        }t)          | j        ||¦  «         t+          t,          f| j        ||dœ|¤Ž}|| j        j        j        | j         <   t/          |                      ¦   «         ¦  «        sý| j        j        rNt          |                      ¦   «         t2          ¦  «        s't5          d	|› d
|                      ¦   «         › �¦  «        ‚d }t          |t6          ¦  «        r|j        }n|j        j        j        d         }tA          |¦  «        sJ ‚|}|j!        | j        j!        u sJ d|j!        › d�¦   «         ‚tE          |                      ¦   «         |d|d|¬¦  «        |j        j        d<   |S )NrÞ   r  FrÚ  rÉ  r  r6  r  r
  r  r€  r  r  Trù  rÊ  )#rö   r	  r
  r  rë   r&  ræ   r7  rF   r/   r:  r.   rr  Úupdaterã  r2  r3  rX  r4  r2  rä  rŒ  r»   r@   r¹  rC   r  rp   r+  rq  r  r5  r   rY  rÝ   )rç   r+  r  rí  r€  rq  r  rô  s           rÒ   r  z,VariableBuilder.wrap_unspecialized_primitiveþ  sÍ  € ØŒ9˜œœÔ:Ð:Ð:Ø”7”>Ô5°d´iÔ@Ð@åœ UÑ+Ô+ˆÝ˜$Ÿ/š/Ñ+Ô+Õ->Ñ?Ô?ð 	QÝ˜$Ÿ/š/Ñ+Ô+×6Ò6µ|Ô7NÑOÔOÑPÔPÐPà˜TŸ_š_Ñ.Ô.Ð/ˆØ�Š˜ UÐ+Ñ,Ô,Ð,å6Ø˜dœg°¸t¿ºÑ?PÔ?Pð
ñ 
ô 
ˆð ””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØ—?’?Ñ$Ô$ð	 >ñ 
ô 
ˆõ 	% T¤W¨e°]ÑCÔCÐCå&Ý'ð
àŒwØØ'ð	
ð 
ð
 ð
ð 
ˆ
ð 9CˆŒŒÔ*¨4¬9Ñ5Ý! $§/¢/Ñ"3Ô"3Ñ4Ô4ð 	ØŒwŒ~ð ¥j°·²Ñ1BÔ1BÅKÑ&PÔ&Pð Ý$ØÐTaÐÐÐlp×l{Òl{Ñl}Ôl}ÐÐñô ð ð !%ÐÝ˜*Õ&6Ñ7Ô7ð Là *Ô 0��à *Ô 0Ô 5Ô :¸?Ô K�Ý˜=Ñ)Ô)Ð)Ð)Ð)à -ÐØ$Ô.°$´'Ô2CÐCÐCÐCðCÐ/Ô9ð Cð Cð Cñ DÔCÐCõ
 +3Ø—’Ñ!Ô!ØØ#'Ø-ØØ#0ð+ñ +ô +ˆEŒJŒO˜JÑ'ð ÐrÛ   )=r×   rØ   rÙ   Ú__doc__rG   r  r0  r(  Ústaticmethodrù  Ú	lru_cacher4  r7  r$  ÚclassmethodrE  rB  rX  rY  rZ  r[  r\  r]  ra  rd  r   r/  r   r   rn   r†  r'  rT  r   rL  rM  ra   r	   rQ  rf   rR  rc   rS  rT  rU  rV  rë   rì   rû   r©  rG  rî  rï  rW  rÕ  rK  rh  rÏ  rÒ  r  r  r  s   @rÒ   r  r  g  su  ø€ € € € € Ø=Ð=ð"ð ð"ð 
ð	"ð "ð "ð "ð "ð "ðð ð ð0
ð 
ð 
ð Ø€YÔ˜ÑÔð

ð 

ñ Ôñ „\ð

ðð ð ðð ð ð ð;ð ;ñ „[ð;ð Ø€YÔ˜ÑÔð#ð #ñ Ôñ „[ð#ðJ+¨¬
ð +ð +ð +ð +ð
I 'Ô"7ð Ið Ið Ið Ið<ð <ð <ð
ð 
ð 
ð Ø€YÔ˜ÑÔð à	ˆc�8Ð.°Ð4°oÐEÔFÐFÔ	Gð ð  ð  ñ Ôñ „[ð ðD{
1ð {
1ð {
1ðzP sð Pð Pð Pð PðW 5¨°°lÀJÐ)NÔ#Oð Wð Wð Wð Wðr	H¨ð 	Hð 	Hð 	Hð 	HðH¨ð Hð Hð Hð Hð< e¨E°5¨LÔ&9ð <ð <ð <ð <ð0 u¤|ð 0¸Dð 0ð 0ð 0ð 0ð ` ¤¤ð `ð `ð `ð `ðD!ð !ð !ðF°e´lð ð ð ð ðO ¤ð Oð Oð Oð OðbF&ð F&ð F&ðPfð fð fðPIð Ið IðV9ð 9ð 9ð 9ð 9ð 9ð 9rÛ   r  c                 ó”  — t          | t          ¦  «        r| j        }n/t          | t          ¦  «        r| j        }nt          d| › �¦  «         g }t          j        |¦  «        D ]W}d }| j        r(t          t          | j        d¦  «        |j        ¦  «        }|                     t          ||¬¦  «        ¦  «         ŒXt          |¦  «        S )Nz)Dataclass fields handling fails for type Ú__dataclass_fields__r6  )ræ   rÇ   r+  ry   rª  r-   rƒ  r„  rÞ   r>   r8   rö   rf  r—   )Úobjr+  râ  ÚfieldrÞ   s        rÒ   r  r  :  sÙ   € Ý�#Õ0Ñ1Ô1ð IØ”	ˆˆÝ	�CÕ/Ñ	0Ô	0ð IØ”ˆˆåÐGÀ#ÐGÐGÑHÔHÐHØ€EÝÔ# EÑ*Ô*ð Fð FˆØˆØŒ:ð 	Ý"Ý˜3œ:Ð'=Ñ>Ô>ÀÄ
ñô ˆFð 	�ŠÕ.¨u¸VÐDÑDÔDÑEÔEÐEÐEÝ˜ÑÔÐrÛ   c                 óÚ   — t          | t          j        ¦  «        rPt          | t          ¦  «        s;t          j        | ¦  «        rt          | ¦  «        |u s| j        st          | ¦  «        } | S rå   )ræ   rë   rì   r   Ú_is_functional_tensorr   rÝ  rQ   )r+  rY  s     rÒ   Ú_clone_inputr7  L  sr   € Ý�%�œÑ&Ô&ð 'õ �u�jÑ)Ô)ð
	'õ Ô+¨EÑ2Ô2ð	
	'õ
 (¨Ñ.Ô.°)Ð;Ð;àŒð <õ
   Ñ&Ô&ˆEà€LrÛ   r   c                 ó’   — | |||dœ|¥}|€t          ddt          i|¤ŽS t          ddt          i|¤Ž}|                     | ¦  «         |S )N)r	  rq  r€  r�  r  rÚ   )rŒ  rº   r¿   Úinstall_global)r	  rq  r€  r�  rí  Úkwargsrj  s          rÒ   rå  rå  ^  sy   € ð ØØ&Ø&ð	ð ð
 ð€Fð ÐÝ ÐEÐE­NÐE¸fÐEÐEÐEå"ÐUÐUÕ.JÐUÈfÐUÐUˆØ×Ò˜bÑ!Ô!Ð!ØˆrÛ   c                 óÔ   — | j         r`t          j                             ¦   «         5  t	          || j        ¦  «        |j        j        |j        <   d d d ¦  «         d S # 1 swxY w Y   d S d S rå   )	r¹  rë   r  ÚDisableTorchFunctionSubclassr7  rY  ÚtracerÚreal_value_cacher  r  s      rÒ   rä  rä  p  s²   € Ø	„yð õ ŒX×2Ò2Ñ4Ô4ð 	ð 	Ý8DØ˜rœ|ñ9ô 9ˆEŒLÔ)¨%¬*Ñ5ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð	ð s   ¦(AÁAÁ"Ac                 ó¦   — |€t          | ||||fi |¤ŽS t          |t          j        ¦  «        rt	          | ||||fi |¤ŽS t          |||||| ¦  «        S rå   )Ú_wrap_fx_proxyræ   rë   rì   Ú_wrap_fx_preexisting_tensorÚhandle_traced_output)r  r	  rq  r€  r�  rí  s         rÒ   rŒ  rŒ  §  s•   € ð ÐÝØ˜˜E =°-ð
ð 
ØCJð
ð 
ð 	
õ 
�M¥5¤<Ñ	0Ô	0ð 

Ý*Ø˜˜E =°-ð
ð 
ØCJð
ð 
ð 	
õ $Ø˜2˜u g¨}¸jñ
ô 
ð 	
rÛ   c                 óB  — ddl m} t          |t          j        ¦  «        sJ dt          |¦  «        › �¦   «         ‚t          ||¦  «        sJ ‚d|v r-|d         �%|j        j                             |d         ¦  «         |j	        j
        dk    rd|j	        j        v sJ d|› d�¦   «         ‚n)d|j	        j        vsJ |j	        j        d         › ¦   «         ‚t          j        j                             ¦   «         5  t          |¦  «        |j        u rn¯t#          |||¦  «         |j        r]t          j                             ¦   «         5  t+          ||j        ¦  «        |j        j        |j	        <   d d d ¦  «         n# 1 swxY w Y   d	| t0          t2          fv i}d
|v r|d
         €J ‚|d
         |d
<   t5          |fd|i|¤Ž}|j        j        dk    r(t          |¦  «        |j        urt9          d|› �¦  «        ‚d d d ¦  «         n# 1 swxY w Y   t;          |||||| ¦  «        S )Nr&   ©ÚInstructionTranslatorBasez1_wrap_fx_preexisting_tensor expected tensor, got r@  Úplaceholderr€  zplaceholder z* doesn't have 'example_value' in node.metarâ   rÞ   r	  r5  zN`tensor` needs to be a `FakeTensor`wrapped by this instance of Dynamo. Found: )r  rE  ræ   rë   rì   r2  r
  r@  r,  r  Úopr5  r¾  r^  Ú+_disable_saved_tensors_hooks_during_tracingr   rY  rä  r¹  r  r<  r7  r=  r>  rº   r¿   rã  r  r,   rB  )r  r	  rq  r&  r�  rí  rE  r:  s           rÒ   rA  rA  ¼  s  € ð =Ð<Ð<Ð<Ð<Ð<åØ•”ñô ð Jð JàI½4À¹<¼<ÐIÐIñJô Jð õ �bÐ3Ñ4Ô4Ð4Ð4Ð4Ø�7ÐÐ˜w xÔ0Ð<Ø
Œ	Ô×Ò ¨Ô 1Ñ2Ô2Ð2ð „z„}˜Ò%Ð%à˜uœzœÐ.Ð.Ð.ØK˜%ÐKÐKÐKñ /Ô.Ð.Ð.ð  5¤:¤?Ð2Ð2Ð2ØŒjŒo˜oÔ.Ð0ñ 3Ô2Ð2õ 
ŒÔ	×	HÒ	HÑ	JÔ	Jð  ð  å˜vÑ&Ô&¨"¬,Ð6Ð6Øå(¨¨U°FÑ;Ô;Ð;ØŒyð õ ”X×:Ò:Ñ<Ô<ð ð Ý@LØ ¤ñAô A�E”LÔ1°%´*Ñ=ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ˜ZÝ"Õ$@ÐAðBðˆFð ˜wÐ&Ð&¨7°8Ô+<Ð+HÐ+HÐHØ& xÔ0ˆF�8ÑÝ3°FÐLÐL¸rÐLÀVÐLÐLˆFàŒ=Ô Ò'Ð'Ý Ñ'Ô'¨r¬|Ð;Ð;å*ðGØ>DðGð Gñô ð ð; ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õD   ¨¨E°7¸MÈ:ÑVÔVÐVs8   Ã7AHÅ(E9Å-HÅ9E=	Å=HÆ E=	ÆA5HÈHÈ	Hc                 ó²  — ddl m} t          ||¦  «        sJ ‚d|v r-|d         �%|j        j                             |d         ¦  «         d|j        j        vsJ |j        j        d         › ¦   «         ‚t          j	        j
                             ¦   «         5  t          |j        |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |||||| ¦  «        S )Nr&   rD  r@  r€  T)Úallow_non_graph_fake)r  rE  ræ   r
  r@  r,  r  r5  rë   r¾  r^  rH  rS   rB  )r  r	  rq  r€  r�  rí  rE  s          rÒ   r@  r@  û  sA  € ð =Ð<Ð<Ð<Ð<Ð<å�bÐ3Ñ4Ô4Ð4Ð4Ð4Ø�7ÐÐ˜w xÔ0Ð<Ø
Œ	Ô×Ò ¨Ô 1Ñ2Ô2Ð2à %¤*¤/Ð1Ð1Ð1°e´j´oÀoÔ6VÐ3XÑ1Ô1Ð1õ 
ŒÔ	×	HÒ	HÑ	JÔ	Jð Rð Rõ ' u¤z°2ÈDÐQÑQÔQˆð	Rð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rõ  Ø�r˜5 '¨=¸*ñô ð s   ÂB:Â:B>ÃB>c                 ó   — dd l }dd l}dd l}t          | |j        ¦  «        �r
t          | |j        j        ¦  «        }t          | |j        j        ¦  «        }t          | |j	        ¦  «        } t          |j        | ¦  «         |j        j                             | |¦  «         |                     | ¦  «        }	t          | |j        j        j        ¦  «        r:| j	        |j	        u r,|r|n|j        }
|r|j        j        n|r|j        j        n|
|	d<   |                     |	¦  «          ||fi |¤ŽS t)          |j        j        d¦  «        r>|j        j        j        dk    r)t          |j        j        j        |j        j        ¦  «        s|j        j        |j        j        k    rt9          |j        j        ¦  «        S |j        j        |j        j        k    s|j        j        |j        j        k    rtA          | ¦  «        S tC          | |j"        ¦  «        r2tG          d„ | D ¦   «         ¦  «        rd„ | D ¦   «         }tI          |fi |¤ŽS t          | tJ          tL          f¦  «        �r¸t          |j        | ¦  «         g }tO          | ¦  «        D ]É\  }}|€%| (                    tS          j*        d!i |¤Ž¦  «         Œ,|j+         ,                    dtZ          j.        ||fi ¬¦  «        }d	|v rIt          | tL          ¦  «        sJ ‚|d	         }| /                    ¦   «         }ta          ||d
¬¦  «        |d	<   n|}| (                    tc          d"||||dœ|¤Ž¦  «         ŒÊt          | |j"        ¦  «        rtI          ||fi |¤ŽS tC          | tJ          ¦  «        rte          |fi |¤ŽS tC          | tL          tf          f¦  «        rti          |fi |¤ŽS | j5        j6        dk    s7t)          | d¦  «        s'J d| j5        j6        › dto          | ¦  «        › �¦   «         ‚tq          || j5        fi |¤ŽS | �|j        j        |j9        u rtS          j*        d!i |¤ŽS t          | |j:        |j;        |j<        f¦  «        rC|j        j                             | |¦  «         t          |j        | ¦  «         t{          || fi |¤ŽS t}          j?        |j        j        ¦  «        rt�          |j        j        |jA        ¦  «        s$|j        j        d„ t…          ¦   «         D ¦   «         v r)t          |j        | ¦  «         t‡          || | jD        fi |¤ŽS t}          j?        |j        j        ¦  «        rt�          |j        j        |jE        ¦  «        s$|j        j        d„ t…          ¦   «         D ¦   «         v r#t          |j        | ¦  «         t�          || fi |¤ŽS |j        j        dk    r2|j        jG        dk    r"t          |j        | ¦  «         tS          | fi |¤ŽS | �Xt          | |jE        ¦  «        rC|j        j        dk    r3|j        jG        dk    r#t          |j        | ¦  «         t�          || fi |¤ŽS t          | t�          ¦  «        rÐ|j        j        |jI        t”          tZ          j.        |jK        jL        |jM        tZ          jN        |jO        jP        jQ        t•          |jR        dt¦          ¦  «        t•          |jR        dt¦          ¦  «        |jT        f
v s|j        jG        dk    r5|j        j        dv r't          |j        | ¦  «         tS          j*        | fi |¤ŽS t          | |jU        j        jV        ¦  «        r$ddlWmX} t          |j        | ¦  «          ||fi |¤ŽS t          | t²          ¦  «        r’|j        j        |j        jZ        |jU        j        j[        |jU        j        j\        |jU        j        j]        dgtM          t½          j_        ¦   «         ¦  «        z   v r't          |j        | ¦  «         tS          j*        | fi |¤ŽS t          | t�          tÀ          t²          f¦  «        r:|j        j        tÂ          u r't          |j        | ¦  «         tS          j*        | fi |¤ŽS t          | tÀ          ¦  «        s|j        j        dv r't          |j        | ¦  «         tS          j*        | fi |¤ŽS tÅ          dtÇ          | ¦  «        › d|j        jG        › d|j        j        › �z   d¬ ¦  «         d S )#Nr   Ú
class_typer×   Ú	set_statec              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rå   )ræ   r/  r°  s     rÒ   r  z'handle_traced_output.<locals>.<genexpr>C	  s=   è è € ð 3ð 3Ø �
�1•cÑÔð3ð 3ð 3ð 3ð 3ð 3rÛ   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÚ   r|  r°  s     rÒ   r<  z(handle_traced_output.<locals>.<listcomp>F	  s$   € ÐCÐCÐC°Õ!Ô(¨Ñ+Ô+ÐCÐCÐCrÛ   r  )ÚkindÚtargetr¶  r:  rÞ   Fr‚  rø  ztorch.return_typesÚ_fieldsz	expected z. == torch.return_types or named tuple but got c                 ó"   — g | ]\  }}|j         ‘ŒS rÚ   )Úcurrent_stream©r  r  Údevice_interfaces      rÒ   r<  z(handle_traced_output.<locals>.<listcomp>†	  s0   € ð ð ð áˆAÐð 	Ô'ðð ð rÛ   c                 ó"   — g | ]\  }}|j         ‘ŒS rÚ   )r  rU  s      rÒ   r<  z(handle_traced_output.<locals>.<listcomp>�	  s0   € ð ð ð áˆAÐð 	Ôðð ð rÛ   Úqueryr  Úrecord_eventÚget_rankÚget_world_size)Ú
bit_lengthrk   r´   Ú
is_integer)ÚhexÚ	__round__ztorch.* op returned non-Tensor ú Úunsupported_operator)Ú	case_namerå   rÚ   )dÚtorch._functorch.vmapÚtorch._subclasses.fake_tensorÚtorch._utilsræ   rì   rG  rH  rM  r7  rY  rd   r  r
  Úcurrent_tracerÚtrack_unbacked_symbolsÚ
specializerü   rá   r   r,  rÐ   rQ  r×   rº  r  Ú	GeneratorrB  Úset_rng_stater½   Ú_DisableFuncTorchr  Ú_is_in_bad_forkrÇ   r_   rP  rê  r”   rL  rM  rá  rf  rp   r{  r=  r  ÚoperatorÚgetitemr›  r>   rŒ  r—   r"   r�   r  rØ   r2  r‘   Úmanual_seedr   ÚSymFloatr*  r¸   r  r  rK  r  r+   rw   r  r  rs   rG  r/  Úsym_intr˜  Ú_utilsÚ_element_sizeÚseedÚmodr(  ÚvmapÚ_validate_and_get_batch_sizerÄ  rÕ   Ú_constrain_as_sizeÚbackendsÚ
SDPAParamsÚsdparµ   rû   Ú _are_functorch_transforms_activeÚis_flash_attention_availableÚcan_use_flash_attentionÚcan_use_efficient_attentionr·   rë  rÑ  r   r-   rl   )r€  r	  rq  rí  r�  r  rë   Úis_parameterÚ	is_bufferÚspecialized_propsÚtensor_typeÚsizesÚunpackedr›  ÚvalÚproxy_irÞ   Ú	options_irµ   s                      rÒ   rB  rB  	  s
  € Ø Ð Ð Ð Ø(Ð(Ð(Ð(ØÐÐÐå�- ¤Ñ.Ô.ñ A
Ý! -°´Ô1CÑDÔDˆÝ˜}¨e¬h¬oÑ>Ô>ˆ	õ
 % ]°B´LÑAÔAˆÝ˜%œ* mÑ4Ô4Ð4ð
 	Œ	Ô ×7Ò7¸ÀuÑMÔMÐMØ&×1Ò1°-Ñ@Ô@Ðõ �} eÔ&7Ô&CÔ&NÑOÔOð	àÔ'¨2¬<Ð7Ð7à+8ÐJ˜-˜-¸e¼lˆKð  ð!�”Ô"Ð"ð ð!�U”X”_�_à ð ˜lÑ+ð 	�ŠÐ(Ñ)Ô)Ð)Øˆz˜%Ð+Ð+ 7Ð+Ð+Ð+å�”
Ô! :Ñ.Ô.ðb
àŒJÔÔ&¨+Ò5Ð5Ý�u”zÔ(Ô1°5´8Ô3EÑFÔFð 6àŒ:Ô ¤Ô :Ò:Ð:å+¨E¬JÔ,=Ñ>Ô>Ð>àŒ
Ô˜UœXÔ7Ò7Ð7ØŒ:Ô ¤
Ô :Ò:Ð:å(¨Ñ7Ô7Ð7Ý	�˜uœzÑ	*Ô	*ð V
­sð 3ð 3Ø$1ð3ñ 3ô 3ñ 0ô 0ð V
ð DÐC°]ÐCÑCÔCˆÝ˜EÐ-Ð- WÐ-Ð-Ð-Ý	�M¥E­4 =Ñ	1Ô	1ñ Q
Ý˜%œ* mÑ4Ô4Ð4ØˆÝ Ñ.Ô.ð $	ð $	‰FˆAˆsØˆ{à—’Ý$Ô+Ð<Ð<°GÐ<Ð<ñô ð ð ð  œ,×3Ò3Ø(Ý#Ô+Ø ˜Øð	 4ñ ô �ð ˜wÐ&Ð&õ & mµTÑ:Ô:Ð:Ð:Ð:Ø$ XÔ.�FØ '§¢¡¤�IÝ*7Ø#¨1¸Uð+ñ +ô +�I˜hÑ'Ð'ð
 !(�Ið —’Ý%ð Ø#-ØØ%Ø&)ð	ð ð
 $ðð ñô ð ð õ �m U¤ZÑ0Ô0ð 	Tõ   ¨%Ð;Ð;°7Ð;Ð;Ð;Ý�M¥5Ñ)Ô)ð 	TÝ  Ð5Ð5¨WÐ5Ð5Ð5Ý�M¥D­.Ð#9Ñ:Ô:ð 	TÝ Ð4Ð4¨GÐ4Ð4Ð4à Ô*Ô5Ð9MÒMÐMÕQXØ˜yñRô RÐMÐMð C˜=Ô2Ô=ð  Cð  CÕmqÐrñ  nAô  nAð  Cð  Cñ NÔMð õ & h°Ô0GÐSÐSÈ7ÐSÐSÐSØ	Ð	 %¤*Ô"3°uÔ7HÐ"HÐ"HÝÔ&Ð7Ð7¨wÐ7Ð7Ð7Ý	�M E¤L°%´.À%Ä-Ð#PÑ	QÔ	Qð Z
Ø
Œ	Ô ×7Ò7¸ÀuÑMÔMÐMÝ˜%œ* mÑ4Ô4Ð4Ý˜u mÐ?Ð?°wÐ?Ð?Ð?åŒ˜œ
Ô)Ñ*Ô*ðV
å�u”zÔ(¨%¬,Ñ7Ô7ðV
ð 
ŒÔ	ð ð å#CÑ#EÔ#Eðñ ô ð 
ð 
õ 	˜%œ* mÑ4Ô4Ð4Ý˜e ]°MÔ4HÐTÐTÈGÐTÐTÐTåŒ˜œ
Ô)Ñ*Ô*ðM
å�u”zÔ(¨%¬+Ñ6Ô6ðM
ð 
ŒÔ	ð ð å#CÑ#EÔ#Eðñ ô ð 
ð 
õ 	˜%œ* mÑ4Ô4Ð4Ý˜U MÐ=Ð=°WÐ=Ð=Ð=Ø	ŒÔ	˜gÒ	%Ð	%¨%¬*¬-¸=Ò*HÐ*HÝ˜%œ* mÑ4Ô4Ð4Ý Ð9Ð9°Ð9Ð9Ð9àÐ!Ý�} e¤kÑ2Ô2ð 	"àŒJÔ Ò/Ð/ØŒJŒM˜]Ò*Ð*å˜%œ* mÑ4Ô4Ð4Ý˜U MÐ=Ð=°WÐ=Ð=Ð=Ý	�M¥3Ñ	'Ô	'ð 9
ØŒ
ÔàŒMÝÝÔØŒLÔ&ØŒJÝŒLØÔÔ!Ô>å�EÔ% zµ8Ñ<Ô<Ý�EÔ%Ð'7½ÑBÔBð Ô$ð
ð	
ð 	
ð$ ŒJŒM˜]Ò*Ð*Ø”
Ô! ^Ð3Ð3õ 	˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@Ý	�M 5¤>Ô#6Ô#AÑ	BÔ	Bð  
Ø,Ð,Ð,Ð,Ð,Ð,å˜%œ* mÑ4Ô4Ð4Ø!Ð! %Ð3Ð3¨7Ð3Ð3Ð3Ý	�M¥4Ñ	(Ô	(ð 
ØŒ
ÔàŒHÔ5ØŒNÔÔ<ØŒNÔÔ7ØŒNÔÔ;Øð
õ Õ3Ô8Ñ:Ô:Ñ
;Ô
;ñ<ð	<ð 	<õ 	˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@å�=¥3­­tÐ"4Ñ5Ô5ð
àŒJÔ¥Ð/Ð/å˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@Ý	�M¥5Ñ	)Ô	)ð 
¨U¬ZÔ->ÐBVÐ-VÐ-VÝ˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@åØ-Ý˜Ñ'Ô'ÐMÐM¨%¬*¬-ÐMÐM¸%¼*Ô:KÐMÐMñNà,ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
rÛ   c                  óâ   — t           j        dk    rt          j        S t           j        dk    rt          j        S t           j        dk    rt          j        S t          dt           j        › �¦  «        ‚)NÚdynamicÚunbackedÚ	obliviousz+invalid automatic_dynamic_shapes_mark_as = )r'   Ú automatic_dynamic_shapes_mark_asr   r0  ÚSIZE_LIKE_UNBACKEDÚOBLIVIOUS_SIZErý  rÚ   rÛ   rÒ   r  r  Ü	  sg   € ÝÔ.°)Ò;Ð;ÝÔ!Ð!Ý	Ô	0°JÒ	>Ð	>ÝÔ,Ð,Ý	Ô	0°KÒ	?Ð	?ÝÔ(Ð(åØc½&Ô:aÐcÐcñ
ô 
ð 	
rÛ   c                   óf   — e Zd ZU eeef         ed<   eed<   ee	         ed<   de
fd„Zdedefd„ZdS )	r:  ÚfakerÞ   Úsymbolic_contextr   c                 ó\   — t          | j        | j                             ¦   «         f¦  «        S rå   )Úhashr‘  rÞ   rö   rí   s    rÒ   Ú__hash__zTrackedFake.__hash__ò	  s%   € Ý�T”Y ¤× 0Ò 0Ñ 2Ô 2Ð3Ñ4Ô4Ð4rÛ   rø   c                 ó´   — t          |t          ¦  «        rB| j        |j        u o3| j                             ¦   «         |j                             ¦   «         k    S dS )NF)ræ   r:  r‘  rÞ   rö   r÷   s     rÒ   rù   zTrackedFake.__eq__õ	  sO   € Ý�e�[Ñ)Ô)ð 	YØ”9 ¤
Ð*ÐX¨t¬{×/?Ò/?Ñ/AÔ/AÀUÄ\×EVÒEVÑEXÔEXÒ/XÐXØˆurÛ   N)r×   rØ   rÙ   r   r   r   rú   rG   r
   r    r/  r•  Úobjectrû   rù   rÚ   rÛ   rÒ   r:  r:  ë	  sƒ   € € € € € € à
�
˜FÐ"Ô
#Ð#Ð#Ñ#Ø€N€N�Nà˜Ô/Ð/Ð/Ñ/ð5˜#ð 5ð 5ð 5ð 5ð˜Fð  tð ð ð ð ð ð rÛ   r:  Fc           
      ój  ‡.‡/‡0‡1‡2‡3— | j         r8t          | t          j        j        j        j        ¦  «        st          d¦  «         |                     ¦   «         }|j	        j
        j                             | d ¦  «        }|r|j        nd }d }|                      ¦   «         r't          |d¦  «        }	t!          | j        ||	|¦  «        }t%          | ¦  «        r¬|sªt!          | |||d¬¦  «        }
i }t'          | ¦  «                             | ¦  «        \  }}|D ]7}t+          | |¦  «        }t          ||¦  «        }t!          ||||¦  «        ||<   Œ8t-          |
j        |
j        |
j        |
j        ||
j        |
j        |¬¦  «        S |r‚t9          t:          j        g|                      ¦   «         z  t:          j         g|                      ¦   «         z  d g|                      ¦   «         z  d g|                      ¦   «         z  |||¬¦  «        S ddl!m"Š2 tG          ˆ2fd	„|  $                    ¦   «         D ¦   «         ¦  «        r~t9          d
„ |  $                    ¦   «         D ¦   «         t:          j         g|                      ¦   «         z  d g|                      ¦   «         z  d g|                      ¦   «         z  |||¬¦  «        S |  $                    ¦   «         Š/tK          | ¦  «        �sM|  &                    ¦   «         Š0|                      ¦   «         }d g|z  Š3tG          d„ ‰3D ¦   «         ¦  «        �rˆ/ˆ0ˆ3fd„tO          |¦  «        D ¦   «         }tQ          ˆ0ˆ3fd„tO          |¦  «        D ¦   «         tR          ¬¦  «        }|D ]I\  }Š1‰3‰1         €<‰0‰1         |v r2|‰0‰1                  ‰3‰1<   tU          ‰1¦  «        |‰0‰1         ‰/‰1         z  <   ŒJtG          d„ ‰3D ¦   «         ¦  «        r8tW          ˆ0ˆ3fd„tO          |¦  «        D ¦   «         tR          ¬¦  «        \  }Š1|‰3‰1<   tG          d„ ‰3D ¦   «         ¦  «        �°ng Š3tY          ||t[          j.        t_          ‰/¦  «        t_          ‰3¦  «        ¦  «        ¦  «        }ta          | ¦  «        }i Š.ˆ.fd„}ddl1m2} |j	        j3        rG|j	        j3        D ]:}t          ||¦  «        rŒ|j4        |k    r ||j        |j5        |j        ¦  «         Œ;g }g }g }g }tO          |                      ¦   «         ¦  «        D �]Š1‰1t+          | dtm          ¦   «         ¦  «        v }‰1t+          | dtm          ¦   «         ¦  «        v }‰1t+          | dtm          ¦   «         ¦  «        v } ‰1t+          | dtm          ¦   «         ¦  «        v }!|rZtn           8                    d|¦  «         tr          g|                      ¦   «         z  }"tt          |"‰1<   |t[          j;        |"¬¦  «        z  }tx          j=        o| >                    ‰1¦  «        }#tx          j=        o| ?                    ‰1¦  «        }$|#p|$}%‰.                     ‰1¦  «        }|€Ôd }&d }'|r tx          j@        s”d }'tƒ          | d¦  «        rqˆ1fd„| jB        D ¦   «          C                    ¦   «         }(|(j+        €|(jD        €t‹          d¬¦  «        }&n�ddl!mF})  |)t�          |(j+        |(jD        ¬¦  «        d¬¦  «        }&nbt‹          d¬¦  «        }&nQ|!s'|%r%|#rt‹          d¬¦  «        }&|$rt‹          d¬¦  «        }'n(d }&d }'n#|\  }&}*d }'|› d ‰1› d!�}+|*|j	        jH        jI        |+<   | J                    |&¦  «         | J                    |'¦  «         |rt:          jK        },np|&€'|s%| s# ‰2|  $                    ¦   «         ‰1         ¦  «        r|%rt™          ¦   «         },n6t:          jM        },n)|stx          jN        s|!rt:          j        },nt:          jO        },|'�t:          jM        }-nt:          j         }-| J                    |,¦  «         | J                    |-¦  «         �Œt9          |||||||¬¦  «        S )"NrÙ  rÛ  T)Ú
outer_only)Údynamic_sizesÚdynamic_stridesÚconstraint_sizesÚconstraint_stridesÚview_base_contextÚtensor_sourceÚ#shape_env_to_source_to_symbol_cacheÚinner_contexts)rš  r›  rœ  r�  rž  rŸ  r   r   )Úis_nested_intc              3   óZ   •K  — | ]%}t          |t          ¦  «        o ‰|¦  «         V — Œ&d S rå   )ræ   r   )r  Úsr¢  s     €rÒ   r  z%_automatic_dynamic.<locals>.<genexpr><
  s?   øè è € Ð
LÐ
L¸a�:�a�Ñ Ô Ð9¨¨°qÑ)9Ô)9Ð%9Ð
LÐ
LÐ
LÐ
LÐ
LÐ
LrÛ   c                 óh   — g | ]/}t          |t          ¦  «        rt          j        nt          j        ‘Œ0S rÚ   )ræ   r   r   r0  ÚSTATIC)r  r¤  s     rÒ   r<  z&_automatic_dynamic.<locals>.<listcomp>>
  sB   € ð ð ð àõ '1°µFÑ&;Ô&;ÐR•
Ô"Ð"ÅÔARðð ð rÛ   c              3   ó   K  — | ]}|d u V — Œ	d S rå   rÚ   r°  s     rÒ   r  z%_automatic_dynamic.<locals>.<genexpr>S
  s&   è è € Ð,Ð, �!�t�)Ð,Ð,Ð,Ð,Ð,Ð,rÛ   c                 óv   •— i | ]5}‰|         ®
‰|         dk    ¯‰|         ‰|         z  t          |¦  «        “Œ6S )Nr   )r4   )r  r›  Úex_sizeÚ	ex_strideÚstrides     €€€rÒ   rž  z&_automatic_dynamic.<locals>.<dictcomp>T
  sP   ø€ ð ð ð àØ˜!”9Ð(¨Y°q¬\¸QÒ->Ð->ð ˜”
˜Y qœ\Ñ)­;°q©>¬>à->Ð->Ð->rÛ   c                 ó4   •— g | ]}‰|         ­
‰|         |f‘ŒS rå   rÚ   ©r  r›  rª  r«  s     €€rÒ   r<  z&_automatic_dynamic.<locals>.<listcomp>Z
  s+   ø€ ÐLÐLÐL q¸&À¼)Ð:K�)˜A”, Ð"Ð:KÐ:KÐ:KrÛ   )r£  c              3   ó   K  — | ]}|d u V — Œ	d S rå   rÚ   r°  s     rÒ   r  z%_automatic_dynamic.<locals>.<genexpr>b
  s&   è è € Ð-Ð- �1˜�9Ð-Ð-Ð-Ð-Ð-Ð-rÛ   c                 ó4   •— g | ]}‰|         ­
‰|         |f‘ŒS rå   rÚ   r­  s     €€rÒ   r<  z&_automatic_dynamic.<locals>.<listcomp>e
  s+   ø€ ÐPÐPÐP¨1¸fÀQ¼iÐ>O�i ”l AÐ&Ð>OÐ>OÐ>OrÛ   c                 óŽ   •— | ‰v r8ddl m} ‰|          \  }} ||j        |j        z  d¬¦  «        }|p|}||f‰| <   d S ||f‰| <   d S )Nr   ©ÚStrictMinMaxConstraintF©ÚvrÚ	warn_only)Ú%torch.fx.experimental.symbolic_shapesr²  r´  )	ÚdimÚconstraint_rangerö   r²  Úold_constraint_rangeÚold_nameÚnew_constraint_rangeÚnew_nameÚdim2constraints	           €rÒ   Úupdate_dim2constraintz1_automatic_dynamic.<locals>.update_dim2constraintu
  s�   ø€ Ø�.Ð Ð ØTÐTÐTÐTÐTÐTà-;¸CÔ-@Ñ*Ð  (Ø#9Ð#9Ø#Ô&Ð)=Ô)@Ñ@Øð$ñ $ô $Ð ð  Ð' 4ˆHØ"6¸Ð"@ˆN˜3ÑÐÐà"2°DÐ"8ˆN˜3ÑÐÐrÛ   )Ú_RelaxedConstraintÚ_dynamo_unbacked_indicesÚ_dynamo_dynamic_indicesÚ_dynamo_weak_dynamic_indicesÚ_dynamo_static_indicesz#automatic dynamic %s marked dynamic)ÚsizeÚ_dynamo_dynamic_rangec                 ó*   •— g | ]}|j         ‰k    ¯|‘ŒS rÚ   )r·  )r  Údrr›  s     €rÒ   r<  z&_automatic_dynamic.<locals>.<listcomp>¿
  s'   ø€ ð !ð !ð !Ø!ÀÄÈ!ÂÀ˜ÀÀÀrÛ   F)rµ  r±  )ÚlowerÚupperr³  z.size()[ú])PrÝ  ræ   rë   rÞ  rß  rà  rá  r-   rö   r
  Útracing_contextÚtensor_to_contextrÛ  r   ræ  r8   Ú_automatic_dynamicrÛ  r#   r2  ré  r˜  r   rš  r›  rœ  r�  rŸ  r   r   r¦  r·  ÚINFER_STRIDEr¶  r¢  ÚanyrÄ  r   r«  rU  Úsortedr   r4   Úminr5   r3   Úmake_tensorrL  r  Útorch.export.dynamic_shapesr¿  Úexport_constraintsÚt_idr¸  rÓ  Úlogr¨  r2   r1   Ú	make_sizer'   r  Úis_size_dynamicÚis_stride_dynamicÚallow_ignore_mark_dynamicrÐ   rÅ  ÚpopÚmaxr   r²  r$   r-  Úsource_name_to_debug_namerf  rŽ  r  r0  r  ÚDUCK)4r  r	  rÞ   Ústatic_shapesr™  rö   Úprior_policyr   rž  Úbase_sourceÚouter_contextr¡  rð  r  rñ  Úinner_tensorró  r·  Ú
candidatesÚval_listr†  r  rÕ  r¾  r¿  Ú
constraintrš  r›  rœ  r�  Úmarked_unbackedÚmarked_dynamicÚmarked_weak_dynamicÚmarked_staticÚ	mark_sizeÚautomatic_dynamic_sizeÚautomatic_dynamic_strideÚautomatic_dynamicÚconstraint_sizeÚconstraint_strideÚ	dim_ranger²  Úname_Údim_nameÚdynamic_sizeÚdynamic_strider½  r©  rª  r›  r¢  r«  s4                                                 @@@@@@rÒ   rÍ  rÍ  ý	  s›	  øøøøøø€ ð 	„{ð M�:Ø	�5Œ<Ô!Ô/Ô<ñô ð Mõ 	ÐKÑLÔLÐLà�;Š;‰=Œ=€DØ”9Ô,Ô>×BÒBÀ1ÀdÑKÔK€Là<HÐRˆÔ8Ð8Èdð (ð
 48ÐØ‡z‚z�|„|ð XÝ  ¨Ñ1Ô1ˆÝ.¨q¬w¸¸KÈÑWÔWÐå$ QÑ'Ô'ð 
°
ð 
å*Øˆr�6˜=°Tð
ñ 
ô 
ˆð
 ˆÝ˜‘7”7×-Ò-¨aÑ0Ô0‰ˆˆqØð 	ð 	ˆDÝ" 1 dÑ+Ô+ˆLÝ% f¨dÑ3Ô3ˆLÝ#5Ø˜b ,°ñ$ô $ˆN˜4Ñ Ð õ 'Ø'Ô5Ø)Ô9Ø*Ô;Ø,Ô?Ø/Ø'Ô5Ø0=Ô0aØ)ð	
ñ 	
ô 	
ð 		
ð ð 	
Ý&Ý%Ô,Ð-°·²±´Ñ7Ý'Ô4Ð5¸¿º¹¼Ñ?Ø"˜V a§e¢e¡g¤gÑ-Ø $˜v¨¯ª©¬Ñ/Ø/Ø Ø0Sð
ñ 
ô 
ð 	
ð DÐCÐCÐCÐCÐCå
Ð
LÐ
LÐ
LÐ
LÀ1Ç6Â6Á8Ä8Ð
LÑ
LÔ
LÑLÔLð 
Ý&ðð àŸš™œðñ ô õ (Ô4Ð5¸¿º¹¼Ñ?Ø"˜V a§e¢e¡g¤gÑ-Ø $˜v¨¯ª©¬Ñ/Ø/Ø Ø0Sð
ñ 
ô 
ð 	
ð  �fŠf‰hŒh€GÝ˜ÑÔñ Ø—H’H‘J”Jˆ	Ø�eŠe‰gŒgˆà�˜#‘ˆÝÐ,Ð, VÐ,Ñ,Ô,Ñ,Ô,ñ 	 ðð ð ð ð ð å˜s™œðñ ô ˆJõ
 ØLÐLÐLÐLÐL­E°#©J¬JÐLÑLÔLÝ*ðñ ô ˆHð !ð Kð K‘��1Ø˜!”9Ð$¨°1¬¸Ð)CÐ)CØ *¨9°Q¬<Ô 8�F˜1‘IÝ<GÈ¹N¼N�J˜y¨œ|¨g°a¬jÑ8Ñ9øåÐ-Ð- fÐ-Ñ-Ô-Ñ-Ô-ð  åØPÐPÐPÐPÐPµ°c±
´
ÐPÑPÔPÝ.ðñ ô ‘��Qð  ��q‘	õ+ Ð,Ð, VÐ,Ñ,Ô,Ñ,Ô,ñ 	 øð. ˆå1Ø
ˆDÕ%Ô1µ%¸±.´.Å%ÈÁ-Ä-ÑPÔPñô Ðõ ˆa‰5Œ5€DØ€Nð9ð 9ð 9ð 9ð 9ð  ?Ð>Ð>Ð>Ð>Ð>à	„yÔ#ð Øœ)Ô6ð 	ð 	ˆJÝ˜*Ð&8Ñ9Ô9ð ØØŒ $Ò&Ð&Ø%Ð%Ø”N JÔ$?ÀÄñô ð øð €MØ€OØÐØÐÝ�1—5’5‘7”7‰^Œ^ð f/ñ f/ˆà�w qÐ*DÅcÁeÄeÑLÔLÐLˆØ�g aÐ)BÅCÁEÄEÑJÔJÐJˆØ¥7¨1Ð.LÍcÉeÌeÑ#TÔ#TÐTÐØ�W QÐ(@Å#Á%Ä%ÑHÔHÐHˆð ð 	Oõ
 �IŠIÐ;¸TÑBÔBÐBÝ#˜ q§u¢u¡w¤wÑ.ˆIÝ'ˆI�a‰LØÕ!4Ô!>ÀIÐ!NÑ!NÔ!NÑNÐõ Ô+ÐTÐ0A×0QÒ0QÐRSÑ0TÔ0Tð 	õ Ô+ÐVÐ0A×0SÒ0SÐTUÑ0VÔ0Vð 	!ð 3ÐNÐ6NÐð
 $×'Ò'¨Ñ*Ô*ˆ
ØÐØ"ˆOØ $ÐØð )¥fÔ&Fð )à$(Ð!Ý˜1Ð5Ñ6Ô6ð Oð!ð !ð !ð !Ø%&Ô%<ð!ñ !ô !ç’c‘e”eð ð !”}Ð,°´Ð1FÝ*AÈEÐ*RÑ*RÔ*R˜˜ðð ð ð ð ð ð +AÐ*@Ý*°´ÀiÄmÐTÑTÔTØ&+ð+ñ +ô +˜˜õ
 '>ÈÐ&NÑ&NÔ&N�O�OØ"ð )Ð'8ð )Ø)ð NÝ&=ÈÐ&MÑ&MÔ&M�OØ+ð PÝ(?È$Ð(OÑ(OÔ(OÐ%øà"&�Ø$(Ð!Ð!à%/Ñ"ˆO˜UØ $ÐØÐ,Ð,¨Ð,Ð,Ð,ˆHØFKˆBŒIÔÔ9¸(ÑCØ×Ò Ñ0Ô0Ð0Ø×!Ò!Ð"3Ñ4Ô4Ð4àð 	+Ý%Ô8ˆLˆLàÐ'Øð (à"ð (ð ˆ}˜QŸVšV™XœX aœ[Ñ)Ô)ð (ð !ð 2ÝCÑEÔE��å)Ô1��Øð 	+�fÔ=ð 	+Àð 	+Ý%Ô,ˆLˆLõ &œ?ˆLàÐ(Ý'Ô/ˆNˆNå'Ô4ˆNà×Ò˜\Ñ*Ô*Ð*Ø×Ò˜~Ñ.Ô.Ð.Ñ.å"Ø#Ø'Ø)Ø-Ø+ØØ,Oðñ ô ð rÛ   )Úparent_contextrÞ   râ   c          
      óÌ  ‡ ‡‡‡— t          ‰ ¦  «        t          j        t          j        j        t
          fv s*t          ‰ t          j        ¦  «        st          ‰ ¦  «        �r‰€J ‚t          ‰ |‰¬¦  «        \  }}|st          ‰ ‰‰|¦  «        Šn+t          ‰t          ¦  «        sJ ‚‰j        }|j        |         Št                               d‰                     ¦   «         t!          ‰ j        ¦  «        ‰t          ‰ ¦  «        ¦  «         t%          ˆ ˆˆˆfd„¦  «        }‰�Yt          |t
          ¦  «        rD|j        x}	�;‰j        j                             t/          |	t1          ‰¦  «        ‰¦  «        ¦  «         t          |¦  «        rx|                     ¦   «         \  }
}|
D ]^}t5          ||¦  «        }t5          ‰ |¦  «        }t          ‰|¦  «        }t7          |‰|t          |t          j        ¦  «        ‰¬¦  «         Œ_‰‰j        j        j        ‰ <   t=          |¦  «        r‚|j        r|                      ¦   «         n| !                    ¦   «         }| "                    ¦   «         d|j#        z  | "                    ¦   «         | $                    ¦   «         dœ‰j        j%        ‰<   n6| "                    ¦   «         | $                    ¦   «         dœ‰j        j%        ‰<   |r…|r‰ &                    ¦   «         sotO          ‰¦  «        s`‰j        j                             t/          |‰‰¦  «        ¦  «         ‰j        j(        tS          ‰ ¦  «                                      ‰¦  «         |S ‰ S )N)rŸ  zwrap_to_fake %s %s %s %sc                  ó>   •— ‰j                              ‰ ‰‰¬¦  «        S )N)rÞ   r’  )rY  Úfrom_tensor)r  rÞ   r’  r	  s   €€€€rÒ   r  z0wrap_to_fake_tensor_and_record.<locals>.<lambda>-  s'   ø€ �B”L×,Ò,ØØØ!1ð -ñ ô € rÛ   )rÞ   râ   rö  )rk   )rÄ  r«  Úvalues_sizeÚvalues_stride)rÄ  r«  )*r2  rë   rì   rG  rH  r   ræ   r#   re   rÍ  r8   r  r¡  rÖ  r¨  rö   rL  Úshaperj   Ú	item_memor
  r9  rf  r:  r9   ré  r˜  rã  rË  rÌ  r   Ú	is_sparseÚ_valuesÚvaluesrÄ  Úndimr«  Úinput_source_to_sizes_stridesrÍ  r@   Útracked_fakes_id_to_sourcer  )r  r	  rÞ   râ   rö  rß  ÚreasonÚinner_context_nameÚfake_eÚsym_valrð  r  rñ  Ú
fake_innerÚinnerró  r   r’  s   ```              @rÒ   rã  rã    s�  øøøø€ õ 	ˆQ‰Œ•E”L¥%¤(Ô"4µjÐAÐAÐAÝ�a�œÑ&Ô&ð 	Bå(¨Ñ+Ô+ñ 	Bð Ð!Ð!Ð!Ý >ØØØ ð!
ñ !
ô !
Ñˆ�vð ð 	QÝ1°!°R¸ÀÑOÔOÐÐõ ˜f¥jÑ1Ô1Ð1Ð1Ð1Ø!'¤ÐØ-Ô<Ð=OÔPÐå�	Š	Ø&Ø�KŠK‰MŒMÝ�!”'‰NŒNØÝ�‰GŒGñ	
ô 	
ð 	
õ %ðð ð ð ð ð ð ñ
ô 
ˆð ÐÝ˜6¥:Ñ.Ô.ð à"Ô,Ð,�Ð9àŒIÔ#×*Ò*Ý˜GÕ%9¸&Ñ%AÔ%AÐCSÑTÔTñô ð õ )¨Ñ0Ô0ð 	Ø×0Ò0Ñ2Ô2‰HˆE�1Øð 
ð 
�Ý$ V¨TÑ2Ô2�
Ý  4Ñ(Ô(�Ý)¨&°$Ñ7Ô7�Ý.ØØØ'Ý(¨µU´\ÑBÔBØ#3ðñ ô ð ð ð :JˆŒ	Ô!Ô3°AÑ6Ý˜Ñ Ô ð 	ð *0Ô)9ÐN�V—^’^Ñ%Ô%Ð%¸v¿}º}¹¼ˆFàŸš™œð  ¤Ñ,Ø%Ÿ{š{™}œ}Ø!'§¢¡¤ð?ð ?ˆBŒIÔ3°FÑ;Ð;ð Ÿš™œØ Ÿ-š-™/œ/ð?ð ?ˆBŒIÔ3°FÑ;ð ð	Gà"ð	Gà'-×'FÒ'FÑ'HÔ'Hð	Gõ ' vÑ.Ô.ð	Gð
 ŒIÔ#×*Ò*Ý˜F FÐ,<Ñ=Ô=ñô ð ð ŒIÔ0µ°A±´Ô7×>Ò>¸vÑFÔFÐFàˆàˆrÛ   c                   óf   — e Zd ZdZd
d„Zedddefd„¦   «         Zed„ ¦   «         Zed	„ ¦   «         Z	dS )r³  a½  
    Like builder, but stateless and does not require a source. Useful for simple type->VT objects, or objects
    that are being created/evaporated during inlining (ex: consider a locally made list of tensors we then iterate over
    .), such a list should not show up as an artifact from inputs, nor in reconstruction, nor in the graph. However,
    there may be reasons to represent it as a ListVariable internally.

    NOTE - Objects produced here are born UNGUARDED due to the nature of sources!

    NOTE - This class is very new! It will have some rough edges, but it was created to stem the bleeding of giant
    if/else type->VariableTracker trees that were cropping up all over dynamo.
    r   Nc                 ó    — t          d¦  «        ‚)NzUse SourcelessBuilder.create()©r  rí   s    rÒ   r  zSourcelessBuilder.__init__y  s   € ÝÐ=Ñ>Ô>Ð>rÛ   r	  rÈ   c                 ó  — t          |¦  «        }t          j                             |¦  «        }|r || |¦  «        S t	          |t
          ¦  «        r|S t	          |t          j        ¦  «        rt          |¦  «        S t          j
        |¦  «        rt          j        |¦  «        S t          |¦  «        rLt          j        |¦  «        �8t          |¦  «        rd| j        _         t          j        |¦  «        |¦  «        S t%          |¦  «        r t          j        |¦  «        |¦  «        S t	          |t(          j        ¦  «        rt-          |¦  «        S t	          |t           t.          j        f¦  «        rt3          |¦  «        S t	          |t4          j        ¦  «        rt9          |¦  «        S t	          |t:          j        j        j         ¦  «        rtC          |¦  «        S t	          |t:          j"        j#        j$        t:          j"        j#        j%        f¦  «        rt          |¦  «        S tM          j'        |¦  «        rtM          |¦  «        S tQ          j)        |¦  «        rtQ          |¦  «        S t	          |tT          j+        ¦  «        rtY          |¦  «        S t	          |t:          j-        j.        j/        j0        ¦  «        r!t          j        tc          |¦  «        ¦  «        S te          d|j3        › d|j4        › �¦  «         d S )NTz&Unexpected type in sourceless builder ú.)5r2  r³  Ú_type_handlersrÛ  ræ   rn   rƒ  Ú_HAS_DEFAULT_FACTORY_CLASSrÇ   rp   r¡  r{  rþ  r*   r
  rJ   r
  r  rW   r&  ró  rô  rq   ÚabcÚABCMetarÆ   r¬  rJ  r£   rë   rº  Úgraph_moduleÚGraphModulerÅ   r^  r®  rG  ÚLeafSpecr�   r)  r   r&  rX  rY  rª   r¾  Ú	variablesÚlazyÚLazySymNodeFormatStringr  r-   rØ   rÙ   )r	  r+  Ú
value_typeÚfast_handlers       rÒ   r{  zSourcelessBuilder.create|  s·  € å˜%‘[”[ˆ
Ý(Ô7×;Ò;¸JÑGÔGˆØð 	+Ø�<  EÑ*Ô*Ð*å�e�_Ñ-Ô-ð  	7àˆLÝ˜�{ÔEÑFÔFð 	7Ý,¨UÑ3Ô3Ð3ÝÔ(¨Ñ/Ô/ð 	7Ý#Ô*¨5Ñ1Ô1Ð1Ý�e‰_Œ_ð 	7¥Ô!<¸UÑ!CÔ!CÐ!OÝ" 5Ñ)Ô)ð CØ>B�”	Ô;Ø5•;Ô.¨uÑ5Ô5°eÑ<Ô<Ð<Ý# EÑ*Ô*ð 	7Ø,•;Ô% eÑ,Ô,¨UÑ3Ô3Ð3Ý˜�tœyÑ)Ô)ð 	7Ý Ñ&Ô&Ð&Ý˜¥¥c¤kÐ2Ñ3Ô3ð 	7Ý+¨EÑ2Ô2Ð2Ý˜�uÔ6Ñ7Ô7ð 	7Ý(¨Ñ/Ô/Ð/Ý˜�uœxÔ4Ô@ÑAÔAð 	7Ý0°Ñ7Ô7Ð7ÝØ•E”KÔ'Ô0µ%´+Ô2EÔ2NÐOñ
ô 
ð 	7õ -¨UÑ3Ô3Ð3ÝÔ+¨EÑ2Ô2ð 	7Ý$ UÑ+Ô+Ð+ÝÔ.¨uÑ5Ô5ð 	7Ý% eÑ,Ô,Ð,Ý˜�rœzÑ*Ô*ð 	7Ý'¨Ñ.Ô.Ð.Ý˜�uœ}Ô6Ô;ÔSÑTÔTð 	7Ý#Ô*­3¨u©:¬:Ñ6Ô6Ð6ÝØf°ZÔ5JÐfÐfÈZÔMdÐfÐfñ	
ô 	
ð 	
ð 	
ð 	
rÛ   c                 óX   — t          j        | ¦  «        sJ ‚t          j        | ¬¦  «        S )Nrw  )rp   r¡  r{  rw  s    rÒ   Úwrap_constant_literalz'SourcelessBuilder.wrap_constant_literal¨  s-   € åÔ*¨5Ñ1Ô1Ð1Ð1Ð1ÝÔ&¨UÐ3Ñ3Ô3Ð3rÛ   c                  ód  ‡— t           j        Ši } t          D ]}d„ | |<   Œ	ˆfd„| t          <   ˆfd„| t          <   ˆfd„| t
          <   ˆfd„| t          <   ˆfd„| t          j        <   | t                   | t          j
        <   | t                   | t          <   | t
                   | t          <   d„ | t          j        <   d„ | t          j        <   d	„ | t          j        j        j        <   d
„ | t          j        j        j        <   d„ | t          j        j        j        <   dd„}t,          j        D ]}|| |<   Œ| S )Nc                 ó    — t          |¦  «        S rå   )rp   ©r	  r+  s     rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>²  s   € Õ,<¸UÑ,CÔ,C€ rÛ   c                 óZ   •‡ — t          ˆˆ fd„|D ¦   «         t          ¦   «         ¬¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS rÚ   rÚ   ©r  r±  r{  r	  s     €€rÒ   r<  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>´  ó#   ø€ Ð*Ð*Ð*˜qˆVˆV�B˜‰]Œ]Ð*Ð*Ð*rÛ   ©Úmutation_type)r~   rm   ©r	  r+  r{  s   ` €rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>³  s:   øø€ ­+Ø*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*Õ:JÑ:LÔ:Lð+
ñ +
ô +
€ rÛ   c                 óš   •‡ — t          ˆˆ fd„|                     ¦   «         D ¦   «         t          |¦  «        t          ¦   «         ¬¦  «        S )Nc                 óD   •— i | ]\  }} ‰‰|¦  «         ‰‰|¦  «        “ŒS rÚ   rÚ   )r  rœ  r�  r{  r	  s      €€rÒ   rž  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<dictcomp>·  s3   ø€ ÐDÐDÐD©d¨a°ˆVˆV�B˜‰]Œ]˜F˜F 2 q™MœMÐDÐDÐDrÛ   r$  )rx   râ  r2  rm   r&  s   ` €rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>¶  sL   øø€ Õ+<ØDÐDÐDÐDÐD°e·k²k±m´mÐDÑDÔDÝ�‰KŒKÝ*Ñ,Ô,ð,
ñ ,
ô ,
€ rÛ   c                 óZ   •‡ — t          ˆˆ fd„|D ¦   «         t          ¦   «         ¬¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS rÚ   rÚ   r"  s     €€rÒ   r<  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>¼  r#  rÛ   r$  )r�   rm   r&  s   ` €rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>»  s:   øø€ ­<Ø*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*Õ:JÑ:LÔ:Lð,
ñ ,
ô ,
€ rÛ   c                 ó>   •‡ — t          ˆˆ fd„|D ¦   «         ¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS rÚ   rÚ   r"  s     €€rÒ   r<  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>¿  r#  rÛ   )r—   r&  s   ` €rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>¾  s,   øø€ ­MØ*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*ñ-
ô -
€ rÛ   c                 ó>   •‡ — t          ˆˆ fd„|D ¦   «         ¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS rÚ   rÚ   r"  s     €€rÒ   r<  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>Â  r#  rÛ   )r”   r&  s   ` €rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Á  s,   øø€ µØ*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*ñ2
ô 2
€ rÛ   c                 ó   — t          ¦   «         S rå   )r¨   r  s     rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Ç  s   € Õ4GÑ4IÔ4I€ rÛ   c                 ó    — t          |¦  «        S rå   )r§   r  s     rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>È  s   € Õ7KÈEÑ7RÔ7R€ rÛ   c                 ó<   — t          |t          ¦   «         ¬¦  «        S ©Nr$  ©rÇ   rm   r  s     rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Ì  ó"   € Õ7ØÕ!1Ñ!3Ô!3ð
ñ 
ô 
€ rÛ   c                 ó<   — t          |t          ¦   «         ¬¦  «        S r2  r3  r  s     rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Ñ  r4  rÛ   c                 ó<   — t          |t          ¦   «         ¬¦  «        S r2  r3  r  s     rÒ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Ö  r4  rÛ   r	  rÈ   c                 ó   — |S rå   rÚ   r  s     rÒ   Úpassthroughz9SourcelessBuilder.make_type_handlers.<locals>.passthroughÚ  s   € ØˆLrÛ   )r	  rÈ   )r³  r{  rR   rÓ  rç  rM  rL  rë   rP  rN  ré  r!   r"   rB  rC  r¬  rE  ÚdistributionsÚconstraintsÚ_RealÚ	_IntervalÚ
Constraintro   Úall_subclasses)ÚhandlersrÑ   r8  rD  r{  s       @rÒ   Úmake_type_handlersz$SourcelessBuilder.make_type_handlers­  sš  ø€ å"Ô)ˆØˆÝ&ð 	Dð 	DˆAØCÐCˆH�Q‰KˆKð
ð 
ð 
ð 
ˆ•‰ð
ð 
ð 
ð 
ˆ•‰ð

ð 
ð 
ð 
ˆ•‰ð
ð 
ð 
ð 
ˆ•‰ð 
ð  
ð  
ð  
ˆ•”Ñð -5µT¬Nˆ•Ô(Ñ)Ø#+­D¤>ˆ•Ñ Ø#+­D¤>ˆ•Ñ Ø"IÐ"Iˆ•”ÑØ%RÐ%Rˆ•Ô!Ñ"ð
ð 
ð 	ÝÔÔ+Ô1ñ	
ð
ð 
ð 	ÝÔÔ+Ô5ñ	
ð
ð 
ð 	ÝÔÔ+Ô6ñ	
ð	ð 	ð 	ð 	õ 'Ô5ð 	(ð 	(ˆCØ'ˆH�S‰MˆMØˆrÛ   r  )
r×   rØ   rÙ   r-  r  r.  rn   r{  r  r@  rÚ   rÛ   rÒ   r³  r³  l  s˜   € € € € € ð
ð 
ð?ð ?ð ?ð ?ð ð)
Ð*ð )
°oð )
ð )
ð )
ñ „\ð)
ðV ð4ð 4ñ „\ð4ð ð1ð 1ñ „\ð1ð 1ð 1rÛ   r³  c                   ó:   — e Zd ZdZdd„Zedddefd„¦   «         ZdS )	Ú"SourcelessUserDefinedObjectBuilderz¯
    SourceLessBuilder does not return a UserDefinedObjectVariable, but in some
    cases it might be ok to return UserDefinedObjects. In such case, use this
    builder.
    r   Nc                 ó    — t          d¦  «        ‚)Nz/Use SourcelessUserDefinedObjectBuilder.create()r  rí   s    rÒ   r  z+SourcelessUserDefinedObjectBuilder.__init__ì  s   € ÝÐNÑOÔOÐOrÛ   r	  rÈ   c                 ó6  — t          |¦  «        }t          |t          ¦  «        rt          |t	          ¦   «         ¬¦  «        S t          |t          j        j        ¦  «        rt          |t	          ¦   «         ¬¦  «        S t          |t	          ¦   «         ¬¦  «        S r2  )r2  rK  r   rÄ   rm   ræ   rë   rG  rî  r±   rÇ   )r	  r+  r  s      rÒ   r{  z)SourcelessUserDefinedObjectBuilder.createï  s�   € å˜%‘[”[ˆ
Ý�j¥.Ñ1Ô1ð 	VÝ)¨%Õ?OÑ?QÔ?QÐRÑRÔRÐRÝ˜�uœxœÑ/Ô/ð 	VÝ0ØÕ%5Ñ%7Ô%7ðñ ô ð õ -¨UÕBRÑBTÔBTÐUÑUÔUÐUrÛ   r  )r×   rØ   rÙ   r-  r  r.  rn   r{  rÚ   rÛ   rÒ   rB  rB  å  sm   € € € € € ðð ðPð Pð Pð Pð ð	VÐ*ð 	V°oð 	Vð 	Vð 	Vñ „\ð	Vð 	Vð 	VrÛ   rB  )NNrå   )F((  r  rN  r  r›  rƒ  ró  rù  r  Ú	itertoolsr÷  r  rm  rB  rX  rã  r¬  rÍ   r[  Útypingr   r   r   r   r   r   r	   r
   r   r   r   r7  rë   r   Útorch._guardsr   r   Ú!torch._higher_order_ops.torchbindr   Ú
torch._opsr   rd  r   r   r   Útorch._subclasses.meta_utilsr   r   Útorch._utils_internalr   Ú%torch.fx.experimental._backward_stater   r¶  r   r   r   r   r   r   r    Útorch.fx.immutable_collectionsr!   r"   Útorch.utils._python_dispatchr#   Útorch.utils._sympy.value_rangesr$   Útorch.utils.weakr%   r»  r'   r(   r)   r*   rV  r+   Úexcr,   r-   r@  r.   r/   r0   Úpgor1   r2   r3   r4   r5   r#  r6   rÞ   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   r^  rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rƒ  rl   rm   rn   ro   Úconstantrp   rq   Úctx_managerrr   rs   rt   ru   rv   rw   Údictsrx   ry   rz   r{   r|   r}   r~   rÄ  r   r€   r�   r‚   rƒ   Ú	functionsr„   r…   r†   r‡   rˆ   r‰   rŠ   Úhigher_order_opsr‹   ÚiterrŒ   r  r�   ÚlistsrŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   Úmiscr˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   Ú	nn_moduler¯   r°   r±   Ú	optimizerr²   Úscript_objectr³   r{  rµ   r&  r¶   r·   r¸   r¹   rº   r»   r¼   r½   Útorch_functionr¾   r¿   rÀ   rÁ   Úuser_definedrÂ   rÃ   rÄ   rÅ   rÆ   rÇ   Únumpyre  ÚModuleNotFoundErrorÚtorch._dynamo.symbolic_convertrÈ   Ú	getLoggerr×   rÖ  Ú_loggingÚgetArtifactLoggerr§  ÚDimListrÓ   rÕ   Ú	dataclassrÝ   rÿ   rò  Úvarsrâ  r  r/  rú   rÓ  r  r  r  r7  rå  rä  rŒ  rA  r@  rB  r  r:  rÍ  rû   rã  r³  r@  r  rB  rÚ   rÛ   rÒ   ú<module>ri     s  ðð €
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€à €€€Ø Ð Ð Ð Ð Ð Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø <Ð <Ð <Ð <Ð <Ð <Ø *Ð *Ð *Ð *Ð *Ð *Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð JÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ FÐ FÐ FÐ FÐ FÐ FØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø *Ð *Ð *Ð *Ð *Ð *à AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð ð ð ð ð 'Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð*ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð> RÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ?Ð >Ð >Ð >Ð >Ð >Ø #Ð #Ð #Ð #Ð #Ð #Ø %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð2ð ð ð ð ð ð ð ð ð ð
 )Ð (Ð (Ð (Ð (Ð (Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø $Ð $Ð $Ð $Ð $Ð $ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð NÐ MÐ MÐ MÐ MÐ MÐ MÐ Mðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðØÐÐÐÐøØð ð ð Ø	€B€B€Bðøøøð ð EØDÐDÑDÑDÑDÐDð €gÕ™Ñ!Ô!�Ø•N×4Ó4ÙÐ'ñô Ñ ð
 �ð"ð "ñ "ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 	ð Õð99ð 99ð 99ð 99ð 99ñ 99ô 99ñ Ôñ99ðx<ð <ð <ð <ð <™Hñ <ô <ñ <ð, &/¡Yð /ð /à™˜Y™œ×-Ó-Ñ/Ô/ð/ñ /ô /ñ &ô &Ñ �I™c”Nñ ð ñ ð +.©#©%¬%Ñ ˜s¡3œxÑ /Ð /Ñ /ðPð Pð Pð Pð Pñ Pô Pñ Pðf6 ð  ñ  ð$ð ñ ð& 26ðð àðð ð ñ ð$ð ñ ðp >Bð
ð 
ð 
ñ 
ð, 26ð;Wð ;Wð ;Wñ ;Wð@ >Bðð ð ñ ð0F
ð F
ñ F
ðR

ð 

ñ 

ð Õðð ð ð ð ñ ô ñ Ôñð$ .3ðGð GàðGð Gð Gñ GðX IMðað að aØ˜vÔ&ðaÙ37ðað að añ aðHsð sð sð sð sñ sô sñ sñl $5×#GÓ#GÑ#IÔ#IÑ Õ  ðVð Vð Vð Vð Vñ Vô Vñ Vð Vð Vs   É?J ÊJÊJ