
    0hhΈ                        S SK r S SKrS SKrS SKJr  S SKJr  S SKJrJr   S SK	r	SSSSS	S
SSSS\" \ R                  5      \ R                  4S\4SS\4S\4S\4S\4S\4/r " S S\5      r " S S\R"                  5      r " S S\R"                  5      r " S S\5      r " S S\R"                  5      r\S :X  a  \R.                  " 5         gg! \
 a    Sr	 Nf = f)!    N)mock)support)VALID_UNDERSCORE_LITERALSINVALID_UNDERSCORE_LITERALS)0r   )1   )9	   )10
   )99c   )100d   )314:  )z 314r   )z314 r   )z  		  314  		  r   z  1x)z  1  r	   z  1      		  u   Ȁc                       \ rS rSrSrg)IntSubclass&    N__name__
__module____qualname____firstlineno____static_attributes__r       6/opt/python-3.13.8/usr/lib/python3.13/test/test_int.pyr   r   &   s    r!   r   c                       \ rS rSrS rS rS rS r\R                  S 5       r
S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rSrg)IntTestCases)   c                    U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S	5      S5        U R                  [        S
5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        SS5      S5        [         HN  u  pS HC  nS H:  nXC-   U-   nUnUS:X  a  U[        La  U* n U R                  [        U5      U5        M<     ME     MP     [	        S[
        R                  -
  5      n[        U5      nU R                  US-   [
        R                  * 5        U R                  U[        5        U R                  [        USS  5      [
        R                  S-   5        [        S5      nU R                  U[        5        [        S5      nU R                  U[        5        S[
        R                  -
  nU R                  US-	  US-  5        [        S5      nU R                  U[        5        U R                  [        [        SS5        U R                  [        [        SSS5        U R                  [        SS5      S5        U R                  [        SS5      S5        U R                  [        [        SS5        U R                  [        [        SS5        U R                  [        [        SS 5        U R                  [        [        SS5        U R                  [        [        S!S5        U R                  [        [        S!S5        U R                  [        S"S5      S#5        U R                  [        S$S5      S#5        U R                  [        S%S&5      S#5        U R                  [        S'S(5      S#5        U R                  [        S)S*5      S#5        U R                  [        S+S,5      S#5        U R                  [        S-S 5      S#5        U R                  [        S.S/5      S#5        U R                  [        S0S15      S#5        U R                  [        S2S35      S#5        U R                  [        S4S5      S#5        U R                  [        S5S65      S#5        U R                  [        S7S85      S#5        U R                  [        S9S:5      S#5        U R                  [        S;S5      S#5        U R                  [        S<S=5      S#5        U R                  [        S>S?5      S#5        U R                  [        S@SA5      S#5        U R                  [        SBSC5      S#5        U R                  [        SDSE5      S#5        U R                  [        SFSG5      S#5        U R                  [        SHSI5      S#5        U R                  [        SJSK5      S#5        U R                  [        SLSM5      S#5        U R                  [        SNSO5      S#5        U R                  [        SPSQ5      S#5        U R                  [        SRSS5      S#5        U R                  [        STSU5      S#5        U R                  [        SVSW5      S#5        U R                  [        SXSY5      S#5        U R                  [        SZS[5      S#5        U R                  [        S\S]5      S#5        U R                  [        S^S_5      S#5        U R                  [        S`Sa5      S#5        U R                  [        SbSc5      S#5        U R                  [        SdS5      S5        U R                  [        SdS5      S5        U R                  [        SeS5      S5        U R                  [        SS5      S5        U R                  [        SS5      S5        U R                  [        SfS5      S&5        U R                  [        SgS5      S5        U R                  [        ShS5      S5        U R                  [        SiS5      S&5        U R                  [        5         [        SjS5        S S S 5        U R                  [        Sk5      Sl5        U R                  [        SkS15      Sl5        U R                  [        SS5      S5        U R                  [        SS 5      S5        U R                  [        SfS5      S&5        U R                  [        SmS5      S5        U R                  [        SnS 5      S5        U R                  [        SoS5      S&5        U R                  [        [        SpS5        U R                  [        [        SqS5        U R                  [        [        SrS5        U R                  [        [        SsS5        U R                  [        [        StS 5        U R                  [        [        SuS 5        U R                  [        [        SvS 5        U R                  [        [        SwS 5        U R                  [        [        SxS5        U R                  [        [        SyS5        U R                  [        [        SzS5        U R                  [        [        S{S5        U R                  [        S|S5      S}5        U R                  [        S~S5      S}5        U R                  [        SS&5      S}5        U R                  [        SS(5      S}5        U R                  [        SS*5      S}5        U R                  [        SS,5      S}5        U R                  [        SS 5      S}5        U R                  [        SS/5      S}5        U R                  [        SS15      S}5        U R                  [        SS35      S}5        U R                  [        SS5      S}5        U R                  [        SS65      S}5        U R                  [        SS85      S}5        U R                  [        SS:5      S}5        U R                  [        SS5      S}5        U R                  [        SS=5      S}5        U R                  [        SS?5      S}5        U R                  [        SSA5      S}5        U R                  [        SSC5      S}5        U R                  [        SSE5      S}5        U R                  [        SSG5      S}5        U R                  [        SSI5      S}5        U R                  [        SSK5      S}5        U R                  [        SSM5      S}5        U R                  [        SSO5      S}5        U R                  [        SSQ5      S}5        U R                  [        SSS5      S}5        U R                  [        SSU5      S}5        U R                  [        SSW5      S}5        U R                  [        SSY5      S}5        U R                  [        SS[5      S}5        U R                  [        SS]5      S}5        U R                  [        SS_5      S}5        U R                  [        SSa5      S}5        U R                  [        SSc5      S}5        g ! [         a     GM  f = f! , (       d  f       GN%= f)Nr   gQ	@   gQ	g333333@g333333g      @g      z-3z -3 u    -3 r      )r   +-)r   r   	r   r+   r	   g}Ô%ITg}Ô%I   X  111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111   0o123r   S   0x123i#  0x0o   0b!100000000000000000000000000000000l        10200202220122111121110000000000000000   32244002423141   1550104015504   211301422354   4000000000012068657454r   
4294967296r   
1904440554   	9ba461594	535a79889   	2ca5b7464   	1a20dcd81   	100000000a7ffda91   704he7g4   4f5aff66   3723ai4g   281d55i4   1fj8b184   1606k7ic   mb994ag   hek2mgl   dnchbnm   b28jpdm   8pfgih4   76beigg   5qmcpqg   4q0jto4   4000000    3aokq94!   2qhxjli"   2br45qb#   1z141z4$   z 0o123  0000b100z	 0O123   z 0X123  z 0B100 0100123{   0X1230O1230B1000b20b020B20B020o80o080O80O080xg0x0g0Xg0X0g!100000000000000000000000000000001l       102002022201221111212100000000000000013224400242314215501040155052113014223554000000000112068657455
4294967297
1904440555	9ba461595	535a7988a	2ca5b7465	1a20dcd82	100000001a7ffda92704he7g54f5aff673723ai4h281d55i51fj8b1851606k7idmb994ahhek2mgmdnchbnnb28jpdn8pfgih576beigh5qmcpqh4q0jto540000013aokq952qhxjlj2br45qc1z141z5)
assertEqualintL
ValueErrorreprsysmaxsizeassertIsInstanceassertRaises	TypeError)selfsvsignprefixssvvxs           r"   
test_basicIntTestCases.test_basic+   s   S3'TA&UR(S1%TB'S1%TB'TB'Vb)9:B?T"r*DA$7F*BBs{q
':R((R"5 8 %  CKK F1s{{l+a%QqrUS[[]3 Ja%Ka% s{{NaA&	Na% 	)S!R0)S$15Wa"-Wb)3/ 	*c44*c43*c43*c43*c43*c43 	@!DjQ4a8*E0!4jA-q1:>_a0*=^Q/<]A.
;]A.
;\2.
;\2.
;["-z:["-z:["-z:["-z:["-z:Z,j9Z,j9Z,j9Z,j9Z,j9Z,j9Z,j9Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8 	Z+R0Z+R0UA*Wa"-Wa#.Wa!,[!,b1Z+S1Y*A.z*qM + 	Vc*VR#. 	Wb)3/Wa"-Wa!,Wb)3/Wa"-Wa!, 	*c5!4*c615*c5!4*c615*c5!4*c615*c5!4*c615*c5"5*c626*c5"5*c626 	@!DjQ4a8*E0!4jA-q1:>_a0*=^Q/<]A.
;]A.
;\2.
;\2.
;["-z:["-z:["-z:["-z:["-z:Z,j9Z,j9Z,j9Z,j9Z,j9Z,j9Z,j9Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8Y+Z8A & | +*s   z8{
8
{	{	

{c                 H   U R                  [        5         [        S5        S S S 5        U R                  [        5         [        S5        S S S 5        U R                  [        5         [        S5        S S S 5        U R                  [        5         [        S5        S S S 5        U R                  [        5         [        S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)Nr*   r+   z- 1z+ 1z + 1 r   r   r   r   s    r"   test_invalid_signsIntTestCases.test_invalid_signs   s    z*H +z*H +z*J +z*J +z*L +* +*********s:   CC (C1D:D
C 
C.1
C?
D
D!c                     U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        SS5      S5        U R                  [        SS5      S5        g )Nu(   १२३४५६७८९०1234567890l   
>V3&Z
 u   ١٢٣٤٥٦٧٨٩٠iIr   r   r   r   s    r"   test_unicodeIntTestCases.test_unicode   s`    GHJ^_34jAGKMab3Q7Dr!   c           
        ^ [          Hz  m[        U4S jS 5       5      (       a  M  U R                  [        TS5      [	        T5      5        U R                  [        TS5      [        TR                  SS5      S5      5        M|     [         H;  m[        U4S jS 5       5      (       a  M  U R                  [        [        TS5        M=     U R                  [        SS5      S	5        U R                  [        S
5      S5        U R                  [        S5      S5        U R                  [        [        S5        U R                  [        [        S5        U R                  [        [        S5        U R                  [        [        S5        g )Nc              3   ,   >#    U  H	  oT;   v   M     g 7fNr   .0chlits     r"   	<genexpr>0IntTestCases.test_underscores.<locals>.<genexpr>        /w9w   z.eEjJr   _r   c              3   ,   >#    U  H	  oT;   v   M     g 7fr   r   r   s     r"   r   r      r   r   1_00r'   r   0_100r   s   1_00_100z+_1001__00100_)	r   anyr   r   evalreplacer   r   r   )r   r   s    @r"   test_underscoresIntTestCases.test_underscores   s   ,C/w///Sa[$s)4Sa[#ckk#r.BA*FG	 -
 /C/w///j#sA6 /
 	VQ+Ws+Ws+*c62*c73*c73*c62r!   c                     U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        U R                  [        S5      S5        g )Nr   r   z-1r-   s   10s   -1)assertIsr   r   s    r"   test_small_intsIntTestCases.test_small_ints
  sL     	c$i$c$i$c%j"%c%j"%r!   c                 8    U R                  [        5       S5        g Nr   r   r   s    r"   test_no_argsIntTestCases.test_no_args  s    "r!   c                    U R                  [        SSS9S5        U R                  [        S5         [        SS9  S S S 5        U R                  [        S5         [        SSS9  S S S 5        U R	                  [        [        S	S9  U R	                  [        [        S
S9  g ! , (       d  f       Nj= f! , (       d  f       NR= f)Nr   r.   baser;   zkeyword argumentg333333?)r   )r   r   r   r   )r   r   assertRaisesRegexr   r   r   s    r"   test_keyword_argsIntTestCases.test_keyword_args  s    U+Q/##I/AB#J C##I/AB%a  C)Sr2)Sq1 CBBBs   
BB0
B-0
B>c                    U R                  [        SS5      S5        U R                  [        5         [        SS5        SSS5        U R                  [        5         [        SS5        SSS5        U R                  [        5         [        SS5        SSS5        U R                  [        5         [        SSSS	-  -
  S
9  SSS5        U R                  [        5         [        SSS	-  S
9  SSS5        [	        SS5       H  nU R                  [        SUS
9S5        M     g! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)z9Testing the supported limits of the int() base parameter.r   r=   r   r	   N%   isr.      r   )r   r   r   r   ranger   r   s     r"   test_int_base_limits!IntTestCases.test_int_base_limits  s    S!a(z*QK +z*RL +z*TN +z*!QV*% +z*!S&! + !BKDS40!4   +*********s;   D"D3E0EE&"
D03
E
E
E#&
E4c                     U R                  [        5         [        SS5        SSS5        U R                  [        5         [        SS5        SSS5        g! , (       d  f       N9= f! , (       d  f       g= f)z2Not integer types are not valid bases; issue16772.r   g      @Ng      @)r   r   r   r   s    r"   test_int_base_bad_types$IntTestCases.test_int_base_bad_types0  sM    y)SM *y)SM *) *)))s   A A'
A$'
A5c                     " S S[         5      nSS-  SS-  * SS4 H-  nU R                  [        5         [        SU5        S S S 5        M/     U R	                  [        SU" S5      S	9S
5        U R	                  [        SU" S5      S	9S5        U R	                  [        SU" S5      S	9S5        g ! , (       d  f       M  = f)Nc                        \ rS rSrS rS rSrg)9IntTestCases.test_int_base_indexable.<locals>.MyIndexablei8  c                     Xl         g r   value)r   r   s     r"   __init__BIntTestCases.test_int_base_indexable.<locals>.MyIndexable.__init__9  s    "
r!   c                     U R                   $ r   r   r   s    r"   	__index__CIntTestCases.test_int_base_indexable.<locals>.MyIndexable.__index__;  s    zz!r!   r   N)r   r   r   r   r   r  r    r   r!   r"   MyIndexabler   8  s    #"r!   r  r.   r   r	   r   43101r   r=   r   e   rv   i  )objectr   r   r   r   )r   r  r   s      r"   test_int_base_indexable$IntTestCases.test_int_base_indexable7  s    	"& 	" sFQVGQ*D"":.D$ /. +
 	UQ8!<UR93?UR99E /.s   B//
B>	c                 &  ^^  " S S[         5      m " S S[        5      n " S S[        5      n[        [        U4S jUU[        /n SS	KJm  UR                  U4S
 j5        U H  nU" S5      nU R                  [        U5      5         U R                  [        U5      S5        [        U[         [        [        45      (       a  U R                  [        US5      S5        O-SnU R                  [        U5         [        US5        S S S 5        U R                  [        S5         [        U" S5      5        S S S 5        S S S 5        M     g ! [         a     Nf = f! , (       d  f       N[= f! , (       d  f       N<= f! , (       d  f       GM*  = f)Nc                       \ rS rSrSrg)<IntTestCases.test_non_numeric_input_types.<locals>.CustomStriK  r   Nr   r   r!   r"   	CustomStrr  K  s    dr!   r  c                       \ rS rSrSrg)>IntTestCases.test_non_numeric_input_types.<locals>.CustomBytesiL  r   Nr   r   r!   r"   CustomBytesr  L  s    $r!   r  c                       \ rS rSrSrg)BIntTestCases.test_non_numeric_input_types.<locals>.CustomByteArrayiM  r   Nr   r   r!   r"   CustomByteArrayr  M  s    $r!   r  c                 0   > T" U R                  5       5      $ r   )decode)br  s    r"   <lambda>;IntTestCases.test_non_numeric_input_types.<locals>.<lambda>R  s    i
+r!   r   )arrayc                    > T" SU 5      $ )NBr   )r  r  s    r"   r  r  \  s    uS!}r!   s   100r   r.   r;   zcan't convert non-stringzinvalid literals   AAAAAAAAAAAAAAAA)strbytes	bytearray
memoryviewr  appendImportErrorsubTesttyper   r   
isinstancer   r   r   )	r   r  r  	factoriesfr   msgr  r  s	          @@r"   test_non_numeric_input_types)IntTestCases.test_non_numeric_input_typesH  s/    	#"&%&.i. +
		6# 45A&	Ad1g&  Q-a#ui!899$$SAY24C//	3?Aq	 @++J8IJ+' K '&   		 @?JJ '&sO   	E A1F <E	F 'E/9F 
EE
E,(F /
E=9F  
F	c                    U R                  [        [        S5      SS 5      S5        U R                  [        [        S5      SS 5      S5        U R                  [        [        S5      SS 5      S5        U R                  [        [        S5      SS 5      S5        U R                  [        [        S5      SS 5      S5        g )	Ns   123r	   r'   r\      123 s   123 s   123As   1234)r   r   r!  r   s    r"   test_int_memoryview IntTestCases.test_int_memoryviewk  s    Z/!45r:Z
3Aa892>Z0156;Z0156;Z0156;r!   c                 :    U R                  [        [        S5        g )Nz1.2r   r   s    r"   test_string_floatIntTestCases.test_string_floatr  s    *c51r!   c           	      l  ^^^^  " S S5      nU R                  [        [        U" 5       5         " S S[        5      nU R                  [        [        U" 5       5         " S S5      nU R	                  [        U" 5       5      S5         " S S	5      n[        U4 GHT  n " S
 SU5      nU R	                  [        U" 5       5      S5         " S SU5      nU R                  [        5         U R	                  [        U" 5       5      S5        S S S 5         " S SU5      nU R                  [        5         U R                  [        5         [        U" 5       5        S S S 5        S S S 5        [        U4 GHx  n	 " S SU	5      m " U4S jSU5      n
U R                  [        5         U R	                  [        U
" 5       5      S5        S S S 5         " S SU	5      m " U4S jSU5      nU R                  [        5         U R	                  [        U
" 5       5      S5        S S S 5         " U4S jSU	5      m " U4S jSU5      n U R                  [        5         [        U" 5       5        S S S 5        U R                  SXY4< 35         " S SU	5      m " U4S  jS!U5      nU R                  [        5         U R                  [        5         [        U" 5       5        S S S 5        S S S 5        GM{     GMW     g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNm= f! , (       d  f       GN(= f! , (       d  f       N= f! [         a&  nU R	                  [        U5      S5         S nAGNS nAff = f! , (       d  f       N= f! , (       d  f       GMB  = f)"Nc                       \ rS rSrSrg)>IntTestCases.test_intconversion.<locals>.ClassicMissingMethodsiw  r   Nr   r   r!   r"   ClassicMissingMethodsr5  w      r!   r6  c                       \ rS rSrSrg)7IntTestCases.test_intconversion.<locals>.MissingMethodsi{  r   Nr   r   r!   r"   MissingMethodsr9  {  r7  r!   r:  c                       \ rS rSrS rSrg)-IntTestCases.test_intconversion.<locals>.Foo0i  c                     gN*   r   r   s    r"   __int__5IntTestCases.test_intconversion.<locals>.Foo0.__int__      r!   r   Nr   r   r   r   r@  r    r   r!   r"   Foo0r<        r!   rD  r?  c                       \ rS rSrSrg)0IntTestCases.test_intconversion.<locals>.Classici  r   Nr   r   r!   r"   ClassicrG    r7  r!   rH  c                        \ rS rSrS rS rSrg):IntTestCases.test_intconversion.<locals>.IntOverridesTrunci  c                     gr>  r   r   s    r"   r@  BIntTestCases.test_intconversion.<locals>.IntOverridesTrunc.__int__      r!   c                     g)Nir   r   s    r"   	__trunc__DIntTestCases.test_intconversion.<locals>.IntOverridesTrunc.__trunc__  s    r!   r   N)r   r   r   r   r@  rO  r    r   r!   r"   IntOverridesTruncrJ    s    r!   rQ  c                       \ rS rSrS rSrg)2IntTestCases.test_intconversion.<locals>.JustTrunci  c                     gr>  r   r   s    r"   rO  <IntTestCases.test_intconversion.<locals>.JustTrunc.__trunc__  rM  r!   r   Nr   r   r   r   rO  r    r   r!   r"   	JustTruncrS    s    r!   rW  c                       \ rS rSrS rSrg)9IntTestCases.test_intconversion.<locals>.ExceptionalTrunci  c                     SS-    g )Nr	   r   r   r   s    r"   rO  CIntTestCases.test_intconversion.<locals>.ExceptionalTrunc.__trunc__  s	    Er!   r   NrV  r   r!   r"   ExceptionalTruncrY    s    r!   r\  c                       \ rS rSrS rSrg).IntTestCases.test_intconversion.<locals>.Indexi  c                     gr>  r   r   s    r"   r  8IntTestCases.test_intconversion.<locals>.Index.__index__      !r!   r   Nr   r   r   r   r  r    r   r!   r"   Indexr^        "r!   rc  c                   "   > \ rS rSrU 4S jrSrg);IntTestCases.test_intconversion.<locals>.TruncReturnsNonInti  c                    > T" 5       $ r   r   )r   rc  s    r"   rO  EIntTestCases.test_intconversion.<locals>.TruncReturnsNonInt.__trunc__  s
    $wr!   r   NrV  )rc  s   r"   TruncReturnsNonIntrf    s    ' 'r!   ri  c                       \ rS rSrS rSrg)0IntTestCases.test_intconversion.<locals>.Intablei  c                     gr>  r   r   s    r"   r@  8IntTestCases.test_intconversion.<locals>.Intable.__int__  ra  r!   r   NrC  r   r!   r"   Intablerk    rd  r!   rn  c                   "   > \ rS rSrU 4S jrSrg)=IntTestCases.test_intconversion.<locals>.TruncReturnsNonIndexi  c                    > T" 5       $ r   r   )r   rn  s    r"   rO  GIntTestCases.test_intconversion.<locals>.TruncReturnsNonIndex.__trunc__  s    &y(r!   r   NrV  )rn  s   r"   TruncReturnsNonIndexrp    s    ) )r!   rs  c                   "   > \ rS rSrU 4S jrSrg)4IntTestCases.test_intconversion.<locals>.NonIntegrali  c                    > T" 5       $ r   r   r   NonIntegrals    r"   rO  >IntTestCases.test_intconversion.<locals>.NonIntegral.__trunc__  s    *},r!   r   NrV  rx  s   r"   rx  ru    s    - -r!   rx  c                   "   > \ rS rSrU 4S jrSrg)@IntTestCases.test_intconversion.<locals>.TruncReturnsNonIntegrali  c                    > T" 5       $ r   r   rw  s    r"   rO  JIntTestCases.test_intconversion.<locals>.TruncReturnsNonIntegral.__trunc__  s    *},r!   r   NrV  rz  s   r"   TruncReturnsNonIntegralr|    s    - -r!   r  zFailed to raise TypeError with z2__trunc__ returned non-Integral (type NonIntegral)c                       \ rS rSrS rSrg)/IntTestCases.test_intconversion.<locals>.BadInti  c                     gNg      E@r   r   s    r"   r@  7IntTestCases.test_intconversion.<locals>.BadInt.__int__  s    #r!   r   NrC  r   r!   r"   BadIntr    s    $r!   r  c                   "   > \ rS rSrU 4S jrSrg);IntTestCases.test_intconversion.<locals>.TruncReturnsBadInti  c                    > T" 5       $ r   r   r   r  s    r"   rO  EIntTestCases.test_intconversion.<locals>.TruncReturnsBadInt.__trunc__  s
    %xr!   r   NrV  r  s   r"   TruncReturnsBadIntr    s    ( (r!   r  )
r   r   r   r	  r   assertWarnsDeprecationWarningZeroDivisionErrorfailr  )r   r6  r:  rD  rH  r   rQ  rW  r\  trunc_result_baseri  rs  r  er  r  rc  rn  rx  s                  @@@@r"   test_intconversionIntTestCases.test_intconversionu  s   	 	)S*?*AB	V 	)S.*:;	 	 	TVb)	 	W%DD 
 S!2!45r:D  !!"45  Y[!126 64  ""#45!!"45$&' 6 6 '-g%6!"- "' ' %%&89$$S);)=%>C :"/ ")4 ) %%&89$$S);)=%>C :-"3 -
-d -	<))*<=356 > II $8; <$. $( ( &&y1%%&89*,- : 21c &7+ & 65 65 65 :9 :9 >=  =$$SV'<= ==$ :9 21s   )!K42LLL#!L*:!L< MM&M2N#N	N#4
L	
LL
L'	*
L9<
M
MM
N)N

N
N N##
N3c                      " S S[         5      n " S S[         5      nU" S5      nU R                  US5        U R                  [        U5      S5        U R                  [        U" 5       5      S5        g )Nc                       \ rS rSrS rSrg):IntTestCases.test_int_subclass_with_index.<locals>.MyIndexi  c                     gr>  r   r   s    r"   r  DIntTestCases.test_int_subclass_with_index.<locals>.MyIndex.__index__  rB  r!   r   Nrb  r   r!   r"   MyIndexr    rE  r!   r  c                       \ rS rSrS rSrg);IntTestCases.test_int_subclass_with_index.<locals>.BadIndexi  c                     gr  r   r   s    r"   r  EIntTestCases.test_int_subclass_with_index.<locals>.BadIndex.__index__      r!   r   Nrb  r   r!   r"   BadIndexr        r!   r  rA   r   )r   r   )r   r  r  my_ints       r"   test_int_subclass_with_index)IntTestCases.test_int_subclass_with_index  s_    	c 		s 	 #Va(XZ!,r!   c                     " S S[         5      n " S S[         5      nU" S5      nU R                  US5        U R                  [        U5      S5        U" S5      nU R                  US5        U R                  [        [         U5        g )Nc                       \ rS rSrS rSrg)6IntTestCases.test_int_subclass_with_int.<locals>.MyInti  c                     gr>  r   r   s    r"   r@  >IntTestCases.test_int_subclass_with_int.<locals>.MyInt.__int__  rB  r!   r   NrC  r   r!   r"   MyIntr    rE  r!   r  c                       \ rS rSrS rSrg)7IntTestCases.test_int_subclass_with_int.<locals>.BadInti  c                     gr  r   r   s    r"   r@  ?IntTestCases.test_int_subclass_with_int.<locals>.BadInt.__int__  r  r!   r   NrC  r   r!   r"   r  r    r  r!   r  rA   r?  )r   r   r   r   )r   r  r  r  s       r"   test_int_subclass_with_int'IntTestCases.test_int_subclass_with_int  st    	C 		S 	 q#Vb)#)S&1r!   c                 0  ^	^
  " S S5      m	 " S S[         5      n " S S5      m
 " S S[         5      n " U	4S	 jS
5      n " U
4S jS5      n " S S5      nT	" 5       nU R                  [        5         [        U5      nS S S 5        U R                  WS5        U R	                  [        U5      [         5        U" 5       n[        U5      nU R                  US5        U R	                  [        U5      [         5        T
" 5       nU R                  [        5         [        U5      nS S S 5        U R                  US5        U R	                  [        U5      [         5        U" 5       nU R                  [        5         [        U5      nS S S 5        U R                  US5        U R	                  [        U5      [         5        U" 5       nU R                  [        5         [        U5      nS S S 5        U R                  US5        U R	                  [        U5      [         5        U" 5       nU R                  [        5         U R                  [        [         U5        S S S 5        U" 5       nU R                  [        5         [        U5      nS S S 5        U R                  US5        U R	                  [        U5      [         5        U R                  [        5         [        U5      nS S S 5        U R                  US5        U R	                  [        U5      [        5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNr= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f)Nc                       \ rS rSrS rSrg)<IntTestCases.test_int_returns_int_subclass.<locals>.BadIndexi  c                     gNTr   r   s    r"   r  FIntTestCases.test_int_returns_int_subclass.<locals>.BadIndex.__index__  r  r!   r   Nrb  r   r!   r"   r  r    r  r!   r  c                       \ rS rSrS rSrg)=IntTestCases.test_int_returns_int_subclass.<locals>.BadIndex2i  c                     gr  r   r   s    r"   r  GIntTestCases.test_int_returns_int_subclass.<locals>.BadIndex2.__index__  r  r!   r   Nrb  r   r!   r"   	BadIndex2r    r  r!   r  c                       \ rS rSrS rSrg):IntTestCases.test_int_returns_int_subclass.<locals>.BadInti  c                     gr  r   r   s    r"   r@  BIntTestCases.test_int_returns_int_subclass.<locals>.BadInt.__int__  r  r!   r   NrC  r   r!   r"   r  r    r  r!   r  c                       \ rS rSrS rSrg);IntTestCases.test_int_returns_int_subclass.<locals>.BadInt2i  c                     gr  r   r   s    r"   r@  CIntTestCases.test_int_returns_int_subclass.<locals>.BadInt2.__int__  r  r!   r   NrC  r   r!   r"   BadInt2r    r  r!   r  c                   "   > \ rS rSrU 4S jrSrg)HIntTestCases.test_int_returns_int_subclass.<locals>.TruncReturnsBadIndexi  c                    > T" 5       $ r   r   )r   r  s    r"   rO  RIntTestCases.test_int_returns_int_subclass.<locals>.TruncReturnsBadIndex.__trunc__  s    z!r!   r   NrV  )r  s   r"   TruncReturnsBadIndexr    s    " "r!   r  c                   "   > \ rS rSrU 4S jrSrg)FIntTestCases.test_int_returns_int_subclass.<locals>.TruncReturnsBadInti  c                    > T" 5       $ r   r   r  s    r"   rO  PIntTestCases.test_int_returns_int_subclass.<locals>.TruncReturnsBadInt.__trunc__  s
    xr!   r   NrV  r  s   r"   r  r    s       r!   r  c                       \ rS rSrS rSrg)KIntTestCases.test_int_returns_int_subclass.<locals>.TruncReturnsIntSubclassi
  c                     gr  r   r   s    r"   rO  UIntTestCases.test_int_returns_int_subclass.<locals>.TruncReturnsIntSubclass.__trunc__  r  r!   r   NrV  r   r!   r"   TruncReturnsIntSubclassr  
  r  r!   r  r	   r   )	r   r  r  r   r   r%  r   r   r   )r   r  r  r  r  r  bad_intngood_intr  r  s            @@r"   test_int_returns_int_subclass*IntTestCases.test_int_returns_int_subclass  s   	 		 		 		c 		" 	"	  	 	 	 *01GA 2Ad1gs#+LAd1gs#(01GA 2Ad1gs#)01GA 2Ad1gs#&(01GA 2Ad1gs#$&01ig6 2 +,01HA 2Ad1gs#01H%A 2Ad1g{+Q 21 21 21 21 21 21 21sT   5LL.:M M<M$<M6N
L+.
L= 
M
M!$
M36
N
Nc                   ^  SU 4S jjnU" S5        U" S5        U" S5        U" S5        U" SS5        U" SS5        U" SS	5        U" S
S5        U" S
S	5        U" S5        U" SS5        U" S5        U" SS5        U" S5        U" SS5        g )Nc                   > TR                  [        SU < SU< S3S9 nUc  [        U 5        O[        X5        S S S 5        TR                  WR                  R
                  S   SUc  SOUU 4-  5        g ! , (       d  f       NB= f)Nzint(z, ))r)  r   z*invalid literal for int() with base %d: %rr   )r   r   r   r   	exceptionargs)r   r   cmr   s      r"   check.IntTestCases.test_error_message.<locals>.check:  s    "":894'@ # BEG<FLB R\\..q1<|q123B Bs   A66
B   ½u   123½z  123 456  z123 r   z123  245rV   r)   z123 245r-  s   123u   123r   r   )r   r  s   ` r"   test_error_messageIntTestCases.test_error_message9  s    		3 	fimiimR mR lBlBjj"jj"kk2r!   c                     U R                  [        SS5      S5        U R                  [        SS5      S5        U R                  [        SS5      S	5        U R                  [        S
S5      S5        g )N=1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1_0_1r.   iUUUU1_2_3_4_5_6_7_0_1_2_3r6   iSpS1_2_3_4_5_6_7_8_9r)   l   gF 1_2_3_4_5_6_7rn   i2Dr   r   s    r"   test_issue31619IntTestCases.test_issue31619Z  se    \^_`:	<4a8-H0"5{C_b1:>r!   r   N)r   r   r   r   r   r   r   r   r   cpython_onlyr   r   r   r   r   r
  r*  r.  r1  r  r  r  r  r  r  r    r   r!   r"   r$   r$   )   s    x9t
E3& & &#25"F"!(F<2Z.x-2"F,PB?r!   r$   c                      ^  \ rS rSr\rU 4S jrU 4S jrS rS r	SS jr
S rS rS	 rS
 rS rS rS rS rS rSrU =r$ )IntStrDigitLimitsTestsib  c                    > [         TU ]  5         [        R                  " 5       U l        [        R
                  " S5        g )Ni   supersetUpr   get_int_max_str_digits_previous_limitset_int_max_str_digitsr   	__class__s    r"   r  IntStrDigitLimitsTests.setUpf  s+    "99;""4(r!   c                 b   > [         R                  " U R                  5        [        TU ]  5         g r   r   r  r  r  tearDownr  s    r"   r  IntStrDigitLimitsTests.tearDownk  "    ""4#7#78r!   c                    U R                  [        R                  " 5       S5        U R                  [        R                  " 5       S5        [        R
                  " S5         U R                  [        R                  " 5       S5        U R                  SS-  5      n[        U5        S S S 5        U R                  [        R                  " 5       S5        g ! , (       d  f       N4= f)Nr    N  r   )	assertGreaterr   r  
assertLessr   adjust_int_max_str_digitsr   	int_classr  )r   is     r"   test_disabled_limit*IntStrDigitLimitsTests.test_disabled_limito  s    3557;224f=..q1S7791=sV|,AF 2 	3557;	 21s   !AC
C"c           	          U R                   n[        R                  " 5       nU" SU-  5        U" SSU-  -   5        U" SU-  S-   5        U" SSU-  -   5        U" SSU-  -   5        U R                  [	        [        SUS-
  -  5      5      U5        g)z&Ignore the +/- sign and space padding.r   r   r*   r+   r   r	   N)r  r   r  r   lenr  )r   r  	maxdigitss      r"   test_max_str_digits_edge_cases5IntStrDigitLimitsTests.test_max_str_digits_edge_casesx  s    NN	..0	#	/"#i'(#	/C'(#i'(#i'(S	A!678)Dr!   c                     U R                  [        5         Uc  U R                  U5        OU R                  X5        S S S 5        g ! , (       d  f       g = fr   )r   r   r  )r   r  r   s      r"   r  IntStrDigitLimitsTests.check  s9    z*|q!q'	 +**s   'A
Ac                    [         R                  " 5       nU R                  SUS-   -  5        U R                  SSUS-   -  -   5        U R                  SUS-   -  S-   5        U R                  SSUS-   -  -   5        U R                  SSUS-   -  -   5        U R                  SUS-   -  5        SU-  nU R                  [        5         [        U5        S S S 5        g ! , (       d  f       g = f)Nr   r	   r   r*   r+   r   )r   r  r  r   r   r  )r   r  r  s      r"   test_max_str_digits*IntStrDigitLimitsTests.test_max_str_digits  s    ..0	

3)a-()

3	A../

3)a-(3./

3	A../

3	A../

3)a-())Oz*F +**s   C
C)c                    [         R                  " 5       nUS:  d   U5       e[        SSS-   3SS9nSn[        R                  " U5         [        R
                  " 5        n[        U5      nSSS5        SSS5        U R                  [        W5      U5        WR                  UR                  R                  S	-  :  a$  [        R                  " S
UR                   S35      e[        R                  " [        SU-  5      5         U R                  [        5       n[        R
                  " 5        n[        U5        SSS5        SSS5        SSS5        U R!                  S[        WR"                  5      5        U R%                  WR                  UR                  S	-  5        [        SSS-   3SS9nU R                  [        5       n[        R
                  " 5        n	[        U5        SSS5        SSS5        U R!                  S[        UR"                  5      5        U R'                  W	R                  UR                  S	-  5        g! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN7= f! , (       d  f       GNA= f! , (       d  f       GNK= f! , (       d  f       N= f! , (       d  f       N= f)?Regression test: ensure we fail before performing O(N**2) work.iP  r4   ci  r)   r   i1 Nr.   "slow" conversion took only 	 seconds.gףp=
?
conversioni  )r   r  r   r   r   CPUStopwatchr  r   r  seconds
clock_info
resolutionunittestSkipTestr   r   assertInr  assertLessEqualr  )
r   r  huge_intdigits
sw_converthuge_decimalerrsw_fail_hugeextra_huge_intsw_fail_extra_huges
             r"   +test_denial_of_service_prevented_int_to_strBIntStrDigitLimitsTests.test_denial_of_service_prevented_int_to_str  s   ..0	6!,9,!CJ<(r211&9$$&*x=L ' : 	\*F3 
 5 5 @ @1 DD##$B'1'9'9&:)%E F F
 ..s4&=/AB%%j1S((*lH + 2 C
 	lC$67\11:3E3Ea3GH r#g+/b9!!*-$$&*< ' . 	lC$67*22J4F4Fq4HI; '& :9  +* 21 CB '& .-s   I!I	-IJI?1I-=I?JJ4J#*J4	
I	I
I*-
I<7I??
J		J
J #
J1	-J44
Kc                    [         R                  " 5       nUS:  d   U5       eSnSU-  n[        R                  " U5         [        R                  " 5        n[        U5        SSS5        SSS5        WR                  UR                  R                  S-  :  a$  [        R                  " SUR                   S35      e[        R                  " US-
  5         U R                  [        5       n[        R                  " 5        n[        U5        SSS5        SSS5        SSS5        U R                  S	[        WR                  5      5        U R!                  WR                  UR                  S-  5        S
S-  nU R                  [        5       n[        R                  " 5        n[        U5        SSS5        SSS5        U R                  S	[        UR                  5      5        U R!                  WR                  UR                  S-  5        g! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN,= f! , (       d  f       GN6= f! , (       d  f       GN@= f! , (       d  f       N= f! , (       d  f       N= f)r  順 iD
 8Nr.   r  r  r	   r  7iO )r   r  r   r   r  r   r  r  r  r  r  r   r   r  r  r  r  )	r   r  r  huger  r!  r"  
extra_huger$  s	            r"   +test_denial_of_service_prevented_str_to_intBIntStrDigitLimitsTests.test_denial_of_service_prevented_str_to_int  s   ..0	7"-I-"6z11&9$$&*I ' : 
 5 5 @ @1 DD##$B'1'9'9&:)%E F F ..vz:%%j1S((*lD	 + 2 ;
 	lC$67\11:3E3Ea3GH ]
!!*-$$&*<
O ' . 	lC$67/779K9KA9MN5 '& :9 +* 21 ;: '& .-s    H!H"H!I,IH3III:$I)0I:
H	H!!
H03
I=I
I	I
I&)
I7	3I::
Jc                     [         R                  " 5       nS HP  nU R                  US9   U R                  SUS-   -  U5        US:  d   eU R                  SS-  U5        SSS5        MR     g! , (       d  f       Md  = f)z-The limit does not apply to power of 2 bases.)r.   r;   r6   r)   rn   r   r   r	   r(  N)r   r  r$  r  )r   r  r   s      r"   !test_power_of_two_bases_unlimited8IntStrDigitLimitsTests.test_power_of_two_bases_unlimited  sn    ..0	%D4(si!m4d; 7***sW}d3 )( &((s   6A--
A<	c                     [         R                  " 5       nUS-  nSU-  nSU-  nU R                  U5        U R                  U5        U R                  U S35        U R                  U S35        g )Nr'   1111_11_111)r   r  r  r  )r   r  triplesr   s_s        r"   test_underscores_ignored/IntStrDigitLimitsTests.test_underscores_ignored  sh    ..0	q.GOgqr

aS9

bT;r!   c                     U R                   n[        R                  " 5       nSU-  nU" U5      nU" SU 35      nXE:X  d   eU" SU 35      nU* U:X  d   e[        U5        [        U5        g )N5r*   r+   )r  r   r  r  )r   r  
max_digitsr   r  pos_ineg_is          r"   test_sign_not_counted,IntStrDigitLimitsTests.test_sign_not_counted  sr    NN	//1
*aLAaS'"zzAaS'"vE
E
r!   c                 z   U R                   n[        R                  " 5       nSU-  nU" XA5      nUS:  a*  U R                  [        5         [        U5        S S S 5        OUS:  a  [        U5        U R                  [        5       nU" U S3U5        S S S 5        g ! , (       d  f       N9= f! , (       d  f       g = f)N2r   r   )r  r   r  r   r   r  )r   r   r  r<  r   r  r!  s          r"   _other_base_helper)IntStrDigitLimitsTests._other_base_helper  s    NN	//1
*a"9"":.A /.BYFz*c1gt$ +*	 /. +*s   
BB,
B),
B:c                     SnU R                  US9   U R                  U5        S S S 5        SnU R                  US9   U R                  U5        S S S 5        g ! , (       d  f       N:= f! , (       d  f       g = f)Nr'   r   rv   )r$  rC  r   s     r"   test_int_from_other_bases0IntStrDigitLimitsTests.test_int_from_other_bases  sc    \\t\$##D) %\\t\$##D) %$ %$ %$s   AA)
A&)
A7c                 ,   Sn[         R                  " S5         [        R                  " 5       nU R	                  [         R
                  " U5      SS5        [        R                  " 5       nU R	                  X#5        S S S 5        g ! , (       d  f       g = f)Na8  if 1:
        # Subinterpreters maintain and enforce their own limit
        import sys
        sys.set_int_max_str_digits(2323)
        try:
            int('3'*3333)
        except ValueError:
            pass
        else:
            raise AssertionError('Expected a int max str digits ValueError.')
        i  r   z%subinterp code failure, check stderr.)r   r   r   r  r   run_in_subinterp)r   codebefore_valueafter_values       r"   *test_int_max_str_digits_is_per_interpreterAIntStrDigitLimitsTests.test_int_max_str_digits_is_per_interpreter  sp    
 ..t4557LW55d;QDF446K\7 544s   A#B
Br  r   )r   r   r   r   r   r  r  r  r  r  r  r  r%  r-  r0  r8  r?  rC  rF  rM  r    __classcell__r  s   @r"   r  r  b  sX    I)
<
E(&JP#OJ4	 
%*8 8r!   r  c                       \ rS rSr\rSrg)IntSubclassStrDigitLimitsTestsi1  r   N)r   r   r   r   r   r  r    r   r!   r"   rS  rS  1  s    Ir!   rS  c                     ^  \ rS rSrU 4S jrU 4S jrS rS r\R                  " S5      S 5       r
S rS	 r\R                  \R                  " \S
5      \R$                  R'                  \S5      S 5       5       5       r\R                  \R                  " \S
5      \R$                  R'                  \S5      S 5       5       5       rS rSrU =r$ )PyLongModuleTestsi5  c                    > [         TU ]  5         [        R                  " 5       U l        [        R
                  " S5        g r   r  r  s    r"   r  PyLongModuleTests.setUp9  s+    "99;""1%r!   c                 b   > [         R                  " U R                  5        [        TU ]  5         g r   r  r  s    r"   r  PyLongModuleTests.tearDown>  r  r!   c                     [        U5      nU R                  USS  U5        [        U* 5      nU R                  USU-   5        SU-  nU R                  XS5        SU-  nU R                  XcR                  S5      5        g )Nir+   z%ds   %dascii)r  r   encode)r   r  suffixr   s2s3s4s          r"   _test_pylong_int_to_decimal-PyLongModuleTests._test_pylong_int_to_decimalB  sw    F34&)!WS1W%AXQYXXg./r!   c                     U R                  SS-  S5        U R                  SS-  S-
  S5        U R                  SS-  S5        U R                  SS-  S-
  S5        U R                  S	S
-  S5        g )Nr	   r(  
9883109376
9883109375r   i0u  
0000000000
9999999999r'   i`  
9313200001ra  r   s    r"   test_pylong_int_to_decimal,PyLongModuleTests.test_pylong_int_to_decimalL  so    ((!w,F((!w,!);\J((V\B((VaF((FLAr!   cpuc                     U R                  SS-  S5        U R                  SS-  S5        U R                  SS-  S	5        g )
Nr.   @B 
2747109376r   i rf  r'   i'	 
3132000001ri  r   s    r"   test_pylong_int_to_decimal_2.PyLongModuleTests.test_pylong_int_to_decimal_2S  s>    ((I|D((WlC((G\Br!   c                 R    SS-  n[        US-  S-   U5      u  p#US:X  a  US:X  d   eg )Nr	   r(  r'   )divmod)r   r  ar  s       r"   test_pylong_int_divmod(PyLongModuleTests.test_pylong_int_divmodY  s6    '\acAgq!Av!q&  &r!   c                    SS-  n[        U5      n[        U5      nX:X  d   e[        SU-   5      nU* U:X  d   e[        SU-   S-   5      nX:X  d   eU R                  [        5       n[        US-   5        S S S 5        U R                  [        5       n[        US-   5        S S S 5        U R                  [        5       n[        SU-   5        S S S 5        g ! , (       d  f       Ng= f! , (       d  f       NL= f! , (       d  f       g = f)Nr	   r(  z -z +r   zr   )r  r   r   r   )r   v1r   v2v3v4r!  s          r"   test_pylong_str_to_int(PyLongModuleTests.test_pylong_str_to_int^  s    '\GVxx]sbyyC xxz*cCL +z*cCL +z*caL +*	 +*****s$   'CC(?C9
C%(
C69
Dz_pylong module requiredint_to_decimal_stringc                    [         R                  " S5         [        SS-  5      nS Ul        U R	                  [
        5       n[        U5        S S S 5        U R                  S[        WR                  5      5        [        S5      Ul
        U R	                  [        5         [        U5        S S S 5        S S S 5        g ! , (       d  f       Nu= f! , (       d  f       N(= f! , (       d  f       g = f)Nr  r*  N  z%_pylong.int_to_decimal_string did nottestABC)r   r   r   return_valuer   r   r  r  r  RuntimeErrorside_effect)r   mock_int_to_str	big_valuectxs       r"   )test_pylong_misbehavior_error_path_to_str;PyLongModuleTests.test_pylong_misbehavior_error_path_to_strn  s    
 ..v6CJI+/O(""9-I .MMAcmm,.*6y*AO'""<0I 1 76 .-
 10 76s<   +CB=AC C,C=
C	C
C	C
C-int_from_stringc                    SS-  n[         R                  " S5         SUl        U R                  [        5       n[        U5        S S S 5        U R                  S[        WR                  5      5        [        S5      Ul
        U R                  [        5         [        U5        S S S 5        S S S 5        g ! , (       d  f       Nu= f! , (       d  f       N(= f! , (       d  f       g = f)Nr*  r  r  s
   not an intz_pylong.int_from_string did nottest123)r   r   r  r   r   r   r  r  r  r  r  )r   mock_int_from_strr  r  s       r"   +test_pylong_misbehavior_error_path_from_str=PyLongModuleTests.test_pylong_misbehavior_error_path_from_str~  s    
 J	..v6-:*""9-I .MM;cmm,. -9,C)""<0I 1 76-- 10 76s;   CB4ACC#C4
C	>C
C	C
C$c                 8   SSK JnJn  SnUS::  a  X1" SS5      -  nSUS-
  -  nXB" US-
  5      -  nUR                  5       U:X  d   e[	        U5      nU R                  UR                  S5      5        U R                  U[        U5      5        US-  nUS::  a  M  g g )	Nr   )	randrangegetrandbitsi  rn  ir  r	   r   )	randomr  r  
bit_lengthr  assertFalse
startswithr   r   )r   r  r  bitshibitr  sns          r"   test_pylong_roundtrip'PyLongModuleTests.test_pylong_roundtrip  s    1iIdC((D$(OED1H--A<<>T)))QBR]]3/0QB(QJD ir!   rO  )r   r   r   r   r  r  ra  rj  r   requires_resourcerq  rv  r~  r  r  
skipUnless_pylongr   patchr	  r  r  r  r    rP  rQ  s   @r"   rU  rU  5  s    &
0B u%C &C
!
  ";<	ZZw 78 9 =  ";<	ZZw 12 3 =  r!   rU  __main__)r   timer  r   testr   test.support.numbersr   r   r  r#  r   r   r   r   r   r   TestCaser$   r  rS  rU  r   mainr   r!   r"   <module>r     s   
    

 	$	ckk	CKK(		Z 	Z	j	Z 	:%*	# 	v?8$$ v?rL8X.. L8^%; e)) eN zMMO ]  Gs   C CC