*ë
37”;c       sü     d  k  Z   d  k Z  d  k Z  e d ƒ \ Z Z Z Z   e i d e i	 e i
 Bƒ i Z & e i d e i	 ƒ i Z / e i d e i	 e i Bƒ i Z D e i d e i	 ƒ i Z K e i d e i	 ƒ i Z [ e i d e i	 ƒ i Z b d g d	 Z c x& d
 d c r Z d d e e e ƒ <qWe x& d d e r Z f d e e e ƒ <q=Wg x& d d g r Z h e e e e ƒ <qiWi e  i e d ƒ Z j [ l y m e e d ƒ ƒ Z Wn n e j
 o o e Z n Xq d f  d „  ƒ  YZ d  S(   Ni   sí   
    ^
    [ \t]*
    (?: if
    |   for
    |   while
    |   else
    |   def
    |   return
    |   assert
    |   break
    |   class
    |   continue
    |   elif
    |   try
    |   except
    |   raise
    |   import
    )
    \b
s'   
    [ \t]*
    (?: \# \S .* )?
    \n
sK  
    \""" [^"\\]* (?:
                     (?: \\. | "(?!"") )
                     [^"\\]*
                 )*
    (?: \""" )?

|   " [^"\\\n]* (?: \\. [^"\\\n]* )* "?

|   ''' [^'\\]* (?:
                   (?: \\. | '(?!'') )
                   [^'\\]*
                )*
    (?: ''' )?

|   ' [^'\\\n]* (?: \\. [^'\\\n]* )* '?
sM   
    [ \t]*
    [^\s#\\]    # if we match, m.end()-1 is the interesting char
s_   
    \s*
    (?: return
    |   break
    |   continue
    |   raise
    |   pass
    )
    \b
s   
    [^[\](){}#'"\\]+
s   xi   s   ({[i    s   (s   )}]s   )s   "'\
#s    s   Parserc      sæ   q s d „  Z  w d „  Z š e e i e d „ Z Û d „  Z ä e i e i	 d „ Z
 ]d „  Z me i e i	 e i d „ Z Óe i	 d „ Z ód	 „  Z üd
 „  Z 2d „  Z =d „  Z Cd „  Z He Z Jd „  Z RS(   Nc    s   s t | |  _  u | |  _ d  S(   N(   s   indentwidths   selfs   tabwidth(   s   selfs   indentwidths   tabwidth(    (    s#   /mit/seven/share/idlelib/PyParse.pys   __init__s s   c    sè   w x t  o, t | ƒ d j p | d d j p t ‚ y t | ƒ t j o} € | }  g  } ‚ | i } ƒ xC t	 t
 | ƒ d ƒ r- } „ | | d j  o
 t | ƒ p d ƒ q‚ W… d i | ƒ } n † | |  _ ‡ d |  _ d  S(   Ni    i   s   
i   s   xs    (   s	   __debug__s   lens   strs   AssertionErrors   types   UnicodeTypes	   uniphooeys   appends   pushs   maps   ords   raws   chrs   joins   selfs   study_level(   s   selfs   strs   pushs   raws	   uniphooey(    (    s#   /mit/seven/share/idlelib/PyParse.pys   set_strw s   6		 	+c    s[  š  |  i t f \ } }
 ž | ot   d t i } ¡ | | | ƒ } ¢ | d j o7 £ | t	 | ƒ }
 § | |
 d  d | |
 |  _ n ¨ |
 Sn « | o ­ t Sn ² t	 | ƒ } ³ x¸ t d ƒ d ³ r¥ }	 ´ | | d d | ƒ } µ | d j  o ¶ Pn · | | d d | ƒ d } ¸ | | | | ƒ } ¹ | o | | i ƒ  ƒ o º | i ƒ  }
 » Pn ¼ | } qÐ W½ |
 t j oK Æ | | ƒ } Ç | o | | i ƒ  ƒ o È | i ƒ  }
 n É |
 Sn Í |
 d } Î xf Î d o[ Ï | | | ƒ } Ð | o7 Ñ | i ƒ  \ } } Ò | | ƒ o Ó | }
 n n Õ PqêWÖ |
 Sd  S(   Ns   
i    i   i   s   :
(   s   selfs   strs   Nones   poss   use_ps1s   syss   ps1s   _rfinds   is   lens   is_char_in_strings   limits   ranges   triess   _synchres   ms   starts   spans   s(   s   selfs   use_ps1s   is_char_in_strings   _rfinds   _synchres   ps1s   ss   strs   limits   triess   poss   ms   i(    (    s#   /mit/seven/share/idlelib/PyParse.pys   find_good_parse_startš sJ   
$ 		 

	c    sd   Û Ü t  o, | d j p |  i | d d j p t ‚ Ý | d j o Þ |  i | |  _ n d  S(   Ni    i   s   
(   s	   __debug__s   los   selfs   strs   AssertionError(   s   selfs   lo(    (    s#   /mit/seven/share/idlelib/PyParse.pys   set_loÛ s   6c    s?  ä å |  i d j o æ d  Sn ç d |  _ í |  i } î t i | t ƒ } ï | | d d ƒ } ð | | d d ƒ } ñ | | d d ƒ } ò | | d d ƒ } ó | | d d ƒ } ú t }	 û d } } ü d g |  _ } ý | i } þ d t | ƒ f \ }
 } ÿ x£ÿ |
 | j  o’ | |
 } |
 d }
 | d j o
 qn | d j o8 | d } 	| d j o 
| | ƒ n qn | d	 j o | d } qn | d
 j o% | o | d } n qn | d j p
 | d j o½| } | |
 d |
 d !| d j o | d } n t | ƒ d } |
 | }
 xP|
 | j  o6 | |
 } !|
 d }
 #| d j o
 $qun &| |
 d |
 | !| j o '|
 | }
 (Pn *| d j oP +| d } ,| d j o) .| d j o /| | ƒ n 0Pn 1qun 3| d j oZ 4t o |
 | j  p t ‚ 5| |
 d j o 6| d } n 7|
 d }
 8qun quW?t }	 @qn B| d j o= D| | d |
 ƒ }
 Et o |
 d j p t ‚ Fqn Ht o | d j p t ‚ It o |
 | j  p t ‚ J| |
 d j o2 K| d } L|
 d | j o Mt }	 n n N|
 d }
 qWS|	 t j o
 | d j o Tt }	 n U|	 |  _ Yt o% |	 t j | d | j j p t ‚ Z| d | j o [| | ƒ n d  S(   Ni   s   xxxxxxxxs   xs   xxxxs   xxs   
xs   
i    s   (s   )s   "s   'i   i   s   \s   #(   s   selfs   study_levels   strs   strings	   translates   _trans   _replaces   C_NONEs   continuations   levels   lnos	   goodliness   appends	   push_goods   lens   is   ns   chs   quotes   ws	   __debug__s   AssertionErrors   C_STRINGs   _finds   C_BACKSLASHs	   C_BRACKET(   s   selfs   _replaces   _finds   quotes   strs   lnos	   push_goods   ns	   goodliness   continuations   is   levels   ws   ch(    (    s#   /mit/seven/share/idlelib/PyParse.pys   _study1ä s    	 




	# 

	

/c    s   ]^|  i ƒ  _|  i Sd  S(   N(   s   selfs   _study1s   continuation(   s   self(    (    s#   /mit/seven/share/idlelib/PyParse.pys   get_continuation_type]s   c    sL  mo|  i d j o pd  Sn q|  i ƒ  rd |  _ u|  i |  i f \ } }
 vt |
 ƒ d } wt | ƒ } xx¦ x| o› yt o | p t	 ‚ || }	 }xH t |
 | d |
 | ƒ d }r& } | | d d | d ƒ d } qÉ W‚t | | ƒ o ƒ| d } n …Pq} W†| d j o+ ˆt o | d j p t	 ‚ ‰| }	 n Š| |	 f \ |  _ |  _ Žd } g  } | i } ‘x€‘| |	 j  oo“t | | |	 ƒ } ”| o› –| i ƒ  } ˜| d } ™x3 ™| | j o | | d j o š| d } qîW›| | j o œ| | } n | } ž| |	 j o ŸPn n ¡| | } £| d j o- ¤| | ƒ ¥| } ¦| d } §qn ©| d j o9 ª| o «| d =n ¬| } ­| d } ®qn °| d	 j p
 | d
 j o. ¸| } ¹t | | |	 ƒ i ƒ  } ºqn ¼| d j oD ¾| | d | |	 ƒ d } ¿t o | d j p t	 ‚ Àqn Ât o | d j p t	 ‚ Ã| d } Ät o | |	 j  p t	 ‚ Å| | d j o Ç| | | } n È| d } qWÌ| |  _ Í| o Î| d |  _ n d  S(   Ni   i   i    s   
s    s    	
s   ([{s   )]}s   "s   's   #s   \(   s   selfs   study_levels   _study1s   strs	   goodliness   lens   is   ps	   __debug__s   AssertionErrors   qs   ranges   nothings   _rfinds   _junkres
   stmt_starts   stmt_ends   lastchs   stacks   appends
   push_stacks   _chew_ordinaryres   ms   ends   newps   chs   _match_stringres   _finds   lastopenbracketpos(   s   selfs   _rfinds   _finds   _wss   stacks   newps   nothings   strs   ps   qs	   goodliness   ms   chs   is   lastchs
   push_stack(    (    s#   /mit/seven/share/idlelib/PyParse.pys   _study2ms†    
	! 	$			 
 !		

	
	


c 	   ss  ÓÔ|  i ƒ  Õt o |  i t j p t ‚ Ö|  i } ×|  i } Øt	 | ƒ } Ùt i | d d | ƒ d } } Ú| d } Üx· Ü| | j  oa Ýt | | ƒ } Þ| o$ ß| i ƒ  d } àd } áPn ä| | d | ƒ d } } qŽ Wè| } } éx& é| | d j o ê| d } qWë|  i } ìt	 t i | | | !í|  i ƒ ƒ | Sd  S(   Ns   
i    i   s    	(   s   selfs   _study2s	   __debug__s   continuations	   C_BRACKETs   AssertionErrors   lastopenbracketposs   js   strs   lens   ns   strings   rfinds   origis   is   _itemres   ms   ends   extras   _finds   indentwidths
   expandtabss   tabwidth(	   s   selfs   _finds   origis   strs   ns   ms   js   is   extra(    (    s#   /mit/seven/share/idlelib/PyParse.pys   compute_bracket_indentÓs,   !# 
	" c    s5   óô|  i ƒ  õ|  i } ö| d | d Sd  S(   Ni   i   (   s   selfs   _study1s	   goodlines(   s   selfs	   goodlines(    (    s#   /mit/seven/share/idlelib/PyParse.pys   get_num_lines_in_stmtós   c    s±  üý|  i ƒ  þt o |  i t j p t ‚ ÿ|  i }  |  i } x& | | d j o | d } qO W| } t
 i | d | ƒ d } d } } 	xR	| | j  oA
| | } | d j o | d } | d } n| d j o, | o | d } n | d } nÇ | d j p
 | d j o t | | | ƒ i ƒ  } n‹ | d	 j o Pns | d j oA | d
 j o4 | d j p | | d d j o | | d d
 j o d } Pn | d } q­ W| o3 !| d } "t i d | | | !ƒ t j } n $| o9 '| } (x& (| | d j o )| d } qVWn +t t
 i | |  i | !-|  i ƒ ƒ d Sd  S(   Ns    	i   s   
i    s   ([{s   )]}s   "s   's   #s   =s   =<>!s   \s*\\s    	
(   s   selfs   _study2s	   __debug__s   continuations   C_BACKSLASHs   AssertionErrors   strs
   stmt_starts   is   startposs   strings   finds   endposs   founds   levels   chs   _match_stringres   ends   res   matchs   Nones   lens
   expandtabss   tabwidth(   s   selfs   startposs   strs   endposs   is   levels   founds   ch(    (    s#   /mit/seven/share/idlelib/PyParse.pys   compute_backslash_indentüsL   ! 	 
T	
&	 c    s‹   23|  i ƒ  4|  i |  i f \ } } 5| } 6|  i } 7x3 7| | j  o | | d j o 8| d } qF W9| | | !Sd  S(   Ns    	i   (   s   selfs   _study2s
   stmt_starts   stmt_ends   is   ns   js   str(   s   selfs   ns   strs   js   i(    (    s#   /mit/seven/share/idlelib/PyParse.pys   get_base_indent_string2s   	 !c    s$   =>|  i ƒ  ?|  i d j Sd  S(   Ns   :(   s   selfs   _study2s   lastch(   s   self(    (    s#   /mit/seven/share/idlelib/PyParse.pys   is_block_opener=s   c    s0   CD|  i ƒ  Et |  i |  i ƒ t j	 Sd  S(   N(   s   selfs   _study2s   _closeres   strs
   stmt_starts   None(   s   self(    (    s#   /mit/seven/share/idlelib/PyParse.pys   is_block_closerCs   c    s   JK|  i ƒ  L|  i Sd  S(   N(   s   selfs   _study2s   lastopenbracketpos(   s   self(    (    s#   /mit/seven/share/idlelib/PyParse.pys   get_last_open_bracket_posJs   (   s   __init__s   set_strs   Nones   strings   rfinds   _synchres   find_good_parse_starts   set_los   replaces   finds   _study1s   get_continuation_types
   whitespaces   _study2s   compute_bracket_indents   get_num_lines_in_stmts   compute_backslash_indents   get_base_indent_strings   is_block_openers   is_block_closers   lastopenbracketposs   get_last_open_bracket_pos(    (    (    s#   /mit/seven/share/idlelib/PyParse.pys   Parserq s   #A	yf 	6	(   s   strings   res   syss   ranges   C_NONEs   C_BACKSLASHs   C_STRINGs	   C_BRACKETs   compiles   VERBOSEs	   MULTILINEs   searchs   _synchres   matchs   _junkres   DOTALLs   _match_stringres   _itemres   _closeres   _chew_ordinaryres   _trans   chs   ords   joins   types   unicodes   UnicodeTypes	   NameErrors   Nones   Parser(   s   C_BACKSLASHs   strings   _itemres   UnicodeTypes   res   C_NONEs   Parsers   _closeres   C_STRINGs	   C_BRACKETs   _match_stringres   syss   _synchres   _trans   chs   _junkres   _chew_ordinaryre(    (    s#   /mit/seven/share/idlelib/PyParse.pys   ? s6   "	" 	 	 	