o
    ®Ÿ?eE  ã                   @   s4   d Z ddlZddlZG dd„ dejƒZd	dd„ZdS )
z8Print an AST tree in a form more readable than ast.dump.é    Nc                   @   s\   e Zd ZdZdd„ Zddd„Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zddd„ZdS )ÚPrettyPrinterzPrint AST nodes.c                 C   s   d| _ d| _|| _|| _d S )Nr   Ú )Ú
indent_lvlÚresultÚcolorÚnoanno)Úselfr   r   © r	   úp/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/tensorflow/python/autograph/pyct/pretty_printer.pyÚ__init__   s   
zPrettyPrinter.__init__Nc                 C   s   | j rtj|||dS |S )N)Úattrs)r   Ú	termcolorZcolored)r   Ústringr   r   r	   r	   r
   Ú_color   s   zPrettyPrinter._colorc                 C   s   |   |jjd dg¡S )NÚbold)r   Ú	__class__Ú__name__)r   Únoder	   r	   r
   Ú_type#   s   zPrettyPrinter._typec                 C   ó   |   |d¡S )NÚblue©r   ©r   Únamer	   r	   r
   Ú_field&   ó   zPrettyPrinter._fieldc                 C   r   )NÚmagentar   r   r	   r	   r
   Ú_value)   r   zPrettyPrinter._valuec                 C   r   )NÚredr   r   r	   r	   r
   Ú_warning,   r   zPrettyPrinter._warningc                 C   s   |   d| j d dg¡S )Nz| Zdark)r   r   )r   r	   r	   r
   Ú_indent/   s   zPrettyPrinter._indentc                 C   s    |  j |7  _ |  j d7  _ d S )NÚ
)r   )r   Úsr	   r	   r
   Ú_print2   s   zPrettyPrinter._printc              
   C   s  t |tƒr"|r|  d|  ¡ ||f ¡ d S |  d|  ¡ |f ¡ d S |jr(d}nd}|r@|  d|  ¡ |  |¡|  |¡|f ¡ n|  d|  ¡ |  |¡|f ¡ |  jd7  _|jD ]'}| jre| 	d¡reqYt
||ƒs{|  d	|  ¡ |  d
| ¡f ¡ qYt||ƒ}t |tƒrÔ|rÅ|  d|  ¡ |  |¡f ¡ |  jd7  _|D ]}|d urª|  |¡ qž|  d|  ¡  ¡ qž|  jd8  _|  d|  ¡  ¡ qY|  d|  ¡ |  |¡f ¡ qYt |tƒr+|r|  d|  ¡ |  |¡f ¡ |  jd7  _|D ]}|d ur|  |¡ qô|  d|  ¡  ¡ qô|  jd8  _|  d|  ¡  ¡ qY|  d|  ¡ |  |¡f ¡ qYt |tjƒr9|  ||¡ qYt |tƒrT|  d|  ¡ |  |¡|  d| ¡f ¡ qYt |tƒro|  d|  ¡ |  |¡|  d| ¡f ¡ qY|  d|  ¡ |  |¡|  |¡f ¡ qY|  jd8  _d S )Nz	%s%s="%s"z%s"%s"ú:z()z	%s%s=%s%sz%s%s%sé   Ú__z%s%sz
%s=<unset>z%s%s=[z%sNonez%s]z%s%s=[]z%s%s=(z%s)z%s%s=()z%s%s=%szb"%s"zu"%s")Ú
isinstanceÚstrr#   r    Ú_fieldsr   r   r   r   Ú
startswithÚhasattrr   ÚgetattrÚlistÚgeneric_visitÚtupleÚgastÚASTÚbytesr   )r   r   r   ÚcontÚfÚvÚnr	   r	   r
   r.   6   st   
ÿ

ÿ
 



ÿ
ÿ
ÿzPrettyPrinter.generic_visit©N)r   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r    r#   r.   r	   r	   r	   r
   r      s    
r   TFc                 C   sB   t ||ƒ}t| ttfƒr| D ]}| |¡ q|jS | | ¡ |jS r7   )r   r'   r-   r/   Úvisitr   )r   r   r   Úprinterr6   r	   r	   r
   Úfmt{   s   

ÿr=   )TF)r:   r0   r   ÚNodeVisitorr   r=   r	   r	   r	   r
   Ú<module>   s
   f