Ñò
mÈKc           @   sz  d  Z  d d k Z d d k Z d d k Z d d k Te i e j p
 t d ‚ e i d j o
 d Z n d Z d „  Z	 d	 „  Z
 e
 e e g ƒ Z e
 e e e g ƒ Z e
 e e g ƒ Z e
 e e g ƒ Z d
 „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z y e  Wn" e! j
 o e" d ƒ f Z# n  Xe" d ƒ e" e  d ƒ ƒ f Z# d „  Z$ d „  Z% d d „ Z& d S(   s   Internal support module for sreiÿÿÿÿN(   t   *s   SRE module mismatchi   iÿÿ  l   ÿÿ c         C   s   |  S(   N(    (   t   x(    (    s!   /usr/lib/python2.6/sre_compile.pyt   _identityfunction   s    c         C   s%   h  } x |  D] } d | | <q W| S(   Ni   (    (   t   seqt   st   elem(    (    s!   /usr/lib/python2.6/sre_compile.pyt   set   s
     c         C   s3  |  i  } t } t } t } t } t } x| D]ý\ }	 }
 |	 | j oS | t @o, | t t |	 ƒ | t	 i
 |
 | ƒ ƒ q+| t |	 ƒ | |
 ƒ q. |	 t j o‚ | t @o" | t t |	 ƒ | d „ } n | t |	 ƒ t } | |  ƒ } | d ƒ t |
 | |  | ƒ | |  ƒ | |  | <q. |	 t j o/ | t @o | t t ƒ q+| t t ƒ q. |	 | j oÚ| t @oƒ t d ‚ | t t ƒ | |  ƒ } | d ƒ | |
 d ƒ | |
 d ƒ t |  |
 d | ƒ | t t ƒ | |  ƒ | |  | <q+t |
 ƒ o¦ |	 t j	 o™ |	 t j o | t t ƒ n | t t ƒ | |  ƒ } | d ƒ | |
 d ƒ | |
 d ƒ t |  |
 d | ƒ | t t ƒ | |  ƒ | |  | <q+| t t ƒ | |  ƒ } | d ƒ | |
 d ƒ | |
 d ƒ t |  |
 d | ƒ | |  ƒ | |  | <|	 t j o | t t ƒ q+| t t ƒ q. |	 t j o‚ |
 d o( | t t ƒ | |
 d d d ƒ n t |  |
 d | ƒ |
 d o, | t t ƒ | |
 d d d d ƒ q+q. |	 | j o | t |	 ƒ q. |	 | j o· | t |	 ƒ | |  ƒ } | d ƒ |
 d d j o | d ƒ n; |
 d i ƒ  \ } } | | j o t d ‚ n | | ƒ t |  |
 d | ƒ | t t ƒ | |  ƒ | |  | <q. |	 t j oZ | t |	 ƒ | |  ƒ } | d ƒ t |  |
 | ƒ | t t ƒ | |  ƒ | |  | <q. |	 t  j oƒ | t |	 ƒ | t! @o t" i# |
 |
 ƒ }
 n | t$ @o t% i# |
 |
 ƒ }
 n" | t& @o t' i# |
 |
 ƒ }
 n | t( |
 ƒ q. |	 t) j oÇ | t |	 ƒ g  } | i  } xt |
 d D]h }
 | |  ƒ } | d ƒ t |  |
 | ƒ | t t* ƒ | | |  ƒ ƒ | d ƒ | |  ƒ | |  | <qêW| d ƒ xÈ| D] } | |  ƒ | |  | <qgWq. |	 t+ j oR | t |	 ƒ | t$ @o t, |
 }
 n | t& @o t- |
 }
 n | t. |
 ƒ q. |	 t/ j oA | t @o | t t |	 ƒ n | t |	 ƒ | |
 d ƒ q. |	 t0 j oÙ | t |	 ƒ | |
 d d ƒ | |  ƒ } | d ƒ t |  |
 d | ƒ |
 d oh | t t* ƒ | |  ƒ } | d ƒ | |  ƒ | d |  | <t |  |
 d | ƒ | |  ƒ | |  | <q+| |  ƒ | d |  | <q. t1 d |	 f ‚ q. Wd  S(   Nc         S   s   t  i |  | ƒ S(   N(   t   _sret   getlower(   t   literalt   flags(    (    s!   /usr/lib/python2.6/sre_compile.pyt   fixup9   s    i    s'   internal: unsupported template operatori   i   s(   look-behind requires fixed-width patterns   unsupported operand type(2   t   appendt   lent   _LITERAL_CODESt   _REPEATING_CODESt   _SUCCESS_CODESt   _ASSERT_CODESt   SRE_FLAG_IGNORECASEt   OPCODESt	   OP_IGNORER   R   t   INR   t   _compile_charsett   ANYt   SRE_FLAG_DOTALLt   ANY_ALLt   SRE_FLAG_TEMPLATEt   errort   REPEATt   _compilet   SUCCESSt   _simplet
   MAX_REPEATt
   REPEAT_ONEt   MIN_REPEAT_ONEt	   MAX_UNTILt	   MIN_UNTILt
   SUBPATTERNt   MARKt   getwidtht   CALLt   ATt   SRE_FLAG_MULTILINEt   AT_MULTILINEt   gett   SRE_FLAG_LOCALEt	   AT_LOCALEt   SRE_FLAG_UNICODEt
   AT_UNICODEt   ATCODESt   BRANCHt   JUMPt   CATEGORYt	   CH_LOCALEt
   CH_UNICODEt   CHCODESt   GROUPREFt   GROUPREF_EXISTSt
   ValueError(   t   codet   patternR
   t   emitt   _lent   LITERAL_CODESt   REPEATING_CODESt   SUCCESS_CODESt   ASSERT_CODESt   opt   avR   t   skipt   lot   hit   tailt
   tailappendt   skipyest   skipno(    (    s!   /usr/lib/python2.6/sre_compile.pyR   &   s   	  
	 
 
 
" 

 
	  
 

  
 
c         C   sq  | i  } | d  j o
 t } n x<t |  | ƒ D]+\ } } | t | ƒ | t j o q0 | t j o | | | ƒ ƒ q0 | t j o, | | | d ƒ ƒ | | | d ƒ ƒ q0 | t j o | i	 | ƒ q0 | t
 j o | i	 | ƒ q0 | t j oT | t @o | t t | ƒ q[| t @o | t t | ƒ q[| t | ƒ q0 t d ‚ q0 W| t t ƒ d  S(   Ni    i   s"   internal: unsupported set operator(   R   t   NoneR   t   _optimize_charsetR   t   NEGATEt   LITERALt   RANGEt   CHARSETt   extendt
   BIGCHARSETR4   R-   R7   R5   R/   R6   R   t   FAILURE(   t   charsetR
   R;   R   R=   RC   RD   (    (    s!   /usr/lib/python2.6/sre_compile.pyR   ¸   s2    	
 c         C   sG  g  } | i  } d g d } y¼ xµ |  D]­ \ } } | t j o | | | f ƒ q& | t j o d | | | ƒ <q& | t j o@ xO t | | d ƒ | | d ƒ d ƒ D] } d | | <q© Wq& | t j o |  Sq& WWn t j
 o t |  | ƒ SXd } } }	 g  }
 |
 i  } xe | D]] } | o% |	 d j o
 | } n |	 d }	 n" |	 o | | |	 f ƒ d }	 n | d } qW|	 o | | |	 f ƒ n t |
 ƒ d j ox xS |
 D]K \ } }	 |	 d j o | t | f ƒ q²| t | | |	 d f f ƒ q²Wt | ƒ t |  ƒ j  o | Sn! t	 | ƒ } | t
 | f ƒ | S|  S(   Ni    i   i   i   (   R   RN   RO   RP   t   rangeR4   t
   IndexErrort   _optimize_unicodeR   t
   _mk_bitmapRQ   (   RU   R   t   outt	   outappendt   charmapRC   RD   t   it   pt   nt   runst
   runsappendt   ct   data(    (    s!   /usr/lib/python2.6/sre_compile.pyRM   Õ   sZ    	 ( 	 

 "	c         C   s–   g  } | i  } t i d j o
 d } n d } | \ } } xT |  D]L } | o | | } n | | } | t j o | | ƒ | \ } } qB qB W| S(   Ni   i   i    l    l    (   i   i    (   l    l    (   R   R   t   CODESIZEt   MAXCODE(   t   bitsRc   t
   dataappendt   startt   mt   vRb   (    (    s!   /usr/lib/python2.6/sre_compile.pyRY     s    	
 

c         C   s|  y d d  k  } Wn t j
 o |  SXd g d } d } y² x« |  D]£ \ } } | t j o
 d } qD | t j o d | | | ƒ <qD | t j o@ xO t | | d ƒ | | d ƒ d ƒ D] } d | | <q½ WqD | t j o |  SqD WWn t j
 o |  SX| o? t i	 d j o |  Sx' t d ƒ D] } | | | | <q,Wn h  } d g d }	 d }
 g  } xz t d ƒ D]l } t
 | | d | d d !ƒ } | i | |
 ƒ } | |	 | <| |
 j o |
 d }
 | t | ƒ } ququW|
 g } t i d j o
 d } n d	 } | i  d
 |	 ƒ i ƒ  }	 | i  | |	 ƒ }	 |	 i t i j p t ‚ | |	 i ƒ  } | | d d +t | f g S(   Niÿÿÿÿi    i   i   iÿÿ  i   i   t   Ht   It   b(   t   arrayt   ImportErrorRN   RO   RP   t   xrangeR4   RW   t   syst
   maxunicodet   tuplet
   setdefaultRY   R   Rd   t   tostringt   itemsizet   AssertionErrort   tolistRS   (   RU   R   Rn   R\   t   negateRC   RD   R]   t   compst   mappingt   blockRc   t   chunkt   newt   headerR;   (    (    s!   /usr/lib/python2.6/sre_compile.pyRX   3  sb     
(   

	
c         C   sq   |  d i  ƒ  \ } } | d j o | t j o t d ‚ n | | j o
 d j n o |  d d d t j S(   Ni   i    s   nothing to repeati   (   R'   t	   MAXREPEATR   R%   (   RD   RF   RG   (    (    s!   /usr/lib/python2.6/sre_compile.pyR   h  s    c         C   sž  | i  ƒ  \ } } | d j o d  Sg  } | i } d } g  } | i }	 | t @p6x¬ | i D]¡ \ }
 } |
 t j o/ t | ƒ | j o | d } n | | ƒ q] |
 t j oK t | d ƒ d j o4 | d d \ }
 } |
 t j o | | ƒ qþ Pq] Pq] W| o{| i oq| i d \ }
 } |
 t j o½ | d o² | d d \ }
 } |
 t j o |	 |
 | f ƒ q|
 t j ol g  } | i } xZ | d D]D } | p Pn | d \ }
 } |
 t j o | |
 | f ƒ q›Pq›W| } qq…|
 t j ol g  } | i } xq | d D]D } | p Pn | d \ }
 } |
 t j o | |
 | f ƒ qPqW| } q…|
 t j o
 | } q…q‰n |  i } | t	 t
 ƒ t |  ƒ } | d ƒ d } | oE t } t | ƒ | j o t | i ƒ j n o | t } qn | o | t } n | | ƒ | t j  o | | ƒ n | t ƒ | t  } | t j  o | | ƒ n | d ƒ | oé | t | ƒ ƒ | | ƒ |  i | ƒ d g d g t | ƒ } x t t | ƒ ƒ D]| } | | d | | d <x] | | d d j oG | | | | | d d j o& | | | d d d | | d <qõWqÖW|  i | d ƒ n | o t | | |  ƒ n t |  ƒ | |  | <d  S(   Ni    i   iÿÿÿÿ(   R'   R   R   Rc   RO   R   R%   R2   R   R   t   INFOt   SRE_INFO_PREFIXt   SRE_INFO_LITERALt   SRE_INFO_CHARSETRe   RR   Rp   R   (   R;   R<   R
   RF   RG   t   prefixt   prefixappendt   prefix_skipRU   t   charsetappendRC   RD   Rb   t   cappendR^   R=   RE   t   maskt   tableR]   (    (    s!   /usr/lib/python2.6/sre_compile.pyt   _compile_infoo  s®    		
 $	 	 
	 
-




  6+t    c         C   s*   x# t  D] } t |  | ƒ o d Sq Wd S(   Ni   i    (   t   STRING_TYPESt
   isinstance(   t   objt   tp(    (    s!   /usr/lib/python2.6/sre_compile.pyt   isstringà  s
     	c         C   sN   |  i  i | B} g  } t | |  | ƒ t | |  i | ƒ | i t t ƒ | S(   N(   R<   R
   RŒ   R   Rc   R   R   R   (   R^   R
   R;   (    (    s!   /usr/lib/python2.6/sre_compile.pyt   _codeæ  s    i    c      	   C   s×   t  |  ƒ o |  } t i |  | ƒ }  n d  } t |  | ƒ } |  i i d j o t d ƒ ‚ n |  i i } d  g |  i i } x$ | i	 ƒ  D] \ } } | | | <q Wt
 i | | |  i i B| |  i i d | | ƒ S(   Nid   s6   sorry, but this version only supports 100 named groupsi   (   R’   t	   sre_parset   parseRL   R“   R<   t   groupsRw   t	   groupdictt   itemsR   t   compileR
   (   R^   R
   R<   R;   t
   groupindext
   indexgroupt   kR]   (    (    s!   /usr/lib/python2.6/sre_compile.pyR™   õ  s"     ('   t   __doc__R   Rq   R”   t   sre_constantst   MAGICRw   Rd   Re   R   R   RO   t   NOT_LITERALR   R   t
   MIN_REPEATR    R   R   RT   R   t   ASSERTt
   ASSERT_NOTR   R   RL   R   RM   RY   RX   R   RŒ   t   unicodet	   NameErrort   typeRŽ   R’   R“   R™   (    (    (    s!   /usr/lib/python2.6/sre_compile.pyt   <module>   s8   

			’	3	+	5		j		