+
    '(jz                        R t ^ RIt^ RI5 ^ RIHtHtHtHtHtH	t	H
t
HtHt  ! R R]P                  4      t ! R R]P                  4      t ! R R	]P                  4      t ! R
 R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t/ 3R lt]R8X  d   R t]P4                  ! RR7       R# R# )zSelf-tests for Crypto.Util.asn1N)*)		DerObjectDerSetOf
DerIntegerDerBitStringDerObjectIdDerNullDerOctetStringDerSequence
DerBooleanc                   t   a  ] tR t^,t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tRtV tR# )DerObjectTestsc                    V P                  \        \        \        R 4      4       V P                  \        \        ^4       R# )u    N)assertRaises
ValueErrorr   b)selfs   &S/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/SelfTest/Util/test_asn1.pytestObjInit1DerObjectTests.testObjInit1.   s*    *i:?*i6    c                J   \        \        R 4      4      pV P                  VP                  4       \        R4      4       \        R4      Vn        V P                  VP                  4       \        R4      4       V P                  VP                  4       \        R4      4       \        ^4      p\        R4      Vn        V P                  VP                  4       \        R4      4       \        \        R4      RR7      pV P                  VP                  4       \        R4      4       R	# )
 EzEzET)constructed0 N)r   r   assertEqualencodepayloadr   ders   & r   testObjEncode1DerObjectTests.testObjEncode16   s    &	"q}5iq'89q'89oiq'89&	t4q}5r   c                    \        ^\        R4      4      pV P                  VP                  4       \        R4      4       R# )   zzN)r   r   r   r   r!   s   & r   testObjEncode2DerObjectTests.testObjEncode2G   s.    a
m,q);'<=r   c                    \        \        R 4      4      p\        R4      ^,          Vn        V P                  VP	                  4       \        R4      4       R# )r   0Nu   00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000r   r   r    r   r   r!   s   & r   testObjEncode3DerObjectTests.testObjEncode3L   s;    &	"fSjq)A'BCr   c                "   \        ^^RR7      p\        R4      Vn        V P                  VP	                  4       \        R4      4       \        ^^RR7      p\        R4      Vn        V P                  VP	                  4       \        R4      4       R# )   T)implicitr   ppllu   ¡ppllFu   ppllNr+   r!   s   & r   testObjEncode4DerObjectTests.testObjEncode4R   sj    qd;iq'89t?iq'89r   c                    \        ^^R7      p\        R4      Vn        V P                  VP	                  4       \        R4      4       R# )r/   explicitxxll	   ¥xxllNr+   r!   s   & r   testObjEncode5DerObjectTests.testObjEncode5\   s5    q)iq)?'@Ar   c                    \        ^4      pVP                  \        R4      4       V P                  VP                  \        R4      4       V P                  VP
                  ^4       R# )   Nr   decoder   r   r    
_tag_octetr!   s   & r   testObjDecode1DerObjectTests.testObjDecode1d   sI    o

1'()a
m4.r   c                    \        ^4      pVP                  \        R4      4       V P                  VP                  \        R4      ^,          4       V P                  VP
                  ^4       R# )r<   1Nu   11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111r?   r!   s   & r   testObjDecode2DerObjectTests.testObjDecode2k   sM    o

1-./afSj1.r   c                    \        ^4      pV P                  \        VP                  \	        R4      4       \        ^4      pV P                  \        VP                  \	        R4      4       R# )r<   u   ÿzNr   r   r   r@   r   r!   s   & r   testObjDecode3DerObjectTests.testObjDecode3r   sK    o*cjj!4J2KLo*cjj!N2CDr   c                   \        ^R^R7      pV P                  \        VP                  \	        R4      4       VP                  \	        R4      4       V P                  VP                  \	        R4      4       \        ^R^R7      pV P                  \        VP                  \	        R4      4       VP                  \	        R4      4       V P                  VP                  \	        R4      4       R# )	r<   F)r   r0   r=   u     Tu   ¯ N)r   r   r   r@   r   r   r    r!   s   & r   testObjDecode4DerObjectTests.testObjDecode4z   s    %#>*cjj!4F2GH

1^$%ai0$=*cjj!4F2GH

1^$%ai0r   c                p    \        ^4      pV P                  \        VP                  \	        R4      4       R# )r<   zNrI   r!   s   & r   testObjDecode5DerObjectTests.testObjDecode5   s'    o*cjj!4F2GHr   c                    \        4       pVP                  \        R 4      4       V P                  VP                  ^e4       V P                  VP
                  \        R4      4       R# )u   e   N)r   r@   r   r   rA   r    r!   s   & r   testObjDecode6DerObjectTests.testObjDecode6   sF    k

1^$%.ai0r   c                   \        ^^R7      pVP                  \        R4      4       V P                  VP                  ^4       V P                  VP
                  \        R4      4       \        ^^ R7      pVP                  \        R4      4       V P                  VP                  ^4       V P                  VP
                  \        R4      4       R# )r/   r5   r8   r7   u	    xxllN)r   r@   r   r   _inner_tag_octetr    r!   s   & r   testObjDecode7DerObjectTests.testObjDecode7   s    q)

1+,---t4ai0 q)

1+,---t4ai0r   c                n    \        ^4      pV P                  WP                  \        R4      4      4       R# )r<   r=   N)r   r   r@   r   r!   s   & r   testObjDecode8DerObjectTests.testObjDecode8   s(    ojj+=)>?@r    N)__name__
__module____qualname____firstlineno__r   r#   r'   r,   r2   r9   rB   rF   rJ   rN   rQ   rU   rY   r\   __static_attributes____classdictcell____classdict__s   @r   r   r   ,   sV     76">
D:B//E
1I
11A Ar   r   c                   n   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tRtV tR# )DerIntegerTestsc                n    \        ^4      pV P                  VP                  4       \        R4      4       R# )   Nr   r   r   r   r!   s   & r   	testInit1DerIntegerTests.testInit1   s&    mq'89r   c                >   \        ^ 4      pV P                  VP                  4       \        R4      4       \        ^4      pV P                  VP                  4       \        R4      4       \        ^4      pV P                  VP                  4       \        R4      4       R# )     rk   Nrl   r!   s   & r   testEncode1DerIntegerTests.testEncode1   sp     mq'89mq'89oq'89r   c                   \        ^4      pV P                  VP                  4       \        R4      4       \        R4      pV P                  VP                  4       \        R4      4       \        ^R,          4      pV P                  VP                  4       \        R4      \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           4       R# )	   u                                      	         Nrl   r!   s   & r   testEncode2DerIntegerTests.testEncode2   s    oq);'<=q);'<=D!	
DE	
DE	F	
DE	F 	

DE	F 	

DE		F
 	

DE	F 	

DE	F 	

DE	F 	

DE	F 	

DE		F 	

DE
	F 	

DE	F 	

DE	F 	

DE	F 	

DE	F 	

DE	F  	

DE!	F" 	

DE#	F$ 	

01%	2	3r   c                >   \        R4      pV P                  VP                  4       \        R4      4       \        R4      pV P                  VP                  4       \        R4      4       \        R4      pV P                  VP                  4       \        R4      4       R# )rj      ÿu   u   þ¨¿Niirl   r!   s   & r   testEncode3DerIntegerTests.testEncode3   ss     nq'89q'89 q)?'@Ar   c                r    \        ^4^R7      pV P                  VP                  4       \        R4      4       R# )4   r5      £4Nrl   r   numbers   & r   testEncode4DerIntegerTests.testEncode4   s*    D1-!,B*CDr   c                ^   \        4       pVP                  \        R 4      4       V P                  VP                  ^ 4       VP                  \        R4      4       V P                  VP                  ^4       VP                  \        R4      4       V P                  VP                  ^4       R# )rq   rk   rr   Nr   r@   r   r   valuer!   s   & r   testDecode1DerIntegerTests.testDecode1   sx    l

1^$%A&

1^$%A&

1^$%C(r   c                @   \        4       pVP                  \        R 4      4       V P                  VP                  R4       VP                  \        R4      \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           4       V P                  VP                  ^R,          4       R# )rx   rw   rz   r{   r|   ry   Nr   r!   s   & r   testDecode2DerIntegerTests.testDecode2   s   l

1'()5)

	
DE	
DE	F	
DE	F 	

DE	F 	

DE		F
 	

DE	F 	

DE	F 	

DE	F 	

DE	F 	

DE		F 	

DE
	F 	

DE	F 	

DE	F 	

DE	F 	

DE	F 	

DE	F  	

DE!	F" 	

DE#	F$ 	

01%	2	3( 	1d7+r   c                    \        4       pVP                  \        R 4      4       V P                  VP                  R4       VP                  \        R4      4       V P                  VP                  R4       R# )r   u    Nr   i r   r!   s   & r   testDecode3DerIntegerTests.testDecode3  sT    l

1^$%B'

1'()F+r   c                ^   \        4       pVP                  \        R 4      4       V P                  VP                  ^4       VP                  \        R4      4       V P                  VP                  R4       VP                  \        R4      4       V P                  VP                  ^ 4       R# )z u   ÿÿr   Nr   r   r!   s   & r   testDecode5DerIntegerTests.testDecode5  sy    l

1'()A&

1'()B'

1Z=!A&r   c                    \        ^R7      pVP                  \        R4      4       V P                  VP                  ^44       R# )r&   r5   r   Nr   r   s   & r   testDecode6DerIntegerTests.testDecode6)  s2    Q'a./0t,r   c                l    \        4       pV P                  WP                  \        R 4      4      4       R# )rr   N)r   r   r@   r   r!   s   & r   testDecode7DerIntegerTests.testDecode7/  s%    ljj>):;<r   c                    \        4       pVP                  R 4       VP                  R4       V P                  \        VP                  R RR7       V P                  \        VP                  RRR7       R# )s    s    T)strictN)r   r@   r   r   r   s   & r   testStrict1DerIntegerTests.testStrict16  s]    )*)**fmm5HQUV*fmm5HQUVr   c                n    \        4       pV P                  \        VP                  \	        R 4      4       R# )u   N)r   r   r   r@   r   r!   s   & r   testErrDecode1DerIntegerTests.testErrDecode1@  s%    l*cjj!4F2GHr   r^   N)r_   r`   ra   rb   rm   rs   r}   r   r   r   r   r   r   r   r   r   r   rc   rd   re   s   @r   rh   rh      sP     :
:3>
BE),:,'-=WI Ir   rh   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )DerSequenceTestsiF  c                    \        ^\        ^4      \        R4      .4      pV P                  VP	                  4       \        R4      4       R# )rj   r   z
00 N)r
   r   r   r   r   r!   s   & r   rm   DerSequenceTests.testInit1H  s7    1jmQwZ89q)M'NOr   c                p   \        4       pV P                  VP                  4       \        R 4      4       V P	                  VP                  4       4       VP                  ^ 4       V P                  VP                  4       \        R4      4       V P                  VP                  4       ^4       V P                  VP                  R4      ^4       V P                  VP                  4       4       V P                  VP                  R4      4       V P                  VP                  4       \        R4      4       R# )r   0 FN)	r
   r   r   r   assertFalsehasOnlyIntsappendhasInts
assertTruer!   s   & r   rs   DerSequenceTests.testEncode1L  s    mqz2*+

1q)<'=>q)U+A.)*./q)<'=>r   c                   \        4       pVP                  ^ 4       ^V^ &   V P                  \        V4      ^4       V P                  V^ ,          ^4       V P                  VR,          ^4       V P                  VP	                  4       \        R4      4       ^.VR&   V P                  \        V4      ^4       V P                  V^ ,          ^4       V P                  VP	                  4       \        R4      4       R# )rp   z0:NNNNr   )r
   r   r   lenr   r   r!   s   & r   r}   DerSequenceTests.testEncode2[  s    m

1AS!$Q"R#q)<'=>AS!$Q"q)<'=>r   c                    \        4       pVP                  R 4       V P                  VP                  4       \	        R4      4       R# )rw   u   0Nr
   r   r   r   r   r!   s   & r   r   DerSequenceTests.testEncode3j  s1    m

5q)@'ABr   c                   \        4       pVP                  ^R,          4       V P                  VP                  4       \	        R4      \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           \	        R4      ,           4       R# )r<   ry      0rz   r{   r|   Nr   r!   s   & r   r   DerSequenceTests.testEncode4p  st   m

1d7q'9	
DE(F	
DE(F 	

DE(F 	

DE	(F
 	

DE(F 	

DE(F 	

DE(F 	

DE(F 	

DE	(F 	

DE
(F 	

DE(F 	

DE(F 	

DE(F 	

DE(F 	

DE(F  	

DE!(F" 	

DE#(F$ 	

DE%(F& 	

01'(2 	3r   c                    \        4       pV^,          pV\        R4      ,          pV P                  VP                  4       \        R4      4       R# )rj   r   z00 N)r
   r   r   r   r!   s   & r   testEncode5DerSequenceTests.testEncode5  s<    mqq}q)G'HIr   c                   \        4       pVP                  R 4       VP                  ^4       V P                  VP                  4       \	        R4      4       V P                  VP                  4       4       V P                  VP                  R4      4       \        4       pVP                  ^4       VP                  R4       V P                  VP                  4       \	        R4      4       V P                  VP                  4       ^4       V P                  VP                  R4      ^4       V P                  VP                  4       4       V P                  VP                  R4      4       VP                  ^4       ^	^.VR&   V P                  \        V4      ^4       V P                  VR,          ^	^.4       V P                  V^R ^	.4       V P                  VP                  4       \	        R4      4       R# )	rw      0 ÿFu	   0þ:rj   NNz0		Nr   )
r
   r   r   r   r   r   r   r   r   r   r!   s   & r   testEncode6DerSequenceTests.testEncode6  sp   m

5

4q)P'QR)*./m

1

2q)H'IJ*U+Q/*+./

4Q%BS!$R!A'QrA3'q)T'UVr   c                    \        4       pVP                  R 4       VP                  \        R4      4       V P                  VP	                  4       \        R4      4       V P                  VP                  4       4       R# )rw   z0   0	0N)r
   r   r   r   r   r   r   r!   s   & r   testEncode7DerSequenceTests.testEncode7  sX    m

5

1()*q)Q'RS*+r   c                   \        4       pVP                  R 4       VP                  \        ^.4      4       V P                  VP                  4       \	        R4      4       V P                  VP                  4       4       R# )rw   r   N)r
   r   r   r   r   r   r   r!   s   & r   testEncode8DerSequenceTests.testEncode8  sY    m

5

;s#$q)Q'RS*+r   c                   \        4       pVP                  \        R 4      4       V P                  \	        V4      ^ 4       VP                  \        R4      4       V P                  \	        V4      ^4       V P                  V^ ,          ^ 4       VP                  \        R4      4       V P                  \	        V4      ^4       V P                  V^ ,          ^ 4       R# )r   r   Nr
   r@   r   r   r   r!   s   & r   r   DerSequenceTests.testDecode1  s    m

1W:S!$

1()*S!$Q"

1()*S!$Q"r   c                    \        4       pVP                  \        R 4      4       V P                  \	        V4      ^4       V P                  V^ ,          ^4       R# )z0Nr   r!   s   & r   r   DerSequenceTests.testDecode2  sC    m

1()*S!$Q$r   c                $   \        4       pVP                  \        R 4      \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           \        R4      ,           4       V P                  \	        V4      ^4       V P                  V^ ,          ^R,          4       R# )r   rz   r{   r|   ry   Nr   r!   s   & r   testDecode4DerSequenceTests.testDecode4  s   m

1_%	
DEF	
DEF 	

DEF 	

DE	F
 	

DEF 	

DEF 	

DEF 	

DEF 	

DE	F 	

DE
F 	

DEF 	

DEF 	

DEF 	

DEF 	

DEF  	

DE!F" 	

DE#F$ 	

DE%F& 	

01'2 	3( 	S!$Q4(r   c                    \        4       pVP                  \        R 4      4       V P                  \	        V4      ^4       V P                  V^ ,          R4       V P                  V^,          ^4       R# )r   rw   Nr   r!   s   & r   r   DerSequenceTests.testDecode6  sW    m

1<=>S!$Q&Q%r   c                >   \        4       pVP                  \        R 4      4       V P                  \	        V4      ^4       V P                  V^ ,          R4       V P                  V^,          \        R4      4       V P                  V^,          \        R4      4       R# )   0
$¶c rw      $¶c Nr   r!   s   & r   r   DerSequenceTests.testDecode7  su    m

1DEFS!$Q&Q"4 56Q*.r   c                   \        4       pVP                  \        R 4      4       V P                  \	        V4      ^4       V P                  V^ ,          \        R4      4       V P                  V^,          \        R4      4       V P                  VP                  4       ^ 4       V P                  VP                  R4      ^ 4       V P                  VP                  4       4       V P                  VP                  R4      4       R# )	   0$¶c r   r   FN)r
   r@   r   r   r   r   r   r   r!   s   & r   testDecode8DerSequenceTests.testDecode8  s    m

1456S!$Q"4 56Q*.*U+Q/*+/0r   c                l    \        4       pV P                  WP                  \        R 4      4      4       R# )r   N)r
   r   r@   r   r!   s   & r   testDecode9DerSequenceTests.testDecode9  s&    mjj+J)KLMr   c                   \        4       pV P                  \        VP                  \	        R 4      4       V P                  \        VP                  \	        R4      4       V P                  \        VP                  \	        R4      4       R# ) rM   r*   Nr
   r   r   r@   r   r!   s   & r   r   DerSequenceTests.testErrDecode1  sW    m*cjj!B%8*cjj!F)<*cjj!F)<r   c                n    \        4       pV P                  \        VP                  \	        R 4      4       R# )z0  Nr   r!   s   & r   testErrDecode2DerSequenceTests.testErrDecode2  s$    m*cjj!N2CDr   c                   \        4       pV P                  \        VP                  \	        R 4      4       V P                  \        VP                  \	        R4      4       V P                  \        VP                  \	        R4      4       R# )z0 u   0u   0Nr   r!   s   & r   testErrDecode3DerSequenceTests.testErrDecode3  s]    m*cjj!4N2OP*cjj!4N2OP*cjj!4N2OPr   c                T   \        . RO4      P                  4       p\        4       P                  V^R7       \        4       P                  VRR7       V P                  \        \        4       P                  V^R7       V P                  \        \        4       P                  VRR7       R# )rj   )nr_elementsNrj   r<   r&   )r<   r&   )      r
   r   r@   r   r   )r   der_bins   & r   test_expected_nr_elements*DerSequenceTests.test_expected_nr_elements"  s    i(//1W!4W%8*km&:&:GQRS*km&:&:GQVWr   c                   \        . RO4      P                  4       p\        ^^\        ^^.4      .4      P                  4       p\        4       P                  VRR7       \        4       P                  VRR7       \        4       P                  VRR7       V P                  \        \        4       P                  VRR7       R# )rj   T)only_ints_expectedFNr   r   )r   der_bin1der_bin2s   &  r   test_expected_only_integers,DerSequenceTests.test_expected_only_integers*  s    y)0021k1a&&9:;BBDX$?X%@X%@*km&:&:HY]^r   r^   N)r_   r`   ra   rb   rm   rs   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rc   rd   re   s   @r   r   r   F  s}     P??C32JW2,,#%)4&/
1N=E
QX_ _r   r   c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	DerOctetStringTestsi5  c                    \        \        R 4      4      pV P                  VP                  4       \        R4      4       R# )   ÿu   ÿN)r	   r   r   r   r!   s   & r   rm   DerOctetStringTests.testInit17  s+    QvY'q'89r   c                    \        4       pV P                  VP                  4       \        R 4      4       \        R4      Vn        V P                  VP                  4       \        R4      4       R# ) r>   N)r	   r   r   r   r    r!   s   & r   rs   DerOctetStringTests.testEncode1;  sK    q}5
mq);'<=r   c                   \        4       pVP                  \        R 4      4       V P                  VP                  \        R4      4       VP                  \        R4      4       V P                  VP                  \        R4      4       R# )r   r   r   r>   N)r	   r@   r   r   r    r!   s   & r   r   DerOctetStringTests.testDecode1E  s\    

1Z=!ae,

1'()a
m4r   c                l    \        4       pV P                  WP                  \        R 4      4      4       R# )r   N)r	   r   r@   r   r!   s   & r   r   DerOctetStringTests.testDecode2N  s%    jj:78r   c                n    \        4       pV P                  \        VP                  \	        R 4      4       R# )u   ÿN)r	   r   r   r@   r   r!   s   & r   r   "DerOctetStringTests.testErrDecode1S  s&    *cjj!4F2GHr   r^   N)r_   r`   ra   rb   rm   rs   r   r   r   rc   rd   re   s   @r   r   r   5  s%     :>59
I Ir   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )DerNullTestsiX  c                l    \        4       pV P                  VP                  4       \        R 4      4       R# z N)r   r   r   r   r!   s   & r   rs   DerNullTests.testEncode1Z  s#    iq}5r   c                l    \        4       pV P                  WP                  \        R 4      4      4       R# r  )r   r   r@   r   r!   s   & r   r   DerNullTests.testDecode1`  s$    ijj:78r   r^   N)r_   r`   ra   rb   rs   r   rc   rd   re   s   @r   r	  r	  X  s     69 9r   r	  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )DerObjectIdTestsie  c                \    \        R 4      pV P                  VP                  4       R4       R# )z1.1s   )N)r   r   r   r!   s   & r   rm   DerObjectIdTests.testInit1g  s"    % |4r   c                   \        R 4      pV P                  VP                  4       R4       \        4       pR Vn        V P                  VP                  4       R4       \        R4      pV P                  VP                  4       R4       R# )1.2.840.113549.1.1.1   	*H
2.999.1234   7RN)r   r   r   r   r!   s   & r   rs   DerObjectIdTests.testEncode1k  sj    01'VWm*	'VW,''BCr   c                    \        R 4      pV P                  \        VP                  4       \        R4      pV P                  \        VP                  4       R# )z3.4z1.40N)r   r   r   r   r!   s   & r   r}   DerObjectIdTests.testEncode2v  s>    % *cjj1&!*cjj1r   c                t    \        4       pVP                  R 4       V P                  VP                  R4       R# )r  r  Nr   r@   r   r   r!   s   & r   r   DerObjectIdTests.testDecode1  s+    m

BC$:;r   c                \    \        4       pV P                  VVP                  R 4      4       R# )r  N)r   r   r@   r!   s   & r   r   DerObjectIdTests.testDecode2  s'    m

JK	Mr   c                t    \        4       pVP                  R 4       V P                  VP                  R4       R# )s   	*H z1.2.840.113549.1.0.1Nr  r!   s   & r   r   DerObjectIdTests.testDecode3  s+    m

BC$:;r   c                t    \        4       pVP                  R 4       V P                  VP                  R4       R# )r  r  Nr  r!   s   & r   r   DerObjectIdTests.testDecode4  s*    m

./L1r   r^   N)r_   r`   ra   rb   rm   rs   r}   r   r   r   r   rc   rd   re   s   @r   r  r  e  s/     5	D2<M<
2 2r   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	DerBitStringTestsi  c                    \        \        R 4      4      pV P                  VP                  4       \        R4      4       R# )r   u    ÿN)r   r   r   r   r!   s   & r   rm   DerBitStringTests.testInit1  s,    1V9%q);'<=r   c                    \        \        ^4      4      pV P                  VP                  4       \	        R4      4       R# )rj   z N)r   r   r   r   r   r!   s   & r   	testInit2DerBitStringTests.testInit2  s,    :a=)q)C'DEr   c                l   \        4       pV P                  VP                  4       \        R 4      4       \        \        R4      4      pV P                  VP                  4       \        R4      4       \        4       p\        R4      Vn        V P                  VP                  4       \        R4      4       R# )z r>    N)r   r   r   r   r   r!   s   & r   rs   DerBitStringTests.testEncode1  s|    nq'891Z=)q)?'@AnjM	q)?'@Ar   c                   \        4       pVP                  \        R 4      4       V P                  VP                  \        R4      4       VP                  \        R4      4       V P                  VP                  \        R4      4       R# ) r   r,  r>   N)r   r@   r   r   r   r!   s   & r   r   DerBitStringTests.testDecode1  s[    n

1Z=!AbE*

1+,-AjM2r   c                l    \        4       pV P                  WP                  \        R 4      4      4       R# )r/  N)r   r   r@   r   r!   s   & r   r   DerBitStringTests.testDecode2  s$    njj:78r   r^   N)r_   r`   ra   rb   rm   r)  rs   r   r   rc   rd   re   s   @r   r%  r%    s%     >F
B39 9r   r%  c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )DerSetOfTestsi  c                    \        \        ^4      \        ^4      .4      pV P                  VP                  4       \	        R4      4       R# )rj   z1N)r   r   r   r   r   r!   s   & r   rm   DerSetOfTests.testInit1  s5    
1z!}56q)H'IJr   c                2   \        4       pV P                  VP                  4       \        R 4      4       VP	                  ^ 4       V P                  VP                  4       \        R4      4       V P                  VP                  4       \        R4      4       R# z1 z1 N)r   r   r   r   addr!   s   & r   rs   DerSetOfTests.testEncode1  sf    jqz2
q)<'=>q)<'=>r   c                   \        4       pVP                  R 4       VP                  ^4       V P                  VP                  4       \	        R4      4       \        R ^.4      pV P                  VP                  4       \	        R4      4       R# )rw   u   1 ÿN)r   r9  r   r   r   r!   s   & r   r}   DerSetOfTests.testEncode2  se    jq)P'QRt}%q)P'QRr   c                    \        4       pVP                  R 4       V P                  \        VP                  \	        R4      4       R# )rw   z   N)r   r9  r   r   r   r!   s   & r   r   DerSetOfTests.testEncode3  s0    j*cggq1C/DEr   c                    \        4       pVP                  \        R 4      4       VP                  \        R4      4       V P                  VP	                  4       \        R4      4       R# )z zz1 N)r   r9  r   r   r   r!   s   & r   r   DerSetOfTests.testEncode4  sF    j*.!"q)D'EFr   c                &   \        4       pVP                  \        R 4      4       V P                  \	        V4      ^ 4       VP                  \        R4      4       V P                  \	        V4      ^4       V P                  \        V4      ^ .4       R# r8  )r   r@   r   r   r   listr!   s   & r   r   DerSetOfTests.testDecode1  si    j

1W:S!$

1()*S!$cA3'r   c                    \        4       pVP                  \        R 4      4       V P                  \	        V4      ^4       \        V4      pV P                  RV9   4       V P                  ^V9   4       R# )   1 ÿrw   N)r   r@   r   r   r   rB  r   )r   r"   ls   &  r   r   DerSetOfTests.testDecode2  sX    j

1<=>S!$I
#	"r   c                n    \        4       pV P                  \        VP                  \	        R 4      4       R# )r   Nr   r   r   r@   r   r!   s   & r   r   DerSetOfTests.testDecode3  s)    j*cjj=>	@r   c                n    \        4       pV P                  VVP                  \        R 4      4      4       R# )rE  N)r   r   r@   r   r!   s   & r   r   DerSetOfTests.testDecode4   s,    j

1DEF	Hr   c                n    \        4       pV P                  \        VP                  \	        R 4      4       R# )u   1 ÿªNrI  r!   s   & r   r   DerSetOfTests.testErrDecode1  s(    j*cjj9:	<r   r^   N)r_   r`   ra   rb   rm   rs   r}   r   r   r   r   r   r   r   rc   rd   re   s   @r   r4  r4    sB     K?SFG(#@H< <r   r4  c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )DerBooleanTestsi  c                \    \        R 4      pV P                  VP                  4       R4       R# )F    Nr   r   r   r!   s   & r   rs   DerBooleanTests.testEncode1  s"    7r   c                \    \        R 4      pV P                  VP                  4       R4       R# )T   NrS  r!   s   & r   r}   DerBooleanTests.testEncode2  s"    7r   c                `    \        R ^R7      pV P                  VP                  4       R4       R# )Fr0       NrS  r!   s   & r   r   DerBooleanTests.testEncode3  s$    .7r   c                `    \        R ^R7      pV P                  VP                  4       R4       R# )Fr5       NrS  r!   s   & r   r   DerBooleanTests.testEncode4  s%    .'>?r   c                t    \        4       pVP                  R 4       V P                  VP                  R4       R# )rR  FNr   r@   r   r   r!   s   & r   r   DerBooleanTests.testDecode1"  s)    l

?#E*r   c                t    \        4       pVP                  R 4       V P                  VP                  R4       R# )rV  TNr`  r!   s   & r   r   DerBooleanTests.testDecode2'  s)    l

?#D)r   c                x    \        ^R7      pVP                  R4       V P                  VP                  R4       R# )   rY  rZ  FNr`  r!   s   & r   r   DerBooleanTests.testDecode3,  s,    $'

?#E*r   c                x    \        ^R7      pVP                  R4       V P                  VP                  R4       R# )r   r5   r]  FNr`  r!   s   & r   r   DerBooleanTests.testDecode41  s-    $'

*+E*r   c                \    \        4       pV P                  \        VP                  R 4       R# )s    Nr   r   r   r@   r!   s   & r   testErrorDecode1 DerBooleanTests.testErrorDecode16  s    l*cjj/Br   c                \    \        4       pV P                  \        VP                  R 4       R# )s    Nrj  r!   s   & r   testErrorDecode2 DerBooleanTests.testErrorDecode2;  s     l*cjj2EFr   r^   N)r_   r`   ra   rb   rs   r}   r   r   r   r   r   r   rk  rn  rc   rd   re   s   @r   rP  rP    s@     888@
+
*
+
+
C
G Gr   rP  c                 Z   ^ RI Hp . pW!! \        4      ,          pW!! \        4      ,          pW!! \        4      ,          pW!! \
        4      ,          pW!! \        4      ,          pW!! \        4      ,          pW!! \        4      ,          pW!! \        4      ,          pW!! \        4      ,          pV# )rp   )list_test_cases)Crypto.SelfTest.st_commonrq  r   rh   r   r   r	  r  r%  r4  rP  )configrq  	listTestss   &  r   	get_testsru  A  s    9I00I11I!122I!455I..I!122I!233I//I11Ir   __main__c                  >    \         P                  ! \        4       4      # )N)unittest	TestSuiteru  r^   r   r   <lambda>rz  P  s    H&&y{3r   suite)defaultTest)__doc__rx  Crypto.Util.py3compatCrypto.Util.asn1r   r   r   r   r   r   r	   r
   r   TestCaser   rh   r   r   r	  r  r%  r4  rP  ru  r_   r{  mainr^   r   r   <module>r     s  D &  #6 6 6
vAX&& vAp_Ih'' _IDl_x(( l_^!I(++ !IF98$$ 9.2x(( .2b$9)) $9NO<H%% O<d/Gh'' /Gd   z3EMMg& r   