<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Š¹¼]  ã               @   s‡   d  d l  m Z d  d l m Z d  d l  m Z d  d l m Z m Z m Z m	 Z	 m
 Z
 m Z d d „  Z Gd d „  d e j ƒ Z d	 S)
é   )Úpytree)Útoken)Ú
fixer_base)ÚAssignÚAttrÚNameÚis_tupleÚis_listÚsymsc             c   s\   xU t  |  ƒ D]G \ } } | j t j k r | j d j d k r | |  | d f Vq Wd  S)Né    Úexceptr   )Ú	enumerateÚtyper
   Úexcept_clauseÚchildrenÚvalue)ZnodesÚiÚn© r   ú//opt/alt/python35/lib64/python3.5/fix_except.pyÚfind_excepts   s    r   c               @   s(   e  Z d  Z d Z d Z d d „  Z d S)Ú	FixExceptTa1  
    try_stmt< 'try' ':' (simple_stmt | suite)
                  cleanup=(except_clause ':' (simple_stmt | suite))+
                  tail=(['except' ':' (simple_stmt | suite)]
                        ['else' ':' (simple_stmt | suite)]
                        ['finally' ':' (simple_stmt | suite)]) >
    c             C   s  |  j  } d d „  | d Dƒ } d d „  | d Dƒ } x™t | ƒ D]‹\ } } t | j ƒ d k rD | j d d … \ } }	 }
 |	 j t d d	 d
 ƒƒ |
 j t j k r·t |  j	 ƒ  d	 d
 ƒ} |
 j
 ƒ  } d | _ |
 j | ƒ | j
 ƒ  } | j } x- t | ƒ D] \ } } t | t j ƒ rPqWt |
 ƒ sCt |
 ƒ rdt | t | t d ƒ ƒ ƒ } n t | | ƒ } x. t | d  | … ƒ D] } | j d | ƒ qŠW| j | | ƒ qD |
 j d k rD d
 |
 _ qD Wd d „  | j d  d … Dƒ | | } t j | j | ƒ S)Nc             S   s   g  |  ] } | j  ƒ  ‘ q Sr   )Úclone)Ú.0r   r   r   r   ú
<listcomp>2   s   	 z'FixExcept.transform.<locals>.<listcomp>Útailc             S   s   g  |  ] } | j  ƒ  ‘ q Sr   )r   )r   Zchr   r   r   r   4   s   	 Úcleanupé   é   ÚasÚprefixú Ú Úargsr   c             S   s   g  |  ] } | j  ƒ  ‘ q Sr   )r   )r   Úcr   r   r   r   \   s   	 é   )r
   r   Úlenr   Úreplacer   r   r   ÚNAMEÚnew_namer   r    r   Ú
isinstancer   ZNoder   r	   r   r   ÚreversedZinsert_child)ÚselfZnodeÚresultsr
   r   Ztry_cleanupr   Ze_suiteÚEZcommaÚNZnew_NÚtargetZsuite_stmtsr   ZstmtZassignZchildr   r   r   r   Ú	transform/   s6    			!(zFixExcept.transformN)Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleZPATTERNr1   r   r   r   r   r   $   s   r   N)r"   r   Zpgen2r   r   Z
fixer_utilr   r   r   r   r	   r
   r   ZBaseFixr   r   r   r   r   Ú<module>   s
   .