Your IP : 3.145.51.35


Current Path : /lib64/python2.7/
Upload File :
Current File : //lib64/python2.7/sre_parse.pyc

�
zfc@s�dZddlZddlTdZdZed�Zed�Zed�Zed	�Z	ed
�Z
ieed�fd6eed
�fd6eed�fd6eed�fd6eed�fd6eed�fd6eed�fd6eed�fd6Z
i
eefd6eefd6eefd6eeefgfd6eeefgfd6eeefgfd6eeefgfd 6eeefgfd!6eeefgfd"6eefd#6Zied$6ed%6ed&6ed'6e d(6e!d)6e"d*6Z#d+fd,��YZ$d-fd.��YZ%d/fd0��YZ&d1�Z'd2�Z(d3�Z)d4�Z*d5�Z+d6�Z,d7�Z-ed8�Z.ed9�Z/ed:�Z0ee1e2g�Z3d;�Z4d<e5d=�Z6d>�Z7d?�Z8dS(@sInternal support module for srei����N(t*s.\[{()*+?^$|s*+?{t
0123456789t01234567t0123456789abcdefABCDEFt4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZs 	

ss\ass\bss\fs
s\ns
s\rs	s\tss\vs\s\\s\As\Bs\ds\Ds\ss\Ss\ws\Ws\ZtitLtmtstxtttutPatterncBs/eZd�Zdd�Zd�Zd�ZRS(cCs1d|_g|_d|_i|_d|_dS(Nii(tflagstopentgroupst	groupdictt
lookbehind(tself((s!/usr/lib64/python2.7/sre_parse.pyt__init__Ds
				cCs�|j}|d|_|dk	rr|jj|d�}|dk	rbtdt|�||f�n||j|<n|jj|�|S(Nis7redefinition of group name %s as group %d; was group %d(RtNoneRtgetterrortreprRtappend(Rtnametgidtogid((s!/usr/lib64/python2.7/sre_parse.pyt	opengroupKs	
cCs|jj|�dS(N(Rtremove(RR((s!/usr/lib64/python2.7/sre_parse.pyt
closegroupVscCs||jko||jkS(N(RR(RR((s!/usr/lib64/python2.7/sre_parse.pyt
checkgroupXsN(t__name__t
__module__RRRRR(((s!/usr/lib64/python2.7/sre_parse.pyRBs		t
SubPatterncBsheZdd�Zdd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZRS(cCs4||_|dkrg}n||_d|_dS(N(tpatternRtdatatwidth(RR#R$((s!/usr/lib64/python2.7/sre_parse.pyR]s
			icCs�ttf}x�|jD]|\}}|d|G|tkrjHxT|D]!\}}|dd|G|GHqBWq|tkr�Hxt|d�D]3\}}|r�|ddGHn|j|d�q�Wq|tkr|\}}}	|GH|j|d�|	r�|ddGH|	j|d�q�qt||�r�d}
xK|D]C}t|t	�rr|
sXHn|j|d�d}
q9|Gd}
q9W|
s�Hq�q|GHqWdS(Ns  itortelsei(
ttupletlistR$tINtBRANCHt	enumeratetdumptGROUPREF_EXISTSt
isinstanceR"(RtleveltseqtypestoptavtaRt	condgrouptitem_yestitem_notnl((s!/usr/lib64/python2.7/sre_parse.pyR-csB

	
cCs
t|j�S(N(RR$(R((s!/usr/lib64/python2.7/sre_parse.pyt__repr__�scCs
t|j�S(N(tlenR$(R((s!/usr/lib64/python2.7/sre_parse.pyt__len__�scCs|j|=dS(N(R$(Rtindex((s!/usr/lib64/python2.7/sre_parse.pyt__delitem__�scCs1t|t�r&t|j|j|�S|j|S(N(R/tsliceR"R#R$(RR<((s!/usr/lib64/python2.7/sre_parse.pyt__getitem__�scCs||j|<dS(N(R$(RR<tcode((s!/usr/lib64/python2.7/sre_parse.pyt__setitem__�scCs|jj||�dS(N(R$tinsert(RR<R@((s!/usr/lib64/python2.7/sre_parse.pyRB�scCs|jj|�dS(N(R$R(RR@((s!/usr/lib64/python2.7/sre_parse.pyR�scCs�|jr|jSd}}ttttttf}ttf}xy|j	D]n\}}|t
kr�td}d}xB|dD]6}|j�\}	}
t
||	�}t||
�}q{W||}||}qH|tkr|j�\}}||}||}qH|tkr:|dj�\}}||}||}qH||kr�|dj�\}}|||d}|||d}qH||kr�|d}|d}qH|tkrHPqHqHWt
|td�t
|t�f|_|jS(Niii(R%tANYtRANGER*tLITERALtNOT_LITERALtCATEGORYt
MIN_REPEATt
MAX_REPEATR$R+t	MAXREPEATtgetwidthtmintmaxtCALLt
SUBPATTERNtSUCCESS(Rtlothit	UNITCODEStREPEATCODESR2R3Rtjtlth((s!/usr/lib64/python2.7/sre_parse.pyRK�sD	









%N(
R R!RRR-R9R;R=R?RARBRRK(((s!/usr/lib64/python2.7/sre_parse.pyR"[s%							t	TokenizercBsAeZd�Zd�Zdd�Zd�Zd�Zd�ZRS(cCs ||_d|_|j�dS(Ni(tstringR<t_Tokenizer__next(RRY((s!/usr/lib64/python2.7/sre_parse.pyR�s		cCs�|jt|j�kr%d|_dS|j|j}|ddkr�y|j|jd}Wntk
rytd�nX||}n|jt|�|_||_dS(Nis\isbogus escape (end of line)(R<R:RYRtnextt
IndexErrorR(Rtchartc((s!/usr/lib64/python2.7/sre_parse.pyt__next�s	


icCs*||jkr&|r"|j�ndSdS(Nii(R[RZ(RR]tskip((s!/usr/lib64/python2.7/sre_parse.pytmatch�s

cCs|j}|j�|S(N(R[RZ(Rtthis((s!/usr/lib64/python2.7/sre_parse.pyR�s	
cCs|j|jfS(N(R<R[(R((s!/usr/lib64/python2.7/sre_parse.pyttell�scCs|\|_|_dS(N(R<R[(RR<((s!/usr/lib64/python2.7/sre_parse.pytseek�s(R R!RRZRaRRcRd(((s!/usr/lib64/python2.7/sre_parse.pyRX�s		
		cCsBd|kodknpAd|ko3dknpA|dkS(NR4tztAtZt_((R]((s!/usr/lib64/python2.7/sre_parse.pytisident�scCsd|kodkSS(Nt0t9((R]((s!/usr/lib64/python2.7/sre_parse.pytisdigit�scCsKt|d�stSx0|dD]$}t|�rt|�rtSqWtS(Nii(RitFalseRltTrue(RR]((s!/usr/lib64/python2.7/sre_parse.pytisname�scCs+tj|�}|r|Stj|�}|rB|dtkrB|Sy�|dd!}|dkr�x5|jtkr�t|�dkr�||j�}qaW|d}t|�dkr�tdtd|��nt	t
|d�d	@fS|tkrHx5|jtkr&t|�dkr&||j�}q�W|d}t	t
|d
�d	@fS|tkrjtdt|��nt|�dkr�t
jr�|tkr�ddl}|dkr�|jd
|td|d�q�|jd|td|d�nt	t|d�fSWntk
rnXtdt|��dS(NiiiR	isbogus escape: %ss\ii�ii����tUusBbad escape %s; Unicode escapes are supported only since Python 3.3t
stacklevelis
bad escape %s(tESCAPESRt
CATEGORIESR*R[t	HEXDIGITSR:RRREtintt	OCTDIGITStDIGITStsystpy3kwarningtASCIILETTERStwarningstwarnt
FutureWarningtwarnpy3ktDeprecationWarningtordt
ValueError(tsourcetescapetnestedR@R^R{((s!/usr/lib64/python2.7/sre_parse.pyt
_class_escape�sF
$
$
	

cCs�tj|�}|r|Stj|�}|r2|Sy�|dd!}|dkr�x5|jtkr�t|�dkr�||j�}qQWt|�dkr�t�ntt|dd�d@fS|dkrx5|jt	kr�t|�dkr�||j�}q�Wtt|dd�d@fS|t
kr"|jt
kr�||j�}|dt	kr�|dt	kr�|jt	kr�||j�}tt|dd�d@fSnt|d�}||jkr|j|�s�t
d	�n|jrd
dl}|jdtd|d
�nt|fSt�nt|�dkr�tjr�|tkr�d
dl}|dkr�|jd|td|d
�q�|jd|td|d
�ntt|d�fSWntk
r�nXt
dt|��dS(NiiR	iii�Rjiscannot refer to open groupi����s;group references in lookbehind assertions are not supportedRqiRpsBbad escape %s; Unicode escapes are supported only since Python 3.3s
bad escape %ssbogus escape: %s(RsRRrR[RtR:R�RERuRvRwRRRRR{R|tRuntimeWarningtGROUPREFRxRyRzR}R~RR�R(R�R�tstateR�R@R^tgroupR{((s!/usr/lib64/python2.7/sre_parse.pyt_escapes`
$	$ 		
		

cCs�g}|j}|j}x`|t|||d��|d�rGqn|sQPn|jsj|dd�rnPqtd�qWt|�dkr�|dSt|�}|j}xxd}xj|D]=}	|	s�Pn|dkr�|	d}q�|	d|kr�Pq�q�Wx|D]
}	|	d=qW||�q�Pq�Wxz|D]0}	t|	�dksX|	ddtkr,Pq,q,Wg}
|
j}x|D]}	||	d�qvW|t	|
f�|S|jt
d|ff�|S(Nit|t)ispattern not properly closed(RRat_parseR[RR:R"RRER*R+(R�R�R�titemstitemsappendtsourcematcht
subpatterntsubpatternappendtprefixtitemtsett	setappend((s!/usr/lib64/python2.7/sre_parse.pyt
_parse_subPsR		
	




&	
cCs�t|||d�}|jd�rYt|||d�}|jd�r_td�q_nd}|jr�|jdd�r�td�nt|�}|jt|||ff�|S(NiR�s/conditional backref with more than two branchesR�ispattern not properly closed(R�RaRRR[R"RR.(R�R�R5R�R6R7R�((s!/usr/lib64/python2.7/sre_parse.pyt_parse_sub_cond�ss|)s=!<s=!c#Cs�t|�}|j}|j}|j}t}t}t}	t}
t}x_|j	|kr[Pn|�}|dkrtPn|jt@r�|t
kr�qHn|dkr�x|�}|d2kr�Pq�q�WqHq�n|r�|dtkr�|tt|�f�qH|dkr�g}
|
j}|d�r1|tdf�n|
}x�|�}|dkr`|
|kr`PnS|r�|ddkr�t|||d�}n$|r�tt|�f}n	td	�|d
�r�|�}|dkr|dtkr�|dd}n||�|ttd
�f�Pq|r�|ddkrHt|||d�}ntt|�f}|dtksz|dtkr�td�n|d}|d}||kr�td�n|t||ff�qtd	�q;|dtkr�|dd}n||�q;W||
�dkr=|
ddtkr=||
d�q�||
�dkr�|
ddtkr�|
ddtkr�|t|
ddf�q�|t|
f�qH|r8|dtkr8|d
kr�d3\}}n�|dkr�dt}}n�|dkrdt}}nt|dkry|j	dkrE|tt|�f�qHn|j�}dt}}d}}x#|j	tkr�||j�}qkW|d�r�x)|j	tkr�||�}q�Wn|}|d�s�|tt|�f�|j|�qHn|r+t|�}|tkr+td��q+n|r�t|�}|tkrXtd��n||krvtd��qvq�n	td�|r�|d}nd}|s�||�dkr�|ddtkr�td�n|dd|kr�td�n|d
�rt|||ff|d<q�t |||ff|d<qH|dkrW|t!df�qH|dkrd}d}d}|d
�r*d}|d�ra|d�r$d}x?|�}|dkr�td�n|dkr�Pn||}q�Wd}|std ��nt"|�s^td!|��q^q'|d"�r0d}x?|�}|dkrZtd�n|d#krjPn||}q9W|s�td ��nt"|�s�td$|��n|j#j|�}|dkr�d%j$|�}t|��n|j%rddl&}|j'd&t(d'|d(�n|t)|f�qHq'|�}|dkrQtd)�ntd*|�q*|d+�rvd}q*|d�r�x-|j	dks�|j	d#kr�Pn|�q�W|d#�sHtd,�qHqHq*|j	|	kr�	|�}d}|dkr6	|j	|
kr	td-�nd}|�}|j%d7_%nt*|||d�} |dkrj	|j%d8_%n|d#�s�	td,�n|d"kr�	|t+|| ff�qH|t,|| ff�qHq*|d�r�
d}!x?|�}|dkr�	td�n|d#kr	
Pn|!|}!q�	Wd}|!s2
td ��nt"|!�r}
|j#j|!�}|dkr�
d%j$|!�}t|��q�
n-yt|!�}Wnt-k
r�
td.�nX|j%r'ddl&}|j'd&t(d'|d(�q'q*|j	t.kr�
td)�nx-|j	t.kr&|jt.|�B|_q�
Wn|r�|dkrEd}n|j/|�}|rvt0||||d�} nt*|||d�} |d#�s�td,�n|dk	r�|j1|�n|t2|| ff�q�x�|�}|dkr�td)�n|d#kr
Pntd/�q�WqH|dkr<|tt3f�qH|d0kr^|jtt4f�qH|r�|ddkr�t5||||d�}"||"�qHtd1�qHW|S(4Nt#s
it[t^t]s\is$unexpected end of regular expressiont-sbad character rangeit?Rt+t{t}tt,s"the repetition number is too largesbad repeat intervals
not supportedi����snothing to repeatsmultiple repeatt.t(tPt<sunterminated namet>smissing group namesbad character in group name %rt=R�s&bad character in backref group name %rsunknown group name: {0!r}s;group references in lookbehind assertions are not supportedRqisunexpected end of patternsunknown specifier: ?P%st:sunbalanced parenthesisssyntax errorsbad character in group namesunknown extensiont$sparser error(Ns
(ii(6R"RRRaR:t_PATTERNENDERSt_ASSERTCHARSt_LOOKBEHINDASSERTCHARSt_REPEATCODESR[RR
tSRE_FLAG_VERBOSEt
WHITESPACEt
SPECIAL_CHARSRER�tNEGATER�RR*RDRFtREPEAT_CHARSRJRcRwRdRut
OverflowErrortATRHRIRCRoRtformatRR{R|R�R�R�tASSERTt
ASSERT_NOTR�tFLAGSRR�RROtAT_BEGINNINGtAT_ENDR�(#R�R�R�R�R�t	sourcegetR�t_lent
PATTERNENDERStASSERTCHARStLOOKBEHINDASSERTCHARSRTRbR�R�tstarttcode1tcode2RQRRRLRMthereR�R�RR5R]RtmsgR{tdirtptcondnameR@((s!/usr/lib64/python2.7/sre_parse.pyR��s�				
						
 

&:


	
-		
							

				

icCst|�}|dkr$t�}n||_||_t||d�}tjr�|jjt	@r�|jjt
@r�ddl}|jdt
dd�n|j�}|dkr�td�n|r�td�n|t@r�|jjt@r�t||jj�S|t@r|j�n|S(	Nii����s)LOCALE and UNICODE flags are incompatibleRqiR�sunbalanced parenthesiss-bogus characters at end of regular expression(RXRRR
tstrR�RxRyR#tSRE_FLAG_LOCALEtSRE_FLAG_UNICODER{R~RRRR�tparsetSRE_FLAG_DEBUGR-(R�R
R#R�R�R{ttail((s!/usr/lib64/python2.7/sre_parse.pyR��s,				

cCs�t|�}|j}g}|j}||d�}|d }t|�td�kr^t}nt}x|�}	|	dkr�Pn|	r`|	ddkr`|	dd!}
|
dkr�d}|jd�r	xB|�}|dkr�td	�n|d
kr�Pn||}q�Wn|std�ny(t	|�}
|
dkrBtd�nWnit
k
r�t|�sktd
�ny|j|}
Wq�t
k
r�dj|�}t|��q�XnX|t|
f�qj|
dkr0|jtkr|	|�}	|jtkr|	|�}	qn||t	|	dd�d@��qj|
tkr�t}|jtkr�|	|�}	|
tkr�|	dtkr�|jtkr�|	|�}	t}||t	|	dd�d@��q�n|s]|tt	|	d�f�q]qjy|t|	d�}	WnOt
k
rRtjrS|
tkrSddl}|jd|	tdd�qSnX||	�qg||	�qgWd}g}|j}dgt|�}xG|D]?\}
}|
tkr�|||f�n
|||<|d}q�W||fS(NcSsM|r9|ddtkr9t|dd|f|d<n|t|f�dS(Ni����ii(RE(tliteralR�tpappend((s!/usr/lib64/python2.7/sre_parse.pyR��siR�s\iitgR�sunterminated group nameR�smissing group namesnegative group numbersbad character in group namesunknown group name: {0!r}Rjii�i����s
bad escape %sRqi(RXRRttypetchrtunichrRRaRRuR�Rot
groupindextKeyErrorR�R\tMARKR[RvRwRmRnRrRxRyRzR{R~RR:(R�R#RtsgetR�R4R�tseptmakecharRbR^RR]R<R�tisoctalR{RRtgroupsappendtliterals((s!/usr/lib64/python2.7/sre_parse.pytparse_template�s�		
		
	


$

' 


	
c	Cs�|j}|jd }|\}}|}yGx@|D]8\}}||�||<}|dkr3td�q3q3WWntk
r�td�nX|j|�S(Nisunmatched groupsinvalid group reference(R�RYRRR\tjoin(	ttemplateRaR�R�RR�R<R�R((s!/usr/lib64/python2.7/sre_parse.pytexpand_templateRs	


(9t__doc__Rxt
sre_constantsR�R�R�RwRvRtRzR�RER�RrR�tAT_BEGINNING_STRINGtAT_BOUNDARYtAT_NON_BOUNDARYR*RGtCATEGORY_DIGITtCATEGORY_NOT_DIGITtCATEGORY_SPACEtCATEGORY_NOT_SPACEt
CATEGORY_WORDtCATEGORY_NOT_WORDt
AT_END_STRINGRstSRE_FLAG_IGNORECASER�tSRE_FLAG_MULTILINEtSRE_FLAG_DOTALLR�tSRE_FLAG_TEMPLATER�R�RR"RXRiRlRoR�R�R�R�R�R�R�RHRIR�R�RR�R�R�(((s!/usr/lib64/python2.7/sre_parse.pyt<module>sp




b!					)	:	;		�8"	[

?>