£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
U
    e5d
                     @   sJ   d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 G dd dejZdS )zFixer for sys.exc_{type, value, traceback}

sys.exc_type -> sys.exc_info()[0]
sys.exc_value -> sys.exc_info()[1]
sys.exc_traceback -> sys.exc_info()[2]
   )
fixer_base)AttrCallNameNumber	SubscriptNodesymsc                   @   s:   e Zd ZdddgZdZdddd eD  Zd	d
 ZdS )	FixSysExcexc_type	exc_valueexc_tracebackTzN
              power< 'sys' trailer< dot='.' attribute=(%s) > >
              |c                 c   s   | ]}d | V  qdS )z'%s'N ).0er   r   1/usr/lib64/python3.8/lib2to3/fixes/fix_sys_exc.py	<genexpr>   s     zFixSysExc.<genexpr>c                 C   st   |d d }t | j|j}ttd|jd}ttd|}|d j|d jd _|	t
| ttj||jdS )NZ	attribute    exc_info)prefixsysdot   )r   r   indexvaluer   r   r   r   Zchildrenappendr   r   r	   Zpower)selfZnodeZresultsZsys_attrr   Zcallattrr   r   r   	transform   s    zFixSysExc.transformN)__name__
__module____qualname__r   ZBM_compatiblejoinZPATTERNr   r   r   r   r   r
      s   
r
   N)__doc__ r   Z
fixer_utilr   r   r   r   r   r   r	   ZBaseFixr
   r   r   r   r   <module>   s   
$