???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    e5d"K                     @   s  d dl T d<dddddZd	d
 Zd=ddZdd Zdd Zd>ddZdd Zdd Zd?ddZ	dd Z
dd Zddd d!Zd"d# ZG d$d% d%eZG d&d' d'eZd(d) Zd*d+ Zeeee_eeee_G d,d- d-eZd.d/ ZG d0d1 d1eed2ZG d3d4 d4eed2ZG d5d6 d6eed2ZG d7d8 d8eed2ZG d9d: d:eed2Zeee e!fee"fee#feede$feed;fiZ%ee$fiZ&e$d8edd8ed1e d1e!d1e"d4e#d6ed;d:iZ'dS )@    )*	<unknown>execFN)type_commentsfeature_versionc                C   sF   t }|r|tO }t|tr(|\}}|}n|d kr4d}t| ||||dS )N)_feature_version)ZPyCF_ONLY_ASTZPyCF_TYPE_COMMENTS
isinstancetuplecompile)sourcefilenamemoder   r   flagsmajorminor r   /usr/lib64/python3.8/ast.pyparse   s    

r   c                    s`   t | trt| dd} t | tr&| j} dd fddfdd fd	d
  | S )Neval)r   c                 S   s   t d| d S )Nzmalformed node or string: )
ValueErrornoder   r   r   _raise_malformed_node>   s    z+literal_eval.<locals>._raise_malformed_nodec                    s,   t | trt| jtttfkr& |  | jS N)r	   Constanttypevalueintfloatcomplexr   )r   r   r   _convert_num@   s    z"literal_eval.<locals>._convert_numc                    sD   t | tr<t | jttfr< | j}t | jtr6|
 S | S  | S r   )r	   ZUnaryOpopZUAddZUSuboperand)r   r#   )r!   r   r   _convert_signed_numD   s    
z)literal_eval.<locals>._convert_signed_numc                    s  t | tr| jS t | tr*tt | jS t | trDtt | jS t | t	r^t
t | jS t | trt| jt| jkr|  ttt | jt | jS t | trt | jttfr| j}| j}t |ttfrt |trt | jtr|| S || S | S r   )r	   r   r   ZTupler
   mapZeltsZListlistSetsetZDictlenkeysvaluesdictzipZBinOpr"   ZAddZSubleftrightr   r   r    )r   r.   r/   _convertr!   r$   r   r   r   r1   L   s,    







zliteral_eval.<locals>._convert)r	   strr   Z
Expressionbody)Znode_or_stringr   r0   r   literal_eval3   s    

r4   Tc                    s2    fdd t | ts*td| jj  | S )Nc              	      s   t | trg }}| jD ]V}zt| |}W n tk
rB   d}Y qX |r`|d| |f  q| | qr| jr| jD ]:}z |d| t| |f  W q tk
r   Y qX qd| jjd	|f S t | t
rdd	 fdd| D  S t| S )NTz%s=%sz%s(%s)z, z[%s]c                 3   s   | ]} |V  qd S r   r   ).0x)_formatr   r   	<genexpr>   s     z(dump.<locals>._format.<locals>.<genexpr>)r	   AST_fieldsgetattrAttributeErrorappend_attributes	__class____name__joinr&   repr)r   argskeywordsfieldr   ar7   annotate_fieldsinclude_attributesr   r   r7   p   s*    




 
zdump.<locals>._formatzexpected AST, got %r)r	   r9   	TypeErrorr?   r@   )r   rH   rI   r   rG   r   dumpf   s    

rK   c                 C   sV   dD ]L}||j kr|| j krt||d }|d k	sDt||r|drt| || q| S )N)lineno
col_offset
end_linenoend_col_offsetZend_)r>   r;   hasattr
startswithsetattr)new_nodeZold_nodeattrr   r   r   r   copy_location   s    rU   c                    s     fdd  | dddd | S )Nc                    s   d| j kr"t| ds|| _n| j}d| j krDt| ds>|| _n| j}d| j krft| ds`|| _n| j}d| j krt| ds|| _n| j}t| D ]} ||||| qd S )NrL   rN   rM   rO   )r>   rP   rL   rN   rM   rO   iter_child_nodes)r   rL   rM   rN   rO   child_fixr   r   rY      s$    







z#fix_missing_locations.<locals>._fix   r   r   r   r   rX   r   fix_missing_locations   s    r[   rZ   c                 C   sV   t | D ]H}d|jkr(t|dd| |_d|jkrt|dd }d k	r|| |_q| S )NrL   r   rN   )walkr>   r;   rL   rN   )r   nrW   rN   r   r   r   increment_lineno   s    
r^   c              	   c   s:   | j D ].}z|t| |fV  W q tk
r2   Y qX qd S r   )r:   r;   r<   )r   rE   r   r   r   iter_fields   s
    
r_   c                 c   sL   t | D ]>\}}t|tr"|V  qt|tr|D ]}t|tr0|V  q0qd S r   )r_   r	   r9   r&   )r   namerE   itemr   r   r   rV      s    


rV   c                 C   s   t | ttttfs"td| jj | jr8t | jd t	s<d S | jd j
} t | trZ| j}n"t | trxt | j
trx| j
}nd S |rdd l}||}|S )Nz%r can't have docstringsr   )r	   ZAsyncFunctionDefZFunctionDefZClassDefZModulerJ   r?   r@   r3   ZExprr   Strsr   r2   inspectZcleandoc)r   Zcleantextrd   r   r   r   get_docstring   s    	

rf   c                 C   s   d}g }d}|t | k rx| | }||7 }|d7 }|dkr`|t | k r`| | dkr`|d7 }|d7 }|dkr|| d}q|r|| |S )Nr    rZ   
z
)r)   r=   )r   idxlinesZ	next_linecr   r   r   _splitlines_no_ff  s      

rm   c                 C   s,   d}| D ]}|dkr||7 }q|d7 }q|S )Nrg   z	 r   )r   resultrl   r   r   r   _pad_whitespace  s    

rp   )paddedc                C   s   z$|j d }|jd }|j}|j}W n tk
r:   Y d S X t| }||krd||  ||  S |rt||  d |  }nd}|||  |d    }	||  d |  }
||d | }|	d|	 |
|
 d|S )NrZ   rg   r   )rL   rN   rM   rO   r<   rm   encodedecoderp   insertr=   rA   )r   r   rq   rL   rN   rM   rO   rk   ZpaddingfirstZlastr   r   r   get_source_segment*  s&    	



rv   c                 c   s<   ddl m} || g}|r8| } |t|  | V  qd S )Nr   )deque)collectionsrw   popleftextendrV   )r   rw   Ztodor   r   r   r\   M  s    
r\   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )NodeVisitorc                 C   s"   d|j j }t| || j}||S )Nvisit_)r?   r@   r;   generic_visit)selfr   methodvisitorr   r   r   visito  s    zNodeVisitor.visitc                 C   sT   t |D ]F\}}t|tr:|D ]}t|tr| | qqt|tr| | qd S r   )r_   r	   r&   r9   r   )r~   r   rE   r   ra   r   r   r   r}   u  s    


zNodeVisitor.generic_visitc           	      C   s   |j }tt|}|d kr@t D ]\}}t||r$|} q@q$|d k	rd| }zt| |}W n tk
rr   Y n&X dd l}|	| dt
d ||S | |S )Nr|   r   z" is deprecated; add visit_Constant   )r   _const_node_type_namesgetr   itemsr	   r;   r<   warningswarnPendingDeprecationWarningr}   )	r~   r   r   Z	type_nameclsr`   r   r   r   r   r   r   visit_Constant  s(    
 zNodeVisitor.visit_ConstantN)r@   
__module____qualname__r   r}   r   r   r   r   r   r{   [  s   
r{   c                   @   s   e Zd Zdd ZdS )NodeTransformerc                 C   s   t |D ]\}}t|trvg }|D ]D}t|tr\| |}|d krFq"nt|ts\|| q"|| q"||d d < qt|tr| |}|d krt|| qt||| q|S r   )	r_   r	   r&   r9   r   rz   r=   delattrrR   )r~   r   rE   	old_valueZ
new_valuesr   rS   r   r   r   r}     s&    






zNodeTransformer.generic_visitN)r@   r   r   r}   r   r   r   r   r     s   $r   c                 C   s   | j S r   r   )r~   r   r   r   _getter  s    r   c                 C   s
   || _ d S r   r   )r~   r   r   r   r   _setter  s    r   c                   @   s   e Zd Zdd ZdS )_ABCc                 C   sf   t |tsdS | tkrZz
|j}W n tk
r6   Y dS X t |t|  oXt |t| d S t| |S )NFr   )	r	   r   _const_typesr   r<   _const_types_notr   r   __instancecheck__)r   instr   r   r   r   r     s    

z_ABC.__instancecheck__N)r@   r   r   r   r   r   r   r   r     s   r   c                 O   sf   |D ]<}|| j krq| j |}|t|k rt| j d|q| tkrTt||S tj| f||S )Nz" got multiple values for argument )r:   indexr)   rJ   r@   r   r   __new__)r   rC   kwargskeyposr   r   r   _new  s    

r   c                   @   s   e Zd ZdZeZdS )Num)r]   Nr@   r   r   r:   r   r   r   r   r   r   r     s   r   )	metaclassc                   @   s   e Zd ZdZeZdS )rb   rc   Nr   r   r   r   r   rb     s   rb   c                   @   s   e Zd ZdZeZdS )Bytesr   Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZeZdS )NameConstantN)r@   r   r   r   r   r   r   r   r   r     s   r   c                   @   s   e Zd ZdZdd ZdS )Ellipsisr   c                 O   s(   | t krtd||S tj| f||S )N.).)r   r   r   )r   rC   r   r   r   r   r     s    zEllipsis.__new__N)r@   r   r   r:   r   r   r   r   r   r     s   r   .)r   r   )TF)rZ   )T)(_astr   r4   rK   rU   r[   r^   r_   rV   rf   rm   rp   rv   r\   objectr{   r   r   r   propertyr   r]   rc   r   r   r   r   rb   r   r   r   r   r   r    r2   bytesboolr   r   r   r   r   r   r   <module>   sx    3
'#

#:>	    
          