???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \[                 @   s6  d dl Z d dlZd dlZd dlZdddddddd	d
ddddddddddgZd2ddZdd Zd3ddZd4ddZd5ddZ	dZ
dZd6ddZd7ddZd d Zd!d" Zd#d$ Zd8d%d	Zd9d&d
Zd:d'dZd;d(dZd<d)dZd=d*dZd+d ZG d,d dZd-d Zd.d Zd/ZG d0d deZG d1d dZdS )>    Nextract_stack
extract_tbformat_exceptionformat_exception_onlyformat_listformat_stack	format_tb	print_exc
format_excprint_exception
print_lastprint_stackprint_tbclear_framesFrameSummaryStackSummaryTracebackException
walk_stackwalk_tbc             C   s8   |d krt j}x$tj| j D ]}t||dd qW d S )N )fileend)sysstderrr   	from_listformatprint)extracted_listr   item r   !/usr/lib64/python3.6/traceback.py
print_list   s    r!   c             C   s   t j| j S )N)r   r   r   )r   r   r   r    r      s    c             C   s   t t| |d|d d S )N)limit)r   )r!   r   )tbr"   r   r   r   r    r   -   s    c             C   s   t | |dj S )N)r"   )r   r   )r#   r"   r   r   r    r   7   s    c             C   s   t jt| |dS )N)r"   )r   extractr   )r#   r"   r   r   r    r   ;   s    zG
The above exception was the direct cause of the following exception:

zF
During handling of the above exception, another exception occurred:

Tc             C   sF   |d krt j}x2tt||||dj|dD ]}t||dd q,W d S )N)r"   )chainr   )r   r   )r   r   r   typer   r   )etypevaluer#   r"   r   r%   liner   r   r    r   W   s
    c             C   s    t tt||||dj|dS )N)r"   )r%   )listr   r&   r   )r'   r(   r#   r"   r%   r   r   r    r   l   s    c             C   s   t t| |d j S )N)r*   r   r   )r'   r(   r   r   r    r   |   s    c             C   s0   t |}|d ks| r d|  }nd| |f }|S )Nz%s
z%s: %s
)	_some_str)r'   r(   valuestrr)   r   r   r    _format_final_exc_line   s
    
r-   c          	   C   s"   yt | S    dt| j S d S )Nz<unprintable %s object>)strr&   __name__)r(   r   r   r    r+      s    r+   c             C   s   t tj | ||d d S )N)r"   r   r%   )r   r   exc_info)r"   r   r%   r   r   r    r	      s    c             C   s   dj ttj | |dS )Nr   )r"   r%   )joinr   r   r0   )r"   r%   r   r   r    r
      s    c             C   s.   t tdstdttjtjtj| || d S )N	last_typezno last exception)hasattrr   
ValueErrorr   r2   
last_valuelast_traceback)r"   r   r%   r   r   r    r      s    
c             C   s*   | d krt j j} tt| |d|d d S )N)r"   )r   )r   	_getframef_backr!   r   )fr"   r   r   r   r    r      s    
c             C   s"   | d krt j j} tt| |dS )N)r"   )r   r7   r8   r   r   )r9   r"   r   r   r    r      s    
c             C   s0   | d krt j j} tjt| |d}|j  |S )N)r"   )r   r7   r8   r   r$   r   reverse)r9   r"   stackr   r   r    r      s
    	
c             C   s<   x6| d k	r6y| j j  W n tk
r,   Y nX | j} qW d S )N)tb_frameclearRuntimeErrortb_next)r#   r   r   r    r      s    
c               @   sN   e Zd ZdZddddd	d
Zdd Zdd Zdd Zdd Ze	dd Z
dS )r   filenamelinenoname_linelocalsTN)lookup_linerD   r)   c            C   sF   || _ || _|| _|| _|r"| j |r<tdd |j D nd | _d S )Nc             s   s   | ]\}}|t |fV  qd S )N)repr).0kvr   r   r    	<genexpr>  s    z(FrameSummary.__init__.<locals>.<genexpr>)r@   rA   rB   rC   r)   dictitemsrD   )selfr@   rA   rB   rE   rD   r)   r   r   r    __init__   s    zFrameSummary.__init__c             C   s`   t |tr:| j|jko8| j|jko8| j|jko8| j|jkS t |tr\| j| j| j| jf|kS tS )N)	
isinstancer   r@   rA   rB   rD   tupler)   NotImplemented)rM   otherr   r   r    __eq__  s    

zFrameSummary.__eq__c             C   s   | j | j| j| jf| S )N)r@   rA   rB   r)   )rM   posr   r   r    __getitem__  s    zFrameSummary.__getitem__c             C   s   t | j| j| j| jgS )N)iterr@   rA   rB   r)   )rM   r   r   r    __iter__  s    zFrameSummary.__iter__c             C   s   dj | j| j| jdS )Nz7<FrameSummary file {filename}, line {lineno} in {name}>)r@   rA   rB   )r   r@   rA   rB   )rM   r   r   r    __repr__  s    zFrameSummary.__repr__c             C   s&   | j d kr tj| j| jj | _ | j S )N)rC   	linecachegetliner@   rA   strip)rM   r   r   r    r)     s    
zFrameSummary.line)r@   rA   rB   rC   rD   )r/   
__module____qualname__	__slots__rN   rS   rU   rW   rX   propertyr)   r   r   r   r    r      s   
c             c   s8   | d krt j jj} x| d k	r2| | jfV  | j} qW d S )N)r   r7   r8   f_lineno)r9   r   r   r    r   "  s
    
c             c   s&   x | d k	r | j | jfV  | j} qW d S )N)r<   	tb_linenor?   )r#   r   r   r    r   /  s    
   c               @   s6   e Zd ZeddddddZedd Zd	d
 ZdS )r   NTF)r"   lookup_linescapture_localsc         	   C   s   |d kr(t tdd }|d k	r(|dk r(d}|d k	rV|dkrFtj||}ntj|| d}|  }t }xb|D ]Z\}}|j}	|	j}
|	j	}|j
|
 tj|
|j |r|j}nd }|jt|
||d|d qhW x|D ]}
tj|
 qW |rx|D ]
}|j qW |S )Ntracebacklimitr   )maxlenF)rE   rD   )getattrr   	itertoolsislicecollectionsdequesetf_codeco_filenameco_nameaddrY   	lazycache	f_globalsf_localsappendr   
checkcacher)   )klass	frame_genr"   rc   rd   resultfnamesr9   rA   cor@   rB   rs   r   r   r    r$   ?  s6    



zStackSummary.extractc             C   sP   t  }xD|D ]<}t|tr&|j| q|\}}}}|jt||||d qW |S )N)r)   )r   rO   r   rt   )rv   a_listrx   framer@   rA   rB   r)   r   r   r    r   o  s    


zStackSummary.from_listc       
      C   sx  g }d }d }d }d}x$| D ]}|d ksX||j ksX|d ksX||jksX|d ksX||jkr|tkr|t8 }|jd| d|dkrdnd d |j }|j}|j}d}|d7 }|tkrqg }|jdj|j |j|j |jr|jd	j|jj  |jr(x0t	|jj
 D ]\}}	|jd
j||	d qW |jdj| qW |tkrt|t8 }|jd| d|dkrhdnd d |S )Nr   z  [Previous line repeated z
 more time   sr   z]
z  File "{}", line {}, in {}
z    {}
z    {name} = {value}
)rB   r(   )r@   rA   rB   _RECURSIVE_CUTOFFrt   r   r)   r[   rD   sortedrL   r1   )
rM   rx   	last_file	last_line	last_namecountr|   rowrB   r(   r   r   r    r     sD     
"zStackSummary.format)r/   r\   r]   classmethodr$   r   r   r   r   r   r    r   <  s
   .c               @   sZ   e Zd ZdddddddZedd Zd	d
 Zdd Zdd Zdd Z	ddddZ
dS )r   NTF)r"   rc   rd   _seenc      
   	   C   s<  |d krt  }|jt| |r\|jd k	r\t|j|kr\tt|j|j|jj|d||d}nd }|r|jd k	rt|j|krtt|j|j|jj|d||d}	nd }	|| _|| _|	| _|r|j	nd| _	t
jt||||d| _|| _t|| _|ot|tr*|j| _t|j| _|j| _|j| _|j| _|r8| j  d S )NF)r"   rc   rd   r   )r"   rc   rd   )rl   rp   id	__cause__r   r&   __traceback____context__exc_traceback__suppress_context__r   r$   r   r;   exc_typer+   _str
issubclassSyntaxErrorr@   r.   rA   textoffsetmsg_load_lines)
rM   r   	exc_valuer   r"   rc   rd   r   causecontextr   r   r    rN     sT    




zTracebackException.__init__c             O   s   | t |||jf||S )N)r&   r   )clsexcargskwargsr   r   r    from_exception  s    z!TracebackException.from_exceptionc             C   s:   x| j D ]
}|j qW | jr&| jj  | jr6| jj  d S )N)r;   r)   r   r   r   )rM   r|   r   r   r    r     s    

zTracebackException._load_linesc             C   s   | j |j kS )N)__dict__)rM   rR   r   r   r    rS     s    zTracebackException.__eq__c             C   s   | j S )N)r   )rM   r   r   r    __str__  s    zTracebackException.__str__c       	      c   s  | j d krtd | jV  d S | j j}| j j}|dkr@|d | }t| j ts^t|| jV  d S | jpfd}t| j	ptd}dj
||V  | j}| j}|d k	r dj
|j V  |d k	r |jd}tt||d	 }|d | j }d
d |D }dj
dj|V  | jp
d}dj
||V  d S )N__main__builtins.z<string>?z  File "{}", line {}
z    {}

r}   c             s   s   | ]}|j  r|pd V  qdS ) N)isspace)rG   cr   r   r    rJ   H  s    z;TracebackException.format_exception_only.<locals>.<genexpr>z    {}^
r   z<no detail available>z{}: {}
)r   r   )r   r-   r   r]   r\   r   r   r@   r.   rA   r   r   r   r[   rstripminlenlstripr1   r   )	rM   stypesmodr@   rA   badliner   
caretspacer   r   r   r    r      s2    




z(TracebackException.format_exception_only)r%   c            c   s   |rV| j d k	r*| j j|dE d H  tV  n,| jd k	rV| j rV| jj|dE d H  tV  | jd k	rfdV  | jj E d H  | j E d H  d S )N)r%   z#Traceback (most recent call last):
)	r   r   _cause_messager   r   _context_messager   r;   r   )rM   r%   r   r   r    r   M  s    


zTracebackException.format)r/   r\   r]   rN   r   r   r   rS   r   r   r   r   r   r   r    r     s   9	-)N)NN)N)N)NNT)NT)NNT)NT)NNT)NNN)NN)NN)rj   rh   rY   r   __all__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    <module>   sD   












?z