§
    ŠŠtjL ã                  óP
  — U d Z ddlm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ZddlmZmZ ddlmZmZmZmZmZm Z  ddl!m"Z" ddl#Z#ddl$Z#ddl%m&Z&m'Z' ddl(m)Z)m*Z* dd	l+m,Z,m-Z-m.Z. dd
l/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7m8Z8mZ9m:Z:m;Z; ddl<m=Z=m>Z>m?Z?m@Z@ ddlAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQ ddlRmRZR ddlSmTZT ddlUmVZV ddl7mWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZa ddlbmcZc ddldmeZemfZf ddlgmhZhmiZimjZjmkZk ddllmmZmmnZnmoZompZp ddlqmrZrmsZs ddltmuZumvZvmwZw ddlxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZm€Z€ ddl:m�Z�m‚Z‚ ddlƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z� ddlŽm�Z�m�Z�m‘Z‘m’Z’ ddl“m”Z”m•Z•m–Z– dd l—m˜Z˜m™Z™ dd!lšm›Z› dd"lœ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« dd%l¬m­Z­m®Z® dd&l¯m°Z° dd'l±m²Z²m³Z³m´Z´mµZµm¶Z¶ dd(l·m¸Z¸m¹Z¹mºZºm»Z»m¼Z¼m½Z½ dd)l¾m¿Z¿mÀZÀ dd*lÁmÂZÂmÃZÃmÄZÄmÅZÅ dd+lÆmÇZÇ dd,lÈmÉZÉ dd-lÊmËZËmÌZÌmÍZÍ dd.lÎmÏZÏmÐZÐ dd/lÑmÒZÒmÓZÓmÔZÔmÕZÕmÖZÖ erdd0lm×Z×mØZØ dd1lÙmÚZÚ dd2lÛmÜZÜ  ejÝ        eÞ¦  «        Zße#jà         á                    eÞd3¦  «        Zâe#jà         á                    eÞd4¦  «        Zãe#jà         á                    eÞd5¦  «        Zäe#jà         á                    eÞd6¦  «        Zå ejæ        ¦   «         Zçd7„  eËjè        ¦   «         D ¦   «         Zéd8eêd9<    e˜ejë        ¦  «        jì        Zí e˜ejî        ¦  «        jì        Zïd:„ eéd;<   d<„ eéd=<   e;j¹        eÔz  eÕz  Zðd>eêd?<   e
jñ        d›dD„¦   «         Zòejó         G dE„ dF¦  «        ¦   «         Zôejó         G dG„ dH¦  «        ¦   «         Zõejó         G dI„ dJ¦  «        ¦   «         Zöejó         G dK„ dL¦  «        ¦   «         Z÷ G dM„ dN¦  «        Zøe
jñ        dœdP„¦   «         Zùejú        d�dT„¦   «         Zûejú        d�dU„¦   «         Züejó         G dV„ dW¦  «        ¦   «         Zý G dX„ dYeþ¦  «        Zÿ G dZ„ d[�e ¦  «        �Z G d\„ d]�e ¦  «        �Zdžda„�ZdŸde„�Ze
jñ        d dh„¦   «         �Zd¡dm„�Zdn�Zd¢dq„�Zd£d¤dw„�Z	d¥dy„�Z
d¦d„�Zd§d‚„�Zd¨d…„�Z G d†„ d‡�e¦  «        �Zejó         G dˆ„ d‰¦  «        ¦   «         �Z G dŠ„ dR�e¬‹¦  «        �Z G dŒ„ d��e¦  «        �Ze�j        dŽk    rd�„ e	�j        D ¦   «         �Zejú        d©d–„¦   «         �Z G d—„ d˜�e¦  «        �Z G d™„ dš�e¦  «        �ZdS )ªa  
Core module responsible for converting Python bytecode into TorchDynamo's symbolic execution format.

This module implements the bytecode-level tracing system that allows TorchDynamo to analyze
and transform Python code. It converts Python bytecode instructions into a symbolic format
that tracks the flow of tensors and other values through the program.

Key components:
- InstructionTranslatorBase: Base class for converting bytecode to symbolic execution
- InstructionTranslator: Main translator for function bytecode
- InliningInstructionTranslator: Handles inlining of called functions
- SpeculationLog: Manages state for speculative execution and rollback

The symbolic conversion process handles:
- Control flow (loops, conditionals, etc.)
- Function inlining and call stack management
- Tracking of program values and side effects
- Graph breaks and resumption points
- Exception handling and stack frame management

This is a core part of TorchDynamo's tracing system that enables ahead-of-time
optimization of PyTorch programs.
é    )ÚannotationsN)ÚdefaultdictÚdeque)ÚAnyÚcastÚNoReturnÚTYPE_CHECKINGÚ	TypeAliasÚTypeVar)ÚTypeIs)ÚDynamoProfilerStateÚFunctionTraceTiming)ÚObservedExceptionÚTensorifyScalarRestartAnalysis)ÚInlinedCodeCacheÚtracingÚTracingContext)Ú	dump_file)Ú
guard_bool)Úcache_methodé   )ÚconfigÚexcÚgraph_break_hintsÚloggingÚtrace_rulesÚ	variables)Úget_indexofÚJUMP_OPNAMESÚlivevars_analysisÚpropagate_line_nums)Úcleaned_instructionsÚcreate_binary_sliceÚcreate_call_functionÚcreate_call_function_exÚcreate_copyÚcreate_dup_topÚcreate_instructionÚcreate_jump_absoluteÚcreate_rot_nÚcreate_swapÚget_call_callable_depthÚget_code_keysÚInstructionÚis_generatorÚis_jump_absoluteÚ	unique_id)Úcode_context)Ú	PyCodegen)Ú%maybe_setup_comprehension_speculation)Ú!augment_exc_message_with_hop_nameÚBackendCompilerFailedÚcollapse_resume_framesÚformat_frame_infoÚget_stack_above_dynamoÚraise_value_errorÚResumePrologueTracingErrorÚStepUnsupportedÚunimplementedÚUnsupportedÚ	UserError)Úget_funcname)ÚGuardBuilderÚinstall_guard)ÚCodeOptionsÚGraphCompileReasonÚOutputGraphÚStackLocalsMetadata)Úimpl_IS_MAPPINGÚimpl_MATCH_CLASSÚimpl_MATCH_KEYSÚimpl_MATCH_SEQUENCE)ÚDummyModuleÚExecutionRecorder)ÚContinueExecutionCacheÚ"IS_TRACING_RESUME_PROLOGUE_VARNAMEÚReenterWith)Ú
AttrSourceÚDictGetItemSourceÚGlobalSourceÚGlobalWeakRefSourceÚLocalCellSourceÚLocalSourceÚSkipGuardSourceÚSource)Úis_builtin_constantÚis_forbidden)
Ú_get_error_on_graph_breakÚcountersÚget_fake_valueÚget_instruction_source_311Úget_metrics_contextÚgraph_break_dup_warning_checkerÚistypeÚ
LazyStringÚproxy_args_kwargsÚunpack_iterable)ÚSourceLocationÚtypestrÚValueMutationNewÚVariableTracker)ÚFrameStateSizeEntryÚVariableBuilderÚwrap_fx_proxy)ÚBuiltinVariableÚDictBuiltinVariable)ÚConstantVariable)ÚContextWrappingVariableÚGenericContextWrappingVariableÚWithEnterFunctionVariableÚWithExitFunctionVariable©ÚConstDictVariable)ÚBaseUserFunctionVariableÚ
CO_VARARGSÚCO_VARKEYWORDSÚLocalGeneratorFunctionVariableÚLocalGeneratorObjectVariableÚNestedUserFunctionVariableÚSkipFunctionVariableÚUserFunctionVariable)ÚIteratorVariableÚMAX_ITERATOR_LIMIT)ÚLazyVariableTracker)ÚBaseListVariableÚListIteratorVariableÚListVariableÚSliceVariableÚTupleVariable)ÚCellVariableÚExceptionVariableÚNullVariableÚPythonModuleVariableÚTracebackVariableÚUnknownVariable)ÚNNModuleVariableÚUnspecializedNNModuleVariable)Úgeneric_boolÚgeneric_containsÚgeneric_getiterÚvirtual_iterator_next)ÚSetVariable)ÚSymbolicStreamState)Úsupported_comparison_opsÚSymNodeVariableÚTensorVariable)ÚSymbolicTorchFunctionStateÚTorchFunctionModeVariable)ÚRemovableHandleVariableÚUserDefinedClassVariableÚ!UserDefinedExceptionClassVariableÚ"UserDefinedExceptionObjectVariableÚUserDefinedObjectVariable)ÚCallableÚ	Generator)ÚFakeTensorMode)ÚCompilePackageÚgraph_breaksÚ
trace_callÚtrace_sourceÚtrace_bytecodec                ó>   — i | ]\  }}|t          |¦  «        j        “ŒS © )rk   Úcall_function©Ú.0ÚkÚvs      ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.pyú
<dictcomp>r¬   ã   s6   € ð 'ð 'ð 'Ù,0¨A¨q€A…�qÑÔÔ'ð'ð 'ð 'ó    údict[str, Any]Úcompare_op_handlersc                óB   — t          | g t          |¦  «        ¢i ¦  «        S ©N)Úhandle_containsÚreversed©ÚtxÚargsÚ_s      r«   ú<lambda>r¸   è   s#   € µØÐ�(�4‰.Œ.Ð˜2ñ1ô 1€ r­   Úinc           
     ób   — t          | t          | g t          |¦  «        ¢i ¦  «        gi ¦  «        S r±   )Ú
handle_notr²   r³   r´   s      r«   r¸   r¸   ë   s2   € µJØ�˜Ð.�x¨™~œ~Ð.°Ñ	3Ô	3Ð4°bñ5ô 5€ r­   znot inr
   ÚExceptionValsÚnameÚstrÚreturnútypes.ModuleTypec                ó*   — t          j        | ¦  «        S )z´
    Import the named module and cache the result. importlib.import_module()
    seems to do some filesystem checking to validate the name so not caching
    this can be slow.
    )Ú	importlibÚimport_module)r½   s    r«   Ú_import_modulerÄ   ö   s   € õ Ô" 4Ñ(Ô(Ð(r­   c                  ór   — e Zd ZU ded<   ded<   ded<   ded<   dZd	ed
<   dZded<   dZded<   dd„Zdd„ZdS )ÚSpeculationEntryr¾   ÚfilenameÚintÚlinenoÚinstruction_pointerr.   ÚinstFÚboolÚ_failedNzbool | NoneÚerror_on_graph_breakzGraphCompileReason | NoneÚreasonr¿   ÚNonec                ót   — d| _         || _        | j        �| j        j        }nd}t          j        |¬¦  «        ‚)z\
        Start tracing of the current frame over again, and don't take this branch.
        TNz!Unknown fail_and_restart_analysis)Úrestart_reason)rÍ   rÎ   rÏ   r   ÚSpeculationRestartAnalysis)ÚselfrÎ   rÒ   s      r«   Úfail_and_restart_analysisz*SpeculationEntry.fail_and_restart_analysis  s@   € ð ˆŒØ$8ˆÔ!ØŒ;Ð"Ø!œ[Ô/ˆNˆNà@ˆNÝÔ,¸NÐKÑKÔKÐKr­   rµ   ÚInstructionTranslatorBasec                ó\   — | j         r$| j        €t          d¦  «        ‚| j        |_        dS dS )Nz9expected self.error_on_graph_break is not None to be trueTF)rÍ   rÎ   ÚAssertionError)rÔ   rµ   s     r«   ÚfailedzSpeculationEntry.failed  sA   € ØŒ<ð 	ØÔ(Ð0Ý$ØOñô ð ð '+Ô&?ˆBÔ#Ø�4Øˆur­   )rÎ   rÌ   r¿   rÐ   )rµ   rÖ   r¿   rÌ   )	Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rÍ   rÎ   rÏ   rÕ   rÙ   r¥   r­   r«   rÆ   rÆ      s    € € € € € € à€M€M�MØ€K€K�KØÐÐÑØÐÐÑØ€GÐÐÐÑà(,ÐÐ,Ð,Ð,Ñ,Ø(,€FÐ,Ð,Ð,Ñ,ð
Lð 
Lð 
Lð 
Lðð ð ð ð ð r­   rÆ   c                  ó®   — e Zd ZU dZ ej        e¬¦  «        Zded<   dZ	ded<   dZ
d	ed
<    ej        e¬¦  «        Zded<   dZd	ed<   dd„Zdd„Zdd„ZdS )ÚSpeculationLoga3  
    SpeculationLog replaces the prior copy_graphstate/restore_graphstate
    checkpointing.  Rather than saving/restoring state, we restart the
    dynamo conversion process over from the beginning -- but when we
    hit the start of the speculation that failed, we instead generate
    a graph break.
    ©Údefault_factoryzlist[SpeculationEntry]Úentriesr   rÈ   ÚindexFrÌ   Úgraph_break_on_autograd_gradú	list[str]Úautograd_grad_leaked_tensorsÚgraph_break_on_requires_grad_r¿   rÐ   c                ó   — d| _         d S ©Nr   )rã   ©rÔ   s    r«   ÚrestartzSpeculationLog.restart8  s   € ØˆŒ
ˆ
ˆ
r­   c                óF   — | j                              ¦   «          d| _        d S ré   )râ   Úclearrã   rê   s    r«   rí   zSpeculationLog.clear;  s!   € ØŒ×ÒÑÔÐØˆŒ
ˆ
ˆ
r­   rÇ   r¾   rÉ   rÊ   rË   r.   rÆ   c                óz  — t          | j        ¦  «        | j        k    r*| j                             t	          ||||¦  «        ¦  «         | j        | j                 }d}| j        dk    r=| j        | j        dz
           }d|j        › d|j        › d|j        j        › d|j	        › d�	}|j	        |k    r|j        |k    r|j        |k    sft          d	| j        › d
t          | j        ¦  «        › d|j        › d|j        › d|j        j        › d|j	        › d|› d|› d|j        › d|› d|› d�¦  «        ‚| xj        dz  c_        |S )z’
        Lookup or create a SpeculationEntry() that is shared across
        RestartAnalysis calls.  Args are used only for debug checks.
        Ú r   r   zPrevious instruction: ú:ú(z @ z)
z"
SpeculationLog diverged at index z
 (log had z entries):
- Expected: ú (z at ip=z)
- Actual: a“  
There are two usual reasons why this may have occurred:
- When Dynamo analysis restarted, the second run took a different path than
  the first.  If this occurred, the previous instruction is the critical instruction that
  behaved differently.
- Speculation entries are only added under certain conditions (as seen in
  step()), e.g., there must exist operators in the graph; those conditions may
  have changed on restart.

If this divergence was intentional, clear the speculation log before restarting (do NOT
do this for graph breaks, you will infinite loop).

Otherwise, please submit a bug report, ideally including the contents of TORCH_LOGS=+dynamo
)Úlenrâ   rã   ÚappendrÆ   rÇ   rÉ   rË   ÚopnamerÊ   ÚSpeculationLogDivergence)rÔ   rÇ   rÉ   rÊ   rË   ÚentryÚprev_entry_msgÚ
prev_entrys           r«   ÚnextzSpeculationLog.next?  sã  € õ ˆtŒ|ÑÔ ¤
Ò*Ð*ØŒL×ÒÝ  ¨6Ð3FÈÑMÔMñô ð ð ”˜TœZÔ(ˆØˆØŒ:˜Š?ˆ?Øœ d¤j°1¡nÔ5ˆJðS¨Ô)<ð Sð S¸zÔ?Pð Sð SØ”OÔ*ðSð SØ/9Ô/MðSð Sð Sð ð
 Ô%Ð)<Ò<Ð<Ø” (Ò*Ð*Ø” Ò&Ð&å*ðØ"&¤*ðð Ý8;¸D¼LÑ8IÔ8Iðð àŒ^ðð à#œlðð à.3¬jÔ.?ðð àHMÔHaðð ð ðð ð ðð ð !%¤ðð ð 5Hðð ð ð	ð ð ñô ð ð( 	ˆ
Œ
�a‰ˆ
Œ
Øˆr­   N©r¿   rÐ   )
rÇ   r¾   rÉ   rÈ   rÊ   rÈ   rË   r.   r¿   rÆ   )rÚ   rÛ   rÜ   Ú__doc__ÚdataclassesÚfieldÚlistrâ   rÝ   rã   rä   ræ   rç   rë   rí   rú   r¥   r­   r«   rß   rß   "  s×   € € € € € € ðð ð '8 kÔ&7ÈÐ&MÑ&MÔ&M€GÐMÐMÐMÑMØ€E€N€N€N�Nð */Ð Ð.Ð.Ð.Ñ.à.?¨kÔ.?ÐPTÐ.UÑ.UÔ.UÐ ÐUÐUÐUÑUð +0Ð!Ð/Ð/Ð/Ñ/ðð ð ð ðð ð ð ð-ð -ð -ð -ð -ð -r­   rß   c                  óD   — e Zd ZU  ej        e¬¦  «        Zded<   dd„ZdS )	Ú
LocalStaterà   zdict[str, FrameStateSizeEntry]Úautomatic_dynamicr¿   r¾   c                ón   — d                      d„ | j                             ¦   «         D ¦   «         ¦  «        S )Nú
c              3  óN   K  — | ] \  }}|› d |                      ¦   «         › �V — Œ!dS )ú: N)Úrenderr§   s      r«   ú	<genexpr>z$LocalState.render.<locals>.<genexpr>v  sM   è è € ð 
ð 
Ù%) Q¨ˆqÐ Ð �A—H’H‘J”JÐ Ð ð
ð 
ð 
ð 
ð 
ð 
r­   )Újoinr  Úitemsrê   s    r«   r  zLocalState.renderu  sC   € Ø�yŠyð 
ð 
Ø-1Ô-C×-IÒ-IÑ-KÔ-Kð
ñ 
ô 
ñ 
ô 
ð 	
r­   N©r¿   r¾   )	rÚ   rÛ   rÜ   rý   rþ   Údictr  rÝ   r  r¥   r­   r«   r  r  o  s[   € € € € € € à8I¸Ô8IØð9ñ 9ô 9Ðð ð ð ñ ð
ð 
ð 
ð 
ð 
ð 
r­   r  c                  ó2   — e Zd ZU ded<   ded<   dZded<   dS )ÚDistributedStater   Ú
compile_pgr  Úlocal_stateNzlist[LocalState] | NoneÚ
all_states)rÚ   rÛ   rÜ   rÝ   r  r¥   r­   r«   r  r  |  s8   € € € € € € à€O€O�OØÐÐÑØ*.€JÐ.Ð.Ð.Ñ.Ð.Ð.r­   r  c                  óŽ   — e Zd ZU  e¦   «         Zded<   edd„¦   «         Zedd	„¦   «         Zedd
„¦   «         Z	edd„¦   «         Z
dS )ÚTensorifyStatezset[str]Úforce_specializationsrã   r¾   r¿   rÐ   c                ó:   — | j                              |¦  «         d S r±   )r  Úadd©Úclsrã   s     r«   Ú
specializezTensorifyState.specialize‰  s   € àÔ!×%Ò% eÑ,Ô,Ð,Ð,Ð,r­   rÌ   c                ó   — || j         v S r±   )r  r  s     r«   Úshould_specializez TensorifyState.should_specialize�  s   € à˜Ô1Ð1Ð1r­   c                ó8   — | j                              ¦   «          d S r±   )r  rí   ©r  s    r«   rí   zTensorifyState.clear‘  s   € àÔ!×'Ò'Ñ)Ô)Ð)Ð)Ð)r­   c                ó2   — t          | j        ¦  «        dk    S ré   )ró   r  r  s    r«   ÚemptyzTensorifyState.empty•  s   € å�3Ô,Ñ-Ô-°Ò2Ð2r­   N)rã   r¾   r¿   rÐ   )rã   r¾   r¿   rÌ   rû   ©r¿   rÌ   )rÚ   rÛ   rÜ   Úsetr  rÝ   Úclassmethodr  r  rí   r  r¥   r­   r«   r  r  ƒ  s®   € € € € € € ð '* c¡e¤eÐÐ+Ð+Ð+Ñ+àð-ð -ð -ñ „[ð-ð ð2ð 2ð 2ñ „[ð2ð ð*ð *ð *ñ „[ð*ð ð3ð 3ð 3ñ „[ð3ð 3ð 3r­   r  úCallable[..., None]c                 ó4   — t          j        t          ¦  «        S r±   )Útorchdynamo_loggingÚget_step_loggerÚlogr¥   r­   r«   Ú_step_loggerr(  š  s   € åÔ.­sÑ3Ô3Ð3r­   rµ   rÖ   úGenerator[None, None, None]c              #  óÞ   K  — | j         j        }| j         j        }	 g | j         _        d| j         _        d V — || j         _        || j         _        d S # || j         _        || j         _        w xY wré   )Úspeculation_logrâ   rã   )rµ   râ   rã   s      r«   Ú save_and_restart_speculation_logr,  Ÿ  sƒ   è è € ð Ô Ô(€GØÔÔ$€Eð)Ø%'ˆÔÔ"Ø#$ˆÔÔ Øˆˆˆà%,ˆÔÔ"Ø#(ˆÔÔ Ð Ð øð &-ˆÔÔ"Ø#(ˆÔÔ Ð(Ð(Ð(Ð(s   œA ÁA,c              #  ó~   K  — 	 | j         j        }d| j         _        d V — || j         _        d S # || j         _        w xY w©NF)ÚoutputÚshould_exit)rµ   Útmps     r«   Ú(temporarely_allow_writes_to_output_graphr2  ³  sN   è è € ð$ØŒiÔ#ˆØ %ˆŒ	ÔØˆˆˆà #ˆŒ	ÔÐÐø ˆŒ	ÔÐ#Ð#Ð#Ð#s   „. ®<c                  óT   — e Zd ZU ded<   ded<   ded<   dZded	<   dd„Zdd„Zdd„ZdS )ÚBlockStackEntryr.   rË   zInstruction | NoneÚtargetrÈ   Ústack_indexNz?ContextWrappingVariable | GenericContextWrappingVariable | NoneÚwith_contextr¿   rÌ   c                ó   — | j         d uS r±   )r7  rê   s    r«   Úcan_restorezBlockStackEntry.can_restoreÇ  s   € ØÔ ¨Ð,Ð,r­   rO   c                ó
  — | j         €t          d¦  «        ‚| j        rPt          | j        d¦  «        r;| j        j        r/t          | j         dz
  t          | j        j        ¦  «        ¦  «        S t          | j         dz
  ¦  «        S )Nz0expected self.stack_index is not None to be trueÚtarget_valuesr   )r6  rØ   r7  Úhasattrr;  rO   Útuplerê   s    r«   Ú	resume_fnzBlockStackEntry.resume_fnÊ  s‘   € ØÔÐ#Ý Ð!SÑTÔTÐTàÔð		5å˜Ô)¨?Ñ;Ô;ð		5ð Ô!Ô/ð		5õ
 ØÔ  1Ñ$¥e¨DÔ,=Ô,KÑ&LÔ&Lñô ð õ ˜tÔ/°!Ñ3Ñ4Ô4Ð4r­   rµ   rÖ   Úis_graph_breakúVariableTracker | Nonec                ó    — | j         €t          d¦  «        ‚|r| j                              ¦   «         s|s| j                              |¦  «        S d S )Nz1expected self.with_context is not None to be true)r7  rØ   Úexit_on_graph_breakÚexit)rÔ   rµ   r?  s      r«   rC  zBlockStackEntry.exitØ  sa   € ð ÔÐ$Ý Ð!TÑUÔUÐUàð	.Ø#Ô0×DÒDÑFÔFð	.àð	.ð Ô$×)Ò)¨"Ñ-Ô-Ð-Øˆtr­   r   )r¿   rO   )rµ   rÖ   r?  rÌ   r¿   r@  )rÚ   rÛ   rÜ   rÝ   r7  r9  r>  rC  r¥   r­   r«   r4  r4  ¿  s‰   € € € € € € ð ÐÐÑØÐÐÑØÐÐÑØTX€LÐXÐXÐXÑXð-ð -ð -ð -ð5ð 5ð 5ð 5ð	ð 	ð 	ð 	ð 	ð 	r­   r4  c                  ó   — e Zd ZdS )rö   N©rÚ   rÛ   rÜ   r¥   r­   r«   rö   rö   ä  ó   € € € € € Ø€Dr­   rö   c                  ó   — e Zd ZdS )ÚReturnValueOpNrE  r¥   r­   r«   rH  rH  è  rF  r­   rH  c                  ó   — e Zd ZdZdS )ÚYieldValueOpzY
    Signal to the symbolic tracer to stop and return control flow to the
    caller
    N)rÚ   rÛ   rÜ   rü   r¥   r­   r«   rJ  rJ  ì  s   € € € € € ðð ð ð r­   rJ  ÚfnúCallable[..., object]úCallable[..., Any]c                ó¶   ‡‡— t          t          j        | ¦  «        j        ¦  «        Št	          | ¦  «        Št          j        | ¦  «        dˆˆfd„¦   «         }|S )	NrÔ   ÚInstructionTranslatorrË   r.   r¿   rÐ   c                ó‚   •— |                       ‰                     | |                      ‰¦  «        i ¦  «        ¦  «         d S r±   )Úpushr¦   Úpopn)rÔ   rË   Úfn_varÚnargss     €€r«   Úimplzstack_op.<locals>.impl÷  s9   ø€ à�	Š	�&×&Ò& t¨T¯YªY°uÑ-=Ô-=¸rÑBÔBÑCÔCÐCÐCÐCr­   )rÔ   rO  rË   r.   r¿   rÐ   )ró   ÚinspectÚ	signatureÚ
parametersrk   Ú	functoolsÚwraps)rK  rU  rS  rT  s     @@r«   Ústack_opr[  ó  sr   øø€ Ý•Ô! "Ñ%Ô%Ô0Ñ1Ô1€EÝ˜RÑ Ô €Få„_�RÑÔðDð Dð Dð Dð Dð Dñ ÔðDð €Kr­   ÚmodÚobjectrÌ   c                ó’   — t          | t          j        ¦  «        sdS | j                             d¦  «        d         t
          j        v S )NFú.r   )Ú
isinstanceÚtypesÚ
ModuleTyperÚ   ÚsplitÚsysÚstdlib_module_names)r\  s    r«   Ú	is_stdlibrf  þ  s?   € Ý�c�5Ô+Ñ,Ô,ð ØˆuØŒ<×Ò˜cÑ"Ô" 1Ô%­Ô)@Ð@Ð@r­   Úwith_msgrå   c                óê   — | rdd„}ndd„}d„ t          j        |¦  «        D ¦   «         }t          d„ t          |¦  «        D ¦   «         ¦  «        }|                     d	¦  «        }||d
z   |d
z   …         S )NÚxr   r¿   rÐ   c                ó   — | s
J d¦   «         ‚d S )NÚmsgr¥   ©ri  s    r«   rK  z(get_assert_bytecode_sequence.<locals>.fn  s   € ØˆOˆO�e‰OŒO�1ˆOˆOr­   c                ó   — | sJ ‚d S r±   r¥   rl  s    r«   rK  z(get_assert_bytecode_sequence.<locals>.fn  s   € ØˆHˆH�1ˆHˆHr­   c                ó   — g | ]	}|j         ‘Œ
S r¥   ©rõ   ©r¨   rË   s     r«   ú
<listcomp>z0get_assert_bytecode_sequence.<locals>.<listcomp>  s   € Ð>Ð>Ð>˜TˆTŒ[Ð>Ð>Ð>r­   c              3  óJ   K  — | ]\  }}|                      d ¦  «        ¯|V — ŒdS )ÚPOP_JUMPN)Ú
startswith)r¨   ÚirË   s      r«   r  z/get_assert_bytecode_sequence.<locals>.<genexpr>  s7   è è € ÐVÐV™7˜1˜d¸$¿/º/È*Ñ:UÔ:UÐV�QÐVÐVÐVÐVÐVÐVr­   ÚRAISE_VARARGSr   )ri  r   r¿   rÐ   )ÚdisÚget_instructionsrú   Ú	enumeraterã   )rg  rK  ÚinstsÚ	begin_idxÚend_idxs        r«   Úget_assert_bytecode_sequencer}    s¦   € àð ð	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð ?Ð>¥SÔ%9¸"Ñ%=Ô%=Ð>Ñ>Ô>€Eõ ÐVÐV¥i°Ñ&6Ô&6ÐVÑVÔVÑVÔV€IØ�kŠk˜/Ñ*Ô*€Gà�˜Q‘ ¨1¡Ð,Ô-Ð-r­   rÔ   Útruth_fnúCallable[[object], bool]rQ  c                óÈ  — |t           j        us|rdS t          | j        t          ¦  «        st          d¦  «        ‚| j        }dD ]œ}t          |¦  «        }| j        ||t          |¦  «        z   …         }d„ |D ¦   «         }||k    rZ|r+| 	                    d¦  «        }| j        ||z            j
        }nd}|                      t          j        | |¦  «        ¦  «          dS Œ�dS )NFú=expected isinstance(self.instruction_pointer, int) to be true)FTc                ó   — g | ]	}|j         ‘Œ
S r¥   ro  rp  s     r«   rq  z:_detect_and_normalize_assert_statement.<locals>.<listcomp>6  s   € Ð7Ð7Ð7 T�T”[Ð7Ð7Ð7r­   Ú
LOAD_CONSTzassertion errorT)ÚoperatorÚtruthr`  rÊ   rÈ   rØ   r}  Úinstructionsró   rã   ÚargvalrQ  rg   Úbuild)	rÔ   r~  rQ  Úcurrent_instruction_pointerrg  Úassert_instsÚ	cur_instsÚload_const_idxÚ	error_msgs	            r«   Ú&_detect_and_normalize_assert_statementrŽ    s%  € ð 	�œÐ&Ð&¨4Ð&Øˆuå�dÔ.µÑ4Ô4ð 
ÝØKñ
ô 
ð 	
ð #'Ô":Ðà!ð ð ˆÝ3°HÑ=Ô=ˆØÔ%Ø'Ð*EÝ�,ÑÔñ+ ð  ô
ˆ	ð 8Ð7¨YÐ7Ñ7Ô7ˆ	Ø˜Ò$Ð$Øð .Ø!-×!3Ò!3°LÑ!AÔ!A�Ø Ô-Ø/°.Ñ@ôäð �	ð .�	Ø�IŠI•oÔ+¨D°)Ñ<Ô<Ñ=Ô=Ð=Ø�4�4ð %ð ˆ5r­   FÚnútorch.fx.Nodec                óø  — | j                              dd¦  «        pt          | dd¦  «        }|sdS |                     ¦   «                              d¦  «        }d}t          |¦  «        D ].\  }}|                     ¦   «                              d¦  «        r|}Œ/|dk     rdS ||                              ¦   «         }d}|dz   t          |¦  «        k     r||dz                                 ¦   «         }|› |rd|› �ndz   S )	zIExtract the innermost user source location from an FX node's stack trace.Ústack_tracerï   r  éÿÿÿÿzFile r   r   z, code: )ÚmetaÚgetÚgetattrÚstriprc  ry  rt  ró   )r�  ÚstÚtrace_linesÚlast_file_idxru  ÚlineÚ	file_lineÚcodes           r«   Úget_node_source_inforž  f  s  € à	
Œ�Š�M 2Ñ	&Ô	&Ð	G­'°!°]ÀBÑ*GÔ*G€BØð ØˆrØ—(’(‘*”*×"Ò" 4Ñ(Ô(€KØ€MÝ˜[Ñ)Ô)ð ð ‰ˆˆ4Ø�:Š:‰<Œ<×"Ò" 7Ñ+Ô+ð 	ØˆMøØ�qÒÐØˆrØ˜MÔ*×0Ò0Ñ2Ô2€IØ€DØ�qÑ�3˜{Ñ+Ô+Ò+Ð+Ø˜=¨1Ñ,Ô-×3Ò3Ñ5Ô5ˆØˆ>°$Ð>Ð.¨Ð.Ð.Ð.¸BÑ?Ð?r­   é   Úvaluerg   Ú	max_linesrÈ   c                óô  ‡‡‡‡‡‡	— t          | t          ¦  «        sdS 	 | j        j        }g Šg Št	          ¦   «         Šdd„Šdˆˆˆˆˆˆ	fd
„Š	 ‰	|¦  «         ‰s‰sdS g }‰t          t          ‰¦  «        ¦  «        z   D ],}|                     |¦  «         |                     d¦  «         Œ-dd 	                    d„ |D ¦   «         ¦  «        z   S # t          $ r  t                               dd¬¦  «         Y dS w xY w)zóWalk the FX graph backwards from a TensorVariable to show how it was
    computed, with user source locations. Graph inputs (placeholders) are always
    shown first, followed by operations in dataflow order ending at the branch
    condition.rï   Úar]  r¿   r¾   c                ól   — t          | t          j        j        ¦  «        r| j        nt          | ¦  «        S r±   )r`  ÚtorchÚfxÚNoder½   Úrepr)r£  s    r«   Úfmt_argz0format_tensor_computation_trace.<locals>.fmt_arg‰  s'   € Ý'¨­5¬8¬=Ñ9Ô9ÐF�1”6�6½tÀA¹w¼wÐFr­   r�  r�  rÐ   c                ó&  •— | j         ‰
v rd S ‰
                     | j         ¦  «         t          | ¦  «        }| j        dk    rXg }|r|                     d|› �¦  «         |                     | j         › d| j        › d�¦  «         ‰	                     |¦  «         d S | j        dk    rét          ‰¦  «        ‰k     rØt          | j        dt          | j        ¦  «        ¦  «        }d 	                    ˆfd„| j
        D ¦   «         ¦  «        }g }|r|                     d|› �¦  «         |                     | j         › d	|› d
|› d�¦  «         ‰                     |¦  «         | j
        D ]0}t          |t          j        j        ¦  «        r ‰|¦  «         Œ-d S d S d S )NÚplaceholderz# z: graph input (ú)r¦   rÚ   z, c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r±   r¥   )r¨   r£  r©  s     €r«   r  z@format_tensor_computation_trace.<locals>.walk.<locals>.<genexpr>œ  s+   øè è € Ð$@Ð$@°A W W¨Q¡Z¤ZÐ$@Ð$@Ð$@Ð$@Ð$@Ð$@r­   z = rñ   )r½   r  rž  Úoprô   r5  ró   r–  r¾   r	  r¶   r`  r¥  r¦  r§  )r�  ÚsourceÚblockÚtarget_nameÚargs_strr£  r©  r¡  Ú	op_blocksÚplaceholder_blocksÚvisitedÚwalks         €€€€€€r«   r¶  z-format_tensor_computation_trace.<locals>.walkŒ  s»  ø€ ØŒv˜Ð Ð Ø�Ø�KŠK˜œÑÔÐÝ)¨!Ñ,Ô,ˆFàŒt�}Ò$Ð$Ø�Øð 0Ø—L’L  f  Ñ/Ô/Ð/Ø—’ ¤ÐBÐB°q´xÐBÐBÐBÑCÔCÐCØ"×)Ò)¨%Ñ0Ô0Ð0Ø�àŒt�Ò&Ð&­3¨y©>¬>¸IÒ+EÐ+EÝ% a¤h°
½CÀÄ¹M¼MÑJÔJ�ØŸ9š9Ð$@Ð$@Ð$@Ð$@¸¼Ð$@Ñ$@Ô$@Ñ@Ô@�Ø�Øð 0Ø—L’L  f  Ñ/Ô/Ð/Ø—’ ¤ÐDÐD¨;ÐDÐD¸ÐDÐDÐDÑEÔEÐEØ× Ò  Ñ'Ô'Ð'àœð  ð  �AÝ! !¥U¤X¤]Ñ3Ô3ð  Ø˜˜Q™œ˜øð 'Ð&Ð+EÐ+Eð ð  r­   z@

  The branch condition involves a tensor computed as follows:
r  c              3  ó    K  — | ]	}d |› �V — Œ
dS )ú    Nr¥   )r¨   r›  s     r«   r  z2format_tensor_computation_trace.<locals>.<genexpr>µ  s(   è è € Ð<Ð<¨$˜˜t˜˜Ð<Ð<Ð<Ð<Ð<Ð<r­   z&format_tensor_computation_trace failedT)Úexc_infoN)r£  r]  r¿   r¾   )r�  r�  r¿   rÐ   )r`  r”   ÚproxyÚnoder!  rÿ   r³   Úextendrô   r	  Ú	Exceptionr'  Údebug)
r   r¡  r»  Ú	all_linesr°  r©  r³  r´  rµ  r¶  s
    `   @@@@@r«   Úformat_tensor_computation_tracerÀ  y  sx  øøøøøø€ õ
 �e�^Ñ,Ô,ð Øˆrð9ØŒ{Ôˆð &(ˆ	Ø.0ÐÝ™EœEˆð	Gð 	Gð 	Gð 	Gð	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð6 	ˆˆT‰
Œ
ˆ
àð 	Ð!3ð 	Ø�2ð  "ˆ	Ø'­$­x¸	Ñ/BÔ/BÑ*CÔ*CÑCð 	!ð 	!ˆEØ×Ò˜UÑ#Ô#Ð#Ø×Ò˜RÑ Ô Ð Ð ð RØ�iŠiÐ<Ð<°)Ð<Ñ<Ô<Ñ<Ô<ñ=ð	
øõ ð ð ð Ý�	Š	Ð:ÀTˆ	ÑJÔJÐJØˆrˆrðøøøs   Ÿ<C ÁA/C Ã&C7Ã6C7ú8Callable[[InstructionTranslatorBase, Instruction], None]c                ó:   ‡ ‡‡‡— dd„Š	 ddˆˆfd„Šdˆˆˆˆ fd„}|S )Nr   rg   r¿   r   c                ó&  — t          | ¦  «        }g }t          | t          ¦  «        �r	 | j        j        }|j                             d¦  «        }|�L|                     ¦   «         dk    r4|j        t          j
        t          j        fv r|                     d¦  «         |�B|                     ¦   «         dk    r*|j        t          j        k    r|                     d¦  «         t          |j        dd ¦  «        p"t          |j        t           ¦  «        r|j        nd }|dv r|                     d¦  «         n# t"          $ r Y nw xY w|                     t&          j        ¦  «         |                     d¦  «         t+          d	d
| › �d|z   |¬¦  «         d S )NÚexample_valuer   zîThe branch condition uses a scalar integer tensor. Consider rewriting the computation to use plain Python ints (e.g. use int attributes instead of tensor buffers) so the condition becomes a shape guard instead of data-dependent branching.a,  For the common pattern `if tensor_cond: x = transform(x)` (e.g. clamping inf/nan values), consider making the code branchless by always applying the transform. Operations like torch.clamp, torch.nan_to_num, and torch.where are typically no-ops on well-behaved inputs and compile without graph breaks.rÚ   )ÚanyÚallÚbitwise_andÚ
bitwise_orzÎNote: Python `or`/`and` between tensor expressions (e.g. `tensor.any() or other_tensor.any()`) triggers implicit bool conversion. Use `torch.logical_or`/`torch.logical_and` or the `|`/`&` operators instead.z1Use `torch.cond` to express dynamic control flow.zData-dependent branchingzattempted to jump with zyDetected data-dependent branching (e.g. `if my_tensor.sum() > 0:`). Dynamo does not support tracing dynamic control flow.©Úgb_typeÚcontextÚexplanationÚhints)rÀ  r`  r”   rº  r»  r”  r•  ÚdimÚdtyper¥  Úint32Úint64rô   rÌ   r–  r5  r¾   r½  r¼  r   ÚFUNDAMENTALr=   )r   Ú
trace_inforÍ  r»  Úexampler±  s         r«   Úraise_jump_graph_breakz,generic_jump.<locals>.raise_jump_graph_break¿  sÏ  € Ý4°UÑ;Ô;ˆ
ØˆÝ�e�^Ñ,Ô,ñ /	ð.Ø”{Ô'�Øœ)Ÿ-š-¨Ñ8Ô8�àÐ'ØŸš™œ¨Ò*Ð*ØœåœÝœððð ð —L’Lð4ñô ð ð Ð'ØŸš™œ¨Ò*Ð*Øœ­¬Ò3Ð3à—L’LðZñô ð õ & d¤k°:¸tÑDÔDð Ý#-¨d¬k½3Ñ#?Ô#?ÐI�D”K�KÀTð ð Ð"MÐMÐMØ—L’Lð5ñô ð øøõ ð ð ð Ø�ðøøøà�ŠÕ&Ô2Ñ3Ô3Ð3Ø�ŠÐHÑIÔIÐIÝØ.Ø5¨eÐ5Ð5ðDØFPñQàð	
ñ 	
ô 	
ð 	
ð 	
ð 	
s   ©D
D4 Ä4
EÅ Erï   rÔ   rÖ   rË   r.   Ú	extra_msgr¾   rÐ   c           	     ó´  •— |                       ¦   «         st          d¦  «        ‚d }	  ‰|¦  «         n # t          t          f$ r}|}Y d }~nd }~ww xY w|€t          d¦  «        ‚|                      ¦   «         r|                      | j        |¦  «         |                      | j        t          |¦  «        |¬¦  «         |  
                    |¦  «         t                               d¦  «         | j                             | t          dt!          |¦  «        › |› �|                      ¦   «         g¦  «        d¬¦  «        }|                      ¦   «          |                      | j        |¦  «        }‰r|  
                    |¦  «         |j        €t          d¦  «        ‚|                      |j        |¦  «        }t,          j        d	k    r(| j                             t3          d
¦  «        g¦  «         t3          |j        |d         ¬¦  «        }	| j        �| j        j        j        n|}
|	                     |
¦  «         | j                             |	g|z   |z   ¦  «         d S )Nz7expected self.should_compile_partial_graph() to be truez#expected exc is not None to be true©rÏ   r   zgeneric_jump triggered compilezgeneric_jump r   ©rÏ   Ú
stack_popsú+expected inst.target is not None to be true©é   é   ÚTO_BOOLr   )r5  )Úshould_compile_partial_graphrØ   r>   r?   Úmaybe_has_backedgeÚraise_loop_graph_breakÚf_codeÚlog_graph_breakÚcode_optionsr¾   rQ  r'  r¾  r/  Úcompile_subgraphrD   re   Úframe_summaryÚpopÚcreate_call_resume_atÚnext_instructionr5  rd  Úversion_infoÚadd_output_instructionsr(   rõ   ÚparentÚroot_txÚcurrent_instructionÚcopy_positions)rÔ   rË   r   rÖ  r   ÚeÚall_stack_locals_metadataÚif_nextÚif_jumpÚ	jump_instÚpositions_instrQ  rÕ  s              €€r«   Újump_graph_breakz&generic_jump.<locals>.jump_graph_breakü  s™  ø€ ð ×0Ò0Ñ2Ô2ð 	Ý ØIñô ð ð ˆð	Ø"Ð" 5Ñ)Ô)Ð)Ð)øÝ�YÐ'ð 	ð 	ð 	ØˆCˆCˆCˆCˆCˆCøøøøð	øøøð ˆ;Ý Ð!FÑGÔGÐGð ×"Ò"Ñ$Ô$ð 	:Ø×'Ò'¨¬°SÑ9Ô9Ð9à×ÒØÔÝ�s‘8”8Øð 	ñ 	
ô 	
ð 	
ð 	�	Š	�%ÑÔÐÝ�	Š	Ð2Ñ3Ô3Ð3Ø$(¤K×$@Ò$@ØÝ%Ø;¥¨¡¤Ð;°	Ð;Ð;¸d×>PÒ>PÑ>RÔ>RÐ=Sñô ð ð %Añ %
ô %
Ð!ð 	�Š‰
Œ
ˆ
à×,Ò,ØÔ!Ø%ñ
ô 
ˆð ð 	Ø�IŠI�eÑÔÐØŒ;ÐÝ Ð!NÑOÔOÐOØ×,Ò,ØŒKØ%ñ
ô 
ˆõ
 Ô˜wÒ&Ð&àŒK×/Ò/Õ1CÀIÑ1NÔ1NÐ0OÑPÔPÐPå& t¤{¸7À1¼:ÐFÑFÔFˆ	ð 8<´{Ð7NˆDŒKÔÔ3Ð3ÐTXð 	ð 	× Ò  Ñ0Ô0Ð0ØŒ×+Ò+¨Y¨K¸'Ñ,AÀGÑ,KÑLÔLÐLÐLÐLs   ¨4 ´AÁAÁAc                óî  •— |                       ¦   «         }t          j        �rkt          j        j        dk    �rUt          | ‰‰¦  «        �rC|                       ¦   «         }|                     ¦   «         r�t          | 	                    ¦   «         ¦  «        r|  
                    |¦  «        S |                      ¦   «         r ‰| ||¦  «         d S t          dd|› �dg t          j        ¢d‘d‘d‘¬¦  «         |                     ¦   «         rE | j        j        d	t$          j        gt)          ||fi ¦  «        ¢R Ž  |  
                    |¦  «         d S t+          |t,          ¦  «        r•|j        }t+          |t$          j        ¦  «        s|dk    }t$          j        j        j                             |¦  «        }|s,t          d
t;          |¦  «        dg t          j        ¢¬¦  «         |  
                    |¦  «         d S  | j        j        d	t$          j        gt)          |fi ¦  «        ¢R Ž }tA          | |tC          |j"        | ¦  «        ¬¦  «        } | j        j        d	t$          j        gt)          ||fi ¦  «        ¢R Ž  |  
                    |¦  «         d S |                     ¦   «         ršt+          |tF          ¦  «        r8|j$        r1tK          |j$         &                    tN          j(        ¦  «        ¦  «          ‰| 	                    ¦   «         ¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S |                     ¦   «         r#|                      ¦   «         r ‰| ||¦  «         d S t+          |tT          ¦  «        rZ| j         +                    |j,        ¦  «        } ‰|¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S t+          |tZ          ¦  «        rît]          | |¦  «        }|                     ¦   «         rM ‰| 	                    ¦   «         ¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S t+          |t,          ¦  «        rM ‰| /                    ¦   «         ¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S t          dd|› d|› �dg ¬¦  «         d S t+          |t,          ¦  «        rÒ	 t+          |j        t$          j        ¦  «        r| /                    | j        ¦  «        }	nta          |j        dk    ¦  «        }	nC# tb          j2        $ r1}
|                      ¦   «         r ‰| ||d|
› �¬¦  «        cY d }
~
S ‚ d }
~
ww xY w ‰|	¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S |                     ¦   «         sKt]          | |¦  «        } ‰|¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S t+          |tf          j4        ¦  «        r; ‰d¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S ddl$m5} |j$        �] ||j$        ¦  «        rM ‰| 6                    ¦   «         ¦  «        r.‰r|  )                    |¦  «         |  
                    |¦  «         d S d S  ‰|¦  «         d S )Nr   z>Data-dependent assertion failed (cannot compile partial graph)zvalue: zuDynamo has determined when encountering a data-dependent assert failure that it should not compile the partial graph.zÎUse `torch._assert()` to raise a hard AssertionError when the check fails. This error will propagate back the user code that called the compiled function (i.e. Dynamo will not trace any exception handling).zRemove the assert statement.z†Move the assert statement outside of any context managers in order to graph break with partial graph compilation (if fullgraph=False).rÉ  r¦   z#Assertion failed on symbolic shapesrï   )rÄ  z3Data-dependent branching with non-constant __bool__z
, result: zdAttempted to perform data-dependent branching on a user-defined object with non-constant truthiness.r  )rÖ  Tr   )Úis_constant_source)7rè  r   Ú rewrite_assert_with_torch_assertrd  ÚflagsÚoptimizerŽ  Úis_python_constantrÌ   Úas_python_constantÚjumprà  r=   r   rÒ  Ú	is_tensorr/  Úcreate_proxyr¥  Ú_assert_asyncrb   r`  r“   Úsym_numÚSymBoolr¦  ÚexperimentalÚsymbolic_shapesÚexpect_truer¾   Ú
USER_ERRORÚscalar_tensorrj   r\   r»  rs   r¯  rB   Ú
make_guardrA   ÚSEQUENCE_LENGTHrQ  rŠ   Úget_submoduleÚ
module_keyr›   rŒ   Úevaluate_exprr   r   r?   r   ÚBackwardHookVariablerù  Úget_real_value)rÔ   rË   r   r�  Úsym_exprÚresultÚscalar_to_tensor_proxyÚscalar_to_tensorr\  Úeval_resultrñ  rù  r÷  rQ  rÕ  r~  s               €€€€r«   Úinnerzgeneric_jump.<locals>.inner?  sö  ø€ Ø!%§¢¡¤ˆåÔ3ñN	å”	Ô" aÒ'Ñ'Ý6°t¸XÀtÑLÔLñ (ð *.¯ª©¬ˆIà×'Ò'Ñ)Ô)ð Ý˜×0Ò0Ñ2Ô2Ñ3Ô3ð ØŸ9š9 T™?œ?Ð*Ø×6Ò6Ñ8Ô8ð Ø$Ð$ T¨4°Ñ7Ô7Ð7Ø�Få!Ø `Ø 1¨%Ð 1Ð 1ð%HðÝ.Ô:ððuðð
 ;ððNððñ ô ð ð* �ŠÑ Ô ð Ø(�”Ô(Ø#ÝÔ'ðõ '¨¨yÐ'9¸2Ñ>Ô>ðð ð ð ð
 —	’	˜$‘”�Ø�å˜%¥Ñ1Ô1ð ð !œ=�Ý! (­E¬MÑ:Ô:ð -Ø'¨1š}�HåœÔ.Ô>×JÒJÈ8ÑTÔT�Øð Ý!Ø EÝ # H¡¤Ø$&Ø=Õ 1Ô <Ð=ð	ñ ô ð ð —	’	˜$‘”�Ø�à%= T¤[Ô%=Ø¥Ô!4ð&Ý7HÈ%ÈÐSUÑ7VÔ7Vð&ð &ð &Ð"õ  -ØØ&Ý,Ð-CÔ-HÈ$ÑOÔOð ñ  ô  Ðð %ˆDŒKÔ$ØÝÔ#ðõ #Ð$4°iÐ#@À"ÑEÔEðð ð ð ð
 �IŠI�d‰OŒOˆOØˆFà×#Ò#Ñ%Ô%ð N	.õ ˜%Õ!2Ñ3Ô3ð U¸¼ð UÝ˜eœl×5Ò5µlÔ6RÑSÔSÑTÔTÐTØˆx˜×0Ò0Ñ2Ô2Ñ3Ô3ð  Øð %Ø—I’I˜eÑ$Ô$Ð$Ø—	’	˜$‘”���ð ð  ð �_Š_ÑÔð D	. 4×#DÒ#DÑ#FÔ#Fð D	.ØÐ˜T 4¨Ñ/Ô/Ð/Ð/Ð/Ý˜Õ/Ñ0Ô0ð B	.à”+×+Ò+¨EÔ,<Ñ=Ô=ˆCØˆx˜‰}Œ}ð  Øð %Ø—I’I˜eÑ$Ô$Ð$Ø—	’	˜$‘”���ð ð  õ ˜Õ8Ñ9Ô9ð ;	.Ý! $¨Ñ.Ô.ˆFØ×(Ò(Ñ*Ô*ð Ø�8˜F×5Ò5Ñ7Ô7Ñ8Ô8ð $Øð )ØŸ	š	 %Ñ(Ô(Ð(Ø—I’I˜d‘O”O�O�O�Oð$ð $õ ˜F¥OÑ4Ô4ð Ø�8˜F×0Ò0Ñ2Ô2Ñ3Ô3ð $Øð )ØŸ	š	 %Ñ(Ô(Ð(Ø—I’I˜d‘O”O�O�O�Oð$ð $õ
 ØQØ? eÐ?Ð?°vÐ?Ð?ð!;àðñ ô ð ð ð õ ˜�Ñ/Ô/ð '	.ðõ ˜eœm­U¬]Ñ;Ô;ð AØ"'×"5Ò"5°d´kÑ"BÔ"B�K�Kå",¨U¬]¸aÒ-?Ñ"@Ô"@�KøøÝ”=ð ð ð Ø×4Ò4Ñ6Ô6ð SØ+Ð+¨D°$¸ÈÈaÈÈÐRÑRÔRÐRÐRÐRÐRÐRÐRØøøøøðøøøð ˆx˜Ñ$Ô$ð  Øð %Ø—I’I˜eÑ$Ô$Ð$Ø—	’	˜$‘”���ð ð  ð —’Ñ"Ô"ð 	.Ý! $¨Ñ.Ô.ˆFØˆx˜ÑÔð  Øð %Ø—I’I˜eÑ$Ô$Ð$Ø—	’	˜$‘”���ð ð  õ ˜�yÔ=Ñ>Ô>ð 	.Øˆx˜‰~Œ~ð  Øð %Ø—I’I˜eÑ$Ô$Ð$Ø—	’	˜$‘”���ð ð  ð
 3Ð2Ð2Ð2Ð2Ð2àŒ|Ð'Ð,>Ð,>¸u¼|Ñ,LÔ,LÐ'Ø�8˜E×0Ò0Ñ2Ô2Ñ3Ô3ð $Øð )ØŸ	š	 %Ñ(Ô(Ð(Ø—I’I˜d‘O”O�O�O�Oð$ð $ð
 'Ð& uÑ-Ô-Ð-Ð-Ð-s%   Ó;AU ÕVÕ%V	ÖVÖV	Ö	V)r   rg   r¿   r   )rï   )
rÔ   rÖ   rË   r.   r   rg   rÖ  r¾   r¿   rÐ   ©rÔ   rÖ   rË   r.   r¿   rÐ   r¥   )r~  rQ  r  r÷  rÕ  s   `` @@r«   Úgeneric_jumpr  ¼  s—   øøøø€ ð;
ð ;
ð ;
ð ;
ðB ð	AMð AMð AMð AMð AMð AMð AMð AMðF`.ð `.ð `.ð `.ð `.ð `.ð `.ð `.ð `.ðD €Lr­   Úcgr3   Úcleanupúlist[Instruction]rÐ   c                ór  — g }| }|�|                      |¦  «         |j        }|­t          |¦  «        D �]} | j        D ]ö}t	          |j        t          ¦  «        rA|                     |                     ¦   «          	                    |j
        |¦  «        ¦  «         Œ]|j        €t          d¦  «        ‚t	          |j        t          ¦  «        st          d¦  «        ‚|j                             |¦  «         |                     |                     ¦   «                              |j
        |¦  «        ¦  «         Œ÷�ŒdS )zsGenerates bytecode to restore the block stack for running the unsupported instruction
    in the compiled bytecode.Nz.expected b.with_context is not None to be truezIexpected isinstance(b.with_context, (ContextWrappingVariable)) to be true)rô   rí  r³   Úblock_stackr`  r7  r–   Úextend_outputr>  Útry_except_torch_function_moderå  rØ   rn   Úreconstruct_typeÚtry_finally)rµ   r  r  Úall_txesÚcur_txÚbs         r«   Ú_reconstruct_block_stackr%  ä  sU  € ð 13€HØ/1€FØ
Ð
Ø�Š˜ÑÔÐØ”ˆð Ð
õ �xÑ Ô ð Rñ RˆØ”ð 	Rð 	RˆAõ ˜!œ.Õ*CÑDÔDð Ø× Ò Ø—K’K‘M”M×@Ò@Øœ¨ñô ñô ð ð
 ØŒ~Ð%Ý$Ð%UÑVÔVÐVÝ˜aœnÕ/FÑHÔHð Ý$Ø_ñô ð ð ŒN×+Ò+¨BÑ/Ô/Ð/Ø×Ò˜QŸ[š[™]œ]×6Ò6°r´ÈÑPÔPÑQÔQÐQÐQñ%	RðRð Rr­   rÇ   rÉ   c                ó\   ‡— ddl Šˆfd„}|j                             | |¬¦  «        |_        |S )a“  Create a wrapper for warnings.warn that reports the given source location.

    When warnings.warn (stacklevel=1) inspects its caller frame, it sees the
    wrapper's code object -- whose co_filename and line table point to the
    original leaf-frame location.  This preserves Python's per-location
    warning dedup even when the call is inlined into a different frame by
    nested graph breaks.
    r   Nc                 ó   •—  ‰j         | i |¤ŽS r±   )Úwarn)r¶   ÚkwargsÚwarningss     €r«   r¸   z-_make_warnings_warn_wrapper.<locals>.<lambda>  s   ø€ ¸-¸(¼-ÈÐ:XÐQWÐ:XÐ:X€ r­   )Úco_filenameÚco_firstlineno)r*  Ú__code__Úreplace)rÇ   rÉ   Úwrapperr*  s      @r«   Ú_make_warnings_warn_wrapperr0    sL   ø€ ð €O€O€Oð #YÐ"XÐ"XÐ"X€GØÔ'×/Ò/ØØð 0ñ ô €GÔð €Nr­   Ú
msg_prefixúYCallable[[Callable[..., None]], Callable[[InstructionTranslatorBase, Instruction], None]]c                ó   ‡ ‡— dˆˆ fd„}|S )NÚinner_fnr#  r¿   rÁ  c                ó^   •‡ ‡— t          j        ‰ ¦  «        dˆˆ ˆˆfd„¦   «         }dˆfd
„Š|S )NrÔ   rÖ   rË   r.   r¿   rÐ   c           
     ó†  •— | j         }‰| _         |                      ¦   «         }|                     | ¦  «        r(|j        €t	          d¦  «        ‚ ‰| ||j        ¦  «        S 	  ‰| |¦  «        || _         S # t
          t          f$ �rˆ}| j        ra| j        s| j	        r‚ t          |t
          ¦  «        r|                     ¦   «          t          dd| j        › �ddgt          j        ¢|¬¦  «         t          |dd¦  «        r‚ |                      ¦   «         s‚ |                      ¦   «         r|                      | j        |¦  «         |                      | j        ‰› d	t-          |¦  «        › �|¬
¦  «         t          |t
          ¦  «        r)|                     ¦   «          |                     d¦  «         t1          t          |dt-          |¦  «        ¦  «        t          |d|                      ¦   «         g¦  «        ¦  «        |_        Y d }~nd }~ww xY w	 || _         n# || _         w xY w|                     | j	        ¦  «         d S )Nz2expected speculation.reason is not None to be truez0Graph break under GenericContextWrappingVariablez!Active generic context managers: z]Attempted to graph break in an active context manager(s) that doesn't support graph breaking.zEMove the offending context manager(s) to outside the compiled region.©rÊ  rË  rÌ  rÍ  Úfrom_excÚ
skip_frameFz:

rØ  Úgraph_breakrk  Ú
real_stack)Úcurrent_instruction_pushÚ	speculaterÙ   rÏ   rØ   r>   r?   Úactive_generic_context_managersÚ	one_graphrÎ   r`  Úremove_from_statsr=   r   ÚCAUSED_BY_EARLIER_GRAPH_BREAKr–  rà  rá  râ  rã  rä  rå  r¾   Úadd_to_statsrD   rç  rÕ   )	rÔ   rË   Ú	prev_pushÚspeculationÚexcpÚhandle_graph_breakr4  r1  rQ  s	        €€€€r«   r/  z>break_graph_if_unsupported.<locals>.decorator.<locals>.wrapper'  sµ  ø€ àÔ5ˆIØ,0ˆDÔ)ØŸ.š.Ñ*Ô*ˆKØ×!Ò! $Ñ'Ô'ð JàÔ%Ð-Ý(ØLñô ð ð *Ð)¨$°°kÔ6HÑIÔIÐIð.:Ø�x  dÑ+Ô+ðZ 1:�Ô-Ð-øõY  ¥Ð+ð *ñ *ð *ØÔ7ð à”~ð ¨Ô)Bð Øõ " $­Ñ4Ô4ð 1Ø×.Ò.Ñ0Ô0Ð0Ý!Ø RØ jÀDÔDhÐ jÐ jð %Dàcðå.ÔLðð "&ð	ñ 	ô 	ð 	õ ˜4 ¨uÑ5Ô5ð Øà×8Ò8Ñ:Ô:ð Øà×*Ò*Ñ,Ô,ð CØ×/Ò/°´¸TÑBÔBÐBà×$Ò$ØÔ%Ø(Ð:Ð:­s°4©y¬yÐ:Ð:Øð %ñ ô ð õ ˜d¥KÑ0Ô0ð 5Ø×*Ò*Ñ,Ô,Ð,Ø×%Ò% mÑ4Ô4Ð4Ý%7Ý˜D %­¨T©¬Ñ3Ô3Ý˜D ,°×1CÒ1CÑ1EÔ1EÐ0FÑGÔGñ&ô &�Ô"Ð"Ð"Ð"Ð"Ð"øøøøðO*øøøðN #ð
 1:�Ô-Ð-ø°	�Ô-Ð9Ð9Ð9Ð9Ø×1Ò1°$Ô2KÑLÔLÐLÐLÐLs+   Á"A5 Á5HÂE>H
ÈH È
HÈH È	H$rÏ   rD   c                óà  •— t           j        dk    rqt           j        dk     ra|j        dk    rVt          j        t          j        d         |j        ¦  «        t          j        t          j        d         |j        ¦  «        z   }nt          j        |j        |j        ¦  «        }| j        �|  	                    |¦  «         t                               d|j        ¦  «         | j                             | |t          ‰¦  «        |z
  ¬¦  «        }t          | j        j        ¦  «        }g }t#          | ||¦  «         | j                             |                     ¦   «         ¦  «         ~| j        �| j        j        j        n|}t           j        dk    rê|j        dk    rß| j        �| j                             ¦   «         nd}t/          |¦  «        dk    rIt           j        d	k     st1          d
¦  «        ‚| j                             t3          d|¬¦  «        g¦  «         |j        €t1          d¦  «        ‚t5          |j        d¦  «        }	|	d                              |¦  «         | j                             |	¦  «         na|j        �t1          d¦  «        ‚t;          j        |¦  «        }
d |
_        |
                     |¦  «         | j                             |
g¦  «         | j                             |¦  «         |                      t          ‰¦  «        |z
  ¦  «         ‰r!|                       tC          ¦   «         ¦  «         | j                             |  "                    | j#        |¦  «        ¦  «         d S )N©rÝ  é   ©rÝ  é   ÚCALLÚPRECALLz%s triggered compilerÙ  r¥   r   rÜ  z.expected sys.version_info < (3, 13) to be trueÚKW_NAMES©r‡  ú(expected inst.arg is not None to be trueFr“  z'expected inst.target is None to be true)$rd  rë  rõ   rw  Ústack_effectÚopmapÚargÚopcoderí  Ú%_maybe_replace_warnings_warn_on_stackr'  r¾  r/  ræ  rÈ   r3   rî  r%  rì  rx  rï  Úkw_namesrþ  ró   rØ   r(   r$   rð  r5  ÚcopyÚexn_tab_entryrR  rQ  r‰   ré  rê  )rÔ   rË   rÏ   rQ  rò  r  r  rö  rV  Ú
call_instsÚ	inst_copyrQ  s              €r«   rF  zIbreak_graph_if_unsupported.<locals>.decorator.<locals>.handle_graph_breakd  sQ  ø€ õ Ô  GÒ+Ð+ÝÔ$ wÒ.Ð.Ø”K 6Ò)Ð)õ  #Ô/Ý”I˜iÔ(¨$¬(ñ ô  åÔ$¥S¤Y¨vÔ%6¸¼ÑAÔAñ B��õ  #Ô/°´¸T¼XÑFÔF�ð
 Œ{Ð&Ø×:Ò:¸4Ñ@Ô@Ð@å�IŠIÐ,¨d¬kÑ:Ô:Ð:Ø(,¬×(DÒ(DØ˜Vµ°D±	´	¸LÑ0Hð )Eñ )ô )Ð%õ ˜4œ;Ô.Ñ/Ô/ˆBØ)+ˆGÝ$ T¨2¨wÑ7Ô7Ð7ØŒK×/Ò/°×0CÒ0CÑ0EÔ0EÑFÔFÐFØð ”;Ð*ð ”Ô#Ô7Ð7àð õ Ô 7Ò*Ð*¨t¬{¸fÒ/DÐ/Dð ”}Ð0ð ”M×4Ò4Ñ6Ô6Ð6àð õ
 �x‘=”= 1Ò$Ð$åÔ,¨wÒ6Ð6Ý,ØLñô ð ð ”K×7Ò7Ý+¨J¸xÐHÑHÔHÐIñô ð ð ”8Ð#Ý(Ð)SÑTÔTÐTÝ1°$´(¸EÑBÔB�
Ø˜2”×-Ò-¨nÑ=Ô=Ð=Ø”×3Ò3°JÑ?Ô?Ð?Ð?ð ”;Ð*Ý(Ð)RÑSÔSÐSÝ œI d™OœO�	Ø*.�	Ô'Ø×(Ò(¨Ñ8Ô8Ð8Ø”×3Ò3°Y°KÑ@Ô@Ð@àŒK×/Ò/°Ñ8Ô8Ð8à�IŠI•c˜$‘i”i ,Ñ.Ñ/Ô/Ð/Øð -Ø—	’	�/Ñ+Ô+Ñ,Ô,Ð,ØŒK×/Ò/Ø×*Ò*ØÔ)Ø-ñô ñô ð ð ð r­   r  )rÔ   rÖ   rË   r.   rÏ   rD   r¿   rÐ   )rY  rZ  )r4  r/  rF  r1  rQ  s   ` @€€r«   Ú	decoratorz-break_graph_if_unsupported.<locals>.decorator$  s   øøø€ õ 
Œ˜Ñ	"Ô	"ð:	Mð :	Mð :	Mð :	Mð :	Mð :	Mð :	Mð :	Mñ 
#Ô	"ð:	MðxR	ð R	ð R	ð R	ð R	ð R	ðh ˆr­   )r4  r#  r¿   rÁ  r¥   )rQ  r1  r[  s   `` r«   Úbreak_graph_if_unsupportedr\    s7   øø€ ð
Tð Tð Tð Tð Tð Tð Tðl Ðr­   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚBytecodeDispatchTableMetazTInstalls a `cls.dispatch_table` on every subclass to speed up calls to self.OPCODE()r  Útyper½   r¾   Úbasesr   Údctr¿   rÐ   c                óò   •‡ ‡‡— t          ¦   «                              |||¦  «         dd„Šˆˆ fd„t          j                             ¦   «         D ¦   «         Šˆfd	„t          d
¦  «        D ¦   «         ‰ _        d S )Nrõ   r¾   r¶   r   r¿   rÐ   c                ó`   — t          d| › d|› �d| › d�d| › d�gt          j        ¢¬¦  «         d S )NzMissing bytecode handlerz with args z=Dynamo does not know how to handle the bytecode instruction `ú`.z%Do not trace code that produces the `z_` bytecode instruction (see https://docs.python.org/3/library/dis.html for bytecode semantics).rÉ  )r=   r   ÚSUPPORTABLE)rõ   r¶   s     r«   Ú_missingz4BytecodeDispatchTableMeta.__init__.<locals>._missingÃ  sr   € ÝØ2Ø!Ð4Ð4¨dÐ4Ð4ØfÐ\bÐfÐfÐfð_¸Fð _ð _ð _ðõ 'Ô2ðð		ñ 	ô 	ð 	ð 	ð 	r­   c                ó`   •— i | ]*\  }}|t          ‰|t          j        ‰|¦  «        ¦  «        “Œ+S r¥   )r–  rY  Úpartial)r¨   rõ   r®  rf  r  s      €€r«   r¬   z6BytecodeDispatchTableMeta.__init__.<locals>.<dictcomp>Ï  sH   ø€ ð 
ð 
ð 
á�˜ð •˜˜V¥YÔ%6°xÀÑ%HÔ%HÑIÔIð
ð 
ð 
r­   c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r¥   )r•  )r¨   ru  Údispatch_tables     €r«   rq  z6BytecodeDispatchTableMeta.__init__.<locals>.<listcomp>Ó  s'   ø€ ÐIÐIÐI¸˜n×0Ò0°Ñ3Ô3ÐIÐIÐIr­   é   )rõ   r¾   r¶   r   r¿   rÐ   )ÚsuperÚ__init__rw  rR  r
  Úrangerj  )r  r½   r`  ra  rf  rj  Ú	__class__s   `   @@€r«   rm  z"BytecodeDispatchTableMeta.__init__À  sš   øøøø€ Ý‰Œ×Ò˜˜u cÑ*Ô*Ð*ð
	ð 
	ð 
	ð 
	ð
ð 
ð 
ð 
ð 
å!œiŸošoÑ/Ô/ð
ñ 
ô 
ˆð JÐIÐIÐI½UÀ4¹[¼[ÐIÑIÔIˆÔÐÐr­   )
r  r_  r½   r¾   r`  r   ra  r   r¿   rÐ   )rÚ   rÛ   rÜ   rü   rm  Ú__classcell__©ro  s   @r«   r^  r^  ½  sM   ø€ € € € € Ø^Ð^ðJð Jð Jð Jð Jð Jð Jð Jð Jð Jr­   r^  c                  óÔ   — e Zd ZU dZ ej        e¬¦  «        Zded<    ej        d¬¦  «        Z	ded<   d d„Z
	 d!d"d„Zd d„Zd#d„Zd$d„Zd%d„Zd%d„Zd#d„Zd%d„Zd&d„Zd'd„Zd(d„ZeZdS ))ÚExceptionStackzU
    Exception stack that it is shared among all InstructionTranslator instances
    rà   zlist[ExceptionVals]Ú
_exc_stackN)ÚdefaultzExceptionVals | NoneÚ_current_exceptionr¿   rÐ   c                ó   — d | _         d S r±   )rv  rê   s    r«   Úclear_current_exceptionz&ExceptionStack.clear_current_exceptionê  s   € Ø"&ˆÔÐÐr­   TÚvalr¼   Úset_contextrÌ   c                óB   — |r|                       |¦  «         || _        d S r±   )Ú._set_context_and_break_context_reference_cyclerv  )rÔ   ry  rz  s      r«   Úset_current_exceptionz$ExceptionStack.set_current_exceptioní  s/   € ð ð 	EØ×?Ò?ÀÑDÔDÐDØ"%ˆÔÐÐr­   c                óŽ   — | j         €t          d¦  «        ‚|                      | j         ¦  «         |                      ¦   «          d S ©Nz7expected self._current_exception is not None to be true)rv  rØ   rô   rx  rê   s    r«   Úmove_current_exception_to_stackz.ExceptionStack.move_current_exception_to_stackô  sO   € ØÔ"Ð*Ý ØIñô ð ð 	�Š�DÔ+Ñ,Ô,Ð,Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&r­   c                ó<   — | j         €t          d¦  «        ‚| j         S r  )rv  rØ   rê   s    r«   Úget_current_exceptionz$ExceptionStack.get_current_exceptionü  s+   € ØÔ"Ð*Ý ØIñô ð ð Ô&Ð&r­   Úprev_idxrÈ   c                óø   — |j         x}r|                     ¦   «         s|S t          | j        ¦  «        |z   dk    r?| j        |         }|                      ||dz
  ¦  «         ||ur|                     |¦  «         |S )Nr   r   )Ú__context__Úis_constant_noneró   rt  Ú_set_context_recursiverz  )rÔ   ry  rƒ  ÚctxÚprevs        r«   r‡  z%ExceptionStack._set_context_recursive  s‹   € ð ”?Ð"ˆCð 	¨C×,@Ò,@Ñ,BÔ,Bð 	ØˆJÝˆtŒÑÔ (Ñ*¨QÒ.Ð.Ø”? 8Ô,ˆDØ×'Ò'¨¨h¸©lÑ;Ô;Ð;Ø˜3ˆˆØ—’ Ñ%Ô%Ð%Øˆ
r­   c                óÎ   — |x}}d}	 |j         }|                     ¦   «         rd S ||u r)|                     t          j        d ¦  «        ¦  «         d S |}||u rd S |r|j         }| }Œ_r.  )r…  r†  rz  rm   Úcreate)rÔ   ry  ÚoÚslow_oÚslow_update_togglerË  s         r«   Ú_break_context_reference_cyclez-ExceptionStack._break_context_reference_cycle  s˜   € ð
 ÐˆˆFØ"Ðð	8Ø”mˆGØ×'Ò'Ñ)Ô)ð Ø�à˜#ˆ~ˆ~Ø—’Õ.Ô5°dÑ;Ô;Ñ<Ô<Ð<Ø�àˆAØ�Fˆ{ˆ{ð �à!ð ,àÔ+�Ø%7Ð!7Ðð%	8r­   c                ó†   — |                       |t          | j        ¦  «        dz
  ¦  «         |                      |¦  «         d S ©Nr   )r‡  ró   rt  r�  ©rÔ   ry  s     r«   r|  z=ExceptionStack._set_context_and_break_context_reference_cycle*  sC   € ð 	×#Ò# C­¨T¬_Ñ)=Ô)=ÀÑ)AÑBÔBÐBØ×+Ò+¨CÑ0Ô0Ð0Ð0Ð0r­   c                ó4   — | j                              ¦   «         S r±   )rt  rè  rê   s    r«   rè  zExceptionStack.pop1  s   € ØŒ×"Ò"Ñ$Ô$Ð$r­   c                ó:   — | j                              |¦  «         d S r±   )rt  rô   r’  s     r«   rô   zExceptionStack.append4  s   € ØŒ×Ò˜sÑ#Ô#Ð#Ð#Ð#r­   c                ó*   — t          | j        ¦  «        S r±   )ró   rt  rê   s    r«   Ú__len__zExceptionStack.__len__7  s   € Ý�4”?Ñ#Ô#Ð#r­   rã   c                ó   — | j         |         S r±   )rt  )rÔ   rã   s     r«   Ú__getitem__zExceptionStack.__getitem__:  s   € ØŒ˜uÔ%Ð%r­   r¾   c                ó&   — d| j         ›d| j        ›�S )Nzself._exc_stack=z - self._current_exception=)rt  rv  rê   s    r«   Ú__str__zExceptionStack.__str__=  s   € ØA�$”/ÐAÐA tÔ'>ÐAÐAÐAr­   rû   )T)ry  r¼   rz  rÌ   r¿   rÐ   )r¿   r¼   )ry  r¼   rƒ  rÈ   r¿   r¼   )ry  r¼   r¿   rÐ   )r¿   rÈ   )rã   rÈ   r¿   r¼   r  )rÚ   rÛ   rÜ   rü   rý   rþ   rÿ   rt  rÝ   rv  rx  r}  r€  r‚  r‡  r�  r|  rè  rô   r–  r˜  rš  Ú__repr__r¥   r­   r«   rs  rs  Ö  sd  € € € € € € ðð ð '8 kÔ&7ÈÐ&MÑ&MÔ&M€JÐMÐMÐMÑMØ/@¨{Ô/@ÈÐ/NÑ/NÔ/NÐÐNÐNÐNÑNð'ð 'ð 'ð 'ð 7;ð&ð &ð &ð &ð &ð'ð 'ð 'ð 'ð'ð 'ð 'ð 'ð
ð 
ð 
ð 
ð8ð 8ð 8ð 8ð61ð 1ð 1ð 1ð%ð %ð %ð %ð$ð $ð $ð $ð$ð $ð $ð $ð&ð &ð &ð &ðBð Bð Bð Bð €H€H€Hr­   rs  c                  óü  ‡ — e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded <   d!ed"<   d#ed$<   d%ed&<   d'ed(<   ded)<   ded*<   d+ed,<   ded-<   d.ed/<   d0ed1<   d2ed3<   �dYd6„Z�dZd7„Z�d[d9„Z�d[d:„Z�d\d=„Z�d]d>„Z	�d\d?„Z
�d[d@„Z�dYdA„Z�d^dF„Z�d_dH„Z	 �d`�dadL„Z�db�dcdN„Z�dddO„Z�dedP„Z�dZdQ„Zej        dRk    r�dfdT„Zn�dfdU„Ze�dgdV„¦   «         Z�dhdX„Z�didY„Z�dYdZ„Z�djd\„Z�dkd^„Z�dld_„Z�dmda„Z�dfdb„Z �dfdc„Z!�dfdd„Z"�dfde„Z#�dndh„Z$�dfdi„Z%e Z&�dodj„Z'�dfdk„Z(�dfdl„Z)e*j+        �dldm„¦   «         Z,�dfdn„Z-�dfdo„Z.e/�dpdr„¦   «         Z0�dqdu„Z1�dddv„Z2�dfdw„Z3e3Z4�dfdx„Z5e/�drdz„¦   «         Z6�dfd{„Z7�dsd}„Z8e8Z9e8Z: e;e<j=        dI¦  «        Z> e;e<j?        dI¦  «        Z@ e;e<j=        d~¦  «        ZA e;e<j?        d~¦  «        ZB�dfd„ZC�dfd€„ZD�dfd�„ZE�dfd‚„ZF�dfdƒ„ZG�dfd„„ZH�dtd…„ZI�dudˆ„ZJ�dvd‹„ZK�dfdŒ„ZL�dfd�„ZM�dfdŽ„ZN�dwd�„ZO�dfd‘„ZP�dxd”„ZQ�dfd•„ZR�dfd–„ZS�dZd—„ZT�dfd˜„ZU�dfd™„ZV eWd~dš¬›¦  «        �dfdœ„¦   «         ZX�dfd�„ZY eWd~dž¬›¦  «        �dfdŸ„¦   «         ZZ eWd~d ¬›¦  «        �dfd¡„¦   «         Z[ eWd~d¢¬›¦  «        �dfd£„¦   «         Z\�dfd¤„Z]�dfd¥„Z^�dfd¦„Z_�dfd§„Z`�dyd©„Za�dfdª„Zb eWdId«¬›¦  «        �dfd¬„¦   «         Zc�dfd­„Zd�dzd¯„Zeef�d{d±„¦   «         Zg�d|d½„Zh�dfd¾„Zi�d}dÁ„Zjef�d~dÄ„¦   «         Zk�dZdÅ„Zl eWdIdÆ¬›¦  «        �dfdÇ„¦   «         Zm�dfdÈ„Zn�ddÊ„Zo�dfdË„Zp�dfdÌ„Zq�dZdÍ„Zr�dfdÎ„Zs�dfdÏ„Zteuf�d€dÒ„Zv�dfdÓ„ZwewZx�dfdÔ„Zy�dfdÕ„ZzezZ{�dfdÖ„Z|�dfd×„Z}�dfdØ„Z~�dfdÙ„Z�dfdÚ„Z€�dfdÛ„Z��dfdÜ„Z‚�dfdÝ„Zƒ eWdIdÞ¬›¦  «        �dfdß„¦   «         Z„�dfdà„Z…�dfdá„Z†�dfdâ„Z‡�dfdã„Zˆ�dfdä„Z‰�dfdå„ZŠ�dfdæ„Z‹�d�dé„ZŒ�d‚dì„Z��dfdí„ZŽ�dfdî„Z��dfdï„Z��dfdð„Z‘�dfdñ„Z’�dfdò„Z“�dfdó„Z”�dfdô„Z•e•Z–�dfdõ„Z—�dfdö„Z˜�dfd÷„Z™�dfdø„Zš�dfdù„Z›�dfdú„Zœ�dfdû„Z��dfdü„Zž eŸe<j         ¦  «        Z¡ eŸe<j¢        ¦  «        Z£ eŸe<j=        ¦  «        Z¤ eŸe<j¥        ¦  «        Z¦ eŸe<j§        ¦  «        Z¨ eŸe<j©        ¦  «        Zª eŸe<j«        ¦  «        Z¬ eŸe<j­        ¦  «        Z® eŸe<j¯        ¦  «        Z° eŸe<j±        ¦  «        Z² eŸe<j±        ¦  «        Z³ eŸe<j´        ¦  «        Zµ eŸe<j¶        ¦  «        Z·  eWd~dý¬›¦  «         eŸe<j¸        ¦  «        ¦  «        Z¹ eŸe<jº        ¦  «        Z» eŸe<j¼        ¦  «        Z½ eŸe<j¾        ¦  «        Z¿ eŸe<jÀ        ¦  «        ZÁ eŸe<jÂ        ¦  «        ZÃ eŸe<jÄ        ¦  «        ZÅ eŸe<jÆ        ¦  «        ZÇ eŸe<jÈ        ¦  «        ZÉ eŸe<jÊ        ¦  «        ZË eŸe<jÌ        ¦  «        ZÍ eŸe<jÎ        ¦  «        ZÏ eŸe<jÎ        ¦  «        ZÐ eŸe<jÑ        ¦  «        ZÒ eŸe<jÓ        ¦  «        ZÔ eŸe<jÕ        ¦  «        ZÖ eŸe<j×        ¦  «        ZØ eŸe<jÙ        ¦  «        ZÚ eŸe<jÛ        ¦  «        ZÜ eŸe<jÝ        ¦  «        ZÞ�dfdþ„Zßej        dRk    r�dfdÿ„Zà�df�d „Zá�df�d„Zâ�df�d„Zã�d`�dƒ�d„Zä eWd~�d¬›¦  «        �df�d„¦   «         Zå�df�d„Zæ�df�d„Zçe8Zèe8Zé e;e<j?        dI¦  «        Zê e;e<j?        dI¦  «        Zë e;e<j=        dI¦  «        Zì e;e<j=        dI¦  «        Zí�df�d	„Zî�df�d
„Zï�d„�d„Zðef�d…�d„¦   «         Zñ�df�d„Zò�df�d„Zó�df�d„Zô�df�d„Zõ�df�d„Zö�df�d„Z÷�df�d„Zø�df�d„Zù�df�d„Zú�df�d„Zû�df�d„Zü�df�d„Zý eWd~�d¬›¦  «        �df�d„¦   «         Zþ�df�d„Zÿ�df�d„�Z �df�d„�Z�df�d „�Z�df�d!„�Ze �Ze…�Z�df�d"„�Z�d#�Z�df�d$„�Z�df�d%„�Z	�e
�e�e�e�e�e�edM�d&d~dI�d'f�Z�df�d(„�Z�dZ�d)„�Z	 �db�d†�d,„�Z�d‡�d.„�Z�dZ�d/„�Z�dˆ�d0„�Ze�d‰�d2„¦   «         �Z�e�j        �dŠ�d5„¦   «         �Z�d‹�d7„�Z�dŒ�d;„�Z�d��d>„�Z�dd�d?„�Z�dŽ�dD„�Z ef�d��dH„¦   «         �Z!	 	 	 �d��d‘ˆ f�dX„�Z"ˆ x�Z#S (’  rÖ   rE   r/  údict[str, VariableTracker]Úsymbolic_localsÚsymbolic_globalsr•   Úsymbolic_torch_function_stater‘   Úsymbolic_stream_statez!dict[str, VariableTracker] | NoneÚpost_prune_cell_and_freevarsúlist[VariableTracker]Ústackú
int | NonerÊ   r.   rï  rÌ   r<  zlist[BlockStackEntry]r  rÈ   rÉ   zConstantVariable | NonerV  Úaccept_prefix_instr  Úprefix_instsÚinline_depthÚinconsistent_side_effectszSpeculationEntry | NoneÚcurrent_speculationz	list[Any]rj  rs  Úexn_vt_stackzExecutionRecorder | NoneÚexec_recorderz(Callable[[VariableTracker], bool] | NoneÚstrict_checks_fnÚstart_pointÚhas_no_inlined_callsz InstructionTranslatorBase | Nonerí  Úis_child_tracer_activez3list[tuple[VariableTracker, list[VariableTracker]]]Údebug_localsúCompilePackage | NoneÚpackagez
deque[str]Úlatest_bytecode_queuer¿   rÐ   c                ó   — d| _         dS )zÒ
        InstructionTranslator has encountered instructions which may cause
        dynamo to see a different version of history from eager
        See: https://github.com/pytorch/pytorch/issues/110765
        TN)r©  rê   s    r«   Úmark_inconsistent_side_effectsz8InstructionTranslatorBase.mark_inconsistent_side_effectsh  s   € ð *.ˆÔ&Ð&Ð&r­   c                óä   — | }|�k|j         j        }|j        €t          d¦  «        ‚|j        |j        d …         D ]+}|j        dv r n|j        t          v r|j        }||k     r dS Œ,|j        }|­kdS )Nz:expected cur_tx.instruction_pointer is not None to be true)ÚRETURN_VALUEÚRETURN_CONSTTF)	rï  ÚoffsetrÊ   rØ   r†  rõ   r   r‡  rí  )rÔ   r#  Ú
cur_offsetrË   Újump_offsets        r«   rá  z,InstructionTranslatorBase.maybe_has_backedgep  sª   € ð* 48ˆØÐ ØÔ3Ô:ˆJØÔ)Ð1Ý$ØPñô ð ð Ô+¨FÔ,FÐ,HÐ,HÔIð $ð $�Ø”;Ð"BÐBÐBØ�EØ”;¥,Ð.Ð.Ø"&¤+�KØ" ZÒ/Ð/Ø#˜t˜tøØ”]ˆFð Ð ð ˆur­   útuple[str, ...]c                ó   — | j         d         S )NÚco_cellvars©rå  rê   s    r«   Úcellvarsz"InstructionTranslatorBase.cellvars–  ó   € ØÔ  Ô/Ð/r­   c                ó   — | j         d         S )NÚco_freevarsrÀ  rê   s    r«   Úfreevarsz"InstructionTranslatorBase.freevars™  rÂ  r­   Úprefixr¾   c                óX   — d|› t          | j        |         ¦  «        › �}|| j        |<   |S )zIGenerate a fresh, unique pycode-local variable name for the given prefix.Ú__)rú   Ú_pycode_varname_counterÚ_pycode_last_varname)rÔ   rÆ  r½   s      r«   Únew_pycode_varnamez,InstructionTranslatorBase.new_pycode_varnameœ  s6   € àH�FÐH�D Ô!=¸fÔ!EÑFÔFÐHÐHˆØ,0ˆÔ! &Ñ)Øˆr­   c                ó>   — t          j        d¦  «        | j        |<   d S ré   )Ú	itertoolsÚcountrÉ  ©rÔ   rÆ  s     r«   Úreset_pycode_varname_counterz6InstructionTranslatorBase.reset_pycode_varname_counter¢  s   € Ý/8¬¸qÑ/AÔ/AˆÔ$ VÑ,Ð,Ð,r­   c                ó   — | j         |         S )zGReturn the most recently generated pycode varname for the given prefix.)rÊ  rÏ  s     r«   Úget_pycode_last_varnamez1InstructionTranslatorBase.get_pycode_last_varname¥  s   € àÔ(¨Ô0Ð0r­   c                óŒ   — t          | d¦  «        s.|                      ¦   «         |                      ¦   «         z   | _        | j        S )NÚ_cell_and_freevars)r<  rÁ  rÅ  rÔ  rê   s    r«   Úcell_and_freevarsz+InstructionTranslatorBase.cell_and_freevars©  s<   € Ý�tÐ1Ñ2Ô2ð 	HØ&*§m¢m¡o¤o¸¿º¹¼Ñ&GˆDÔ#ØÔ&Ð&r­   c                óæ   ‡ ‡— ˆ fd„‰ j                              ¦   «         D ¦   «         ‰ _        t          ‰ j        ‰ j        ¦  «        Šˆfd„‰ j                              ¦   «         D ¦   «         ‰ _         d S )Nc                óH   •— i | ]\  }}|‰                      ¦   «         v ¯||“ŒS r¥   ©rÕ  )r¨   r©   rª   rÔ   s      €r«   r¬   z?InstructionTranslatorBase.prune_dead_locals.<locals>.<dictcomp>°  s@   ø€ ð -
ð -
ð -
á��1Ø�D×*Ò*Ñ,Ô,Ð,Ð,ð ˆqà,Ð,Ð,r­   c                ó$   •— i | ]\  }}|‰v ¯	||“ŒS r¥   r¥   )r¨   r©   rª   Úreadss      €r«   r¬   z?InstructionTranslatorBase.prune_dead_locals.<locals>.<dictcomp>·  s+   ø€ ð  
ð  
ð  
Ù�Q˜¸QÀ%¸Z¸ZˆAˆq¸Z¸Z¸Zr­   )rž  r
  r¢  r    r†  rï  )rÔ   rÚ  s   `@r«   Úprune_dead_localsz+InstructionTranslatorBase.prune_dead_locals®  s•   øø€ ð-
ð -
ð -
ð -
àÔ,×2Ò2Ñ4Ô4ð-
ñ -
ô -
ˆÔ)õ " $Ô"3°TÔ5MÑNÔNˆð 
ð  
ð  
ð  
Ø!Ô1×7Ò7Ñ9Ô9ð 
ñ  
ô  
ˆÔÐÐr­   rK  rg   r¶   r)  c                ó�  — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t          d„ t          j        ||                     ¦   «         ¦  «        D ¦   «         ¦  «        st          d¦  «        ‚d }t          |d¦  «        r|j
        }t          |d¦  «        r|j        }|�0t          |¦  «        r!t          |¦  «        rt          d|› �¦  «        ‚|                      |                     | ||¦  «        ¦  «         d S )	Nz3expected isinstance(fn, VariableTracker) to be truez*expected isinstance(args, list) to be truez,expected isinstance(kwargs, dict) to be truec              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r±   )r`  rg   )r¨   ri  s     r«   r  z:InstructionTranslatorBase.call_function.<locals>.<genexpr>Ç  s@   è è € ð 
ð 
àõ �q�/Ñ*Ô*ð
ð 
ð 
ð 
ð 
ð 
r­   ziexpected all( isinstance(x, VariableTracker) for x in itertools.chain(args, kwargs.values()) ) to be truer   rK  z$Attempt to trace forbidden callable )r`  rg   rØ   rÿ   r  rÆ  rÍ  ÚchainÚvaluesr<  r   rK  ÚcallablerY   rQ  r¦   )rÔ   rK  r¶   r)  r4  s        r«   r¦   z'InstructionTranslatorBase.call_function»  s]  € õ ˜"�oÑ.Ô.ð 	XÝ Ð!VÑWÔWÐWÝ˜$¥Ñ%Ô%ð 	OÝ Ð!MÑNÔNÐNÝ˜&¥$Ñ'Ô'ð 	QÝ Ð!OÑPÔPÐPÝð 
ð 
å”_ T¨6¯=ª=©?¬?Ñ;Ô;ð
ñ 
ô 
ñ 
ô 
ð 	õ !Ø{ñô ð ð ˆÝ�2�wÑÔð 	 Ø”xˆHÝ�2�tÑÔð 	Ø”uˆHØÐ¥H¨XÑ$6Ô$6Ð½<ÈÑ;QÔ;QÐÝ Ð!RÈÐ!RÐ!RÑSÔSÐSØ�	Š	�"×"Ò" 4¨¨vÑ6Ô6Ñ7Ô7Ð7Ð7Ð7r­   rt   c                óx   — t          |t          ¦  «        st          |¦  «        }|                     | ||¦  «        S )zD
        Redirect the call to the generator "call_function"
        )r`  rw   r¦   )rÔ   rK  r¶   r)  s       r«   Úinline_generator_functionz3InstructionTranslatorBase.inline_generator_function×  s<   € õ ˜"Õ<Ñ=Ô=ð 	4Ý/°Ñ3Ô3ˆBØ×Ò  d¨FÑ3Ô3Ð3r­   FÚallow_nested_graph_breaksr   c                óÈ   — t           j        r8t          |                     ¦   «         ¦  «        r|                      |||¦  «        S t
                               | ||||¬¦  «        S )zF
        A call to some user defined function by inlining it.
        ©rã  )r   Ú"enable_faithful_generator_behaviorr/   Úget_coderâ  ÚInliningInstructionTranslatorÚinline_call)rÔ   rK  r¶   r)  rã  s        r«   Úinline_user_function_returnz5InstructionTranslatorBase.inline_user_function_returnä  sj   € õ Ô4ð 		½ÀbÇkÂkÁmÄmÑ9TÔ9Tð 		Ø×1Ò1°"°d¸FÑCÔCÐCå0×<Ò<ØØØØØ*Cð =ñ ô ð r­   Nc                óÐ   — |€| j         }| j        dk    rd| j        › d�nd}t          | j        j        |¦  «        }|€dnd|› d�}| j        j        › d|› d| j        j        › |› |› �S )Nr   z (inline depth: r¬  rï   rò   rð   z in )rÉ   r¨  r@   rã  r+  Úco_name)rÔ   rÉ   Úinline_depth_strÚfuncnameÚfuncname_strs        r«   Úget_line_of_code_headerz1InstructionTranslatorBase.get_line_of_code_headerù  s™   € Øˆ>Ø”[ˆFà7;Ô7HÈ1Ò7LÐ7LÐ3˜tÔ0Ð3Ð3Ð3Ð3ÐRTð 	õ   ¤Ô 7¸Ñ@Ô@ˆØ%Ð-�r�rÐ3C¸Ð3CÐ3CÐ3CˆØ”+Ô)ÐmÐm¨FÐmÐm¸¼Ô8KÐmÈ\ÐmÐ[kÐmÐmÐmr­   c                ó²   — d|                       ¦   «         › d�}t          j        | j        j        | j        ¦  «                             ¦   «         }|d|› �z  }|S )NzTRACE starts_line r  r¸  )rð  Ú	linecacheÚgetlinerã  r+  rÉ   Úrstrip)rÔ   Úlog_strr›  s      r«   Úget_log_starts_line_log_strz5InstructionTranslatorBase.get_log_starts_line_log_str  sX   € ØI t×'CÒ'CÑ'EÔ'EÐIÐIÐIˆÝÔ  ¤Ô!8¸$¼+ÑFÔF×MÒMÑOÔOˆØ�=˜$�=�=Ñ ˆØˆr­   c                óî   — | j         |k    rd S || _         t          j        | j        j        || j        j        ¦  «         | j        r/t                               dt          | j
        ¦  «        ¦  «         d S d S )Nú%s)rÉ   r   Úset_current_locrã  r+  rì  Úis_trace_source_log_enabledÚtrace_source_logr¾  ra   rö  )rÔ   rÉ   s     r«   Ústarts_linez%InstructionTranslatorBase.starts_line	  s‚   € ØŒ;˜&Ò Ð ØˆFØˆŒÝÔ&ØŒKÔ# V¨T¬[Ô-@ñ	
ô 	
ð 	
ð Ô+ð 	WÝ×"Ò" 4­°DÔ4TÑ)UÔ)UÑVÔVÐVÐVÐVð	Wð 	Wr­   c                óÀ  — t          ¦   «         | _        | j        }|€dS | j        |         x| _        }|dz   | _        |j        r|                      |j        ¦  «         t          j        ¦   «         }|�|j        |_	        | j
        sr|                      ¦   «         r^|                      ¦   «         rJ|                      ¦   «         | _        | j                             | ¦  «        r|                      |¦  «         dS | j        r9t$                               d|j        |j        t-          | j
        ¦  «        ¦  «         t.          j        rb	 t-          | j
        ¦  «        }n# t2          $ r d}Y nw xY w| j                             d|j        › dt-          |j        ¦  «        › d|› �¦  «         |                      |¦  «         	  | j        |j                 | |¦  «         | j        j          S # tB          $ r ‚ tD          j#        $ r }|  $                    |¦  «         Y d}~dS d}~wtJ          tL          f$ r Y dS tN          tP          tR          f$ rö}| j*        s| j        s| j+        stY          |d	d¦  «        r7t[          |tR          ¦  «        r!t]          d
ddddgt^          j0        ¢¬¦  «         ‚ | j        €Ytb                               d¦  «         t[          |tR          ¦  «        r"t]          dddddgt^          j0        ¢d¬¦  «         d|_2        ‚ dtg          |¦  «        › �}|  4                    | j5        ||¬¦  «         Y d}~nd}~ww xY w| j         6                    | j        ¦  «         dS )z<Process exactly one instruction, return False we should exitNFr   zTRACE %s %s %sz0<self.stack repr truncated due to large integer>zTRACE ú Tr9  z3cannot resume from torch._dynamo.step_unsupported()rï   z‡traced torch._dynamo.step_unsupported(), but Dynamo is instructed to error on graph break. This graph break is used for debugging only.z1Remove the torch._dynamo.step_unsupported() call.z9Make sure fullgraph=False and error_on_graph_break=False.rÉ  z1empty checkpoint - cannot resume from graph breakz6torch._dynamo.step_unsupported() with empty checkpointzŠtraced torch._dynamo.step_unsupported(), but there is no checkpoint to step_graph_break from. This graph break is used for debugging only.z¨Include at least one checkpoint: (1) include at least 2 ops and (2) make sure there is some line of code that is not in a try/with block, and has an empty Python stack.)rÊ  rË  rÌ  rÍ  r9  z¤Encountered graph break that we cannot resume from. Compiling up to the previous resumable state, then skipping the rest of the function. Graph break encountered:

rØ  )7rZ   rÎ   rÊ   r†  rï  rü  r   Útry_getÚ	positionsÚloc_in_frame_positionsr¤  rà  Úis_non_empty_graphr=  rª  rÙ   Ústep_graph_breakÚis_trace_bytecode_log_enabledÚtrace_bytecode_logr¾  rõ   r‡  r¨  r   ÚverboseÚ
ValueErrorr´  rô   Úupdate_block_stackrj  rT  r/  r0  r   r   r   Úexception_handlerrH  rJ  r>   r?   r<   r?  Úis_tracing_resume_prologuer–  r`  r=   r   Ú
DYNAMO_BUGr'  r9  r¾   rä  rå  rÕ   )rÔ   ÚiprË   ÚtcÚ
stack_reprrñ  rÏ   s          r«   ÚstepzInstructionTranslatorBase.step  s7  € å$=Ñ$?Ô$?ˆÔ!àÔ%ˆØˆ:Ø�5Ø*.Ô*;¸BÔ*?Ð?ˆÔ  4Ø#%¨¡6ˆÔ àÔð 	/Ø×Ò˜TÔ-Ñ.Ô.Ð.åÔ#Ñ%Ô%ˆØˆ>Ø(,¬ˆBÔ%ð ”
ð	à×1Ò1Ñ3Ô3ð	ð ×'Ò'Ñ)Ô)ð	ð
 (,§~¢~Ñ'7Ô'7ˆDÔ$ØÔ'×.Ò.¨tÑ4Ô4ð Ø×%Ò% dÑ+Ô+Ð+Ø�uàÔ-ð 	Ý×$Ò$Ø  $¤+¨t¬{½DÀÄÑ<LÔ<Lñô ð õ Œ>ð 	ðPÝ! $¤*Ñ-Ô-�
�
øÝð Pð Pð PàO�
�
�
ðPøøøð Ô&×-Ò-ØG˜œÐGÐG¥t¨D¬KÑ'8Ô'8ÐGÐG¸:ÐGÐGñô ð ð 	×Ò Ñ%Ô%Ð%ðA	Ø,ˆDÔ ¤Ô,¨T°4Ñ8Ô8Ð8Ø”{Ô.Ð.Ð.øÝ-ð 	ð 	ð 	ØÝÔ$ð 	ð 	ð 	Ø×"Ò" 1Ñ%Ô%Ð%Ø�4�4�4�4�4øøøøÝ�|Ð,ð 	ð 	ð 	Ø�5�5Ý�Y­Ð8ð 7	ð 7	ð 7	ð ”ðàÔ,ðð Ô2ðõ ˜1˜l¨EÑ2Ô2ð	õ ˜a¥Ñ1Ô1ð Ý!Ø UØ "ð%`ð PØWðõ /Ô9ðð
ñ 
ô 
ð 
ð ØÔ'Ð/Ý—	’	ÐMÑNÔNÐNÝ˜a¥Ñ1Ô1ð Ý!Ø XØ "ð%að Pðkðõ /Ô9ð	ð $(ðñ ô ð ð  $�”Øð8õ 03°1©v¬vð8ð 8ð ð × Ò ØÔ!ØØð !ñ ô ð ð ð ð ð ð øøøøðg7	øøøðr 	Ô ×:Ò:¸4Ô;TÑUÔUÐUØˆus=   ÅE ÅE)Å(E)Æ<(G% Ç%L<Ç>HÈL<È0L<ÉC,L7Ì7L<rH  rË   c                ó–  — |j         }|rkt          | j        ¦  «        dk    rM|j        | j        d         j        ur6|j        | j        d         j        u r| j                             ¦   «          d S d S d S d S | j        rK|j        dvrDt          | j        ¦  «        dk    rt          d¦  «        ‚| j                             ¦   «          d S d S d S )Né   r“  éþÿÿÿ)ÚNOPÚJUMP_BACKWARDÚ	NOT_TAKENr   z.expected len(self.block_stack) == 1 to be true)rX  ró   r  r5  rè  rõ   rØ   )rÔ   rË   r÷   s      r«   r  z,InstructionTranslatorBase.update_block_stackŠ  s  € ð Ô&ˆEØð #+õ ˜Ô(Ñ)Ô)¨QÒ.Ð.Øœ¨DÔ,<¸RÔ,@Ô,GÐGÐGØœ¨Ô(8¸Ô(<Ô(CÐCÐCð Ô$×(Ò(Ñ*Ô*Ð*Ð*Ð*ð /Ð.ØGÐGØCÐCð Ô#ð +¨¬ð <ð )ð )õ ˜4Ô+Ñ,Ô,°Ò1Ð1Ý,ØLñô ð ð Ô$×(Ò(Ñ*Ô*Ð*Ð*Ð*ð+ð +ð )ð )r­   c                ó   — d S r±   r¥   ©rÔ   rË   s     r«   r  z,InstructionTranslatorBase.update_block_stack»  s   € ØˆDr­   c                óR   — | j         €t          d¦  «        ‚| j        | j                  S )Nú8expected self.instruction_pointer is not None to be true)rÊ   rØ   r†  rê   s    r«   rê  z*InstructionTranslatorBase.next_instruction¾  s3   € àÔ#Ð+Ý ØJñô ð ð Ô  Ô!9Ô:Ð:r­   Úcontinue_instc           	     óÖ  — | j         j        rt          d¦  «        ‚| j        €t          d¦  «        ‚| j        rt          d¦  «        ‚t
                               d¦  «         | j                              | t          d|  	                    ¦   «         g¦  «        ¬¦  «        }| j
        �rìddlm} t          j        st          d	¦  «        ‚t          | j         j        ¦  «        }|                     g t%          d
¦  «        ¢|                     d¦  «        ‘|                     ¦   «         ‘t+          dd¬¦  «        ‘t%          d
¦  «        ¢|                     d¦  «        ‘|                     ¦   «         ‘t+          dd¬¦  «        ‘¦  «         |                      d||d         g |dd¦  «        \  }} ||¦  «         g }t/          | j
        ||¦  «         |                      |g|g|¦  «         |                     |¦  «         |                     g t%          d
¦  «        ¢|                     d¦  «        ‘t+          d¦  «        ‘t%          d¦  «        ¢|                     d¦  «        ‘t+          d¦  «        ‘¦  «         |d         j        }|                     g t%          d
¦  «        ¢|                     d¦  «        ‘|                     ¦   «         ‘t5          d|¦  «        ¢¦  «         |                     g t7          d
¦  «        ¢t+          dd¬¦  «        ‘¦  «         | j
                             t;          ¦   «         ¦  «         |d         xj        dz  c_        |dk    r�|                     g t%          d
¦  «        ¢|                     d¦  «        ‘|                     ¦   «         ‘t5          |d ¦  «        ¢t%          d¦  «        ¢|                     d¦  «        ‘t+          d¦  «        ‘¦  «         |                     t+          d|dz   ¬¦  «        t+          d|dz   ¬¦  «        t+          d|dz   ¬¦  «        g¦  «         | j                              |                     ¦   «         | j
                              | j
        j!        |dd …         ¦  «        z   ¦  «         d S | j                              g t7          d
¦  «        ¢t+          d¦  «        ‘¦  «         t          | j         j        ¦  «        }| j                              |                     d¦  «        |                     ¦   «         g¦  «         |d         j"         #                    ¦   «         D ]g\  }	}
| j                              tI          ¦   «         |                     |
¦  «        |                     ¦   «         | %                    |	¦  «        g¦  «         Œh| j                              t+          d¦  «        tM          |¦  «        g| j'        ¢¦  «         d S )Nz7expected not self.output.output_instructions to be truez8expected self.current_speculation is not None to be truez"expected not self.stack to be truezstep triggered compileÚstep_unsupported)rÏ   r   )Ú	skip_codez.expected config.nested_graph_breaks to be truer  r   Ú
BUILD_LIST©rS  TFÚDELETE_SUBSCRrÝ  ÚLIST_APPENDÚSTORE_SUBSCRÚUNPACK_SEQUENCEÚPOP_TOPr“  )(r/  Úoutput_instructionsrØ   rª  r¤  r'  r¾  ræ  rD   rç  rí  Ú
eval_framer  r   Únested_graph_breaksr3   rî  r  r&   Úcreate_load_constÚcreate_binary_subscrr(   Úcreate_resumer%  Úcodegen_call_resumeÚ	num_stackr#   r+   rQ  r‰   rì  rx  ré  rê  Úlocals_namesr
  r'   Úcreate_storer)   r†  )rÔ   r  rò  r  r  Úleaf_resume_codeÚleaf_resume_namer  r,  ÚlocalÚidxs              r«   r  z*InstructionTranslatorBase.step_graph_breakÆ  s²  € àŒ;Ô*ð 	Ý ØIñô ð ð Ô#Ð+Ý ØJñô ð ð Œ:ð 	GÝ Ð!EÑFÔFÐFõ 	�	Š	Ð*Ñ+Ô+Ð+Ø$(¤K×$@Ò$@ØÝ%Ð&8¸4×;MÒ;MÑ;OÔ;OÐ:PÑQÔQð %Añ %
ô %
Ð!ð Œ;ñ j	Ø-Ð-Ð-Ð-Ð-Ð-õ Ô-ð WÝ$Ð%UÑVÔVÐVÝ˜4œ;Ô.Ñ/Ô/ˆBð ×Òð	Ý  ‘^”^ð	à×(Ò(¨Ñ+Ô+ð	ð ×+Ò+Ñ-Ô-ð	õ ' |¸Ð;Ñ;Ô;ð		õ
 ! ‘^”^ð	ð ×(Ò(¨Ñ+Ô+ð	ð ×+Ò+Ñ-Ô-ð	õ ' |¸Ð;Ñ;Ô;ð	ñô ð ð 26×1CÒ1CØ�=Ð";¸AÔ">ÀÀBÈÈeñ2ô 2Ñ.ÐÐ.ð ˆIÐ&Ñ'Ô'Ð'à)+ˆGÝ$ T¤[°"°gÑ>Ô>Ð>ð ×$Ò$Ð&6Ð%7Ð:JÐ9KÈRÑPÔPÐPà×Ò˜WÑ%Ô%Ð%ð ×ÒðÝ  ‘^”^ðà×(Ò(¨Ñ+Ô+ðõ ' Ñ7Ô7ðõ ! ‘^”^ð	ð
 ×(Ò(¨Ñ+Ô+ðõ ' Ñ7Ô7ðñ	ô 	ð 	ð 2°!Ô4Ô>ˆIØ×ÒðÝ  ‘^”^ðà×(Ò(¨Ñ+Ô+ðð ×+Ò+Ñ-Ô-ðõ )¨¨IÑ6Ô6ð	ñô ð ð ×ÒðÝ  ‘^”^ðå& }¸!Ð<Ñ<Ô<ðñô ð ð ŒK×Ò�_Ñ.Ô.Ñ/Ô/Ð/Ø% aÔ(Ð2Ô2°aÑ7Ð2Ô2ð
 ˜1Š}ˆ}Ø× Ò ðÝ$ Q™œðà×,Ò,¨QÑ/Ô/ðð ×/Ò/Ñ1Ô1ðõ -¨Y¸Ñ=Ô=ð	õ
 % Q™œðð ×,Ò,¨QÑ/Ô/ðõ +¨>Ñ:Ô:ðñô ð ð  ×Òå&Ð'8¸iÈ!¹mÐLÑLÔLÝ& |¸ÀQ¹ÐGÑGÔGÝ&Ð'8¸iÈ!¹mÐLÑLÔLðñô ð ð" ŒK×/Ò/Ø×#Ò#Ñ%Ô%Ø”+×3Ò3Ø”KÔ0Ð2KÈAÈBÈBÔ2Oñô ññô ð ð ð ð ŒK×/Ò/ðÝ  ‘^”^ðå& yÑ1Ô1ðñô ð õ ˜4œ;Ô.Ñ/Ô/ˆBØŒK×/Ò/à×(Ò(¨Ñ,Ô,Ø×+Ò+Ñ-Ô-ðñô ð ð 8¸Ô;ÔH×NÒNÑPÔPð ð ‘
��sØ”×3Ò3å&Ñ(Ô(Ø×,Ò,¨SÑ1Ô1Ø×/Ò/Ñ1Ô1ØŸš¨Ñ.Ô.ð	ñô ð ð ð ŒK×/Ò/å& yÑ1Ô1Ý(¨Ñ7Ô7ðð Ô&ðñô ð ð ð r­   c                ó*   — t          j        d ¦  «        S r±   )r   Úcurrent_framerê   s    r«   Úrun_ctx_mgrz%InstructionTranslatorBase.run_ctx_mgr‘  s   € õ Ô+¨DÑ1Ô1Ð1r­   c           
     óÞ  — |                       ¦   «         5  t          | j        j        ¦  «         	 | j                             | ¦  «         | j        | _        	 |                      ¦   «         r	 |                      ¦   «         °ng# t          $ rZ}| j
        rMt          dt          |¦  «        j        › dt          |¦  «        › �¦  «                             |j        ¦  «        d ‚‚ d }~ww xY w�n¤# t"          $ r ‚ t$          $ r ‚ t&          $ �r}t)          |t*          t,          f¦  «        rRt)          | t.          ¦  «        r=| j        s6| j        s/dt          |¦  «        › �}|                      | j        ||¬¦  «         t)          |t8          j        ¦  «        s| j        j                             ¦   «          tA          |d¦  «        r[d|j!        v rRtD          j#         $                    | j        j%        | j        j&        ¦  «         '                    ddd¬	¦  «        }||_(        ‚ ‚ d }~wt          $ rc}| j)        r| j)         *                    ¦   «         |_+        t)          |t8          j        ¦  «        s| j        j                             ¦   «          ‚ d }~ww xY w| j         ,                    ¦   «          t)          | t.          ¦  «        r2| j         -                    ¦   «          | j         .                    ¦   «          nf# | j         ,                    ¦   «          t)          | t.          ¦  «        r3| j         -                    ¦   «          | j         .                    ¦   «          w w xY wd d d ¦  «         d S # 1 swxY w Y   d S )
NzˆError while tracing through a Dynamo-generated resume function prologue. Errors are not allowed when tracing resume function prologues.
r  ztFailed to handle graph break gracefully. Skipping the function and falling back to eager. Graph break encountered:

rØ  rk  zData-dependentFT)Úprint_outputÚinclude_strideÚinclude_device)/r5  r   rã  r+  r/  Úpush_txrÊ   r®  r  r½  r
  r;   r_  rÜ   r¾   Úwith_tracebackÚ__traceback__r   r6   ÚRuntimeErrorr`  r>   r?   rO  rÎ   r?  rä  rå  r   ÚRestartAnalysisÚside_effectsÚlog_side_effects_summaryr<  rk  r¥  r¦  ÚGraphModuleÚ
nn_modulesÚgraphÚprint_readableÚpartial_fx_graphr¬  Ú
get_recordÚexec_recordÚpop_txr  Úmark_bytecode_tracing_stop)rÔ   rñ  rÏ   Úreadable_graphs       r«   ÚrunzInstructionTranslatorBase.run—  s  € Ø×ÒÑÔð L	=ð L	=Ý�d”kÔ-Ñ.Ô.Ð.ðJ=Ø”×#Ò# DÑ)Ô)Ð)Ø#'Ô#;�Ô ð
ØŸ)š)™+œ+ð Øð Ÿ)š)™+œ+ð øøå ð ð ð ØÔ6ð DÝ8ð@å# A™wœwÔ3ð@ð @å7:¸1±v´vð@ð @ñô ÷ )š.¨¬Ñ9Ô9¸tð	Dð
 øøøøðøøøùøõ 2ð ð ð ØÝ(ð ð ð ØÝð #ñ #ð #õ ˜q¥;µ	Ð":Ñ;Ô;ðå" 4Õ)>Ñ?Ô?ðð !Ô5ðð !œNð	ð@å7:¸1±v´vð@ð @ð ð
 ×(Ò(ØÔ)Ø%Øð )ñ ô ð õ " !¥SÔ%8Ñ9Ô9ð HØ”KÔ,×EÒEÑGÔGÐGå˜1˜eÑ$Ô$ð Ð)9¸Q¼UÐ)BÐ)BÝ%*¤X×%9Ò%9ØœÔ.°´Ô0Añ&ô &ç$’nØ%*¸4ÐPTð %ñ ô ð #ð
 *8�AÔ&ØàøøøøÝð ð ð ØÔ%ð DØ$(Ô$6×$AÒ$AÑ$CÔ$C�A”MÝ! !¥SÔ%8Ñ9Ô9ð HØ”KÔ,×EÒEÑGÔGÐGàøøøøðøøøð ”×"Ò"Ñ$Ô$Ð$õ ˜dÕ$9Ñ:Ô:ð =Ø”K×'Ò'Ñ)Ô)Ð)ð
 ”K×:Ò:Ñ<Ô<Ð<øøð ”×"Ò"Ñ$Ô$Ð$õ ˜dÕ$9Ñ:Ô:ð =Ø”K×'Ò'Ñ)Ô)Ð)ð
 ”K×:Ò:Ñ<Ô<Ð<Ð<ð=øøøðML	=ð L	=ð L	=ñ L	=ô L	=ð L	=ð L	=ð L	=ð L	=ð L	=ð L	=ð L	=øøøð L	=ð L	=ð L	=ð L	=ð L	=ð L	=s{   •M"°&C*Á)BÂ C*Â
C%ÂAC Ã C%Ã%C*Ã(K/Ã*JÄ	DHÈJÈ(AJÊJÊK/ÊA!M"Ë/A#MÍM"Í"M&Í)M&ry  c           	     ó  — t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|j        €®| j        }|j        �f|j        j        �Z|                     t          | j
        j        |j        j        |j        j        |j        j        |j        j        ¬¦  «        ¦  «         n:|j        �3|                     t          | j
        j        |j        ¬¦  «        ¦  «         | j                             |¦  «         d S )Nz"push expects VariableTracker, got )rÇ   rÉ   Ú
end_linenoÚ
col_offsetÚend_col_offset)rÇ   rÉ   )r`  rg   rØ   re   Úsource_locationrï  r   rÉ   Úset_source_locationrd   rã  r+  rM  rN  rO  rü  r¤  rô   )rÔ   ry  rË   s      r«   rQ  zInstructionTranslatorBase.pushæ  s  € Ý˜#�Ñ/Ô/ð 	VÝ Ð!TÅgÈcÁlÄlÐ!TÐ!TÑUÔUÐUØÔÐ&ØÔ+ˆDØŒ~Ð)¨d¬nÔ.CÐ.OØ×'Ò'Ý"Ø!%¤Ô!8Ø#œ~Ô4Ø#'¤>Ô#<Ø#'¤>Ô#<Ø'+¤~Ô'Dðñ ô ñô ð ð ð Ô!Ð-Ø×'Ò'Ý"Ø!%¤Ô!8Ø#Ô/ðñ ô ñô ð ð 	Œ
×Ò˜#ÑÔÐÐÐr­   Úvalsc                ó:   — |D ]}|                       |¦  «         Œd S r±   )rQ  )rÔ   rR  ry  s      r«   Ú	push_manyz#InstructionTranslatorBase.push_manyþ  s,   € Øð 	ð 	ˆCØ�IŠI�c‰NŒNˆNˆNð	ð 	r­   c                ó4   — | j                              ¦   «         S r±   )r¤  rè  rê   s    r«   rè  zInstructionTranslatorBase.pop  s   € ØŒz�~Š~ÑÔÐr­   r�  c                óX   ‡ — g t          ˆ fd„t          |¦  «        D ¦   «         ¦  «        ¢S )Nc                ó8   •— g | ]}‰                      ¦   «         ‘ŒS r¥   ©rè  )r¨   r·   rÔ   s     €r«   rq  z2InstructionTranslatorBase.popn.<locals>.<listcomp>  s!   ø€ Ð8Ð8Ð8¨!˜4Ÿ8š8™:œ:Ð8Ð8Ð8r­   )r³   rn  )rÔ   r�  s   ` r«   rR  zInstructionTranslatorBase.popn  s1   ø€ Ø:•Ð8Ð8Ð8Ð8­u°Q©x¬xÐ8Ñ8Ô8Ñ9Ô9Ð:Ð:r­   c           	     ó¾  — |j         }| j        r/|| j        v r&| j                             || j        |         ¦  «         	 |                      | j        |                              ¦   «         ¦  «         nº# t          $ r­ |                     d¦  «        ro	 | 	                    dd¦  «        }|                      | j        |         ¦  «         n]# t          $ r* t          dd|› �d|› d�dgt          j        ¢¬¦  «         Y n*w xY wt          d	d|› �d
|› d�g t          j        ¢¬¦  «         Y nw xY w|                     d¦  «        r| j                             |¦  «         d S d S )Nr_  Úimplicitz5Attempted to read undefined local variable (implicit)z
LOAD_FAST z5Could not find an implicit local variable with name `ú`z(This happens in dict/list comprehensionsrÉ  z*Attempted to read undefined local variablez+Could not find a local variable with name `Ú__stack)r‡  r¬  Úf_localsÚadd_local_varrQ  rž  ÚunwrapÚKeyErrorrt  r.  r=   r   r  rè  )rÔ   rË   r½   Únew_names       r«   Ú	LOAD_FASTz#InstructionTranslatorBase.LOAD_FAST  s¿  € ØŒ{ˆØÔð 	H $¨$¬-Ð"7Ð"7ØÔ×,Ò,¨T°4´=ÀÔ3FÑGÔGÐGð	Ø�IŠI�dÔ*¨4Ô0×7Ò7Ñ9Ô9Ñ:Ô:Ð:Ð:øÝð 	ð 	ð 	Ø�Š˜sÑ#Ô#ð ðà#Ÿ|š|¨C°Ñ<Ô<�HØ—I’I˜dÔ2°8Ô<Ñ=Ô=Ð=Ð=øÝð 	ð 	ð 	Ý!Ø WØ 3¨TÐ 3Ð 3Ø$cÐ\`Ð$cÐ$cÐ$càFðå.Ô9ðð	ñ ô ð ð ð ð	øøøõ ØHØ/¨Ð/Ð/Ø UÈdÐ UÐ UÐ UØ9Õ-Ô8Ð9ð	ñ ô ð øøð#	øøøð2 �?Š?˜9Ñ%Ô%ð 	+ØÔ ×$Ò$ TÑ*Ô*Ð*Ð*Ð*ð	+ð 	+s5   ¿2A2 Á2D)Â6C	ÃD)Ã	1C=Ã:D)Ã<C=Ã=)D)Ä(D)c                óx  — |j         |                      ¦   «         vrt          d¦  «        ‚| j        |j                  }| j        j                             |¦  «        }|                      |¦  «         | j        r@|j         | j	        v r4| j         
                    |j         | j	        |j                  ¦  «         d S d S d S )Nú;expected inst.argval in self.cell_and_freevars() to be true)r‡  rÕ  rØ   rž  r/  r?  Ú	load_cellrQ  r¬  r]  r^  )rÔ   rË   ÚcellÚcontents_vars       r«   Ú
LOAD_DEREFz$InstructionTranslatorBase.LOAD_DEREF+  sÁ   € ØŒ;˜d×4Ò4Ñ6Ô6Ð6Ð6Ý ØMñô ð ð Ô# D¤KÔ0ˆØ”{Ô/×9Ò9¸$Ñ?Ô?ˆØ�	Š	�,ÑÔÐàÔð 	V $¤+°´Ð">Ð">ØÔ×,Ò,¨T¬[¸$¼-ÈÌÔ:TÑUÔUÐUÐUÐUð	Vð 	VÐ">Ð">r­   c                ó  — |j         }|                      ¦   «         }|                     |¦  «         || j        |<   |t          k    rB|                     ¦   «         }t          |¦  «        t          urt          d¦  «        ‚|| _	        d S d S )Nz%expected type(val) is bool to be true)
r‡  rè  Úset_name_hintrž  rN   rþ  r_  rÌ   rØ   r
  )rÔ   rË   r½   Ú	loaded_vtry  s        r«   Ú
STORE_FASTz$InstructionTranslatorBase.STORE_FAST7  sŠ   € ØŒ{ˆØ—H’H‘J”Jˆ	Ø×Ò Ñ%Ô%Ð%Ø%.ˆÔ˜TÑ"ØÕ5Ò5Ð5Ø×.Ò.Ñ0Ô0ˆCÝ�C‰yŒy¥Ð$Ð$Ý$Ð%LÑMÔMÐMØ.1ˆDÔ+Ð+Ð+ð	 6Ð5r­   c                ó¬   — |j         }| j                             |¦  «        }t          |t          ¦  «        r|                      |¦  «         | j        |= d S r±   )r‡  rž  r•  r`  r”   Ú_maybe_emit_sync_dealloc)rÔ   rË   r½   Úvars       r«   ÚDELETE_FASTz%InstructionTranslatorBase.DELETE_FASTB  sV   € ØŒ{ˆØÔ"×&Ò& tÑ,Ô,ˆÝ�c�>Ñ*Ô*ð 	/Ø×)Ò)¨#Ñ.Ô.Ð.ØÔ  Ð&Ð&Ð&r­   ro  r”   c                ó  — ddl m}m} |j        }|�	|j        dvrd S |j        j        }|j                             di ¦  «                             dd ¦  «        }t          |j
                             ¦   «         ¦  «        }|sd S d }| j        j        j        D ]}	|	|v r|	}Œ	|�|j        dk    rd S |j                             di ¦  «                             dd ¦  «        }
||
k    rd S |€ ||¦  «        }|
€ ||¦  «        }
 |¦   «         }| j                             dt"          j        j        j        ||
fi ¦  «         | j                             dt"          j        j        j        |||                     ¦   «         fi ¦  «         d S )Nr   )Úget_current_streamÚ	new_event)ÚcudaÚxpuÚcustomÚstreamr/  r¦   )Úvariables.streamsrr  rs  Údevicer_  rº  r»  r”  r•  r!  ÚusersÚkeysr/  rC  Únodesr®  r  r¥  ÚopsÚstreamsÚrecord_eventÚsync_deallocÚas_proxy)rÔ   ro  rr  rs  ry  r»  Úalloc_streamrz  Ú	last_userr�  Úlast_use_streamÚ	event_idxs               r«   rn  z2InstructionTranslatorBase._maybe_emit_sync_deallocI  s·  € ØDÐDÐDÐDÐDÐDÐDÐDà”ˆØˆ>˜Vœ[°Ð?Ð?ØˆFàŒyŒ~ˆØ”y—}’} X¨rÑ2Ô2×6Ò6°xÀÑFÔFˆå�D”J—O’OÑ%Ô%Ñ&Ô&ˆØð 	ØˆFØˆ	Ø”Ô"Ô(ð 	ð 	ˆAØ�EˆzˆzØ�	øØÐ 	¤°Ò 8Ð 8ØˆFà#œ.×,Ò,¨X°rÑ:Ô:×>Ò>¸xÈÑNÔNˆØ˜?Ò*Ð*ØˆFàÐØ-Ð-¨fÑ5Ô5ˆLØÐ"Ø0Ð0°Ñ8Ô8ˆOà�I‘K”Kˆ	ØŒ× Ò ØÝŒIÔÔ*Ø˜Ð(Øñ		
ô 	
ð 	
ð 	Œ× Ò ØÝŒIÔÔ*Ø˜ c§l¢l¡n¤nÐ5Øñ		
ô 	
ð 	
ð 	
ð 	
r­   c                ót  — |j         |                      ¦   «         vrt          d¦  «        ‚| j        |j                  }|                      ¦   «         }| j        j                             ||¦  «         t          |t          ¦  «        st          d¦  «        ‚|j
        �|                     |j
        ¦  «         d S d S )Nrd  z2expected isinstance(cell, CellVariable) to be true)r‡  rÕ  rØ   rž  rè  r/  r?  Ú
store_cellr`  r„   Ú
local_namerj  )rÔ   rË   rf  ry  s       r«   ÚSTORE_DEREFz%InstructionTranslatorBase.STORE_DEREFt  s¾   € ØŒ;˜d×4Ò4Ñ6Ô6Ð6Ð6Ý ØMñô ð ð Ô# D¤KÔ0ˆØ�hŠh‰jŒjˆØŒÔ ×+Ò+¨D°#Ñ6Ô6Ð6å˜$¥Ñ-Ô-ð 	Ý ØDñô ð ð Œ?Ð&Ø×Ò˜dœoÑ.Ô.Ð.Ð.Ð.ð 'Ð&r­   c                óê   — |j         }|€t          j        |j        ¬¦  «        S | j        |         }|s/t          j        |j        ¬¦  «        | j        |<   | j        |         }|€t          d¦  «        ‚|S )N©r   z#expected val is not None to be true)rS  rm   r‹  r‡  Ú_constants_cacherØ   )rÔ   rË   ru  ry  s       r«   Ú_load_constz%InstructionTranslatorBase._load_const†  s|   € ØŒHˆØˆ9Ý#Ô*°´Ð=Ñ=Ô=Ð=ØÔ# AÔ&ˆØð 	+Ý'7Ô'>ÀTÄ[Ð'QÑ'QÔ'QˆDÔ! !Ñ$ØÔ'¨Ô*ˆCØˆ;Ý Ð!FÑGÔGÐGØˆ
r­   c                óV   — |                       |                      |¦  «        ¦  «         d S r±   )rQ  r�  r  s     r«   rƒ  z$InstructionTranslatorBase.LOAD_CONST’  s(   € Ø�	Š	�$×"Ò" 4Ñ(Ô(Ñ)Ô)Ð)Ð)Ð)r­   c           	     ó^  — |j         }| j        rb|| j        v r'| j                             || j        |         ¦  «         n2|| j        vrt          d¦  «        ‚| j        |         | j        j        |<   || j        vr|                      |¦  «        S || j        v rR| j	        j
        | j        |                  }|                      | j	        j
                             ||¦  «        ¦  «         d S | j        |         }|                      t          j        | |t          |¦  «        ¦  «        ¦  «         d S )Nz+expected name in self.f_builtins to be true)r‡  r¬  Ú	f_globalsÚadd_global_varÚ
f_builtinsrØ   ÚbuiltinsÚload_builtinrŸ  r/  r?  rQ  Úload_globalrg   rˆ  rR   )rÔ   rË   r½   Úvariabler   s        r«   Ú_load_globalz&InstructionTranslatorBase._load_global•  s%  € ØŒ{ˆàÔð 	JØ�t”~Ð%Ð%ØÔ"×1Ò1°$¸¼ÀtÔ8LÑMÔMÐMÐMà˜tœÐ.Ð.Ý(Ð)VÑWÔWÐWØ48´OÀDÔ4I�Ô"Ô+¨DÑ1à�t”~Ð%Ð%Ø×$Ò$ TÑ*Ô*Ð*à�4Ô(Ð(Ð(Ø”{Ô/°Ô0EÀdÔ0KÔLˆHØ�IŠI�d”kÔ.×:Ò:¸8ÀTÑJÔJÑKÔKÐKØˆFà”˜tÔ$ˆØ�	Š	•/Ô'¨¨eµ\À$Ñ5GÔ5GÑHÔHÑIÔIÐIÐIÐIr­   c                óz   — d}|                       |¦  «        }t          |¦  «        }t          j        | ||¦  «        S )Nztorch.nn.modules.module)Úimport_sourcerÄ   rg   rˆ  )rÔ   Úmodule_nameÚmodule_sourceÚfglobals_values       r«   Únn_modules_globals_vtz/InstructionTranslatorBase.nn_modules_globals_vt«  s<   € à/ˆØ×*Ò*¨;Ñ7Ô7ˆÝ'¨Ñ4Ô4ˆÝÔ$ T¨>¸=ÑIÔIÐIr­   c                ó@  — |j         €t          d¦  «        ‚t          j        dk    r/t          j        dk     r|j         dz  r|                      |¦  «         |                      |¦  «         t          j        dk    r!|j         dz  r|                      |¦  «         d S d S d S )NrP  rH  rÜ  r  )rS  rØ   rd  rë  Ú	PUSH_NULLr—  r  s     r«   ÚLOAD_GLOBALz%InstructionTranslatorBase.LOAD_GLOBAL²  s¥   € ØŒ8ÐÝ Ð!KÑLÔLÐLÝÔ˜wÒ&Ð&­3Ô+;¸gÒ+EÐ+EÈ$Ì(ÐUVÉ,Ð+EØ�NŠN˜4Ñ Ô Ð Ø×Ò˜$ÑÔÐÝÔ˜wÒ&Ð&¨4¬8°a©<Ð&Ø�NŠN˜4Ñ Ô Ð Ð Ð ð 'Ð&Ð&Ð&r­   c                ó€  — |                       ¦   «         }|j        }t          |¦  «        }|| j        vrt	          ¦   «         | j        |<   | j        j                             || j        |         ¦  «        }t          |t          ¦  «        rt          d|dg ¬¦  «         | j        j                             |||¦  «         d S )Nz%Storing Tensor hook handle in globalsúThis is not supported.rÉ  )rè  r‡  rR   rŸ  r]  r/  r?  Útrack_global_existingr`  r—   r=   Ústore_global)rÔ   rË   r   r½   r¯  r–  s         r«   ÚSTORE_GLOBALz&InstructionTranslatorBase.STORE_GLOBAL»  sÆ   € Ø—’‘
”
ˆØŒ{ˆÝ˜dÑ#Ô#ˆØ�tÔ,Ð,Ð,Ý*0©(¬(ˆDÔ! $Ñ'Ø”;Ô+×AÒAØ�DÔ)¨$Ô/ñ
ô 
ˆõ �eÕ4Ñ5Ô5ð 	ÝØ?ØØ4Øð	ñ ô ð ð 	ŒÔ ×-Ò-¨h¸¸eÑDÔDÐDÐDÐDr­   rš  rR   c                ó   — d|v r[t           j        j        j        |         }|                     dd¦  «                             dd¦  «                             dd¦  «        }n(t          |¦  «        }d|                     dd¦  «        › �}| j        �| j                             ||¦  «         || j        j        |<   | j        j	        }||vs||         |u st          d	¦  «        ‚|||<   | j                             |¦  «         t          |¦  «        S )
z-Create an alias to a module for use in guardsÚtorch_packageú>r·   ú<r_  Ú_dot_Ú	__import_NzGexpected alias not in f_globals or f_globals[alias] is value to be true)r¥  r³  Úpackage_importerÚ_package_imported_modulesr.  rÄ   Úadd_import_sourcer/  Úimport_sourcesÚglobal_scoperØ   Úupdate_co_namesrR   )rÔ   rš  r   Úaliasr�  s        r«   r™  z'InstructionTranslatorBase.import_sourceÏ  s$  € ð ˜kÐ)Ð)Ý”MÔ2ÔLØôˆEð ×#Ò# C¨Ñ-Ô-×5Ò5°c¸3Ñ?Ô?×GÒGÈÈWÑUÔUð ˆEõ # ;Ñ/Ô/ˆEØC × 3Ò 3°C¸Ñ AÔ AÐCÐCˆEàŒ<Ð#ØŒL×*Ò*¨5°+Ñ>Ô>Ð>Ø,7ˆŒÔ" 5Ñ)Ø”KÔ,ˆ	Ø˜YÐ&Ð&¨)°EÔ*:¸eÐ*CÐ*CÝ ØYñô ð ð !ˆ	�%ÑØŒ×#Ò# EÑ*Ô*Ð*Ý˜EÑ"Ô"Ð"r­   r½   Úlevelc                óž   — |                      d|dz
  ¦  «        }t          |¦  «        |k     rt          d¦  «        ‚|d         }|r|› d|› �n|S )zú
        Copied from the Cpython implementation of __import__
        Resolve a relative module name to an absolute one.
        https://github.com/python/cpython/blob/5a094f0255eea1db58fb2cf14c200971e64ec36e/Lib/importlib/_bootstrap.py#L902
        r_  r   z2attempted relative import beyond top-level packager   )Úrsplitró   ÚImportError)rÔ   r½   r³  r³  ÚbitsÚbases         r«   Úresolve_namez&InstructionTranslatorBase.resolve_nameé  sb   € ð �~Š~˜c 5¨1¡9Ñ-Ô-ˆÝˆt‰9Œ9�uÒÐÝÐRÑSÔSÐSØ�AŒwˆØ#'Ð1�$ÐÐ˜ÐÐÐ¨TÐ1r­   c                ó‚  — | j                              d¦  «        }| j                              d¦  «        }|�2|�.||j        k    r#t                               d||j        d¬¦  «         |S |�|j        S t                               dd¬¦  «         | j         d         }d	| j         vr|                     d
¦  «        d         }|S )zÀ
        Copied from the Cpython implementation of __import__
        https://github.com/python/cpython/blob/5a094f0255eea1db58fb2cf14c200971e64ec36e/Lib/importlib/_bootstrap.py#L1090
        Ú__package__Ú__spec__Nz)__package__ != __spec__.parent (%r != %r)rÝ  )Ú
stacklevelzYcan't resolve package from __spec__ or __package__, falling back on __name__ and __path__rÚ   Ú__path__r_  r   )r�  r•  rí  r'  ÚwarningÚ
rpartition)rÔ   r³  Úspecs      r«   Úcalc_packagez&InstructionTranslatorBase.calc_packageõ  sß   € ð
 ”.×$Ò$ ]Ñ3Ô3ˆØŒ~×!Ò! *Ñ-Ô-ˆØÐØÐ G¨t¬{Ò$:Ð$:Ý—’Ø?ØØ”KØ ð	 ñ ô ð ð ˆNØÐØ”;Ðå�KŠKð8àð ñ ô ð ð
 ”n ZÔ0ˆGØ ¤Ð/Ð/Ø!×,Ò,¨SÑ1Ô1°!Ô4�Øˆr­   c           
     ó¶  — |                       d¦  «        \  }}|                     ¦   «         }|                     ¦   «         }|j        }t          j        › d|› d|› d|› �}|| j        v r| j        |         }t          |¦  «        }nË	 t          |||| j        ¬¦  «        }n8# t          $ r+ t          dd|› d|› d|› �dg t          j        ¢¬	¦  «         Y nw xY w|d
k    r+|                      ¦   «         }|                      |||¦  «        }|s1|                     d¦  «        d
         }	|                      |	¦  «        }n|                      |¦  «        }| j        r| j                             ||¦  «         t%          |t&          j        t*          f¦  «        r&|                      t/          ||¬¦  «        ¦  «         d S t          dt1          |¦  «        dg ¬	¦  «         d S )Nr  r·   )Úfromlistr³  ÚglobalszImport failurezmodule_name: z, fromlist: z, level=z"Failure when attempting to import.rÉ  r   r_  ©r¯  zBad import resultz%Import result is not a Python module.)rR  rþ  r‡  rL   ÚLOCAL_MOD_PREFIXr�  rR   Ú
__import__r¶  r=   r   r  rÂ  r¹  Ú	partitionr™  r¬  Úadd_local_modr`  ra  rb  rK   rQ  r‡   re   )
rÔ   rË   r³  rÄ  rš  Úrecorded_namer   r¯  ÚpkgÚtop_level_module_names
             r«   ÚIMPORT_NAMEz%InstructionTranslatorBase.IMPORT_NAME	  sA  € ØŸ)š) A™,œ,‰ˆˆxØ×(Ò(Ñ*Ô*ˆØ×.Ò.Ñ0Ô0ˆØ”kˆõ !Ô1ÐTÐT°EÐTÐT¸HÐTÐTÀ{ÐTÐTð 	ð ˜DœNÐ*Ð*Ø”N =Ô1ˆEÝ! -Ñ0Ô0ˆFˆFðÝ"ØØ%ØØ œNð	ñ ô ��øõ ð ð ð ÝØ,Ø^¨KÐ^Ð^ÀXÐ^Ð^ÐW\Ð^Ð^Ø DØ9Õ-Ô8Ð9ð	ñ ô ð ð ð ðøøøð ˜ŠzˆzØ×'Ò'Ñ)Ô)�Ø"×/Ò/°¸SÀ%ÑHÔH�ð ð 9Ø(3×(=Ò(=¸cÑ(BÔ(BÀ1Ô(EÐ%Ø×+Ò+Ð,AÑBÔB��à×+Ò+¨KÑ8Ô8�àÔð 	CàÔ×,Ò,¨]¸EÑBÔBÐBõ �e�eÔ.µÐ<Ñ=Ô=ð 
	à�IŠIÕ*¨5¸Ð@Ñ@Ô@ÑAÔAÐAÐAÐAåØ+å ™œØCØðñ ô ð ð ð s   ÂB Â2CÃCc                ód   — |                       |¦  «         |                      |j        ¦  «         d S r±   )ÚDUP_TOPÚ
_load_attrr‡  r  s     r«   ÚIMPORT_FROMz%InstructionTranslatorBase.IMPORT_FROMR	  s.   € Ø�Š�TÑÔÐØ�Š˜œÑ$Ô$Ð$Ð$Ð$r­   r‡  c                óv  — || j         vr#t          ddd|› d�g t          j        ¢¬¦  «         | j         |         }t	          |¦  «        r?t          | j        j        ¦  «        }t          ||¦  «        }t          j
        | ||¦  «        S t          |¦  «        st          d¦  «        ‚t          j
        | |¦  «        S )Nz%failed to find name in frame builtinsrï   zFailed to find name `z` in frame's builtins.rÉ  z,expected is_builtin_constant(val) to be true)r’  r=   r   r  rà  rR   r/  Ú%name_of_builtins_dict_key_in_fglobalsrQ   rg   rˆ  rX   rØ   )rÔ   r‡  ry  Úbuiltins_sourceÚ
var_sources        r«   Úload_builtin_from_argvalz2InstructionTranslatorBase.load_builtin_from_argvalX	  sÖ   € à˜œÐ(Ð(ÝØ?ØØR°FÐRÐRÐRðÝ&Ô1ðð	ñ ô ð ð Œo˜fÔ%ˆå�C‰=Œ=ð 		4Ý*Ø”ÔAñô ˆOõ +¨?¸FÑCÔCˆJÝ"Ô(¨¨s°JÑ?Ô?Ð?å& sÑ+Ô+ð UÝ$Ð%SÑTÔTÐTÝ"Ô(¨¨sÑ3Ô3Ð3r­   c                ó`   — |                       |                      |j        ¦  «        ¦  «         d S r±   )rQ  r×  r‡  r  s     r«   r”  z&InstructionTranslatorBase.load_builtinp	  s*   € Ø�	Š	�$×/Ò/°´Ñ<Ô<Ñ=Ô=Ð=Ð=Ð=r­   úInstruction | BlockStackEntryc                ó.  — | j         €t          d¦  «        ‚| j        €t          d¦  «        ‚|j        €t          d¦  «        ‚t	          ¦   «                              d| j         | j        z
  ¦  «         | j        |j                 | _         | j         | _        d S )Nr  ú0expected self.start_point is not None to be truerÛ  Úir_count)rÊ   rØ   r®  r5  r^   Ú	incrementÚindexofr  s     r«   rÿ  zInstructionTranslatorBase.jumps	  s£   € ØÔ#Ð+Ý ØJñô ð ð ÔÐ#Ý Ð!SÑTÔTÐTØŒ;ÐÝ Ð!NÑOÔOÐOÝÑÔ×'Ò'Ø˜Ô0°4Ô3CÑCñ	
ô 	
ð 	
ð $(¤<°´Ô#<ˆÔ ØÔ3ˆÔÐÐr­   Tc           	     ó²   — |j         €t          d¦  «        ‚| j                             t	          ||j         t          | j        ¦  «        ¦  «        ¦  «         d S ©NrÛ  ©r5  rØ   r  rô   r4  ró   r¤  r  s     r«   Ú
SETUP_LOOPz$InstructionTranslatorBase.SETUP_LOOPŠ	  óL   € àŒ;ÐÝ Ð!NÑOÔOÐOØÔ×Ò¥°°d´kÅ3ÀtÄzÁ?Ä?Ñ SÔ SÑTÔTÐTÐTÐTr­   c           	     ó²   — |j         €t          d¦  «        ‚| j                             t	          ||j         t          | j        ¦  «        ¦  «        ¦  «         d S rà  rá  r  s     r«   ÚSETUP_EXCEPTz&InstructionTranslatorBase.SETUP_EXCEPT�	  rã  r­   c                ó8   — | j                              ¦   «          d S r±   )r  rè  r  s     r«   Ú	POP_BLOCKz#InstructionTranslatorBase.POP_BLOCK–	  s   € ØÔ×ÒÑÔÐÐÐr­   c                ó0   — |                       |¦  «         d S r±   ©Úsetup_or_before_withr  s     r«   Ú
SETUP_WITHz$InstructionTranslatorBase.SETUP_WITH™	  ó   € Ø×!Ò! $Ñ'Ô'Ð'Ð'Ð'r­   c           	     ó²   — |j         €t          d¦  «        ‚| j                             t	          ||j         t          | j        ¦  «        ¦  «        ¦  «         d S rà  rá  r  s     r«   ÚSETUP_FINALLYz'InstructionTranslatorBase.SETUP_FINALLYœ	  sL   € ØŒ;ÐÝ Ð!NÑOÔOÐOØÔ×Ò¥°°d´kÅ3ÀtÄzÁ?Ä?Ñ SÔ SÑTÔTÐTÐTÐTr­   c                ó  — t           j        dk    re|                      ¦   «         }|                      ¦   «                              ¦   «         }|                      |¦  «         |                      |¦  «         n;|                      ¦   «                              ¦   «         }|                      |¦  «         	 t           j        dk    rTt          | ||¦  «        \  }}|                      ¦   «          |                      |¦  «         |                      |¦  «         d S |                     | ¦  «        }|                      |¦  «         d S # t          t          j	        t          j
        f$ r¦}t          |t          j	        t          j
        f¦  «        rt          j        | ¦  «         t           j        dk    r(|                      t          j        d ¦  «        ¦  «         n|                      ¦   «          |                      |¦  «         Y d }~d S d }~ww xY w)N©rÝ  é   rJ  )rd  rë  rè  ÚrealizerQ  r�   Únext_variableÚStopIterationr   ÚObservedUserStopIterationÚObservedIndexErrorr`  Úhandle_observed_exceptionrm   r‹  rÿ  )rÔ   rË   Únull_or_idxÚitry  Únext_rñ  s          r«   ÚFOR_ITERz"InstructionTranslatorBase.FOR_ITER¡	  s½  € ÝÔ˜wÒ&Ð&ØŸ(š(™*œ*ˆKØ—’‘”×#Ò#Ñ%Ô%ˆBØ�IŠI�b‰MŒMˆMØ�IŠI�kÑ"Ô"Ð"Ð"à—’‘”×#Ò#Ñ%Ô%ˆBØ�IŠI�b‰MŒMˆMð	ÝÔ 7Ò*Ð*Ý2°4¸¸[ÑIÔI‘
��UØ—’‘
”
�
Ø—	’	˜%Ñ Ô Ð Ø—	’	˜#‘”���à×&Ò& tÑ,Ô,�Ø—	’	˜#‘”���øåÝÔ)ÝÔ"ð
ð 	ð 	ð 	õ
 ˜!�cÔ;½SÔ=SÐTÑUÔUð 4ÝÔ-¨dÑ3Ô3Ð3åÔ 7Ò*Ð*ð
 —	’	Õ*Ô1°$Ñ7Ô7Ñ8Ô8Ð8Ð8ð —’‘
”
�
Ø�IŠI�d‰OŒOˆOˆOˆOˆOˆOˆOˆOøøøøð#	øøøs    Â2A"E Ä*E Å!H	Å#BHÈH	c                óv   — t          |t          j        t          f¦  «        r|                     | g i ¦  «        }|S r±   )r`  r   rk   r™   r¦   r’  s     r«   Ú_create_exception_typez0InstructionTranslatorBase._create_exception_typeÆ	  s@   € ÝØ•)Ô+Õ-NÐOñ
ô 
ð 	2ð
 ×#Ò# D¨"¨bÑ1Ô1ˆCØˆ
r­   r   r¼   c                ó   — |                       ¦   «         } |j        | d¦  «        }t          |t          t          f¦  «        st          d¦  «        ‚t	          j        ||¦  «        } |j        | dt          j	        | d¦  «        |gi ¦  «         d S )Nr<  zKexpected isinstance( tb, (ConstantVariable, TracebackVariable) ) to be trueÚ__setattr__)
rç  Úvar_getattrr`  rm   rˆ   rØ   Úfrom_frame_summaryÚcall_methodrg   rˆ  )rÔ   r   rç  ÚtbÚnew_tbs        r«   Ú_attach_traceback_to_exceptionz8InstructionTranslatorBase._attach_traceback_to_exceptionÏ	  s®   € à×*Ò*Ñ,Ô,ˆØˆSŒ_àØñ
ô 
ˆõ
 ˜"Õ/Õ1BÐCÑDÔDð 	Ý Ø]ñô ð õ #Ô5°mÀRÑHÔHˆØˆŒØØÝÔ" 4¨Ñ9Ô9¸6ÐBØñ		
ô 	
ð 	
ð 	
ð 	
r­   rz  r   c                ó   — |                       |¦  «        }t          | j        ¦  «        rWt          |t          j        ¦  «        r=|j        t          u r/t          j	        | t          ¦  «                             | g i ¦  «        }|                      |¦  «        r9t          |dd ¦  «        €(t          j        j                             ¦   «         |_        |                      |¦  «        rh| j                             ||¬¦  «         t+          j        |j        ¦  «        }t          |dd ¦  «        } |d|                     ¦   «         › �|¬¦  «        ‚t+          j        t2          | d|                     ¦   «         › �g¬¦  «         d S )NÚpython_stack©rz  úraised exception )r;  z/exceptions must derive from BaseException, not ©r¶   )rý  r/   rã  r`  r   r…   Úexc_typerô  rg   rˆ  r=  r¦   Ú_isinstance_exceptionr–  r¥  Ú_guardsr   Úextract_stackr  r«  r}  r   Úget_dynamo_observed_exceptionÚ
debug_reprÚraise_observed_exceptionÚ	TypeErrorÚpython_type_name)rÔ   ry  rz  Úobserved_exception_typer  s        r«   Ú_raise_exception_variablez3InstructionTranslatorBase._raise_exception_variableã	  sŽ  € ð ×)Ò)¨#Ñ.Ô.ˆõ
 ˜œÑ%Ô%ð	Xå˜3¥	Ô ;Ñ<Ô<ð	Xð ”¥Ð-Ð-å!Ô'¨­lÑ;Ô;×IÒIÈ$ÐPRÐTVÑWÔWˆCð ×&Ò& sÑ+Ô+ð	Lå˜˜^¨TÑ2Ô2Ð:å$œ}Ô;×IÒIÑKÔKˆCÔð ×%Ò% cÑ*Ô*ð 	ð
 Ô×3Ò3°CÀ[Ð3ÑQÔQÐQå&)Ô&GÈÌÑ&UÔ&UÐ#å" 3¨¸Ñ=Ô=ˆLØ)Ð)Ø6 C§N¢NÑ$4Ô$4Ð6Ð6À<ðñ ô ð õ 	Ô$ÝØàZÀ#×BVÒBVÑBXÔBXÐZÐZðð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r­   c           
     óÈ  — |j         dk    ržt          | j        ¦  «        st          j        t
          | dg¬¦  «         t          | j        ¦  «        st          d¦  «        ‚| j        d         }|                      |¦  «        st          |¦  «        ‚|                      |d¬¦  «         d S |j         dk    rˆ| j	        d         }	 |                      |d	¬¦  «         | j         
                    ¦   «         }|                      |¦  «         d S # | j         
                    ¦   «         }|                      |¦  «         w xY w|                      ¦   «         }|                      ¦   «         }	 |                      |d	¬¦  «         | j         
                    ¦   «         }|                      |¦  «         |                      |¦  «        }|                     | d
t          j        | d¦  «        |gi ¦  «         d S # | j         
                    ¦   «         }|                      |¦  «         |                      |¦  «        }|                     | d
t          j        | d¦  «        |gi ¦  «         w xY w)Nr   zNo active exception to reraiser
  ú*expected len(self.exn_vt_stack) to be truer“  Fr  r   Trÿ  Ú	__cause__)rS  ró   r«  r   r  r=  rØ   r  r  r¤  r‚  r  rè  rý  r  rg   rˆ  )rÔ   rË   ry  Úcurr_excÚfrom_vtÚcauses         r«   rv  z'InstructionTranslatorBase.RAISE_VARARGS
  s‚  € ØŒ8�qŠ=ˆ=Ý�tÔ(Ñ)Ô)ð ÝÔ,Ý  $Ð.NÐ-Oðñ ô ð õ �tÔ(Ñ)Ô)ð SÝ$Ð%QÑRÔRÐRØÔ# BÔ'ˆCØ×-Ò-¨cÑ2Ô2ð *Ý$ SÑ)Ô)Ð)Ø×*Ò*¨3¸EÐ*ÑBÔBÐBÐBÐBØŒX˜Š]ˆ]à”*˜R”.ˆCð>Ø×.Ò.¨sÀÐ.ÑEÔEÐEð  Ô,×BÒBÑDÔD�Ø×3Ò3°HÑ=Ô=Ð=Ð=Ð=øð  Ô,×BÒBÑDÔD�Ø×3Ò3°HÑ=Ô=Ð=Ð=øøøð —h’h‘j”jˆGØ—(’(‘*”*ˆCðØ×.Ò.¨sÀÐ.ÑEÔEÐEð  Ô,×BÒBÑDÔD�Ø×3Ò3°HÑ=Ô=Ð=Ø×3Ò3°GÑ<Ô<�Ø×$Ò$ØØ!Ý$Ô*¨4°Ñ=Ô=¸uÐEØñ	ô ð ð ð øð  Ô,×BÒBÑDÔD�Ø×3Ò3°HÑ=Ô=Ð=Ø×3Ò3°GÑ<Ô<�Ø×$Ò$ØØ!Ý$Ô*¨4°Ñ=Ô=¸uÐEØñ	ô ð ð øøøs   ÃD
 Ä
0D:Å&G/ Ç/A2I!c                óØ   — | j         d         }t          |t          ¦  «        st          d¦  «        ‚|j        t
          u rt          dddg ¬¦  «         d S |                      |¦  «         d S )Nr“  z6expected isinstance(tos, ExceptionVariable) to be truez CLEANUP_THROW with StopIterationrï   zRReceived StopIteration when handling generator.throw/close. This is not supported.rÉ  )r¤  r`  r…   rØ   r  rô  r=   ÚRERAISE©rÔ   rË   Útoss      r«   ÚCLEANUP_THROWz'InstructionTranslatorBase.CLEANUP_THROWG
  s‹   € àŒj˜ŒnˆÝ˜#Õ0Ñ1Ô1ð 	Ý ØHñô ð ð Œ<�=Ð(Ð(ÝØ:ØØpØð	ñ ô ð ð ð ð �LŠL˜ÑÔÐÐÐr­   c                ó¸  — t           j        dk    rv|                      ¦   «         }|j        r-|                      ¦   «         }|                      |d¬¦  «         d S |                      |¦  «         |                      |d¬¦  «         d S |                      ¦   «         }|                      ¦   «         }|                      ¦   «         }|                      |d¬¦  «         d S )NrH  Fr  )rd  rë  rè  r‡  r  rQ  )rÔ   rË   ry  r·   Ú_excÚ_tbs         r«   r  z!InstructionTranslatorBase.RERAISEX
  sÌ   € õ Ô˜wÒ&Ð&à—(’(‘*”*ˆCØŒ{ð Gà—H’H‘J”J�Ø×.Ò.¨sÀÐ.ÑFÔFÐFÐFÐFð —	’	˜#‘”�Ø×.Ò.¨sÀÐ.ÑFÔFÐFÐFÐFà—8’8‘:”:ˆDØ—(’(‘*”*ˆCØ—(’(‘*”*ˆCØ×*Ò*¨3¸EÐ*ÑBÔBÐBÐBÐBr­   úTypeIs[ExceptionVals]c                ó,   — t          |t          ¦  «        S r±   )r`  r¼   r’  s     r«   r  z/InstructionTranslatorBase._isinstance_exceptiono
  s   € Ý˜#�}Ñ-Ô-Ð-r­   c                óp  — g }t           j        dk    rõt           j        dk     rdnd}t          | j        ¦  «        |k    st	          d¦  «        ‚| j        |          }| j        d         }|                      |¦  «        st	          d¦  «        ‚t          |j        ¦  «        }|                     | d¦  «        }t           j        dk    r@t          | j        d	         t          ¦  «        s |                     | j        d	         ¦  «         n�t          | j        ¦  «        d
k    st	          d¦  «        ‚| j        d         }| j        d         }|                      |¦  «        st	          d¦  «        ‚t          |j        ¦  «        }|                     | d¦  «        }||||gz  }|                      ||i ¦  «         d S )NrH  ©rÝ  é   é   é   z-expected len(self.stack) >= fn_loc to be truer“  ú3expected self._isinstance_exception(val) to be truer<  éüÿÿÿé   z(expected len(self.stack) >= 7 to be trueiùÿÿÿr  )rd  rë  ró   r¤  rØ   r  rk   r  r   r`  r†   rô   r¦   )rÔ   rË   r¶   Úfn_locrK  ry  Útypr  s           r«   ÚWITH_EXCEPT_STARTz+InstructionTranslatorBase.WITH_EXCEPT_STARTr
  s³  € Ø&(ˆÝÔ˜wÒ&Ð&ÝÔ*¨WÒ4Ð4�Q�Q¸!ˆFõ ˜œ
‘O”O vÒ-Ð-Ý$Ð%TÑUÔUÐUØ”˜V˜GÔ$ˆBØ”*˜R”.ˆCØ×-Ò-¨cÑ2Ô2ð Ý$ØIñô ð õ " #¤,Ñ/Ô/ˆCØ—’àØñô ˆBõ
 Ô 7Ò*Ð*Ý! $¤*¨R¤.µ,Ñ?Ô?ð 0Ø—K’K ¤
¨2¤Ñ/Ô/Ð/øå˜œ
‘O”O qÒ(Ð(Ý$Ð%OÑPÔPÐPØ”˜B”ˆBØ”*˜R”.ˆCØ×-Ò-¨cÑ2Ô2ð Ý$ØIñô ð õ " #¤,Ñ/Ô/ˆCà—’  Ñ7Ô7ˆBà��c˜2�ÑˆØ×Ò˜2˜t RÑ(Ô(Ð(Ð(Ð(r­   Úraised_exceptionr   c           	     ó
  ‡ ‡‡	— dŠ	dˆ	ˆˆ fd„}t           j        dk    �rA‰ j        j        }|rÊt	          ‰ j        ¦  «        |j        k    r1‰                      ¦   «          t	          ‰ j        ¦  «        |j        k    °1|j        r2‰  	                    t          j        ‰ ‰ j        j        ¦  «        ¦  «         ‰  	                    ‰ j                             ¦   «         ¦  «         ‰                      |¦  «         d S ‰ j                             ¦   «          ‰ j                             ¦   «         }‰                      |¦  «         t%          ‰ ¦  «        t&          u r
 |¦   «          ‰‚t	          ‰ j        ¦  «        �rS‰ j                             ¦   «         }|j        j        dk    rÐ‰                      d¦  «         ‰ j                             ¦   «          t	          ‰ j        ¦  «        dk    ra‰ j                             ¦   «          t%          ‰ ¦  «        t&          u r0t1          d	t3          ‰¦  «        ‰	d
z   g t4          j        ¢‰¬¦  «         ‰‚‰ j                             ¦   «         }|j        j        dk    °Ð‰ j                             ¦   «         }‰ j                             ¦   «          t	          ‰ j        ¦  «        |j        k    r1‰                      ¦   «          t	          ‰ j        ¦  «        |j        k    °1t=          t?          d¦  «        dd d¦  «        }‰ j                              tC          |d t	          ‰ j        ¦  «        ¦  «        ¦  «         t	          ‰ j        ¦  «        dk    ru‰ j        d         }‰  	                    tE          j#        ¦   «         ¦  «         ‰  	                    |¦  «         ‰  	                    tE          j$        |j%        ¦  «        ¦  «         nu‰  	                    tM          j'        d ¦  «        ¦  «         ‰  	                    tM          j'        d ¦  «        ¦  «         ‰  	                    tM          j'        d ¦  «        ¦  «         ‰  	                    tE          j#        ¦   «         ¦  «         ‰  	                    |¦  «         ‰  	                    tE          j$        |j%        ¦  «        ¦  «         ‰                      |¦  «         d S ‰ j                             ¦   «          t%          ‰ ¦  «        t&          u r
 |¦   «          ‰‚)NzšDynamo found no exception handler at the top-level compiled function when encountering an exception. Exception will propagate outside the compiled region.r¿   rÐ   c                 óF  •— ‰j                              ¦   «         } t          j        |                      ¦   «         ¦  «        }t          ‰|¦  «        st          d¦  «        ‚t          dd|                      ¦   «         › �‰g t          j
        ¢t          j        ¢‰¬¦  «         d S )Nz<expected isinstance(raised_exception, dynamo_exc) to be truezObserved exceptionr	  r7  )r«  r‚  r   r  Úpython_typer`  rØ   r=   r  r   r  re  )r  Ú
dynamo_excÚobserved_exn_gb_explanationr1  rÔ   s     €€€r«   Úbubble_exception_to_interpreterzTInstructionTranslatorBase.exception_handler.<locals>.bubble_exception_to_interpreter¦
  s»   ø€ àÔ(×>Ò>Ñ@Ô@ˆHÝÔ:¸8×;OÒ;OÑ;QÔ;QÑRÔRˆJÝÐ.°
Ñ;Ô;ð Ý$ØRñô ð õ Ø,ØC¨H×,?Ò,?Ñ,AÔ,AÐCÐCØ7ðÝ&Ô1ðå&Ô2ðð *ð	ñ 	ô 	ð 	ð 	ð 	r­   rH  ÚEXCEPT_HANDLERrÝ  r   z#Observed exception (EXCEPT_HANDLER)z  This graph break is unexpected.r7  g    €„.Ar  r  rû   )(rd  rë  rï  rX  ró   r¤  Údepthrè  ÚlastirQ  rg   rˆ  rº  r«  r‚  rÿ  rí   r  r_  rO  r  rË   rõ   rR  r=   r¾   r   r  r€  r6  r.   rÈ   rô   r4  r   r‰   rk   r  rm   r‹  )
rÔ   r1  r7  rX  r  Úblock_stack_entryÚexception_varÚexcept_handler_instÚold_exceptionr6  s
   ``       @r«   r	  z+InstructionTranslatorBase.exception_handler 
  s½  øøø€ ðdð 	$ð
	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ& Ô˜wÒ&Ñ&Ø Ô4ÔBˆMØð 'õ
 ˜$œ*‘o”o¨Ô(;Ò;Ð;Ø—H’H‘J”J�Jõ ˜$œ*‘o”o¨Ô(;Ò;Ð;ð !Ô&ð Ø—I’IÝ'Ô-¨d°DÔ4LÔ4SÑTÔTñô ð ð
 —	’	˜$Ô+×AÒAÑCÔCÑDÔDÐDð —	’	˜-Ñ(Ô(Ð(Ð(Ð(ð ”
× Ò Ñ"Ô"Ð"ð  Ô,×BÒBÑDÔD�Ø×3Ò3°HÑ=Ô=Ð=å˜‘:”:Õ!6Ð6Ð6Ø3Ð3Ñ5Ô5Ð5Ø&Ð&å�4Ô#Ñ$Ô$ñ I'ð %)Ô$4×$8Ò$8Ñ$:Ô$:Ð!à'Ô,Ô3Ð7GÒGÐGð —I’I˜a‘L”L�LØÔ%×)Ò)Ñ+Ô+Ð+Ý˜4Ô+Ñ,Ô,°Ò1Ð1ð œ
×(Ò(Ñ*Ô*Ð*Ý ™:œ:Õ)>Ð>Ð>Ý)Ø(MÝ(+Ð,<Ñ(=Ô(=Ø,GØ"Dñ-Eà&EÕ(9Ô(DÐ&EØ)9ðñ ô ð ð /Ð.Ø(,Ô(8×(<Ò(<Ñ(>Ô(>Ð%ð) (Ô,Ô3Ð7GÒGÐGð, !%Ô 1× GÒ GÑ IÔ I�ØÔ!×AÒAÑCÔCÐCõ ˜$œ*‘o”oÐ(9Ô(EÒEÐEØ—H’H‘J”J�Jõ ˜$œ*‘o”oÐ(9Ô(EÒEÐEõ
 '2µ#°c±(´(Ð<LÈdÐTUÑ&VÔ&VÐ#ØÔ ×'Ò'Ý#Ð$7¸½sÀ4Ä:¹¼ÑOÔOñô ð õ
 �tÔ(Ñ)Ô)¨QÒ.Ð.Ø$(Ô$5°bÔ$9�Mð —I’I�iÔ7Ñ9Ô9Ñ:Ô:Ð:Ø—I’I˜mÑ,Ô,Ð,à—I’I�iÔ7¸Ô8NÑOÔOÑPÔPÐPÐPð —I’IÕ.Ô5°dÑ;Ô;Ñ<Ô<Ð<Ø—I’IÕ.Ô5°dÑ;Ô;Ñ<Ô<Ð<Ø—I’IÕ.Ô5°dÑ;Ô;Ñ<Ô<Ð<ð —	’	�)Ô3Ñ5Ô5Ñ6Ô6Ð6Ø—	’	˜-Ñ(Ô(Ð(à—	’	�)Ô3°MÔ4JÑKÔKÑLÔLÐLð —	’	Ð+Ñ,Ô,Ð,Ð,Ð,ð ”
× Ò Ñ"Ô"Ð"Ý˜‘:”:Õ!6Ð6Ð6Ø3Ð3Ñ5Ô5Ð5Ø&Ð&r­   c                ó(  — |                       ¦   «         }t          | j        ¦  «        dk    rt          j        d ¦  «        }n| j        d         }|                      |¦  «         |                      |¦  «         | j                             ¦   «          d S )Nr   r“  )rè  ró   r«  rm   r‹  rQ  r€  )rÔ   rË   ry  Úprev_excs       r«   ÚPUSH_EXC_INFOz'InstructionTranslatorBase.PUSH_EXC_INFO&  s‚   € ð( �hŠh‰jŒjˆÝˆtÔ Ñ!Ô! QÒ&Ð&Ý(8Ô(?ÀÑ(EÔ(EˆHˆHàÔ(¨Ô,ˆHØ�	Š	�(ÑÔÐØ�	Š	�#‰ŒˆØÔ×9Ò9Ñ;Ô;Ð;Ð;Ð;r­   c                ó@  — t           j        dk    rR|                      ¦   «         }t          | j        ¦  «        st          d¦  «        ‚| j                             ¦   «          d S t          | j        ¦  «        dk    st          d¦  «        ‚| j        d         j        j        dk    rt          d¦  «        ‚| j                             ¦   «          |  	                    d¦  «         t          | j        ¦  «        st          d¦  «        ‚| j                             ¦   «          d S )	NrH  r  r   z-expected len(self.block_stack) > 0 to be truer“  r8  zYBug in Dynamo tracing of exception handling.Top of the block stack is not EXCEPT_HANDLER.rÝ  )
rd  rë  rè  ró   r«  rØ   r  rË   rõ   rR  )rÔ   rË   r·   s      r«   Ú
POP_EXCEPTz$InstructionTranslatorBase.POP_EXCEPTC  s  € ÝÔ˜wÒ&Ð&Ø—’‘
”
ˆAå�tÔ(Ñ)Ô)ð SÝ$Ð%QÑRÔRÐRØÔ×!Ò!Ñ#Ô#Ð#Ð#Ð#å˜Ô(Ñ)Ô)¨AÒ-Ð-Ý$Ð%TÑUÔUÐUØÔ Ô#Ô(Ô/Ð3CÒCÐCÝ$ðDñô ð ð Ô× Ò Ñ"Ô"Ð"à�IŠI�a‰LŒLˆLõ �tÔ(Ñ)Ô)ð SÝ$Ð%QÑRÔRÐRØÔ×!Ò!Ñ#Ô#Ð#Ð#Ð#r­   c                ó  — t          | j        ¦  «        dk    st          d¦  «        ‚|                      ¦   «         }t          j        dk    r| j        d         }n| j                             ¦   «         }t          |t          t          t          t          f¦  «        s0t          dt          |¦  «        d|› d�g t          j        ¢¬¦  «         t          j        dk    rE|                      |¦  «        s0t          d	t          |¦  «        d
|› d�g t          j        ¢¬¦  «         t          |t          ¦  «        r|j        }n|g}|D ]½}t          |t          t          t          f¦  «        s0t          dt          |¦  «        d|› d�g t          j        ¢¬¦  «         |                      |¦  «        rt#          |j        |j        ¦  «        r dS t          |t(          j        ¦  «        rt#          |j        |j        ¦  «        r dS Œ¾dS )Nr  ú(expected len(self.stack) >= 2 to be truerH  r“  z Exception with bad expected typez"`except ...` has unsupported type r_  rÉ  zCaught non-Exception valuezCExcept expects to receive an object of Exception type but received z#Exception with non-type expectationz!`except ...` expects a non-type: TF)ró   r¤  rØ   rè  rd  rë  r`  rk   rƒ   r™   rš   r=   r¾   r   r  r  r
  Ú
issubclassr  rK  r   )rÔ   Úexpected_exc_typesÚexc_instanceÚexpected_typesÚexpected_types        r«   Úcheck_if_exc_matchesz.InstructionTranslatorBase.check_if_exc_matches[  sS  € Ý�D”J‘” 1Ò$Ð$Ý Ð!KÑLÔLÐLØ!ŸXšX™ZœZÐÝÔ˜wÒ&Ð&ð  œ: bœ>ˆLˆLð
  œ:Ÿ>š>Ñ+Ô+ˆLõ ØåÝÝ1Ý2ð	ñ
ô 
ð 	õ Ø:ÝÐ.Ñ/Ô/ØVÐASÐVÐVÐVØ5Õ)Ô4Ð5ð	ñ ô ð õ Ô˜wÒ&Ð&Ø×-Ò-¨lÑ;Ô;ð ÝØ8Ý Ñ-Ô-Ø uÐfrÐ uÐ uÐ uØ9Õ-Ô8Ð9ð	ñ ô ð õ Ð(­-Ñ8Ô8ð 	Ø/Ô5ˆNˆNð #ðˆNð ,ð 	ð 	ˆMÝØå#Ý6Ý5ðñô ð õ ØAÝ Ñ.Ô.Ø TÀMÐ TÐ TÐ TØ9Õ-Ô8Ð9ð	ñ ô ð ð ×)Ò)¨,Ñ7Ô7ð 
½JØÔ%ØÔ ñ=ô =ð 
ð �t�tÝ˜L­)Ô*CÑDÔDð ÍØ”àÔ ñJô Jð ð
 �t�tøàˆur­   c                óz   — |                       t          j        | |                      ¦   «         ¦  «        ¦  «         d S r±   )rQ  rg   rˆ  rK  r  s     r«   ÚCHECK_EXC_MATCHz)InstructionTranslatorBase.CHECK_EXC_MATCH¯  s3   € Ø�	Š	•/Ô'¨¨d×.GÒ.GÑ.IÔ.IÑJÔJÑKÔKÐKÐKÐKr­   c                ó\   — |                       ¦   «         s|                      |¦  «         d S d S r±   )rK  rÿ  r  s     r«   ÚJUMP_IF_NOT_EXC_MATCHz/InstructionTranslatorBase.JUMP_IF_NOT_EXC_MATCH²  s3   € Ø×(Ò(Ñ*Ô*ð 	Ø�IŠI�d‰OŒOˆOˆOˆOð	ð 	r­   z`Encountered graph break when attempting to trace COMPARE_OP: a comparison operation, e.g. a == b)rQ  r1  c                óÎ   — |j         dk    r|                      |¦  «         d S |                      t          |j                  | |                      d¦  «        i ¦  «        ¦  «         d S )Nzexception matchr  )r‡  rM  rQ  r¯   rR  r  s     r«   Ú
COMPARE_OPz$InstructionTranslatorBase.COMPARE_OP¶  sb   € ð
 Œ;Ð+Ò+Ð+Ø× Ò  Ñ&Ô&Ð&Ð&Ð&à�IŠIÕ)¨$¬+Ô6°t¸T¿YºYÀq¹\¼\È2ÑNÔNÑOÔOÐOÐOÐOr­   c                ó.  — t           j        dk    rÂ|                      ¦   «         }t          |t          t
          f¦  «        r?|                      |¦  «         |                      t          j        | d¦  «        ¦  «         d S |  	                    t          j        | t          ¦  «        |gi ¦  «         |                      t          ¦   «         ¦  «         d S |  	                    t          j        | t          ¦  «        |                      ¦   «         gi ¦  «         d S )Nrð  r   )rd  rë  rè  r`  r�   rƒ   rQ  rg   rˆ  r¦   Úiterr†   ©rÔ   rË   Úobjs      r«   ÚGET_ITERz"InstructionTranslatorBase.GET_ITERÀ  sá   € ÝÔ˜wÒ&Ð&Ø—(’(‘*”*ˆCÝ˜#¥­mÐ<Ñ=Ô=ð *Ø—	’	˜#‘”�Ø—	’	�/Ô/°°aÑ8Ô8Ñ9Ô9Ð9Ð9Ð9à×"Ò"¥?Ô#8¸½tÑ#DÔ#DÀsÀeÈRÑPÔPÐPØ—	’	�,™.œ.Ñ)Ô)Ð)Ð)Ð)à×Ò�Ô4°T½4Ñ@Ô@À4Ç8Â8Á:Ä:À,ÐPRÑSÔSÐSÐSÐSr­   zjEncountered graph break when attempting to trace CALL_FUNCTION: a call to a regular function, e.g. f(x, y)c                ó�   — |                       |j        ¦  «        }|                      ¦   «         }|                      ||i ¦  «         d S r±   )rR  r‡  rè  r¦   )rÔ   rË   r¶   rK  s       r«   ÚCALL_FUNCTIONz'InstructionTranslatorBase.CALL_FUNCTIONÌ  sB   € ð
 �yŠy˜œÑ%Ô%ˆØ�XŠX‰ZŒZˆØ×Ò˜2˜t RÑ(Ô(Ð(Ð(Ð(r­   zjEncountered graph break when attempting to trace CALL_FUNCTION_EX: a variadic function call, e.g. f(*args)c           	     óð  — |j         dk    r$t          i ¦  «        }|                      ¦   «         }n—|j         dk    st          j        dk    rM|                      ¦   «         }t          |t          ¦  «        rt          i ¦  «        }|                      ¦   «         }n/t          dd|j         › �d|j         › �g t          j	        ¢¬¦  «         t          j        dk    r8|                      ¦   «         }t          |t          ¦  «        st          d	¦  «        ‚|                      ¦   «         }t          j        d
k    rHt          j        dk     r8|                      ¦   «         }t          |t          ¦  «        st          d	¦  «        ‚t          |t          ¦  «        st          t          | |¦  «        ¦  «        }t          |t          ¦  «        rt          j        | t"          |¦  «        }t          |t          ¦  «        rt          |t          ¦  «        s?t          ddt%          |¦  «        › dt%          |¦  «        › �dg t          j        ¢¬¦  «         |                     ¦   «         }|                      ||j        |¦  «         d S )Nr   r   r'  z%Variadic function call with bad flagszflags: zHAttempted to call a variadic function (CALL_FUNCTION_EX) with bad flags rÉ  rÜ  z2expected isinstance(null, NullVariable) to be truerH  z0Variadic function call with bad args/kwargs typezargs type: z, kwargs type: z2Expected args to be a list and kwargs to be a dict)r‡  rs   rè  rd  rë  r`  r†   r=   r   r  rØ   r   rƒ   rc   r›   rl   Úcall_custom_dictr  re   r  Úkeys_as_python_constantr¦   r
  )rÔ   rË   Ú
kwargsvarsÚargsvarsÚnullrK  s         r«   ÚCALL_FUNCTION_EXz*InstructionTranslatorBase.CALL_FUNCTION_EXÕ  sr  € ð Œ;˜!ÒÐÝ*¨2Ñ.Ô.ˆJØ—x’x‘z”zˆHˆHØŒ[˜AÒÐ¥Ô!1°WÒ!<Ð!<àŸš™œˆJÝ˜*¥lÑ3Ô3ð 3Ý.¨rÑ2Ô2�
Ø—x’x‘z”zˆHˆHåØ?Ø/ $¤+Ð/Ð/ØtÐgkÔgrÐtÐtØ5Õ)Ô4Ð5ð	ñ ô ð õ Ô˜wÒ&Ð&à—8’8‘:”:ˆDÝ˜d¥LÑ1Ô1ð Ý$ØHñô ð ð �XŠX‰ZŒZˆåÔ˜wÒ&Ð&­3Ô+;¸gÒ+EÐ+EØ—8’8‘:”:ˆDÝ˜d¥LÑ1Ô1ð Ý$ØHñô ð õ ØÝñ
ô 
ð 	Fõ %¥_°T¸8Ñ%DÔ%DÑEÔEˆHõ �jÕ";Ñ<Ô<ð 	VÝ,Ô=¸dÅDÈ*ÑUÔUˆJõ ˜(Õ$4Ñ5Ô5ð 	½ZàÝñ>
ô >
ð 	õ
 ØJà]¥g¨hÑ&7Ô&7Ð]Ð]ÍÐPZÑH[ÔH[Ð]Ð]ØPØ5Õ)Ô4Ð5ðñ ô ð ð  ×7Ò7Ñ9Ô9ˆ
à×Ò˜2˜xœ~¨zÑ:Ô:Ð:Ð:Ð:r­   zyEncountered graph break when attempting to trace CALL_FUNCTION_KW: a function call with keyword arguments, e.g. f(x=True)c                óf  — |                       ¦   «         }|                      |j        ¦  «        }|                       ¦   «         }t          |t          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚|                     ¦   «         }|d t          |¦  «         …         |t          |¦  «         d …         }}t          t          ||¦  «        ¦  «        }t          |¦  «        t          |¦  «        k    rt          d¦  «        ‚|                      |||¦  «         d S )Nz7expected isinstance(argnames, TupleVariable) to be truez1expected argnames.is_python_constant() to be truez0expected len(kwargs) == len(argnames) to be true)rè  rR  r‡  r`  rƒ   rØ   rý  rþ  ró   r  Úzipr¦   )rÔ   rË   Úargnamesr¶   rK  Úkwargs_listr)  s          r«   ÚCALL_FUNCTION_KWz*InstructionTranslatorBase.CALL_FUNCTION_KW  s  € ð —8’8‘:”:ˆØ�yŠy˜œÑ%Ô%ˆØ�XŠX‰ZŒZˆÝ˜(¥MÑ2Ô2ð 	Ý ØIñô ð ð ×*Ò*Ñ,Ô,ð 	VÝ Ð!TÑUÔUÐUØ×.Ò.Ñ0Ô0ˆØ Ð!1¥C¨¡M¤M >Ð!1Ô2°D½#¸h¹-¼-¸Ð9IÐ9IÔ4JˆkˆÝ•c˜( KÑ0Ô0Ñ1Ô1ˆÝˆv‰;Œ;�#˜h™-œ-Ò'Ð'Ý Ð!SÑTÔTÐTØ×Ò˜2˜t VÑ,Ô,Ð,Ð,Ð,r­   c                ó8  — |                       t          j        |d¬¦  «        ¦  «         |j        d         }| j        d         |         }t
          j        dk     r|                      |¦  «         d S |                      t          j        ||¬¦  «        ¦  «         d S )Nr  rO  r   Úco_namesrH  )	rX  rý   r.  r‡  rå  rd  rë  rÑ  ÚLOAD_METHOD©rÔ   rË   rS  r‡  s       r«   ÚLOAD_METHOD_SUPERz+InstructionTranslatorBase.LOAD_METHOD_SUPER1  s“   € Ø×Ò�;Ô.¨t¸AÐ>Ñ>Ô>Ñ?Ô?Ð?ØŒk˜!ŒnˆØÔ" :Ô.¨sÔ3ˆÝÔ˜gÒ%Ð%Ø�OŠO˜FÑ#Ô#Ð#Ð#Ð#à×Ò�[Ô0°¸fÐEÑEÔEÑFÔFÐFÐFÐFr­   c                óÂ   — |                       t          j        |d¬¦  «        ¦  «         |j        d         }| j        d         |         }|                      |¦  «         d S )Nr  rO  r   rf  )rX  rý   r.  r‡  rå  rÑ  rh  s       r«   ÚLOAD_ATTR_SUPERz)InstructionTranslatorBase.LOAD_ATTR_SUPER:  s[   € Ø×Ò�;Ô.¨t¸AÐ>Ñ>Ô>Ñ?Ô?Ð?ØŒk˜!ŒnˆØÔ" :Ô.¨sÔ3ˆØ�Š˜ÑÔÐÐÐr­   c                ól  — |                       |j        ¦  «         |                      ¦   «         }t          j        dk    r,|                      |¦  «         |                      |¦  «         d S t          j        dk    r,|                      |¦  «         |                      |¦  «         d S t          d¦  «        ‚)NrÜ  rH  zPLOAD_METHOD should have been rewritten to LOAD_ATTR. We should never reach here.)rÑ  r‡  rè  rd  rë  rQ  rŸ  rØ   rT  s      r«   rg  z%InstructionTranslatorBase.LOAD_METHOD@  s¢   € Ø�Š˜œÑ$Ô$Ð$Ø�hŠh‰jŒjˆÝÔ˜wÒ&Ð&Ø�IŠI�c‰NŒNˆNØ�NŠN˜4Ñ Ô Ð Ð Ð ÝÔ Ò(Ð(ð �NŠN˜4Ñ Ô Ð Ø�IŠI�c‰NŒNˆNˆNˆNå Øbñô ð r­   c                ó    — t          d¦  «        ‚)Nz^CALL_METHOD should have been rewritten to CALL_FUNCTION. This function should never be called.)rØ   r  s     r«   ÚCALL_METHODz%InstructionTranslatorBase.CALL_METHODQ  s   € ÝØlñ
ô 
ð 	
r­   Úattrc                óà   — |                       ¦   «         }t          j        | t          ¦  «                             | |t          j        | |¦  «        gi ¦  «        }|                      |¦  «         d S r±   )rè  rg   rˆ  r–  r¦   rQ  )rÔ   ro  rU  r  s       r«   rÑ  z$InstructionTranslatorBase._load_attrV  sf   € Ø�hŠh‰jŒjˆÝ Ô& t­WÑ5Ô5×CÒCØØ•/Ô'¨¨dÑ3Ô3Ð4Øñ
ô 
ˆð
 	�	Š	�&ÑÔÐÐÐr­   c                óœ   — t           j        dk    r!|j        dz  r|                      |¦  «         d S |                      |j        ¦  «         d S )NrJ  r  )rd  rë  rS  rg  rÑ  r‡  r  s     r«   Ú	LOAD_ATTRz#InstructionTranslatorBase.LOAD_ATTR_  sQ   € ÝÔ˜wÒ&Ð&àŒx˜!‰|ð Ø× Ò  Ñ&Ô&Ð&Ø�Ø�Š˜œÑ$Ô$Ð$Ð$Ð$r­   zkEncountered graph break when attempting to trace STORE_ATTR: storing an object's attribute, e.g. x.attr = yc                óÊ   — |                       d¦  «        \  }}t          j        | t          ¦  «                             | |t          j        | |j        ¦  «        |gi ¦  «         d S )Nr  )rR  rg   rˆ  Úsetattrr¦   r‡  )rÔ   rË   ry  rU  s       r«   Ú
STORE_ATTRz$InstructionTranslatorBase.STORE_ATTRg  se   € ð
 —9’9˜Q‘<”<‰ˆˆSÝÔ˜d¥GÑ,Ô,×:Ò:ØØ•/Ô'¨¨d¬kÑ:Ô:¸CÐ@Øñ	
ô 	
ð 	
ð 	
ð 	
r­   c                óö   — |                       ¦   «         }|                      ||j        ¦  «         t          j        | t
          ¦  «                             | |t          j        | |j        ¦  «        gi ¦  «         d S r±   )rè  Ú_maybe_sync_dealloc_attrr‡  rg   rˆ  Údelattrr¦   rT  s      r«   ÚDELETE_ATTRz%InstructionTranslatorBase.DELETE_ATTRs  ss   € Ø�hŠh‰jŒjˆØ×%Ò% c¨4¬;Ñ7Ô7Ð7ÝÔ˜d¥GÑ,Ô,×:Ò:ØØ•/Ô'¨¨d¬kÑ:Ô:Ð;Øñ	
ô 	
ð 	
ð 	
ð 	
r­   rU  c                óâ   — | j         j                             ||¦  «        rL| j         j                             ||¦  «        }t	          |t
          ¦  «        r|                      |¦  «         d S d S d S r±   )r/  r?  Úhas_pending_mutation_of_attrÚ	load_attrr`  r”   rn  )rÔ   rU  r½   Úattr_vars       r«   rw  z2InstructionTranslatorBase._maybe_sync_dealloc_attr|  s{   € ð Œ;Ô#×@Ò@ÀÀdÑKÔKð 	8Ø”{Ô/×9Ò9¸#¸tÑDÔDˆHÝ˜(¥NÑ3Ô3ð 8Ø×-Ò-¨hÑ7Ô7Ð7Ð7Ð7ð	8ð 	8ð8ð 8r­   r,  c                óH  — g }|dk    st          d¦  «        ‚|dk    r"|                     t          d¦  «        ¦  «         | j        dk    rt	          d¦  «        nt	          d| j        ¬¦  «        }|                     t	          d¦  «        t	          d¦  «        |g¦  «         |S )aÐ  
        Debug CPython expects the stack to be empty after the return.
        Calling compile_subgraph will push cells and frame values to TOS.
        This function will pop those 2 values from the stack before actually returning.

        Expects the stack to be:
            cells, frame values, current frame stack (0 or 1 values)

        Pops cells and frame values, leaving the current frame stack as TOS.
        A return instruction is included.
        r   z"expected num_stack <= 1 to be truerÝ  r¸  r¹  rO  r$  )rØ   r¼  r+   rõ   r(   r‡  )rË   r,  rz  Úreturn_insts       r«   Úcodegen_return_with_popsz2InstructionTranslatorBase.codegen_return_with_pops…  s´   € ð ˆð ˜Q’�Ý Ð!EÑFÔFÐFØ˜Š>ˆ>Ø�LŠL� Q™œÑ(Ô(Ð(ð Œ{˜nÒ,Ð,õ ˜~Ñ.Ô.Ð.å# N¸4¼;ÐGÑGÔGð 	ð
 	�ŠÝ 	Ñ*Ô*Õ,>¸yÑ,IÔ,IÈ;ÐWñ	
ô 	
ð 	
ð ˆr­   r2  Úresume_instr”  rF   Úresume_codesúlist[types.CodeType]r  r3   Úis_leafÚhandle_inactive_ctxútuple[types.CodeType, str]c                ó  ‡ ‡‡— |�rÑt          |j        |j        ¦  «        D ]Ï\  \  }}	}
t          t          ‰ j        |
         ¦  «        }|                     t          ¦   «         ¦  «         |                     |¦  «         | 	                    g t          d¦  «        ¢|                     |¦  «        ‘|                     ¦   «         ‘|                     |¦  «        ‘t          d¦  «        ‘¦  «         ŒÐ|j        D ]ß\  }}	t          t          ‰ j        |         ¦  «        }|                     t          ¦   «         ¦  «         |                     |¦  «         | 	                    g t          d¦  «        ¢|                     |¦  «        ‘|                     ¦   «         ‘|                     |j        |j        |         z   ¦  «        ‘t          d¦  «        ‘¦  «         Œàt%          |¦  «        r|j        st)          d¦  «        ‚|j        }t+          d|j        › �¦  «        }|�r¬t/          ‰ j        |¦  «        Št3          ˆˆ fd„‰ j        D ¦   «         ¦  «        }t5          |j        ¦  «        Št3          ˆfd„|D ¦   «         ¦  «        }t3          ˆfd„|D ¦   «         ¦  «        }| 	                    t          ¦   «         |                     |¦  «        |                     ¦   «         t          ¦   «         g¦  «         |D ]m}| 	                    t          ¦   «         |                     |j        |j        |         z   ¦  «        |                     ¦   «         gt          d¦  «        ¢¦  «         Œn| 	                    t          d¦  «        t          d	t9          |¦  «        ¬
¦  «        gt          d¦  «        ¢t;          |j        dd¦  «        ¢¦  «         n:t3          |j                             ¦   «         ¦  «        }t3          |j        ¦  «        }t>          j         dk     r"t9          |¦  «        dk    rt)          d¦  «        ‚t9          ‰ j        ¦  «        t9          |j!        ¦  «        z
  }‰ j"        j        €t)          d¦  «        ‚tG          j$        ‰ j%        ‰ j&        ‰ j"        j        |j        t3          d„ ‰ j'        D ¦   «         ¦  «        |||t3          d„ ‰ j'        D ¦   «         ¦  «        |t3          |j        ¦  «        t3          |j        ¦  «        t3          |j!        ¦  «        t3          |¦  «        ‰ j(         ¦  «        } tS          j*        ‰ j%        ¦  «         +                    dd„ ¦  «        ¦   «         }|�)tY          j-        |¦  «        tS          j*        |¦  «        d<   ‰ j.         /                    ||‰ j0        ¦  «         ‰ j1        �'‰ j1         2                    |‰ j0        d         |¦  «         tf          d         |j4        xx         dz  cc<   ||fS )a.  
        Creates the resume function for the frame corresponding to `self`.

        Expects the TOS to be:
            [frame N cells, ..., frame 1 cells],
            [
                frame N stack + locals,
                ...,
                frame 1 stack + locals
            ]

        Some additional codegen may happen to prepare the frame stack + locals values for the generated resume function:
        - inactive context variables in the stack and locals will be replaced by their types
        - if the frame is a leaf frame, prune dead locals

        Regardless of codegen, the stack will be left in the same state as before.

        Args:
            - idx: depth of this frame: 0 corresponds to the leaf frame (frame N), N-1 to the root frame (frame 1).
            - resume_inst: the instruction that this frame should resume at
            - meta: metadata for this frame returned from OutputGraph.compile_subgraph
            - resume_codes: nested resume code objects generated from previous create_resume calls.
            - cg: codegen object to output to
            - is_leaf: True if `self` corresponds to the leaf frame.
            - handle_inactive_ctx: If True, handles inactive context variables as described above. This is necessary
                iff the resume function is traced
        r  r"  z&expected resume_inst.target to be trueÚ__resume_at_c              3  óP   •K  — | ] }|‰v ¯|‰                      ¦   «         v¯|V — Œ!d S r±   rØ  )r¨   r©   rÚ  rÔ   s     €€r«   r  z:InstructionTranslatorBase.create_resume.<locals>.<genexpr>  sN   øè è € ð !ð !àØ˜�:�: !¨4×+AÒ+AÑ+CÔ+CÐ"CÐ"Cð à"CÐ"CÐ"CÐ"Cð!ð !r­   c              3  ó$   •K  — | ]
}|‰v¯|V — Œd S r±   r¥   ©r¨   r©   Úargnames_null_sets     €r«   r  z:InstructionTranslatorBase.create_resume.<locals>.<genexpr>  s.   øè è € ÐSÐS 1¸ÐARÐ8RÐ8R˜QÐ8RÐ8RÐ8RÐ8RÐSÐSr­   c              3  ó$   •K  — | ]
}|‰v ¯|V — Œd S r±   r¥   r‹  s     €r«   r  z:InstructionTranslatorBase.create_resume.<locals>.<genexpr>	  s.   øè è € Ð!TÐ!T¨¸QÐBSÐ=SÐ=S !Ð=SÐ=SÐ=SÐ=SÐ!TÐ!Tr­   r$  r  r  NTrJ  r   z&variables should not be NULL in < 3.12z?expected self.current_instruction.offset is not None to be truec              3  ó.   K  — | ]}|j         j        V — Œd S r±   )r5  rº  ©r¨   r$  s     r«   r  z:InstructionTranslatorBase.create_resume.<locals>.<genexpr>A  s&   è è € Ð<Ð< a�!”(”/Ð<Ð<Ð<Ð<Ð<Ð<r­   c              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r±   )r>  r�  s     r«   r  z:InstructionTranslatorBase.create_resume.<locals>.<genexpr>E  s*   è è € Ð:Ð: A�!—+’+‘-”-Ð:Ð:Ð:Ð:Ð:Ð:r­   Úorig_graphmodulec                 ó   — d S r±   r¥   r¥   r­   r«   r¸   z9InstructionTranslatorBase.create_resume.<locals>.<lambda>Q  s   € ¨€ r­   rÚ   Úresumesr   )5ra  Ústack_ctx_argsÚstack_ctx_idxes_origr   rn   r¤  Úappend_outputr'   r   r  r+   r(  r)  r(   Úlocals_ctx_argsrž  r,  r-  r0   r5  rØ   r1   rº  r    r†  r=  r!  Úlocals_null_keysró   r#   r{  rd  rë  Ústack_null_idxesrï  rM   Úlookuprã  rÉ   r  r<  r2   Úget_contextr•  ÚweakrefÚrefr/  Úinstall_resume_function_globalr�  r³  Úadd_resume_functionr[   rì  )rÔ   r2  r�  r”  r‚  r  r„  r…  Újr·   Új_origrˆ  r½   Úresume_nameÚall_argnamesrb  Úargnames_nullrS  Ú	stack_lenÚnew_codeÚorig_graphmodule_mayberŒ  rÚ  s   `                    @@r«   r*  z'InstructionTranslatorBase.create_resume¦  sl  øøø€ ðT ñ 	Ý"% dÔ&9¸4Ô;TÑ"UÔ"Uð ð ‘‘��A˜åÕ2°D´J¸vÔ4FÑGÔG�à× Ò ¥Ñ!1Ô!1Ñ2Ô2Ð2Ø×$Ò$ RÑ(Ô(Ð(Ø× Ò ðÝ$ Q™œðà×,Ò,¨SÑ1Ô1ðð ×/Ò/Ñ1Ô1ðð ×,Ò,¨QÑ/Ô/ð	õ
 +¨>Ñ:Ô:ðñô ð ð ð  Ô/ð ð ‘��aåÕ2°DÔ4HÈÔ4NÑOÔO�à× Ò ¥Ñ!1Ô!1Ñ2Ô2Ð2Ø×$Ò$ RÑ(Ô(Ð(Ø× Ò ðÝ$ Q™œðà×,Ò,¨SÑ1Ô1ðð ×/Ò/Ñ1Ô1ðð ×,Ò,¨T¬^¸dÔ>OÐPTÔ>UÑ-UÑVÔVð	õ
 +¨>Ñ:Ô:ðñô ð ð õ ˜KÑ(Ô(ð 	-ØÔ%ð OÝ$Ð%MÑNÔNÐNØ%Ô,ˆKåÐ C¨{Ô/AÐ CÐ CÑDÔDˆð ñ -	9Ý% dÔ&7¸ÑEÔEˆEÝ ð !ð !ð !ð !ð !àÔ-ð!ñ !ô !ñ ô ˆLõ
 !$ DÔ$9Ñ :Ô :ÐÝÐSÐSÐSÐS¨ÐSÑSÔSÑSÔSˆHÝ!Ð!TÐ!TÐ!TÐ!T¨\Ð!TÑ!TÔ!TÑTÔTˆMð ×Òå"Ñ$Ô$Ø×(Ò(¨Ñ-Ô-Ø×+Ò+Ñ-Ô-Ý"Ñ$Ô$ð	ñô ð ð  ð 	ð 	�à× Ò å&Ñ(Ô(Ø×,Ò,¨T¬^¸dÔ>OÐPSÔ>TÑ-TÑUÔUØ×/Ò/Ñ1Ô1ðõ % Q™œð	ñô ð ð ð ×Òå& yÑ1Ô1Ý& |½¸X¹¼ÐGÑGÔGðõ ! ‘^”^ðõ
 )¨¬¸¸tÑDÔDðñ	ô 	ð 	ð 	õ ˜TÔ.×3Ò3Ñ5Ô5Ñ6Ô6ˆHÝ! $Ô"7Ñ8Ô8ˆMåÔ˜gÒ%Ð%Ý�=Ñ!Ô! QÒ&Ð&Ý$Ð%MÑNÔNÐNõ ˜œ
‘O”O¥c¨$Ô*?Ñ&@Ô&@Ñ@ˆ	àÔ#Ô*Ð2Ý ØQñô ð õ $:Ô#@ØŒKØŒKØÔ$Ô+ØÔåÐ<Ð<¨4Ô+;Ð<Ñ<Ô<Ñ<Ô<ØØØÝÐ:Ð:¨Ô)9Ð:Ñ:Ô:Ñ:Ô:ØÝ�$Ô%Ñ&Ô&Ý�$Ô&Ñ'Ô'Ý�$Ô'Ñ(Ô(Ý�,ÑÔØÔ-Ð-ñ!$
ô $
ˆð*"
¥Ô!9¸$¼+Ñ!FÔ!F×!JÒ!JØ  ñ"
ô "
ñ "ô "Ðð "Ð-ÝELÄ[Ø&ñFô F�LÔ$ XÑ.Ô.Ð/AÑBð
 	Œ×2Ò2Ø˜ 4¤>ñ	
ô 	
ð 	
ð Œ<Ð#ØŒL×,Ò,Ø˜$œ.¨Ô4°kñô ð õ 	�Ô˜HÔ,Ð-Ð-Ô-°Ñ2Ð-Ð-Ñ-à˜Ð$Ð$r­   c                ó  — |j         €dS 	 t          |j        |j         ¦  «        }n# t          $ r Y dS w xY wt	          | j        ¦  «        |z
  }| j        |         }t          |t          ¦  «        r|j        t          j
        u sdS | j        j        }|j        r|j        j        n|j        }|€dS t!          ||¦  «        }| j                             d|¦  «        }t          |t'          |¦  «        ¬¦  «        | j        |<   dS )a  Replace warnings.warn on the symbolic stack with a wrapper that
        preserves the leaf frame's source location for warning dedup.

        When nested graph breaks inline a warnings.warn call into the root
        frame's bytecode, the root frame's line numbers defeat Python's
        per-location warning dedup.  This replaces the SkipFunctionVariable
        for warnings.warn on the symbolic stack before compile_subgraph, so
        the codegen naturally reconstructs the wrapper via LOAD_GLOBAL.
        NÚ__warnings_warn_wrapperrÆ  )rS  r,   rõ   r  ró   r¤  r`  rz   r   Ú	_warningsr(  rã  r+  r   rÉ   rü  r0  r/  Úinstall_globalrR   )	rÔ   rË   r9  Úcallable_idxÚcallable_varÚleaf_filenameÚleaf_linenor/  Úwrapper_names	            r«   rU  z?InstructionTranslatorBase._maybe_replace_warnings_warn_on_stacke  s  € ð Œ8ÐØˆFð	Ý+¨D¬K¸¼ÑBÔBˆEˆEøÝð 	ð 	ð 	ØˆFˆFð	øøøõ ˜4œ:‘”¨Ñ.ˆØ”z ,Ô/ˆå�|Õ%9Ñ:Ô:ð	àÔ"¥i¤nÐ4Ð4àˆFàœÔ/ˆØ/3¬~ÐS�d”nÔ+Ð+À4ÔCSˆØÐØˆFå-¨m¸[ÑIÔIˆØ”{×1Ò1Ð2KÈWÑUÔUˆÝ#7Ø�L¨Ñ6Ô6ð$
ñ $
ô $
ˆŒ
�<Ñ Ð Ð s   ‹& ¦
4³4rò  úlist[StackLocalsMetadata]c           
     ó:	  — d| _         t          | j        j        ¦  «        }g }g }g }| }d}|�f|| u r|}	n|j        }	|	j        dk    r?|                     |¦  «         |                     |¦  «         |                     |	¦  «         |j        }|dz  }|­ft          | j	        ¦  «        t          |d         j
        ¦  «        z
  }
|s§|
dk    st          d¦  «        ‚|                     t          |
dz   ¦  «        ¦  «         t          |
dz   ¦  «        D ]$}|                     t!          d¦  «        ¦  «         Œ%|                     t!          d¦  «        ¦  «         |                     ¦   «         S |d         | u r4|                     t!          d|
¬	¦  «        ¦  «         d}|
|d         _        nÓ|                     t          |
¦  «        ¦  «         t          |
dz
  ¦  «        D ]$}|                     t!          d¦  «        ¦  «         Œ%|                     t!          dd¬	¦  «        ¦  «         ||d                  j        }||d                  xj        dz  c_        |d                              t)          ¦   «         ¦  «         |                     g t+          d¦  «        ¢|                     |d         ¦  «        ‘|                     ¦   «         ‘t1          ||d
¦  «        ¢¦  «         g }|D ]Z}|                     t5          ¦   «         |                     |¦  «        |                     ¦   «         gt          d¦  «        ¢¦  «         Œ[|                     t!          d¦  «        t!          dt          |¦  «        ¬	¦  «        g¦  «         |                     |¦  «         |                     g t          d¦  «        ¢t7          j        |¦  «        ¢t          d¦  «        ¢¦  «         g }g }t;          |¦  «        D ]a\  }}|                     |||         |||                  |||| u d
¦  «        \  }}|                     |¦  «         |                     |¦  «         Œb|                      |||¦  «         |                     t!          d¦  «        ¦  «         |                     ¦   «         S )aP  
        Codegen all resume function(s) from the frame stack starting at `self`, call them,
        and return the result.
        Assumes that the unsupported instruction has already been run.

        Expects the TOS to be:
            [
                frame N locals,
                frame N-1 stack + locals,
                ...,
                frame 1 stack + locals
            ], *(frame N stack (post-unsupported instruction))

        Leaves the result of calling the resume functions on the stack and returns it
        (empty stack after return).

        Args:
            - inst: the instruction of the current (deepest) frame to resume at
            - all_stack_locals_metadata: metadata returned from OutputGraph.compile_subgraph - contains
                metadata such as local names, NULL positions, stack length, etc.
        Nr   r¸  r   z*expected current_num_stack >= 1 to be truer  r$  r  r  T) rÊ   r3   r/  rî  rê  rõ   rô   rí  ró   r¤  r™  rØ   r  r+   rn  r–  r(   rx  r,  rQ  r‰   r&   r(  r)  r#   r¼  r'   rW  Údeepcopyry  r*  r+  )rÔ   rË   rò  r  ÚtxesÚidxesÚresume_instsr#  r2  r�  Úcurrent_num_stackr·   Ústack_insert_idxÚfilter_instsr‚  Úresume_namesru  Úresume_coder¢  s                      r«   ré  z/InstructionTranslatorBase.create_call_resume_atŠ  s  € ð6 $(ˆÔ å�t”{Ô*Ñ+Ô+ˆð 13ˆØˆØ*,ˆØ37ˆØˆØÐ Ø˜ˆ~ˆ~Ø"��à$Ô5�ØÔ! ^Ò3Ð3Ø—’˜FÑ#Ô#Ð#Ø—’˜SÑ!Ô!Ð!Ø×#Ò# KÑ0Ô0Ð0à”]ˆFØ�1‰HˆCð Ð õ   ¤
™OœO­cØ% aÔ(Ô9ñ/
ô /
ñ 
Ðð
 ð 	)ð
 &¨Ò*Ð*Ý$Ð%QÑRÔRÐRØ×Ò�[Ð):¸QÑ)>Ñ?Ô?Ñ@Ô@Ð@ÝÐ,¨qÑ0Ñ1Ô1ð @ð @�Ø× Ò Õ!3°IÑ!>Ô!>Ñ?Ô?Ð?Ð?Ø×ÒÕ/°Ñ?Ô?Ñ@Ô@Ð@à×&Ò&Ñ(Ô(Ð(ð �Œ7�dˆ?ˆ?ð ×ÒÕ/°ÐBSÐTÑTÔTÑUÔUÐUà ÐØ5FÐ% aÔ(Ô2Ð2ð
 ×Ò�[Ð):Ñ;Ô;Ñ<Ô<Ð<ÝÐ,¨qÑ0Ñ1Ô1ð @ð @�Ø× Ò Õ!3°IÑ!>Ô!>Ñ?Ô?Ð?Ð?Ø×ÒÕ/°À!ÐDÑDÔDÑEÔEÐEà8¸¸q¼ÔBÔLÐØ% e¨A¤hÔ/Ð9Ô9¸QÑ>Ð9Ô9Ø�ŒG�LŠL�Ñ*Ô*Ñ+Ô+Ð+ð 	×ÒðÝ˜Q‘”ðð ×$Ò$ U¨1¤XÑ.Ô.ðð ×'Ò'Ñ)Ô)ð	õ
 %Ð%5Ð7GÈÑNÔNðñ
	
ô 
	
ð 
	
ð ˆØð 	ð 	ˆCØ×Òå"Ñ$Ô$Ø×(Ò(¨Ñ-Ô-Ø×+Ò+Ñ-Ô-ðõ ! ‘^”^ð	ñô ð ð ð 	×Òå" 9Ñ-Ô-Ý" <µS¸±Z´ZÐ@Ñ@Ô@ðñ	
ô 	
ð 	
ð 	×Ò˜Ñ&Ô&Ð&ð 	×ÒðÝ˜Q‘”ðå”˜|Ñ,Ô,ðõ ˜Q‘”ðñ	
ô 	
ð 	
ð .0ˆØˆÝ" 4™œð 	-ð 	-‰IˆAˆvØ'-×';Ò';ØØ˜Q”Ø)¨%°¬(Ô3ØØØ˜$�Øñ(ô (Ñ$ˆK˜ð ×Ò Ñ,Ô,Ð,Ø×Ò Ñ,Ô,Ð,Ð,à× Ò  ¨|¸RÑ@Ô@Ð@Ø
×ÒÕ+¨NÑ;Ô;Ñ<Ô<Ð<à×"Ò"Ñ$Ô$Ð$r­   rº  rå   c           	     ó   — |                      t          d¦  «        ¦  «         t          t          || ¦  «        ¦  «        D �]	\  }\  }}|t	          |¦  «        dz
  k    r nê|j        r•|                      t          ¦   «         |                     |¦  «        |                     ¦   «         g¦  «         |                      | 	                    |d¬¦  «        gt          d¦  «        ¢t          dd¬¦  «        ¢¦  «         n*|                      |                     |dd¦  «        ¦  «         |                      t          d¦  «        ¦  «         �Œ|                      t          d¦  «        t          d	t	          | ¦  «        dz
  ¬
¦  «        g¦  «         |                      t          d¦  «        ¦  «         | d         j        r²|                      |                     d¦  «        |                     ¦   «         g¦  «         |                      | 	                    |d         d¬¦  «        gt          d¦  «        ¢t          dd¬¦  «        ¢¦  «         |                      g t          d¦  «        ¢¦  «         nN|                      t          d¦  «        g|                     |d         d¦  «        ¢t          d¦  «        ¢¦  «         |                      t          ¦   «         t          ¦   «         |                     d¦  «        |                     ¦   «         gt          d¦  «        ¢|                     d¦  «        ‘t          d¦  «        ‘¦  «         t          j        | d         ¦  «        r&|                      t          d	d¬
¦  «        g¦  «         nU|                      g t          d¦  «        ¢t          d	d¬
¦  «        ‘t          d¦  «        ¢t          dd¬
¦  «        ‘¦  «         |                      t#          dd¦  «        ¦  «         dS )aŒ  
        Calls the provided resume functions.

        Expects the TOS to be in the state:
            [frame N cells, ..., frame 1 cells],
            [
                frame N stack + locals,
                frame N-1 stack + locals,
                ...,
                frame 1 stack + locals
            ]

        Pops the cells and frame values, leaving the result of calling the resume functions on TOS.

        Args:
            - resume_codes: list of resume function code objects to call
            - resume_names: list of the corresponding names of the resume functions
            - cg: PyCodegen object to output instructions to
        r  r   T)r  )Ú	push_nullFr   r$  r  r  rÝ  r“  r   ÚLIST_EXTENDN)r  r&   ry  ra  ró   rÄ  r'   r(  r)  Úcreate_load_globalr+   r$   Úload_function_namer(   r*   rM   Úuses_boxed_callr%   )r‚  rº  r  ru  r½   r�  s         r«   r+  z-InstructionTranslatorBase.codegen_call_resume4  sY  € ð4 	×Ò� Q™œÑ(Ô(Ð(Ý(­¨\¸<Ñ)HÔ)HÑIÔIð 	-ñ 	-‰OˆA‰|��dØ•C˜Ñ%Ô%¨Ñ)Ò)Ð)Ø�àÔð HØ× Ò å&Ñ(Ô(Ø×,Ò,¨QÑ/Ô/Ø×/Ò/Ñ1Ô1ðñô ð ð × Ò à×-Ò-¨d¸Ð-Ñ=Ô=ðå$ Q™œðõ .¨a¸4Ð@Ñ@Ô@ðñô ð ð ð × Ò  ×!6Ò!6°t¸UÀAÑ!FÔ!FÑGÔGÐGØ×Ò�[¨™^œ^Ñ,Ô,Ð,Ñ,Ø
×Òå" 9Ñ-Ô-Ý" <µS¸Ñ5FÔ5FÈÑ5JÐKÑKÔKðñ	
ô 	
ð 	
ð 	×Ò� Q™œÑ(Ô(Ð(Ø˜ÔÔ'ð 	Ø×Òà×(Ò(¨Ñ,Ô,Ø×+Ò+Ñ-Ô-ðñô ð ð ×Òà×)Ò)¨,°rÔ*:ÀÐ)ÑEÔEðå  ‘^”^ðõ *¨!°tÐ<Ñ<Ô<ðñô ð ð ×ÒðÝ! !‘_”_ðñô ð ð ð ×Òå& yÑ1Ô1ðà×*Ò*¨<¸Ô+;¸UÑCÔCðõ " !‘_”_ðñô ð ð* 	×ÒåÑ Ô ÝÑ Ô à×$Ò$ RÑ(Ô(Ø×'Ò'Ñ)Ô)ðõ ˜Q‘”ðð ×$Ò$ RÑ(Ô(ðõ # ?Ñ3Ô3ðñ	
ô 	
ð 	
õ  "Ô1°,¸rÔ2BÑCÔCð 	Ø×Òõ ' |¸Ð;Ñ;Ô;ðñô ð ð ð ×ÒðÝ! !‘_”_ðå& |¸Ð;Ñ;Ô;ðõ ! ‘^”^ðõ
 ' }¸!Ð<Ñ<Ô<ðñô ð ð 	×ÒÕ0°¸Ñ=Ô=Ñ>Ô>Ð>Ð>Ð>r­   c                óB  — t           j        dk    r0| j        j        }|r"| j        r|j        | j        d         j        urdS t          d„ | j        D ¦   «         ¦  «        oA| j         o9| j        p| j	         o*| j
         o"| j         o| j         o| j        j        j        d u S )NrH  r“  Fc              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r±   )r9  r�  s     r«   r  zIInstructionTranslatorBase.should_compile_partial_graph.<locals>.<genexpr>Ê  s*   è è € Ð:Ð: A�—’‘”Ð:Ð:Ð:Ð:Ð:Ð:r­   )rd  rë  rï  rX  r  r5  rÆ  r?  r°  rÎ   r
  r>  Ú!skip_one_hop_torch_function_depthr/  Úcurrent_tracerrí  )rÔ   r÷   s     r«   rà  z6InstructionTranslatorBase.should_compile_partial_graphÁ  sÙ   € ÝÔ˜wÒ&Ð&àÔ,Ô:ˆEØð ØÔ$ðØ(-¬¸DÔ<LÈRÔ<PÔ<WÐ(WÐ(Wà�uåÐ:Ð:¨Ô)9Ð:Ñ:Ô:Ñ:Ô:ð :Ø”NÐ"ð:ð Ô,ÐM°DÔ4MÐ0Mð:ð Ô3Ð3ð	:ð
 Ô8Ð8ð:ð Ô:Ð:ð:ð ”Ô*Ô1°TÐ9ð
	
r­   ziEncountered graph break when attempting to trace STORE_SUBSCR: trying to store subscript, e.g. x[key] = yc                ól   — |                       d¦  «        \  }}}|                     | d||gi ¦  «         d S )NrÝ  Ú__setitem__)rR  r  )rÔ   rË   ry  rU  Úkeys        r«   r"  z&InstructionTranslatorBase.STORE_SUBSCRÕ  s;   € ð
 Ÿ	š	 !™œ‰ˆˆS�#Ø�Š˜˜m¨c°3¨Z¸Ñ<Ô<Ð<Ð<Ð<r­   c                ó”   — |                       d¦  «        \  }}|                      ||¦  «         |                     | d|gi ¦  «         d S )Nr  Ú__delitem__)rR  Ú_maybe_sync_dealloc_subscrr  )rÔ   rË   rU  rÈ  s       r«   r   z'InstructionTranslatorBase.DELETE_SUBSCRÝ  sM   € Ø—9’9˜Q‘<”<‰ˆˆSð 	×'Ò'¨¨SÑ1Ô1Ð1Ø�Š˜˜m¨c¨U°BÑ7Ô7Ð7Ð7Ð7r­   rÈ  c                ó6  — ddl m} ddlm} d }	 t	          ||¦  «        r|                     | |¦  «        }n%t	          ||¦  «        r|                     |¦  «        }n# t          $ r Y nw xY wt	          |t          ¦  «        r|  	                    |¦  «         d S d S )Nr   rr   )r   )
Úvariables.dictsrs   Úvariables.listsr   r`  Úgetitem_constÚmaybe_getitem_constr½  r”   rn  )rÔ   rU  rÈ  rs   r   Úitem_vars         r«   rË  z4InstructionTranslatorBase._maybe_sync_dealloc_subscrå  sá   € ð 	7Ð6Ð6Ð6Ð6Ð6Ø5Ð5Ð5Ð5Ð5Ð5àˆð		Ý˜#Ð/Ñ0Ô0ð 8Ø×,Ò,ØØñô ��õ ˜CÐ!2Ñ3Ô3ð 8Ø×2Ò2°3Ñ7Ô7�øøÝð 	ð 	ð 	ØˆDð	øøøå�h¥Ñ/Ô/ð 	4Ø×)Ò)¨(Ñ3Ô3Ð3Ð3Ð3ð	4ð 	4s   �AA Á
A*Á)A*c                ó~   — |                       |j        ¦  «        }|                      t          |¦  «        ¦  «         d S r±   )rR  r‡  rQ  rƒ   ©rÔ   rË   r
  s      r«   ÚBUILD_TUPLEz%InstructionTranslatorBase.BUILD_TUPLEù  s5   € Ø—	’	˜$œ+Ñ&Ô&ˆØ�	Š	•- Ñ&Ô&Ñ'Ô'Ð'Ð'Ð'r­   c                ó‚   — |                       |j        ¦  «        }|                      t          || ¬¦  «        ¦  «         d S )N©rµ   )rR  r‡  rQ  r‚   rÓ  s      r«   ÚBUILD_SLICEz%InstructionTranslatorBase.BUILD_SLICEý  s:   € Ø—	’	˜$œ+Ñ&Ô&ˆØ�	Š	•- ¨$Ð/Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r­   c                ó   — dS )z�Check if comprehension speculation is allowed in nested context.

        For the base class (non-inlined), this always returns False.
        Fr¥   rê   s    r«   Ú#_can_speculate_comprehension_nestedz=InstructionTranslatorBase._can_speculate_comprehension_nested  s	   € ð
 ˆur­   c                ó®   — t          | |¦  «        rd S |                      |j        ¦  «        }|                      t	          j        | |¦  «        ¦  «         d S r±   )r4   rR  r‡  rQ  rg   rˆ  rÓ  s      r«   r  z$InstructionTranslatorBase.BUILD_LIST  sQ   € Ý0°°tÑ<Ô<ð 	ØˆFà—	’	˜$œ+Ñ&Ô&ˆØ�	Š	•/Ô'¨¨eÑ4Ô4Ñ5Ô5Ð5Ð5Ð5r­   c                óÜ   — t           j        rt          dddg ¬¦  «         |                      |j        ¦  «        }t          |t          ¦   «         ¬¦  «        }|                      |¦  «         d S )Nzmissing BUILD_SET handlerrï   z:Missing BUILD_SET bytecode handler (for testing purposes).rÉ  ©Úmutation_type)r   Ú+inject_BUILD_SET_unimplemented_TESTING_ONLYr=   rR  r‡  r�   rf   rQ  )rÔ   rË   r
  Únew_sets       r«   Ú	BUILD_SETz#InstructionTranslatorBase.BUILD_SET  sv   € ÝÔ=ð 	ÝØ3ØØXØð	ñ ô ð ð —	’	˜$œ+Ñ&Ô&ˆÝ˜eÕ3CÑ3EÔ3EÐFÑFÔFˆØ�	Š	�'ÑÔÐÐÐr­   r  r_  c           	     óf  — |                       |j        ¦  «        }g }|D ]e}	 |                     t          | |¦  «        ¦  «         Œ'# t          $ r2 t          dt          |¦  «        |› d�g t          j        ¢¬¦  «         Y Œbw xY w|  	                     ||t          ¦   «         ¬¦  «        ¦  «         d S )Nz-Failed to unpack object for BUILD_LIST_UNPACKzU cannot be unpacked into a list for the BUILD_LIST_UNPACK bytecode (`[*x, *y, ...]`).rÉ  rÜ  )rR  r‡  r¼  rc   ÚNotImplementedErrorr=   r¾   r   r  rQ  rf   )rÔ   rË   r  Úseqsr
  Úseqs         r«   ÚBUILD_LIST_UNPACKz+InstructionTranslatorBase.BUILD_LIST_UNPACK  sã   € Ø�yŠy˜œÑ%Ô%ˆØˆØð 
	ð 
	ˆCð	Ø—’�_¨T°3Ñ7Ô7Ñ8Ô8Ð8Ð8øÝ&ð ð ð ÝØKÝ ™HœHØ#&ð !2ð !2ð !2à9Õ-Ô8Ð9ðñ ô ð ð ð ðøøøð 	�	Š	�#�#�eÕ+;Ñ+=Ô+=Ð>Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?s   ¢#AÁ9BÂBc                ó>   — |                       |t          ¬¦  «         d S )Nr  )rå  rƒ   r  s     r«   ÚBUILD_TUPLE_UNPACKz,InstructionTranslatorBase.BUILD_TUPLE_UNPACK+  s!   € Ø×Ò˜t­ÐÑ7Ô7Ð7Ð7Ð7r­   c           	     ó  — t          | |¦  «        rd S |                      |j        dz  ¦  «        }t          t	          |d d d…         |dd d…         ¦  «        ¦  «        }|                      t          j        | |¦  «        ¦  «         d S )Nr  r   )r4   rR  r‡  r  ra  rQ  rg   rˆ  )rÔ   rË   r
  Úds       r«   Ú	BUILD_MAPz#InstructionTranslatorBase.BUILD_MAP0  s€   € Ý0°°tÑ<Ô<ð 	ØˆFà—	’	˜$œ+¨™/Ñ*Ô*ˆÝ•�U˜3˜3˜Q˜3”Z  q t¨! t¤Ñ-Ô-Ñ.Ô.ˆØ�	Š	•/Ô'¨¨aÑ0Ô0Ñ1Ô1Ð1Ð1Ð1r­   c                ó2  ‡ — ‰                       |j        ¦  «        }ˆ fd„|D ¦   «         }i }|D ]@}t          |t          ¦  «        st	          d¦  «        ‚|                     |j        ¦  «         ŒA‰                      t          j	        ‰ |¦  «        ¦  «         d S )Nc                óp   •— g | ]2}t          j        ‰t          ¦  «                             ‰|gi ¦  «        ‘Œ3S r¥   )rg   rˆ  r  r¦   )r¨   ri  rÔ   s     €r«   rq  z>InstructionTranslatorBase.BUILD_MAP_UNPACK.<locals>.<listcomp>;  sJ   ø€ ð 
ð 
ð 
àõ Ô! $­Ñ-Ô-×;Ò;¸DÀ1À#ÀrÑJÔJð
ð 
ð 
r­   z4expected isinstance(x, ConstDictVariable) to be true)
rR  r‡  r`  rs   rØ   Úupdater
  rQ  rg   rˆ  )rÔ   rË   r
  r  ri  s   `    r«   ÚBUILD_MAP_UNPACKz*InstructionTranslatorBase.BUILD_MAP_UNPACK8  sË   ø€ Ø—	’	˜$œ+Ñ&Ô&ˆð
ð 
ð 
ð 
àð
ñ 
ô 
ˆð "$ˆØð 	#ð 	#ˆAÝ˜aÕ!2Ñ3Ô3ð Ý$ØJñô ð ð �MŠM˜!œ'Ñ"Ô"Ð"Ð"Ø�	Š	ÝÔ!ØØñô ñ	
ô 	
ð 	
ð 	
ð 	
r­   c                óô  — |                       ¦   «         }|                      |j        ¦  «        }t          |t          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚t          | |¦  «        }t          |¦  «        t          |¦  «        k    rt          d¦  «        ‚|  	                    t          j        | t          t          ||¦  «        ¦  «        ¦  «        ¦  «         d S )Nú3expected isinstance(keys, TupleVariable) to be truez-expected keys.is_python_constant() to be truez,expected len(keys) == len(values) to be true)rè  rR  r‡  r`  rƒ   rØ   rý  rc   ró   rQ  rg   rˆ  r  ra  )rÔ   rË   r{  rß  s       r«   ÚBUILD_CONST_KEY_MAPz-InstructionTranslatorBase.BUILD_CONST_KEY_MAPO  så   € Ø�xŠx‰zŒzˆØ—’˜4œ;Ñ'Ô'ˆÝ˜$¥Ñ.Ô.ð 	XÝ Ð!VÑWÔWÐWØ×&Ò&Ñ(Ô(ð 	RÝ Ð!PÑQÔQÐQå˜t TÑ*Ô*ˆÝˆt‰9Œ9�˜F™œÒ#Ð#Ý Ð!OÑPÔPÐPà�	Š	ÝÔ!ØÝ•S˜˜vÑ&Ô&Ñ'Ô'ñô ñ	
ô 	
ð 	
ð 	
ð 	
r­   c                ó\  — |                       d¦  «        \  }}|j        dk    st          d¦  «        ‚|j        €t          d¦  «        ‚| j        |j                                       ¦   «         }t          |t          ¦  «        st          d¦  «        ‚|                     | d||fi ¦  «         d S )Nr  r   ú#expected inst.argval > 0 to be truerP  ú6expected isinstance(obj, ConstDictVariable) to be truerÇ  )	rR  r‡  rØ   rS  r¤  rò  r`  rs   r  )rÔ   rË   r©   rª   rU  s        r«   ÚMAP_ADDz!InstructionTranslatorBase.MAP_ADDb  s®   € Ø�yŠy˜‰|Œ|‰ˆˆ1Ø”˜a’�Ý Ð!FÑGÔGÐGØŒ8ÐÝ Ð!KÑLÔLÐLØŒj˜$œ(˜Ô#×+Ò+Ñ-Ô-ˆÝ˜#Õ0Ñ1Ô1ð 	Ý ØHñô ð ð 	�Š˜˜m¨a°¨V°RÑ8Ô8Ð8Ð8Ð8r­   c                ót  — |                       ¦   «         }|j        dk    st          d¦  «        ‚|j        €t          d¦  «        ‚| j        |j                  }t          |t          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚|                     | d|gi ¦  «         d S )Nr   ró  rP  ú0expected isinstance(obj, SetVariable) to be trueú$expected obj.is_mutable() to be truer  ©	rè  r‡  rØ   rS  r¤  r`  r�   Ú
is_mutabler  ©rÔ   rË   rª   rU  s       r«   ÚSET_ADDz!InstructionTranslatorBase.SET_ADDo  s´   € Ø�HŠH‰JŒJˆØ”˜a’�Ý Ð!FÑGÔGÐGØŒ8ÐÝ Ð!KÑLÔLÐLØŒj˜$œ(˜Ô#ˆÝ˜#�{Ñ+Ô+ð 	UÝ Ð!SÑTÔTÐTØ�~Š~ÑÔð 	IÝ Ð!GÑHÔHÐHØ�Š˜˜e a S¨"Ñ-Ô-Ð-Ð-Ð-r­   c                ót  — |                       ¦   «         }|j        dk    st          d¦  «        ‚|j        €t          d¦  «        ‚| j        |j                  }t          |t          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚|                     | d|gi ¦  «         d S )Nr   ró  rP  r÷  rø  rí  rù  rû  s       r«   Ú
SET_UPDATEz$InstructionTranslatorBase.SET_UPDATE|  s´   € Ø�HŠH‰JŒJˆØ”˜a’�Ý Ð!FÑGÔGÐGØŒ8ÐÝ Ð!KÑLÔLÐLØŒj˜$œ(˜Ô#ˆÝ˜#�{Ñ+Ô+ð 	UÝ Ð!SÑTÔTÐTØ�~Š~ÑÔð 	IÝ Ð!GÑHÔHÐHØ�Š˜˜h¨¨¨RÑ0Ô0Ð0Ð0Ð0r­   c                óØ  — |                       ¦   «         }|j        dk    st          d¦  «        ‚|j        €t          d¦  «        ‚| j        |j                                       ¦   «         }t          |t          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚| j	        j
                             |¦  «         |j                             |¦  «         d S )Nr   ró  rP  ú1expected isinstance(obj, ListVariable) to be truerø  )rè  r‡  rØ   rS  r¤  rò  r`  r�   rú  r/  r?  Úmutationr
  rô   rû  s       r«   r!  z%InstructionTranslatorBase.LIST_APPEND‰  sÕ   € Ø�HŠH‰JŒJˆØ”˜a’�Ý Ð!FÑGÔGÐGØŒ8ÐÝ Ð!KÑLÔLÐLØŒj˜$œ(˜Ô#×+Ò+Ñ-Ô-ˆÝ˜#�|Ñ,Ô,ð 	VÝ Ð!TÑUÔUÐUØ�~Š~ÑÔð 	IÝ Ð!GÑHÔHÐHØŒÔ ×)Ò)¨#Ñ.Ô.Ð.ØŒ	×Ò˜ÑÔÐÐÐr­   c                óÆ  — |j         }t          j        dk     r|                      ¦   «         }|                      ¦   «         }t          j        dk    rCt	          |j        d¦  «        st          d¦  «        ‚t          j        | |j        j	        ¦  «        }d }d }d }d }t          j        dk     rf|�d|dz  r|                      ¦   «         }|dz  r|                      ¦   «         }|dz  r|                      ¦   «         }|dz  r|                      ¦   «         }t          ||| j        |||¦  «        }	|r t          |t          ¦  «        st          d	¦  «        ‚|j        }
t          t!          t#          |
d d d…         |
dd d…         d
¬¦  «        ¦  «        t%          ¦   «         ¬¦  «        }|	                     | ¦  «                             d|¦  «         |                      |	¦  «         d S )NrH  Úco_qualnamez6expected hasattr(code.value, "co_qualname") to be truerÜ  é   r)  r  r   z:expected isinstance(annotations, TupleVariable) to be trueT©ÚstrictrÜ  rÝ   )rS  rd  rë  rè  r<  r   rØ   rg   rˆ  r  ry   r�  r`  rƒ   r
  rs   r  ra  rf   Úget_dict_vtÚsetitemrQ  )rÔ   rË   rû  Úfn_namer�  ÚdefaultsÚclosurer   Ú
kwdefaultsrK  r
  Úanns               r«   ÚMAKE_FUNCTIONz'InstructionTranslatorBase.MAKE_FUNCTION—  sø  € Ø”ˆÝÔ˜gÒ%Ð%Ø—h’h‘j”jˆGØ�xŠx‰zŒzˆÝÔ˜wÒ&Ð&õ ˜4œ: }Ñ5Ô5ð Ý$ØLñô ð õ &Ô+¨D°$´*Ô2HÑIÔIˆGØˆØˆØˆØˆ
åÔ˜gÒ%Ð%àÐ Ø˜4‘<ð )Ø"Ÿhšh™jœj�GØ˜4‘<ð -Ø"&§(¢(¡*¤*�KØ˜4‘<ð ,Ø!%§¢¡¤�JØ˜4‘<ð *Ø#Ÿxšx™zœz�Hå'ØØØŒNØØØñ
ô 
ˆð ð 	Ý˜k­=Ñ9Ô9ð Ý$ØPñô ð ð
  Ô%ˆEÝ#Ý•S˜˜s˜s ˜sœ U¨1¨4¨a¨4¤[¸Ð>Ñ>Ô>Ñ?Ô?Ý.Ñ0Ô0ðñ ô ˆCð �NŠN˜4Ñ Ô ×(Ò(Ø! 3ñô ð ð 	�	Š	�"‰Œˆˆˆr­   c           	     ó€  — |                       ¦   «         }t          | |¦  «        }t          |¦  «        |j        k     r)t	          | d|j        › dt          |¦  «        › d�¦  «         t          |¦  «        |j        k    rt	          | d|j        › d�¦  «         t          |¦  «        D ]}|                      |¦  «         Œd S )Nz&not enough values to unpack (expected ú, got r¬  z$too many values to unpack (expected )rè  rc   ró   r‡  r:   r³   rQ  )rÔ   rË   rä  ry  ru  s        r«   r#  z)InstructionTranslatorBase.UNPACK_SEQUENCEÎ  sÑ   € Ø�hŠh‰jŒjˆÝ˜d CÑ(Ô(ˆÝˆs‰8Œ8�d”kÒ!Ð!ÝØØW¸¼ÐWÐWÍCÐPSÉHÌHÐWÐWÐWñô ð õ ˆs‰8Œ8�d”kÒ!Ð!ÝØØE°t´{ÐEÐEÐEñô ð õ ˜#‘”ð 	ð 	ˆAØ�IŠI�a‰LŒLˆLˆLð	ð 	r­   c           	     ó6  — d|j         cxk    rdk    sn t          d¦  «        ‚|j         dz  }|j         dz	  }|                      ¦   «         }t          | |¦  «        x}�rt	          | |¦  «        }t          |¦  «        ||z   k     r't          | d||z   › dt          |¦  «        › d�¦  «         |d |…         }||t          |¦  «        |z
  …         }|t          |¦  «        |z
  d …         }	t          |	¦  «        D ]}
|                      |
¦  «         Œ|                      t          |t          ¦   «         ¬	¦  «        ¦  «         t          |¦  «        D ]}
|                      |
¦  «         Œd S t          d
t          |¦  «        |› d�g t          j        ¢¬¦  «         d S )Nr   iÿÿ  z.expected 0 <= inst.argval <= 0xFFFF to be trueéÿ   r  z/not enough values to unpack (expected at least r  r¬  rÜ  z%Failed to unpack object for UNPACK_EXz; cannot be unpacked into a list for the UNPACK_EX bytecode.rÉ  )r‡  rØ   rè  rŽ   rc   ró   r:   r³   rQ  r�   rf   r=   r¾   r   r  )rÔ   rË   rÆ  Úsuffixrä  ÚiteratorrR  Úvals_prefixÚ	vals_listÚvals_suffixÚitems              r«   Ú	UNPACK_EXz#InstructionTranslatorBase.UNPACK_EXÞ  sÖ  € Ø�T”[Ð*Ð*Ò*Ð* FÒ*Ð*Ð*Ð*Ý Ð!QÑRÔRÐRØ”˜tÑ#ˆØ” Ñ!ˆØ�hŠh‰jŒjˆÝ& t¨SÑ1Ô1Ð1ˆ8ñ 	Ý" 4¨Ñ2Ô2ˆDÝ�4‰yŒy˜6 F™?Ò*Ð*Ý!ØØiÀfÈvÁoÐiÐiÕ]`ÐaeÑ]fÔ]fÐiÐiÐiñô ð ð ˜w ˜wœ-ˆKØ˜V¥c¨$¡i¤i°&Ñ&8Ð8Ô9ˆIØ�s 4™yœy¨6Ñ1Ð3Ð3Ô4ˆKÝ  Ñ-Ô-ð  ð  �Ø—	’	˜$‘”��Ø�IŠI•l 9Õ<LÑ<NÔ<NÐOÑOÔOÑPÔPÐPÝ  Ñ-Ô-ð  ð  �Ø—	’	˜$‘”��ð ð  õ Ø?Ý˜C™œØ"Ð_Ð_Ð_Ø5Õ)Ô4Ð5ð	ñ ô ð ð ð r­   z-Encountered intentional debugging graph breakc                ó@   — | j         rt          ddddg¬¦  «         d S d S )Nz#Forced graph break on leaf functionrï   zSForced graph break on non-inlining function for nested graph break testing purposeszGSet torch._dynamo.config.debug_force_graph_break_on_leaf_return = FalserÉ  )r¯  r=   r  s     r«   Úgraph_break_on_leaf_functionz6InstructionTranslatorBase.graph_break_on_leaf_functionû  sP   € ð Ô$ð 		ÝØ=Øð6ð ^ððñ ô ð ð ð ð		ð 		r­   c                óJ   — |j         dk    r|                      |¦  «         d S d S )NÚGRAPH_BREAK_IF_LEAF)r‡  r  r  s     r«   r  zInstructionTranslatorBase.NOP
  s2   € àŒ;Ð/Ò/Ð/Ø×-Ò-¨dÑ3Ô3Ð3Ð3Ð3ð 0Ð/r­   c                ó.   — |                       ¦   «          d S r±   rX  r  s     r«   r$  z!InstructionTranslatorBase.POP_TOP  ó   € Ø�Š‰
Œ
ˆ
ˆ
ˆ
r­   c                óª   — |                       ¦   «         }|                       ¦   «         }|                      |¦  «         |                      |¦  «         d S r±   ©rè  rQ  ©rÔ   rË   r£  r$  s       r«   ÚROT_TWOz!InstructionTranslatorBase.ROT_TWO  s>   € Ø�HŠH‰JŒJˆØ�HŠH‰JŒJˆØ�	Š	�!‰ŒˆØ�	Š	�!‰Œˆˆˆr­   c                óü   — |                       ¦   «         }|                       ¦   «         }|                       ¦   «         }|                      |¦  «         |                      |¦  «         |                      |¦  «         d S r±   r!  )rÔ   rË   r£  r$  Úcs        r«   Ú	ROT_THREEz#InstructionTranslatorBase.ROT_THREE  sZ   € Ø�HŠH‰JŒJˆØ�HŠH‰JŒJˆØ�HŠH‰JŒJˆØ�	Š	�!‰ŒˆØ�	Š	�!‰ŒˆØ�	Š	�!‰Œˆˆˆr­   c                óN  — |                       ¦   «         }|                       ¦   «         }|                       ¦   «         }|                       ¦   «         }|                      |¦  «         |                      |¦  «         |                      |¦  «         |                      |¦  «         d S r±   r!  )rÔ   rË   r£  r$  r%  ré  s         r«   ÚROT_FOURz"InstructionTranslatorBase.ROT_FOUR   sv   € Ø�HŠH‰JŒJˆØ�HŠH‰JŒJˆØ�HŠH‰JŒJˆØ�HŠH‰JŒJˆØ�	Š	�!‰ŒˆØ�	Š	�!‰ŒˆØ�	Š	�!‰ŒˆØ�	Š	�!‰Œˆˆˆr­   c                ó‚   — |                       ¦   «         }|                      |¦  «         |                      |¦  «         d S r±   r!  )rÔ   rË   r£  s      r«   rÐ  z!InstructionTranslatorBase.DUP_TOP*  s1   € Ø�HŠH‰JŒJˆØ�	Š	�!‰ŒˆØ�	Š	�!‰Œˆˆˆr­   c                óþ   — |                       ¦   «         }|                       ¦   «         }|                      |¦  «         |                      |¦  «         |                      |¦  «         |                      |¦  «         d S r±   r!  r"  s       r«   ÚDUP_TOP_TWOz%InstructionTranslatorBase.DUP_TOP_TWO/  s\   € Ø�HŠH‰JŒJˆØ�HŠH‰JŒJˆØ�	Š	�!‰ŒˆØ�	Š	�!‰ŒˆØ�	Š	�!‰ŒˆØ�	Š	�!‰Œˆˆˆr­   r   Úflagc                óJ  — |dk    r0t          j        | t          ¦  «                             | |gi ¦  «        S |dk    r0t          j        | t          ¦  «                             | |gi ¦  «        S |dk    r0t          j        | t
          ¦  «                             | |gi ¦  «        S |S )Nr   r  rÝ  )rg   rˆ  r¾   r¦   r¨  Úascii)rÔ   r   r,  s      r«   Ú_convert_valuez(InstructionTranslatorBase._convert_value7  sš   € Ø�1Š9ˆ9Ý"Ô(¨­sÑ3Ô3×AÒAÀ$ÈÈÐQSÑTÔTÐTØ�QŠYˆYÝ"Ô(¨­tÑ4Ô4×BÒBÀ4È%ÈÐRTÑUÔUÐUØ�QŠYˆYÝ"Ô(¨­uÑ5Ô5×CÒCÀDÈ5È'ÐSUÑVÔVÐVØˆr­   Úfmt_specrû  c                óÆ  — |                       ¦   «         }t          |t          ¦  «        rAddlm}m}  |j         |||¦  «        |j        | ¬¦  «        }|                      |¦  «         d S |  	                    ||dz  ¦  «        }t          j        | d|                     ¦   «         z   dz   ¦  «        }|                      t          t          j        ¦  «        ||gi ¦  «         d S )Nr   )ÚLazySymNodeFormatStringr~   )r¯  rµ   rÝ  z{:Ú})rè  r`  r“   Útorch._dynamo.variables.lazyr2  r~   r‹  r¯  rQ  r/  rg   rˆ  rþ  r¦   rk   r¾   Úformat)rÔ   r0  rû  r   r2  r~   Úfmt_vars          r«   Ú_format_valuez'InstructionTranslatorBase._format_value@  s
  € Ø—’‘
”
ˆÝ�e�_Ñ-Ô-ð 
	ðð ð ð ð ð ð ð ð
 /Ð'Ô.Ø'Ð'¨¨xÑ8Ô8ÀÄÐRVðñ ô ˆEð �IŠI�eÑÔÐØˆFà×#Ò# E¨5°4©<Ñ8Ô8ˆå!Ô'Ø�$˜×4Ò4Ñ6Ô6Ñ6¸Ñ<ñ
ô 
ˆð 	×Ò�?­3¬:Ñ6Ô6¸À%Ð8HÈ"ÑMÔMÐMÐMÐMr­   c                óÄ   — |j         }|€t          d¦  «        ‚|dz  dk    r|                      ¦   «         }nt          j        | d¦  «        }|                      ||¦  «        S )Nú%expected flags is not None to be truer)  rï   )rS  rØ   rè  rg   rˆ  r7  )rÔ   rË   rû  r0  s       r«   ÚFORMAT_VALUEz&InstructionTranslatorBase.FORMAT_VALUEV  sc   € Ø”ˆØˆ=Ý Ð!HÑIÔIÐIØ�D‰L˜TÒ!Ð!Ø—x’x‘z”zˆHˆHå&Ô,¨T°2Ñ6Ô6ˆHØ×!Ò! (¨EÑ2Ô2Ð2r­   c           
     óž  — g }g }i }|j         €t          d¦  «        ‚|                      |j         ¦  «        D �]M}|                     ¦   «         r+|                     d¦  «         |                     |¦  «         ŒBt          |t          j        ¦  «        rÅ|                     |j        ¦  «         | 	                    |j
        ¦  «         t          |                     ¦   «         ¦  «        t          |j                             ¦   «         ¦  «        z  r-t          dd|› d|› d|j        › �dg t          j        ¢¬¦  «         |                     |j        ¦  «         �Œ!t          d	t%          |¦  «        d
g t          j        ¢¬¦  «         �ŒO|                      t          j                             d                     |¦  «        ||¦  «        ¦  «         d S )NrP  z{}zBUILD_STRING key conflictzformat_string_parts: z
, kwargs: z, part.sym_kwargs: z1Failed to build format string due to key conflictrÉ  zBUILD_STRING type errorzLFormat string part type is not correct - expected constant or format string.rï   )rS  rØ   rR  rý  rô   r`  r   ÚStringFormatVariableÚformat_stringr¼  Úsym_argsr!  r{  Ú
sym_kwargsr=   r   r  rí  r¾   rQ  r‹  r	  )rÔ   rË   Úformat_string_partsr¶   r)  Úparts         r«   ÚBUILD_STRINGz&InstructionTranslatorBase.BUILD_STRING`  sõ  € Ø)+ÐØ&(ˆØ-/ˆØŒ8ÐÝ Ð!KÑLÔLÐLØ—I’I˜dœhÑ'Ô'ð 	ñ 	ˆDØ×&Ò&Ñ(Ô(ð Ø#×*Ò*¨4Ñ0Ô0Ð0Ø—’˜DÑ!Ô!Ð!Ð!Ý˜D¥)Ô"@ÑAÔAð Ø#×*Ò*¨4Ô+=Ñ>Ô>Ð>Ø—’˜DœMÑ*Ô*Ð*Ý�v—{’{‘}”}Ñ%Ô%­¨D¬O×,@Ò,@Ñ,BÔ,BÑ(CÔ(CÑCð Ý!Ø ;ð !DÐ8Kð  !Dð  !DÐW]ð  !Dð  !DÐrvô  sBð  !Dð  !DØ$WØ=Õ 1Ô <Ð=ð	ñ ô ð ð —’˜dœoÑ.Ô.Ð.Ñ.åØ5Ý ™IœIØ nØ9Õ-Ô8Ð9ð	ñ ô ð ñ ð 	�	Š	ÝÔ*×1Ò1Ø—’Ð+Ñ,Ô,¨d°Fñô ñ	
ô 	
ð 	
ð 	
ð 	
r­   c                óè   — |j         dk    s|j         dk    st          d¦  «        ‚|j         dk    rdnd}|                      t          |         | |                      d¦  «        i ¦  «        ¦  «         d S )Nr   r   ú8expected inst.argval == 0 or inst.argval == 1 to be trueÚiszis notr  )r‡  rØ   rQ  r¯   rR  )rÔ   rË   r‡  s      r«   ÚIS_OPzInstructionTranslatorBase.IS_OP‚  s{   € Ø”˜qÒ Ð  D¤K°1Ò$4Ð$4Ý ØJñô ð ð œ¨Ò)Ð)��¨xˆØ�	Š	Õ% fÔ-¨d°D·I²I¸a±L´LÀ"ÑEÔEÑFÔFÐFÐFÐFr­   c                ó  — |j         dk    s|j         dk    st          d¦  «        ‚|                      d¦  «        \  }}|j         }|                      t	          | ||¦  «        ¦  «         |dk    r|                      |¦  «         d S d S )Nr   r   rD  r  )r‡  rØ   rR  rQ  r�   Ú	UNARY_NOT)rÔ   rË   ÚleftÚrightr®  s        r«   ÚCONTAINS_OPz%InstructionTranslatorBase.CONTAINS_OPŠ  s“   € Ø”˜qÒ Ð  D¤K°1Ò$4Ð$4Ý ØJñô ð ð —i’i ‘l”l‰ˆˆeØŒ[ˆØ�	Š	Õ" 4¨°Ñ5Ô5Ñ6Ô6Ð6Ø�Š7ˆ7Ø�NŠN˜4Ñ Ô Ð Ð Ð ð ˆ7r­   c                ót  — |                       ¦   «         }|j        dk    st          d¦  «        ‚|j        €t          d¦  «        ‚| j        |j                  }t          |t          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚|                     | d|gi ¦  «         d S )Nr   ró  rP  r   rø  r¼  )	rè  r‡  rØ   rS  r¤  r`  r�   rú  r  rû  s       r«   r¾  z%InstructionTranslatorBase.LIST_EXTEND•  s´   € Ø�HŠH‰JŒJˆØ”˜a’�Ý Ð!FÑGÔGÐGØŒ8ÐÝ Ð!KÑLÔLÐLØŒj˜$œ(˜Ô#ˆÝ˜#�|Ñ,Ô,ð 	VÝ Ð!TÑUÔUÐUØ�~Š~ÑÔð 	IÝ Ð!GÑHÔHÐHØ�Š˜˜h¨¨¨RÑ0Ô0Ð0Ð0Ð0r­   c                ó°   — |                       t          j        | t          ¦  «                             | |                      ¦   «         gi ¦  «        ¦  «         d S r±   )rQ  rg   rˆ  r=  r¦   rè  r  s     r«   ÚLIST_TO_TUPLEz'InstructionTranslatorBase.LIST_TO_TUPLE¢  sO   € Ø�	Š	ÝÔ! $­Ñ.Ô.×<Ò<¸TÀDÇHÂHÁJÄJÀ<ÐQSÑTÔTñ	
ô 	
ð 	
ð 	
ð 	
r­   c                óÖ  — | j         d         }|                      |¦  «        st          d¦  «        ‚|j        t          u r©t          j        | t          ¦  «                             | t          j        | d¦  «        gi ¦  «        }| 	                    | dt          j        | d¦  «        |gi ¦  «         | 	                    | dt          j        | d¦  «        |gi ¦  «         || j         d<   d S d S )Nr“  r+  zgenerator raised StopIterationrÿ  r…  r  )
r¤  r  rØ   r  rô  rg   rˆ  r=  r¦   r  )rÔ   rË   ry  Únew_vals       r«   ÚSTOPITERATION_ERRORz-InstructionTranslatorBase.STOPITERATION_ERROR§  s  € ð Œj˜ŒnˆØ×)Ò)¨#Ñ.Ô.ð 	XÝ Ð!VÑWÔWÐWØŒ<�=Ð(Ð(Ý%Ô+¨Dµ,Ñ?Ô?×MÒMØÝ Ô& tÐ-MÑNÔNÐOØñô ˆGð
 ×ÒØØÝ Ô& t¨]Ñ;Ô;¸SÐAØñ	ô ð ð ×ÒØ�m¥oÔ&;¸DÀ+Ñ&NÔ&NÐPSÐ%TÐVXñô ð ð %ˆDŒJ�r‰NˆNˆNð )Ð(r­   c                ó˜  — |                       ¦   «         }|j        dk    st          d¦  «        ‚|j        €t          d¦  «        ‚| j        |j                                       ¦   «         }t          |t          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚| 	                    | d|gi ¦  «         d S )Nr   ró  rP  rô  rø  rí  )
rè  r‡  rØ   rS  r¤  rò  r`  rs   rú  r  rû  s       r«   Ú
DICT_MERGEz$InstructionTranslatorBase.DICT_MERGEÁ  sÈ   € Ø�HŠH‰JŒJˆØ”˜a’�Ý Ð!FÑGÔGÐGØŒ8ÐÝ Ð!KÑLÔLÐLØŒj˜$œ(˜Ô#×+Ò+Ñ-Ô-ˆÝ˜#Õ0Ñ1Ô1ð 	Ý ØHñô ð ð �~Š~ÑÔð 	IÝ Ð!GÑHÔHÐHØ�Š˜˜h¨¨¨RÑ0Ô0Ð0Ð0Ð0r­   c                ó.   — |                       ¦   «          d S r±   rX  r  s     r«   Ú	GEN_STARTz#InstructionTranslatorBase.GEN_STARTÒ  r  r­   c           	     ó0  — | j         d         }|                     ¦   «         rI|                      t          j        | t          |                     ¦   «         ¦  «        ¦  «        ¦  «         d S |                      |                     | dg i ¦  «        ¦  «         d S )Nr“  r–  )r¤  rý  rQ  rg   rˆ  ró   rþ  r  r  s      r«   ÚGET_LENz!InstructionTranslatorBase.GET_LENÕ  s…   € ØŒj˜ŒnˆØ×!Ò!Ñ#Ô#ð 	@Ø�IŠI•oÔ+¨Dµ#°c×6LÒ6LÑ6NÔ6NÑ2OÔ2OÑPÔPÑQÔQÐQÐQÐQà�IŠI�c—o’o d¨I°r¸2Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r­   c                ó¦   — | j         d         }|                      |                      t          j        | t
          ¦  «        |gi ¦  «        ¦  «         dS )zr
        If STACK[-1] is an instance of collections.abc.Mapping, push True.
        Otherwise, push False
        r“  N)r¤  rQ  rê  rg   rˆ  rG   r  s      r«   ÚMATCH_MAPPINGz'InstructionTranslatorBase.MATCH_MAPPINGÜ  sZ   € ð
 Œj˜ŒnˆØ�	Š	Ø×,Ò,ÝÔ% d­OÑ<Ô<Ø�Øñô ñ	
ô 	
ð 	
ð 	
ð 	
r­   c                ó¦   — | j         d         }|                      |                      t          j        | t
          ¦  «        |gi ¦  «        ¦  «         d S ©Nr“  )r¤  rQ  rê  rg   rˆ  rJ   r  s      r«   ÚMATCH_SEQUENCEz(InstructionTranslatorBase.MATCH_SEQUENCEê  sY   € ØŒj˜ŒnˆØ�	Š	Ø×,Ò,ÝÔ% dÕ,?Ñ@Ô@Ø�Øñô ñ	
ô 	
ð 	
ð 	
ð 	
r­   c           	     ó®  — |                       d¦  «        \  }}}t          j        | |j        ¦  «        }|                      |                      t          j        | t          ¦  «        ||||gi ¦  «        ¦  «         t          j        dk     rK| j	        d         }|                      t          j        | t          |t          ¦  «         ¦  «        ¦  «         d S d S )NrÝ  rH  r“  )rR  rg   rˆ  rS  rQ  rê  rH   rd  rë  r¤  r`   rm   )rÔ   rË   Úsubjectr  ÚnamesrS  r  s          r«   ÚMATCH_CLASSz%InstructionTranslatorBase.MATCH_CLASSô  sË   € Ø"Ÿiši¨™lœlÑˆ��eÝÔ# D¨$¬(Ñ3Ô3ˆØ�	Š	Ø×,Ò,ÝÔ% dÕ,<Ñ=Ô=Ø˜#˜s EÐ*Øñô ñ	
ô 	
ð 	
õ Ô˜gÒ%Ð%à”*˜R”.ˆCØ�IŠI•oÔ+¨Dµf¸SÕBRÑ6SÔ6SÐ2SÑTÔTÑUÔUÐUÐUÐUð &Ð%r­   c           	     óÀ  — | j         d         }| j         d         }t          |t          ¦  «        st          d¦  «        ‚|                      |                      t          j        | t          ¦  «        ||gi ¦  «        ¦  «         t          j
        dk     rK| j         d         }|                      t          j        | t          |t          ¦  «         ¦  «        ¦  «         d S d S )Nr“  r  rð  rH  )r¤  r`  rƒ   rØ   rQ  rê  rg   rˆ  rI   rd  rë  r`   rm   )rÔ   rË   r{  rU  r  s        r«   Ú
MATCH_KEYSz$InstructionTranslatorBase.MATCH_KEYS  sÑ   € ØŒz˜"Œ~ˆØŒj˜Œnˆå˜$¥Ñ.Ô.ð 	XÝ Ð!VÑWÔWÐWà�	Š	Ø×,Ò,ÝÔ% d­OÑ<Ô<¸sÀD¸kÈ2ñô ñ	
ô 	
ð 	
õ Ô˜gÒ%Ð%à”*˜R”.ˆCØ�IŠI•oÔ+¨Dµf¸SÕBRÑ6SÔ6SÐ2SÑTÔTÑUÔUÐUÐUÐUð &Ð%r­   c                óV   — |                       |                      d¦  «        ¦  «         d S )NrØ   ©rQ  r×  r  s     r«   ÚLOAD_ASSERTION_ERRORz.InstructionTranslatorBase.LOAD_ASSERTION_ERROR  s)   € Ø�	Š	�$×/Ò/Ð0@ÑAÔAÑBÔBÐBÐBÐBr­   c                óV   — |                       |                      d¦  «        ¦  «         d S )NÚ__build_class__rd  r  s     r«   ÚLOAD_BUILD_CLASSz*InstructionTranslatorBase.LOAD_BUILD_CLASS  s)   € Ø�	Š	�$×/Ò/Ð0AÑBÔBÑCÔCÐCÐCÐCr­   z`Encountered graph break when attempting to trace BINARY_SUBSCR: a binary subscript, e.g. x[attr]c                óè   — |j         dk    r|                      |¦  «         d| _        d S t          j        dk    r"|j         dk    r|                      |¦  «         d S | j        rt          d¦  «        ‚d S )Nr   Frð  r)  z/expected not self.accept_prefix_inst to be true)rS  Úappend_prefix_instr¦  rd  rë  rØ   r  s     r«   ÚRESUMEz InstructionTranslatorBase.RESUMEE  sˆ   € ØŒ8�qŠ=ˆ=Ø×#Ò# DÑ)Ô)Ð)Ø&+ˆDÔ#Ð#Ð#ÝÔ Ò(Ð(¨T¬X¸ª]¨]à×#Ò# DÑ)Ô)Ð)Ð)Ð)àÔ&ð XÝ$Ð%VÑWÔWÐWðXð Xr­   c                ód   — |j         €t          d¦  «        ‚t          |j                  | |¦  «        S ©NrP  )rS  rØ   Ú_binary_op_lookupr  s     r«   Ú	BINARY_OPz#InstructionTranslatorBase.BINARY_OPR  s0   € ØŒxÐÝ$Ð%OÑPÔPÐPÝ$ T¤XÔ.¨t°TÑ:Ô:Ð:r­   c                ó   — d S r±   r¥   r  s     r«   rM  z!InstructionTranslatorBase.PRECALLW  ó   € Øˆr­   c                ó\  — |j         €t          d¦  «        ‚| j        d         |j                  }t          |t          ¦  «        st          d¦  «        ‚|D ]&}t          |t
          ¦  «        st          d¦  «        ‚Œ'| j        �t          d¦  «        ‚t          j        |¬¦  «        | _        d S )NrP  Ú	co_constsz/expected isinstance(kw_names, tuple) to be truez)expected isinstance(name, str) to be truez)expected self.kw_names is None to be truer‹  )	rS  rØ   rå  r`  r=  r¾   rV  rm   r‹  )rÔ   rË   rV  r½   s       r«   rN  z"InstructionTranslatorBase.KW_NAMESZ  s¸   € ØŒ8ÐÝ Ð!KÑLÔLÐLØÔ$ [Ô1°$´(Ô;ˆÝ˜(¥EÑ*Ô*ð 	TÝ Ð!RÑSÔSÐSØð 	Rð 	RˆDÝ˜d¥CÑ(Ô(ð RÝ$Ð%PÑQÔQÐQðRàŒ=Ð$Ý Ð!LÑMÔMÐMÝ(Ô/°hÐ?Ñ?Ô?ˆŒˆˆr­   c                óH   — |                       t          ¦   «         ¦  «         d S r±   )rQ  r†   r  s     r«   rŸ  z#InstructionTranslatorBase.PUSH_NULLg  s   € Ø�	Š	•,‘.”.Ñ!Ô!Ð!Ð!Ð!r­   Úcall_kwc                ó  — |r�t           j        dk    st          d¦  «        ‚|                      ¦   «         }t	          |t
          ¦  «        st          d¦  «        ‚|                     ¦   «         st          d¦  «        ‚|                     ¦   «         }n| j        r| j        j	        nd}|j
        €t          d¦  «        ‚|                      |j
        dz   ¦  «        }t           j        dk    r/|d         }t	          |d	         t          ¦  «        rg n|d	         g}n7t	          |d         t          ¦  «        r|d	         }g }n|d         }|d	         g}|r€||dt          |¦  «         …         z   }|t          |¦  «         d …         }t          t          ||¦  «        ¦  «        }t          |¦  «        t          |¦  «        k    rt          d
¦  «        ‚n||dd …         z   }i }	 |                      |||¦  «         d | _        d S # d | _        w xY w)NrÜ  z/expected sys.version_info >= (3, 13) to be truez7expected isinstance(kw_names, TupleVariable) to be truez1expected kw_names.is_python_constant() to be truer¥   rP  r  r   r   z0expected len(kwargs) == len(kw_names) to be true)rd  rë  rØ   rè  r`  rƒ   rý  rþ  rV  r   rS  rR  r†   ró   r  ra  r¦   )	rÔ   rË   ru  rV  ÚcontentsrK  r¶   rc  r)  s	            r«   Ú_callzInstructionTranslatorBase._callj  s+  € ð ð 	DåÔ$¨Ò/Ð/Ý$Ð%VÑWÔWÐWØ—x’x‘z”zˆHÝ˜h­Ñ6Ô6ð Ý$ØMñô ð ð ×.Ò.Ñ0Ô0ð Ý$ØGñô ð ð  ×2Ò2Ñ4Ô4ˆHˆHà.2¬mÐC�t”}Ô*Ð*ÀˆHàŒ8ÐÝ Ð!KÑLÔLÐLØ—9’9˜TœX¨™\Ñ*Ô*ˆÝÔ˜wÒ&Ð&à˜!”ˆBÝ# H¨Q¤KµÑ>Ô>ÐQ�2�2ÀXÈaÄ[ÀMˆDˆDå˜( 1œ+¥|Ñ4Ô4ð %Ø˜a”[�à��à˜a”[�Ø  œ�}�àð 	Ø˜( 1­¨H©¬ ~Ð#5Ô6Ñ6ˆDà"¥C¨¡M¤M >Ð#3Ð#3Ô4ˆKå�#˜h¨Ñ4Ô4Ñ5Ô5ˆFå�6‰{Œ{�c (™mœmÒ+Ð+Ý$Ð%WÑXÔXÐXð ,ð ˜( 1 2 2œ,Ñ&ˆDàˆFð	!ð ×Ò˜r 4¨Ñ0Ô0Ð0à ˆDŒMˆMˆMø˜DˆDŒMÐ Ð Ð Ð s   Ç"H È	HzTEncountered graph break when attempting to trace CALL: a function call, e.g. f(x, y)c                ó0   — |                       |¦  «         d S r±   ©rx  r  s     r«   rL  zInstructionTranslatorBase.CALL£  s   € ð
 	�
Š
�4ÑÔÐÐÐr­   c                ó~   — |j         €t          d¦  «        ‚|                      | j        |j                   ¦  «         d S rm  )rS  rØ   rQ  r¤  r  s     r«   ÚCOPYzInstructionTranslatorBase.COPYª  s<   € ØŒ8ÐÝ Ð!KÑLÔLÐLØ�	Š	�$”*˜dœh˜YÔ'Ñ(Ô(Ð(Ð(Ð(r­   c                ó    — |j         €t          d¦  «        ‚| j        |j                   | j        d         c| j        d<   | j        |j          <   d S )NrP  r“  )rS  rØ   r¤  r  s     r«   ÚSWAPzInstructionTranslatorBase.SWAP¯  sN   € ØŒ8ÐÝ Ð!KÑLÔLÐLØ04´
¸D¼H¸9Ô0EÀtÄzÐRTÄ~Ð-ˆŒ
�2‰˜œ
 D¤H 9Ñ-Ð-Ð-r­   c                ó   — d S r±   r¥   r  s     r«   ÚCACHEzInstructionTranslatorBase.CACHE¼  rq  r­   c                ó0   — |                       |¦  «         d S r±   ré  r  s     r«   ÚBEFORE_WITHz%InstructionTranslatorBase.BEFORE_WITH¿  rì  r­   rˆ  ú8ContextWrappingVariable | GenericContextWrappingVariablec           	     óÎ  — t          |t          ¦  «        r.|                     ¦   «         s| j                             |¦  «         t
          j        dk    r\|j        r(| j        r|j        j	        | j        d         j	        urd }n4| j
        j        €t          d¦  «        ‚| j
        j        j	        }n|j	        }|r™t          | t          ¦  «        st          j        r=| j                             t          ||t!          | j        ¦  «        |¦  «        ¦  «         n;| j                             t          ||t!          | j        ¦  «        ¦  «        ¦  «         |                     | ¦  «        S )NrH  r“  zCexpected self.next_instruction.exn_tab_entry is not None to be true)r`  ro   Úsupports_graph_breaksr>  rô   rd  rë  rX  r  r5  rê  rØ   rO  r   r'  r4  ró   r¤  Úenter)rÔ   rˆ  rË   r5  s       r«   Ú	enter_ctxz#InstructionTranslatorBase.enter_ctxÂ  sg  € õ �sÕ:Ñ;Ô;ð	=à×-Ò-Ñ/Ô/ð	=ð Ô0×7Ò7¸Ñ<Ô<Ð<åÔ˜wÒ&Ð&ð
 Ô!ð 
DØÔ$ð
DàÔ%Ô,°DÔ4DÀRÔ4HÔ4OÐOÐOà��àÔ(Ô6Ð>Ý(Ø]ñô ð ð Ô.Ô<ÔC��à”[ˆFàð 	XÝ˜$Õ 5Ñ6Ô6ð X½&Ô:Tð XØÔ ×'Ò'Ý# D¨&µ#°d´j±/´/À3ÑGÔGñô ð ð ð Ô ×'Ò'­¸¸fÅcÈ$Ì*ÁoÄoÑ(VÔ(VÑWÔWÐWà�yŠy˜‰ŒÐr­   c                ób   — t          dd| › �d|                      ¦   «         › d�g d¢¬¦  «         d S )NzUnsupported context managerz1Attempted SETUP_WITH/BEFORE_WITH/LOAD_SPECIAL on z%Dynamo does not know how to enter a `z` context manager.)z,Avoid using the unsupported context manager.aE  If the context manager seems like it should be supported (e.g. torch.set_grad_enabled), then it may be the case that it was created outside the compiled region, which Dynamo does not support. Supported context managers can cross graph break boundaries only if they are local non-closure variables, or are intermediate values.zŒFile an issue to PyTorch. Simple context managers can potentially be supported, but note that context managers can't be supported in generalrÉ  )r=   r  )rˆ  s    r«   Úunsupported_ctx_graph_breakz5InstructionTranslatorBase.unsupported_ctx_graph_breakê  sZ   € åØ1ØMÈÐMÐMØjÀ×@TÒ@TÑ@VÔ@VÐjÐjÐjðð ð ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r­   c                óˆ  — |                       ¦   «         }t          |t          t          f¦  «        s|                      |¦  «         t          |t          t          f¦  «        st          d¦  «        ‚|                      t          ||j        ¦  «        ¦  «         |                      |  	                    ||¦  «        ¦  «         d S )Nú`expected isinstance( ctx, (ContextWrappingVariable, GenericContextWrappingVariable) ) to be true)
rè  r`  rn   ro   r‰  rØ   rQ  rq   r5  r‡  )rÔ   rË   rˆ  s      r«   rê  z.InstructionTranslatorBase.setup_or_before_withû  sÁ   € Ø�hŠh‰jŒjˆÝØÕ)Õ+IÐJñ
ô 
ð 	2ð ×,Ò,¨SÑ1Ô1Ð1õ ØÕ)Õ+IÐJñ
ô 
ð 	õ !Ørñô ð ð 	�	Š	Õ*¨3°´Ñ<Ô<Ñ=Ô=Ð=Ø�	Š	�$—.’.  dÑ+Ô+Ñ,Ô,Ð,Ð,Ð,r­   c                óf   — | j         st          d¦  «        ‚| j                             |¦  «         d S )Nz+expected self.accept_prefix_inst to be true)r¦  rØ   r§  rô   r  s     r«   rj  z,InstructionTranslatorBase.append_prefix_inst  s:   € ØÔ&ð 	PÝ Ð!NÑOÔOÐOØÔ× Ò  Ñ&Ô&Ð&Ð&Ð&r­   c                ó   — t           j        dk    rh| j        sat          | j        |j                 t          ¦  «        st          d¦  «        ‚| j        j	         
                    ¦   «         | j        |j        <   d S |                      |¦  «         d S )NrJ  zOexpected isinstance(self.symbolic_locals[inst.argval], NullVariable) to be true)rd  rë  r¦  r`  rž  r‡  r†   rØ   r/  r?  Útrack_cell_newrj  r  s     r«   Ú	MAKE_CELLz#InstructionTranslatorBase.MAKE_CELL  s’   € ÝÔ˜wÒ&Ð&¨tÔ/FÐ&õ ˜dÔ2°4´;Ô?ÅÑNÔNð Ý$Øeñô ð ð ”Ô(×7Ò7Ñ9Ô9ð Ô  ¤Ñ-Ð-Ð-ð ×#Ò# DÑ)Ô)Ð)Ð)Ð)r­   c                ó0   — |                       |¦  «         d S r±   ©rj  r  s     r«   ÚCOPY_FREE_VARSz(InstructionTranslatorBase.COPY_FREE_VARS   ó   € Ø×Ò Ñ%Ô%Ð%Ð%Ð%r­   c                ó0   — |                       |¦  «         d S r±   r‘  r  s     r«   ÚRETURN_GENERATORz*InstructionTranslatorBase.RETURN_GENERATOR#  r“  r­   c                ó"  — t           j        dk    r|                      ¦   «          n|                      d¦  «         t           j        dk    rB| j        |         }|| j        v r.| j                             |¦  «         | xj        dz  c_        d S d S d S )NrÜ  r  rJ  r   )rd  rë  rè  rR  rÞ  Ú_comprehension_end_for_ipsÚdiscardÚ_comprehension_depth)rÔ   rË   Ú
current_ips      r«   ÚEND_FORz!InstructionTranslatorBase.END_FOR*  s—   € ÝÔ˜wÒ&Ð&Ø�HŠH‰JŒJˆJˆJà�IŠI�a‰LŒLˆLõ Ô˜wÒ&Ð&Øœ dÔ+ˆJØ˜TÔ<Ð<Ð<ØÔ/×7Ò7¸
ÑCÔCÐCØÐ)Ô)¨QÑ.Ð)Ô)Ð)Ð)ð	 'Ð&à<Ð<r­   c                óî   — t          | j                             |j        d ¦  «        t          ¦  «        r,t          d|j        d|j        › �g t          j        ¢¬¦  «         |                      |¦  «         d S )Nz)LOAD_FAST_CHECK on uninitialized variablez/Attempted to load uninitialized local variable rÉ  )	r`   rž  r•  r‡  r†   r=   r   r  rb  r  s     r«   ÚLOAD_FAST_CHECKz)InstructionTranslatorBase.LOAD_FAST_CHECK7  s{   € Ý�$Ô&×*Ò*¨4¬;¸Ñ=Ô=½|ÑLÔLð 	ÝØCØœØ[ÈdÌkÐ[Ð[Ø5Õ)Ô4Ð5ð	ñ ô ð ð 	�Š�tÑÔÐÐÐr­   c                óÆ   — |j         | j        vr"|                      t          ¦   «         ¦  «         n|                      |¦  «         t          ¦   «         | j        |j         <   d S r±   )r‡  rž  rQ  r†   rb  r  s     r«   ÚLOAD_FAST_AND_CLEARz-InstructionTranslatorBase.LOAD_FAST_AND_CLEARA  sV   € ØŒ;˜dÔ2Ð2Ð2Ø�IŠI•l‘n”nÑ%Ô%Ð%Ð%à�NŠN˜4Ñ Ô Ð Ý,8©N¬NˆÔ˜Tœ[Ñ)Ð)Ð)r­   c                óú   — |                       t          j        |d¬¦  «        ¦  «         |j        €t	          d¦  «        ‚|j        dz  r|                      |¦  «         d S |                      |j        ¦  «         d S )Nr  rO  rP  r   )rX  rý   r.  rS  rØ   rg  rÑ  r‡  r  s     r«   ÚLOAD_SUPER_ATTRz)InstructionTranslatorBase.LOAD_SUPER_ATTRH  s   € Ø×Ò�;Ô.¨t¸AÐ>Ñ>Ô>Ñ?Ô?Ð?ØŒ8ÐÝ Ð!KÑLÔLÐLØŒ8�a‰<ð 	)Ø×Ò˜TÑ"Ô"Ð"Ð"Ð"à�OŠO˜DœKÑ(Ô(Ð(Ð(Ð(r­   c                ób  — |j         dk    r|                      |¦  «         d S |j         dk    r|                      |¦  «         d S |j         dk    rFt          | |                      ¦   «         ¦  «        }|                      t          |¦  «        ¦  «         d S |j         dk    r^|                      ¦   «                              ¦   «         }t          j	        t          |¦  «        ¦  «        }|                      |¦  «         d S t          dd|j         › �d|j         › d�g t          j        ¢¬	¦  «         d S )
NrÝ  r*  é   r-  z Missing CALL_INTRINSIC_1 handlerzCALL_INTRINSIC_1 operand: z,No handler implemented for CALL_INTRINSIC_1 ú instruction.rÉ  )r‡  rQ  ÚUNARY_POSITIVErc   rè  rQ  rƒ   rþ  r   ÚTypingVariabler   r=   r   re  )rÔ   rË   r
  rª   Útvs        r«   ÚCALL_INTRINSIC_1z*InstructionTranslatorBase.CALL_INTRINSIC_1Q  s0  € ØŒ;˜!ÒÐà×$Ò$ TÑ*Ô*Ð*Ð*Ð*ØŒ[˜AÒÐà×Ò Ñ%Ô%Ð%Ð%Ð%ØŒ[˜AÒÐå# D¨$¯(ª(©*¬*Ñ5Ô5ˆEØ�IŠI•m EÑ*Ô*Ñ+Ô+Ð+Ð+Ð+ØŒ[˜AÒÐà—’‘
”
×-Ò-Ñ/Ô/ˆAÝÔ)­'°!©*¬*Ñ5Ô5ˆBØ�IŠI�b‰MŒMˆMˆMˆMåØ:ØB°T´[ÐBÐBØeÈ4Ì;ÐeÐeÐeØ6Õ)Ô5Ð6ð	ñ ô ð ð ð r­   c                óš  — |                       ¦   «         }|                       ¦   «         }|j        dk    rgt          |t          ¦  «        st	          d¦  «        ‚|                     | dt          j        d¦  «        |gi ¦  «         |                      |¦  «         d S t          dd|j        › �d|j        › d�g t          j        ¢¬	¦  «         d S )
Nr)  z>expected isinstance(arg1, BaseUserFunctionVariable) to be truerÿ  Ú__type_params__z Missing CALL_INTRINSIC_2 handlerzCALL_INTRINSIC_2 operand: z,No handler implemented for CALL_INTRINSIC_2 r¤  rÉ  )rè  r‡  r`  rt   rØ   r  rm   r‹  rQ  r=   r   re  )rÔ   rË   Úarg2Úarg1s       r«   ÚCALL_INTRINSIC_2z*InstructionTranslatorBase.CALL_INTRINSIC_2i  sì   € Ø�xŠx‰zŒzˆØ�xŠx‰zŒzˆØŒ;˜!ÒÐõ ˜dÕ$<Ñ=Ô=ð Ý$ØTñô ð ð ×ÒØØÝ!Ô(Ð):Ñ;Ô;¸TÐBØñ	ô ð ð �IŠI�d‰OŒOˆOˆOˆOåØ:ØB°T´[ÐBÐBØeÈ4Ì;ÐeÐeÐeØ6Õ)Ô5Ð6ð	ñ ô ð ð ð r­   c                ó€   — |                       ¦   «         }|                       ¦   «          |                      |¦  «         d S r±   r!  r  s      r«   ÚEND_SENDz"InstructionTranslatorBase.END_SEND‚  s/   € Ø�hŠh‰jŒjˆØ�Š‰
Œ
ˆ
Ø�	Š	�#‰Œˆˆˆr­   zpEncountered graph break when attempting to trace CALL_KW: a function call with keyword arguments, e.g. f(x=True)c                ó4   — |                       |d¬¦  «         d S )NT)ru  rz  r  s     r«   ÚCALL_KWz!InstructionTranslatorBase.CALL_KWŠ  s    € ð 	�
Š
�4 ˆ
Ñ&Ô&Ð&Ð&Ð&r­   c                ó@   — | j         j        dvrt          d¦  «        ‚d S )N)ÚPOP_JUMP_IF_TRUEÚPOP_JUMP_IF_FALSErH  zmexpected self.next_instruction.opname in ( "POP_JUMP_IF_TRUE", "POP_JUMP_IF_FALSE", "UNARY_NOT", ) to be true)rê  rõ   rØ   r  s     r«   rß  z!InstructionTranslatorBase.TO_BOOL’  s=   € ð Ô Ô'ð 0
ð 
ð 
õ
 !Øñô ð ð
ð 
r­   c                óˆ  — |j         }|€t          d¦  «        ‚|                      ¦   «         }t          |t          ¦  «        st          d¦  «        ‚|                      ¦   «         }|dz  rwt
          j        dk    st          d¦  «        ‚|                     | t          j	        | d¦  «        gi ¦  «        }| 
                    | dt          j        d¦  «        |gi ¦  «         nÌ|d	z  r||_        n¿|d
z  r¡t          |t          ¦  «        st          d¦  «        ‚|j        }t!          t#          t%          |d d d…         |dd d…         d¬¦  «        ¦  «        t'          ¦   «         ¬¦  «        }|                     | ¦  «                             d|¦  «         n|dz  r||_        n|dz  r||_        |                      |¦  «         d S )Nr9  z>expected isinstance(fn, NestedUserFunctionVariable) to be trueé   r'  z/expected sys.version_info >= (3, 14) to be truer   rÿ  rÝ   r  r)  z3expected isinstance(attr, TupleVariable) to be truer  Tr  rÜ  )rS  rØ   rè  r`  ry   rd  rë  r¦   rg   rˆ  r  rm   r‹  r  rƒ   r
  rs   r  ra  rf   r  r  r  r
  rQ  )rÔ   rË   rû  rK  ro  r
  r  s          r«   ÚSET_FUNCTION_ATTRIBUTEz0InstructionTranslatorBase.SET_FUNCTION_ATTRIBUTEŸ  sö  € Ø”ˆØˆ=Ý Ð!HÑIÔIÐIØ�XŠX‰ZŒZˆÝ˜"Õ8Ñ9Ô9ð 	Ý ØPñô ð ð �xŠx‰zŒzˆà�4‰<ð !	ÝÔ$¨Ò/Ð/Ý$Ð%VÑWÔWÐWð ×%Ò% d­_Ô-BÀ4ÈÑ-KÔ-KÐ,LÈbÑQÔQˆDØ�NŠNØØÝ!Ô(Ð):Ñ;Ô;¸TÐBØñ	ô ð ð ð �T‰\ð 	ØˆBŒJˆJØ�T‰\ð 	Ý˜d¥MÑ2Ô2ð Ý$ØIñô ð ð
 ”JˆEÝ#Ý•S˜˜s˜s ˜sœ U¨1¨4¨a¨4¤[¸Ð>Ñ>Ô>Ñ?Ô?Ý.Ñ0Ô0ðñ ô ˆCð �NŠN˜4Ñ Ô ×(Ò(Ø! 3ñô ð ð ð �T‰\ð 	Ø ˆBŒMˆMØ�T‰\ð 	ØˆBŒKà�	Š	�"‰Œˆˆˆr­   c                ó²   — |j         €t          d¦  «        ‚|                      |                      |                      ¦   «         |j         ¦  «        ¦  «         d S rm  )rS  rØ   rQ  r/  rè  r  s     r«   ÚCONVERT_VALUEz'InstructionTranslatorBase.CONVERT_VALUEÏ  sK   € ØŒ8ÐÝ Ð!KÑLÔLÐLØ�	Š	�$×%Ò% d§h¢h¡j¤j°$´(Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<r­   c                óX   — |                       t          j        | d¦  «        d¦  «         d S )Nrï   r   )r7  rg   rˆ  r  s     r«   ÚFORMAT_SIMPLEz'InstructionTranslatorBase.FORMAT_SIMPLEÔ  s+   € Ø×Ò�?Ô0°°rÑ:Ô:¸AÑ>Ô>Ð>Ð>Ð>r­   c                óV   — |                       |                      ¦   «         d¦  «         d S ré   )r7  rè  r  s     r«   ÚFORMAT_WITH_SPECz*InstructionTranslatorBase.FORMAT_WITH_SPEC×  s&   € Ø×Ò˜4Ÿ8š8™:œ: qÑ)Ô)Ð)Ð)Ð)r­   c                óz   — |                       ¦   «          t          j        dk    r|                       ¦   «          d S d S )Nrð  )rè  rd  rë  r  s     r«   ÚPOP_ITERz"InstructionTranslatorBase.POP_ITERÞ  s6   € Ø�Š‰
Œ
ˆ
ÝÔ˜wÒ&Ð&Ø�HŠH‰JŒJˆJˆJˆJð 'Ð&r­   )Ú	__enter__Ú__exit__Ú
__aenter__Ú	__aexit__c                óü  — t          |j        t          ¦  «        st          d¦  «        ‚| j        |j                 }|dv ré|                      ¦   «         }t          |t          t          f¦  «        s|                      |¦  «         t          |t          t          f¦  «        st          d¦  «        ‚|dk    r9|  	                    t          |¦  «        ¦  «         |                      |¦  «         d S |  	                    t          |d ¦  «        ¦  «         |                      |¦  «         d S |                      |¦  «         |                      ¦   «         }|  	                    |¦  «         |                      |¦  «         d S )Nz*expected LOAD_SPECIAL arg to be set to int)rÀ  rÁ  r‹  rÀ  )r`  rS  rÈ   rØ   Ú_load_special_namesrè  rn   ro   r‰  rQ  rp   rŸ  rq   rÑ  )rÔ   rË   ro  rˆ  rU  s        r«   ÚLOAD_SPECIALz&InstructionTranslatorBase.LOAD_SPECIALí  sx  € Ý˜$œ(¥CÑ(Ô(ð 	OÝ Ð!MÑNÔNÐNØÔ'¨¬Ô1ˆØÐ,Ð,Ð,Ø—(’(‘*”*ˆCÝØÕ-Õ/MÐNñô ð 6ð ×0Ò0°Ñ5Ô5Ð5õ ØÕ-Õ/MÐNñô ð õ %Øvñô ð ð �{Ò"Ð"Ø—	’	Õ3°CÑ8Ô8Ñ9Ô9Ð9Ø—’˜tÑ$Ô$Ð$Ð$Ð$ð —	’	Õ2°3¸Ñ=Ô=Ñ>Ô>Ð>Ø—’˜tÑ$Ô$Ð$Ð$Ð$ð �OŠO˜DÑ!Ô!Ð!Ø—(’(‘*”*ˆCØ�IŠI�c‰NŒNˆNØ�NŠN˜4Ñ Ô Ð Ð Ð r­   c                ó`   — |                       t          j        | |j        ¦  «        ¦  «         d S r±   )rQ  rg   rˆ  r‡  r  s     r«   ÚLOAD_SMALL_INTz(InstructionTranslatorBase.LOAD_SMALL_INT  s)   € Ø�	Š	•/Ô'¨¨d¬kÑ:Ô:Ñ;Ô;Ð;Ð;Ð;r­   rï   r“  c                óÈ   — t          |j        t          ¦  «        st          d¦  «        ‚|                      t          j        | | j        |j                 ¦  «        ¦  «         d S )Nz2expected LOAD_COMMON_CONSTANT arg to be set to int)r`  rS  rÈ   rØ   rQ  rg   rˆ  Ú_common_constantsr  s     r«   ÚLOAD_COMMON_CONSTANTz.InstructionTranslatorBase.LOAD_COMMON_CONSTANT"  sU   € Ý˜$œ(¥CÑ(Ô(ð 	WÝ Ð!UÑVÔVÐVØ�	Š	•/Ô'¨¨dÔ.DÀTÄXÔ.NÑOÔOÑPÔPÐPÐPÐPr­   c                óT   — | j                              ¦   «         dk    r
d„ | _        dS dS )Nr   c                 ó   — dS ©NTr¥   r¥   r­   r«   r¸   z>InstructionTranslatorBase.is_non_empty_graph.<locals>.<lambda>*  s   € ¨d€ r­   TF)r/  Úcount_callsr  rê   s    r«   r  z,InstructionTranslatorBase.is_non_empty_graph'  s/   € ØŒ;×"Ò"Ñ$Ô$ qÒ(Ð(à&2 lˆDÔ#Ø�4Øˆur­   Úadditional_stack_framesúlist[Any] | Nonec           
     ó¸   — |€g }d                      t          j        |                      ¦   «         gt	          t          |¦  «        ¦  «        z   ¦  «        ¦  «        S )Nrï   )r	  Ú	tracebackÚformat_listrç  rÿ   r³   )rÔ   rÐ  s     r«   Úformat_frame_summaryz.InstructionTranslatorBase.format_frame_summary.  s^   € ð #Ð*Ø&(Ð#Ø�wŠwÝÔ!Ø×#Ò#Ñ%Ô%Ð&­­hÐ7NÑ.OÔ.OÑ)PÔ)PÑPñô ñ
ô 
ð 	
r­   útraceback.FrameSummaryc           	     óð   — | j         j        }i }t          j        dk    r|�|j        |d<   |j        |d<   t          j        t          | j	        dd¦  «        | j
        t          | j	        dd¦  «        fddi|¤ŽS )	NrH  ÚcolnoÚ	end_colnor+  ú	<unknown>rì  Úlookup_lineF)rï  r   rd  rë  rN  rO  rÓ  ÚFrameSummaryr–  rã  rÉ   )rÔ   r   r)  s      r«   rç  z'InstructionTranslatorBase.frame_summary9  s“   € ØÔ,Ô6ˆ	à!#ˆÝÔ˜wÒ&Ð&¨9Ð+@Ø'Ô2ˆF�7‰OØ"+Ô":ˆF�;ÑÝÔ%Ý�D”K °Ñ<Ô<ØŒKÝ�D”K ¨KÑ8Ô8ð
ð 
ð ð	
ð
 ð
ð 
ð 	
r­   c                ó„   — t          | j        dd¦  «        }t          j        d¦  «        }|                     |¦  «        d uS )Nr+  rÚ  z.*torch/nn/modules.*)r–  rã  ÚreÚcompileÚmatch)rÔ   rÇ   Únn_modules_patterns      r«   Úis_co_filename_from_nn_modulesz8InstructionTranslatorBase.is_co_filename_from_nn_modulesH  s?   € Ý˜4œ;¨°{ÑCÔCˆÝœZÐ(?Ñ@Ô@ÐØ!×'Ò'¨Ñ1Ô1¸Ð=Ð=r­   c                óÒ   — | j                              |t          j        |¦  «        ¦  «        }t	          t          |¦  «                             t          j        ¦  «        ¦  «         |S r±   )	r/  Úinstall_global_by_idrœ  r�  rB   rS   r
  rA   ÚWEAKREF_ALIVE)rÔ   rÆ  r   Úglobal_names       r«   Ústore_global_weakref_by_idz4InstructionTranslatorBase.store_global_weakref_by_idM  sY   € Ø”k×6Ò6°v½w¼{È5Ñ?QÔ?QÑRÔRˆÝÝ Ñ,Ô,×7Ò7½Ô8RÑSÔSñ	
ô 	
ð 	
ð Ðr­   úFakeTensorMode | Nonec                ó$   — | j         j        j        S r±   )r/  Útracing_contextÚ	fake_moderê   s    r«   rë  z#InstructionTranslatorBase.fake_modeT  s   € àŒ{Ô*Ô4Ð4r­   Úcheck_fnú!Callable[[VariableTracker], bool]c              #  óV   K  — | j         }|| _         	 dV — || _         dS # || _         w xY w)zx
        Strict mode is enabled on a per-VariableTracker level depending on the return value of check_fn(node).
        N)r­  )rÔ   rì  Úpriors      r«   Ústrict_translation_modez1InstructionTranslatorBase.strict_translation_modeX  sH   è è € ð Ô%ˆØ (ˆÔð	*ØˆEˆEˆEà$)ˆDÔ!Ð!Ð!ø EˆDÔ!Ð)Ð)Ð)Ð)s   ’ Ÿ	(rÆ   c                óð   — | j         €t          d¦  «        ‚| j         dk    st          d¦  «        ‚| j                             | j        j        | j        | j         dz
  | j        | j         dz
           ¦  «        S )Nr  r   ú0expected self.instruction_pointer > 0 to be truer   )rÊ   rØ   r+  rú   rã  r+  rÉ   r†  rê   s    r«   r=  z#InstructionTranslatorBase.speculatef  s…   € ØÔ#Ð+Ý ØJñô ð ð Ô(¨1Ò,Ð,Ý Ð!SÑTÔTÐTØÔ#×(Ò(ØŒKÔ#ØŒKØÔ$ qÑ(ØÔ˜dÔ6¸Ñ:Ô;ñ	
ô 
ð 	
r­   rÇ   Úfallback_linenoútuple[str, int]c                ó"   — |�|dk     r||fS ||fS ré   r¥   )rÔ   rÇ   rÉ   ró  s       r«   Ú_make_frame_locz)InstructionTranslatorBase._make_frame_loct  s'   € ð ˆ>˜V ašZ˜ZØ˜oÐ.Ð.Ø˜&Ð!Ð!r­   Ú	frame_locútuple[tuple[str, int], ...]c                ó<  — g }t           j        rW| j        }|�N|                      |j        j        |j        |j        j        ¦  «        }|                     |¦  «         |j        }|­N| 	                    ¦   «          |                     |¦  «         t          |¦  «        S r±   )r   r'  rí  rö  rã  r+  rÉ   r,  rô   Úreverser=  )rÔ   r÷  Úframe_loc_chain_listÚ
current_txÚparent_frame_locs        r«   Ú_get_frame_loc_chainz.InstructionTranslatorBase._get_frame_loc_chain{  s®   € ð 79ÐåÔ%ð 		/Ø;?¼;ˆJØÐ(Ø#'×#7Ò#7ØÔ%Ô1ØÔ%ØÔ%Ô4ñ$ô $Ð ð
 %×+Ò+Ð,<Ñ=Ô=Ð=Ø'Ô.�
ð Ð(ð 	×$Ò$Ñ&Ô&Ð&Ø×#Ò# IÑ.Ô.Ð.ÝÐ)Ñ*Ô*Ð*r­   c                ó4  — t          ¦   «         }g }| j        D ]e}|j        }|€Œ||v rŒ|                     |¦  «         |                     d|›d|                     ¦   «                              ¦   «         › �¦  «         Œf|sdS dd                     |¦  «        z   S )zLFormat bytecode source locations for stack values involved in a graph break.Nz  z originated from:
rï   z#Stack variable source attribution:
r  )r!  r¤  rP  r  rô   r5  rô  r	  )rÔ   ÚseenÚpartsÚvtrP  s        r«   Ú _format_stack_source_attributionz:InstructionTranslatorBase._format_stack_source_attribution�  s¾   € å$'¡E¤EˆØˆØ”*ð 		ð 		ˆBØ Ô0ˆOØÐ&ØØ $Ð&Ð&ØØ�HŠH�_Ñ%Ô%Ð%Ø�LŠLØQ�RÐQÐQ¨o×.DÒ.DÑ.FÔ.F×.MÒ.MÑ.OÔ.OÐQÐQñô ð ð ð ð 	Ø�2Ø5¸¿	º	À%Ñ8HÔ8HÑHÐHr­   rå  rC   rÏ   ú)Unsupported | UserError | StepUnsupportedc                ój  ‡— |j         rd S t          |dd ¦  «        }|€#t          j        j                             ¦   «         }	 t          j        r8| j        �1|  	                    | j
        j        | j        | j
        j        ¦  «        }n-|  	                    |d         j        |d         j        d¦  «        }n # t          $ r |d         |d         f}Y nw xY w|                      |¦  «        }d}t          j        r6t%          ¦   «         }d                     t)          j        |¦  «        ¦  «        }n t%          ¦   «         |z   }t-          |¦  «        }d                     t)          j        |¦  «        ¦  «        }	|�t/          ||¦  «        }|                      ¦   «         }
d|d         › d|d	         › �d
|› �g}|
r|                     d|
g¦  «         |                     ddg¦  «         d                     |¦  «        dz   Št          j        r‰|› d|	› d�z  Šn‰t5          |	¦  «        z  Št          j                             dd„ ˆfd„¬¦  «         t;          |t<          ¦  «        r|j        ntA          |¦  «        }tB           "                    tF          j$        ¦  «        ritJ          sbtM          j'        ||f¦  «        rLt          j        r%‰dz  Š‰d                     | j(        ¦  «        dz   z  ŠtB           )                    ‰¦  «         n)tB           )                    d|d         |d	         |¦  «         d|_         d S )Nr;  r“  r   r+  r,  rï   zGraph break in user code at rð   r   zGraph Break Reason: zUser code traceback:r  zQ
========== most recent `torch.compile` tracing attempt started here ==========

a}  
NOTE: the most recent `torch.compile` tracing attempt might not be where you applied `torch.compile`! This is due to how graph breaks are implemented - the optimized code object returned by Dynamo will call another Dynamo-generated resume function and tracing is re-enabled by calling the resume function as a normal Python function, which Dynamo intercepts as a top-level frame.
Úartifactc                 ó   — dddœS )NÚdynamo_graph_break_reasonÚstring)r½   Úencodingr¥   r¥   r­   r«   r¸   z;InstructionTranslatorBase.log_graph_break.<locals>.<lambda>ì  s   € Ø3Ø$ð!ð !€ r­   c                 ó4   •— ‰ › dt          j        ¦   «         › �S )Nr  )rÓ  Ú
format_exc)Úuser_stack_traces   €r«   r¸   z;InstructionTranslatorBase.log_graph_break.<locals>.<lambda>ð  s   ø€ Ð"2ÐNÐNµiÔ6JÑ6LÔ6LÐNÐN€ r­   )Úmetadata_fnÚ
payload_fnz4
Most recent bytecode instructions traced (max 20):
zmGraph break (user stack suppressed due to duplicate graph break) in user code at %s:%s
Graph Break Reason: %sT)*Úloggedr–  r¥  r  r   r  r   r'  rí  rö  rã  r+  rÉ   r,  rÇ   Ú
IndexErrorrþ  r  r9   r	  rÓ  rÔ  r7   r5   r  r¼  r¾   Ú_loggingÚtrace_structuredr`  r>   rÊ  r_  Úgraph_break_logÚisEnabledForr   ÚDEBUGÚexplainr_   r  r´  r¾  )rÔ   rå  rÏ   r   Ú
user_stackr÷  Úframe_loc_chainÚstack_above_dynamo_formattedÚstack_above_dynamoÚuser_stack_formattedÚstack_source_attributionÚuser_stack_trace_partsrÊ  r  s                @r«   rä  z)InstructionTranslatorBase.log_graph_break¢  s±  ø€ ð Œ:ð 	ØˆFå˜S ,°Ñ5Ô5ˆ
àÐÝœÔ5×CÒCÑEÔEˆJð	ÝÔ)ð ¨d¬kÐ.EØ ×0Ò0Ø”KÔ+Ø”KØ”KÔ.ñô �	�	ð !×0Ò0Ø˜r”NÔ+Ø˜r”NÔ)Øñô �	øøõ
 ð 	ð 	ð 	ð ˜]Ô+ØÐ-Ô.ðˆIˆIˆIð	øøøð ×3Ò3°IÑ>Ô>ˆØ')Ð$ÝŒ>ð 	<Ý!7Ñ!9Ô!9ÐØ+-¯7ª7ÝÔ%Ð&8Ñ9Ô9ñ,ô ,Ð(Ð(õ 0Ñ1Ô1°JÑ>ˆJÝ/°
Ñ;Ô;ˆJØ!Ÿwšw¥yÔ'<¸ZÑ'HÔ'HÑIÔIÐð ˆ?Ý6°s¸FÑCÔCˆFà#'×#HÒ#HÑ#JÔ#JÐ àH¨9°Q¬<ÐHÐH¸)ÀA¼,ÐHÐHØ+ 6Ð+Ð+ð"
Ðð $ð 	JØ"×)Ò)¨2Ð/GÐ*HÑIÔIÐIØ×%Ò% rÐ+AÐ&BÑCÔCÐCØŸ9š9Ð%;Ñ<Ô<¸tÑCÐåŒ>ð 	:ØØ/ð Lð Là'ðLð Lð LñÐÐð ¥Ð$8Ñ 9Ô 9Ñ9ÐåŒ×'Ò'Øðð ð OÐNÐNÐNð 	(ñ 	
ô 	
ð 	
õ ",¨CµÑ!=Ô!=ÐL�#”+�+Å4ÈÁ9Ä9ˆå×(Ò(­¬Ñ7Ô7ð	åð	õ 0Ô3°W¸oÐ4NÑOÔOð	õ Œ~ð QØ ØLñÐ ð ! D§I¢I¨dÔ.HÑ$IÔ$IÈDÑ$PÑPÐ å×!Ò!Ø ñô ð ð õ ×!Ò!ð AØ˜!”Ø˜!”Øñ	ô ð ð ˆŒ
ˆ
ˆ
s   ÁA1B4 Â4CÃCr�  útypes.CodeTypeúUnsupported | UserErrorc                óh   — t          ddt          | ¦  «        › �dg t          j        ¢|d¬¦  «         d S )Nzgraph break in loopzframe skipped: z“torch.compile detected a graph break in a for/while loop. Skipping the frame and falling back to eager, as graph breaks in loops are not supported.T)rÊ  rË  rÌ  rÍ  r8  r9  )r=   r8   r   rA  )r�  r   s     r«   râ  z0InstructionTranslatorBase.raise_loop_graph_break  sT   € õ 	Ø)Ø?Õ&7¸Ñ&=Ô&=Ð?Ð?ðhàDÕ%ÔCÐDØØð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r­   r†  r]  r®   r�  r’  rã  Úexportr+  rß   Údistributed_stateúDistributedState | Noner  útuple[types.CellType] | NonerÞ  údict[Instruction, int] | Nonec                ó¢  •— t          ¦   «                              ¦   «          || _        || _        || _        || _        || _        |	| _        |
| _        d | _	        g | _
        d| _        d | _        t          d¦  «        | _        d| _        g | _        g | _        d| _        d| _        d | _        d| _        g | _        || _        t1          d¬¦  «        | _        d| _        t7          ¦   «         | _        t;          d„ ¦  «        | _        i | _        || _         |�|ntC          | j         ¦  «        | _"        || _#        || _$        || _%        || _&        || _'        || _(        |�$tR          j*        rtW          |||¬¦  «        | _,        nd | _,        i | _-        i | _.        || _/        d	| _0        d	| _1        d	| _2        d | _3        d | _4        d| _5        d | _6        d	| _7        g | _8        || _9        d
dl:m;}m<}m=}m>} ||z  |z  }t~          j@        dk     r||z  }|jA        |z  r"|  B                    t‡          d ¦  «        ¦  «         || _D        d	| _E        d gt�          |jG        ¦  «        z  | _H        t’           J                    t–          jL        ¦  «        | _M        tœ           J                    t–          jL        ¦  «        | _O        t¡          jQ        |jR        |¦  «         d S )Nr   r  Tr“  rŸ  )Úmaxlenc                 ó*   — t          j        d¦  «        S ré   )rÍ  rÎ  r¥   r­   r«   r¸   z4InstructionTranslatorBase.__init__.<locals>.<lambda>Z  s   € ¥	¤°Ñ 2Ô 2€ r­   )r�  r  rå  Fr   )ÚCO_ASYNC_GENERATORÚCO_COROUTINEÚCO_GENERATORÚCO_ITERABLE_COROUTINErH  )Srl  rm  r+  r#  r/  rž  rŸ  r   r¡  r¢  r¤  rÊ   r®  r(   rï  r<  r  r>  rÄ  rÉ   rV  r¦  r§  r«  r   r´  r™  r!  r—  r   rÉ  rÊ  r†  r   rÞ  r]  r�  r’  rå  rã  r  r   Úreplay_record_enabledrL   r¬  Únn_module_stackÚ	num_callsr"  r?  rÎ   r
  rª  r­  r¯  rí  r°  r±  r³  Úresume_executionr*  r+  r,  r-  rd  rë  Úco_flagsrQ  rk   r¨  r©  ró   rs  rŒ  r  r  r   r  r  rû  rú  rò  Ú	lazycacher+  )rÔ   r/  r†  r]  r�  r’  rå  rž  rŸ  r   r¡  rã  r"  r¨  r+  r«  r#  r  r³  rÞ  r*  r+  r,  r-  Ú
push_typesro  s                            €r«   rm  z"InstructionTranslatorBase.__init__"  s2  ø€ õ0 	‰Œ×ÒÑÔÐØ.ˆÔØ!2ˆÔð ˆŒØ.ˆÔØ 0ˆÔØ-JˆÔ*Ø%:ˆÔ"ð -1ˆÔ)Ø,.ˆŒ
Ø#$ˆÔ ØˆÔÝ#5°eÑ#<Ô#<ˆÔ Ø(,ˆÔ%ØˆÔàUWˆÔ,Ø67ˆÔ.ØˆŒØˆŒØ"&ˆÔØˆÔØ(ˆÔÝ%*°"Ð%5Ñ%5Ô%5ˆÔ"Ø$%ˆÔ!Ý47±E´EˆÔ'õ Ð2Ð2Ñ3Ô3ð 	Ô$ð 57ˆÔ!ð 0<ˆÔàÐ*ˆGˆGµ¸DÔ<MÑ0NÔ0Nð 	Œð ð 	Œð *3ˆŒØ*4ˆŒØ)5ˆÔØ&,ˆŒØˆŒð Ð¥6Ô#?ÐÝ!2ØØØ)ð"ñ "ô "ˆDÔÐð "&ˆDÔð BDˆÔØ)+ˆŒàˆŒð ˆŒØ$)ˆÔ!à*/ˆÔ'à#'ˆÔ à $ˆÔà$(ˆÔ!ØˆŒØ&+ˆÔ#ØˆÔàˆŒð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð "Ð$9Ñ9Ð<NÑNˆ
ÝÔ˜gÒ%Ð%Ø˜,Ñ&ˆJØŒ?˜jÑ)ð 	-Ø�IŠI•o dÑ+Ô+Ñ,Ô,Ð,à(ˆÔØ).ˆÔ&àðP
å�Ô Ñ!Ô!ñP"ˆÔõ
 ×+Ò+­G¬MÑ:Ô:ð 	Ô*õ 9I×8UÒ8UÝŒMñ9
ô 9
ˆÔ(õ 	Ô˜FÔ.°	Ñ:Ô:Ð:Ð:Ð:r­   rû   r   )r¿   r½  )rÆ  r¾   r¿   r¾   )rÆ  r¾   r¿   rÐ   )rK  rg   r¶   r£  r)  r�  r¿   rÐ   )rK  rt   r¶   r£  r)  r�  r¿   rg   ©F)
rK  rt   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   )ry  rg   r¿   rÐ   )rR  r£  r¿   rÐ   ©r¿   rg   )r�  rÈ   r¿   r£  )ro  r”   r¿   rÐ   )rË   r.   r¿   rg   )rš  r¾   r¿   rR   )r½   r¾   r³  r¾   r³  rÈ   r¿   r¾   )r‡  r   r¿   rg   )rË   rÙ  r¿   rÐ   )ry  rg   r¿   rg   )r   r¼   r¿   rÐ   )ry  rg   rz  rÌ   r¿   r   )ry  rg   r¿   r$  )r1  r   r¿   rÐ   )ro  r   r¿   rÐ   )rU  rg   r½   r¾   r¿   rÐ   )rË   r.   r,  rÈ   r¿   r  )r2  rÈ   r�  r.   r”  rF   r‚  rƒ  r  r3   r„  rÌ   r…  rÌ   r¿   r†  ©rË   r.   rò  r±  r¿   r  )r‚  rƒ  rº  rå   r  r3   r¿   rÐ   )rU  rg   rÈ  rg   r¿   rÐ   )rË   r.   r  r_  r¿   rÐ   )r   rg   r,  rÈ   r¿   rg   )r0  rg   rû  rÈ   r¿   rÐ   )rË   r.   ru  rÌ   r¿   rÐ   )rˆ  rƒ  rË   r.   r¿   rg   )rˆ  rg   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å  rC   rÏ   r¾   r   r  r¿   rÐ   )r�  r  r   r   r¿   r   )NNN)(r/  rE   r†  r  r]  r®   r�  r®   r’  r®   rå  rC   rž  r�  rŸ  r�  r   r•   r¡  r‘   rã  r  r"  rÌ   r¨  rÈ   r+  rß   r«  rs  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  rd  rë  r  Úpropertyrê  r  r5  rK  rQ  rT  rè  rR  rb  rh  rl  rp  rn  r‰  ÚLOAD_CLOSUREr�  rƒ  r—  rY  Úcached_propertyr�  r   r¥  r   r™  r¹  rÂ  rÎ  ÚEAGER_IMPORT_NAMErÒ  r×  r”  rÿ  ÚJUMP_FORWARDÚJUMP_ABSOLUTEr  r„  Únot_r´  r…  r³  ÚJUMP_IF_FALSE_OR_POPÚJUMP_IF_TRUE_OR_POPrâ  rå  rç  rë  rî  rû  rý  r  r  rv  r   r  r  r0  r	  rA  rC  rK  rM  rO  r\  rQ  rV  rX  r_  rd  ri  rk  rg  rn  rÑ  rr  ru  ry  rw  Ústaticmethodr€  r*  rU  ré  r+  rà  r"  r   rË  rÔ  r×  rÙ  r  rà  r�   rå  rç  ÚBUILD_TUPLE_UNPACK_WITH_CALLrê  rî  ÚBUILD_MAP_UNPACK_WITH_CALLrñ  rõ  rü  rþ  r!  r  r#  r  r  r  r$  r#  r&  r(  rÐ  r+  r/  r7  r:  rB  rF  rK  r¾  rN  rQ  rS  ÚDICT_UPDATErU  rW  rY  r\  r`  rb  re  rh  r[  Úposr¥  ÚnegÚUNARY_NEGATIVErH  ÚinvertÚUNARY_INVERTÚpowÚBINARY_POWERÚmulÚBINARY_MULTIPLYÚmatmulÚBINARY_MATRIX_MULTIPLYÚfloordivÚBINARY_FLOOR_DIVIDEÚtruedivÚBINARY_TRUE_DIVIDEr\  ÚBINARY_MODULOÚBINARY_REMAINDERr  Ú
BINARY_ADDÚsubÚBINARY_SUBTRACTÚgetitemÚBINARY_SUBSCRÚlshiftÚBINARY_LSHIFTÚrshiftÚBINARY_RSHIFTÚand_Ú
BINARY_ANDÚor_Ú	BINARY_ORÚxorÚ
BINARY_XORÚipowÚINPLACE_POWERÚimulÚINPLACE_MULTIPLYÚimatmulÚINPLACE_MATRIX_MULTIPLYÚ	ifloordivÚINPLACE_FLOOR_DIVIDEÚitruedivÚINPLACE_TRUE_DIVIDEÚimodÚINPLACE_MODULOÚINPLACE_REMAINDERÚiaddÚINPLACE_ADDÚisubÚINPLACE_SUBTRACTÚilshiftÚINPLACE_LSHIFTÚirshiftÚINPLACE_RSHIFTÚiandÚINPLACE_ANDÚixorÚINPLACE_XORÚiorÚ
INPLACE_ORrk  ro  rM  rN  rŸ  rx  rL  r|  r~  r  ÚJUMP_BACKWARD_NO_INTERRUPTÚPOP_JUMP_FORWARD_IF_TRUEÚPOP_JUMP_BACKWARD_IF_TRUEÚPOP_JUMP_FORWARD_IF_FALSEÚPOP_JUMP_BACKWARD_IF_FALSEr€  r‚  r‡  r‰  rê  rj  r�  r’  r•  r›  r�  rŸ  r¡  r¨  r­  r¯  r±  rß  r·  r¹  r»  r½  ÚLOAD_FAST_BORROWr  r¿  rÅ  rÆ  rÈ  rØ   râ  r=  rÆ  rÅ  rÿ   r!  rÊ  rË  r  rÕ  rç  râ  rç  rë  Ú
contextlibÚcontextmanagerrð  r=  rö  rþ  r  rä  râ  rm  rp  rq  s   @r«   rÖ   rÖ   C  sI  ø€ € € € € € ð ÐÐÑØ/Ð/Ð/Ñ/Ø0Ð0Ð0Ñ0Ø=Ð=Ð=Ñ=Ø.Ð.Ð.Ñ.ØCÐCÐCÑCØ Ð Ð Ñ Ø#Ð#Ð#Ñ#Ø$Ð$Ð$Ñ$Ø"Ð"Ð"Ñ"Ø&Ð&Ð&Ñ&Ø€K€K�KØ%Ð%Ð%Ñ%ØÐÐÑØ#Ð#Ð#Ñ#ØÐÐÑØ#Ð#Ð#Ñ#Ø0Ð0Ð0Ñ0ØÐÐÑØ Ð Ð Ñ Ø+Ð+Ð+Ñ+Ø>Ð>Ð>Ñ>ØÐÐÑàÐÐÑØ,Ð,Ð,Ñ,ð !Ð Ð Ñ ØEÐEÐEÑEØ"Ð"Ð"Ñ"Ø%Ð%Ð%Ñ%ñ.ð .ð .ð .ñ$ð $ð $ð $ñL0ð 0ð 0ð 0ñ0ð 0ð 0ð 0ñð ð ð ñBð Bð Bð Bñ1ð 1ð 1ð 1ñ'ð 'ð 'ð 'ñ

ð 
ð 
ð 
ñ8ð 8ð 8ð 8ñ84ð 4ð 4ð 4ð$ +0ññ ð ð ð ñ*nñ nð nð nð nñð ð ð ñ	Wð 	Wð 	Wð 	Wñrð rð rð rðh Ô˜7Ò"Ð"ñ-	+ð -	+ð -	+ð -	+ð -	+ñb	ð 	ð 	ð 	ð ñ;ð ;ð ;ñ „Xð;ñIð Ið Ið IñV2ð 2ð 2ð 2ñM=ð M=ð M=ð M=ñ^ð ð ð ñ0ð ð ð ñ ð  ð  ð  ñ;ð ;ð ;ð ;ñ!+ð !+ð !+ð !+ñF
Vð 
Vð 
Vð 
Vñ	2ð 	2ð 	2ð 	2ñ'ð 'ð 'ð 'ñ)
ð )
ð )
ð )
ñV/ð /ð /ð /ð  €Lñ
ð 
ð 
ð 
ñ*ð *ð *ð *ñJð Jð Jð Jð, ÔñJð Jð Jñ ÔðJñ!ð !ð !ð !ñEð Eð Eð Eð( ñ#ð #ð #ñ „\ð#ñ2
2ð 
2ð 
2ð 
2ñð ð ð ñ:;ð ;ð ;ð ;ð| $Ðñ%ð %ð %ð %ð ñ4ð 4ð 4ñ „\ð4ñ.>ð >ð >ð >ñ4ð 4ð 4ð 4ð €LØ€Mà$˜ X¤]°EÑ:Ô:ÐØ#�| H¤N°EÑ:Ô:ÐØ'˜<¨¬°tÑ<Ô<ÐØ&˜, x¤~°tÑ<Ô<ÐñUð Uð Uð UñUð Uð Uð Uñð ð ð ñ(ð (ð (ð (ñUð Uð Uð Uñ
#ð #ð #ð #ñJð ð ð ñ
ð 
ð 
ð 
ñ(8
ð 8
ð 8
ð 8
ñt(ð (ð (ð (ñTð ð ð ñ"Cð Cð Cð Cñ..ð .ð .ð .ñ,)ð ,)ð ,)ð ,)ñ\D'ð D'ð D'ð D'ñL<ð <ð <ð <ñ:$ð $ð $ð $ñ0Rð Rð Rð RñhLð Lð Lð Lñð ð ð ð  ÐØØuðñ ô ñPð Pð Pñ	ô ðPñ
Tð 
Tð 
Tð 
Tð  ÐØØðñ ô ñ)ð )ð )ñ	ô ð)ð
  ÐØØðñ ô ñ@;ð @;ð @;ñ	ô ð@;ðD  ÐØðAðñ ô ñ
-ð -ð -ñô ð
-ñ"Gð Gð Gð Gñ ð  ð  ð  ñð ð ð ñ"
ð 
ð 
ð 
ñ
ð ð ð ñ%ð %ð %ð %ð  ÐØð Aðñ ô ñ
ð 
ð 
ñ	ô ð
ñ
ð 
ð 
ð 
ñ8ð 8ð 8ð 8ð ñð ð ñ „\ðñ@}%ð }%ð }%ð }%ñ~#
ð #
ð #
ð #
ñJh%ð h%ð h%ð h%ðT ñJ?ð J?ð J?ñ „\ðJ?ñX
ð 
ð 
ð 
ð(  ÐØØ~ðñ ô ñ=ð =ð =ñ	ô ð=ñ8ð 8ð 8ð 8ñ4ð 4ð 4ð 4ñ((ð (ð (ð (ñ1ð 1ð 1ð 1ñð ð ð ñ6ð 6ð 6ð 6ñ
ð 
ð 
ð 
ð @Lð @ñ @ð @ð @ð @ñ 8ð 8ð 8ð 8ð $6Ð ñ2ð 2ð 2ð 2ñ
ð 
ð 
ð 
ð* "2Ðñ
ð 
ð 
ð 
ñ&9ð 9ð 9ð 9ñ.ð .ð .ð .ñ1ð 1ð 1ð 1ñð ð ð ñ5ð 5ð 5ð 5ñnð ð ð ñ ð ð ð ð:  ÐØÐNðñ ô ñ
ð 
ð 
ñô ð
ñ4ð 4ð 4ð 4ñ
ð ð ð ñð ð ð ñð ð ð ñð ð ð ñð ð ð ñ
ð ð ð ñð ð ð ñNð Nð Nð Nñ,3ð 3ð 3ð 3ñ 
ð  
ð  
ð  
ñDGð Gð Gð Gñ	!ð 	!ð 	!ð 	!ñ1ð 1ð 1ð 1ñ
ð 
ð 
ð 
ñ
%ð %ð %ð %ñ41ð 1ð 1ð 1ð €Kñð ð ð ñ@ð @ð @ð @ñ
ð 
ð 
ð 
ñ
ð 
ð 
ð 
ñVð Vð Vð Vñ Vð Vð Vð Vñ$Cð Cð Cð CñDð Dð Dð Dð �X˜hœlÑ+Ô+€NØ�X˜hœlÑ+Ô+€NØ�˜œÑ'Ô'€IØ�8˜HœOÑ,Ô,€Là�8˜HœLÑ)Ô)€LØ�h˜xœ|Ñ,Ô,€OØ%˜X h¤oÑ6Ô6ÐØ"˜( 8Ô#4Ñ5Ô5ÐØ!˜ (Ô"2Ñ3Ô3ÐØ�H˜Xœ\Ñ*Ô*€MØ�x ¤Ñ-Ô-ÐØ�˜(œ,Ñ'Ô'€JØ�h˜xœ|Ñ,Ô,€OðÐ.Ð.ØØuðñ ô ð €hˆxÔÑ Ô ñ"ô "€Mð �H˜Xœ_Ñ-Ô-€MØ�H˜Xœ_Ñ-Ô-€MØ�˜(œ-Ñ(Ô(€JØ�˜œÑ&Ô&€IØ�˜(œ,Ñ'Ô'€Jà�H˜Xœ]Ñ+Ô+€MØ�x ¤Ñ.Ô.ÐØ&˜h xÔ'7Ñ8Ô8ÐØ#˜8 HÔ$6Ñ7Ô7ÐØ"˜( 8Ô#4Ñ5Ô5ÐØ�X˜hœmÑ,Ô,€NØ ˜ ¤Ñ/Ô/ÐØ�(˜8œ=Ñ)Ô)€KØ�x ¤Ñ.Ô.ÐØ�X˜hÔ.Ñ/Ô/€NØ�X˜hÔ.Ñ/Ô/€NØ�(˜8œ=Ñ)Ô)€KØ�(˜8œ=Ñ)Ô)€KØ�˜(œ,Ñ'Ô'€Jñ	Xð 	Xð 	Xð 	Xð Ô˜7Ò"Ð"ñ	;ð 	;ð 	;ð 	;ñ
ñ ð ð ñ@ñ @ð @ð @ñ"ñ "ð "ð "ñ7!ñ 7!ñ 7!ð 7!ð 7!ðr  ÐØÙiðñ ô ññ ð ñ	ô ðñ)ñ )ð )ð )ñ
Vñ Vð Vð Vð
 €MØ!%Ðà+˜|¨H¬N¸EÑBÔBÐØ , ¨X¬^¸UÑ CÔ CÐØ , ¨X¬]¸EÑ BÔ BÐØ!- ¨h¬m¸UÑ!CÔ!CÐññ ð ð ñ(ñ (ð (ð (ñ&ñ &ð &ð &ðP ñ
ñ 
ð 
ñ „\ð
ñ -ñ -ð -ð -ñ$'ñ 'ð 'ð 'ñ
*ñ *ð *ð *ñ&ñ &ð &ð &ñ&ñ &ð &ð &ñ/ñ /ð /ð /ññ ð ð ñ;ñ ;ð ;ð ;ñ)ñ )ð )ð )ññ ð ð ñ0ñ ð ð ñ2ñ ð ð ð  ÐØñAðñ ô ñ
'ñ 'ð 'ñô ð
'ññ ð ð ñ.ñ .ð .ñ .ñ`=ñ =ð =ñ =ñ
?ñ ?ð ?ñ ?ñ*ñ *ð *ñ *ð !ÑØ�Iññ ð ñ ñÑñ!ñ !ð !ñ !ñ@<ñ <ð <ñ <ñ 	ÙÙÙÙÙÙØÙ
ØØÙ
ðÑñQñ Qð Qñ Qñ
ñ ð ñ ð ;?ñ	
ñ 	
ñ 	
ð 	
ñ 	
ñ
ñ 
ð 
ñ 
ñ>ñ >ð >ñ >ñ
ñ ð ñ ð ñ5ñ 5ð 5ñ „Xñ5ñ Õñ*ñ *ð *ñ Ôñ*ñ
ñ 
ð 
ñ 
ñ"ñ "ð "ñ "ñ+ñ +ð +ñ +ñ(Iñ Ið Iñ Iñ&pñ pð pñ pðd ñ
ñ 
ð 
ñ „\ñ
ð@ 15Ø)-à15ñ-M;ñ M;ð M;ð M;ñ M;ð M;ñ M;ð M;ð M;ñ M;ð M;r­   )Ú	metaclassc                  ó’   ‡ — e Zd Zed-d„¦   «         Zej        d.d„¦   «         Zd/ˆ fd!„Zd0d"„Z	d1d%„Z
d2d&„Zd0d'„Zd3d*„Zd3d+„Zd3d,„Zˆ xZS )4rO  r¿   c                 ó   — t           j        S r±   )Útlsrü  r¥   r­   r«   rü  z InstructionTranslator.current_tx³  s
   € åŒ~Ðr­   r   c              #  ó  K  — t          t          dd ¦  «        }| t          _        	 d V — |�|t          _        d S t          t          d¦  «        r	t          `d S d S # |�|t          _        nt          t          d¦  «        rt          `w xY w)Nrü  )r–  rŽ  rü  r<  )rÔ   rï  s     r«   Úset_current_txz$InstructionTranslator.set_current_tx·  s—   è è € å�˜\¨4Ñ0Ô0ˆØ�Œð	#ØˆEˆEˆEàÐ Ø!&•”��Ý�˜lÑ+Ô+ð #Ý�N�N�Nð#ð #øð Ð Ø!&•”�Ý�˜lÑ+Ô+ð #Ý�NÐ"Ð"Ð"Ð"s   ¦A Á-Br†  r  rã  r  r]  r®   r�  r’  r  útuple[Any, ...] | NoneÚtorch_function_mode_stackrå  rC   Úcompiler_fnr?  rÌ   r"  Úexport_constraintsÚframe_stater+  rß   r«  rs  r#  r$  r³  r²  rÐ   c                ó2  •—  t          ¦   «         t          j        d|j        › d|d         › d|d         › �¦  «         t	          ¦   «                              t          ||	| ||||||||
|¬¦  «        ||||||i i d d ||d||||¬¦  «         |                      ¦   «          t          | j	        j
        ¦  «        5  |                      ¦   «         5  |
| _        || _        | j        r| j        st          d	¦  «        ‚i | _        t!          |                      ¦   «         ¦  «        }d }d }|j        |j        z   }|j        t*          z  r|j        |         }|d
z  }|j        t.          z  r|j        |         }t1          j        |¦  «                             dd ¦  «        }|                     ¦   «         D ]}\  }}||vrtd }|r5t9          |                     |i ¦  «                             ¦   «         ¦  «        }t;          j        |t?          |d|||k    ||k    ¬¦  «        | ¬¦  «        }|| j        |<   Œ~| j	        j         }|  !                    ¦   «         D ]‡}||v r\||         }t?          |dd¬¦  «        }t;          j        ||| ¬¦  «        }| "                    ¦   «         }| #                    ||¦  «         n| "                    ¦   «         }||_$        || j        |<   Œˆ|€t          d¦  «        ‚tK          |  &                    ¦   «         |¦  «        D ]Ž\  }}tO          |¦  «        } t?          |d¬¦  «        }	 t;          j        |j(        || ¬¦  «        }n## tR          $ r tU          j+        ¦   «         }Y nw xY w| ,                    | ||¦  «        }||_$        || j        |<   Œ�t[          |d¬¦  «        | _.        t_          ¦   «         | _0        |r)tT          j         1                    | j        ¦  «        | _        d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nztorchdynamo start tracing rþ  r+  rð   r,  )Úlocal_scoper°  rã  r’  r?  r³  r   )r/  r†  r]  r�  r’  r  rå  rž  rŸ  r   r¡  rã  r"  r¨  r+  r«  r#  r³  z4Export without one graph - something has gone wrong.r   ÚdynamismT)Úis_inputr˜  Ú
is_varargsÚis_varkwrÖ  )r™  Úis_derefed_cell_contentsz'expected closure is not None to be true)rœ  F)Ú	skip_next)2r(  r   ÚINFOrì  rl  rm  rE   Ú_throw_if_in_functorchr   r/  rê  r�  r?  r"  rØ   rž  r!  rÕ  Úco_argcountÚco_kwonlyargcountr2  ru   Úco_varnamesrv   r2   r›  r•  r
  Ú	frozensetr~   r‹  rU   r?  rÁ  rŽ  r‡  rˆ  ra  rÅ  rT   Úcell_contentsr  r   ÚDeletedVariableÚtrack_cell_existingr•   r   r‘   r¡  Úrealize_all)"rÔ   r†  rã  r]  r�  r’  r  r’  rå  r“  r?  r"  r”  r•  r+  r«  r#  r³  rÕ  Úvarargs_nameÚ
varkw_nameÚ_vararg_idxr˜  r½   r   Úlocal_dynamismro  r?  Úcontents_sourcerg  Úcell_varrf  Úcell_sourcero  s"                                    €r«   rm  zInstructionTranslator.__init__Ã  s’  ø€ ð( 	�‰ŒÝŒLØx¨¬ÐxÐx¸,À}Ô:UÐxÐxÐXdÐeuÔXvÐxÐxñ	
ô 	
ð 	
õ 	‰Œ×ÒÝØØØØØ"ØØ$Ø&ØØ*CØ#Øðñ ô ð &ØØØ!ØØ%ØàØ*.Ø"&ØØØØ+Ø%Ø/ØðA 	ñ !	
ô !	
ð !	
ðF 	×#Ò#Ñ%Ô%Ð%õ �T”[Ô0Ñ1Ô1ð w	ð w	°4×3FÒ3FÑ3HÔ3Hð w	ð w	Ø#,ˆDŒNØ ˆDŒKØŒ{ð Ø”~ð Ý(ØNñô ð ð $&ˆDÔ å*-¨d×.DÒ.DÑ.FÔ.FÑ*GÔ*GÐð (,ˆLØ%)ˆJØ Ô,¨vÔ/GÑGˆKØŒ¥Ñ+ð !Ø%Ô1°+Ô>�Ø˜qÑ �ØŒ¥Ñ/ð =Ø#Ô/°Ô<�
å#Ô/°Ñ7Ô7×;Ò;¸JÈÑMÔMˆHØ'Ÿ~š~Ñ/Ô/ð 5ð 5‘��eØÐ0Ð0Ð0Ø%)�NØð SÝ)2°8·<²<ÀÀbÑ3IÔ3I×3OÒ3OÑ3QÔ3QÑ)RÔ)R˜Ý-Ô4ØÝ#Ø Ø%)Ø%3Ø(,°Ò(<Ø&*¨jÒ&8ðñ ô ð  ð
ñ 
ô 
�Cð 25�DÔ(¨Ñ.øð  œ;Ô3ˆLØŸš™œð %6ð %6�Ø˜8Ð#Ð#à$ TœN�Eõ* '2ØØ!%Ø15ð'ñ 'ô '�Oõ
 5HÔ4NØ˜°4ð5ñ 5ô 5�Lð  ,×:Ò:Ñ<Ô<�HØ ×+Ò+¨H°lÑCÔCÐCÐCà+×:Ò:Ñ<Ô<�HØ&*�Ô#Ø-5�Ô$ TÑ*Ð*ð ˆÝ$Ð%NÑOÔOÐOÝ! $§-¢-¡/¤/°7Ñ;Ô;ð 6ð 6‘
��dÝ-¨dÑ3Ô3�Ý"-¨dÈTÐ"RÑ"RÔ"R�ð?Ý#6Ô#=ØÔ*¨OÀð$ñ $ô $�L�Løõ "ð ?ð ?ð ?å#,Ô#<Ñ#>Ô#>�L�L�Lð?øøøð (×;Ò;Ø  |ñô �ð '+�Ô#Ø-5�Ô$ TÑ*Ð*å1KØ)Øð2ñ 2ô 2ˆDÔ.õ
 *=Ñ)>Ô)>ˆDÔ&àð õ (1Ô'D×'PÒ'PØÔ(ñ(ô (�Ô$ðkw	ð w	ð w	ñ w	ô w	ð w	ð w	ð w	ð w	ð w	ð w	øøøð w	ð w	ð w	ð w	ð w	ð w	ð w	ñ w	ô w	ð w	ð w	ð w	ð w	ð w	ð w	ð w	øøøð w	ð w	ð w	ð w	ð w	ð w	s\   Â7PÃIO4Ì+MÍO4ÍM(	Í%O4Í'M(	Í(B O4Ï(PÏ4O8	Ï8PÏ;O8	Ï<PÐPÐPc                óV  — t           j                             d¦  «        }t          j        | j        j        d| j        j        ¦  «        }t           j        j         	                    ¦   «         }t           j        j        j
        j        t           j        j        j
        j        t           j        j        j
        j        f}|�f|                     ¦   «         |v rR||urP|                     ¦   «         j                             ¦   «         }d|› d|› d|› d�}t#          dd|g ¬	¦  «         d S d S d S d S )
NÚeagerr“  zhIf you are reaching here, it means dynamo failed for one of the following reasons:
- Calling torch.func.zP(compiled_fn) function from eager mode is not supported. Ensure that torch.func.zp is also wrapped within a torch.compile function. For more information, see PyTorch issue #128711.
- torch.func.z2(fn) requires the function to be inlined by dynamoz%Unsupported functorch tracing attemptrï   rÉ  )r¥  Ú_dynamoÚlookup_backendrV  Úgetattr_staticr/  r“  Ú_CÚ
_functorchÚpeek_interpreter_stackÚTransformTypeÚVmapÚGradÚJvprÈ  r½   Úlowerr=   )rÔ   r°  r“  ÚciÚforbidden_keysr½   rk  s          r«   rŸ  z,InstructionTranslator._throw_if_in_functorch{  sF  € å”×,Ò,¨WÑ5Ô5ˆÝÔ,ØŒKÔ# ]°D´KÔ4Kñ
ô 
ˆõ ŒXÔ ×7Ò7Ñ9Ô9ˆåŒHÔÔ-Ô2ÝŒHÔÔ-Ô2ÝŒHÔÔ-Ô1ð
ˆð ˆ>˜bŸfšf™hœh¨.Ð8Ð8¸[ÐPUÐ=UÐ=UØ—6’6‘8”8”=×&Ò&Ñ(Ô(ˆDðYà(,ðYð Yð +/ðYð Yð !%ðYð Yð Yð õ Ø?ØØØð	ñ ô ð ð ð ð ˆ>Ð8Ð8Ð=UÐ=Ur­   r¯  rW   c                ó¬   — t          |t          ¦  «        r| j        |j                 S t          |t          ¦  «        r| j        |j                 S t          ‚r±   )r`  rU   r]  rˆ  rR   r�  ræ  r`  )rÔ   r¯  s     r«   Úget_example_valuez'InstructionTranslator.get_example_valueš  sK   € Ý�f�kÑ*Ô*ð 	4Ø”= Ô!2Ô3Ð3Ý�f�lÑ+Ô+ð 	6Ø”> &Ô"4Ô5Ð5Ýˆr­   c                óÐ   — | j                              ¦   «         D ]K}t          |t          ¦  «        r4t	          |                     ¦   «         t          j        j        ¦  «        r dS ŒLdS )NTF)	rž  rß  r`  r˜   rF  rþ  r¥  ÚnnÚModule)rÔ   rª   s     r«   Ú$symbolic_locals_contain_module_classz:InstructionTranslator.symbolic_locals_contain_module_class¡  sh   € ØÔ%×,Ò,Ñ.Ô.ð 	ð 	ˆAÝ˜!Õ5Ñ6Ô6ð ½:Ø×$Ò$Ñ&Ô&­¬¬ñ<ô <ð ð �t�tøØˆur­   c                óè   — t          | j        ¦  «        rY| j        d         x}rLt          |t          ¦  «        r9t	          t          | |¦  «        t          ¦   «         ¬¦  «        | j        d<   d S d S d S d S )Nr“  rÜ  )ró   r¤  r`  rx   r€   rc   rf   )rÔ   r  s     r«   Ú"replace_tos_if_return_is_generatorz8InstructionTranslator.replace_tos_if_return_is_generator©  sŽ   € å�”
‰OŒOð	àœ
 2œÐ&�ð	õ ˜3Õ <Ñ=Ô=ð	õ
 2Ý  cÑ*Ô*Ý.Ñ0Ô0ðñ ô ˆDŒJ�r‰NˆNˆNð	ð 	ð 	ð 	ð 	ð 	r­   rË   r.   c                ó†  — |                       ¦   «          | j        €t          d¦  «        ‚| j        €t          d¦  «        ‚t	          ¦   «                              d| j        | j        z
  ¦  «         t          j        s}| j         	                    ¦   «         dk    r`| j
        sY|                      ¦   «         sE| j        s>| j        s7| j        s0| j        s)t!          j        dt%          | j        ¦  «        › �¦  «        ‚d | _         t)          ¦   «         t*          j        d| j        j        › d|j        › d�¦  «         t2                               d	¦  «         | j                             | t9          d
|                      ¦   «         gd¬¦  «        |j        dk    rdnd¬¦  «        }t=          |¦  «        dk    rt          d¦  «        ‚|d         j        rt          d¦  «        ‚| j                              |  !                    ||d         j"        ¦  «        t          j#        rd|  $                    d¦  «        › �gnd ¦  «         tJ          ‚)Nr  rÛ  rÜ  r   zhNo ops traced for the FX graph. `torch.compile` will skip the frame and fall back to eager.
Frame info: ztorchdynamo done tracing rò   r¬  zreturn triggered compileÚreturn_valueF)r:  r¸  r   rÙ  z7expected len(all_stack_locals_metadata) == 1 to be truezEexpected not all_stack_locals_metadata[0].stack_null_idxes to be truez__ret = r¤  )&rÅ  rÊ   rØ   r®  r^   rÝ  r   Úallow_empty_graphsr/  rÏ  r©  rÃ  r"  r?  rÎ   r
  r   Ú	SkipFramer8   rã  r(  r   rž  rì  rõ   r'  r¾  ræ  rD   rç  ró   r™  rì  r€  r,  Úgenerate_pycoderÒ  rH  )rÔ   rË   rò  s      r«   Ú_returnzInstructionTranslator._return´  sœ  € Ø×/Ò/Ñ1Ô1Ð1ØÔ#Ð+Ý ØJñô ð ð ÔÐ#Ý Ð!SÑTÔTÐTÝÑÔ×'Ò'Ø˜Ô0°4Ô3CÑCñ	
ô 	
ð 	
õ
 Ô)ð	à”×'Ò'Ñ)Ô)¨QÒ.Ð.ØÔ2ð /à×=Ò=Ñ?Ô?ð /ð ”Kð /ð ”Nð	 /ð
 Ô-ð /ð Ô3ð /õ ”-ð@Ý0°´Ñ=Ô=ð@ð @ñô ð ð
 $(ˆÔ Ø�‰ŒÝŒLØM¨¬Ô(;ÐMÐM¸t¼{ÐMÐMÐMñ	
ô 	
ð 	
õ 	�	Š	Ð,Ñ-Ô-Ð-Ø$(¤K×$@Ò$@ØÝ%Ø ×!3Ò!3Ñ!5Ô!5Ð 6ÀEðñ ô ð !œK¨>Ò9Ð9�q�q¸qð %Añ %
ô %
Ð!õ Ð(Ñ)Ô)¨QÒ.Ð.Ý ØIñô ð ð % QÔ'Ô8ð 	Ý ØWñô ð ð 	Œ×+Ò+Ø×)Ò)¨$Ð0IÈ!Ô0LÔ0VÑWÔWåÔ%ðÐ?˜×4Ò4°WÑ=Ô=Ð?Ð?Ð@Ð@àñ		
ô 	
ð 	
õ Ðr­   c                ó0   — |                       |¦  «         d S r±   ©rË  r  s     r«   r¸  z"InstructionTranslator.RETURN_VALUEï  ó   € Ø�Š�TÑÔÐÐÐr­   c                ó0   — |                       |¦  «         d S r±   rÍ  r  s     r«   r¹  z"InstructionTranslator.RETURN_CONSTò  rÎ  r­   )r¿   rO  r7  )$r†  r  rã  r  r]  r®   r�  r®   r’  r®   r  r‘  r’  r   rå  rC   r“  r   r?  rÌ   r"  rÌ   r”  r   r•  r   r+  rß   r«  rs  r#  r$  r³  r²  r¿   rÐ   rû   )r¯  rW   r¿   r   r   r6  )rÚ   rÛ   rÜ   rD  rü  r‰  rŠ  r�  rm  rŸ  r¿  rÃ  rÅ  rË  r¸  r¹  rp  rq  s   @r«   rO  rO  ²  s  ø€ € € € € Øðð ð ñ „\ðð Ôð	#ð 	#ð 	#ñ Ôð	#ðvð vð vð vð vð vðpð ð ð ð>ð ð ð ðð ð ð ð	ð 	ð 	ð 	ð9ð 9ð 9ð 9ðvð ð ð ðð ð ð ð ð ð ð r­   rO  rH  c           	     óp   — g | ]3\  }}t          t          d |v r
|dd…         nd|dd…         › �¦  «        ‘Œ4S )ÚINPLACErÝ  NÚBINARY_)r–  rO  )r¨   rõ   r·   s      r«   rq  rq  ÷  se   € ð ð ð ñ
 ˆF�Aõ	 	Ý!Ø# vÐ-Ð-ˆF�1�2�2ŒJˆJÐ3I¸VÀAÀBÀB¼ZÐ3IÐ3Iñ	
ô 	
ðð ð r­   r/  rE   r�  r  Úget_inline_depthúCallable[[], int]c              #  óì  K  — t           j        sdV — dS | j        €t          ¦   «         | _        | j                             ¦   «         }| j                             ¦   «         }| j                             |j        |j        |j	        t          j        ¦   «         ¦  «         d}	 dV — d}| j                             ¦   «         }t          j        ¦   «         }|rµ|�µ |¦   «         }||j        z
  }	|	|j        z
  }
t          |j        |j        |j        |	|
t'          |j        ¦  «        ||r|d         nd|r|d         nd|r|d         nd|j        |¬¦  «        }| j                             |¦  «         | j                             |	¦  «         dS dS dS # | j                             ¦   «         }t          j        ¦   «         }|r´|�³ |¦   «         }||j        z
  }	|	|j        z
  }
t          |j        |j        |j        |	|
t'          |j        ¦  «        ||r|d         nd|r|d         nd|r|d         nd|j        |¬¦  «        }| j                             |¦  «         | j                             |	¦  «         w w w xY w)a[  
    Context manager for profiling inline calls.

    Args:
        output: The OutputGraph containing profiler_state
        code: The code object being inlined (for timing metadata)
        get_inline_depth: Callable that returns inline_depth (called after work completes)

    Yields:
        None (profiling happens around the with block)
    NFTr   r   r  )Ú	func_namerÇ   ÚfirstlinenoÚ
cumtime_nsÚ
tottime_nsÚbytecode_countr¨  Úcaller_func_nameÚcaller_filenameÚcaller_firstlinenoÚis_primitive_callÚ
call_stack)r   Údynamo_profilerÚprofiler_stater   Úget_current_callerÚget_call_stackrQ  rì  r+  r,  ÚtimeÚtime_nsrè  Ústart_time_nsÚchild_time_nsr   rÖ  rÇ   r×  ró   Úco_coderÞ  Úrecord_timingÚadd_child_time)r/  r�  rÓ  Úcaller_inforß  Útrace_successÚstack_entryÚtrace_end_nsr¨  rØ  rÙ  Útimings               r«   Úprofile_inline_callrð     sÅ  è è € õ" Ô!ð ØˆˆˆØˆàÔÐ$Ý 3Ñ 5Ô 5ˆÔàÔ'×:Ò:Ñ<Ô<€KØÔ&×5Ò5Ñ7Ô7€Jà
Ô×ÒØŒ�dÔ&¨Ô(;½T¼\¹^¼^ñô ð ð €Mð=ØˆˆˆØˆàÔ+×/Ò/Ñ1Ô1ˆÝ”|‘~”~ˆàð 	=˜[Ð4Ø+Ð+Ñ-Ô-ˆLØ%¨Ô(AÑAˆJØ# kÔ&?Ñ?ˆJå(Ø%Ô/Ø$Ô-Ø'Ô3Ø%Ø%Ý" 4¤<Ñ0Ô0Ø)Ø3>Ð!H ¨Q¤ ÀDØ2=Ð G ¨A¤ À4Ø5@Ð#J ;¨q¤> >ÀdØ"-Ô"?Ø%ðñ ô ˆFð Ô!×/Ò/°Ñ7Ô7Ð7ØÔ!×0Ò0°Ñ<Ô<Ð<Ð<Ð<ð)	=ð 	=Ð4Ð4øð Ô+×/Ò/Ñ1Ô1ˆÝ”|‘~”~ˆàð 	=˜[Ð4Ø+Ð+Ñ-Ô-ˆLØ%¨Ô(AÑAˆJØ# kÔ&?Ñ?ˆJå(Ø%Ô/Ø$Ô-Ø'Ô3Ø%Ø%Ý" 4¤<Ñ0Ô0Ø)Ø3>Ð!H ¨Q¤ ÀDØ2=Ð G ¨A¤ À4Ø5@Ð#J ;¨q¤> >ÀdØ"-Ô"?Ø%ðñ ô ˆFð Ô!×/Ò/°Ñ7Ô7Ð7ØÔ!×0Ò0°Ñ<Ô<Ð<Ð<ð)	=Ð4øøøs   Â!F ÆC%I3c                  ó  ‡ — e Zd ZU dZded<   ded<   e	 d6d7d„¦   «         Zed8d„¦   «         Ze	 d6d9d„¦   «         Z	d:d„Z
	 d6d;ˆ fd"„Zed<d$„¦   «         Zd=d%„Zd>d&„Zd>ˆ fd'„Zd?ˆ fd-„Zd@d.„Zd@d/„ZdAd3„Zd@ˆ fd4„Zd@ˆ fd5„Zˆ xZS )Brè  z Trace and inline a called methodr@  Úsymbolic_resultrÖ   rí  Fr   Úfuncrt   r¶   r£  r)  r�  rã  rÌ   r¿   rg   c                óî   ‡— d }t          ‰j        |                     ¦   «         ˆfd„¦  «        5  |                      ‰||||¬¦  «        }|                     ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nc                 ó   •— ‰ j         dz   S r‘  ©r¨  )rí  s   €r«   r¸   z;InliningInstructionTranslator.inline_call.<locals>.<lambda>P  s   ø€ °FÔ4GÈ!Ñ4K€ r­   rå  )rð  r/  rç  Úbuild_inline_tracerÚinline_call_)r  rí  ró  r¶   r)  rã  Útracers    `     r«   ré  z)InliningInstructionTranslator.inline_callE  sÕ   ø€ ð ˆÝ ØŒM˜4Ÿ=š=™?œ?Ð,KÐ,KÐ,KÐ,Kñ
ô 
ð 
	)ð 
	)ð ×,Ò,ØØØØØ*Cð -ñ ô ˆFð ×&Ò&Ñ(Ô(ð
	)ð 
	)ð 
	)ð 
	)ñ 
	)ô 
	)ð 
	)ð 
	)ð 
	)ð 
	)ð 
	)ð 
	)øøøð 
	)ð 
	)ð 
	)ð 
	)ð 
	)ð 
	)s   ¯.A*Á*A.Á1A.útrace_rules.SkipResultc                óÊ  — |                       ¦   «         r t          dt          | ¦  «        dg ¬¦  «         t          | t          ¦  «        rœt          j        |                      ¦   «         dd¦  «        rtt          j        |                      ¦   «         dd ¦  «        }t          dt          |                      ¦   «         ¦  «        d|                      ¦   «         › d	|› d
�dg¬¦  «         t          j	        | d¬¦  «        }|j
        ràddlm} t          | d¦  «        r8t          | j        d¦  «        r#| j        j        |u rt          j        dd¦  «        S t          | d¦  «        r| j        j        nd}d|› d�g}d|                      ¦   «         vr|d|› d�dgz  }t          dd|› d|                      ¦   «         › d|                      ¦   «         › d|j        › �d|› d �|¬¦  «         |S )!NzInline attempt with __self__z–Attempted to inline a function with the `__self__` attribute. Dynamo is expected to decompose method calls into function calls with a `self` argument.rÉ  Ú_torchdynamo_disableFÚ_torchdynamo_disable_msgz2Skip inlining `torch.compiler.disable()`d functionzSkip inlining function z= since it was wrapped with `torch.compiler.disable` (reason: r¬  z(Remove the `torch.compiler.disable` callT)Úis_inlined_callr   )Ú!produce_trampoline_autograd_applyrK  Ú_originz"allowlist in dynamo known functionrï   zAvoid calling the function `rd  r±  z:Apply `@torch._dynamo.dont_skip_tracing` to the function `zw` to force tracing into the function. More graph breaks may occur as a result of attempting to trace into the function.z Please file an issue to PyTorch.z.Attempted to inline function marked as skippedz
qualname: z, name: z, filename: `z`, skip reason: z?Dynamo developers have intentionally marked that the function `z` should not be traced.)Úhas_selfr=   r¾   r`  r{   rV  r³  Úget_functionr   Úcheck_verboseÚskippedÚtorch._dynamo.variables.miscrÿ  r<  rK  r   Ú
SkipResultrÜ   Úget_filenameÚget_namerÏ   )ró  rk  r  rÿ  Úfn_qualnamerÍ  s         r«   Úcheck_inlineablez.InliningInstructionTranslator.check_inlineable[  s±  € ð �=Š=‰?Œ?ð 	ÝØ6Ý˜D™	œ	ðkàðñ ô ð õ �dÕ0Ñ1Ô1ð 	µgÔ6LØ×ÒÑÔÐ!7¸ñ7
ô 7
ð 	õ Ô(Ø×!Ò!Ñ#Ô#Ð%?Àñô ˆCõ ØLÝ˜D×-Ò-Ñ/Ô/Ñ0Ô0ðA°d×6GÒ6GÑ6IÔ6Ið Að AØ:=ðAð Að Að ?ððñ ô ð õ Ô*¨4ÀÐFÑFÔFˆØŒ>ð  	ØVÐVÐVÐVÐVÐVõ
 ˜˜dÑ#Ô#ðå˜DœG YÑ/Ô/ðð ”G”OÐ'HÐHÐHõ #Ô-ØÐ?ñô ð õ 3:¸$ÀÑ2EÔ2EÐM˜$œ'Ô.Ð.È2ˆKà>¨{Ð>Ð>Ð>ðˆEð  × 1Ò 1Ñ 3Ô 3Ð3Ð3ØðhÐQ\ð hð hð hð 7ð	ñ �õ ØHðS [ð Sð S¸$¿-º-¹/¼/ð Sð SØ"×/Ò/Ñ1Ô1ðSð SØCIÄ=ðSð Sð(Ð^ið (ð (ð (àðñ ô ð ð ˆr­   c                ó6
  ‡ ‡‡‡— t          |t          t          t          f¦  «        st	          d¦  «        ‚|                     ¦   «         Šd }‰ j        j        }t          j	        s!|r|j
                             ‰d ¦  «        x}r|}|€Jt                               |¦  «        }|j        durt	          d¦  «        ‚t          j	        s|r
||j
        ‰<   d }	 |                     ‰ ||¦  «        }n¡# t           $ r”}	t#          dd|                     ¦   «         › d|                     ¦   «         › d|                     ¦   «         j        › dd	„ |D ¦   «         › d
|› �
d|                     ¦   «         › d�g t*          j        ¢|	¬¦  «         Y d }	~	nd }	~	ww xY w|€t	          d¦  «        ‚t/          j        |                     ¦   «         ¦  «        D ]<}
t          |
t4          ¦  «        s%t#          dd|› d|
› �dg t*          j        ¢¬¦  «         Œ=‰j        dv rU|r,t          |d         t:          j        t:          j        f¦  «        s't#          dd‰j        › d|› �d‰j        › d�g ¬¦  «         d}t@          j!        j"        j#         $                    d¦  «        r)dtK          j&        ‰¦  «         %                    ¦   «         › �}tN          j(        dk    r?‰ j)        Š‰ j*        Šd(ˆˆˆ ˆfd!„}tV           ,                    d"t[          |¦  «        ¦  «         t\           ,                    d#‰||j/        ¦  «         |�rr|d         }d$}t          |t`          ¦  «        r\| 1                    ¦   «         sHte          | 3                    ¦   «         t@          j4        j5        ¦  «        r| 6                    ¦   «         }nd}|rõt          |tn          ¦  «        rr‰ j         8                    |j9        ¦  «        }t          |t@          j:        j;        ¦  «        r3ty          j=        |¦  «        t}          j?        |j@        jA        ¦  «        d%<   nnt          |t„          ¦  «        rY|jC        }t          |t@          j:        j;        ¦  «        r3ty          j=        |¦  «        t}          j?        |j@        jA        ¦  «        d%<   t          |tˆ          ¦  «        rt	          d&¦  «        ‚t‹          ‰¦  «        r't�          ‰ ‰|‰ jG        ‰ jH        ‰ jI        ||¬'¦  «        }n&t          ‰ ‰|‰ jG        ‰ jH        ‰ jI        ||¬'¦  «        }|S ))Nz~expected isinstance( func, ( UserFunctionVariable, NestedUserFunctionVariable, LocalGeneratorFunctionVariable, ), ) to be trueFz+expected result.skipped is False to be truez2failed to bind arguments when attempting to inlinezfunc='z' rð   z	; args = c                ó6   — g | ]}|                      ¦   «         ‘ŒS r¥   )r4  )r¨   rS  s     r«   rq  zEInliningInstructionTranslator.build_inline_tracer.<locals>.<listcomp>Ì  s"   € Ð=Ð=Ð=°˜3Ÿ?š?Ñ,Ô,Ð=Ð=Ð=r­   z; kwargs = z4Argument mismatch when attempting to trace function r_  r7  z*expected sub_locals is not None to be truez:Encountered unconverted argument when attempting to inlinezfunc: z, arg: zWAn argument to an inlined function was not successfully converted to a VariableTracker.rÉ  )rÇ  rÿ  rÊ  Ú__delattr__r   zJUnsupported __setitem__/__setattr__/__delitem__/__delattr__ inline attemptzcode name: z, args: zAttempted to inline z: where first argument (self) is not a user-defined object.rï   Úbytecoder  rH  r¿   r¾   c                 ó¨   •— ‰                      ‰j        j        ¬¦  «        } t          ‰‰¦  «                             ¦   «         }d‰j        › d| › d|› �S )N)rÉ   zTRACE inlined call z from r  )rð  r   rÉ   r]   rô  rì  )Úheaderr›  r�  Úcur_instrí  Úparent_codes     €€€€r«   Úget_trace_call_log_strzQInliningInstructionTranslator.build_inline_tracer.<locals>.get_trace_call_log_strÿ  sc   ø€ Ø×7Ò7Ø#Ô-Ô4ð 8ñ ô �õ 2°+¸xÑHÔH×OÒOÑQÔQ�ØQ¨T¬\ÐQÐQÀÐQÐQÈ4ÐQÐQÐQr­   rø  zINLINING %s%s, %sTr‘  z>expected not isinstance(func, SkipFunctionVariable) to be truerå  r  )Jr`  r{   ry   rw   rØ   rç  r/  rê  r   Údont_skip_tracingÚpreviously_inlined_functionsr•  rè  r
  r  Ú	bind_argsr  r=   r  r  r,  r   r  rÍ  rÞ  rß  rg   r  rì  r   r›   r˜   r¥  r  Ú	_internalÚ	log_stateÚis_artifact_enabledrw  ÚBytecoderd  rë  rï  rã  Útrace_call_logr¾  ra   r'  rÏ   r~   Úis_realizedrF  Ú	peek_typerÁ  rÂ  rò  rŠ   r  r  r¦  rA  rœ  r�  r2   r›  Úforwardr-  r‹   r   rz   r/   Ú&InliningGeneratorInstructionTranslatorrŸ  r   r¡  )rí  ró  r¶   r)  rã  r  Útracing_ctxÚprevious_resultÚ
sub_localsrñ  rª   r  r  Úarg0Úshould_checkÚmodulerù  r�  r  r  s   `                @@@r«   r÷  z1InliningInstructionTranslator.build_inline_tracer�  s  øøøø€ õ Øå$Ý*Ý.ðñ
ô 
ð 
	õ !ð Qñô ð ð  $Ÿ}š}™œˆØˆØ”mÔ3ˆõ
 Ô'ð 	)¨Kð 	)Ø"-Ô"J×"NÒ"NØ�dñ#ô #ð ˆð )ð )�àˆ>Ý2×CÒCÀDÑIÔIˆFØŒ~ UÐ*Ð*Ý$Ð%RÑSÔSÐSåÔ+ð H°ð HØAG�Ô8¸Ñ>àˆ
ð	ØŸš¨°°fÑ=Ô=ˆJˆJøÝð 
	ð 
	ð 
	ÝØLðS §¢¡¤ð Sð S°D×4EÒ4EÑ4GÔ4Gð Sð SÈ$Ï-Ê-É/Ì/ÔJhð Sð SØ=Ð=¸Ð=Ñ=Ô=ðSð SØJPðSð SàeÐSW×S`ÒS`ÑSbÔSbÐeÐeÐeðÝ&Ô1ðð ð	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøøð
	øøøð ÐÝ Ð!MÑNÔNÐNå” ×!2Ò!2Ñ!4Ô!4Ñ5Ô5ð 	ð 	ˆAÝ˜a¥Ñ1Ô1ð ÝØXØ5 TÐ5Ð5°!Ð5Ð5Ø yØ9Õ-Ô8Ð9ð	ñ ô ð øð Œ<ð 
ð 
ð 
ð ð
õ Ø�Q”åÔ7ÝÔ6ðñô ð
õ ØdØB d¤lÐBÐB¸DÐBÐBØ{°4´<Ð{Ð{Ð{Øð	ñ ô ð ð ˆõ Œ>Ô#Ô-×AÒAÀ*ÑMÔMð 	5Ø4�#œ, tÑ,Ô,×0Ò0Ñ2Ô2Ð4Ð4ˆFÝÔ˜wÒ&Ð&ØÔ1ˆHØ œ-ˆKðRð Rð Rð Rð Rð Rð Rð Rð Rõ × Ò  ¥zÐ2HÑ'IÔ'IÑJÔJÐJÝ�	Š	Ð% t¨V°V´]ÑCÔCÐCð ñ 	0Ø˜”7ˆDØˆLÝ˜$Õ 3Ñ4Ô4ð )¸T×=MÒ=MÑ=OÔ=Oð )Ý˜dŸnšnÑ.Ô.µ´´Ñ@Ô@ð )ØŸ<š<™>œ>�D�Dà#(�Làð 0Ý˜dÕ$4Ñ5Ô5ð 0Ø#œ]×8Ò8¸¼ÑIÔI�FÝ! &­%¬(Ô*>Ñ?Ô?ð 0õ $œK¨Ñ/Ô/õ %Ô0°´Ô1HÑIÔIØ.ñøõ   Õ&CÑDÔDð 0Ø!œZ�FÝ! &­%¬(Ô*>Ñ?Ô?ð 0õ $œK¨Ñ/Ô/õ %Ô0°´Ô1HÑIÔIØ.ñõ �dÕ0Ñ1Ô1ð 	Ý ØPñô ð õ ˜ÑÔð 	Ý;ØØØØÔ'ØÔ4ØÔ,ØØ*Cð	ñ 	ô 	ˆFˆFõ 3ØØØØÔ'ØÔ4ØÔ,ØØ*Cð	ñ 	ô 	ˆFð ˆs   ÃC, Ã,
F
Ã6B
FÆF
c                óD  — | j         }d|_        d|_        | j        }t	          j        ¦   «         }|j        r|                      |j        ¦  «        }	 |5  |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   n{# t          j
        $ r(}d|› d|› �}t                               |¦  «         ‚ d }~wt          t          f$ r}d|_        ‚ d }~wt           $ r t                               d|¦  «         ‚ w xY w| j        |_        d|_        n# | j        |_        d|_        w xY w| j        j        rt)          j        d ¦  «        S | j        €t/          d¦  «        ‚| j        |j        u r|j                             | j        ¦  «         |xj        | j        z  c_        t                               d|¦  «         | j        j        j                             |¦  «         t>          j         stC          | tD          ¦  «        rž| j#        r—tI          |¦  «        r�tC          | tD          ¦  «        rl| j%        retC          | tD          ¦  «        st/          d¦  «        ‚g }| j         &                    ¦   «         s| j        g}t          j'        tP          | |¬	¦  «         d S | j        S tI          |¦  «        rntC          | tD          ¦  «        st/          d¦  «        ‚| j         &                    ¦   «         st/          d
¦  «        ‚tS          | j*        tW          ¦   «         ¬¦  «        S | j        S )NFTz!Observed exception DURING INLING z : zFAILED INLINING %sz4expected self.symbolic_result is not None to be truezDONE INLINING %szLexpected isinstance(self, InliningGeneratorInstructionTranslator) to be truer
  z;expected self.symbolic_result.is_constant_none() to be truerÜ  ),rí  r¯  r°  rã  r‰  Únullcontextr­  rð  rK  r   r   r'  r¾  r>   r?   r9  r½  rÎ   r/  r0  rm   r‹  rò  rØ   r�  rŸ  rí  r©  rê  Útraced_coderô   r   ræ  r`  r  Úis_generator_from_ctx_managerr/   Úgenerator_exhaustedr†  r  rô  r€   Úgenerated_itemsrf   )rÔ   rí  r�  Ú
strict_ctxrñ  rk  r¶   s          r«   rø  z*InliningInstructionTranslator.inline_call_A  s¨  € Ø”ˆØ&+ˆÔ#Ø(,ˆÔ%ØŒ{ˆå$Ô0Ñ2Ô2ˆ
ØÔ"ð 	OØ×5Ò5°fÔ6MÑNÔNˆJð	2Øð ð Ø—’‘
”
�
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øøåÔ$ð 	ð 	ð 	ØB°dÐBÐB¸qÐBÐBˆCÝ�IŠI�c‰NŒNˆNàøøøøÝ�YÐ'ð 	ð 	ð 	ð !ˆAŒLØøøøøÝð 	ð 	ð 	Ý�IŠIÐ*¨DÑ1Ô1Ð1Øð	øøøð +/Ô*CˆFÔ'Ø,1ˆFÔ)Ð)øð +/Ô*CˆFÔ'Ø,1ˆFÔ)Ð1Ð1Ð1Ð1àŒ;Ô"ð 	1å#Ô*¨4Ñ0Ô0Ð0àÔÐ'Ý Ð!WÑXÔXÐXàŒ>˜VÔ-Ð-Ð-àÔ#×*Ò*¨4Ô+@ÑAÔAÐAàÐ(Ô(¨DÔ,JÑJÐ(Ô(å�	Š	Ð$ dÑ+Ô+Ð+ØŒÔ#Ô/×6Ò6°tÑ<Ô<Ð<åÔ4ð $	,Ý�tÕCÑDÔDð$	,àÔ2ð$	,õ
 ˜TÑ"Ô"ð,å˜tÕ%KÑLÔLð,ð Ô,ð,õ
 " $Õ(NÑOÔOð Ý(Øfñô ð ð
 �ØÔ+×<Ò<Ñ>Ô>ð 2Ø Ô0Ð1�DÝÔ,­]¸DÀtÐLÑLÔLÐLÐLÐLàÔ+Ð+å˜DÑ!Ô!ð ,Ý! $Õ(NÑOÔOð Ý(Øfñô ð ð Ô+×<Ò<Ñ>Ô>ð Ý(ØUñô ð õ ,ØÔ(Ý"2Ñ"4Ô"4ðñ ô ð ð
 Ô+Ð+sZ   ÁB ÁA5Á)B Á5A9Á9B Á<A9Á=B Â D ÂC9Â#B3Â3C9ÃCÃ*C9Ã9D ÄD%r�  r  rž  rŸ  r   r•   r¡  r‘   Úfuncvarú7BaseUserFunctionVariable | LocalGeneratorObjectVariablerÐ   c	                ó@  •‡— |                      ¦   «         }	|	d         }
t          |
t          ¦  «        s|
j        }
|j        j        }|r|j                             ‰¦  «        nd }|�|j        }|j	        }|j
        }nvt          ‰¦  «        }t          |¦  «         t          |¦  «        }t          t          ˆfd„t!          ¦   «         D ¦   «         ¦  «        }|rt#          |||¬¦  «        |j        ‰<   t%          ¦   «                              |j        i |	|
||||||‰|j        |j        dz   |j        |j        |j        |j        |¬¦  «         || _        || _        |j        | _        d | _        |j                             ¦   «         | _        |j         | _         || _!        d S )NÚ__builtins__c                ó2   •— i | ]}|t          ‰|¦  «        “ŒS r¥   )r–  )r¨   r©   r�  s     €r«   r¬   z:InliningInstructionTranslator.__init__.<locals>.<dictcomp>¶  s%   ø€ ÐKÐKÐK°a˜a¥¨¨qÑ!1Ô!1ÐKÐKÐKr­   )r†  rÞ  rå  r   )r/  r]  r�  r’  rž  rŸ  r   r¡  r†  rå  rã  r"  r¨  r+  r«  r#  r³  rÞ  )"Úget_globalsr`  r  Ú__dict__r/  rê  Úinlined_code_cacher•  r†  rÞ  rå  r"   r!   r   r   rC   r-   r   rl  rm  r"  r¨  r+  r«  r#  r³  r-  rí  r0  rò  r/  rW  r?  Ú_allow_nested_graph_breaks)rÔ   rí  r�  rž  rŸ  r   r¡  r-  rã  r�  r’  r   Úcachedr†  rÞ  rå  ro  s     `             €r«   rm  z&InliningInstructionTranslator.__init__˜  sË  øø€ ð ×'Ò'Ñ)Ô)ˆ	Ø˜~Ô.ˆ
Ý˜*¥dÑ+Ô+ð 	-Ø#Ô,ˆJð ”mÔ3ˆØ=HÐR�Ô/×3Ò3°DÑ9Ô9Ð9ÈdˆàÐØ!Ô.ˆLØ”nˆGØ!Ô.ˆLˆLå/°Ñ5Ô5ˆLÝ Ñ-Ô-Ð-Ý! ,Ñ/Ô/ˆGÝÝÐKÐKÐKÐK½=¹?¼?ÐKÑKÔKñô ˆLð ð Ý7GØ!-Ø#Ø!-ð8ñ 8ô 8�Ô.¨tÑ4õ 	‰Œ×ÒØ”=ØØØ!Ø+Ø-Ø*GØ"7Ø%Ø%ØØ”=ØÔ,¨qÑ0Ø"Ô2ØÔ,Ø$Ô6Ø”NØð% 	ñ 	
ô 	
ð 	
ð( ˆŒØˆŒØÔ)ˆŒØ#ˆÔØ%Ô5×:Ò:Ñ<Ô<ˆÔØÔ)ˆŒØ*CˆÔ'Ð'Ð'r­   rè  c                ó   — | j         j        S r±   )rí  rë  rê   s    r«   rë  z'InliningInstructionTranslator.fake_modeÛ  s   € àŒ{Ô$Ð$r­   c                óX   — t          j        | j                             ¦   «         ¦  «        S r±   )r   r4  rí  rç  rê   s    r«   r5  z)InliningInstructionTranslator.run_ctx_mgrß  s!   € ÝÔ+¨D¬K×,EÒ,EÑ,GÔ,GÑHÔHÐHr­   c                ó    — t           j        sdS | j        sdS | j                             ¦   «         sdS | j                             ¦   «         sdS dS )z«Check if comprehension speculation is allowed in this inlined context.

        Unlike should_compile_partial_graph(), this skips the exception table entry check.
        FT)r   r'  r5  r-  Ú should_allow_nested_graph_breaksrí  rà  rê   s    r«   rÙ  zAInliningInstructionTranslator._can_speculate_comprehension_nestedâ  s_   € õ
 Ô)ð 	Ø�5ØÔ.ð 	Ø�5ØŒ|×<Ò<Ñ>Ô>ð 	Ø�5ØŒ{×7Ò7Ñ9Ô9ð 	Ø�5Øˆtr­   c                óÞ   •— t           j        r_| j        sdS | j                             ¦   «         sdS | j                             ¦   «         sdS t          ¦   «                              ¦   «         S dS r.  )r   r'  r5  r-  r:  rí  rà  rl  ©rÔ   ro  s    €r«   rà  z:InliningInstructionTranslator.should_compile_partial_graphñ  so   ø€ ÝÔ%ð 	:ØÔ2ð Ø�uØ”<×@Ò@ÑBÔBð Ø�uØ”;×;Ò;Ñ=Ô=ð Ø�uÝ‘7”7×7Ò7Ñ9Ô9Ð9Øˆur­   rË   r.   rò  r±  r  c                óŠ   •— t           j        r"t          ¦   «                              ||¦  «        S t	          dddg ¬¦  «         d S )NzGraph break in inlined functionrï   z2Graph breaks in an inlined call are not supported.rÉ  )r   r'  rl  ré  r=   )rÔ   rË   rò  ro  s      €r«   ré  z3InliningInstructionTranslator.create_call_resume_atü  sY   ø€ õ
 Ô%ð 	RÝ‘7”7×0Ò0°Ð7PÑQÔQÐQÝØ5ØØLØð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r­   c                óP   — |                       ¦   «         | _        d | _        t          ‚r±   )rè  rò  rÊ   rH  r  s     r«   r¸  z*InliningInstructionTranslator.RETURN_VALUE
  s    € Ø#Ÿxšx™zœzˆÔØ#'ˆÔ ÝÐr­   c                óR   — |                       |¦  «        | _        d | _        t          ‚r±   )r�  rò  rÊ   rH  r  s     r«   r¹  z*InliningInstructionTranslator.RETURN_CONST  s&   € Ø#×/Ò/°Ñ5Ô5ˆÔØ#'ˆÔ ÝÐr­   r½   r¾   ú#tuple[Any, VariableTracker, Source]c                óP  — d| j         v rœ| j         d                              d¦  «        s|| j         d         }|                      |¦  «        }d|v rt          j        j        j        |         }nt          |¦  «        } t          | |¦  «        |¦  «        }t          ||¦  «        }n_| j
                             d| j         ¦  «        }t          |¦  «        }| j         } t          | |¦  «        |¦  «        }t          ||¦  «        }t          |¦  «        rt          |¦  «        }|||fS )NrÚ   Únamedtuple_r§  Ú___unnamed_scope)r�  rt  r™  r¥  r³  r¬  r­  rÄ   ri   rP   r/  rä  rR   rQ   rf  rV   )	rÔ   r½   rš  r›  rœ  Úfglobals_vtÚglobal_sourceÚglobals_nameÚglobals_sources	            r«   Úget_globals_source_and_valuez:InliningInstructionTranslator.get_globals_source_and_value  s<  € ð ˜œÐ'Ð'°´¸zÔ0J×0UÒ0UØñ1
ô 1
Ð'ð œ.¨Ô4ˆKØ ×.Ò.¨{Ñ;Ô;ˆMØ +Ð-Ð-å”MÔ2ÔLØ#ôð �õ "0°Ñ!<Ô!<�ð ?�/¨$°Ñ>Ô>¸~ÑNÔNˆKÝ& }°dÑ;Ô;ˆMˆMàœ;×;Ò;Ø" D¤Nñô ˆLõ *¨,Ñ7Ô7ˆNØ!œ^ˆNð @�/¨$°Ñ?Ô?ÀÑOÔOˆKÝ-¨n¸dÑCÔCˆMå�^Ñ$Ô$ð 	;õ ,¨MÑ:Ô:ˆMà˜{¨MÐ9Ð9r­   c                ó  •— |j         }|| j        vr|                      |¦  «        S | j        j        | j        u r#t          ¦   «                              |¦  «         d S |                      |¦  «        \  }}}| j        j         	                    ||¦  «        r5|  
                    | j        j                             ||¦  «        ¦  «         d S | j        |         }|  
                    t          j        | ||¦  «        ¦  «         d S r±   )r‡  r�  r”  r/  r°  rl  r—  rH  r?  r{  rQ  r|  rg   rˆ  )rÔ   rË   r½   r·   rD  rE  r   ro  s          €r«   r—  z*InliningInstructionTranslator._load_global>  sö   ø€ ØŒ{ˆØ�t”~Ð%Ð%Ø×$Ò$ TÑ*Ô*Ð*àŒ;Ô# t¤~Ð5Ð5õ ‰GŒG× Ò  Ñ&Ô&Ð&Ð&Ð&à,0×,MÒ,MÈdÑ,SÔ,SÑ)ˆAˆ{˜MØŒ{Ô'×DÒDÀ[ÐRVÑWÔWð MØ—	’	˜$œ+Ô2×<Ò<¸[È$ÑOÔOÑPÔPÐPÐPÐPàœ tÔ,�Ø—	’	�/Ô/°°e¸]ÑKÔKÑLÔLÐLÐLÐLr­   c                óx  •— | j         j        | j        u r#t          ¦   «                              |¦  «         d S |                      ¦   «         }t          |t          ¦  «        rt          d|j	        dg ¬¦  «         |j	        }|  
                    |¦  «        \  }}}| j         j                             |||¦  «         d S )Nz3Storing Tensor hook handle in globals (inline call)r¢  rÉ  )r/  r°  r�  rl  r¥  rè  r`  r—   r=   r‡  rH  r?  Ú
store_attr)rÔ   rË   r   r½   Ú_fglobals_valuerD  r·   ro  s          €r«   r¥  z*InliningInstructionTranslator.STORE_GLOBALO  sÁ   ø€ ØŒ;Ô# t¤~Ð5Ð5õ ‰GŒG× Ò  Ñ&Ô&Ð&Ð&Ð&à—H’H‘J”JˆEÝ˜%Õ!8Ñ9Ô9ð ÝØQØ œKØ 8Øð	ñ ô ð ð ”;ˆDØ.2×.OÒ.OÐPTÑ.UÔ.UÑ+ˆO˜[¨!ØŒKÔ$×/Ò/°¸TÀ5ÑIÔIÐIÐIÐIr­   r5  )rí  r   ró  rt   r¶   r£  r)  r�  rã  rÌ   r¿   rg   )ró  rt   r¿   rú  )rí  r   ró  rt   r¶   r£  r)  r�  rã  rÌ   r¿   rè  r8  )rí  rÖ   r�  r  rž  r�  rŸ  r�  r   r•   r¡  r‘   r-  r.  rã  rÌ   r¿   rÐ   r:  r7  r   r9  r6  )r½   r¾   r¿   r@  )rÚ   rÛ   rÜ   rü   rÝ   r"  ré  rD  r
  r÷  rø  rm  r;  rë  r5  rÙ  rà  ré  r¸  r¹  rH  r—  r¥  rp  rq  s   @r«   rè  rè  >  s  ø€ € € € € € Ø*Ð*à+Ð+Ð+Ñ+à%Ð%Ð%Ñ%àð +0ð)ð )ð )ð )ñ „[ð)ð* ð?ð ?ð ?ñ „\ð?ðB ð +0ðað að að añ „\ðaðFU,ð U,ð U,ð U,ð@ +0ðADð ADð ADð ADð ADð ADð ADðF ð%ð %ð %ñ „Xð%ðIð Ið Ið Iðð ð ð ð	ð 	ð 	ð 	ð 	ð 	ð
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð
ð ð ð ð
(:ð (:ð (:ð (:ðTMð Mð Mð Mð Mð Mð"Jð Jð Jð Jð Jð Jð Jð Jð Jð Jr­   rè  c                  ó€   ‡ — e Zd ZU ded<   dˆ fd„Zdˆ fd
„Zdd„Zdd„Zdd„Zdd„Z	dˆ fd„Z
dˆ fd„Zdd„Zdd„Zˆ xZS )r  r£  r+  r¶   r   r)  r¿   rÐ   c                ód   •—  t          ¦   «         j        |i |¤Ž g | _        d| _        d| _        d S r.  )rl  rm  r+  r*  r)  )rÔ   r¶   r)  ro  s      €r«   rm  z/InliningGeneratorInstructionTranslator.__init__f  s=   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ø!ˆÔØ#(ˆÔ Ø-2ˆÔ*Ð*Ð*r­   rg   c                ó¶   •‡ — t          ‰ j        ‰ j        ˆ fd„¦  «        5  t          ¦   «                              ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nc                 ó   •— ‰ j         S r±   rö  rê   s   €r«   r¸   zEInliningGeneratorInstructionTranslator.inline_call_.<locals>.<lambda>m  s
   ø€ À4ÔCT€ r­   )rð  r/  rã  rl  rø  r<  s   `€r«   rø  z3InliningGeneratorInstructionTranslator.inline_call_l  s›   øø€ Ý  ¤¨d¬kÐ;TÐ;TÐ;TÐ;TÑUÔUð 	*ð 	*Ý‘7”7×'Ò'Ñ)Ô)ð	*ð 	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   ¡ AÁAÁArÌ   c                ó   — dS r.  r¥   rê   s    r«   rà  zCInliningGeneratorInstructionTranslator.should_compile_partial_graphp  s   € àˆur­   rË   r.   c                óö   — |                       ¦   «         }| j                             |¦  «         t          | j        ¦  «        t          k    rt
          j        ‚t          j        s| j	        r|| _
        t          ‚d S r±   )rè  r+  rô   ró   r}   r   ÚInfiniteGeneratorErrorr   ræ  r)  rò  rJ  )rÔ   rË   Útops      r«   ÚYIELD_VALUEz2InliningGeneratorInstructionTranslator.YIELD_VALUEt  sv   € Ø�hŠh‰jŒjˆØÔ×#Ò# CÑ(Ô(Ð(ÝˆtÔ#Ñ$Ô$Õ'9Ò9Ð9ÝÔ,Ð,åÔ5ð	àÔ1ð	ð $'ˆDÔ åÐð	ð 	r­   c                ó   — | j         d         }t          |t          ¦  «        s[|                      ¦   «          t	          j        | t          ¦  «                             | |gi ¦  «        }|                      |¦  «         d S d S r[  )	r¤  r`  r€   rè  rg   rˆ  rS  r¦   rQ  )rÔ   rË   r  Úress       r«   ÚGET_YIELD_FROM_ITERz:InliningGeneratorInstructionTranslator.GET_YIELD_FROM_ITER�  sp   € ØŒj˜ŒnˆÝ˜#Õ3Ñ4Ô4ð 	Ø�HŠH‰JŒJˆJÝ!Ô'¨­dÑ3Ô3×AÒAÀ$ÈÈÈrÑRÔRˆCØ�IŠI�c‰NŒNˆNˆNˆNð	ð 	r­   c                ó(   — | j         | _        t          ‚r±   )r-  rò  rH  r  s     r«   r•  z7InliningGeneratorInstructionTranslator.RETURN_GENERATORˆ  s   € Ø#œ|ˆÔÝÐr­   c                óT   •— d| _         t          ¦   «                              |¦  «        S rÎ  )r*  rl  r¸  ©rÔ   rË   ro  s     €r«   r¸  z3InliningGeneratorInstructionTranslator.RETURN_VALUEŒ  ó#   ø€ Ø#'ˆÔ Ý‰wŒw×#Ò# DÑ)Ô)Ð)r­   c                óT   •— d| _         t          ¦   «                              |¦  «        S rÎ  )r*  rl  r¹  r[  s     €r«   r¹  z3InliningGeneratorInstructionTranslator.RETURN_CONST�  r\  r­   c                ó.  — t          | j        ¦  «        dk    st          d¦  «        ‚|                      ¦   «         }| j        d         }|                     ¦   «         st          dddg ¬¦  «         	 |                     | ¦  «        }t          | j        t          ¦  «        st          d¦  «        ‚| j        d	k    st          d
¦  «        ‚| xj        dz  c_        |  
                    |¦  «         |                      |¦  «         d S # t          t          j        f$ ry}t          |t          j        ¦  «        rt          j        | ¦  «         |                      ¦   «          |  
                    t!          j        |j        ¦  «        ¦  «         Y d }~d S d }~ww xY w)Nr  rE  r“  úUnreachable sub-generator coderï   ú@Should only be encountered while implementing generator support.rÉ  r�  r   rò  r   )ró   r¤  rØ   rè  r†  r=   ró  r`  rÊ   rÈ   rQ  rU  rô  r   rõ  r÷  rm   r‹  r   )rÔ   rË   ry  r  Úexs        r«   Ú
YIELD_FROMz1InliningGeneratorInstructionTranslator.YIELD_FROM”  s¥  € Ý�D”J‘” 1Ò$Ð$Ý Ð!KÑLÔLÐLØ�hŠh‰jŒjˆØŒj˜ŒnˆØ×#Ò#Ñ%Ô%ð 	õ Ø8ØØ^Øð	ñ ô ð ð	#Ø×#Ò# DÑ)Ô)ˆCõ ˜dÔ6½Ñ<Ô<ð Ý$ØSñô ð ð Ô,¨qÒ0Ð0Ý$Ð%WÑXÔXÐXØÐ$Ô$¨Ñ)Ð$Ô$à�IŠI�c‰NŒNˆNà×Ò˜TÑ"Ô"Ð"Ð"Ð"øõ' �sÔ<Ð=ð 	9ð 	9ð 	9Ý˜"�cÔ;Ñ<Ô<ð 4ÝÔ-¨dÑ3Ô3Ð3ð �HŠH‰JŒJˆJØ�IŠIÕ&Ô-¨b¬hÑ7Ô7Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8øøøøð	9øøøs   Á1D ÄFÄA.FÆFc                óx  — t          | j        ¦  «        dk    st          d¦  «        ‚|                      ¦   «         }t          j        dk    r|                      ¦   «         }| j        d         }t          |t          t          f¦  «        sgt          |t          ¦  «        r$t          |j
        t          j        j        ¦  «        s.t          j        dk    �r3t          |t          t          f¦  «        �r|                     ¦   «         rí	 t          j        dk    rt#          | ||¦  «        \  }}n|                     | ¦  «        }t          j        dk    r|                      |¦  «         |                      |¦  «         d S # t(          t*          j        t*          j        f$ rR t          j        dk     r|                      ¦   «          |                      |¦  «         |                      |¦  «         Y d S w xY wt3          dddg ¬	¦  «         d S t3          d
dt5          |¦  «        › �dt5          |¦  «        › d�g ¬	¦  «         d S )Nr  rE  rð  r“  rJ  r_  rï   r`  rÉ  zSEND with bad typez
TOS type: z(Attempted to SEND with unsupported type r_  )ró   r¤  rØ   rè  rd  rë  r`  r|   rx   r›   r   ÚcollectionsÚabcÚIteratorr�   rƒ   r†  r�   ró  rQ  rô  r   rõ  rö  rÿ  r=   re   )rÔ   rË   ry  Únull_or_indexÚreceiverÚnext_idxs         r«   ÚSENDz+InliningGeneratorInstructionTranslator.SEND½  sF  € Ý�D”J‘” 1Ò$Ð$Ý Ð!KÑLÔLÐLØ�hŠh‰jŒjˆÝÔ˜wÒ&Ð&Ø ŸHšH™JœJˆMØ”:˜b”>ˆå�xÕ"2Õ4PÐ!QÑRÔRð8	õ ˜8Õ%>Ñ?Ô?ð8	õ ˜xœ~­{¬Ô/GÑHÔHð	8	õ Ô  GÒ+Ñ+Ý˜x­,½Ð)FÑGÔGñ ,ð ×#Ò#Ñ%Ô%ð &ð#ÝÔ'¨7Ò2Ð2Ý(=Ø  (¨Mñ)ô )™˜˜X˜Xð '×4Ò4°TÑ:Ô:˜õ" Ô'¨7Ò2Ð2ØŸ	š	 (Ñ+Ô+Ð+Ø—I’I˜c‘N”N�N�N�Nøõ# "ÝÔ1ÝÔ*ðð $ð $ð $õ Ô'¨'Ò1Ð1ØŸš™
œ
˜
Ø—I’I˜c‘N”N�NØ—I’I˜d‘O”O�O�O�O�Oð$øøøõ2 Ø<ØØ bØð	ñ ô ð ð ð õ Ø,Ø8¥W¨XÑ%6Ô%6Ð8Ð8Ø[ÅwÈxÑGXÔGXÐ[Ð[Ð[Øð	ñ ô ð ð ð s   Ä:E; Å;A/G.Ç-G.)r¶   r   r)  r   r¿   rÐ   r8  r   r6  )rÚ   rÛ   rÜ   rÝ   rm  rø  rà  rU  rX  r•  r¸  r¹  rb  rj  rp  rq  s   @r«   r  r  b  s  ø€ € € € € € Ø*Ð*Ð*Ñ*ð3ð 3ð 3ð 3ð 3ð 3ð*ð *ð *ð *ð *ð *ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð*ð *ð *ð *ð *ð *ð*ð *ð *ð *ð *ð *ð'#ð '#ð '#ð '#ðR?ð ?ð ?ð ?ð ?ð ?ð ?ð ?r­   r  )r½   r¾   r¿   rÀ   )r¿   r#  )rµ   rÖ   r¿   r)  )rK  rL  r¿   rM  )r\  r]  r¿   rÌ   )rg  rÌ   r¿   rå   )rÔ   rÖ   r~  r  rQ  rÌ   r¿   rÌ   )r�  r�  r¿   r¾   )rŸ  )r   rg   r¡  rÈ   r¿   r¾   )r~  r  rQ  rÌ   r¿   rÁ  )rµ   rÖ   r  r3   r  r  r¿   rÐ   )rÇ   r¾   rÉ   rÈ   r¿   rM  )rQ  rÌ   r1  r¾   r¿   r2  )r/  rE   r�  r  rÓ  rÔ  r¿   r)  (  rü   Ú
__future__r   rª  rd  Úcollections.abcr‰  rW  rý   rw  rY  rÂ   rV  rÍ  rò  r   r„  rÞ  rd  Ú	threadingrä  rÓ  ra  rœ  r   r   Útypingr   r   r   r	   r
   r   Útyping_extensionsr   r¥  Útorch._loggingÚtorch._dynamo.dynamo_profilerr   r   Útorch._dynamo.excr   r   Útorch._guardsr   r   r   Útorch._logging.structuredr   Ú%torch.fx.experimental.symbolic_shapesr   Útorch.utils._functoolsr   rï   r   r   r   r%  r   r   Úbytecode_analysisr   r   r    r!   Úbytecode_transformationr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   Úcodegenr3   Úcomprehension_graph_breakr4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   Úfuncname_cacher@   ÚguardsrA   rB   Úoutput_graphrC   rD   rE   rF   Ú	polyfillsrG   rH   rI   rJ   Úreplay_recordrK   rL   r1  rM   rN   rO   r¯  rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   ÚutilsrZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   Úvariables.baserd   re   rf   rg   Úvariables.builderrh   ri   rj   Úvariables.builtinrk   rl   Úvariables.constantrm   Úvariables.ctx_managerrn   ro   rp   rq   rÍ  rs   Úvariables.functionsrt   ru   rv   rw   rx   ry   rz   r{   Úvariables.iterr|   r}   Úvariables.lazyr~   rÎ  r   r€   r�   r‚   rƒ   Úvariables.miscr„   r…   r†   r‡   rˆ   r‰   Úvariables.nn_modulerŠ   r‹   Úvariables.object_protocolrŒ   r�   rŽ   r�   Úvariables.setsr�   rx  r‘   Úvariables.tensorr’   r“   r”   Úvariables.torch_functionr•   r–   Úvariables.user_definedr—   r˜   r™   rš   r›   rœ   r�   Útorch._subclasses.fake_tensorrž   r³  rŸ   Ú	getLoggerrÚ   r'  r  ÚgetArtifactLoggerr  r  rû  r  r1  rŽ  r
  r¯   rÝ   Úcontainsr¦   r²   rA  r»   r¼   ÚcacherÄ   Ú	dataclassrÆ   rß   r  r  r  r(  rŠ  r,  r2  r4  rØ   rö   r½  rH  rJ  r[  rf  r}  rŽ  r  rž  rÀ  r  r%  r0  r\  r_  r^  rs  rÖ   rO  rë  Ú_nb_opsrn  rð  rè  r  r¥   r­   r«   ú<module>r—     sX  ððð ð ð0 #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ $Ð $Ð $Ð $Ð $Ð $à €€€Ø Ð Ð Ð Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ /Ð /Ð /Ð /Ð /Ð /Ø <Ð <Ð <Ð <Ð <Ð <Ø /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð$ 'Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø LÐ LÐ LÐ LÐ LÐ Lðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ð ð ð ð ð
	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ;Ð :Ð :Ð :Ð :Ð :Ð :Ð :ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð WÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VØ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð /Ð .Ð .Ð .Ð .Ð .ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð AÐ @Ð @Ð @Ð @Ð @Ð @Ð @Ø /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð QÐ PÐ PÐ PÐ PÐ PÐ PÐ Pðð ð ð ð ð ð ð ð ð ð ð ð (Ð 'Ð 'Ð 'Ð 'Ð 'Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ Wðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð (Ø3Ð3Ð3Ð3Ð3Ð3Ð3Ð3à<Ð<Ð<Ð<Ð<Ð<à'Ð'Ð'Ð'Ð'Ð'à€gÔ˜Ñ!Ô!€Ø”.×2Ò2°8¸^ÑLÔL€Ø”×1Ò1°(¸LÑIÔI€Ø”>×3Ò3°H¸nÑMÔMÐ Ø”^×5Ò5°hÐ@PÑQÔQÐ Ø€i„oÑÔ€ð'ð 'Ø4RÐ4LÔ4RÑ4TÔ4Tð'ñ 'ô 'Ð ð ð ð ñ ð "�/ (Ô"3Ñ4Ô4ÔB€Øˆ_˜Xœ]Ñ+Ô+Ô9€
ðð Ð �DÑ ð!ð !Ð �HÑ ð
 ÔØ'ñ(à(ñ)ð ð ð ð ñ ð „ð)ð )ð )ñ „ð)ð Ôðð ð ð ð ñ ô ñ ÔððB ÔðIð Ið Ið Ið Iñ Iô Iñ ÔðIðX Ôð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ Ôð
ð Ôð/ð /ð /ð /ð /ñ /ô /ñ Ôð/ð3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð. „ð4ð 4ð 4ñ „ð4ð Ôð)ð )ð )ñ Ôð)ð& Ôð$ð $ð $ñ Ôð$ð Ôð!ð !ð !ð !ð !ñ !ô !ñ Ôð!ðH	ð 	ð 	ð 	ð 	˜~ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	‘Iñ 	ô 	ñ 	ðð ð ð ð ‘9ñ ô ñ ðð ð ñ ðAð Að Añ Að „ð.ð .ð .ñ „ñ.ð&*ð *ð *ñ *ðZ �ðB@ð @ð @ñ @ð&@ð @ð @ð @ñ @ðFeð eð eñ eðP	Rð Rð Rñ RðBð ð ñ ð4[ð [ð [ñ [ð|Jð Jð Jð Jð J¡ñ Jô Jñ Jð2 Ôðið ið ið ið iñ iô iñ ÔñiðXl=;ð l=;ð l=;ð l=;ð l=;Ù'ðl=;ñ l=;ô l=;ñ l=;ð^{Að Að Að Að AÑ5ñ Aô Añ AðH
 Õ�wÒÐðð ð
 �ðñ ô Ñð Ôð:=ð :=ð :=ñ Ôñ:=ðzaJð aJð aJð aJð aJÑ$=ñ aJô aJñ aJðHZð Zð Zð Zð ZÑ-Jñ Zô Zñ Zð Zð Zr­   