o
    #’×ia  ã                   @   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 g d¢Z	i a
eeef ed< daedd	ed
d„ ƒƒZedd	dee fdd„ƒZedd	dd„ ƒZedd	dd„ ƒZedd	dee fdd„ƒZedd	defdd„ƒZedd	edd„ ƒƒZedd	deeef f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)Úis_backward_compatiblec                  c   s2    t } t ¡ }zda d V  W | a |ad S | a |aw )NT)Úshould_preserve_node_metar   Úcopy)Úsaved_should_preserve_node_metaÚsaved_current_meta© r   úP/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/torch/fx/traceback.pyr      s   €ÿr   Ústackc                 C   s"   t r| rd | ¡td< d S d S d S )NÚ Ústack_trace)r   Újoinr   )r   r   r   r   r
       s   ÿr
   c                 C   s6   t rt dg ¡| g td< t dd¡d td< d S d S )NÚgrad_fn_seq_nrÚ
in_grad_fnr   r   ©r   r   Úget)Úseq_nrr   r   r   r   (   s   ýr   c                  C   s\   t r,t dd¡} | dksJ ‚| dkrtd= td= d S | d td< td d d… td< d S d S )Nr   r   r   r   éÿÿÿÿr   )Úcurrent_levelr   r   r   r   2   s   
ør   Úreturnc                   C   s(   t r	t dd¡gS t t ¡ d d… ¡S )Nr   r   r!   )r   r   r   Ú	tracebackÚformat_listÚextract_stackr   r   r   r   r   B   s   r   c                   C   ó   t S ©N)r   r   r   r   r   r	   K   ó   r	   c                 c   sˆ    t r?| jr?t}z3| j ¡ adtvr| j| jfgtd< ntd d d | jkr4td | j| jfg td< d V  W |ad S |aw d V  d S )NÚ	from_noder!   r   )r   Úmetar   r   ÚnameÚtarget)ÚnodeÚ
saved_metar   r   r   r   P   s   €


r   c                   C   r'   r(   )r   r   r   r   r   r   f   r)   r   )r$   Ú
contextlibr   Útypingr   r   r   Ú_compatibilityr   Ú__all__r   ÚstrÚ__annotations__r   r   r
   r   r   r   Úboolr	   r   r   r   r   r   r   Ú<module>   s2   

	
