+
    BiL                       ^ RI HtHtHtHtHtHtHtHtH	t	H
t
Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt  ^ RIt^ RIt ! R R]4      t ! R R]4      t ! R	 R
]P8                  4      tR t] ! R R]P8                  4      4       t ! R R]P8                  4      t  ! R R]P8                  4      t! ! R R]P8                  4      t"]#R8X  d   ]PH                  ! 4        R# R#   ] d    Rt Li ; i)    )
gc_collect
bigmemtest_2Gcpython_onlycaptured_stdoutcheck_disallow_instantiationlinked_to_muslwarnings_helperSHORT_TIMEOUT	Stopwatchrequires_resourceN)Scanner)proxyc                   2   a a ] tR t^t oV 3R ltRtVtV ;t# )Sc                4   < \        \        SV `	  V4      4      # N)r   super__getitem__selfindex	__class__s   &&#/usr/lib/python3.14/test/test_re.pyr   S.__getitem__       $U+,,     __name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r   r           - -r   r   c                   2   a a ] tR t^ t oV 3R ltRtVtV ;t# )Bc                4   < \        \        SV `	  V4      4      # r   )r+   r   r   r   s   &&r   r   B.__getitem__!   r   r   r   r   r'   s   @@r   r+   r+       r)   r   r+   c                   n  a  ] tR t^$t o RR ltRR ltRR ltR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7R6 t8R7 t9R8 t:R9 t;RR]<Pz                  3R: lt>]?P                  ]?P                  ,           R;,           tBR< tCR= tDR> tER? tFR@ tGRA tHRB tIRC tJRD tKRE tLRF tMRG tNRH tORI tPRJ tQRK tRRL tSRM tTRN tURO tVRP tWRQ tXRR tYRS tZRT t[RU t\RV t]RW t^RX t_RY t`RZ taR[ tb]cP                  ! ]eR\7      R] 4       tfR^ tgR_ thR` tiRa tjRb tkRc tlRd tmRe tnRf toRg tpRh tq]r! ]s^Ri7      Rj 4       tt]r! ]s^Ri7      Rk 4       tuRl tvRm twRn txRo tyRp tzRq t{Rr t|Rs t}Rt t~Ru tRv t]EP                  ! ]! 4       Rw4      Rx 4       tRy tRz t]EP                  ! ]! 4       Rw4      R{ 4       tR| tR} tR~ tR tR tR tR tR tR tR tR tR tR t]! R4      R 4       tR tR tR tR tR tR tR tR tR t]EP                  ! ]RJ R4      R 4       tR tR tR tR t]EPL                  ! ]! ]<EPP                  R4      R4      R 4       tRtV tR# )ReTestsNc                P   a aa S P                  WS4       VVV 3R  loS! W4       R# )c                    < \        V\        \        34      '       d   \        W4       F  w  r#S! W#4       K  	  R # SP	                  \        V 4      \        V4      S4       R # r   )
isinstancetuplelistzipassertIstype)actualexpectxymsgrecurser   s   &&  r   r=   )ReTests.assertTypedEqual.<locals>.recurse(   sF    &5$-00/DAAM 0 d6lDL#>r   N)assertEqual)r   r8   r9   r<   r=   s   f&&f@r   assertTypedEqualReTests.assertTypedEqual&   s"    -	? 	r   c                   V P                  \        P                  4      ;_uu_ 4       p\        P                  ! V4       R R R 4       V P	                  VR7      ;_uu_ 4        XP
                  pV P                  VP                  V4       Ve   V P                  VP                  V4       R R R 4       R #   + '       g   i     L}; i  + '       g   i     R # ; i)Npattern)	assertRaisesrePatternErrorcompilesubTest	exceptionr?   r<   pos)r   rD   errmsgrK   cmerrs   &&&&  r   checkPatternErrorReTests.checkPatternError0   s    r//2JJw 0\\'\**,,CSWWf-  #.	 +* 0/***s   B4!A	C4C	C	c                   V P                  \        P                  4      ;_uu_ 4       p\        P                  ! WV4       R R R 4       V P	                  WR7      ;_uu_ 4        XP
                  pV P                  VP                  V4       Ve   V P                  VP                  V4       R R R 4       R #   + '       g   i     L}; i  + '       g   i     R # ; i)N)rD   repl)	rE   rF   rG   subrI   rJ   r?   r<   rK   )r   rD   rR   stringrL   rK   rM   rN   s   &&&&&&  r   checkTemplateErrorReTests.checkTemplateError9   s    r//2FF7&) 0\\'\55,,CSWWf-  #.	 65 0/555s   B5"A	C5C	C	c                N    \         P                  \         P                  J g   Q hR # r   )rF   errorrG   r   s   &r    test_error_is_PatternError_alias(ReTests.test_error_is_PatternError_aliasB   s    xx2??***r   c                ,   \        R 4      p\        P                  ! RV4      pV P                  \        4      ;_uu_ 4        VP                  R4       RRR4       \        V4       ?\        4        VP                  R4       R#   + '       g   i     L9; i)   x   aNs  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)	bytearrayrF   finditerrE   BufferErrorextendr4   r   )r   bits   &  r   test_keep_bufferReTests.test_keep_bufferE   sa    dO[[q!{++HHX ,R	 ,+s    BB	c                    R p\         P                  ! R4      p\        V4      pV P                  VP	                  R 4      VP	                  R 4      4       R# )QabbbcRzab+cN)rF   rH   r   r?   findall)r   sr:   r;   s   &   r   test_weakrefReTests.test_weakrefP   s@    JJv!H9-qyy/CDr   c                   V P                  \        P                  ! R R4      P                  ^ 4      R
4       V P                  \        P                  ! R R4      P                  4       R
4       V P                  \        P                  ! RR4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  4       R4       V P	                  \        P                  ! RR4      4       V P                  \        P
                  ! RR4      P                  ^ 4      R
4       V P                  \        P
                  ! RR4      P                  4       R
4       V P                  \        P
                  ! R R4      P                  ^ 4      R4       V P                  \        P
                  ! R R4      P                  4       R4       V P	                  \        P
                  ! RR4      4       R	# )x*axxzx+r:   aaaza*xxxxxxaa+Nr   r         r   rw   )r?   rF   searchspanassertIsNonematchrY   s   &r   test_search_star_plusReTests.test_search_star_plusV   s\   4/44Q7@4/446?4/44Q7@4/446?"))C/0$.33A6?$.335v>$/44Q7@$/446?"((4/0r   c                   V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R
4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       R# )z<Test Branching
Test expressions using the OR ('|') operator.z(ab|ba)abbaz(abc|bac|ca|cb)abcbaccacbz((a)|(b)|(c))arc   cNr      rx   r   rv   r?   rF   r|   rz   rY   s   &r   test_branchingReTests.test_branchingb   sX    	)T27796B)T27796B"3U;@@B	!"3U;@@B	!"3T:??A	!"3T:??A	!/37<<>G/37<<>G/37<<>Gr   c                Z    \        VP                  ^ 4      4      p\        V^,           4      # r   )intgroupstr)r   matchobj	int_values   && r   bump_numReTests.bump_nums   s$    q)*	9q=!!r   c                  a V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R \        R4      \        R4      4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R\	        R4      \	        R4      4      R4       V P                  \        P                  ! R\        R4      \        R4      4      R4       V P                  \        P                  ! R\        R4      \        R4      4      R4       R- F2  pV P                  \        P                  ! VRRV,          4      R4       K4  	  V P                  \        P                  ! R	R
R4      R4       V P                  \        P                  ! RV P                  R4      R4       V P                  \        4      ;_uu_ 4       pV P                  \        P                  ! RV P                  R^4      R4       RRR4       V P                  XP                  \        4       V P                  \        P                  ! RV P                  R^R7      R4       V P                  \        P                  ! RR R
4      R4       V P                  \        P                  ! RRR
4      R4       RoV P                  \        P                  ! RSR
4      R4       V P                  \        P                  ! RSP                  RR4      R
4      S4       V P                  \        P                  ! RV3R lR
4      S4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RR R4      R4       V P                  \        P                  ! R!R"R4      R4       V P                  \        P                  ! R!R#R4      R4       V P                  \        P                  ! R$R%R4      R4       V P                  \        P                  ! RR&R4      R'4       V P                  \        P                  ! RR'R4      R'4       V P                  \        P                  ! RR'R4      \        ^	4      \        ^
4      ,           \        ^4      ,           \        ^4      ,           \        ^4      ,           \        ^4      ,           \        ^4      ,           4       R( F  pV P                  V4      ;_uu_ 4        V P!                  \        P"                  4      ;_uu_ 4        V P                  \        P                  ! RRV,           R4      RV,           4       RRR4       RRR4       K  	  V P                  \        P                  ! R)R*R+4      R,4       R#   + '       g   i     EL; i  + '       g   i     LZ; i  + '       g   i     K  ; i).r;   r   xyzxaz   yr^      xyzs   xazzx%sz(?i)b+r:   	bbbb BBBBx x\d+z08.2 -2 23x99yz9.3 -3 24x100yz9.3 -3 23x99yNcount.c                     R # )\nr   ms   &r   <lambda>+ReTests.test_basic_re_sub.<locals>.<lambda>   s    ur   r   
z\1\1z(.)xx\\\c                    < S# r   r   )r   rj   s   &r   r   r      s    r   (?P<a>x)z
\g<a>\g<a>xxxxz
\g<a>\g<1>
(?P<unk>x)z\g<unk>\g<unk>z
\g<1>\g<1>z()xz
\g<0>\g<0>z\t\n\v\r\f\a\bz	
,cdehijklmopqsuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz^\s*XtestXtest   àu   аu   𝒜)r@   rF   rS   r   r+   r_   
memoryviewr?   r   assertWarnsDeprecationWarningfilename__file__replacechrrI   rE   rG   )r   r;   wr   rj   s   &   @r   test_basic_re_subReTests.test_basic_re_subw   s,   bffS#u5u=bffS!C&!E(;UCbffT48&AbffT1T7AfI>GbffT9T?If<MNPVWbffT:d+;Z=OPRXY1ARVVAsFQJ7? 2 	#{;UC7GH)	+011QRVVFDMM;KQO,. 2 	X.7GqQ(	* 	_c:EBUC0$7q#.5qyyu'=sCQG{C8!<
M4@&I
M4@&I.?FOmTBFK}d;VD%6<>NO%5s;=MN%5s;a&R.R0R8R@QGAN	Q?Aa&&r77$$RVVC3%?J 8 ! @
 	f5w?= 2116 87 !s0   )4V<(W#7W>W#<W	W W##W4c                V    V P                  \        P                  ! R RR4      R4       R# )r   z\g<1>\g<1>\br   zxxxxNr?   rF   rS   rY   s   &r   test_bug_449964ReTests.test_bug_449964   s"    E#	%r   c                F   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       R# )z\r\nr   z
abc
def
zabc
def
z
r   Nr   rY   s   &r   test_bug_449000ReTests.test_bug_449000   s    0@A%	'/?@%	'/?@%	'.>?%	'r   c                   \         P                  ! R 4      pV P                  \        \         P                  VR\         P
                  4       V P                  \        \         P                  VR\         P
                  4       V P                  \        \         P                  VR\         P
                  4       V P                  \        \         P                  V\         P
                  4       R# )r   AN)rF   rH   rE   
ValueErrorr|   Iry   ri   r   rD   s   & r   test_bug_1661ReTests.test_bug_1661   s    **S/*bhhbddC*bii#rttD*bjj'3E*bjj'244@r   c                2    \         P                  ! R 4       R# )z(?P<quote>)(?(quote))N)rF   rH   rY   s   &r   test_bug_3629ReTests.test_bug_3629   s    


*+r   c                   V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R54       V P                  \        P                  ! R RR 4      R64       V P                  \        P                  ! R RR 4      R	4       V P                  \        P                  ! R R
R 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R54       V P                  \        P                  ! R RR 4      R64       V P                  \        P                  ! R RR 4      R74       V P                  R RR R^ 4       V P                  R RR R^ 4       V P                  R RR R^4       V P                  R RR R^4       V P                  R RR R^4       V P                  R R R R!^4       V P                  R R"R R#^4       V P                  R R$R R^4       V P                  R R%R R&^4       V P                  R R'R R(^4       V P                  R R)R R!^4       V P                  R R*R R!^4       V P                  R R+R R#^4       V P                  R R,R R-^4       V P                  R RR.R^4       V P                  \        P                  ! R/R R 4      R 4       V P                  \        P                  ! R0R)R14      R24       V P                  \        P                  ! R0R*R14      R34       R4# )8r:   \0 z\000z\001z\008z\009z\111r   z\117Oz\377   ÿz\1111I1z\00z\07\08z\09z\0az\400z0octal escape value \400 outside of range 0-0o377z\777z0octal escape value \777 outside of range 0-0o377z\1zinvalid group reference 1z\8zinvalid group reference 8z\9zinvalid group reference 9z\11zinvalid group reference 11z\18zinvalid group reference 18z\1az\90zinvalid group reference 90z\99zinvalid group reference 99z\118z\11az\181z\800zinvalid group reference 80 z(((((((((((x)))))))))))z((((((((((y))))))))))(.)r   xz8xzaN 8z 9z a)r?   rF   rS   rU   rY   s   &r    test_sub_template_numeric_escape(ReTests.test_sub_template_numeric_escape   s   UC0$7Wc2F;Wc2F;Wc2J?Wc2J?Wc2F;Wc2F;Wc2F;Xs3W=Xs3\BVS16:VS16:VS1:>VS1:>VS1:>Wc!123	5 	Wc!123	5 	UC1LaPUC1LaPUC1LaPVS2NPQRVS2NPQRVS2MqQVS2NPQRVS2NPQRWc3OQRSWc3OQRSWc3OQRSWc3OQRSUB0KQO 	 963GM :GUK	  :GUK	 r   c                   V P                  \        P                  ! R RR4      R4       V P                  \        4      ;_uu_ 4       pV P                  \        P                  ! R RR^4      R4       RRR4       V P                  XP
                  \        4       V P                  \        P                  ! R RR^R7      R4       V P                  \        R4      ;_uu_ 4        \        P                  ! R RR^^R7       RRR4       V P                  \        R4      ;_uu_ 4        \        P                  ! R RR^^ ^ R	7       RRR4       V P                  \        R
4      ;_uu_ 4        \        P                  ! R RR^^ ^ 4       RRR4       R#   + '       g   i     EL$; i  + '       g   i     L; i  + '       g   i     L{; i  + '       g   i     R# ; i)r   rc   aaaaabbbbbbaaaaNr   z0sub\(\) got multiple values for argument 'count'z0sub\(\) got multiple values for argument 'flags'flagsz?sub\(\) takes from 3 to 5 positional arguments but 6 were given)	r?   rF   rS   r   r   r   r   assertRaisesRegex	TypeErrorr   r   s   & r   test_qualified_re_subReTests.test_qualified_re_sub   sj   S'2G<011QRVVCgq97C 2X.S';WE##ICE EFF3Waq1E ##ICE EFF3Wa!4E ##I  FF3WaA.  211
E EE E  s0   *F F"F2%GF	F/	2G	G	c                j   V P                  \        4      ;_uu_ 4       p\        P                  ! R RR\        P                  4      pRRR4       V P                  X\        P                  ! R RR\        \        P                  4      R7      4       V P                  \        XP                  4      R4       V P                  VP                  \        4       V P                  \        4      ;_uu_ 4       p\        P                  ! RRR\        P                  4      pRRR4       V P                  V\        P                  ! RRR\        \        P                  4      R7      4       V P                  \        VP                  4      R4       V P                  VP                  \        4       V P                  \        4      ;_uu_ 4       p\        P                  ! R	R
\        P                  4      pRRR4       V P                  V\        P                  ! R	R
\        \        P                  4      R7      4       V P                  \        VP                  4      R4       V P                  VP                  \        4       R#   + '       g   i     EL=; i  + '       g   i     EL~; i  + '       g   i     L; i)r   rc   r   Nr   z('count' is passed as positional argumentb*r:   r   ::a:b::cmaxsplitz+'maxsplit' is passed as positional argument)r   r   rF   rS   r   r?   r   r   warningr   r   subnsplit)r   r   results   &  r   test_misuse_flagsReTests.test_misuse_flags  s   011QVVCgrtt4F 2S'RTT!KLQYYC	EX.011QWWT3rtt4F 2sERTT!KLQYYC	EX.011QXXc9bdd3F 2#y3rtt9!MNQYYF	HX.# 211 211 21s#   (I:1(J'J":J	J	"J2	c                V    V P                  \        P                  ! R RR4      R4       R# )z(\S)\s+(\S)z\1 \2zhello  therezhello thereNr   rY   s   &r   test_bug_114660ReTests.test_bug_114660  s"    .I&	(r   c                   \         P                  ! R 4       \         P                  ! R4       \         P                  ! R4       \         P                  ! R4       \         P                  ! R4       \         P                  ! R4       RP                  R \        ^^4       4       4      pRV,          pV P	                  \         P
                  ! VR	4      P                  4       R4       R
# )z(?P<a>x)(?P=a)(?(a)y)z(?P<a1>x)(?P=a1)(?(a1)y)z(?P<a1>x)\1(?(1)y)s   (?P<a1>x)(?P=a1)(?(a1)y)u   (?P<µ>x)(?P=µ)(?(µ)y)uf   (?P<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>x)(?P=𝔘𝔫𝔦𝔠𝔬𝔡𝔢)(?(𝔘𝔫𝔦𝔠𝔬𝔡𝔢)y)|c              3   6   "   T F  pR W3,          x  K  	  R# 5izx(?P<a%d>%x)yNr   .0is   & r   	<genexpr>/ReTests.test_symbolic_groups.<locals>.<genexpr>#       K9JA!//9J   z(?:%s)(?(200)z|t)xc8yzNr      )rF   rH   joinranger?   r|   rz   r   pats   & r   test_symbolic_groupsReTests.test_symbolic_groups  s    


+,


./


()


./


-.


{|hhKq'9JKK!C'#w/446?r   c                &   V P                  R R4       V P                  RR^
4       V P                  RR4       V P                  RR^4       V P                  RR	^4       V P                  R
R	^4       V P                  RR^4       V P                  RR4       V P                  RR4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR	^4       V P                  RR	^4       V P                  RR^4       V P                  RR^4       V P                  RR	^4       V P                  RR	^4       V P                  RR^4       V P                  RR^4       V P                  RR ^4       V P                  R!R^4       V P                  R"R#^4       V P                  R$R#^4       V P                  R%R#^4       V P                  R&R'^4       V P                  R(R'^4       V P                  R)R'^4       R*# )+z(?P<a>)(?P<a>)z6redefinition of group name 'a' as group 2; was group 1z(?P<a>(?P=a))cannot refer to an open groupz(?Pxy)zunknown extension ?Pxz(?P<a>)(?P=amissing ), unterminated namez(?P=missing group namez(?P=)z(?P=1)zbad character in group name '1'z(?P=a)zunknown group name 'a'z(?P=a1)zunknown group name 'a1'z(?P=a.)z bad character in group name 'a.'z(?P<)missing >, unterminated namez(?P<az(?P<z(?P<>)z(?P<1>)z(?P<a.>)z(?(z(?())z(?(a))z(?(-1)) bad character in group name '-1'z(?(1a))z bad character in group name '1a'z(?(a.))u	   (?P<©>x)    bad character in group name '©'u   (?P=©)u   (?(©)y)s	   (?P<µ>x)&bad character in group name '\xc2\xb5's   (?P=µ)s   (?(µ)y)NrO   rY   s   &r   test_symbolic_groups_errors#ReTests.test_symbolic_groups_errors'  s(   0 -	. 	/>	Dy*AB0NPRSw(<a@x)=qAy*KQOy*BCz+DEz+MqQx)GKx)GKw(<a@y*>Bz+LaP{,NPQRv';Q?x)=qAy*BAFz+MqQz+MqQz+MqQ{,NPQRy*LaPz+MqQ1H!	M/H!	M0H!	Mr   c                *   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RR	R4      R4       V P                  \        P                  ! R
RR4      R4       RP                  R \	        ^^4       4       4      pV P                  \        P                  ! VRR4      R4       R# )z(?P<a>x)|(?P<b>y)z\g<b>r   r   \2s	   (?P<a1>x)s   \g<a1>   xxu	   (?P<µ>x)u   \g<µ>u#   (?P<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>x)u    \g<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>r   c              3   6   "   T F  pR W3,          x  K  	  R# 5ir   r   r   s   & r   r  -ReTests.test_symbolic_refs.<locals>.<genexpr>S  r  r  z\g<200>	xc8yzxc8yc8zc8N)r?   rF   rS   r	  r
  r  s   & r   test_symbolic_refsReTests.test_symbolic_refsK  s     3XtDbI 3UDA2Fj%@%HY=tD EGjlpqswxhhKq'9JKKZ=wGr   c                t   V P                  R RRR^4       V P                  R RRR^4       V P                  R RRR^4       V P                  R RRR	^4       V P                  R R
RR^4       V P                  R RRR^4       V P                  R RRR^4       V P                  R RRR^4       V P                  \        R4      ;_uu_ 4        \        P                  ! R RR4       RRR4       V P                  R RRR^4       V P                  R RRR^4       V P                  R'RRR^4       V P                  R RRR^4       V P                  R RRR^4       V P                  RRRR ^4       V P                  R R!RR"^4       V P                  R R#RR$^4       V P                  R R%RR&^4       R#   + '       g   i     L; i)(r   z\g<ar   r  z\g<r  z\gz	missing <z\g<a a>z!bad character in group name 'a a'z\g<>z\g<1a1>z!bad character in group name '1a1'z\g<2>invalid group reference 2r  zunknown group name 'ab'z\g<ab>Nz\g<-1>r  z\g<+1> bad character in group name '+1'z\g<1_0>!bad character in group name '1_0'z\g< 1 >!bad character in group name ' 1 'u   \g<©>r  s   (?P<a>x)s   \g<µ>r  r  u   \g<㊀>!   bad character in group name '㊀'u   \g<¹>    bad character in group name '¹'u   \g<१>!   bad character in group name '१'z()()()()()()()()()())rU   r   
IndexErrorrF   rS   rY   s   &r   test_symbolic_refs_errors!ReTests.test_symbolic_refs_errorsV  s   
GT >	C
FD 4a	9
E4aH
J CQ	H
GT 4a	9
J CQ	H
Hd ;Q	@
E4 ;Q	@##J0IJJFF:y$/ K
It BA	G
It BA	GT CQ	H
J CQ	H
It BA	G-=u I1	N
J CQ	H
It BA	G
J CQ	H% KJs   F''F7	c                   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        4      ;_uu_ 4       pV P                  \        P                  ! RRR^4      R4       RRR4       V P                  XP
                  \        4       V P                  \        P                  ! RRR^R7      R4       V P                  \        R4      ;_uu_ 4        \        P                  ! R	R
R^^R7       RRR4       V P                  \        R4      ;_uu_ 4        \        P                  ! R	R
R^^ ^ R7       RRR4       V P                  \        R4      ;_uu_ 4        \        P                  ! R	R
R^^ ^ 4       RRR4       R#   + '       g   i     EL$; i  + '       g   i     L; i  + '       g   i     L{; i  + '       g   i     R# ; i)r   r:   r   zb+r   r   Nr   z1subn\(\) got multiple values for argument 'count'r   rc   r   z1subn\(\) got multiple values for argument 'flags'r   z@subn\(\) takes from 3 to 5 positional arguments but 6 were given)r   r   )zx BBBBrv   )r   r   )xxxyxzx   )xxxyzr   )	r?   rF   r   r   r   r   r   r   r   r   s   & r   test_re_subnReTests.test_re_subn{  s   3<jIsK8-HsE2J?sE2NC011QRWWT3q9<H 2X.sE;\J##IDF FGGCgq2F ##IDF FGGCgq!15F ##I  GGCgq!Q/  211
F FF F  s0   >*HHH*H=H	H'	*H:	=I	c                2   R \        R 4      3 F~  pV P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! RV4      . RO4       K  	  R\	        R4      \        R4      \        R4      3 F~  pV P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! R	V4      . RO4       K  	  R F  w  r#pRV: RV: RV: 2pV P                  \        P                  ! RV4      RW#RV.4       V P                  \        P                  ! RV4      RW#V.4       V P                  \        P                  ! RV4      RRVRVRV.4       K  	  V P                  \        P                  ! R
R 4      . RO4       V P                  \        P                  ! RR 4      . RO4       V P                  \        P                  ! RR 4      . R O4       V P                  \        P                  ! RR 4      . R!O4       V P                  \        P                  ! RR 4      . R"O4       R. R#O3R. R#O3R. R$O3R. R%O33 FO  w  rVV P                  VR7      ;_uu_ 4        V P                  \        P                  ! VR 4      V4       RRR4       KQ  	  R. R&O3R. R'O3R. R(O3R. R)O33 FO  w  rVV P                  VR7      ;_uu_ 4        V P                  \        P                  ! VR 4      V4       RRR4       KQ  	  R#   + '       g   i     K  ; i  + '       g   i     Kz  ; i)*r   r   r   :+(:+)::s   :a:b::c   :   :+   (:+)z(?::+)z(:)+z([b:]+)z(b)|(:+)Nz(?:b)|(?::+)z:*z(?::*)(:*)z(:)*)sep\bz(?=:)z(?<=:))r   r   rc   r   r   )r   r   rc   r   )r   r   r   r   rc   r7  r   )r   r^      br      c)r   r^   r>  r?  )r   r8  r^   r8  r>     ::r?  )u   àßçu   абвu   𝒜𝒞𝒵)r   r   r   r   rc   r   r   )r   r   r   z:b::r   )r   Nr   r   Nr   r   rc   Nr   Nr7  r   )r   r   r   r   r   )r   r   r   r   rc   r   r   r   )r   r   r   r   r   r   r   r   rc   r7  r   r   r   r   r   )r   r   r   Nr   r   r   Nrc   r   r   Nr   Nr   )	r   r   r   r   rc   r   r   r   r   )r   r   r   rc   r7  r   r   )r   z:az:br   z:c)r   a:zb:r   r   )	r   r@   rF   r   r+   r_   r   r?   rI   )r   rT   r   rc   r   r<  expecteds   &      r   test_re_splitReTests.test_re_split  s   9-F!!"((3"7"9;!!"((4"8"57!!"((66":"EG . "1Z=)J2G!*-/F!!"((4"8">@!!"((5&"9"9;!!"((7F";"LN/:GA!%&1-FRXXc62Rr14EFRXXdF3b!]CRXXff5 #q#q$:<: 	(I68KL&)4;	=)Y74	6*i8+	, 	.)</	1 67:;XY_`	
MC #&&%%bhhsI&>I '&
 <=782334	
MC #&&%%bhhsI&>I '&
 '&& '&&s   (M1;(N1NNc           
        V P                  \        4      ;_uu_ 4       pV P                  \        P                  ! R R^4      . RO4       RRR4       V P                  XP
                  \        4       V P                  \        P                  ! R R^R7      . RO4       V P                  \        P                  ! R R^R7      . RO4       V P                  \        P                  ! RR^R7      . RO4       V P                  \        P                  ! RR^R7      . RO4       V P                  \        P                  ! RR^R7      . RO4       V P                  \        R4      ;_uu_ 4        \        P                  ! R R^^R7       RRR4       V P                  \        R	4      ;_uu_ 4        \        P                  ! R R^^ ^ R
7       RRR4       V P                  \        R4      ;_uu_ 4        \        P                  ! R R^^ ^ 4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lz; i  + '       g   i     R# ; i)r   r   Nr   za:b:c:dz(:)r6  r;  z5split\(\) got multiple values for argument 'maxsplit'z2split\(\) got multiple values for argument 'flags'r   zAsplit\(\) takes from 2 to 4 positional arguments but 5 were given)r   r   b::c)r   rc   zc:d)r   r   r   r   rF  )r   r   r   r   za:b::c)	r   r   r?   rF   r   r   r   r   r   r   s   & r   test_qualified_re_splitReTests.test_qualified_re_split  s   011QRXXc9a8:KL 2X.#y1=?PQ#y1=?PQ%Q?4	6&)a@4	6&)a@4	6 ##IHJ JHHS)Q3J ##IEG GHHS)Q3G ##I  HHS)Q1- % 211J JG G  s/   +H&H"'H5)IH	"H2	5I	I	c           
     :   V P                  \        P                  ! R R4      . 4       R\        R4      3 F~  pV P	                  \        P                  ! R V4      . RO4       V P	                  \        P                  ! RV4      . RO4       V P	                  \        P                  ! RV4      . RO4       K  	  R\        R4      \        R4      \        R4      3 F~  pV P	                  \        P                  ! RV4      . RO4       V P	                  \        P                  ! RV4      . RO4       V P	                  \        P                  ! R	V4      . RO4       K  	  R F  pV^,          pV^,          pR
V: RV: RV: R2pV P                  \        P                  ! RV,          V4      W#V.4       V P                  \        P                  ! RV,          V4      W#V.4       V P                  \        P                  ! RV: RV: R2V4      VR3W"3W#3.4       K  	  R# )r5  r   
a:b::c:::dr6  z(:)(:*)r   s
   a:b::c:::dr9  r:  s   (:)(:*)r   rc   r   dz%s+z(%s+)(z)(z*)Nr   r7  z:::))r   r   )r   r   )r   r7  )r8  r@  s   :::))r8  r   )r8  r8  )r8  r@  r   )r?   rF   ri   r   r@   r+   r_   r   )r   rT   r:   r   rq   s   &    r   test_re_findallReTests.test_re_findall  s   D%0"5"AlO3F!!"**T6":"46!!"**VV"<"46!!"**Y"?"FH 4 %a&6	-8P!-02F!!"**UF";"79!!"**Wf"="79!!"**Z"@"LN2 2AQBa%C%&C0FRZZ	6:QCLIRZZ!V<qclKRZZq!(<fE "gvw79 2r   c                X    V P                  \        P                  ! R R4      . RO4       R# )z(a|(b))abaN)r   r   )rc   rc   rR  r?   rF   ri   rY   s   &r   test_bug_117612ReTests.test_bug_117612  s     J69	;r   c                
   R \        R 4      3 EF  pV P                  \        P                  ! R V4      P	                  4       R4       V P                  \        P                  ! RV4      P	                  4       R4       V P                  \        P                  ! RV4      P                  ^ 4      R 4       V P                  \        P                  ! RV4      P                  ^4      R 4       V P                  \        P                  ! RV4      P                  ^^4      R4       EK  	  R\        R4      \        R4      \        R4      3 EF  pV P                  \        P                  ! RV4      P	                  4       R4       V P                  \        P                  ! RV4      P	                  4       R4       V P                  \        P                  ! RV4      P                  ^ 4      R4       V P                  \        P                  ! RV4      P                  ^4      R4       V P                  \        P                  ! RV4      P                  ^^4      R4       EK  	  R EF.  pV P                  \        P                  ! W"4      P	                  4       R4       V P                  \        P                  ! RV,          V4      P	                  4       V34       V P                  \        P                  ! RV,          V4      P                  ^ 4      V4       V P                  \        P                  ! RV,          V4      P                  ^4      V4       V P                  \        P                  ! RV,          V4      P                  ^^4      W"34       EK1  	  \        P                  ! R4      pV P                  VP                  R 4      P	                  4       R4       V P                  VP                  R4      P	                  4       R4       V P                  VP                  R4      P	                  4       R4       V P                  VP                  R	4      P	                  4       R4       V P                  VP                  R	4      P	                  R
4      R4       \        P                  ! R4      pV P                  VP                  R 4      P                  ^^^4      R4       V P                  VP                  R4      P                  RRR4      R4       V P                  VP                  R4      P                  ^R^4      R4       R# )r   (a)r^   s   (a)z(%s)z((a)|(b))(c)?Nrc   acbcr   !(?:(?P<a1>a)|(?P<b2>b))(?P<c3>c)?a1b2c3r   r   r   r   )r^   )r^   r^   r   )r   r   NN)rc   Nrc   N)r   r   Nr   )rc   Nrc   r   )rc   r   rc   r   r   NN)Nrc   N)r   Nr   )
r   r?   rF   r|   groupsr   r+   r_   r   rH   )r   rT   r   r  s   &   r   test_re_matchReTests.test_re_match  s   1S6kFRXXc6299;R@RXXeV4;;=vFRXXeV4::1=sCRXXeV4::1=sCRXXeV4::1a@*M " AdGYt_j6FFFRXXdF3::<bARXXff5<<>HRXXff5;;A>ERXXff5;;A>ERXXff5;;AqA<P G 2ARXXa^224b9RXXfqj!4;;=tDRXXfqj!4::1=qARXXfqj!4::1=qARXXfqj!4::1a@1&I 2 jj)3..02HI3..02HI4//13HI4//13HI4//35HIjj<=3--aA68IJ3--dD$?*	,4..q$:<LMr   c                l    ! R  R4      p\         P                  ! RR4      pV P                  VP                  4       R4       V P                  VP                  ^ 4      R4       V P                  VP                  ^4      R4       V P                  VP                  V! ^4      4      R4       V P	                  \
        VP                  R4       V P	                  \
        VP                  ^4       V P	                  \
        VP                  ^R,          4       V P	                  \
        VP                  V! ^R,          4      4       V P	                  \
        VP                  R4       V P                  VP                  ^^4      R	4       V P                  VP                  V! ^4      V! ^4      4      R	4       R# )
c                   ,   a  ] tR tRt o R tR tRtV tR# )!ReTests.test_group.<locals>.Indexi  c                    Wn         R # r   value)r   ri  s   &&r   __init__*ReTests.test_group.<locals>.Index.__init__  s    "
r   c                    V P                   # r   rh  rY   s   &r   	__index__+ReTests.test_group.<locals>.Index.__index__   s    zz!r   rh  N)r    r!   r"   r#   rj  rm  r$   r%   r(   s   @r   Indexrf    s     #" "r   rp  z(a)(b)r   r     r:   Nrc   r   )rF   r|   r?   r   rE   r+  )r   rp  r   s   &  r   
test_groupReTests.test_group  s8   	" 	" HHXt$D)T*S)q*C0*aggr2*aggq1*aggq$w7*agguQW~>*aggs3A
3q584jAr   c                0   \         P                  ! R 4      pVP                  R4      pV P                  VR,          R4       V P                  VR,          R4       V P                  VR,          R4       V P                  RP	                  V4      R4       V P                  V^ ,          R4       V P                  V^,          R4       V P                  V^,          R4       V P                  V^,          R4       V P                  \        R4      ;_uu_ 4        VR	,           RRR4       V P                  \        R4      ;_uu_ 4        VR,           RRR4       V P                  \        R4      ;_uu_ 4        V^,           RRR4       V P                  \        R4      ;_uu_ 4        VR,           RRR4       V P                  \        R4      ;_uu_ 4        VR,           RRR4       V P                  \        R4      ;_uu_ 4        VR,           RRR4       V P                  \        R4      ;_uu_ 4        R
P	                  V4       RRR4       VP                  R4      pV P                  VR,          R4       V P                  VR,          R4       V P                  VR,          R4       V P                  RP	                  V4      R4       V P                  V^ ,          R4       V P                  V^,          R4       V P                  V^,          R4       V P                  V^,          R4       V P                  \        4      ;_uu_ 4        ^V^ &   RRR4       V P                  \        \        V4       R#   + '       g   i     ELb; i  + '       g   i     ELF; i  + '       g   i     EL*; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i)rZ  r   r[  r\  Nr]  za1={a1} b2={b2} c3={c3}za1=a b2=None c3=Nonezno such groupr   za1={a2}rX  r   za1=a b2=None c3=crr  r   r   )
rF   rH   r|   r?   
format_mapr   r+  rE   r   len)r   r  r   s   &  r   test_match_getitemReTests.test_match_getitem1  s   jj<=IIcN4#&4$'4$'2==a@BXY1s#1s#1t$1t$##J@@cF A##J@@bE A##J@@aD A##J@@dG A##J@@dG A##J@@fI A##J@@  # A IIdO4#&4$'4#&2==a@BUV1t$1s#1t$1s# y))AaD * 	)S!,= A@@@@@@@@@@@@@@@@@@@@ *)s`   
M9
N6
N!&
N5
O	
O6O1P9N
	N	!N2	5O		O	O.	1P	P	c                   V P                  \        P                  ! R R 4      P                  4       R4       R\	        R4      3 F8  pV P                  \        P                  ! RV4      P                  4       R4       K:  	  R\        R4      \        R4      \        R4      3 F8  pV P                  \        P                  ! RV4      P                  4       R4       K:  	  R FO  w  r#V: RW#,           : 2pV P                  \        P                  ! WBV,           4      P                  4       R4       KQ  	  V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       V P                  \        P                  ! R	R
4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R4      P                  R^^R7      P                  4       R4       V P                  \        P                  ! R4      P                  R^^R7      P                  4       R4       V P                  \        P                  ! R4      P                  R^^R7      P                  4       R4       R# )r   r   za|ab   abs   a|abr   z.*?$r   z.*?za.*?babbaxxbrs   zabc$zabc
zabc\zzabc\Zz(?m)abc$z	ab(?=c)cdabcdz
ab(?<=b)cdz
(?=a|ab)abrY  rK   endposNr   r   )u   àßu   абu   𝒜𝒞rx   r   r0  ru   )
r?   rF   	fullmatchrz   r   r+   r_   r   r{   rH   )r   rT   r   rc   rs   &    r   test_re_fullmatchReTests.test_re_fullmatch]  s(   dC0557@AdGmFR\\'6:??A6J $QuXy'7E9JJFR\\(F;@@BFK KFDAqu%AR\\!U388:FC G 	gu5::<fEfe499;VDh5::<fEh6;;=vFh7<<>G",,ud34",,w89",,x9:",,x9:",,{G<=lF;@@BFKmV<AACVLmT:??A6JJJu''Aa'@EEG	QJJw))&a)BGGI6	SJJv((Qq(AFFH&	Rr   c                B   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! R R4      P                  4       R4       V P	                  \        P                  ! R R4      4       V P	                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       \        P
                  ! R
4      pV P                  VP                  R4      P                  4       R4       V P                  VP                  R4      P                  4       R4       V P	                  VP                  R4      4       V P	                  VP                  R4      4       RP                  R \        ^^4       4       4      pRV,          pV P                  \        P                  ! VR4      P                  4       R4       R# )z^(\()?([^()]+)(?(1)\))$rW  r   Nza)z(az^(?:(a)|c)((?(1)b|d))$r   cdz^(?:(a)|c)((?(1)|d))$z(?P<g1>a)(?P<g2>b)?((?(g2)c|d))r   adabdrX  r   c              3   6   "   T F  pR W3,          x  K  	  R# 5ir   r   r   s   & r   r  2ReTests.test_re_groupref_exists.<locals>.<genexpr>  r  r  z(?:%s)(?(200)z)r  )rL  r   Nr   r   rc   )NrK  rR  r   rc   r   )r   NrK  r  )	r?   rF   r|   ra  r{   rH   r	  r
  rz   )r   pr  s   &  r   test_re_groupref_existsReTests.test_re_groupref_exists|  s   "<eDKKM#	%"<cBIIK$	&"((#=tDE"((#=tDE":DAHHJ#	%";TBIIK$	&":DAHHJ$	&":C@GGI"	$ JJ89..0(	*--/)	+!''%.)!''$-( hhKq'9JKK#%#w/446?r   c                   V P                  R R^
4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  R	R
^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^
4       V P                  RR^
4       V P                  RR^4       R# )z(?P<a>)(?(0)a|b)zbad group numberz()(?(-1)a|b)r  z()(?(+1)a|b)r%  r&  z()(?( 1 )a|b)r'  u   ()(?(㊀)a|b)r(  u   ()(?(¹)a|b)r)  u   ()(?(१)a|b)r*  z()(?(1r  z()(?(1)a"missing ), unterminated subpatternz
()(?(1)a|bz()(?(1)a|b|cz/conditional backref with more than two branchesz()(?(1)a|b|c)z	()(?(2)a)r$  Nz()()()()()()()()()()(?(1_0)a|b)r  rY   s   &r   test_re_groupref_exists_errors&ReTests.test_re_groupref_exists_errors  s@   24FKA1	FA1	F8BB	H/BA	G/BA	GA1	F/BA	Gy=q	B{CQ	H}CQ	H ./1	3 	/ ./1	3 	|:A	?r   c                    \        R 4       FC  pV P                  VR7      ;_uu_ 4        \        P                  ! RV,          4       RRR4       KE  	  R#   + '       g   i     KZ  ; i)   )codez()(?(1)\x%02x?)N)r
  rI   rF   rH   r   r  s   & r   &test_re_groupref_exists_validation_bug.ReTests.test_re_groupref_exists_validation_bug  sE    sA1%%

-12 &% %%%s   AA&c                    ^ RI Hp V P                  RRV,          RRV,          ^4       V P                  RV,          RV,          ^
4       R# )r   )	MAXGROUPSz()z\g<%s>r   zinvalid group reference %dz(?P<a>)(?(%d))N)re._constantsr  rU   rO   )r   r  s   & r   test_re_groupref_overflow!ReTests.test_re_groupref_overflow  sJ    +i)&;T <y H!	M09<;iG	Mr   c                l   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P	                  \        P                  ! R R4      4       V P	                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R
4      P                  4       R4       V P                  RR^4       R# )z^(\|)?([^()]+)\1$z|a|r   z^(\|)?([^()]+)\1?$Nza|z|az^(?:(a)|c)(\1)$aaz^(?:(a)|c)(\1)?$r   z(abc\1)r  )r   r   r  r_  NN)r?   rF   r|   ra  r{   rO   rY   s   &r   test_re_grouprefReTests.test_re_groupref  s    "6>EEG#	%"7=DDF$	&"((#7>?"((#7>?"4d;BBD#	%"5s;BBD%	' 	z+JANr   c                x    V P                  \        P                  ! R R4      P                  4       RRRR/4       R# )#(?P<first>first) (?P<second>second)first secondfirstsecondN)r?   rF   r|   	groupdictrY   s   &r   test_groupdictReTests.test_groupdict  s4    "G"022;)+!'8H=	?r   c                    V P                  \        P                  ! R R4      P                  R4      R4       V P                  \        P                  ! RR4      P                  R4      R4       R# )	r  r  z\2 \1 \g<second> \g<first>zsecond first second firstz#(?P<first>first)|(?P<second>second)r  z\2 \g<second> N)r?   rF   r|   expandrY   s   &r   test_expandReTests.test_expand  s^    "G"02#)6*G#H4	6 	"G")+#)6*:#;	r   c                0	   V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! R	R4      P	                  ^4      R4       V P                  \        P                  ! R
R4      P	                  ^4      R4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! R	R4      P	                  ^4      R4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  RR^4       R# )z	^(\w){1}$r   z
^(\w){1}?$z^(\w){1,2}$z^(\w){1,2}?$z	^(\w){3}$r   z^(\w){1,3}$z^(\w){1,4}$z^(\w){3,4}?$z
^(\w){3}?$z^(\w){1,3}?$z^(\w){1,4}?$z^x{1}$rq   z^x{1}?$z^x{1,2}$z	^x{1,2}?$z^x{3}$z^x{1,3}$z^x{3,3}$z^x{1,4}$z	^x{3,4}?$z^x{3}?$z	^x{1,3}?$z	^x{1,4}?$z^x{}$x{}zx{2,1}z"min repeat greater than max repeatN)r{   rF   r|   r?   r   
assertTruerO   rY   s   &r   test_repeat_minmaxReTests.test_repeat_minmax  s   "((<78"((=%89"((>59:"((?E:;,6<<Q?E.%8>>qA3G.%8>>qA3G/59??BCH-7==a@#F/59??BCH/59??BCH/59??BCH"((9e45"((:u56"((;67"((<78E23e45e45e45u56U34u56u56u56"((8U34512yCQ	Hr   c                   V P                  \        P                  ! R 4      P                  R 4       V P                  \        P                  ! R 4      P                  \        P
                  \        P                  ,          4       V P                  \        P                  ! R 4      P                  ^4       V P                  \        P                  ! R 4      P                  / 4       V P                  \        P                  ! R4      P                  R^R^/4       V P                  \        P                  ! RR4      P                  ^ 4       V P                  \        P                  ! RR4      P                  ^4       V P                  \        P                  ! RR4      P                  R4       V P                  \        P                  ! RR4      P                  R4       V P                  \        P                  ! RR4      P                  4       \        P                  ! R4      pV P                  \        VP                  4      RR.4       V P                  VP                  R,          ^4       V P!                  \"        4      ;_uu_ 4        ^ VP                  R&   RRR4       V P                  VP                  R,          ^4       R#   + '       g   i     L5; i)z
(?i)(a)(b)z(?i)(?P<first>a)(?P<other>b)r  otherrW  r   N)r   r   )r?   rF   rH   rD   r   r   Ura  
groupindexr|   rK   r  rT   regsr  sortedrE   r   )r   r  s   & r   test_getattrReTests.test_getattr  s   L199<HL177EL188!<L1<<bA$BCNN!1gq1	3 	%-1115%-44a8%-44c:%-224DE,//0 JJ67-/ABg.2y))$%ALL! *g.2 *)s   	KK	c                
   V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! R R\        P                  4      P                  ^4      R4       V P                  \        P                  ! RR\        P                  4      P                  ^4      R4       V P                  \        P                  ! RR\        P
                  4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P
                  4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! R	R\        P
                  4      P                  ^ 4      R4       V P                  \        P                  ! R	R\        P
                  4      4       V P                  \        P                  ! R
R4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! R
R\        P                  4      P                  ^4      R4       V P                  \        P                  ! RR\        P                  4      P                  ^4      R4       V P                  \        P                  ! RR\        P
                  4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P
                  4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR\        P
                  4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P                  4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P                  4      P                  ^ 4      R4       R# )z\b(b.)\bzabcd abc bcd bxbxz\B(b.)\Bzabc bcd bc abxdz^abc$z
abc
r   z	^\Aabc\z$z	^\Aabc\Z$s   \b(b.)\bs   abcd abc bcd bxs   bxs   \B(b.)\Bs   abc bcd bc abxds   ^abc$s   
abc
   abcs	   ^\Aabc\z$s	   ^\Aabc\Z$z\d\D\w\W\s\Sz1aa! as   \d\D\w\W\s\Ss   1aa! aN)r?   rF   ry   r   ASCIIMr{   LOCALErY   s   &r   test_special_escapesReTests.test_special_escapes  s   ;#466;eAh	F;#466;eAh	F;#4bhh@@Ea$	P;#4bhh@@Ea$	P8Y=CCAFN<=CCAFN"))L)RTTBC<=CCAFN"))L)RTTBC<#577<uQx	H<#577<uQx	H<#5ryyBBG%(E	S<#5ryyBBG%(E	S9j"$$?EEaH&Q=&"$$?EEaH&Q"))M:rttDE=&"$$?EEaH&Q"))M:rttDE?#+--2U1Xx	A#3#,..3eAh		C?#+RXX77<uQx	K#3#,bii99>q9	Nr   c           	     l   V P                  R R^ 4       V P                  \        P                  ! RR4      P	                  4       R4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR 4      P	                  4       R 4       V P                  \        P                  ! RR4      P	                  4       R4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R	R
4      P	                  4       R
4       V P                  \        P                  ! R	R4      4       V P                  \        P                  ! RR4      P	                  4       R4       V P                  \        P                  ! RR4      4       \        P                  ! 4        R F[  pV P                  V4      ;_uu_ 4        V P                  \        P                  \        P                  RV,          4       RRR4       K]  	  R F[  pV P                  V4      ;_uu_ 4        V P                  \        P                  \        P                  RV,          4       RRR4       K]  	  R#   + '       g   i     K  ; i  + '       g   i     K  ; i)r   zbad escape (end of pattern)z\(rL  )r   z[\]]][z[a\-c]-rc   z[\^a]+za^ ceghijklmopqyCEFGHIJKLMNOPQRTVXYz\%cN$ceghijklmopqyzABCEFGHIJKLMNOPQRTVXYZz[\%c])rO   r?   rF   r|   r   r{   purgerI   rE   rG   rH   )r   r   s   & r   test_other_escapesReTests.test_other_escapes@  s   t%BAF%-335s;"((5#./%.446='3/557="((7C01)S17793?"((9c23)T288:DA"((9c23

3Aa!!"//2::vzJ ! 4 8Aa!!"//2::x!|L ! 8 ! !s   (7J	7J"J"J3c                   V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR	4      4       V P                  \        P                  ! RR
4      4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^ 4       V P	                  RR^4       V P	                  RR^ 4       V P	                  RR^4       V P	                  R R!^ 4       V P	                  R"R!^4       R## )$z\N{LESS-THAN SIGN}<z\N{less-than sign}>z	\N{SNAKE}u   🐍zW\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM}u   ﯹz*[\N{LESS-THAN SIGN}-\N{GREATER-THAN SIGN}]=;z\Nz	missing {z[\N]z\N{zmissing character namez[\N{z\N{}z[\N{}]z\NSNAKE}z
[\NSNAKE}]z\N{SNAKEzmissing }, unterminated namez
[\N{SNAKE]z[\N{SNAKE]}z!undefined character name 'SNAKE]'z\N{SPAM}zundefined character name 'SPAM'z
[\N{SPAM}]z\N{KEYCAP NUMBER SIGN}z-undefined character name 'KEYCAP NUMBER SIGN'z[\N{KEYCAP NUMBER SIGN}]s   \N{LESS-THAN SIGN}zbad escape \Ns   [\N{LESS-THAN SIGN}]N)r  rF   r|   r{   rO   rY   s   &r   test_named_unicode_escapes"ReTests.test_named_unicode_escapesS  s   !6<=!6<="((#8#>?|<= "Q!)+ 	, 	!N!$& 	'"((#P#&( 	) 	uk15wQ7v'?Cw(@!Dw(@!Dy*BAF{K;}k1={=q	B}=q	B~BA	G{@!	E}@!	E8KQ	P:KQ	P57GK79I1Mr   c           	     N)   V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! R R\        P                  4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR\        P
                  4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR	4      4       V P                  \        P                  ! RR	\        P
                  4      4       V P                  \        P                  ! RR
4      4       V P                  \        P                  ! RR
\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR	4      4       V P                  \        P                  ! RR	\        P
                  4      4       V P                  \        P                  ! RR
4      4       V P                  \        P                  ! RR
\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      P                  4       R&4       V P                  \        P                  ! RR\        P                  4      P                  4       R&4       V P                  \        P                  ! RR4      P                  4       R&4       V P                  \        P                  ! RR\        P
                  4      P                  4       R&4       V P                  \        P                  ! RR4      P                  4       R&4       V P                  \        P                  ! RR\        P                  4      P                  4       R'4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  \        \        P                  ! RR4      4      ^4       V P                  \        \        P                  ! RR\        P                  4      4      ^4       V P                  \        \        P                  ! RR 4      4      ^4       V P                  \        \        P                  ! RR \        P
                  4      4      ^4       V P                  \        \        P                  ! RR4      4      ^ 4       V P                  \        \        P                  ! RR\        P                  4      4      ^ 4       V P                  \        \        P                  ! RR 4      4      ^ 4       V P                  \        \        P                  ! RR \        P
                  4      4      ^ 4       V P                  \        \        P                  ! RR!4      4      ^ 4       V P                  \        \        P                  ! RR!\        P                  4      4      ^ 4       V P                  \        \        P                  ! RR"4      4      ^ 4       V P                  \        \        P                  ! RR"\        P
                  4      4      ^ 4       V P                  \        \        P                  ! RR#4      4      ^ 4       V P                  \        \        P                  ! RR#\        P                  4      4      ^ 4       V P                  \        \        P                  ! RR$4      4      ^ 4       V P                  \        \        P                  ! RR$\        P
                  4      4      ^ 4       V P                  \        \        P                  ! RR!4      4      ^4       V P                  \        \        P                  ! RR!\        P                  4      4      ^4       V P                  \        \        P                  ! RR"4      4      ^4       V P                  \        \        P                  ! RR"\        P
                  4      4      ^4       R%# )(z	\b(abc)\br   s	   \b(abc)\br  u   \b(ьюя)\bu   ьюяz.\bza=s   .\bs   a=u   я=z=as   =au   =яr   r|  u   юяz=-s   =-z.\Bs   .\Br=  s   \bz.+\bs   .+\b\Bs   \Bz.+\Bs   .+\Br   r   r   r^   r      z   s      Nrv   rv   rt   )r?   rF   ry   r   r  r  r{   r  r|   r  rz   rx  ri   rY   s   &r   test_word_boundariesReTests.test_word_boundaries{  s   <7==a@%H<AGGJER=&9??BFK=&"))DJJ1MvV?H=CCAFQ"))OXrxxHI./rxx89%01%;</0"((65"((;<./rxx89%01%;</0"((65"((;<"((6401"((64:;"((7E23"((7E299=>"((6623"((66288<="((6401"((64:;"((7E23"((7E299=>"((6401"((64:;"((7E23"((7E299=>"((65129:"((6401"((64:;"((7E23"((7E299=>"((65129:./rxx89%01%;<01:;./rxx89%01%;<./rxx8901;<12"((5(BHH=>We45WeRXX>?Xv67XvryyABWh78"))E8RXX>?5%0557@5%:??A6J6627796B66299=BBDfM5(388:FC5(BHH=BBDfM"((5%01"((5%:;"((6623"((66299=>"((5(34"((;<",,w67",,wrxx@A",,x89",,xCD",,w9:WhAB"))E2./"))E2rxx89"))FC01"))FC;<		%,-		%RXX67		&#./		&#ryy9: 	RZZs34a8RZZsBHH=>BRZZ56:RZZbii@A1ERZZs34a8RZZsBHH=>BRZZ56:RZZbii@A1ERZZs34a8RZZsBHH=>BRZZ56:RZZbii@A1ERZZu56:RZZubhh?@!DRZZ78!<RZZ		BCQGRZZs34a8RZZsBHH=>BRZZ56:RZZbii@A1Er   c                >   V P                  \        P                  ! R R4      P                  ^4      R4       RRP	                  \        \        \        RR^4      4      4      ,          pV P                  \        P                  ! VR4      P                  4       R4       R# )u
   ([∢∣])u   ∢z[%s]r   r  u   ！N   )r?   rF   r|   r   r	  mapr   r
  r   r  s   & r   test_bigcharsetReTests.test_bigcharset  st    "4"*,,1E!Hh	@RWWSeC&<=>>!X.446Ar   c                    \         P                  ! R P                  R \        R4       4       4      4      pV P	                  VP                  R4      4       V P	                  VP                  R4      4       R# )r   c              3   4   "   T F  pR V,          x  K  	  R# 5i)z%dNr   )r   r:   s   & r   r  ,ReTests.test_big_codesize.<locals>.<genexpr>  s      >Aas   '  10009999N)rF   rH   r	  r
  r  r|   r  s   & r   test_big_codesizeReTests.test_big_codesize  sK    JJsxx >u >?@((r   c                   V P                  \        P                  ! R R\        P                  4      P	                  ^ 4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^ 4      R4       R# )za.bza
bza.*bza

bN)r?   rF   r|   DOTALLr   rY   s   &r   test_anyallReTests.test_anyall  s`    %;AA!D	!&(BII>DDQG!	#r   c                   V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! R	R
4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P	                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P	                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P	                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P	                  \        P                  ! RR4      4       V P	                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P	                  \        P                  ! RR4      4       R# )z(a(?=\s[^a]))a br   z(a(?=\s[^a]*))z(a(?=\s[abc]))z(a(?=\s[abc]*))a bcz(a)(?=\s\1)a az(a)(?=\s\1*)a aaz(a)(?=\s(abc|a))z(a(?!\s[^a]))z(a(?!\s[abc]))za dz(a)(?!\s\1)z(a)(?!\s(abc|a))z(a)b(?=\1)arQ  z(a)b(?=\1)cabacz(?:(a)|(x))b(?=(?(2)x|c))cr   z(?:(a)|(x))b(?=(?(2)c|x))cz(?:(a)|(x))b(?=(?(1)b|x))cz(?:(a)|(x))b(?=(?(1)c|x))cz(a)b(?=(?(2)x|c))(c)z(a)b(?=(?(2)b|x))(c)z(a)b(?=(?(1)c|x))(c)N)r?   rF   r|   r   r  r{   rY   s   &r   test_lookaheadReTests.test_lookahead  s   "2E:@@CSI"3U;AA!DcJ"3U;AA!DcJ"4f=CCAFL.%8>>qA3G/6:@@CSI"5u=CCAFL"2E:@@CSI"3U;AA!DcJ.%8>>qA3G"5u=CCAFL 	78"((>6:;!>FG"((#@%HI!>FG"((#@%HI!>FG!8%@A"((#:EBC!8%@Ar   c                P   V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R	R4      4       V P                  \        P                  ! R
R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P	                  \        P
                  \        P                  R4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P	                  \        P
                  \        P                  R4       V P	                  \        P
                  \        P                  R4       V P	                  \        P
                  \        P                  R4       V P	                  \        P
                  \        P                  R4       R# )z	ab(?<=b)cr   z	ab(?<=c)cz	ab(?<!b)cz	ab(?<!c)cz(a)a(?<=\1)caacz(a)b(?<=\1)aabaaz(a)a(?<!\1)cz(a)b(?<!\1)az(?:(a)|(x))b(?<=(?(2)x|c))cz(?:(a)|(x))b(?<=(?(2)b|x))cz(?:(a)|(x))b(?<=(?(2)x|b))cz(?:(a)|(x))b(?<=(?(1)c|x))cz(?:(a)|(x))b(?<=(?(1)b|x))cz(a)b(?<=(?(2)b|x))(c)z(a)b(?<=(?(1)c|x))(c)z(a)b(?<=(?(1)b|x))(c)z(a)b(?<=(.)\2)(c)z(a)b(?<=(?P<a>.)(?P=a))(c)z(a)b(?<=(a)(?(2)b|x))(c)z(a)b(?<=(.)(?<=\2))(c)N)r  rF   r|   r{   rE   rG   rH   rY   s   &r   test_lookbehindReTests.test_lookbehind*  s   u56"((<78"((<78u56%89"((?F;<"((?E:;&9:"((#A5IJ"((#A5IJ!?GH"((#A5IJ!?GH"//2::7OP"((#;UCD!95AB"//2::7KL"//2::7TU"//2::7RS"//2::7PQr   c                   V P                  \        P                  ! R R\        P                  4      P	                  ^ 4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^ 4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^4      R4       V P                  \        P                  ! R	R\        P                  4      P	                  ^4      R4       V P                  \        P                  ! R
R\        P                  4      P	                  ^4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^4      R4       V P                  \        P                  ! RR\        P                  4      P	                  ^4      R4       RP                  4       RP                  4       u;8X  d	   R8X  g   Q h Q hV P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       RP                  4       RP                  4       u;8X  d	   R8X  g   Q h Q hV P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       RP                  4       RP                  4       u;8X  d	   R8X  g   Q h Q hV P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       RP                  4       RP                  4       u;8X  d	   R 8X  g   Q h Q hV P                  \        P                  ! R!R\        P                  4      4       V P                  \        P                  ! R"R\        P                  4      4       R## )$r   ABCr  s   ABCz	(a\s[^a])r  z
(a\s[^a]*)za bbz
(a\s[abc])z(a\s[abc]*)z	((a)\s\2)r  z
((a)\s\2*)r  z((a)\s(abc|a))z((a)\s(abc|a)*)K   Kkz\u212arj      ſr   z\u017f   в   ᲀ   Вz\u0412z\u0432z\u1c80   ﬅ   ﬆSTz\ufb05z\ufb06N)r?   rF   r|   r   r   lowerr  upperrY   s   &r   test_ignore_caseReTests.test_ignore_caseD  s.   %5;;A>F&&"$$7==a@&I,rtt<BB1EuM->DDQGP-=CCAFN.&"$$?EEaH&Q,rtt<BB1EuM->DDQGP"3UBDDAGGJER"4fbddCII!LfU yy{hnn.5#55555x67x67C67C67 yy{hnn.5#55555x67x67C67C67 ~~8>>#3?x?????Hbdd;<Hbdd;<Hbdd;<Hbdd;<Hbdd;<Hbdd;< ~~8>>#3;t;;;;;Hbdd;<Hbdd;<r   c                V   V P                  \        P                  ! R R\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! R R\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR	\        P                  4      4       V P                  \        P                  ! RR
\        P                  4      4       V P                  \        P                  ! RR	\        P                  4      4       V P                  \        P                  ! RR
\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! R R\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! R R\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR	\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR
\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR	\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR
\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      4       RP                  4       RP                  4       u;8X  d	   R8X  g   Q h Q hV P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       RP                  4       RP                  4       u;8X  d	   R8X  g   Q h Q hV P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       R P                  4       R!P                  4       u;8X  d	   R"8X  g   Q h Q hV P                  \        P                  ! R#R \        P                  4      4       V P                  \        P                  ! R#R!\        P                  4      4       V P                  \        P                  ! R$R"\        P                  4      4       V P                  \        P                  ! R$R!\        P                  4      4       V P                  \        P                  ! R%R"\        P                  4      4       V P                  \        P                  ! R%R \        P                  4      4       R&P                  4       R'P                  4       u;8X  d	   R(8X  g   Q h Q hV P                  \        P                  ! R)R'\        P                  4      4       V P                  \        P                  ! R*R&\        P                  4      4       R+# ),z[19A]r   z[19a]r   s   [19A]   As   [19a]r^   z[19\xc7]   Ç   çz[19\xe7]z
[19\u0400]   Ѐ   ѐz
[19\u0450]z[19\U00010400]   𐐀   𐐨z[19\U00010428]r  r  r  z[19K]z[19k]z
[19\u212a]rj   r  r   z[19S]z[19s]z
[19\u017f]r  r  r  z
[19\u0412]z
[19\u0432]z
[19\u1c80]r  r	  r
  z
[19\ufb05]z
[19\ufb06]N)r  rF   r|   r   r   r{   r  r  rY   s   &r   test_ignore_case_setReTests.test_ignore_case_setl  s   356356356356D"$$78D"$$78D"$$78D"$$78fbdd;<fbdd;<fbdd;<fbdd;<"$$?@"$$?@"$$?@"$$?@!2L"$$GH!2L"$$GH!2L"$$GH!2L"$$GHD"$$78D"$$78D"$$78D"$$783RTT	:;3RTT	:;3RTT	:;3RTT	:;fbdd244i@A"((;RTT	BC"((;RTT	BCfbdd244i@A"$$rtt)DE"((=(BDDIFG"((=(BDDIFG"$$rtt)DE!2L"$$rtt)LM"((#4lBDDINO"((#4lBDDINO!2L"$$rtt)LM yy{hnn.5#555558RTT:;8RTT:;RTT:;RTT:; yy{hnn.5#555558RTT:;8RTT:;RTT:;RTT:; ~~8>>#3?x?????"$$?@"$$?@"$$?@"$$?@"$$?@"$$?@ ~~8>>#3;t;;;;;"$$?@"$$?@r   c                   V P                  \        P                  ! R R\        P                  4      4       V P	                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P	                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P	                  \        P                  ! RR	\        P                  4      4       V P                  \        P                  ! R
R	\        P                  4      4       V P                  \        P                  ! R
R\        P                  4      4       V P	                  \        P                  ! R
R\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P	                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! R
R	\        P                  \        P
                  ,          4      4       V P	                  \        P                  ! R
R\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P	                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P	                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P	                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P	                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       V P                  \        P                  ! RR\        P                  \        P
                  ,          4      4       RP                  4       RP                  4       u;8X  d	   R8X  g   Q h Q hV P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! R R\        P                  4      4       V P                  \        P                  ! R!R\        P                  4      4       V P                  \        P                  ! R!R\        P                  4      4       R"P                  4       R#P                  4       u;8X  d	   R$8X  g   Q h Q hV P                  \        P                  ! R%R#\        P                  4      4       V P                  \        P                  ! R&R#\        P                  4      4       V P                  \        P                  ! R'R$\        P                  4      4       V P                  \        P                  ! R'R"\        P                  4      4       R(P                  4       R)P                  4       u;8X  d	   R*8X  g   Q h Q hV P                  \        P                  ! R+R(\        P                  4      4       V P                  \        P                  ! R+R)\        P                  4      4       V P                  \        P                  ! R,R*\        P                  4      4       V P                  \        P                  ! R,R)\        P                  4      4       V P                  \        P                  ! R-R*\        P                  4      4       V P                  \        P                  ! R-R(\        P                  4      4       R.P                  4       R/P                  4       u;8X  d	   R08X  g   Q h Q hV P                  \        P                  ! R1R/\        P                  4      4       V P                  \        P                  ! R2R.\        P                  4      4       R3# )4z[9-a]_z[9-A]s   [9-a]   _s   [9-A]z[\xc0-\xde]   ×r     ÷z[\xe0-\xfe]r  z[\u0430-\u045f]r  r  z[\u0400-\u042f]z[\U00010428-\U0001044f]r  r  z[\U00010400-\U00010427]z[N-\x7f]r   z[n-\x7f]Zz
[N-\uffff]z
[n-\uffff]z[N-\U00010000]z[n-\U00010000]r  r  r  z[J-M]z[j-m]z[\u2129-\u212b]rj   r  r   z[R-T]z[r-t]z[\u017e-\u0180]r  r  r  z[\u0411-\u0413]z[\u0431-\u0433]z[\u1c80-\u1c82]r  r	  r
  z[\ufb04-\ufb05]z[\ufb06-\ufb07]N)r  rF   r|   r   r{   r   r  r  rY   s   &r   test_ignore_case_rangeReTests.test_ignore_case_range  sV   356"((8S"$$78D"$$78"((9dBDD9:>?>?"((>6244@A>?>?"((>6244@A!3XrttDE!3XrttDE!3XrttDE!3XrttDE!;\244PQ!;\244PQ!;\244PQ!;\244PQbddCD"((>62449EFbddCD"((>62449EF!3XrttBDDyIJ"((#5xbddKL"((#5xbddKL!3XrttBDDyIJ!;\244PRPTPT9UV"((#=|RTTRTRVRVYWX"((#=|RTTRTRVRVYWX!;\244PRPTPT9UVc2449=>c2449=>RTT"$$Y?@RTT"$$Y?@!2CbddCD!2CbddCD yy{hnn.5#555558RTT:;8RTT:;!3S"$$?@!3S"$$?@ yy{hnn.5#555558RTT:;8RTT:;!3S"$$?@!3S"$$?@ ~~8>>#3?x?????!3XrttDE!3XrttDE!3XrttDE!3XrttDE!3XrttDE!3XrttDE ~~8>>#3;t;;;;;!3XrttDE!3XrttDEr   c                r    V P                  \        P                  ! R R4      P                  ^4      R4       R# )z(\s)r  Nr?   rF   r|   r   rY   s   &r   test_categoryReTests.test_category  s(    '3/55a8#>r   c                    V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^4      R4       R# )z\s([^a]) brc   z	\s([^a]*)z bbbbNr?   rF   ry   r   rY   s   &r   test_not_literalReTests.test_not_literal  sN    ;5;;A>D<7==a@$Gr   c                ^   \        \        ^4      4      P                  4       pV P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  XP                  \        4       V P                  XP                  V4      \        R4      4       V P                  \        R4      ;_uu_ 4       pV P                  \
        P                  ! RV4      \        R4      4       RRR4       V P                  VP                  \        4       V P                  \
        P                  ! RV4      \        R4      4       V P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R	4      4       V P                  \        R
4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R4      4       V P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R4      4       V P                  \        R4      ;_uu_ 4       pV P                  \
        P                  ! RV4      \        R4      4       RRR4       V P                  VP                  \        4       V P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R4      4       V P                  \
        P                  ! RV4      \        R4      4       V P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R4      4       V P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R4      4       V P                  \
        P                  ! RV4      \        R4      4       V P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R4      4       V P                  \        R4      ;_uu_ 4       p\
        P                  ! R4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R4      4       V P                  \
        P                  ! RV4      \        R 4      4       V P                  \        R!4      ;_uu_ 4       p\
        P                  ! R"4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R#4      4       V P                  \        R!4      ;_uu_ 4       pV P                  \
        P                  ! R$V4      \        R%4      4       RRR4       V P                  VP                  \        4       V P                  \        R!4      ;_uu_ 4       p\
        P                  ! R&4      pRRR4       V P                  VP                  \        4       V P                  VP                  V4      \        R'4      4       R#   + '       g   i     EL; i  + '       g   i     EL;; i  + '       g   i     EL; i  + '       g   i     ELO; i  + '       g   i     EL; i  + '       g   i     ELO; i  + '       g   i     EL; i  + '       g   i     ELc; i  + '       g   i     EL; i  + '       g   i     ELM; i  + '       g   i     EL; i  + '       g   i     EL7; i  + '       g   i     EL; i  + '       g   i     ELa; i)(   zPossible set differencez[0-9--1]Nz-./0123456789z[0-9--2]z[--1]z-./01z[%--1]z
%&'()*+,-1zPossible set difference z[%--]z	%&'()*+,-zPossible set intersection z[0-9&&1]z&0123456789z[0-8&&1]z
&012345678z[\d&&1]z[&&1]z&1zPossible set union z[0-9||a]z0123456789a|z[\d||a]z[||1]z1|z"Possible set symmetric difference z[0-9~~1]z0123456789~z[\d~~1]z[~~1]z1~zPossible nested set z[[0-9]|]z0123456789[]z[[0-8]|]z012345678[]z[[:digit:]|]z:[]dgit)bytesr
  decodeassertWarnsRegexFutureWarningrF   rH   r?   r   r   ri   r4   )r   rj   r   r  s   &   r   test_possible_set_operations$ReTests.test_possible_set_operations  s-   %*$$&""=2KLLPQ

;'A MX.1tO'<=""=2KLLPQRZZQ7o9NO MX.Ha0$w-@""=2KLLPQ

9%A MX.1tL'9:""=2LMMQR

8$A NX.1tK'89""=2NOOST

;'A PX.1tM':;""=2NOOSTRZZQ7l9KL PX.""=2NOOST

:&A PX.1tM':;Ha0$t*=""=2GHHA

;'A IX.1tN';<""=2GHHA

:&A IX.1tN';<Ha0$t*=""=2VWW[\

;'A XX.1tM':;""=2VWW[\

:&A XX.1tM':;Ha0$t*=""=2HIIQ

;'A JX.1tN';<""=2HIIQRZZQ7m9LM JX.""=2HIIQ

?+A JX.1tI7M MLL MLL MLL
 NMM
 POO POO POO IHH
 IHH XWW
 XWW JII JII JIIs   `1`+/`?6a=a'1a;;b2b#9b70c7c.c351d,d`(	+`<	?a	a$	'a8	;b	b 	#b4	7c	c	c0	3d	d	d,	c                    V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! RR4      P                  ^ 4      R4       R# )z\s(b)r&  rc   za\sza Nr(  rY   s   &r   test_search_coverageReTests.test_search_coverageI  sN    8T288;SA64066q94@r   c                   Vf   Vf   Tp^ \        V4      3pMVe   Vf   \        R4      hV! W4      pV P                  V4       V P                  VP	                  4       V4       V P                  VP                  4       V4       R # )Nz@If match is not None, span should be specified (and vice versa).)rx  r   r  r?   r   rz   )r   rD   textr|   rz   matcherr   s   &&&&&& r   assertMatchReTests.assertMatchM  sz    =T\Es4y>D]dl 1 2 2G"E*4(r   z!"%',/:;<=>@_`c                   R P                  R \        R4       4       4      pV F  pV P                  \        P                  ! V4      V4       V P                  R\        P                  ! V4      ,           R,           V4       V P                  R\        P                  ! V4      ,           V4       K  	  V P                  \        P                  ! V4      V4       R F0  pV P                  \        P                  ! V4      R,          R4       K2  	  V P                  pV P                  \        P                  ! V4      V4       R	# )
r   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   )r   r   s   & r   r  )ReTests.test_re_escape.<locals>.<genexpr>^  s     /JqCFFJs   r  r  r  z(?x)z-.]{}Nrv   Nr   N)r	  r
  r9  rF   escaper?   LITERAL_CHARS)r   r  r   literal_charss   &   r   test_re_escapeReTests.test_re_escape]  s    GG/E#J//ARYYq\1-S299Q</#5q9Vbiil2A6  	1q)ARYYq\"-t4 **=1=Ar   c                   \        \        R 4      4      pV F  p\        V.4      pV P                  \        P                  ! V4      V4       V P                  R\        P                  ! V4      ,           R,           V4       V P                  R\        P                  ! V4      ,           V4       K  	  V P                  \        P                  ! V4      V4       R F<  p\        V.4      pV P                  \        P                  ! V4      R,          R4       K>  	  V P                  P                  R4      pV P                  \        P                  ! V4      V4       R# )	r     [   ]s   (?x)s   -.]{}r>     \asciiN)r-  r
  r9  rF   r?  r?   r@  encode)r   r  r  rc   rA  s   &    r   test_re_escape_bytesReTests.test_re_escape_bytesi  s    %*Aqc
ARYYq\1-TBIIaL047;Wryy|3Q7	 
 	1q)Aqc
ARYYq\"-u5  **11':=1=Ar   c                    R p\         P                  ! V4      pV P                  W!4       V P                  W!4       V P                  R\         P                  ! R4      ,          VRR\         P                  4       R# )u   xxx☠☠☠xxxz.%s+.   ☠u   x☠☠☠xN)r      )rF   r?  r?   r9  ry   )r   rj   	s_escapeds   &  r   test_re_escape_non_ascii ReTests.test_re_escape_non_asciiw  s\    &IIaL	&&299X#66/	Dr   c                B   R P                  R4      p\        P                  ! V4      pV P                  W!4       V P	                  W!4       \        P
                  ! \        P                  ! RP                  R4      4      V4      pV P                  \        V4      ^4       R# )u	   y☠y☠yzutf-8rM  N)rI  rF   r?  r?   r9  ri   rx  )r   rc   	b_escapedress   &   r   test_re_escape_non_ascii_bytes&ReTests.test_re_escape_non_ascii_bytes  sq    $$W-IIaL	&&jj8??7#;<a@S1%r   c                   ^ RI p\        P                  ! R\        P                  4      p\	        VP
                  ^,           4       F6  pVP                  W#4      pVP                  V4      pV P                  WR4       K8  	  ^ RIH	p R# )r   Nza(?:b|(c|e){1,2}?|d)+?(.))_compile)
picklerF   rH   UNICODEr
  HIGHEST_PROTOCOLdumpsloadsr?   rX  )r   rY  oldpatprotopicklednewpatrX  s   &      r   test_picklingReTests.test_pickling  sc    7D622Q67Ell61G\\'*FV, 8
 	 r   c                d   ^ RI p\        P                  ! R4      pV P                  VP                  V4      V4       V P                  VP	                  V4      V4       VP                  R4      pV P                  VP                  V4      V4       V P                  VP	                  V4      V4       R# )r   Nz (?P<int>\d+)(?:\.(?P<frac>\d*))?z12.34)copyrF   rH   r6   deepcopyr|   )r   re  r  r   s   &   r   test_copyingReTests.test_copying  s|    JJ:;diilA&dmmA&*GGGdiilA&dmmA&*r   c                   V P                  \        P                  \        P                  4       V P                  \        P                  \        P
                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       R # r   )r?   rF   r   
IGNORECASELr  r  	MULTILINEr   r  r   VERBOSErY   s   &r   test_constantsReTests.test_constants  sz    r}}-ryy)r||,ryy)rzz*r   c                *   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  3 F)  pV P                  \         P                  ! R V4      4       K+  	  \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  3 F)  pV P                  \         P                  ! RV4      4       K+  	  R# )z	^pattern$s	   ^pattern$N)
rF   r   r  r   r   r   r  r  rH   rk  )r   flags   & r   
test_flagsReTests.test_flags  s    TT244rttRTT2448DOOBJJ{D9: 9TT244rttRTT2448DOOBJJ|T:; 9r   c           	     @   R* EF  pVR8  Eda   V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! R	V,          \        V4      R,           4      4       V P                  \        P                  ! R
V,          \        V4      R,           4      4       VR8  d   V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       EK  	  V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P	                  RR^ 4       V P	                  RR^4       V P	                  RR^ 4       V P	                  R R^ 4       V P	                  R!R"^ 4       V P	                  R#R"^ 4       V P	                  R$R%^ 4       V P	                  R&R%^ 4       V P	                  R'R(^ 4       R)# )+r   r  r  \%03o\%03o00\%03o88\x%02x\x%02x0\x%02xzzz\u%04xz\u%04x0z\u%04xzz\U%08xz\U%08x0z\U%08xzr   r   r   r   z\01r   z\018z8z\5670octal escape value \567 outside of range 0-0o377z\911invalid group reference 91z\x1incomplete escape \x1z\x1zz\u123incomplete escape \u123z\u123zz	\U0001234incomplete escape \U0001234z
\U0001234zz
\U00110000bad escape \U00110000Nr             @      r,     r    r  i r  rF   r|   r   rO   r  s   & r   test_sre_character_literals#ReTests.test_sre_character_literals  s   RA3wAs1v >?QAs
 CDQAs
 CDQA ?@aQ DEaQ DE7{QA ?@aQ DEaQ DEOOBHHY]CF;<OOBHHZ!^SVCZ@AOOBHHZ!^SVCZ@A S 	/01201'23w 012	4 	w(DaHv'?Cw(@!Dx)CQGy*DaH|-KQO}.LaP}.FJr   c           	     n   R" EF  pVR8  Ed   V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! R	V,          \        V4      4      4       V P                  \        P                  ! R
V,          \        V4      4      4       VR8  d   V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       V P                  \        P                  ! RV,          \        V4      R,           4      4       EK  	  V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P	                  RR^4       V P                  \        P                  ! RR 4      4       R!# )#r   r  r  [\%o][\%o8][\%03o][\%03o0][\%03o8][\x%02x]	[\x%02x0]	[\x%02xz]z[\u%04x]z	[\u%04x0]z	[\u%04xz]z[\U%08x]z	[\U%08x0]rw  z	[\U%08xz]r}  z[\567]r~  z[\911]bad escape \9z[\x1z]r  z[\u123z]r  z[\U0001234z]r  z[\U00110000]r  z[\U0001d49c-\U0001d4b5]u   𝒞Nr  r  r  s   & r   !test_sre_character_class_literals)ReTests.test_sre_character_class_literals  so   RA3wAs1v >?QA ?@aQ @Aq#a& ABq#a& ABq#a& AB)93q6 BC)93q6 BC7{q#a& AB)93q6 BC)93q6 BCOOBHH[1_c!f=>OOBHH\A%5s1vczBCOOBHH\A%5s1vczBC! S" 	y 012	4 	y*:A>y*BAF{,FJ0NPQR0H!L!;\JKr   c           	        R EF  pV P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      R,           4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      R,           4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      R,           4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      R	,           4      4       EK  	  V P                  \        P                  \        P                  R
4       V P                  \        P                  \        P                  R4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  RR^ 4       V P                  RR^4       V P                  RR^ 4       V P                  RR^ 4       R# )r   ru  rv     0rx     8rz  r{  r|     zs   \u1234s
   \U00012345s   \0    s   \08s    8s   \01   s   \018s   8s   \567r~  s   \911r  s   \x1r  s   \x1zNr   r  r  r  r  r  r,  r  	r  rF   r|   rI  r-  rE   rG   rH   rO   r  s   & r   test_sre_byte_literalsReTests.test_sre_byte_literals  s   2AOOBHHhl%:%:%<eQCjIJOOBHHi!m%;%;%=uaSz$OPOOBHHi!m%;%;%=uaSz$OPOOBHHi!m%;%;%=uaSzJKOOBHHj1n%<%<%>qc
4PQOOBHHj1n%<%<%>qc
4PQ 3 	"//2::zB"//2::~F12(34'23845x 012	4 	x)EqIw(@!Dx)A1Er   c           	        R EF,  pV P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       V P                  \        P                  ! RV,          P                  4       \	        V.4      4      4       EK/  	  V P                  \        P                  \        P                  R	4       V P                  \        P                  \        P                  R
4       V P                  RR^4       V P                  RR^4       V P                  RR^4       R# )r   r  r  r  r  r  r  r  r  s   [\u1234]s   [\U00012345]s   [\567]r~  s   [\911]r  s   [\x1z]r  Nr  r  r  s   & r   test_sre_byte_class_literals$ReTests.test_sre_byte_class_literals  s   2AOOBHHhl%:%:%<eQCjIJOOBHHi!m%;%;%=uaSzJKOOBHHj1n%<%<%>qc
KLOOBHHkAo%=%=%?sLMOOBHHkAo%=%=%?sLMOOBHHkAo%=%=%?sLMOOBHHlQ&6%>%>%@%*MNOOBHHlQ&6%>%>%@%*MN 3 	"//2::|D"//2::7GHz 012	4 	z+;Q?z+CQGr   c                   V P                  R R^ 4       V P                  RR^ 4       V P                  RR^ 4       V P                  RR^ 4       V P                  RR^4       V P                  RR^4       V P                  R	R
^4       R# )r  zunterminated character setz[^z[az[a-z[\w-b]zbad character range \w-bz[a-\w]zbad character range a-\wz[b-a]zbad character range b-aNr  rY   s   &r   test_character_set_errors!ReTests.test_character_set_errors
  s    t%A1Eu&BAFu&BAF 	v'CQGy*EqIy*EqIx)BAFr   c                J   V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! R R4      P	                  ^4      R4       V P                  \        P                  ! R R4      P                  ^4      R4       R# )z(a)|(b)rc   Nrr  )rr  rr  )r?   rF   r|   startendrz   rY   s   &r   test_bug_113254ReTests.test_bug_113254  st    *c288;R@*c266q92>*c277:HEr   c                   V P                  \        P                  ! R R4      P                  4       V P	                  \        P                  ! RR4      P                  ^4       V P	                  \        P                  ! RR4      P
                  R4       V P	                  \        P                  ! RR4      P
                  R4       V P	                  \        P                  ! RR4      P                  ^4       R# )z(a)?ar   z(a)(b)?br   z(?P<a>a)(?P<b>b)?bz(?P<a>a(b))z((a))N)r{   rF   r|   	lastindexr?   	lastgrouprY   s   &r   test_bug_527371ReTests.test_bug_527371  s    "((8C0::;+d3==qA"7=GGM.$7AA3G(C0::A>r   c                P   V P                  \        P                  ! R RR,          R,           4      P                  ^ 4      R4       V P                  \        P                  ! RRR,          R,           RR,          ,           R,           4      P                  ^ 4      R	4       V P                  \        P                  ! RR
R,          R,           4      P                  ^ 4      R4       V P                  \        P                  ! RRR,          R,           4      P                  ^ 4      R4       R# )z.*?cr  r   r  i!N  z.*?cdi  r   cdei#N  i N  r   deia  z(a|b)*?cN)r?   rF   r|   r  ry   rY   s   &r   test_bug_418626ReTests.test_bug_418626"  s     	&%*T/:>>qA5I'49S=d+B5+HIMMaP	 '5;t+;<@@CUK 	:uTz$?CCAFNr   c                    R \         P                  ! R4      ,           R,           pT P                  \         P                  ! V4      ;'       d    ^^4       R# )r  u   ‹r  N)rF   r?  r?   rH   r  s   & r   test_bug_612074ReTests.test_bug_612074.  s:    		(##C'C..Q2r   c                   V P                  \        P                  ! R RR,          4      P                  ^4      R4       V P                  \        P                  ! RRR,          R,           4      P                  ^4      R4       V P                  \        P                  ! RRR,          R,           4      P                  ^4      R4       R# )z(x)*iP  r:   z(x)*yr;   z(x)*?yNr"  rY   s   &r   test_stack_overflowReTests.test_stack_overflow2  s     	&%)4::1=sC'59S=9??BCH(E#IcM:@@CSIr   c                    R F@  pR F7  pV P                  V: V: 2R^ 4       V P                  RV: V: R2R^4       K9  	  KB  	  R# )*znothing to repeat(?:r  Nr  +?z{1,2}r   r  r  )r   repsmods   &  r   test_nothing_to_repeatReTests.test_nothing_to_repeat9  sJ    *D&&s';':A?&&T3'?':A?  +r   c                    R Fg  pR F^  pW,           pR FM  pR FD  pWQ,           R9   d   K  WE,           pV P                  RV: V: 2R^\        V4      ,           4       KF  	  KO  	  K`  	  Ki  	  R# )r  r:   zmultiple repeatNr  )r   r  r  )r  r  )rO   rx  )r   
outer_reps	outer_modouter_op
inner_reps	inner_modinner_ops   &      r   test_multiple_repeatReTests.test_multiple_repeatA  sl    0J)	%1"8J%1	$1Z?$#-#9..8X/N 11s8}3DF	 &2 #9 * 1r   c                   V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       R# )z(?:a?)*yr}  z(?:a?)+yz(?:a?){2,}yz	(?:a?)*?yz	(?:a?)+?yz(?:a?){2,}?yN)r{   rF   r|   rY   s   &r    test_unlimited_zero_width_repeat(ReTests.test_unlimited_zero_width_repeatM  s    "((;45"((;45"((>378"((<56"((<56"((?C89r   c                    R  pR pR pR p\        RV3RV3RV3RV3R.4      pV P                  VP                  P                  R	4      P                  4       V P	                  VP                  R
4      . ROR	34       R# )c                     V# r   r   scannertokens   &&r   s_ident%ReTests.test_scanner.<locals>.s_identW  s    E\r   c                     R V,          # )zop%sr   r  s   &&r   
s_operator(ReTests.test_scanner.<locals>.s_operatorX  s    v~(=r   c                     \        V4      # r   )floatr  s   &&r   s_float%ReTests.test_scanner.<locals>.s_floatY  s    E%L%8r   c                     \        V4      # r   )r   r  s   &&r   s_int#ReTests.test_scanner.<locals>.s_intZ  s    #e*#4r   z[a-zA-Z_]\w*z\d+\.\d*r   z=|\+|-|\*|/Nr   zsum = 3*foo + 312.50 + bar)z\s+N)	sumzop=rw   zop*fooop+g     s@r  bar)r   r  r  rD   r?   scan)r   r  r  r  r  r  s   &     r   test_scannerReTests.test_scannerV  s    1=84g&'"UOZ(  	//3;;<&BC)*,.	/r   c                   R F{  pV P                  \        P                  ! RV,          R4      P                  4       R4       V P                  \        P                  ! RV,          R4      P                  4       R4       K}  	  R# )r   z
((.%s):)?zr}  Nza:z)r   r  r  r  )rA  r   r?   rF   r|   ra  )r   ops   & r   test_bug_448951ReTests.test_bug_448951j  sf     BRXXmB&6<CCE)+RXXmB&6>EEG(* r   c                V   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       V P                  \        P                  ! R
R4      P                  4       R4       R# )z	^((a)|b)*r   z^(([ab])|c)*z^((d)|[ab])*Nz^((a)c|[ab])*z^((a)|b)*?cz^(([ab])|c)*?dr  z^((d)|[ab])*?cz^((a)c|[ab])*?crs  )r   rc   rc   Nr  rY   s   &r   test_bug_725106ReTests.test_bug_725106s  s=   +u5<<>#	%.%8??A#	%.%8??A$	&/59@@B$	&-7>>@#	%"2F;BBD#	%"2E:AAC$	&"3U;BBD$	&r   c                    V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       R# )z(a)(?:(?=(b)*)c)*r}  Nz(a)((?!(b)*))*)r   Nr`  r  rY   s   &r   test_bug_725149ReTests.test_bug_725149  sR    "5u=DDF$	&"2E:AAC*	,r   c                     ! R  R\         4      p\        P                  ! V! R4      4      pV P                  VP	                  R4      4       R# )c                       ] tR tRtRtR# )+ReTests.test_bug_764548.<locals>.my_unicodei  r   Nr    r!   r"   r#   r$   r   r   r   
my_unicoder    s    tr   r  r   r   N)r   rF   rH   r{   r|   )r   r  r  s   &  r   test_bug_764548ReTests.test_bug_764548  s4    ##jjE*+#))E*+r   c                   \         P                  ! R R4      pT P                  V Uu. uF  q"P                  ^ 4      NK  	  up. RO4       \         P                  ! R 4      pVP                  R^^
4      pT P                  V Uu. uF  q"P                  ^ 4      NK  	  up. RO4       \         P                  ! R 4      pVP                  R^^
R7      pT P                  V Uu. uF  q"P                  ^ 4      NK  	  up. RO4       \         P                  ! R 4      pVP                  R^
^R7      pT P                  V Uu. uF  q"P                  ^ 4      NK  	  up. RO4       \         P                  ! R 4      pVP                  R^^R7      pT P                  V Uu. uF  q"P                  ^ 4      NK  	  upRR.4       R# u upi u upi u upi u upi u upi )r5  rJ  r7  r  )r  rK   NrM  )rF   r`   r?   r   rH   )r   iteritemr  s   &   r   test_finditerReTests.test_finditer  s   {{5,/D9DD**Q-D9+	- jj||L!R0D9DD**Q-D9+	- jj||La|;D9DD**Q-D9+	- jj||L|;D9DD**Q-D9+	- jj||La|:D9DD**Q-D9	') :
 :
 :
 :
 :s   F;G G:G
Gc                z    V P                  \        P                  ! R 4      \        P                  ! R4      4       R# )
bug_926075s
   bug_926075N)assertIsNotrF   rH   rY   s   &r   test_bug_926075ReTests.test_bug_926075  s'    L1M2	4r   c                x    R pV P                  \        P                  ! V4      P                  R4      . RO4       R# )u   [.。．｡]za.b.cNr  )r?   rF   rH   r   r   s   & r   test_bug_931848ReTests.test_bug_931848  s.    .G,227;&	(r   c                   \         P                  ! R R4      pV P                  \        V4      P	                  4       R4       V P                  \        \        V4       \         P                  ! R 4      P                  R4      pV P                  VP                  4       P	                  4       R4       V P                  VP                  4       4       R# )z\sr  N)rv   r   )rF   r`   r?   nextrz   rE   StopIterationrH   r  ry   r{   )r   r  r  s   &  r   test_bug_581080ReTests.test_bug_581080  s    {{5%(d*E2-t4**U#++E2)..0&9'..*+r   c                   \         P                  ! R R4      pV P                  \        V4      P	                  4       R4       V P                  \        V4      P	                  4       R4       V P                  \        \        V4       R# )z.*asdfNr  )r0  r0  )rF   r`   r?   r  rz   rE   r  )r   r  s   & r   test_bug_817234ReTests.test_bug_817234  sZ    {{5&)d*F3d*F3-t4r   c                    . ROpV F9  pV P                  \        P                  ! RV4      P                  ^ 4      V4       K;  	  . ROpV F)  pV P	                  \        P                  ! RV4      4       K+  	  R# )7z^\d$N)r  u   ๘u   ０)u   Ⅵu   〹u   ₂u   ㊴)r?   rF   r|   r   r{   )r   decimal_digitsr:   not_decimal_digitss   &   r   test_bug_6561ReTests.test_bug_6561  sh    
  ARXXgq177:A>   $Abhhw23 $r   )categoryc                0   ^ RI pR F  pVP                  V4      pV P                  \        P                  ! R4      P	                  V4      4       V P                  \        P                  ! R4      P	                  V4      P                  4       R4       K  	  R# )r   NbBhuwHiIlLfds   blar   r   )arrayr{   rF   rH   r|   r?   ra  )r   r!  typecoder   s   &   r   test_empty_arrayReTests.test_empty_array  sm     	&HH%Abjj066q9:RZZ_2215<<>C 'r   c                
   R pRp\         P                  ! RV,           \         P                  \         P                  ,          4      pVP	                  RV,           4      pV P                  V4       \         P                  ! RV,           \         P                  \         P                  ,          4      pVP	                  RV,           4      pV P                  V4       \         P                  ! RV,           \         P                  4      pVP	                  RV,           4      pV P                  V4       \         P                  ! RV,           \         P                  4      pVP	                  RV,           4      pV P                  V4       \         P                  ! RV,           4      pVP	                  RV,           4      pV P                  V4       \         P                  ! RV,           4      pVP	                  RV,           4      pV P                  V4       \         P                  ! RV,           4      pVP	                  RV,           4      pV P                  V4       \         P                  ! RV,           4      pVP	                  RV,           4      pV P                  V4       V P                  \         P                  ! RV,           V4      4       V P                  \         P                  ! RV,           V4      4       V P                  \         P                  ! RV,           V\         P                  4      4       V P                  \         P                  ! R	V,           V4      4       V P                  \         P                  ! R
V,           V\         P                  4      4       RpV P                  VR,           V^4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       V P                  RV^4       RRR4       V P                  RV,           V^4       V P                  RV,           R,           V^4       V P                  R
V,           V^4       V P                  RV,           V^4       V P                  RV,           V^4       V P                  RV,           R,           V^4       V P                  RV,           R,           V^	4       V P                  RV,           R,           V^
4       R#   + '       g   i     L; i)u   Ạu   ạr   r   z(?i).z(?is).z	(?s)(?i).z(?ix) z (?i) z
(?x) (?i) z (?x) (?i) z/global flags not at the start of the expressionz(?i)rX   s   A(?i)Nz	(?s).(?i)z(?i) z (?x)z^(?i)z$|(?i)z(?:(?i)r  z(^)?(?(1)(?i)z($)?(?(1)|(?i))rF   rH   r   r   r|   r  r   rO   warningscatch_warningssimplefilterBytesWarning)r   
upper_char
lower_charr  qr<   s   &     r   test_inline_flagsReTests.test_inline_flags  s   

JJsZ'5GGD:%&JJsZ'5GGD:%&JJw+RTT2GGD:%&JJw+RTT2GGD:%&JJx*,-GGD:%&JJx*,-GGD:%&JJ{Z/0GGD:%&JJ{Z/0GGD:%&J!6
CDJ!6
CDJ!6
BDDIJ
!:JGH!;ZNO?zF2C; $$&&!!'<8""8S!4 ' 	{Z7a@w3g=sAF}z93Bw3S!<x*4c1=y:5;S!D;cA3J/*<sBCL '&s   /S88T	c                   \         P                  ! R4      pV P                  VP                  RR4      R4       V P                  VP                  RR4      R4       V P                  VP                  RR4      R4       \         P                  ! R\         P                  4      pV P                  VP                  RR4      R	4       V P                  VP                  RR4      R
4       V P                  VP                  RR4      R4       R# )z_Test that $ does not include \n
$ matches the end of string, and just before the terminating \n$#za
b
za
b#
#za
b
cza
b
c#r   z#
#za#
b#
#za#
b#
c#N)rF   rH   r?   rS   rl  r   s   & r   test_dollar_matches_twice!ReTests.test_dollar_matches_twice  s     **S/S(3Z@S)4jAS$/8**S",,/S(4kCS)4lCS$/8r   c                z   \         P                  ! R 4      p\         P                  ! R4      pV P                  \        VP                  R4       V P                  \        VP                  R4       V P                  \        VP
                  RR4       V P                  \        VP
                  RR4       V P                  \        VP
                  RR4       V P                  \        VP
                  RR4       V P                  \        VP
                  RR4       V P                  \        VP
                  RR4       R# )r      .r>  rc   r   r?  N)rF   rH   rE   r   r|   rS   )r   r  bpats   &  r   test_bytes_str_mixingReTests.test_bytes_str_mixing,  s    jjozz$)SYY5)TZZ5)SWWdC8)SWWc48)SWWdD9)TXXtS9)TXXsD9)TXXsC8r   c                0   ^ \         P                  3 F  p\         P                  ! RV\         P                  ,          4      pV P	                  VP                  R4      4       \         P                  ! RV4      pV P	                  VP                  R4      4       K  	  \         P                  ! R\         P                  \         P                  ,          4      pV P                  VP                  R4      4       \         P                  ! R\         P                  4      pV P                  VP                  R4      4       \         P                  ! R\         P                  4      pV P                  VP                  R4      4       \         P                  ! R4      pV P                  VP                  R4      4       ^ \         P                  3 F  p\         P                  ! RV\         P                  ,          4      pV P                  VP                  R4      4       \         P                  ! RV4      pV P                  VP                  R4      4       K  	  V P                  \        \         P                  R\         P                  4       V P                  \         P                  \         P                  R	4       V P                  \        \         P                  R\         P                  \         P                  ,          4       V P                  \        \         P                  R
\         P                  4       V P                  \        \         P                  R\         P                  4       V P                  \         P                  \         P                  R4       R# )r      Àr   z\wu   (?a)Àz(?a)\w         \ws   (?u)\wz(?u)\wz(?au)\wN)rF   rZ  rH   rj  r  r|   r  r{   rE   r   rG   )r   r   r  s   &  r   test_ascii_and_unicode_flag#ReTests.test_ascii_and_unicode_flag9  s0   _E**VUR]]%:;COOCIIf-.**UE*COOCIIf-.	 %
 jjBMM!9:#))F+,jjR]]3#))F+,jj)#))F+,jj##))F+,]E**Webmm&;<Ccii01**VU+Ccii01	 # 	*bjj&"**E"//2::zB*bjj%bhh9NO*bjj)RXXF*bjj)RZZH"//2::zBr   c                   \         P                  ! 4       p\        ^R4       F  p \        V.4      P	                  V4      pVP                  4       pWC8X  d   K7  VP                  V4      p\        V4      ^8w  d   KZ  VP	                  V4      V8w  d   Kr  \        P                  ! \        V.4      4      p M	  RpRp\        P                  ! V\        P                  \        P                  ,          4      pV'       d!   V P                  VP!                  V4      4       \        P                  ! RV,           \        P                  4      pV'       d!   V P                  VP!                  V4      4       \        P                  ! V\        P                  4      pV'       d!   V P#                  VP!                  V4      4       \        P                  ! R\        P                  4      pV'       d!   V P                  VP!                  V4      4       \        P                  ! R4      pV'       d!   V P                  VP!                  V4      4       \        P                  ! R4      pV'       d!   V P#                  VP!                  V4      4       V P%                  \&        \        P                  R\        P                  4       V P%                  \        P(                  \        P                  R4       V P%                  \&        \        P                  R	\        P                  \        P*                  ,          4       V P%                  \&        \        P                  R\        P*                  4       V P%                  \&        \        P                  R
\        P                  4       V P%                  \        P(                  \        P                  R4       R#   \        \        3 d     EK  i ; i)r,  r  Nr  s   (?L)r=  s   (?L)\wr   z(?L)r   s   (?a)s   (?aL))localegetpreferredencodingr
  r-  r.  r  rI  rx  rF   r?  UnicodeErrorr   rH   r  rj  r  r|   r{   rE   r   rG   r  )r   encr  r   sletterbletterr6  r  s   &       r   test_locale_flagReTests.test_locale_flagV  sr   ))+sCA
1#J%%c*'')<!..-w<1$h>>#&'18yys, ! GDjjryy2==89OOCIIg./jj47OOCIIg./jjr}}-cii01jj+OOCIIg./jj$OOCIIg./jj cii01*bjj"bii@"//2::v>*bjj#ryy2887KL*bjj'288D*bjj'299E"//2::x@= !), s#   1O!O<O OO#"O#c                F   V P                  \        P                  ! R R4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P
                  4      4       V P                  R	R
^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  RR^ 4       V P                  RR^4       V P                  RR^4       V P                  RR^4       R # )!z(?i:a)bAbaBz(?-i:a)bz(?i:(?-i:a)b)z\w(?a:\W)\wu   àààz(?a:\W(?u:\w)\W)z\W(?u:\w)\Wz(?a)(?-a:\w)z8bad inline flags: cannot turn off flags 'a', 'u' and 'L'z(?i-i:a)z(bad inline flags: flag turned on and offz(?au:a)z9bad inline flags: flags 'a', 'u' and 'L' are incompatibles   (?aL:a)z(?-zmissing flagz(?-+z(?-zunknown flagz(?-iz	missing :z(?-i)z(?-i+z(?-izz(?i:r  (?imissing -, : or )z(?i+z(?izN)r  rF   r|   r{   rj  r  rO   rY   s   &r   test_scoped_flagsReTests.test_scoped_flags  s   T23"((:t45"((;bmmDEdBMMBC"((#3T:;!1489@A!4nEFJKJA	O{:A	?zKQ	P{KQ	P 	v~q9w:w:wQ7xa8xa8x;w(LaPv':A>w(;Q?w:r   c                   R  F?  pV P                  \        P                  ! VR,           R\        P                  4      4       KA  	  R F?  pV P                  \        P                  ! VR,           R\        P                  4      4       KA  	  V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR	\        P                  4      4       V P                  \        P                  ! R
R	4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       R# )z 	
r   r^   z(?x) az (?x) az(?x) (?x) az a(?x: b) cz ab cz a(?-x: b) cr  z(?x) a(?-x: b) cz	(?x) a| brc   N)r     	   
         r  rF   r  rm  )r   spaces   & r   test_ignore_spacesReTests.test_ignore_spaces  s   "EOOBLLc2::FG #<EOOBLLtRZZHI =Xs34YRZZ@A]C89]G<=^VRZZHI%7@A[#67[#67r   c                v   V P                  \        P                  ! R R\        P                  4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR\        P                  4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R	R
\        P                  4      4       V P                  \        P                  ! RR
4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       R# )z#x
ar   s   #x
ar^   z(?x)#x
az#x
(?x)#y
az(?x)#x
(?x)#y
az#x
a(?x:#y
b)#z
cz	#x
ab#z
cz#x
a(?-x:#y
b)#z
cza#y
bcz(?x)#x
a(?-x:#y
b)#z
cz(?x)#x
a|#y
brc   NrW  rY   s   &r   test_commentsReTests.test_comments  s   Wc2::>?XtRZZ@A[#67_c2::FG%8#>?%;]KL%<i%'ZZ1 	2%@)LM%6<=%6<=r   c                   \         P                  ! R 4      pV P                  VP                  RR4      R4       \         P                  ! R4      pV P                  VP                  RR4      R4       \         P                  ! R4      pV P                  VP                  R R	4      R
4       \         P                  ! R4      pV P                  VP                  RR4      R4       \         P                  ! R4      pV P                  VP                  RR4      R4       \         P                  ! R4      pV P                  VP                  R R4      R4       R# )za(\w)zb\1rX  rY  za(.)u   aሴu   bሴz..c                     R # )r   r   r   s   &r   r   'ReTests.test_bug_6509.<locals>.<lambda>  s    5r   a5r   s   a(\w)s   b\1s   acs   bcs   a(.)s   as   bs   ..c                     R # )   bytesr   r   s   &r   r   r`    s    8r   s   a5rc  N)rF   rH   r?   rS   r  s   & r   test_bug_6509ReTests.test_bug_6509  s     jj".5jj 3Y?jj$7? jj#%0%8jj!(3X>jj!3U;XFr   c                   V P                  \        P                  ! R R4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! R R4      4       R# )z123.*-z123abc-u   123é-u   123€-u   123􏿿-u   123é€􏿿-N)r  rF   ry   rY   s   &r   test_search_dot_unicodeReTests.test_search_dot_unicode  sw    		(I67		(J78		(L9:		(,<=>		(,FGHr   c                J   \         P                  ! R 4      pV P                  V\         P                  4       \         P                  ! V4      pV P                  V\         P                  4       V P	                  W!4       V P                  \        \         P                  ^ 4       R# )random patternN)rF   rH   assertIsInstancePatternr6   rE   r   )r   rD   same_patterns   &  r   test_compileReTests.test_compile  si    **-.grzz2zz'*lBJJ7l,)RZZ3r   )sizememusec                    R V,          p\         P                  ! RV4      pV P                  V4       V P                  VP	                  4       V4       V P                  VP                  4       V4       R# )r   r0  N)rF   ry   assertIsNotNoner?   r  r  )r   rp  rj   r   s   &&  r   test_large_searchReTests.test_large_search  sW     $JIIc1QD)$'r   c                    R V,          p\         P                  ! RRV4      w  r4V P                  W24       V P                  WA^,           4       R# )r   r   N)rF   r   r?   )r   rp  rj   r  ns   &&   r   test_large_subnReTests.test_large_subn  sA     $Jwwr2q!1H%r   c                    V P                  \        P                  ! R R4      R.4       V P                  \        P                  ! RR4      P	                  4       R4       R# )z	(?i)(a)\1u   aa Ār   z
(?s).{1,3}u   ĀĀNr   )r?   rF   ri   r|   rz   rY   s   &r   test_bug_16688ReTests.test_bug_16688  sE     	L+>F-@EEGPr   c                >   R R,          pV P                  \        P                  ! RV4      P                  4       R4       V P                  \        P                  ! RV4      P                  4       R4       V P                  \        P                  ! RV4      P                  4       R4       V P                  \        P                  ! RV4      P                  4       R4       V P                  \        P                  ! RV4      P                  4       R4       V P                  \        P                  ! RV4      P                  4       R4       V P	                  \
        \        P                  R^^,          ,          4       V P	                  \
        \        P                  R	^^,          ,          4       V P	                  \
        \        P                  R
^^,          ,          4       V P	                  \
        \        P                  R^^,          ^^,          3,          4       R# )r:   順 z.{65535}z	.{,65535}z
.{65535,}?z.{65536}z	.{,65536}z
.{65536,}?.{%d}.{,%d}.{%d,}?z.{%d,%d}N)r   r  )r   r  )r?   rF   r|   rz   rE   OverflowErrorrH   )r   rT   s   & r   test_repeat_minmax_overflow#ReTests.test_repeat_minmax_overflow  sh   v+v6;;=zJ,7<<>
K-8==?L+v6;;=zJ,7<<>
K-8==?L-X35FG-YC5GH-Z!S&5HI-[AsFAsFCS5STr   c                L   R R,          pRpRpV P                  \        P                  ! VR,          V4      P                  4       R4       V P                  \        P                  ! VR,          V4      P                  4       R4       \        P                  ! VR	,          4       \        P                  ! VR
,          4       \        P                  ! VR,          4       \        P                  ! VR	,          4       \        P                  ! VR
,          4       \        P                  ! VR,          4       RpV P                  \        P                  V\        P                  VR,          4       V P                  \        P                  V\        P                  VR,          4       R# )r:   i%& z(?<=((.{%d}){%d}){%d})z(?<!((.{%d}){%d}){%d})zlooks too much behindN)r,  r,  r,  )    r  rt   )  @ rv   rv   )rv   r  rv   )rv   rv   r  )r  r  r  )r?   rF   ry   rz   rH   r   rX   )r   rT   p1p2rL   s   &    r   test_look_behind_overflow!ReTests.test_look_behind_overflow
  s"   y&& 	2(:#:FCHHJ'	)2(:#:FCHHJ	! 	

2%&


2%&


2%&


2%&


2%&


2%&(rxxRBW=WXrxxRBW=WXr   c                ,    V P                  R R^4       R# )z
(?P=<foo>)z#bad character in group name '<foo>'Nr  rY   s   &r   $test_backref_group_name_in_exception,ReTests.test_backref_group_name_in_exception!  s    |Da	Ir   c                ,    V P                  R R^4       R# )z
(?P<?foo>)z"bad character in group name '?foo'Nr  rY   s   &r   test_group_name_in_exception$ReTests.test_group_name_in_exception&  s    |CQ	Hr   c                   R F  pR F  pRV,           V,           R,           pV P                  \        P                  ! V\        P                  4      P	                  R4      R.VR7       VP                  4       pV P                  \        P                  ! V\        P                  4      P	                  R4      R.VR7       K  	  K  	  R# )	r  r   yzr   )r<   r   N)r  r  r  z{1}r  )r?   rF   rH   r   ri   rI  )r   r  r  rD   s   &   r   test_issue17998ReTests.test_issue17998+  s    (D*s*T1  GRTT!:!B!B5!I"'g ! 7!..*  GRTT!:!B!B6!J"(w ! 8  )r   c                ~   R \        R 4      3 Ff  p\        P                  ! RV4      pR\        V4      P                  : R\        V4      P
                  : R2pV P                  \        V4      V4       Kh  	  R\        R4      \        R4      \        R4      3 Ff  p\        P                  ! RV4      pR\        V4      P                  : R\        V4      P
                  : R2pV P                  \        V4      V4       Kh  	  \        \        P                  ! RR	4      4      w  rER\        V4      P                  : R\        V4      P
                  : R
2pV P                  \        V4      V4       R\        V4      P                  : R\        V4      P
                  : R2pV P                  \        V4      V4       R# )z[abracadabra]z(.+)(.*?)\1z<(z\.)?z- object; span=\(1, 12\), match='abracadabra'>s   [abracadabra]s   (.+)(.*?)\1z. object; span=\(1, 12\), match=b'abracadabra'>z	(aa)|(bb)zaa bbz# object; span=\(0, 2\), match='aa'>z# object; span=\(3, 5\), match='bb'>N)r   rF   ry   r7   r!   r"   assertRegexreprr+   r_   r   r4   r`   )r   rT   r   rD   r  r  s   &     r   test_match_reprReTests.test_match_repr5  sV   %q'99F		.&1AQ""DG$8$8G T!Wg. : (+;)< !12!"235F 		/62AQ""DG$8$8G T!Wg.5 R[[g>?vL##T&\%>%>
 	eg.L##T&\%>%>
 	fw/r   c                   V P                  \        P                  ! R R4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RR	R4      R
4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       T P                  \        P
                  ! RR4       Uu. uF  qP                  4       NK  	  up. RO4       T P                  \        P
                  ! RR4       Uu. uF  qP                  4       NK  	  up. RO4       R# u upi u upi )r=  za::bcz\b|:+z(?<!\w)(?=\w)|:+z(?<=\w)(?!\w)|:+r  z	-a-::-bc-z-a---bc-z(\b|:+)z[\1]z[]a[][::][]bc[]z\b|\w+N)r   r   r7  rY  r   )r   r   r   r   rY  r   )r   r   r   rY  )r   r   rY  r   )r   r   r7  r   r   )rt   r  ru   rw   rw   r  r  )rt   r   r  r  )rw   r  r  )r?   rF   r   rS   ri   r`   rz   r   r   s   & r   test_zerowidthReTests.test_zerowidthO  sy   %13LM(G46QR"5w?ATU"5w?ATUsG4kB#w7D
GW=?PQHg68NOIw74	6 	BKK',JK,Jq&&(,JKA	CBKK	7,KL,Kq&&(,KLI	K LLs   G=Hc                N   R F  pR	 F  p\         P                  ! RV: RV: 24      pVP                  R4      pV P                  VP	                  ^ 4      R4       V P                  VP	                  ^4      R4       V P                  VP	                  ^4      R4       K  	  K  	  R# )
{0,}z^((x|y)r  xyyzyxyyr   r;   N)r  r  r  z{1,187})r  r  r  )rF   rH   r|   r?   r   )r   r  r  r  r   s   &    r   test_bug_2537ReTests.test_bug_2537c  s    5H.JJ8DEGGG$  U3  R0  S1 / 6r   c                r   \         P                  ! R 4      pV P                  VP                  R^^
R7      P	                  4       R4       V P                  VP                  R^^	R7      P	                  4       R4       V P                  VP                  R^^
R7      P	                  4       R4       V P                  VP                  R^^
R7      R.4       V P                  VP                  R^R7      . RO4       V P                  VP                  R^^
R7      P                  4       P	                  4       R4       R# )z(ab)abracadabra)rT   rK   r  r   )rT   r   N)rN  	   )r   r   	racadabra)
rF   rH   r?   r|   rz   r  ry   ri   r   r  r  s   & r   test_keyword_parametersReTests.test_keyword_parametersm  s   jj!II]"I=BBDf	NMMAaM@EEG	QJJm2J>CCEv	OKK}!BK?$	III]QI7#	% 	KK}!BK?FFHMMO	r   c                    V P                  \        P                  ! R R\        P                  4      P	                  4       R4       R# )z[a-c]+r   Nrx   )r?   rF   r  r   rz   rY   s   &r   test_bug_20998ReTests.test_bug_20998  s.     	hrtt<AACVLr   zmusl libc issue, bpo-46390c                F   \         P                  ! \         P                  4      pV P                  \         P                  \         P                  V4       R F)  p \         P                  ! \         P                  V4       K+  	  \        P                  ! 4        V P                  4        V P                  4        \        P                  ! 4        V P                  4        V P                  4        R#   \         P                   d    T P                  RT,          4        K  i ; i)en_US.iso88591test needs %s localeNr  
en_US.utf8)
rA  	setlocaleLC_CTYPE
addCleanupErrorskipTestrF   r  check_en_US_iso88591check_en_US_utf8)r   	oldlocalelocs   &  r   test_locale_cachingReTests.test_locale_caching  s     $$V__5	((&//9E1C<  #6 2 	
!!#

!!# << <4s:;<s   %C//-D D c                   \         P                  ! \         P                  R 4       V P                  \        P
                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P
                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P
                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P
                  ! RR4      4       V P                  \        P
                  ! RR4      4       V P                  \        P
                  ! RR4      4       R# )r              (?Li)   (?Li)   (?Li)N)rA  r  r  r  rF   r|   rk  r   rY   s   &r   r  ReTests.check_en_US_iso88591  s    *:;k2449EF'2449=>'2449=>!1;?@w78w78r   c                   \         P                  ! \         P                  R 4       V P                  \        P
                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P
                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P
                  ! RR\        P                  \        P                  ,          4      4       V P                  \        P
                  ! RR4      4       V P                  \        P
                  ! RR4      4       V P                  \        P
                  ! RR4      4       R# )r  r  r  r  r  r  r  N)	rA  r  r  r  rF   r|   rk  r   r{   rY   s   &r   r  ReTests.check_en_US_utf8  s    ,7k2449EF"((7GRTT"$$Y?@"((7GRTT"$$Y?@!1;?@"((<9:"((<9:r   c                   \         P                  ! \         P                  4      pV P                  \         P                  \         P                  V4       R F)  p \         P                  ! \         P                  V4       K+  	  \         P                  ! \         P                  R 4       \        P                  ! R\        P                  \        P                  ,          4      p\        P                  ! R\        P                  \        P                  ,          4      p\        P                  ! R\        P                  \        P                  ,          4      p\        P                  ! R\        P                  \        P                  ,          4      pW4V3 Fc  pV P                  VP                  R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       Ke  	  V P                  VP                  R	4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       \         P                  ! \         P                  R4       W4V3 Fc  pV P                  VP                  R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       Ke  	  V P                  VP                  R	4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       R
#   \         P                   d    T P                  RT,          4        EK(  i ; i)r  r  r  r  s   [a][a]s
   [az][az]s   [^][^]s   s   s   Nr  )rA  r  r  r  r  r  rF   rH   rk  r   r  r|   r{   )r   r  r  r  r  p3p4r  s   &       r   test_locale_compiledReTests.test_locale_compiled  sE   $$V__5	((&//9E1C<  #6 2 	*:;ZZRTT"$$Y/ZZ)24495ZZ+RTT"$$Y7ZZ)24495AOOAGGK01OOAGGK01OOAGGK01  	"((;/0"((;/0"((;/0,7AOOAGGK01aggk23aggk23  	-."((;/0"((;/01 << <4s:;;<s   %M-M?>M?c                l   V P                  \        P                  4      ;_uu_ 4       p\        P                  ! R 4       RRR4       XP                  pV P                  VP                  \        4       V P                  VP                  R 4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  \        V4      4       V P                  R\        V4      4       V P                  RVP                  4       V P                  \        P                  4      ;_uu_ 4       p\        P                  ! R4       RRR4       VP                  pV P                  VP                  \        4       V P                  VP                  R4       V P                  VP                  ^4       V P                  \        P                  4      ;_uu_ 4       p\        P                  ! R\        P                   4       RRR4       VP                  pV P                  VP                  ^M4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  \        V4      4       V P                  R\        V4      4       V P                  R\        V4      4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i)u   (€))Nz at position 3s   ())zq
                (
                    abc
                )
                )
                (
                z at position 77z(line 5, column 17))rE   rF   rG   rH   rJ   rk  rD   r   r?   rK   linenocolnoassertInr<   assertNotInr-  rm  )r   rM   rN   s   &  r   
test_errorReTests.test_error  s   r//2JJ{# 0llckk3/k2!$Q'A&cggs3x(&C1)3773r//2JJz" 0llckk51j1!$r//2JJ  ZZ! 0 ll"%Q'B'cggs3x('S2+SX6C 0// 0// 0/s#   K;&L&L#;L	L 	#L3	c                   V P                  R R^ 4       V P                  RR^ 4       V P                  RR^4       V P                  RR^4       V P                  RR^4       V P                  R	R
^4       V P                  RR^4       V P                  RR^ 4       V P                  RR^4       V P                  RR^4       V P                  RR^4       R# )rL  r  z((a|b)z(a|b))zunbalanced parenthesisz(?Pzunexpected end of patternz(?z)zunknown extension ?zz(?iz)rL  rM  rN  z(?#abczmissing ), unterminated commentz(?<z(?<>)zunknown extension ?<>z(?Nr  rY   s   &r   test_misc_errorsReTests.test_misc_errors  s    t%I1My*NPQRy*BAFv'BAFw(>Bx;v':A>y*KQOv'BAFx)@!Du&A1Er   c                    V P                  R \        \        P                  4      4       V P                  R\        \        P                  4      4       R# )r  r  N)r  r   rF   r   r   rY   s   &r   	test_enumReTests.test_enum  s0     	gs244y)hBDD	*r   c                    \         P                  ! R \         P                  4      pV P                  W4       V P	                  W8g  4       \         P
                  ! 4        \         P                  ! R \         P                  4      pV P                  \        V4      \        V4      4       V P                  W!4       \         P
                  ! 4        \         P                  ! R\         P                  4      pV P                  W14       \         P
                  ! 4        \         P                  ! R 4      pV P                  WA4       V P                  \        4      ;_uu_ 4        W8   RRR4       R#   + '       g   i     R# ; i)r   XYZN)
rF   rH   rj  r?   assertFalser  hashassertNotEqualrE   r   )r   pattern1pattern2pattern3pattern4s   &    r   test_pattern_compareReTests.test_pattern_compare	  s    ::eR]]3 	,-. 	
::eR]]3hh8, 	
::eR]]3 	H/ 	
::e$H/ y)) *)))s   E,,E=	c                   \         P                  ! R 4      p\         P                  ! 4        \         P                  ! R 4      pV P                  \	        V4      \	        V4      4       V P                  W!4       \         P                  ! 4        \         P                  ! R4      p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       V P                  W14       RRR4       R#   + '       g   i     R# ; i)r  r   rX   N)
rF   rH   r  r?   r  r&  r'  r(  r)  r  )r   r  r  r  s   &   r   test_pattern_compare_bytes"ReTests.test_pattern_compare_bytes	  s    ::f% 	
::f%hh8, 	
::e$$$&&!!'<83 '&&&s   ?-C66D	c                   \        R 4      p\        P                  ! RV4      p\        P                  ! RV4      pV P                  VP	                  4       R 4       V P                  VP	                  4       R4       RVR&   V P                  VP	                  4       R4       V P                  VP	                  4       R4       R# )s   abcdefghs   [a-h]+s   [e-h]+s   efghr   :NNNr   N)r_   rF   ry   r?   r   )r   rj   r   m2s   &   r   test_bug_29444ReTests.test_bug_29444/	  s    k"IIi#YYy!$K0W-!F+S)r   c           	        R pRpV P                  \        P                  ! W!4      P                  4       R4       RpRpV P                  \        P                  ! W!4      RR.4       T P                  \        P
                  ! W!4       Uu. uF  q3P                  4       NK  	  upRR.4       RpRpV P                  \        P                  ! W!4      RR.4       T P                  \        P
                  ! W!4       Uu. uF  q3P                  4       NK  	  upR
RRR/R
R	RR/.4       RpT P                  \        P
                  ! W!4       Uu. uF  q3P                  4       NK  	  upR
RRR/R
RRR/.4       RpT P                  \        P
                  ! W!4       Uu. uF  q3P                  4       NK  	  upR
RRR/R
RRR/R
RRR/.4       R# u upi u upi u upi u upi )za	xz\b(?=(\t)|(x))xNr   z(?=(.)(.)?)z1(?=<(?P<tag>\w+)/?>(?:(?P<text>.+?)</(?P=tag)>)?)z<test><foo2/></test>r   <foo2/>foo2tagr7  z<test>Hello</test><foo/>Hellor  z<test>Hello</test><foo/><foo/>)Nr:   r  )rc   r   r  )r   r  )r  r   )r?   rF   ry   ra  ri   r`   r  r   rj   r  r   s   &   r   test_bug_34294ReTests.test_bug_342949	  s    1//1;? A)$i0	2bkk!.?@.?((*.?@$k2	4 A"A)-|<	>Q1BC1BA++-1BC &&)< &&$79	: 'Q1BC1BA++-1BC &&': %68	9 -Q1BC1BA++-1BC &&': %6 %68	9! A D D Ds   G9GGGc                   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       R# )z	(ab|a)*?br   z	(ab|a)+?bz(ab|a){0,2}?bz	(.b|a)*?bNr^  r  rY   s   &r   test_MARK_PUSH_macro_bug ReTests.test_MARK_PUSH_macro_bug[	  s     	,5<<>G,5<<>G"2D9@@BFK,5<<>Gr   c                l   R pRpV P                  \        P                  ! W!4      P                  4       R4       RpRp\        P                  ! W!4      pV P                  VP	                  4       R4       V P                  VP	                  ^4      R4       V P                  VP                  4       R4       R# )	axxzbczz(?:(?:a|bc)*?(xx)??z)*xtcxyzxcz((x|yz)+?(t)??c)*Nr   )r   r  )   rN  )xyzxcr:   tr?   rF   r|   ra  rz   r  s   &   r   test_MIN_UNTIL_mark_bugReTests.test_MIN_UNTIL_mark_bugc	  s     %!..0':  HHQN6*F+%89r   c                \   R pRp\         P                  ! W!4      pV P                  VP                  4       R4       V P                  VP                  ^4      R4       V P                  VP	                  4       R	4       RpRp\         P                  ! W!4      pV P                  VP                  4       R
4       V P                  VP                  ^4      R4       V P                  VP	                  4       R	4       V P                  \         P                  ! RR4      P	                  4       R4       R# )aabaabz(?:[^b]*a(?=(b)|(a))ab)*Nababz(?:[^b]*(?=(b)|(a))ab)*z(ab?)*?br   )r   r  )r0  r  r  r  )r   rw   r^  rF   r|   r?   rz   ra  r  s   &   r   test_REPEAT_ONE_mark_bug ReTests.test_REPEAT_ONE_mark_bugr	  s     'HHQN6*F+[1 &HHQN6*F+[1+t4;;=vFr   c                l   R pRp\         P                  ! W!4      pV P                  VP                  4       R4       V P                  VP                  ^4      R4       V P                  VP	                  4       R4       RpRpV P                  \         P                  ! W!4      P	                  4       R4       R# )	r  z(?:.*?(?=(a)|(b))b)*Naxxzazz(?:a*?(xx)??z)*r  rw   r0  )Nrc   r  r  r  s   &   r   test_MIN_REPEAT_ONE_mark_bug$ReTests.test_MIN_REPEAT_ONE_mark_bug	  s     #HHQN6*F+[1!..0':r   c                   V P                  \        P                  ! R R4      P                  4       R4       \        P                  ! RR4      pV P                  VP	                  4       R4       V P                  VP	                  ^4      R4       V P                  VP	                  ^4      R4       V P                  VP                  4       R4       R# )	z	(?!(..)c)r   Nz((?!(ab)c)(.))*r  r   r  r  )rc   Nrc   r   r  s   & r   test_ASSERT_NOT_mark_bug ReTests.test_ASSERT_NOT_mark_bug	  s     	,5<<>H HH'06*F+F+%56r   c                T   V P                  \        R 4      ;_uu_ 4        \        P                  ! R^4       RRR4       V P                  \        R4      ;_uu_ 4        \        P                  ! R\        4       RRR4       R#   + '       g   i     LT; i  + '       g   i     R# ; i)z	got 'int'rn   Nz
got 'type')r   r   rF   ry   r7   rY   s   &r   test_bug_40736ReTests.test_bug_40736	  sd    ##I{;;IIdA <##I|<<IIdD! =< <;<<<s   BBB	B'	cpuc                P   R R,          p\        4       ;_uu_ 4       pR F  pV P                  \        P                  ! W14      4       V P	                  \        P
                  ! W14      V.4       V P	                  \        P                  ! W14      . 4       V P	                  \        \        P                  ! W14      4      . 4       V P	                  \        P                  ! VRV4      V4       K  	  RRR4       V P                  XP                  R4       R#   + '       g   i     L.; i)r:   r   Ng?i )z\Ayz^y)r   r{   rF   ry   r?   r   ri   r4   r`   rS   
assertLessseconds)r   rj   	stopwatchr  s   &   r   test_search_anchor_at_beginning'ReTests.test_search_anchor_at_beginning	  s    I[[I"!!"))A/2  !!5  A!126  bkk!&7!8"=  2q!115 #  		))3/ [s   CDD%	c                n	   V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      P	                  ^ 4      R4       V P                  \        P                  ! RR4      P	                  ^ 4      R4       V P                  \        P                  ! RR4      P	                  ^ 4      R4       V P                  \        P                  ! RR	4      4       V P                  \        P                  ! R
R4      P                  4       R&4       V P                  \        P                  ! RR4      P                  4       R&4       V P                  \        P                  ! RR4      P                  4       R'4       V P                  \        P                  ! RR4      P                  4       R'4       V P                  \        P                  ! RR4      P                  4       R(4       V P                  \        P                  ! RR4      P                  4       R)4       V P                  \        P                  ! RR4      P                  4       R(4       V P                  \        P                  ! RR4      P                  4       R*4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! RR4      P	                  ^4      R4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! R!R4      4       V P                  \        P                  ! R"R4      4       V P                  \        P                  ! R#R4      4       V P                  \        P                  ! R#R$4      4       R%# )+zTest Possessive Quantifiers
Test quantifiers of the form @+ for some repetition operator @,
e.g. x{3,5}+ meaning match from 3 to 5 greadily and proceed
without creating a stack frame for rolling the stack back and
trying 1 or more fewer matches.ze*+eeeeeze++aeeeaze?+aeaze{2,4}+az(.)++.eez(ae)*+aaeaz([ae][ae])?+az(e?){2,4}+az()*+ar   zx*+ro   zx++a*+rq   rr   a++z
^(\w){1}+$r   z^(\w){1,2}+$z
^(\w){3}+$r   z^(\w){1,3}+$z^(\w){1,4}+$z^x{1}+$z	^x{1,2}+$z^x{3}+$z	^x{1,3}+$z	^x{1,4}+$z^x{}+$r  N)ae)r   rt   ru   rx   )	r{   rF   r|   r?   r   ra  ry   rz   r  rY   s   &r   test_possessive_quantifiers#ReTests.test_possessive_quantifiers	  s2    	"((6623&&177:FC&$/55a8$?*f5;;A>G"((8T23)U3::<gF/59@@B 	"-8??A	 '3/668%@5%0557@5%0557@%/446?%0557@"((5%01"((=%89"((?E:;-7==a@#F/59??BCH/59??BCH"((9e45"((;67E23e45e45"((8U34512r   c                &   V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R	R4      4       V P                  \        P                  ! R
R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R
R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       R# )r"  r   r!  a?+a{1,3}+r   za++bza*+bza?+bza{1,3}+b(?:ab)++(?:ab)*+(?:ab)?+(?:ab){1,3}+r   z	(?:ab)++cz	(?:ab)*+cz	(?:ab)?+cz(?:ab){1,3}+cNr  rF   r  r{   rY   s   &r   %test_fullmatch_possessive_quantifiers-ReTests.test_fullmatch_possessive_quantifiers	  s;   VS12VS12VS12Z56",,vt45",,vt45",,vt45",,z489Wd34Wd34Wd34[$78[$78[$78[$78_d;<",,{E:;",,{E:;",,{E:;",,>?\59:\59:\59:%5u=>r   c                   V P                  \        P                  ! R R4      R.4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! R	R4      . RO4       V P                  \        P                  ! R
R4      . RO4       V P                  \        P                  ! RR4      R.4       R# )r"  aabr  r!  r'  r(  r)  ababcr  r*  r+  r,  Nr  r   r   r   r   r   r   r  r   r   r   r   r   r   rS  rY   s   &r   #test_findall_possessive_quantifiers+ReTests.test_findall_possessive_quantifiers	  s    FE2TF;FE2NCFE24FGJ6?K9F8DK9;KLK9;OPOW=xHr   c                .   \         P                  ! R4      pV P                  VP                  R4      4       V P	                  VP                  R4      4       V P                  \         P                  ! RR4      4       V P	                  \         P                  ! RR4      4       V P	                  \         P                  ! RR4      4       V P                  \         P                  ! RR4      4       V P                  \         P                  ! R	R4      4       R
# )zTest Atomic Grouping
Test non-capturing groups of the form (?>...), which does
not maintain any stack point created within the group once the
group is finished being evaluated.z
a(?>bc|b)cr   abccz(?>.*).z(?>x)++rq   z(?>x++)z(?>x)++xz(?>x++)xN)rF   rH   r{   r|   r  )r   r  s   & r   test_atomic_groupingReTests.test_atomic_grouping
  s    
 ::m,(../0v./"((:u56U34U34"((;67"((;67r   c                &   V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R	R4      4       V P                  \        P                  ! R
R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! R
R4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       V P                  \        P                  ! RR4      4       R# )(?>a+)r   (?>a*)(?>a?)
(?>a{1,3})r   z(?>a+)bz(?>a*)bz(?>a?)bz(?>a{1,3})b(?>(?:ab)+)(?>(?:ab)*)(?>(?:ab)?)(?>(?:ab){1,3})r   z(?>(?:ab)+)cz(?>(?:ab)*)cz(?>(?:ab)?)cz(?>(?:ab){1,3})cNr-  rY   s   &r   test_fullmatch_atomic_grouping&ReTests.test_fullmatch_atomic_grouping
  s=   Y45Y45Y45]C89",,y$78",,y$78",,y$78",,}d;<Z67Z67Z67^T:;^T:;^T:;^T:;%7>?",,~u=>",,~u=>",,~u=>",,'95AB_e<=_e<=_e<=%8%@Ar   c                   V P                  \        P                  ! R R4      R.4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! R	R4      . RO4       V P                  \        P                  ! R
R4      . RO4       V P                  \        P                  ! RR4      R.4       R# )r>  r1  r  r?  r@  rA  rB  r2  r  rC  rD  rE  Nr3  r4  r5  r6  rS  rY   s   &r   test_findall_atomic_grouping$ReTests.test_findall_atomic_grouping,
  s    Iu5v>Iu5~FIu57IJM59D6BNG<vhGNG<>NONG<>RS$6@6(Kr   c                    V P                  \        P                  ! R R4      4       V P                  \        P                  ! RR4      4       R# )z(?s:(?>.*?\.).*)\zza.txtz!(?s:(?=(?P<g0>.*?\.))(?P=g0).*)\zN)r  rF   r  rY   s   &r   test_bug_gh91616ReTests.test_bug_gh916167
  s2    %:GDE%I7STr   c                   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R4      P                  4       R4       V P                  \        P                  ! R
R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       R# )z(?>(?:.(?!D))+)ABCDEz(?:.(?!D))++z(?>(?:.(?!D))*)z(?:.(?!D))*+z(?>(?:.(?!D))?)CDEz(?:.(?!D))?+z(?>(?:.(?!D)){1,3})z(?:.(?!D)){1,3}+z(?>(?:ab?c)+)acaz
(?:ab?c)++z(?>(?:ab?c)*)z
(?:ab?c)*+z(?>(?:ab?c)?)r   z
(?:ab?c)?+z(?>(?:ab?c){1,3})z(?:ab?c){1,3}+Nr   rt   r   rY   s   &r   test_bug_gh100061ReTests.test_bug_gh100061;
  sI   "3W=BBDfM.':??A6J"3W=BBDfM.':??A6J"3U;@@BFK.%8==?H"7AFFH&Q"4g>CCEvN/59>>@&I,6;;=vF/59>>@&I,6;;=vF/37<<>G,499;VD"5u=BBDfM"2E:??A6Jr   c                D   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       R# )z((x)|y|z)*+r   z((x)|y|z){3}+z((x)|y|z){3,}+N)r}  r:   r  rY   s   &r   test_bug_gh101955ReTests.test_bug_gh101955O
  so    -7>>@*M/59@@BJO"2E:AACZPr   ztest requires multiprocessingc                   \         P                  ! R 4      pRp\        P                  ! VP                  RV3R7      pVP                  4        VP                  \        4        V P                  VP                  4       R4       VP                  4       '       d#   VP                  4        VP                  4        R# R#   TP                  4       '       d"   TP                  4        TP                  4        i i ; i)z(?<=[({}])(((//[^\n]*)?[\n])([\000-\040])*)*((/[^/\[\n]*(([^\n]|(\[\n]*(]*)*\]))[^/\[]*)*/))((((//[^\n]*)?[\n])([\000-\040]|(/\*[^*]*\*+([^/*]\*+)*/))*)+(?=[^\000-\040);\]}]))zja(function() {
            ///////////////////////////////////////////////////////////////////
        });r   )targetargszpattern.sub() timed outN)rF   rH   multiprocessingProcessrS   r  r	  r   r  is_alive	terminate)r   rD   input_jsr  s   &   r   test_regression_gh94675ReTests.test_regression_gh94675U
  s    ** H I
 ##7;;b(^L			}	QZZ\+DEzz|| qzz|| s   # B= =9C6c                b    V P                  \        P                  ! R R4      ^ ,          R4       R# )z12(?!)|31233N)r?   rF   ry   rY   s   &r   	test_failReTests.test_faili
  s"    ;6q93?r   c           	     n   R pR F  pV P                  VR7      ;_uu_ 4        V P                  \        P                  ! W!4      \	        V4      4       V P                  \        P
                  ! RV,           R,           V4      P                  4       V4       RRR4       K  	  R#   + '       g   i     K  ; i)1x
rC   r  z)+N)z[\s\S]z[\d\D]z[\w\W]z[\S\s]z\s|\S)rI   r?   rF   ri   r4   r  r   r   rj   r  s   &  r   test_character_set_anyReTests.test_character_set_anyl
  s     EAa((  A!147;  eai$.>!B!H!H!JAN )( F(((s   A3B##B4c           	     .   R pR Fx  pV P                  VR7      ;_uu_ 4        V P                  \        P                  ! W!4      4       V P                  \        P                  ! RV,           V4      4       RRR4       Kz  	  R#   + '       g   i     K  ; i)rg  rC   z(?s:.)N)z[^\s\S]z[^\d\D]z[^\w\W]z[^\S\s])rI   r{   rF   ry   rh  s   &  r   test_character_set_noneReTests.test_character_set_noneu
  sj     ?Aa((!!"))A/2!!"))HqL!"<= )( @(((s   ABBc                T    ! R  R\         4      p\        P                  ! V4      p\        V4       F:  p VP	                  Wd4       VP                  V4       VVP	                  RR4       u # 	  R#   T d     Mi ; i TP	                  RR4       Kb    TP	                  RR4       i ; i)c                       ] tR tRtRtR# )*ReTests.check_interrupt.<locals>.Interrupti
  r   Nr  r   r   r   	Interruptrp  
  s    r   rq  Nrr  )	ExceptionrF   rH   r
  _fail_afterr|   )r   rD   rT   maxcountrq  r  rw  s   &&&&   r   check_interruptReTests.check_interrupt~
  s    		 	JJwxA(a+ b$' !
  b$'b$'s#   #A11A;8B:A;;BB'rs  zrequires debug buildc                    V P                  R R^d4       V P                  RR^d4       V P                  RR^d4       V P                  RR^d4       V P                  RR^d4       V P                  RR^d4       R# )z(.)*:zabc:z	([^:])*?:z	([^:])*+:z	(.){2,4}:z([^:]){2,4}?:z([^:]){2,4}+:N)ru  rY   s   &r   test_memory_leaksReTests.test_memory_leaks
  sp    Xvs3\637\637\637-vs;-vs;r   r   r   )r    r!   r"   r#   r@   rO   rU   rZ   re   rk   r}   r   r   r   r   r   r   r   r   r   r   r   r  r  r!  r,  r2  rC  rG  rN  rT  rb  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r)  r1  r4  rF   r  r9  rT   ascii_lettersdigitsr@  rB  rJ  rP  rU  rb  rg  rn  rr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r
  r  r  r  r  r
   ignore_warningsr   r#  r-  r2  r7  r>  rG  rO  rY  r\  rd  rg  rn  r   r   rt  rx  r{  r  r  r  r  r  r  r  r  r  r  unittestskipIfr	   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r$  r.  r7  r;  rF  rI  rL  rR  rU  rZ  r_  rd  ri  rl  ru  
skipUnlesshasattrrl  rx  r$   r%   ro  s   @r   r/   r/   $   sM     //+	E
1H""+@Z%
	'A,. `/$/((@"MH	H#HJ0*3Jj.094;NBB**-XR>@<?>3
MO?
"HH3,"NHM&&NPFBB)#B8R4&=PEANCFJ?HH8TA 04$LL) ((6==8;LLM
BBD& ++<K@L8F*H$	GF
?
O3J?
F:/(*&&,,'24(
,54* $$.@AD BD:Mz99C:+AZ;B8>G$I4 S#( $( S(& )&QUY.I
H
804K(2$M
 __^%'CD$ E$$9; __^%'CD1 E1@"7HF+ :4"* 9DH:G(;
7" u0 0%3N?6	I8B6	LUK(Q ___,.MN O&@O>( ];=ST< U<r   r/   c                     \        4       ;_uu_ 4       p\        P                  ! V \        P                  4       R R R 4       VP	                  4       #   + '       g   i     XP	                  4       # ; ir   )r   rF   rH   DEBUGgetvalue)r  outs   & r   get_debug_outr  
  sE    			c


3! 
<<> 
	<<>s   &AA0	c                   <   a  ] tR tRt o RtR tR tR tR tRt	V t
R# )
DebugTestsi
  Nc                z    R pRpV P                  \        V4      V4       V P                  \        V4      V4       R# )z(\.)(?:[ch]|py)(?(1)$|: )a  SUBPATTERN 1 0 0
  LITERAL 46
BRANCH
  IN
    LITERAL 99
    LITERAL 104
OR
  LITERAL 112
  LITERAL 121
GROUPREF_EXISTS 1
  AT AT_END
ELSE
  LITERAL 58
  LITERAL 32

 0. INFO 8 0b1 2 5 (to 9)
      prefix_skip 0
      prefix [0x2e] ('.')
      overlap [0]
 9: MARK 0
11. LITERAL 0x2e ('.')
13. MARK 1
15. BRANCH 10 (to 26)
17.   IN 6 (to 24)
19.     LITERAL 0x63 ('c')
21.     LITERAL 0x68 ('h')
23.     FAILURE
24:   JUMP 9 (to 34)
26: branch 7 (to 33)
27.   LITERAL 0x70 ('p')
29.   LITERAL 0x79 ('y')
31.   JUMP 2 (to 34)
33: FAILURE
34: GROUPREF_EXISTS 0 6 (to 41)
37. AT END
39. JUMP 5 (to 45)
41: LITERAL 0x3a (':')
43. LITERAL 0x20 (' ')
45: SUCCESS
Nr?   r  )r   r  dumps   &  r   test_debug_flagDebugTests.test_debug_flag
  s=    *(R 	s+T2 	s+T2r   c                <    V P                  \        R 4      R4       R# )z(?>ab?)zATOMIC_GROUP
  LITERAL 97
  MAX_REPEAT 0 1
    LITERAL 98

 0. INFO 4 0b0 1 2 (to 5)
 5: ATOMIC_GROUP 11 (to 17)
 7.   LITERAL 0x61 ('a')
 9.   REPEAT_ONE 6 0 1 (to 16)
13.     LITERAL 0x62 ('b')
15.     SUCCESS
16:   SUCCESS
17: SUCCESS
Nr  rY   s   &r   test_atomic_groupDebugTests.test_atomic_group
  s    z2 5 	r   c                <    V P                  \        R 4      R4       R# )r'  zPOSSESSIVE_REPEAT 0 1
  LITERAL 97

 0. INFO 4 0b0 0 1 (to 5)
 5: POSSESSIVE_REPEAT_ONE 6 0 1 (to 12)
 9.   LITERAL 0x61 ('a')
11.   SUCCESS
12: SUCCESS
Nr  rY   s   &r   test_possesive_repeat_one$DebugTests.test_possesive_repeat_one
  s    v. 	1 		r   c                <    V P                  \        R 4      R4       R# )r+  zPOSSESSIVE_REPEAT 0 1
  LITERAL 97
  LITERAL 98

 0. INFO 4 0b0 0 2 (to 5)
 5: POSSESSIVE_REPEAT 7 0 1 (to 13)
 9.   LITERAL 0x61 ('a')
11.   LITERAL 0x62 ('b')
13: SUCCESS
14. SUCCESS
Nr  rY   s   &r   test_possesive_repeat DebugTests.test_possesive_repeat
  s    {3 6 	r   r   )r    r!   r"   r#   maxDiffr  r  r  r  r$   r%   ro  s   @r   r  r  
  s$     G.3`"
 r   r  c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )PatternReprTestsi
  c                d    V P                  \        \        P                  ! V4      4      V4       R # r   r?   r  rF   rH   )r   rD   rB  s   &&&r   checkPatternReprTests.check
  s     bjj12H=r   c                d    V P                  \        \        P                  ! W4      4      V4       R # r   r  )r   rD   r   rB  s   &&&&r   check_flagsPatternReprTests.check_flags   s     bjj898Dr   c                *    V P                  R R4       R# )rj  re.compile('random pattern')Nr  rY   s   &r   test_without_flags#PatternReprTests.test_without_flags  s    

#1	3r   c                H    V P                  R \        P                  R4       R# )rj  z+re.compile('random pattern', re.IGNORECASE)N)r  rF   rj  rY   s   &r   test_single_flag!PatternReprTests.test_single_flag  s    )2==9	;r   c                    V P                  R \        P                  \        P                  ,          \        P                  ,          R4       R# )rj  z@re.compile('random pattern', re.IGNORECASE|re.DOTALL|re.VERBOSE)N)r  rF   r   r   r   rY   s   &r   test_multiple_flags$PatternReprTests.test_multiple_flags  s.    )2449RTT>2	3r   c                    V P                  R \        P                  R4       V P                  R \        P                  \        P                  ,          \        P                  ,          R4       R# )rj  r  z5re.compile('random pattern', re.IGNORECASE|re.DOTALL)N)r  rF   r  r   r   rY   s   &r   test_unicode_flag"PatternReprTests.test_unicode_flag  sH    )2447	9)2449RTT>4	5r   c                *    V P                  R R4       R# )z(?i)patternz(re.compile('(?i)pattern', re.IGNORECASE)Nr  rY   s   &r   r-  "PatternReprTests.test_inline_flags  s    

==	?r   c                |    V P                  R RR4       V P                  R R\        P                  ,          R4       R# )rj  i 0 z&re.compile('random pattern', 0x123000)z4re.compile('random pattern', re.IGNORECASE|0x123000)N)r  rF   r   rY   s   &r   test_unknown_flags#PatternReprTests.test_unknown_flags  s8    )8A	C)8BDD=B	Dr   c                l    V P                  R R4       V P                  R \        P                  R4       R# )   bytes patternzre.compile(b'bytes pattern')z&re.compile(b'bytes pattern', re.ASCII)N)r  r  rF   r   rY   s   &r   
test_bytesPatternReprTests.test_bytes!  s/    

#1	3)244A	Cr   c                H    V P                  R \        P                  R4       R# )r  z're.compile(b'bytes pattern', re.LOCALE)N)r  rF   rk  rY   s   &r   test_localePatternReprTests.test_locale'  s    )244B	Dr   c                r    V P                  R R4       V P                  RR4       V P                  RR4       R# )zrandom "double quoted" patternz,re.compile('random "double quoted" pattern')zrandom 'single quoted' patternz,re.compile("random 'single quoted' pattern")z!both 'single' and "double" quotesz1re.compile('both \'single\' and "double" quotes')Nr  rY   s   &r   test_quotesPatternReprTests.test_quotes+  s;    

3>	@

3>	@

:E	Gr   c                   R RR,          ,          p\        \        P                  ! V4      4      pV P                  \	        V4      R4       V P                  VR4       \        \        P                  ! V\        P                  4      4      pV P                  \	        V4      R4       V P                  VR4       V P                  VR4       R# )zVery %spatternzlong rq  i,  zre.compile('Very long long lonz, re.IGNORECASE)N)r  rF   rH   r  rx  assertStartsWithr   assertEndsWith)r   rD   r  s   &  r   test_long_pattern"PatternReprTests.test_long_pattern3  s    "gn5G$%A$a!ABGRTT*+A$a!ABA12r   c                d   V P                  \        \        P                  4      R 4       V P                  \        \        P                  \        P                  ,          \        P
                  ,          4      R4       V P                  \        \        P                  \        P                  ,          \        P
                  ,          R,          4      R4       V P                  \        \        P                  ( 4      R4       V P                  \        \        P                  \        P                  ,          \        P
                  ,          ( 4      R4       V P                  \        \        P                  \        P                  ,          \        P
                  ,          R,          ( 4      R4       R# )zre.IGNORECASEz"re.IGNORECASE|re.DOTALL|re.VERBOSEz+re.IGNORECASE|re.DOTALL|re.VERBOSE|0x100000zLre.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DOTALL|re.VERBOSE|re.DEBUG|0x1z7re.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DEBUG|0x1z;re.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DEBUG|0xffe01Ni   )r?   r  rF   r   r   r   rY   s   &r   test_flags_repr PatternReprTests.test_flags_repr=  s    bdd_5bdd244in-=	?bdd244ine45F	HbddU^	` 	RTT	"$$/0R	TRTT	"$$ 678V	Xr   r   N)r    r!   r"   r#   r  r  r  r  r  r  r-  r  r  r  r  r  r  r$   r%   ro  s   @r   r  r  
  sR     >E3;3
5?DCDG3X Xr   r  c                      a  ] tR tRt o Rt]R 4       tR tR t]R 4       t	R t
]R 4       t]R	 4       t]R
 4       t]R 4       tRtV tR# )ImplementationTestiL  z/
Test implementation details of the re module.
c                    V P                  \        4      ;_uu_ 4        ^\        P                  n        RRR4       V P                  \        4      ;_uu_ 4        ^\        P
                  n        RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! R4      p\        VP                  R4      4      p^Vn        RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)rv   Nr   )	rE   r   rF   Matchr  rl  rH   r7   r  )r   r  tps   &  r   test_immutable!ImplementationTest.test_immutableQ  s     y))BHHL *y))BJJN *y))**R.Cckk"o&BBF *)	 *))))))s#   CC)8C<C&	)C9	<D	c                l   \         P                  P                  pV P                  V! R 4      . 4       V P                  V! R4      ^ .4       V P                  V! R4      . RO4       V P                  V! R4      . RO4       V P                  V! R4      . R	O4       V P                  V! R4      . R
O4       R# )r   r   r  aaaaababbaabcabdacN)r   r   r   r   )r   rv   r   rw   )r   r   rv   r   r   rv   )r   r   r   rv   r   r   rv   r   )rF   	_compiler_generate_overlap_tabler?   )r   fs   & r   test_overlap_table%ImplementationTest.test_overlap_table]  s    LL002#3!%6L16L18&89:(@Ar   c                    V P                  \        P                  P                  ^ 4       V P                  \        P                  P                  ^ 4       R# )r   N)assertGreaterEqualrF   r  	MAXREPEATr  rY   s   &r   test_signedness"ImplementationTest.test_signednessf  s6     6 6: 6 6:r   c                    \        V \        P                  4       \        V \        P                  4       \        P                  ! R 4      p\        V \        VP                  R 4      4      4       R# )r   N)r   rF   r  rl  rH   r7   r  r  s   & r   test_disallow_instantiation.ImplementationTest.test_disallow_instantiationj  sD     	%T2884$T2::6jjn$T4B+@Ar   c           
     F   R . ROR. R	OR. R
O/pV EFb  pV P                  VR7      ;_uu_ 4        \        P                  P                  VR4       V P	                  \
        4      ;_uu_ 4       p\        V4       RRR4       V P                  \        XP                  4      RV: R24       V P                  VP                  \        4       V P                  V\        P                  4       \        P                  V,          pV P                  VP                  V4       V P                  VP                  R4       W,           F  pV P                  WE4       K  	  \        P                  V RRR4       EKe  	  R#   + '       g   i     EL
; i  + '       g   i     EK  ; i)sre_compilesre_constants	sre_parse)moduleNzmodule z is deprecatedr   )rH   rX   SRE_FLAG_IGNORECASE
SUBPATTERN_compile_info)rX   r  r  _NamedIntConstant)
SubPatternparser  r  
_parse_sub)rI   sysmodulespopr   r   
__import__r?   r   r   r   r   r  r    __package__assertHasAttr)r   
deprecatednamer   r  attrs   &     r   test_deprecated_modules*ImplementationTest.test_deprecated_modulesr  s>    -  3 (	

 DT**d+%%&899Qt$ :  QYY#*4(.!AC  X6dCKK0kk$'  t4  "5&,,D&&s1 -KK% +*  :99 +**s$   >F-E:9C2F:F	FF c                   ^ RI p\        ^4       F  p\        V4      p\        VP	                  4       4      pV P                  VP                  V4      V4       V P                  VP                  V4      V4       V\        P                  9   pV P                  VP                  V4      V4       V P                  VP                  V4      V4       K  	  \        \        ^R4      4      RR.,            EF  p\        V4      pV P                  VP                  V4      V4       VR8w  d9   V P                  VP                  V4      \        VP	                  4       4      4       W3P	                  4       8g  ;'       g    W3P                  4       8g  pV P                  VP                  V4      4       T P                  VP                  V4      W3P	                  4       8g  ;'       g    W3P                  4       8g  4       EK	  	  V P                  VP                  R4      R4       V P                  VP                  R4      \        R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       R# )r   Ni   i  i( i0  r  )_srer
  r   ordr  r?   ascii_tolowerunicode_tolowerrT   rz  ascii_iscasedunicode_iscasedr4   r  r  r  )r   r  r  r   loiscaseds   &     r   test_case_helpers$ImplementationTest.test_case_helpers  s   sAAAQWWYBT//2B7T11!4b96///GT//2G<T11!4g>  eC()Wg,>>>AAAT//2A6F{  !5!5a!8#aggi.I779n66WWYGT//23T11!4'')^==qGGI~? ? 	++F3V<--f5s3x@++F34,,V45r   c           
     L   ^ RI p^^,          pV P                  \        \        P                  R/ 4       V P                  \
        4      ;_uu_ 4        VP                  R^ V.^ / R4       RRR4       V P                  \        4      ;_uu_ 4        VP                  / ^ . ^ . . 4       RRR4       V P                  \        4      ;_uu_ 4        VP                  R^ R.^ / R4       RRR4       R#   + '       g   i     L; i  + '       g   i     Lb; i  + '       g   i     R# ; i)r   Nr   r   r   r   )r  rE   r   rF   r`   r  rH   )r   r  long_overflows   &  r   test_deallocImplementationTest.test_dealloc  s     	
 3)R[[#r:}--LLM?Ar2> .y))LLQAr2. * y))LLQB3 *) .-)) *))s$   C,C?
D,C<	?D	D#	c                    ^ RI Hp RR,          pV P	                  \
        P                  ! RX^,
          ,          V4      4       V P                  \
        P                  ! RV^,
          ,          V4      P                  4       R	4       V P	                  \
        P                  ! RV^,
          ,          V4      4       V P                  \        \
        P                  RV,          4       V P                  \        \
        P                  RV,          4       V P                  \        \
        P                  RV,          4       R#   \         d    T P                  R4        ELYi ; i)
r   )r  z requires _sre.MAXREPEAT constantr:   r~  r  r  r  N)r   r~  )r  r  ImportErrorr  r{   rF   r|   r?   rz   rE   r  rH   )r   r  rT   s   &  r   %test_repeat_minmax_overflow_maxrepeat8ImplementationTest.test_repeat_minmax_overflow_maxrepeat  s    	>& v"((8y1}#=vFG)y1}"=vFKKM$	&"((:Q#?HI-X	5IJ-Y5JK-Z)5KL  	>MM<=	>s   E E"!E"c                   ^ RI pV P                  \        4      ;_uu_ 4       pVP                  R. RO4       RRR4       V P	                  R\        XP                  4      4       V P                  \        4      ;_uu_ 4       pVP                  R. RO4       RRR4       V P	                  R\        VP                  4      4       R#   + '       g   i     L; i  + '       g   i     LJ; i)r   Nr   zinvalid templatezan integer is required)r   rr  r   )r   r   r   )r  rE   r   templater  r   rJ   )r   r  rM   s   &  r   %test_sre_template_invalid_group_index8ImplementationTest.test_sre_template_invalid_group_index  s     	y))RMM"l+ *(#bll*;<y))RMM"l+ *.BLL0AB *) *)s   CCC	C(	r   N)r    r!   r"   r#   __doc__r   r  r  r  r  r  r  r  r  r	  r$   r%   ro  s   @r   r  r  L  s      	 	B; B B&6 6 64 4 4" M M C Cr   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )ExternalTestsi  c                   ^ RI Hp V EFb  w  r#V P                  W#R7      ;_uu_ 4        \        P                  ! V4      pV P                  VP                  V4      4       V P                  VP                  V4      4       V P                  VP                  V4      4       RR,          V,           RR,          ,           pV P                  VP                  V4      4       V P                  VP                  VR4      4       V P                  VP                  VRR\        V4      ,           4      4       V P                  VP                  VRR\        V4      ,           4      4       RRR4       EKe  	  R#   + '       g   i     EK{  ; i)zre_tests benchmarks)
benchmarksrD   rT   r  r  N)
test.re_testsr  rI   rF   rH   r  ry   r|   r  rx  )r   r  rD   rj   r  s2s   &     r   test_re_benchmarks ExternalTests.test_re_benchmarks  s   ,$JGg88JJw',
+A/Y]SY.-E 23E53q6> BCBus1v~ FG 98 %888s   D:E22Fc                l
   ^ RI HpHpHp V EFH  pR;p;p;p;r\	        V4      ^8X  d   Vw  rVrxp	M"\	        V4      ^8X  d   Vw  rVpM\        RV4      hV P                  WVR7      ;_uu_ 4        Ws8X  dR   V P                  \        P                  4      ;_uu_ 4        \        P                  ! V4       RRR4        RRR4       K  \        P                  ! V4      p
V
P                  V4      pWr8X  d   V P                  VR4        RRR4       EK  V P                  4       ;_uu_ 4        V P                  VR4       VP                  ^ 4      w  rRVP                  ^ 4      RVP                  4       R	VP                  P                   /p\#        ^^d4       F'  p VP                  V4      pVf   R
pTTRT,          &   K)  	  VP                  P&                  P)                  4        F  p VP                  V4      pVf   R
pTY&   K!  	  V P+                  \-        W4      V	R4       RRR4        \/        VR4      p\/        VR4      pV P                  R4      ;_uu_ 4        \        P                  ! V4      p
V P                  V
P                  V4      4       RRR4       V P                  R4      ;_uu_ 4        \        P                  ! V\        P0                  4      p
V
P                  V4      pVf   \3        RV4       RRR4       TR,          R8w  dp   TRR R8w  df   Teb   T P                  R4      ;_uu_ 4        \        P                  ! T4      p
T P                  T
P                  TXX^,           4      4       RRR4       T P                  R4      ;_uu_ 4        \        P                  ! T\        P6                  4      p
T P                  T
P                  T4      4       RRR4       T P                  R4      ;_uu_ 4        \        P                  ! T\        P8                  4      p
T P                  T
P                  T4      4       RRR4       RRR4       EKK  	  R#   + '       g   i     EL; i  \$         d    Rp ELi ; i  \$         d    Rp ELi ; i  + '       g   i     EL; i  + '       g   i     EL#; i  + '       g   i     EL; i  \4         d     ELi ; i  + '       g   i     ELx; i  + '       g   i     EL%; i  + '       g   i     L; i  + '       g   i     EK&  ; i)zre_tests test suite)testsFAILSYNTAX_ERRORNz%Test tuples should have 3 or 5 fieldsr  zSucceeded incorrectlyzFailed incorrectlyfoundra  r   Noner  zg%dzgrouping errorrH  zbytes pattern matchzlocale-sensitive matchz#=== Fails on locale-sensitive match:Nr   Nr  zrange-limited matchzcase-insensitive matchzunicode-sensitive match)r  r  r  r  rx  r   rI   rE   rF   rG   rH   ry   r{   r  rz   r   r   r
  r+  r  keysr?   evalr-  r  printUnicodeEncodeErrorrj  rZ  )r   r  r  r  r  rD   rj   outcomerR   rB  objr   r  r  vardictr  gir6  bss   &                  r   test_re_testsExternalTests.test_re_tests  s   ;;A6::G:a:':D1v{673G8Q1&'#G !H!LLg88***2??;;

7+ <	 98 jj)A?%%f.EF 98 \\^^OOF,@A "(QJE&Q'&		9G #1c])!'aB!z%+ .0	* + $YY11668)!'aB!z%+ &(
 9 $$T$%8(%573 $<L '2Dq'*B
 &;<< jj.

27 = &>?? jjryy9!$B!>!"GK	 @ BK5(WRS\U-B & 2&;<< jj1

1eS1W(EF = \\":;;**Wbmm<COOCJJqM2 < \\";<<**Wbjj9COOCJJqM2 =_ 98  <;;0  * )!(B)  * )!(B)- $^^J =<< @?? * , =<< <;; =<_ 988s2  -.T!Q2	T!A T!T!(A.RQ0.7R&R=$R!T!*ST!7R,!T!3AS :=T!7A S&7!T!AS:!T!?ATT!Q-'	T!0R=R RRRRRRR)#	T!,R=7	T! S	T!S#	T!"S#	#T!&S71	T!:T	T!TT!!T3r   N)r    r!   r"   r#   r  r%  r$   r%   ro  s   @r   r  r    s     H]3 ]3r   r  __main__)%test.supportr   r   r   r   r   r   r	   r
   r   r   r   rA  rF   rT   r  r}  r&  r   weakrefr   _multiprocessingrZ  r  r   r   r-  r+   TestCaser/   r  r  r  r  r  r    mainr   r   r   <module>r-     s  X X X X  	  
     - -- -o)<h o)<dS \"" \ \~MXx(( MX`FC** FCRn3H%% n3b zMMO ka  Os    C+ +	C76C7