Yf-@sdZddlTdZdZedZedZedZedZed Z ee e hZ ee eeeeehZd eed fd eed fdeedfdeedfdeedfdeedfdeedfdeedfiZdeefd eefdeefdeeefgfdeeefgfdeeefgfdeeefgfd eeefgfd!eeefgfd"ee fi Z!d#e"d$e#d%e$d&e%d'e&d(e'd)e(d*e)iZ*Gd+d,d,Z+Gd-d.d.Z,Gd/d0d0Z-d1d2Z.d3d4Z/d5d6Z0d7d8Z1d9d:Z2d;d<Z3d=d>Z4d?d@Z5dAdBZ6ddCdDdEZ7dFdGZ8dHdIZ9dCS)JzInternal support module for sre)*z .\[{()*+?^$|z*+?{ 0123456789Z01234567Z0123456789abcdefABCDEFZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz z\az\bz\f z\n z\r z\t z\v z\\\z\Az\Bz\dz\Dz\sz\Sz\wz\Wz\ZiLmsxatuc@saeZdZddZeddZdddZdd Zd d Zd d Z dS)PatterncCs+d|_i|_dg|_d|_dS)Nr)flags groupdict groupwidthslookbehindgroups)selfr./opt/alt/python35/lib64/python3.5/sre_parse.py__init__Fs   zPattern.__init__cCs t|jS)N)lenr)rrrrgroupsKszPattern.groupsNcCs|j}|jjd|jtkr4td|dk r|jj|d}|dk rztd|||f||j|<|S)Nztoo many groupsz7redefinition of group name %r as group %d; was group %d)rrappend MAXGROUPSerrorrget)rnamegidogidrrr opengroupNs     zPattern.opengroupcCs|j|j|istextstringdecoded_stringrPnext_Tokenizer__next)rrirrrrs     zTokenizer.__init__cCs|j}y|j|}Wntk r;d|_dSYnX|dkr|d7}y||j|7}Wn7tk rtd|jt|jddYnX|d|_||_dS)Nr r7zbad escape (end of pattern))rPrj IndexErrorrkr!rir)rrPcharrrr__nexts       $ zTokenizer.__nextcCs!||jkr|jdSdS)NTF)rkrl)rrnrrrmatchs zTokenizer.matchcCs|j}|j|S)N)rkrl)rthisrrrr"s  z Tokenizer.getcCsKd}x>t|D]0}|j}||kr/P||7}|jqW|S)Nr6)rangerkrl)rncharsetresult_crrrgetwhiles   zTokenizer.getwhilecCsd}x|j}|j|dkrY|s=|jd|jd|t|||kr~|s}|jddP||7}q W|S)Nr6zmissing group namezmissing %s, unterminated namer7)rkrlr!r)r terminatorrurwrrrgetuntils     zTokenizer.getuntilcCs|jt|jpdS)Nr6)rPrrk)rrrrtellszTokenizer.tellcCs||_|jdS)N)rPrl)rrPrrrseeks zTokenizer.seekrcCst||j|j|S)N)r!rir{)rmsgoffsetrrrr!szTokenizer.errorN) r-r.r/rrlrpr"rxrzr{r|r!rrrrrfs       rfcCsdddl}|jdtddd|ko9dknpcd|koUdknpc|d kS) Nrz*sre_parse.isident() will be removed in 3.5 stacklevelrWrzAZrv)warningswarnDeprecationWarning)rnrrrrisident s   rcCs:ddl}|jdtddd|ko7dkSS)Nrz*sre_parse.isdigit() will be removed in 3.5rrW09)rrr)rnrrrrisdigit&s   rcCssddl}|jdtddt|ds6dSx6|ddD]$}t| rGt| rGdSqGWdS)Nrz)sre_parse.isname() will be removed in 3.5rrWFr7T)rrrrr)r#rrnrrrisname,s   rc Cstj|}|r|Stj|}|rB|dtkrB|SyX|dd}|dkr||jdt7}t|dkr|jd|t|tt |dddfS|dkr8|j r8||jdt7}t|d kr|jd|t|tt |dddfS|d kr|j r||jd t7}t|d kr|jd|t|t |ddd}t |t|fS|t kr+||jdt 7}t |ddd }|d kr!|jd|t|t|fS|t kr=tt|dkr|tkrddl}|jd|td|d tt|dfSWntk rYnX|jd|t|dS)Nrr7rWrzincomplete escape %srU z.octal escape value %s outside of range 0-0o377z bad escape %sr)ESCAPESr" CATEGORIESr?rx HEXDIGITSrr!LITERALintrhchr OCTDIGITSDIGITS ValueError ASCIILETTERSrrrord)r+escapenestedrTrwrrrr _class_escape8sV            rc Cstj|}|r|Stj|}|r2|SyK|dd}|dkr||jdt7}t|dkr|jd|t|tt|dddfS|dkr(|j r(||jdt7}t|dkr |jd|t|tt|dddfS|d kr|j r||jd t7}t|d kr|jd|t|t|ddd}t |t|fS|d kr||jdt 7}tt|ddd fS|t kr |j t kr||j7}|dt kr|dt kr|j t kr||j7}t|ddd }|d kr|jd|t|t|fSt|dd}||jkr|j|s|jdt||j||t|fS|jdt|t|dkr||tkrhddl}|jd|td|dtt|dfSWntk rYnX|jd|t|dS)Nr7rWrrzincomplete escape %srrrrrrrrz.octal escape value %s outside of range 0-0o377zcannot refer to an open groupzinvalid group referencerz bad escape %sr)rr"rrxrrr!rrrhrrrrkrr*r,r_rrrrrr)r+rstaterrTrwgrouprrrr_escapejsr               rc Cslg}|j}|j}|j}x+|t|||d|ds'Pq'Wt|dkrl|dSt|}|j}xrd} xd|D]7} | sP| dkr| d} q| d| krPqWx|D] } | d=qW|| qPqWxV|D]-} t| dks)| ddtk rPqW|tdd|Df|S|jtd|ff|S)Nr7|rcSsg|]}|dqS)rr).0itemrrr s z_parse_sub..) rrpr{_parserr1rr?r@) r+rritems itemsappend sourcematchstart subpatternsubpatternappendprefixrrrr _parse_subsB             &rcCst|||d}|jdr\t|||d}|jdkrb|jdnd}t|}|jt|||ff|S)Nr7rz/conditional backref with more than two branches)rrprkr!r1rrC)r+rrJrrKrLrrrr_parse_sub_conds rc#Cs t|}|j}|j}|j}t}t}|jt@} x |j} | dkrYP| dkrfP|| r| t krqC| dkrx&|} | dks| dkrPqWqC| ddkrt || ||d} || qC| t kr|t || fqC| dkrJ|j d} g} | j}|dr\|tdf| dd}x<|} | dkr|jd |j | | d kr| |krPn;| ddkrt|| |d}nt || f}|d r|}|dkr4|jd |j | |d kr|dtkr^|dd}|||t |d fP|ddkrt|||d}nt ||f}|dt ks|dt krd | |f}|j|t| dt||d}|d}||krfd | |f}|j|t| dt||t||ffqo|dtkr|dd}||qoW|| dkr| ddt kr|| dq || d kr7| ddtkr7| ddt kr7|t| ddfq |t| fqC| tkr|j } | dkr}d4\}}n| dkrdt}}n| dkrdt}}nj| dkr |jdkr|t || fqCdt}}d}}x |jtkr"||7}qW|drUx)|jtkrQ||7}q2Wn|}|ds|t || f|j| qC|rt|}|tkrtd|rt|}|tkrtd||kr|jd|j | ntd|f|r8|d5d}nd}| sk||dkr|ddtkr|jd|j | t| |ddtkr|jd|j | t| |drt|||ff|d6zbad character in group name %r=)zunknown group name %rzcannot refer to an open groupzunknown extension ?P:zmissing ), unterminated commentz=!SRE_FLAG_LOCALErrrSRE_FLAG_ASCIISRE_FLAG_UNICODEr)srcrrrrr fix_flagss             rNcCst|}|dkr!t}||_||_t||d}t||jj|j_|jdk r|jdkst|j d|t @ r|jjt @rt ||jjS|t @r|j |S)Nrrzunbalanced parenthesis)rfrrr>rrr2rkrr!rparseSRE_FLAG_DEBUGrB)r>rr2r+r(rrrr3s       rc st|}|j}gggj}fdd}|j}x|}|dkrjP|ddkrN|d}|dkrd} |jds|jd |jd } | jry|| } Wqtk rt d | YqXny"t | } | dkr&t Wn5t k r^|jd | t | ddYnX| t kr|jd t | d|| qX|dkr|jtkr||7}|jtkr||7}|tt |dddd@qX|tkrd} |jtkr||7}|tkr|dtkr|jtkr||7}d} t |ddd}|dkr|jd|t ||t|| sK|t |ddqXytt|d}WnDtk r@|tkr<ddl} | jd|tddYnX||qT||qTWrxjdjt|tsddDfS)NcsSr)jdjdd=jt|fjddS)Nr6)rjoinr)rP)rliteralliteralsrraddgroupWs  z parse_template..addgrouprr r7gr6rz missing .)rfr"r groupindexrpr!rzrKeyErrorrmrrrr rkrrrrrrrrrrDr>) r+r2rsgetlappendrrrqrwr#rPisoctalrr)rrrrparse_templateNs                     *          rc Cs|j}|jdd}|\}}|dd}y1x*|D]"\}}||p]||| sh          #qH   2 C 2 3  U