U
    ©Ê¹jÅ  ã                   @   s&  U d dl Z d dlmZ d dlmZmZmZ ddlmZ dddd	d
dddgZ	i a
eeef ed< daedd�edd„ ƒƒZedd�ee dœdd„ƒZedd�dd	„ ƒZedd�dd
„ ƒZedd�ee dœdd„ƒZedd�edœdd„ƒZedd�edd„ ƒƒZedd�eeef dœdd„ƒZdS )é    N)Úcontextmanager)ÚListÚAnyÚDicté   )ÚcompatibilityÚpreserve_node_metaÚhas_preserved_node_metaÚset_stack_traceÚset_grad_fn_seq_nrÚreset_grad_fn_seq_nrÚformat_stackÚset_current_metaÚget_current_metaÚcurrent_metaF)Zis_backward_compatiblec                  c   s   t } zda d V  W 5 | a X d S )NT©Úshould_preserve_node_meta)Zsaved_should_preserve_node_meta© r   úQ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/torch/fx/traceback.pyr      s
    
©Ústackc                 C   s   t r| rd | ¡td< d S )NÚ Ústack_trace)r   Újoinr   r   r   r   r   r
      s    c                 C   s8   t r4t dd ¡td< t dd ¡td< | td< dtd< d S )NÚgrad_fn_seq_nrÚprev_grad_fn_seq_nrÚ
in_grad_fnÚprev_in_grad_fnT)r   r   Úget)Zseq_nrr   r   r   r   #   s
    c                   C   sH   t rDtd d kr,td d ks t‚td= td= td td< td td< d S )Nr   r   r   r   )r   r   ÚAssertionErrorr   r   r   r   r   /   s    )Úreturnc                   C   s,   t rt dd¡gS t t ¡ d d… ¡S d S )Nr   r   éÿÿÿÿ)r   r   r   Ú	tracebackÚformat_listÚextract_stackr   r   r   r   r   >   s    c                   C   s   t S ©Nr   r   r   r   r   r	   G   s    c                 c   s~   t rt| jrtt}z\| j ¡ adtkr6| j| jfgtd< n,td d d | jkrbtd  | j| jf¡ d V  W 5 |aX nd V  d S )NZ	from_noder!   r   )r   Úmetar   ÚcopyÚnameÚtargetÚappend)ÚnodeZ
saved_metar   r   r   r   L   s    


c                   C   s   t S r%   )r   r   r   r   r   r   b   s    )r"   Ú
contextlibr   Útypingr   r   r   Z_compatibilityr   Ú__all__r   ÚstrÚ__annotations__r   r   r
   r   r   r   Úboolr	   r   r   r   r   r   r   Ú<module>   s@        þ

