
    3fiP                         d Z ddlZddlZddlZddlZd eej                  j                  dz         z   Zd Z	 G d d      Z
ej                  fdZy)	z'Usage: unparse.py <path to source file>    N1e   c                     t        |      }	  |t        |             |D ]  } |          ||        y# t        $ r Y yw xY w)z7Call f on each item in seq, calling inter() in between.N)iternextStopIteration)interfseqxs       q/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_community/tools/e2b_data_analysis/unparse.py
interleaver      sL    
s)C	$s)  	AGaD	  s   5 	A Ac                   h   e Zd ZdZej
                  fdZdldZd Zd Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d  Z$d! Z%d" Z&d# Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.d+ Z/d, Z0d- Z1d. Z2d/ Z3d0 Z4d1 Z5d2 Z6d3 Z7d4 Z8d5 Z9d6 Z:d7 Z;d8 Z<d9 Z=d: Z>d;d<d=d>d?Z?d@ Z@d=d>dAdBdCdDdEdFdGdHdIdJdKdLZAdM ZBdNdOdPdQdRdSdTdUdVdWdX
ZCdY ZDeEj                  dZeEj                  d[iZHd\ ZId] ZJd^ ZKd_ ZLd` ZMda ZNdb ZOdc ZPdd ZQde ZRdf ZSdg ZTdh ZUdi ZVdj ZWyk)mUnparserzkTraverse an AST and
    output source code for the abstract syntax; original formatting
    is disregarded.c                 v    || _         d| _        | j                  |       | j                   j                          y)zSUnparser(tree, file=sys.stdout) -> None.
        Print the source for tree to file.r   N)r
   _indentdispatchflush)selftreefiles      r   __init__zUnparser.__init__#   s+     d    c                 `    | j                   j                  dd| j                  z  z   |z          y)zBIndent a piece of text, according to the current indentation level
z    N)r
   writer   r   texts     r   fillzUnparser.fill+   s%    TFT\\11D89r   c                 :    | j                   j                  |       y)z+Append a piece of text to the current line.N)r
   r   r   s     r   r   zUnparser.write/   s    Tr   c                 P    | j                  d       | xj                  dz  c_        y)z(Print ':', and increase the indentation.:r   N)r   r   r   s    r   enterzUnparser.enter3   s    

3r   c                 .    | xj                   dz  c_         y)zDecrease the indentation level.r   N)r   r#   s    r   leavezUnparser.leave8   s    r   c                     t        |t              r|D ]  }| j                  |        yt        | d|j                  j
                  z         } ||       y)z:Dispatcher function, dispatching tree type T to method _T.N_)
isinstancelistr   getattr	__class____name__)r   r   tmeths       r   r   zUnparser.dispatch<   sL    dD! !a !tS4>>#:#::;T
r   c                 H    |j                   D ]  }| j                  |        y N)bodyr   )r   r   stmts      r   _ModulezUnparser._ModuleL   s!    II 	 DMM$	 r   c                 Z    | j                          | j                  |j                         y r1   )r   r   valuer   r   s     r   _ExprzUnparser._ExprQ   s    		djj!r   c                     | j                  d       | j                  |j                         | j                  d       | j                  |j                         | j                  d       y )N(z := ))r   r   targetr6   r7   s     r   
_NamedExprzUnparser._NamedExprU   sD    

3dkk"

6djj!

3r   c                 p      j                  d       t         fd j                  |j                         y )Nzimport c                  &     j                  d      S N, r   r#   s   r   <lambda>z"Unparser._Import.<locals>.<lambda>^       4::d+ r   )r   r   r   namesr   r.   s   ` r   _ImportzUnparser._Import\   s$    		)+T]]AGGDr   c                      j                  d        j                  d|j                  z         |j                  r j                  |j                          j                  d       t	         fd j
                  |j                         y )Nzfrom .z import c                  &     j                  d      S r@   rB   r#   s   r   rC   z&Unparser._ImportFrom.<locals>.<lambda>f   rD   r   )r   r   levelmoduler   r   rE   rF   s   ` r   _ImportFromzUnparser._ImportFrom`   s[    		'

3=!88JJqxx 

:+T]]AGGDr   c                     | j                          |j                  D ]$  }| j                  |       | j                  d       & | j                  |j                         y )N = )r   targetsr   r   r6   )r   r.   r<   s      r   _AssignzUnparser._Assignh   sH    		ii 	FMM&!JJu	 	aggr   c                    | j                          | j                  |j                         | j                  d| j                  |j
                  j                  j                     z   dz          | j                  |j                         y )N z= )	r   r   r<   r   binopopr,   r-   r6   rF   s     r   
_AugAssignzUnparser._AugAssigno   sX    		ahh

3ADDNN$;$;<<tCDaggr   c                 (   | j                          |j                  s5t        |j                  t        j
                        r| j                  d       | j                  |j                         |j                  s5t        |j                  t        j
                        r| j                  d       | j                  d       | j                  |j                         |j                  r-| j                  d       | j                  |j                         y y )Nr:   r;   : rO   )
r   simpler)   r<   astNamer   r   
annotationr6   rF   s     r   
_AnnAssignzUnparser._AnnAssignu   s    		xxJqxx:JJsOahhxxJqxx:JJsO

4all#77JJuMM!''" r   c                     | j                  d       |j                  r-| j                  d       | j                  |j                         y y )NreturnrS   )r   r6   r   r   rF   s     r   _ReturnzUnparser._Return   s5    		(77JJsOMM!''" r   c                 &    | j                  d       y )Npassr   rF   s     r   _PasszUnparser._Pass   s    		&r   c                 &    | j                  d       y )Nbreakrc   rF   s     r   _BreakzUnparser._Break   s    		'r   c                 &    | j                  d       y )Ncontinuerc   rF   s     r   	_ContinuezUnparser._Continue   s    		*r   c                 p      j                  d       t         fd j                  |j                         y )Nzdel c                  &     j                  d      S r@   rB   r#   s   r   rC   z"Unparser._Delete.<locals>.<lambda>   rD   r   )r   r   r   rP   rF   s   ` r   _DeletezUnparser._Delete   s$    		&+T]]AIIFr   c                     | j                  d       | j                  |j                         |j                  r-| j	                  d       | j                  |j                         y y )Nzassert rA   )r   r   testmsgr   rF   s     r   _AssertzUnparser._Assert   sF    		)aff55JJtMM!%%  r   c                 p      j                  d       t         fd j                  |j                         y )Nzglobal c                  &     j                  d      S r@   rB   r#   s   r   rC   z"Unparser._Global.<locals>.<lambda>   rD   r   r   r   r   rE   rF   s   ` r   _GlobalzUnparser._Global   s$    		)+TZZAr   c                 p      j                  d       t         fd j                  |j                         y )Nz	nonlocal c                  &     j                  d      S r@   rB   r#   s   r   rC   z$Unparser._Nonlocal.<locals>.<lambda>   rD   r   rt   rF   s   ` r   	_NonlocalzUnparser._Nonlocal   s$    		++TZZAr   c                     | j                  d       | j                  d       |j                  r,| j                  d       | j                  |j                         | j                  d       y )Nr:   awaitrS   r;   r   r6   r   rF   s     r   _AwaitzUnparser._Await   F    

3

777JJsOMM!''"

3r   c                     | j                  d       | j                  d       |j                  r,| j                  d       | j                  |j                         | j                  d       y )Nr:   yieldrS   r;   r{   rF   s     r   _YieldzUnparser._Yield   r}   r   c                     | j                  d       | j                  d       |j                  r,| j                  d       | j                  |j                         | j                  d       y )Nr:   z
yield fromrS   r;   r{   rF   s     r   
_YieldFromzUnparser._YieldFrom   sF    

3

< 77JJsOMM!''"

3r   c                 &   | j                  d       |j                  s|j                  rJ y | j                  d       | j	                  |j                         |j                  r-| j                  d       | j	                  |j                         y y )NraiserS   z from )r   exccauser   r   rF   s     r   _RaisezUnparser._Raise   sg    		'uuww;

3aee77JJx MM!''" r   c                 B   | j                  d       | j                          | j                  |j                         | j	                          |j
                  D ]  }| j                  |        |j                  rL| j                  d       | j                          | j                  |j                         | j	                          |j                  rM| j                  d       | j                          | j                  |j                         | j	                          y y )Ntryelsefinally)r   r$   r   r2   r&   handlersorelse	finalbody)r   r.   exs      r   _TryzUnparser._Try   s    		%

aff

** 	BMM"	88IIfJJLMM!((#JJL;;IIi JJLMM!++&JJL	 r   c                 |   | j                  d       |j                  r,| j                  d       | j                  |j                         |j                  r,| j                  d       | j                  |j                         | j                          | j                  |j                         | j                          y )NexceptrS    as )r   typer   r   namer$   r2   r&   rF   s     r   _ExceptHandlerzUnparser._ExceptHandler   su    		(66JJsOMM!&&!66JJvJJqvv

aff

r   c                 f   | j                  d       |j                  D ]$  }| j                  d       | j                  |       & | j                  d|j                  z          | j                  d       d}|j
                  D ])  }|r| j                  d       nd}| j                  |       + |j                  D ])  }|r| j                  d       nd}| j                  |       + | j                  d       | j                          | j                  |j                         | j                          y )	Nr   @zclass r:   FrA   Tr;   )
r   decorator_listr   r   r   baseskeywordsr$   r2   r&   )r   r.   decocommaes        r   	_ClassDefzUnparser._ClassDef   s    

4$$ 	 DIIcNMM$	  			(QVV#$

3 	A

4 MM!	  	A

4 MM!	 	

3

aff

r   c                 (    | j                  |d       y )Ndef_Unparser__FunctionDef_helperrF   s     r   _FunctionDefzUnparser._FunctionDef   s    !!!U+r   c                 (    | j                  |d       y )Nz	async defr   rF   s     r   _AsyncFunctionDefzUnparser._AsyncFunctionDef  s    !!![1r   c                    | j                  d       |j                  D ]$  }| j                  d       | j                  |       & |dz   |j                  z   dz   }| j                  |       | j                  |j
                         | j                  d       |j                  r,| j                  d       | j                  |j                         | j                          | j                  |j                         | j                          y )Nr   r   rS   r:   r;   z -> )
r   r   r   r   r   argsreturnsr$   r2   r&   )r   r.   fill_suffixr   def_strs        r   __FunctionDef_helperzUnparser.__FunctionDef_helper  s    

4$$ 	 DIIcNMM$	  #aff,s2		'aff

399JJvMM!))$

aff

r   c                 (    | j                  d|       y )Nzfor _Unparser__For_helperrF   s     r   _ForzUnparser._For  s    &!$r   c                 (    | j                  d|       y )Nz
async for r   rF   s     r   	_AsyncForzUnparser._AsyncFor  s    ,*r   c                    | j                  |       | j                  |j                         | j                  d       | j                  |j                         | j                          | j                  |j                         | j                          |j                  rM| j                  d       | j                          | j                  |j                         | j                          y y )N in r   )	r   r   r<   r   r   r$   r2   r&   r   )r   r   r.   s      r   __For_helperzUnparser.__For_helper  s    		$ahh

6aff

aff

88IIfJJLMM!((#JJL	 r   c                    | j                  d       | j                  |j                         | j                          | j                  |j                         | j                          |j                  rt        |j                        dk(  rt        |j                  d   t        j                        r|j                  d   }| j                  d       | j                  |j                         | j                          | j                  |j                         | j                          |j                  r@t        |j                        dk(  r(t        |j                  d   t        j                        r|j                  rM| j                  d       | j                          | j                  |j                         | j                          y y )Nzif r   r   zelif r   )r   r   ro   r$   r2   r&   r   lenr)   rZ   IfrF   s     r   _IfzUnparser._If)  s   		%aff

aff

hh3qxx=A-*QXXa[#&&2QAIIgMM!&&!JJLMM!&&!JJL hh3qxx=A-*QXXa[#&&2Q 88IIfJJLMM!((#JJL	 r   c                    | j                  d       | j                  |j                         | j                          | j                  |j                         | j                          |j                  rM| j                  d       | j                          | j                  |j                         | j                          y y )Nzwhile r   )r   r   ro   r$   r2   r&   r   rF   s     r   _WhilezUnparser._While>  sz    		(aff

aff

88IIfJJLMM!((#JJL	 r   c                       j                  d       t         fd j                  |j                          j	                           j                  |j
                          j                          y )Nzwith c                  &     j                  d      S r@   rB   r#   s   r   rC   z Unparser._With.<locals>.<lambda>L  rD   r   r   r   r   itemsr$   r2   r&   rF   s   ` r   _WithzUnparser._WithJ  sF    		'+T]]AGGD

aff

r   c                       j                  d       t         fd j                  |j                          j	                           j                  |j
                          j                          y )Nzasync with c                  &     j                  d      S r@   rB   r#   s   r   rC   z%Unparser._AsyncWith.<locals>.<lambda>S  rD   r   r   rF   s   ` r   
_AsyncWithzUnparser._AsyncWithQ  sF    		- +T]]AGGD

aff

r   c                     | j                  d       t        j                         }| j                  ||j                          | j                  t	        |j                                      y Nr
   )r   ioStringIO_fstring_JoinedStrreprgetvaluer   r.   strings      r   
_JoinedStrzUnparser._JoinedStrY  sD    

36<<0

4)*+r   c                     | j                  d       t        j                         }| j                  ||j                          | j                  t	        |j                                      y r   )r   r   r   _fstring_FormattedValuer   r   r   s      r   _FormattedValuezUnparser._FormattedValue_  sD    

3$$Q5

4)*+r   c                 |    |j                   D ]-  }t        | dt        |      j                  z         } |||       / y )N	_fstring_)valuesr+   r   r-   )r   r.   r   r6   r/   s        r   r   zUnparser._fstring_JoinedStre  s:    XX 	E4tE{/C/C!CDD	r   c                     t        |j                  t              sJ |j                  j                  dd      j                  dd      } ||       y )N{z{{}z}})r)   r6   strreplace)r   r.   r   r6   s       r   _fstring_ConstantzUnparser._fstring_Constantj  s>    !''3'''T*223=er   c                     |d       t        j                         }t        |j                  |       |j	                         j                  d      }|j                  d      r |d        ||       |j                  dk7  r&t        |j                        }|dv sJ  |d|        |j                  rG |d       t        | dt        |j                        j                  z         } ||j                  |        |d	       y )
Nr   r   rS   sra!r"   r   r   )r   r   r   r6   r   rstrip
startswith
conversionchrformat_specr+   r   r-   )r   r.   r   exprr   r/   s         r   r   z Unparser._fstring_FormattedValueo  s    c
{{}$}}%%d+??3#Jd<<2Q\\*J&&&Aj\"#==#J4tAMM/B/K/K!KLD&c
r   c                 :    | j                  |j                         y r1   )r   idrF   s     r   _NamezUnparser._Name  s    

144r   c                     t        |t        t        f      r/| j                  t	        |      j                  dt                     y | j                  t	        |             y )Ninf)r)   floatcomplexr   r   r   INFSTR)r   r6   s     r   _write_constantzUnparser._write_constant  s>    eeW-.JJtE{**5&9:JJtE{#r   c                     |j                   }t        |t              rq j                  d       t	        |      dk(  r& j                  |d           j                  d       nt         fd j
                  |        j                  d       y |du r j                  d       y |j                  d	k(  r j                  d	        j                  |j                          y )
Nr:   r   r   ,c                  &     j                  d      S r@   rB   r#   s   r   rC   z$Unparser._Constant.<locals>.<lambda>      4::d#3 r   r;   ....u)r6   r)   tupler   r   r   r   kind)r   r.   r6   s   `  r   	_ConstantzUnparser._Constant  s    eU#JJsO5zQ$$U1X.

33T5I5I5QJJsOc\JJuvv}

3  )r   c                       j                  d       t         fd j                  |j                          j                  d       y )N[c                  &     j                  d      S r@   rB   r#   s   r   rC   z Unparser._List.<locals>.<lambda>  rD   r   ])r   r   r   eltsrF   s   ` r   _ListzUnparser._List  s.    

3+T]]AFFC

3r   c                     | j                  d       | j                  |j                         |j                  D ]  }| j                  |        | j                  d       y )Nr   r   r   r   elt
generatorsr   r.   gens      r   	_ListCompzUnparser._ListComp  G    

3aee<< 	CMM#	

3r   c                     | j                  d       | j                  |j                         |j                  D ]  }| j                  |        | j                  d       y )Nr:   r;   r   r   s      r   _GeneratorExpzUnparser._GeneratorExp  r  r   c                     | j                  d       | j                  |j                         |j                  D ]  }| j                  |        | j                  d       y )Nr   r   r   r   s      r   _SetCompzUnparser._SetComp  r  r   c                    | j                  d       | j                  |j                         | j                  d       | j                  |j                         |j                  D ]  }| j                  |        | j                  d       y )Nr   rX   r   )r   r   keyr6   r   r   s      r   	_DictCompzUnparser._DictComp  sc    

3aee

4agg<< 	CMM#	

3r   c                 V   |j                   r| j                  d       n| j                  d       | j                  |j                         | j                  d       | j                  |j                         |j
                  D ]$  }| j                  d       | j                  |       & y )Nz async for z for r    if )is_asyncr   r   r<   r   ifs)r   r.   	if_clauses      r   _comprehensionzUnparser._comprehension  sx    ::JJ}%JJwahh

6aff 	%IJJvMM)$	%r   c                 .   | j                  d       | j                  |j                         | j                  d       | j                  |j                         | j                  d       | j                  |j                         | j                  d       y )Nr:   r  z else r;   )r   r   r2   ro   r   rF   s     r   _IfExpzUnparser._IfExp  s`    

3aff

6aff

8ahh

3r   c                      |j                   sJ  j                  d       t         fd j                  |j                           j                  d       y )Nr   c                  &     j                  d      S r@   rB   r#   s   r   rC   zUnparser._Set.<locals>.<lambda>  rD   r   r   )r   r   r   r   rF   s   ` r   _SetzUnparser._Set  s9    vvv

3+T]]AFFC

3r   c                       j                  d        fd fd}t         fd|t        |j                  |j                                j                  d       y )Nr   c                 l    j                  |        j                  d       j                  |       y NrX   )r   r   )kvr   s     r   write_key_value_pairz,Unparser._Dict.<locals>.write_key_value_pair  s'    MM!JJtMM!r   c                 l    | \  }}|#j                  d       j                  |       y  ||       y )N**)r   r   )itemr  r  r   r  s      r   
write_itemz"Unparser._Dict.<locals>.write_item  s5    DAqy 

4 a $Q*r   c                  &     j                  d      S r@   rB   r#   s   r   rC   z Unparser._Dict.<locals>.<lambda>  rD   r   r   )r   r   zipkeysr   )r   r.   r  r  s   `  @r   _DictzUnparser._Dict  sA    

3	
	+ 	+ZQVVQXX9NO

3r   c                 &     j                  d       t        |j                        dk(  r2|j                  d   } j                  |        j                  d       n$t	         fd j                  |j                          j                  d       y )Nr:   r   r   r   c                  &     j                  d      S r@   rB   r#   s   r   rC   z!Unparser._Tuple.<locals>.<lambda>      tzz$/ r   r;   )r   r   r   r   r   r   r.   r   s   `  r   _TuplezUnparser._Tuple  sb    

3qvv;!&&)CMM#JJsO/G

3r   ~not+-)InvertNotUAddUSubc                    | j                  d       | j                  | j                  |j                  j                  j                            | j                  d       | j                  |j                         | j                  d       y Nr:   rS   r;   )r   unoprU   r,   r-   r   operandrF   s     r   _UnaryOpzUnparser._UnaryOp  sV    

3

499QTT^^4456

3aii 

3r   *r   /%z<<z>>|^&z//r  )AddSubMultMatMultDivModLShiftRShiftBitOrBitXorBitAndFloorDivPowc                 8   | j                  d       | j                  |j                         | j                  d| j                  |j                  j
                  j                     z   dz          | j                  |j                         | j                  d       y r2  )r   r   leftrT   rU   r,   r-   rightrF   s     r   _BinOpzUnparser._BinOp  se    

3aff

3ADDNN$;$;<<sBCagg

3r   z==z!=<z<=>z>=iszis notinznot in)
EqNotEqLtLtEGtGtEIsIsNotInNotInc                 `   | j                  d       | j                  |j                         t        |j                  |j
                        D ]N  \  }}| j                  d| j                  |j                  j                     z   dz          | j                  |       P | j                  d       y r2  )	r   r   rJ  r!  opscomparatorscmpopsr,   r-   )r   r.   or   s       r   _ComparezUnparser._Compare&  s    

3affq}}- 	DAqJJsT[[)=)=>>DEMM!	 	

3r   andorc                       j                  d       d j                  |j                  j                     z  t	         fd j
                  |j                          j                  d       y )Nr:   z %s c                  &    j                         S r1   rB   )sr   s   r   rC   z"Unparser._BoolOp.<locals>.<lambda>3  s    4::a= r   r;   )r   boolopsrU   r,   r   r   r   )r   r.   re  s   ` @r   _BoolOpzUnparser._BoolOp0  sI    

3T\\!$$..11($--B

3r   c                 D   | j                  |j                         t        |j                  t        j                        r5t        |j                  j                  t
              r| j                  d       | j                  d       | j                  |j                         y )NrS   rI   )r   r6   r)   rZ   Constantintr   attrrF   s     r   
_AttributezUnparser._Attribute6  s]    agg aggs||,AGGMM31OJJsO

3

166r   c                 b   | j                  |j                         | j                  d       d}|j                  D ])  }|r| j                  d       nd}| j                  |       + |j                  D ])  }|r| j                  d       nd}| j                  |       + | j                  d       y )Nr:   FrA   Tr;   )r   funcr   r   r   )r   r.   r   r   s       r   _CallzUnparser._Call@  s    aff

3 	A

4 MM!	  	A

4 MM!	 	

3r   c                      j                  |j                          j                  d       t        |j                  t
        j                        rt        |j                  j                  t
        j                        r|j                  j                  j                  rt        |j                  j                  j                        dk(  rF|j                  j                  j                  d   } j                  |        j                  d       nTt         fd j                   |j                  j                  j                         n j                  |j                          j                  d       y )Nr   r   r   r   c                  &     j                  d      S r@   rB   r#   s   r   rC   z%Unparser._Subscript.<locals>.<lambda>_  r   r   r   )r   r6   r   r)   slicerZ   IndexTupler   r   r   r'  s   `  r   
_SubscriptzUnparser._SubscriptR  s    agg

3qww		*177==#))4""177==%%&!+ggmm((+c"

33T]]AGGMMDVDVWMM!''"

3r   c                 \    | j                  d       | j                  |j                         y )Nr6  )r   r   r6   rF   s     r   _StarredzUnparser._Starredd  s    

3aggr   c                 &    | j                  d       y )Nr   rB   rF   s     r   	_EllipsiszUnparser._Ellipsisi  s    

5r   c                 :    | j                  |j                         y r1   )r   r6   rF   s     r   _IndexzUnparser._Indexl  s    aggr   c                 4   |j                   r| j                  |j                          | j                  d       |j                  r| j                  |j                         |j                  r-| j                  d       | j                  |j                         y y )Nr"   )lowerr   r   uppersteprF   s     r   _SlicezUnparser._Sliceo  sb    77MM!''"

377MM!''"66JJsOMM!&&! r   c                      t        |j                        dk(  r2|j                  d   } j                  |        j                  d       y t	         fd j                  |j                         y )Nr   r   r   c                  &     j                  d      S r@   rB   r#   s   r   rC   z$Unparser._ExtSlice.<locals>.<lambda>  r&  r   )r   dimsr   r   r   r'  s   `  r   	_ExtSlicezUnparser._ExtSlicey  sL    qvv;!&&)CMM#JJsO/Gr   c                     | j                  |j                         |j                  r-| j                  d       | j                  |j                         y y r  )r   argr\   r   rF   s     r   _argzUnparser._arg  s:    

155<<JJtMM!,,' r   c                 v   d}|j                   |j                  z   }d gt        |      t        |j                        z
  z  |j                  z   }t	        t        ||      d      D ]  \  }}|\  }}|rd}n| j                  d       | j                  |       |r"| j                  d       | j                  |       |t        |j                         k(  so| j                  d        |j                  s|j                  r|rd}n| j                  d       | j                  d       |j                  rq| j                  |j                  j                         |j                  j                  r6| j                  d       | j                  |j                  j                         |j                  rtt        |j                  |j                        D ]Q  \  }}|rd}n| j                  d       | j                  |       |s0| j                  d       | j                  |       S |j                  r|rd}n| j                  d       | j                  d	|j                  j                  z          |j                  j                  r7| j                  d       | j                  |j                  j                         y y y )
NTr   FrA   =z, /r6  rX   r  )posonlyargsr   r   defaults	enumerater!  r   r   vararg
kwonlyargsr  r\   kw_defaultskwarg)	r   r.   firstall_argsr  indexelementsads	            r   
_argumentszUnparser._arguments  s   ==166)6S]S_<=

J(Xx)@!D 	"OE8DAq

4 MM!

3a AMM**

5!	" 88q||

4 JJsOxx

188<<(88&&JJt$MM!(("5"56 <<ALL!--8 %1!EJJt$a JJsOMM!$% 77

4 JJtaggkk)*ww!!

4 agg001 " r   c                     |j                   | j                  d       n,| j                  |j                          | j                  d       | j                  |j                         y )Nr  r  )r  r   r   r6   rF   s     r   _keywordzUnparser._keyword  sB    55=JJtJJquuJJsOaggr   c                     | j                  d       | j                  d       | j                  |j                         | j                  d       | j                  |j                         | j                  d       y )Nr:   zlambda rX   r;   )r   r   r   r2   rF   s     r   _LambdazUnparser._Lambda  sP    

3

9aff

4aff

3r   c                     | j                  |j                         |j                  r| j                  d|j                  z          y y Nr   )r   r   asnamerF   s     r   _aliaszUnparser._alias  s3    

16688JJv() r   c                     | j                  |j                         |j                  r-| j                  d       | j                  |j                         y y r  )r   context_exproptional_varsr   rF   s     r   	_withitemzUnparser._withitem  s:    ann%??JJvMM!//* r   N) )Xr-   
__module____qualname____doc__sysstdoutr   r   r   r$   r&   r   r4   r8   r=   rG   rM   rQ   rV   r]   r`   rd   rg   rj   rm   rq   ru   rx   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r
  r  r  r  r#  r(  r3  r5  rT   rL  r^  r`  rZ   AndOrrf  rg  rl  ro  ru  rw  ry  r{  r  r  r  r  r  r  r  r   r   r   r   r      s    #&** :
  
"EE##G!BB	#$
4,2 %+*
,,

$$*"

%* %cBD E  F wwsvvt,G$$
"H(42l*
+r   r   c                 @   t        | d      5 }t        j                  |j                        d   }ddd       t        | d      5 }|j	                         }ddd       t        | dt        j                        }t        ||       y# 1 sw Y   YxY w# 1 sw Y   >xY w)zParse a file and pretty-print it to output.

    The output is formatted as valid Python source code.

    Args:
        filename: The name of the file to parse.
        output: The output stream to write to.
    rbr   Nr)encodingexec)	opentokenizedetect_encodingreadlinereadcompilerZ   PyCF_ONLY_ASTr   )filenameoutputpyfiler  sourcer   s         r   	roundtripr    s     
h	 @++FOO<Q?@	hh	/ 668VS->->?DT6@ @ s   #BBBB)r  rZ   r   r  r  r   
float_info
max_10_expr   r   r   r  r  r  r   r   <module>r     sV   
 * 
 	 
  
S^^..23	3
z
+ z
+z  #zz r   