Ë
    g^(hy ã                   óŒ  — U d 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ZddlZddlmZ ddl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"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- ddl.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> ddl?m@Z@mAZA ddlBmCZC ddlDmEZE ddlFmGZG ddlHmIZImJZJmKZKmLZLmMZM ddlNmOZO ddlPmQZQmRZRmSZS ddlTmUZUmVZVmWZW ddlXmYZYmZZZm[Z[m\Z\m]Z] ddl^m_Z_ ddl`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZt ddlumvZvmwZwmxZxmyZymzZzm{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‘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� 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« 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¹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Î 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å 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ømùZùmúZú dd/lûmüZümýZýmþZþmÿZÿ dd0�l �m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z�m	�Z	�m
�Z
 	 dd�l�Zer	dd1�l�m�Z  e
�j                   �e«      �Ze�j&                  �j)                  �ed2«      �Z�e�Zd3„ �Z G d4„ d5«      �Ze�j4                   G d6„ d7«      «       �Z G d8„ d9�e«      �Z �ed:„  �ee	«      �j?                  «       D «       «      �Z �e�e!   �e"d;<    �e#«       �Z$�e#�e!   �e"d<<    G d=„ d>«      �Z%d?„ �Z&d@„ �Z'	 dVdAe™fdB„�Z(dC„ �Z)	 dVdD„�Z*	 dWdE„�Z+	 dVdF„�Z,dG„ �Z-dH„ �Z.d�a/e�e#�e0      �e"dI<   dA�e#�e0   fdJ„�Z1e�j4                   G dK„ dL«      «       �Z2	 dXdAe>fdM„�Z3ddNœdOeer   dP�e4fdQ„�Z5 G dR„ dS«      �Z6�e6�jo                  «       �e6�_8         G dT„ dU«      �Z9y# �e$ r d�ZY �Œˆw xY w)Yaq  
This module contains classes and utilities for building variable trackers in Dynamo.
Variable trackers are used to convert Python values into symbolic representations
that can be traced and transformed during graph capture.

The key classes are:

- VariableBuilder: Handles source-tracked objects that need guards and proper
  reconstruction in the output graph. Used for inputs, module attributes, etc.

- SourcelessBuilder: Handles ephemeral objects created during tracing that don't
  need source tracking or guards. Used for temporary lists, intermediate values, etc.

Variable trackers enable Dynamo to track the flow of values through the program,
maintain guards for dynamic properties, and reconstruct values in the output graph.
The builders in this module handle converting Python values into appropriate
VariableTracker instances based on their type and usage context.
é    N)ÚMutableMapping)ÚAnyÚCallableÚ
NamedTupleÚOptionalÚTYPE_CHECKINGÚUnion)ÚSymInt)Úget_metrics_contextÚis_int_specialization_caseÚis_torch_sym)ÚTracingContext)Úcall_torchbind)ÚHigherOrderOperator)Ú
FakeTensorÚis_fakeÚmaybe_get_fake_mode)Úis_sparse_anyÚ	safe_grad)Újustknobs_check)ÚBackwardState)Únormalize_source_name)Ú_constrain_range_for_sizeÚ_nested_int_aware_sortÚ
DimDynamicÚRelaxedUnspecConstraintÚStatefulSymbolicContextÚSubclassSymbolicContextÚSymbolicContext)Úimmutable_dictÚimmutable_list)Úis_traceable_wrapper_subclass)ÚValueRanges)ÚTensorWeakRefé   )ÚconfigÚgraph_break_hintsÚmutation_guardÚreplay_recordÚtrace_rules)Ú get_registered_device_interfaces)ÚInternalTorchDynamoErrorÚunimplementedÚunimplemented_v2)ÚGuardBuilderÚinstall_guardÚmake_dupe_guard)Úauto_dynamicÚ
auto_unsetÚFrameStateSizeEntryÚInferStrideÚprocess_automatic_dynamic)ÚSideEffects)ÚAttrProxySourceÚ
AttrSourceÚCallMethodItemSourceÚChainedSourceÚConstDictKeySourceÚConvertIntSourceÚDictGetItemSourceÚFloatTensorSourceÚGetItemSourceÚ
GradSourceÚis_constant_sourceÚis_from_optimizer_sourceÚListGetItemSourceÚLocalSourceÚNumpyTensorSourceÚOptimizerSourceÚRandomValueSourceÚSourceÚSubclassAttrListSourceÚTupleIteratorGetItemSource)Ú_extract_tensor_dictÚbuild_checkpoint_variableÚbuild_invoke_subgraph_variableÚclone_inputÚcommon_constant_typesÚ	dict_keysÚget_fake_valueÚget_items_from_dictÚ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ÚValueMutationExistingÚValueMutationNewÚVariableTrackerÚVariableTrackerMeta)ÚConstantVariableÚEnumVariable)ÚAutocastModeVariableÚEventVariableÚNullContextVariableÚPreserveVersionContextVariableÚStreamContextVariableÚStreamVariable)ÚConstDictVariableÚDefaultDictVariableÚDictKeySetVariableÚFrozensetVariableÚMappingProxyVariableÚSetVariable)ÚDeviceMeshVariableÚPlacementClassVariableÚPlacementVariableÚProcessGroupVariableÚWorldMetaClassVariable)ÚBuiltinMethodVariableÚCollectionsNamedTupleFunctionÚ!CollectiveFunctionRewriteVariableÚCreateTMADescriptorVariableÚFunctoolsPartialVariableÚFunctoolsWrapsVariableÚSysFunctionVariableÚTracebackVariableÚTritonKernelVariableÚUserFunctionVariableÚUserMethodVariableÚWrapperUserFunctionVariable)Ú TorchHigherOrderOperatorVariable)ÚItertoolsVariable)ÚLazyVariableTracker)	ÚBaseListVariableÚListIteratorVariableÚListVariableÚNamedTupleVariableÚRangeVariableÚSizeVariableÚSliceVariableÚTupleIteratorVariableÚTupleVariable)ÚAutogradEngineVariableÚAutogradFunctionContextVariableÚAutogradFunctionVariableÚComptimeVariableÚDebuggingVariableÚDelayGraphBreakVariableÚGetAttrVariableÚGetSetDescriptorVariableÚ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)ÚDispatchKeySetVariableÚFuncTorchInterpreterVariableÚTorchCtxManagerClassVariableÚTorchInGraphFunctionVariable)Úbuild_torch_function_fnÚTensorWithTFOverrideVariableÚ#torch_function_mode_stack_state_mgrÚTorchFunctionModeVariable)
ÚFrozenDataClassVariableÚKeyedJaggedTensorVariableÚMutableMappingVariableÚSourcelessGraphModuleVariableÚUserDefinedClassVariableÚUserDefinedDictVariableÚ!UserDefinedExceptionClassVariableÚUserDefinedListVariableÚUserDefinedObjectVariableÚUserDefinedTupleVariable)ÚInstructionTranslatorÚcudagraph_static_inputsc                 óš   — t        j                  «       5  t        j                  dd«       t        | d«      cd d d «       S # 1 sw Y   y xY w)NÚignorezThe .grad attribute of a TensorÚgrad)ÚwarningsÚcatch_warningsÚfilterwarningsÚhasattr)Úts    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_dynamo/variables/builder.pyÚsafe_has_gradrÜ     s>   € Ü	×	 Ñ	 Ó	"ñ "Ü×Ñ Ð*KÔLÜ�q˜&Ó!÷"÷ "ò "ús   •"AÁA
c                   ó   — e Zd Zy)Ú_missingN©Ú__name__Ú
__module__Ú__qualname__© ó    rÛ   rÞ   rÞ   $  s   „ Ørä   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y)ÚGraphArgÚsourceÚ_exampleÚpass_arg_as_tensorÚfake_tensorTÚ	is_tensorNÚexample_strong_refc                 óz   — t        | j                  t        «      r| j                  «       }|€J ‚|S | j                  S ©N)Ú
isinstancerè   r$   )ÚselfÚrs     rÛ   ÚexamplezGraphArg.exampleL  s4   € ä�d—m‘m¤]Ô3Ø—‘“ˆAØ�=Ð �=ØˆHà—=‘=Ð rä   c                 ó°   — t        | j                  t        j                  «      r2t	        | j                  «      | _        t        | j                  «      sJ ‚y y rî   )rï   rè   ÚtorchÚTensorr$   r   rê   ©rð   s    rÛ   Ú__post_init__zGraphArg.__post_init__U  s=   € Ü�d—m‘m¤U§\¡\Ô2Ü)¨$¯-©-Ó8ˆDŒMÜ˜4×+Ñ+Ô,Ð,Ñ,ð 3rä   c                 ó(   —  || j                   «       y rî   ©rç   ©rð   Úcodegens     rÛ   ÚreconstructzGraphArg.reconstructZ  s   € Ù�—‘Õrä   c                 ó    — d | _         d | _        y rî   )rè   rì   rö   s    rÛ   ÚerasezGraphArg.erase]  s   € ØˆŒØ"&ˆÕrä   c                 ól   — | j                   j                  «       |j                   j                  «       k(  S rî   )rç   Úname©rð   Úothers     rÛ   Ú__eq__zGraphArg.__eq__a  s'   € Ø�{‰{×ÑÓ! U§\¡\×%6Ñ%6Ó%8Ñ8Ð8rä   )rà   rá   râ   rI   Ú__annotations__r	   r$   rô   r
   Úboolr   Ú_subclassesrê   r   rë   rì   rõ   Úpropertyrò   r÷   rü   rþ   r  rã   rä   rÛ   ræ   ræ   (  sŠ   … àƒNð �M 5§<¡<Ð/Ñ0Ó0ð" ÓØ˜%×+Ñ+×7Ñ7×BÑBÑCÓCð €IˆtÓð 26Ð˜ §¡Ñ.Ó5àñ!ó ð!ò-ò
ò'ó9rä   ræ   c                   ó&   ‡ — e Zd Zdˆ fd„Zd„ Zˆ xZS )ÚBackwardStateGraphArgc                 ó>   •— t         ‰| �  d t        «       dd d¬«       y )NF)rç   rè   ré   rê   rë   )ÚsuperÚ__init__r   )rð   Ú	__class__s    €rÛ   r  zBackwardStateGraphArg.__init__f  s&   ø€ Ü‰ÑØÜ"“_Ø$ØØð 	õ 	
rä   c                 ó  ‡— ‰j                   j                  j                  sJ ‚‰j                  ˆfd„«       ‰j	                  dd«       ‰j                  «        ‰j                  ‰j                   j                  j                  «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )Nr   )Úload_import_fromr   rá   )rû   s   €rÛ   ú<lambda>z3BackwardStateGraphArg.reconstruct.<locals>.<lambda>r  s   ø€ �G×,Ñ,¬]×-EÑ-EÀÓW€ rä   r   F)ÚtxÚoutputÚbackward_state_varÚadd_push_nullÚcall_functionÚdup_topÚstorerú   s    `rÛ   rü   z!BackwardStateGraphArg.reconstructo  se   ø€ Ø�z‰z× Ñ ×3Ò3Ð3Ð3Ø×ÑÛWô	
ð 	×Ñ˜a Ô'Ø�‰ÔØ�‰�g—j‘j×'Ñ'×:Ñ:Õ;rä   ©ÚreturnN)rà   rá   râ   r  rü   Ú__classcell__©r  s   @rÛ   r	  r	  e  s   ø„ õ
ö<rä   r	  c              #   ó„   K  — | ]8  \  }}|j                  d «      s"t        j                  |«      rt        |«      –— Œ: y­w)Ú_N)Ú
startswithÚinspectÚisclassÚid)Ú.0r   Úmembers      rÛ   ú	<genexpr>r%  {  s7   è ø€ ò /áˆˆfØ�?‰?˜3Ô¤G§O¡O°FÔ$;ô €v‡Jñ/ùs   ‚>A ÚITERTOOLS_TYPE_IDSÚITERTOOLS_POLYFILLED_TYPE_IDSc                   óH  ‡ — e Zd ZdZdeddfˆ fd„Zd„ Z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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e/fd„Z0de-jb                  jd                  fd„Z3d„ Z4de-j\                  fd„Z5de-j\                  fd„Z6d„ Z7d „ Z8d!„ Z9d"„ Z:ˆ xZ;S )#ÚVariableBuilderz3Wrap a python value in a VariableTracker() instancerç   r  Nc                 ó°   •— |€J d«       ‚t        j                  «       €J d«       ‚t        ‰| �  «        || _        || _        |j                  «       | _        y )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__‡  s^   ø€ ð
 Ð!ð 	
Ø`ó	
Ð!ô ×%Ñ%Ó'Ð3ÐUÐ5UÓUÐ3Ü‰ÑÔØˆŒØˆŒØ—K‘K“Mˆ�	rä   c                 ó  — || j                   j                  j                  v rX| j                   j                  j                  |   }t        | j                  |j                  «      }|r| j                  |«       |S | j                   j                  j                  j                  || j                  «      }|r|S | j                  |«      }| j                  |_        | j                  |«      r]|| j                   j                  j                  vr;t        |«      s0| j                   j                  j                  j                  ||«      }| j                   j                  j                  j                  || j                  |«       |S rî   )r  r  Úside_effectsr1   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__•  s  € Ø�D—G‘G—N‘N×/Ñ/Ñ/Ø!%§¡§¡×!<Ñ!<¸UÑ!CÐÜ'¨¯©Ð5G×5NÑ5NÓOˆIÙØ×#Ñ# IÔ.Ø%Ð%à—G‘G—N‘N×9Ñ9×@Ñ@ÀÈÏÉÓTˆ	ÙØÐà�Z‰Z˜ÓˆØ—K‘KˆŒ	à×*Ñ*¨2Ô.Ø˜TŸW™WŸ^™^×8Ñ8Ñ8Ü3°EÔ:à—‘—‘×,Ñ,×BÑBÀ5È"ÓMˆBà�‰�‰×-Ñ-×1Ñ1°%¸¿¹ÀbÔIØˆ	rä   c                 óD   — t        |«      t        t        t        t        hv S rî   )Útyper½   rÄ   rÏ   r¹   )rð   r9  s     rÛ   r2  z)VariableBuilder._can_lift_attrs_to_inputs­  s$   € Ü�B‹xÜÜ(Ü%Ü ð	
ð 
ð 	
rä   c                 ó   — | j                   S rî   rù   rö   s    rÛ   Ú
get_sourcezVariableBuilder.get_sourceµ  s   € Ø�{‰{Ðrä   c                 ó¢   — | j                  «       }	 |D �cg c]  }|j                  |«      ‘Œ }}t        |ddiŽ i S c c}w # t        $ r Y y w xY w)NÚskiprk   )r>  Ú
make_guardÚNotImplementedErrorr0   )rð   Úguardsrç   ÚguardÚtmps        rÛ   r.  zVariableBuilder.install_guards¸  s]   € Ø—‘Ó"ˆð	Ø9?Ö@°�6×$Ñ$ UÕ+Ð@ˆCÐ@ô 	�sÐ# Ò#Øˆ	ùò	 AøÜ"ò 	Ùð	ús   ’A –=®A ½A Á	AÁAc                 ó@   — | j                  t        j                  «      S rî   )Ú_type_dispatch_implr&   Útrace_numpy)Úclss    rÛ   Ú_type_dispatchzVariableBuilder._type_dispatchÁ  s   € à×&Ñ&¤v×'9Ñ'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.        «      | j0                  ft2        j4                  | j6                  ft8        j:                  | j<                  ft         j>                  j@                  jB                  | jD                  ft         jF                  jH                  | jJ                  ftL        jN                  | jP                  fg}|r1tR        r+|jU                  tR        jV                  | jX                  f«       i }|D ]*  \  }}t[        |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_rangerP   Úwrap_literalÚreÚPatternÚwrap_regex_patternÚweakrefÚReferenceTypeÚwrap_weakrefÚutilsÚhooksÚRemovableHandleÚwrap_removable_handleÚjitÚScriptFunctionÚwrap_jit_functionÚtypesÚMappingProxyTypeÚwrap_mapping_proxyÚnpÚappendÚndarrayÚwrap_numpy_ndarrayrï   )rI  rH  ÚentriesÚresultÚtsÚfnrÚ   s          rÛ   rG  z#VariableBuilder._type_dispatch_implÅ  s¤  € ô —L‘LÜ—H‘H×&Ñ&Ü×%Ñ%×0Ñ0Ü×%Ñ%×7Ñ7×HÑHð	ð —‘ðô œœl¬K×,=Ñ,=¼u¿z¹zÐJØ×!Ñ!ðô ˜S×4Ñ4Ð5Ü˜S×4Ñ4Ð5Ü”Uˆ^˜S×1Ñ1Ð2ÜÔ(Ó)¨3×+;Ñ+;Ð<Ü�Z‰Z˜×/Ñ/Ð0Ü×"Ñ" C×$4Ñ$4Ð5Ü�[‰[×Ñ×.Ñ.°×0IÑ0IÐJÜ�Y‰Y×%Ñ% s×'<Ñ'<Ð=Ü×#Ñ# S×%;Ñ%;Ð<ð-
ˆñ2 �2Ø�N‰NœBŸJ™J¨×(>Ñ(>Ð?Ô@àˆØò 	‰FˆB�Ü% b¬%Ô0‘R°r°eò �Ø ‘Ð&�Ø��q’	ñð	ð
 ˆrä   r5  c                 óV   — | j                  t        j                  «       t        |«      S rî   )r.  r/   ÚID_MATCHr­   ©rð   r5  s     rÛ   r_  z"VariableBuilder.wrap_regex_patterní  s!   € à×ÑœL×1Ñ1Ô2Ü# EÓ*Ð*rä   c                 ó˜   — | j                  t        j                  «       t        j                  | j
                  || j                  ¬«      S ©Nrù   )r.  r/   Ú
TYPE_MATCHr±   Úbuildr  rç   rw  s     rÛ   rb  zVariableBuilder.wrap_weakrefò  s3   € Ø×ÑœL×3Ñ3Ô4Ü×$Ñ$ T§W¡W¨e¸D¿K¹KÔHÐHrä   c                 ó   — t        d«       y )Nz"unregistered hook removable handle)r-   rw  s     rÛ   rf  z%VariableBuilder.wrap_removable_handleö  s   € ô
 	Ð:Õ;rä   c                 óp   — | j                  t        j                  «       t        |d| j                  ¬«      S )NÚ_torchdynamo_inlinerù   )r.  r/   rz  r�   rç   rw  s     rÛ   ri  z!VariableBuilder.wrap_jit_functioný  s/   € Ø×ÑœL×3Ñ3Ô4Ü*ØÐ(°·±ô
ð 	
rä   c                 óÒ  ‡ ‡— ‰ j                  t        j                  «       ‰ j                  t        j                  «       t	        d„ |j                  «       D «       «      }|st        d«       ˆ fd„Št        ˆfd„|j                  «       D «       «      }t        |d ¬«      }t        |‰ j                  ¬«      }‰ j                  j                  j                  j                  ||«      S )Nc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrî   ©rq   Ú
is_literal©r#  Úks     rÛ   r%  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>  s   è ø€ ÒM¸1Ô(×3Ñ3°A×6ÑMùó   ‚!z+mapping proxy type supports only const keysc                 óš   •— t        j                  | «      }| }t        ‰j                  «       |«      }t	        j                  ||«      }||fS rî   )rq   Úcreater@   r>  r’   )r„  ÚvÚkeyÚ
source_keyÚsource_valuer5  rð   s         €rÛ   Úbuild_key_valuez;VariableBuilder.wrap_mapping_proxy.<locals>.build_key_value  sG   ø€ Ü"×)Ñ)¨!Ó,ˆCØˆJä(¨¯©Ó):¸JÓGˆLÜ'×.Ñ.¨q°,Ó?ˆEà˜�:Ðrä   c              3   ó6   •K  — | ]  \  }} ‰||«      –— Œ y ­wrî   rã   )r#  r„  rˆ  rŒ  s      €rÛ   r%  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>  s   øè ø€ ÒE©t¨q°!‘_ Q¨×*ÑEùs   ƒrù   )r.  r/   rz  ÚMAPPING_KEYS_CHECKÚallÚkeysr-   ÚdictÚitemsry   r}   rç   r  r  r-  Útrack_mutable)rð   r5  Ú	all_constr’  Údict_vtrr  rŒ  s   `     @rÛ   rl  z"VariableBuilder.wrap_mapping_proxy  s«   ù€ Ø×ÑœL×3Ñ3Ô4ð 	×ÑœL×;Ñ;Ô<ÜÑMÀÇ
Á
ÃÔMÓMˆ	áÜÐGÔHô	ô ÓE°u·{±{³}ÔEÓEˆô $ E°$Ô7ˆÜ% g°d·k±kÔBˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGrä   c                 óæ   — ddl m } |d„ ft        j                  d„ ft        j                  d„ fg}i }|D ]9  \  }}t        |t        t        f«      r|n|fD ]  }||vsJ ‚||t        |«      <   Œ Œ; |S )Nr%   )Úcomptimec                 ó   — t        «       S rî   )rŸ   rw  s     rÛ   r  z.VariableBuilder._id_dispatch.<locals>.<lambda>%  s
   € Ô+;Ó+=€ rä   c                 ót   — t        t        fd| j                  i| j                  t        j
                  «      ¤ŽS )Nrç   )r¤   Ú_dataclasses_fields_lambdarç   r.  r/   ÚFUNCTION_MATCHrw  s     rÛ   r  z.VariableBuilder._id_dispatch.<locals>.<lambda>(  s5   € ¤NÜ.ñ%àŸ;™;ð%ð ×)Ñ)¬,×*EÑ*EÓFñ%€ rä   c                 ó   — t        «       S rî   )r¯   rw  s     rÛ   r  z.VariableBuilder._id_dispatch.<locals>.<lambda>.  s
   € Ô4HÓ4J€ rä   )	r—  ÚdataclassesÚfieldsrô   Ú__version__rï   rQ  rR  r"  )rI  r—  rq  rr  rs  rt  rÚ   s          rÛ   Ú_id_dispatchzVariableBuilder._id_dispatch  s—   € õ
 	(ð Ñ=Ð>ä×"Ñ"ñðô ×ÑÑ JÐKð
ˆð ˆØò 	#‰FˆB�Ü% b¬5´$¨-Ô8‘R¸r¸eò #�Ø ‘Ð&�Ø "�”r˜!“u’ñ#ð	#ð
 ˆrä   c                 óäR  ‡ ‡1‡2— 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„ }‰ j                  «       j                  t        |«      «      }|�	 |‰ |«      S ‰ j                  «       j                  t        |«      «      }	|	�	 |	‰ |«      S t        |«      st!        |t"        j$                  «      r‰ j'                  |«      S t)        |«      r–‰ j+                  t,        j.                  «       t1        t        |«      «      D �
cg c]7  }
t3        j4                  t7        ||
«      t9        ‰ j:                  |
«      ¬«      ‘Œ9 }}
t=        |t        |«      ‰ j:                  ¬«      }|S t!        |t>        t@        jB                  t@        jD                  f«      �r|‰ j+                  t,        jF                  «       tI        d„ |jK                  «       D «       «      Š1‰1sG‰ jL                  jN                  jP                  jS                  ‰ j:                  jU                  «       «       ˆ1ˆ fd„Š2t?        ˆ2fd„tW        tY        |«      «      D «       «      }t!        |t@        jB                  «      r]t9        ‰ j:                  d«      }t[        |t        |«       t]        ‰ jL                  |«      |j^                  «      ‰ j:                  ¬«      }n!ta        |t        |«      ‰ j:                  ¬«      }‰ jL                  jN                  jb                  je                  ||«      S tg        |th        jj                  jl                  «      r‰ jo                  |«      S tq        jr                  |«      r‰ ju                  |«      S tg        |th        jv                  jx                  «      rIt{        |‰ j:                  ¬«      }‰ jL                  jN                  jb                  j}                  ||«       |S t!        |t~        «      rutI        d„ |D «       «      rc|D �cg c]"  }t€        j5                  ‰ jL                  |«      ‘Œ$ }}‰ j+                  t,        j‚                  «       t…        |‰ j:                  ¬«      S tg        |t†        jˆ                  th        jŠ                  th        jŒ                  jŽ                  j�                  f«      r6‰ j+                  t,        j‚                  «       t“        |‰ j:                  ¬«      S t•        j–                  |«      r6‰ j+                  t,        j˜                  «       t•        |‰ j:                  ¬«      S tg        |tš        jœ                  «      r6‰ j+                  t,        jž                  «       t¡        |‰ j:                  ¬«      S t£        |«      rt¥        ‰ j:                  ¬«      S t§        |«      rt©        ‰ j:                  ¬«      S tg        |tª        j¬                  «      �r´t9        ‰ j¯                  «       d«      } t]        ‰ jL                  |«      |j°                  «      }g }t9        ‰ j¯                  «       d«      }tW        |j²                  «      D ]:  \  }}|jµ                   t]        ‰ jL                  t·        ||«      «      |«      «       Œ< i }t9        ‰ j¯                  «       d«      }|j¸                  j»                  «       D ]N  \  }}tq        jr                  |«      st½        d«        t]        ‰ jL                  t¿        ||«      «      |«      ||<   ŒP tÁ        ‰ j¯                  «       jÃ                  t,        jF                  «      |jÃ                  t,        jÄ                  «      |jÃ                  t,        j.                  «      «       tÇ        |||«      S tÉ        |«      r6‰ j+                  t,        j‚                  «       tË        |‰ j:                  ¬«      S tÌ        �>tg        |tÌ        jÎ                  «      r$‰ jÑ                  tÍ        jÒ                  |«      «      S tÕ        jÖ                  |«      rYtÌ        sJ ‚‰ j+                  tÙ        |«      rt,        jž                  nt,        jF                  «       tÛ        |‰ j:                  ¬«      S tÕ        jÜ                  |«      r6‰ j+                  t,        j‚                  «       tß        |‰ j:                  ¬«      S tÕ        jà                  |«      r®tg        |tÌ        jâ                  «      r^‰ j+                  t,        jF                  «       t9        ‰ j:                  d«      }tÁ        |jÃ                  t,        j‚                  «      «       n‰ j+                  t,        j‚                  «       tå        |‰ j:                  ¬«      S tç        jè                  |«      rK‰ j+                  t,        jž                  «       tç        j4                  ‰ jL                  |‰ j:                  ¬«      S t!        |th        jê                  jì                  jî                  «      r6‰ j+                  t,        jž                  «       tñ        |‰ j:                  ¬«      S tg        |th        jê                  jì                  jò                  «      �r.d }	 |jô                  }g }‰ j:                  jÃ                  t,        jF                  «      g}tg        |tø        «      rŒt9        ‰ j:                  d«      }|jµ                  |jÃ                  t,        j.                  «      «       tW        |«      D ]:  \  }}|jµ                   t]        ‰ jL                  t·        ||«      «      |«      «       Œ< tÁ        |Ž  ‰ jL                  jN                  jb                  j}                  |tû        |‰ j:                  tý        |«      ¬«      «      S tg        |tþ        �j                   «      r»t!        t7        |dd «      th        jê                  jì                  jî                  «      r‚t7        |dd«      d k(  rr|t7        |�j                  d d «      k(  rW‰ j+                  t,        jž                  «       �t        tñ        |�j                  t9        ‰ j:                  d¬!«      ¬«      d «      S tg        |th        jŒ                  �j                  «      r7‰ j+                  t,        j‚                  «       �t	        |‰ j:                  ¬«      S |th        �j
                  �j                  �j                  �j                  u r.‰ j+                  t,        jž                  «       �t        ˆ fd"„«      S tÙ        |«      rytÕ        �j                  |«      �ctÕ        �j                  |«      rd#‰ jL                  jN                  _Œ        tÕ        �j                  |«      �j                  |‰ j:                  ¬«      S tÌ        r-tg        |tÌ        �j                  «      r‰ �j                  |«      S tg        |�t         «      r{|th        �j"                  �j$                  u rt½        d$«       ‰ j+                  t,        jF                  t,        �j&                  «       �t)        �j*                  |‰ j:                  ¬«      S tg        |th        �j,                  �j.                  «      r}‰ j+                  t,        j‚                  «       t9        ‰ j:                  d%«      } t]        ‰ jL                  |«      |�j0                  «      } �t3        j4                  ‰ jL                  | «      S tg        |th        �j4                  «      r³‰ j+                  t,        j‚                  «       ‰ jL                  jN                  �j7                  d&t        |«      d'|�j8                  |�j:                  |�j<                  d(œ«      }!�t?        |!�j@                  |«       �tC        |!||�jD                  ‰ j:                  ¬«      S tg        |th        jŒ                  �jF                  «      rK‰ j+                  t,        jF                  «       �tI        j4                  ‰ jL                  |‰ j:                  «      S tg        |th        jŽ                  �jJ                  �jL                  «      r+‰ j+                  t,        j‚                  «       �tO        |«      S tg        |th        �jP                  «      rÔ‰ j+                  t,        j‚                  «       th        �j
                  �jR                  �jU                  |«       ‰ jL                  jN                  �j7                  d&th        �j
                  �jR                  �jV                  t        |«      fi «      }"�t?        |"�j@                  |«       �tY        |"|‰ j:                  ¬«      S tg        |th        jŒ                  �jZ                  «      r*|t"        j$                  v r�t]        |‰ j:                  ¬«      S t!        |�t^        �j`                  «      rO�tc        �jd                  |d)d «      €6‰ j+                  t,        jF                  «       �tg        ‰ j:                  ¬«      S �ti        �jj                  |«      rg‰ j+                  t,        jF                  «       �ti        |‰ j:                  ¬«      }‰ jL                  jN                  jb                  j}                  ||«      S tg        |th        �jl                  �jn                  «      rR‰ j+                  t,        j‚                  «       �tq        ‰ j:                  «      ‰ _        �ts        |‰ j:                  ¬«      S tg        |th        �jt                  «      r,‰ j+                  t,        �jv                  «       �ty        |«      S �t{        �j|                  |«      r�t{        |‰ j:                  ¬«      S �t        �j€                  |«      r7‰ j+                  t,        j‚                  «       �t        |‰ j:                  ¬«      S �tƒ        �j„                  |«      r8‰ j+                  t,        �j†                  «       �tƒ        |‰ j:                  ¬«      S �t‰        �jŠ                  |«      r7‰ j+                  t,        j‚                  «       �t‰        |‰ j:                  ¬«      S �t�        �jŽ                  |«      r8‰ j+                  t,        �j†                  «       �t�        |‰ j:                  ¬«      S t        |«      �t�        v rIt        |«      �t’        vr7‰ j+                  t,        jž                  «       �t•        |‰ j:                  ¬«      S �t—        |«      �rHtg        |th        �j˜                  «      r‰ j:                  n�t›        ‰ j:                  «      }#|�j@                  �j�                  «       re‰ jL                  jN                  �jž                  �j¡                  �t£        |�j@                  �j¤                  «      |#�t¦        �j¨                  ¬*«      }$nWtg        |th        �jª                  «      r1‰ jL                  jN                  �jž                  �j­                  «       }$nt½        d+«       ‰ jL                  jN                  �j®                  �j±                  �t³        �j´                  d,d-‰ jT                  «      t        $«      |$|#¬«      }%�t·        |#|$d.d d.|$¬/«      |%�j@                  �j¸                  d0<   |$�j@                  �jº                  }&tg        |&�t¼        �j¾                  «      s
J |&› d1�«       ‚‰ jL                  jN                  �jÀ                  jµ                  �tÃ        |$|#d «      «       tg        |th        �j˜                  «      r|$n|$d2k(  }'�tÅ        |%|'«      S tg        |||f«      r9‰ j+                  t,        j‚                  «       �tÇ        |d d ‰ j:                  ¬«      S ||u r�tÉ        d2¬3«      S ||u r�tÉ        d4¬3«      S tg        |th        �jÊ                  �jÌ                  �jÎ                  «      rg‰ j+                  t,        j‚                  «       �tÑ        |�jD                  |�jÒ                  |�jÔ                  |�jÖ                  g‰ j:                  ¬5«      S �tÙ        �jÚ                  |«      r7‰ j+                  t,        jž                  «       �tÙ        |‰ j:                  ¬«      S �tc        �jd                  |d6d.«      r8‰ j+                  t,        jF                  «       �tÝ        |d7‰ j:                  ¬«      S �tß        |«      r8‰ j+                  t,        jF                  «       �tÝ        |d8‰ j:                  ¬«      S |�tà        �jâ                  u r�tå        ‰ j:                  ¬«      S |�tæ        �jè                  u s)�tæ        �jê                  d9k\  r,|�tæ        �jì                  u r�tï        |‰ j:                  ¬«      S �tñ        |«      rQ�tc        �jd                  |d:d.«      r8‰ j+                  t,        jF                  «       �tÝ        |d:‰ j:                  ¬«      S |tª        �jò                  u r7‰ j+                  t,        j‚                  «       �tõ        |‰ j:                  ¬«      S |t@        �jö                  u r7‰ j+                  t,        j‚                  «       �tù        |‰ j:                  ¬«      S tg        |tþ        �jú                  «      rN�tý        �jþ                  |«      r7‰ j+                  t,        j‚                  «       �tý        |‰ j:                  ¬«      S �tñ        |«      r^�t        |«      \  }}(|(�t9        ‰ j:                  |(«      ‰ _        tÕ        �j                  |«      �j                  |‰ j:                  ¬«      S |�t        �j                  u r6‰ j+                  t,        j‚                  «       �t	        ‰ j:                  ¬«      S t!        |�t        �j                  «      r€�t        �j                  |«      ri‰ j+                  t,        jF                  «       �t        |‰ j:                  ¬«      }‰ jL                  jN                  jb                  je                  ||«       |S tg        |tþ        �j                  �t        �j                  f«      ri‰ j+                  t,        jž                  «       �t        |‰ j:                  ¬«      }‰ jL                  jN                  jb                  j}                  ||«       |S tg        |tþ        �j                   «      rïtg        |�j                  th        jj                  jl                  th        �jR                  �j                  �j                  f«      r™ t]        ‰ jL                  t9        ‰ j:                  d«      ¬«      |�j                  «      })|)rtg        |)�t        «      sJ d;«       ‚‰ j+                  t,        jž                  «       �t        |�j                  |)‰ j:                  ¬«      S tg        |tþ        �j                   «      r�t#        |«      S tg        |tþ        �j$                  «      r�t'        |«      S �t)        t        |«      t        «      r=�t)        |�t*        «      r+‰ j+                  t,        j‚                  «       �t-        |«      S �t)        t        |«      t        «      �r$|th        �jR                  �j.                  �j0                  th        jj                  �j2                  th        jj                  �j4                  fv r2tÕ        �j                  |«      �j                  |‰ j:                  ¬«      S |th        jê                  �j6                  u r@‰ j+                  t,        jž                  «       �t9        �j:                  ‰ jL                  «      S ‰ j+                  t,        j‚                  «       �t=        |‰ j:                  ¬«      S �t?        �jÚ                  t        |«      «      �rÎd4d<l�m }*�m!}+ th        �jD                  �jF                  �jI                  |«      rÀ‰ jL                  jN                  �j®                  �j±                  �t³        �j´                  d,d-‰ jT                  «      t        |«      |‰ j:                  ¬«      },�t·        ‰ j:                  |d.d d.|«      |,�j@                  �j¸                  d0<   �t?        j4                  |,|‰ j:                  ¬«      S �tK        |d=«      s‰ �jM                  |«      S t3        �jN                   t]        ‰ jL                   |+‰ j:                  «      «      |�jQ                  «       �jS                  «       «      «       t3        �jN                   t]        ‰ jL                   |*‰ j:                  «      «      |�jU                  «       «      «       th        �jD                  �jF                  �jW                  ‰ jL                  jN                  �jX                  |«      }-‰ jL                  jN                  �j®                  �j±                  �t³        �j´                  d,d-‰ jT                  «      t        |«      |-‰ j:                  ¬«      },�t·        ‰ j:                  |d.d d.|-«      |,�j@                  �j¸                  d0<   �t?        j4                  |,|-‰ j:                  ¬«      S tg        |t>        t@        jD                  f«      �ryt        |«      �jZ                  t>        �jZ                  u �rQ‰ j+                  t,        jF                  «       ‰ j+                  t,        j.                  «       ‰ jL                  jN                  jP                  jS                  ‰ j:                  jU                  «       «       ˆ fd>„Š2t?        ˆ2fd?„tW        tY        |«      «      D «       «      }ta        |tg        |t@        jD                  «      rt@        jD                  nt>        �t]        «       ‰ j:                  ¬@«      }.d#|.�_/        �ta        ||.‰ j:                  ¬A«      }‰ jL                  jN                  jb                  j}                  ||«      S tg        |tø        «      �rJt        |«      �jZ                  tø        �jZ                  u �r"‰ j+                  t,        jF                  «       ‰ j+                  t,        j.                  «       �tc        tø        �je                  |«      «      D �cg c]F  }t3        j4                  tø        �jg                  ||«      t·        ‰ j¯                  «       |«      ¬«      ‘ŒH }}�ti        |‰ j:                  �t]        «       ¬B«      }/�tk        j4                  ||/‰ j:                  ¬C«      }‰ jL                  jN                  jb                  j}                  ||«      S tg        |�tl        «      �r‰ j+                  t,        jF                  «       ‰ j+                  t,        j.                  «       �tc        �tl        �je                  |«      «      D �cg c]H  }t3        j4                  �tl        �jg                  ||«      �to        ‰ j¯                  «       |«      ¬«      ‘ŒJ }}�tq        |‰ j:                  �t]        «       ¬B«      }0�ts        ||0‰ j:                  ¬D«      }‰ jL                  jN                  jb                  j}                  ||«      S �t)        t        |«      �tt        «      r7‰ j+                  t,        jF                  «       �tw        |‰ j:                  ¬«      S �ty        |«      r|‰ j+                  t,        jF                  «       �t{        j4                  ‰ jL                  |‰ j:                  ¬«      }‰ jL                  jN                  jb                  j}                  ||«      S tg        |�t|        «      rÆtI        dE„ |D «       «      r¨|D �cg c]"  }t€        j5                  ‰ jL                  |«      ‘Œ$ }}tÁ        ‰ j¯                  «       jÃ                  t,        j.                  «      ‰ j¯                  «       jÃ                  t,        �j†                  «      «       �t        |‰ j:                  ¬«      S t½        dF«       y ‰ �jM                  |«      S c c}
w c c}w # tö        $ r Y �Œ­w xY wc c}w c c}w c c}w )GNr   )Ú
has_tritonÚhas_triton_tma)Ú	Autotuner)ÚJITFunctionc                   ó   — e Zd Zy)ú*VariableBuilder._wrap.<locals>.JITFunctionNrß   rã   rä   rÛ   r¥  r§  B  ó   „ Ørä   r¥  c                   ó   — e Zd Zy)ú(VariableBuilder._wrap.<locals>.AutotunerNrß   rã   rä   rÛ   r¤  rª  E  r¨  rä   r¤  )Úcreate_1d_tma_descriptorÚcreate_2d_tma_descriptorc                   ó   — y rî   rã   rã   rä   rÛ   r«  z7VariableBuilder._wrap.<locals>.create_1d_tma_descriptorO  ó   € Ørä   c                   ó   — y rî   rã   rã   rä   rÛ   r¬  z7VariableBuilder._wrap.<locals>.create_2d_tma_descriptorR  r®  rä   rù   )Ú	tuple_clsrç   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrî   r�  rƒ  s     rÛ   r%  z(VariableBuilder._wrap.<locals>.<genexpr>s  s   è ø€ ÒQ¸qÔ,×7Ñ7¸×:ÑQùr…  c                 ó   •— ‰rt        j                  |«      }|}n0t        ‰j                  «       | «      }t	        j                  ||«      }t        ‰j                  «       |«      }t	        j                  ||«      }||fS rî   )rq   r‡  r<   r>  r’   r>   )	Úir„  rˆ  r‰  rŠ  r‹  r5  r”  rð   s	          €€rÛ   rŒ  z.VariableBuilder._wrap.<locals>.build_key_valueŽ  so   ø€ ÙÜ*×1Ñ1°!Ó4�CØ!"‘Jä!3°D·O±OÓ4EÀqÓ!I�JÜ-×4Ñ4°Q¸
ÓC�Cä0°·±Ó1BÀJÓO�Ü+×2Ñ2°1°lÓC�à˜E�zÐ!rä   c              3   ó>   •K  — | ]  \  }\  }} ‰|||«      –— Œ y ­wrî   rã   ©r#  r³  r„  rˆ  rŒ  s       €rÛ   r%  z(VariableBuilder._wrap.<locals>.<genexpr>Ÿ  ó*   øè ø€ ò á�A‘v˜˜1ñ    1 a×(ñùó   ƒÚdefault_factory)r¸  rç   )Úuser_clsrç   c              3   óÄ   K  — | ]X  }t        |«      t        j                  u xr |j                  d k(  xs& |t        j
                  j                  j                  v –— ŒZ y­w)rô   N)r<  rj  ÚBuiltinMethodTyperá   rô   rc  Ú_pytreeÚBUILTIN_TYPES©r#  Úxs     rÛ   r%  z(VariableBuilder._wrap.<locals>.<genexpr>¼  s[   è ø€ ò 	.
ð ô �a“œE×3Ñ3Ð3ÒO¸¿¹ÈÑ8Oò 7ð ”U—[‘[×(Ñ(×6Ñ6Ð6ó7ñ	.
ùs   ‚AA ©r5  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                  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>Z  sZ   ø€ Ô,Ü—M‘M×0Ñ0×KÑK×`Ñ`óç‘-Ø—G‘GØ—W‘W—^‘^×0Ñ0×KÑKÓ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_dimzaunbacked symint input is not supported yet. If you need this feature, please file a github issue.ú[^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__)é   é   r~  z"Failed to produce a valid self obj)ÚFlattenScriptObjectSourceÚScriptObjectQualifiedNameSourceÚ__obj_flatten__c                 óÌ   •— t        ‰j                  «       | «      }t        j                  ||«      }t	        ‰j                  «       |«      }t        j                  ||«      }||fS rî   )r<   r>  r’   r‡  r>   )r³  r„  rˆ  rŠ  r‰  r‹  r5  rð   s          €rÛ   rŒ  z.VariableBuilder._wrap.<locals>.build_key_valueù  sW   ø€ Ü/°·±Ó0AÀ1ÓE�
Ü)×0Ñ0°°JÓ?�ä0°·±Ó1BÀJÓO�Ü+×2Ñ2°1°lÓC�à˜E�zÐ!rä   c              3   ó>   •K  — | ]  \  }\  }} ‰|||«      –— Œ y ­wrî   rã   rµ  s       €rÛ   r%  z(VariableBuilder._wrap.<locals>.<genexpr>  r¶  r·  )r¹  Úmutation_typerç   )r•  rç   )rç   rä  )Útuple_vtrç   )Úlist_vtrç   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrî   r�  rƒ  s     rÛ   r%  z(VariableBuilder._wrap.<locals>.<genexpr>J  s   è ø€ ÒA°aÔ#×.Ñ.¨q×1ÑAùr…  z2dict_keys with non-constant keys are not supported(@  Útorch.utils._tritonr¢  r£  Útriton.runtime.autotunerr¤  Útriton.runtime.jitr¥  Ú$triton.tools.experimental_descriptorr«  r¬  rJ  Úgetr<  r   r"  r"   r_   r&   Útraceable_tensor_subclassesrP  rZ   r.  r/   ÚSEQUENCE_LENGTHr`   r’   r‡  Úgetattrr9   rç   r–   r‘  rS  ÚdefaultdictÚOrderedDictrz  r�  r�  r  r  Úguard_on_key_orderr4  r   Ú	enumeraterS   rz   r)  r¸  ry   r-  r“  rï   rô   rL  ÚModuleÚwrap_modulerq   r‚  r\  Ú	overridesÚTorchFunctionModerÆ   r3  Ú	frozensetÚSourcelessBuilderrv  r|   ÚenumÚEnumÚDispatchKeyÚ_CÚ
_functorchÚTransformTyperr   r    Úis_reorderable_logging_functionÚBUILTIN_MATCHÚloggingÚLoggerr›  r¥   r]   rM   rX   rN   Ú	functoolsÚpartialr>  rÁ  rÂ  rn  r@   rÃ  r’  r-   r>   r0   rA  ÚDICT_KEYS_MATCHrˆ   r\   r°   rm  Úgenericrp  Úasarrayr*   Úis_numpyÚcallabler©   Úis_numpy_dtyper§   Úis_numpy_type_infoÚiinfor¨   r†   Úcan_rewriteÚautogradÚfunctionÚFunctionMetarž   ÚFunctionCtxrÅ  ÚRuntimeErrorrQ  r�   r®   rj  Ú
MethodTyperÆ  r¢   Ú_ImperativeEnginerœ   rÊ  rË  rÌ  Ú_exec_final_callbacks_stubr¤   Úlookup_callableÚis_callable_allowedÚ!has_user_defined_allowed_in_graphÚcreate_with_sourceÚnumberÚwrap_unspecialized_primitiver   Ú_higher_order_opsÚinvoke_subgraphÚ
NAME_MATCHr�   ÚmakeÚcudaÚStreamContextrÏ  rw   ÚStreamÚcreate_proxyrÐ  rÑ  rÒ  rd   Únoderx   ÚdeviceÚ_SDPAParamsr¸   ÚpyfunctorchÚFuncTorchInterpreterrÀ   ÚEventrc  Ústore_user_object_weakrefÚget_user_object_from_idrt   Ú_TensorMetar¼   Ú
contextlibÚnullcontextr   Úgetattr_staticru   rÈ   Úis_matching_objectÚoptimÚ	OptimizerrG   rµ   ÚDispatchKeySetÚDISPATCH_KEY_SET_MATCHr¿   rƒ   Úis_group_member_typer‚   Úis_process_groupr   Úis_device_meshÚEQUALS_MATCHr€   Úis_placement_typer�   Úis_placementr&  r'  r‘   r   r
   r=   Úhas_hintÚ	shape_envÚ$create_unspecified_symint_and_symbolÚintÚhintr   ÚDYNAMICÚSymBoolÚcreate_unbacked_symintÚroot_tracerÚcreate_graph_inputr]  Úsubræ   ÚmetaÚexprÚsympyÚSymbolÚtracked_fakesÚTrackedFaker»   rŒ   r‡   ÚampÚautocast_modeÚautocastrs   Ú
fast_dtypeÚ_enabledÚ_cache_enabledrÁ   Úis_matching_clsr�   rY   Ú	tracebackÚclear_framesr‹   ÚsysÚexc_infoÚversion_infoÚ	exceptionrŠ   rW   Úwrapsr‰   Ú
namedtupler…   r»  r„   Úis_supported_builtin_methodri   r0  ÚrandomÚRandomr«   r¬   Úis_supported_random_objÚ
ModuleTyper)   ÚDummyModulerª   r¼  ÚTreeSpecro   rŽ   Ú__func__ÚGetSetDescriptorTyper£   ÚMethodWrapperTyper¦   Ú
issubclassÚBaseExceptionrÍ   rd  ÚBackwardHookrM  ÚBufferÚ _unsafe_preserve_version_counterrv   ÚconstructorrË   r¶   rß  rà  Ú_libraryÚfake_class_registryÚtracing_with_realrÙ   Úwrap_user_definedÚrealize_allÚ_typeÚqualified_namerá  Úmaybe_to_fake_objÚ	fake_modeÚ__new__rm   Úshould_reconstruct_allrÌ   rZ  Ú__len__Ú__getitem__r›   rÐ   rR  rD   r•   rÎ   r   rÉ   rV   rÇ   rQ   r{   )3rð   r5  r¢  r£  r¤  r¥  r«  r¬  Útype_dispatchÚid_dispatchr   r  rr  Úfactory_sourceÚvarrˆ  r’  Úfunc_srcÚfunc_objrÂ  Úargs_sourcer³  ÚargrÃ  Úkeywords_sourcer„  Ú	dt_sourceÚactual_saved_tensorsrÅ  rC  Úsaved_tensors_sourceÚstream_sourceÚ
stream_varÚstream_proxyÚevent_proxyrç   Ú
new_symintÚsym_node_proxyÚsym_exprÚtracing_symintÚ	attr_nameÚself_objrß  rà  ÚproxyÚfake_script_objr•  rå  ræ  r”  rŒ  s3   `                                                @@rÛ   r1  zVariableBuilder._wrap9  sC  ú€ çBáŒ<Ý:Þ6÷ñ ÷ñ ñ Ô÷ð òòð ×+Ñ+Ó-×1Ñ1´$°u³+Ó>ˆØÐ$Ù   uÓ-Ð-ð ×'Ñ'Ó)×-Ñ-¬b°«iÓ8ˆØÐ"Ù˜t UÓ+Ð+ô )¨Ô/´6Ø”6×5Ñ5ô4
ð ×#Ñ# EÓ*Ð*Ü˜5Ô!Ø×Ñ¤× <Ñ <Ô=ô .¬d°5«kÓ:öð
 ô	 $×*Ñ*Ü˜E 4Ó(Ü% d§k¡k°4Ó8öðˆFð ô (Ø¤$ u£+°d·k±kôˆFð ˆMÜ�EœD¤+×"9Ñ"9¼;×;RÑ;RÐSÕTØ×Ñ¤× 7Ñ 7Ô8ÜÑQÀEÇJÁJÃLÔQÓQˆIñ ð" —‘—‘×1Ñ1×5Ñ5°d·k±k×6FÑ6FÓ6HÔIõ"ô" ó ä!*Ô+>¸uÓ+EÓ!Fôó ˆFô
 �eœ[×4Ñ4Ô5Ü!+¨D¯K©KÐ9JÓ!K�Ü,ØÜ˜“KØ$L¤O°D·G±G¸^Ó$LØ×-Ñ-ó%ð  Ÿ;™;ô‘ô +Ø¤T¨%£[¸¿¹ô�ð —7‘7—>‘>×.Ñ.×<Ñ<¸UÀFÓKÐKÜ˜œuŸx™xŸ™Ô/Ø×#Ñ# EÓ*Ð*Ü×(Ñ(¨Ô/Ø×$Ñ$ UÓ+Ð+Ü˜œuŸ™×@Ñ@ÔAÜ+¨E¸$¿+¹+ÔFˆCØ�G‰G�N‰N×'Ñ'×=Ñ=¸eÀSÔIØˆJÜ�Eœ9Ô%¬#ñ 	.
ð ô	.
ô 	+
ð DIÖI¸aÔ&×-Ñ-¨d¯g©g°qÕ9ÐIˆEÐIØ×Ñ¤× 5Ñ 5Ô6Ü$ U°4·;±;Ô?Ð?ÜØ”D—I‘Iœu×0Ñ0´%·(±(×2EÑ2E×2SÑ2SÐTô
ð ×Ñ¤× 5Ñ 5Ô6Ü e°D·K±KÔ@Ð@Ü×>Ñ>¸uÔEð ×Ñ¤× :Ñ :Ô;Ü$ U°4·;±;Ô?Ð?Ü˜œwŸ~™~Ô.Ø×Ñ¤× ;Ñ ;Ô<Ü(¨°t·{±{ÔCÐCÜ  Ô'Ü,°D·K±KÔ@Ð@Ü Ô&Ü1¸¿¹ÔEÐEÜ˜œy×0Ñ0Õ1Ü! $§/¡/Ó"3°VÓ<ˆHØ9” t§w¡w°Ó9¸%¿*¹*ÓEˆHàˆDÜ$ T§_¡_Ó%6¸Ó?ˆKÜ# E§J¡JÓ/ò ‘��3Ø—‘ØK”O D§G¡G¬]¸;ÈÓ-JÓKÈCÓPõðð
 ˆHÜ(¨¯©Ó):¸JÓGˆOØŸ™×,Ñ,Ó.ò ‘��1Ü'×2Ñ2°1Ô5Ü!Ð"NÔOðœoØ—G‘GÔ.¨ÀÓBóàó�˜’ðô Ø—‘Ó!×,Ñ,¬\×-DÑ-DÓEØ×*Ñ*¬<×+GÑ+GÓHØ×&Ñ&¤|×'CÑ'CÓDôô
 ,¨H°d¸HÓEÐEÜ�uÔà×Ñ¤× 5Ñ 5Ô6Ü!ØØ—{‘{ôð ô ˆ^¤
¨5´"·*±*Ô =à×*Ñ*¬2¯:©:°eÓ+<Ó=Ð=Ü×!Ñ! %Ô(ÝˆI�2Ø×Ñä˜E”?ô ×+Ò+ä!×,Ñ,ôô
 ! ¨t¯{©{Ô;Ð;Ü×'Ñ'¨Ô.Ø×Ñ¤× 5Ñ 5Ô6Ü% e°D·K±KÔ@Ð@Ü×+Ñ+¨EÔ2Ü˜%¤§¡Ô*Ø×#Ñ#¤L×$;Ñ$;Ô<Ü& t§{¡{°GÓ<�	Ü˜i×2Ñ2´<×3HÑ3HÓIÕJà×#Ñ#¤L×$9Ñ$9Ô:Ü(¨°t·{±{ÔCÐCä.×:Ñ:¸5ÔAØ×Ñ¤× ;Ñ ;Ô<Ü4×;Ñ;Ø—‘ØØ—{‘{ôð ô
 �Eœ5Ÿ>™>×2Ñ2×?Ñ?Ô@Ø×Ñ¤× ;Ñ ;Ô<Ü+ØØ—{‘{ôð ô ˜œuŸ~™~×6Ñ6×BÑBÕCØ#'Ð ðØ',×':Ñ':Ð$ð ˆMØ—k‘k×,Ñ,¬\×-DÑ-DÓEÐFˆFÜÐ.´Ô6Ü'1°$·+±+¸Ó'OÐ$Ø—‘Ø(×3Ñ3´L×4PÑ4PÓQôô &Ð&:Ó;ò ‘D�A�qØ!×(Ñ(ðœØ ŸG™G¤]Ð3GÈÓ%Kóàóõðô ˜6Ñ"à—7‘7—>‘>×.Ñ.×DÑDØÜ/ØØŸ;™;Ü"0°Ó"?ôóð ô �uœe×.Ò.Ô/ÜÜ˜˜z¨4Ó0´%·.±.×2IÑ2I×2VÑ2Vôô ˜˜z¨2Ó.°'Ò9Øœ §¢°¸$Ó?Ò?ð ×Ñ¤× ;Ñ ;Ô<Ý"Ü(Ø—N’N¬:°d·k±kÈ*Ô+Uôð ó	ð ô ˜œuŸx™x×9Ò9Ô:Ø×Ñ¤× 5Ñ 5Ô6Ý)¨%¸¿¹ÔDÐDàÜ�}Š}×+Ò+×FÒF×aÒañbð ×Ñ¤× ;Ñ ;Ô<Ý!óóð ô �eŒ_¤×!<Ò!<¸UÓ!CÐ!OÜ×.Ò.¨uÔ5ØCG�—‘—‘Ô@Ü×.Ò.¨uÓ5×HÒHØ˜dŸk™kð Ió ð õ ”J˜u¤b§i¢iÔ0Ø×4Ò4°UÓ;Ð;Ü˜Õ2Ô3Øœ×/Ò/×?Ò?Ñ?ÜØ^ôð ×Ñ¤× 7Ñ 7¼×9PÒ9PÔQÝ3×8Ò8¸ÀtÇ{Á{ÔSÐSÜ˜œuŸzšz×7Ò7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ü& t§{¡{°HÓ=ˆMØ@œ¨¯©°-Ó@ÀÇÂÓNˆJÝ(×/Ñ/°·±¸ÓDÐDÜ˜œuŸ|š|Ô,Ø×Ñ¤× 5Ñ 5Ô6ØŸ7™7Ÿ>™>×6Ò6ØÜ�U“Øà!&§¢Ø$)×$6Ò$6Ø#(×#4Ò#4ñó		ˆLõ ˜l×/Ò/°Ô7Ý!ØØØ—’Ø—{‘{ô	ð ô ˜¤§¡× 4Ò 4Ô6Ø×Ñ¤× 7Ñ 7Ô8Ý%×,Ñ,¨T¯W©W°e¸T¿[¹[ÓIÐIÜ˜œu×/Ñ/×;Ò;×PÒPÔQØ×Ñ¤× 5Ñ 5Ô6Ý/°Ó6Ð6Ü˜œuŸ{š{Ô+Ø×Ñ¤× 5Ñ 5Ô6Ü�MŠM×Ò×9Ò9¸%Ô@ØŸ'™'Ÿ.™.×5Ò5ØÜ—’×#Ò#×;Ò;Ü�E“�Øó	ˆKõ ˜k×.Ò.°Ô6Ý ØØØ—{‘{ôð ô �uœeŸh™h×2Ò2Ô3Øœ×;Ñ;Ñ;å)¨%¸¿¹ÔDÐDä�5�*×0Ò0Ô1Ý×&Ò& u¨n¸dÓCÐKà×Ñ¤× 7Ñ 7Ô8Ý&¨d¯k©kÔ:Ð:Ý&×9Ò9¸%Ô@Ø×Ñ¤× 7Ñ 7Ô8Ý.¨u¸T¿[¹[ÔIˆFà—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œuŸ{š{×4Ò4Ô5Ø×Ñ¤× 5Ñ 5Ô6Ý)¨$¯+©+Ó6ˆDŒKÝ$ U°4·;±;Ô?Ð?Ü˜œu×3Ò3Ô4Ø×Ñ¤× CÒ CÔDÝ)¨%Ó0Ð0Ý#×8Ò8¸Ô?Ý)¨%¸¿¹ÔDÐDÝ!×2Ò2°5Ô9Ø×Ñ¤× 5Ñ 5Ô6Ý'¨°d·k±kÔBÐBÝ×.Ò.¨uÔ5à×Ñ¤× 9Ò 9Ô:Ý% e°D·K±KÔ@Ð@Ý#×5Ò5°eÔ<à×Ñ¤× 5Ñ 5Ô6Ý)¨%¸¿¹ÔDÐDÝ×+Ò+¨EÔ2à×Ñ¤× 9Ò 9Ô:Ý$ØØ—{‘{ôð ô
 ˆu‹IÕ+Ñ+Ü�5“	Õ!>Ñ>à×Ñ¤× ;Ñ ;Ô<Ý$ U°4·;±;Ô?Ð?Ý˜%Õ ô ˜e¤U§\¢\Ô2ð —’å% d§k¡kÓ2ð ð
 �zŠz×"Ò"Ô$à—G‘G—N‘N×,Ò,×QÒQÝ˜EŸJšJŸOšOÓ,ØÝ$.×$6Ò$6ð Ró ñ ô ˜e¤U§]¢]Ô3à!%§¡§¡×!9Ò!9×!PÒ!PÓ!R‘Jô "Ø{ôð "ŸW™WŸ^™^×7Ò7×JÒJÝ—’Ð'¨¨d¯i©iÓ8Ü�ZÓ ØØð	 Kó ˆNõ 4<ØØØØØØ#-ô4ˆN×Ò×$Ò$ ZÑ0ð "—’×+Ò+ˆHÜ˜h­¯ªÔ5ð Ø�*Ð3Ð4óÐ5ð �G‰G�N‰N×(Ò(×/Ñ/µ¸JÈÐPTÓ0UÔVô )¨´·²Ô=‘
À:ÐQRÁ?ð õ # >°>ÓBÐBä˜ ¨YÐ7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ý'ØØØØ—{‘{ô	ð ð Ð.Ñ.Ý.°AÔ6Ð6ØÐ.Ñ.Ý.°AÔ6Ð6Ü˜œuŸyšy×6Ò6×?Ò?Ô@Ø×Ñ¤× 5Ñ 5Ô6Ý'à—L’LØ×$Ò$Ø—N’NØ×(Ò(ð	ð —{‘{ôð õ *×9Ò9¸%Ô@Ø×Ñ¤× ;Ñ ;Ô<Ý/°¸d¿k¹kÔJÐJÝ×#Ò# EÐ+HÈ%ÔPØ×Ñ¤× 7Ñ 7Ô8Ý.Ø�¨t¯{©{ôð õ +¨5Ô1Ø×Ñ¤× 7Ñ 7Ô8Ý.¨u°mÈDÏKÉKÔXÐXØ•i×,Ò,Ñ,Ý$¨D¯K©KÔ8Ð8Ø•c—l’lÑ"Ý×Ò Ò'¨EµS·]²]Ñ,Bå& u°T·[±[ÔAÐAÝ# EÔ*­w×/EÒ/EØÐ(¨%ô0
ð ×Ñ¤× 7Ñ 7Ô8Ý.ØÐ,°T·[±[ôð ð ”i—o’oÑ%Ø×Ñ¤× 5Ñ 5Ô6Ý)¨%¸¿¹ÔDÐDØ”k×,Ò,Ñ,Ø×Ñ¤× 5Ñ 5Ô6Ý0°¸t¿{¹{ÔKÐKÜØ”5×*Ò*ô
å#×?Ò?ÀÔFØ×Ñ¤× 5Ñ 5Ô6Ý(¨°t·{±{ÔCÐCÝ# EÔ*Ý?ÀÓFÑˆE�9ð Ð$Ü(¨¯©°iÓ@�”Ü×%Ò% eÓ,×?Ò?Ø˜dŸk™kð @ó ð ð •f—m’mÑ#Ø×Ñ¤× 5Ñ 5Ô6Ý&¨d¯k©kÔ:Ð:Ü�E�6Ÿ=š=Ô)­n×.TÒ.TØô/
ð ×Ñ¤× 7Ñ 7Ô8Ý# E°$·+±+Ô>ˆFØ�G‰G�N‰N×'Ñ'×5Ñ5°e¸VÔDØˆMô ˜¤× 0Ò 0µ-×2KÒ2KÐLÔMØ×Ñ¤× ;Ñ ;Ô<Ý)ØØ—{‘{ôˆFð �G‰G�N‰N×'Ñ'×=Ñ=¸eÀVÔLØˆMÜ˜œu×/Ò/Ô0´ZØ�NŠNœUŸX™XŸ_™_¬e¯kªk×.AÒ.A×.JÒ.JÐKô6
ð”Ø—‘¤
¨4¯;©;¸
Ó Côà�nŠnóˆHñ ¤
¨8µ_Ô Eð Ø4óÐEð ×Ñ¤× ;Ñ ;Ô<Ý%Ø—’ØØ—{‘{ôð ô
 ˜œu×9Ò9Ô:õ ,¨EÓ2Ð2Ü˜œu×6Ò6Ô7õ
 )¨Ó/Ð/Ýœ˜U›¤TÔ*­z¸%ÅÔ/Oà×Ñ¤× 5Ñ 5Ô6Ý4°UÓ;Ð;Ýœ˜U›¤TÕ*ØÜ—’×!Ò!×.Ò.Ü—‘×"Ò"Ü—‘—’ðñ ô #×)Ò)¨%Ó0×CÒCØ $§+¡+ð Dó ð ð œŸ™×GÒGÑGØ×#Ñ#¤L×$?Ñ$?Ô@Ý5×AÒAÀ$Ç'Á'ÓJÐJð ×Ñ¤× 5Ñ 5Ô6Ý+ØØ—{‘{ôð õ '×6Ò6´t¸E³{ÕC÷ñ ô
 �~Š~×1Ò1×CÒCÀEÔJØŸ™Ÿ™×2Ò2×EÒEÝ—F’FÐ+¨S°$·)±)Ó<Ü˜“KØØŸ;™;ð	 Fó �õ /7Ø—K‘K ¨¨t°U¸Eó/�—
’
—’ 
Ñ+õ 1×7Ñ7ØØØŸ;™;ôð õ ˜5Ð"3Ô4Ø×-Ò-¨eÓ4Ð4ô  ×+Ò+ØV” §¡Ñ)HÈÏÉÓ)UÓVØ—K’K“M×0Ò0Ó2óôô  ×+Ò+ØP” §¡Ñ)BÀ4Ç;Á;Ó)OÓPØ×)Ò)Ó+óôô $Ÿnšn×@Ò@×RÒRØ—‘—‘×(Ò(¨%óˆOð —G‘G—N‘N×.Ò.×AÒAÝ—’Ð'¨¨d¯i©iÓ8Ü�U“ØØ—{‘{ð	 Bó ˆEõ +3Ø—‘˜U E¨4°¸ó+ˆE�JŠJ�OŠO˜JÑ'õ -×3Ñ3ØØØ—{‘{ôð ô �uœt¤[×%<Ñ%<Ð=Õ>Ü�U“×#Ò#¤t§|¢|Ò3ð ×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=ð �G‰G�N‰N×-Ñ-×1Ñ1°$·+±+×2BÑ2BÓ2DÔEô"ô ó ä!*Ô+>¸uÓ+EÓ!Fôó ˆFô
 (Øô " %¬×)@Ñ)@ÔAô  ×+Ò+äå3Ó5Ø—{‘{ô	ˆGð .2ˆGÕ*å,¨U¸GÈDÏKÉKÔXˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œuÕ%¬$¨u«+×*=Ò*=ÄÇÂÒ*NØ×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=õ œuŸ}š}¨UÓ3Ó4öð
 ô	 $×*Ñ*Ü×%Ò% e¨QÓ/Ü(¨¯©Ó):¸AÓ>öðˆFð õ %Ø˜tŸ{™{Õ:OÓ:QôˆHõ .×4Ñ4Ø °·±ôˆFð —7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜�tÕ$Ø×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=õ �tŸ|š|¨EÓ2Ó3öð
 ô	 $×*Ñ*Ý×$Ò$ U¨AÓ.Ý,¨T¯_©_Ó->ÀÓBöðˆFð õ #Ø˜tŸ{™{Õ:OÓ:QôˆGõ -¨U¸GÈDÏKÉKÔXˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÝœ˜U›¥^Ô4Ø×Ñ¤× 7Ñ 7Ô8Ý)¨%¸¿¹ÔDÐDÝ  Ô'Ø×Ñ¤× 7Ñ 7Ô8Ý,×3Ñ3°D·G±G¸UÈ4Ï;É;ÔWˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜�yÔ)ÜÑA¸5ÔAÔAð HMÖMÀ!Ô*×1Ñ1°$·'±'¸1Õ=ÐM�ÐMÜØ—O‘OÓ%×0Ñ0´×1MÑ1MÓNØ—O‘OÓ%×0Ñ0´×1JÒ1JÓKôõ *¨%¸¿¹ÔDÐDäÐRÕSà×)Ò)¨%Ó0Ð0ùògùòH Jøôz  ò Úðüòtùò*ùò4 Ns?   Ä&<Be	Ð!'Beê&Be ÂVABe#Â[ABe(Âb'Be-Âe	Be ÂeBe c                 ó  — | j                  t        j                  «       t        || j                  ¬«      }t        j                  t        |«      «      s|S | j                  j                  j                  j                  ||«      S ry  )r.  r/   rz  rÏ   rç   r7   Ú"cls_supports_mutation_side_effectsr<  r  r  r-  r3  ©rð   r5  rr  s      rÛ   ro  z!VariableBuilder.wrap_user_defined[  s^   € Ø×ÑœL×3Ñ3Ô4Ü*¨5¸¿¹ÔEˆÜ×=Ñ=¼dÀ5»kÔJàˆMØ�w‰w�~‰~×*Ñ*×@Ñ@ÀÈÓOÐOrä   c                 ó  — t         j                  rPt        |«      t        j                  u r5| j                  t        j                  «       t        j                  |¬«      S | j                  t        j                  «       t        |t        «      r…t        d„ |D «       «      rs| j                  j                  «       j!                  «       rK| j                  t        j                  «       t#        |D �cg c]  }t        j                  |«      ‘Œ c}«      S t%        |«      D ��cg c]4  \  }}t'        j                  |t)        | j+                  «       |«      ¬«      ‘Œ6 }}}| j,                  j.                  j0                  j3                  d«      }t5        | j                  t6        «      �r×| j                  j8                  t;        |«      v �rµ| j                  }t5        |t<        «      sJ ‚| j,                  j.                  j>                  jA                  tC        jD                  dd| jF                  «      t        |«      ||¬«      }d|jH                  jJ                  d<   tM        tN        | j,                  ||d |¬	«      }g }	t%        |jP                  «      D ]¶  \  }}
t)        ||d
¬«      }|
| j,                  j.                  jR                  |<   tU        ||   «      |
jV                  jH                  jJ                  d<   tY        jZ                  t        j\                  t_        ||   «      ¬«      }|	ja                  |jc                  |«      «       Œ¸ te        |	ddiŽ tg        ||d
d d
¬«      }||jH                  jJ                  d<    ti        jj                  |«      || j                  ¬«      }t        |t<        tl        jn                  f«      r0| j,                  j.                  jp                  js                  ||«      S |S c c}w c c}}w )N©r5  c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrî   r�  )r#  Úitems     rÛ   r%  z0VariableBuilder.wrap_listlike.<locals>.<genexpr>q  s   è ø€ ÒH¸$Ô$×/Ñ/°×5ÑHùr…  rù   rð   rÕ  r  TÚ	steal_arg)Ú
target_clsr  r�  Úexample_valueÚsubclass_typerç   F©ÚbaseÚindexÚindex_is_sliceÚtensor_dictr@  rk   )ré   rê   rë   rÖ  ):r&   Úspecialize_intr<  rô   rU  r.  r/   ÚCONSTANT_MATCHrq   r‡  rî  r_   rQ  r�  rç   Úguard_sourceÚis_unspecialized_nn_moduler›   ró  r’   r@   r>  r  r  Úlocal_scoperì  rï   rE   Ú
local_namerT   rR  rD  rE  r]  rF  r   r%  rG  Úwrap_fx_proxy_clsr½   r’  Úinput_source_to_varrL   r�  r  r  ÚTENSOR_MATCHr$   rn  rA  r0   ræ   r“   Úcls_for_instancerS  rT  r-  r“  )rð   r5  r—  r³  r  Úmaybe_gmrç   Útensor_list_proxyÚlist_variablerC  Útensor_variableÚsource_irD  rÖ  rr  s                  rÛ   rV  zVariableBuilder.wrap_listlikec  sE  € Ü× Ò ¤T¨%£[´E·J±JÑ%>Ø×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°Ô7Ð7ð 	×ÑœL×8Ñ8Ô9ô �5œ%Ô ÜÑHÀ%ÔHÔHØ—‘×(Ñ(Ó*×EÑEÔGà×Ñ¤× ;Ñ ;Ô<Ü ÈEÖ!RÀDÔ"2×"9Ñ"9¸$Õ"?Ò!RÓSÐSô % UÓ+÷
ñ
 ��4ô	  ×&Ñ&ØÜ$ T§_¡_Ó%6¸Ó:öð
ˆñ 
ð —7‘7—>‘>×-Ñ-×1Ñ1°&Ó9ˆÜØ�K‰Kœõ
à�k‰k×$Ñ$Ô(;¸HÓ(EÒEð —[‘[ˆFÜ˜e¤TÔ*Ð*Ð*Ø $§¡§¡× :Ñ :× MÑ MÜ—‘Ð'¨¨d¯i©iÓ8Ü�U“ØØð	 !Nó !Ðð 8<Ð×"Ñ"×'Ñ'¨Ñ4ä-Ü)Ø—7‘7Ø'Ø#Ø"ØôˆMð ˆFÜ&/°×0CÑ0CÓ&Dò :Ñ"��?Ü(¨f¸AÈeÔT�à?N�—‘—‘×2Ñ2°8Ñ<ÜAUØ˜!‘HóB�×%Ñ%×*Ñ*×/Ñ/°Ñ>ô "×)Ñ)Ü ×-Ñ-´]À5ÈÁ8Ó5Lô�ð —‘˜h×1Ñ1°%Ó8Õ9ð:ô ˜6Ð*¨Ò*äØØØ#(Ø ØôˆHð 7?Ð×"Ñ"×'Ñ'¨
Ñ3à9Ô!×2Ñ2°5Ó9¸&ÈÏÉÔUˆÜ�%œ$¤× 1Ñ 1Ð2Ô3Ø—7‘7—>‘>×.Ñ.×<Ñ<¸UÀFÓKÐKØˆùòK "Sùó
s   Ã2O9Ä#9O>c                 ó’  — | j                  t        j                  «       t        t	        |«      «      D �cg c]@  } t        | j                  t        | j                  «       |«      «      t        ||«      «      ‘ŒB }}t        || j                  ¬«      }| j                  j                  j                  j                  ||«      S c c}w ry  )r.  r/   ÚTUPLE_ITERATOR_LENrZ  rh   r)  r  rK   r>  rg   rš   rç   r  r-  r“  )rð   r5  r³  r  rr  s        rÛ   rW  z#VariableBuilder.wrap_tuple_iterator¼  s§   € Ø×ÑœL×;Ñ;Ô<ô
 Ô-¨eÓ4Ó5ö	
ð ð WŒO˜DŸG™GÔ%?ÀÇÁÓ@QÐSTÓ%UÓVÜ& u¨aÓ0õð
ˆð 
ô ' v°d·k±kÔBˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGùò
s   ¶ACc                 óB  — | j                  t        j                  «       t        j                  |«      D �cg c]  }t        j                  |«      ‘Œ }}t        || j                  ¬«      }| j                  j                  j                  j                  ||«      S c c}w ry  )r.  r/   ÚRANGE_ITERATOR_MATCHÚcopyÚdeepcopyrq   r‡  r”   rç   r  r  r-  r“  )rð   r5  rˆ  r’  rr  s        rÛ   rX  z#VariableBuilder.wrap_range_iteratorÇ  sw   € Ø×ÑœL×=Ñ=Ô>ô 6:·]±]À5Ó5IÖJ°Ô!×(Ñ(¨Õ+ÐJˆÐJÜ% e°D·K±KÔ@ˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGùò Ks   ·Bc                 ó\  — dD �cg c]@  } t        | j                  t        | j                  «       |«      «      t	        ||«      «      ‘ŒB }}| j                  t        j                  «       t        |t        «      rt        || j                  ¬«      S t        || j                  ¬«      S c c}w )N)ÚstartÚstopÚsteprù   )r)  r  r9   r>  rï  r.  r/   rz  rï   rY  r™   rç   r—   )rð   r5  r„  r’  s       rÛ   r[  z VariableBuilder.wrap_slice_rangeÏ  s•   € ð
 /ö	
ð ð GŒO˜DŸG™G¤Z°·±Ó0AÀ1Ó%EÓFÜ˜˜qÓ!õð
ˆð 
ð 	×ÑœL×3Ñ3Ô4Ü�eœUÔ#Ü  ¨t¯{©{Ô;Ð;ä  ¨t¯{©{Ô;Ð;ùò
s   …AB)rD  c                 ó€  — ddl m} t        j                  d| j                  j                  «       t        |«      «        |||¬«       || j                  j                  j                  v rT| j                  j                  j                  |   }|j                  |j                  j                  j                  d   d<   y y )Nr%   )Úmark_static_addressz Marking static input %s, id: %s)©rD  r   Ú_dynamo_static_input_type)Ú
decoratorsr»  Ústatic_inputs_logÚdebugrç   r   r"  r  r  r-  r½  r�  r%  rG  )rð   r5  rD  r»  r|  s        rÛ   Úmark_static_inputz!VariableBuilder.mark_static_inputÜ  s“   € Ý4ä×ÑØ.°·±×0@Ñ0@Ó0BÄBÀuÃIô	
ñ 	˜E¨Õ/ð �D—G‘G—N‘N×/Ñ/Ñ/Ø—'‘'—.‘.×-Ñ-¨eÑ4ˆCà×/Ñ/ð �I‰I�N‰N×Ñ Ñ.Ð/JÒKð 0rä   c                 óª	  — ddl m} t        |j                  «      dk(  r7t	        dt        |«      dt        |«      › d�g t        j                  ¢d‘¬«       t        ||«      rŒt        j                  |j                  d	d
«      rt        | j                  ¬«      S | j                  t        j                   «       t#        | j                  d«      | _        | j%                  |j&                  «      S t)        |t*        j,                  j.                  t*        j,                  j0                  t*        j,                  j2                  f«      rt4        j6                  st9        d«       t;        |dd
«      r¢t;        |dd
«      st9        d«       | j                  t        j                   «       t=        || j?                  «       ¬«      }tA        jB                  tE        |«      «      s|S | jF                  jH                  jJ                  jM                  ||«      S tO        jP                  || jF                  jR                  «      �rßt)        |t*        jT                  jV                  jX                  jZ                  «      r*|j]                  «       }t_        | j                  «      | _        | j                  t        j                   «       t*        j`                  j4                  jb                  r‰te        «       }|jg                  «       D ]  }| ji                  ||¬«       Œ |jk                  «       D ]  }| ji                  ||¬«       Œ |r-|| jF                  jH                  jl                  | jn                  <   |jp                  js                  d«      st;        |jt                  dd
«      rtw        || j                  ¬«      }nty        || j                  ¬«      }tA        jB                  tE        |«      «      s|S | jF                  jH                  jJ                  jM                  ||«      S t{        |jt                  t*        j,                  j|                  j~                  j€                  «      r:| j                  t        j                   «       ty        || j?                  «       ¬«      S | jF                  jH                  jƒ                  || jn                  | j?                  «       ¬«      S )Nr%   )ÚOptimizedModuler   zUninitialized nn.Modulez6Attempted to trace an uninitialized nn.Module of type ú.z?Ensure your nn.Module instance has called `super().__init__()`.)Úgb_typeÚcontextÚexplanationÚhintsÚ_torchdynamo_disableFrù   Ú	_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)BÚ
eval_framerÃ  ÚlenÚ__dict__r.   rl   r'   Ú
USER_ERRORr_   r   r0  Úforwardr¡   rç   r.  r/   rz  r9   rõ  rÊ  rï   rô   rL  ÚRNNÚGRUÚLSTMr&   Ú	allow_rnnr-   rï  r²   r>  r7   r’  r<  r  r  r-  r3  r(   Úis_dynamic_nn_moduleÚexportÚfxÚexperimentalÚproxy_tensorÚ
_AttrProxyÚget_baser8   rÊ  Úinline_inbuilt_nn_modulesr[   Ú
parametersrÁ  ÚbuffersÚ
nn_modulesr   rá   r  r  r³   r´   rf  ÚparallelÚdistributedÚDistributedDataParallelÚregister_attr_or_module)rð   r5  rÃ  rr  ÚfreezingÚpÚbs          rÛ   rõ  zVariableBuilder.wrap_moduleì  s�  € Ý0äˆu�~‰~Ó !Ò#ÜØ1Ü ›ØTÔU\Ð]bÓUcÐTdÐdeÐfðÜ&×1Ñ1ðàUðõ	ô �%˜Ô)ä×%Ñ% e§m¡mÐ5KÈUÔSô
 /°d·k±kÔBÐBà×Ñ¤× 7Ñ 7Ô8Ü$ T§[¡[°+Ó>ˆDŒKØ×#Ñ# E§O¡OÓ4Ð4ô �uœuŸx™xŸ|™|¬U¯X©X¯\©\¼5¿8¹8¿=¹=ÐIÔJÜ×$Ò$äÐQÔRä�5Ð3°UÔ;ô ˜5Ð"9¸5ÔAÜÐSÔTð ×Ñ¤× 7Ñ 7Ô8Ü0°¸t¿¹Ó?PÔQˆFÜ×AÑAÄ$ÀuÃ+ÔNà�Ø—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ×0Ñ0°¸¿¹¿¹ÕGô
 ˜%¤§¡×!6Ñ!6×!CÑ!C×!NÑ!NÔOØŸ™Ó(�Ü-¨d¯k©kÓ:�”à×Ñ¤× 7Ñ 7Ô8Ü�}‰}×#Ñ#×=Ò=Ü0Ó2�Ø×)Ñ)Ó+ò >�AØ×*Ñ*¨1°HÐ*Õ=ð>ð Ÿ™›ò >�AØ×*Ñ*¨1°HÐ*Õ=ð>ñ ð <A�D—G‘G—N‘N×-Ñ-¨d¯i©iÑ8à×Ñ×*Ñ*Ð+EÔFÌ'Ø—‘Ð!8¸%ôKô >¸eÈDÏKÉKÔX‘ä6°uÀTÇ[Á[ÔQ�ä×AÑAÄ$ÀuÃ+ÔNà�Ø—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜØ�O‰OœUŸX™X×.Ñ.×:Ñ:×RÑRô
ð ×Ñ¤× 7Ñ 7Ô8Ü0°¸t¿¹Ó?PÔQÐQà—7‘7—>‘>×9Ñ9ØØ—	‘	Ø—‘Ó(ð :ó ð rä   c                 ó†  — t         j                  sxt        |«      t        u rgt	        || j
                  «      r@| j                  t        j                  «       t        j                  || j
                  ¬«      S | j                  |«      S t         j                  s"t        |«      t        u r| j                  |«      S | j                  t        j                  «       t        j                  || j
                  ¬«      }t        |t         t"        f«      r0| j$                  j&                  j(                  j+                  ||«      S |S )NrÀ  )r&   r¡  r<  r?  r   rç   r.  r/   r¢  rq   r‡  Úwrap_symintÚspecialize_floatÚfloatÚwrap_symfloatrï   rR  Úsetr  r  r-  r“  r“  s      rÛ   r\  zVariableBuilder.wrap_literalU  så   € Ü×$Ò$¬¨e«¼Ñ);ô *¨%°·±Ô=Ø×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÀ4Ç;Á;ÔOÐOà×'Ñ'¨Ó.Ð.Ü×(Ò(¬T°%«[¼EÑ-AØ×%Ñ% eÓ,Ð,à×Ñ¤× ;Ñ ;Ô<Ü%×,Ñ,°5ÀÇÁÔMˆFÜ˜%¤$¬ Ô-Ø—w‘w—~‘~×2Ñ2×@Ñ@ÀÈÓOÐOØˆMrä   c                 óv   — t        |«      r.t        |«      | j                  j                  u rt	        dd«      ‚y y )Nz*Cannot wrap a Tensor that has already beenz"wrapped by this instance of Dynamo)r   r   r  rt  r,   rw  s     rÛ   Ú assert_not_wrapped_by_this_graphz0VariableBuilder.assert_not_wrapped_by_this_graphg  s;   € Ü�5Œ>Ô1°%Ó8¸D¿G¹G×<MÑ<MÑMÜ*Ø<Ø4óð ð Nˆ>rä   c           	      ó"  — | j                  «       }|| j                  j                  j                  vsJ ‚t	        |«      d u}t
        j                  rc|sat        |t        j                  j                  «      s |r;|j                  «       j                  «       r| j                  |t        «       ¬«       d}|xrC t
        j                   xs0 t        «       xs$ t        j                  j
                  j                   }|j                  «       j#                  «       s|ra|j                  «       j%                  «       sC| j'                  |«       | j                  j                  j)                  || j*                  |¬«      S t	        |«      dk(  rb| j-                  t.        j0                  «       | j'                  |«       | j                  j                  j)                  || j*                  |¬«      S t3        |«      rX| j'                  |«       | j                  j                  j)                  |t5        j6                  dd| j*                  «      |¬«      S t9        |«      t
        j:                  v rt9        |«      }n˜t9        |«      t        j<                  t        j                  j                  t        j>                  j@                  jB                  t        j>                  jD                  jF                  fv stI        |«      sJ t9        |«      «       ‚d }|| j                  j                  jJ                  v }|r#| j                  j                  jJ                  |   S t	        |«      dk(  r| j-                  t.        j0                  «       | j'                  |«       i }t9        |«      t
        j:                  v rCtM        | j                  || jN                  «      |d<   | j-                  t.        jP                  «       t        |t        j<                  «      rO|jR                  rCt        |t        jT                  jV                  jX                  jZ                  «      st]        d«       t        |t        j<                  «      r<t_        |«      r1| j                  j`                  rt
        jb                  st]        d	«       te        |«      r8tg        |«      �-|jh                  tg        |«      jh                  k7  rt]        d
«       tk        || j                  d|¬«      }| j                  j                  jl                  jo                  t5        j6                  dd| j*                  «      t9        |«      ||¬«      }	tq        | j                  |	|«       ts        d| j                  |	|||dœ|¤Ž}
|ju                  «       r-tk        |jv                  | j                  ty        |d«      d¬«       t.        jz                  }t        |t|        «      rt        |«      rt.        j€                  }| j-                  tƒ        j„                  |t        |t†        «      r|n
t‰        |«      ¬«      «       tI        |«      rÚ| j-                  t.        jŠ                  «       | j-                  t.        jP                  «       t�        t�        |«      j‘                  t.        j’                  «      «       |j•                  «       \  }}|D ]S  }t—        ||«      }ty        | jN                  |«      }t™        jš                   t�        | j                  |«      |«      «       ŒU |
| j                  j                  jJ                  |<   d|	jž                  j                   vsJ ‚t£        |«      |	jž                  j                   d<   |
j¤                  jž                  j                   d   }t§        |«      | j                  j¨                  urt«        d«      ‚t­        ||d|«      }||	jž                  j                   d<   |
S )Nr¼  Trù   ÚguardedrÕ  r  Ú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  r�  rš  r›  rç   Ú_base)r  rç   rë   r•  r   rš  z(Wrapped Tensor must be this graph's fakeFrÖ  rã   )Wr>  r  r  r-  rU   r&   rÞ  rï   rô   rL  rM  r£  r¤  rÁ  r[   rÊ  Úprepare_freezingÚis_specialized_nn_moduleÚis_fsdp_modulerð  rå  r   r.  r/   rv  rB   r]  rF  r<  rí  rõ   r  rê   r   rN  rO  r"   r¨  rÃ   rç   rz  Ú	is_nestedÚnestedÚ	_internalÚnested_tensorÚNestedTensorr-   r   rØ  Úcapture_sparse_computerÜ   r   rÄ  Úwrap_to_fake_tensor_and_recordrD  rE  Úcache_real_value_when_exportÚwrap_fx_proxyÚ_is_viewrö  r9   r©  rA   rC   ÚNOT_NONE_MATCHr  r  rF   r$   ÚTENSOR_SUBCLASS_METADATA_MATCHr0   rJ   rA  r9  Ú__tensor_flatten__rï  r’   rp  r)  r%  rG  rL   r�  r   rt  r,   ræ   )rð   r5  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Û   rP  zVariableBuilder.wrap_tensorn  sŽ  € Ø—‘Ó"ˆð ˜DŸG™GŸN™N×7Ñ7Ñ7Ð7Ð7ä1°%Ó8ÀÐDˆô ×,Ò,Ù#ä˜5¤%§(¡(×"4Ñ"4Ô5ñ ˜v×2Ñ2Ó4×OÑOÔQð ×"Ñ" 5Ô0EÓ0GÐ"ÔHØ"ˆOà.ò  
Ü×0Ñ0Ð0ò 5Ü$Ó&ò5ä�}‰}×#Ñ#×4Ñ4ð 	ð ×ÑÓ!×:Ñ:Ô<Ñ@TØ×%Ñ%Ó'×6Ñ6Ô8Ø×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9Ø�t—y‘y¨ð :ó ð ô # 5Ó)¨YÒ6ð ×Ñ¤× 5Ñ 5Ô6Ø×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9Ø�t—y‘y¨ð :ó ð ô ˜fÔ%Ø×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9ØÜ—‘Ð'¨¨d¯i©iÓ8Øð :ó ð ô �‹;œ&×<Ñ<Ñ<ô$ ! ›K‰Mä˜“;Ü—‘Ü—‘×"Ñ"Ü×!Ñ!×-Ñ-×8Ñ8Ü×!Ñ!×3Ñ3×DÑDð	#ñ ô
 /¨uÔ5ðCô
 8<¸E³{óCð 6ð !ˆMð %¨¯©¯©×(JÑ(JÐJÐÙØ—7‘7—>‘>×5Ñ5°fÑ=Ð=ä" 5Ó)¨YÒ6Ø×Ñ¤× 5Ñ 5Ô6ð 	×-Ñ-¨eÔ4àˆÜ�‹;œ&×<Ñ<Ñ<Ü+BØ—‘˜ §¡ó,ˆGÐ'Ñ(ð ×Ñ¤× 7Ñ 7Ô8ô �uœeŸl™lÔ+Ø—’Ü˜u¤e§l¡l×&<Ñ&<×&JÑ&J×&WÑ&WÔXäÐOÔPô �uœeŸl™lÔ+Ü˜eÔ$Ø—W‘W—^’^¬6×+HÒ+Hô
 ÐIÔJô ˜%Ô Ü˜%Ó Ð,Ø—‘œy¨Ó/×5Ñ5Ò5äðDôô  7Ø�d—g‘g¨°fô
ˆð —w‘w—~‘~×1Ñ1×DÑDÜ�F‰FÐ# S¨$¯)©)Ó4Ü�‹KØØð	 Eó 
ˆô 	% T§W¡W¨l¸EÔBä'ð 
Ø�w‰wØØ'Ø'Øñ
ð ñ
ˆð �>‰>Ôô +Ø—‘Ø—7‘7Ü! &¨'Ó2Øõ	ô "×.Ñ.ˆ
ä�fœjÔ)Ô.FÀvÔ.NÜ%×4Ñ4ˆJà×ÑÜ×ÑØô " &Ô*;Ô<ñ ä& uÓ-ôô		
ô )¨Ô/Ø×Ñ¤× KÑ KÔLØ×Ñ¤× 7Ñ 7Ô8ÜÜ& vÓ.×9Ñ9¼,×:SÑ:SÓTôð ×/Ñ/Ó1‰HˆE�1Øò �Ü% e¨TÓ2�Ü)¨$¯+©+°tÓ<�Ü#×/Ñ/Ø:”O D§G¡G¨\Ó:¸;ÓGõðð 6Eˆ�‰�‰×*Ñ*¨6Ñ2Ø L×$5Ñ$5×$:Ñ$:Ñ:Ð:Ð:Ü0DÀUÓ0Kˆ×Ñ×Ñ˜}Ñ-ð ,×1Ñ1×6Ñ6×;Ñ;¸OÑLÐÜÐ0Ó1¸¿¹×9JÑ9JÑJÜ*Ð+UÓVÐVä˜F E¨5Ð2CÓDˆØ-5ˆ×Ñ×Ñ˜zÑ*ØÐrä   c                 óÔ  — t         €J ‚t        |t         j                  «      sJ ‚t        | j	                  «       «      }ddlm} |j                  j                   }|r	 d|j                  _        t        j                  «       5  	 |j                  |«      }|rddlm}  ||«      }d d d «       t)        j*                   t-        | j.                  |«      «      «       t1        || j.                  d|¬«      }| j.                  j2                  j4                  j7                  t9        j:                  dd| j<                  «      t?        |«      ||¬	«      }	tA        | j.                  |	|«       d
|i}
tC        dtD        | j.                  |	|dœ|
¤Ž}|| j.                  j2                  jF                  |<   |jH                  jJ                  jL                  d   }tO        ||d|d|¬«      }||	jJ                  jL                  d<   |S # t        $ r* t        |j                  t         j                  «      sJ ‚Y �Œ¿w xY w# t"        $ r}t%        t'        |«      «       Y d }~�Œ¯d }~ww xY w# 1 sw Y   �Œ¹xY w)Nr   )Ú_utilT)Úclone_preserve_stridesFrõ  rÕ  r  rù   rç   ©r™  r  r�  rš  rš  ©ré   rê   rë   rì   rÖ  rã   )(rm  rï   ro  rF   r>  Útorch._numpyr  ÚflagsÚ	writeableÚ
ValueErrorr�  ÚnditerrÅ   Útemp_restore_stackÚ_try_convert_to_tensorÚtorch._prims_commonr  rB  r-   Ústrr’   rp  r)  r  r   r  rD  rE  r]  rF  r   r<  r  r§  r¹   r¨  r�  r%  rG  ræ   )rð   r5  rç   r  ÚreadonlyÚtensor_valuer  Úerš  r�  r
  Únumpy_ndarray_variablerÖ  s                rÛ   rp  z"VariableBuilder.wrap_numpy_ndarrayP  s(  € Üˆ~Ðˆ~Ü˜%¤§¡Ô,Ð,Ð,ä" 4§?¡?Ó#4Ó5ˆå&à—{‘{×,Ñ,Ð,ˆÙð9Ø(,�—‘Ô%ô 1×CÑCÓEñ 		&ð&Ø$×;Ñ;¸EÓB�ÙÝJá#9¸,Ó#G�L÷		&ô 	×'Ñ'Ð(H¬¸¿¹ÀÓ(HÈÓ(VÔWÜ6ØØ�w‰wØØô	
ˆð —‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØð	 >ó 
ˆô 	% T§W¡W¨e°\ÔBØ˜VÐ$ˆÜ!2ð "
Ü+Ø�w‰wØØ'ñ	"
ð
 ñ"
Ðð 6Lˆ�‰�‰×*Ñ*¨6Ñ2Ø.×4Ñ4×9Ñ9×>Ñ>¸ÑOˆô ØØØ#Ø%ØØ+ô
ˆð '/ˆ�
‰
�‰˜
Ñ#à%Ð%øôu ò 9ô " %§*¡*¬b¯i©iÔ8Ð8Ó8ð9ûô 'ò &äœc !›f×%Ò%ûð&ú÷		&ñ 		&úsB   ÁG< ÂIÂ!H2Ç</H/È.H/È2	IÈ;IÉIÉIÉIÉI'c                 óŠ  — t        |«      t        u sJ ‚| j                  | j                  j                  j
                  v r-| j                  j                  j
                  | j                     S | j                  j                  j                  }t        j                  «       j                  ra|j                  «       }t        |«       | j                  j                  j                  j                  t        || j                  d «      «       �n#t!        | j#                  «       «      �s®t$        j&                  j(                  j*                  r@| j-                  t.        j0                  «       t3        j4                  || j                  ¬«      S | j                  j                  «       }t7        | j                  |t9        j:                  |«      | j                  j=                  «       j?                  «       ¬«      }tA        | j                  j                  «       «      }| j                  }tC        |tD        «      r|jG                  «       }| j                  j                  «       tI        «       v r?tJ        jM                  d| j                  j                  «       «       tN        jP                  }nÉt(        jR                  r|jT                  tV        u rtY        «       }nœtC        |tZ        «      r6|j\                  �*t_        |j\                  «      j                  |ddi«      d   st(        j`                  stN        jP                  }n5| j-                  t.        j0                  «       t3        j4                  |¬«      S |jc                  || j                  |¬«      }| j                  j                  j                  j                  t        || j                  d «      «       n[t!        | j#                  «       «      sJ ‚| j-                  t.        j0                  «       t3        j4                  || j                  ¬«      S tC        | j#                  «       td        «      rJ ‚tg        | j#                  «       ji                  t.        jj                  «      «       d| j#                  «       i}	| j                  j                  jl                  jo                  tq        jr                  d	d
| j                  «      t        |«      || j#                  «       ¬«      }
|jt                  jv                  }tC        |tx        jz                  «      s
J |› d�«       ‚|
| j                  j                  jl                  j|                  |<   t        |
|fi |	¤Ž}|| j                  j                  j
                  | j                  <   t!        | j#                  «       «      s‰| j                  j€                  r=tC        | j#                  «       tZ        «      stƒ        d|› d| j#                  «       › �«      ‚t…        | j#                  «       |dd d|¬«      |
jt                  j†                  d<   |S )NrÀ  ©r¤  ú&%s marked dynamic via source whitelistr   Fr•  )rç   rÔ  rç   rÕ  r  rù   r×  ú=Dynamo attempts to add additional input during export: value=ú	, source=r  rÖ  )Dr<  r?  r   r  r  Úunspec_variable_mapr=  r   rì  Ú#force_unspec_int_unbacked_size_likerC  r   rK  rn  rL  rç   rB   r>  rô   rÊ  r&   r¡  r.  r/   r¢  rq   r‡  r6   r4   Úmake_scalarr£  r¤  r   rï   r;   rÝ  Úget_dynamic_sourcesÚlogrÀ  r   rA  Úautomatic_dynamic_shapesÚscalarr2   Ú$get_automatic_dynamic_shapes_mark_asrE   Údynamismr‘  Úassume_static_by_defaultr>  rH   r0   rA  rz  rD  rE  r]  rF  r%  rH  rI  rJ  Úbound_symbolsr»   rØ  ÚAssertionErrorræ   rG  )rð   r5  r=  Úwrapped_valuer   Úframe_state_entryÚnormalized_source_nameÚbase_sourcerÔ  r
  r�  r‹  Ú
unspec_vars                rÛ   rê  zVariableBuilder.wrap_symint˜  s�  € Ü�E‹{œcÑ!Ð!Ð!à�9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@à—G‘G—N‘N×,Ñ,ˆ	Ü×ÑÓ×CÒCØ%×<Ñ<Ó>ˆMÜ% mÔ4Ø�G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó=öô $ D§O¡OÓ$5Õ6Ü�}‰}×#Ñ#×2Ò2ð ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÀ4Ç;Á;ÔOÐOà—;‘;×#Ñ#Ó%ˆDä 9Ø—‘ØÜ#×/Ñ/°Ó6Ø+/¯;©;×+CÑ+CÓ+E×+`Ñ+`Ó+bô	!Ðô &;¸4¿;¹;×;KÑ;KÓ;MÓ%NÐ"ØŸ+™+ˆKÜ˜+¤}Ô5Ø)×2Ñ2Ó4�à�{‰{×ÑÓ!Ô%8Ó%:Ñ:Ü—	‘	ÐBÀDÇKÁK×DTÑDTÓDVÔWÜ(×0Ñ0‘ä×/Ò/Ø%×,Ñ,´Ñ<äBÓD‘ä˜;¬Ô4Ø×(Ñ(Ð4Ü˜×-Ñ-Ó.×2Ñ2Ð3IÈAÈuÈ:ÓVØòô ×4Ò4Ü(×0Ñ0‘ð ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÔ;Ð;à%×JÑJØØ—{‘{Ø'ð Kó ˆMð �G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó=õô & d§o¡oÓ&7Ô8Ð8Ð8à×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKä˜dŸo™oÓ/Ô1BÔCÐCÐCÜ�d—o‘oÓ'×2Ñ2´<×3JÑ3JÓKÔLà˜TŸ_™_Ó.Ð/ˆà—‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØ—?‘?Ó$ð	 >ó 
ˆð !×%Ñ%×*Ñ*ˆÜ˜(¤E§L¡LÔ1ÐW°h°ZÐ?VÐ3WÓWÐ1Ø=Bˆ�‰�‰×"Ñ"×0Ñ0°Ñ:Ü$ U¨MÑE¸WÑEˆ
Ø8Bˆ�‰�‰×*Ñ*¨4¯9©9Ñ5ä! $§/¡/Ó"3Ô4Ø�w‰w�~Š~¤j°·±Ó1BÄKÔ&PÜ$ØSÐTaÐSbÐbkÐlp×l{Ñl{Ól}Ðk~Ðóð ô +3Ø—‘Ó!ØØ#(Ø ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð Ðrä   c           
      ó�
  — | j                   | j                  j                  j                  v r-| j                  j                  j                  | j                      S t	        | j                  | j
                  j                  «       t        j                  |«      | j
                  j                  «       j                  «       ¬«      }t        j                  j                  j                  s�t        | j                  «       «      svt!        j"                  |«      sat!        j$                  |«      sLt        j&                  j                  j(                  j*                  st-        dd«      s|j.                  t0        ur@| j3                  t4        j6                  «       t9        j:                  || j
                  ¬«      S t        j<                  |t        j>                  ¬«      }t        j@                  jB                  jE                  |«      r@| j3                  t4        j6                  «       t9        j:                  || j
                  ¬«      S tG        | j                  «       tH        «      rJ ‚tK        | j                  «       jM                  t4        jN                  «      «       tQ        | j                  «       «      }||dœ}tS        || j                  d|¬«      }| j                  j                  jT                  jW                  tY        jZ                  dd	| j                   «      t]        |«      ||¬
«      }t_        | j                  ||«       ta        tb        f| j                  ||dœ|¤Ž}tG        |tb        «      sJ ‚|| j                  j                  j                  | j                   <   | j                  jd                  r=tG        | j                  «       tf        «      sti        d|› d| j                  «       › �«      ‚d }	|jj                  jl                  jn                  d   }tq        |«      sJ ‚|}	|	jr                  | j                  jr                  u sJ d|	jr                  › d�«       ‚tu        | j                  «       |d|	d|¬«      |jl                  jn                  d<   tw        | j                   | j                  j                  jx                  ddgt{        |gi «      ¢­Ž «      }
| j                  j                  j|                  j                  t�        |
j‚                  | j
                  d «      «       t…        «       j‡                  ddd¬«       |
S )Nr%  z.pytorch/compiler:unspecialize_float_killswitchFrÀ  )rÄ  )rç   Ú	raw_valuerõ  rÕ  r  rù   ©r  r�  rš  r'  r(  rš  úfake mode (ú^) from fake tensor metadata doesn't match mode({self.tx.fake_mode}) from InstructionTranslatorTr  rÖ  Úcall_methodr—  Útensorify_float_attempt)Ú	overwrite)Dr   r  r  r)  r6   rç   r4   r+  r£  r¤  rô   rÊ  r&   rë  rB   r>  ÚmathÚisnanÚisinfÚ	_inductorÚtritonÚ
cudagraphsr   r/  r2   r.  r/   r¢  rq   r‡  ÚtensorÚfloat64rý  rþ  Úis_gradtrackingtensorrï   rH   r0   rA  rz  r?   r   rD  rE  r]  rF  r<  r  r§  r¾   rØ  rE   r4  r�  r%  rG  r   rt  ræ   r  r$  rb   rK  rn  rL  Úsym_numr   rî  )rð   r5  r6  r5  rç   r
  rš  r�  r9  r  rñ   s              rÛ   rí  zVariableBuilder.wrap_symfloat  s  € ð �9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@ä5Ø�G‰GØ�K‰K×ÑÓÜ×+Ñ+¨EÓ2Ø'+§{¡{×'?Ñ'?Ó'A×'\Ñ'\Ó'^ô	
Ðô �M‰M× Ñ ×1Ò1Ü! $§/¡/Ó"3Ô4Ü�z‰z˜%Ô Ü�z‰z˜%Ô ô �‰×%Ñ%×,Ñ,×7Ò7ÜÐOÐQVÔWØ ×'Ñ'¬|Ñ;à×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKô Ÿ™ U´%·-±-Ô@ˆô
 �8‰8×Ñ×4Ñ4°]ÔCØ×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKô ˜dŸo™oÓ/Ô1BÔCÐCÐCÜ�d—o‘oÓ'×2Ñ2´<×3JÑ3JÓKÔLô # 4§?¡?Ó#4Ó5ˆØ#°%Ñ8ˆô 7Ø˜dŸg™g°¸vô
ˆð —‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØð	 >ó 
ˆô 	% T§W¡W¨e°]ÔCä&Ü'ð
à�w‰wØØ'ñ	
ð
 ñ
ˆ
ô ˜*Ô&AÔBÐBÐBØ8Bˆ�‰�‰×*Ñ*¨4¯9©9Ñ5à�7‰7�>Š>¤*¨T¯_©_Ó->ÄÔ"LÜ ØOÐP]ÈÐ^gÐhl×hwÑhwÓhyÐgzÐ{óð ð !ÐØ"×(Ñ(×-Ñ-×2Ñ2°?ÑCˆÜ�}Ô%Ð%Ð%à)ÐØ ×*Ñ*¨d¯g©g×.?Ñ.?Ñ?ð 	
ØÐ+×5Ñ5Ð6ð 7?ð ?ó	
Ð?ô  '/Ø�O‰OÓØØ#Ø)ØØ,ô'
ˆ�
‰
�‰˜
Ñ#ô Ø�G‰GØ'ˆD�G‰G�N‰N×'Ñ'ØØðô # J <°Ó4òó
ˆð 	�‰�‰×$Ñ$×+Ñ+¬K¸¿	¹	À4Ç;Á;ÐPTÓ,UÔVäÓ×!Ñ!Ð";¸TÈTÐ!ÔRàˆrä   c                 ó  — | j                   | j                  j                  j                  v r-| j                  j                  j                  | j                      S t	        j
                  |«      }t        | j                  «       t        «      s6t        | j                  «       j                  t        j                  «      «       d| j                  «       i}|j                  d|i«       t        || j                  d| j                  «       ¬«      }| j                  j                  j                  j!                  t#        j$                  dd| j                   «      t'        |«      || j                  «       ¬«      }t)        | j                  ||«       t+        t,        f| j                  ||dœ|¤Ž}|| j                  j                  j                  | j                   <   t/        | j                  «       «      �s| j                  j0                  r=t        | j                  «       t2        «      st5        d	|› d
| j                  «       › �«      ‚d }t        |t6        «      r|j8                  }n#|j:                  j<                  j>                  d   }tA        |«      sJ ‚|}|jB                  | j                  jB                  u sJ d|jB                  › d�«       ‚tE        | j                  «       |d|d|¬«      |j<                  j>                  d<   |S )Nrç   r;  Frõ  rÕ  r  rù   r<  r'  r(  rš  r=  r>  Tr  rÖ  )#r   r  r  r)  rô   rH  rï   r>  rH   r0   rA  r/   rz  Úupdater   rD  rE  r]  rF  r<  r  r§  r¾   rB   rØ  rE   r4  rq   r5  r�  r%  rG  r   rt  ræ   )rð   r5  r5  r
  rš  r�  r9  r  s           rÛ   r  z,VariableBuilder.wrap_unspecialized_primitive•  s  € Ø�9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@äŸ™ UÓ+ˆÜ˜$Ÿ/™/Ó+Ô->Ô?Ü˜$Ÿ/™/Ó+×6Ñ6´|×7NÑ7NÓOÔPà˜TŸ_™_Ó.Ð/ˆØ�‰˜ UÐ+Ô,ä6Ø˜dŸg™g°¸t¿¹Ó?Pô
ˆð —‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØ—?‘?Ó$ð	 >ó 
ˆô 	% T§W¡W¨e°]ÔCä&Ü'ð
à�w‰wØØ'ñ	
ð
 ñ
ˆ
ð 9Cˆ�‰�‰×*Ñ*¨4¯9©9Ñ5Ü! $§/¡/Ó"3Õ4Ø�w‰w�~Š~¤j°·±Ó1BÄKÔ&PÜ$ØSÐTaÐSbÐbkÐlp×l{Ñl{Ól}Ðk~Ðóð ð !%ÐÜ˜*Ô&6Ô7à *× 0Ñ 0‘à *× 0Ñ 0× 5Ñ 5× :Ñ :¸?Ñ K�Ü˜=Ô)Ð)Ð)à -ÐØ$×.Ñ.°$·'±'×2CÑ2CÑCð ØÐ/×9Ñ9Ð:ð ;Cð CóÐCô
 +3Ø—‘Ó!ØØ#'Ø-ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð Ðrä   )<rà   rá   râ   Ú__doc__rI   r  r:  r2  r>  r.  ÚclassmethodrJ  r  Ú	lru_cacherG  r]  r^  r_  r`  ra  rb  rf  ri  rl  r‘  r?  r   r   ro   r   r1  ro  r	   rQ  rR  ra   r   rV  rf   rW  rc   rX  rY  rZ  r[  rô   rõ   r  rÁ  rL  rô  rõ  r\  rð  rP  rp  rê  rí  r  r  r  s   @rÛ   r)  r)  „  sÃ  ø„ Ù=ð"ð ð"ð 
õ	"òò0
òòð ñ;ó ð;ð Ø€Y×Ñ˜Óñ$ó ó ð$ðL+¨¯
©
ó +ð
I '×"7Ñ"7ó Iò<ò
òHð4 Ø€Y×Ñ˜Óðà	ˆc�8Ð.°Ð4°oÐEÑFÐFÑ	Gòó ó ðò4`1ðDP só PðW 5¨°°lÀJÐ)NÑ#Oó Wðr	H¨ó 	HðH¨ó Hð< e¨E°5¨LÑ&9ó <ð u§|¡|ð ¸Dó ð g §¡§¡ó gòRð$°e·l±ló ð` §¡ó `òDF&òPròhGöR9rä   r)  c                 óN  — t        | t        «      r| j                  }nt        d| › �«       g }t	        j
                  «      D ]V  }d }| j                  r*t        t        | j                  d«      |j                  «      }|j                  t        ||¬«      «       ŒX t        |«      S )Nz)Dataclass fields handling fails for type Ú__dataclass_fields__rù   )rï   rÏ   r5  r-   r�  rž  rç   r>   r9   r   rn  r›   )Úobjr5  r’  Úfieldrç   s        rÛ   rš  rš  Ñ  s•   € Ü�#Ô0Ô1Ø—	‘	‰äÐAÀ#ÀÐGÔHØ€EÜ×#Ñ# EÓ*ò FˆØˆØ�:Š:Ü&Ü˜3Ÿ:™:Ð'=Ó>ÀÇ
Á
óˆFð 	�‰Ô.¨u¸VÔDÕEðFô ˜ÓÐrä   c                 óÌ   — t        | t        j                  «      rIt        | t        «      s9t        j                  | «      rt        | «      |u s| j                  st        | «      } | S rî   )rï   rô   rõ   r   Ú_is_functional_tensorr   rú  rO   )r5  rt  s     rÛ   Ú_clone_inputrW  á  sQ   € Ü�%œŸ™Ô&ô �uœjÔ)ô ×+Ñ+¨EÔ2Ü'¨Ó.°)Ñ;à�Šô   Ó&ˆEà€Lrä   r  c                 ó‚   — | |||dœ|¥}|€t        ddt        i|¤ŽS t        ddt        i|¤Ž}|j                  | «       |S )N)r  r�  rš  r›  r™  rã   )r§  r½   rÄ   Úinstall_global)r  r�  rš  r›  r
  Úkwargsrr  s          rÛ   r  r  ó  sb   € ð ØØ&Ø&ñ	ð
 ð€Fð ÐÜ ÑE¬NÐE¸fÑEÐEä"ÑUÔ.JÐUÈfÑUˆØ×Ñ˜bÔ!Øˆrä   c                 óò   — | j                   r_t        j                  j                  «       5  t	        || j
                  «      |j                  j                  |j                  <   d d d «       y y # 1 sw Y   y xY wrî   )	rØ  rô   rý  ÚDisableTorchFunctionSubclassrW  rt  ÚtracerÚreal_value_cacher%  r<  s      rÛ   r  r  	  s`   € Ø	‡y‚yô �X‰X×2Ñ2Ó4ñ 	Ü8DØ˜rŸ|™|ó9ˆE�L‰L×)Ñ)¨%¯*©*Ñ5÷	ð 	ð	 ÷	ð 	ús   «8A-Á-A6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  r�  rš  r›  r
  s         rÛ   r§  r§  <	  sv   € ð ÐÜØ˜˜E =°-ñ
ØCJñ
ð 	
ô 
�M¤5§<¡<Ô	0Ü*Ø˜˜E =°-ñ
ØCJñ
ð 	
ô $Ø˜2˜u g¨}¸jó
ð 	
rä   c                 óz  — ddl m} t        |t        j                  «      sJ dt        |«      › �«       ‚t        ||«      sJ ‚d|v r-|d   �(|j                  j                  j                  |d   «       |j                  j                  dk(  r#d|j                  j                  v sBJ d|› d�«       ‚d|j                  j                  vsJ |j                  j                  d   › «       ‚t        j                  j                  j                  «       5  t        |«      |j                   u rn¨t#        |||«       |j$                  r^t        j&                  j)                  «       5  t+        ||j                   «      |j,                  j.                  |j                  <   d d d «       d	| t0        t2        fv i}d
|v r|d
   €J ‚|d
   |d
<   t5        |fd|i|¤Ž}|j6                  j
                  dk7  r%t        |«      |j                   urt9        d|› �«      ‚d d d «       t;        |||||| «      S # 1 sw Y   Œ�xY w# 1 sw Y   Œ%xY w)Nr%   ©ÚInstructionTranslatorBasez1_wrap_fx_preexisting_tensor expected tensor, got rC  Úplaceholderrš  zplaceholder z* doesn't have 'example_value' in node.metarë   rç   r  rG  zN`tensor` needs to be a `FakeTensor`wrapped by this instance of Dynamo. Found: )Úsymbolic_convertre  rï   rô   rõ   r<  r  rC  rM  r%  ÚoprG  rÊ  rc  Ú+_disable_saved_tensors_hooks_during_tracingr   rt  r  rØ  rý  r\  rW  r]  r^  r½   rÄ   r   r&  r,   rb  )r™  r  r�  rH  r›  r
  re  rZ  s           rÛ   ra  ra  Q	  s4  € õ =ä�fœeŸl™lÔ+ð Ø
;¼DÀ»L¸>ÐJóÐ+ô �bÐ3Ô4Ð4Ð4Ø�7Ñ˜w xÑ0Ð<Ø
�	‰	×Ñ×Ñ ¨Ñ 1Ô2ð ‡z�z‡}�}˜Ò%Ø %§*¡*§/¡/Ñ1ð 	
Ø˜5˜'Ð!KÐLó	
Ð1ð  e§j¡j§o¡oÑ5ð 	
Ø�z‰z�‰˜Ñ/Ð0ó	
Ð5ô
 
�‰×	Ñ	×	HÑ	HÓ	Jñ  ä˜vÓ&¨"¯,©,Ñ6Øä(¨¨U°FÔ;Ø�yŠyô —X‘X×:Ñ:Ó<ñ Ü@LØ §¡óA�E—L‘L×1Ñ1°%·*±*Ñ=÷ð ˜ZÜ"Ô$@ÐAðBðˆFð ˜wÑ&¨7°8Ñ+<Ð+HÐHÐHØ& xÑ0ˆF�8ÑÜ3°FÑL¸rÐLÀVÑLˆFà�=‰=×Ñ Ò'Ü Ó'¨r¯|©|Ñ;ä*ð>Ø>D¸XðGóð ÷; ôD   ¨¨E°7¸MÈ:ÓVÐV÷1ð ú÷ ð  ús&   ÄAH1Å8H%ÆA7H1È%H.	È*H1È1H:c                 óÄ  — ddl m} t        ||«      sJ ‚d|v r-|d   �(|j                  j                  j                  |d   «       d|j                  j                  vsJ |j                  j                  d   › «       ‚t        j                  j                  j                  «       5  t        |j                  |d¬«      }d d d «       t        |||||| «      S # 1 sw Y   ŒxY w)Nr%   rd  rC  rš  T)Úallow_non_graph_fake)rg  re  rï   r  rC  rM  r%  rG  rô   rÊ  rc  ri  rR   rb  )r™  r  r�  rš  r›  r
  re  s          rÛ   r`  r`  �	  sÓ   € õ =ä�bÐ3Ô4Ð4Ð4Ø�7Ñ˜w xÑ0Ð<Ø
�	‰	×Ñ×Ñ ¨Ñ 1Ô2à %§*¡*§/¡/Ñ1ÐX°e·j±j·o±oÀoÑ6VÐ5WÓXÐ1ô 
�‰×	Ñ	×	HÑ	HÓ	Jñ Rô ' u§z¡z°2ÈDÔQˆ÷	Rô  Ø�r˜5 '¨=¸*óð ÷Rð Rús   Â%CÃCc                 ó  — dd l }dd l}dd l}t        | |j                  «      �rDt        | |j
                  j                  «      }t        | |j
                  j                  «      }t        | |j                  «      } t        |j                  | «       |j                  j                  j                  | |«       |j                  | «      }	t        | |j                   j"                  j$                  «      r]| j                  |j                  u rE|r|n|j                  }
|r|j
                  j                  n|r|j
                  j                  n|
|	d<   |j'                  |	«        ||fi |¤ŽS t)        |j                  j*                  d«      ra|j                  j*                  j,                  dk(  r>t        |j                  j*                  j.                  |j0                  j2                  «      s-|j                  j*                  |j4                  j6                  k(  rt9        |j                  j*                  «      S |j                  j*                  |j0                  j:                  k(  s-|j                  j*                  |j<                  j>                  k(  rtA        | «      S tC        | |jD                  «      r@tG        d„ | D «       «      r.| D �cg c]  }tI        jJ                  |«      ‘Œ }}tM        |fi |¤ŽS t        | tN        tP        f«      �r¦t        |j                  | «       g }tS        | «      D ]¹  \  }}|€%|jU                  tI        jJ                  di |¤Ž«       Œ-|jV                  jY                  dtZ        j\                  ||fi ¬«      }d|v r9t        | tP        «      sJ ‚|d   }|j_                  «       }ta        ||d	¬
«      |d<   n|}|jU                  tc        d||||dœ|¤Ž«       Œ» t        | |jD                  «      rtM        ||fi |¤ŽS tC        | tN        «      rte        |fi |¤ŽS tC        | tP        tf        f«      rti        |fi |¤ŽS | jj                  jl                  dk(  s6t)        | d«      s*J d| jj                  jl                  › dto        | «      › �«       ‚tq        || jj                  fi |¤ŽS | �"|j                  j*                  |jr                  u rtI        jJ                  di |¤ŽS t        | |jt                  |jv                  |jx                  f«      rI|j                  j                  j                  | |«       t        |j                  | «       t{        || fi |¤ŽS t}        j~                  |j                  j*                  «      r*t�        |j                  j*                  |j‚                  «      s=|j                  j*                  t…        «       D ��cg c]  \  }}|j†                  ‘Œ c}}v r.t        |j                  | «       t‰        || | jŠ                  fi |¤ŽS t}        j~                  |j                  j*                  «      r*t�        |j                  j*                  |jŒ                  «      s=|j                  j*                  t…        «       D ��cg c]  \  }}|jŒ                  ‘Œ c}}v r#t        |j                  | «       t�        || fi |¤ŽS |j                  j*                  dk(  r;|j                  j�                  dk(  r"t        |j                  | «       tI        | fi |¤ŽS | �kt        | |jŒ                  «      rU|j                  j*                  dk(  r<|j                  j�                  dk(  r#t        |j                  | «       t�        || fi |¤ŽS t        | t’        «      �r!|j                  j*                  |j”                  t–        tZ        j\                  |j˜                  jš                  |jœ                  tZ        jž                  |j                   j¢                  j¤                  t—        |j¦                  dt¨        «      t—        |j¦                  dt¨        «      |jª                  f
v s1|j                  j�                  dk(  rD|j                  j*                  dv r,t        |j                  | «       tI        jJ                  | fi |¤ŽS t        | |j¬                  j<                  j®                  «      r%ddlXmY} t        |j                  | «        ||fi |¤ŽS t        | t´        «      rÕ|j                  j*                  |j0                  j¶                  |j¬                  j<                  j¸                  |j¬                  j<                  jº                  |j¬                  j<                  j¼                  dgtQ        t¿        jÀ                  «       «      z   v r,t        |j                  | «       tI        jJ                  | fi |¤ŽS t        | t’        tÂ        t´        f«      rH|j                  j*                  tÄ        u r,t        |j                  | «       tI        jJ                  | fi |¤ŽS t        | tÂ        «      s|j                  j*                  dv r,t        |j                  | «       tI        jJ                  | fi |¤ŽS tÇ        dtÉ        | «      › d|j                  j�                  › d|j                  j*                  › �z   d¬«       y c c}w c c}}w c c}}w ) Nr   Ú
class_typerà   Ú	set_statec              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrî   )rï   r?  r¾  s     rÛ   r%  z'handle_traced_output.<locals>.<genexpr>Ø	  s   è ø€ ò 3Ø Œ
�1”c×ñ3ùs   ‚r  )ÚkindÚtargetrÂ  rZ  rç   Frœ  r  ztorch.return_typesÚ_fieldsz	expected z. == torch.return_types or named tuple but got Ú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ã   )eÚtorch._functorch.vmapÚtorch._subclasses.fake_tensorÚtorch._utilsrï   rõ   rL  rM  ri  rW  rt  rd   r%  r  Úcurrent_tracerÚtrack_unbacked_symbolsÚ
specializer  rê   r   rM  rÙ   rq  rà   rÆ  rý  Ú	Generatorr]  Úset_rng_staterÂ   Ú_DisableFuncTorchr!  Ú_is_in_bad_forkrÏ   r_   rU  r�  rq   r‡  r˜   rQ  rR  ró  rn  r]  r$  ÚoperatorÚgetitemr´  r@   r§  r›   r!   r•   r  rá   r<  r–   Úmanual_seedr
   ÚSymFloatrB  r»   r   r!  rf  r#  r+   Úcurrent_streamrx   r&  r*  rt   rh  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  r�  r
  r›  r™  rô   Úis_parameterÚ	is_bufferÚspecialized_propsÚtensor_typer¿  ÚsizesÚunpackedr³  ÚvalÚproxy_irç   Ú	options_ir  Údevice_interfacer¸   s                         rÛ   rb  rb  ¨	  sí  € Û Û(Ûä�- §¡Õ.Ü! -°·±×1CÑ1CÓDˆÜ˜}¨e¯h©h¯o©oÓ>ˆ	ô
 % ]°B·L±LÓAˆÜ˜%Ÿ*™* mÔ4ð
 	�	‰	× Ñ ×7Ñ7¸ÀuÔMØ&×1Ñ1°-Ó@Ðô �} e×&7Ñ&7×&CÑ&C×&NÑ&NÔOØ×'Ñ'¨2¯<©<Ñ7á+8™-¸e¿l¹lˆKñ  ð —‘×"Ò"ñ ð —X‘X—_’_à ð ˜lÑ+ð 	�‰Ð(Ô)Ù˜%Ñ+ 7Ñ+Ð+ä�—
‘
×!Ñ! :Ô.Ø�J‰J×Ñ×&Ñ&¨+Ò5Ü�u—z‘z×(Ñ(×1Ñ1°5·8±8×3EÑ3EÔFØ�:‰:×Ñ §¡× :Ñ :Ò:ä+¨E¯J©J×,=Ñ,=Ó>Ð>à�
‰
×Ñ˜UŸX™X×7Ñ7Ò7Ø�:‰:×Ñ §
¡
× :Ñ :Ò:ä(¨Ó7Ð7Ü	�˜uŸz™zÔ	*¬sñ 3Ø$1ô3ô 0ð 6CÖC°Ô!×(Ñ(¨Õ+ÐCˆÐCÜ˜EÑ- WÑ-Ð-Ü	�M¤E¬4 =Õ	1Ü˜%Ÿ*™* mÔ4ØˆÜ Ó.ò $	‰FˆAˆsØˆ{à—‘Ü$×+Ñ+Ñ<°GÑ<õð  Ÿ,™,×3Ñ3Ø(Ü#×+Ñ+Ø ˜Øð	 4ó �ð ˜wÑ&ô & m´TÔ:Ð:Ð:Ø$ XÑ.�FØ '§¡£�IÜ*7Ø#¨1¸Uô+�I˜hÒ'ð
 !(�Ið —‘Ü%ð Ø#-ØØ%Ø&)ñ	ð
 $ñõð9$	ôJ �m U§Z¡ZÔ0ô   ¨%Ñ;°7Ñ;Ð;Ü�M¤5Ô)Ü  Ñ5¨WÑ5Ð5Ü�M¤D¬.Ð#9Ô:Ü Ñ4¨GÑ4Ð4ð ×'Ñ'×2Ñ2Ð6JÒJÜ˜=¨)Ô4ðð ˜M×3Ñ3×>Ñ>Ð?Ð?mÔnrð  tAó  oBð  nCð  Dó	ð5ô
 & h°×0GÑ0GÑSÈ7ÑSÐSØ	Ð	 %§*¡*×"3Ñ"3°u×7HÑ7HÑ"HÜ×&Ñ&Ñ7¨wÑ7Ð7Ü	�M E§L¡L°%·.±.À%Ç-Á-Ð#PÔ	QØ
�	‰	× Ñ ×7Ñ7¸ÀuÔMÜ˜%Ÿ*™* mÔ4Ü˜u mÑ?°wÑ?Ð?ä�‰˜Ÿ
™
×)Ñ)Ô*Ü�u—z‘z×(Ñ(¨%¯,©,Ô7Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×'Ó'óñ 
ô 	˜%Ÿ*™* mÔ4Ü˜e ]°M×4HÑ4HÑTÈGÑTÐTä�‰˜Ÿ
™
×)Ñ)Ô*Ü�u—z‘z×(Ñ(¨%¯+©+Ô6Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×Óóñ 
ô 	˜%Ÿ*™* mÔ4Ü˜U MÑ=°WÑ=Ð=Ø	�‰×	Ñ	˜gÒ	%¨%¯*©*¯-©-¸=Ò*HÜ˜%Ÿ*™* mÔ4Ü Ñ9°Ñ9Ð9àÐ!Ü�} e§k¡kÔ2Ø�J‰J×Ñ Ò/Ø�J‰J�M‰M˜]Ò*ä˜%Ÿ*™* mÔ4Ü˜U MÑ=°WÑ=Ð=Ü	�M¤3Õ	'Ø�
‰
×Ñà�M‰MÜÜ×ÑØ�L‰L×&Ñ&Ø�J‰JÜ�L‰LØ×Ñ×!Ñ!×>Ñ>ä�E×%Ñ% z´8Ó<Ü�E×%Ñ%Ð'7¼ÓBð ×$Ñ$ð
ñ	
ð$ �J‰J�M‰M˜]Ò*¨u¯z©z×/@Ñ/@ÀNÑ/Rô 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M 5§>¡>×#6Ñ#6×#AÑ#AÔ	BÝ,ä˜%Ÿ*™* mÔ4Ù! %Ñ3¨7Ñ3Ð3Ü	�M¤4Ô	(Ø�
‰
×Ñà�H‰H×5Ñ5Ø�N‰N×Ñ×<Ñ<Ø�N‰N×Ñ×7Ñ7Ø�N‰N×Ñ×;Ñ;Øð
ô Ô3×8Ñ8Ó:Ó
;ñ<ñ	<ô 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@ä�=¤3¬¬tÐ"4Ô5Ø�J‰J×Ñ¤Ñ/ä˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M¤5Ô	)¨U¯Z©Z×->Ñ->ÐBVÑ-VÜ˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@äØ-Ü˜Ó'Ð(¨¨%¯*©*¯-©-¨¸¸%¿*¹*×:KÑ:KÐ9LÐMñNà,ö	
ùòc DùóFùós   Ëk5×k:Úl 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   rA  ÚSIZE_LIKE_UNBACKEDÚOBLIVIOUS_SIZEr  rã   rä   rÛ   r0  r0  s
  sn   € Ü×.Ñ.°)Ò;Ü×!Ñ!Ð!Ü	×	0Ñ	0°JÒ	>Ü×,Ñ,Ð,Ü	×	0Ñ	0°KÒ	?Ü×(Ñ(Ð(äØ9¼&×:aÑ:aÐ9bÐcó
ð 	
rä   Ú_DYNAMIC_SOURCESc                  ó¾   — t         �t         S t        t        j                  j                  j
                  j                  dd«      j                  d«      «      a t         S )Nr{  rÇ  ú,)r­  rî  rô   Úcompilerr&   Údynamic_sourcesÚreplaceÚsplitrã   rä   rÛ   r,  r,  ƒ
  sL   € äÐ#ÜÐäÜ�‰×Ñ×-Ñ-×5Ñ5°c¸2Ó>×DÑDÀSÓIóÐô Ðrä   c                   óX   — 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y)	rL  Úfakerç   Úsymbolic_contextr  c                 ó`   — t        | j                  | j                  j                  «       f«      S rî   )Úhashrµ  rç   r   rö   s    rÛ   Ú__hash__zTrackedFake.__hash__˜
  s#   € Ü�T—Y‘Y §¡× 0Ñ 0Ó 2Ð3Ó4Ð4rä   r  c                 óÂ   — t        |t        «      rO| j                  |j                  u xr5 | j                  j	                  «       |j                  j	                  «       k(  S y)NF)rï   rL  rµ  rç   r   r  s     rÛ   r  zTrackedFake.__eq__›
  sF   € Ü�eœ[Ô)Ø—9‘9 §
¡
Ð*ÒX¨t¯{©{×/?Ñ/?Ó/AÀUÇ\Á\×EVÑEVÓEXÑ/XÐXØrä   N)rà   rá   râ   r	   r   r
   r  rI   r   r   r?  r¹  Úobjectr  r  rã   rä   rÛ   rL  rL  ‘
  sA   … à
�
˜FÐ"Ñ
#Ó#ØƒNà˜Ñ/Ó/ð5˜#ó 5ð˜Fð  tô rä   rL  c           
      óø  ‡8‡9— | j                   rCt        | t        j                  j                  j
                  j                  «      st        d«       |j                  «       }t        «       }|j                  j                  j                  j                  | d «      }|r|j                  nd }d }	| j                  «       r$t!        |d«      }
t#        | j$                  ||
|«      }	t'        | «      r°|s®t#        | |||d¬«      }i }t)        | «      j+                  | «      \  }}|D ]+  }t-        | |«      }t!        ||«      }t#        ||||«      ||<   Œ- t/        |j0                  |j2                  |j4                  |j6                  |	|j8                  |j                  |¬«      S |rz||vrvt;        t<        j>                  g| jA                  «       z  t<        jB                  g| jA                  «       z  d g| jA                  «       z  d g| jA                  «       z  |	||¬«      S ddl"m#Š9 tI        ˆ9fd	„| jK                  «       D «       «      r t;        | jK                  «       D �cg c]2  }t        |tL        «      rt<        jN                  nt<        j>                  ‘Œ4 c}t<        jB                  g| jA                  «       z  d g| jA                  «       z  d g| jA                  «       z  |	||¬«      S | jK                  «       }tQ        | «      s | jS                  «       }| jA                  «       }d g|z  }tU        |«      D �cg c]
  }||   | f‘Œ }}|jW                  tX        ¬
«       i }|D ]>  \  }}| }|j                  ||«      ||<   |j[                  |||   z  t]        |«      «       Œ@ ng }t_        ||ta        jb                  te        |«      te        |«      «      «      }tg        | «      }i Š8ˆ8fd„}ddl4m5} |j                  jl                  r`|j                  jl                  D ]G  } t        | |«      rŒ| jn                  |k(  sŒ  || j@                  | jp                  | j                  «       ŒI g }!g }"g }#g }$tU        | jA                  «       «      D �]×  }|t-        | dts        «       «      v }%|t-        | dts        «       «      v }&|t-        | dts        «       «      v }'|t-        | dts        «       «      v }(|t-        | dts        «       «      v })tu        |j                  «       «      }*|}
t        |
tv        «      r|
jy                  «       }
|'sFt        |
tz        «      r†|
j|                  �zt        |
j|                  «      j                  |*|di«      |   rPt€        jƒ                  d|«       t„        g| jA                  «       z  }+t†        |+|<   |ta        jˆ                  |+¬«      z  }tŠ        jŒ                  xr |j�                  |«      },tŠ        jŒ                  xr |j‘                  |«      }-||v rt€        jƒ                  d|«       d},d}-|,xs |-}.‰8j                  |«      } | €ód }/d }0|'r¸tŠ        j’                  s¨d }0t•        | d«      r�| j–                  D �1cg c]  }1|1j@                  |k(  sŒ|1‘Œ c}1j™                  «       }2|2jš                  €|2jœ                  €tŸ        d¬«      }/n¤ddl"mP}3  |3t£        |2jš                  |2jœ                  ¬«      d¬«      }/nttŸ        d¬«      }/ng|%rtŸ        d¬«      }/nX|)s|.r|,rtŸ        d¬«      }/|-rDtŸ        d¬«      }0n7d }/d }0n2| \  }/}4d }0|› d|› d�}5|4|j                  j¤                  j¦                  |5<   |#j©                  |/«       |$j©                  |0«       |&rt<        jª                  }6nr|/€|'s|(s ‰9| jK                  «       |   «      r|.rt­        «       }6nFt<        jN                  }6n5|stŠ        j®                  s|)rt<        j>                  }6nt<        j°                  }6|0�t<        jN                  }7nt<        jB                  }7|!j©                  |6«       |"j©                  |7«       �ŒÚ t;        |!|"|#|$|	||¬«      S c c}w c c}w c c}1w )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   óT   •K  — | ]  }t        |t        «      xr	  ‰|«       –— Œ! y ­wrî   )rï   r
   )r#  ÚsrÆ  s     €rÛ   r%  z%_automatic_dynamic.<locals>.<genexpr>ã
  s(   øè ø€ Ò
L¸aŒ:�aœÓ Ò9©°qÓ)9Ð%9Ó9Ñ
Lùs   ƒ%()r‰  c                 ó–   •— | ‰v r=ddl m} ‰|    \  }} ||j                  |j                  z  d¬«      }|xs |}||f‰| <   y ||f‰| <   y )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_dim2constraint  sk   ø€ Ø�.Ñ ÝTà-;¸CÑ-@Ñ*Ð  (Ù#9Ø#×&Ñ&Ð)=×)@Ñ)@Ñ@Øô$Ð ð  Ò' 4ˆHØ"6¸Ð"@ˆN˜3Òà"2°DÐ"8ˆN˜3Òrä   )Ú_RelaxedConstraintÚ_dynamo_strict_unbacked_indicesÚ_dynamo_unbacked_indicesÚ_dynamo_dynamic_indicesÚ_dynamo_weak_dynamic_indicesÚ_dynamo_static_indicesFz#automatic dynamic %s marked dynamic)Úsizer&  Ú_dynamo_dynamic_range)rÎ  rÊ  )ÚlowerÚupperrÌ  z.size()[ú])Yrú  rï   rô   rû  rü  rý  rþ  r-   r   r,  r  Útracing_contextÚtensor_to_contextrì  rÄ  r  r9   Ú_automatic_dynamicrö  r"   r<  r  rï  r   r¾  r¿  rÀ  rÁ  rÃ  r   r   ÚSTATICrÐ  ÚINFER_STRIDErÏ  rÆ  ÚanyrÞ  r
   rA  r   ÚstriderZ  Úsortr   Ú
setdefaultr5   r6   r4   Úmake_tensorrQ  r"  Útorch.export.dynamic_shapesrØ  Úexport_constraintsÚt_idrÑ  rî  r   r;   rÝ  rE   r1  r‘  r-  rÀ  r3   r2   Ú	make_sizer&   r.  Úis_size_dynamicÚis_stride_dynamicÚallow_ignore_mark_dynamicrÙ   rß  ÚpopÚminÚmaxr   rË  r#   r=  Úsource_name_to_debug_namern  r«  r0  r2  ÚDUCK):r"  r  rç   Ústatic_shapesr½  r   r±  Úprior_policyrÄ  rÂ  r8  Úouter_contextrÅ  r  r  r  Úinner_tensorr  rÈ  Úex_sizeÚ	ex_striderÐ  ré  r³  ÚpendingÚ
candidatesÚi_strideÚneg_ir6  rï  r×  rØ  Ú
constraintr¾  r¿  rÀ  rÁ  Úmarked_strict_unbackedÚmarked_unbackedÚmarked_dynamicÚmarked_weak_dynamicÚmarked_staticr7  Ú	mark_sizeÚautomatic_dynamic_sizeÚautomatic_dynamic_strideÚautomatic_dynamicÚconstraint_sizeÚconstraint_strideÚdrÚ	dim_rangerË  Úname_Údim_nameÚdynamic_sizeÚdynamic_striderÖ  rÆ  s:                                                           @@rÛ   rå  rå  £
  sã  ù€ ð 	‡{‚{œ:Ø	Œ5�<‰<×!Ñ!×/Ñ/×<Ñ<ôô 	ÐKÔLà�;‰;‹=€DÜ)Ó+€OØ—9‘9×,Ñ,×>Ñ>×BÑBÀ1ÀdÓK€Lá<Hˆ×8Ò8Èdð (ð
 48ÐØ‡z�z„|Ü  ¨Ó1ˆÜ.¨q¯w©w¸¸KÈÓWÐä$ QÔ'±
ä*Øˆr�6˜=°Tô
ˆð
 ˆÜ˜“7×-Ñ-¨aÓ0‰ˆˆqØò 	ˆDÜ" 1 dÓ+ˆLÜ% f¨dÓ3ˆLÜ#5Ø˜b ,°ó$ˆN˜4Ò ð	ô 'Ø'×5Ñ5Ø)×9Ñ9Ø*×;Ñ;Ø,×?Ñ?Ø/Ø'×5Ñ5Ø0=×0aÑ0aØ)ô	
ð 		
ñ ˜ _Ñ4Ü&Ü%×,Ñ,Ð-°·±³Ñ7Ü'×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
õ Dä
Ó
LÀ1Ç6Á6Ã8Ô
LÔLÜ&ð Ÿ™›öàô '1°´FÔ&;”
×"Ò"Ä×ARÑARÑRòô (×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
ð  �f‰f‹h€GÜ˜ÔØ—H‘H“Jˆ	Ø�e‰e‹gˆà�˜#‘ˆÜ/4°S«zÖ:¨!�I˜a‘L 1 "Ò%Ð:ˆÐ:Ø�‰Ô/ˆÔ0Øˆ
Ø&ò 	I‰OˆH�eØ�ˆAØ"Ÿ™ x°Ó:ˆF�1‰IØ×!Ñ! (¨W°Q©ZÑ"7¼ÀQ»ÕHñ	Ið
 ˆä1Ø
ˆDÔ%×1Ñ1´%¸³.Ä%ÈÃ-ÓPóÐô ˆa‹5€DØ€Nô9õ  ?à	‡y�y×#Ò#ØŸ)™)×6Ñ6ò 	ˆJÜ˜*Ð&8Ô9ØØ�‰ $Ó&Ù%Ø—N‘N J×$?Ñ$?ÀÇÁõð		ð €MØ€OØÐØÐÜ�1—5‘5“7‹^ó z/ˆà!"¤gØÐ0´#³%ó'
ð "
Ðð œw qÐ*DÄcÃeÓLÐLˆØœg aÐ)BÄCÃEÓJÐJˆØ¤7¨1Ð.LÌcËeÓ#TÐTÐØœW QÐ(@Ä#Ã%ÓHÐHˆô
 "7°v·{±{³}Ó!EÐØˆÜ�k¤=Ô1Ø%×.Ñ.Ó0ˆKáÜ�{¤KÔ0Ø×$Ñ$Ð0Ü�[×)Ñ)Ó*×.Ñ.Ð/EÈÈ5ÀzÓRÐSTÒUô �I‰IÐ;¸TÔBÜ#˜ q§u¡u£wÑ.ˆIÜ'ˆI�a‰LØÔ!4×!>Ñ!>ÀIÔ!NÑNÐô ×+Ñ+ÒTÐ0A×0QÑ0QÐRSÓ0Tð 	ô ×+Ñ+ÒVÐ0A×0SÑ0SÐTUÓ0Vð 	!ð �?Ñ"Ü�I‰IÐ>ÀÔEØ%)Ð"Ø'+Ð$à2ÒNÐ6NÐð
 $×'Ñ'¨Ó*ˆ
ØÐØ"ˆOØ $ÐÙ¤f×&FÒ&Fà$(Ð!Ü˜1Ð5Ô6à%&×%<Ñ%<ö!Ø!ÀÇÁÈ!Ãšò!ç‘c“eð ð !—}‘}Ð,°·±Ð1FÜ*AÈEÔ*R™õñ +AÜ*°·±ÀiÇmÁmÔTØ&+ô+™ô
 '>ÈÔ&N‘OÙ'Ü"9ÀEÔ"J‘Ù"Ñ'8Ù)Ü&=ÈÔ&M�OÙ+Ü(?È$Ô(OÑ%à"&�Ø$(Ñ!à%/Ñ"ˆO˜UØ $ÐØ˜˜x¨ s¨!Ð,ˆHØFKˆB�I‰I×Ñ×9Ñ9¸(ÑCØ×Ñ Ô0Ø×!Ñ!Ð"3Ô4áÜ%×8Ñ8‰LàÐ'ÙÙ"Ù˜QŸV™V›X a™[Ô)ñ
 !ÜCÓE‘ä)×1Ñ1‘Ùœf×=Ò=ÁÜ%×,Ñ,‰Lô &Ÿ?™?ˆLàÐ(Ü'×/Ñ/‰Nä'×4Ñ4ˆNà×Ñ˜\Ô*Ø×Ñ˜~Ö.ðuz/ôx #Ø#Ø'Ø)Ø-Ø+ØØ,Oôð ùòGùò* ;ùò^!s   É7a-Ì/a2Ù9a7Úa7)Ú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        j                  d‰j                  «       t!        ‰ j"                  «      ‰t        ‰ «      «       t%        ˆ ˆˆˆfd„«      }‰�Wt        |t
        «      rG|j&                  x}	�9‰j(                  j*                  j-                  t/        |	t1        ‰«      ‰«      «       t        |«      rf|j3                  «       \  }
}|
D ]N  }t5        ||«      }t5        ‰ |«      }t        ‰|«      }t7        |‰|t        |t        j                  «      ‰¬«       ŒP ‰‰j(                  j8                  j:                  ‰ <   t=        |«      r‚|j>                  r|jA                  «       n|jC                  «       }|jE                  «       d|jF                  z  |jE                  «       |jI                  «       dœ‰j(                  jJ                  ‰<   n8|jE                  «       |jI                  «       dœ‰j(                  jJ                  ‰<   |r~|r‰jM                  «       sltO        ‰«      sa‰j(                  j*                  j-                  t/        |‰‰«      «       ‰j(                  jP                  tS        ‰ «         j-                  ‰«       |S ‰ S )N)rÃ  zwrap_to_fake %s %s %s %sc                  ó@   •— ‰j                   j                  ‰ ‰‰¬«      S )N)rç   r¶  )rt  Úfrom_tensor)r"  rç   r¶  r  s   €€€€rÛ   r  z0wrap_to_fake_tensor_and_record.<locals>.<lambda>Ù  s$   ø€ �B—L‘L×,Ñ,ØØØ!1ð -ó € rä   )rç   rë   r  )rk   )rÞ  ré  Úvalues_sizeÚvalues_stride)rÞ  ré  )*r<  rô   rõ   rL  rM  r   rï   r"   re   rå  r9   r$  rÅ  r-  rÀ  r   rQ  Úshaperj   Ú	item_memor  rK  rn  rL  r:   r  rï  r   rã  rä  r   Ú	is_sparseÚ_valuesÚvaluesrÞ  Úndimré  Úinput_source_to_sizes_stridesrø  rB   Ú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‘L¤%§(¡(×"4Ñ"4´jÐAÑAÜ�aœŸ™Ô&Ü(¨Õ+àÐ!Ð!Ð!Ü!?ØØØ ô"
Ñˆ�wñ Ü1°!°R¸ÀÓOÑô ˜f¤jÔ1Ð1Ð1Ø!'§¡ÐØ-×<Ñ<Ð=OÑPÐä�	‰	Ø&Ø�K‰K‹MÜ�!—'‘'‹NØÜ�‹Gô	
ô %öó
ˆð ÐÜ˜6¤:Ô.Ø"×,Ñ,Ð,�Ð9à�I‰I×#Ñ#×*Ñ*Ü˜GÔ%9¸&Ó%AÐCSÓTôô )¨Ô0Ø×0Ñ0Ó2‰HˆE�1Øò 
�Ü$ V¨TÓ2�
Ü  4Ó(�Ü)¨&°$Ó7�Ü.ØØØ'Ü(¨´U·\±\ÓBØ#3öð	
ð :Jˆ�	‰	×!Ñ!×3Ñ3°AÑ6Ü˜Ô ð *0×)9Ò)9�V—^‘^Ô%¸v¿}¹}»ˆFàŸ™›ð  §¡Ñ,Ø%Ÿ{™{›}Ø!'§¡£ñ?ˆB�I‰I×3Ñ3°FÒ;ð Ÿ™›Ø Ÿ-™-›/ñ?ˆB�I‰I×3Ñ3°FÑ;ñ Ù" v×'FÑ'FÔ'HÜ& vÔ.à�I‰I×#Ñ#×*Ñ*Ü˜F FÐ,<Ó=ôð �I‰I×0Ñ0´°A³Ñ7×>Ñ>¸vÔFàˆàˆrä   c                   óR   — e Zd ZdZd
d„Zedddefd„«       Zed„ «       Zed	„ «       Z	y)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()©r4  rö   s    rÛ   r  zSourcelessBuilder.__init__%  s   € ÜÐ=Ó>Ð>rä   r  rÑ   c                 óP	  — t        |«      }t        j                  j                  |«      }|r	 || |«      S t	        |t
        «      r|S t	        |t        j                  «      rt        |«      S t        j                  |«      rt        j                  |«      S t        |«      rVt        j                  |«      �At        j                  |«      rd| j                   _         t        j                  |«      |«      S t%        |«      r t        j&                  |«      |«      S t	        |t(        j*                  t,        j.                  t,        j0                  j2                  j4                  f«      rt7        |«      S t	        |t         t8        j:                  f«      rt=        |«      S t	        |t>        j@                  «      rtC        |«      S t	        |t>        jD                  «      r t	        |jF                  t         t8        j:                  f«      rvtI        |jF                  |jJ                  jL                  «      |k(  sJ ‚t        j                  | |jF                  «      }	 |jO                  | |jJ                  jL                  «      S t	        |t,        jR                  jT                  jV                  «      rtY        |«      S t	        |t,        jZ                  j\                  j^                  t,        jZ                  j\                  j`                  f«      rt        |«      S tc        jd                  |«      rtc        |«      S tg        jh                  |«      rtg        |«      S |tj        jl                  u rto        |«      S t	        |tp        jr                  «      rtu        |«      S t	        |t,        jv                  jx                  jz                  j|                  «      rt        j                  t        |«      «      S t	        |t        t,        j€                  j‚                  «      «      r3t,        jv                  jx                  j„                  j‡                  |«      S t	        |t>        jˆ                  «      rt‹        |«      S t�        d|jŽ                  › d|j�                  › �«       y # tP        $ r Y Œ1w xY w)NTz&Unexpected type in sourceless builder rÄ  )Ir<  rù  Ú_type_handlersrì  rï   ro   r�  Ú_HAS_DEFAULT_FACTORY_CLASSrÏ   rq   r‚  r‡  r
  r*   r  r  r  r  rW   r0  rú  rû  rô   rü  rý  rþ  rÿ  rr   ÚabcÚABCMetarË   rj  re  r¦   r  rÆ  rï  rc  rà   Úvar_getattrrB  rÙ  Úgraph_moduleÚGraphModulerÊ   rc  r¼  rb  ÚLeafSpecr�   r;  r   r8  r  rZ  r‰   r]  r^  r­   rÊ  Ú	variablesÚlazyÚLazySymNodeFormatStringr  r  Úflex_attention_backwardÚhigher_order_opsÚ&FlexAttentionBackwardHighOrderVariableÚGenericAliasr°   r-   rá   râ   )r  r5  Ú
value_typeÚfast_handlerÚ
cls_obj_vts        rÛ   r‡  zSourcelessBuilder.create(  sr  € ä˜%“[ˆ
Ü(×7Ñ7×;Ñ;¸JÓGˆÙÙ  EÓ*Ð*ä�eœ_Ô-àˆLÜ˜œ{×EÑEÔFÜ,¨UÓ3Ð3Ü×(Ñ(¨Ô/Ü#×*Ñ*¨5Ó1Ð1Ü�eŒ_¤×!<Ñ!<¸UÓ!CÐ!OÜ×.Ñ.¨uÔ5Ø>B�—	‘	Ô;Ø5”;×.Ñ.¨uÓ5°eÓ<Ð<Ü# EÔ*Ø,”;×%Ñ% eÓ,¨UÓ3Ð3ÜØ”D—I‘Iœu×0Ñ0´%·(±(×2EÑ2E×2SÑ2SÐTô
ô   Ó&Ð&Ü˜¤¤c§k¡kÐ2Ô3Ü+¨EÓ2Ð2Ü˜œu×6Ñ6Ô7Ü(¨Ó/Ð/ä�uœe×.Ñ.Ô/ô ˜5Ÿ>™>¬D´#·+±+Ð+>Ô?ô ˜5Ÿ>™>¨5¯>©>×+BÑ+BÓCÀuÒLÐLÐLÜ*×1Ñ1°"°e·n±nÓEˆJðØ!×-Ñ-¨b°%·.±.×2IÑ2IÓJÐJô ˜œuŸx™x×4Ñ4×@Ñ@ÔAÜ0°Ó7Ð7ÜØ”E—K‘K×'Ñ'×0Ñ0´%·+±+×2EÑ2E×2NÑ2NÐOô
ô -¨UÓ3Ð3Ü×+Ñ+¨EÔ2Ü$ UÓ+Ð+Ü×.Ñ.¨uÔ5Ü% eÓ,Ð,Ø”i—o‘oÑ%Ü)¨%Ó0Ð0Ü˜œrŸz™zÔ*Ü'¨Ó.Ð.Ü˜œuŸ}™}×6Ñ6×;Ñ;×SÑSÔTÜ#×*Ñ*¬3¨u«:Ó6Ð6Ü˜œt¤E×$;Ñ$;×$SÑ$SÓTÔUÜ—=‘=×*Ñ*×;Ñ;×bÑbØóð ô ˜œu×1Ñ1Ô2Ü! %Ó(Ð(ÜØ4°Z×5JÑ5JÐ4KÈ1ÈZ×MdÑMdÐLeÐfõ	
øô1 'ò Ùðús   É%R Ò	R%Ò$R%c                 ó\   — t        j                  | «      sJ ‚t        j                  | ¬«      S )Nr•  )rq   r‚  r‡  r•  s    rÛ   Úwrap_constant_literalz'SourcelessBuilder.wrap_constant_literalk  s'   € ä×*Ñ*¨5Ô1Ð1Ð1Ü×&Ñ&¨UÔ3Ð3rä   c                  óB  ‡— 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"                  <   d
„ | t        j$                  j&                  j(                  <   d„ | t        j*                  j,                  j.                  <   d„ | t        j*                  j,                  j0                  <   d„ | t        j*                  j,                  j2                  <   dd„}t4        j6                  D ]  }|| |<   Œ	 | S )Nc                 ó   — t        |«      S rî   )rq   ©r  r5  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>u  s   € Ô,<¸UÓ,C€ rä   c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w ©N)rä  )r~   rn   ©r  r5  r¿  r‡  s      €rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>v  s)   ø€ ¬+Ø$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô+
€ ùÚ*ó   ‹,c                 ó®   •— t        |j                  «       D ��ci c]  \  }} ‰| |«       ‰| |«      “Œ c}}t        |«      t        «       ¬«      S c c}}w rE  )ry   r’  r<  rn   )r  r5  r„  rˆ  r‡  s       €rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>y  sF   ø€ Ô+<Ø6;·k±k³m×D©d¨a°‰V�B˜‹]™F 2 q›MÑ)ÓDÜ�‹KÜ*Ó,ô,
€ ùÛDs   šA
c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w rE  )r•   rn   rF  s      €rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>~  s)   ø€ ¬<Ø$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô,
€ ùÚ*rG  c           	      óN   •— t        |D �cg c]  } ‰| |«      ‘Œ c}«      S c c}w rî   )r›   rF  s      €rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>�  s#   ø€ ¬MØ$)Ö*˜q‰V�B˜�]Ò*ó-
€ ùÚ*ó   ‹"c           	      óN   •— t        |D �cg c]  } ‰| |«      ‘Œ c}«      S c c}w rî   )r˜   rF  s      €rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>„  s#   ø€ ´Ø$)Ö*˜q‰V�B˜�]Ò*ó2
€ ùÚ*rK  c                 ó   — t        «       S rî   )r«   rC  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Š  s
   € Ô4GÓ4I€ rä   c                 ó   — t        |«      S rî   )rª   rC  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>‹  s   € Ô7KÈEÓ7R€ rä   c                 ó,   — t        |t        «       ¬«      S rE  )r¿   rn   rC  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>�  s   € Ô;QØÔ!1Ó!3ô<
€ rä   c                 ó,   — t        |t        «       ¬«      S rE  )rÀ   rn   rC  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>‘  s   € Ô:ØÔ%5Ó%7ô€ rä   c                 ó,   — t        |t        «       ¬«      S rE  ©rÏ   rn   rC  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>—  ó   € Ô7ØÔ%5Ó%7ô€ rä   c                 ó,   — t        |t        «       ¬«      S rE  rR  rC  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>œ  rS  rä   c                 ó,   — t        |t        «       ¬«      S rE  rR  rC  s     rÛ   r  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>¡  rS  rä   c                 ó   — |S rî   rã   rC  s     rÛ   Úpassthroughz9SourcelessBuilder.make_type_handlers.<locals>.passthrough¦  s   € ØˆLrä   )r  rÑ   )rù  r‡  rP   rî  r‘  rR  rQ  rô   rU  rS  rñ  r    r!   r]  r^  rj  r`  r4  rþ  r(  r)  ÚdistributionsÚconstraintsÚ_RealÚ	_IntervalÚ
Constraintrp   Úall_subclasses)ÚhandlersrÚ   rW  rI  r‡  s       @rÛ   Úmake_type_handlersz$SourcelessBuilder.make_type_handlersp  sy  ø€ ä"×)Ñ)ˆØˆÜ&ò 	DˆAÙCˆH�QŠKð	Dó
ˆ”‰ó
ˆ”‰ó

ˆ”‰ó
ˆ”‰ó 
ˆ”—‘Ñð -5´T©Nˆ”×(Ñ(Ñ)Ø#+¬D¡>ˆ”Ñ Ø#+¬D¡>ˆ”Ñ Ù"Iˆ”—‘ÑÙ%Rˆ”×!Ñ!Ñ"ñ*
ˆ”×%Ñ%Ñ&ñð 	”×!Ñ!×-Ñ-×BÑBÑCñð 	”×$Ñ$×0Ñ0×6Ñ6Ñ7ñð 	”×$Ñ$×0Ñ0×:Ñ:Ñ;ñð 	”×$Ñ$×0Ñ0×;Ñ;Ñ<ó	ô '×5Ñ5ò 	(ˆCØ'ˆH�SŠMð	(àˆrä   r  )
rà   rá   râ   rN  r  Ústaticmethodro   r‡  r@  r_  rã   rä   rÛ   rù  rù    s\   „ ñ
ó?ð ð@
Ð*ð @
°oò @
ó ð@
ðD ñ4ó ð4ð ñ:ó ñ:rä   rù  c                   ó2   — e Zd ZdZdd„Zedddefd„«       Zy)	Ú"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ÐOrä   r  rÑ   c                 óþ   — t        |«      }t        |t        «      rt        |t	        «       ¬«      S t        |t        j                  j                  «      rt        |t	        «       ¬«      S t        |t	        «       ¬«      S rE  )r<  rf  r   rÉ   rn   rï   rô   rL  rô  r´   rÏ   )r  r5  r<  s      rÛ   r‡  z)SourcelessUserDefinedObjectBuilder.create»  sa   € ä˜%“[ˆ
Ü�j¤.Ô1Ü)¨%Ô?OÓ?QÔRÐRÜ˜œuŸx™xŸ™Ô/Ü0ØÔ%5Ó%7ôð ô -¨UÔBRÓBTÔUÐUrä   r  )rà   rá   râ   rN  r  r`  ro   r‡  rã   rä   rÛ   rb  rb  ±  s4   „ ñóPð ð	VÐ*ð 	V°oò 	Vó ñ	Vrä   rb  )NNrî   )F(:  rN  r/  rS  r.  r´  r�  rú  r  r   Ú	itertoolsr  rB  rˆ  r]  r]  rV  rT  rj  rÖ   r`  Úcollections.abcr   Útypingr   r   r   r   r   r	   rI  rô   r
   Útorch._dynamo.utilsr   r   r   Útorch._guardsr   Ú!torch._higher_order_ops.torchbindr   Ú
torch._opsr   r  r   r   r   Útorch._subclasses.meta_utilsr   r   Útorch._utils_internalr   Ú%torch.fx.experimental._backward_stater   Útorch.fx.experimental._dynamismr   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)   r*   r¥  r+   Úexcr,   r-   r.   rC  r/   r0   r1   Úpgor2   r3   r4   r5   r6   r-  r7   rç   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rc  rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   r�  rl   rm   rn   ro   rp   Úconstantrq   rr   Úctx_managerrs   rt   ru   rv   rw   rx   Údictsry   rz   r{   r|   r}   r~   rã  r   r€   r�   r‚   rƒ   Ú	functionsr„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r9  r�   Úiterr‘   r6  r’   Úlistsr“   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±   Ú	nn_moduler²   r³   r´   Ú	optimizerrµ   Úscript_objectr¶   r—  r¸   rH  r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   Útorch_functionrÃ   rÄ   rÅ   rÆ   Úuser_definedrÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   Únumpyrm  ÚModuleNotFoundErrorÚtorch._dynamo.symbolic_convertrÑ   Ú	getLoggerrà   r-  Ú_loggingÚgetArtifactLoggerr¿  rR  ÚDimListrÜ   rÞ   Ú	dataclassræ   r	  rø  Úvarsr’  r&  r?  r  rî  r'  r)  rš  rW  r  r  r§  ra  r`  rb  r0  r­  r  r,  rL  rå  r  r   rù  r_  r-  rb  rã   rä   rÛ   ú<module>r‹     sÀ  ðòó& Û Û Û Û Û Û Û Û Û Û Û Û Û 	Û 
Û Û Û Û Ý *ß L× Lã ã Ý ÷ñ õ
 )Ý <Ý *ß RÑ Rß AÝ 1Ý ?Ý A÷÷ ñ ÷ JÝ FÝ 7Ý *ç TÕ TÝ ?ß KÑ Kß AÑ A÷õ õ '÷÷ ÷ ÷ ÷ ó ÷, ÷  ÷  ÷  ÷  ÷  ÷  ÷  ñ  ÷Bõ ÷ 5÷÷ ÷÷ ÷õ ÷÷ ÷ ó õ ?Ý #Ý %÷
÷ 
õ 
÷÷ ÷ ÷ ÷ ÷ ÷0ñ õ
 )Ý 4Ý $÷÷ ÷ó ÷ó ÷÷ ÷ ÷ ÷ ô ðÝñ
 ßDÐDð €g×Ò™Ó!�Ø—N’N×4Ò4ÙÐ'óÑ ñ
 �ó"÷	ò 	ð ×Ò÷99ð 99ó ñ99ôx<™Hõ <ò, &/ñ /â˜Y›×-Ò-Ó/ô/ó &Ñ ‘I™c‘Nô ò +.«%Ñ ™s¡3™xÔ /÷Jò JóZ: ó ð& 26ñàôó$ðp >Bô
ð, 26ô;Wð@ >Bôó0H
óV

ð (,Ñ �(™3™s™8Ñ$Ô +ð	™S¡™Xô 	ð ×Ò÷ð ó ñð$ .3ñMàôMðd IMòaØ˜vÑ&ðaÙ37ôa÷HSò Sñl $5×#GÒ#GÓ#IÑ Õ  ÷Vó VøñI] ò Ø	„Bðús   Ê4P6 Ð6	QÑQ