
    2hhB8                    &   S SK r S SKrS SKJr  S SKJrJr   S SKrS SKJrJ	r	   S SKr S SKrSr " S S\5      r " S S\ R                   5      r\S	:X  a  \ R&                  " 5         gg! \
 a    Sr NOf = f! \
 a    Sr NXf = f! \
 a    Sr Naf = f)
    N)support)threading_helperimport_helper)PY_SSIZE_T_MINPY_SSIZE_T_MAXc                       \ rS rSrSrg)Str    N__name__
__module____qualname____firstlineno____static_attributes__r       D/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_unicode.pyr	   r	      s    r   r	   c                   8   \ rS rSr\R
                  \R                  " \SL S5      S 5       5       r	\R
                  \R                  " \SL S5      S 5       5       r
\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S	 5       5       r\R
                  \R                  " \SL S5      S
 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       rS r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r\R
                  \R                  " \SL S5      S 5       5       r \R                  " \SL S5      \!RD                  " 5       S 5       5       r#\R
                  \R                  " \SL S5      S 5       5       r$\R
                  \R                  " \SL S5      S 5       5       r%\R
                  \R                  " \&SL S5      S  5       5       r'\R
                  \R                  " \SL S5      S! 5       5       r(\R
                  \R                  " \SL S5      S" 5       5       r)\R
                  \R                  " \SL S5      S# 5       5       r*\R
                  \R                  " \SL S5      S$ 5       5       r+\R
                  \R                  " \SL S5      S% 5       5       r,\R
                  \R                  " \SL S5      S& 5       5       r-\R
                  \R                  " \SL S5      S' 5       5       r.\R
                  \R                  " \SL S5      S( 5       5       r/\R
                  \R                  " \SL S5      S) 5       5       r0\R
                  \R                  " \SL S5      S* 5       5       r1\R
                  \R                  " \SL S5      S+ 5       5       r2\R
                  \R                  " \SL S5      S, 5       5       r3\R
                  \R                  " \SL S5      S- 5       5       r4\R
                  \R                  " \SL S5      S. 5       5       r5\R
                  \R                  " \SL S5      S/ 5       5       r6\R
                  \R                  " \SL S5      S0 5       5       r7\R
                  \R                  " \SL S5      S1 5       5       r8\R
                  \R                  " \SL S5      S2 5       5       r9\R
                  \R                  " \SL S5      S3 5       5       r:\R
                  \R                  " \SL S5      S4 5       5       r;\R
                  \R                  " \SL S5      S5 5       5       r<\R
                  \R                  " \SL S5      S6 5       5       r=\R
                  \R                  " \SL S5      S7 5       5       r>S8r?g)9CAPITest   Nzneed _testcapi modulec                 &   SSK Jn  S H]  nU R                  U" SU5      S5        U R                  U" SU5      [        U5      S-  5        U R	                  [
        U[        U5        M_     U R                  U" SS5      S5        U R	                  [
        U[        S-  S5        U R	                  [
        U[        S-  S	-   S5        U R	                  [
        U[        S-  S
5        U R	                  [
        U[        S-  S	-   S
5        U R	                  [
        U[        S-  S
5        U R	                  [
        U[        S-  S	-   S
5        U R	                  [        USS5        U R	                  [        USS5        U R	                  [        U[        S5        g )Nr   )unicode_new)r   a      `O               r      r      )		_testcapir   assertEqualchrassertRaisesMemoryErrorr   SystemErrorr   )selfnewmaxchars      r   test_newCAPITest.test_new   sT    	1?GSG_b1SG_c'l1n=k3H @ 	Q)2.+sNA,=vF+sNA,=a,?H+sNA,=wG+sNA,=a,?I+sNA,=wG+sNA,=a,?I+sAx8+sB2+sNA>r   c                    SSK Jn  / SQn/ SQn[        U5       H  u  pEUS U  H  nU R                  [        XSSU5        M     X$S   H  n/ [        S5      Q[        P H  n/ [        SSU-
  5      Q[        P[        P Hb  n[        [        USU-
  5      S5      n	U	S:X  a
  XbU   :w  a  M,  US U [        U5      U	-  -   XgU	-   S  -   n
U R                  U" XgX5      X45        Md     M     M     M     US   nU R                  [        XSSS5        U R                  [        X[        SS5        U R                  [        XSSS	5        U R                  [        US
SSS5        U R                  [        U/ SSS5        g )Nr   )unicode_fillabcdeu
   ¡¢£¤¥u   你好世界！u   😀😁😂😃😄)x         8    r$   r   r4   r       abc)r%   r1   	enumerater(   
ValueErrorranger   r   maxminr'   r&   
IndexErrorr*   )r+   fillstringscharsidx	fill_chartostartlengthfilledexpectedss               r   	test_fillCAPITest.test_fill2   s    	3
 .'.NCdsm!!*d1iH $dm8uQx88E"YE"a%i$8"Y."Y."Y!$SU%;Q!?!Q;2+= %#%fu:I0G#G"U[^_J]#]((b)K)1(:< #Z 9 $	 /  AJ*dr1d;*d~q$G*dq!X>+tVQ4@+tRAt<r   zneed _testlimitedcapi modulec           	      L   SSK Jn  / SQn/ SQn[        U5       Hi  u  pE[        U5       HU  u  pgXd::  a3  U R                  U" USU5      US S [	        U5      -   USS  -   S45        M=  U R                  [        XSU5        MW     Mk     U R                  [        USSS	5        U R                  [        USS
S	5        U R                  [        US[        S	5        U R                  [        US[        S	5        U R                  [        USSS	5        U R                  [        U/ SS	5        g )Nr   )unicode_writecharabc   ¡¢£	   你好世   😀😁😂)r4   r5   r6   r7   r    r"   r!   rP      r4   r$   r9   )_testlimitedcapirN   r:   r&   r'   r(   r;   r?   r   r   	TypeError)r+   	writecharrA   rB   irJ   jcs           r   test_writecharCAPITest.test_writecharZ   s    	D
 8g&DA!%(6$$Yq!Q%7&'ec!fnqu&<a%@B %%j)1E ) ' 	*i4@*iDA*iM*iM)Y4@)YAt<r   c                 x   SSK Jn  / SQnU H  nU R                  U" US5      US45        U R                  U" US5      US S S45        U R                  U" US5      US-   S45        U R                  U" US5      US	-   S45        U R                  U" US5      S
5        U R                  [        X[
        5        U R                  [        XS5        U R                  [        X[        5        M     U R                  [        USS5        U R                  [        U/ S5        U R                  [        U[        S5        g )Nr   )unicode_resizerO   rT   r!   r#    
   z       )r   r   r$   r9   )	rU   r^   r&   r(   r)   r   r*   r   NULL)r+   resizerA   rJ   s       r   test_resizeCAPITest.test_resizey   s    	>

 AVAq\Aq62VAq\AbqE1:6VAq\AHa=9VAr]QZO<VAq\73k6nEk6b9k6nE  	+vvq9+vr15+vtQ7r   c                    SSK Jn  / SQnU H0  nUS S S2   nU H  nX4-   nU R                  U" X45      U5        M!     M2     U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        US/ 5        U R                  [        U/ S5        U R                  [        U/ / 5        U R                  [        U[
        S5        U R                  [        US[
        5        g )Nr   )unicode_appendrO   r$   rP   r9   )rU   rf   r&   r(   r*   ra   )r+   appendrA   leftrightrI   s         r   test_appendCAPITest.test_append   s     	>
 D":D <  !4h? !  	+vuf=+vvu=+vvv>+vub9+vr59+vr26+vtU;+vud;r   c                    SSK Jn  / SQnU H.  nUS S S2   nU H  nU R                  U" X45      X4-   5        M     M0     U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        US/ 5        U R                  [        U/ S5        U R                  [        U/ / 5        U R                  [        U[
        S5        U R                  [        US[
        5        g )Nr   )unicode_appendanddelrO   r$   rP   r9   )rU   rm   r&   r(   r*   ra   )r+   appendanddelrA   rh   ri   s        r   test_appendanddelCAPITest.test_appendanddel   s     	J
 D":D   d!:DLI ! 
 	+|UFC+|VUC+|VVD+|UB?+|R?+|R<+|T5A+|UDAr   c                    SSK Jn  U R                  U" S5      S5        U R                  U" SS5      S5        U R                  U" S5      S5        U R                  U" S	5      S
5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  [        USS5        U R                  [        USS5        U R                  U" SS5      S5        U R                  U" [
        S5      S5        U R                  [        US[        5        U R                  [        USS5        U R                  [        US[        5        U R                  [        U[
        S5        U R                  [        U[
        [        5        U R                  [        U[
        S5        U R                  [        U[
        [        5        g )Nr   )unicode_fromstringandsizer9   rP   r!   ab   abc defabc def   ¡¢   ¡¢   你   你   😀   😀s   ¡r"      r   r   r$   rT   )
rU   rr   r&   r(   UnicodeDecodeErrorra   r)   r   r*   r   )r+   fromstringandsizes     r   test_fromstringandsizeCAPITest.test_fromstringandsize   s    	T*62E:*615t<*;7D*+>?L*?;XF*+>?N,.?aP,.?!L*32B7*43R8+'8&.Q+'8&"E+'8&.Q+'8$C+'8$O+'8$B+'8$Or   c                 \   SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S
5        U R                  [        US5        U R                  [        US5        U R                  U" S5      S5        g )Nr   )unicode_fromstringr9   rP   rv   rw   rx   ry   rz   r{      r|   r   r   )rU   r   r&   r(   r}   )r+   
fromstrings     r   test_fromstringCAPITest.test_fromstring   s     	FF+U3$78*EO4h?$78,G,j'B,j'BC"-r   c           	         SSK Jn  / SQnSnUS S  H+  nU R                  U" SUR                  U5      5      U5        M-     [        R
                  S:X  a  SOS	nUS S
  H+  nU R                  U" SUR                  U5      5      U5        M-     [        R
                  S:X  a  SOSnU H+  nU R                  U" SUR                  U5      5      U5        M-     U R                  U" SSR                  U5      5      S5        S HV  nU R                  U" US5      S5        U R                  U" USU-  5      S5        U R                  U" U[        S5      S5        MX     S H  nU R                  [        XS5        M     U R                  [        USSS5        U R                  [        USS[        5        U R                  [        US[        S5        U R                  [        US[        [        5        g )Nr   )unicode_fromkindanddatar2   latin1r!   r"   littleutf-16leutf-16berT   utf-32leutf-32ber#   r{   u   )r"   r!   r#   r   r       r_   )r$   r   rT   r      r9   r$   )r%   r   r&   encodesys	byteorderra   r(   r*   r;   r   )r+   fromkindanddatarA   enc1rJ   enc2enc4kinds           r   test_fromkindanddataCAPITest.test_fromkindanddata   s    	I

 !A_Q?C  ]]h6zJ!A_Q?C  ]]h6zJA_Q?C L,?,?,EF'	)D_T37<_T5:>E_T4;R@ 
 #Dk?#F #*oq&"E*oq&.Q*oq$C*oq$Or   c           
         SSK Jn  / SQnU Hy  n/ [        S[        U5      S-   5      Q[        P HR  n/ [        [        US-
  S5      [        U5      S-   5      Q[        P H  nU R                  U" X4U5      X4U 5        M      MT     M{     U R                  [        USSS5        U R                  [        US[        S5        U R                  [        USSS5        U R                  [        USS[        5        g )Nr   )unicode_substring)rs   u   ab¡¢u   ab¡¢你好u   ab¡¢你好😀😁r!   r"   rP   r$   )
rU   r   r<   lenr   r=   r&   r(   r?   r   )r+   	substringrA   rJ   rF   ends         r   test_substringCAPITest.test_substring  s     	D

 A@5CFQJ/@@PU3uQw?CFQJ?PPC$$Yq%=qs|L Q A 
 	*iA>*iJ*i2>*i>Jr   c                     SSK Jn  S H$  nU R                  U" U5      [        U5      5        M&     U R	                  [
        US5        U R	                  [
        U/ 5        g )Nr   )unicode_getlengthrP   rw   u   你好   a😀u	   abcu   r9   )rU   r   r&   r   r(   rV   )r+   	getlengthrJ   s      r   test_getlengthCAPITest.test_getlength/  sR     	D5AYq\3q625 	)Y7)Y3r   c           	         SSK Jn  S H  n[        U5       H&  u  p4U R                  U" X#5      [	        U5      5        M(     U R                  [        X[        U5      5        U R                  [        X[        5        U R                  [        XS5        U R                  [        X[        5        M     U R                  [        USS5        U R                  [        U/ S5        g )Nr   )unicode_readcharr   r$   r9   )rU   r   r:   r&   ordr(   r?   r   r   r   rV   )r+   readcharrJ   rX   rZ   s        r   test_readcharCAPITest.test_readchar=  s     	B5A!!  !Q8 %j(s1v>j(~Fj(r:j(~F5 	)Xvq9)Xr15r   c                 V   SSK Jn  S Ho  nU R                  U" U5      U5        [        U5      nU" U5      nU R                  XB5        U R	                  [        U5      [        5        U R                  XB5        Mq     U R                  [        US5        U R                  [        U/ 5        g )Nr   )unicode_fromobjectr   r9   )
rU   r   r&   r	   assertIstypestrassertIsNotr(   rV   )r+   
fromobjectrJ   os2s        r   test_fromobjectCAPITest.test_fromobjectP  s     	F5AZ]A.AAABR#MM$r(C(R#5 	)Z8)Z4r   c           
      ~  ^ ^#^$^% [         R                  " S5        SSKJnJnJm%JnJnJnJ	nJ
nJnJn	Jn
JnJnJnJn  Sn[%        X/5      m$U4T$l        T%T$l        U$U%4S jm#U#U 4S jnU" SSS	5        T R+                  [,        S
T#SS5        U" SSU" S5      5        U" SSU" S5      5        T R/                  [0        5         T#" SU" S5      5        S S S 5        U" SSU" S5      U" S5      5        U" SS5        U" SS5        U" SS5        U" SSS5        U" S S!S"5        U" S#S$S%R3                  S&5      5        U" S'S(S)5        U" S*S+S,5        U" S-S.S)5        U" S/S0S,5        U" S1S2S,5        U" S1S3S,5        U" S1S4S,S 5        U" S#S5S S%R3                  S&5      5        U" S6S7S 5        U" S8S9S 5        U" S:S;S 5        U" S<S=S 5        U" S>S?S 5        U" S@SAS 5        U" S<SBS 5        U" S>SCS 5        U" S@SDS 5        U" S6SES5        U" S8SFS5        U" S:SGS5        U" S6SHS 5        U" S8SIS 5        U" S:SJS 5        U" S6SKS SL5        U" S8SMS SL5        U" S:SNS SL5        U" SOSKS SL5        U" SPSMS SL5        U" SQSNS SL5        U" SRSSU" ST5      5        U" SUSVU" ST5      5        SW Hx  u  nnnnSXU(       a  UOU4SYU(       a  UOU	4SZU(       a  UOU
4S[U(       a  UOU44 H:  u  nnT R5                  S\U-   U-   S]9   U" US\U-   U-   U" U5      5        S S S 5        M<     Mz     S^S_U" U5      -  S`-
  -  * nU* S`-
  nU" [7        U5      SaU" U5      5        U" [7        U5      SaU" U5      5        S^S_U" U
5      -  -  S`-
  nU" [7        U5      SbU
" U5      5        T#" ScU" Sd5      5        U" SeSfU" Sg5      5        U" ShSiU" Sg5      5        U" SjSkU" Sg5      5        U" SlSmU" Sg5      5        U" SlSnU" Sg5      5        U" SeSoU" Sg5      5        U" SpSqU" Sg5      5        U" ShSrU" Sg5      5        U" SsStU" Sg5      5        U" SjSuU" Sg5      5        U" SvSwU" Sg5      5        U" SvSxU" Sg5      5        U" SySfU" Sz5      5        U" S{SiU" Sz5      5        U" S|SkU" Sz5      5        U" S}SmU" Sz5      5        U" S}SnU" Sz5      5        U" SySoU" Sz5      5        U" S~SqU" Sz5      5        U" S{SrU" Sz5      5        U" SStU" Sz5      5        U" S|SuU" Sz5      5        U" SSwU" Sz5      5        U" SSxU" Sz5      5        U" SeSU" Sg5      5        U" ShSU" Sg5      5        U" SjSU" Sg5      5        U" SlSU" Sg5      5        U" SlSU" Sg5      5        U" SeSU" Sg5      5        U" SpSU" Sg5      5        U" ShSU" Sg5      5        U" SsSU" Sg5      5        U" SjSU" Sg5      5        U" SvSU" Sg5      5        U" SvSU" Sg5      5        U" SeSU" S5      5        U" ShSU" S5      5        U" SjSU" S5      5        U" SlSU" S5      5        U" SlSU" S5      5        U" SeSU" S5      5        U" SpSU" S5      5        U" ShSU" S5      5        U" SsSU" S5      5        U" SjSU" S5      5        U" SvSU" S5      5        U" SvSU" S5      5        U" S SU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" S SU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSS5        U" S SS S5        U" SSS S5        U" S SU" S 5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S 5      5        U" SSU" S5      5        U" SSU" S5      5        U" SSU" S5      5        U" U" U5      S^:  a  SOSSU" S5      5        U" U" U5      S^:  a  SOSSU" S5      5        U" S SS U" S5      5        U" SSS U" S5      5        U" SSS U" S5      5        U" SSS U" S5      5        U" SSS U" S 5      5        U" SSS U" S5      5        U" SSS U" S5      5        U" SSS U" S5      5        U" U" U5      S^:  a  SOSSS U" S5      5        U" U" U5      S^:  a  SOSSS U" S5      5        U" SST%" S 5      5        U" SST%" S 5      5        U" SST%" S 5      5         " S S5      nU" 5       n[8         SUR:                   3nU" SU 3ST%" U5      5        [8         SUR:                   3nU" SU 3ST%" U5      5        U" SST%" [6        5      5        U" SST%" [6        5      5        U" SST%" [6        5      5        U" SU 3ST%" [=        U5      5      5        U" SU 3ST%" [=        U5      5      5        T R+                  [>        S5         U" SST%" S 5      5        S S S 5        U" SSU" S5      S5        U" SSU" S^5      S5        U" SSU" S5      U" S^5      S5        U" SSU" S5      S 5        U" SSU" S^5      S 5        U" SSU" S5      U" S^5      S 5        U" SSU" S5      U" S^5      S S5        U" SSU" S5      U" S^5      S U" S 5      5        U" SSU" S_5      U" Sg5      5        U" SSU" S5      U" Sg5      5        U" SSU" S_5      U" S5      U" Sg5      5        SnT#" ScS 5      nT RA                  U[6        5        T RC                  UU5        T#" SSS5      n T RA                  U [6        5        T RC                  U S5        T#" ScSS S5      n!T RA                  U![6        5        T RC                  U!U5        U" SGS S GS5        U" GSGS S GS5        U" GSSX5        U" GSGSSX5        GS H6  n"T R5                  U"GS9   T R+                  [D        GST#U"S5        S S S 5        M8     T R+                  [D        GST#GS	U" ST5      5        g ! , (       d  f       GN.= f! , (       d  f       G
MM  = f! , (       d  f       GNT= f! , (       d  f       M  = f(
  Nctypesr   )c_char_p	pythonapi	py_objectsizeofc_intc_long
c_longlong	c_ssize_tc_uintc_ulongc_ulonglongc_size_tc_void_pc_wchar	c_wchar_pPyUnicode_FromFormatc                 @   > [        U4S jU 5       5      nT" U /UQ76 $ )Nc              3   b   >#    U  H$  n[        U[        5      (       a  T" U5      OUv   M&     g 7fN)
isinstancer   ).0argr   s     r   	<genexpr>JCAPITest.test_from_format.<locals>.PyUnicode_FromFormat.<locals>.<genexpr>v  s-      !C #-S#"6"6	#C?s   ,/)tuple)formatargscargs_PyUnicode_FromFormatr   s      r   r   7CAPITest.test_from_format.<locals>.PyUnicode_FromFormatu  s,     !! !E )8%88r   c                 :   > T" U/UQ76 nTR                  X5        g r   )r&   )rI   r   r   textr   r+   s       r   check_format/CAPITest.test_from_format.<locals>.check_format{  s     '66DX,r   u   ascii=unicodeés	   ascii=%Uu	   unicodeéz^^PyUnicode_FromFormatV\(\) expects an ASCII-encoded format string, got a non-ASCII byte: 0xe9$s   unicode=%sasciiu   ꯍs   %ciͫ     􏿿r   r    u   𐀀􀀀s   %c%ci   i   %s   %%z%ss   %%sz[%]s   [%%]z%abcs   %%%sr9   rP   s   %.3ss   abcdefu   abc[�s   %.5su   abc[€]utf8z'\u20acABC's   %Au   €ABCz'\u20s   %.5Au	   €ABCDEFu   '€ABC's   %Ru   '€As   %.3Ru   €ABs   %.3Ss   %.3Us   %.3Vs   %.5Vz
repr=  abcs   repr=%5Szrepr=abs	   repr=%.2Sz
repr=   abs
   repr=%5.2Szrepr=   'abc's   repr=%8Rzrepr='abs	   repr=%.3Rz
repr=  'abs
   repr=%5.3Rs   repr=%8As	   repr=%.3As
   repr=%5.3As   repr=%5ss	   repr=%.2ss
   repr=%5.2ss   repr=%5Us	   repr=%.2Us
   repr=%5.2Us   repr=%5V   123s	   repr=%.2Vs
   repr=%5.2Vz
repr=  123zrepr=12z
repr=   12010s   %03ir`   0010s   %0.4i))   iT-123)   dTr   r   )   uF{   123)   oFS   r   )   xF
  rP   )   XFr   ABCr      ls   ll   z   %)r   r!   r   r"   s   %llds   %llus   %pr$   r   s   %2ir   z
       123s   %10i
0000000123s   %010iz
123       s   %-10is   %-010is   %.2i0000123s   %.7is   %10.2iz
   0000123s   %10.7is   %010.7iz
0000123   s   %-10.7is   %-010.7ir   r   z
      -123z
-000000123z
-123      z-0000123z
  -0000123z
-0000123  s   %2us   %10us   %010us   %-10us   %-010us   %.2us   %.7us   %10.2us   %10.7us   %010.7us   %-10.7us   %-010.7us   %2or   s   %10os   %010os   %-10os   %-010os   %.2os   %.7os   %10.2os   %10.7os   %010.7os   %-10.7os   %-010.7os   %2xr   z
       abcs   %10x
0000000abcs   %010xz
abc       s   %-10xs   %-010xs   %.2x0000abcs   %.7xs   %10.2xz
   0000abcs   %10.7xs   %010.7xz
0000abc   s   %-10.7xs   %-010.7xr   s   %2Xz
       ABCs   %10X
0000000ABCs   %010Xz
ABC       s   %-10Xs   %-010Xs   %.2X0000ABCs   %.7Xs   %10.2Xz
   0000ABCs   %10.7Xs   %010.7Xz
0000ABC   s   %-10.7Xs   %-010.7Xz%A:'abc\xe9\uabcd\U0010ffff's   %%A:%Au   abcéꯍ􏿿s   %Vs   xyzxyzs   %lsu   人民u	   💻+🐍z   abs   %5.2lsu	      人民s   %5lsu     💻+🐍u   人s   %.1lsu   💻   u   💻+s   %.2lss   %lVs   %5.2lVs   %5lVs   %.1lVs   %.2lVz	type: strs   type: %Tztype: sts
   type: %.2Tztype:        strs
   type: %10Tc                       \ rS rSrSrg),CAPITest.test_from_format.<locals>.LocalTypei  r   Nr   r   r   r   	LocalTyper     s    r   r   .ztype: :s	   type: %#Ts   type: %Ns
   type: %.2Ns
   type: %10Ns	   type: %#Nz%N argument must be a typez  abcs   %*sr   rs   s   %.*ss   %*.*ss   %*Us   %.*Us   %*.*Us   %*.*Vs   %*.*lVz     123s   %*i00123s   %.*iz   00123s   %*.*iz^0x[a-zA-Z0-9]{3,}$s   %p %p123456z#0x[a-zA-Z0-9]{3,} 0x[a-zA-Z0-9]{3,}u   repr=人民s   repr=%Vs   人民u   repr=abc�s   abcr   s   %s)r   s   %0s   %01s   %.s   %.1s   %0%ss   %1%ss   %.%ss   %.1%ss   %1abcs   %ls   %lls   %zs   %llss   %zs)fmtzinvalid format strings   %+i)#r   import_moduler   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   getattrargtypesrestypeassertRaisesRegexr;   r(   OverflowErrorr   subTestr   r   r   r   rV   assertIsInstanceassertRegexr*   )&r+   r   r   r   r   r   r   r   r   r   r   r   r   r   r   namer   convsignedvaluerI   modctypemin_longlongmax_longlongmax_ulonglongr   objfullnamefullname_altp_format_regex	p_format1	p_format2	p_format3r  r   r   r   s&   `                                  @@@r   test_from_formatCAPITest.test_from_formatc  s    	##H-	  	  	  	  	  & '	 8*2&(1%	9	-
 	,$m	5
 	z2 "3W	> 	XE&M	+\E(O	-}- h8 . 	+eGneHo	? 	S	T	U	Vf	& 	Ui	)\m226:	<^K	)Xn	.]K	)Zn	.Zn	.Zn	.Znd	4\dM$8$8$@	B
 	\ %	)Y!5	*\"E	+ 	_ %	)Z!5	*\"E	+ 	_ %	)Z!5	*\"E	+ 	\ &	*Y!6	+\"F	, 	\ %	)Y!5	*\"E	+ 	\ %	1Y!5&	2\"E6	3\ $	0Y!4	1\"D&	2 	UeBi	)VuRy	*.
)D&% ve62vW5f
+>Fy9	
U \\d):\; !%d!2E%LB <;.
& q6*#559:;$}q(S&j6	8S&j6	8a&"556:S'k-8	:UHRL1 	U65:6\7E#J7\8U3Z8\8U3Z8\9eCj9U7E#J7Y7E#J7\9eCj9\9eCj9\:uSz:\:uSz:\;c
;V65;7\7E$K8\8U4[9\8U4[9\9eDk:V7E$K8Z7E$K8\9eDk:\9eDk:\:uT{;\:uT{;\;d<U66#;7\7F3K8\8VC[9\8VC[9\9fSk:U7F3K8Y7F3K8\9fSk:\9fSk:\:vc{;\:vc{;\;s<U66%=9\7F5M:\8VE];\8VE];\9fUm<U7F5M:Y7F5M:\9fUm<\9fUm<\:ve}=\:ve}=\;u>U66%=9\7F5M:\8VE];\8VE];\9fUm<U7F5M:Y7F5M:\9fUm<\9fUm<\:ve}=\:ve}=\;u>U66%=9\7F5M:\8VE];\8VE];\9fUm<U7F5M:Y7F5M:\9fUm<\9fUm<\:ve}=\:ve}=\;u> 	4 9	; 	UE6	+UD&	* 	UFIe$45^VY~-FG,Y'>?	AWi5)9:&>1JK.i(?@	BXx>)BCVG_q%8\hy)@A	CfWo&9]|y)@A	C 	UUIe$4	6UT9U#3	5^T9^#<	>,T9-D#E	GWi&6	8&dIn$=	?.dI.E$F	HXtY~%>	@VG_q%8\htY/F%G	IfWo&9]|tY/F%G	I 	[ )E"2	4x"Ie$4	6'"Ie$4	6	 	kZq!7!7 89vhZ( )C.	2"1Y%;%;$<=vl^,!9S>	3 	[ )C.	2x"IcN	4'"IcN	4 	vhZ( )DI"6	8vl^,!9T#Y#7	9##I/KL$i&68 M
 	WfeAh7T7E!Hf5Wha%(FCWfeAh6T7E!He4Wha%(EBWha%(D&IWiq589U+	-Zq5:>WguQxs<Z58U1XuSzJ 0(6	i-N3(8VD	i-?	A )$G	i-N3
 	('B	D 	%z	3 	R	RC	!
;C #&&&{4K(#v7 '&; 	{,C &%)	5s
 .-` <;X MLt '&s0   ?s6&t=t-t-6
t
t
t*-
t<	c                 d    SSK Jn  SR                  5       nU" U5      nU R                  US5        g )Nr   )unicode_interninplacer9   rP   )rU   r!  decoder&   )r+   interninplacerJ   rs       r   test_interninplaceCAPITest.test_interninplace  s-     	LMMO!E"r   c                     SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  [        US5        U R                  [        US5        U R                  U" S	5      S
5        g )Nr   )unicode_internfromstringr9   rP   rz   r{   r   r|   r   r   )rU   r(  r&   r(   r}   )r+   internfromstrings     r   test_internfromstringCAPITest.test_internfromstring  ss     	R)&159)*=>M,.>H,.>H)#.3r   c                    SSK Jn  SSKJn  US:X  a  [        R
                  S:X  a  SOSnOUS:X  a  [        R
                  S:X  a  S	OS
nS HK  nUR                  W5      nU R                  U" U5      U5        U R                  U" USU-  -   S5      U5        MM     S HL  nUR                  WS5      nU R                  U" U5      U5        U R                  U" USU-  -   S5      U5        MN     U R                  U" SR                  W5      S5      S5        US:X  a(  U R                  U" SR                  U5      S5      S5        U R                  [        US[        5        U R                  [        USU-  S5        U R                  [        USU-  [        5        U R                  U" [        S5      S5        U R                  [        U[        S5        U R                  [        U[        [        5        U R                  [        U[        S5        U R                  [        U[        S5        U R                  [        U[        [        5        g )Nr   )unicode_fromwidecharSIZEOF_WCHAR_Tr!   r   r   r   r#   r   r   )r   rP   rw   ry   r{   r   r$   )r   u   surrogatepassrP   rs   r   u   ar   r   r"   )rU   r-  r%   r/  r   r   r   r&   r(   r)   r   r*   r   ra   )r+   fromwidecharr/  encodingrJ   bs         r   test_fromwidecharCAPITest.test_fromwidechar  s    	J,Q%(]]h%>zJHq %(]]h%>zJH>A"A\!_a0\!eN.B*BBGK ? $A?3A\!_a0\!eN.B*BBGK $
 	ell8&<a@$GQ\-*>*>x*H!LiX+|S.I+|U>5I2N+|U>5I>ZdA.3+|T1=+|T>J+|T2>+|T2>+|T>Jr   c                    SSK Jn  SSK Jn  SSKJn  U" SS5      u  pEU R                  US5        U R                  US5        U" SS	5      u  pEU R                  US	5        U R                  US5        U R                  U" SS
5      S5        U R                  U" SS5      S5        U" SS5      u  pEU R                  US	5        U R                  US5        U" SS
5      u  pEU R                  US	5        U R                  US5        U" SS5      u  pEU R                  US5        U R                  US5        U R                  U" SS5      S5        [        S5      nUS:X  a  SnOSnU" US
5      u  pEU R                  XW5        U R                  XFS-   5        U R                  U" US
5      US-   5        U R                  [        USS
5        U R                  [        U/ S
5        U R                  [        U[        S
5        U R                  [        USS
5        U R                  [        U/ S
5        U R                  [        U[        S
5        g )Nr   )unicode_aswidechar)unicode_aswidechar_nullr.  abcdefr!   rs   rP   rT   r`   r#   abc ru      r8   abc def r   r   r"   r_   r9   )rU   r8  r9  r%   r/  r&   r'   r(   rV   r*   ra   )r+   r8  r9  r/  wcharsizenonbmpnchars           r   test_aswidecharCAPITest.test_aswidechar)  s    	8<,(15q!%(2q!&0;Q?0:A>(2q!((3q!((R8q!-0R@!DXQEE(4%.0<eaiH)%7D)%7R@+'94D)%<fbI)%<b"E+'>bIr   c                    SSK Jn  SSK Jn  SSKJn  U" S5      u  pEU R                  US5        U R                  US5        U R                  U" S5      S5        U" S5      u  pEU R                  US	5        U R                  US
5        U R                  [        US5        [        S5      nUS:X  a  SnOSnU" U5      u  pEU R                  XW5        U R                  XFS-   5        U R                  U" U5      U5        U R                  [        US5        U R                  [        U/ 5        U R                  [        U[        5        U R                  [        US5        U R                  [        U/ 5        U R                  [        U[        5        g )Nr   )unicode_aswidecharstring)unicode_aswidecharstring_nullr.  rP   rT   r;  ru   r8   r=  r   r!   r"   r_   r9   )rU   rE  rF  r%   r/  r&   r(   r;   r'   rV   r*   ra   )r+   rE  rF  r/  r>  r?  r@  rA  s           r   test_aswidecharstringCAPITest.test_aswidecharstringY  s]    	>B,.u5q!(6u=uE.z:q!-*&CZPXQEE.v6%.6v>G)%=vF)%=rB+'?F)%BFK)%BBG+'DdKr   c           	      P   SSK Jn  S GH  n[        U5      nU R                  U" X#S5      US-   5        U R                  U" X#S5      US-   5        U R                  U" X#S-   S5      US-   5        U R                  U" X#S-   S5      US-   5        U R	                  [
        XUS-
  S5        U R	                  [
        XUS-
  S5        SR                  X"/5      nU R                  U" U[        U5      S5      US-   5        U R                  U" U[        U5      S5      US-   5        GM     g )	Nr   )unicode_asucs4r   r"   r_   u   ￿u    ￿r!   )r%   rJ  r   r&   r(   r*   join)r+   rJ  rJ   ls       r   test_asucs4CAPITest.test_asucs4|  s    	-5AAA^A!4af=^A!4ajA^AsA6*E^AsA6*Ek>ac1Ek>ac1E		1&!A^As1vq91T6B^As1vq91X:F5r   c                     SSK Jn  S HK  nU R                  U" U5      US-   5        SR                  X"/5      nU R                  U" U5      US-   5        MM     g )Nr   )unicode_asucs4copyr   r_   )r%   rP  r&   rK  )r+   
asucs4copyrJ   s      r   test_asucs4copyCAPITest.test_asucs4copy  sS     	?5AZ]AdF3		1&!AZ]AdF3	5r   c                     SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  [        US	5        U R                  [        US
5        g )Nr   )unicode_fromordinalr   ar6      €r   r{   r    r$   )rU   rU  r&   r(   r;   )r+   fromordinals     r   test_fromordinalCAPITest.test_fromordinal  sk     	HT*C0V,h7W-|<*k8<*k26r   c                 h   SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" S	S
5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [
        USS5        U R                  [
        U/ S5        g )Nr   )unicode_asutf8rP   r#      abc    абвr8      абв r{   r      😀 ru   r      abc def    r9   )r%   r\  r&   r(   UnicodeEncodeErrorrV   )r+   r\  s     r   test_asutf8CAPITest.test_asutf8  s     	-q18<!46STa8:OP
A6F,nhJ)^VQ?)^R;r   c                    ^ ^^ [         R                  mSSKJn  SmUU U4S jn[	        S5       Vs/ s H  o1" US9PM
     nn[
        R                  " U5          S S S 5        g s  snf ! , (       d  f       g = f)Nr   )Threadu   😊c                  \   > [        S5       H  n TR                  T" TS5      S5        M     g )Ni  r   s   😊 )r<   r&   )_datar+   r\  s    r   worker)CAPITest.test_asutf8_race.<locals>.worker  s)    4[  a!8:OP !r   r`   )target)r%   r\  	threadingrg  r<   r   start_threads)r+   rg  rk  ri  threadsrj  r\  s   `    @@r   test_asutf8_raceCAPITest.test_asutf8_race  sb     #11$	Q 38)<)Q6()<++G4 54 =44s   A#A((
A6c                 h   SSK Jn  SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S	5        U R                  U" S
S5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R	                  [
        USS5        U R	                  [        USS5        U R	                  [        U/ S5        U R	                  [
        USS5        U R	                  [        USS5        U R	                  [        U/ S5        g )Nr   unicode_asutf8andsize)unicode_asutf8andsize_nullrP   r#   )r]  rT   r^  r8   )r_     r{   r   )r`  r#   ru   r   )ra  r8   r]  ra  rb  r9   )rU   ru  rv  r&   r(   rc  rV   )r+   ru  rv  s      r   test_asutf8andsizeCAPITest.test_asutf8andsize  s    	;?.ua8-H.x;=_`.|Q?A[\.z1=?QR3E1=xH3JBMR,.CXqQ)%:FAF)%:BB,.H(TUV)%?K)%?QGr   c                 >    SSK Jn  U R                  U" 5       S5        g )Nr   )unicode_getdefaultencodings   utf-8)rU   r{  r&   )r+   getdefaultencodings     r   test_getdefaultencoding CAPITest.test_getdefaultencoding  s     	V+-x8r   zneed _testinternalcapi modulec                 \   SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S	5        U R                  U" S
5      S
5        U R                  [        US5        U R                  [        U/ 5        g )Nr   )*_PyUnicode_TransformDecimalAndSpaceToASCIIr   u   ٣.١٤z3.14u
    3.14 z 3.14 u   12€3z12?r   r   )_testinternalcapir  r&   r(   r*   )r+   transform_decimals     r    test_transform_decimal_and_space)CAPITest.test_transform_decimal_and_space  s     	f*51	 *+@A	!*+IJ!	#*;7	 *2.3+'8&A+'8"=r   c                 *   SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S	5        U R                  U" SS5      S
5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        U/ S5        U R                  [        US/ 5        U R                  [        U/ / 5        g )Nr   )unicode_concatrP   defr:  u   гдеu	   abcгдеr^  u	   абвdefu   абвгдеza bzc dza bc dr9      def)rU   r  r&   r(   rV   )r+   concats     r   test_concatCAPITest.test_concat  s     	>u-x8x0+>%0+>(3^D/<)VVU;)VUF;)VVV<)VR7)VUB7)VR4r   c                 *   SSK Jn  U R                  U" SS5      / SQ5        U R                  U" SSS5      / SQ5        U R                  U" SS[        5      / SQ5        U R                  U" SSS5      / SQ5        U R                  U" SS[        5      / SQ5        U R                  U" SS	5      S/5        U R                  U" S
S5      / SQ5        U R                  U" SS5      / SQ5        U R                  U" SS5      / SQ5        U R                  U" S[
        5      / SQ5        U R                  U" S[
        5      / SQ5        U R                  [        USS5        U R                  [        US[        S5      5        U R                  [        U/ S5        g )Nr   )unicode_splita|b|c|d|rV  r4  rZ   dr!   )rV  r4  zc|dr$   rW  	a||b|c||d||rV  b|cr     а|б|в|г   а   б   в   г   абабагаламагаr  r   r  r  r  u   лu   мr  r    a	b
cderV  r4  rZ   r  e   ab c d er   )
rU   r  r&   r   r   ra   r(   r;   rV   r   )r+   splits     r   
test_splitCAPITest.test_split  sh    	<y#.0DEy#q13DEy#~>-	/y#r24HIy#~>-	/y(3i[A{D13DE}c24LM;TBE	G1482	4:DA2	4 	*eY;)UIs3x@)UB4r   c                 `   SSK Jn  U R                  U" SS5      / SQ5        U R                  U" SSS5      / SQ5        U R                  U" SS[        5      / SQ5        U R                  U" SSS5      / SQ5        U R                  U" SS[        5      / SQ5        U R                  U" SS	5      S/5        U R                  U" S
S5      / SQ5        U R                  U" SS5      / SQ5        U R                  U" SS5      / SQ5        U R                  U" SS5      / SQ5        U R                  U" S[
        5      / SQ5        U R                  U" S[
        5      / SQ5        U R                  [        USS5        U R                  [        US[        S5      5        U R                  [        U/ S5        g )Nr   )unicode_rsplitr  r  r  r!   )a|brZ   r  r$   rW  r  r  r  r  r  r  r  r  u
   aжbжcжd   жr  r  r  r   )
rU   r  r&   r   r   ra   r(   r;   rV   r   )r+   rsplits     r   test_rsplitCAPITest.test_rsplit8  s    	>	3/1EF	324EF	3?-	/	335IJ	3?-	/	84ykBT24EFs35MN <dCE	Gd35IJ 2D92	4 ;TB2	4 	*fi<)VYCA)VR5r   c                    SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" S	S5      S
5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [
        USS5        U R                  [
        USS5        U R                  [
        US[        S5      5        U R                  [
        U/ S5        g )Nr   )unicode_partitiona|b|cr  )rV  r  r  a||b||cr  )rV  r  zb||c   а|б|в)r  r  u   б|в
   кабанr  )u   кr  u   бан   aжbжcr  )rV  r  u   bжcr      a|b|c   |)rU   r  r&   r(   r;   rV   r   )r+   	partitions     r   test_partitionCAPITest.test_partitionU  s     	D7C02CD9d35HI:s35IJ<68NO9d35HI*i"=)Y#>)Y>)YSB)YC8r   c                    SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" S	S5      S
5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [
        USS5        U R                  [
        USS5        U R                  [
        US[        S5      5        U R                  [
        U/ S5        g )Nr   )unicode_rpartitionr  r  )r  r  rZ   r  r  )za||br  rZ   r  )u   а|бr  r  r  r  )u   кабr  u   нr  r  )u   aжbr  rZ   r   r  r  )rU   r  r&   r(   r;   rV   r   )r+   
rpartitions     r   test_rpartitionCAPITest.test_rpartitioni  s     	FGS13DEIt46IJJ46JKL$79OPIt46IJ*j'2>)Z3?)Z$?)Z#c(C)ZS9r   c                 F   SSK Jn  U R                  U" S5      / SQ5        U R                  U" SS5      / SQ5        U R                  U" S5      / SQ5        U R                  U" SS5      / SQ5        U R                  U" S	5      / S
Q5        U R                  [        US5        g )Nr   )unicode_splitlinesza
bc
dr  T)za
zbzc
r  u   ab c d)u   au   b u   c r  u   а
бв
гr  s   a
bc
d)rU   r  r&   r(   rV   )r+   
splitliness     r   test_splitlinesCAPITest.test_splitlines}  s     	FN35IJND95	7$:;-	/$:DA=	?$679QR)ZAr   c                    SSK Jn  U R                  U" S[        S5      S[        S5      [        S5      [        S5      S	05      S
5        U R                  U" S[        S5      S[        S5      [        S5      [        S5      S	05      S5        U R                  U" S0 5      S5        U R                  U" S/ 5      S5        U R	                  [
        US[        S5      S 05        U R	                  [
        US[        S5      S 0S5        U R	                  [        US[        S5      S 0S5        U R                  U" S[        S5      S 0S5      S5        U R                  U" S[        S5      S 0S5      S5        U R                  U" S[        S5      S 0S5      S5        U R	                  [        US/ 5        U R	                  [        US/ 5        U R	                  [        US[        S5      S05        U R	                  [        USS5        U R	                  [        US[        5        U R	                  [        US[        S5      S 0S5        g )Nr   )unicode_translateabcdrV  Ar4  BrZ   <>zAB<>du   абвгr  u   Аr  u   Бr  u   АБ<>гrP   strictfooignoreacreplaceu   a�cbackslashreplaceza\x62cr9   r      A)	rU   r  r&   r   r(   UnicodeTranslateErrorLookupErrorrV   ra   )r+   	translates     r   test_translateCAPITest.test_translate  s    	D6CHc3s8SXsSVxY]+^_ahi:D	4TCPTIWZ[_W`bf/ghjtu5"-u55"-u5/ECHdCST/ECHdCSU]^+y%#c(D9I5Q53s8T*:HEtL53s8T*:IF
S53s8T*:<NOQZ[)Y;)YR8)YC$7GH)Ys;)Yt<+y%#c(D9I5Qr   c                    SSK Jn  U R                  U" S/ SQ5      S5        U R                  U" S/ SQ5      S5        U R                  U" S/ SQ5      S	5        U R                  U" [        / SQ5      S
5        U R                  U" S/ SQ5      S5        U R                  U" S/ SQ5      S5        U R	                  [
        US/ SQ5        U R	                  [
        US/ SQ5        U R	                  [
        U[        / SQ5        U R	                  [
        USS5        U R	                  [
        USS5        U R	                  [        US[        5        g )Nr   )unicode_joinr  )rV  r4  rZ   r  )rV  r   rZ   za||cr   rP   za b c)r  r  r  r  r  u
   ажбжвr  )   a   b   cr   r   )rU   r  r&   ra   r(   rV   r*   )r+   rK  s     r   	test_joinCAPITest.test_join  s    	:c?3W=c>2F;b/2E:dO4g>c#56
Cd$67F)T4A)T30BC)T41CD)T37)T34+tS$7r   c                 F   SSK Jn  S H:  n[        U5       H(  u  p4U R                  U" X$S[	        U5      5      S5        M*     M<     SnU R                  U" USS[	        U5      5      S5        U R                  U" USS[	        U5      5      [	        U5      S-   5        U R                  U" USS[	        U5      S-   5      S5        U R                  U" USS[
        5      S5        U R                  U" USSS5      S5        U R                  U" US[	        U5      S5      S5        U R                  U" US[	        U5      * S	5      S5        U R                  U" US[	        U5      * S-
  S	5      S5        U R                  U" US[        S	5      S5        U R                  [        XS
S[	        U5      5        U R                  [        USSS[	        U5      5        U R                  [        X[        S5      S[	        U5      5        U R                  [        U/ SS[	        U5      S5        g )Nr   )unicode_count   ¡u   耀肀u   u   🄀🇱r"   !>_<!zr   !r$      !   !>_<!)
rU   r  r:   r&   r   r   r   r(   rV   r   )r+   r  r   rX   chs        r   
test_countCAPITest.test_count  s    	3QC"3  s3s8!DaH ( R sCCH=qAsB3s8<c#hqjIsCCHQJ?CsCNCQGsCA6:sCS1=qAsC#c(B?CsC#c(1bA1EsCDaH)]q#c(K)]Hc1c#hO)]S1c#hO)]BQC!Lr   c           
         SSK Jn  SnU R                  U" USS[        U5      S5      S5        U R                  U" USS[        U5      S5      S5        U R                  U" USS[        S5      S5        U R                  U" US[        U5      * [        S5      S5        U R                  U" US[
        [        U5      S5      S5        U R                  U" USS[        S5      S5        U R                  U" US[
        [        U5      S5      S5        U R                  U" USS[        U5      S5      S5        U R                  U" USS[        U5      S5      S5        U R                  U" US	S[        U5      S5      S5        U R                  U" US	S[        U5      S5      S5        U R                  U" US
S[        U5      S-
  S5      S5        U R                  U" US
S[        U5      S-
  S5      S5        U R                  U" USS[        U5      S-
  S5      S5        U R                  U" US
[        U5      * S-   SS5      S5        U R                  U" USS[        U5      S5      S5        U R                  U" USS[        U5      S-
  S5      S5        U R                  U" US[        U5      * SS5      S5        U R                  [        XSS[        U5      S5        U R                  [        XSS[        U5      S5        g )Nr   )unicode_tailmatchababahalamahaabar$   r"   ahar  r   baah)r  r  )rU   r  r&   r   r   r   r(   rV   )r+   	tailmatchr   s      r   test_tailmatchCAPITest.test_tailmatch  s    	D3q#c(B?C3q#c(A>B3q."EqI3Cy."MqQ3~s3xLaP3q.!DaH3~s3xKQO3QC!<a@3QC"=qA3As3x;Q?3As3x<a@3aS!R@!D3aS!R@!D3q#c(1*bA1E3s3xik2rBAF3aS1=qA3aS!Q?C3s3xiQ?C 	)Y^QCRTU)Y^QCRSTr   c                    SSK Jn  S H_  n[        U5       HM  u  p4U R                  U" X$S[	        U5      S5      U5        U R                  U" X$S[	        U5      S5      U5        MO     Ma     SnU R                  U" USS[	        U5      S5      S5        U R                  U" USS[	        U5      S5      S5        U R                  U" USS[	        U5      S5      S5        U R                  U" USS[	        U5      S5      [	        U5      5        U R                  U" US	S[	        U5      S-   S5      S
5        U R                  U" US	S[
        S5      S
5        U R                  U" US	S[	        U5      S-   S5      S
5        U R                  U" US	S[
        S5      S
5        U R                  U" US	SSS5      S5        U R                  U" US	SSS5      S5        U R                  U" US	[	        U5      SS5      S5        U R                  U" US	[	        U5      SS5      S5        U R                  U" US	[	        U5      * SS5      S5        U R                  U" US	[	        U5      * SS5      S5        U R                  U" US	[        SS5      S5        U R                  U" US	[        SS5      S5        U R                  U" US	[        [
        S5      S5        U R                  U" US	[        [
        S5      S
5        U R                  [        XSS[	        U5      S5        U R                  [        USS	S[	        U5      S5        U R                  [        X[        S	5      S[	        U5      S5        U R                  [        U/ S	S[	        U5      S5        g )Nr   )unicode_findr  r"   r$   r  r  r   r  r#   r  r  )
rU   r  r:   r&   r   r   r   r(   rV   r   )r+   findr   rX   r  s        r   	test_findCAPITest.test_find  s!    	:QC"3  cq#c(A!>B  cq#c(B!?C ( R
 c33s8Q7<c33s8R8"=c2q#c(A6:c2q#c(B7SBc33s8A:q91=c3>1=qAc33s8A:r:A>c3>2>Bc31a0"5c31b126c3C!Q7<c3C!R8"=c3S	2q91=c3S	2r:A>c3A>Bc3B?Cc3JANc3KQO)TaS1E)T8S!SXqI)TC!SXqI)T2sAs3xCr   c                 b   SSK Jn  S Hs  n[        U5       Ha  u  p4U R                  U" U[	        U5      S[        U5      S5      U5        U R                  U" U[	        U5      S[        U5      S5      U5        Mc     Mu     SnU R                  U" USS[        U5      S5      S5        U R                  U" USS[        U5      S5      S5        U R                  U" U[	        S5      S[        U5      S-   S5      S	5        U R                  U" U[	        S5      S[        S5      S	5        U R                  U" U[	        S5      S[        U5      S-   S5      S	5        U R                  U" U[	        S5      S[        S5      S	5        U R                  U" U[	        S5      SSS5      S5        U R                  U" U[	        S5      SSS5      S5        U R                  U" U[	        S5      [        U5      SS5      S5        U R                  U" U[	        S5      [        U5      SS5      S5        U R                  U" U[	        S5      [        U5      * SS5      S5        U R                  U" U[	        S5      [        U5      * SS5      S5        U R                  U" U[	        S5      [        SS5      S5        U R                  U" U[	        S5      [        SS5      S5        U R                  U" U[	        S5      [        [        S5      S5        U R                  U" U[	        S5      [        [        S5      S	5        g )
Nr   )unicode_findcharr  r"   r$   r  r    r  r#   )rU   r  r:   r&   r   r   r   r   )r+   r  r   rX   r  s        r   test_findcharCAPITest.test_findchar%  s    	6QC"3  !1#s2w3s8Q!OQRS  !1#s2w3s8R!PRST ( R
 )#xCHaH"M)#xCHbI2N)#s3xCHQJJAN)#s3xNANPQR)#s3xCHQJKQO)#s3xNBOQRS)#s3xAqA2F)#s3xArBBG)#s3xS1aH"M)#s3xS1bI2N)#s3x#c(BJAN)#s3x#c(BKQO)#s3xQOQRS)#s3xRPRST)#s3xYZ[]^_)#s3xY[\^_`r   c           	      "   SSK Jn  SnU R                  U" USS5      S5        U R                  U" USS5      S5        U R                  U" US	S5      S
5        U R                  U" USSS5      S5        U R                  U" USSS5      U5        U R                  U" USS[        5      S5        U R                  U" USSS5      S5        U R                  U" USS[        5      S5        U R                  U" USS5      U5        U R                  U" USS5      S5        U R                  U" USS5      S5        U R                  U" SSS5      S5        U R                  U" SSS5      S5        U R                  [        USSS5        U R                  [        USSS5        U R                  [        USSS5        U R                  [        USS[        S5      5        U R                  [        US[        S5      S5        U R                  [        U/ SS5        g )Nr   )unicode_replaceabracadabrarV  =z=br=c=d=br=r  z<>br<>c<>d<>br<>abraz=cad=r!   z=br=cadabrar$   r  r   z=a=b=r=a=c=a=d=a=b=r=a=r  u   жbrжcжdжbrжr  r  u   =б=б=г=л=м=г=u   Баден-Баденu
   БаденBadenzBaden-Baden   =r  )rU   r  r&   r   r   r(   rV   r   )r+   r  r   s      r   test_replaceCAPITest.test_replaceI  s    	@c3/?c402DEfc2G<c32MBc32C8c3?Oc33]Cc3?Oc3/5b#.0IJc402DE!=tSIK`a!8,PR_`)Wc3=)Wc4=)WdC=)Wc3CA)Wc3s8SA)Wb#s;r   c                 \   SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  [        US	S5        U R                  [        USS	5        U R                  [        US	S	5        U R                  [        U/ S5        U R                  [        US/ 5        U R                  [        U/ / 5        g )
Nr   )unicode_comparerP   r  r$   r"   ru   r^  r9   )rU   r  r&   r(   rV   )r+   compares     r   test_compareCAPITest.test_compareh  s
    	@.2.3.2
3R8Z8!<5115)Wfe<)WeV<)Wff=)Wb%8)WeR8)Wb"5r   c                 <   SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS	5      S5        U R                  U" S
S	5      S5        U R                  U" SS5      S5        g )Nr   )unicode_comparewithasciistringrP   r9   r  r$   r  r"   rt   ru   r^  )rU   r	  r&   )r+   comparewithasciistrings     r   test_comparewithasciistring$CAPITest.test_comparewithasciistring~  s     	^/v>B/v>C/v>B/{CQG/
KH!L/&A1Er   c           	         SSK Jn  SSK Jn  / SQnU GH`  nU" US5        UR                  5       nU R	                  U" XE5      S5        UR                  5       nU R	                  U" Xe5      S5        U R	                  U" US-   US-   5      S5        U R	                  U" US-   US-   5      S5        U R	                  U" XES	-   5      S5        U R	                  U" XeS	-   5      S5        U R	                  U" US
-   US	-   5      S5        U R	                  U" US
-   U5      S5        U R	                  U" XeS-   5      S5        U R	                  U" XeS S 5      S5        U R	                  U" XeS S S-   5      S5        GMc     U R	                  U" SS5      S5        U R	                  U" SS	5      S5        U R	                  U" SS5      S5        U R	                  U" SS5      S5        U R	                  U" SS5      S5        U R	                  U" SSR                  SS5      5      S5        U R	                  U" SSR                  SS5      5      S5        U R	                  U" SSR                  SS5      5      S5        g )Nr   )unicode_equaltoutf8rt  rP   rQ   rR   rS   r   r"   xr      yr   r_   r$   r   r   rP   ra  za bcr9   s   a bc   r   surrogateescaper0     )rU   r  ru  r   r&   r"  )r+   equaltoutf8asutf8andsizerA   rJ   r4  r   s          r   test_equaltoutf8CAPITest.test_equaltoutf8  s_    	HK

 A !Q
A[.2B[/3[S!d(;Q?[S!d(;Q?[I6:[Y7;[T1u9=qA[T15q9[X6:[sV4a8[sVd];Q?! $ 	R-q1R/3 	UM:A>Wf5q9UH5q9 	X$OOF4EFHIJ	LX$OOFODFGH	JX$OOFODFGH	Jr   c           
        ^ ^ SSK Jm  SSK Jn  / SQnU GHN  nU" US5        UR                  5       nT R	                  T" X45      S5        UR                  5       nT R	                  T" XT5      S5        T R	                  T" US-   US-   5      S5        T R	                  T" US-   US-   5      S5        T R	                  T" X4S	-   5      S5        T R	                  T" XTS	-   5      S5        T R	                  T" US
-   US	-   5      S5        T R	                  T" US
-   U5      S5        T R	                  T" XTS-   5      S5        T R	                  T" XTS S 5      S5        T R	                  T" XTS S S-   5      S5        T R	                  T" X4S-   [        U5      5      S5        T R	                  T" XTS-   [        U5      5      S5        T R	                  T" US
-   US-   [        U5      S-   5      S5        T R	                  T" XT[        U5      S-
  5      S5        T R	                  T" X4S5      S5        T R	                  T" X4[        5      S5        T R	                  T" X4[        5      S5        GMQ     T R	                  T" SS5      S5        T R	                  T" SS	5      S5        T R	                  T" SSS5      S5        T R	                  T" SS5      S5        T R	                  T" SS5      S5        T R	                  T" SSR                  SS5      5      S5        T R	                  T" SSR                  SS5      5      S5        T R	                  T" SSR                  SS5      5      S5        UU 4S jnU" SS5        U" SS5        U" SS5        g )Nr   )unicode_equaltoutf8andsizert  r  r"   r  r   r  r   r_   r$   s    xr   r   ru   rt   r=  ra  r  r   r  r0  r  c                    > TR                  T" X R                  U5      5      S5        TR                  U R                  U5      U R                  S5      5        g )Nr   r   )r&   r   assertNotEqual)r   r3  equaltoutf8andsizer+   s     r   check_not_equal_encodingBCAPITest.test_equaltoutf8andsize.<locals>.check_not_equal_encoding  sD    /kk(6KLaPH 5t{{67JKr   u	   Stéphaner   z	utf-16-leu	   北京市gbk)	rU   r  ru  r   r&   r"  r   r   r   )r+   r  rA   rJ   r4  r   r  r  s   `      @r   test_equaltoutf8andsize CAPITest.test_equaltoutf8andsize  sn    	VK

 A !Q
A/5q9B/6:/CTBAF/CTBAF/u9=qA/I>B/D!e)DaH/D!<a@/H=qA/crF;Q?/crFTMBAF/t8SVDaH/Hc!fEqI/D!f*c!fqjQSTU/s1vzBAF/b91=/nEqI/nEqI1 4 	+B4a8+B6:+Ba8!< 	+JDaH+L-H!L 	+H$OOF4EFHIJ	L+H$OOFODFGH	J+H$OOFODFGH	J	L
 	!h7 k: e4r   c           	         SSK Jn  [        S5      u  p#pEpgSnU H  n	U H  n
U R                  U" XU5      X:  5        U R                  U" XU5      X:*  5        U R                  U" XU5      X:H  5        U R                  U" XU5      X:g  5        U R                  U" XU5      X:  5        U R                  U" XU5      X:  5        M     M     X#XEXg4 H  nU R                  U" SSU5      [        5        U R                  U" SSU5      [        5        U R                  U" SSU5      [        5        U R                  U" / SU5      [        5        U R                  U" S/ U5      [        5        U R                  U" / / U5      [        5        M     g )Nr   )unicode_richcomparerw  )rP   r^  r{   r;  r9   rP   )rU   r$  r<   r   NotImplemented)r+   richcompareLTLEEQNEGTGErA   s1r   ops               r   test_richcompareCAPITest.test_richcompare  sX    	H!&q:Bk""5rw?k""5rx@k""5rx@k""5rx@k""5rw?k""5rx@   ""(BMM+feR8.IMM+eVR8.IMM+ffb9>JMM+b%4nEMM+eR4nEMM+b"b1>B )r   c                    SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS/ 45      S5        U R                  [        US[
        5        U R                  [        U[
        S5        g )	Nr   )unicode_formatzx=%d!*   zx=42!)r3  z
x=%d y=%s!z
x=42 y=[]!)rU   r2  r&   r(   r*   ra   )r+   r   s     r   test_formatCAPITest.test_format  sx     	>,g6/9r2h7F+vw=+vtR8r   c                 p   SSK Jn  U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS	5      S5        U R                  U" S
S	5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [        USS5        U R                  [        USS5        U R                  [        U/ S5        U R                  [        US[        S5      5        g )Nr   )unicode_containsr  r   r"   r4  r  r  r_   ru   bcs   abcdr  )rU   r7  r&   r(   rV   r   )r+   containss     r   test_containsCAPITest.test_contains+  s    	B&"-q1&#.2&#.2&$/3&$/3*d3Q7&$/3)Xw<)Xvt<)Xw=)Xr37)Xvs3x@r   c                    SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S5        U R                  U" S
5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        g )Nr   )unicode_isidentifierrV  r"   b0   µu   𝔘𝔫𝔦𝔠𝔬𝔡𝔢r    [   ©032M)rU   r=  r&   )r+   isidentifiers     r   test_isidentifierCAPITest.test_isidentifierA  s     	Jc*A.d+Q/d+Q/&DEqIb)1-c*A.c*A.d+Q/c*A.e,a0r   c                    SSK Jn  / SQn[        U5       H  u  p4US U  H  nU R                  [        XSUSS5        M     [        S5       H8  nU R                  U" USXFS5      XFUS-    R                  SS5      SU-
  45        M:     [        S5       H7  nU R                  U" XGXGS5      XGUS-    R                  SS5      SU-
  45        M9     M     US   nU R                  [        XSUSS5        U R                  [        X[        USS5        U R                  [        XSUSS5        U R                  [        X[        USS5        U R                  [        XSUSS5        U R                  [        XSU[        S5        U R                  [        XSUSS5        U R                  [        XSU[        S5        U R                  [        XSUSS5        U R                  [        XSUS[        5        U R                  [        XSUSS5        U R                  [        XSUS[        5        U R                  [        XSS	SS5        U R                  [        XS/ SS5        g )
Nr   )unicode_copycharactersr2   r   r_   rw  r$   r"   r   )r%   rI  r:   r(   r*   r<   r&   ljustrjustr?   r   r   )	r+   rI  rA   rC   from_rE   
from_startto_startrJ   s	            r   test_copycharactersCAPITest.test_copycharactersW  s^    	5
 $G,JCdsm!!*5!Q $ $Ah
  *5!UJjl399!TBz\# ' "!H  *5EQOHQJ/55a>xZ! % -. AJ*&<Aq!L*&<QRTUWXY*&<Q1M*&<QRTUWXY*&<Aq!L*&<A~WXY*&<Ar1M*&<A~WXY+'=!Q1M+'=!Q>Z+'=!Q2N+'=!Q>Z+'=!S!QO+'=!RANr   c                 :   SSK Jn  S H  nSn[        S5       H{  nU[        U5      -  nU R	                  U" U5      [        U5      R                  5       US-   -  5        U R	                  U" U5      [        U5      R                  5       US-   -  5        M}     M     g )Nr   )getargs_s_hash)$      r6   i r   r   r"   )r%   rR  r<   r'   r&   r   )r+   rR  krJ   rX   s        r   test_pep393_utf8_caching_bug%CAPITest.test_pep393_utf8_caching_bug  s     	-,AA1X SV   !2CFMMOq1u4MN  !2CFMMOq1u4MN  -r   r   )@r   r   r   r   r   cpython_onlyunittestskipIfr%   r.   rK   rU   r[   rc   rj   ro   r   r   r   r   r   r   r   r  r%  r*  r5  rB  rG  rM  rR  rY  rd  r   requires_working_threadingrq  rx  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r/  r4  r:  rF  rO  rV  r   r   r   r   r   r      s[
   __Y$&(?@? A ?& __Y$&(?@!= A !=L __%-/MN= O =: __%-/MN8 O 80 __%-/MN< O <4 __%-/MNB O B2 __%-/MNP O P. __%-/MN
. O 
. __Y$&(?@P A PD __%-/MNK O K, __%-/MN	4 O 	4 __%-/MN6 O 6" __%-/MN5 O 5"F5P __%-/MN# O # __%-/MN4 O 4 __%-/MNK O KB __%-/MN,J O ,J\ __%-/MNL O LB __Y$&(?@G A G. __Y$&(?@4 A 4 __%-/MN	7 O 	7 __Y$&(?@< A < __Y$&(?@002 3 A  __%-/MNH O H* __%-/MN9 O 9 __&$.0OP> Q >$ __%-/MN5 O 5& __%-/MN5 O 54 __%-/MN6 O 66 __%-/MN9 O 9$ __%-/MN: O :$ __%-/MNB O B  __%-/MNR O R. __%-/MN8 O 8  __%-/MNM O M: __%-/MNU O UB __%-/MN#D O #DN __%-/MNa O aD __%-/MN< O <: __%-/MN6 O 6( __%-/MN	F O 	F __%-/MN*J O *JX __%-/MN;5 O ;5F __%-/MNC O C4 __%-/MN	9 O 	9 __%-/MNA O A( __%-/MN1 O 1( __Y$&(?@0O A 0Oj __Y$&(?@O A Or   r   __main__)rY  r   testr   test.supportr   r   r%   r   r   ImportErrorrU   r  ra   r   r	   TestCaser   r   mainr   r   r   <module>rb     s     
  88
 	# 	COx   COL4 zMMO q4  I    s3   A) A7 B )A43A47BBBB