???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................
Yf-                 @   s  d  Z  d d l Td Z d Z e d  Z e d  Z e d  Z e d  Z e d	  Z	 e e
 e h  Z e e e e e e e h  Z d
 e e d  f d e e d  f d e e d  f d e e d  f d e e d  f d e e d  f d e e d  f d e e d  f i Z d e e f d e e f d e e f d e e e f g f d e e e f g f d e e e f g f d e e e f g f d  e e e f g f d! e e e f g f d" e e  f i
 Z! d# e" d$ e# d% e$ d& e% d' e& d( e' d) e( d* e) i Z* Gd+ d,   d,  Z+ Gd- d.   d.  Z, Gd/ d0   d0  Z- d1 d2   Z. d3 d4   Z/ d5 d6   Z0 d7 d8   Z1 d9 d:   Z2 d; d<   Z3 d= d>   Z4 d? d@   Z5 dA dB   Z6 d dC dD dE  Z7 dF dG   Z8 dH dI   Z9 dC S)JzInternal support module for sre    )*z.\[{()*+?^$|z*+?{
0123456789Z01234567Z0123456789abcdefABCDEFZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz 	
z\az\bz\fz\n
z\rz\t	z\vz\\\z\Az\Bz\dz\Dz\sz\Sz\wz\Wz\ZiLmsxatuc               @   sa   e  Z d  Z d d   Z e d d    Z d d d  Z d d	   Z d
 d   Z d d   Z	 d S)Patternc             C   s+   d |  _  i  |  _ d  g |  _ d  |  _ d  S)Nr   )flags	groupdictgroupwidthslookbehindgroups)self r   ./opt/alt/python35/lib64/python3.5/sre_parse.py__init__F   s    		zPattern.__init__c             C   s   t  |  j  S)N)lenr   )r   r   r   r   groupsK   s    zPattern.groupsNc             C   s   |  j  } |  j j d   |  j  t k r4 t d   | d  k	 r |  j j | d   } | d  k	 rz t d | | | f   | |  j | <| S)Nztoo many groupsz7redefinition of group name %r as group %d; was group %d)r   r   append	MAXGROUPSerrorr   get)r   namegidogidr   r   r   	opengroupN   s    	zPattern.opengroupc             C   s   | j    |  j | <d  S)N)getwidthr   )r   r$   pr   r   r   
closegroupZ   s    zPattern.closegroupc             C   s    | |  j  k  o |  j | d  k	 S)N)r   r   )r   r$   r   r   r   
checkgroup\   s    zPattern.checkgroupc             C   sO   |  j  d  k	 rK |  j |  s- | j d   | |  j  k rK | j d   d  S)Nzcannot refer to an open groupz?cannot refer to group defined in the same lookbehind subpattern)r   r*   r!   )r   r$   sourcer   r   r   checklookbehindgroup_   s
    zPattern.checklookbehindgroup)
__name__
__module____qualname__r   propertyr   r&   r)   r*   r,   r   r   r   r   r   D   s   r   c               @   s   e  Z d  Z d d d  Z d d d  Z d d   Z d	 d
   Z d d   Z d d   Z d d   Z	 d d   Z
 d d   Z d d   Z d S)
SubPatternNc             C   s1   | |  _  | d  k r g  } | |  _ d  |  _ d  S)N)patterndatawidth)r   r2   r3   r   r   r   r   i   s
    		zSubPattern.__init__r   c             C   s  d } t  t f } x|  j D]\ } } t | d t |  d d | t k r t   x| D]+ \ } } t | d d t |  |  q` Wq | t k r t   xTt | d  D]5 \ } } | r t | d d  | j | d  q Wq | t	 k rW| \ } }	 }
 t d |  |	 j | d  |
 rt | d d  |
 j | d  q t
 | |  rd } xp | D]h } t
 | t  r| st   | j | d  d } qs| st d	 d d t | d d d } qsW| st   q t d |  q Wd  S)
NTz  end    ORELSEF )tuplelistr3   printstrINBRANCH	enumeratedumpGROUPREF_EXISTS
isinstancer1   )r   levelnlseqtypesopavr   r   	condgroupitem_yesitem_nor   r   r   rB   o   sH    &	

zSubPattern.dumpc             C   s   t  |  j  S)N)reprr3   )r   r   r   r   __repr__   s    zSubPattern.__repr__c             C   s   t  |  j  S)N)r   r3   )r   r   r   r   __len__   s    zSubPattern.__len__c             C   s   |  j  | =d  S)N)r3   )r   indexr   r   r   __delitem__   s    zSubPattern.__delitem__c             C   s1   t  | t  r& t |  j |  j |  S|  j | S)N)rD   slicer1   r2   r3   )r   rP   r   r   r   __getitem__   s    zSubPattern.__getitem__c             C   s   | |  j  | <d  S)N)r3   )r   rP   coder   r   r   __setitem__   s    zSubPattern.__setitem__c             C   s   |  j  j | |  d  S)N)r3   insert)r   rP   rT   r   r   r   rV      s    zSubPattern.insertc             C   s   |  j  j |  d  S)N)r3   r   )r   rT   r   r   r   r      s    zSubPattern.appendc       	      C   s  |  j  d  k	 r |  j  Sd } } x5|  j D]*\ } } | t k r t d } d } xB | d D]6 } | j   \ } } t | |  } t | |  } q] W| | } | | } q* | t k r | j   \ } } | | } | | } q* | t k r| d j   \ } } | | } | | } q* | t	 k re| d j   \ } } | | | d } | | | d } q* | t
 k r| d } | d } q* | t k r|  j j | \ } } | | } | | } q* | t k rG| d j   \ } } | d d  k	 r*| d j   \ } } t | |  } t | |  } n d } | | } | | } q* | t k r* Pq* Wt | t d  t | t  f |  _  |  j  S)Nr   r7      )r4   r3   r@   	MAXREPEATr'   minmaxCALL
SUBPATTERN_REPEATCODES
_UNITCODESGROUPREFr2   r   rC   SUCCESS)	r   lohirH   rI   r   jlhr   r   r   r'      sZ    







%zSubPattern.getwidth)r-   r.   r/   r   rB   rN   rO   rQ   rS   rU   rV   r   r'   r   r   r   r   r1   g   s   (r1   c               @   s   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z	 d d   Z
 d d d  Z d S)	Tokenizerc             C   s\   t  | t  |  _ | |  _ |  j s3 t | d  } | |  _ d |  _ d  |  _ |  j   d  S)Nlatin1r   )rD   r>   istextstringdecoded_stringrP   next_Tokenizer__next)r   ri   r   r   r   r      s    					zTokenizer.__init__c             C   s   |  j  } y |  j | } Wn t k
 r; d  |  _ d  SYn X| d k r | d 7} y | |  j | 7} Wn7 t k
 r t d |  j t |  j  d  d   Yn X| d |  _  | |  _ d  S)Nr   r7   zbad escape (end of pattern))rP   rj   
IndexErrorrk   r!   ri   r   )r   rP   charr   r   r   __next   s    			
$zTokenizer.__nextc             C   s!   | |  j  k r |  j   d Sd S)NTF)rk   rl   )r   rn   r   r   r   match   s    
zTokenizer.matchc             C   s   |  j  } |  j   | S)N)rk   rl   )r   thisr   r   r   r"      s    	
zTokenizer.getc             C   sK   d } x> t  |  D]0 } |  j } | | k r/ P| | 7} |  j   q W| S)Nr6   )rangerk   rl   )r   ncharsetresult_cr   r   r   getwhile   s    	
zTokenizer.getwhilec             C   s   d } x |  j  } |  j   | d  k rY | s= |  j d   |  j d | t |    | | k r~ | s} |  j d d   P| | 7} q	 W| S)Nr6   zmissing group namezmissing %s, unterminated namer7   )rk   rl   r!   r   )r   
terminatorru   rw   r   r   r   getuntil  s    	
zTokenizer.getuntilc             C   s   |  j  t |  j p d  S)Nr6   )rP   r   rk   )r   r   r   r   tell  s    zTokenizer.tellc             C   s   | |  _  |  j   d  S)N)rP   rl   )r   rP   r   r   r   seek  s    	zTokenizer.seekr   c             C   s   t  | |  j |  j   |  S)N)r!   ri   r{   )r   msgoffsetr   r   r   r!     s    zTokenizer.errorN)r-   r.   r/   r   rl   rp   r"   rx   rz   r{   r|   r!   r   r   r   r   rf      s   		rf   c             C   sd   d d  l  } | j d t d d d |  k o9 d k n pc d |  k oU d k n pc |  d	 k S)
Nr   z*sre_parse.isident() will be removed in 3.5
stacklevelrW   r   zAZrv   )warningswarnDeprecationWarning)rn   r   r   r   r   isident   s    	r   c             C   s:   d d  l  } | j d t d d d |  k o7 d k SS)Nr   z*sre_parse.isdigit() will be removed in 3.5r   rW   09)r   r   r   )rn   r   r   r   r   isdigit&  s    	r   c             C   ss   d d  l  } | j d t d d t |  d  s6 d Sx6 |  d d   D]$ } t |  rG t |  rG d SqG Wd S)Nr   z)sre_parse.isname() will be removed in 3.5r   rW   Fr7   T)r   r   r   r   r   )r#   r   rn   r   r   r   isname,  s    	r   c             C   s  t  j |  } | r | St j |  } | rB | d t k rB | SyX| d d  } | d k r | |  j d t  7} t |  d k r |  j d | t |    t t	 | d d   d  f S| d k r8|  j
 r8| |  j d t  7} t |  d	 k r|  j d | t |    t t	 | d d   d  f S| d
 k r|  j
 r| |  j d t  7} t |  d k r|  j d | t |    t	 | d d   d  } t |  t | f S| t k r+| |  j d t  7} t	 | d d   d  } | d k r!|  j d | t |    t | f S| t k r=t  t |  d k r| t k rd d  l } | j d | t d | d	 t t | d  f SWn t k
 rYn X|  j d | t |    d  S)Nr   r7   rW   r      zincomplete escape %s   r      U   
      z.octal escape value %s outside of range 0-0o377zbad escape %sr   )ESCAPESr"   
CATEGORIESr?   rx   	HEXDIGITSr   r!   LITERALintrh   chr	OCTDIGITSDIGITS
ValueErrorASCIILETTERSr   r   r   ord)r+   escapenestedrT   rw   r   r   r   r   _class_escape8  sV    

	
r   c             C   s  t  j |  } | r | St j |  } | r2 | SyK| d d  } | d k r | |  j d t  7} t |  d k r |  j d | t |    t t | d d   d  f S| d k r(|  j	 r(| |  j d t  7} t |  d k r|  j d | t |    t t | d d   d  f S| d	 k r|  j	 r| |  j d
 t  7} t |  d k r|  j d | t |    t | d d   d  } t
 |  t | f S| d k r| |  j d t  7} t t | d d   d
  f S| t k r |  j t k r| |  j   7} | d t k r| d t k r|  j t k r| |  j   7} t | d d   d
  } | d k r|  j d | t |    t | f St | d d    } | | j k  r| j |  s|  j d t |    | j | |   t | f S|  j d t |    t |  d k r|| t k rhd d  l } | j d | t d | d t t | d  f SWn t k
 rYn X|  j d | t |    d  S)Nr7   rW   r   r   zincomplete escape %sr   r   r   r   r   r   r   r   z.octal escape value %s outside of range 0-0o377zcannot refer to an open groupzinvalid group referencer   zbad escape %sr   )r   r"   r   rx   r   r   r!   r   r   rh   r   r   r   rk   r   r*   r,   r_   r   r   r   r   r   r   )r+   r   stater   rT   rw   groupr   r   r   r   _escapej  sr    

 	
	
r   c             C   sl  g  } | j  } |  j } |  j   } x+ | t |  | | d   | d  s' Pq' Wt |  d k rl | d St |  } | j  } xr d  }	 xd | D]7 }
 |
 s P|	 d  k r |
 d }	 q |
 d |	 k r Pq Wx | D] }
 |
 d =q W| |	  q Pq WxV | D]- }
 t |
  d k s)|
 d d t k	 r Pq W| t d d   | D f  | S| j  t d  | f f  | S)Nr7   |r   c             S   s   g  |  ] } | d   q S)r   r   ).0itemr   r   r   
<listcomp>  s   	 z_parse_sub.<locals>.<listcomp>)	r   rp   r{   _parser   r1   r   r?   r@   )r+   r   r   itemsitemsappendsourcematchstart
subpatternsubpatternappendprefixr   r   r   r   
_parse_sub  sB    			
&r   c             C   s   t  |  | | d  } |  j d  r\ t  |  | | d  } |  j d k rb |  j d   n d  } t |  } | j t | | | f f  | S)Nr7   r   z/conditional backref with more than two branches)r   rp   rk   r!   r1   r   rC   )r+   r   rJ   r   rK   rL   r   r   r   r   _parse_sub_cond  s    r   c       #      C   s  t  |  } | j } |  j } |  j } t } t } | j t @}	 x|  j }
 |
 d  k rY P|
 d k rf P|   |	 r |
 t	 k r qC |
 d k r x& |   }
 |
 d  k s |
 d k r Pq WqC |
 d d k r t
 |  |
 | | d  } | |  qC |
 t k r| t | |
  f  qC |
 d k rJ|  j   d } g  } | j } | d  r\| t d  f  | d  d   } x<|   }
 |
 d  k r|  j d	 |  j   |   |
 d
 k r| | k rPn; |
 d d k rt |  |
 | d  } n t | |
  f } | d  r|   } | d  k r4|  j d	 |  j   |   | d
 k r| d t k r^| d d } | |  | t | d  f  P| d d k rt |  | | d  } n t | |  f } | d t k s| d t k rd |
 | f } |  j | t |
  d t |    | d } | d } | | k  rfd |
 | f } |  j | t |
  d t |    | t | | f f  qo| d t k r| d d } | |  qoW| |  d k r| d d t k r| | d  q| |  d k r7| d d t k r7| d d t k r7| t | d d f  q| t | f  qC |
 t k r|  j   } |
 d k r}d4 \ } } n|
 d k rd t } } n|
 d k rd t } } nj|
 d k r|  j d k r| t | |
  f  qC d t } } d } } x  |  j t k r"| |   7} qW| d  rUx) |  j t k rQ| |   7} q2Wn | } | d  s| t | |
  f  |  j |  qC | rt |  } | t k rt d   | rt |  } | t k rt d   | | k  r|  j d |  j   |   n t d | f   | r8| d5 d   } n d  } | sk| |  d k r| d d t k r|  j d |  j   | t |
    | d d t k r|  j d |  j   | t |
    | d  rt | | | f f | d6 <qt | | | f f | d7 <qC |
 d k r.| t d  f  qC |
 d k r|  j   d } d } d  } d  } | d  r|   } | d  k r|  j d   | d k r	| d  r|  j  d   } | j!   s	d! | } |  j | t |  d   q| d"  r|  j  d#  } | j!   s5d! | } |  j | t |  d   | j" j |  } | d  k ryd$ | } |  j | t |  d   | j# |  s|  j d% t |  d   | j$ | |   | t% | f  qC q|   } | d  k r|  j d   |  j d& | t |  d   n}| d' k r&	d  } nh| d k rz	x? |  j d  k r`	|  j d( |  j   |   |   d# k r5	Pq5	WqC n| d) k r
d } | d k r
|   } | d  k r	|  j d   | d* k r	|  j d+ | t |  d   d8 } | j& } | d  k r
| j' | _& t( |  | | d  }  | d k  rF
| d  k rF
d  | _& | d#  sn
|  j d, |  j   |   | d" k r
| t) | |  f f  qC | t* | |  f f  qC n| d k r|  j  d#  }! d  } |! j!   r#| j" j |!  } | d  k rd$ |! } |  j | t |!  d   n y" t |!  } | d k  rDt+  Wn; t+ k
 rd! |! } |  j | t |!  d  d   Yn X| s|  j d- t |!  d   | t, k r|  j d. t |!  d   | j$ | |   n | t- k rnxl | j t- | O_ |   } | d  k r&|  j d/   | d# k r3P| t- k r|  j d0 t |    qW| j t @}	 qC n  |  j d1 | t |  d   | d  k	 ry | j. |  } WnG t k
 r}" z' |  j |" j/ t |  d  d   WYd  d  }" ~" Xn X| rt0 |  | | | d  }  n t( |  | | d  }  |  j d#  sZ|  j d, |  j   |   | d  k	 rv| j1 | |   | t2 | |  f f  qC |
 d k r| t t3 f  qC |
 d2 k r| j t t4 f  qC t d3 | f   qC W| S)9Nz|)#r   r   r   r7   [^zunterminated character set]-zbad character range %s-%srW   ?r   +{}r6   ,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier %rznothing to repeatzmultiple repeat.(Tzunexpected end of patternP<>zbad character in group name %r=)zunknown group name %rzcannot refer to an open groupzunknown extension ?P:zmissing ), unterminated commentz=!<z=!zunknown extension ?<z"missing ), unterminated subpatternzbad group numberzinvalid group referencez	missing )zunknown flagzunknown extension ?$z unsupported special character %r)r   r7   r   r   r   )5r1   r   r"   rp   r   r   r   SRE_FLAG_VERBOSErk   
WHITESPACEr   SPECIAL_CHARSr   r{   NEGATEr!   r   r?   RANGENOT_LITERALREPEAT_CHARSrX   r   r|   r   OverflowErrorAssertionErrorATr]   
MIN_REPEAT
MAX_REPEATANYrz   isidentifierr   r*   r,   r_   r   r   r   ASSERT
ASSERT_NOTr   r    FLAGSr&   r}   r   r)   r\   AT_BEGINNINGAT_END)#r+   r   r   r   r   	sourcegetr   _len_ordverboserq   rT   hereset	setappendr   code1thatcode2r}   ra   rb   rY   rZ   rn   r   r   r#   rJ   r$   dirr   r(   condnameerrr   r   r   r     s   										
 &

&&:
	-			


								


$			5	r   c             C   s   t  |  t  rk | t @r; d d  l } | j d t d d | t @sR | t O} q | t @r t d   nL | t @r t d   | t @r | t @r d d  l } | j d t d d | S)Nr   zELOCALE flag with a str pattern is deprecated. Will be an error in 3.6r   r   z(ASCII and UNICODE flags are incompatiblez,cannot use UNICODE flag with a bytes patternz@ASCII and LOCALE flags are incompatible. Will be an error in 3.6)	rD   r>   SRE_FLAG_LOCALEr   r   r   SRE_FLAG_ASCIISRE_FLAG_UNICODEr   )srcr   r   r   r   r   	fix_flags  s     
	


	r   Nc             C   s   t  |   } | d  k r! t   } | | _ |  | _ t | | d  } t |  | j j  | j _ | j d  k	 r | j d k s t  | j	 d   | t
 @r | j j t
 @r t |  | j j  S| t @r | j   | S)Nr   r   zunbalanced parenthesis)rf   r   r   r>   r   r   r2   rk   r   r!   r   parseSRE_FLAG_DEBUGrB   )r>   r   r2   r+   r(   r   r   r   r   3  s    			

r   c                s  t  |   } | j } g    g   g    j }     f d d   } | j } x|   } | d  k rj P| d d k rN| d } | d k rd }	 | j d  s | j d	   | j d
  }	 |	 j   ry | |	 }
 Wqt k
 rt	 d |	   YqXn y" t
 |	  }
 |
 d k  r&t  Wn5 t k
 r^| j d |	 t |	  d  d   Yn X|
 t k r| j d t |	  d   | |
  qX| d k r| j t k r| |   7} | j t k r| |   7} | t t
 | d d   d  d @  qX| t k rd } | j t k r| |   7} | t k r| d t k r| j t k r| |   7} d } t
 | d d   d  } | d k r| j d | t |    | t |   | sK| t
 | d d     qXy t t | d  } WnD t k
 r@| t k r<d d  l } | j d | t d d Yn X| |  qT | |  qT W rx j d j    t |  t  sd d    D     f S)Nc                sS    r)  j  d j     d  d   =  j  t   |  f   j  d   d  S)Nr6   )r   joinr   )rP   )r   literalliteralsr   r   addgroupW  s
    z parse_template.<locals>.addgroupr   r   r7   gr6   r   z	missing <r   zunknown group name %rzbad character in group name %rzinvalid group referencer   r   r   FrW   Tz.octal escape value %s outside of range 0-0o377zbad escape %sr   r   c             S   s1   g  |  ]' } | d  k r d  n | j  d   q S)Nzlatin-1)encode)r   r   r   r   r   r     s   	 z"parse_template.<locals>.<listcomp>)rf   r"   r   
groupindexrp   r!   rz   r   KeyErrorrm   r   r   r   r    rk   r   r   r   r   r   r   r   r   r   rD   r>   )r+   r2   r   sgetlappendr   r   rq   rw   r#   rP   isoctalr   r   )r   r   r   r   parse_templateN  s    				

	*	r   c             C   s   | j  } | j d  d  } |  \ } } | d  d   } y1 x* | D]" \ } } | |  p] | | | <qB WWn t k
 r t d   Yn X| j |  S)Nr   zinvalid group reference)r   ri   rm   r!   r   )templaterp   r   emptyr   r   rP   r   r   r   r   expand_template  s    	r   ):__doc__sre_constantsr   r   	frozensetr   r   r   r   r   r   r   r]   r   r   r?   r   r   CATEGORYr^   r   r   r   ZAT_BEGINNING_STRINGZAT_BOUNDARYZAT_NON_BOUNDARYZCATEGORY_DIGITZCATEGORY_NOT_DIGITZCATEGORY_SPACEZCATEGORY_NOT_SPACEZCATEGORY_WORDZCATEGORY_NOT_WORDZAT_END_STRINGr   SRE_FLAG_IGNORECASEr   SRE_FLAG_MULTILINESRE_FLAG_DOTALLr   r   SRE_FLAG_TEMPLATEr   r   r   r1   rf   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sh   
#qH2C2 3U