
    =Ogf              	          	 d Z dZddlmZ ddlmZmZ ddlZddl	Z	ddl
mZ ddlZddlZddlZddlT ddlmZ  ej        d	ej                  Z ej        d
ej                  ZddlZej        g dz   Z[ G d d ej        dd                    Zd Zd Zd ZdZdZe edez             z    ee          z   ZdZdZ dZ!dZ"dZ# ee e!e"e#          Z$dZ% edd           ee%          z   Z&de%z   Z' ee&e'          Z( ede(dz             Z) ee)e(e$          Z*d  Z+e	j,        d!             Z- e e+             Z.d"Z/d#Z0d$Z1d%Z2 ee.d&z   e.d'z             Z3 ee.d(z   e.d)z             Z4 e e5ej6         e7ed*+                     Z8 ed,e8          Z9 ee*e9e4e          Z:ee:z   Z; ee.d-z    ed.d          z   e.d/z    ed0d          z             Z< ed1ee3          Z=e ee=e*e9e<e          z   Z>i Z? e+            D ]"Z@e/e?e@d.z   <   e0e?e@d0z   <   e1e?e@d&z   <   e2e?e@d'z   <   #[@ eA            ZB eA            ZC e+            D ]FZDeDd0z   eDd.z   fD ]ZEeBF                    eE           eDd'z   eDd&z   fD ]ZEeCF                    eE           G[D[Ed2ZG G d3 d4eH          ZI G d5 d6eH          ZJ G d7 d8          ZKd9 ZLd: ZMd; ZNd< Zd= ZOd> ZPd? ZQd@ ZRdA ZSeTdBk    r eR             dS dS )CzKa-Ping Yee <ping@lfw.org>zpGvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, Skip Montanaro, Raymond Hettinger, Trent Nelson, Michael Foord    )open)lookupBOM_UTF8N)TextIOWrapper)*)EXACT_TOKEN_TYPESz&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s   ^[ \t\f]*(?:[#\r\n]|$))tokenizegenerate_tokensdetect_encoding
untokenize	TokenInfoc                   *    e Zd Zd Zed             ZdS )r   c                 l    d| j         t          | j                  fz  }d|                     |          z  S )Nz%d (%s)z8TokenInfo(type=%s, string=%r, start=%r, end=%r, line=%r))type)r   tok_name_replace)selfannotated_types     !/usr/lib64/python3.11/tokenize.py__repr__zTokenInfo.__repr__/   s8    "di$)1D%EEJ>223 	4    c                 p    | j         t          k    r | j        t          v rt          | j                 S | j         S N)r   OPstringr   r   s    r   
exact_typezTokenInfo.exact_type4   s/    9??t{.???$T[119r   N)__name__
__module____qualname__r   propertyr    r   r   r   r   .   s>        4 4 4
   X  r   r   ztype string start end linec                  8    dd                     |           z   dz   S )N(|))joinchoicess    r   groupr*   ;   s    C#((7"3"33c99r   c                      t          |  dz   S )Nr   r*   r(   s    r   anyr-   <   s    %/C//r   c                      t          |  dz   S )N?r,   r(   s    r   mayber0   =   s    E7Oc11r   z[ \f\t]*z	#[^\r\n]*z\\\r?\nz\w+z0[xX](?:_?[0-9a-fA-F])+z0[bB](?:_?[01])+z0[oO](?:_?[0-7])+z(?:0(?:_?0)*|[1-9](?:_?[0-9])*)z[eE][-+]?[0-9](?:_?[0-9])*z)[0-9](?:_?[0-9])*\.(?:[0-9](?:_?[0-9])*)?z\.[0-9](?:_?[0-9])*z[0-9](?:_?[0-9])*z[0-9](?:_?[0-9])*[jJ]z[jJ]c                      g d} dh}| D ]\}t          j        |          D ]E}t          j        d |D              D ]*}|                    d                    |                     +F]|S )N)brufbrfr c                 :    g | ]}||                                 fS r"   )upper).0cs     r   
<listcomp>z(_all_string_prefixes.<locals>.<listcomp>_   s$    )D)D)DQ1aggii.)D)D)Dr   )
_itertoolspermutationsproductaddr'   )_valid_string_prefixesresultprefixtr4   s        r   _all_string_prefixesrF   T   s     >==TF( ' '(00 	' 	'A  ')D)D!)D)D)DE ' '

2771::&&&&'	'
 Mr   c                 @    t          j        | t           j                  S r   )recompileUNICODE)exprs    r   _compilerL   c   s    :dBJ'''r   z[^'\\]*(?:\\.[^'\\]*)*'z[^"\\]*(?:\\.[^"\\]*)*"z%[^'\\]*(?:(?:\\.|'(?!''))[^'\\]*)*'''z%[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*"""z'''z"""z'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"T)reversez\r?\nz'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"z
\\\r?\n|\Z   c                       e Zd ZdS )
TokenErrorNr   r   r    r"   r   r   rR   rR                r   rR   c                       e Zd ZdS )StopTokenizingNrS   r"   r   r   rV   rV      rT   r   rV   c                   &    e Zd Zd Zd Zd Zd ZdS )Untokenizerc                 >    g | _         d| _        d| _        d | _        d S )N   r   )tokensprev_rowprev_colencodingr   s    r   __init__zUntokenizer.__init__   s"    r   c                 f   |\  }}|| j         k     s|| j         k    r:|| j        k     r/t          d                    ||| j         | j                            || j         z
  }|r$| j                            d|z             d| _        || j        z
  }|r| j                            d|z             d S d S )Nz+start ({},{}) precedes previous end ({},{})\
r    )r\   r]   
ValueErrorformatr[   append)r   startrowcol
row_offset
col_offsets         r   add_whitespacezUntokenizer.add_whitespace   s    S#"6"63;N;NJ$fS#t}dmLLN N N4=(
 	Kv
2333DM4=(
 	1KsZ/00000	1 	1r   c                 N   t          |          }g }d}|D ]u}t          |          dk    r|                     ||            nH|\  }}}}	}
|t          k    r|| _        J|t
          k    r n|t          k    r|                    |           y|t          k    r$|	                                 |	\  | _
        | _        |t          t          fv rd}nU|rS|rQ|d         }|d         t          |          k    r.| j                            |           t          |          | _        d}|                     |           | j                            |           |	\  | _
        | _        |t          t          fv r| xj
        dz  c_
        d| _        wd                    | j                  S )NF   TrZ   r   r8   )iterlencompatENCODINGr^   	ENDMARKERINDENTre   DEDENTpopr\   r]   NEWLINENLr[   rk   r'   )r   iterableitindents	startlinerE   tok_typetokenrf   endlineindents               r   r   zUntokenizer.untokenize   s   (^^	 	" 	"A1vv{{Ar"""01-HeUC8## %9$$6!!u%%%V##/2,t}gr]** 		 "w " 8s6{{**K&&v...$'KKDM!	&&&Ku%%%+.(DM4=GR=((" !wwt{###r   c                    g }| j         j        }|d         t          t          fv }d}t	          j        |g|          D ]}|d d         \  }}	|t          k    r|	| _        "|t          t          fv r|	dz  }	|t          k    r
|rd|	z   }	d}nd}|t          k    r|                    |	           o|t          k    r|                                 |t          t          fv rd}n|r|r ||d                    d} ||	           d S )Nr   Frm   rb   Trn   )r[   re   rw   rx   r>   chainrr   r^   NAMENUMBERSTRINGrt   ru   rv   )
r   r~   ry   r{   toks_appendr|   
prevstringtoktoknumtokvals
             r   rq   zUntokenizer.compat   sD   k(!H"-	
#UGX66 	  	 C !WNFF!! &$''#  * 6\F!

"
v&&&6!!GR=(( 		 "w "GBK(((!	K9	  	 r   N)r   r   r    r_   rk   r   rq   r"   r   r   rX   rX      sQ          1 1 1#$ #$ #$J"  "  "  "  " r   rX   c                     	 t                      }|                    |           }|j        |                    |j                  }|S r   )rX   r   r^   encode)ry   utouts      r   r   r     sC    & 
B
--
!
!C	{jj%%Jr   c                     	 | d d                                                              dd          }|dk    s|                    d          rdS |dv s|                    d          rdS | S )	N   _-utf-8zutf-8-)zlatin-1
iso-8859-1ziso-latin-1)zlatin-1-ziso-8859-1-ziso-latin-1-r   )lowerreplace
startswith)orig_encencs     r   _get_normal_namer      sw    2
3B3-




'
'S
1
1C
g~~11~w
666
~~ABB 7|Or   c                     	 	  j         j        n# t          $ r d Y nw xY wdd }d} fd}fd} |            }|                    t                    rd|dd          }d}|s|g fS  ||          }|r||gfS t
                              |          s||gfS  |            }|s||gfS  ||          }|r|||gfS |||gfS )NFr   c                  <    	               S # t           $ r Y dS w xY wNr   )StopIterationreadlines   r   read_or_stopz%detect_encoding.<locals>.read_or_stopC  s6    	8:: 	 	 	33	s   	 
c                 (   	 |                      d          }n7# t          $ r* d}d                    |          }t          |          w xY wt                              |          }|sd S t          |                    d                    }	 t          |          }n;# t          $ r. d|z   }nd                    |          }t          |          w xY wr4|dk    r)d}nd                              }t          |          |d	z  }|S )
Nr   z'invalid or missing encoding declarationz{} for {!r}rZ   zunknown encoding: zunknown encoding for {!r}: {}zencoding problem: utf-8z encoding problem for {!r}: utf-8z-sig)
decodeUnicodeDecodeErrorrd   SyntaxError	cookie_rematchr   r*   r   LookupError)r   line_stringmsgr   r^   codec	bom_foundfilenames         r   find_cookiez$detect_encoding.<locals>.find_cookieI  sX   		# ++g..KK! 	# 	# 	#;C##**399c"""		# ,, 	4#EKKNN33		#8$$EE 	# 	# 	#*X55<<X " "c"""	#  	7""#3CC<CCHMMC!#&&&Hs    4AB! !8CT   	utf-8-sig)__self__nameAttributeErrorr   r   blank_rer   )	r   r^   defaultr   r   firstsecondr   r   s	   `      @@r   r   r   +  sm    $)   IHG    $ $ $ $ $ $L LNNE!! 	abb	 {{5!!H !%  >>%    \^^F  {6""H )%((UFO##s    ""c                     	 t          | d          }	 t          |j                  \  }}|                    d           t	          ||d          }d|_        |S #  |                                  xY w)Nrbr   T)line_bufferingr3   )_builtin_openr   r   seekr   modeclose)r   bufferr^   linestexts        r   r   r     sx     8T**F)&/::%AVXdCCC	s   AA A1c                     	 t          |           \  }}t          j        d          }t          j        |t	          | d          |          }t          |j        |          S r   )r   r>   repeatr   ro   	_tokenize__next__)r   r^   consumedemptyrl_gens        r   r	   r	     s[    $ )22Hhc""EhXs(;(;UCCFV_h///r   c           
   #     K   dx}x}}d}d\  }}d }dg}	|"|dk    rd}t          t          |ddd          V  d}
d}	 	 |}
 |             }n# t          $ r d}Y nw xY w||                    |          }|d
z  }dt	          |          }}|r|st          d|          |                    |          }|rJ|                    d          x}}t          t          ||d |         z   |||f||z             V  d\  }}d }n'|rN|dd          dk    r@|dd          dk    r2t          t          ||z   ||t	          |          f|          V  d}d }||z   }||z   }|dk    r|s|snd}||k     rO||         dk    r|d
z  }n2||         dk    r|t          z  d
z   t          z  }n||         dk    rd}nn|d
z  }||k     O||k    rnR||         dv r||         dk    r]||d                              d          }t          t          |||f||t	          |          z   f|          V  |t	          |          z  }t          t          ||d          ||f|t	          |          f|          V  4||	d         k    r;|	                    |           t          t          |d |         |df||f|          V  ||	d         k     rL||	vrt!          dd|||f          |	d d         }	t          t"          d||f||f|          V  ||	d         k     Ln|st          d|df          d}||k     rt%          t&                                        ||          }|r|                    d
          \  }}||f||f|}}}||k    r[|||         ||         }}||v s|dk    r(|dk    r"|dk    rt          t*          ||||          V  nL|dv r>|dk    rt          t          ||||          V  n&t          t,          ||||          V  n
|dk    rt          t          ||||          V  n|t.          v rt%          t0          |                   }|                    ||          }|r=|                    d          }|||         }t          t          ||||f|          V  np||f}||d          }|}ne|t2          v s"|d d         t2          v s|d d         t2          v r|d         dk    rz||f}t%          t0                              |          p?t0                              |d
                   pt0                              |d                             }||d          d
}}|}nt          t          ||||          V  n|                                rt          t8          ||||          V  nc|dk    rd
}nZ|d v r|d
z  }n	|d!v r|d
z  }t          t:          ||||          V  n,t          t          ||         ||f||d
z   f|          V  |d
z  }||k     |
rr|
d         dvrh|
                                                    d          sAt          t,          d|d
z
  t	          |
          f|d
z
  t	          |
          d
z   fd          V  |	d
d          D ] }t          t"          d|df|dfd          V  !t          t@          d|df|dfd          V  d S )"Nr   
0123456789)r8   r   r   r   )r   r   r8   r   TrZ   zEOF in multi-line stringra   z\
rb   	z#
#z
rn   z3unindent does not match any outer indentation levelz
<tokenize>zEOF in multi-line statement.z...rm   r   
\z([{z)]})!r   rr   r   r   rp   rR   r   r   r   
ERRORTOKENtabsizerstripCOMMENTrx   re   rt   IndentationErrorru   rL   PseudoTokenspanr   rw   triple_quotedendpatssingle_quotedgetisidentifierr   r   stripr   rs   )r   r^   lnumparenlev	continuednumcharscontstrneedcontcontliner{   	last_liner   posmaxstrstartendprogendmatchr   columncomment_tokenpseudomatchrf   sposeposr~   initialr   s                              r   r   r     s     "##D#8iHGXHcG{""H(FFB?????ID_	
 I8::DD 	 	 	DDD	 ;;x((D	c$iiS ?	 G !;XFFF}}T**H $LLOO+c$tt*(<$ho? ? ? ? ?$)! 	d233i611d233i86K6K
GdN#dCII%6B B B B B!D.#d?]]9]F))9##aKFF#Y$&&$go17:FF#Y$&&FFq )) czzCyG##9##$(J$5$5f$=$=M#G] #;sS5G5G/G(H$P P P P P3}---CDJ #;s4yy(94A A A A A##v&&&TcT
T1Ic{DQQQQQ72;&&((*M%tS$79 9 9 "#2#,T3K$dKKKKK 72;&&  K !>q	JJJICii";//55dC@@K L(--a00
s#'-$cCdC<<!%eCi$u+wx''^^%#FE4tDDDDDD&&!||'E4tDDDDDD'dDIIIIII^^#GUD$EEEEEEm++&wu~66G&}}T377H &ll1oo $U3Y'tdC[$OOOOOO$(%="&uvv,#' ..BQBi=00BQBi=00RyD(($(%= #+7;;w+?+? ,A+2;;uQx+@+@,A+2;;uQx+@+@#B #B -1L!#''tT4HHHHHH))++ 	A#D%tTBBBBBB__ !II%'' A E)) A#BtT4@@@@@@
DI #;s1ut= = = = =q] Ciic_D  eYr]&009J9J9U9UVY9Z9Z0dQhI%?$(CPYNN]^L^A_acddddd!""+ > >T1Iay"======
IrD!9tQi
<
<<<<<<s   A AAc                 $    	 t          | d           S r   )r   r   s    r   r
   r
   h  s    
 Xt$$$r   c                  n   dd l } d dfd	}|                     d          }|                    dddd	
           |                    ddddd           |                                }	 |j        rQ|j        }t          |d          5 }t          t          |j                            }d d d            n# 1 swxY w Y   n!d}t          t          j        j        d           }|D ]Q}|j        }|j        r|j        }d|j        |j        z   z  }	t#          |	dt$          |         d|j        d           Rd S # t(          $ r=}
|
j        d         dd         \  }} ||
j        d         |||f           Y d }
~
d S d }
~
wt,          $ r5}
|
j        d         \  }} ||
j        d         |||f           Y d }
~
d S d }
~
wt.          $ r}
 ||
|           Y d }
~
d S d }
~
wt0          $ r}
 ||
           Y d }
~
d S d }
~
wt2          $ r t#          d           Y d S t4          $ r}
 d|
z              d }
~
ww xY w)Nr   c                     t           j                            |            t           j                            d           d S )Nr   )sysstderrwrite)messages    r   perrorzmain.<locals>.perrort  s4    
!!!
r   c                     |r|f|z   | fz   } d|z             n!|r |d|            n d| z             t          j        d           d S )Nz%s:%d:%d: error: %sz	: error: z	error: %srZ   )r   exit)r   r   locationargsr   s       r   errorzmain.<locals>.errorx  s     	*;)WJ6DF(4/0000 	*Fhhh89999F;()))r   zpython -m tokenize)progr   r/   zfilename.pyz'the file to tokenize; defaults to stdin)destnargsmetavarhelpz-ez--exactexact
store_truez(display token names using the exact type)r  actionr  r   z<stdin>z%d,%d-%d,%d:2015rZ   r   zinterrupted
zunexpected error: %s)NN)argparseArgumentParseradd_argument
parse_argsr   r   listr	   r   r   r   stdinr   r  r   rf   r   printr   r   r   r   rR   r   OSErrorKeyboardInterrupt	Exception)r  r   parserr   r   r5   r[   r~   
token_typetoken_rangeerrr   r   r   s                @r   mainr  p  sl   OOO        $$*>$??F
Zs -F  H H H iglG  I I ID = 	9}Hx.. 4!hqz22334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 !Hsy1488F  	E 	EEJz ."-
(EK%),CDK;; 4 4 4elllD E E E E	E 	E  5 5 5x{1Q3'fchqk8dF^444444444 5 5 5x{fchqk8dF^444444444   c8   c








   o   %+,,,ss   -D< "B9-D< 9B==D<  B=A9D< <
H42E>>H4*F;;H4GH4'G88H4	H4 H//H4c              #      K   	 dd l }|                    |           D ]%}|\  }}}}}}}	t          ||||f||f|	          V  &d S )Nr   )r   TokenizerIterr   )
sourcec_tokenizerinfor   r   lineno
end_linenocol_offend_col_offr   s
             r   !_generate_tokens_from_c_tokenizerr#    s~      a####))&11 W WDHAT6:wTcFG#4z;6OQUVVVVVVW Wr   __main__)U
__author____credits__builtinsr   r   codecsr   r   collections	functoolsior   	itertoolsr>   rH   r   r~   r   rI   ASCIIr   r   __all__
namedtupler   r*   r-   r0   
WhitespaceCommentIgnoreName	Hexnumber	Binnumber	Octnumber	Decnumber	IntnumberExponent
PointfloatExpfloatFloatnumber
ImagnumberNumberrF   	lru_cacherL   StringPrefixSingleDoubleSingle3Double3TripleStringmapescapesortedSpecialFunny
PlainTokenTokenContStrPseudoExtrasr   r   _prefixsetr   r   rE   r4   rA   r   r  rR   rV   rX   r   r   r   r	   r   r
   r  r#  r   r"   r   r   <module>rR     s  , *
 + * * * * * # # # # # # # #                   				 



     # # # # # #BJ@"(KK	2:0"(;; 
- 6 6 6 6	    &&{4PQQ    : 9 9 / / / 1 1 1 

	cc*z122	2UU7^^	C&		 	.	E)Y	9==	(U?)+ +-2U8__=
(*eJ))U+[7-BCC
	z;		2	2   ( ( (
 u**,,- 
$	#
2
2	|e#\E%9	:	:	|====
? 
? %RY'8$ G G GHH
Ih  U65&$//
 %==c:&&'==c:&&'( ( u]GV4455vugtLLL
 ##%% ' 'G#GGcM#GGcM&GGeO&GGeO 				  A#gq3w  !%iU#  !q
 ! ! ! ! ! ! ! ! % % % % %Y % % %\  \  \  \  \  \  \  \ ~  6	 	 	Z$ Z$ Z$z   0 0 02t= t= t=n% % %; ; ;zW W W zDFFFFF r   