U
    yha                     @   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 } t }zda d V  W 5 | a |aX d S )NT)should_preserve_node_metar   copy)Zsaved_should_preserve_node_metaZsaved_current_meta r   D/var/www/html/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   s2   t r.tdg | g td< tddd td< d S )Ngrad_fn_seq_nr
in_grad_fnr   r   )r   r   get)Zseq_nrr   r   r   r   (   s    c                  C   sV   t rRtdd} | dkst| dkr2td= td= n | d td< td d d td< d S )Nr   r   r   r   )r   r   r   AssertionError)Zcurrent_levelr   r   r   r   2   s    )returnc                   C   s,   t rtddgS tt d d S d S )Nr   r   r   )r   r   r   	tracebackformat_listextract_stackr   r   r   r   r   B   s    c                   C   s   t S N)r   r   r   r   r   r	   K   s    c                 c   s   t rx| jrxt}z`| j adtkr6| j| jfgtd< n0td d d | jkrftd | j| jfg td< d V  W 5 |aX nd V  d S )NZ	from_noder   r   )r   metar   r   nametarget)nodeZ
saved_metar   r   r   r   P   s    


c                   C   s   t S r#   )r   r   r   r   r   r   f   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@        
	
