Ë
    ÃÓ^j(� ã                   ó‚  — 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ZddlmZmZ ddlmZ ddlmZmZmZmZmZmZm Z  ddl!Z!ddl"Z"ddl"m#Z# ddl$m%Z% ddl&m'Z'm(Z(m)Z) dd	l*m+Z+m,Z,m-Z-m.Z.m/Z/ dd
l0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@ ddlAmBZBmCZCmDZDmEZE ddlFmGZGmHZH ddlImJZJ ddlKmLZL ddlMmNZN ddlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZe ddlfmgZgmhZh ddlimjZj ddlkmlZl ddlmmnZnmoZo ddlpmqZq ddlrmsZs ddltmuZumvZvmwZwmxZxmyZy dd lzm{Z{ dd!l|m}Z}m~Z~mZ dd"l€m�Z�m‚Z‚mƒZƒ dd#l„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰ dd$lŠm‹Z‹ dd%lŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘m’Z’m“Z“m”Z”m•Z•m–Z–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³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ÌmÍZÍmÎZÎmÏZÏmÐZÐ d'd(lÑmÒZÒmÓZÓmÔZÔmÕZÕmÖZÖm×Z×mØZØ d'd)lÙmÚZÚ d'd*lÛmÜZÜ d'd+lÝmÞZÞ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ì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ü d'd0lýmþZþmÿZÿ d'd1�l �m�Z�m�Z d'd2�l�m�Z�m�Z�m�Z�m�Z�m�Z�m	�Z	�m
�Z
�m�Z d'd3�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! d'd4�l"�m#�Z#�m$�Z$�m%�Z% d'd5�l&�m'�Z' d'd6�l(�m)�Z)�m*�Z* d'd7�l+�m,�Z, d'd8�l-�m.�Z.�m/�Z/�m0�Z0�m1�Z1 d'd9�l2�m3�Z3�m4�Z4�m5�Z5 d'd:�l6�m7�Z7�m8�Z8�m9�Z9�m:�Z:�m;�Z;�m<�Z< d'd;l"�m=�Z=�m>�Z>�m?�Z?�m@�Z@ d'd<�lA�mB�ZB�mC�ZC�mD�ZD d'd=�lE�mF�ZF�mG�ZG�mH�ZH�mI�ZI�mJ�ZJ�mK�ZK�mL�ZL�mM�ZM�mN�ZN�mO�ZO�mP�ZP�mQ�ZQ�mR�ZR�mS�ZS�mT�ZT�mU�ZU 	 dd�lV�ZWerdd?�lZ�m[�Z[ dd@�l\�m]�Z]  e�j¼                  �e_«      �Z`e"�jÂ                  �jÅ                  �e_dA«      �Zc e�j¼                  dB«      �ZdddCl�me�Ze  �eedD«      �Zf �eedE«      �Zg�eh�ZidF�ejdG�ekfdH„�Zl e�jÚ                  dI¬J«       G dK„ dL«      «       �Zn e�jÚ                  dI¬J«       G dM„ dN«      «       �Zo e�jÚ                  dI¬J«       G dO„ dP«      «       �Zp�en�eoz  �epz  �Zq�eh�eq   �ZrdQ�erdG�esfdR„�ZtdSe¨dG�erdz  fdT„�ZudUeQdV�erdW�evdGeSfdX„�ZwdSe¨dYeVdz  dGeSfdZ„�Zxd[edGedz  fd\„�Zy G d]„ d^«      �Zze�jÚ                   G d_„ d`«      «       �Z{ G da„ db�e{«      �Z| �e}dc„  �e~e«      �jÿ                  «       D «       «      �Z€�e}�ev   �eYdd<    �e�«       �Z‚�e��ev   �eYde<   e"�j                  �j                  �j
                  �Z†e"�j                  �j                  �j                  �Zˆ G df„ dg«      �Z‰dhe×dG�efdi„�ZŠd[edjeCdz  dGefdk„�Z‹	 	 d¬dldmdnedoedz  dp�eŒdz  dqedGe×fdr„�Z�dldmdnedoedGdfds„�ZŽ	 	 d¬dt�eŒ�ef   dldmdnedoedz  dp�eŒdz  dqedG�effdu„�Z�	 d­dt�eŒ�ef   dldmdne"�j                   �j"                  dve"�j$                  dp�eŒdz  dqedG�effdw„�Z“	 	 d¬dt�eŒ�ef   dldmdne"�j                   �j"                  doedz  dp�eŒdz  dqedG�effdx„�Z”doedldmdne"�j                   �j"                  dq�e•�esef   dp�eŒdz  dt�eŒ�ef   dGe×fdy„�Z–d[�egdG�eŒ�eg   dz  fdz„�Z—dtedldmdoedp�eŒdz  dG�e•�esef   f
d{„�Z˜dt�eŒ�ef   dldmdne"�j                   �j"                  doedp�eŒdz  dq�e•�esef   dG�effd|„�Z™dGe^fd}„�Zšd�a›�eh�eœ�es�evdz  f      dz  �eYd~<   d�a��evdz  �eYd<    e�j<                  d€«      �ZŸe�j@                  �es   �eYd�<   d‚�esdG�eœ�es�evdz  f   fdƒ„�Z¡dG�eh�eœ�es�evdz  f      fd„„�Z¢d­d…�esd†�evdz  dG�ekfd‡„�Z£dldmdˆ�esd‰e"�j$                  dGe‡fdŠ„�Z¤d�a¥�eh�eœ�es�evdz  f      dz  �eYd‹<   d�a¦�evdz  �eYdŒ<   dG�eh�eœ�es�evdz  f      fd�„�Z§d­d…�esd†�evdz  dG�ekfdŽ„�Z¨d�a©�e��ev   dz  �eYd�<   d�aª�evdz  �eYd�<   dG�e��ev   fd‘„�Z«d[�evdG�ekfd’„�Z¬d‰edSe¨d“eWdz  d”ecdz  d•�e•eef   dGeafd–„�Z­d—eRe#z  d˜e"jF                  dGdfd™„�Z®dše`d›e!�j^                  dGdfdœ„�Z°dše`dGdfd�„�Z±dše`dYeVdGdfdž„�Z²dše`dGdfdŸ„�Z³	 	 d®d‰edldmdSe¨d �ekd¡�ekd“eWdz  dGecfd¢„�Z´ddd£œd‰edldmdSe¨dz  d¤�ekd¥edz  d“eWdz  dGefd¦„�Zµddd£œd‰edldmdSe¨dz  d¤�ekd¥edz  d“eWdz  dGefd§„�Z¶ G d¨„ d©«      �Z·�e·�jq                  «       �e·�_¹         G dª„ d««      �Zºy# �eX$ r d�ZWe�eYd><   Y �ŒÄw xY w)¯aq  
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)ÚCallableÚMutableMapping)Ú
ModuleType)ÚAnyÚcastÚ
NamedTupleÚNoReturnÚoverloadÚTYPE_CHECKINGÚUnion)ÚSymInt)Úenable_python_dispatcher)ÚCURRENT_STREAM_INDEXÚget_external_object_by_indexÚregister_user_object)Úget_metrics_contextÚis_int_specialization_caseÚis_torch_symÚnormalize_count_iterÚset_feature_use)ÚTracingContext)Ú
flat_apply)Úcall_torchbind)Úis_opaque_reference_typeÚis_opaque_typeÚis_opaque_value_typeÚshould_hoist)Ú
OpaqueBase)ÚHigherOrderOperatorÚ
OpOverloadÚOpOverloadPacket)Ú
FakeTensorÚFakeTensorModeÚis_fakeÚmaybe_get_fake_mode)Úis_sparse_anyÚ	safe_grad)Újustknobs_check)ÚBackwardState)Únormalize_source_name)ÚDictSpecÚIntermediateSpecÚIntVarÚLeafSpecÚ
ObjectSpecÚSeqSpecÚ
ShapesSpecÚ
TensorSpec)Ú_DynamicScalarÚ
DynamicInt)
Ú_constrain_range_for_sizeÚ_nested_int_aware_sortÚ
DimDynamicÚRelaxedUnspecConstraintÚShapeEnvÚStatefulSymbolicContextÚSubclassSymbolicContextÚSymbolicContextÚSymIntSymbolicContextÚTrackedFake)Úimmutable_dictÚimmutable_list)ÚExpandedWeight)Ú
OrderedSet)Úis_traceable_wrapper_subclassÚ"is_traceable_wrapper_subclass_type)ÚValueRanges)ÚTensorWeakRefé   )ÚconfigÚgraph_break_hintsÚmutation_guardÚreplay_recordÚtrace_rules)Ú get_registered_device_interfaces)ÚInternalTorchDynamoErrorÚraise_observed_exceptionÚunimplemented)ÚGuardBuilderÚinstall_guardÚmake_dupe_guard)Úauto_dynamicÚ
auto_unsetÚFrameStateSizeEntryÚInferStrideÚprocess_automatic_dynamic)ÚSideEffects)!ÚAttrProxySourceÚ
AttrSourceÚCallMethodItemSourceÚChainedSourceÚConstDictKeySourceÚConvertIntSourceÚCurrentStreamSourceÚDictGetItemSourceÚDictSubclassGetItemSourceÚDynamicScalarSourceÚFloatTensorSourceÚGetItemSourceÚ
GradSourceÚis_constant_sourceÚis_from_closure_sourceÚis_from_global_sourceÚis_from_nonlocal_sourceÚis_from_optimizer_sourceÚ&is_from_unspecialized_nn_module_sourceÚListGetItemSourceÚLocalSourceÚNNModuleSourceÚNonSerializableSetGetItemSourceÚNumpyTensorSourceÚOptimizerSourceÚRandomValueSourceÚSkipGuardSourceÚSourceÚSubclassAttrListSourceÚTupleIteratorGetItemSourceÚ"UnspecializedBuiltinNNModuleSourceÚUnspecializedNNModuleSourceÚUnspecializedParamBufferSource)"Ú_extract_tensor_dictÚbuild_checkpoint_variableÚbuild_invoke_subgraph_variableÚclone_inputÚcommon_constant_typesÚ	dict_keysÚ"enumerate_items_with_dict_positionÚget_fake_valueÚget_locals_to_stealÚget_static_address_typeÚis_frozen_dataclassÚis_functionÚis_function_or_wrapperÚis_invoke_subgraphÚis_lru_cache_wrapped_functionÚis_namedtupleÚis_parameter_freezingÚis_pybind11_enum_memberÚis_torch_classÚ	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é   )ÚAttributeMutationExistingÚAttributeMutationNewÚtypestrÚValueMutationExistingÚValueMutationNewÚVariableTrackerÚVariableTrackerMeta)ÚBuiltinVariable©ÚConstantVariable)ÚAutocastModeVariableÚCudagraphOverrideVariableÚDynamoConfigPatchVariableÚErrorOnGraphBreakVariableÚNullContextVariableÚPreserveVersionContextVariableÚRecordFunctionVariable)ÚConstDictVariableÚMappingProxyVariableÚSetVariable)ÚWorldMetaClassVariable)ÚBoundBuiltinMethodVariableÚCollectionsNamedTupleFunctionÚ!CollectiveFunctionRewriteVariableÚ'CreateTMADescriptorExperimentalVariableÚ!CreateTMADescriptorStableVariableÚFunctoolsPartialVariableÚGetSetDescriptorVariableÚMemberDescriptorVariableÚMethodWrapperVariableÚSysFunctionVariableÚTritonKernelVariableÚTritonSetAllocatorVariableÚUserFunctionVariableÚWrapperUserFunctionVariable)Ú"LocalMapWrappedHigherOrderVariableÚ TorchHigherOrderOperatorVariable)ÚCountIteratorVariableÚItertoolsVariable)ÚLazyConstantVariableÚLazyVariableTracker)ÚBaseListVariableÚListIteratorVariableÚListVariableÚRangeVariableÚSizeVariableÚSliceVariableÚTupleIteratorVariableÚTupleVariable)ÚAutogradEngineVariableÚAutogradFunctionContextVariableÚAutogradFunctionVariableÚComptimeVariableÚConstantLikeVariableÚDebuggingVariableÚDelayGraphBreakVariableÚGetAttrVariableÚIgnoredFunctionVariableÚLambdaVariableÚLoggingLoggerVariableÚNumpyDTypeVariableÚNumpyVariableÚObjectVariableÚPythonModuleVariableÚRandomClassVariableÚRandomVariableÚSavedTensorBoxÚStringFormatVariableÚTypingVariableÚWeakRefVariable)ÚFSDPManagedNNModuleVariableÚ$UnspecializedBuiltinNNModuleVariableÚUnspecializedNNModuleVariable)ÚOptimizerVariable)ÚOpaqueObjectClassVariableÚTorchScriptObjectVariable©ÚSDPAParamsVariable)ÚDictKeySetVariableÚFrozensetVariableÚOrderedSetClassVariableÚOrderedSetVariable)ÚEventVariableÚStreamContextVariableÚStreamVariable)ÚNumpyNdarrayVariableÚ$supported_const_comparison_op_valuesÚSymNodeVariableÚTensorSubclassVariableÚTensorVariableÚUnspecializedPythonVariable)ÚDispatchKeySetVariableÚFuncTorchInterpreterVariableÚTorchCtxManagerClassVariableÚTorchInGraphFunctionVariable)ÚTensorWithTFOverrideVariableÚ#torch_function_mode_stack_state_mgrÚTorchFunctionModeVariable)ÚDefaultDictVariableÚFrozenDataClassVariableÚInspectVariableÚIntWrapperVariableÚKeyedJaggedTensorVariableÚMutableMappingVariableÚOrderedDictVariableÚSourcelessGraphModuleVariableÚUserDefinedClassVariableÚUserDefinedConstantVariableÚUserDefinedDictVariableÚ!UserDefinedExceptionClassVariableÚUserDefinedListVariableÚUserDefinedObjectVariableÚUserDefinedSetVariableÚUserDefinedTupleVariableÚnp)Ú	PyCodegen©ÚInstructionTranslatorBaseÚcudagraph_static_inputsz%torch.fx.experimental.symbolic_shapes)ÚTypeVarÚVTTypeAliasÚTÚtÚreturnc                 óÈ   — t         j                  j                  t         j                  j                  j                  «      5  t        | d«      cd d d «       S # 1 sw Y   y xY w)NÚgrad)ÚtorchÚ_loggingÚhide_warningsÚ	_internalÚsafe_grad_filterÚhasattr)r  s    új/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/_dynamo/variables/builder.pyÚsafe_has_gradr#  d  sC   € Ü	�‰×	%Ñ	%¤e§n¡n×&>Ñ&>×&OÑ&OÓ	Pñ "Ü�q˜&Ó!÷"÷ "ò "ús   ÁAÁA!T)Úfrozenc                   ó8   — e Zd ZU dZeed<   dZeed<   dZeed<   y)Ú_LocalTokenz1Root token: a top-level function-argument access.ÚnameFÚ
is_varargsÚis_varkwN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r(  Úboolr)  © ó    r"  r&  r&  i  s   … á;à
ƒIØ€J�ÓØ€HˆdÔr2  r&  c                   ó   — e Zd ZU dZeed<   y)Ú
_AttrTokenz Attribute access (``obj.name``).r'  N)r*  r+  r,  r-  r.  r/  r1  r2  r"  r4  r4  r  s
   … á*à
„Ir2  r4  c                   ó"   — e Zd ZU dZeez  ed<   y)Ú_SubscriptTokenu·   Subscript access (``obj[key]``).

    Emitted for ``dict`` key lookups (matched against ``DictSpec`` entries).
    The key may be ``int`` or ``str`` â€” both are valid dict keys.
    ÚkeyN)r*  r+  r,  r-  Úintr.  r/  r1  r2  r"  r6  r6  y  s   … ñð 
ˆs‰„Nr2  r6  Útokensc           	      óX  — g }| D ]�  }|xt         d˜ x�\  } |j                  |«       Œ$ xt        d˜ x�\  } |j                  d|› �«       ŒH t        d˜ x�\  }|j                  d|›d�«       Œk 	 t	        d|›dt        |«      j                  › �«      ‚ |rdj                  |«      S d	S )
a³  Format an access path as a Python source-like string for error messages.

    Examples:
        [_LocalToken("xs")]                              -> "xs"
        [_LocalToken("cfg"), _SubscriptToken("x")]       -> "cfg['x']"
        [_LocalToken("m"), _AttrToken("weight")]         -> "m.weight"
        [_SubscriptToken(0)]                             -> "[0]"
        [_AttrToken("weight")]                           -> ".weight"
    )r'  ú.©r7  ú[ú]z&_format_access_path: unexpected token z	 of type Ú z<empty path>)r&  Úappendr4  r6  ÚRuntimeErrorÚtyper*  Újoin)r9  ÚpartsÚtokr'  r7  s        r"  Ú_format_access_pathrF  ˆ  s»   € ð €EØò ˆØØ'”×'Ø—‘˜TÕ"ð (à&”×&Ø—‘˜q  ˜ZÕ(ð 'ä Ö)Ø—‘˜q   q˜\Õ*ð *àÜ"Ø<¸S¸Gð DÜ# C›y×1Ñ1Ð2ð4óð ðñ #ˆ2�7‰7�5‹>Ð6¨Ð6r2  Úsourcec                 óæ  — g }| }t        |t        «      �sƒt        |t        «      r|j                  }Œ.t        |t        «      rUt        |j                  t
        «      r;|j                  t        |j                  «      «       |j                  j                  }Œ“t        |t        «      rQt        |j                  t        t        f«      r1|j                  t        |j                  «      «       |j                  }Œôt        |t        «      rMt        |j                  «      t        u r2|j                  t        |j                  «      «       |j                  }�ŒQt        |t        «      r2|j                  t        |j                  «      «       |j                  }�Œ“y|j                   sy|j                  t#        |j$                  |j&                  |j(                  ¬«      «       |j+                  «        |S )a  Translate a dynamo ``Source`` chain into a flat ``_AccessPath``.

    Walks ``source.base`` from leaf to root, then reverses so the path
    reads root-first. The returned path always starts with a single
    ``_LocalToken`` (the input arg) followed by zero or more access
    tokens, each of which is either an ``_AttrToken`` (attribute
    access) or a ``_SubscriptToken`` (``dict[key]`` access with an
    ``int`` or ``str`` key).

    Returns ``None`` for sources that we know we can't represent them
    in shapes specs.
    N)r(  r)  )Ú
isinstancern   ro   Úbasera   rz   r@  r4  Úindexr8  r.  r6  re   rB  r[   ÚmemberÚis_inputr&  Ú
local_namer(  r)  Úreverse)rG  ÚpathÚcurs      r"  Ú_source_to_access_pathrR  £  sX  € ð  "€DØ€CÜ˜œkÕ*Ü�cœ>Ô*ð —(‘(ˆCØô
 �cÔ,Ô-´*Ø�H‰HÔ4ô3
ð �K‰Kœ
 3§9¡9Ó-Ô.Ø—(‘(—-‘-ˆCØä�cÔ,Ô-´*¸S¿Y¹YÌÌcÈ
Ô2SØ�K‰Kœ¨¯	©	Ó2Ô3Ø—(‘(ˆCØä�cœ=Ô)¬d°3·9±9«oÄÑ.DØ�K‰Kœ¨¯	©	Ó2Ô3Ø—(‘(ˆCÙÜ�cœ:Ô&Ø�K‰Kœ
 3§:¡:Ó.Ô/Ø—(‘(ˆCÙØØ�<Š<ØØ‡K�KÜ�C—N‘N¨s¯~©~ÈÏÉÔUôð 	‡L�L„NØ€Kr2  Úcurrent_specÚ	full_pathÚstart_indexc           	      ó@  ‡— 	 ddt         dt        dt        dt        fˆfd„}t	        |t        ‰«      «      D �]@  }‰|   }| € y| xt        d˜ x�B\    t        |t        «      s	 ||| «      ‚| j                  j                  |j                  «      } ŒZ xt        d˜ x�B\    t        |t        «      s	 ||| «      ‚| j                  j                  |j                  «      } Œ§ t         d˜ x�†\   t        |t        «      rt        |j                  t         «      s	 ||| «      ‚|j                  dk  rt        d	«      ‚|j                  t        | «      k  r| j                  |j                     } �Œ3d} �Œ7 	  ||| d
«      ‚ t        | t"        «      s |t        ‰«      | d«      ‚| S )aå  Walk down a spec tree starting at ``current_spec``, consuming each
    token in ``full_path[start_index:]`` in order. Returns the leaf spec at
    the end of the walk, or ``None`` if a key/field along the way wasn't
    specified by the user. Raises on type-mismatch.

    ``full_path`` is the original access path (including any prefix already
    consumed by the caller before reaching ``current_spec``); ``start_index``
    is the offset in ``full_path`` where the walk begins.
    Úat_idxÚspecÚsuffixr  c           
      ó€   •— t        dt        ‰«      ›dt        ‰d |  «      ›dt        |«      j                  › |› �«      S )Nz*shapes_spec walk: while processing source z, at z the spec is )rA  rF  rB  r*  )rW  rX  rY  rT  s      €r"  Ú_mismatch_errorz#_walk_spec.<locals>._mismatch_erroré  sR   ø€ ô Ø8Ü" 9Ó-Ð0°Ü" 9¨W¨fÐ#5Ó6Ð9ð :Ü ›:×.Ñ.Ð/°¨xð9ó
ð 	
r2  Nr1  r   z:dynamo should have normalized the index to be non-negativez+, but the source has further access past itz., but the source has no further access past it)r?  )r8  r,   r.  rA  ÚrangeÚlenr/   rI  r4  Ú_fieldsÚgetr'  r+   r6  Ú_entriesr7  r0   r.   )rS  rT  rU  r[  ÚidxÚtokens    `    r"  Ú
_walk_specrc  Ú  s¨  ø€ ð  <>ñ
Üð
Ü+ð
Ü58ð
ä	õ
ô �[¤# i£.Ó1ó &ˆØ˜#‘ˆØÐñ ØØ”–Ü! %¬Ô4Ù)¨#¨|Ó<Ð<Ø+×3Ñ3×7Ñ7¸¿
¹
ÓC‘ð ð ”–Ü! %¬Ô9Ù)¨#¨|Ó<Ð<Ø+×4Ñ4×8Ñ8¸¿¹ÓC‘ð ô •Ü! %¬Ô9ÄØ—I‘IœsôBñ *¨#¨|Ó<Ð<à—9‘9˜q’=Ü&ØTóð ð —9‘9œs <Ó0Ò0Ø#/×#8Ñ#8¸¿¹Ñ#C’Là#'’Lð ð ñ &ØØ ØAóð ðE&ôN �l¤HÔ-ñ Ü�	‹NØØ<ó
ð 	
ð
 Ðr2  Úshapes_specc           	      ó  — |�|j                   €yt        | «      }|rt        |d   t        «      sy|j                   }|d   }|j                  rÊt        |d   t
        «      s't        d|›dt        |d   «      j                  › �«      ‚|d   j                  }t        |«      t        ur(t        d|›dt        |«      j                  › d|›d	�«      ‚|j                  � d|cxk  rt        |j                  «      k  sy yt        |j                  |   |d
¬«      S |j                  r·t        |d   t
        «      s't        d|›dt        |d   «      j                  › �«      ‚|d   j                  }t        |t        «      s(t        d|›dt        |«      j                  › d|›d	�«      ‚|j                   �||j                   vryt        |j                   |   |d
¬«      S |j"                  j%                  |j&                  «      }t        ||d¬«      S )z…Look up the LeafSpec at the access path derived from ``source`` in ``params``.
    Returns ``None`` if the source isn't covered.
    Nr   r�   z3Expected _SubscriptToken after *args local at path z, got z6Unexpected non-int subscript for *args access at path z: ú(ú)rG   )rT  rU  z6Expected _SubscriptToken after **kwargs local at path z9Unexpected non-str subscript for **kwargs access at path )Ú_paramsrR  rI  r&  r(  r6  rA  rB  r*  r7  r8  Ú_varargsr]  rc  r)  r.  Ú_varkwÚ_named_argsr_  r'  )rG  rd  rP  ÚparamsÚrootr7  rS  s          r"  Úlookup_spec_from_dynamo_sourcern  %  s  € ð Ð˜k×1Ñ1Ð9ØÜ! &Ó)€DÙ”z $ q¡'¬;Ô7ØØ× Ñ €FØ�‰7€DØ‡‚ô
 ˜$˜q™'¤?Ô3ÜØEØ�(˜&¤ d¨1¡g£×!7Ñ!7Ð 8ð:óð ð �1‰g�k‰kˆÜ�‹9œCÑÜØHØ�(˜"œT #›Y×/Ñ/Ð0°°#°¸ð;óð ð �?‰?Ð"¨1°Ô+J´c¸&¿/¹/Ó6JÒ+JØð ,KØÜ˜&Ÿ/™/¨#Ñ.¸$ÈAÔNÐNØ‡}‚}ô
 ˜$˜q™'¤?Ô3ÜØHØ�(˜&¤ d¨1¡g£×!7Ñ!7Ð 8ð:óð ð �1‰g�k‰kˆÜ˜#œsÔ#ÜØKØ�(˜"œT #›Y×/Ñ/Ð0°°#°¸ð;óð ð �=‰=Ð  C¨v¯}©}Ñ$<Øä˜&Ÿ-™-¨Ñ,¸È!ÔLÐLð &,×%7Ñ%7×%;Ñ%;¸D¿I¹IÓ%F€LÜ�l¨dÀÔBÐBr2  Úvaluec                 óT  — t        | t        j                  «      sy | j                  }|�t        |t        j                  «      ry t        |t
        j                  «      ry t        |t        «      r|n
t        |«      }t        |«      ry t        j                  || j                  d «      S ©N)rI  ÚtypesÚBuiltinMethodTypeÚ__self__r   ÚrandomÚRandomrB  r�   ÚinspectÚgetattr_staticr*  )ro  Úmethod_selfÚowners      r"  Úbound_builtin_method_descriptorr{  _  sˆ   € Ü�eœU×4Ñ4Ô5Øà—.‘.€Kð Ðœj¨´e×6FÑ6FÔGØô
 �+œvŸ}™}Ô-Øä% k´4Ô8‰K¼dÀ;Ó>O€Eô
 �eÔØô
 ×!Ñ! %¨¯©¸Ó>Ð>r2  c                   ó   — e Zd Zy)Ú_missingN©r*  r+  r,  r1  r2  r"  r}  r}  }  s   „ Ør2  r}  c                   óf  — e Zd ZU edz  ed<   eed<   eed<   ej                  j                  j                  dz  ed<   dZeed<   dZej                  ej                  z  dz  ed<   d	ed
eddfd„Zedej                  ej                  z  ez  dz  fd„«       Zdd„Zdd„Zdefd„Zdd„Zdedefd„Zy)ÚGraphArgNrG  Ú_exampleÚpass_arg_as_tensorÚfake_tensorTÚ	is_tensorÚexample_strong_refr'  ro  r  c                 ó2   — t         j                  | ||«       y rq  )ÚobjectÚ__setattr__)Úselfr'  ro  s      r"  rˆ  zGraphArg.__setattr__¥  s   € ô
 	×Ñ˜4  uÕ-r2  c                 óŒ   — t        | j                  t        «      r| j                  «       }|€t        d«      ‚|S | j                  S )Nz"TensorWeakRef expired unexpectedly)rI  r�  rF   ÚAssertionError)r‰  Úrs     r"  ÚexamplezGraphArg.example¬  s;   € ä�d—m‘m¤]Ô3Ø—‘“ˆAØˆyÜ$Ð%IÓJÐJØˆHà—=‘=Ð r2  c                 óÂ   — t        | j                  t        j                  «      r;t	        | j                  «      | _        t        | j                  «      st        d«      ‚y y )Nz fake_tensor must be a FakeTensor)rI  r�  r  ÚTensorrF   r$   rƒ  r‹  ©r‰  s    r"  Ú__post_init__zGraphArg.__post_init__¶  sH   € Ü�d—m‘m¤U§\¡\Ô2Ü)¨$¯-©-Ó8ˆDŒMÜ˜4×+Ñ+Ô,Ü$Ð%GÓHÐHð -ð 3r2  c                 ó(   —  || j                   «       y rq  ©rG  ©r‰  Úcodegens     r"  ÚreconstructzGraphArg.reconstruct¼  s   € Ù�—‘Õr2  c                 óf   — | j                   €t        d«      ‚| j                   j                  |«      S )Nz8Expecting GraphArg to have source during python codegen.)rG  r‹  Úreconstruct_pycoder”  s     r"  r˜  zGraphArg.reconstruct_pycode¿  s3   € Ø�;‰;ÐÜ ØJóð ð �{‰{×-Ñ-¨gÓ6Ð6r2  c                 ó    — d | _         d | _        y rq  )r�  r…  r�  s    r"  ÚerasezGraphArg.eraseÆ  s   € ØˆŒØ"&ˆÕr2  Úotherc                 óÌ   — t        |t        «      sy| j                  €|j                  d u S |j                  €y| j                  j                  |j                  j                  k(  S )NF)rI  r€  rG  r'  )r‰  r›  s     r"  Ú__eq__zGraphArg.__eq__Ê  sT   € Ü˜%¤Ô*ØØ�;‰;ÐØ—<‘< 4Ð'Ð'à�|‰|Ð#ØØ—;‘;×#Ñ# u§|¡|×'8Ñ'8Ñ8Ð8r2  ©r  N©r•  r  r  N)r*  r+  r,  ru   r/  r   r0  r  Ú_subclassesrƒ  r"   r„  r…  r�  r   r.  rˆ  Úpropertyr)   r�  r‘  r–  r˜  rš  r‡  r�  r1  r2  r"  r€  r€  �  sß   … à�T‰MÓð ƒMð" ÓØ×"Ñ"×.Ñ.×9Ñ9¸DÑ@Ó@ð €IˆtÓð >BÐ˜Ÿ™ u§|¡|Ñ3°dÑ:ÓAð. ð .¨Cð .°Dó .ð ð!˜Ÿ™¨¯©Ñ4°}ÑDÀtÑKò !ó ð!óIóð7¨Só 7ó'ð9˜Fð 9 tô 9r2  r€  c                   ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )ÚBackwardStateGraphArgc                 ó>   •— t         ‰| �  d t        «       dd d¬«       y )NF)rG  r�  r‚  rƒ  r„  )ÚsuperÚ__init__r)   )r‰  Ú	__class__s    €r"  r¦  zBackwardStateGraphArg.__init__Ö  s&   ø€ Ü‰ÑØÜ"“_Ø$ØØð 	õ 	
r2  c                 ó&  ‡— ‰j                   j                  j                  st        d«      ‚‰j	                  ˆfd„«       ‰j                  dd«       ‰j                  «        ‰j                  ‰j                   j                  j                  «       y )Nz(backward_state_var must be set on outputc                  óD   •— ‰ j                  t        j                  d«      S )Nr)   )Úload_import_fromr)   r+  )r•  s   €r"  ú<lambda>z3BackwardStateGraphArg.reconstruct.<locals>.<lambda>ã  s   ø€ �G×,Ñ,¬]×-EÑ-EÀÓW€ r2  r   F)ÚtxÚoutputÚbackward_state_varr‹  Úadd_push_nullÚcall_functionÚdup_topÚstorer”  s    `r"  r–  z!BackwardStateGraphArg.reconstructß  sk   ø€ Ø�z‰z× Ñ ×3Ò3Ü Ð!KÓLÐLØ×ÑÛWô	
ð 	×Ñ˜a Ô'Ø�‰ÔØ�‰�g—j‘j×'Ñ'×:Ñ:Õ;r2  rž  rŸ  )r*  r+  r,  r¦  r–  Ú__classcell__©r§  s   @r"  r£  r£  Õ  s   ø„ õ
÷<r2  r£  c              #   ó„   K  — | ]8  \  }}|j                  d «      s"t        j                  |«      rt        |«      –— Œ: y­w)Ú_N)Ú
startswithrw  ÚisclassÚid)Ú.0r'  rL  s      r"  ú	<genexpr>r»  ì  s7   è ø€ ò /áˆˆfØ�?‰?˜3Ô¤G§O¡O°FÔ$;ô €v‡Jñ/ùs   ‚>A ÚITERTOOLS_TYPE_IDSÚITERTOOLS_POLYFILLED_TYPE_IDSc            
       óÐ  ‡ — e Zd ZdZ	 d5dddededdfˆ fd„Zd	edefd
„Z	d	edefd„Z
dedefd„Zdefd„Zdedef   deeef   dz  fd„Zedeeedef   f   fd„«       Zeej*                  dedeeedef   f   fd„«       «       Zd	ej0                  e   ej2                  e   z  defd„Zd	ej:                  e   defd„Zd	e jB                  jD                  jF                  de$fd„Z%d	ede&fd„Z'd	edefd„Z(eej*                  dee)ed egef   f   fd„«       «       Z*d	edefd„Z+d	edefd„Z,d	e-e.edf   e/e   e0e1f   defd„Z2d	e3defd„Z4d	e5defd„Z6d	edefd „Z7d	e8e9z  de:e;z  fd!„Z<d	e jz                  d"eddfd#„Z>d	e j~                  j€                  defd$„ZAd	edefd%„ZBd	e)defd&„ZCd	eDdefd'„ZEeFd	e)d(ee)gef   defd)„«       ZGeFd	eDd(eeDgef   defd*„«       ZGeF	 d6d	e)eDz  ez  ez  d(ddefd+„«       ZG	 d6d	e)eDz  ez  ez  d(eegef   dz  defd,„ZGd	e jz                  ddfd-„ZHd	e jz                  defd.„ZId	edefd/„ZJ	 	 d7d	e)d0eKdz  d1eLdz  defd2„ZMd	eDdefd3„ZNd	edefd4„ZOˆ xZPS )8ÚVariableBuilderz3Wrap a python value in a VariableTracker() instancer¬  r  rG  Úallow_lazy_constantr  Nc                 óÆ   •— |€t        d«      ‚t        j                  «       €t        d«      ‚t        ‰| �  «        || _        || _        |j                  | _        || _        y )NzRConsider SourcelessBuilder for ephemeral objects, usually objects created locally.zExpected active TracingContext)	r‹  r   Útry_getr¥  r¦  r¬  rG  r'  rÀ  )r‰  r¬  rG  rÀ  r§  s       €r"  r¦  zVariableBuilder.__init__þ  se   ø€ ð ˆ>Ü Ødóð ô ×!Ñ!Ó#Ð+Ü Ð!AÓBÐBÜ‰ÑÔØˆŒØˆŒØ—K‘KˆŒ	ð $7ˆÕ r2  ro  c                 óx  — t        j                  «       }	 | j                  |«      | j                  j                  j
                  xj                  t        j                  «       |z
  z  c_        S # | j                  j                  j
                  xj                  t        j                  «       |z
  z  c_        w xY wrq  )ÚtimeÚtime_nsÚ
_call_implr¬  r­  Úbytecode_tracing_timingsÚvariable_builder_call_ns)r‰  ro  Ú_t0s      r"  Ú__call__zVariableBuilder.__call__  sy   € Ü�l‰l‹nˆð	Ø—?‘? 5Ó)à�G‰G�N‰N×3Ñ3×LÒLÜ—‘“ Ñ$ñÖLøˆD�G‰G�N‰N×3Ñ3×LÒLÜ—‘“ Ñ$ñÖLús   –A/ Á/A
B9c                 óÐ  — | j                   j                  j                  j                  j	                  | j
                  «       || j                   j                  j                  v r§| j                   j                  j                  |   }t        | j
                  |j
                  «      }|r| j                  |«       t        |t        j                  j                  «      r+t        |t        «      r|j                  | j
                  «       |S | j                   j                  j                  j!                  | j
                  «      }|r| j"                  st        |t$        «      s|S | j'                  |«      }|j
                  €| j
                  |_        dt(        dt*        dt,        fd„}| j/                  |«      s	 |||«      r]|| j                   j                  j                  vr;t1        |«      s0| j                   j                  j                  j3                  ||«      }d| j
                  j4                  vr-|| j                   j                  j                  | j
                  <   |S )Nro  Úvtr  c                 ó`   — t        | «      xs t        | t        «      xr t        |t        «      S rq  )r   rI  r3   rõ   )ro  rÌ  s     r"  Ú_is_deduplicable_sym_variablezAVariableBuilder._call_impl.<locals>._is_deduplicable_sym_variable@  s,   € ô ˜UÓ#ÒH¤z°%¼Ó'Hò2ä˜R¤Ó1ð2r2  ÚJVP_NESTING)r¬  r­  Úcurrent_tracerÚtraced_sourcesÚaddrG  Úside_effectsrS   Úinstall_guardsrI  r  ÚnnÚModuleræ   Úset_nn_module_stack_sourceÚvariable_tracker_cacher_  rÀ  rÆ   Ú_wrapr   r£   r0  Ú_can_lift_attrs_to_inputsr�   Útrack_object_existingr'  )r‰  ro  Úside_effect_resultÚ	dup_guardÚ	cached_vtrÌ  rÎ  s          r"  rÆ  zVariableBuilder._call_impl  sÇ  € Ø�‰�‰×%Ñ%×4Ñ4×8Ñ8¸¿¹ÔEØ�D—G‘G—N‘N×/Ñ/Ñ/Ø!%§¡§¡×!<Ñ!<¸UÑ!CÐÜ'¨¯©Ð5G×5NÑ5NÓOˆIÙØ×#Ñ# IÔ.ä˜%¤§¡§¡Ô1´jØ"Ô$Aô7ð #×=Ñ=¸d¿k¹kÔJØ%Ð%à—G‘G—N‘N×9Ñ9×=Ñ=¸d¿k¹kÓJˆ	Ùð ×'Ò'¬zØÔ.ô0ð !Ð à�Z‰Z˜Óˆà�9‰9ÐØŸ™ˆBŒIð	2´ð 	2¼/ð 	2Ìdó 	2ð ×.Ñ.¨rÔ2Ù0°¸Ô;à˜TŸW™WŸ^™^×8Ñ8Ñ8Ü3°EÔ:à—‘—‘×,Ñ,×BÑBÀ5È"ÓMˆBð  §¡× 0Ñ 0Ñ0ØACˆD�G‰G�N‰N×1Ñ1°$·+±+Ñ>Øˆ	r2  rÌ  c                 óN   — t        |«      t        t        t        t        t
        hv S rq  )rB  r÷   rý   r  ró   ré   )r‰  rÌ  s     r"  rÚ  z)VariableBuilder._can_lift_attrs_to_inputs\  s'   € Ü�B‹xÜÜ(Ü%Ü Ü%ð
ð 
ð 	
r2  c                 ó   — | j                   S rq  r“  r�  s    r"  Ú
get_sourcezVariableBuilder.get_sourcee  s   € Ø�{‰{Ðr2  Úguards.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Úskipr�   )rá  Ú
make_guardÚNotImplementedErrorrR   )r‰  râ  rG  ÚguardÚtmps        r"  rÔ  zVariableBuilder.install_guardsh  s]   € Ø—‘Ó"ˆð	Ø9?Ö@°�6×$Ñ$ UÕ+Ð@ˆCÐ@ô 	�sÐ# Ò#Øˆ	ùò	 AøÜ"ò 	Ùð	ús   ’A –=®A ½A Á	AÁAc                 ó@   — | j                  t        j                  «      S rq  )Ú_type_dispatch_implrH   Útrace_numpy)Úclss    r"  Ú_type_dispatchzVariableBuilder._type_dispatchq  s   € à×&Ñ&¤v×'9Ñ'9Ó:Ð:r2  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"                  | j$                  ft&        | j(                  ft*        | j,                  ft.        t0        f| j2                  ft        t4        «      | j6                  ft8        j:                  t8        j<                  f| j>                  ft@        jB                  | jD                  ft         jF                  jH                  jJ                  | jL                  ft         jN                  jP                  | jR                  ftT        jV                  | jX                  fg}|r1tZ        r+|j]                  tZ        j^                  | j`                  f«       i }|D ]6  \  }}tc        |t        «      r|n|fD ]  }||v rte        d|› �«      ‚|||<   Œ Œ8 |S )Nz"Duplicate type dispatch entry for )3r  r�  rÕ  Ú	Parameterr   r"   Úfunctional_tensorÚFunctionalTensorÚwrap_tensorÚtupleÚlistr“   ÚcollectionsÚdequeÚSizeÚwrap_listlikeÚ	itertoolsÚcountÚwrap_itertools_countr˜   Úwrap_tuple_iteratorr•   Úwrap_range_iteratorÚslicer\  Úwrap_slice_ranger   Úwrap_literalÚreÚPatternÚMatchÚwrap_regex_patternÚweakrefÚReferenceTypeÚwrap_weakrefÚutilsÚhooksÚRemovableHandleÚwrap_removable_handleÚjitÚScriptFunctionÚwrap_jit_functionrr  ÚMappingProxyTypeÚwrap_mapping_proxyr  r@  ÚndarrayÚwrap_numpy_ndarrayrI  r‹  )rì  rë  ÚentriesÚresultÚtsÚfnr  s          r"  rê  z#VariableBuilder._type_dispatch_implu  sÏ  € ô —L‘LÜ—H‘H×&Ñ&Ü×%Ñ%×0Ñ0Ü×%Ñ%×7Ñ7×HÑHð	ð —‘ðô œœl¬K×,=Ñ,=¼u¿z¹zÐJØ×!Ñ!ðô �_‰_˜c×6Ñ6Ð7Ü˜S×4Ñ4Ð5Ü˜S×4Ñ4Ð5Ü”Uˆ^˜S×1Ñ1Ð2ÜÔ(Ó)¨3×+;Ñ+;Ð<Ü�j‰jœ"Ÿ(™(Ð# S×%;Ñ%;Ð<Ü×"Ñ" C×$4Ñ$4Ð5Ü�[‰[×Ñ×.Ñ.°×0IÑ0IÐJÜ�Y‰Y×%Ñ% s×'<Ñ'<Ð=Ü×#Ñ# S×%;Ñ%;Ð<ð/
ˆñ4 �2à�N‰NœBŸJ™J¨×(>Ñ(>Ð?Ô@ð ˆØò 	‰FˆB�Ü% b¬%Ô0‘R°r°eò �Ø˜‘;Ü(Ð+MÈaÈSÐ)QÓRÐRØ��q’	ñð	ð ˆr2  c                 óV   — | j                  t        j                  «       t        |«      S rq  )rÔ  rQ   ÚID_MATCHrÓ   ©r‰  ro  s     r"  r  z"VariableBuilder.wrap_regex_pattern¡  s#   € ð 	×ÑœL×1Ñ1Ô2Ü# EÓ*Ð*r2  c                 ó˜   — | j                  t        j                  «       t        j                  | j
                  || j                  ¬«      S ©Nr“  )rÔ  rQ   Ú
TYPE_MATCHrã   Úbuildr¬  rG  r  s     r"  r  zVariableBuilder.wrap_weakref¨  s3   € Ø×ÑœL×3Ñ3Ô4Ü×$Ñ$ T§W¡W¨e¸D¿K¹KÔHÐHr2  c                 ó"   — t        dddg ¬«       y )Nz3Attempted to represent unregistered RemovableHandler?  z±Dynamo attempted to build a representation of a torch.utils.hooks.RemovableHandle, which is not supported. This happens because the RemovableHandle was created in another frame.©Úgb_typeÚcontextÚexplanationÚhints)rP   r  s     r"  r  z%VariableBuilder.wrap_removable_handle¬  s   € ô 	ØIØðmàö	
r2  c                 ó  — t        |d«      s5t        ddt        |«      j                  › �dg t        j
                  ¢¬«       | j                  t        j                  «       t        |d| j                  t        «       ¬«      S )NÚ_torchdynamo_inlinez.wrap_jit_function: missing _torchdynamo_inlineztype: zfDynamo expected a JIT function with a _torchdynamo_inline attribute, but the object does not have one.r  ©rG  Úmutation_type)r!  rP   rB  r*  rI   ÚSUPPORTABLErÔ  rQ   r  rÀ   rG  rž   r  s     r"  r  z!VariableBuilder.wrap_jit_function»  sw   € Ü�uÐ3Ô4ÜØHØ ¤ e£×!5Ñ!5Ð 6Ð7ð4à6Ô)×5Ñ5Ð6õð 	×ÑœL×3Ñ3Ô4Ü*ØØ!Ø—;‘;Ü3Ó5ô	
ð 	
r2  c           
      ót  ‡ ‡— ‰ j                  t        j                  «       ‰ j                  t        j                  «       t	        d„ |D «       «      }|sEt        dd|j                  «       D �cg c]  }t        j                  |«      rŒ|‘Œ c}› �ddg¬«       dt        dt        d	t        t        t        f   fˆ fd
„Št        ˆfd„|j                  «       D «       «      }t        |d ¬«      }t        |‰ j                   ¬«      }‰ j"                  j$                  j&                  j)                  ||«      S c c}w )Nc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrq  ©r§   Ú
is_literal©rº  Úks     r"  r»  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>Ñ  s   è ø€ ÒF¸1Ô(×3Ñ3°A×6ÑFùó   ‚!znon-const keys in mappingproxyúnon-const keys: z1Dynamo expects mappingproxy keys to be constants.zFEnsure your mappingproxy keys are constants (e.g. int, float, strings)r  r.  Úvr  c                 ó²   •— t        j                  | «      }| }t        ‰j                  «       |«      }t	        j                  ||‰j
                  ¬«      }||fS ©N©r¬  )r§   Úcreatere   rá  rÆ   r¬  )r.  r1  r7  Ú
source_keyÚsource_valueÚ	res_valuer‰  s         €r"  Úbuild_key_valuez;VariableBuilder.wrap_mapping_proxy.<locals>.build_key_valueÝ  sM   ø€ Ü"×)Ñ)¨!Ó,ˆCØˆJä(¨¯©Ó):¸JÓGˆLÜ+×2Ñ2°1°lÀtÇwÁwÔOˆIà˜	�>Ð!r2  c              3   ó6   •K  — | ]  \  }} ‰||«      –— Œ y ­wrq  r1  )rº  r.  r1  r9  s      €r"  r»  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>æ  s   øè ø€ ÒE©t¨q°!‘_ Q¨×*ÑEùs   ƒr“  )rÔ  rQ   r  ÚMAPPING_KEYS_CHECKÚallrP   Úkeysr§   r,  r   ró  r£   ÚdictÚitemsr¯   r°   rG  r¬  r­  rÓ  Útrack_mutable)r‰  ro  Ú	all_constr.  r?  Údict_vtr  r9  s   `      @r"  r  z"VariableBuilder.wrap_mapping_proxyÌ  s  ù€ Ø×ÑœL×3Ñ3Ô4ð 	×ÑœL×;Ñ;Ô<ÜÑFÀÔFÓFˆ	áÜØ8Ø*°u·z±z³|Ö+j°!ÔK[×KfÑKfÐghÕKiªAÒ+jÐ*kÐlØOà\ðõ	ð	"œsð 	"¤sð 	"¬u´_ÄoÐ5UÑ/Võ 	"ô ÓE°u·{±{³}ÔEÓEˆô $ E°$Ô7ˆÜ% g°d·k±kÔBˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGùò+ ,ks   Á.D5Â	D5c                 óÚ   — ddl m } |d„ ft        j                  d„ fg}i }|D ]E  \  }}t        |t        t
        f«      r|n|fD ]"  }||v rt        d|› �«      ‚||t        |«      <   Œ$ ŒG |S )NrG   )Úcomptimec                 ó   — t        «       S rq  )rÒ   r  s     r"  r«  z.VariableBuilder._id_dispatch.<locals>.<lambda>õ  s
   € Ô+;Ó+=€ r2  c                 ót   — t        t        fd| j                  i| j                  t        j
                  «      ¤ŽS )NrG  )rØ   Ú_dataclasses_fields_lambdarG  rÔ  rQ   ÚCLOSURE_MATCHr  s     r"  r«  z.VariableBuilder._id_dispatch.<locals>.<lambda>ø  s5   € ¤NÜ.ñ%àŸ;™;ð%ð ×)Ñ)¬,×*DÑ*DÓEñ%€ r2  z Duplicate id dispatch entry for )rD  ÚdataclassesÚfieldsrI  ró  rô  r‹  r¹  )rì  rD  r  r  r  r  r  s          r"  Ú_id_dispatchzVariableBuilder._id_dispatchí  s”   € õ
 	(ð Ñ=Ð>ä×"Ñ"ñðð

ˆð ˆØò 	#‰FˆB�Ü% b¬5´$¨-Ô8‘R¸r¸eò #�Ø˜‘;Ü(Ð+KÈAÈ3Ð)OÓPÐPØ "�”r˜!“u’ñ#ð	#ð ˆr2  c                 ótt  ‡ ‡‡H‡I— ddl m}m}m} ddlm}m}m}  |«       rddlm	} ddl
m}	 n G d„ d«      }	 G d	„ d
«      }dsd„}
dsd„} G d„ d«      }dsd„} |«       rddlm}
m}  |«       rddlm}  |«       rdd l}t%        |d«      r|j&                  }‰ j)                  «       j+                  t-        ‰«      «      }|�	 |‰ ‰«      S ‰ j/                  «       j+                  t1        ‰«      «      }|�	 |‰ ‰«      S t3        ‰t4        j6                  «      r¾t-        ‰«      t4        j8                  j:                  j<                  t4        j8                  j:                  j>                  t@        fvrft-        ‰«      tB        jD                  vrKt-        ‰«      jF                  t4        j6                  jF                  u stI        ‰«      r‰ jK                  ‰«      S t3        ‰t4        jL                  jN                  «      r*‰ jQ                  tR        jT                  «       tW        ‰«      S tY        ‰«      rÿ‰ jQ                  tR        jZ                  «       t]        t-        ‰«      «      D �cg c]B  }t_        j`                  tc        ‰|«      te        ‰ jf                  |«      ‰ jh                  ¬«      ‘ŒD }}tk        |‰ jf                  tm        «       ¬«      } to        jp                  t-        ‰«      «      ‰‰ jf                  |¬«      }‰ jh                  jr                  jt                  jw                  ‰|«      S ty        ‰tz        t|        j~                  t|        j€                  f«      �rJ‰ jQ                  tR        j‚                  «       t…        d„ ‰D «       «      ŠH‰Hs9‰ jh                  jr                  j†                  j‰                  ‰ jf                  «       dtŠ        dtŠ        dtŠ        dtŒ        tŽ        tŽ        f   fˆHˆ fd„ŠIt{        ˆIfd„t‘        ‰«      D «       «      }ty        ‰t|        j~                  «      r£te        ‰ jf                  d«      }t“        |tm        «       ‰ jf                  ¬«      }t•        ‰ t—        ‰ jh                  |«      ‰j˜                  «      |‰ jf                  ¬«      }‰ jh                  jr                  jt                  jw                  ‰|«      S ty        ‰t|        j€                  «      rwt“        |t|        j€                  tm        «       ‰ jf                  ¬ «      }t›        ‰|‰ jf                  ¬!«      }‰ jh                  jr                  jt                  jw                  ‰|«      S t“        |‰ jf                  ¬"«      }‰ jh                  jr                  jt                  j�                  ‰|«      S t3        ‰t4        j8                  jž                  «      r‰ j¡                  ‰«      S t£        j¤                  ‰«      r‰ j§                  ‰«      S t3        ‰t4        j¨                  jª                  «      rIt­        ‰‰ jf                  ¬"«      }‰ jh                  jr                  jt                  jw                  ‰|«       |S ty        ‰t®        t°        f«      �r™t³        d#„ ‰D «       «      r tµ        d$d%d&d'gt¶        j¸                  ¢¬(«       ‰ jQ                  tR        j‚                  «       ‰ jQ                  tR        jZ                  «       tº        }ty        ‰t°        «      rste        ‰ jf                  d)«      }t½        |j¿                  tR        jÀ                  «      «       ‰ jh                  jr                  j†                  j‰                  |«       tÂ        }tÅ        ‰«      }tÇ        |«      D ��cg c];  \  }}t_        j`                  |tÉ        ‰ jf                  |«      ‰ jh                  ¬«      ‘Œ= }}} ||‰ jf                  ¬"«      }‰ jh                  jr                  jt                  jw                  ‰|«      S ty        ‰tÊ        «      rut…        d*„ ‰D «       «      rc‰D �cg c]"  }tÌ        ja                  ‰ jh                  |«      ‘Œ$ }}‰ jQ                  tR        jÎ                  «       tÑ        |‰ jf                  ¬"«      S t3        ‰tÒ        jÔ                  t4        jÖ                  t4        jØ                  jÚ                  jÜ                  f«      stß        ‰«      r6‰ jQ                  tR        jT                  «       tá        ‰‰ jf                  ¬"«      S tã        jä                  ‰«      r6‰ jQ                  tR        jæ                  «       tã        ‰‰ jf                  ¬"«      S té        ‰«      rlt³        ˆfd+„t4        jê                  jB                  jì                  D «       «      r6‰ jQ                  tR        jT                  «       tï        ‰‰ jf                  ¬"«      S t3        ‰tð        jò                  «      r6‰ jQ                  tR        j‚                  «       tõ        ‰‰ jf                  ¬"«      S t÷        ‰«      rtù        ‰ jf                  ¬"«      S tû        ‰«      rtý        ‰ jf                  ¬"«      S tÿ        �j                   ‰«      r!tÿ        �j                  ‰ jf                  ¬"«      S t3        ‰�t        �j                  «      �rçte        ‰ �j	                  «       d,«      } t—        ‰ jh                  |«      ‰�j
                  «      }g } te        ‰ �j	                  «       d-«      }!tÇ        ‰�j                  «      D ]<  \  }}"| �j                   t—        ‰ jh                  �t        |!|«      «      |"«      «       Œ> i }#te        ‰ �j	                  «       d.«      }$‰�j                  �j                  «       D ]g  \  }%}t£        j¤                  |%«      s#tµ        d/d0|%› �d1g t¶        �j                  ¢¬(«        t—        ‰ jh                  �t        |$|%«      «      |«      |#|%<   Œi t½        ‰ �j	                  «       j¿                  tR        j‚                  «      |$j¿                  tR        jÀ                  «      |!j¿                  tR        jZ                  «      «       tc        ‰d2d «      }&�t        || |#|&¬3«      S �t        ‰«      r7‰ jQ                  tR        jT                  «       �t        ‰‰ jf                  ¬"«      S �t         �Ct3        ‰�t         �j"                  «      r'‰ �j%                  �t!        �j&                  ‰«      «      S �t)        �j*                  ‰«      �ra�t         s�t-        d4«      ‚ty        ‰�t.        �j0                  «      r`�t3        �j4                  ‰�j6                  «      røt½        te        ‰ jf                  d5«      j¿                  tR        �j8                  «      «       nº�t3        �j:                  ‰«      r!‰ jQ                  tR        �j<                  «       n‚�t3        �j4                  ‰«      r!‰ jQ                  tR        �j8                  «       nJté        ‰«      r ‰ jQ                  tR        jT                  «       n‰ jQ                  tR        j‚                  «       �t?        ‰‰ jf                  ¬"«      S �t)        �j@                  ‰«      r7‰ jQ                  tR        jT                  «       �tC        ‰‰ jf                  ¬"«      S �t)        �jD                  ‰«      r±t3        ‰�t         �jF                  «      r^‰ jQ                  tR        j‚                  «       te        ‰ jf                  d6«      }'t½        |'j¿                  tR        jT                  «      «       n‰ jQ                  tR        jT                  «       �tI        ‰‰ jf                  ¬"«      S �tK        �jL                  ‰«      rM‰ jQ                  tR        �j8                  «       �tK        j`                  ‰ jh                  ‰‰ jf                  ¬"«      S ty        ‰t4        �jN                  �jP                  �jR                  «      r8‰ jQ                  tR        �j<                  «       �tU        ‰‰ jf                  ¬"«      S t3        ‰t4        �jN                  �jP                  �jV                  «      �r4d }(	 ‰�jX                  }(g })‰ jf                  j¿                  tR        j‚                  «      g}*t3        |(tŒ        «      r�te        ‰ jf                  d7«      }+|*�j                  |+j¿                  tR        jZ                  «      «       tÇ        |(«      D ]<  \  }}|)�j                   t—        ‰ jh                  �t        |+|«      «      |«      «       Œ> t½        |*Ž  ‰ jh                  jr                  jt                  jw                  ‰�t]        ‰‰ jf                  �t_        |)«      ¬8«      «      S t3        ‰�t.        �j0                  «      ríty        tc        ‰d9d «      t4        �jN                  �jP                  �jR                  «      r±tc        ‰d:d;«      d<k(  r¡‰tc        ‰�j`                  d<d «      k(  r†t½        te        ‰ �j	                  «       d5«      j¿                  tR        �j8                  «      «       �tc        �tU        ‰�j`                  te        ‰ jf                  d9¬=«      ¬"«      d<t-        ‰«      ¬>«      S t3        ‰t4        jØ                  �jd                  «      r7‰ jQ                  tR        jT                  «       �tg        ‰‰ jf                  ¬"«      S ‰t4        jê                  �jh                  �jj                  �jl                  u r/‰ jQ                  tR        �j8                  «       �to        ˆ fd?„«      S t3        ‰|«      r�tq        ‰�jr                  «      S t3        ‰|«      r�tu        ‰�jv                  «      S t3        ‰|«      r#�ty        ‰�jz                  ‰�j|                  «      S té        ‰«      r|�t)        �j~                  ‰«      �e�t)        �j€                  ‰«      rd@‰ jh                  jr                  _Á        �t)        �j~                  ‰«      �j…                  ‰‰ jf                  ¬"«      S �t         r.t3        ‰�t         �j†                  «      r‰ �j‰                  ‰«      S t3        ‰�tŠ        «      ro‰t4        �jŒ                  �jŽ                  u rtµ        dAd;dBg ¬(«       ‰ jQ                  tR        j‚                  «       �t‘        �j’                  ‰‰ jf                  ¬"«      S t3        ‰t4        �j”                  �j–                  «      r}‰ jQ                  tR        jT                  «       te        ‰ jf                  dC«      }, t—        ‰ jh                  |,«      ‰�j˜                  «      }-�t›        j`                  ‰ jh                  |-«      S t3        ‰t4        �jœ                  «      rê‰ jQ                  tR        j‚                  «       t3        ‰ jf                  �tž        «      r�t         }.n�t£        ‰‰ jf                  «      }.‰ jh                  jr                  �j¥                  dD�t¦        |.fi «      }/�t©        |/�jª                  ‰«       �t­        |/‰‰ jf                  |.¬E«      }‰ jh                  jr                  jt                  jw                  ‰|«      S t3        ‰t4        jØ                  �j®                  «      rK‰ jQ                  tR        j‚                  «       �t±        j`                  ‰ jh                  ‰‰ jf                  «      S t3        ‰t4        jÚ                  �j²                  �j´                  «      r+‰ jQ                  tR        jT                  «       �t·        ‰«      S t3        ‰t4        �j¸                  «      r—‰ jQ                  tR        j‚                  «       �t£        ‰‰ jf                  «      }.‰ jh                  jr                  �j¥                  dD�t¦        |.fi «      }0�t©        |0�jª                  ‰«       �t»        |0‰|.‰ jf                  ¬"«      S ty        ‰�t¼        �j¾                  «      rO�t3        �jÀ                  ‰dFd «      €6‰ jQ                  tR        j‚                  «       �tÃ        ‰ jf                  ¬"«      S �tÅ        �jÆ                  ‰«      rg‰ jQ                  tR        j‚                  «       �tÅ        ‰‰ jf                  ¬"«      }‰ jh                  jr                  jt                  jw                  ‰|«      S t3        ‰t4        �jÈ                  �jÊ                  «      r\‰ jQ                  tR        jT                  «       �tÍ        ‰ jf                  «      ‰ _3        �tÏ        ‰‰ jf                  �tÑ        «       ¬«      S t3        ‰t4        �jÒ                  «      r,‰ jQ                  tR        �jÔ                  «       �t×        ‰«      S �tÙ        �jÚ                  ‰«      r�tÙ        ‰‰ jf                  ¬"«      S ‰t°        u r*‰ jQ                  tR        jT                  «       �tÝ        «       S t1        ‰«      �tÞ        v rJt1        ‰«      �tà        vr8‰ jQ                  tR        �j<                  «       �tã        ‰‰ jf                  ¬"«      S t3        ‰�tä        «      �r|t3        ‰�tæ        «      }1�té        ‰ jf                  |1«      }2t1        ‰«      ‰ jh                  jr                  �jê                  �jì                  v r9‰ jh                  jr                  �jê                  �jì                  t1        ‰«         }3n·‰ jh                  jr                  �jî                  �jñ                  ‰�jò                  |2�tô        �jö                  ¬G«      }4‰ jh                  jr                  �jî                  �jù                  |4‰�jò                  |2¬H«      }3t3        |3�tú        «      s�t-        dIt-        |3«      › �«      ‚‰ jh                  jr                  �jê                  �jý                  �tÿ        �j                   dJdK‰ �j                  «      t-        |3«      |3|2¬"«      }5�t        |2|3dLd dL|3¬M«      |5�jª                  �j                  dN<   |3�jª                  �j                  }6t3        |6�t
        �j                  «      s�t-        |6› dO�«      ‚‰ jh                  jr                  �j                  �j                  �t        |3|2d «      «       �t        j`                  ‰ jh                  |5|3«      S �t        ‰«      �rœt3        ‰t4        �jú                  «      r‰ jf                  n�t        ‰ jf                  «      }2d }7‰�jª                  �j                  «       re‰ jh                  jr                  �jî                  �j                  �t        ‰�jª                  �j                  «      |2�tô        �jö                  ¬P«      }7nkt3        ‰t4        �j                   «      r1‰ jh                  jr                  �jî                  �j#                  «       }7ntµ        dQd;dRg t¶        j¸                  ¢¬(«       |7€�t-        dS«      ‚t3        |7�tú        «      s�t-        dIt-        |7«      › �«      ‚‰ jh                  jr                  �jê                  �jý                  �tÿ        �j                   dJdK‰ �j                  «      t-        |7«      |7|2¬"«      }5�t        |2|7dLd dL|7¬M«      |5�jª                  �j                  dN<   |7�jª                  �j                  }6t3        |6�t
        �j                  «      s�t-        |6› dO�«      ‚‰ jh                  jr                  �j                  �j                  �t        |7|2d «      «       t3        ‰t4        �jú                  «      r|7n|7dTk(  }8�t        |5|8«      S t3        ‰|	|f«      r9‰ jQ                  tR        jT                  «       �t%        ‰d d ‰ jf                  ¬"«      S ‰|
u r�t'        dT¬U«      S ‰|u r�t'        d¬U«      S ‰|�j(                  u r�t+        «       S ‰|u r�t-        ‰«      S t3        ‰t4        �j.                  �j0                  �j2                  «      rªt3        ‰t4        �j.                  �j0                  �j4                  «      r‰ �j7                  ‰«      S ‰ jQ                  tR        jT                  «       �t9        ‰�j:                  ‰�j<                  ‰�j>                  ‰�j@                  g‰ jf                  ¬V«      S �tC        �jD                  ‰«      r‡�t3        �j:                  ‰«      r!‰ jQ                  tR        �j<                  «       n7�t3        �j4                  ‰«      r ‰ jQ                  tR        �j8                  «       �tC        ‰‰ jf                  ¬"«      S �t3        �jÀ                  ‰dWdL«      rB‰ jQ                  tR        j‚                  «       �tG        ‰dX‰ jf                  �tÑ        «       ¬«      S �tI        ‰«      rB‰ jQ                  tR        j‚                  «       �tG        ‰dY‰ jf                  �tÑ        «       ¬«      S ‰�tJ        �jL                  u s)�tJ        �jN                  dZk\  r,‰�tJ        �jP                  u r�tS        ‰‰ jf                  ¬"«      S �tU        ‰«      r[�t3        �jÀ                  ‰d[dL«      rB‰ jQ                  tR        j‚                  «       �tG        ‰d[‰ jf                  �tÑ        «       ¬«      S ‰t|        �jV                  u r7‰ jQ                  tR        jT                  «       �tY        ‰‰ jf                  ¬"«      S �t[        ‰«      x}9�‹‰ jQ                  tR        jT                  «       ‰�j`                  }:‰ jf                  xr te        ‰ jf                  d9«      };t�        �j                  ‰ jh                  |:|;«      }<�t]        |9|<‰ jf                  ¬"«      S �t_        ‰«      rƒ‰�t`        �jb                  �t`        �jd                  fv r]‰ jQ                  tR        jT                  «       �tc        �tg        �t`        ‰ jf                  ¬"«      ‰�jh                  t-        ‰«      ¬>«      S �tU        ‰«      r_�tk        ‰«      \  Š}=|=�te        ‰ jf                  |=«      ‰ _3        �t)        �jl                  ‰«      �j…                  ‰‰ jf                  ¬"«      S ‰�tn        �jp                  u r6‰ jQ                  tR        jT                  «       �ts        ‰ jf                  ¬"«      S ty        ‰�tn        �jp                  «      r€�tu        �jv                  ‰«      ri‰ jQ                  tR        j‚                  «       �tu        ‰‰ jf                  ¬"«      }‰ jh                  jr                  jt                  j�                  ‰|«       |S t3        ‰�t.        �jx                  �tz        �j|                  f«      rj‰ jQ                  tR        �j~                  «       �t�        ‰‰ jf                  ¬"«      }‰ jh                  jr                  jt                  jw                  ‰|«       |S t3        ‰�t.        �j‚                  «      r�t…        ‰«      S t3        ‰�t.        �j†                  «      r�t‰        ‰«      S t3        ‰�t.        �jŠ                  «      rÉ�t3        �jÀ                  t-        ‰�j`                  «      ‰�jh                  «      }9t3        |9�t.        �jŒ                  «      s�t-        d\t-        |9«      › �«      ‚‰ jf                  xr te        ‰ jf                  d9«      };t�        �j                  ‰ jh                  ‰�j`                  |;«      }<�t�        |9|<«      S �t‘        t-        ‰«      t,        «      r=�t‘        ‰�t’        «      r+‰ jQ                  tR        jT                  «       �t•        ‰«      S �t‘        t-        ‰«      t,        «      �r“‰t4        �j–                  �j˜                  �jš                  t4        j8                  �jœ                  t4        j8                  �jž                  fv r3�t)        �jl                  ‰«      �j…                  ‰‰ jf                  ¬"«      S ‰t4        �jN                  �j                   u rA‰ jQ                  tR        �j<                  «       �t£        �j¤                  ‰ jh                  «      S �t‘        ‰t4        j6                  «      r\‰t4        j6                  urJ‰jF                  t4        j6                  jF                  u r$�t§        ‰«      s�t©        ‰‰ jf                  ¬"«      S �t«        ‰ jf                  «      s ‰ jQ                  tR        �j<                  «       t3        ‰t,        «      r3�t‘        ‰tÒ        jÔ                  «      r�t­        ‰‰ jf                  ¬"«      S �t¯        ‰«      r�t±        ‰‰ jf                  ¬"«      S �t­        ‰‰ jf                  ¬"«      }tc        ‰d]d «      xs d;}>|>�j³                  d^«      sR‰‰ jh                  jr                  jt                  vr0‰ jh                  jr                  jt                  jw                  ‰|«      S |S t-        ‰«      t4        jØ                  �j´                  u r‰ �j7                  ‰«      S �t·        �jD                  t-        ‰«      «      �rqdd_l3�m\}?�m]}@ t3        ‰t4        �j¼                  �j¾                  �jÀ                  «      r‰�jÂ                  Št4        �j¼                  �j¾                  �jÅ                  ‰«      rÌ‰ jh                  jr                  �jê                  �jý                  �tÿ        �j                   dJdK‰ �j                  «      t-        ‰«      ‰‰ jf                  ¬"«      }A�t        ‰ jf                  ‰dLd dL‰«      |A�jª                  �j                  dN<   �t·        j`                  |A‰‰ jf                  ‰ jh                  ¬«      S �tÇ        t-        ‰«      «      r"‰ jQ                  tR        �jÈ                  «       �n!�tË        t-        ‰«      «      rA‰ jQ                  tR        �jÌ                  «       ‰ jQ                  tR        �jÎ                  «       nËt%        ‰d`«      s‰ �j7                  ‰«      S t_        �jÐ                   t—        ‰ jh                   @‰ jf                  «      «      ‰�jÓ                  «       �jÕ                  «       «      «       t_        �jÐ                   t—        ‰ jh                   |?‰ jf                  «      «      ‰�j×                  «       «      «       t4        �j¼                  �j¾                  �jÙ                  ‰ jh                  jr                  �jÚ                  ‰«      }B�tÇ        t-        ‰«      «      r�tÝ        t-        ‰«      «      s‰}B‰}A�n/tB        �jÞ                  r€�tá        ‰ jf                  «      s,�tã        ‰ jf                  «      s�tå        ‰ jf                  «      r>‰ jh                  jr                  �jç                  ‰‰ �j                  ‰ jf                  ¬"«      S ‰ jh                  jr                  �jê                  �jý                  �tÿ        �j                   dJdK‰ �j                  «      t-        ‰«      B‰ jf                  ¬"«      }A�t        ‰ jf                  ‰dLd dL|B«      |A�jª                  �j                  dN<   �t·        j`                  AB‰ jf                  ‰ jh                  ¬«      S t3        ‰tz        t|        j€                  f«      �r¤t-        ‰«      �jè                  tz        �jè                  u �r|‰ jQ                  tR        j‚                  «       ‰ jQ                  tR        jZ                  «       ‰ jh                  jr                  j†                  j‰                  ‰ jf                  «       dtŠ        dtŠ        dtŠ        dtŒ        tŽ        tŽ        f   fˆ fda„ŠIt{        ˆIfdb„t‘        ‰«      D «       «      }t3        ‰t|        j€                  «      }Ct“        ||Crt|        j€                  ntz        tm        «       ‰ jf                  ¬ «      }d@|�_u        Crt›        ‰|‰ jf                  ¬!«      }n�tí        ‰|‰ jf                  ¬!«      }‰ jh                  jr                  jt                  jw                  ‰|«      S t3        ‰tŒ        «      �r"‰ jQ                  tR        j‚                  «       ‰ jQ                  tR        jZ                  «       �tï        tŒ        �jñ                  ‰«      «      D �cg c]S  }t_        j`                  tŒ        �jó                  ‰|«      �t        ‰ �j	                  «       |«      ‰ jh                  ¬«      ‘ŒU }}tk        |‰ jf                  tm        «       ¬«      }to        ‰|‰ jf                  ¬c«      }‰ jh                  jr                  jt                  jw                  ‰|«      S t3        ‰tÄ        «      �r$‰ jQ                  tR        j‚                  «       ‰ jQ                  tR        jZ                  «       �tï        tÄ        �jñ                  ‰«      «      D �cg c]S  }t_        j`                  tÄ        �jó                  ‰|«      �tõ        ‰ �j	                  «       |«      ‰ jh                  ¬«      ‘ŒU }}�t÷        |‰ jf                  tm        «       ¬«      }D�tù        ‰|D‰ jf                  ¬d«      }‰ jh                  jr                  jt                  jw                  ‰|«      S t3        ‰t®        tÊ        f«      �rƒ‰ jQ                  tR        j‚                  «       ‰ jQ                  tR        jZ                  «       tÅ        tz        �jû                  ‰«      «      }�tï        tÄ        �jñ                  |«      «      D �cg c]R  }t_        j`                  tÄ        �jó                  ||«      tÉ        ‰ �j	                  «       |«      ‰ jh                  ¬«      ‘ŒT }}t3        ‰t®        «      rtº        }En.t3        ‰tÊ        «      s�t-        det-        ‰«      › �«      ‚tÐ        }E E|‰ jf                  tm        «       ¬«      }F�tý        ‰|F‰ jf                  ¬f«      }‰ jh                  jr                  jt                  jw                  ‰|«      S �t‘        t-        ‰«      �tþ        «      rg‰ jQ                  tR        j‚                  «       �t        ‰‰ jf                  ¬"«      }‰ jh                  jr                  jt                  jw                  ‰|«      S �t        ‰«      rg‰ jQ                  tR        j‚                  «       �t        ‰‰ jf                  ¬"«      }‰ jh                  jr                  jt                  jw                  ‰|«      S t3        ‰�t        «      rót…        dg„ ‰D «       «      r©‰D �cg c]"  }tÌ        ja                  ‰ jh                  |«      ‘Œ$ }}t½        ‰ �j	                  «       j¿                  tR        jZ                  «      ‰ �j	                  «       j¿                  tR        jÎ                  «      «       �t	        |‰ jf                  ¬"«      S tµ        dhdi‰D �%cg c]  }%t£        j¤                  |%«      rŒ|%‘Œ c}%› �djdkg¬(«       y �t        �jÆ                  ‰«      �r¬ddl�l†�m‡}G ‰�j                  �%‰�j                  j,                  G�j                  k(  r‰ �j                  ‰�j                  «      S ‰�j                  j,                  G�jö                  k(  r„�t        �j                  dm‰ jf                  �j                  �tô        �jö                  «       ‰ �j                  ‰�j                  �tô        �jö                  �t        �t        dL¬n«      ¬o«      ¬p«      S ‰�j                  j,                  G�j                   k(  rm�t        �j                  dm‰ jf                  �j                  �tô        �jö                  «       ‰ �j                  ‰�j                  �tô        �jö                  ¬q«      S �t[        dr‰�j                  › �«      ‚ty        ‰�t"        «      r7‰ jQ                  tR        j‚                  «       �t%        ‰‰ jf                  ¬"«      S ‰ �j7                  ‰«      S c c}w c c}}w c c}w # �tZ        $ r Y �)Œ2w xY wc c}w c c}w c c}w c c}w c c}%w )tNr   )Ú
has_tritonÚ has_triton_experimental_host_tmaÚ%has_triton_tensor_descriptor_host_tmarG   )ÚCudagraphOverrideContextManagerÚDynamoConfigPatchProxyÚ(ErrorOnGraphBreakDecoratorContextManager)Ú	Autotuner)ÚJITFunctionc                   ó   — e Zd Zy)ú*VariableBuilder._wrap.<locals>.JITFunctionNr~  r1  r2  r"  rT  rV    ó   „ Ør2  rT  c                   ó   — e Zd Zy)ú(VariableBuilder._wrap.<locals>.AutotunerNr~  r1  r2  r"  rS  rY     rW  r2  rS  r  c                   ó   — y rq  r1  r1  r2  r"  Úcreate_1d_tma_descriptorz7VariableBuilder._wrap.<locals>.create_1d_tma_descriptor$  ó   € Ør2  c                   ó   — y rq  r1  r1  r2  r"  Úcreate_2d_tma_descriptorz7VariableBuilder._wrap.<locals>.create_2d_tma_descriptor'  r\  r2  c                   ó   — e Zd Zedd„«       Zy)ú/VariableBuilder._wrap.<locals>.TensorDescriptorNc                   ó   — y rq  r1  r1  r2  r"  Úfrom_tensorz;VariableBuilder._wrap.<locals>.TensorDescriptor.from_tensor+  s   € àr2  rž  )r*  r+  r,  Ústaticmethodrb  r1  r2  r"  ÚTensorDescriptorr`  *  s   „ Øòó ñr2  rd  c                   ó   — y rq  r1  r1  r2  r"  Úset_allocatorz,VariableBuilder._wrap.<locals>.set_allocator/  r\  r2  )r[  r^  )rd  rf  ©rG  r¬  r&  )rG  Útuple_vtc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrq  r+  r-  s     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>y  s   è ø€ ÒJ¸qÔ,×7Ñ7¸×:ÑJùr/  Úir.  r1  c                 ó  •— ‰	j                  «       }‰rt        j                  |«      }|}n.t        || «      }t	        j                  ||‰	j
                  ¬«      }t        ||«      }t	        j                  ||‰	j
                  ¬«      }||fS r3  )rá  r§   r5  r^   rÆ   r¬  ra   )
rj  r.  r1  rJ  r7  r6  r7  r8  rA  r‰  s
           €€r"  r9  z.VariableBuilder._wrap.<locals>.build_key_value”  s{   ø€ ð —‘Ó(�ÙÜ*×1Ñ1°!Ó4�CØ!"‘Jä!3°D¸!Ó!<�JÜ-×4Ñ4°Q¸
ÀtÇwÁwÔO�CÜ0°°zÓB�Ü/×6Ñ6°q¸,È4Ï7É7ÔS�	à˜I�~Ð%r2  c              3   ó:   •K  — | ]  \  }}} ‰|||«      –— Œ y ­wrq  r1  ©rº  rj  r.  r1  r9  s       €r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>£  ó(   øè ø€ ò á�A�q˜!ñ    1 a×(ñùó   ƒÚdefault_factory)r'  rG  )rp  rB  rG  )Úuser_clsr'  rG  )rB  rG  r“  c              3   óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wrq  )rI  r  r�  ©rº  Úxs     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>Ñ  s   è ø€ Ò>°1”:˜a¤§¡×.Ñ>ùs   ‚$&z$Attempted to wrap a set with tensorsz+Python set containing torch.Tensor elementsz©Dynamo cannot trace sets of tensors. To get a stable ordering, Dynamo needs to convert the set into a list and the order might not be stable if the set contains tensors.z,Use a dictionary where the keys are tensors.r  Ú_dictc              3   óô   K  — | ]p  }t        |«      t        j                  u xr |j                  d k(  xs> |t        j
                  j                  j                  v xs t        |t        t        f«      –— Œr y­w)r  N)rB  rr  rs  r+  r  r  Ú_pytreeÚBUILTIN_TYPESrI  r    r!   rs  s     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>ü  sr   è ø€ ò .
ð ô �a“œE×3Ñ3Ð3ÒO¸¿¹ÈÑ8Oò >ð ”U—[‘[×(Ñ(×6Ñ6Ð6ò>ô ˜1œzÔ+;Ð<Ó=ó>ñ.
ùs   ‚A6A8c              3   ó&   •K  — | ]  }‰|u –— Œ
 y ­wrq  r1  )rº  r  ro  s     €r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>  s   øè ø€ ò %
ØˆE�RŒKñ%
ùs   ƒÚfuncÚargsÚkeywordsz,functools.partial() with non-literal keywordznon-literal keyword: z3functools.partial() expects literal/string keywordsÚ
cache_hash)Úoriginal_cache_hashz)numpy must be available for numpy tracingÚ__func__ÚdtypeÚsaved_tensors)rG  r�  rt  r*  r?  Úapply)rL  ©Úpy_typec                  ó  •— t        t        j                  j                  j                  j
                  «      j                  ‰ j                  ‰ j                  j                  j                  j                  «       gi «      S rq  )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>Â  sZ   ø€ Ô,Ü—M‘M×0Ñ0×KÑK×`Ñ`óç‘-Ø—G‘GØ—W‘W—^‘^×0Ñ0×KÑKÓMÐNØóð r2  Tz9Attempted to wrap torch._higher_order_ops.invoke_subgraphzJDirectly using invoke_subgraph is not supported. Use nested_compile_regionÚstreamr°  )rG  Úuser_object_indexÚenter_result)rG  Údynamic_dim)ÚhintrG  úExpected SymInt, got ú[^a-zA-Z0-9]+r¶  F)r„  r…  Úgraphargú is not a basic Symbol.)rŽ  z!Attempted to wrap unbacked SymIntz+Unbacked SymInt input is not supported yet.z*new_symint must not be None after wrappingr�   )Úrank)Útarget_valuesrG  Ú__script_if_tracing_wrapperÚ__original_fnÚ__wrapped__)é   é   r%  ú$expected WrapperDescriptorType, got r+  )ztorch.Útorch_)ÚFlattenScriptObjectSourceÚScriptObjectQualifiedNameSourceÚ__obj_flatten__c                 óä   •— ‰j                  «       }t        || «      }t        j                  ||‰j                  ¬«      }t        ||«      }t        j                  ||‰j                  ¬«      }||fS r3  )rá  r^   rÆ   r5  r¬  rb   )	rj  r.  r1  rJ  r6  r7  r7  r8  r‰  s	           €r"  r9  z.VariableBuilder._wrap.<locals>.build_key_valueù  sc   ø€ ð —‘Ó(�Ü/°°aÓ8�
Ü)×0Ñ0°°JÀ4Ç7Á7ÔK�ä8¸¸zÓJ�Ü/×6Ñ6°q¸,È4Ï7É7ÔS�	à˜I�~Ð%r2  c              3   ó:   •K  — | ]  \  }}} ‰|||«      –— Œ y ­wrq  r1  rm  s       €r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>  rn  ro  )rh  rG  )Úlist_vtrG  zExpected frozenset, got )Úset_vtrG  c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrq  r+  r-  s     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>k  s   è ø€ ÒA°aÔ#×.Ñ.¨q×1ÑAùr/  znon-const keys in dict_keysr0  z.Dynamo expects dict_keys keys to be constants.zCEnsure your dict_keys keys are constants (e.g. int, float, strings))Ú_DimHintTypez%s marked %s via IntWrapper©Ú	warn_only)Ú
constraint)Údynamismr!  ©r©  zUndefined dynamism rž  (“  Útorch.utils._tritonrM  rN  rO  Ú
decoratorsrP  rQ  rR  Útriton.runtime.autotunerrS  Útriton.runtime.jitrT  Ú$triton.tools.experimental_descriptorr[  r^  Útriton.tools.tensor_descriptorrd  Útritonr!  rf  rí  r_  rB  rK  r¹  rI  r  r�  rÕ  Ú	parameterÚUninitializedBufferÚUninitializedParameterrA   rH   Únontraceable_tensor_subclassesÚ__torch_dispatch__rC   rò  ÚprofilerÚrecord_functionrÔ  rQ   r  r®   rŠ   ÚSEQUENCE_LENGTHr’   rÆ   r5  Úgetattrr[   rG  r¬  rÎ   r¡   r  Ú
get_vt_clsr­  rÓ  rÛ  r‘   r>  rõ  ÚdefaultdictÚOrderedDictr  r<  Úguard_on_key_orderrÒ  r   ró  r£   r�   r¯   r   r¿  rp  r  r@  rÖ  Úwrap_moduler§   r,  r   Ú	overridesÚTorchFunctionModerÿ   ÚsetrB   ÚanyrP   rI   r(  r±   rR   rå  ÚDICT_KEYS_MATCHrï   rô  Ú	enumeraterp   Ú	frozensetÚSourcelessBuilderÚEQUALS_MATCHrí   ÚenumÚEnumÚDispatchKeyÚ_CÚ
_functorchÚTransformTyperŒ   r  rÔ   Úis_reorderable_logging_functionÚBUILTIN_MATCHÚcallabler†  Úignore_logging_functionsr×   ÚloggingÚLoggerrÙ   r�   r|   rˆ   r}   rÁ   Úshould_wrap_in_hopr  Ú	functoolsÚpartialrá  rz  r{  r@  re   r|  r?  Ú
USER_ERRORra   r¸   rŽ   râ   r  Úgenericr  ÚasarrayrL   Úis_numpyr‹  rr  Ú
MethodTyperw  Ú
isfunctionr  rH  r¸  ÚCLASS_MATCHrÛ   Úis_numpy_dtyperÚ   Úis_numpy_type_infoÚiinforÓ   rµ   Úcan_rewriteÚautogradÚfunctionÚFunctionMetarÑ   ÚFunctionCtxr�  rA  rÐ   rà   rt  rÖ   Ú_ImperativeEnginerÏ   r‡  rˆ  Ú_exec_final_callbacks_stubrØ   rª   Úchangesr«   Úerror_on_graph_breakr©   ÚfwdÚbwdÚlookup_callableÚis_callable_allowedÚ!has_user_defined_allowed_in_graphÚcreate_with_sourceÚnumberÚwrap_unspecialized_primitiver   Ú_higher_order_opsÚinvoke_subgraphrÂ   ÚmakeÚcudaÚStreamContextr‹  rñ   ÚStreamr`   r   r   Úcreate_proxyr   r–   Únoderò   Ú_SDPAParamsrë   ÚpyfunctorchÚFuncTorchInterpreterrú   ÚEventrð   Ú
contextlibÚnullcontextrx  r¬   r  Úis_matching_objectÚoptimÚ	Optimizerrr   rç   rž   ÚDispatchKeySetÚDISPATCH_KEY_SET_MATCHrù   r²   Úis_group_member_typerî   r¼  r½  rÄ   r3   r4   rc   Úroot_tracerÚdynamic_scalar_nodesÚ	shape_envÚcreate_unspecified_symbolÚrealr7   ÚDYNAMICÚcreate_symintnoder   Úcreate_graph_inputr  Úsubr'  r€  ÚmetaÚexprÚsympyÚSymbolÚtracked_fakesr>   rõ   r   r_   Úhas_hintÚ$create_unspecified_symint_and_symbolr8  r�  ÚSymBoolÚcreate_unbacked_symintr½   r¶   rb  r·   r¾   ÚampÚautocast_modeÚautocastÚ_UnmanagedAutocastÚwrap_user_definedr¨   ÚdeviceÚ
fast_dtypeÚ_enabledÚ_cache_enabledrû   Úis_matching_clsrÀ   r‰   ÚsysÚexc_infoÚversion_infoÚ	exceptionr¼   r‡   Ú
namedtupler´   r{  r³   r†   ÚfloatÚfromhexÚhexr¥   r*  r›   Úlookupru  rv  rÞ   rß   Úis_supported_random_objr   rK   ÚDummyModuleÚMODULE_MATCHrÝ   ÚGetSetDescriptorTyper¹   ÚMemberDescriptorTyperº   ÚMethodWrapperTypeÚWrapperDescriptorTyper»   Ú
issubclassÚBaseExceptionr  r  r	  ÚBackwardHookrï  ÚBufferÚ _unsafe_preserve_version_counterr­   ÚconstructorrD   rö   rh   r  r   rè   r·  Ú	Generatorré   r�  rž  Ú_libraryÚfake_class_registryÚFakeScriptObjectÚreal_objÚtracing_with_realr   ÚCONSTANT_MATCHr   ÚFAKE_SCRIPT_TYPE_MATCHÚOPAQUE_OBJ_GUARD_FN_MATCHÚrealize_allÚ_typeÚqualified_namerŸ  Úmaybe_to_fake_objÚ	fake_moder   Úinstall_free_tensorsri   rj   rl   Úregister_attr_or_moduleÚ__new__Úshould_reconstruct_allr
  r\  Ú__len__Ú__getitem__rm   rÉ   r  Úfromkeysr  r   r  r…   r  r€   rì   r  Útorch.export.dynamic_shapesr¥  r©  ÚSTATICÚwrap_symintÚvalÚlogÚdebugr=   r8   ÚAUTOr‡  rÜ   )Jr‰  ro  rM  rN  rO  rP  rQ  rR  rS  rT  r[  r^  rd  rf  Ú
triton_modÚtype_dispatchÚid_dispatchr'  r­  rh  r  Úfactory_sourcerB  ÚvarÚset_var_clsÚinternal_dict_sourceÚLrj  r1  r?  Úfunc_srcÚfunc_objr{  Úargs_sourceÚargr|  Úkeywords_sourcer.  r~  Ú	dt_sourceÚactual_saved_tensorsr�  râ  Úsaved_tensors_sourceÚstream_sourceÚ
stream_varrK  Ústream_proxyÚevent_proxyÚis_intrG  rú  ÚsymÚsym_node_proxyÚsym_exprÚ
new_symintÚtracing_symintÚ
descriptorry  Ú
obj_sourceÚobj_vtÚ	attr_nameÚmodr�  rž  ÚproxyÚfake_script_objÚis_ordered_dictr¢  Ú
set_vt_clsr£  r¥  rA  r9  sJ   ``                                                                      @@r"  rÙ  zVariableBuilder._wrap
  sÆ*  û€ ÷	
ñ 	
÷	
ñ 	
ñ Œ<Ý:Þ6÷ñ ÷ñ ó	ó	÷	ñ 	ó
	ñ ,Ô-÷ñ 1Ô2ÝGÙŒ<Û'ä�z ?Ô3Ø *× 8Ñ 8�ð ×+Ñ+Ó-×1Ñ1´$°u³+Ó>ˆØÐ$Ù   uÓ-Ð-ð ×'Ñ'Ó)×-Ñ-¬b°«iÓ8ˆØÐ"Ù˜t UÓ+Ð+ô �uœeŸl™lÔ+Ü�U“ô —‘×"Ñ"×6Ñ6Ü—‘×"Ñ"×9Ñ9Üðñ	ô �U“¤6×#HÑ#HÑHô �U“×.Ñ.´%·,±,×2QÑ2QÑQÜ0°Ô7à×'Ñ'¨Ó.Ð.ä�eœUŸ^™^×;Ñ;Ô<Ø×Ñ¤× 5Ñ 5Ô6Ü)¨%Ó0Ð0Ü˜ÔØ×Ñ¤× <Ñ <Ô=ô .¬d°5«kÓ:ö-ð ô $×*Ñ*Ü˜E 4Ó(Ü% d§k¡k°4Ó8Ø—w‘wöð-ˆFð -ô %ØØ—{‘{Ü3Ó5ôˆHð
 FÔ-×8Ñ8¼¸e»ÓEØØ—{‘{Ø!ôˆFð
 —7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ�EœD¤+×"9Ñ"9¼;×;RÑ;RÐSÕTØ×Ñ¤× 7Ñ 7Ô8ÜÑJÀEÔJÓJˆIñ ð" —‘—‘×1Ñ1×5Ñ5°d·k±kÔBð&Üð&Üð&Ü#&ð&ä”¬Ð7Ñ8ö&ô ó äAÀ%ÓHôó ˆFô
 �eœ[×4Ñ4Ô5Ü!+¨D¯K©KÐ9JÓ!K�Ü+ØÜ"7Ó"9ØŸ;™;ô�ô
 -ØØ$L¤O°D·G±G¸^Ó$LØ×-Ñ-ó%ð $ØŸ;™;ô�ð —w‘w—~‘~×2Ñ2×HÑHÈÐPVÓWÐWÜ˜œ{×6Ñ6Ô7Ü+ØÜ(×4Ñ4Ü"7Ó"9ØŸ;™;ô	�ô -¨U¸GÈDÏKÉKÔX�Ø—w‘w—~‘~×2Ñ2×HÑHÈÐPVÓWÐWä*ØØŸ;™;ô�ð
 —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œC¤Ð,Õ-ÜÑ>¸Ô>Ô>ÜØBØIð>ð
 Gðä*×6Ñ6ðõð ×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=Ü%ˆKä�eœZÔ(ä'1°$·+±+¸wÓ'GÐ$ÜØ(×3Ñ3´L×4PÑ4PÓQôð —‘—‘×1Ñ1×5Ñ5Ð6JÔKÜ0�ô �U“ˆAô & a›L÷ñ �A�qô $×*Ñ*ØÜ:¸4¿;¹;ÈÓJØ—w‘wöðˆEñ ñ ! ¨t¯{©{Ô;ˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ�Eœ9Ô%¬#ñ .
ð ô.
ô +
ð" DIÖI¸aÔ&×-Ñ-¨d¯g©g°qÕ9ÐIˆEÐIØ×Ñ¤× 9Ñ 9Ô:Ü$ U°4·;±;Ô?Ð?ÜØÜ�Y‰Yœ×)Ñ)¬5¯8©8×+>Ñ+>×+LÑ+LÐMô
ô % UÔ+Ø×Ñ¤× 5Ñ 5Ô6Ü,¨U¸4¿;¹;ÔGÐGÜ×>Ñ>¸uÔEð ×Ñ¤× :Ñ :Ô;Ü$ U°4·;±;Ô?Ð?Ü�eŒ_¤ó %
Ü"'§-¡-×"6Ñ"6×"OÑ"Oô%
ô "
ð ×Ñ¤× 5Ñ 5Ô6Ü*¨5¸¿¹ÔEÐEÜ˜œwŸ~™~Ô.Ø×Ñ¤× 7Ñ 7Ô8Ü(¨°t·{±{ÔCÐCÜ  Ô'Ü,°D·K±KÔ@Ð@Ü Ô&Ü1¸¿¹ÔEÐEÜ/×BÒBÀ5ÔIÜ5×;Ò;À4Ç;Á;ÔOÐOÜ˜�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Ø"7¸°sÐ ;Ø$YØ=Ô 1× <Ò <Ð=õ	ðœoØ—G‘GÕ.¨ÀÓBóàó�˜’ð
ô Ø—’Ó!×,Ñ,¬\×-DÑ-DÓEØ×*Ñ*¬<×+GÑ+GÓHØ×&Ñ&¤|×'CÑ'CÓDôô #*¨%°¸tÓ"DÐÝ+Ø˜$ Ð>Qôð õ �uÔà×Ñ¤× 5Ñ 5Ô6Ý!ØØ—{‘{ôð õ ˆ^¤
¨5µ"·*²*Ô =à×*Ò*­2¯:ª:°eÓ+<Ó=Ð=Ý×!Ò! %Õ(ÞÝ$Ð%PÓQÐQÜ�e�U×-Ò-Ô.å×%Ò% e§n¢nÔ5Ü!Ü" 4§;¡;°
Ó;×FÑFÜ(×6Ò6óõõ
 —’ Ô'Ø×#Ñ#¤L×$<Ò$<Õ=Ý×#Ò# EÔ*Ø×#Ñ#¤L×$>Ò$>Õ?Ü˜%”Ø×#Ñ#¤L×$9Ñ$9Õ:à×#Ñ#¤L×$;Ñ$;Ô<Ý  ¨t¯{©{Ô;Ð;Ý×'Ò'¨Ô.Ø×Ñ¤× 5Ñ 5Ô6Ý% e°D·K±KÔ@Ð@Ý×+Ò+¨EÔ2Ü˜%¥§¢Ô*Ø×#Ñ#¤L×$;Ñ$;Ô<Ü& t§{¡{°GÓ<�	Ü˜i×2Ñ2´<×3HÑ3HÓIÕJà×#Ñ#¤L×$9Ñ$9Ô:Ý'¨°d·k±kÔBÐBå.×:Ò:¸5ÔAØ×Ñ¤× :Ò :Ô;Ý4×;Ñ;Ø—‘ØØ—{‘{ôð ô
 �Eœ5Ÿ>š>×2Ò2×?Ò?Ô@Ø×Ñ¤× 8Ò 8Ô9Ý+ØØ—{‘{ôð ô ˜œ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Øœ §¢°¸$Ó?Ò?ô Ü˜4Ÿ?š?Ó,¨jÓ9×DÑDÜ ×.Ò.óôõ
 #Ý(Ø—N’NÜ% d§k¡k¸*ÔEôð Ü˜U›ôð ô ˜œuŸx™x×9Ò9Ô:Ø×Ñ¤× 5Ñ 5Ô6Ý)¨%¸¿¹ÔDÐDàÜ�}‰}×+Ò+×FÒF×aÒañbð ×Ñ¤× :Ò :Ô;Ý!óóð ô ˜Ð5Ô6Ý,¨U¯]ª]Ó;Ð;Ü˜ÐGÔHÝ,¨U×-GÒ-GÓHÐHÜ˜Ð>Ô?Ý,¨U¯YªY¸¿	º	ÓBÐ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Øœ×/Ò/×?Ò?Ñ?ÜØWØØ lØõ	ð ×Ñ¤× 7Ñ 7Ô8Ý3×8Ò8¸ÀtÇ{Á{ÔSÐSÜ˜œuŸzšz×7Ò7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ü& t§{¡{°HÓ=ˆMØ@œ¨¯©°-Ó@ÀÇÂÓNˆJå(×/Ñ/°·±¸ÓDÐDÜ˜œuŸ|š|Ô,Ø×Ñ¤× 7Ñ 7Ô8Ü˜$Ÿ+™+Õ':Ô;å,‘å,¨U°D·K±KÓ@�ØŸ7™7Ÿ>™>×6Ò6ØÕ!=À¸xÈóˆLõ ˜l×/Ò/°Ô7Ý Ø˜e¨D¯K©KÈ5ôˆCð —7‘7—>‘>×.Ñ.×DÑDÀUÈCÓPÐPÜ˜¤§¡× 4Ò 4Ô6Ø×Ñ¤× 7Ñ 7Ô8Ý%×,Ñ,¨T¯W©W°e¸T¿[¹[ÓIÐIÜ˜œu×/Ñ/×;Ò;×PÒPÔQØ×Ñ¤× 5Ñ 5Ô6Ý/°Ó6Ð6Ü˜œuŸ{š{Ô+Ø×Ñ¤× 7Ñ 7Ô8Ý(¨°·±Ó<ˆEØŸ'™'Ÿ.™.×5Ò5ØÝ,Ø�Øó	ˆKõ ˜k×.Ò.°Ô6Ý ØØØØ—{‘{ô	ð ô �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Ý$ØØ—{‘{Ý7Ó9ôð ô
 ˜œu×3Ò3Ô4Ø×Ñ¤× CÒ CÔDÝ)¨%Ó0Ð0Ý#×8Ò8¸Ô?Ý)¨%¸¿¹ÔDÐDØ”jÑ Ø×Ñ¤× 5Ñ 5Ô6Ý*Ó,Ð,äˆu‹IÕ+Ñ+Ü�5“	Õ!>Ñ>à×Ñ¤× 8Ò 8Ô9Ý$ U°4·;±;Ô?Ð?Ü˜�~Õ.Ü ¥zÓ2ˆFÝ(¨¯©°fÓ=ˆFÜ�%‹y˜DŸG™GŸN™N×6Ò6×KÒKÑKð —w‘w—~‘~×1Ò1×FÒFÄrÈ%ÃyÑQ‘à—g‘g—n‘n×.Ò.×HÒHØ—J’JØ!Ý *× 2Ò 2ð Ió �ð
 —w‘w—~‘~×/Ò/×AÒAØØŸšØ!ð Bó �ô
 " $­Ô/Ý(Ð+@ÄÀdÃÀÐ)MÓNÐNð "ŸW™WŸ^™^×7Ò7×JÒJÝ—’Ð'¨¨d¯iªiÓ8Ü�T“
ØØð	 Kó ˆNõ 4<ØØØØØØ#'ô4ˆN×Ò×$Ò$ ZÑ0ð —y’y—~’~ˆHÜ˜h­¯ªÔ5Ý$¨ zÐ1HÐ%IÓJÐJØ�G‰G�N‰N×(Ò(×/Ò/µ¸DÀ&È$Ó0OÔPÝ"×)Ñ)¨$¯'©'°>À4ÓHÐHÝ˜%Õ ô ˜e¤U§\¢\Ô2ð —’å% d§k¡kÓ2ð ð
 ˆJØ�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ô "Ø CØ "Ø$QØ>Ô 1× =Ñ =Ð>õ	ð Ð!Ý$Ð%QÓRÐRÜ˜j­&Ô1Ý$Ð'<¼TÀ*Ó=MÐ<NÐ%OÓPÐPØ!ŸW™WŸ^™^×7Ò7×JÒJÝ—’Ð'¨¨d¯iªiÓ8Ü�ZÓ ØØð	 Kó ˆNõ 4<ØØØØØØ#-ô4ˆN×Ò×$Ò$ ZÑ0ð "—’×+Ò+ˆHÜ˜h­¯ªÔ5Ý$¨ zÐ1HÐ%IÓJÐJØ�G‰G�N‰N×(Ò(×/Ò/µ¸JÈÐPTÓ0UÔVô )¨´·²Ô=‘
À:ÐQRÁ?ð õ # >°>ÓBÐBä˜ ¨YÐ7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ý'ØØØØ—{‘{ô	ð ð Ð.Ñ.Ý:ÀÔBÐBØÐ.Ñ.Ý:ÀÔBÐBØÐ&×2Ò2Ñ2Ý4Ó6Ð6Ø�mÑ#Ý-¨eÓ4Ð4Ü˜œuŸyšy×6Ò6×?Ò?Ô@Ü˜%¤§¢×!8Ò!8×!KÒ!KÔLØ×-Ò-¨eÓ4Ð4à×#Ñ#¤L×$9Ñ$9Ô:Ý+àŸšØ×(Ò(ØŸšØ×,Ò,ð	#ð  Ÿ;™;ôð õ *×9Ò9¸%Ô@Ý�Š˜uÔ%Ø×#Ñ#¤L×$<Ò$<Õ=Ý×#Ò# EÔ*Ø×#Ñ#¤L×$>Ò$>Ô?Ý/°¸d¿k¹kÔJÐJÝ×#Ò# EÐ+HÈ%ÔPØ×Ñ¤× 7Ñ 7Ô8Ý.ØØØ—{‘{Ý7Ó9ô	ð õ +¨5Ô1Ø×Ñ¤× 7Ñ 7Ô8Ý.ØØØ—{‘{Ý7Ó9ô	ð ð •c—l’lÑ"Ý×Ò Ò'¨EµS·]²]Ñ,Bå& u°T·[±[ÔAÐAÝ# EÔ*­w×/EÒ/EØÐ(¨%ô0
ð ×Ñ¤× 7Ñ 7Ô8Ý.ØØ%Ø—{‘{Ý7Ó9ô	ð ð ”k×,Ò,Ñ,Ø×Ñ¤× 5Ñ 5Ô6Ý0°¸t¿{¹{ÔKÐKÝ;¸EÓBÐBˆjÐOØ×Ñ¤× 5Ñ 5Ô6ØŸ.š.ˆKØŸ™ÒL¬°D·K±KÀÓ)LˆJÜ$×*Ò*¨4¯7©7°KÀÓLˆFÝ-¨j¸&ÈÏÉÔUÐUÝ˜Ô E­e¯mªm½U¿YºYÐ-GÑ$GØ×Ñ¤× 5Ñ 5Ô6Ý"Ý¥¨d¯k©kÔ:Ø—’Ü˜U›ôð õ
 $ 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Ø×Ñ¤× 9Ò 9Ô:Ý)àØ—{‘{ôˆFð
 �G‰G�N‰N×'Ñ'×=Ñ=¸eÀVÔLØˆMÜ˜�u×9Ò9Ô:õ ,¨EÓ2Ð2Ü˜�u×9Ò9Ô:Ý+¨EÓ2Ð2Ü˜�u×6Ò6Ô7õ
 !×/Ò/´°U·^²^Ó0DÀeÇnÂnÓUˆJÜ˜j­%×*EÒ*EÔFÝ$Ø:¼4À
Ó;KÐ:LÐMóð ð Ÿ™ÒL¬°D·K±KÀÓ)LˆJÜ$×*Ò*¨4¯7©7°E·N²NÀJÓOˆFÝ(¨°VÓ<Ð<Ýœ˜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¤%§,¡,Ô/Ø¤§¡Ñ-ð ×,Ñ,´·±×0OÑ0OÑOõ
 ;¸5ÔAå-¨e¸D¿K¹KÔHÐHå)¨$¯+©+Ô6ð ×#Ñ#¤L×$<Ò$<Ô=ä˜%¤Ô&­:°e¼T¿Y¹YÔ+GÝ/ØØŸ;™;ôð õ
 ˜eÔ$Ý0ØØŸ;™;ôð õ
 .ØØ—{‘{ôˆFô ˜% ¨tÓ4Ò:¸ˆCØ—>’>Ð"6Ô7Ø §¡§¡× ;Ñ ;Ñ;ØŸ7™7Ÿ>™>×6Ñ6×LÑLØ˜vóð ð ˆMä�%‹[œEŸH™H×.Ò.Ñ.ð ×)Ò)¨%Ó0Ð0Ý&×6Ò6´t¸E³{ÕC÷ñ ô ˜%¤§¢×!CÒ!C×!TÒ!TÔUØŸš�ô �~Š~×1Ò1×CÒCÀEÔJØŸ™Ÿ™×2Ò2×EÒEÝ—F’FÐ+¨S°$·)²)Ó<Ü˜“KØØŸ;™;ð	 Fó �õ /7Ø—K‘KØØØØØó/�—
’
—’ 
Ñ+õ 1×7Ñ7ØØØŸ;™;Ø—w‘wô	ð õ $¤D¨£KÔ0à×#Ñ#¤L×$?Ò$?Ö@Ý)¬$¨u«+Ô6ð
 ×#Ñ#¤L×$GÒ$GÔHØ×#Ñ#¤L×$JÒ$JÕKÜ˜UÐ$5Ô6ð ×-Ò-¨eÓ4Ð4ô $×/Ò/ð”OØŸ™Ñ!@ÀÇÁÓ!Móð Ÿš›×4Ò4Ó6óôô $×/Ò/ØT”O D§G¡GÑ-FÀtÇ{Á{Ó-SÓTØ×-Ò-Ó/óôô $Ÿnšn×@Ò@×RÒRØ—‘—‘×(Ò(¨%óˆOõ $¤D¨£KÔ0½ÄdÈ5ÃkÔ9RØ"'�Ø’ä×,Ó,Ý% d§k¡kÔ2Ý*¨4¯;©;Ô7Ý9¸$¿+¹+ÔFà—w‘w—~‘~×=Ò=Ø˜4Ÿ9š9¨T¯[©[ð >ó ð ð
 Ÿ™Ÿ™×2Ò2×EÒEÝ—F’FÐ+¨S°$·)²)Ó<Ü˜“KØ#ØŸ;™;ð	 Fó �õ /7Ø—K‘KØØØØØ#ó/�—
’
—’ 
Ñ+õ -×3Ñ3ØØØ—{‘{Ø—7‘7ô	ð ô �uœt¤[×%<Ñ%<Ð=Õ>Ü�U“×#Ò#¤t§|¢|Ò3ð ×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=ð �G‰G�N‰N×-Ñ-×1Ñ1°$·+±+Ô>ð
&Üð
&Üð
&Ü#&ð
&ä”¬Ð7Ñ8õ
&ô ó äAÀ%ÓHôó ˆFô
 )¨´×0GÑ0GÓHˆOÜ'ØÙ5Dœ+×1Ò1Ì$Ü3Ó5Ø—{‘{ô	ˆGð .2ˆGÕ*áÜ,¨U¸GÈDÏKÉKÔX‘å0Ø 7°4·;±;ô�ð —7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œuÕ%Ø×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=õ œuŸ}š}¨UÓ3Ó4öð ô $×*Ñ*Ü×%Ò% e¨QÓ/Ý(¨¯ªÓ):¸AÓ>Ø—w‘wöðˆFð ô %ØØ—{‘{Ü3Ó5ôˆHô
 .Ø °·±ôˆFð —7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œtÕ$Ø×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=õ œtŸ|š|¨EÓ2Ó3öð ô $×*Ñ*Ü×$Ò$ U¨AÓ.Ý,¨T¯_ª_Ó->ÀÓBØ—w‘wöðˆFð õ #ØØ—{‘{Ü3Ó5ôˆGõ
 -¨U¸GÈDÏKÉKÔXˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜¤¤YÐ/Õ0Ø×Ñ¤× 7Ñ 7Ô8Ø×Ñ¤× <Ñ <Ô=ä”T—]’] 5Ó)Ó*ˆAõ œtŸ|š|¨A›Ó/öð ô $×*Ñ*Ü×$Ò$ Q¨Ó*Ü:¸4¿?º?Ó;LÈaÓPØ—w‘wöðˆFð ô ˜%¤Ô%Ü(‘
ä! %¬Ô3Ý(Ð+CÄDÈÃKÀ=Ð)QÓRÐRÜ.�
áØ˜tŸ{™{Ô:OÓ:QôˆFõ ,¨E¸&ÈÏÉÔUˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÝœ˜U›¥^Ô4Ø×Ñ¤× 7Ñ 7Ô8Ý+¨E¸$¿+¹+ÔFˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÝ  Ô'Ø×Ñ¤× 7Ñ 7Ô8Ý,¨U¸4¿;¹;ÔGˆ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äØ9Ø.¸5Ö/g°aÔHX×HcÑHcÐdeÕHf²Ò/gÐ.hÐiØ Pà]ðö	õ  ×2Ò2°5Õ9ß@à�~Š~Ð%¨¯ª×)<Ñ)<À×@SÒ@SÒ)SØ×'Ò'¨¯	ª	Ó2Ð2Ø—’×$Ñ$¨×(<Ò(<Ò<Ý—	’	Ø1Ø—K‘K×$Ò$Ý×&Ò&ôð
 ×'Ò'Ø—I’IÝ'×/Ò/Ý1Ý#:ÀUÔ#Kôð (ó ð ð —’×$Ñ$¨×(9Ò(9Ò9Ý—	’	Ø1Ø—K‘K×$Ò$Ý×&Ò&ôð
 ×'Ò'¨¯	ª	½J×<NÒ<NÐ'ÓOÐOå"Ð%8¸¿ºÐ8HÐ#IÓJÐJÜ�E�6Ô"Ø×Ñ¤× 7Ñ 7Ô8Ý! %°·±Ô<Ð<à×)Ò)¨%Ó0Ð0ùòy!-ùó^ùò6 Jøõx  ò Úðüòrùò0ùò(ùòF Nùò 0hsb   É"ACh ÞA Chá'ChÁCCh ÃIACh!ÃNACh&ÃS%ACh+Ã\'Ch0Ã^5Ch5Ã_Ch5Ãh
ChÃhChc                 ó.  — ddl m} | j                  t        j                  «       t        j                  |«      r!t        |t        | j                  «      ¬«      }nkt        ||«      rHt        |«      t        vr7| j                  t        j                  «       t        || j                  ¬«      }nt        || j                  ¬«      }t        j                   t        |«      «      s|S | j"                  j$                  j&                  j)                  ||«      S )Nr�   )Ú_CONSTANT_BASE_TYPESr“  )Úuser_definedry  rÔ  rQ   r  r  r  rt   rG  rI  rB  r   ÚCONSTANT_SUBCLASS_MATCHr	  r  rY   Ú"cls_supports_mutation_side_effectsr¬  r­  rÓ  rÛ  )r‰  ro  ry  r  s       r"  r  z!VariableBuilder.wrap_user_defined¡  sÂ   € Ý6à×ÑœL×3Ñ3Ô4Ü×-Ñ-¨eÔ4ô
 % U´?À4Ç;Á;Ó3OÔP‰Fä�uÐ2Ô3Ü�U“Ô#8Ñ8à×Ñ¤× DÑ DÔEÜ0°¸t¿{¹{ÔK‰Fä.¨u¸T¿[¹[ÔIˆFÜ×=Ñ=¼dÀ5»kÔJàˆMØ�w‰w�~‰~×*Ñ*×@Ñ@ÀÈÓOÐOr2  c                 ón  — t         j                  rPt        |«      t        j                  u r5| j                  t        j                  «       t        j                  |¬«      S | j                  t        j                  «       t        |t        «      r�t        d„ |D «       «      ro| j                  j                  j!                  «       rK| j                  t        j                  «       t#        |D �cg c]  }t        j                  |«      ‘Œ c}«      S t%        |«      D ��cg c]?  \  }}t'        j                  |t)        | j+                  «       |«      | j,                  ¬«      ‘ŒA }}}| j,                  j.                  j0                  j3                  d«      }t5        | j                  t6        «      �r| j                  j8                  t;        |«      v �rá| j                  }t5        |t<        «      st?        dt        |«      › �«      ‚| j,                  j.                  j@                  jC                  tE        jF                  dd| jH                  «      t        |«      ||¬«      }d	|jJ                  jL                  d
<   tO        tP        | j,                  ||d |¬«      }g }	t%        |jR                  «      D ]¶  \  }}
t)        ||d¬«      }|
| j,                  j.                  jT                  |<   tW        ||   «      |
jX                  jJ                  jL                  d<   t[        j\                  t        j^                  ta        ||   «      ¬«      }|	jc                  |je                  |«      «       Œ¸ tg        |	ddiŽ ti        ||dd d¬«      }||jJ                  jL                  d<   |D ]  }|jk                  «        Œ  tm        jn                  |«      || j                  ¬«      }t        |t<        tp        jr                  f«      r0| j,                  j.                  jt                  jw                  ||«      S |S c c}w c c}}w )N©ro  c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrq  r+  )rº  Úitems     r"  r»  z0VariableBuilder.wrap_listlike.<locals>.<genexpr>È  s   è ø€ ÒH¸$Ô$×/Ñ/°×5ÑHùr/  rg  r‰  z!Expected list for steal_arg, got r‘  r¶  r“  TÚ	steal_arg)Ú
target_clsr¬  rt  Úexample_valueÚsubclass_typerG  F©rJ  rK  Úindex_is_sliceÚtensor_dicträ  r�   )r‚  rƒ  r„  r’  )<rH   Úspecialize_intrB  r  r÷  rÔ  rQ   r?  r§   r5  r¹  r‘   ró  r<  rG  Úguard_sourceÚis_unspecialized_nn_modulerÎ   rÅ  rÆ   re   rá  r¬  r­  Úlocal_scoper_  rI  rn   rN  rƒ   rô  r‹  r  r  r  r  r'  rú  r  Úwrap_fx_proxy_clsr÷   r?  Úinput_source_to_varr{   rt  rÖ  r×  ÚTENSOR_MATCHrF   r@  rå  rR   r€  ÚrealizerÇ   Úcls_for_instancerõ  rö  rÓ  r@  )r‰  ro  r€  rj  r­  Úmaybe_gmrG  Útensor_list_proxyÚlist_variablerâ  Útensor_variableÚsource_irç  r’  rÌ  r  s                   r"  rø  zVariableBuilder.wrap_listlike¸  sx  € ô × Ò ¤T¨%£[´E·J±JÑ%>Ø×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°Ô7Ð7ð 	×ÑœL×8Ñ8Ô9ô �5œ%Ô ÜÑHÀ%ÔHÔHØ—‘×(Ñ(×CÑCÔEà×Ñ¤× ;Ñ ;Ô<Ü ÈEÖ!RÀDÔ"2×"9Ñ"9¸$Õ"?Ò!RÓSÐSô % UÓ+÷
ñ ��4ô  ×&Ñ&ØÜ$ T§_¡_Ó%6¸Ó:Ø—7‘7öð
ˆñ 
ð —7‘7—>‘>×-Ñ-×1Ñ1°&Ó9ˆÜØ�K‰Kœõ
à�k‰k×$Ñ$Ô(;¸HÓ(EÒEð —[‘[ˆFÜ˜e¤TÔ*Ü$Ð'HÌÈeËÈÐ%VÓWÐWØ $§¡§¡× :Ñ :× 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ð( ò �Ø—
‘
•ðð :Ô!×2Ñ2°5Ó9¸&ÈÏÉÔUˆÜ�%œ$¤× 1Ñ 1Ð2Ô3Ø—7‘7—>‘>×.Ñ.×<Ñ<¸UÀFÓKÐKØˆùò} "Sùó
s   Ã.P,ÄAP1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 r  )rÔ  rQ   ÚTUPLE_ITERATOR_LENr\  rš   r¿  r¬  rw   rá  r™   rÍ   rG  r­  rÓ  r@  )r‰  ro  rj  r­  r  s        r"  rü  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 r  )rÔ  rQ   ÚRANGE_ITERATOR_MATCHÚcopyÚdeepcopyr§   r5  rÈ   rG  r¬  r­  rÓ  r@  )r‰  ro  r1  r?  r  s        r"  rý  z#VariableBuilder.wrap_range_iterator7	  s   € Ø×ÑœL×=Ñ=Ô>ô 15·±¸eÓ0Dö(
Ø+,Ô×#Ñ# AÕ&ð(
ˆð (
ô & e°D·K±KÔ@ˆØ�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGùò	(
s   ·Bc                 ó®  — t        |«      \  }}t        j                  |«      rt        j                  |«      s| j                  |«      S | j	                  t
        j                  «       t        t        j                  |«      t        j                  |«      | j                  ¬«      }| j                  j                  j                  j                  ||«      S r  )r   r§   r,  r  rÔ  rQ   ÚCOUNT_ITERATOR_MATCHrÃ   r5  rG  r¬  r­  rÓ  r@  )r‰  ro  Úcurrent_itemÚstepr  s        r"  rû  z$VariableBuilder.wrap_itertools_countA	  s¢   € Ü1°%Ó8Ñˆ�dä×'Ñ'¨Ô5Ü ×+Ñ+¨DÔ1à×)Ñ)¨%Ó0Ð0à×ÑœL×=Ñ=Ô>Ü&Ü×#Ñ# LÓ1Ü×#Ñ# DÓ)Ø—;‘;ô
ˆð
 �w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓGÐGr2  c                 ór  — dD �cg c]@  } t        | j                  t        | j                  «       |«      «      t	        ||«      «      ‘ŒB }}| j                  t        j                  «       t        |t        «      r"t        || j                  | j                  ¬«      S t        || j                  ¬«      S c c}w )N©ÚstartÚstoprŸ  r“  )r¿  r¬  r[   rá  rº  rÔ  rQ   r  rI  rþ  rÌ   rG  rÊ   )r‰  ro  r.  r?  s       r"  rÿ  z VariableBuilder.wrap_slice_rangeQ	  s›   € ð
 /ö	
ð ð GŒO˜DŸG™G¤Z°·±Ó0AÀ1Ó%EÓFÜ˜˜qÓ!õð
ˆð 
ð 	×ÑœL×3Ñ3Ô4Ü�eœUÔ#Ü  ¨¯©¸¿¹ÔDÐDä  ¨t¯{©{Ô;Ð;ùò
s   …AB4rç  c                 óx  — 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 )NrG   )Úmark_static_addressz Marking static input %s, id: %s)©rç  r‡  Ú_dynamo_static_input_type)r¬  r¥  Ústatic_inputs_logrS  rG  r'  r¹  r¬  r­  rÓ  r§  rt  rú  r  )r‰  ro  rç  r¥  rY  s        r"  Úmark_static_inputz!VariableBuilder.mark_static_input^	  s’   € Ý4ä×ÑØ.°·±×0@Ñ0@Ä"ÀUÃ)ô	
ñ 	˜E¨Õ/ð �D—G‘G—N‘N×/Ñ/Ñ/Ø—'‘'—.‘.×-Ñ-¨eÑ4ˆCð ×/Ñ/ð �I‰I�N‰N×Ñ Ñ.Ð/JÒKð 0r2  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                  |j                  dd «      }t        | j                  d|› d�¬«      S | j                  t        j                   «       t#        | j                  d«      | _        | j%                  |j&                  «      S t)        |«      t*        j,                  j.                  j0                  u r(t	        dt3        |«      dg t        j4                  ¢¬«       t7        |t*        j8                  j:                  t*        j8                  j<                  t*        j8                  j>                  f«      r9t@        jB                  s)t	        dt3        |«      ddgt        jD                  ¢¬«       tG        |dd
«      r¦tG        |dd
«      st	        dddg ¬«       | j                  t        j                   «       tI        || jK                  «       ¬«      }tM        jN                  t)        |«      «      s|S | jP                  jR                  jT                  jW                  ||«      S tY        jZ                  || jP                  j\                  «      �r1t7        |t*        j^                  j`                  jb                  jd                  «      r*|jg                  «       }ti        | j                  «      | _        tk        «       }tm        |jn                  «      rI|jn                  jp                  tr        u r-	 |jo                  «       D ]  \  }}| ju                  ||¬«       Œ 	 tm        |j~                  «      rI|j~                  jp                  t€        u r-	 |j                  «       D ]  \  }}	| ju                  |	|¬«       Œ 	 |r-|| jP                  jR                  j‚                  | j„                  <   |j†                  j‰                  d«      r|j†                  j‰                  d«      rtG        |jŠ                  dd
«      r‡| j                  }
| jP                  jR                  j\                  rt@        jŒ                  rt�        | j                  «      }
t‘        ||
¬«      }t“        |
j•                  t        j                   «      «       n†| j                  }
| jP                  jR                  j\                  rt@        jŒ                  rt—        | j                  «      }
t™        ||
¬«      }t“        |
j•                  t        j                   «      «       | jP                  jR                  j›                  || j                  «       tM        jN                  t)        |«      «      s|S | jP                  jR                  jT                  jW                  ||«      S t�        |jŠ                  t*        j8                  jž                  j                   j¢                  «      r:| j                  t        j                   «       t™        || jK                  «       ¬«      S | jP                  jR                  j¥                  || j„                  | jK                  «       ¬«      S # tv        $ r?}ty        t)        |«      | jP                  t{        |j|                  «      ¬«       Y d }~�Œfd }~ww xY w# tv        $ r?}ty        t)        |«      | jP                  t{        |j|                  «      ¬«       Y d }~�ŒSd }~ww xY w) NrG   )ÚOptimizedModuler   zUninitialized nn.Modulez6Attempted to trace an uninitialized nn.Module of type r;  z?Ensure your nn.Module instance has called `super().__init__()`.r  Ú_torchdynamo_disableFÚ_torchdynamo_disable_msgzHOptimized `nn.Module` is wrapped with `torch.compiler.disable` (reason: rg  )rG  ÚmsgÚ	_orig_modz+torch.jit.script/freeze modules unsupportedzÔDynamo does not support tracing into torch.jit.script or torch.jit.freeze modules because they execute in the TorchScript runtime, not Python. Replace the ScriptModule submodule with the original eager nn.Module.z#Attempted to wrap RNN, GRU, or LSTMz*Dynamo does not support RNN, GRU, or LSTM.zgSet torch._dynamo.config.allow_rnn=True to enable experimental support for RNN, GRU, and LSTM in DynamoÚ_is_fsdp_managed_moduleÚ_fsdp_use_orig_paramszFSDP with use_orig_params=Falser?  z3Dynamo only supports FSDP with use_orig_params=Truer“  r¦  )r{  )ztorch.nn.modulesz	torch.ao.ztorch.nn.modules.containerÚ_dynamo_marked_static)SÚ
eval_framer«  r]  Ú__dict__rP   r    rI   rØ  r‘   rw  rx  ÚforwardrÕ   rG  rÔ  rQ   r  r[   r¿  r¯  rB  r  r  Ú_scriptÚRecursiveScriptModuler.  ÚFUNDAMENTALrI  rÕ  ÚRNNÚGRUÚLSTMrH   Ú	allow_rnnr(  rº  rä   rá  rY   r|  r¬  r­  rÓ  rÛ  rJ   Úis_dynamic_nn_moduleÚexportÚfxÚexperimentalÚproxy_tensorÚ
_AttrProxyÚget_baserZ   r‹   rÑ  Únamed_parametersr  Ú!og_module_named_parameters_fn_ptrr©  Ú	TypeErrorrO   rô  r{  Únamed_buffersÚog_module_named_buffers_fn_ptrÚ
nn_modulesr'  r+  r·  r§  rG  rx   rå   rR   rå  ry   ræ   Ú add_fqn_info_for_inlined_modulesr3  ÚparallelÚdistributedÚDistributedDataParallelrH  )r‰  ro  r«  r®  r  Úfreezingr¶  ÚpÚeÚbÚ
new_sources              r"  r¿  zVariableBuilder.wrap_modulep	  s’  € Ý0äˆu�~‰~Ó !Ò#ÜØ1Ü ›ØTÔU\Ð]bÓUcÐTdÐdeÐfðÜ&×1Ñ1ðàUðõ	ô �%˜Ô)ä×%Ñ% e§m¡mÐ5KÈUÔSô
 ×,Ñ,Ø—M‘MÐ#=¸tó�ô /ØŸ;™;ØbÐcfÐbgÐghÐiôð ð
 ×Ñ¤× 7Ñ 7Ô8Ü$ T§[¡[°+Ó>ˆDŒKØ×#Ñ# E§O¡OÓ4Ð4ä�‹;œ%Ÿ)™)×+Ñ+×AÑAÑAÜØEÜ˜E›
ð,ðÜ&×2Ñ2ðõ
ô �uœuŸx™xŸ|™|¬U¯X©X¯\©\¼5¿8¹8¿=¹=ÐIÔJÜ×$Ò$äØ=Ü˜E›
ØHà}ðä&×2Ñ2ðõ	ô �5Ð3°UÔ;ô ˜5Ð"9¸5ÔAÜØ=ØØ UØõ	ð" ×Ñ¤× 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Ó:�”ä,Ó.ˆHô ˜×/Ñ/Ô0à×*Ñ*×3Ñ3Ô7XÑXðRà %× 6Ñ 6Ó 8ò B™˜˜1Ø×.Ñ.¨q¸Ð.ÕAñBô ˜×,Ñ,Ô-à×'Ñ'×0Ñ0Ô4RÑRðRà %× 3Ñ 3Ó 5ò B™˜˜1Ø×.Ñ.¨q¸Ð.ÕAñBñ
 ð 8=�—‘—‘×)Ñ)¨$¯)©)Ñ4ð × Ñ ×+Ñ+Ð,MÔNØ×(Ñ(×3Ñ3Ð4PÔQÜ˜Ÿ™Ð*AÀ5ÔIØ!Ÿ[™[�
Ø—w‘w—~‘~×,Ò,´×0KÒ0KÜ!CÀDÇKÁKÓ!P�JÜ=¸eÈJÔW�Ü˜j×3Ñ3´L×4KÑ4KÓLÕMà!Ÿ[™[�
Ø—w‘w—~‘~×,Ò,´×0KÒ0KÜ!<¸T¿[¹[Ó!I�JÜ6°uÀZÔP�Ü˜j×3Ñ3´L×4KÑ4KÓLÔMà�G‰G�N‰N×;Ñ;¸EÀ4Ç;Á;ÔOä×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ØØ—	‘	Ø—‘Ó(ð :ó ð øôc !ò RÜ,¬T°!«W°d·g±gÄDÈÏÉÃL×QÓQûðRûô !ò RÜ,¬T°!«W°d·g±gÄDÈÏÉÃL×QÓQûðRús0   Í7+[ Ï+\ Û	\Û4\	Ü	\Ü	]Ü4]Ý]c                 óº
  — t        |«      t        u �røt        j                  ��dt	        | j
                  t        j                  «      }|€@| j                  t        j                  «       t        j                  || j
                  ¬«      S t        |t        «      rm||k7  r(t        d| j
                  j                  › d|› d|› �«      ‚| j                  t        j                  «       t        j                  || j
                  ¬«      S t        |t        t        j                   f«      r;| j#                  |t$        j&                  ¬«      }|j(                  }t+        ||«       |S t        d| j
                  j                  › d|›d�«      ‚t-        | j
                  j                  «      rKt.        j1                  d	| j
                  j                  «       | j#                  |t$        j2                  ¬«      S t5        |«      rLt.        j1                  d
| j
                  j                  |«       | j#                  |t$        j2                  ¬«      S t7        | j
                  j                  «      rKt.        j1                  d| j
                  j                  «       | j#                  |t$        j&                  ¬«      S t        j8                  �s6t;        || j
                  «      �rd }| j
                  j<                  j?                  «       s$| j
                  j<                  jA                  «       rd}tC        | jD                  | j
                  j                  tG        jH                  |«      | j
                  j<                  jA                  «       ¬«       | j                  tK        jL                  t        jN                  |¬«      «       t        j                  || j
                  ¬«      S | jQ                  || jR                  «      S | jQ                  |«      S t        |«      tT        u rdt        |tT        «      stW        dt        |«      › �«      ‚t        jX                  s| jQ                  || jZ                  «      S | jQ                  |«      S t        |«      t\        t^        fv r>t        |t\        t^        f«      stW        dt        |«      › �«      ‚| jQ                  |«      S | j                  t        j                  «       t        j                  || j
                  ¬«      }t        |t`        tb        f«      r0| jD                  jd                  jf                  ji                  ||«      S |S )N©ro  rG  zshapes_spec declares ú as static with value ú
, but got rª  zshapes_spec for ú: unexpected value z  (expected int, IntVar, or None)z*%s marked dynamic via dynamic-sources listz4%s marked dynamic via dynamic-values list (value=%s)z,%s marked unbacked via unbacked-sources lista  torch.compile considers integer attributes of the nn.Module to be static. If you are observing recompilation, you might want to make this integer dynamic using torch._dynamo.config.allow_unspec_int_on_nn_module = True, or convert this integer into a tensor.©rŠ  )Úrecompile_hintzExpected float, got zExpected bool or str, got )5rB  r8  rH   Ú_shapes_specrn  rG  rÔ  rQ   r?  r§   r5  rI  Ú
ValueErrorr'  r-   r  r   rP  r7   ÚUNBACKEDÚsym_numÚ_wire_spec_slotÚis_dynamic_sourcerR  rS  r  Úis_dynamic_valueÚis_unbacked_sourcerˆ  r   r‰  Ú"is_unspecialized_builtin_nn_modulerŠ  rX   r¬  rV   Úmake_scalarrÖ  r×  rÈ  Ú_wrap_lazy_constantÚ_wrap_symint_for_lazyr(  r‹  Úspecialize_floatÚ_wrap_symfloat_for_lazyr0  r.  rô  rÂ  r­  rÓ  r@  )r‰  ro  Úint_specr  Úsym_valrÙ  s         r"  r   zVariableBuilder.wrap_literal
  s6  € ô �‹;œ#Òä×"Ñ"Ñ.Ü9Ø—K‘K¤×!4Ñ!4ó�ð Ð#à×'Ñ'¬×(CÑ(CÔDÜ+×2Ñ2¸ÀtÇ{Á{ÔSÐSÜ ¬#Ô.à Ò(Ü(Ø3°D·K±K×4DÑ4DÐ3Eð F*Ø*2¨°:¸e¸WðFóð ð ×'Ñ'¬×(CÑ(CÔDÜ+×2Ñ2¸ÀtÇ{Á{ÔSÐSÜ ¬6´5·<±<Ð*@ÔAØ!×-Ñ-¨e¼j×>QÑ>QÐ-ÓR�FØ$Ÿn™n�GÜ# H¨gÔ6Ø!�Mä$Ø*¨4¯;©;×+;Ñ+;Ð*<Ð<OØ#˜,Ð&FðHóð ô
 ! §¡×!1Ñ!1Ô2Ü—	‘	Ø@À$Ç+Á+×BRÑBRôð ×'Ñ'¨¼
×8JÑ8JÐ'ÓKÐKä Ô&Ü—	‘	ØJØ—K‘K×$Ñ$Øôð
 ×'Ñ'¨¼
×8JÑ8JÐ'ÓKÐKä! $§+¡+×"2Ñ"2Ô3Ü—	‘	ØBÀDÇKÁK×DTÑDTôð ×'Ñ'¨¼
×8KÑ8KÐ'ÓLÐLä×(Ó(ô .¨e°T·[±[ÕAØ%)�NàŸ™×0Ñ0×SÑSÔUØŸ;™;×3Ñ3×NÑNÔPð5ð 'ô .ØŸ™ØŸ™×(Ñ(Ü+×7Ñ7¸Ó>Ø37·;±;×3KÑ3K×3fÑ3fÓ3hõ	ð ×'Ñ'Ü!×)Ñ)Ü(×5Ñ5Ànôôô
 ,×2Ñ2¸ÀtÇ{Á{ÔSÐSà×/Ñ/°°t×7QÑ7QÓRÐRà×+Ñ+¨EÓ2Ð2Ü�%‹[œEÑ!Ü˜e¤UÔ+Ü$Ð';¼DÀ»K¸=Ð%IÓJÐJÜ×*Ò*Ø×/Ñ/°°t×7SÑ7SÓTÐTà×+Ñ+¨EÓ2Ð2Ü�%‹[œT¤3˜KÑ'Ü˜e¤d¬C [Ô1Ü$Ð'AÄ$ÀuÃ+ÀÐ%OÓPÐPØ×+Ñ+¨EÓ2Ð2à×Ñ¤× ;Ñ ;Ô<Ü%×,Ñ,°5ÀÇÁÔMˆFÜ˜%¤$¬ Ô-Ø—w‘w—~‘~×2Ñ2×@Ñ@ÀÈÓOÐOØˆMr2  c                 ó$   — | j                  |«      S rq  )rP  r  s     r"  rå  z%VariableBuilder._wrap_symint_for_lazy‡
  s   € Ø×Ñ Ó&Ð&r2  c                 ó$   — | j                  |«      S rq  )Úwrap_symfloatr  s     r"  rç  z'VariableBuilder._wrap_symfloat_for_lazyŠ
  s   € Ø×!Ñ! %Ó(Ð(r2  Úwrap_fnc                  ó   — y rq  r1  ©r‰  ro  rí  s      r"  rä  z#VariableBuilder._wrap_lazy_constant�
  ó   € ð
 r2  c                  ó   — y rq  r1  rï  s      r"  rä  z#VariableBuilder._wrap_lazy_constant”
  rð  r2  c                  ó   — y rq  r1  rï  s      r"  rä  z#VariableBuilder._wrap_lazy_constant›
  rð  r2  c                 óð   — | j                   sJ|� ||«      S | j                  t        j                  «       t	        j
                  || j                  ¬«      S t        j
                  || j                  ¬«      S )zCWrap a primitive constant, deferring guard installation if allowed.rÔ  r“  )rÀ  rÔ  rQ   r?  r§   r5  rG  rÅ   rï  s      r"  rä  z#VariableBuilder._wrap_lazy_constant¢
  s_   € ð ×'Ò'ØÐ"Ù˜u“~Ð%Ø×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKÜ#×*Ñ*¨5¸¿¹ÔEÐEr2  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¬  rF  rN   r  s     r"  Ú assert_not_wrapped_by_this_graphz0VariableBuilder.assert_not_wrapped_by_this_graph¯
  s;   € Ü�5Œ>Ô1°%Ó8¸D¿G¹G×<MÑ<MÑMÜ*Ø<Ø4óð ð Nˆ>r2  c           	      óš  — | j                  «       }|| j                  j                  j                  v rt	        d«      ‚t        |«      d u}t        t        d z  t        |t        j                  «      «      }|d u}|s_|s]t        |t        j                  j                  «      s|r7|j                  j!                  «       r| j#                  |t%        «       ¬«       d}t        j&                  xr% t)        |«      xs t+        |«      xs t-        |«      }|xr0 t%        «       xs$ t        j.                  j                  j0                  }|s{|s6|j                  j3                  «       s|r]|j                  j5                  «       sC| j7                  |«       | j                  j                  j9                  || j:                  |¬«      S t        |«      dk(  rb| j=                  t>        j@                  «       | j7                  |«       | j                  j                  j9                  || j:                  |¬«      S tC        |«      rX| j7                  |«       | j                  j                  j9                  |tE        jF                  dd| j:                  «      |¬«      S || j                  j                  jH                  v }|r#| j                  j                  jH                  |   S i }	tK        |«      }
|
�| j=                  t>        jL                  «       t        |«      dk(  r| j=                  t>        j@                  «       | j7                  |«       t        |t        jN                  «      rS|jP                  rGt        |t        jR                  jT                  jV                  jX                  «      st[        dd	d
g ¬«       t        |t        jN                  «      rPt]        |«      rE| j                  j^                  rt        j`                  st[        dd	dg tb        jd                  ¢¬«       tg        |«      r€ti        |«      �u|jj                  ti        |«      jj                  k7  rSti        |«      }|�tm        |jj                  «      nd}t[        dd|jj                  › d|› �dg tb        jn                  ¢¬«       tq        || j                  d||¬«      }| j                  j                  jr                  ju                  tE        jF                  dd| j:                  «      tw        |«      ||¬«      }ty        | j                  ||«       t{        d+| j                  |||
|dœ|	¤Ž}| j                  j                  j                  j}                  ||«       |j                  «       r-tq        |j€                  | j                  tƒ        |d«      d¬«       t>        j„                  }t        |t†        «      rt‰        |«      rt>        jŠ                  }t        jŒ                  j�                  «       xr. t        |t        jŒ                  j�                  j’                  «      }|sA| j=                  t•        j–                  |t        |t˜        «      r|n
t›        |«      ¬«      «       t�        |«      �rÖ|�rO| j=                  t>        jL                  «       |jŸ                  «       d   }|ddgk7  rt¡        d«      ‚|jŸ                  «       d   }t£        |«      dk(  rf|d   |j¤                  j¦                  k(  rJ|d   |j¤                  j¨                  k(  r.|d   |j¤                  jª                  k(  r|d   |j¬                  k(  st¡        d «      ‚t¯        tƒ        | j°                  d!«      j³                  t>        j´                  «      «       t¯        tƒ        | j°                  d"«      j³                  t>        j¶                  «      «       no| j=                  t>        j¸                  «       | j=                  t>        jL                  «       t¯        t»        |«      j³                  t>        j¶                  «      «       |jŸ                  «       \  }}|D ]ý  }t½        ||«      }tw        |«      }t        |t        j¾                  jÀ                  jÂ                  «      rtw        |jÄ                  «      }t        |t        jN                  «      sBtÇ        |«      s7t¡        tw        |«      jÈ                  ›d#tw        |«      jÈ                  › d$�«      ‚tƒ        | j°                  |«      }tË        jÌ                   tÏ        | j                  |«      |«      «       Œÿ || j                  j                  jH                  |<   d%|jÐ                  jÒ                  v rt	        d&«      ‚tÕ        |«      |jÐ                  jÒ                  d%<   |jÖ                  jÐ                  jÒ                  d'   }tÙ        |«      | j                  jÚ                  urtÝ        d(«      ‚tß        ||d)|«      }||jÐ                  jÒ                  d*<   |S ),Nz)Tensor is already tracked in side effectsr¦  Tr“  Úguardedr‘  r¶  z&Attempted to wrap strided NestedTensorr?  ú3torch.compile does not support strided NestedTensorr  zAttempted to wrap sparse Tensorz-torch.compile does not support sparse TensorsÚNonez.dtype mismatch between tensor and its gradientztensor dtype: z; grad dtype: zmInconsistent dtype between tensor and its gradient. This can happen in FSDP and crashes meta tensor creation.)r¬  r„  rG  Útensor_spec)r¬  rt  rƒ  r„  rG  Ú_base)r¬  rG  r„  r~  r   Ú_local_tensorÚdevice_meshzDExpecting DTensor inner attrs to be ['_local_tensor', 'device_mesh']r�   é   rG   r™  z\Expecting DTensor flattening ctx to be (placements, tensor_meta, shard_order, requires_grad)Ú_specÚrequires_gradz found in tensor attrs of z[.__tensor_flatten__(). Only tensors and reference-type opaques are allowed in tensor attrs.r‡  z4tensor_dict already exists in tensor_proxy node metarƒ  z(Wrapped Tensor must be this graph's fakeFr’  r1  )prá  r¬  r­  rÓ  r‹  r„   r   r2   rn  rH   rÚ  rI  r  rÕ  rï  r‰  rŠ  r©  r‹   rG  ri   rj   rl   r†  Úprepare_freezingÚis_specialized_nn_moduleÚis_fsdp_modulerõ  rH  r'  rÔ  rQ   r  rg   r  r  r�  Úinfer_subclass_typer  r�  Ú	is_nestedÚnestedr  Únested_tensorÚNestedTensorrP   r&   r¾  Úcapture_sparse_computerI   ÚSPARSE_TENSORr#  r'   r€  r.  r(  Úwrap_to_fake_tensor_and_recordr  r  rB  Úcache_real_value_when_exportÚwrap_fx_proxyrÛ  Ú_is_viewrû  r[   rŽ  rf   rk   ÚNOT_NONE_MATCHrÌ  Úis_availableÚtensorÚDTensorrÖ  r×  rq   rF   rC   Ú__tensor_flatten__rA  r]  rÿ  Ú
placementsÚtensor_metaÚshard_orderr   rR   rG  rå  ÚDTENSOR_SPEC_MATCHrÈ  ÚTENSOR_SUBCLASS_METADATA_MATCHrv   rº  r:  r;  r<  r=  r   r*  rÆ   rB  r¿  rú  r  r{   rt  r%   rF  rN   r€  )r‰  ro  rG  Úis_static_inputÚ_tensor_specÚ	_has_specÚshould_install_free_tensorÚmake_graph_attributeÚis_duplicate_tensorÚoptionsr„  Úsafe_grad_valÚgrad_strrƒ  Útensor_proxyr”  Ú
guard_typeÚ
is_dtensorÚinner_attrsÚflattening_ctxÚattrsr¶  ÚattrÚinner_valueÚ
inner_typeÚinner_sourceÚfake_tensor_valuer’  s                               r"  rò  zVariableBuilder.wrap_tensor¶
  s±  € Ø—‘Ó"ˆð �D—G‘G—N‘N×/Ñ/Ñ/Ü Ð!LÓMÐMä1°%Ó8ÀÐDˆô Ü˜ÑÜ*¨6´6×3FÑ3FÓGó
ˆð !¨Ð,ˆ	ñ Ù#ä˜5¤%§(¡(×"4Ñ"4Ô5á˜v×2Ñ2×MÑMÔOð ×"Ñ" 5Ô0EÓ0GÐ"ÔHØ"ˆOô &,×%@Ñ%@ò &
Ü! &Ó)ò >Ü& vÓ.ò>ä5°fÓ=ð 	#ð  /ò  
Ü!Ó#ÒL¤u§}¡}×';Ñ';×'LÑ'Lð 	ñ Ù&à×$Ñ$×=Ñ=Ô?ÑCWØ×+Ñ+×:Ñ:Ô<ð ×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Øð :ó ð ð %¨¯©¯©×(JÑ(JÐJÐÙØ—7‘7—>‘>×5Ñ5°fÑ=Ð=àˆÜ+¨EÓ2ˆØÐ$Ø×Ñ¤× 7Ñ 7Ô8ä" 5Ó)¨YÒ6Ø×Ñ¤× 5Ñ 5Ô6ð 	×-Ñ-¨eÔ4ô �uœeŸl™lÔ+Ø—’Ü˜u¤e§l¡l×&<Ñ&<×&JÑ&J×&WÑ&WÔXäØ@ØØQØõ	ô �uœeŸl™lÔ+Ü˜eÔ$Ø—W‘W—^’^¬6×+HÒ+Hô
 Ø9ØØKØ8Ô)×7Ñ7Ð8õ	ô ˜%Ô Ü˜%Ó Ð,à—‘œy¨Ó/×5Ñ5Ò5ä% eÓ,ˆMØ3@Ð3L”s˜=×.Ñ.Ô/ÐRXˆHÜØHØ(¨¯©¨°^ÀHÀ:ÐNðLà6Ô)×5Ñ5Ð6õô" 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ØØ'Ø'Øñ
ð ñ
ˆð 	�‰�‰×#Ñ#×9Ñ9¸%ÀÔQà�>‰>Ôô +Ø—‘Ø—7‘7Ü! &¨'Ó2Øõ	ô "×.Ñ.ˆ
ä�fœjÔ)Ô.FÀvÔ.NÜ%×4Ñ4ˆJä×&Ñ&×3Ñ3Ó5ò 
¼*Ø”5×$Ñ$×+Ñ+×3Ñ3ó;
ˆ
ñ ð ×ÑÜ×!Ñ!Øô & fÔ.?Ô@ñ ä*¨5Ó1ôô	ô )¨Õ/ò Ø×#Ñ#¤L×$;Ñ$;Ô<à#×6Ñ6Ó8¸Ñ;�Ø ?°MÐ"BÒBÜ&Ø^óð ð "'×!9Ñ!9Ó!;¸AÑ!>�ä˜Ó'¨1Ò,Ø& qÑ)¨U¯[©[×-CÑ-CÒCØ& qÑ)¨U¯[©[×-DÑ-DÒDØ& qÑ)¨U¯[©[×-DÑ-DÒDØ& qÑ)¨U×-@Ñ-@Ò@ä&Øvóð ô Ü˜tŸ{™{¨GÓ4×?Ñ?Ü$×7Ñ7óôô Ü˜tŸ{™{¨OÓ<×GÑGÜ$×1Ñ1óõð ×#Ñ#¤L×$OÑ$OÔPØ×#Ñ#¤L×$;Ñ$;Ô<ÜÜ*¨6Ó2×=Ñ=¼l×>WÑ>WÓXôð ×/Ñ/Ó1‰HˆE�1Øò �Ü% e¨TÓ2�ô " +Ó.�
ÜØÜ—N‘N×6Ñ6×GÑGôô "& k×&:Ñ&:Ó!;�JÜ!Ø¤§¡ôä2°:Ô>Ü&Ü Ó,×5Ñ5Ð8Ð8RÜ ›;×/Ñ/Ð0ð 1+ð+óð ô  *¨$¯+©+°tÓ<�Ü#×/Ñ/Ø:”O D§G¡G¨\Ó:¸;ÓGõð)ð0 6Eˆ�‰�‰×*Ñ*¨6Ñ2Ø˜L×-Ñ-×2Ñ2Ñ2Ü Ð!WÓXÐXÜ0DÀUÓ0Kˆ×Ñ×Ñ˜}Ñ-ð ,×1Ñ1×6Ñ6×;Ñ;¸OÑLÐÜÐ0Ó1¸¿¹×9JÑ9JÑJÜ*Ð+UÓVÐVä˜F E¨5Ð2CÓDˆØ-5ˆ×Ñ×Ñ˜zÑ*ØÐr2  c           	      óœ  — t         €t        d«      ‚t        |t         j                  «      st        dt	        |«      › �«      ‚t        | j                  «       «      }ddlm} |j                  j                   }|r	 d|j                  _
        d }t        j                  «       5  	 |j!                  |«      }|rddlm}  ||«      }d d d «       |€t        d«      ‚t-        j.                   t1        | j2                  |«      |«      «       t5        || j2                  d|¬«      }| j2                  j6                  j8                  j;                  t=        j>                  dd| j@                  «      t	        |«      ||¬«      }	tC        | j2                  |	|«       d|i}
tE        dtF        | j2                  |	|d dœ|
¤Ž}|| j2                  j6                  jH                  |<   |jJ                  jL                  jN                  d   }tQ        ||d|d|¬«      }||	jL                  jN                  d<   | jR                  |_)        |S # t        $ rJ t        |j                  t         j                  «      s"t        dt	        |j                  «      › �«      d ‚Y �Œ w xY w# t&        $ r$}t)        dt+        |«      d	g |¬
«       Y d }~�Œód }~ww xY w# 1 sw Y   �ŒýxY w)Nz'numpy must be available to wrap ndarrayzExpected np.ndarray, got r   )Ú_utilTzExpected np.nditer base, got )Úclone_preserve_stridesz)failed to convert numpy.ndarray to TensorzHException encountered when attempting to convert numpy.ndarray to Tensor)r   r!  r"  r#  Úfrom_excz)Failed to convert numpy ndarray to tensorF©r¬  r„  rG  r‘  r¶  r“  rG  )r‚  r¬  rt  rƒ  r„  rƒ  ©r‚  rƒ  r„  r…  r’  r1  )*r  r‹  rI  r  rB  rq   rá  Útorch._numpyr.  ÚflagsÚ	writeablerÛ  rJ  Únditerrþ   Útemp_restore_stackÚ_try_convert_to_tensorÚtorch._prims_commonr/  ræ  rP   r.  rÆ   rB  r¿  r¬  r  r­  r  r  r  r  r'  r  rŒ  ró   r�  rt  rú  r  r€  rG  )r‰  ro  rG  r.  ÚreadonlyÚtensor_valuer/  rÐ  rƒ  rt  r  Únumpy_ndarray_variabler’  s                r"  r  z"VariableBuilder.wrap_numpy_ndarrayä  sŸ  € Üˆ:Ü Ð!JÓKÐKÜ˜%¤§¡Ô,Ü Ð#<¼TÀ%»[¸MÐ!JÓKÐKä" 4§?¡?Ó#4Ó5ˆå&à—{‘{×,Ñ,Ð,ˆÙð Ø(,�—‘Ô%ð ˆÜ0×CÑCÓEñ 	ðØ$×;Ñ;¸EÓB�ÙÝJá#9¸,Ó#G�L÷	ð  ÐÜ Ð!LÓMÐMô 	×'Ñ'Ð(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ˆô ØØØ#Ø%ØØ+ô
ˆð '/ˆ�
‰
�‰˜
Ñ#ð )-¯©ÐÔ%à%Ð%øôW ò  ô " %§*¡*¬b¯i©iÔ8Ü(Ø7¼¸U¿Z¹ZÓ8HÐ7IÐJóàð ò 9ð ûô 'ò äØGÜ ›JØ jØØ÷ó ûðú÷	ñ 	úsC   Á<H; Â#KÂ%!JÈ;AJÊJÊ	J>ÊJ9Ê3KÊ9J>Ê>KËKr©  r!  c                 óÌ  — t        |«      t        urt        dt        |«      › �«      ‚| j                  | j                  j
                  j                  v r-| j                  j
                  j                  | j                     S | j                  j
                  j                  }d }t        j                  «       j                  ra|j                  «       }t        |«       | j                  j
                  j                  j                  t        || j                   d «      «       �n^t#        | j%                  «       «      �sÏ|€dt&        j(                  j*                  j,                  r@| j/                  t0        j2                  «       t5        j6                  || j                   ¬«      S | j                   j                  }t9        | j                  |t;        j<                  |«      | j                   j>                  jA                  «       ¬«      }tC        | j                   j                  «      }| j                   }	tE        |	tF        «      r|	jI                  «       }	|�|}
�n	t*        jJ                  r)|jL                  tN        u rtQ        dd«       tS        «       }
nÐtE        |	tT        «      r6|	jV                  �*tY        |	jV                  «      j                  |ddi«      d   st*        jZ                  s't\        j_                  d|«       t`        jb                  }
nS|jL                  tN        u rtQ        dd«       | j/                  t0        j2                  «       t5        j6                  |¬	«      S t*        jd                  r|�|jf                  nd }|ji                  || j                   |
|¬
«      }tE        |tj        «      st        dt        |«      › �«      ‚| j                  j
                  j                  j                  t        || j                   |«      «       nut#        | j%                  «       «      st        d| j%                  «       › �«      ‚| j/                  t0        j2                  «       t5        j6                  || j                   ¬«      S tE        | j%                  «       tl        «      rt        d«      ‚to        | j%                  «       jq                  t0        jr                  «      «       d| j%                  «       i}| j                  j
                  jt                  jw                  ty        jz                  dd| j                  «      t        |«      || j%                  «       ¬«      }|j|                  j~                  }tE        |t€        j‚                  «      st        |› d�«      ‚|| j                  j
                  jt                  j„                  |<   t‡        j6                  | j                  ||fi |¤Ž}|| j                  j
                  j                  | j                  <   t#        | j%                  «       «      s6t‰        | j%                  «       |dd d|¬«      |j|                  jŠ                  d<   |S )NzExpected exact int type, got rÔ  rØ  údynamo.automatic_dynamic_shapesTr   Fú=marking %s as dynamic (from assume_static_by_default = False)r~  )rG  rŽ  Úexcluded_valuer�  zExpected constant source, got z6RandomValueSource is not supported for symint wrappingrG  r‘  r¶  r“  r“  r2  r’  )FrB  r8  r‹  r'  r¬  r­  Úunspec_variable_mapr	  r   r_  Ú#force_unspec_int_unbacked_size_liker  r5   r  r@  r>   rG  rg   rá  r  r†  rH   rˆ  rÔ  rQ   r?  r§   r5  rX   rV   rã  r‰  rŠ  r*   rI  r]   rÃ  Úautomatic_dynamic_shapesÚscalarrT   r   Ú$get_automatic_dynamic_shapes_mark_asrn   r©  r>  Úassume_static_by_defaultÚsymbolic_shape_logÚinfor7   r  Ú!automatic_dynamic_exclusion_guardÚexcluded_scalarr  r   rs   rR   rå  r  r  r  r  r  rú  r  r  r  Úbound_symbolsrõ   r€  r  )r‰  ro  r©  r!  r	  Úframe_state_entryÚwrapped_valuer'  Únormalized_source_nameÚbase_sourcerŽ  rJ  r  rt  rl  Ú
unspec_vars                   r"  rP  zVariableBuilder.wrap_symint?  sð  € ô �‹;œcÑ!Ü Ð#@ÄÀeÃÀÐ!NÓOÐOà�9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@à—G‘G—N‘N×,Ñ,ˆ	Ø8<ÐÜ×ÑÓ×CÒCØ%×<Ñ<Ó>ˆMÜ% mÔ4Ø�G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó=öô $ D§O¡OÓ$5Õ6ØÐ¤E§M¡M×$8Ñ$8×$GÒ$Gð
 ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÀ4Ç;Á;ÔOÐOà—;‘;×#Ñ#ˆDä 9Ø—‘ØÜ#×/Ñ/°Ó6Ø+/¯;©;×+CÑ+C×+^Ñ+^Ó+`ô	!Ðô &;¸4¿;¹;×;KÑ;KÓ%LÐ"ØŸ+™+ˆKÜ˜+¤}Ô5Ø)×2Ñ2Ó4�àÐ#Ø&’ä×/Ò/Ø%×,Ñ,´Ñ<äÐ AÀ4ÔHÜBÓD‘ä˜;¬Ô4Ø×(Ñ(Ð4ä˜×-Ñ-Ó.×2Ñ2Ð3IÈAÈuÈ:ÓVØòô ×4Ò4Ü"×'Ñ'ØSØôô )×0Ñ0‘ð %×+Ñ+¬|Ñ;Ü#Ð$EÀuÔMØ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÔ;Ð;ô ×;Ò;Ø%Ð1ð "×1Ò1ð ð	 ð &×JÑJØØ—{‘{Ø'Ø.ð	 Kó ˆMô ˜m¬VÔ4Ü$Ð'<¼TÀ-Ó=PÐ<QÐ%RÓSÐSà�G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó@õô & d§o¡oÓ&7Ô8Ü$Ø4°T·_±_Ó5FÐ4GÐHóð ð ×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKä�d—o‘oÓ'Ô):Ô;Ü ØHóð ô 	�d—o‘oÓ'×2Ñ2´<×3JÑ3JÓKÔLà˜TŸ_™_Ó.Ð/ˆà—‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØØ—?‘?Ó$ð	 >ó 
ˆð !×%Ñ%×*Ñ*ˆÜ˜(¤E§L¡LÔ1Ü  H :Ð-DÐ!EÓFÐFØ=Bˆ�‰�‰×"Ñ"×0Ñ0°Ñ:Ü$×+Ñ+¨D¯G©G°U¸MÑUÈWÑUˆ
à8Bˆ�‰�‰×*Ñ*¨4¯9©9Ñ5ä! $§/¡/Ó"3Ô4Ü*2Ø—‘Ó!ØØ#(Ø ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð Ðr2  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                  «       «      s†t!        j"                  |«      sqt!        j$                  |«      s\t        j&                  j                  j(                  j*                  s.t-        dd«      s"t        j.                  rR|j0                  t2        ur@| j5                  t6        j8                  «       t;        j<                  || j
                  ¬«      S t        j>                  |t        j@                  ¬«      }t        jB                  jD                  jG                  |«      r@| j5                  t6        j8                  «       t;        j<                  || j
                  ¬«      S tI        | j                  «       tJ        «      rtM        d«      ‚tO        | j                  «       jQ                  t6        jR                  «      «       tU        | j                  «       «      }||dœ}tW        || j                  d|¬«      }| j                  j                  jX                  j[                  t]        j^                  d	d
| j                   «      ta        |«      ||¬«      }tc        | j                  ||«       te        tf        f| j                  ||d dœ|¤Ž}tI        |tf        «      stM        dta        |«      › �«      ‚|| j                  j                  j                  | j                   <   | j                  jh                  r=tI        | j                  «       tj        «      stM        d|› d| j                  «       › �«      ‚d }	|jl                  jn                  jp                  d   }ts        |«      stM        dta        |«      › �«      ‚|}	|	jt                  | j                  jt                  urtM        d|	jt                  › d�«      ‚tw        | j                  «       |d|	d|¬«      |jn                  jp                  d<   ty        | j                   | j                  j                  jz                  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€  z8RandomValueSource is not supported for symfloat wrapping)rG  Ú	raw_valuer1  r‘  r¶  r“  ©r¬  rt  rƒ  r„  z*Expected UnspecializedPythonVariable, got ú=Dynamo attempts to add additional input during export: value=ú	, source=rƒ  ú(Expected fake tensor example_value, got úfake mode (ú^) from fake tensor metadata doesn't match mode({self.tx.fake_mode}) from InstructionTranslatorTr2  r’  Úcall_methodr€  Útensorify_float_attempt)Ú	overwrite)Er'  r¬  r­  rA  rX   rG  rV   rã  r‰  rŠ  r  r†  rH   ræ  rg   rá  ÚmathÚisnanÚisinfÚ	_inductorr±  Ú
cudagraphsr(   rF  rD  rT   rÔ  rQ   r?  r§   r5  r  Úfloat64rÌ  rÍ  Úis_gradtrackingtensorrI  rs   r‹  rR   rå  r  rd   r  r  r  r  r  rB  r  rŒ  rø   r¾  rn   rt  rú  r  r$   rF  r€  r  rù  r”   r  r@  r>   rÝ  r   rÂ  )r‰  ro  rL  rM  rG  r  rƒ  rt  rP  r,  rŒ  s              r"  rì  zVariableBuilder.wrap_symfloatÎ  se  € ð �9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@ä5Ø�G‰GØ�K‰K×Ñä×+Ñ+¨EÓ2Ø'+§{¡{×'?Ñ'?×'ZÑ'ZÓ'\ô
Ðô �M‰M× Ñ ×1Ò1Ü! $§/¡/Ó"3Ô4Ü�z‰z˜%Ô Ü�z‰z˜%Ô ô �‰×%Ñ%×,Ñ,×7Ò7ÜÐOÐQVÔWä×/Ò/Ø%×,Ñ,´LÑ@ð ×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKô Ÿ™ U´%·-±-Ô@ˆô
 �8‰8×Ñ×4Ñ4°]ÔCØ×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKô �d—o‘oÓ'Ô):Ô;Ü ØJóð ô 	�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Ü Ø<¼TÀ*Ó=MÐ<NÐOóð ð 9Cˆ�‰�‰×*Ñ*¨4¯9©9Ñ5à�7‰7�>Š>¤*¨T¯_©_Ó->ÄÔ"LÜ ØOÐP]ÈÐ^gÐhl×hwÑhwÓhyÐgzÐ{óð ð !ÐØ"×(Ñ(×-Ñ-×2Ñ2°?ÑCˆÜ�}Ô%Ü Ø:¼4ÀÓ;NÐ:OÐPóð ð *Ðà×&Ñ&¨d¯g©g×.?Ñ.?Ñ?Ü ØÐ/×9Ñ9Ð:ð ;Cð Cóð ô  '/Ø�O‰OÓØØ#à)ØØ,ô'
ˆ�
‰
�‰˜
Ñ#ô Ø�G‰GØ'ˆD�G‰G�N‰N×'Ñ'ØØðô # J <°Ó4òó
ˆð 	�‰�‰×$Ñ$×+Ñ+¬K¸¿	¹	À4Ç;Á;ÐPTÓ,UÔVäÓ×!Ñ!Ð";¸TÈTÐ!ÔRàˆr2  c                 óJ  — | 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 dœ|¤Ž}|| j                  j                  j                  | j                   <   t/        | j                  «       «      �s.| j                  j0                  r=t        | j                  «       t2        «      st5        d	|› d
| j                  «       › �«      ‚d }|j7                  «       r|j9                  «       }n#|j:                  j<                  j>                  d   }tA        |«      st5        dt'        |«      › �«      ‚|}|jB                  | j                  jB                  urt5        d|jB                  › d�«      ‚tE        | j                  «       |d|d|¬«      |j<                  j>                  d<   |S )NrG  rR  Fr1  r‘  r¶  r“  rS  rT  rU  rƒ  rV  rW  rX  Tr2  r’  )#r'  r¬  r­  rA  r  r  rI  rá  rs   rR   rå  rQ   r  Úupdater  r  r  r  r  rB  r  rŒ  rø   rg   r¾  rn   r‹  Úis_python_constantÚas_python_constantrt  rú  r  r$   rF  r€  )r‰  ro  rM  r  rƒ  rt  rP  r,  s           r"  rò  z,VariableBuilder.wrap_unspecialized_primitivei  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~Ðóð ð !%ÐØ×,Ñ,Ô.à *× =Ñ =Ó ?‘ð !+× 0Ñ 0× 5Ñ 5× :Ñ :¸?Ñ K�Ü˜=Ô)Ü$Ø>¼tÀMÓ?RÐ>SÐTóð ð !.Ðà ×*Ñ*°$·'±'×2CÑ2CÑCÜ$Ø!Ð"3×"=Ñ"=Ð!>ð ?Gð Góð ô
 +3Ø—‘Ó!ØØ#'à-ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð Ðr2  )Trq  ©NN)Qr*  r+  r,  r-  ru   r0  r¦  r‡  r£   rÊ  rÆ  rÚ  rá  r   r   r>  r.  rÔ  Úclassmethodrí  rÖ  Úcacherê  r  r  r  rÓ   r  r  r  rã   r  r  r  r	  r
  r	   r  rÀ   r  r  r8  rK  rÙ  r  r   ró  rô  r“   r   rø  r˜   rü  r•   rý  rû  rþ  r\  rÌ   rÊ   rÿ  r�  r©  rÕ  rÖ  r¿  r   rå  r(  rç  r
   rä  rõ  rò  r  r7   r=   rP  rì  rò  r³  r´  s   @r"  r¿  r¿  û  sé  ø„ Ù=ð %)ñ	7à'ð7ð ð7ð "ð	7ð
 
õ7ð*˜fð ¨ó ð> ð >¨?ó >ð@
¨Oð 
Àó 
ð˜Fó ð h¨s°C¨xÑ&8ð ¸TÀ#ÀsÀ(¹^ÈdÑ=Ró ð ð;˜t F¨H°S¸#°XÑ,>Ð$>Ñ?ò ;ó ð;ð Ø‡_�_ð(¨dð (°t¸FÀHÈSÐRUÈXÑDVÐ<VÑ7Wò (ó ó ð(ðT+Ø—Z‘Z ‘_ r§x¡x°¡}Ñ4ð+à	ó+ðI '×"7Ñ"7¸Ñ"<ð IÀó Ið
Ø—[‘[×&Ñ&×6Ñ6ð
à	ó
ð
 sð 
Ð/Jó 
ð"H¨ð H°ó HðB Ø‡_�_ðà	ˆc�8Ð.°Ð4°oÐEÑFÐFÑ	Gòó ó ðð6U1˜3ð U1 ?ó U1ðn$P sð P¨ó Pð.rØ˜5  c ™?¨D°©I°|ÀZÐOÑPðrà	órðh	H¨ð 	H¸Oó 	HðH¨ð H¸Oó HðH¨#ð H°/ó Hð < e¨e¡mð <¸ÈÑ8Uó <ð u§|¡|ð ¸Dð ÀTó ð$h §¡§¡ð h°_ó hðTk &ð k¨_ó kðZ'¨3ð '°?ó 'ð)¨Uð )°ó )ð ðàðð ˜3˜% Ð0Ñ1ðð 
ò	ó ðð ðàðð ˜5˜' ?Ð2Ñ3ðð 
ò	ó ðð ð ñà�U‰{˜TÑ! CÑ'ðð ðð 
ò	ó ðð <@ñFà�U‰{˜TÑ! CÑ'ðFð ˜3˜% Ð0Ñ1°DÑ8ðFð 
ó	Fð°e·l±lð Àtó ðl §¡ð l°/ó lð\	Y&¨ð Y&°ó Y&ð| '+Ø04ñ	MàðMð ˜tÑ#ðMð '¨Ñ-ð	Mð
 
óMð^Y 5ð Y¨_ó YðvB°#ð B¸/÷ Br2  r¿  Úobjc           	      ó˜  — d }t        | t        «      r| j                  }n"t        dd| › dt	        | «      › �d| › d�g ¬«       |€t        d«      ‚g }t        j                  |«      D ]X  }d }| j                  r,t        | j                  d«      }t        ||j                  «      }|j                  t        ||¬	«      «       ŒZ t        |«      S )
Nzdataclass fields failurezobj: z; variable type: z$Dataclass fields handling fails for z*. Expected it to be a user-defined object.r  z,dataclasses.fields requires a non-None valueÚ__dataclass_fields__r“  )rI  r  ro  rP   rB  r‹  rI  rJ  rG  r[   ra   r'  r@  rÎ   )rj  ro  r?  ÚfieldrG  Úbase_srcs         r"  rG  rG  ®  sÍ   € Ø€EÜ�#Ô0Ô1Ø—	‘	‰äØ.Ø˜C˜5Ð 1´$°s³)°Ð=Ø>¸s¸eÐCmÐnØõ		
ð €}ÜÐKÓLÐLØ€Eä×#Ñ# EÓ*ò FˆØˆØ�:Š:Ü! #§*¡*Ð.DÓEˆHÜ& x°·±Ó<ˆFØ�‰Ô.¨u¸VÔDÕEðFô ˜ÓÐr2  rF  c                 óÌ   — t        | t        j                  «      rIt        | t        «      s9t        j                  | «      rt        | «      |u s| j                  st        | «      } | S rq  )rI  r  r�  r"   Ú_is_functional_tensorr%   r  r~   )ro  rF  s     r"  Ú_clone_inputrq  Ç  sQ   € Ü�%œŸ™Ô&ô �uœjÔ)ô ×+Ñ+¨EÔ2Ü'¨Ó.°)Ñ;à�Šô   Ó&ˆEà€Lr2  r¬  r  rt  rƒ  r„  r  c                 ó‚   — | |||dœ|¥}|€t        ddt        i|¤ŽS t        ddt        i|¤Ž}|j                  | «       |S )NrS  r‚  r1  )rŒ  r÷   rý   Úinstall_global)r¬  rt  rƒ  r„  r  Úkwargsr  s          r"  r  r  Ù  sd   € ð ØØ&Ø&ñ	ð
 ð€Fð Ðä ÑE¬NÐE¸fÑEÐEô #ÑUÔ.JÐUÈfÑUˆà×Ñ˜bÔ!Øˆr2  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rq  )	r¾  r  rÌ  ÚDisableTorchFunctionSubclassrq  rF  ÚtracerÚreal_value_cacherú  )r¬  rt  rƒ  s      r"  r  r  ò  sb   € ð 
‡y‚yô �X‰X×2Ñ2Ó4ñ 	Ü8DØ˜rŸ|™|ó9ˆE�L‰L×)Ñ)¨%¯*©*Ñ5÷	ð 	ð	 ÷	ð 	ús   «8A-Á-A6r‚  c                 óÂ  — |€t        | ||||fi |¤Ž}n;t        |t        j                  «      rt	        | ||||fi |¤Ž}nt        |||||| «      }t        |t        j                  j                  j                  t        j                  j                  j                  f«      r>|j                  j                  dk7  r%|j                  j                  j                  |«       |S )NÚplaceholder)Ú_wrap_fx_proxyrI  r  r�  Ú_wrap_fx_preexisting_tensorÚhandle_traced_outputr†  Ú	variablesr÷   rõ   rú  Úopr­  rÐ  Úrecord_proxyable_vt)r‚  r¬  rt  rƒ  r„  r  Úouts          r"  rŒ  rŒ  +  sÔ   € ð ÐÜ)Ø˜˜E =°-ñ
ØCJñ
‰ô 
�M¤5§<¡<Ô	0Ü)Ø˜˜E =°-ñ
ØCJñ
‰ô #Ø˜2˜u g¨}¸jó
ˆô
 	Øä—‘×'Ñ'×6Ñ6Ü—‘×'Ñ'×7Ñ7ðô	
ð �J‰J�M‰M˜]Ò*à
�	‰	× Ñ ×4Ñ4°SÔ9Ø€Jr2  r  c                 óä  — ddl m} t        |t        j                  «      st        dt        |«      › �«      ‚t        ||«      st        dt        |«      › �«      ‚d|v r-|d   �(|j                  j                  j                  |d   «       |j                  j                  dk(  r'd|j                  j                  vrJt        d|› d	�«      ‚d|j                  j                  v r#t        |j                  j                  d   › «      ‚t        j                  j                  j                  «       5  t!        |«      |j"                  u rn¼t%        |||«       |j&                  r^t        j(                  j+                  «       5  t-        ||j"                  «      |j.                  j0                  |j                  <   d d d «       d
| t2        t4        fv i}d|vrt        d«      ‚|d   €t        d«      ‚|d   |d<   t7        |fd|i|¤Ž}|j8                  j                  dk7  r%t!        |«      |j"                  urt;        d|› �«      ‚d d d «       t=        | |||||«      S # 1 sw Y   Œ¤xY w# 1 sw Y   Œ%xY w)NrG   r  z1_wrap_fx_preexisting_tensor expected tensor, got ú(Expected InstructionTranslatorBase, got râ  rz  rƒ  zplaceholder z* doesn't have 'example_value' in node.metar„  rG  z"source must be provided in optionsz"source must not be None in optionsr¬  r  zN`tensor` needs to be a `FakeTensor`wrapped by this instance of Dynamo. Found: )Úsymbolic_convertr  rI  r  r�  r‹  rB  r­  râ  rd  rú  r  r  r†  r  Ú+_disable_saved_tensors_hooks_during_tracingr%   rF  r  r¾  rÌ  rv  rq  rw  rx  r÷   rý   r  r  rN   Úconstruct_tensor_variable)r‚  r¬  rt  r  r„  r  r  rt  s           r"  r|  r|  S  sY  € õ =ä�fœeŸl™lÔ+ÜØ?ÄÀVÃ¸~ÐNó
ð 	
ô �bÐ3Ô4ÜÐGÌÈRËÀzÐRÓSÐSØ�7Ñ˜w xÑ0Ð<Ø
�	‰	×Ñ×Ñ ¨Ñ 1Ô2ð ‡z�z‡}�}˜Ò%Ø %§*¡*§/¡/Ñ1Ü Ø˜u˜gÐ%OÐPóð ð ˜eŸj™jŸo™oÑ-Ü  E§J¡J§O¡O°OÑ$DÐ#EÓGÐGô 
�‰×	Ñ	×	HÑ	HÓ	Jñ %ä˜vÓ&¨"¯,©,Ñ6Øä(¨¨U°FÔ;Ø�yŠyô —X‘X×:Ñ:Ó<ñ ä@LØ §¡óA�E—L‘L×1Ñ1°%·*±*Ñ=÷ð ˜ZÜ"Ô$@ÐAðBðˆFð ˜wÑ&Ü$Ð%IÓJÐJØ�xÑ Ð(Ü$Ð%IÓJÐJØ& xÑ0ˆF�8Ñä3°FÑL¸rÐLÀVÑLˆFà�=‰=×Ñ Ò'Ü Ó'¨r¯|©|Ñ;ä*ð>Ø>D¸XðGóð ÷E%ôN %Ø�B˜˜v }°góð ÷;ð ú÷%ð %ús&   Ä/AI&Å?8IÆ7BI&ÉI#	ÉI&É&I/c                 óö  — ddl m} t        ||«      st        dt	        |«      › �«      ‚d|v r-|d   �(|j
                  j                  j                  |d   «       d|j                  j                  v r#t        |j                  j                  d   › «      ‚t        j                  j                  j                  «       5  t        |j                  |d¬«      }d d d «       t        |||||| «      S # 1 sw Y   ŒxY w)NrG   r  rƒ  râ  rƒ  T)Úallow_non_graph_fake)r„  r  rI  r‹  rB  r­  râ  rd  rú  r  r  r†  r  r…  r‚   r}  )r‚  r¬  rt  rƒ  r„  r  r  s          r"  r{  r{     sé   € õ =ä�bÐ3Ô4ÜÐGÌÈRËÀzÐRÓSÐSØ�7Ñ˜w xÑ0Ð<Ø
�	‰	×Ñ×Ñ ¨Ñ 1Ô2à˜%Ÿ*™*Ÿ/™/Ñ)Ü §
¡
§¡°Ñ @ÐAÓCÐCô 
�‰×	Ñ	×	HÑ	HÓ	Jñ Rô ' u§z¡z°2ÈDÔQˆ÷	Rô  àØ
ØØØØóð ÷Rð Rús   Â>C/Ã/C8c                 ó¤  — dd l }dd l}dd l}t        | |j                  «      rÇt        | «      rW|j                  rt        j                  s;d| j                  › d| j                  › �}t        d|dg t        j                  ¢¬«       t        |||| ||«      }t        |t        «      st!        dt#        |«      › �«      ‚|j$                  j&                  j)                  ||t*        ¬«       |S t-        |j.                  j0                  d	«      ra|j.                  j0                  j2                  d
k(  r>t        |j.                  j0                  j4                  |j6                  j8                  «      s,|j.                  j0                  |j:                  j<                  u rOt#        |j.                  j0                  «      t>        u rt!        d«      ‚tA        |j.                  j0                  «      S |j.                  j0                  |j6                  jB                  u s,|j.                  j0                  |jD                  jF                  u rtI        | «      S tK        | |jL                  «      r@tO        d„ | D «       «      r.| D �	cg c]  }	tQ        jR                  |	«      ‘Œ }
}	tU        |
fi |¤ŽS t        | tV        tX        f«      �rÃt[        |j.                  | «       g }t]        | «      D ]Î  \  }}|€%|j_                  tQ        jR                  d)i |¤Ž«       Œ-|j`                  jc                  dtd        jf                  ||fi ¬«      }d|v rNt        | tX        «      st!        dt#        | «      › �«      ‚|d   }|ji                  «       }tk        ||d¬«      |d<   n|}|j_                  tm        d*||||dœ|¤Ž«       ŒÐ t        | |jL                  «      rtU        ||fi |¤ŽS tK        | tV        «      rto        |fi |¤ŽS tK        | tX        tp        f«      rts        |fi |¤ŽS tu        | «      st!        dt#        | «      › �«      ‚to        ||jw                  dty        «       «      ¬«      } t{        j|                  t#        | «      «      | fd|i|¤ŽS | �"|j.                  j0                  |j~                  u rtQ        jR                  d)i |¤ŽS t        | |j€                  |j‚                  |j„                  f«      rT|j$                  j†                  j‰                  | |«       t[        |j.                  | «       t‹        jR                  ||| fi |¤ŽS t        | |jŒ                  «      r|j.                  j0                  tŽ        u s=|j.                  j0                  t‘        «       D ��cg c]  \  }}|j’                  ‘Œ c}}v r[t[        |j.                  | «       d }|j.                  j0                  tŽ        u r|j.                  j”                  d   }t—        || |fi |¤ŽS t        | |j˜                  «      r|j.                  j0                  tŽ        u s=|j.                  j0                  t‘        «       D ��cg c]  \  }}|j’                  ‘Œ c}}v r[d }|j.                  j0                  tŽ        u r|j.                  j”                  d   }t[        |j.                  | «       t›        || |fi |¤ŽS t�        jž                  |j.                  j0                  «      r*t¡        |j.                  j0                  |j˜                  «      s=|j.                  j0                  t‘        «       D ��cg c]  \  }}|j˜                  ‘Œ c}}v r$t[        |j.                  | «       t›        || d fi |¤ŽS |j.                  j0                  dk(  r;|j.                  j¢                  dk(  r"t[        |j.                  | «       tQ        | fi |¤ŽS | �lt        | |j˜                  «      rV|j.                  j0                  dk(  r=|j.                  j¢                  dk(  r$t[        |j.                  | «       t›        || d fi |¤ŽS t        | t¤        «      �rv|j.                  j0                  |j¦                  |j¨                  |jª                  t¬        td        jf                  |j®                  j°                  |j²                  td        j´                  |j¶                  j¸                  jº                  |j¶                  j¼                  j¾                  |j¶                  j¼                  jÀ                  t­        |jÂ                  dtÄ        «      t­        |jÂ                  dtÄ        «      |jÆ                  fv s2|j.                  j¢                  dk(  rE|j.                  j0                  dk(  r,t[        |j.                  | «       tQ        jR                  | fi |¤ŽS t        | |jÈ                  jD                  jÊ                  «      r%ddlfmg} t[        |j.                  | «        ||fi |¤ŽS t        | tÐ        «      �rr|j.                  j0                  |j6                  jÒ                  |j6                  j¶                  jÔ                  |jÈ                  jD                  jÖ                  |jÈ                  jD                  jØ                  |jÈ                  jD                  jÚ                  |j6                  jÜ                  |j6                  jÞ                  |j6                  jà                  |j6                  jâ                  |j6                  jä                  |j6                  jæ                  d gtY        té        jê                  «       «      z   v r,t[        |j.                  | «       tQ        jR                  | fi |¤ŽS t        | t¤        tì        tÐ        f«      r–|j.                  j0                  tî        u sN|j.                  j0                  tð        u s2|j.                  j¢                  dk(  rE|j.                  j0                  d!k(  r,t[        |j.                  | «       tQ        jR                  | fi |¤ŽS t        | tì        «      s|j.                  j0                  d"v r,t[        |j.                  | «       tQ        jR                  | fi |¤ŽS t        | |jò                  jô                  jö                  «      rtù        jR                  || |¬#«      S tû        t#        | «      «      rtý        t#        | «      «      rtù        jR                  | | |¬#«      S |jò                  jô                  jÿ                  |j$                  �j                   | «      }tù        jR                  |||¬#«      S t        d$d%�t        | «      › d&|j.                  j¢                  › d'|j.                  j0                  › �d(g ¬«       y c c}	w c c}}w c c}}w c c}}w )+Nr   zsparse tensor with layout=z, shape=z4Attempted to wrap sparse Tensor with VariableTrackerzBtorch.compile does not support sparse Tensors with VariableTrackerr  zExpected VariableTracker, got )Úmutation_type_clsr*  Ú	set_statez&proxy.node.target must not be a stringc              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrq  )rI  r8  rs  s     r"  r»  z'handle_traced_output.<locals>.<genexpr>  s   è ø€ ò 3Ø Œ
�1”c×ñ3ùs   ‚r°  )ÚkindÚtargetr{  rt  rG  z#Expected list for source path, got Fr…  )r‚  r¬  rt  rƒ  z)expected namedtuple or structseq but got r'  ©r'  rh  ÚqueryrY  Úrecord_eventÚget_rankÚget_world_sizeÚ
bit_lengthr�   rê   Ú
is_integerr€  )r*  Ú	__round__r4  ztorch.* op returned non-Tensorzexample_value type: z; op: z
; target: zUtorch.* ops that return a non-Tensor cannot be traced into the Dynamo FX graph outputrq  r1  )‚Útorch._functorch.vmapÚtorch._subclasses.fake_tensorÚtorch._utilsrI  r�  r&   r¾  rH   r	  ÚlayoutÚshaperP   rI   r
  r†  r£   r‹  rB  r­  rÓ  Ú
_track_objrŸ   r!  rú  rŽ  r*  rt  rÌ  r9  ru  Úset_rng_stater.  rü   Ú_DisableFuncTorchrö  Ú_is_in_bad_forkr  r‘   r÷  r<  r§   r5  rË   ró  rô  r–   rÅ  r@  rw  rù  ÚoperatorÚgetitemrš  re   rŒ  rÎ   r@   rÉ   rŠ   r_  r¢   r  r»  Úmanual_seedr   ÚSymFloatr  rÐ  Útrack_produced_symintsrõ   rø  r   rM   Úcurrent_streamr{  rò   rþ  rð   rw  r¸  r3  r  r8  Úsym_intÚsym_maxÚsym_minrº  Ú_utilsÚ_element_sizeÚseedrs  rÍ  ÚvmapÚ_validate_and_get_batch_sizeÚpredispatchÚ_vmap_increment_nestingÚ_vmap_decrement_nestingrÌ  r}  Ú_constrain_as_sizeÚbackendsÚ
SDPAParamsÚsdparë   r0  Ú _are_functorch_transforms_activeÚis_batchedtensorÚis_flash_attention_availableÚcan_use_flash_attentionÚcan_use_efficient_attentionÚ_get_cudnn_sdp_enabledÚ_get_flash_sdp_enabledÚ_get_mem_efficient_sdp_enabledÚ_get_math_sdp_enabledÚ_get_overrideable_sdp_enabledÚ_is_autocast_availablerô   r=  r(  r   r   r:  r;  r<  ré   r   r   rE  rF  r    )rƒ  r¬  rt  r  r„  r‚  r  r!  rY  rt  ÚsizesÚunpackedrj  rQ  Úproxy_irG  Ú	options_irh  r¶  Údevice_interfacerK  rë   ru  s                          r"  r}  r}  Æ  sB  € ó !Û(Ûä�- §¡Ô.ô ˜Ô'Ø—	’	¤×!>Ò!>ð 3°=×3GÑ3GÐ2HÈÐQ^×QdÑQdÐPeÐfˆGÜØNØØ`Ø8Ô)×7Ñ7Ð8õ	ô (Ø˜˜E =°-Àó
ˆô ˜#œÔ/Ü Ð#AÄ$ÀsÃ)ÀÐ!MÓNÐNØ
�	‰	×Ñ×)Ñ)Ø�3Ô*>ð 	*ô 	
ð ˆ
ä�—
‘
×!Ñ! :Ô.Ø�J‰J×Ñ×&Ñ&¨+Ò5ä�u—z‘z×(Ñ(×1Ñ1°5·8±8×3EÑ3EÔFØ�:‰:×Ñ §¡× :Ñ :Ñ:ä�—
‘
×!Ñ!Ó"¤cÑ)Ü Ð!IÓJÐJä+¨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Ô:Ü,ØAÄ$À}ÓBUÐAVÐWóð ð % XÑ.�FØ '§¡£�IÜ*7Ø#ØØ',ô+�I˜hÒ'ð !(�Ið —‘ä%ð à#-ØØ%Ø&)ñð $ñõ
ðC+	ôX �m U§Z¡ZÔ0ô   ¨%Ñ;°7Ñ;Ð;Ü�M¤5Ô)Ü  Ñ5¨WÑ5Ð5Ü�M¤D¬.Ð#9Ô:Ü Ñ4¨GÑ4Ð4ä  Ô/Ü$Ø?ÄÀ]Ó@SÐ?TÐUóð ô %ØØ%Ÿk™k¨/Ô;KÓ;MÓNôˆHð LÔ+×6Ñ6´t¸MÓ7JÓKØñà!ðð ñð ð
 
Ð	 %§*¡*×"3Ñ"3°u×7HÑ7HÑ"HÜ×&Ñ&Ñ7¨wÑ7Ð7Ü	�M E§L¡L°%·.±.À%Ç-Á-Ð#PÔ	QØ
�	‰	× Ñ ×7Ñ7¸ÀuÔMÜ˜%Ÿ*™* mÔ4Ü×%Ñ% b¨%°ÑJÀ'ÑJÐJä�= %§,¡,Ô/Ø�J‰J×ÑÔ!=Ñ=Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×'Ó'óñ 
ô 	˜%Ÿ*™* mÔ4ØˆØ�:‰:×ÑÔ <Ñ<Ø—J‘J—O‘O AÑ&ˆEä˜e ]°EÑE¸WÑEÐEä�= %§+¡+Ô.Ø�J‰J×ÑÔ!=Ñ=Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×'Ó'óñ 
ð ˆØ�:‰:×ÑÔ <Ñ<Ø—J‘J—O‘O AÑ&ˆEÜ˜%Ÿ*™* mÔ4ä˜U M°5ÑD¸GÑDÐDä�‰˜Ÿ
™
×)Ñ)Ô*Ü�u—z‘z×(Ñ(¨%¯+©+Ô6Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×Óóñ 
ô 	˜%Ÿ*™* mÔ4Ü˜U M°4ÑC¸7ÑCÐCØ	�‰×	Ñ	˜gÒ	%¨%¯*©*¯-©-¸=Ò*HÜ˜%Ÿ*™* mÔ4Ü Ñ9°Ñ9Ð9àÐ!Ü�} e§k¡kÔ2Ø�J‰J×Ñ Ò/Ø�J‰J�M‰M˜]Ò*ä˜%Ÿ*™* mÔ4Ü˜U M°4ÑC¸7ÑCÐCÜ	�M¤3Õ	'Ø�
‰
×Ñà�M‰MØ�M‰MØ�M‰MÜÜ×ÑØ�L‰L×&Ñ&Ø�J‰JÜ�L‰LØ×Ñ×!Ñ!×>Ñ>Ø×Ñ×(Ñ(×@Ñ@Ø×Ñ×(Ñ(×@Ñ@ä�E×%Ñ% z´8Ó<Ü�E×%Ñ%Ð'7¼ÓBð ×$Ñ$ð#
ñ	
ð, �J‰J�M‰M˜]Ò*¨u¯z©z×/@Ñ/@ÀLÒ/Pô 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M 5§>¡>×#6Ñ#6×#AÑ#AÔ	BÝ,ä˜%Ÿ*™* mÔ4Ù! %Ñ3¨7Ñ3Ð3Ü	�M¤4Õ	(Ø�
‰
×Ñà�H‰H×5Ñ5Ø�H‰H×Ñ×0Ñ0Ø�N‰N×Ñ×<Ñ<Ø�N‰N×Ñ×7Ñ7Ø�N‰N×Ñ×;Ñ;Ø�H‰H×+Ñ+Ø�H‰H×+Ñ+Ø�H‰H×3Ñ3Ø�H‰H×*Ñ*Ø�H‰H×2Ñ2Ø�H‰H×+Ñ+Øð
ô Ô3×8Ñ8Ó:Ó
;ñ<ñ	<ô" 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M¤C¬´Ð#5Ô	6Ø�
‰
×Ñœ^Ñ+Ø�:‰:×Ñ¤
Ñ*Ø�J‰J�M‰M˜]Ò*¨u¯z©z×/@Ñ/@ÀFÒ/Jä˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M¤5Ô	)¨U¯Z©Z×->Ñ->ÐBVÑ-VÜ˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M 5§>¡>×#EÑ#E×#VÑ#VÔ	Wô )×/Ñ/ØØØô
ð 	
ô
 
œ˜]Ó+Ô	,ä¤ ]Ó 3Ô4Ü,×3Ñ3ØØØôð ð
  Ÿ.™.×<Ñ<×NÑNØ�I‰I×Ò ó
ˆô )×/Ñ/ØØØô
ð 	
ô 	Ø4Ø*­7°=Ó+AÐ*BÀ&ÈÏÉÏÉÈÐWaÐbg×blÑbl×bsÑbsÐatÐuØoØö		
ùòi Dùó`ùóùós   É5v;Öw ÙwÜ<wc                 ó&  — t        | «      t        j                  t        j                  j                  t        j
                  j                  j                  t        j
                  j                  j                  fv st        | «      ry t        | «      S rq  )rB  r  r�  rÕ  rï  r   rƒ  r"   rð  rñ  rC   r~  s    r"  r  r  ã  sj   € ÜˆEƒ{Ü�‰Ü�‰×ÑÜ×Ñ×%Ñ%×0Ñ0Ü×Ñ×+Ñ+×<Ñ<ð	ñ ô
 
' uÔ	-ð$ ä�E‹{Ðr2  c                 óä  — | j                  |«      }t        |t        j                  j                  j
                  «      r°|j                  |j                  u r˜|r|}nŽt        |t        j                  j                  «      rt        j                  j                  }nOt        |t        j                  j                  «      rt        j                  j                  }nt        j                  }||d<   |S )NÚ
class_type)Ú
specializerI  r  r   rƒ  r"   rF  rÕ  rï  r6  r�  )r‚  r¬  rƒ  r„  Úspecialized_propsÚtensor_types         r"  Úget_specialized_propsrË     s©   € ð #×-Ñ-¨mÓ<Ðô 	�=¤%×"3Ñ"3×"?Ñ"?×"JÑ"JÔKØ×#Ñ# r§|¡|Ñ3áØ'‰KÜ˜¤u§x¡x×'9Ñ'9Ô:ÜŸ(™(×,Ñ,‰KÜ˜¤u§x¡x§¡Ô7ÜŸ(™(Ÿ/™/‰KäŸ,™,ˆKØ*5Ð˜,Ñ'àÐr2  c                 ó$  — t        ||j                  «      }t        |j                  |«       |j                  j                  dk7  r&|j
                  j                  j                  ||«       |j                  t        | |||«      «        | |fi |¤ŽS )z‹
    Actually construct a tensor variable after all the pre-processing from
    wrapping a pre-existing or newly created tensor value.
    rz  )
rq  rF  r–   rú  r  r­  rÐ  r¤  rd  rË  )r‚  r¬  rt  rƒ  r„  r  s         r"  r†  r†    sv   € ô ! °·±Ó=€MÜ�e—j‘j -Ô0ð
 ‡z�z‡}�}˜Ò%Ø
�	‰	× Ñ ×7Ñ7¸ÀuÔMØ‡N�NÔ(¨°R¸ÈÓVÔWá�eÑ'˜wÑ'Ð'r2  c                  óÆ   — t         j                  dk(  rt        j                  S t         j                  dk(  rt        j                  S t        dt         j                  › �«      ‚)NÚdynamicÚunbackedz+invalid automatic_dynamic_shapes_mark_as = )rH   Ú automatic_dynamic_shapes_mark_asr7   r  rÜ  rÛ  r1  r2  r"  rE  rE  5  sT   € Ü×.Ñ.°)Ò;Ü×!Ñ!Ð!Ü	×	0Ñ	0°JÒ	>Ü×"Ñ"Ð"äØ9¼&×:aÑ:aÐ9bÐcó
ð 	
r2  Ú_DYNAMIC_SOURCESÚ_DYNAMIC_SOURCES_CONFIG_HASHz^(.+):(\d+)$Ú_DIM_SUFFIX_REÚentryc                 óŽ   — t         j                  | «      }|r+|j                  d«      t        |j                  d«      «      fS | dfS )zÊParse a source list entry into (pattern, dim).

    Entries may end with an optional ``:N`` suffix where ``N`` is a literal
    non-negative integer (the dim portion is not part of the name regex).
    r�   rG   N)rÓ  ÚmatchÚgroupr8  )rÔ  Úms     r"  Ú_parse_source_entryrÙ  J  s@   € ô 	×Ñ˜UÓ#€AÙØ�w‰w�q‹zœ3˜qŸw™w q›z›?Ð*Ð*Ø�$ˆ;Ðr2  c                  óX  — t        t        j                  j                  j                  «      } t
        �t        | k(  rt
        S t        j                  j                  j                  j                  dd«      j                  d«      D �cg c]  }|rt        |«      ‘Œ c}a| at
        S c c}w ©Nú r?  ú,)
Úhashr  ÚcompilerrH   Údynamic_sourcesrÑ  rÒ  ÚreplaceÚsplitrÙ  ©Úcurrent_hashÚss     r"  Úget_dynamic_sourcesræ  V  s’   € ô œŸ™×-Ñ-×=Ñ=Ó>€Lô Ð#Ô(DÈÒ(TÜÐô
 —‘×&Ñ&×6Ñ6×>Ñ>¸sÀBÓG×MÑMÈcÓRöàÙô 	˜AÕòÐð
 $0Ð äÐùòó   ÂB'Úsource_nameÚdimc                 óì   — t        «       }|D ]e  \  }}|| k(  st        j                  || «      sŒ"|�|�||k(  sŒ,|€|n|› d|› �}t        j	                  d| |«       t
        j                  d| |«        y y)a  Check whether ``source_name`` is in the dynamic-sources list.

    If ``dim`` is None, returns True if any entry matches the source
    name (regardless of any per-dim qualifier). This is the right semantics for
    callers that ask "is this source dynamic at all?" (e.g. the static-shapes
    early return, or non-tensor int sources which have no dim).

    If ``dim`` is given, returns True only when a matching entry either has no
    dim qualifier ("all dims dynamic") or its dim qualifier equals ``dim``.
    ú:z6%s was marked dynamic due to dynamic-sources entry: %sTF)ræ  r  rÖ  rR  rS  rG  rH  )rè  ré  rà  ÚpatternÚpat_dimÚprettys         r"  rß  rß  j  s’   € ô *Ó+€OØ+ò Ñˆ�Ø�kÒ!¤R§X¡X¨g°{Õ%CØˆ{˜g˜o°¸C³Ø$+ O™¸G¸9ÀAÀgÀYÐ9O�Ü—	‘	ØLØØôô
 #×'Ñ'ØLØØôñ
 ðð r2  r'  rÐ  c           
      óì  — |j                  «       }t        |«      s |j                  «       }|j                  «       }d g|z  }t	        |«      D �cg c]
  }||   | f‘Œ }}|j                  t        ¬«       i }	|D ]>  \  }
}| }|	j                  |
|
«      ||<   |	j                  |
||   z  t        |«      «       Œ@ ng }t        | |t        j                  t        |«      t        |«      «      «      S c c}w )Nr<  )Úsizer&   Ústrideré  r\  Úsortr6   r_  Ú
setdefaultrW   rX   rV   Úmake_tensorró  )r¬  r'  rÐ  Úex_sizeÚ	ex_strideré  rñ  rj  ÚpendingÚ
candidatesÚi_strideÚneg_is               r"  Úrecord_automatic_dynamicrû  ˆ  sò   € ð �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ð ˆä$à
Øä×'Ñ'¬¨g«¼¸f»ÓFóð ùò ;s   ÁC1Ú_UNBACKED_SOURCESÚ_UNBACKED_SOURCES_CONFIG_HASHc                  óX  — t        t        j                  j                  j                  «      } t
        �t        | k(  rt
        S t        j                  j                  j                  j                  dd«      j                  d«      D �cg c]  }|rt        |«      ‘Œ c}a| at
        S c c}w rÛ  )
rÞ  r  rß  rH   Úunbacked_sourcesrü  rý  rá  râ  rÙ  rã  s     r"  Úget_unbacked_sourcesr   ®  s’   € ô œŸ™×-Ñ-×>Ñ>Ó?€Lô Ð$Ô)FÈ,Ò)VÜ Ð ô
 —‘×&Ñ&×7Ñ7×?Ñ?ÀÀRÓH×NÑNÈsÓSöàÙô 	˜AÕòÐð
 %1Ð!äÐùòrç  c                 óÆ   — t        «       }|D ]R  \  }}|| k(  st        j                  || «      sŒ"|�|�||k(  sŒ,t        j	                  d| |€|«        y|› d|› �«        y y)zŠCheck whether ``source_name`` is in the unbacked-sources list.

    See :func:`is_dynamic_source` for the ``dim`` argument semantics.
    z8%s was marked unbacked due to unbacked-sources entry: %srë  TF)r   r  rÖ  rR  rS  )rè  ré  rÿ  rì  rí  s        r"  rá  rá  Â  s‚   € ô
 ,Ó-ÐØ,ò Ñˆ�Ø�kÒ!¤R§X¡X¨g°{Õ%CØˆ{˜g˜o°¸C³Ü—	‘	ØNØØ&˜�Gôñ
 ð 8?°i¸qÀÀ	Ð4Jôñ
 ðð r2  Ú_DYNAMIC_VALUESÚ_DYNAMIC_VALUES_CONFIG_HASHc                  óX  — t        t        j                  j                  j                  «      } t
        �t        | k(  rt
        S t        j                  j                  j                  j                  dd«      j                  d«      D �ch c]  }|rt        |«      ’Œ c}a| at
        S c c}w rÛ  )
rÞ  r  rß  rH   Údynamic_valuesr  r  rá  râ  r8  rã  s     r"  Úget_dynamic_valuesr  Ù  sŽ   € ô œŸ™×-Ñ-×<Ñ<Ó=€LäÐ"Ô'BÀlÒ'RÜÐô —‘×&Ñ&×5Ñ5×=Ñ=¸cÀ2ÓF×LÑLÈSÓQöàÙô 	ˆA�ò€Oð
 #/ÐäÐùòrç  c                 ób   — t        «       }|syt        | t        «      rt        d| › d�«      ‚| |v S )zEReturn True if ``value`` matches an entry in the dynamic-values list.Fzis_dynamic_value got a bool (z); callers must pass an int)r  rI  r0  rÆ  )ro  r  s     r"  rà  rà  ë  sA   € ä'Ó)€NÙØÜ�%œÔÜØ+¨E¨7Ð2MÐNó
ð 	
ð �NÐ"Ð"r2  rú  Úview_base_contextÚ#shape_env_to_source_to_symbol_cachec           	      ó*  — |�Rt        |«      | j                  «       k7  r6t        dt        |«      › d|j                  › d| j                  «       › d�«      ‚g }t        j
                  g| j                  «       z  }t        | j                  «       «      D ]ð  }|€ |j                  t        j                  «       Œ%||   }t        |t        «      rJ| j                  |«      }	|	|k7  rt        d|› d|› d|	› �«      ‚|j                  t        j                  «       Œ„t        |t        j                  «      r |j                  t        j                  «       Œ¾|€ |j                  t        j                  «       Œàt        d|› d	|›d
�«      ‚ t        |||||¬«      S )NzTensorSpec has z dims but tensor z has z dimszshapes_spec declares dim rÕ  rÖ  zshapes_spec dim r×  z (expected LeafIntSpec))Údynamic_sizesÚdynamic_stridesr  Útensor_sourcer	  )r]  ré  rÛ  r'  r7   ÚINFER_STRIDEr\  r@  rO  rI  r8  rð  r  r   rÜ  r:   )
rÐ  rG  rú  r  r	  r  r  rj  Údim_specÚactual_sizes
             r"  Ú"_symbolic_context_from_shapes_specr  ÷  s‘  € ð Ð¤3 {Ó#3°q·u±u³wÒ#>ÜØœc +Ó.Ð/Ð/@ÀÇÁÀð NØ—5‘5“7�)˜5ð"ó
ð 	
ð €MÜ!×.Ñ.Ð/°!·%±%³'Ñ9€Oä�1—5‘5“7‹^ò ˆØÐØ× Ñ ¤×!2Ñ!2Õ3à" 1‘~ˆHÜ˜(¤CÔ(ØŸf™f Q›i�Ø (Ò*Ü$Ø3°A°3Ð6LØ#˜* J¨{¨mð=óð ð ×$Ñ$¤Z×%6Ñ%6Õ7Ü˜H¤e§l¡lÔ3Ø×$Ñ$¤Z×%8Ñ%8Õ9ØÐ!Ø×$Ñ$¤Z×%6Ñ%6Õ7ä Ø& q cÐ)<¸X¸Lð I-ð .óð ð%ô. #Ø#Ø'Ø+ØØ,Oôð r2  rX  Úsize_symc                 ó  — ddl m} |j                  j                  }t	        | |«      �r| j
                  }|j                  j                  }| j                  �| j                  |j                  |<   ||j                  vrw||j                  |<   | j                  �"t        j                  || j                  k\  «       | j                  �"t        j                  || j                  k  «       t        |«       y|j                  |   }|j                  t!        j"                  ||«      d| j$                  › d�«       yt	        | t        j&                  «      r’| j                  j                  }|j(                  }t!        j"                  |j                  j                  |«      }	|j+                  |j                  «      rt-        ||	«       y|j.                  j1                  ||	f«       yt3        dt5        | «      j6                  › �«      ‚)aI  Wire an IntVar or SymInt spec leaf into the real shape env.

    A spec leaf may be:
      - IntVar:  bare spec variable. Records
        ``_spec_symbol_to_compile_symbol[A.sympy_sym] = u_new`` so future bare/derived
        uses can resolve A; emits a runtime eq-check on repeat occurrences
        (dedup).
      - SymInt:  derived expression (e.g. ``A * 2 + 1``) backed by the spec
        ShapeEnv. Emits
        ``torch._check(u_new == expr.xreplace(_spec_symbol_to_compile_symbol))``, or
        defers to ``_shape_spec_pending_assumptions`` if any free spec symbol isn't
        bound yet (drained on the next bare-IntVar binding).

    ``_spec_symbol_to_compile_symbol`` only ever holds IntVar sympy.Symbol entries.

    ``size_sym`` is the freshly allocated unbacked SymInt for this leaf's
    input (tensor dim or scalar arg).
    r   )r-   NzIntVar(z) dedup eq-checkz0_wire_spec_slot: expected IntVar or SymInt, got )Ú"torch.fx.experimental.dynamic_specr-   rú  r	  rI  Ú	sympy_symr  Úoptimization_hintÚvar_to_hint_overrideÚ_spec_symbol_to_compile_symbolÚminr  Ú_checkÚmaxÚ%_drain_shape_spec_pending_assumptionsÚguard_or_defer_runtime_assertr  ÚEqr'  r   Úfree_symbolsÚissubsetÚ_emit_pending_boolÚ_shape_spec_pending_assumptionsr@  rÆ  rB  r*  )
rX  r  Ú_IntVarr	  Úspec_symÚcompile_exprÚexisting_exprÚ	spec_exprÚfreeÚdeferred_bools
             r"  rÞ  rÞ  &  s›  € õ, Eà—‘×'Ñ'€Iä�$˜Õ ð —>‘>ˆØ—}‘}×)Ñ)ˆð ×!Ñ!Ð-Ø;?×;QÑ;QˆI×*Ñ*¨<Ñ8Ø˜9×CÑCÑCØAMˆI×4Ñ4°XÑ>ð �x‰xÐ#Ü—‘˜X¨¯©Ñ1Ô2Ø�x‰xÐ#Ü—‘˜X¨¯©Ñ1Ô2Ü1°)Õ<à%×DÑDÀXÑNˆMØ×3Ñ3Ü—‘˜ }Ó5Ø˜$Ÿ)™)˜Ð$4Ð5õô 
�Dœ%Ÿ,™,Ô	'Ø—I‘I—N‘Nˆ	Ø×%Ñ%ˆÜŸ™ §¡×!3Ñ!3°YÓ?ˆØ�=‰=˜×AÑAÔBÜ˜y¨-Õ8à×5Ñ5×<Ñ<¸dÀMÐ=RÕSäØ>¼tÀD»z×?RÑ?RÐ>SÐTó
ð 	
r2  r	  Ú	bool_exprc                 ó^   — |j                  | j                  «      }| j                  |d«       y)zâSubstitute spec symbols and defer the resulting boolean as a runtime
    assert. ``bool_expr`` is a sympy boolean (e.g. ``Eq``, ``Gt``) whose free
    spec symbols must already be present in ``_spec_symbol_to_compile_symbol``.zshapes_spec deferred checkN)Úxreplacer  r  )r	  r*  Úsubstituteds      r"  r!  r!  j  s+   € ð ×$Ñ$ Y×%MÑ%MÓN€KØ×+Ñ+¨KÐ9UÕVr2  c                 óî   — | j                   }|sy| j                  j                  «       }g }|D ]6  \  }}|j                  |«      rt	        | |«       Œ$|j                  ||f«       Œ8 || j                   dd y)ul  Re-scan pending derived/assumption checks; emit any whose deps are now bound.

    TODO: optimize with an inverted index (sym â†’ pending entries) if the
    pending list grows large. Inductor uses this pattern in
    ``graph.py:ras_by_symbol``. Spec wiring typically has < 10 entries so
    the linear scan here is fine; revisit if profiling shows otherwise.
    N)r"  r  r=  r   r!  r@  )r	  r÷  Ú
subst_keysÚkeepr(  r*  s         r"  r  r  r  sz   € ð ×7Ñ7€GÙØØ×9Ñ9×>Ñ>Ó@€JØ€DØ"ò +‰ˆˆiØ�=‰=˜Ô$Ü˜y¨)Õ4à�K‰K˜˜yÐ)Õ*ð	+ð
 48€I×-Ñ-©aÑ0r2  c                 ó    — |j                   D ]?  }|j                  j                  }| j                  j	                  |j
                  |f«       ŒA y)znAppend each ShapesSpec.assumptions SymBool to the pending list.
    Called BEFORE any input is processed.
    N)Ú_assumptionsrú  r  r"  r@  r  )r	  rd  Úar*  s       r"  Ú_wire_spec_assumptionsr4  ‡  sH   € ð ×%Ñ%ò 
ˆØ—F‘F—K‘Kˆ	Ø×1Ñ1×8Ñ8Ø×#Ñ# YÐ/õ	
ñ
r2  c           	      óº  ‡	— | j                   }|sy| j                  j                  «       }dt        dt        fd„Š	g }t        «       }|D ]R  \  }}||z
  }|st        d|› d�«      ‚||z  }t        ˆ	fd„|D «       «      }|j                  d ‰	|«      › d	|› d
�«       ŒT t        dt        |«      › dt        ˆ	fd„|D «       «      › d�dj                  |«      z   «      ‚)zÓVerify all pending spec assumptions/derived-dim checks have been
    emitted (i.e. every spec IntVar referenced by a derived expression or
    user assumption has been bound by some bare-IntVar input slot).
    Nrå  r  c                 óB   — t        j                  ddt        | «      «      S )Nz#\d+r?  )r  r  r.  )rå  s    r"  Ú_prettyz&_finalize_spec_wiring.<locals>._pretty¡  s   € Ü�v‰v�g˜r¤3 q£6Ó*Ð*r2  z<_finalize_spec_wiring: pending entry has all symbols bound (zP); _drain_shape_spec_pending_assumptions should have removed it before finalize.c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wrq  r1  ©rº  rå  r7  s     €r"  r»  z(_finalize_spec_wiring.<locals>.<genexpr>±  s   øè ø€ Ò;¨a™w qŸzÑ;ùó   ƒz  - z  (unbound: rg  zshapes_spec: z. pending check(s) reference unbound IntVar(s) c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wrq  r1  r9  s     €r"  r»  z(_finalize_spec_wiring.<locals>.<genexpr>µ  s   øè ø€ Ò<¨1™G AŸJÑ<ùr:  zŠ. Every IntVar used in a derived expression or assumption must also appear as a bare-IntVar slot somewhere in the spec. Offending checks:
ú
)r"  r  r=  r‡  r.  rÂ  rA  Úsortedr@  rÛ  r]  rC  )
r	  r÷  r/  ÚlinesÚall_unboundr(  r*  ÚmissingÚmissing_namesr7  s
            @r"  Ú_finalize_spec_wiringrB  ’  s  ø€ ð
 ×7Ñ7€GÙØà×9Ñ9×>Ñ>Ó@€Jð+”6ð +œcó +ð
 €EÜ%(£U€KØ"ò 
N‰ˆˆiØ˜Ñ#ˆÙÜðØ�;ð 3ð4óð ð
 	�wÑˆÜÓ;°7Ô;Ó;ˆØ�‰�t™G IÓ.Ð/¨|¸M¸?È!ÐLÕMð
Nô Ø
œ˜E›
�|ð $ÜÓ<°Ô<Ó<Ð=ð >Fð	Gð �)‰)�EÓ
ñ		óð r2  Ústatic_shapesÚ
outer_onlyc                 óö  ‡3‡4‡5— | j                   rGt        | t        j                  j                  j
                  j                  «      st        dddg ¬«       |j                  }|j                  j                  j                  j                  | d «      }|r|j                  ni }d }	| j                  «       r$t        |d«      }
t!        | j"                  ||
|«      }	t%        | «      �rQ|�sNt!        | |||d¬«      }t        |t&        «      st)        dt+        |«      › �«      ‚i }t+        | «      j-                  | «      \  }}|D ]l  }t/        | |«      xxt        j0                  d	˜ x�"\   } t        ||«      }t!        ||||«      ||<   ŒE  xt2        d	˜ x�\    ŒU }t)        d
t+        |«      › �«      ‚ t5        |j6                  |j8                  |j:                  |j<                  |	|j>                  |j                  |t        | t        j                  j                  j
                  j                  «       ¬«	      S ddl m!Š4m"Š5 tG        ˆ5fd„| jI                  «       D «       «      rŠdtJ        dtL        fˆ4fd„}t'        | jI                  «       D �cg c]
  } ||«      ‘Œ c}tL        jN                  g| jQ                  «       z  d g| jQ                  «       z  d g| jQ                  «       z  |	||¬«      S tR        jT                  €ƒ|r�tW        |«      svt'        tL        jX                  g| jQ                  «       z  tL        jN                  g| jQ                  «       z  d g| jQ                  «       z  d g| jQ                  «       z  |	||¬«      S t[        ||| «      }t]        | «      }i Š3dt^        dddt`        dd fˆ3fd„}ddl1m2} |j                  jf                  �`|j                  jf                  D ]G  }t        ||«      rŒ|jh                  |k(  sŒ  ||jP                  |jj                  |j                  «       ŒI tR        jT                  �tm        | |||	|«      S g }g }g }g }g }to        | jQ                  «       «      D �]Ì  }|t/        | dd	«      v } |t/        | dd	«      v }!|t/        | dd	«      v }"|"rtp        js                  d|«       |t/        | dd	«      v xs |t/        | dd	«      v }#|t/        | dd	«      v }$|ju                  t/        | d i «      j                  |g «      «       tw        |j                  «      }%|}
t        |
tx        «      r|
j{                  «       }
|"sFt        |
t|        «      r†|
j~                  �zt�        |
j~                  «      j                  |%|d!i«      |   rPt‚        j…                  d"|«       t†        g| jQ                  «       z  }&tˆ        |&|<   |t‹        jŒ                  |&¬#«      z  }tR        jŽ                  xr |j‘                  |«      }'tR        jŽ                  xr |j“                  |«      }(tW        ||«      rt‚        j…                  d$||«       d}'t•        | jI                  |«      «      r)t‚        j…                  d%||| jI                  |«      «       d}'t—        ||«      rt‚        j…                  d&||«       d}'|'xs |(})‰3j                  |«      }|�€d }*d }+|"r¸tR        j˜                  s¨d }+t›        | d'«      r�| jœ                  D �,cg c]  },|,jP                  |k(  sŒ|,‘Œ c},jŸ                  «       }-|-j                   €|-j¢                  €t¥        d!¬(«      }*nÎdd)l mS}.  |.t©        |-j                   |-j¢                  ¬*«      d!¬+«      }*nžt¥        d!¬(«      }*n‘| rt¥        d!¬(«      }*n‚|$s+|)r)t«        d,d«       |'rt¥        d¬(«      }*|(rbt¥        d¬(«      }+nU|$stR        jŽ                  st«        d,d!«       d }*d }+n2|\  }*}/d }+|› d-|› d.�}0|/|j                  j¬                  j®                  |0<   |ju                  |*«       |ju                  |+«       |!st—        ||«      rtL        j°                  }1n˜|*€|"s|#s ‰5| jI                  «       |   «      r|)rt³        «       }1nltL        j´                  }1n[|stR        j¶                  s|$rtL        jX                  }1n6tR        j¶                  stp        js                  d/|«       tL        j¸                  }1|+�tL        j´                  }2ntL        jN                  }2|ju                  |1«       |ju                  |2«       �ŒÏ t'        ||||||	||t/        | d0d «      t/        | d1d «      |jº                  ¬2«      S c c}w c c},w )3NzGEncountered strided NestedTensor in automatic dynamic dim determinationr?  rø  r  rû  T)rD  z&Expected StatefulSymbolicContext, got r1  z#expected Tensor or OpaqueBase, got )	r  r  Úconstraint_sizesÚconstraint_stridesr  r  r	  Úinner_contextsÚtrack_outer_size_strider   )Úhas_guarding_hintÚis_nested_intc              3   óT   •K  — | ]  }t        |t        «      xr	  ‰|«       –— Œ! y ­wrq  )rI  r   )rº  rå  rK  s     €r"  r»  z%_automatic_dynamic.<locals>.<genexpr>
  s(   øè ø€ Ò
L¸aŒ:�aœÓ Ò9©°qÓ)9Ð%9Ó9Ñ
Lùs   ƒ%(rå  r  c                 ó”   •— t        | t        «      st        j                  S  ‰| «      st        j                  S t        j
                  S rq  )rI  r   r7   rO  rÜ  r  )rå  rJ  s    €r"  Ú_classify_symintz,_automatic_dynamic.<locals>._classify_symint  s9   ø€ Ü˜a¤Ô(Ü!×(Ñ(Ð(Ù$ QÔ'Ü!×*Ñ*Ð*Ü×%Ñ%Ð%r2  )r  r  rF  rG  r  r  r	  ré  Úconstraint_rangeÚStrictMinMaxConstraintr'  c                 ó–   •— | ‰v r=ddl m} ‰|    \  }} ||j                  |j                  z  d¬«      }|xs |}||f‰| <   y ||f‰| <   y )Nr   ©rP  F©Úvrr§  )Ú%torch.fx.experimental.symbolic_shapesrP  rT  )	ré  rO  r'  rP  Úold_constraint_rangeÚold_nameÚnew_constraint_rangeÚnew_nameÚdim2constraints	           €r"  Úupdate_dim2constraintz1_automatic_dynamic.<locals>.update_dim2constraint8  sm   ø€ ð �.Ñ ÝTà-;¸CÑ-@Ñ*Ð  (Ù#9Ø#×&Ñ&Ð)=×)@Ñ)@Ñ@Øô$Ð ð  Ò' 4ˆHØ"6¸Ð"@ˆN˜3Òà"2°DÐ"8ˆN˜3Òr2  )Ú_RelaxedConstraintÚ_dynamo_strict_unbacked_indicesÚ_dynamo_unbacked_indicesÚ_dynamo_dynamic_indicesz)marking %s as dynamic (from mark_dynamic)Ú_dynamo_weak_dynamic_indicesÚ"_dynamo_propagated_dynamic_indicesÚ_dynamo_static_indicesÚ_specialize_onFz#automatic dynamic %s marked dynamic)rð  z1%s dim %d marked dynamic via dynamic-sources listz;%s dim %d marked dynamic via dynamic-values list (value=%s)z3%s dim %d marked unbacked via unbacked-sources listÚ_dynamo_dynamic_ranger¦  rR  )ÚlowerÚupperrS  r>  z.size()[r>  r?  Ú_dynamo_shape_idsÚ_dynamo_unbacked_bounds)r  r  rF  rG  Úspecialize_onr  r  r	  Ú	shape_idsÚunbacked_boundsÚexcluded_sizes)^r  rI  r  r  r  r  r  rP   r'  r­  Útracing_contextÚtensor_to_contextr_  r	  r  r[   Ú_automatic_dynamicrû  rC   r:   r‹  rB  r  rº  r�  r   r;   r  r  rF  rG  r  rU  rJ  rK  rÃ  rð  r   r7   r  ré  rH   rÚ  rß  rO  rû  r¹  r8  r.  rN  r\  Úexport_constraintsÚt_idrO  r  r\  rG  rH  r@  r*   r]   rÃ  rn   r©  r>  rR  rS  rU   rT   rV   Ú	make_sizerC  Úis_size_dynamicÚis_stride_dynamicrà  rá  Úallow_ignore_mark_dynamicr!  rd  Úpopr  r  r8   rP  rE   r   r	  Úsource_name_to_debug_namerÜ  rE  r  rF  ÚDUCKrl  )6rÐ  r¬  rG  rC  rD  rú  r'  Úprior_policyr	  r  rO  Úouter_contextrH  r'  r¶  r(  r)  r+  Ú
unexpectedrN  rå  rL  rq  r[  r\  r¨  r  r  rF  rG  ri  rj  Úmarked_strict_unbackedÚmarked_unbackedÚmarked_dynamicÚmarked_weak_dynamicÚmarked_staticrN  Ú	mark_sizeÚautomatic_dynamic_sizeÚautomatic_dynamic_strideÚautomatic_dynamicÚconstraint_sizeÚconstraint_strideÚdrÚ	dim_rangerP  Úname_Údim_nameÚdynamic_sizeÚdynamic_striderZ  rJ  rK  s6                                                      @@@r"  ro  ro  ¾  s	  ú€ ð 	‡{‚{œ:Ø	Œ5�<‰<×!Ñ!×/Ñ/×<Ñ<ôô 	Ø]ØØMØõ		
ð �;‰;€DØ—9‘9×,Ñ,×>Ñ>×BÑBÀ1ÀdÓK€Lá<Hˆ×8Ò8Èbð (ð
 15ÐØ‡z�z„|Ü  ¨Ó1ˆÜ.¨q¯w©w¸¸KÈÓWÐä$ QÕ'²
ä*Øˆr�6˜=°Tô
ˆô ˜-Ô)@ÔAÜ Ø8¼¸mÓ9LÐ8MÐNóð ð
 ˆÜ˜“7×-Ñ-¨aÓ0‰ˆˆqØò 	ˆDÜ˜!˜TÓ"Ù2”U—\‘\•^Ñ2Ü#-¨f°dÓ#;�LÜ+=Ø# R¨°}ó,�N 4Ò(ñ 3ð
 "”Z–\Øð "àÜ(Ø=¼dÀ:Ó>NÐ=OÐPóð ð	ô 'Ø'×5Ñ5Ø)×9Ñ9Ø*×;Ñ;Ø,×?Ñ?Ø/Ø'×5Ñ5Ø0=×0aÑ0aØ)Ü(2Ø”5—<‘<×)Ñ)×7Ñ7×DÑDó)ð %ô
ð 	
÷  Wä
Ó
LÀ1Ç6Á6Ã8Ô
LÔLð	&¤ð 	&¬
õ 	&ô 'Ø89¿¹»ÖA°1Ñ+¨AÕ.ÒAÜ'×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
ô" ×ÑÐ"¡}Ô=NÈtÔ=TÜ&Ü%×,Ñ,Ð-°·±³Ñ7Ü'×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
ô 1°°T¸1Ó=Ðô ˆa‹5€Dà€Nð9Üð9Ø$<ð9ÜDGð9à	õ9õ$ ?à	‡y�y×#Ñ#Ð/àŸ)™)×6Ñ6ò 	ˆJÜ˜*Ð&8Ô9ØØ�‰ $Ó&Ù%Ø—N‘N J×$?Ñ$?ÀÇÁõð		ô ×ÑÐ&Ü1ØØØØØ/ó
ð 	
ð €MØ€OØÐØÐØ€Mä�1—5‘5“7‹^ó U/ˆà!"¤g¨aÐ1RÐTVÓ&WÐ!WÐØœw qÐ*DÀbÓIÐIˆØœg aÐ)BÀBÓGÐGˆÙÜ×#Ñ#Ð$OÐQUÔVØ¤7ØÐ-¨ró$
ð 
ò Gà”'˜!ÐAÀ2ÓFÐFð 	ð œW QÐ(@À"ÓEÐEˆà×ÑœW QÐ(8¸"Ó=×AÑAÀ!ÀRÓHÔIô
 "7°v·{±{Ó!CÐØˆÜ�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ð 	!ô ˜T 1Ô%Ü�I‰IÐIÈ4ÐQRÔSØ%)Ð"ä˜AŸF™F 1›IÔ&Ü�I‰IØMØØØ—‘�q“	ô	ð &*Ð"ä˜d AÔ&Ü�I‰IÐKÈTÐSTÔUØ%)Ð"à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ÜÐ AÀ4ÔHÙ)Ü&=ÈÔ&M�OÙ+Ü(?È$Ô(OÑ%á$¬V×-LÒ-LÜ#Ð$EÀuÔMØ"&�Ø$(Ñ!à%/Ñ"ˆO˜UØ $ÐØ˜˜x¨ s¨!Ð,ˆHØFKˆB�I‰I×Ñ×9Ñ9¸(ÑCØ×Ñ Ô0Ø×!Ñ!Ð"3Ô4áÔ0°°qÔ9Ü%×.Ñ.‰LàÐ'ÙÙ"Ù˜QŸV™V›X a™[Ô)ñ
 !ÜCÓE‘ä)×1Ñ1‘Ùœf×=Ò=ÁÜ%×,Ñ,‰Lô ×2Ò2Ü"×'Ñ'ØSØôô &Ÿ?™?ˆLàÐ(Ü'×/Ñ/‰Nä'×4Ñ4ˆNà×Ñ˜\Ô*Ø×Ñ˜~Ö.ðkU/ôn #Ø#Ø'Ø)à-Ø#Ø+ØØ,OÜ˜!Ð0°$Ó7Ü Ð#<¸dÓCØ(×7Ñ7ôð ùòQ BùòB!s   Ê	e1Û=e6Üe6)Úparent_contextrú  r„  r�  c                óP  — t        j                  «       }	 t        | |||||¬«      |j                  j                  xj
                  t        j                  «       |z
  z  c_        S # |j                  j                  xj
                  t        j                  «       |z
  z  c_        w xY w)N)rG  r„  r�  rú  )rÄ  rÅ  Ú$_wrap_to_fake_tensor_and_record_implr­  rÇ  Ú!wrap_to_fake_tensor_and_record_ns)rÐ  r¬  rG  r„  r�  rú  rÉ  s          r"  r  r    sƒ   € ô �,‰,‹.€Cð
Ü3ØØØØØ)Ø#ô
ð 	�	‰	×*Ñ*×LÒLÜ�L‰L‹N˜SÑ ñ	
ÖLøˆ�	‰	×*Ñ*×LÒLÜ�L‰L‹N˜SÑ ñ	
ÖLús   –A% Á%A B%c          
      óH  ‡ ‡‡‡— t        ‰ «      t        j                  t        j                  j                  t
        fv s&t        ‰ t        j                  «      st        ‰ «      �r°‰€t        d«      ‚t        ‰ |‰¬«      \  }}|st        ‰ ‰‰||¬«      ŠnBt        ‰t        «      st        dt        ‰«      › �«      ‚‰j                  }|j                  |   Št        j                  d‰j                   t#        ‰ j$                  «      ‰t        ‰ «      «       t'        «       5  ‰j(                  €t        d«      ‚t+        ˆ ˆˆˆfd„«      }	d d d «       |�nt-        	j/                  «       «      D ]R  }
||
   }|�t        |t0        «      rŒ|	j3                  |
«      }t        |t        j4                  «      sŒGt7        ||«       ŒT ‰�vt        	t
        «      rf|	j8                  x}�Xt        ‰t:        «      r‰j<                  }nt?        ‰«      }‰j@                  jB                  jE                  tG        ||‰«      «       t        	«      rf|	jI                  «       \  }}|D ]N  }tK        |	|«      }tK        ‰ |«      }t        ‰|«      }tM        |‰|t        |t        j                  «      ‰¬«       ŒP ‰‰j@                  jN                  jP                  ‰ <   tS        |	«      r‚|	jT                  r|	jW                  «       n|	jY                  «       }|	j3                  «       d	|	jZ                  z  |j3                  «       |j]                  «       d
œ‰j@                  j^                  ‰<   n8|	j3                  «       |	j]                  «       dœ‰j@                  j^                  ‰<   |r~|r‰ja                  «       sltc        ‰«      sa‰j@                  jB                  jE                  tG        |	‰‰«      «       ‰j@                  jd                  tg        ‰ «         jE                  ‰«       |	S ‰ S # 1 sw Y   �ŒÏxY w)Nz+source must not be None for tensor wrapping)r  )rú  z,Expected AttrSource for parent context, got zwrap_to_fake %s %s %s %sztx.fake_mode must not be Nonec                  ó@   •— ‰j                   j                  ‰ ‰‰¬«      S )N)rG  Úsymbolic_context)rF  rb  )rÐ  rG  r“  r¬  s   €€€€r"  r«  z6_wrap_to_fake_tensor_and_record_impl.<locals>.<lambda>`  s$   ø€ ˜Ÿ™×0Ñ0ØØ!Ø%5ð 1ó € r2  )rG  r„  r�  )r�   )rð  rñ  Úvalues_sizeÚvalues_stride)rð  rñ  )4rB  r  r�  rÕ  rï  r"   rI  rC   r‹  r—   ro  r[   rL  rH  rR  rS  r'  ró  r›  r   rF  rœ   r\  ré  r8  rð  r   rÞ  Ú	item_memord   rJ  r\   r­  r  r@  r>   r  rº  r  rm  rn  r&   Ú	is_sparseÚ_valuesÚvaluesÚndimrñ  Úinput_source_to_sizes_stridesr  rg   Útracked_fakes_id_to_sourcer¹  )rÐ  r¬  rG  r„  r�  rú  rC  Ú_reasonÚinner_context_nameÚfake_eÚdim_ir  r  ré  Úitem_sourcer'  r¶  r(  Ú
fake_innerÚinnerr+  r™  r“  s   ```                   @r"  r�  r�  &  sŒ  û€ ô 	ˆQ‹”E—L‘L¤%§(¡(×"4Ñ"4´jÐAÑAÜ�aœŸ™Ô&Ü(¨Õ+àˆ>Ü Ð!NÓOÐOÜ!?ØØØ ô"
Ñˆ�wñ Ü1Ø�2�v˜}¸+ô Ñô ˜f¤jÔ1Ü$ØBÄ4ÈÃ<À.ÐQóð ð "(§¡ÐØ-×<Ñ<Ð=OÑPÐä�	‰	Ø&Ø�K‰KÜ�!—'‘'‹NØÜ�‹Gô	
ô &Ó'ñ 		Ø�|‰|Ð#Ü$Ð%DÓEÐEÜ(öóˆF÷		ð Ð"Ü˜vŸz™z›|Ó,ò 4�Ø& uÑ-�ØÐ#¤z°(¼CÔ'@ØØ!Ÿ;™; uÓ-�Ü! (¬E¯L©LÔ9ØÜ ¨(Õ3ð4ð ÐÜ˜6¤:Ô.Ø"×,Ñ,Ð,�Ð9ô ˜&Ô"3Ô4Ø$Ÿk™k‘ä2°6Ó:�Ø�I‰I×#Ñ#×*Ñ*Ü˜G [Ð2BÓCôô )¨Ô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àˆàˆ÷c		ñ 		ús   Ä!)PÐP!c            
       ó²  — e Zd ZdZdd„Zeedddeee	      ee
e	e	f      z  eee	df      z  eee	      z  defd	„«       «       Zeedddee	   defd
„«       «       Zeedddee	df   defd„«       «       Zeedddeez  ez  ez  defd„«       «       Zeeddde	defd„«       «       Zeddde	defd„«       Zededefd„«       Zede
eede	gef   f   f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()©r‹  r�  s    r"  r¦  zSourcelessBuilder.__init__½  s   € ÜÐ=Ó>Ð>r2  r¬  r  ro  .c                  ó   — y rq  r1  ©r¬  ro  s     r"  r5  zSourcelessBuilder.createÀ  s   € ð r2  c                  ó   — y rq  r1  r¨  s     r"  r5  zSourcelessBuilder.createÊ  s   € àSVr2  c                  ó   — y rq  r1  r¨  s     r"  r5  zSourcelessBuilder.createÎ  s   € ð r2  c                  ó   — y rq  r1  r¨  s     r"  r5  zSourcelessBuilder.createÔ  s   € ð r2  c                  ó   — y rq  r1  r¨  s     r"  r5  zSourcelessBuilder.createÚ  s   € àPSr2  c           
      óD  — t        |«      }t        j                  j                  |«      }|r	 || |«      S t	        |t
        «      r|S t        t        |«      «      r=t	        |t        j                  «      s#t        |«      st        j                  ||| ¬«      S t        t        |«      «      rVt        j                  j                  j!                  | j"                  j$                  |«      }t        j                  ||| ¬«      S t	        |t&        j(                  «      rt+        |«      S t-        j.                  |«      rt-        j                  |«      S t1        |«      rVt3        j4                  |«      �At3        j6                  |«      rd| j"                  _         t3        j4                  |«      |«      S t1        |«      r[t;        j<                  |«      rF t3        j4                  |j>                  «      |j>                  «      }tA        |dt        |«      ¬«      S tC        |«      r t3        jD                  |«      |«      S t	        |t        j                  t        jF                  t        jH                  jJ                  jL                  f«      st        |«      rt+        |«      S t	        |t         tN        jP                  f«      r?tS        t        |«      t         «      rtS        |tT        «      rtW        |«      S t;        |«      S t	        |tX        jZ                  «      rŽt]        j^                  t        |j>                  «      |j`                  «      }t	        |tX        jb                  «      ste        dt        |«      › �«      ‚tg        |t        j                  | |j>                  «      «      S t	        |tX        jh                  «      �rFt	        |j>                  t         tN        jP                  f«      r£tk        |j>                  |jl                  j`                  «      |k7  r/te        d|jl                  j`                  › d|j>                  › �«      ‚t        j                  | |j>                  «      }	 |jo                  | |jl                  j`                  «      S | j"                  jr                  jt                  j                  tw        |j>                  «      «      }|��bt        jx                  jz                  j}                  |jl                  |«      S t	        |t        j~                  j€                  j‚                  «      rt…        |«      S t	        |t†        jˆ                  jŠ                  t        jŒ                  jŽ                  j�                  f«      rt+        |«      S t	        |t’        j”                  t’        j–                  f«      rt™        |«      S t	        |t        jx                  jz                  jš                  jœ                  «      r	 t-        j                  tŸ        |«      «      S t	        |t        t        j²                  j´                  «      «      r3t        jx                  jz                  j¶                  j¹                  |«      S t	        |tX        jº                  tX        j¼                  t¾        jÀ                  f«      rtÃ        |«      S tÅ        |«      rztÇ        t        |«      «      D �	cg c]"  }	t        j                  | tk        ||	«      «      ‘Œ$ }
}	tÉ        |
tË        «       ¬«      } tÍ        jÎ                  t        |«      «      ||¬	«      S t	        |t        jÐ                  «      ro|jÒ                  jÔ                  | j"                  jÖ                  v rC| j"                  jÖ                  |jÒ                  jÔ                     }tÙ        j                  | |«      S t	        |tÚ        «      r9d
D �cg c]"  }t        j                  | tk        ||«      «      ‘Œ$ }}tÝ        || «      S tß        |tà        «      rtã        |«      S tå        d|jæ                  › d|jè                  › �d|› �g tê        jì                  ¢¬«       y # tp        $ r Y ŒGw xY w# t        jx                  j                   j¢                  t        j~                  j¤                  j¦                  j¨                  f$ r= t«        j                  |j¬                  j¯                  «       |j°                  gi «      cY S w xY wc c}	w c c}w )Nr4  TrI  rƒ  r›  zClassmethod lookup mismatch: z on r�  )rh  r¡  z%Unexpected type in sourceless builderr;  z3SourcelessBuilder.create does not know how to wrap r  )wrB  rÇ  Ú_type_handlersr_  rI  r£   r   rÉ  rÊ  rŒ   ré   r5  r   r  r:  r;  rE  r­  rF  rI  Ú_HAS_DEFAULT_FACTORY_CLASSr  r§   r,  rÑ  rL   rí  rî  rï  r  Úis_supported_new_methodrt  rÖ   r‡   r+  rË  rÌ  rÍ  rÎ  ÚabcÚABCMetar3  r4  r  rr  r1  rw  rx  r*  r2  r‹  r»   rÜ  rº  r  Úvar_getattrræ  rÓ  Úid_to_variabler¹  r†  r~  ÚUserMethodVariabler¿  Úgraph_moduleÚGraphModuler  Ú	importlibÚ	machineryÚ
ModuleSpecr  rw  ÚTreeSpecr  r  r  rÓ   ÚlazyÚLazySymNodeFormatStringr.  ÚexcÚ	UserErrorrÀ  Úsymbolic_shapesÚGuardOnDataDependentSymNoderá   Úfmt_varrf  Úsym_node_varró  Úflex_attention_backwardÚhigher_order_opsÚ&FlexAttentionBackwardHighOrderVariableÚGenericAliasÚ	UnionTypeÚtypingÚ_UnionGenericAliasrâ   rŠ   r’   rÎ   r¢   r  r»  r   rú  r  rK  rõ   rþ  rÌ   r‘   r‡  rÜ   rP   r+  r,  rI   Ú
DYNAMO_BUG)r¬  ro  Ú
value_typeÚfast_handlerru  rj  ro  Ú
cls_obj_vtrq  r'  r­  rh  rt  r.  r?  s                  r"  r5  zSourcelessBuilder.createÞ  s  € ä˜%“[ˆ
ä(×7Ñ7×;Ñ;¸JÓGˆÙÙ  EÓ*Ð*ä�eœ_Ô-àˆLä ¤ e£Ô-Ü˜u¤d§i¡iÔ0Ü+¨EÔ2ä,×3Ñ3°E¸5ÀRÔHÐHÜ%¤d¨5£kÔ2ä#Ÿn™n×@Ñ@×RÑRØ—	‘	×#Ñ# UóˆOô -×3Ñ3ØØØôð ô ˜œ{×EÑEÔFÜ,¨UÓ3Ð3Ü×(Ñ(¨Ô/Ü#×*Ñ*¨5Ó1Ð1Ü�eŒ_¤×!<Ñ!<¸UÓ!CÐ!OÜ×.Ñ.¨uÔ5Ø>B�—	‘	Ô;à5”;×.Ñ.¨uÓ5°eÓ<Ð<Ü�eŒ_Ô!9×!QÑ!QØô"
ð
 >”+×-Ñ-¨e¯n©nÓ=¸e¿n¹nÓMˆCÜ" 3¨	¼4À»;ÔGÐGÜ# EÔ*à,”;×%Ñ% eÓ,¨UÓ3Ð3ÜØÜ�Y‰Yœ×)Ñ)¬5¯8©8×+>Ñ+>×+LÑ+LÐMô
ô % UÔ+Ü,¨UÓ3Ð3Ü˜¤¤c§k¡kÐ2Ô3Üœ$˜u›+¤tÔ,´¸EÄ=Ô1QÜ8¸Ó?Ð?Ü+¨EÓ2Ð2Ü˜œu×6Ñ6Ô7Ü ×/Ñ/´°U·^±^Ó0DÀeÇnÁnÓUˆJÜ˜j¬%×*EÑ*EÔFÜ$Ø:¼4À
Ó;KÐ:LÐMóð ô )ØÔ-×4Ñ4°R¸¿¹ÓHóð ô ˜œu×/Ñ/Õ0Ü˜%Ÿ.™.¬4´·±Ð*=Ô>ä˜5Ÿ>™>¨5¯>©>×+BÑ+BÓCÀuÒLÜ(Ø7¸¿¹×8OÑ8OÐ7PÐPTÐUZ×UcÑUcÐTdÐeóð ô /×5Ñ5°b¸%¿.¹.ÓI�
ðà%×1Ñ1°"°e·n±n×6MÑ6MÓNÐNð
 Ÿ™×/Ñ/×>Ñ>×BÑBÄ2ÀeÇnÁnÓCUÓV�ØÑ%Ü Ÿ=™=×2Ñ2×EÑEØŸ™¨óð ô ˜œuŸx™x×4Ñ4×@Ñ@ÔAÜ0°Ó7Ð7ÜØ”I×'Ñ'×2Ñ2´E·K±K×4GÑ4G×4PÑ4PÐQô
ô -¨UÓ3Ð3Ü˜¤§
¡
¬B¯H©HÐ5Ô6Ü'¨Ó.Ð.Ü˜œuŸ}™}×6Ñ6×;Ñ;×SÑSÔTðÜ'×.Ñ.¬s°5«zÓ:Ð:ô ˜œt¤E×$;Ñ$;×$SÑ$SÓTÔUÜ—=‘=×*Ñ*×;Ñ;×bÑbØóð ô Øä×"Ñ"Ü—‘ô ×)Ñ)ðô

ô " %Ó(Ð(Ü˜5Ô!ô .¬d°5«kÓ:öàô "×(Ñ(¨¬W°U¸DÓ-AÕBðˆFð ô % VÔ;KÓ;MÔNˆHØCÔ+×6Ñ6´t¸E³{ÓCØ ôð ô �uœeŸl™lÔ+Ø—
‘
—‘ 2§9¡9×#:Ñ#:Ñ:à—I‘I×+Ñ+¨E¯J©J¯O©OÑ<ˆEÜ"×)Ñ)¨"¨eÓ4Ð4Ü˜œuÔ%ð 3öàô "×(Ñ(¨¬W°U¸AÓ->Õ?ðˆEð ô ! ¨Ó+Ð+Ü�Eœ6Ô"Ü! %Ó(Ð(ÜØ;Ø!×,Ñ,Ð-¨Q¨z×/FÑ/FÐ.GÐHØMÈjÈ\ÐZØ1Ô%×0Ñ0Ð1ö		
øôM +ò Ùðûô. —‘×!Ñ!×+Ñ+Ü—‘×%Ñ%×5Ñ5×QÑQðò ô ,×2Ñ2Ø—M‘M×4Ñ4Ó6Ø×'Ñ'Ð(Øóò ð	üò4ùòs1   Ñ+%a4 Øb Û''dß('dá4	b á?b âBdädc                 ó†   — t        j                  | «      st        dt        | «      › �«      ‚t        j                  | ¬«      S )NzExpected literal value, got r~  )r§   r,  r‹  rB  r5  r~  s    r"  Úwrap_constant_literalz'SourcelessBuilder.wrap_constant_literalw  s8   € ä×*Ñ*¨5Ô1Ü Ð#?ÄÀUÃ¸}Ð!MÓNÐNÜ×&Ñ&¨UÔ3Ð3r2  c                  ó  ‡— t         j                  Ši } t        D ]  }d„ | |<   Œ
 ˆfd„| t        <   ˆfd„| t        <   ˆfd„| t
        <   ˆfd„| t        <   ˆfd„| t        <   ˆfd„| t        j                  <   | t
           | t        j                  <   | t
           | t        <   | t           | t        <   ˆfd„| t        j                  <   d	„ | t        j                   <   d
„ | t        j"                  <   d„ | t$        j&                  <   d„ | t(        j*                  <   d„ | t        j,                  <   d„ | t        j.                  <   d„ | t        j0                  j2                  j4                  <   d„ | t        j6                  j8                  j:                  <   d„ | t        j6                  j8                  j<                  <   d„ | t        j6                  j8                  j>                  <   dddt@        dt@        fd„}tB        jD                  D ]  }|| |<   Œ	 | S )Nc                 ó   — t        |«      S rq  r¦   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>†  s   € Ô,<¸UÓ,C€ r2  c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w ©Nr�  )r±   r¢   ©r¬  ro  rt  r5  s      €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>‡  s)   ø€ ¬+Ø$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô+
€ ùÚ*ó   ‹,c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w rÔ  )rï   r¢   rÕ  s      €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Š  s*   ø€ Ô1CØ$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô2
€ ùÚ*rÖ  c                 ó®   •— t        |j                  «       D ��ci c]  \  }} ‰| |«       ‰| |«      “Œ c}}t        |«      t        «       ¬«      S c c}}w rÔ  )r¯   r?  rB  r¢   ©r¬  ro  r.  r1  r5  s       €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>�  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 rÔ  )rÉ   r¢   rÕ  s      €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>’  s)   ø€ ¬<Ø$)Ö*˜q‰V�B˜�]Ò*Ô:JÓ:Lô,
€ ùÚ*rÖ  c           	      óN   •— t        |D �cg c]  } ‰| |«      ‘Œ c}«      S c c}w rq  )rÎ   rÕ  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 rq  )rË   rÕ  s      €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>˜  s#   ø€ ´Ø$)Ö*˜q‰V�B˜�]Ò*ó2
€ ùÚ*rÜ  c                 ó¶   •— t        t        |j                  «       D ��ci c]  \  }} ‰| |«       ‰| |«      “Œ c}}t        t	        «       ¬«      «      S c c}}w rÔ  )r°   r¯   r?  r>  r¢   rÙ  s       €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>   sJ   ø€ Ô=QÜØ:?¿+¹+»-×H±$°!°Q‘˜˜A“¡ r¨1£Ñ-ÓHÜÜ.Ó0ôó>
€ ùãHs   ŸAc                 ó   — t        |«      S rq  )r¹   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>¨  ó   € Ô6°uÓ=€ r2  c                 ó   — t        |«      S rq  )rº   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>«  rà  r2  c                 ó,   — t        |t        «       ¬«      S rÔ  ©r  r¢   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>­  s   € Ô8QØÔ!1Ó!3ô9
€ r2  c                 ó   — t        «       S rq  )rÞ   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>°  s
   € Ô4GÓ4I€ r2  c                 ó   — t        |«      S rq  )rÝ   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>±  s   € Ô7KÈEÓ7R€ r2  c                 ó,   — t        |t        «       ¬«      S rÔ  )rù   r¢   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>³  s   € Ô;QØÔ!1Ó!3ô<
€ r2  c                 ó,   — t        |t        «       ¬«      S rÔ  )rú   r¢   r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>·  s   € Ô:ØÔ%5Ó%7ô€ r2  c                 ó,   — t        |t        «       ¬«      S rÔ  rã  r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>½  ó   € Ô7ØÔ%5Ó%7ô€ r2  c                 ó,   — t        |t        «       ¬«      S rÔ  rã  r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Â  ré  r2  c                 ó,   — t        |t        «       ¬«      S rÔ  rã  r¨  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Ç  ré  r2  r¬  r  ro  r  c                 ó   — |S rq  r1  r¨  s     r"  Úpassthroughz9SourcelessBuilder.make_type_handlers.<locals>.passthroughÌ  s   € ØˆLr2  )#rÇ  r5  r   rÂ  rB   r>  rô  ró  r  r÷  rõ  r½  r?   r@   rr  r  r/  r0  rw  rï  ru  rv  r   r  rÍ  rü  rý  ÚdistributionsÚconstraintsÚ_RealÚ	_IntervalÚ
Constraintr  r¤   Úall_subclasses)Úhandlersr  rí  rì  r5  s       @r"  Úmake_type_handlersz$SourcelessBuilder.make_type_handlers}  sõ  ø€ ô #×)Ñ)ˆð ð 	ô 'ò 	DˆAÙCˆH�QŠKð	Dó
ˆ”‰ó 
ˆ”Ñó
ˆ”‰ó

ˆ”‰ó
ˆ”‰ó 
ˆ”—‘Ñð -5´T©Nˆ”×(Ñ(Ñ)Ø#+¬D¡>ˆ”Ñ Ø#+¬D¡>ˆ”Ñ ó,
ˆ”×'Ñ'Ñ(ñ >ð 	”×+Ñ+Ñ,ñ >ð 	”×+Ñ+Ñ,ñ'
ˆ”×"Ñ"Ñ#ñ #Jˆ”—‘ÑÙ%Rˆ”×!Ñ!Ñ"ñ*
ˆ”×%Ñ%Ñ&ñð 	”×!Ñ!×-Ñ-×BÑBÑCñð 	”×$Ñ$×0Ñ0×6Ñ6Ñ7ñð 	”×$Ñ$×0Ñ0×:Ñ:Ñ;ñð 	”×$Ñ$×0Ñ0×;Ñ;Ñ<ð	Ð7ð 	Äð 	Äaó 	ô '×5Ñ5ò 	(ˆCØ'ˆH�SŠMð	(àˆr2  rž  )r*  r+  r,  r-  r¦  r
   rc  rB  rÂ  r   r>  ró  rô  r¥   r5  rÉ   rÎ   r0  r8  r(  r.  r§   r£   r‡  rÐ  r   rõ  r1  r2  r"  rÇ  rÇ  °  sá  „ ñ
ó?ð ØðØ'ðà�C˜‘H‰~Ø
ˆt�C˜�H‰~Ñ
ñà
ˆu�S˜#�X‰Ñ
ñ ð ˆt�C‰y‰/ñðð 
òó ó ðð ØØVÐ.ÐV°t¸C±yÐVÀ\ÒVó ó àVàØðØ'ðØ05°c¸3°h±ðà	òó ó ðð ØðØ'ðØ04°s±
¸UÑ0BÀSÑ0Hðà	òó ó ðð ØØSÐ.ÐS°sÐS¸ÒSó ó àSàðV
Ð.ð V
°sð V
¸ò V
ó ðV
ðp ð4 Vð 4°ò 4ó ð4ð
 ðS ØˆhÐ3°SÐ9¸?ÐJÑKÐKñ!ò Só ñSr2  rÇ  c                   ó6   — e Zd ZdZd	d„Zeddde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ÐOr2  r¬  r  ro  c                 óþ   — t        |«      }t        |t        «      rt        |t	        «       ¬«      S t        |t        j                  j                  «      rt        |t	        «       ¬«      S t        |t	        «       ¬«      S rÔ  )rB  r3  r   r  r¢   rI  r  rÕ  rÖ  ræ   r  )r¬  ro  rÌ  s      r"  r5  z)SourcelessUserDefinedObjectBuilder.createá  sa   € ä˜%“[ˆ
Ü�j¤.Ô1Ü)¨%Ô?OÓ?QÔRÐRÜ˜œuŸx™xŸ™Ô/Ü0ØÔ%5Ó%7ôð ô -¨UÔBRÓBTÔUÐUr2  rž  )	r*  r+  r,  r-  r¦  rc  r   r£   r5  r1  r2  r"  r÷  r÷  ×  s<   „ ñóPð ð	VÐ.ð 	V°sð 	V¸ò 	Vó ñ	Vr2  r÷  rg  rq  )FN(»  r-  r±  rõ  rÿ  rš  rI  rÉ  rÖ  Úimportlib.machineryr¸  rw  rù  rÓ  r\  r   ru  r  r#  rÄ  rr  rÉ  r  Úcollections.abcr   r   r   r   r   r   r	   r
   r   r   r  r  r   Útorch._dispatch.pythonr   Ú#torch._dynamo.graph_bytecode_inputsr   r   r   Útorch._dynamo.utilsr   r   r   r   r   Útorch._guardsr   Ú"torch._higher_order_ops.flat_applyr   Ú!torch._higher_order_ops.torchbindr   Útorch._library.opaque_objectr   r   r   r   Útorch._opaque_baser   Ú
torch._opsr   r    r!   r˜  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/   r0   r1   r2   Útorch.fx.experimental.sym_noder3   r4   rU  r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   Útorch.fx.immutable_collectionsr?   r@   Ú torch.nn.utils._expanded_weightsrA   Útorch.utils._ordered_setrB   Útorch.utils._python_dispatchrC   rD   Útorch.utils._sympy.value_rangesrE   Útorch.utils.weakrF   r?  rH   rI   rJ   rK   rL   rÄ  rM   r¾  rN   rO   rP   râ  rQ   rR   rS   ÚpgorT   rU   rV   rW   rX   rÓ  rY   rG  rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r  r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   rJ  rž   rŸ   r    r¡   r¢   r£   r¤   Úbuiltinr¥   Úconstantr§   Úctx_managerr¨   r©   rª   r«   r¬   r­   r®   Údictsr¯   r°   r±   rÌ  r²   Ú	functionsr³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rÅ  rÁ   rÂ   ÚiterrÃ   rÄ   r¼  rÅ   rÆ   ÚlistsrÇ   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ã   Ú	nn_modulerä   rå   ræ   Ú	optimizerrç   Úscript_objectrè   ré   r´  rë   Úsetsrì   rí   rî   rï   Ústreamsrð   rñ   rò   r  ró   rô   rõ   rö   r÷   rø   rù   rú   rû   rü   Útorch_functionrý   rþ   rÿ   rz  r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  Únumpyr  ÚModuleNotFoundErrorr/  Útorch._dynamo.codegenr  Útorch._dynamo.symbolic_convertr  Ú	getLoggerr*  rR  r  ÚgetArtifactLoggerr¨  rG  r  r  r  rô  ÚDimListr‡  r0  r#  Ú	dataclassr&  r4  r6  Ú_AccessTokenÚ_AccessPathr.  rF  rR  r8  rc  rn  r{  r}  r€  r£  rÆ  Úvarsr?  r¼  rÂ  r½  rÕ  rÖ  rÇ  rÈ  rÄ  rÅ  r¿  rG  rq  rB  r  r  rŒ  r¿  ÚProxyr�  r|  r{  r>  r}  r  rË  r†  rE  rÑ  ró  rÒ  ÚcompilerÓ  r  rÙ  ræ  rß  rû  rü  rý  r   rá  r  r  r  rà  r  rÞ  ÚExprr!  r  r4  rB  ro  r  r�  rÇ  rõ  r®  r÷  r1  r2  r"  ú<module>r-     sñ  ðòó& Û Û Û Û Û Û Û Û Û Û Û Û Û Û 	Û 
Û Û Û Û ß 4Ý ß R× RÑ Rã ã Ý Ý ;÷ñ ÷
õ õ )Ý 9Ý <÷ó õ *ß HÑ H÷ó ÷ BÝ 1Ý ?Ý A÷	÷ 	ó 	÷ F÷÷ ÷ ÷ JÝ ;Ý /÷õ 8Ý *ç TÕ TÝ ?ß SÑ Sß AÑ A÷õ õ '÷"÷ "÷ "÷ "÷ "÷ "÷ "÷ "õ "÷F#÷ #÷ #÷ #÷ #÷ #÷ #÷ #÷ #÷H÷ ñ õ %Ý &÷÷ ñ ÷ HÑ GÝ /÷÷ ÷ ÷ ÷ ÷ ;ß ;Ô ;÷	÷ 	÷ 	÷ 	ô 	÷÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ð ÷.÷ ð ÷
 )Ð (ß OÔ Oß $Ð $÷÷ ô ÷ J× IÐ I÷÷ ÷ ô ÷÷ ó ÷÷ ð ÷
÷ ÷ ÷ ÷ ÷ ÷ ÷ ô ð(Ýñ
 ß/Ð/ßHÐHð €g×Ò™Ó!�Ø—N’N×4Ò4ÙÐ'óÑ ð '�W×&Ò&Ð'NÓOÑ ß ò
 �mÓ$�ÚˆCƒL�á
�ð"‘Vð "¡ô "ð
 €×Ò˜dÔ#÷ð ó $ñð €×Ò˜dÔ#÷ð ó $ñð €×Ò˜dÔ#÷ð ó $ññ ™ZÑ'©/Ñ9�Ù‘<Ñ �ð7¡ð 7±ô 7ð64 6ð 4©k¸DÑ.@ô 4ðnHØ"ðHáðHñ ðHð ô	HðV7CØð7CØ!+¨dÑ!2ð7Càô7Cðt?¨3ð ?°3¸±:ô ?÷<	ò 	ð ×Ò÷P9ð P9ó ñP9ôf<™Hõ <ò. &/ñ /â˜Y›×-Ò-Ó/ô/ó &Ñ ‘I™c‘Nô ò +.«%Ñ ™s¡3™xÔ /ð
 "'§¢§¢×!>Ò!>Ñ Ø$)§H¢H§O¢O×$DÒ$DÑ !÷p*ò p*ðfU  Oð  ¹ô  ð2˜ð ¨¸Ñ(=ð À#ô ð* !%Ø!%ñ	Ø#ðàðð ˜‘:ðñ ˜$‘;ð	ð
 ðð ôð2
Ø#ð
Ø,/ð
Ø@Cð
à	ô
ðz !%Ø!%ñ$Ù‘[Ñ!ð$à#ð$ð ð$ð ˜‘:ð	$ñ
 ˜$‘;ð$ð ð$ñ ô$ðZ "&ñIÙ‘[Ñ!ðIà#ðIð �8Š8�>Š>ðIð �LŠLð	Iñ
 ˜$‘;ðIð ðIñ ôIðb !%Ø!%ñ"Ù‘[Ñ!ð"à#ð"ð �8Š8�>Š>ð"ð ˜‘:ð	"ñ
 ˜$‘;ð"ð ð"ñ ô"ðLZ
ØðZ
à#ðZ
ð �8Š8�>Š>ðZ
ñ ‘#�s�(‰^ð	Z
ñ
 ˜$‘;ðZ
ñ ‘[Ñ!ðZ
ð ôZ
ðz™qð ¡T©!¡W¨t¡^ô ð:Øðà#ðð ðñ ˜$‘;ð	ñ
 
‰#ˆsˆ(�^ôð2(Ù‘[Ñ!ð(à#ð(ð �8Š8�>Š>ð(ð ð	(ñ
 ˜$‘;ð(ñ ‘#�s�(‰^ð(ñ ô(ð8
¨jô 
ð 9=Ñ ‘$‘u™S¡#¨¡*˜_Ñ-Ñ.°Ñ5Ô <Ø+/Ñ ™c D™jÔ /à", "§*¢*¨_Ó"=��—
’
™3‘Ô =ð	™sð 	¡u©S±#¸±*¨_Ñ'=ô 	ð™T¡%©©S°4©Z¨Ñ"8Ñ9ô ñ(¡3ð ©S°4©Zð Á4ô ð<Ø#ðÙ+.ðØ38·<²<ðàôðD :>Ñ ‘4™™c¡3¨¡:˜oÑ.Ñ/°$Ñ6Ô =Ø,0Ñ ™s T™zÔ 0ð™d¡5©©c°D©j¨Ñ#9Ñ:ô ñ(¡Cð ©c°D©jð ÁDô ð& $(�‘‘S‘˜D‘Ô 'Ø*.Ñ ™S 4™ZÔ .ð™C¡™Hô ð$	#™Cð 	#¡Dô 	#ð,Ø
ð,àð,ð ˜dÑ"ð,ð '¨Ñ-ð	,ñ
 *.¨c°3¨h©ð,ð ô,ð^A
Ø
�6‰/ðA
à�l‰lðA
ð 
ôA
ðHW (ð W°u·z²zð WÀdô Wð8°Xð 8À$ô 8ð*
 hð 
¸Zð 
ÈDô 
ð' Xð '°$ô 'ðb Ø%)ñKØ
ðKà#ðKð ðKñ ð	Kñ
 ðKð ˜dÑ"ðKð ôKðj
 "&Ø%)ò
Ø
ð
à#ð
ð �T‰Mð	
ñ
 ð
ð ˜$‘Jð
ð ˜dÑ"ð
ð 	ô
ð> "&Ø%)òGØ
ðGà#ðGð �T‰Mð	Gñ
 ðGð ˜$‘JðGð ˜dÑ"ðGð 	ôG÷Taò añH	 $5×#GÒ#GÓ#IÑ Õ  ÷Vó VøñY\ ò Ø�Bˆ
×ðús   Ï3f+ æ+f>æ=f>