
Vc           @   s  d  Z  d d l Z d d l Td Z d Z e d  Z e d  Z e d  Z e d	  Z	 i e
 e d
  f d 6e
 e d  f d 6e
 e d  f d 6e
 e d  f d 6e
 e d  f d 6e
 e d  f d 6e
 e d  f d 6e
 e d  f d 6Z i
 e e f d 6e e f d 6e e f d 6e e e f g f d 6e e e f g f d 6e e e f g f d 6e e e f g f d 6e e e f g f d  6e e e f g f d! 6e e f d" 6Z i e d# 6e d$ 6e d% 6e d& 6e d' 6e  d( 6e! d) 6Z" d* f  d+     YZ# d, f  d-     YZ$ d. f  d/     YZ% d0   Z& d1   Z' d2   Z( d3   Z) d4   Z* d5 d6  Z+ d7   Z, e d8  Z- e d9  Z. e d:  Z/ e e0 e1 g  Z2 d;   Z3 d< e4 d=  Z5 d>   Z6 d?   Z7 d S(@   s   Internal support module for sreiN(   t   *s   .\[{()*+?^$|s   *+?{t
   0123456789t   01234567t   0123456789abcdefABCDEFs    	
s   s   \as   s   \bs   s   \fs   
s   \ns   s   \rs   	s   \ts   s   \vs   \s   \\s   \As   \Bs   \ds   \Ds   \ss   \Ss   \ws   \Ws   \Zt   it   Lt   mt   st   xt   tt   ut   Patternc           B   s/   e  Z d    Z d d  Z d   Z d   Z RS(   c         C   s1   d |  _  g  |  _ d |  _ i  |  _ d |  _ d  S(   Ni    i   (   t   flagst   opent   groupst	   groupdictt
   lookbehind(   t   self(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   __init__C   s
    				c         C   s   |  j  } | d |  _  | d  k	 rr |  j j | d   } | d  k	 rb t d t |  | | f  n  | |  j | <n  |  j j |  | S(   Ni   s7   redefinition of group name %s as group %d; was group %d(   R   t   NoneR   t   gett   errort   reprR   t   append(   R   t   namet   gidt   ogid(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt	   opengroupJ   s    	c         C   s   |  j  j |  d  S(   N(   R   t   remove(   R   R   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt
   closegroupU   s    c         C   s   | |  j  k  o | |  j k S(   N(   R   R   (   R   R   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt
   checkgroupW   s    N(   t   __name__t
   __module__R   R   R   R   R   (    (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR   A   s   		t
   SubPatternc           B   sh   e  Z d d   Z d d  Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z RS(   c         C   s4   | |  _  | d  k r g  } n  | |  _ d  |  _ d  S(   N(   t   patternR   t   datat   width(   R   R"   R#   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR   \   s
    			i    c         C   s  t  t f } x|  j D]|\ } } | d | G| t k rj HxT| D]! \ } } | d d | G| GHqB Wq | t k r Hxt | d  D]3 \ } } | r | d d GHn  | j | d  q Wq | t k r| \ } } }	 | GH| j | d  |	 r| d d GH|	 j | d  qq t | |  rd }
 xK | D]C } t | t	  rr|
 sXHn  | j | d  d }
 q9| Gd }
 q9W|
 sHqq | GHq Wd  S(   Ns     i   t   ort   elsei    (
   t   tuplet   listR#   t   INt   BRANCHt	   enumeratet   dumpt   GROUPREF_EXISTSt
   isinstanceR!   (   R   t   levelt   seqtypest   opt   avt   aR   t	   condgroupt   item_yest   item_not   nl(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR,   b   sB    	
c         C   s   t  |  j  S(   N(   R   R#   (   R   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   __repr__   s    c         C   s   t  |  j  S(   N(   t   lenR#   (   R   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   __len__   s    c         C   s   |  j  | =d  S(   N(   R#   (   R   t   index(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   __delitem__   s    c         C   s1   t  | t  r& t |  j |  j |  S|  j | S(   N(   R.   t   sliceR!   R"   R#   (   R   R;   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   __getitem__   s    c         C   s   | |  j  | <d  S(   N(   R#   (   R   R;   t   code(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   __setitem__   s    c         C   s   |  j  j | |  d  S(   N(   R#   t   insert(   R   R;   R?   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyRA      s    c         C   s   |  j  j |  d  S(   N(   R#   R   (   R   R?   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR      s    c         C   s  |  j  r |  j  Sd } } t t t t t t f } t t f } xy|  j	 D]n\ } } | t
 k r t d } d } xB | d D]6 } | j   \ }	 }
 t | |	  } t | |
  } q{ W| | } | | } qH | t k r| j   \ } } | | } | | } qH | t k r:| d j   \ } } | | } | | } qH | | k r| d j   \ } } | | | d } | | | d } qH | | k r| d } | d } qH | t k rH PqH qH Wt | t d  t | t  f |  _  |  j  S(   Ni    i   i   (   R$   t   ANYt   RANGER)   t   LITERALt   NOT_LITERALt   CATEGORYt
   MIN_REPEATt
   MAX_REPEATR#   R*   t	   MAXREPEATt   getwidtht   mint   maxt   CALLt
   SUBPATTERNt   SUCCESS(   R   t   lot   hit	   UNITCODESt   REPEATCODESR1   R2   R   t   jt   lt   h(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyRJ      sD    	





%N(   R   R    R   R   R,   R8   R:   R<   R>   R@   RA   R   RJ   (    (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR!   Z   s   %							t	   Tokenizerc           B   sA   e  Z d    Z d   Z d d  Z d   Z d   Z d   Z RS(   c         C   s    | |  _  d |  _ |  j   d  S(   Ni    (   t   stringR;   t   _Tokenizer__next(   R   RX   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR      s    		c         C   s   |  j  t |  j  k r% d  |  _ d  S|  j |  j  } | d d k r y |  j |  j  d } Wn t k
 ry t d  n X| | } n  |  j  t |  |  _  | |  _ d  S(   Ni    s   \i   s   bogus escape (end of line)(   R;   R9   RX   R   t   nextt
   IndexErrorR   (   R   t   chart   c(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   __next   s    	i   c         C   s*   | |  j  k r& | r" |  j   n  d Sd S(   Ni   i    (   RZ   RY   (   R   R\   t   skip(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   match   s
    c         C   s   |  j  } |  j   | S(   N(   RZ   RY   (   R   t   this(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR      s    	
c         C   s   |  j  |  j f S(   N(   R;   RZ   (   R   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   tell   s    c         C   s   | \ |  _  |  _ d  S(   N(   R;   RZ   (   R   R;   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   seek   s    (   R   R    R   RY   R`   R   Rb   Rc   (    (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyRW      s   				c         C   sB   d |  k o d k n pA d |  k o3 d k n pA |  d k S(   NR3   t   zt   At   Zt   _(    (   R\   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   isident   s    c         C   s   d |  k o d k SS(   Nt   0t   9(    (   R\   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   isdigit   s    c         C   sK   t  |  d  s t Sx0 |  d D]$ } t  |  r t |  r t Sq Wt S(   Ni    i   (   Rh   t   FalseRk   t   True(   R   R\   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   isname   s    c         C   s  t  j |  } | r | St j |  } | rB | d t k rB | SyO| d d !} | d k r x5 |  j t k r t |  d k  r | |  j   } qa W| d } t |  d k r t d t d |   n  t	 t
 | d  d	 @f S| t k rHx5 |  j t k r&t |  d k  r&| |  j   } q W| d } t	 t
 | d
  d	 @f S| t k rjt d t |   n  t |  d k rt	 t | d  f SWn t k
 rn Xt d t |   d  S(   Ni    i   i   R   i   s   bogus escape: %ss   \i   i   i   (   t   ESCAPESR   t
   CATEGORIESR)   RZ   t	   HEXDIGITSR9   R   R   RD   t   intt	   OCTDIGITSt   DIGITSt   ordt
   ValueError(   t   sourcet   escapeR?   R]   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   _class_escape   s6    $
$
c         C   sj  t  j |  } | r | St j |  } | r2 | Sy| d d !} | d k r x5 |  j t k r t |  d k  r | |  j   } qQ Wt |  d k r t  n  t t | d d  d @f S| d k rx5 |  j t	 k r t |  d k  r | |  j   } q Wt t | d d  d @f S| t
 k r|  j t
 k r| |  j   } | d t	 k r| d t	 k r|  j t	 k r| |  j   } t t | d d  d @f Sn  t | d  } | | j k  r| j |  st d	  n  | j rd
 d  l } | j d t  n  t | f St  n  t |  d k r>t t | d  f SWn t k
 rRn Xt d t |   d  S(   Ni   i   R   i   i   i   Ri   i   s   cannot refer to open groupis;   group references in lookbehind assertions are not supporteds   bogus escape: %s(   Rp   R   Ro   RZ   Rq   R9   Rv   RD   Rr   Rs   Rt   R   R   R   R   t   warningst   warnt   RuntimeWarningt   GROUPREFRu   R   (   Rw   Rx   t   stateR?   R]   t   groupRz   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   _escape  sP    $	$ 		

	i   c         C   s  g  } | j  } |  j } xY | t |  |   | d  r@ q n  | sJ Pn  |  j sc | d d  rg Pq t d  q Wt |  d k r | d St |  } | j  } xx d  } xj | D]= }	 |	 s Pn  | d  k r |	 d } q |	 d | k r Pq q Wx | D] }	 |	 d =q W| |  q Pq Wxz | D]0 }	 t |	  d k sQ|	 d d t k r%Pq%q%Wg  }
 |
 j  } x | D] }	 | |	 d  qoW| t	 |
 f  | S| j  t
 d  | f f  | S(   Nt   |t   )i    s   pattern not properly closedi   (   R   R`   t   _parseRZ   R   R9   R!   R   RD   R)   R*   (   Rw   R~   t   nestedt   itemst   itemsappendt   sourcematcht
   subpatternt   subpatternappendt   prefixt   itemt   sett	   setappend(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt
   _parse_sub=  sR    			
&	c         C   s   t  |  |  } |  j d  rK t  |  |  } |  j d  rQ t d  qQ n d  } |  j ry |  j d d  ry t d  n  t |  } | j t | | | f f  | S(   NR   s/   conditional backref with more than two branchesR   i    s   pattern not properly closed(   R   R`   R   R   RZ   R!   R   R-   (   Rw   R~   R4   R5   R6   R   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   _parse_sub_condx  s    s   |)s   =!<s   =!c   "      C   sm  t  |  } | j } |  j } |  j } t } t } t } t }	 t }
 x!|  j	 | k r[ Pn  |   } | d  k rt Pn  | j t @r | t k r qH n  | d k r x |   } | d0 k r Pq q WqH q n  | r | d t k r | t t |  f  qH | d k rg  } | j } | d  r1| t d  f  n  | } x|   } | d k r`| | k r`PnL | r| d d k rt |  |  } n$ | rt t |  f } n	 t d  | d	  r|   } | d k r| d t k r| d
 d } n  | |  | t t d	  f  Pq| r| d d k r:t |  |  } n t t |  f } | d t k sl| d t k rxt d  n  | d
 } | d
 } | | k  rt d  n  | t | | f f  qt d  q;| d t k r| d
 d } n  | |  q;W| |  d
 k r/| d d t k r/| | d  qe| |  d k r| d d t k r| d
 d t k r| t | d
 d
 f  qe| t | f  qH | r*| d t k r*| d k rd1 \ } } n| d k rd t } } n| d k r d
 t } } nt| d k rk|  j	 d k r7| t t |  f  qH n  |  j   } d t } } d } } x# |  j	 t k r| |  j   } q]W| d  rx) |  j	 t k r| |   } qWn | } | d  s| t t |  f  |  j |  qH n  | rt |  } | t k rt d   qn  | rtt |  } | t k rJt d   n  | | k  rht d   qhqtn	 t d  | r| d } n d  } | s| |  d
 k r| d d t k rt d  n  | d d |
 k rt d  n  | d  rt | | | f f | d <qet  | | | f f | d <qH | d k rI| t! d  f  qH | d k rd
 } d  } d  } | d  rd } | d  rI| d  rd } x? |   } | d  k rt d  n  | d k rPn  | | } qWd
 } | st d    n  t" |  sFt d! |   qFq
| d"  rd } x? |   } | d  k rLt d  n  | d# k r\Pn  | | } q+W| st d    n  t" |  st d$ |   n  | j# j |  } | d  k rd% j$ |  } t |   n  | j% rd d  l& } | j' d& t(  n  | t) | f  qH q
|   } | d  k r9t d'  n  t d( |  q| d)  r^d } q| d  rx- |  j	 d  k s|  j	 d# k rPn  |   qmW| d#  sH t d*  qH qH q|  j	 | k r	|   } d
 } | d k r	|  j	 |	 k rt d+  n  d } |   } | j% d
 7_% n  t* |  |  } | d k  rK	| j% d
 8_% n  | d#  sc	t d*  n  | d" k r	| t+ | | f f  qH | t, | | f f  qH q| d  r
d }  x? |   } | d  k r	t d  n  | d# k r	Pn  |  | }  q	Wd } |  s
t d    n  t" |   r^
| j# j |   } | d  k r
d% j$ |   } t |   q
n- y t |   } Wn t- k
 r
t d,  n X| j% r
d d  l& } | j' d& t(  q
q|  j	 t. k r
t d'  n  x- |  j	 t. k r
| j t. |   B| _ q
Wn  | r| d k rd  } n | j/ |  } | rFt0 |  | |  } n t* |  |  } | d#  smt d*  n  | d  k	 r| j1 |  n  | t2 | | f f  qex |   } | d  k rt d'  n  | d# k rPn  t d-  qWqH | d k r| t t3 f  qH | d. k r'| j t t4 f  qH | r\| d d k r\t5 |  | |  }! | |!  qH t d/  qH W| S(2   Nt   #s   
i    t   [t   ^t   ]s   \s$   unexpected end of regular expressiont   -i   s   bad character rangei   t   ?R    t   +t   {t   }t    t   ,s"   the repetition number is too larges   bad repeat intervals   not supportedis   nothing to repeats   multiple repeatt   .t   (t   Pt   <s   unterminated namet   >s   missing group names   bad character in group name %rt   =R   s&   bad character in backref group name %rs   unknown group name: {0!r}s;   group references in lookbehind assertions are not supporteds   unexpected end of patterns   unknown specifier: ?P%st   :s   unbalanced parenthesiss   syntax errors   bad character in group names   unknown extensiont   $s   parser error(   Ns   
(   i    i   (6   R!   R   R   R`   R9   t   _PATTERNENDERSt   _ASSERTCHARSt   _LOOKBEHINDASSERTCHARSt   _REPEATCODESRZ   R   R   t   SRE_FLAG_VERBOSEt
   WHITESPACEt   SPECIAL_CHARSRD   Ru   t   NEGATERy   R   R)   RC   RE   t   REPEAT_CHARSRI   Rb   Rt   Rc   Rr   t   OverflowErrort   ATRG   RH   RB   Rn   R   t   formatR   Rz   R{   R|   R}   R   t   ASSERTt
   ASSERT_NOTRv   t   FLAGSR   R   R   RN   t   AT_BEGINNINGt   AT_ENDR   ("   Rw   R~   R   R   t	   sourcegetR   t   _lent   PATTERNENDERSt   ASSERTCHARSt   LOOKBEHINDASSERTCHARSRS   Ra   R   R   t   startt   code1t   code2RP   RQ   RK   RL   t   hereR   R   R   R4   R\   R   t   msgRz   t   dirt   pt   condnameR?   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR     s   										
 

&:
	-				
									i    c         C   s   t  |   } | d  k r$ t   } n  | | _ |  | _ t | | d  } | j   } | d k rl t d  n | r~ t d  n  | t @r | j	   n  | t
 @r | j j t
 @r t |  | j j  S| S(   Ni    R   s   unbalanced parenthesiss-   bogus characters at end of regular expression(   RW   R   R   R   t   strR   R   R   t   SRE_FLAG_DEBUGR,   R   R"   t   parse(   R   R   R"   Rw   R   t   tail(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR     s     		
c         C   s  t  |   } | j } g  } | j } | | d  } |  d  } t |  t d  k r^ t } n t } x|   }	 |	 d  k r Pn  |	 r"|	 d d k r"|	 d d !}
 |
 d k rd } | j d  r	xB |   } | d  k r t d	  n  | d
 k r Pn  | | } q Wn  | st d  n  y( t	 |  } | d k  rBt d  n  Wni t
 k
 rt |  skt d  n  y | j | } Wqt k
 rd j |  } t |   qXn X| t | f  q,|
 d k r0| j t k r|	 |   }	 | j t k r|	 |   }	 qn  | | t	 |	 d d  d @  q,|
 t k rt } | j t k r|	 |   }	 |
 t k r|	 d t k r| j t k r|	 |   }	 t } | | t	 |	 d d  d @  qn  | s| t t	 |	 d  f  qq,y | t |	 d  }	 Wn t k
 rn X| |	  qg | |	  qg Wd } g  } | j } d  g t |  } xG | D]? \ }
 } |
 t k r| | | f  n
 | | | <| d } q_W| | f S(   Nc         S   sM   | r9 | d d t  k r9 t  | d d |  f | d <n | t  |  f  d  S(   Nii    i   (   RD   (   t   literalR   t   pappend(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyR     s    i    R   s   \i   i   t   gR   s   unterminated group nameR   s   missing group names   negative group numbers   bad character in group names   unknown group name: {0!r}Ri   i   i   (   RW   R   R   t   typet   chrt   unichrR   R`   R   Rr   Rv   Rn   t
   groupindext   KeyErrorR   R[   t   MARKRZ   Rs   Rt   Rl   Rm   Ro   R9   (   Rw   R"   R   t   sgetR   R3   R   t   sept   makecharRa   R]   R   R\   R;   R   t   isoctalR   R   t   groupsappendt   literals(    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   parse_template  s    		
			$' 	
c   	      C   s   | j  } | j d  } |  \ } } | } yG x@ | D]8 \ } } | |  | | <} | d  k r3 t d  q3 q3 WWn t k
 r t d  n X| j |  S(   Ni    s   unmatched groups   invalid group reference(   R   RX   R   R   R[   t   join(	   t   templateR`   R   R   R   R   R;   R   R   (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   expand_template6  s    	(8   t   __doc__t   syst   sre_constantsR   R   R   Rt   Rs   Rq   R   RD   Ru   Ro   R   t   AT_BEGINNING_STRINGt   AT_BOUNDARYt   AT_NON_BOUNDARYR)   RF   t   CATEGORY_DIGITt   CATEGORY_NOT_DIGITt   CATEGORY_SPACEt   CATEGORY_NOT_SPACEt   CATEGORY_WORDt   CATEGORY_NOT_WORDt   AT_END_STRINGRp   t   SRE_FLAG_IGNORECASEt   SRE_FLAG_LOCALEt   SRE_FLAG_MULTILINEt   SRE_FLAG_DOTALLR   t   SRE_FLAG_TEMPLATEt   SRE_FLAG_UNICODER   R   R!   RW   Rh   Rk   Rn   Ry   R   R   R   R   R   R   RG   RH   R   R   R   R   R   R   (    (    (    s=   /home/tom/ab/x64lucid-deps/install/lib/python2.7/sre_parse.pyt   <module>   sn   

b!					 	1;		 8	X