???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3
2a/                 @   s   d dl T d ddZeeef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G dd deZG dd deZdS )$    )*	<unknown>execc             C   s   t | ||tS )N)compileZPyCF_ONLY_AST)sourcefilenamemode r	   (/opt/alt/python36/lib64/python3.6/ast.pyparse   s    r   c                s:   t | trt| dd} t | tr&| j}  fdd  | S )Neval)r   c                s  t | tr| jS t | ttfr$| jS t | tr4| jS t | trNt	t
 | jS t | trhtt
 | jS t | trtt
 | jS t | trt fddt| j| jD S t | tr| jS t | tot | jttfr
 | j}t |trrt | jtr|
 S | S nht | trrt | jttfrr | j} | j }t |trrt |trrt | jtrj|| S || S t!dt"|  d S )Nc             3   s"   | ]\}} | |fV  qd S )Nr	   ).0kv)_convertr	   r
   	<genexpr>A   s    z1literal_eval.<locals>._convert.<locals>.<genexpr>zmalformed node or string: )#
isinstanceConstantvalueStrZBytessZNumnZTupletuplemapZeltsZListlistSetsetZDictdictzipkeysvaluesZNameConstantZUnaryOpopZUAddZUSuboperand
_NUM_TYPESZBinOpZAddZSubleftright
ValueErrorrepr)noder"   r$   r%   )r   r	   r
   r   3   s>    









zliteral_eval.<locals>._convert)r   strr   Z
Expressionbody)Znode_or_stringr	   )r   r
   literal_eval(   s    

"r+   TFc                s2    fdd t | ts*td| jj  | S )Nc                s   t  trfddt D }d jjdjr>dd |D ndd |D f }r jr||rfdphd7 }|dj fd	d jD 7 }|d
 S t  trddjfdd D  S t S )Nc                s   g | ]\}}| |fqS r	   r	   )r   ab)_formatr	   r
   
<listcomp>c   s    z)dump.<locals>._format.<locals>.<listcomp>z%s(%sz, c             s   s   | ]}d | V  qdS )z%s=%sNr	   )r   fieldr	   r	   r
   r   e   s    z(dump.<locals>._format.<locals>.<genexpr>c             s   s   | ]\}}|V  qd S )Nr	   )r   r,   r-   r	   r	   r
   r   g   s     c             3   s$   | ]}d | t |f V  qdS )z%s=%sN)getattr)r   r,   )r.   r(   r	   r
   r   k   s   )z[%s]c             3   s   | ]} |V  qd S )Nr	   )r   x)r.   r	   r
   r   o   s    )	r   ASTiter_fields	__class____name__join_attributesr   r'   )r(   Zfieldsrv)r.   annotate_fieldsinclude_attributes)r(   r
   r.   a   s    


zdump.<locals>._formatzexpected AST, got %r)r   r5   	TypeErrorr7   r8   )r(   r<   r=   r	   )r.   r<   r=   r
   dumpX   s    	
r?   c             C   sB   x<dD ]4}||j kr|| j krt||rt| |t|| qW | S )Nlineno
col_offset)r@   rA   )r:   hasattrsetattrr2   )new_nodeZold_nodeattrr	   r	   r
   copy_locationv   s
    

rF   c                s    fdd  | dd | S )Nc                sf   d| j kr"t| ds|| _n| j}d| j krDt| ds>|| _n| j}xt| D ]} ||| qNW d S )Nr@   rA   )r:   rB   r@   rA   iter_child_nodes)r(   r@   rA   child)_fixr	   r
   rI      s    



z#fix_missing_locations.<locals>._fix   r   r	   )r(   r	   )rI   r
   fix_missing_locations   s    rK   rJ   c             C   s2   x,t | D ] }d|jkr
t|dd| |_q
W | S )Nr@   r   )walkr:   r2   r@   )r(   r   rH   r	   r	   r
   increment_lineno   s    
rM   c             c   s>   x8| j D ].}y|t| |fV  W q tk
r4   Y qX qW d S )N)_fieldsr2   AttributeError)r(   r0   r	   r	   r
   r6      s
    r6   c             c   sT   xNt | D ]B\}}t|tr$|V  q
t|tr
x|D ]}t|tr4|V  q4W q
W d S )N)r6   r   r5   r   )r(   namer0   itemr	   r	   r
   rG      s    



rG   c             C   s   t | ttttfs"td| jj | jo6t | 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}|j|}|S )Nz%r can't have docstringsr   )r   ZAsyncFunctionDefZFunctionDefZClassDefZModuler>   r7   r8   r*   ZExprr   r   r   r   r)   inspectZcleandoc)r(   ZcleantextrR   r	   r	   r
   get_docstring   s    

rT   c             c   s@   ddl m} || g}x$|r:|j } |jt|  | V  qW d S )Nr   )deque)collectionsrU   popleftextendrG   )r(   rU   Ztodor	   r	   r
   rL      s    
rL   c               @   s   e Zd Zdd Zdd ZdS )NodeVisitorc             C   s"   d|j j }t| || j}||S )NZvisit_)r7   r8   r2   generic_visit)selfr(   methodZvisitorr	   r	   r
   visit   s    zNodeVisitor.visitc             C   s\   xVt |D ]J\}}t|tr@x6|D ]}t|tr"| j| q"W q
t|tr
| j| q
W d S )N)r6   r   r   r5   r]   )r[   r(   r0   r   rQ   r	   r	   r
   rZ      s    



zNodeVisitor.generic_visitN)r8   
__module____qualname__r]   rZ   r	   r	   r	   r
   rY      s   rY   c               @   s   e Zd Zdd ZdS )NodeTransformerc             C   s   xt |D ]\}}t|tr|g }xL|D ]D}t|tr`| j|}|d krJq&nt|ts`|j| q&|j| q&W ||d d < q
t|tr
| j|}|d krt|| q
t||| q
W |S )N)	r6   r   r   r5   r]   rX   appenddelattrrC   )r[   r(   r0   Z	old_valueZ
new_valuesr   rD   r	   r	   r
   rZ   .  s&    







zNodeTransformer.generic_visitN)r8   r^   r_   rZ   r	   r	   r	   r
   r`   
  s   $r`   N)r   r   )TF)rJ   )T)Z_astr   intfloatcomplexr#   r+   r?   rF   rK   rM   r6   rG   rT   rL   objectrY   r`   r	   r	   r	   r
   <module>   s   

0


%