+
    '(jF!                         R t ^ RIt^ RIt^ RI5 ^ RIHt ^ RIHt ^ RIH	t	  ! R R]
4      t ! R R	]P                  4      t ! R
 R]P                  4      t/ 3R lt]R8X  d   R t]P$                  ! RR7       R# R# )z+Self-tests for (some of) Crypto.Util.numberN)*)list_test_cases)number)long_to_bytesc                       ] tR t^%tRtRtR# )MyErrorzDummy exception used for tests N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       U/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/SelfTest/Util/test_number.pyr   r   %   s    (r   r   c                   >   a  ] tR t^+t o R tR tR tR tR tRt	V t
R# )	MiscTestsc                r	   V P                  \        \        P                  R^4       V P                  \        \        P                  ^^ 4       V P                  \        \        P                  R^ 4       V P                  ^ \        P                  ! ^ ^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^ \        P                  ! ^ ^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^ \        P                  ! ^ ^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^ \        P                  ! ^ ^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^^4      4       V P                  ^\        P                  ! ^	^4      4       R# )zUtil.number.ceil_div1N)assertRaises	TypeErrorr   ceil_divZeroDivisionErrorassertEqualselfs   &r   test_ceil_divMiscTests.test_ceil_div-   sH   )V__c1=+V__aC+V__b!D 	FOOAq12FOOAq12FOOAq12FOOAq12 	FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12 	FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12 	FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12FOOAq12r   c                   V P                  \        \        P                  R4       V P                  \        \        P                  ^ 4       V P                  \        \        P                  ^4       ^p\	        ^d4       FX  p\        P                  ! V4      pV P                  V^V^,
          ,          8  ^4       V P                  V^V,          8  ^4       KZ  	  Rp\        P                  ! V4      pV P                  V^,          ^ 4       V P                  V^V^,
          ,          8  ^4       V P                  V^V,          8  ^4       R# )zUtil.number.getPrime   Ni)r   
ValueErrorr   getPrimeranger   assertNotEqual)r   bitsixs   &   r   test_getPrimeMiscTests.test_getPrimeW   s    *foot<*fooq9*fooq9sA%AQ1q=115Q!t)_a0 
 OOD!AE1%qD1H}-q1a4i!,r   c                *   V P                  \        \        P                  R4       V P                  \        \        P                  R4       Rp\        P                  ! V4      pV P	                  V^,          ^ 4       V P                  V^V^,
          ,          ^,
          8  ^4       V P                  V^V,          8  ^4       Rp\        P                  ! W4      pV P                  \        P                  ! V^,
          V4      ^4       V P	                  V^,          ^ 4       V P                  V^V^,
          ,          ^,
          8  ^4       V P                  V^V,          8  ^4       Rp\        P                  ! W4      pV P                  \        P                  ! V^,
          ^,	          V4      ^4       V P	                  V^,          ^ 4       V P                  V^V^,
          ,          ^,
          8  ^4       V P                  V^V,          8  ^4       R# )zUtil.number.getStrongPrime   i  r    Ni  i  )r   r!   r   getStrongPrimer$   r   GCD)r   r%   r'   es   &   r   test_getStrongPrimeMiscTests.test_getStrongPrimei   s   *f&;&;SA*f&;&;SA!!$'AE1%a46k1_,a0a4i!,!!$*AaC+Q/AE1%a46k1_,a0a4i!,!!$*QqS1Ha0!4AE1%a46k1_,a0a4i!,r   c                   V P                  \        P                  ! R4      R4       V P                  \        P                  ! R4      R4       V P                  \        P                  ! ^4      R4       V P                  \        P                  ! ^4      R4       V P                  \        P                  ! ^4      R4       V P                  \        P                  ! ^4      R4       V P                  \        P                  ! ^R,          ^,
          4      R4       V P                  \        P                  ! ^R,          ^,
          ) 4      R4       R F2  pV P                  \        P                  ! \        V4      4      R4       K4  	  R# )zUtil.number.isPrimeFTi  N)i i idl   u^ l   +%!al   Mnz]l   g4+ l   I>6l   S{AKWl   b\\QN l   zIlv3 l   _VB;.( )r   r   isPrimeint)r   	composites   & r   test_isPrimeMiscTests.test_isPrime   s	   +U3+U3*E2*D1*D1*E24	2D9!T'!)5u=LI
 V^^C	N;UCLr   c                   V P                  \        P                  ! ^4      ^4       V P                  \        P                  ! ^4      ^4       V P                  \        P                  ! ^4      ^4       V P                  \        P                  ! R4      ^4       V P                  \        P                  ! R4      R4       V P                  \        \        P                  R4       R# )   i@ lE   )8^n, n:zb|DELU"N79Y Sh"*f8<>ktk26"z BT6	V RNcc\]]rX"Sw~o 8I(jO32
 i   Nr   )r   r   sizer   r!   r   s   &r   	test_sizeMiscTests.test_size   s    Q*Q*T*1-X.s3  &h  i  ko  	p*fkk26r   r   N)r	   r
   r   r   r   r(   r/   r7   r<   r   __classdictcell____classdict__s   @r   r   r   +   s%     (3T-$-,D&7 7r   r   c                   2   a  ] tR t^t o R tR tR tRtV tR# )	LongTestsc                   V P                  \        ^ 4      R4       V P                  \        ^4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        R	4      R
4       R# )           r+       l       s       l   w*M	 s   "3DUfwl   LUs	   "3DUfwNr   r   r   s   &r   test1LongTests.test1   s    q)73q)73u-{;|46MN|46MN'9:<_`';<>efr   c                6   V P                  \        ^ ^4      R4       V P                  \        ^ ^4      R4       V P                  \        ^^4      R4       V P                  \        R^4      R4       V P                  \        R^4      R4       V P                  \        R^4      R	4       V P                  \        R
^4      R4       V P                  \        R
^4      R4       V P                  \        R
^
4      R4       V P                  \        R
^4      R4       R# )rD   rE   s     s     i  s   i   s      r+   rG   l      s       s         s
           s            NrH   r   s   &r   test2LongTests.test2   s    q!,g6q!,k:q!,o>ua0+>ua02EFua0+>|Q79TU|Q79\]|R8:ef|R8:ijr   c                <    V P                  \        \        R4       R# )   Nr   )r   r!   r   r   s   &r   	test_err1LongTests.test_err1   s    *mR8r   r   N)	r	   r
   r   r   rI   rL   rP   r   r>   r?   s   @r   rB   rB      s     g
k9 9r   rB   c                 b    . pV\        \        4      ,          pV\        \        4      ,          pV# N)r   r   rB   )configtestss   & r   	get_testsrV      s*    E	_Y''E	_Y''ELr   __main__c                  >    \         P                  ! \        4       4      # rS   )unittest	TestSuiterV   r   r   r   <lambda>r[      s    H&&y{3r   suite)defaultTest)r   mathrY   Crypto.Util.py3compatCrypto.SelfTest.st_commonr   Crypto.Utilr   Crypto.Util.numberr   	Exceptionr   TestCaser   rB   rV   r	   r\   mainr   r   r   <module>rf      sy   2 2   # 5  ,)i )m7!! m7`9!! 96   z3EMMg& r   