™N
ûùO5c       sj    d  Z  
  d Z  k Z k Z  k l  e Z  d e e < e d Z	  d e e	 < d „  Z
  d „  Z  d „  Z ! d Z " d	 Z # e e d
 e ƒ e e ƒ Z $ d Z & d Z ' d Z ( d Z ) e
 e e e ƒ Z * d Z + e
 d d ƒ e e ƒ Z , d e Z - e
 e e ƒ Z . e
 d d e d ƒ Z / e
 e e e ƒ Z 1 e d d ƒ d Z 2 e d d ƒ d Z 3 e d d d d d d ƒ d Z 4 e d d d  d! d" d# ƒ d$ Z 5 e
 d% d& ƒ Z 6 e
 d' e d( d ƒ d d) e d* d ƒ d ƒ Z  9 e
 d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> ƒ Z! ; d? Z" < e
 d@ dA ƒ Z# = e
 e! e" e# ƒ Z$ ? e
 e e$ e  e ƒ Z% @ e e% Z& B e
 d' e d d( ƒ e
 d d
 ƒ d) e d d* ƒ e
 d d
 ƒ ƒ Z' D e
 d
 e e ƒ Z( E e e
 e( e e$ e' e ƒ Z) G e* e i+ e& e) e e f ƒ \ Z, Z- Z. Z/ I h  e i+ e ƒ d <e i+ e ƒ d <e. d <e/ d$ <e. dB <e/ dC <e. dD <e/ dE <e0 dF <e0 dG <Z1 N dH Z2 O dI Z3 P dJ „  Z4 T e4 dK „ Z5 È e6 dL j oZ É k7 Z7 Ê e8 e7 i9 ƒ d j o! Ê e5 e: e7 i9 d ƒ i; ƒ n Ë e5 e7 i< i; ƒ n dM S(N   sƒ  Tokenization help for Python programs.

This module exports a function called 'tokenize()' that breaks a stream of
text into Python tokens.  It accepts a readline-like method which is called
repeatedly to get the next line of input (or "" for EOF) and a "token-eater"
function which is called once for each token found.  The latter function is
passed the token type, a string containing the token, the starting and
ending (row, column) coordinates of the token, and the original line.  It is
designed to match the working of the Python tokenizer exactly, except that
it produces COMMENT tokens for comments and gives type OP for all operators.s2   Ka-Ping Yee, 26 October 1997; patched, GvR 3/30/98s   COMMENTi   s   NLc     s"     d t  i |  d ƒ d Sd  S(   Ns   (s   |s   )(   s   strings   joins   choices(   s   choicess2   /var/tmp/python-root/usr/lib/python1.5/tokenize.pys   group s    c     s     t  t |  ƒ d Sd  S(   Ns   *(   s   applys   groups   choices(   s   choicess2   /var/tmp/python-root/usr/lib/python1.5/tokenize.pys   any s    c     s     t  t |  ƒ d Sd  S(   Ns   ?(   s   applys   groups   choices(   s   choicess2   /var/tmp/python-root/usr/lib/python1.5/tokenize.pys   maybe s    s   [ \f\t]*s	   #[^\r\n]*s   \\\r?\ns   [a-zA-Z_]\w*s   0[xX][\da-fA-F]*[lL]?s   0[0-7]*[lL]?s   [1-9]\d*[lL]?s   [eE][-+]?\d+s   \d+\.\d*s   \.\d+s   [1-9]\d*s   0[jJ]s   [1-9]\d*[jJ]s   [jJ]s   [^'\\]s   \\.s   's   [^"\\]s   "s   '[^'\\]s   '\\.s   ''[^'\\]s   ''\\.s   '''s   "[^"\\]s   "\\.s   ""[^"\\]s   ""\\.s   """s   [rR]?'''s   [rR]?"""s   [rR]?'s   [^\n'\\]s   [rR]?"s   [^\n"\\]s   \+s   \-s   \*\*s   \*s   \^s   ~s   /s   %s   &s   \|s   <<s   >>s   ==s   <=s   <>s   !=s   >=s   =s   <s   >s   [][(){}]s   \r?\ns   [:;.,`]s   r'''s   r"""s   R'''s   R"""s   rs   Ri   s
   TokenErrorc 	   sG   P | \ } } | \ } } Q d | | | | t |  t | ƒ f GHd  S(   Ns   %d,%d-%d,%d:	%s	%s(   s   srows   scols   erows   ecols   tok_names   types   reprs   token(	   s   types   tokens   .4s   .6s   lines   srows   scols   erows   ecols2   /var/tmp/python-root/usr/lib/python1.5/tokenize.pys
   printtokenP s   c    s"  T U d } } } V t i d t i f \ } } W d d f \ } } X t
 }	 Y d g }
 [ xT[ d oI\ |  ƒ  } ] | d } ^ d t | ƒ f \ } } ` | o7a | o b t d | f ‚ n c | i | ƒ } d | oc e | i d ƒ } } f | t | | |  | | | f |	 | ƒ h d d f \ } } i t
 }	 n” j | o! | d d j o | d d	 j oE k | t | | | | t | ƒ f |	 ƒ m d } n t
 }	 o qc n! q | | } r |	 | }	 s qc n&u | d j o | oİv | o v Pn w d } x x™ x | | j  oˆ y | | d
 j o y | d } nS z | | d j o z | t d t } n& { | | d j o { d } n | P} | d } qW~ | | j o ~ Pn € | | d j oM  | t t f | | d j | | | | f | t | ƒ f | ƒ ƒ qc n … | |
 d j o= † |
 i | ƒ ‡ | t  | |  | d f | | f | ƒ n ˆ xM ˆ | |
 d j  o7 ‰ |
 d  }
 Š | t! d | | f | | f | ƒ q†Wn1  | o  t d | d f f ‚ n  d } ‘ x¥‘ | | j  o”’ t" i | | ƒ } “ | o7” | i$ d ƒ \ } } • | | f | | f | f \ } } } – | | | !| | f \ } } ˜ | | j p | d j o
 | d j o š | t* | | | | ƒ n› | d j o1 œ | | d j o t p t+ | | | | ƒ nM | d j o Ÿ | t | | | | ƒ n   | d d d d d d f j o ¢ t, | } £ | i | | ƒ } ¤ | oE ¥ | i d ƒ } ¦ | | | !} § | t | | | | f | ƒ n* © | | f } ª | | } « | }	 ¬ Pn`­ | d d f j p | d  d d d d f j o‡ ¯ | d d j oU ° | | f } ± t, | p t, | d } ² | | d f \ } } ³ | }	 ´ Pn ¶ | t | | | | ƒ n¦ · | | j o ¸ | t- | | | | ƒ ny ¹ | d j o º d } n\ ¼ | d  j o ¼ | d } n" ½ | d! j o ½ | d } n ¾ | t. | | | | ƒ n; À | t | | | | f | | d f | ƒ Â | d } qWqc WÄ x< |
 d d Ä r+ } Å | t! d | d f | d f d ƒ qÇWÆ | t0 d | d f | d f d ƒ d  S("   Ni    s   _s    i   s   EOF in multi-line stringi   s   \
i   s   \
s    s   	s   s   #
s   #s   EOF in multi-line statements   .s   
s   '''s   """s   r'''s   r"""s   R'''s   R"""s   's   "s   r's   r"s   R's   R"s   
s   \s   ([{s   )]}(1   s   lnums   parenlevs	   continueds   strings   letterss   digitss	   namecharss   numcharss   contstrs   needconts   Nones   contlines   indentss   readlines   lines   lens   poss   maxs
   TokenErrors   strstarts   endprogs   matchs   endmatchs   ends
   tokeneaters   STRINGs
   ERRORTOKENs   columns   tabsizes   NLs   COMMENTs   appends   INDENTs   DEDENTs
   pseudoprogs   pseudomatchs   spans   starts   sposs   eposs   tokens   initials   NUMBERs   NEWLINEs   endprogss   NAMEs   OPs   indents	   ENDMARKER(   s   readlines
   tokeneaters   lnums   parenlevs	   continueds	   namecharss   numcharss   contstrs   needconts   contlines   indentss   lines   poss   maxs   endmatchs   ends   columns   pseudomatchs   starts   sposs   eposs   tokens   initials   endprogs   strstarts   indents2   /var/tmp/python-root/usr/lib/python1.5/tokenize.pys   tokenizeT sÎ   	 


+.)		

 	     C
- .	 
' *1"
#	3	  - 	)s   __main__N(=   s   __doc__s   __version__s   strings   res   tokens   *s   N_TOKENSs   COMMENTs   tok_names   NLs   groups   anys   maybes
   Whitespaces   Comments   Ignores   Names	   Hexnumbers	   Octnumbers	   Decnumbers	   Intnumbers   Exponents
   Pointfloats   Expfloats   Floatnumbers
   Imagnumbers   Numbers   Singles   Doubles   Single3s   Double3s   Triples   Strings   Operators   Brackets   Specials   Funnys
   PlainTokens   Tokens   ContStrs   PseudoExtrass   PseudoTokens   maps   compiles	   tokenprogs
   pseudoprogs   single3progs   double3progs   Nones   endprogss   tabsizes
   TokenErrors
   printtokens   tokenizes   __name__s   syss   lens   argvs   opens   readlines   stdin(    s2   /var/tmp/python-root/usr/lib/python1.5/tokenize.pys   ?
 sd   	
				!					""4H	F-u		t	 !