+
    Biƅ                    >   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
Ht ^ RIHt ^ RIHt ^ RIHt ]! R4      t]! R4      t^ RIHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$ R	t%^]%,          t&^]%,          t'Rs(Rs)Rs*Rs+Rs,Rs-Rs.Rs/Rs0Rs1Rs2Rs3Rs4 ]!Pj                  Pm                  4       R8g  t7Rt9Rt:R t; ! R R]Px                  4      t= ! R R]Px                  4      t> ! R R]Px                  4      t? ! R R]Px                  4      t@ ! R R]Px                  4      tA ! R R]Px                  4      tB ! R R]Px                  4      tC ! R R]Px                  4      tD]ER8X  d   ]P                  ! 4        R# R#   ]8 d    R
t7 Li ; i)     N)import_module)threading_helper)_1M)Py_GIL_DISABLED_zstdzcompression.zstd)opencompress
decompressZstdCompressorZstdDecompressorZstdDict	ZstdErrorzstd_versionzstd_version_infoCOMPRESSION_LEVEL_DEFAULTget_frame_infoget_frame_sizefinalize_dict
train_dictCompressionParameterDecompressionParameterStrategyZstdFilei   Fc            	      2   \        \        ^\        ,          4       U u. uF  p \        P                  ! ^ ^4      NK  	  up 4      s\        \
        \        P                  ^/R7      s	RR,          s
\        \        4      sR^d^ \        ,          ,           ,          s\        \        4      sRP                  ^RR7      ^ \        ,          P                  ^RR7      ,           R^ \        ,          ,          ,           s\         P"                  ! \$        P&                  P)                  \*        4      R4      ;_uu_ 4       pVP-                  4       s\0        P2                  ! R	R
\.        4      s\.        P5                  R4      sRRR4       \        \.        4      s\        s. ROp. p\        R4       Fp  p\        ^4       Uu. uF6  pR\        P<                  ! V4      \        P>                  ! ^d4      3,          NK8  	  ppRPA                  V4      pVPC                  V4       Kr  	  Vs"\G        \D        4      ^
8  g   Q h\I        \D        ^\        ,          4      s%\G        \J        PL                  4      ^\        ,          8:  g   Q hR# u up i   + '       g   i     EL; iu upi )   optionss   abcdefg123456     aiP*Mlittle	byteorderrbs   \r?\ns   \nutf-8N,  s   %s = %d   
)s   reds   greens   yellows   blacks   withes   blues   lilacs   purples   navys   glods   silvers   olives   dogs   cats   tigers   lions   fishs   bird)'bytesrange_1Krandomrandint
DAT_130K_Dr	   r   checksum_flag
DAT_130K_CDECOMPRESSED_DATCOMPRESSED_DATDECOMPRESSED_100_PLUS_32KBCOMPRESSED_100_PLUS_32KBto_bytesSKIPPABLE_FRAMEior   ospathabspath__file__readTHIS_FILE_BYTESresubdecodeTHIS_FILE_STRCOMPRESSED_THIS_FILECOMPRESSED_BOGUSchoice	randrangejoinappendSAMPLESlenr   TRAINED_DICTdict_content)_fwordslstijsamples          %/usr/lib/python3.14/test/test_zstd.pysetUpModulerR   M   s    c#gG1q#.GHJ */C/Q/QRS.TUJ ($. ./N "&r#v!6  ((BC "++A+B#v''X'>?bfo&O
 
*D	1	1Q&&(&&FOD'..w7 
2 $O4 (BE C3Z 9&$a e 4f6F6Fs6KLLL$ 	 &F#

6  Gw<" gqu-L|(()QsU222g H. 
2	1	1"&s    I;7AJ 7<J J	c                   J   a  ] tR t^t o R tR tR tR tR tR t	R t
RtV tR	# )
FunctionsTestCasec                j    R P                  R \         4       4      pV P                  V\        4       R# ).c              3   8   "   T F  p\        V4      x  K  	  R # 5iN)str).0rN   s   & rQ   	<genexpr>1FunctionsTestCase.test_version.<locals>.<genexpr>   s     8&7c!ff&7s   N)rD   r   assertEqualr   )selfss   & rQ   test_versionFunctionsTestCase.test_version   s'    HH8&789L)    c                *   \         P                  P                  4       w  rV P                  \	        \
        4      \        4       V P                  \	        V4      \        4       V P                  \	        V4      \        4       V P                  W4       R # rX   )r   compression_levelboundsassertIstyper   int
assertLess)r^   minmaxs   &  rQ   test_compressionLevel_values.FunctionsTestCase.test_compressionLevel_values   s\    '99@@Bd45s;d3i%d3i%!rb   c                    \         R \        \         4      ^,           p\        V4      p\        V4      pV P	                  W14       R # rX   )r;   rG   r	   r
   r]   )r^   raw_datdat1dat2s   &   rQ   test_roundtrip_default(FunctionsTestCase.test_roundtrip_default   s;    !"=C$8A$=> $'rb   c                   \         R \        \         4      ^,           p\        P                  P	                  4       w  r#\        \        RV4      V^,           4       F*  p\        W4      p\        V4      pV P                  Wa4       K,  	  R # )Ni)
r;   rG   r   rd   re   r(   rk   r	   r
   r]   )r^   ro   	level_min	level_maxlevelrp   rq   s   &      rQ   test_roundtrip_level&FunctionsTestCase.test_roundtrip_level   sn    !"=C$8A$=>3EELLN	3sI.	A>EG+Dd#DT+ ?rb   c                   \        \        R ,          4      pV P                  VP                  ^ \        ,          ^d,           4       V P                  VP
                  ^ 4       \        R\        R7      p\        V4      pV P                  VP                  R4       V P                  VP
                  \        P                  4       V P                  \        R4      ;_uu_ 4        \        R4       RRR4       R#   + '       g   i     R# ; i):N   NY  	zstd_dictznot less than the frame header   aaaaaaaaaaaaaaNsY  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r   r2   r]   decompressed_sizer)   dictionary_idr	   rH   dict_idassertRaisesRegexr   )r^   infodats   &  rQ   test_get_frame_info%FunctionsTestCase.test_get_frame_info   s    6s;<//cC@++Q/ z\:c"//5++\-A-AB##I/OPP,- QPPPs   !C77D	c                    \        \        4      pV P                  V\        \        4      4       V P	                  \
        R 4      ;_uu_ 4        \        R4       RRR4       R#   + '       g   i     R# ; i)z!not less than this complete framer   N)r   r2   r]   rG   r   r   r^   sizes   & rQ   test_get_frame_size%FunctionsTestCase.test_get_frame_size   sP    67s#;<=##I/RSS,- TSSSs   A##A4	c                    \        \        4      P                  pV P                  V\        4       \        \        \        ,           4      pV P                  \        V4      ^\        ,          4       R# )   N)r   r.   r   r]   _130_1Kr
   rG   )r^   r   r   s   &  rQ   test_decompress_2x130_1K*FunctionsTestCase.test_decompress_2x130_1K   sK    *:6HH*G4j01S1w;/rb    N)__name__
__module____qualname____firstlineno__r`   rl   rr   rx   r   r   r   __static_attributes____classdictcell____classdict__s   @rQ   rT   rT      s-     *"(,..0 0rb   rT   c                      a  ] tR t^t o R tR tR t]P                  ! ]	'       * R4      R 4       t
R tR tR tR	 tR
tV tR# )CompressorTestCasec                t	   V P                  \        \        . 4       V P                  \        \        R R7       V P                  \        \        RR7       V P                  \        \        RR7       V P                  \        \        ^{R7       V P                  \        \        RR7       V P                  \        \        ^^^^/R7       RpV P                  \        VP                  \        4      4      ;_uu_ 4        \        \        4       RRR4       V P                  \        VP                  \        4      4      ;_uu_ 4        \        \        4       RRR4       R	pV P                  \        V4      ;_uu_ 4        \        ^R
,          ) R7       RRR4       V P                  \        V4      ;_uu_ 4        \        ^R
,          R7       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ^d/R7       RRR4       V P                  \        4      ;_uu_ 4        \        R^d/R7       RRR4       \        4       pV P                  \        VP                  4       V P                  \        \        3VP                  RR4       V P                  \        VP                  R4       V P                  \        \        3VP                  R4       V P                  \        VP                  R^4       V P                  \        VP                  RR4       V P                  \        VP                  R^4       V P                  \        VP                  VP                  4       V P                  \        VP                  ^4       VP                  R4       VP                  RVP                  4       VP                  RVP                  4       VP                  RVP                  4       VP                  4       pVP                  VP                  4       VP                  VP                  4       R#   + '       g   i     EL@; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELn; i)gQ	@rw   abc   abcr   r}   s   abcd1234zAillegal compression level {}; the valid range is \[-?\d+, -?\d+\]Nz>illegal compression level; the valid range is \[-?\d+, -?\d+\]r        foo   barrY   s   blahrb   )assertRaises	TypeErrorr   r   
ValueErrorformat	C_INT_MAX	C_INT_MINr   
window_logr	   flushCONTINUEFLUSH_BLOCKFLUSH_FRAME)r^   msgzcemptys   &   rQ   test_simple_compress_bad_args0CompressorTestCase.test_simple_compress_bad_args   s(   )^R8)^4@)^5A)^VD)^sC)^{K)^1a|L S##J

90EFF9% G##J

90EFF9% GO##J441d7, 5##J44D) 5 z**$8$C$CS#IJ +z**D#;/ + )R[[19j12;;O)R[[%89j1288VD)RXXw:*bkk3;*bkk3:*bhh<*bhh2
C
C%
C(
C(

 
 E GFFFFF 544444 +*****sH   ;QQ<Q*7Q>0R2R&Q	Q'	*Q;	>R	R#	&R7	c                   / \         P                  ^
b\         P                  ^b\         P                  ^
b\         P                  ^b\         P
                  ^b\         P                  ^b\         P                  ^b\         P                  \        P                  b\         P                  ^b\         P                  ^b\         P                  ^b\         P                  ^b\         P                  ^b\         P                   ^b\         P"                  ^b\         P$                  ^ b\         P&                  \(        '       d   ^M^ b\         P*                  \(        '       d   ^\,        ,          M^ \         P.                  \(        '       d   ^	M^ /Cp\1        VR7       VP3                  4       p\4        V\         P                  &   V P7                  \8        4      ;_uu_ 4        \1        VR7       RRR4       \:        V\         P                  &   V P7                  \8        4      ;_uu_ 4        \1        VR7       RRR4       \         P                  P=                  4       w  r4V P7                  \8        4      ;_uu_ 4        \?        RV^,           4       RRR4       V P7                  \8        4      ;_uu_ 4        \?        RV^,
          4       RRR4       V P7                  \8        4      ;_uu_ 4        \?        R^R,          4       RRR4       V P7                  \8        4      ;_uu_ 4        \?        R^R,          ) 4       RRR4       V P7                  \8        4      ;_uu_ 4        \?        R\         P                  V^,           /R7       RRR4       V P7                  \8        4      ;_uu_ 4        \?        R\         P                  V^,
          /R7       RRR4       \(        '       g   V P7                  \8        4      ;_uu_ 4        \1        \         P&                  ^/R7       RRR4       V P7                  \8        4      ;_uu_ 4        \1        \         P*                  ^/R7       RRR4       V P7                  \8        4      ;_uu_ 4        \1        \         P.                  ^/R7       RRR4       \         P                  ^d/pV PA                  \8        R4      ;_uu_ 4        \?        RVR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELn; i  + '       g   i     ELI; i  + '       g   i     EL#; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL}; i  + '       g   i     ELO; i  + '       g   i     EL!; i  + '       g   i     R# ; i)
   r   Nrb   r   zecompression parameter 'window_log' received an illegal value 100; the valid range is \[-?\d+, -?\d+\])!r   rd   r   hash_log	chain_log
search_log	min_matchtarget_lengthstrategyr   lazyenable_long_distance_matchingldm_hash_logldm_min_matchldm_bucket_size_logldm_hash_rate_logcontent_size_flagr-   dict_id_flag
nb_workersSUPPORT_MULTITHREADINGjob_sizer   overlap_logr   copyr   r   r   r   re   r	   r   )r^   dd1ru   rv   options   &     rQ   test_compress_parameters+CompressorTestCase.test_compress_parameters   sX   !33b !,,r "**R "++b	
 ",,r "++a "//" "**X]] "??! ".. "//" "55 "33b  "33a!" "//!#$ "..%( ",,4J4JqPQ)* "**6L6LQsURS!--5K5KQR-0 	q!VVX7@334z**2& + 8A334z**2& +  4EELLN	z**S)A+& +z**S)A+& +z**S!T'" +z**SAtG*% +z**S$66	!#E F + z**S$66	!#E F +
 &%"":..(<(G(G'JK /"":..(<(E(Ea'HI /"":..(<(H(H'KL / '11#6##3
 

 S&)
 
G +** +**
 +************** +** /........

 
 
s   S*"S>4T-T&&T:U%U"#%U69V
;V=V2W*S;	>T	T#	&T7	:U	U	"U3	6V	
V	V/	2W	W	c                    R p\         P                  ^
VR/pRV R2pV P                  \        V4      ;_uu_ 4        \	        VR7       RRR4       R#   + '       g   i     R# ; i) z7invalid compression parameter 'unknown parameter \(key \)'r   N)r   rd   r   r   r   )r^   KEYr   patterns   &   rQ   "test_unknown_compression_parameter5CompressorTestCase.test_unknown_compression_parameter<  sW    &88"y"LSEQTU##J886* 9888s   AA#	z5zstd build doesn't support multi-threaded compressionc                   ^(\         ,          p\        V\        \        4      ,          ,          p\        P                  ^\        P
                  ^/p\        W#R7      p\        V4      pV P                  WR4       \        VR7      pVP                  W&P                  4      pVP                  W&P                  4      pVP                  W&P                  4      p\        WE,           V,           4      pV P                  W^,          4       \        \        P                  ! 4       RVR7      ;_uu_ 4       p	V	P!                  V4       RRR4       R#   + '       g   i     R# ; i)(   r   wN)r   r;   rG   r   rd   r   r	   r
   r]   r   r   r   r   r   r5   BytesIOwrite)
r^   r   br   rp   rq   cdat3dat4rK   s
   &         rQ   test_zstd_multithread_compress1CompressorTestCase.test_zstd_multithread_compressD  s     #vts?';;<'99A'22Q8 +$! 7+zz!ZZ(zz!]]+zz!]]+$)D.)1u% bjjlC99QGGAJ :999s   /EE	c                   \        \        4      ^,          p\        4       pV P                  VP                  VP
                  4       VP                  \        RV 4      pV P                  VP                  VP                  4       W2P                  \        VR VP                  4      ,          pV P                  VP                  VP                  4       VP                  4       pRpV P                  \        V4      ;_uu_ 4        \        V4       RRR4       \        W4,           4      pV P                  V\        4       R#   + '       g   i     L9; i)r   N5Compressed data ended before the end-of-stream marker)rG   r;   r   r]   	last_moder   r	   r   r   r   r   r   r
   )r^   pointr   rp   rq   r   r   s   &      rQ   test_compress_flushblock+CompressorTestCase.test_compress_flushblock^  s    O$)amm4zz/&512ajj1

?562AMMBBamm4wwyI##Iw77t 8 $+&/ 87s   EE	c                   \        \        4      ^,          p\        4       pVP                  \        RV 4      pV P	                  VP
                  VP                  4       W2P                  \        VR VP                  4      ,          pV P	                  VP
                  VP                  4       \        V4      pV P	                  VP                  R4       \        V4      pV P	                  V\        4       \        4       pVP                  \        VP                  R7      pV P	                  VP
                  VP                  4       \        V4      pV P	                  VP                  \        \        4      4       R# )r   Nmode)rG   r;   r   r	   r]   r   r   r   r   r   r
   )r^   r   r   rp   ntrq   r   s   &      rQ   test_compress_flushframe+CompressorTestCase.test_compress_flushframep  s   O$)zz/&512ajj1

?562AMMBBamm4D!--t4$/ jjq}}j=amm4C --s?/CDrb   c                    V P                  \        R 4      R 4       \        4       pV P                  VP                  R VP                  4      R 4       R# rb   N)assertNotEqualr	   r   r   )r^   r   s   & rQ   test_compress_empty&CompressorTestCase.test_compress_empty  s=    HSM3/AJJsAMM:C@rb   c                   \         p\        V4      ^,          p\        4       pV P                  \        R4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        R4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        R4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        R4      ;_uu_ 4        VP                  R4       RRR4       VP                  R4       VP                  R4       \        ^R7      pVP                  ^ 4       VP                  R4       VP                  4       p\        V4      pV P                  VP                  ^ 4       \        ^R7      pVP                  R4       V P                  VP                  VP                  4       V P                  \        R4      ;_uu_ 4        VP                  R4       RRR4       \        ^R7      pVP                  R4       VP                  V4      VP                  4       ,           p\        V4      pV P                  VP                  R4       \        ^R7      pVP                  \        V4      4       . p^ pV\        V4      8  d5   VP                  WWr,            4      pWr,          pVP                  V4       KD  VP                  4       pVP                  V4       RP                  V4      p\        V4      pV P                  VP                  \        V4      4       V P                  \        V4      V4       VP                  \        V4      4       VP                  V4      VP                  4       ,           p\        V4      pV P                  VP                  \        V4      4       V P                  \        V4      V4       \        ^R7      pVP                  \        V4      ^,           4       \!        ^ \        V4      V4       F1  p\#        W,           \        V4      4      p	VP                  WV	 4      p
K3  	  V P%                  \&        4      ;_uu_ 4        VP                  4        RRR4       \        ^R7      pVP                  \        V4      4       \!        ^ \        V4      V4       F1  p\#        W,           \        V4      4      p	VP                  WV	 4      p
K3  	  V P%                  \&        4      ;_uu_ 4        VP                  R\        P(                  4       RRR4       \        \*        P,                  ^ /R	7      pVP                  ^
4       VP                  R
4      pVP                  R4      pVP                  4       p\        W,           V,           4      pV P/                  VP                  4       R#   + '       g   i     EL; i  + '       g   i     ELp; i  + '       g   i     ELL; i  + '       g   i     EL(; i  + '       g   i     EL:; i  + '       g   i     EL; i  + '       g   i     EL; i)   z&should be a positive int less than \d+r%   Nr   rb   s   123456zlast_mode == FLUSH_FRAMEs   extrar   s   hellos   worldil            l    l    l            l    )r1   rG   r   r   r   set_pledged_input_sizer	   r   r   r]   r   r   r   rE   rD   r
   r(   rj   r   r   r   r   r   assertIsNone)r^   DAT
CHUNK_SIZEr   r   retchunksposistartend_datrp   rq   r   
frame_datas   &              rQ   test_set_pledged_input_size.CompressorTestCase.test_set_pledged_input_size  s   (X]
 ##J$MO O$$T*O ##J$MO O$$U+O ##J$MO O$$W-O ##J$MO O$$W-O
 	
  '	  ) #	  #	

3ggiS!..2 #	

9ajj1##J$?A A$$S)A
 #	  &jjo	)S!..5 #	  S*SXo**Sdo67CDMM#ggic&!V$..C9F+S1	  S*jjo	)S!..C9C#. #	  S!,1c#h
3Ee&C1C::cn-D 4 y))GGI * #	  S*1c#h
3Ee&C1C::cn-D 4 y))JJx!;!;< * $8$J$JA#NO	  $zz(#zz(#wwy#DK$$67
*667IO O OO O OO O OO O O*A A A\ *)) *))sT   W9W21X)X+X.:Y!!YW/	2X	X	X+	.X?	Y	Y'	r   N)r   r   r   r   r   r   r   unittestskipIfr   r   r   r   r   r   r   r   r   s   @rQ   r   r      s\     /!bF*P+ __//LNN00$E6Aj8 j8rb   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# )DecompressorTestCasei  c                   V P                  \        \        R4       V P                  \        \        ^{R7       V P                  \        \        RR7       V P                  \        \        ^^^^/R7       V P                  \        \        ^{R7       V P                  \        \        RR7       V P                  \        \        RR7       V P                  \        4      ;_uu_ 4        \        \        ^d/R7       RRR4       V P                  \        4      ;_uu_ 4        \        \
        ^d/R7       RRR4       V P                  \        4      ;_uu_ 4        \        ^ \        /R7       RRR4       V P                  \        4      ;_uu_ 4        \        ^R,          ^d/R7       RRR4       V P                  \        4      ;_uu_ 4        \        ^R,          ) ^d/R7       RRR4       V P                  \        4      ;_uu_ 4        \        ^ ^R,          ) /R7       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ^d/R7       RRR4       V P                  \        4      ;_uu_ 4        \        R^d/R7       RRR4       \        R4      p\        4       pV P                  \        VP                  4       V P                  \        VP                  R	R
4       V P                  \        VP                  R4       VP                  V4       R#   + '       g   i     EL5; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELv; i  + '       g   i     ELH; i  + '       g   i     EL(; i){   r}   r   r   r   Nr   r   rb   r   r   rY   r   )r   r   r   r   r   r   OverflowErrorr   window_log_maxr	   r
   )r^   r   lzds   &  rQ   test_simple_decompress_bad_args4DecompressorTestCase.test_simple_decompress_bad_args  s   )%5r:)%5E)%5H)%5!AqL)%5sC)%5uE)%5vFz**i%56 +z**i%56 +z**a^4 +}--ags^4 .}--4j#%67 .}--a1d7_5 . z**&<&K&KS%QR +z**dC[1 +  )S^^4)S^^VVD)S^^U;u/ +********--------- +*****s`   %L$L8MM M4N NN0$L5	8M		M	 M1	4N	N	N-	0O	c                   \         P                  ^/p\        VR7       VP                  4       p^R,          V\         P                  &   V P	                  \
        4      ;_uu_ 4        \        RV4       RRR4       ^R,          ) V\         P                  &   V P	                  \
        4      ;_uu_ 4        \        RV4       RRR4       \        V\         P                  &   V P	                  \        4      ;_uu_ 4        \        RV4       RRR4       \        V\         P                  &   V P	                  \        4      ;_uu_ 4        \        RV4       RRR4       \         P                  ^d/pV P                  \        R4      ;_uu_ 4        \        RVR7       RRR4       \        V\         P                  &   V P	                  \        4      ;_uu_ 4        \        RVR7       RRR4       \        V\         P                  &   V P	                  \        4      ;_uu_ 4        \        RVR7       RRR4       ^R,          V\         P                  &   V P	                  \
        4      ;_uu_ 4        \        RVR7       RRR4       ^R,          ) V\         P                  &   V P	                  \
        4      ;_uu_ 4        \        RVR7       RRR4       R#   + '       g   i     ELg; i  + '       g   i     EL.; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL\; i  + '       g   i     EL&; i  + '       g   i     L; i  + '       g   i     R# ; i)   r   r   Nzkdecompression parameter 'window_log_max' received an illegal value 100; the valid range is \[-?\d+, -?\d+\]rb   )r   r	  r   r   r   r  r   r   r   r   r
   )r^   r   r   r   s   &   rQ   test_decompress_parameters/DecompressorTestCase.test_decompress_parameters%  sw   #22R8#VVX45tG!001}--T2& . 78gJ!001}--T2& . 5>!001z**T2& +4=!001z**T2& + *88=##3
 

 sG,
 :C&556z**sG, +9B&556z**sG, +9:D&556}--sG, .;<d7&556}--sG, .-E .-- .-- +** +**

 
 
 +** +** .- .--sl   &K3K%<K9L
L!L5M	+M9M0K"	%K6	9L
	L	!L2	5M		M	M-	0N	c                   R p\         P                  \         P                  P                  4       ^,          VR/pRV R2pV P                  \        V4      ;_uu_ 4        \        VR7       RRR4       R#   + '       g   i     R# ; i)r   r   z9invalid decompression parameter 'unknown parameter \(key r   r   N)r   r	  re   r   r   r   )r^   r   r   r   s   &   rQ   $test_unknown_decompression_parameter9DecompressorTestCase.test_unknown_decompression_parameterQ  sm    )88:P:_:_:f:f:hij:ky"NseSVW##J88W- 9888s   A55B	c                j
   \        4       pVP                  \        4      pV P                  \	        V4      \
        4       V P                  VP                  4       V P                  \        4      ;_uu_ 4        VP                  R 4      pRRR4       \        4       pVP                  \        \
        4      pV P                  \	        V4      \
        4       V P                  VP                  4       V P                  \        4      ;_uu_ 4        VP                  R ^ 4      pRRR4       \        4       pVP                  \        RR 4      pV P                  \	        V4      \
        4       V P                  VP                  4       VP                  R 4      pV P                  \	        V4      ^ 4       V P                  VP                  4       \        4       pVP                  \        RR \
        4      pV P                  \	        V4      \
        4       V P                  VP                  4       VP                  R ^ 4      pV P                  \	        V4      ^ 4       V P                  VP                  4       \        4       pVP                  \        RR 4      pV P                  \	        V4      \
        4       V P                  VP                  4       VP                  R 4      pV P                  \	        V4      ^ 4       V P                  VP                  4       \        4       pVP                  \        RR \
        4      pV P                  \	        V4      \
        4       V P                  VP                  4       VP                  R ^ 4      pV P                  \	        V4      ^ 4       V P                  VP                  4       \        4       pVP                  \        RR 4      pV P                  \	        V4      \
        4       V P                  VP                  4       VP                  R 4      pV P                  \	        V4      ^ 4       V P                  VP                  4       \        4       pVP                  \        RR \
        4      pV P                  \	        V4      \
        4       V P                  VP                  4       VP                  R ^ 4      pV P                  \	        V4      ^ 4       V P                  VP                  4       R#   + '       g   i     EL; i  + '       g   i     EL; i)rb   Nr   )r   r
   r.   r]   rG   r   assertFalseneeds_inputr   EOFError
assertTruer^   r   r   s   &  rQ   test_decompress_epilogue_flags3DecompressorTestCase.test_decompress_epilogue_flagsY  s    ll:&S7+'x((,,s#C ) ll:w/S7+'x((,,sA&C ) ll:cr?+S7+&ll3S1%& ll:cr?G4S7+'ll3"S1%' ll:cr?+S7+&ll3S1%& ll:cr?G4S7+'ll3"S1%' ll:cr?+S7+&ll3S1%& ll:cr?G4S7+'ll3"S1%'M )(( )((s   7TT!T	!T2	c                   \        R RR7      pV P                  \        4      ;_uu_ 4        \        / R7      pRRR4       V P                  \        4      ;_uu_ 4        \        VR7      pRRR4       \        4        \        V/ 4       \        V\        P
                  ^/R7       R#   + '       g   i     Lw; i  + '       g   i     LX; i)   12345678Tis_rawr}   Nr   )r~   r   )r   r   r   r   r   r	  )r^   zdr   s   &  rQ   test_decompressor_arg*DecompressorTestCase.test_decompressor_arg  s    k$/y)) 2.A * y)) ,A * 	R 20F0U0UVX/YZ *) *)s   B'B:'B7	:C
	c                   \        4       pVP                  R 4      pV P                  VR 4       V P                  VP                  4       \        4       pVP                  \
        4      pV P                  \        V4      \        4       V P                  VP                  4       V P                  VP                  4       \        4       pVP                  \
        \        4      pV P                  \        V4      \        4       V P                  VP                  4       V P                  VP                  4       \        4       pVP                  \
        RR 4      pV P                  \        V4      \        4       V P                  VP                  4       V P                  VP                  4       \        4       pVP                  \
        RR \        4      pV P                  \        V4      \        4       V P                  VP                  4       V P                  VP                  4       Rp\        4       pVP                  \
        V,           \        4      pV P                  \        V4      \        4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  V4       R# )rb   N   89234893abcdr  )r   r
   r]   r  eofr.   rG   r   r  r  unused_data)r^   r   r   TRAILs   &   rQ   test_decompressor_1(DecompressorTestCase.test_decompressor_1  s   ll3c" ll:&S7+' ll:w/S7+' ll:cr?+S7+& ll:cr?G4S7+'  ll:-w7S7+'.rb   c                v   R p\         V,           p\        4       p\        P                  ! V4      p. p VP                  '       d   VP                  R4      pV'       g   MCM\        R4      hVP                  V4      pVP                  V4       VP                  '       g   Ko   RP                  V4      pV P                  \        V4      \        4       V P                  VP                  4       V P                  VP                  4       V P                  VP                   VP                  4       ,           V4       R# )r&  r%   zshould not get hererb   N)r.   r   r5   r   r  r:   	Exceptionr
   rE   r'  rD   r]   rG   r   r  r  r(  r^   r)  r   r   birM   r   r   s   &       rQ   !test_decompressor_chunks_read_3006DecompressorTestCase.test_decompressor_chunks_read_300  s    5 ZZ_}}}ggcl    566,,s#CJJsOuuuhhsmS7+'2E:rb   c                f   R p\         V,           p\        4       p\        P                  ! V4      p. p VP                  '       d   VP                  ^4      pV'       g   M;MRpVP                  V^4      pVP                  V4       VP                  '       g   Kg   RP                  V4      pV P                  \        V4      \        4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  VP                  4       ,           V4       R# )s   89234893rb   N)r.   r   r5   r   r  r:   r
   rE   r'  rD   r]   rG   r   r  r  r(  r.  s   &       rQ   test_decompressor_chunks_read_34DecompressorTestCase.test_decompressor_chunks_read_3  s    5 ZZ_}}}ggaj  ,,sA&CJJsOuuuhhsmS7+'2E:rb   c                   V P                  \        4      ;_uu_ 4        \        R 4       RRR4       \        4       pV P	                  VP                  R 4      R 4       V P                  VP                  4       R#   + '       g   i     LX; ir   )r   r   r
   r   r]   r  r'  )r^   r   s   & rQ   test_decompress_empty*DecompressorTestCase.test_decompress_empty   s]    y))sO * c*C0 *)s   A::B
	c                   \        R 4      pV P                  \        V4      ^4       V P                  \	        V4      R 4       V P                  \        4      ;_uu_ 4        \	        VRR 4       RRR4       \        4       pVP	                  V4      pV P                  VR 4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       \        4       pVP	                  VRR 4      pV P                  VR 4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       R#   + '       g   i     ELL; irb   Nr   )r	   assertGreaterEqualrG   r]   r
   r   r   r   r  r'  r  r  r(  )r^   r   r   r   s   &   rQ   #test_decompress_empty_content_frame8DecompressorTestCase.test_decompress_empty_content_frame(  sK   smC!,C#.y))s3Bx  * ll3c"',,ll3s8$c"&,,% *))s   F11G	r   N)r   r   r   r   r  r  r  r  r#  r*  r0  r3  r6  r;  r   r   r   s   @rQ   r  r    sB     "H*-X.O(b[0/d;6;8 - -rb   r  c                   H   a  ] tR tRt o ]R 4       tR tR tR tR t	Rt
V tR# )	DecompressorFlagsTestCaseiB  c                   \         P                  ^/p\        VR7      pRV n        VP	                  V P                  VP
                  4      V n        RV n        VP	                  V P                  VP
                  4      V n        V P                  V P                  ,           V n	        V P                  V P                  ,           V n
        ^\        ,          V n        \        4       pVP	                  V P                  4      VP                  4       ,           V n        VP	                  V P                  4      VP                  4       ,           V n        V P                  V P                  ,           V n        RV n        R# )   r   s   12345678abcdefg!@#$%^&*()_+|N*   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas<   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r   r-   r   DECOMPRESSED_42r	   r   FRAME_42DECOMPRESSED_60FRAME_60FRAME_42_60DECOMPRESSED_42_60r)   r   r   UNKNOWN_FRAME_42UNKNOWN_FRAME_60UNKNOWN_FRAME_42_60r)  )clsr   r   s   &  rQ   
setUpClass$DecompressorFlagsTestCase.setUpClassD  s   '55a87+%zz#"5"5q}}E%zz#"5"5q}}E,,5!$!4!4s7J7J!J#g zz#*=*=>J zz#*=*=>J"%"6"69M9M"M3	rb   c                
   V P                  \        \        \        4      4      ^d^ \        ,          ,           4       V P                  \        V P
                  4      V P                  4       V P                  \        V P                  4      V P                  4       RpV P                  \        V4      ;_uu_ 4        \        V P
                  R,          4       RRR4       V P                  \        V4      ;_uu_ 4        \        V P
                  RR 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V P
                  RR	 4       RRR4       V P                  \        V P                  4      V P                  4       V P                  \        V P                  4      V P                  4       V P                  \        V P
                  V P                  ,           4      V P                  4       V P                  \        V P                  V P                  ,           4      V P                  4       V P                  \        V4      ;_uu_ 4        \        V P                  RR 4       RRR4       V P                  \        V4      ;_uu_ 4        \        V P                  RR	 4       RRR4       V P                  \        \        4      \         4       V P                  \        V4      ;_uu_ 4        \        \        RR 4       RRR4       V P                  \        V4      ;_uu_ 4        \        \        RR	 4       RRR4       V P                  \        R4      ;_uu_ 4        \        R4       RRR4       V P                  \        R4      ;_uu_ 4        \        V P
                  R,           4       RRR4       V P                  \        R4      ;_uu_ 4        \        V P                  R,           4       RRR4       \        RR pV^ ,          ^8X  d   \#        ^.4      VR,          ,           pM(\#        V^ ,          ^,           .4      VR,          ,           p\        RR V,           pV P                  \        R4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELw; i  + '       g   i     ELL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELc; i  + '       g   i     R# ; i)
d   r   Nr@  NNUnknown frame descriptor	   aaaaaaaaa:r@  NNzdoesn't match checksumr  r   )r]   rG   r
   r2   r)   rC  rB  rH  r   r   rF  rG  rJ  rI  rE  r.   r,   r'   )r^   r   checksumwrong_checksumr   s   &    rQ   test_function_decompress2DecompressorFlagsTestCase.test_function_decompress[  s   Z(@ABC3JO 	DMM2D4H4HID$9$9:D<P<PQJ##Iw77t}}R() 8 ##Iw77t}}Sb)* 8 ##Iw77t}}Sb)* 8 	D$4$45t7N7NOD$<$<=t?V?VWDMMD4I4I$IJ00	2 	D$9$9DMM$IJ00	2 ##Iw77t'',- 8 ##Iw77t//45 8 	J/<##Iw77z#2' 8 ##Iw77z#2' 8 ##I/IJJ|$ K ##I/IJJt}}|34 K ##I/IJJt//,>? K bc?A;#"C5\HRL8N"HQKM?3hrlBN"o.##I/GHHsO IHm 877 877 877 877 877 877 877 KJJ KJJ KJJ IHHs   9R#<R7;SSS39T2T+T/U UU+#R4	7S	S	S0	3T	T	T,	/U 	U	U(	+U<	c                   V P                  \        \        4      R 4       V P                  \        \        \        ,           4      R 4       V P                  \        \        \        \        ,           \        ,           4      4      V P
                  4       V P                  \        \        \        \        ,           \        ,           4      4      V P
                  4       V P                  \        \        \        \        ,           \        ,           4      4      V P
                  4       V P                  \        \        V P                  ,           4      V P                  4       V P                  \        V P                  \        ,           4      V P                  4       V P                  \        V P                  \        ,           V P                  ,           4      V P                  4       V P                  \        \        V P                  ,           4      V P                  4       V P                  \        V P                  \        ,           4      V P                  4       V P                  \        4      ;_uu_ 4        \        \        R,          4       RRR4       V P                  \        4      ;_uu_ 4        \        \        RR 4       RRR4       V P                  \        4      ;_uu_ 4        \        V P                  \        RR ,           4       RRR4       V P                  \        R4      ;_uu_ 4        \        R\        ,           4       RRR4       V P                  \        R4      ;_uu_ 4        \        \        R,           4       RRR4       V P                  \        R4      ;_uu_ 4        \        \        \        ,           R,           4       RRR4       R#   + '       g   i     ELV; i  + '       g   i     EL2; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)rb   rP  NrQ  rR  r   )r]   r
   r4   rG   r.   r   rI  rD  rC  rE  rG  rF  rJ  r   r   r   r^   s   &rQ   test_function_skippable1DecompressorFlagsTestCase.test_function_skippable  s   O4c:Oo$EFL 	Z/(IJ(VWX	' 	Z
_(D(VWX	' 	Z*(D(VWX	' 	Od6K6K$KL--	/ 	D$9$9O$KL--	/ 	DMMO$Cdmm$ST00	2 	Od6F6F$FG00	2 	D$<$<$NO00	2 y))r*+ * y))s+, * y))t}}s';;< * ##I/IJJ|o56 K ##I/IJJ56 K ##I/IJJ8<GH KJ! *)) *)) *) KJ KJ KJJsH   2O.O*&$O>0P-P$*"P7O'	*O;	>P	P!	$P4	7Q	c                J   \        4       pVP                  R 4      pV P                  VR 4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       VP                  R ^ 4      pV P                  VR 4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       VP                  \        R,           4      pV P                  V\        4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R4       V P                  VP                  R4       \        4       pVP                  R ^ 4      pV P                  VR 4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       VP                  R 4      pV P                  VR 4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       VP                  \        R,           4      pV P                  V\        4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R4       V P                  VP                  R4       \        4       pVP                  V P                  4      pV P                  W P                  4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       V P                  \        4      ;_uu_ 4        VP                  R 4       RRR4       \        4       pVP                  V P                  V P                  ,           4      pV P                  W P                  4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  V P                  4       V P                  VP                  V P                  4       \        R^ \         ,          ,          4      p\        4       pVP                  V^ \         ,          4      pV P                  VR^ \         ,          ,          4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       V P                  \        4      ;_uu_ 4        VP                  R 4       RRR4       \        4       pVP                  \        V P                  ,           ^d4      pV P                  \#        V4      ^d4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       VP                  R 4      pV P                  \#        V4      ^ \         ,          4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  V P                  4       V P                  VP                  V P                  4       V P                  \        4      ;_uu_ 4        VP                  R 4       RRR4       \        4       pVP                  V P$                  R,          4      pV P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       \        4       pVP                  V P$                  RR 4      pV P                  W P&                  4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       \        4       pVP                  V P$                  RR 4      pV P                  W P&                  4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       \        4       pVP                  V P$                  RR ^<4      pV P                  W P&                  4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       VP                  R 4      pV P                  VR 4       V P                  VP                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       \        4       pV P)                  \*        R4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; i)rb   r   NrP  rQ  rR  r  r   )r   r
   r]   r  r'  r  r  r(  r2   r1   rC  rB  r   r  r)  r	   r)   rG   rE  rD  r   r   )r^   r   r   temps   &   rQ   r*  -DecompressorFlagsTestCase.test_decompressor_1  s+   ll3c"&,,ll3"c"',,ll3d:;89'-- ll3"c"',,ll3c"&,,ll3d:;89'-- ll4==)223',,x((LL ) ll4==4::56223'

3

3 bf&ll4C(dBsFm,',,x((LL ) ll3DJJ>DS3'',ll3S2c6*'

3

3x((LL ) ll4==,-&,, ll4=="-.223&,, ll4=="-.223&, ll4=="-r2223',,ll3c"&,, ##I/IJJLL& KJ} )((0 )((( )((d KJJs0   &mm)m=9nm&	)m:	=n	n"	c                   \        4       pVP                  \        4      pV P                  VR 4       V P	                  VP
                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       \        4       pVP                  \        ^ 4      pV P                  VR 4       V P	                  VP
                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       \        4       pVP                  \        V P                  ,           4      pV P                  VR 4       V P	                  VP
                  4       V P                  VP                  4       V P                  VP                  V P                  4       V P                  VP                  V P                  4       \        4       pVP                  \        RR 4      pV P                  VR 4       V P                  VP
                  4       V P	                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       \        4       pVP                  \        RR ^ 4      pV P                  VR 4       V P                  VP
                  4       V P                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       VP                  R 4      pV P                  VR 4       V P                  VP
                  4       V P	                  VP                  4       V P                  VP                  R 4       V P                  VP                  R 4       R# r9  )
r   r
   r4   r]   r  r'  r  r  r(  r)  r  s   &  rQ   test_decompressor_skippable5DecompressorFlagsTestCase.test_decompressor_skippablem  s   ll?+c"',, ll?A.c"',, ll?TZZ78c"'

3

3 ll?3B/0c"&,, ll?3B/3c"',,ll3c"&,,rb   r   N)r   r   r   r   classmethodrL  rU  rY  r*  r_  r   r   r   s   @rQ   r>  r>  B  s6     4 4,AF1IfZ'x9- 9-rb   r>  c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )ZstdDictTestCasei  c                   V P                  \        4      ;_uu_ 4        \        \        ^4      R4       RRR4       RpV P                  \        4      ;_uu_ 4        \        V4       RRR4       Rp\        VRR7      pV P                  VP                  ^ 4       \        R^VR7      pV P                  R\        W24      4       RpV P                  \        4      ;_uu_ 4        \        V4       RRR4       V P                  \        4      ;_uu_ 4        Wn
        RRR4       V P                  \        4      ;_uu_ 4        R	Vn        RRR4       \        \        P                  R
R7      pV P                  VP                  ^ 4       \        \        P                  RR7      pV P                  VP                  ^ 4       V P                  \        4      ;_uu_ 4        \        RRR7       RRR4       V P                  \        4      ;_uu_ 4        \        \        4       RRR4       V P                  \        4      ;_uu_ 4        \        RR7       RRR4       R#   + '       g   i     EL.; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELk; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)   TNs   1234567r  r   s   aaa12345678rw   r~   s   12345678abcdi'  F12345678abcdefr|   )desk333)r   r   r   r'   r   r]   r   r	   r
   AttributeErrorrI   rH   r   )r^   r   r"  r\  s   &   rQ   test_is_rawZstdDictTestCase.test_is_raw  s   y))U1Xt$ * z**QK + a%Q'a2>D)=> z**QK + ~..O / ~..BJ / l//>BJJ*l//=BJJ*y))%d3 *y))\" * y))S! *)S *))
 +** +** /.. /.. *))) *))s_   II-"JJ?J)J=KK#I*	-I>	J	J&	)J:	=K	K 	#K4	c                
   R P                  ^RR7      pVR,           p\        VRR7      pV P                  \        R4      ;_uu_ 4        \	        VP
                  R7       RRR4       V P                  \        R	4      ;_uu_ 4        \        V4       RRR4       V P                  \        R
4      ;_uu_ 4        \	        V^.R7       RRR4       V P                  \        R
4      ;_uu_ 4        \	        VR3R7       RRR4       V P                  \        R
4      ;_uu_ 4        \	        V3R7       RRR4       V P                  \        R
4      ;_uu_ 4        \	        V^^3R7       RRR4       V P                  \        R
4      ;_uu_ 4        \	        VR3R7       RRR4       V P                  \        R
4      ;_uu_ 4        \	        V^3R7       RRR4       V P                  \        4      ;_uu_ 4        \	        V^R,          3R7       RRR4       V P                  \        4      ;_uu_ 4        \	        V^R,          ) 3R7       RRR4       V P                  \        R
4      ;_uu_ 4        \        V^.R7       RRR4       V P                  \        R
4      ;_uu_ 4        \        VR3R7       RRR4       V P                  \        R
4      ;_uu_ 4        \        V34       RRR4       V P                  \        R
4      ;_uu_ 4        \        V^^34       RRR4       V P                  \        R
4      ;_uu_ 4        \        VR34       RRR4       V P                  \        R
4      ;_uu_ 4        \        V^34       RRR4       V P                  \        4      ;_uu_ 4        \        V^R,          34       RRR4       V P                  \        4      ;_uu_ 4        \        V^R,          ) 34       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELj; i  + '       g   i     ELI; i  + '       g   i     EL); i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELv; i  + '       g   i     ELU; i  + '       g   i     EL4; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; i)l   7$aX r    r!   s   abcdefghighlmnopqrstuvwxyzFr   zZSTD_CDict.*?content\.$r}   NzZSTD_DDict.*?content\.$zshould be a ZstdDict objectg      ?r   r   )
r3   r   r   r   r   as_digested_dictr   r   r   r  )r^   
DICT_MAGICrI   r"  s   &   rQ   test_invalid_dict"ZstdDictTestCase.test_invalid_dict  s   ((h(?
!$AA l51##I/IJJR%8%89 K##I/IJJR  K ##I/MNNb!W- O##I/MNNb#Y/ O##I/MNNbU+ O##I/MNNb!QZ0 O##I/MNNb"X. O##I/MNNb!W- O}--b!T']3 .}--b1d7(^4 . ##I/MNNAw/ O##I/MNNCy1 O##I/MNNbU# O##I/MNNb!QZ( O##I/MNNb"X& O##I/MNNb!W% O}--b!T']+ .}--b1d7(^, .-K KJJJJJ ONNNNNNNNNNNNNNNNN------ ONNNNNNNNNNNNNNNNN------s   O?P7P',P;!QQ#Q7 R4R/R3,S!SS/	T>T2T+%T?U?P	P$	'P8	;Q	Q 	#Q4	7R	R	R0	3S	S	S,	/T 	T	T(	+T<	?U	U$	c                   \        \        \        4      p\        VP                  R R7       V P                  VP                  ^ 4       V P                  \        VP                  4      ^ 4       V P                  \        VP                  4      \        4       V P                  \        P                  ! R\        V4      4      4       \        VR7      p\         Fn  p\        W1R7      p\!        WA4      pV P#                  W54       VP                  V4      pWBP%                  4       ,          p\!        WA4      pV P#                  W54       Kp  	  R# )Fr   z&^<ZstdDict dict_id=\d+ dict_size=\d+>$r}   N)r   rF   
DICT_SIZE1r   rI   r   r   assertGreaterrG   assertLessEqualr  r<   matchrY   r   r	   r
   r]   r   )r^   rH   r   rP   rp   rq   s   &     rQ   test_train_dict ZstdDictTestCase.test_train_dict  s    !':6**59L00!43|8891=S!:!:;ZH!JCP\L]^_ \2FF;Dd1DV*::f%DGGIDd1DV* rb   c                `   ^\         ,          p^p \        \        \        W4      pT P                  TP                  ^ 4       T P                  \        TP                  4      ^ 4       T P                  \        TP                  4      T4       \        Y#R7      p\         Fo  p\        YRTR7      p\        Yc4      pT P                  YW4       TP                  T4      pYdP                  4       ,          p\        Yc4      pT P                  YW4       Kq  	  T P                  \        P                  TP                  4       \        \        ^ ,          \        R7      pT P!                  \"        4      ;_uu_ 4        \        Yc4       RRR4       R#   \         d     R# i ; i  + '       g   i     R# ; i)   Nr}   )r)   r   rH   rF   NotImplementedErrorr   r   rs  rG   rI   rt  r   r	   r
   r]   r   r   r   )r^   
DICT_SIZE2C_LEVELdic2r   rP   rp   rq   s   &       rQ   test_finalize_dict#ZstdDictTestCase.test_finalize_dict  sJ   W
	 w
LD
 	DLL!,3t00115S!2!23Z@ 73FFt<Dd)DV*::f%DGGIDd)DV*  	L00$,,?
l;y))t" *)1 # 		0 *))s   F
 4F
FFF-	c                   V P                  \        4      ;_uu_ 4        \        . ^d\        ,          4       RRR4       V P                  \        4      ;_uu_ 4        \        \        R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        ^ 4       RRR4       R#   + '       g   i     L~; i  + '       g   i     L[; i  + '       g   i     R# ; i)rO  N)r   r   r   r)   rF   rX  s   &rQ   test_train_dict_arguments*ZstdDictTestCase.test_train_dict_arguments>  s    z**r3s7# + z**w% + z**w" +* +* +* +**s#   B,B?C,B<	?C	C#	c                   V P                  \        4      ;_uu_ 4        \        ^^/R^d\        ,          ^4       RRR4       V P                  \        4      ;_uu_ 4        \        \
        . ^d\        ,          ^4       RRR4       V P                  \        4      ;_uu_ 4        \        \
        \        R^4       RRR4       V P                  \        4      ;_uu_ 4        \        \
        \        ^ ^4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lt; i  + '       g   i     R# ; i)r@  N)s   aaas   bbbr  )r   r   r   r)   r   rH   rF   rX  s   &rQ   test_finalize_dict_arguments-ZstdDictTestCase.test_finalize_dict_argumentsH  s    y))1Q%!13s7A> * z**,CGQ7 + z**,q9 + z**,A6 +* *) +* +* +**s/   C?D"D%D8?D	D"	%D5	8E		c                	   V P                  \        4      ;_uu_ 4        \        P                  / R^d4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \	        4       R^d4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  R^c^d4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  R. ^d4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  RRR4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  RR^d4       RRR4       V P                  \
        4      ;_uu_ 4        \        P                  RR	^d4       RRR4       V P                  \
        4      ;_uu_ 4        \        P                  RR
^d4       RRR4       V P                  \
        4      ;_uu_ 4        \        P                  RR^d4       RRR4       V P                  \
        4      ;_uu_ 4        \        P                  R^R,          3^d4       RRR4       V P                  \
        4      ;_uu_ 4        \        P                  R^R,          ) 3^d4       RRR4       V P                  \
        4      ;_uu_ 4        \        P                  RR^ 4       RRR4       V P                  \
        4      ;_uu_ 4        \        P                  RRR4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  RR^4       RRR4       R#   + '       g   i     ELE; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELp; i  + '       g   i     ELG; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELi; i  + '       g   i     EL@; i  + '       g   i     R# ; i)rO  Nrb   fffffY@r   r   r   )gfffffX@r      r   r   c   )r   r   r   r   	bytearrayr   r   rX  s   &rQ   test_train_dict_c"ZstdDictTestCase.test_train_dict_cU  s   y))RS) *y))Y["c2 *y))S"c* *y))S"c* *y))S"e, *y))S'3/ *z**VWc2 +z**VT3/ +z**S%- + z**S1d7*c2 +z**SAtG8+s3 + z**S"a( +z**S"b) + y))S"a( *)? *)))))))))))))))))********* +***** +***** *))s   M2 N NN.OOO*O>P P&!P:QQ"Q62N	N	N+	.N?	O	O'	*O;	>P	P#	&P7	:Q	Q	"Q3	6R	c           
     8   V P                  \        4      ;_uu_ 4        \        P                  ^^^^^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  / RR^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \	        \
        P                  4      RR^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  / R^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  \	        4       R^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  R^c^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  R. ^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RRR^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^dR4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR	^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR
^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  R^R,          3^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  R^R,          ) 3^d^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^ ^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RRR^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^R,          ^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^R,          ) ^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^d^R,          4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^d^R,          ) 4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  \
        P                  RR^d^4       RRR4       R#   + '       g   i     ELI; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELb; i  + '       g   i     EL); i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL~; i  + '       g   i     ELE; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELP; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL]; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; i)r@  Nrb   r  gffffff@r   r   r   r   r  r  r  )
r   r   r   r   r  rH   rI   r   r  r   rX  s   &rQ   test_finalize_dict_c%ZstdDictTestCase.test_finalize_dict_cy  s.   y))1aA. * y))CS!4 *y))	,*C*C Dc2sTUV *y)) 9 92r3J *y)) 9 99;CQRS *y)) 9 93CK *y)) 9 93CK *y)) 9 93E1M *y)) 9 93CM * z** 9 967CQRS +z** 9 964aP +z** 9 93sAN + z** 9 93D
CQRS +z** 9 93!T'SRST + z** 9 93AqI +z** 9 93BJ +}-- 9 93AtGQO .}-- 9 93QWHaP . }-- 9 93CDQ .}-- 9 93C!T'R . y)) 9 93CK *)c *)) *))))))))))))))))))))))) +******** +***** +*****------ .----- *))s   Y8Z1Z 2(Z4?0[([!([0.(\;(\(\,(] "(]/0](1]<(^'(^$4/^80_/_ 10_4(`8Z		Z	 Z1	4[	[	[-	0\	\	\)	,\=	 ]	]%	(]9	<^	^!	$^5	8_		_	 _1	4`	`	c                   R  p. p. p. p\        R4       F  p\        P                  ! R\        ^4       Uu. uF  p\        P                  ! ^ ^4      NK  	  up4      pVP	                  V4       VP	                  V! V4      4       VP	                  \        V4      4       K  	  RP                  V4      pV P                  \        R4      ;_uu_ 4        \        P                  V\        V4      ^d\        ,          4       RRR4       \        P                  V\        V4      ^\        ,          4       V P                  \        R4      ;_uu_ 4        \        P                  \        P                  V\        V4      R\        ,          ^4       RRR4       \        P                  \        P                  V\        V4      R\        ,          ^4       R# u upi   + '       g   i     L; i  + '       g   i     Le; i)c                 z    \        V \        \        34      '       d   \        V 4      # \	        V 4      P
                  # rX   )
isinstancer'   r  rG   
memoryviewnbytes)r   s   &rQ   _nbytesDZstdDictTestCase.test_train_buffer_protocol_samples.<locals>._nbytes  s-    #y1223xc?)))rb   r%   Qrb   z=The samples size tuple doesn't match the concatenation's sizeN)r(   arrayr*   r+   rE   rG   rD   r   r   r   r   tupler)   r   rH   rI   )	r^   r  	chunk_lstwrong_size_lstcorrect_size_lstrJ   rN   arrconcatenations	   &        rQ   "test_train_buffer_protocol_samples3ZstdDictTestCase.test_train_buffer_protocol_samples  s   	* 	sA++c59#M9aFNN1b$99#MNCS!##GCL1!!#c(+	 
 + ##JOQ Q]E.,A3s7KQ
 	.>(?3G ##JOQ Q 9 9"/~1FCQRTQ 	L55+U3C-Dc#gq	R+ $NQ QQ Qs    G,G<G(G%	(G8	c                   \         p\        VR R7      p\        V4      ^,          pVRV W,          \        P	                  R4      8w  d   RMR,           W^,           R ,           p\        WBP                  R7      pV P                  \        V4      P                  ^ 4       V P                  \        WRP                  4      V4       \        \        ^ ,          R R7      p \        WVP                  4      pV P                  Wt4       V P                  \        4      ;_uu_ 4        RVn        RRR4       R#   \         d     L<i ; i  + '       g   i     R# ; i)Tr   Nr      br}      1234)r;   r   rG   rh   
from_bytesr	   	as_prefixr]   r   r   r
   rF   r   r   r   ri  )r^   V1r"  midV2r   zd2decompresseds   &       rQ   test_as_prefixZstdDictTestCase.test_as_prefix  s   b& "glXg!55d4AAZ
 r\\2,::A> 	C6; wqz$/	2%c==9L 1 ~.."BL /.  		 /..s   D2  E2E ?E E	c                \   \         p\        \        ^ ,          VP                  R7      pV P	                  \        W!P                  4      \        ^ ,          4       V P                  \        4      ;_uu_ 4        RVn        RRR4       \        \        ^ ,          VP                  R7      pV P	                  \        W!P                  4      \        ^ ,          4       V P                  \        4      ;_uu_ 4        RVn        RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r}   r  N)	rH   r	   rF   rm  r]   r
   r   ri  as_undigested_dict)r^   r"  r   s   &  rQ   test_as_digested_dict&ZstdDictTestCase.test_as_digested_dict  s     wqzR-@-@AC)<)<=wqzJ~..")B / wqzR-B-BCC)>)>?L~..$+B! /. /. /..s   6D5DD	D+	c                   \         P                  ^\         P                  ^\         P                  ^/p\	        \
        ^ ,          V\        R7      pV P                  \        V\        4      \
        ^ ,          4       \	        \
        ^ ,          V\        P                  R7      pV P                  \        V\        4      \
        ^ ,          4       R# )   r   r~   N)
r   rd   r   r   r	   rF   rH   r]   r
   rm  )r^   r   r   s   &  rQ   $test_advanced_compression_parameters5ZstdDictTestCase.test_advanced_compression_parameters  s    '991&112&DDaI
 wqz7lKC6
C wqz7l>[>[\C6
Crb   c                    V P                  \        \        4      \        \        P                  4      4       V P	                  \        \        \        4      4      \        \        4      4       R # rX   )r]   rG   rH   rI   assertInrY   rX  s   &rQ   test_lenZstdDictTestCase.test_len  s?    \*C0I0I,JKc#l+,c,.?@rb   r   N)r   r   r   r   rj  ro  rv  r~  r  r  r  r  r  r  r  r  r  r   r   r   s   @rQ   rc  rc    sV     ,"\,-\+*#B#7")H3Lj!RF#>,DA Arb   rc  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R tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7R6 t8R7 t9R8 t:R9 t;R: t<R; t=R< t>R= t?R> t@R? tAR@ tBRAtCV tDRB# )CFileTestCasei  c                H    RV n         \        V P                   4      V n        R# )r   NrA  )rB  r	   rC  rX  s   &rQ   setUpFileTestCase.setUp  s    & !5!56rb   c                   \        \        P                  ! \        4      4      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R4      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R4      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R4      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R^R7      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R\        P
                  ^/R7      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R/ R7      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R^\        R7      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R\        P                  ^/R7      ;_uu_ 4       p R R R 4       \        \        P                  ! 4       R/ \        R7      ;_uu_ 4       p R R R 4       R #   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL]; i  + '       g   i     EL>; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R # ; i)	Nr   xar   r   rf  rr  )	r   r5   r   r2   r   r-   rH   r   r	  r^   rK   s   & rQ   	test_initFileTestCase.test_init  s   bjj!9:;;q <bjjlC((A )bjjlC((A )bjjlC((A ) bjjlCr22a 3bjjlC2F2T2TUV1WXX\] YbjjlC44 5bjjlCr\JJa K bjjlC2H2W2WXZ1[\\`a ]bjjlC|LLPQ ML) <;;((((((((( 322XXX444JJJ ]\LLLsw   H'H;I?I#2I75J(J J3#KK'H8	;I	I 	#I4	7J	J	J0	3K	K	K+	c                X   \         P                  ! R R7      ;_uu_ 4       p\        P                  ! VP                  4      pRRR4       \        XR4      ;_uu_ 4       pVP                  \        4       RRR4       \        V4      ;_uu_ 4       pV P                  VP                  4       \        4       RRR4       \        VR4      ;_uu_ 4       pVP                  \        4       RRR4       \        V4      ;_uu_ 4       pV P                  VP                  4       \        ^,          4       RRR4       \        P                  ! V4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lu; i)FdeleteNr  )tempfileNamedTemporaryFilepathlibPathnamer   r   r1   r]   r:   r6   remover^   tmp_ffilenamerK   s   &   rQ    test_init_with_PathLike_filename-FileTestCase.test_init_with_PathLike_filename-  s   ((66%||EJJ/H 7 h$$GG./ %h1QVVX'AB   h$$GG./ %h1QVVX'AA'EF   			( 766 %$ %$s;   !EE %E3F ,FE	 E0	3F	F	F)	c                   \         P                  ! R R7      ;_uu_ 4       p\        P                  ! VP                  4      pRRR4       \        X4      ;_uu_ 4       p RRR4       \        VR4      ;_uu_ 4       p RRR4       \        VR4      ;_uu_ 4       p RRR4       \        P                  ! V4       R#   + '       g   i     L; i  + '       g   i     Lw; i  + '       g   i     Ll; i  + '       g   i     La; i)Fr  Nr   r  )r  r  r  r  r  r   r6   r  r  s   &   rQ   test_init_with_filename$FileTestCase.test_init_with_filename=  s    ((66%||EJJ/H 7 h1  h$$ %h$$ % 			( 76  $$$$s/   !B:C:C C3:C
	C	 C0	3D	c                ~   \         P                  ! 4       p\        VR 4      ;_uu_ 4         RRR4       \        VR4      ;_uu_ 4         RRR4       \        VR4      ;_uu_ 4         RRR4       \        VR4      ;_uu_ 4         RRR4       \        VR4      ;_uu_ 4         RRR4       \        VR4      ;_uu_ 4         RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L|; i  + '       g   i     R# ; i)r  Nr#   r   wbr  ab)r5   r   r   )r^   r/  s   & rQ   test_init_modeFileTestCase.test_init_modeJ  s    ZZ\b# b$  b# b$  b# b$   sG   CC&C2D"D D+C	C/	2D	D	D(	+D<	c           
     *   \         P                  ! 4       ;_uu_ 4       p\        P                  ! VP                  4      pR R R 4       R Fz  p\        XV4      ;_uu_ 4         R R R 4       V P                  \        4      ;_uu_ 4        \        W#4      ;_uu_ 4         R R R 4       R R R 4       \        P                  ! V4       K|  	  R #   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LZ; i  + '       g   i     Le; i)N)r  xb)
r  r  r  r  r  r   r   FileExistsErrorr6   r  )r^   r  r  r   s   &   rQ   test_init_with_x_mode"FileTestCase.test_init_with_x_modeZ  s    ((**e||EJJ/H +  D(D)) *""?33h-- . 4 IIh   +* *) .- 43s;   !C	 CDC/D	C	C,/C?:DDc                
   V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R	4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R
4       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R4       RRR4       V P                  \        R4      ;_uu_ 4        \        \        P                  ! 4       R\        P                  ^/R7       RRR4       V P                  \        R4      ;_uu_ 4        \        \        P                  ! 4       R\        P                  ^/R7       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \
        4      R^R7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELQ; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELy; i  + '       g   i     ELC; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELO; i  + '       g   i     R# ; i)r   N xtzx+rxwxrtzr+wtzw+rwznot be a CompressionParameterr#   r   znot be a DecompressionParameterr  r  r   )r   r  )r   r   r   r5   r   r2   r   r   r   rd   r   r	  rX  s   &rQ   test_init_bad_modeFileTestCase.test_init_bad_modef  s*   z**RZZ 898D +z**RZZ 892> +z**RZZ 894@ +z**RZZ 894@ +z**RZZ 894@ +z**RZZ 894@ +z**RZZ 894@ +z**RZZ 894@ +z**RZZ 894@ +z**RZZ 894@ +z**RZZ 894@ + ##I$DF FRZZ\42DDQGIF ##I$FH HRZZ\44CCBGIH
 y))RZZ 893bI *)A +********************************F F FH H H
 *))s   %P-(%Q2%Q<%Q)%Q=%R%R%$%R9.%S8%S!%S52T	%2T<'T1-P>	Q	Q&	)Q:	=R	R"	%R6	9S
	S	!S2	5T		T	T.	1U	c                *   V P                  \        4      ;_uu_ 4        \        \        P                  ! 4       R RR7       RRR4       V P                  \
        4      ;_uu_ 4        \        \        P                  ! 4       R RR/R7       RRR4       V P                  \
        4      ;_uu_ 4        \        \        P                  ! 4       R \        P                  ^c/R7       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \        4      R^!R7       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \        4      \        P                  R/R7       RRR4       V P                  \
        4      ;_uu_ 4        \        \        P                  ! \        4      RR	/R7       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \        4      ^^/R
7       RRR4       V P                  \        4      ;_uu_ 4        \        \        P                  ! \        4      RR
7       RRR4       R#   + '       g   i     EL?; i  + '       g   i     EL
; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELH; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)r   asdr   Ni  i'  r   r  i  M  r}   s
   dict123456l        )r   r   r   r5   r   r   r   r   r2   r  r   r	  rX  s   &rQ   test_init_bad_check FileTestCase.test_init_bad_check  s   y))RZZ\3e4 * z**RZZ\3T
; +z**RZZ\31E1P1PQS0TU + y))RZZ 893K * }--RZZ 89&<&K&KE%RT . z**RZZ 89&)#Y0 + y))RZZ 89aUK * y))RZZ 89]S *)- *)) +***** *)) .-- +** *) *))s_   "I6%$J
.2J'J26K,(K9(K.&L6J	
J	J/	2K	K	K+	.K>	L	c                   \         P                  ! R R7      ;_uu_ 4       pVP                  \        4       VP                  pRRR4       V P                  \        4      ;_uu_ 4        \        XRR/R7       RRR4       \        P                  ! 4        \        P                  ! X4       R#   + '       g   i     Lr; i  + '       g   i     LP; i)Fr  Nr  r   r   )r  r  r   r.   r  r   r   r   gccollectr6   r  )r^   r  r  s   &  rQ   test_init_close_fpFileTestCase.test_init_close_fp  s~    ((66%KK
#zzH 7 y))XCy1 * 	


		( 76 *)s   "B,'B?,B<	?C	c                   \         P                  ! \        4      ;_uu_ 4       p\        V4      pVP	                  4        V P                  VP                  4       VP	                  4        V P                  VP                  4       R R R 4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! VP                  4      pR R R 4       \        X4      pVP                  pVP	                  4        V P                  VP                  4       VP	                  4        \        P                  ! V4       R #   + '       g   i     L; i  + '       g   i     L; i)NFr  )r5   r   r2   r   closer  closedr  r  r  r  r  _fpr  r6   r  )r^   srcrK   r  r  fps   &     rQ   
test_closeFileTestCase.test_close  s    ZZ011SAGGISZZ(GGISZZ( 2 ((66%||EJJ/H 7 XUU				"		
		(+ 21 76s   A"D?,!E?E	E"	c                P   \        \        P                  ! \        4      4      p V P	                  VP
                  4       VP                  4        V P	                  VP
                  4       VP                  4        V P                  VP
                  4       \        \        P                  ! 4       R 4      p V P	                  VP
                  4       VP                  4        V P                  VP
                  4       R#   TP                  4        i ; i  TP                  4        i ; ir   N)	r   r5   r   r2   r  r  r:   r  r  r  s   & rQ   test_closedFileTestCase.test_closed  s    RZZ 89:	QXX&FFHQXX&GGI!RZZ\3'	QXX&GGI! GGI GGIs   AC> 6D >DD%c           	     ~   \        \        P                  ! \        4      4      p V P	                  \        P
                  VP                  4       VP                  4        V P	                  \        VP                  4       \        P                  ! R R7      ;_uu_ 4       p\        P                  ! VP                  4      pRRR4       \        X4      p V P                  VP                  4       VP                  P                  4       4       V P!                  VP                  4       \"        4       VP                  4        V P	                  \        VP                  4       \$        P&                  ! V4        ! R R4      p\        V! 4       R4      ;_uu_ 4       pV P)                  \*        R4      ;_uu_ 4        VP                  4        RRR4       RRR4       R#   TP                  4        i ; i  + '       g   i     EL9; i  TP                  4        i ; i  + '       g   i     LX; i  + '       g   i     R# ; i)Fr  Nc                   *   a  ] tR tRt o RR ltRtV tR# )#FileTestCase.test_fileno.<locals>.Ci  c                    R #    123r   r   s   &&rQ   r:   (FileTestCase.test_fileno.<locals>.C.read      rb   r   Nr   r   r   r   r   r:   r   r   r   s   @rQ   Cr          rb   r  r#   fileno)r   r5   r   r2   r   UnsupportedOperationr  r  r   r  r  r  r  r  r]   r  assertIsInstancerh   r6   r  r   ri  r^   rK   r  r  r  s   &    rQ   test_filenoFileTestCase.test_fileno  sp   RZZ 89:	b55qxx@GGI*ahh/ ((66%||EJJ/H 7 X	QXXZ8!!!((*c2GGI*ahh/
		(	 	 ac4  A''	BB
 C ! + GGI 766 GGI CB !  sH   *G !G/AH H+7H	H+G,/H 	HH(#H++H<	c           	     ,   \        \        P                  ! \        4      4      p V P	                  \
        4      ;_uu_ 4        VP                   R R R 4       VP                  4        V P	                  \        4      ;_uu_ 4        VP                   R R R 4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! VP                  4      pR R R 4       \        X4      p V P                  VP                  VP                  P                  4       V P                  VP                  \         4       VP                  4        V P	                  \        4      ;_uu_ 4        VP                   R R R 4       \"        P$                  ! V4        ! R R4      p\        V! 4       R4      ;_uu_ 4       pV P'                  \
        R4      ;_uu_ 4        VP                   R R R 4       R R R 4       R #   + '       g   i     EL; i  TP                  4        i ; i  + '       g   i     EL; i  + '       g   i     ELc; i  TP                  4        i ; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R # ; i)NFr  c                   *   a  ] tR tRt o RR ltRtV tR# )!FileTestCase.test_name.<locals>.Ci  c                    R # r	  r   r   s   &&rQ   r:   &FileTestCase.test_name.<locals>.C.read  r  rb   r   Nr  r  r   s   @rQ   r  r    r  rb   r  r#   r  )r   r5   r   r2   r   ri  r  r  r   r  r  r  r  r]   r  r  rY   r6   r  r   r  s   &    rQ   	test_nameFileTestCase.test_name  s   RZZ 89:	"">22 3 GGIz**FF + ((66%||EJJ/H 7 X	QVVQUUZZ0!!!&&#.GGIz**FF + 			(	 	 ac4  A''@@ A ! 5 322 GGI*** 766 GGI** A@ !  sx   H
 G6H
 H8!H3-AI *I8JI/	$J6H		H
 
HH0	3I	II,	/I?:JJ	c                   \        \        P                  ! \        4      4      p V P	                  VP                  4       4       VP                  4        V P	                  VP                  4       4       VP                  4        V P                  \        VP
                  4       \        \        P                  ! 4       R 4      p V P                  VP                  4       4       VP                  4        V P                  \        VP
                  4       \        P                  ! \        4      pR Vn        \        V4      p V P                  VP                  4       4       VP                  4        V P                  \        VP
                  4       R#   TP                  4        i ; i  TP                  4        i ; i  TP                  4        i ; i)r   c                      R # Fr   r   rb   rQ   <lambda>,FileTestCase.test_seekable.<locals>.<lambda>.  s    urb   N)r   r5   r   r2   r  seekabler:   r  r   r   r  )r^   rK   r  s   &  rQ   test_seekableFileTestCase.test_seekable  s'   RZZ 89:	OOAJJL)FFHOOAJJL)GGI*ajj1RZZ\3'	QZZ\*GGI*ajj1jj12$SM	QZZ\*GGI*ajj1# GGI GGI GGIs$   AF F&  F; F#&F8;Gc                |   \        \        P                  ! \        4      4      p V P	                  VP                  4       4       VP                  4        V P	                  VP                  4       4       VP                  4        V P                  \        VP
                  4       \        \        P                  ! 4       R 4      p V P                  VP                  4       4       VP                  4        V P                  \        VP
                  4       R#   TP                  4        i ; i  TP                  4        i ; ir  )r   r5   r   r2   r  readabler:   r  r   r   r  r  s   & rQ   test_readableFileTestCase.test_readable6  s    RZZ 89:	OOAJJL)FFHOOAJJL)GGI*ajj1RZZ\3'	QZZ\*GGI*ajj1 GGI GGI   AD D) D&)D;c                |   \        \        P                  ! \        4      4      p V P	                  VP                  4       4       VP                  4        V P	                  VP                  4       4       VP                  4        V P                  \        VP
                  4       \        \        P                  ! 4       R 4      p V P                  VP                  4       4       VP                  4        V P                  \        VP
                  4       R#   TP                  4        i ; i  TP                  4        i ; ir  )r   r5   r   r2   r  writabler:   r  r   r   r  r  s   & rQ   test_writableFileTestCase.test_writableG  s    RZZ 89:	QZZ\*FFHQZZ\*GGI*ajj1RZZ\3'	OOAJJL)GGI*ajj1 GGI GGIr*  c           	        \        \        P                  ! \        4      4      ;_uu_ 4       pV P	                  VP                  ^ 4      R4       V P	                  VP                  4       \        4       RRR4       \        \        P                  ! \        4      \        P                  ^/R7      ;_uu_ 4       pV P	                  VP                  ^ 4      R4       RRR4       \        \        P                  ! R4      4      ;_uu_ 4       pV P	                  VP                  ^ 4      R4       V P                  \        4      ;_uu_ 4        VP                  ^
4       RRR4       RRR4       \        \        P                  ! R4      4      ;_uu_ 4       pV P                  \        4      ;_uu_ 4        VP                  ^
4       RRR4       RRR4       R#   + '       g   i     ELi; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lh; i  + '       g   i     R# ; i)r   rb   Nr   )r   r5   r   r2   r]   r:   r1   r   r	  r   r  r  s   & rQ   test_read_0FileTestCase.test_read_0X  st   bjj!9:;;qQVVAY,QVVX'AB < bjj!9:'='L'LR&PR RUVQVVAY,R
 bjjo&&!QVVAY,""8,,r
 - '
 bjjo&&!""8,,r
 - '& <;;R R R -, '& -, '&&s`   AG7"G&?HG:	HH3.H 	 H3G#	&G7	:H
HH	 H0+H33I	c                v   \        \        P                  ! \        4      4      ;_uu_ 4       p. p VP	                  ^
4      pV'       g   M.V P                  \        V4      ^
4       VP                  V4       KI  V P                  RP                  V4      \        4       RRR4       R#   + '       g   i     R# ; iTrb   N)r   r5   r   r2   r:   rt  rG   rE   r]   rD   r1   )r^   rK   r   results   &   rQ   test_read_10FileTestCase.test_read_10j  s}    bjj!9:;;qF$$S["5f%SXXf-/IJ <;;;s   B'	AB''B8	c                   \        \        P                  ! \        ^,          4      4      ;_uu_ 4       pV P	                  VP                  4       \        ^,          4       RRR4       \        \        P                  ! \        \        ,           4      4      ;_uu_ 4       pV P	                  VP                  4       \        4       RRR4       \        \        P                  ! \        \        ,           4      4      ;_uu_ 4       pV P	                  VP                  4       \        \        ,           4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)   N)
r   r5   r   r2   r]   r:   r1   r4   r0   r/   r  s   & rQ   test_read_multistream"FileTestCase.test_read_multistreamu  s    bjj!9A!=>??1QVVX'AA'EF @ bjj!9O!KLMMQRQVVX'AB N bjj!9N!JKLLPQQVVX'ADT'TU ML @? NM MLLs#   ,D:%E 0E :E
	E	 E1	c                   \        \        P                  ! \        R R 4      4      ;_uu_ 4       pV P	                  \
        VP                  4       R R R 4       \        \        P                  ! V P                  R,           4      4      ;_uu_ 4       pV P	                  \        VP                  4       R R R 4       \        \        P                  ! \        R,           4      4      ;_uu_ 4       pV P	                  \        VP                  4       R R R 4       R #   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R # ; i)Ns   12345i8)
r   r5   r   r.   r   r  r:   rC  r   r4   r  s   & rQ   test_read_incomplete!FileTestCase.test_read_incomplete  s    bjjET!2344h/ 5 bjj!9:;;qi0 < bjj8!;<==i0 >= 54 <; >==s#   !D!D)+!D<D&	)D9	<E	c           	     P   \         R R p\        \        P                  ! V4      4      ;_uu_ 4       pV P	                  \
        VP                  4       R R R 4       \        \        P                  ! V4      4      ;_uu_ 4       pV P                  VP                  ^\        ,          4      \        4       V P	                  \
        4      ;_uu_ 4        VP                  ^4       R R R 4       R R R 4       \        ^^4       FW  p\        \        P                  ! VR V 4      4      ;_uu_ 4       pV P	                  \
        VP                  ^4       R R R 4       KY  	  R #   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     K  ; i)Nr  )r.   r   r5   r   r   r  r:   r]   r)   r,   r(   )r^   	truncatedrK   rN   s   &   rQ   test_read_truncated FileTestCase.test_read_truncated  s   sO	bjj+,,h/ - bjj+,,QVVCG_j9""8,,q	 - - q"A"**Yr]344!!(AFFA6 54  -,, -, -, 544s<   !EAFE.	!F*"FE+	.E>9FF	F%c                T   \        \        P                  ! \        4      4      pVP	                  4        V P                  \        VP                  4       \        \        P                  ! 4       R 4      ;_uu_ 4       pV P                  \        VP                  4       RRR4       \        \        P                  ! \        4      4      ;_uu_ 4       pV P                  \        VP                  \        4       4       RRR4       R#   + '       g   i     Lo; i  + '       g   i     R# ; ir  )
r   r5   r   r0   r  r   r   r:   r   floatr  s   & rQ   test_read_bad_argsFileTestCase.test_read_bad_args  s    RZZ/0		*aff-bjjlC((Aj!&&1 )bjj011Qi9 21 )(111s   ;!D*DD	D'	c                    \        \        P                  ! \        4      4      ;_uu_ 4       pV P	                  \
        VP                  4       R R R 4       R #   + '       g   i     R # ; irX   )r   r5   r   rA   r   r   r:   r  s   & rQ   test_read_bad_dataFileTestCase.test_read_bad_data  s<    bjj!1233qi0 4333s   !AA(	c           	         ! R  R4      p\        V! 4       4      ;_uu_ 4       pV P                  \        4      ;_uu_ 4        VP                  ^
4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                   *   a  ] tR tRt o RR ltRtV tR# )+FileTestCase.test_read_exception.<locals>.Ci  c                    \         hrX   )OSErrorr   s   &&rQ   r:   0FileTestCase.test_read_exception.<locals>.C.read  s    rb   r   Nr  r  r   s   @rQ   r  rK    r  rb   r  N)r   r   rM  r:   )r^   r  rK   s   &  rQ   test_read_exception FileTestCase.test_read_exception  sT    	 	 ac]]a""7++r
 , ]++ ]]s#   A8A%	A8%A50A88B		c                ~   \        \        P                  ! \        4      4      ;_uu_ 4       p. p VP	                  4       pV'       g   MVP                  V4       K-  V P                  RP                  V4      \        4       V P                  VP	                  4       R4       RRR4       R#   + '       g   i     R# ; ir3  )	r   r5   r   r.   read1rE   r]   rD   r,   r^   rK   blocksr4  s   &   rQ   
test_read1FileTestCase.test_read1  s{    bjj,--Ff%SXXf-z:QWWY, .---s   B+AB++B<	c                    \        \        P                  ! \        4      4      ;_uu_ 4       pV P	                  VP                  ^ 4      R4       RRR4       R#   + '       g   i     R# ; i)r   rb   N)r   r5   r   r0   r]   rR  r  s   & rQ   test_read1_0FileTestCase.test_read1_0  s?    bjj011QQWWQZ- 2111s   "AA)	c                   \        \        P                  ! \        4      4      ;_uu_ 4       p. p VP	                  ^
4      pV'       g   MVP                  V4       K.  V P                  RP                  V4      \        4       V P                  VP	                  4       R4       RRR4       R#   + '       g   i     R# ; ir3  )	r   r5   r   r0   rR  rE   r]   rD   r/   rS  s   &   rQ   test_read1_10FileTestCase.test_read1_10  s~    bjj011QFf%SXXf-/?@QWWY, 2111s   B,	AB,,B=	c                   \        \        P                  ! \        ^,          4      4      ;_uu_ 4       p. p VP	                  4       pV'       g   MVP                  V4       K-  V P                  RP                  V4      \        ^,          4       V P                  VP	                  4       R4       RRR4       R#   + '       g   i     R# ; i)r8  rb   N)	r   r5   r   r2   rR  rE   r]   rD   r1   rS  s   &   rQ   test_read1_multistream#FileTestCase.test_read1_multistream  s    bjj!9A!=>??1Ff%SXXf-/IA/MNQWWY, @???s   B9A B99C
	c                D   \        \        P                  ! \        4      4      pVP	                  4        V P                  \        VP                  4       \        \        P                  ! 4       R 4      ;_uu_ 4       pV P                  \        VP                  4       RRR4       \        \        P                  ! \        4      4      ;_uu_ 4       pV P                  \        VP                  R4       RRR4       R#   + '       g   i     Lg; i  + '       g   i     R# ; ir  )	r   r5   r   r2   r  r   r   rR  r   r  s   & rQ   test_read1_bad_args FileTestCase.test_read1_bad_args  s    RZZ 89:		*agg.bjjlC((Aj!''2 )bjj!9:;;qi$7 <; )(;;;s   ;!C;"D;D	D	c                   \         P                   ! R \        ^d4      4      pV P                  \        V4      ^d4       V P                  \        V4      VP                  ,          R4       \        R4      p\        \        P                  ! \        4      4      ;_uu_ 4       pV P                  VP                  VR,          4      ^ 4       V P                  VP                  V4      R4       V P                  VP                  4       \        R,          4       V P                  VP                  V4      R4       V P                  V\        R,          4       RRR4       R#   + '       g   i     R# ; i)Ii  r%   :r   r   N:Ni  N:i  i  NN)r  r(   r]   rG   itemsizer  r   r5   r   r2   readintotobytesr1   )r^   r  barK   s   &   rQ   test_readintoFileTestCase.test_readinto  s    kk#uSz*S3'SCLL0#6s^bjj!9:;;qQZZ30!4 QZZ_c2S[[],Ft,LM QZZ^S1R!;G!DE <;;;s   B3EE,	c                   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  4       pV P                  \        V4      ^ 4       V P                  \        P                  V4      4       V P                  VP                  4       \        4       RRR4       \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  ^
4      pV P                  \        V4      ^ 4       V P                  \        P                  V4      4       V P                  VP                  4       \        4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; ir   N)r   r5   r   r.   peekrs  rG   r  r,   
startswithr]   r:   )r^   rK   r4  s   &  rQ   	test_peekFileTestCase.test_peek  s    bjj,--VVXFs6{A.OOJ11&9:QVVXz2	 .
 bjj,--VVBZFs6{A.OOJ11&9:QVVXz2	 .- .-
 .--s   A4EA5E%E"	%E6	c                    \        \        P                  ! 4       R 4      ;_uu_ 4       pV P                  \        VP
                  4       RRR4       R#   + '       g   i     R# ; ir  )r   r5   r   r   r   rm  r  s   & rQ   test_peek_bad_argsFileTestCase.test_peek_bad_args  s:    bjjlC((Aj!&&1 )(((s   !AA$	c           	        \         P                  ! \        4      ;_uu_ 4       pVP                  4       pR R R 4       \	        \        4      p\        \         P                  ! V4      4      ;_uu_ 4       pV P                  \        \        V4      4      X4       R R R 4       \        \         P                  ! V4      4      ;_uu_ 4       pX F#  pV P                  VP                  4       V4       K%  	  V P                  VP                  4       R4       V P                  VP                  4       R4       R R R 4       \        \         P                  ! V4      4      ;_uu_ 4       pV P                  VP                  4       X4       R R R 4       R #   + '       g   i     EL_; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R # ; i)Nrb   )r5   r   r;   	readlinesr	   r   assertListEquallistiterr]   readline)r^   rK   lines
compressedlines   &    rQ   test_iteratorFileTestCase.test_iterator  s.   ZZ((AKKME )o.
 bjj,--  d1g6 . bjj,--  t4 QZZ\3/QZZ\3/	 . bjj,--  6 .-! )((
 .-- .- .--s0   F
2%FA*F2!G
F	F/	2G	G	c                   ^\         ,          ^,           p\        R\        R4      ,          ^
R7      pV P                  \	        V4      V4       \        \        P                  ! V4      4      pV P                  VP                  ^4      R4       ^\         ,          pV P                  VP                  P                  P                  4       VR4       R# )       g    >Ar   z)Excessive amount of data was decompressedN)r)   r	   rh   ri   rG   r   r5   r   r]   r:   rt  _bufferrawtell)r^   _ZSTD_DStreamInSizebombdecomp
max_decomps   &    rQ   test_decompress_limited$FileTestCase.test_decompress_limited  s    !#gkC(3D	#67"**T*+Q/ W
V^^//446
7	9rb   c           	     8   \         R \        \         4      ^,           p\        P                  ! 4       ;_uu_ 4       p\	        VR4      ;_uu_ 4       pVP                  V4       R R R 4       \        4       pVP                  V4      VP                  4       ,           pV P                  VP                  4       V4       R R R 4       \        P                  ! 4       ;_uu_ 4       p\	        VR^R7      ;_uu_ 4       pVP                  V4       R R R 4       \        ^4      pVP                  V4      VP                  4       ,           pV P                  VP                  4       V4       R R R 4       \        P                  ! 4       ;_uu_ 4       p\	        VR\        P                  ^/R7      ;_uu_ 4       pVP                  V4       R R R 4       \        \        P                  ^/R7      pVP                  V4      VP                  4       ,           pV P                  VP                  4       V4       R R R 4       \        P                  ! 4       ;_uu_ 4       p\        P                  R\        P                  ^/p\	        VRVR7      ;_uu_ 4       pVP                  V4       R R R 4       \        VR7      pVP                  V4      VP                  4       ,           pV P                  VP                  4       V4       R R R 4       R #   + '       g   i     EL; i  + '       g   i     EL`; i  + '       g   i     EL&; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELA; i  + '       g   i     L; i  + '       g   i     R # ; i)Nr   r   r   )r;   rG   r5   r   r   r   r   r	   r   r]   getvaluer   r-   rd   )r^   raw_datadstrK   compexpectedr   s   &      rQ   
test_writeFileTestCase.test_write!  so   "#>S%9Q%>?ZZ\\S#s##q! $ "#D}}X.=HS\\^X6  ZZ\\S#s"--! . ""%D}}X.=HS\\^X6  ZZ\\S#s-A-O-OPQ,RSSWX! T "+?+M+Ma*PQD}}X.=HS\\^X6  ZZ\\S+==b*88<G#s")+ +./!+ "'2D}}X.=HS\\^X6 \/ $## \\ .-- \\ TSS \\+ + \\s   LK=	"ALL96L%	AL9'M!-M	?A*M!9NM5	AN=L	LL"	%L60	L99M
	M	M!!M2	5N NN	c                   \        4       pV P                  VP                  VP                  4      R 4       V P                  VP                  VP                  4      R 4       \        P
                  ! 4       p\        VR4      ;_uu_ 4       p RRR4       V P                  VP                  4       R 4       \        P
                  ! 4       p\        VR4      ;_uu_ 4       pVP                  VP                  4       RRR4       V P                  VP                  4       R 4       \        P
                  ! 4       p\        VR4      ;_uu_ 4       pVP                  R 4       RRR4       V P                  VP                  4       R 4       \        P
                  ! 4       p\        VR4      ;_uu_ 4       pVP                  VP                  4       RRR4       V P                  VP                  4       R 4       R#   + '       g   i     ELp; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lm; i)rb   r   N)r   r   r   r   r5   r   r   r]   r  r   r   )r^   r   borK   s   &   rQ   test_write_empty_frame#FileTestCase.test_write_empty_frameF  sv   AGGAMM2C8AGGAMM2C8 ZZ\b#! ,ZZ\b#!GGAMM" , ZZ\b#!GGCL BKKM3/ ZZ\b#!GGAMM" BKKM3/' 
   s0   
G3H
H-H.3H	H	H+	.H>	c                ~   \        4       pV P                  VP                  VP                  4      R 4       V P	                  VP                  RVP                  4      R 4       V P                  VP                  VP                  4      R 4       V P                  VP                  R 4      R 4       V P                  VP                  R 4      R 4       V P                  VP                  VP                  4      R 4       \        P                  ! 4       p\        VR4      ;_uu_ 4       pVP                  R4       VP                  VP                  4       VP                  P                  4       pV P	                  V^ 4       VP                  VP                  4       V P                  VP                  P                  4       V4       RRR4       \        P                  ! 4       p\        VR4      ;_uu_ 4       pVP                  VP                  4       V P                  VP                  P                  4       ^ 4       VP                  R 4       VP                  VP                  4       V P                  VP                  P                  4       ^ 4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)rb   r
  r   N)r   r]   r   r   r   r	   r5   r   r   r   r  r  )r^   r   r  rK   fp_poss   &    rQ   test_write_empty_block#FileTestCase.test_write_empty_blockc  s   /5AJJvq}}=	!/5C#.C#./5 ZZ\b#!GGFOGGAMM"UUZZ\F*GGAMM"QUUZZ\62  ZZ\b#!GGAMM"QUUZZ\1-GGCLGGAMM"QUUZZ\1-   s   #BJ2BJ+J(	+J<	c                    \         P                  ! 4       ;_uu_ 4       p\        VR 4      ;_uu_ 4       p\        ^ \	        \
        4      ^e4       F!  pVP                  \
        W3^e,            4       K#  	  RRR4       \        4       pVP                  \
        4      VP                  4       ,           pV P                  VP                  4       V4       RRR4       R#   + '       g   i     Ln; i  + '       g   i     R# ; ir  )r5   r   r   r(   rG   r;   r   r   r	   r   r]   r  )r^   r  rK   r   r  r  s   &     rQ   test_write_101FileTestCase.test_write_101  s    ZZ\\S#s##q"1c/&:C@EGGOE)<= A $ "#D}}_5

DHS\\^X6 \## \\s$   C,A C	3AC,C)$C,,C=	c           	       a R  o\         R\         p\         \        R p\         R,          pRP                  V3R lWV3 4       4      p\        P                  ! 4       ;_uu_ 4       p\        VR4      ;_uu_ 4       pVP                  V4       RRR4       \        VR4      ;_uu_ 4       pVP                  V4       RRR4       \        VR4      ;_uu_ 4       pVP                  V4       RRR4       V P                  VP                  4       V4       RRR4       R#   + '       g   i     L; i  + '       g   i     L{; i  + '       g   i     L`; i  + '       g   i     R# ; i)c                 b    \        4       pVP                  V 4      VP                  4       ,           # rX   r   r	   r   datar  s   & rQ   r  ,FileTestCase.test_write_append.<locals>.comp  $    !#D==&55rb   Ni   :i   NNrb   c              3   4   <"   T F  pS! V4      x  K  	  R # 5irX   r   )rZ   r  r  s   & rQ   r[   1FileTestCase.test_write_append.<locals>.<genexpr>  s     C-BDGG-Bs   r   r  )	r;   r)   rD   r5   r   r   r   r]   r  )r^   part1part2part3r  r  rK   r  s   &      @rQ   test_write_appendFileTestCase.test_write_append  s    	6  %D)&88CeE-BCCZZ\\S#s##q $#s##q $#s##q $S\\^X6 \###### \\sT   &E;D	E)D.	;EE	)(ED+&E.D>9EEEE%	c                   \        \        P                  ! 4       R 4      pVP                  4        V P	                  \
        VP                  R4       \        \        P                  ! \        4      R4      ;_uu_ 4       pV P	                  \
        VP                  R4       RRR4       \        \        P                  ! 4       R 4      ;_uu_ 4       pV P	                  \        VP                  R4       V P	                  \        VP                  R4       V P	                  \        VP                  R4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r   r  r   Ntexti  )	r   r5   r   r  r   r   r   r2   r   r  s   & rQ   test_write_bad_args FileTestCase.test_write_bad_args  s    RZZ\3'		*aggv6bjj!9:C@@Aj!''6: AbjjlC((Ai$7i&9i#6 )( A@(((s   ="D<A$E<E	E 	c           	        R  p\         P                  ! \        4      ;_uu_ 4       pVP                  4       pRRR4       \         P                  ! 4       ;_uu_ 4       p\	        VR4      ;_uu_ 4       pVP                  X4       RRR4       V! \        4      pV P                  VP                  4       V4       RRR4       R#   + '       g   i     L; i  + '       g   i     LY; i  + '       g   i     R# ; i)c                 b    \        4       pVP                  V 4      VP                  4       ,           # rX   r  r  s   & rQ   r  *FileTestCase.test_writelines.<locals>.comp  r  rb   Nr   )r5   r   r;   ru  r   
writelinesr]   r  )r^   r  rK   rz  r  r  s   &     rQ   test_writelinesFileTestCase.test_writelines  s    	6 ZZ((AKKME )ZZ\\S#s##qU# $O,HS\\^X6	 \ )( $# \\s/   CC'1C	4C'C	C$C''C8	c                   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  R 4       V P                  VP                  4       \        R,          4       RRR4       R#   + '       g   i     R# ; i)+  :i+  NNNr   r5   r   r2   seekr]   r:   r1   r  s   & rQ   test_seek_forwardFileTestCase.test_seek_forward  sO    bjj!9:;;qFF3KQVVX'A$'GH <;;;s   =A33B	c                D   \        \        P                  ! \        ^,          4      4      ;_uu_ 4       pVP	                  \        \        4      ^{,           4       V P                  VP                  4       \        R,          4       RRR4       R#   + '       g   i     R# ; i)r   :r  NNN)	r   r5   r   r2   r  rG   r1   r]   r:   r  s   & rQ    test_seek_forward_across_streams-FileTestCase.test_seek_forward_across_streams  sa    bjj!9A!=>??1FF312S89QVVX'A$'GH @???s   ABB	c                2   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  ^d4       VP                  R^4       V P                  VP	                  4       \        R,          4       RRR4       R#   + '       g   i     R# ; i)rO  i  :i8  NNNr   r5   r   r2   r:   r  r]   r1   r  s   & rQ   %test_seek_forward_relative_to_current2FileTestCase.test_seek_forward_relative_to_current  s\    bjj!9:;;qFF3KFF4OQVVX'A%'HI <;;;s   ABB	c                   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  R^4       V P                  VP                  4       \        RR 4       RRR4       R#   + '       g   i     R# ; i)r  Nir  r  s   & rQ   !test_seek_forward_relative_to_end.FileTestCase.test_seek_forward_relative_to_end  S    bjj!9:;;qFF4OQVVX'A$%'HI <;;;   :A00B	c                0   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  R 4       VP                  ^4       V P                  VP	                  4       \        R,          4       RRR4       R#   + '       g   i     R# ; i)i  :   NNNr  r  s   & rQ   test_seek_backwardFileTestCase.test_seek_backward  sZ    bjj!9:;;qFF4LFF3KQVVX'A$'GH <;;;s   ABB	c                |   \        \        P                  ! \        ^,          4      4      ;_uu_ 4       pVP	                  \        \        4      R,           4       VP                  R4       V P                  VP	                  4       \        R,          \        ,           4       RRR4       R#   + '       g   i     R# ; i)r   r  i  :i  NNN)	r   r5   r   r2   r:   rG   r1   r  r]   r  s   & rQ   !test_seek_backward_across_streams.FileTestCase.test_seek_backward_across_streams  su    bjj!9A!=>??1FF312S89FF3KQVVX(.1KKM @???s   A-B**B;	c                   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  R^4       V P                  VP                  4       \        RR 4       RRR4       R#   + '       g   i     R# ; i)   Nijr  r  s   & rQ   "test_seek_backward_relative_to_end/FileTestCase.test_seek_backward_relative_to_end  r  r  c                z   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  \        \        4      R ,           4       V P                  VP                  4       \        \        4      4       V P                  VP                  4       R4       RRR4       R#   + '       g   i     R# ; i)i)#  rb   N)
r   r5   r   r2   r  rG   r1   r]   r  r:   r  s   & rQ   test_seek_past_endFileTestCase.test_seek_past_end  sq    bjj!9:;;qFF312T9:QVVXs+E'FGQVVXs+ <;;;s   A3B))B:	c                @   \        \        P                  ! \        4      4      ;_uu_ 4       pVP	                  R4       V P                  VP                  4       ^ 4       V P                  VP                  4       \        4       RRR4       R#   + '       g   i     R# ; i)X   Ni)	r   r5   r   r2   r  r]   r  r:   r1   r  s   & rQ   test_seek_past_start!FileTestCase.test_seek_past_start  s`    bjj!9:;;qFF3KQVVXq)QVVX'AB <;;;s   ABB	c                   \        \        P                  ! \        4      4      pVP	                  4        V P                  \        VP                  ^ 4       \        \        P                  ! 4       R4      ;_uu_ 4       pV P                  \        VP                  ^ 4       RRR4       \        \        P                  ! \        4      4      ;_uu_ 4       pV P                  \        VP                  ^ ^4       V P                  \        \        3VP                  ^	R4       V P                  \        VP                  R4       V P                  \        VP                  R4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r   Ns   derpr   )	r   r5   r   r2   r  r   r   r  r   r  s   & rQ   test_seek_bad_argsFileTestCase.test_seek_bad_args  s    RZZ 89:		*affa0bjjlC((Aj!&&!4 )bjj!9:;;qj!&&!Q7y*5qvvq"Ei6i9 <; )(;;;s   <"E(BE;(E8	;F	c           	         ! R  R\         P                  4      pV! \        4      p\        VR4      ;_uu_ 4       pVP	                  ^4      pV P                  VP                  4       4       V P                  \         P                  R4      ;_uu_ 4        VP                  ^ 4       RRR4       WCP	                  4       ,          pV P                  V\        4       RRR4       R#   + '       g   i     LF; i  + '       g   i     R# ; i)c                   &   a  ] tR tRt o R tRtV tR# ).FileTestCase.test_seek_not_seekable.<locals>.Ci  c                    R # r   r   rX  s   &rQ   r#  7FileTestCase.test_seek_not_seekable.<locals>.C.seekable  s    rb   r   N)r   r   r   r   r#  r   r   r   s   @rQ   r  r    s      rb   r  r  zFile or stream is not seekableN)r5   r   r2   r   r:   r  r#  r   r  r  r]   r1   )r^   r  objrK   r   s   &    rQ   test_seek_not_seekable#FileTestCase.test_seek_not_seekable  s    	

 	 ()c31q	AQZZ\*''(?(?(HJ Jq	J MAQ :;  J J  s$   AC6C#	%4C6#C3.C66D	c           	     Z   \        \        P                  ! \        4      4      ;_uu_ 4       p^ p V P	                  VP                  4       V4       VP                  \        P                  ! ^^4      4      pV'       g   MV\        V4      ,          pKd  V P	                  VP                  4       \        \        4      4       RRR4       \        \        P                  ! 4       R4      ;_uu_ 4       p\        ^ \        \        4      ^4       FA  pV P	                  VP                  4       V4       VP                  \        W"^,            4       KC  	  V P	                  VP                  4       \        \        4      4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   Nr   )r   r5   r   r.   r]   r  r:   r*   r+   rG   r,   r(   r   )r^   rK   posr4  s   &   rQ   	test_tellFileTestCase.test_tell	  s   bjj,--C  3/sC 89s6{"QVVXs:7 . bjjlC((AQJ5  3/
33w/0 6 QVVXs:7	 )( .- )((s    AF>AF/BFF	F*	c                    \        \        P                  ! \        4      4      pVP	                  4        V P                  \        VP                  4       R # rX   )r   r5   r   r2   r  r   r   r  r  s   & rQ   test_tell_bad_argsFileTestCase.test_tell_bad_args	  s3    RZZ 89:		*aff-rb   c                   \         P                  ! 4       p\        VR \        R7      ;_uu_ 4       pVP	                  \
        ^ ,          4       RRR4       VP                  ^ 4       \        V\        R7      ;_uu_ 4       pVP                  4       pRRR4       V P                  X\
        ^ ,          4       \         P                  ! 4       p\        VR \        P                  R7      ;_uu_ 4       pVP	                  \
        ^ ,          4       RRR4       VP                  ^ 4       \        V\        P                  R7      ;_uu_ 4       pVP                  4       pRRR4       V P                  V\
        ^ ,          4       R#   + '       g   i     EL;; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lj; ir   r}   N)r5   r   r   rH   r   rF   r  r:   r]   rm  r  r^   r/  rK   r   s   &   rQ   test_file_dictFileTestCase.test_file_dict	  s   ZZ\b#66!GGGAJ 7

bL11Q&&(C 2gaj) ZZ\b#)F)FGG1GGGAJ H

bL$C$CDD&&(C Egaj) 766 211 HG EDs/   E??F.F'F:?F	F$	'F7	:G
	c                   \         P                  ! 4       p\        VR \        P                  R7      ;_uu_ 4       pVP                  \        ^ ,          4       RRR4       VP                  ^ 4       \        V\        P                  R7      ;_uu_ 4       pVP                  4       pRRR4       V P                  X\        ^ ,          4       R#   + '       g   i     L|; i  + '       g   i     LB; ir  )
r5   r   r   rH   r  r   rF   r  r:   r]   r  s   &   rQ   test_file_prefixFileTestCase.test_file_prefix+	  s    ZZ\b#)?)?@@AGGGAJ A

bL$:$:;;q&&(C <gaj) A@ <;   CCC	C.	c           	        \        \        P                  ! 4       R 4      ;_uu_ 4       pV P                  \        P                  4      ;_uu_ 4        VP                  R4       RRR4       RRR4        ! R R4      pV P                  \        4      ;_uu_ 4        \        V! 4       R4      ;_uu_ 4       p RRR4       RRR4       \        \        P                  ! 4       R4      ;_uu_ 4       pV P                  \        P                  4      ;_uu_ 4        VP                  ^d4       RRR4       V P                  \        P                  4      ;_uu_ 4        VP                  ^d4       RRR4       RRR4       V P                  XP                  R4       V P                  \        4      ;_uu_ 4        VP                  4        RRR4       V P                  \        4      ;_uu_ 4        VP                  4        RRR4       V P                  \        4      ;_uu_ 4        VP                  ^d4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELk; i  + '       g   i     EL>; i  + '       g   i     ELJ; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)r  r  Nc                   &   a  ] tR tRt o R tRtV tR# )1FileTestCase.test_UnsupportedOperation.<locals>.Ti;	  c                    R V,          # )r   r   r   s   &&rQ   r:   6FileTestCase.test_UnsupportedOperation.<locals>.T.read<	  s    d{"rb   r   Nr  r   s   @rQ   Tr  ;	  s     # #rb   r  r   T)r   r5   r   r   r  r   r   r:   r  r]   r  r   r'  r  )r^   rK   r  s   &  rQ   test_UnsupportedOperation&FileTestCase.test_UnsupportedOperation4	  s   bjjlC((A""2#:#:;;  < )
	# 	# y))!#s##q $ *
 bjjlC((A""2#:#:;;s <""2#:#:;;s < )
 	4(z**JJL +z**FFH +z**FF3K +*/ <;; )(( $## *)) <;;;;; )(( +*******s   (IH8	"II43I 	5I4,(J0J	&/J0J	'J00K&KK+8I		II	 I1+	I44J	J	J0J-'	J00K	K	K(	+K<	c           	     "   . p\        \        P                  ! \        ^,          4      4      ;_uu_ 4       p \        P
                  ! ^ ^4      p\        P
                  ! ^ R4      pV^ 8X  d6   VP                  V4      pV'       g
   V'       d   MVP                  V4       Kk  V^8X  dL   \        V4      pVP                  V4      pV^ 8X  d
   V'       d   MtVP                  \        VRV 4      4       K  V^8X  g   K  \        V4      pVP                  V4      pV^ 8X  d
   V'       d   M VP                  \        VRV 4      4       EK  RRR4       V P                  RP                  V4      \        ^,          4       R#   + '       g   i     L>; i)r8  r%   Nrb   )r   r5   r   r@   r*   r+   r:   rE   r  rf  r'   	readinto1r]   rD   r;   )r^   rM   rK   methodr   r   rh  	read_sizes   &       rQ   test_read_readinto_readinto1)FileTestCase.test_read_readinto_readinto1Q	  s   bjj!5a!7899Q1-~~a-Q;&&,C4JJsOq["4B !

2I A~$JJuR
^45q["4B !BI A~$JJuR
^45+ :, 	#(9:- :9s+   AE>E>AE>$E><*E>'!E>>F	c                   \        \        P                  ! 4       R 4      pVP                  4        V P	                  \
        4      ;_uu_ 4        VP                  4        RRR4       \        \        P                  ! 4       R4      ;_uu_ 4       pVP                  4        RRR4       Rp\        P                  ! 4       p\        VR 4      ;_uu_ 4       pV P                  VP                  V4      \        V4      4       V P                  VP                  4       \        V4      4       V P                  VP                  4       ^ 4       V P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  VP                  4       ^ 4       RRR4        ! R R4      p\        V! 4       R 4      ;_uu_ 4       pV P                  VP                  V4      \        V4      4       V P                  VP                  4       \        V4      4       V P                  VP                  4       R4       V P                  VP                  4       \        V4      4       RRR4       R#   + '       g   i     EL+; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; i)r   Nr  s   abcdc                   &   a  ] tR tRt o R tRtV tR# )+FileTestCase.test_zstdfile_flush.<locals>.Ci	  c                    \        V4      # rX   )rG   )r^   r   s   &&rQ   r   1FileTestCase.test_zstdfile_flush.<locals>.C.write	  s    1vrb   r   N)r   r   r   r   r   r   r   r   s   @rQ   r  r  	  s      rb   r  )r   r5   r   r  r   r   r   r]   r   rG   r  rs  )r^   rK   r   r/  r  s   &    rQ   test_zstdfile_flush FileTestCase.test_zstdfile_flushk	  s   RZZ\3'		z**GGI + bjjlC((AGGI )
 ZZ\b#!QWWS\3s84QVVXs3x0RWWY*QWWY-QVVXs3x0rwwy!, 	 	 ac31QWWS\3s84QVVXs3x0QWWY-QVVXs3x0  1 +** )((   s2   J JCJ(BJ< J	J%	(J9	<K	c           	     	   V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        4      ;_uu_ 4        \        P                   R R R 4       \        P                  ! 4       p\        VR4      ;_uu_ 4       pV P                  VP                  R4      ^4       V P                  VP                  VP                  4      4       VP                  4       pV P                  VP                  4       4       VP                  4       pV P                  W44       V P                  VP                  R4      ^4       V P                  VP                  VP                  R7      4       V P                  VP                  R4      ^4       V P                  VP                  VP                  4      4       VP                  4       pV P                  VP                  VP                  4      4       VP                  4       pV P                  W44       R R R 4       V P                  \        VP                  4       4      R4       \        P                  ! 4       p\        VR4      ;_uu_ 4       pVP                  R4       V P!                  \"        R4      ;_uu_ 4        VP                  \        P                  4       R R R 4       V P                  \"        4      ;_uu_ 4        VP                  R4       R R R 4       V P                  \"        4      ;_uu_ 4        VP                  R4       R R R 4       V P                  \$        4      ;_uu_ 4        VP                  \        P                  R	7       R R R 4       V P                  \$        \"        34      ;_uu_ 4        VP                  R
4       R R R 4       V P                  \$        4      ;_uu_ 4        VP                  RVP                  4       R R R 4       R R R 4       R #   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELv; i  + '       g   i     ELS; i  + '       g   i     EL0; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R # ; i)Nr   r
  s   456r   s   789s	   123456789z\.FLUSH_.*?\.FLUSH_i@ )noder   r   )r]   r   r   r   r   r   ri  r   r5   r   r   r   r   r  r
   r  r   r   r   )r^   r  rK   p1p2s   &    rQ   test_zstdfile_flush_mode%FileTestCase.test_zstdfile_flush_mode	  s   --~/I/IJ--~/I/IJ~.. / ZZ\b#!QWWV_a0aggamm45Baggi(BR$QWWV_a0agg1==g9:QWWV_a0aggamm45Baggamm45BR$' ( 	BKKM2LAZZ\b#!GGFO''
4JKK//0 L"":.. /"":.. /""9--^445 .""Iz#:;;& <""9--. . 7 /.. 2 LKK......--;;-- s   :P9<FQ$0S Q!	4%SQ5	+%SR		"%S!R	(+SR0	%%S
S	'S9Q
	Q	!Q2,	S5R 	S	R	SR-(S0S ;SSSS'	c           	     6   \        \        P                  ! 4       R 4      ;_uu_ 4       pV P                  \        P                  4      ;_uu_ 4        VP                  ^4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; ir  )r   r5   r   r   r  truncater  s   & rQ   test_zstdfile_truncate#FileTestCase.test_zstdfile_truncate	  sY    bjjlC((A""2#:#:;;

3 < )(;; )((s#   (BA4	"B4B?BB	c                    \        \        P                  ! \        4      4       Uu. uF  qNK  	  ppV P	                  \        V4      ^ 4       R# u upi rl  )r   r5   r   r@   rs  rG   )r^   lrz  s   &  rQ   test_zstdfile_iter_issue45475*FileTestCase.test_zstdfile_iter_issue45475	  sA    $RZZ0D%EFGFqFG3u:q) Hs   
Ac                ~   \         P                  ! R R7      ;_uu_ 4       pVP                  pRRR4       \        XR4      ;_uu_ 4       p RRR4       V P	                  \
        P                  P                  V4      4       \
        P                  ! V4       R#   + '       g   i     Lt; i  + '       g   i     Li; i)Tr  Nr  )	r  r  r  r   r  r6   r7   isfiler  r  s   &   rQ   test_append_new_file!FileTestCase.test_append_new_file	  ss    ((55zzH 6 h$$ %x01
		( 65 %$s   B	B,B)	,B<	)rB  rC  N)Er   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r(  r-  r0  r5  r9  r<  r@  rD  rG  rO  rU  rX  r[  r^  ra  ri  ro  rr  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r   r   r   s   @rQ   r  r    sW    70  
 "JHT40""> D242"2"$	KV	17":1	-.	-	-8F"
327(9#7J0:.<77$	77I
I
JJ
IMJ
,C:<8 .
*&*:;4!1F+/Z 
* rb   r  c                   b   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V tR# )OpenTestCasei	  c           	     2   \        \        P                  ! \        4      R 4      ;_uu_ 4       pV P	                  VP                  4       \        4       RRR4       \        P                  ! 4       ;_uu_ 4       p\        VR4      ;_uu_ 4       pVP                  \        4       RRR4       \        VP                  4       4      pV P	                  V\        4       \        VR4      ;_uu_ 4       pVP                  \        4       RRR4       \        VP                  4       4      pV P	                  V\        ^,          4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lw; i  + '       g   i     R# ; i)r#   Nr  r  )
r   r5   r   r2   r]   r:   r1   r   r
   r  )r^   rK   bio	file_datas   &   rQ   test_binary_modesOpenTestCase.test_binary_modes	  s    "**56==QVVX'AB >ZZ\\Sc4A23 !"3<<>2IY(BCc4A23 !"3<<>2IY(BQ(FG \ >== ! ! \\sH   %E7FE	"AF-E2	>FE	E/*F2F=FF	c           	     *   V P                  \        4      ;_uu_ 4        \        \        P                  ! R 4      RRRR7      ;_uu_ 4       pV F  pK  	  RRR4       RRR4       \
        P                  \        P                  R4      p\        \        P                  ! \        4      RRR7      ;_uu_ 4       pV P                  VP                  4       V4       RRR4       \        P                  ! 4       ;_uu_ 4       p\        VRRR7      ;_uu_ 4       pVP                  V4       RRR4       \        VP                  4       4      P                  R4      pV P                  VP                  \        P                  R4      V4       \        VRRR7      ;_uu_ 4       pVP                  V4       RRR4       \        VP                  4       4      P                  R4      pV P                  VP                  \        P                  R4      V^,          4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELx; i  + '       g   i     EL>; i  + '       g   i     L; i  + '       g   i     R# ; i)	rb   r  r$   
encodingnewlineNr'  r  at)r   r  r   r5   r   r?   replacer6   linesepr@   r]   r:   r   r
   r  r>   )r^   readerrJ   uncompressedrK   r   r!  s   &      rQ   test_text_modesOpenTestCase.test_text_modes	  s   x((bjjotgtLLPVA   M ) %,,RZZ>"**12D7KKqQVVX|4 L ZZ\\Sc4'22a% 3"3<<>299'BIY..rzz4@,Oc4'22a% 3"3<<>299'BIY..rzz4@,QRBRS \ MLL )(( LKK
 322
 32 \\sm   ,H2

H	H26!I<JI	%A6JI.	-A'JH/)	H22I	I	I+%	J.I>9JJ	c                   \         P                  ! R R7      ;_uu_ 4       p\        P                  ! VP                  4      pRRR4       V P                  \        4      ;_uu_ 4        \        XR4       RRR4       V P                  \        4      ;_uu_ 4        \        XR4       RRR4       V P                  \        4      ;_uu_ 4        \        XRRR7       RRR4       V P                  \        4      ;_uu_ 4        \        XRRR	7       RRR4       V P                  \        4      ;_uu_ 4        \        XRR
R7       RRR4       \        P                  ! X4       R#   + '       g   i     EL); i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i)Fr  Nr  rbtr#   r$   r)  ignore)errorsr%  )r(  )
r  r  r  r  r  r   r   r   r6   r  )r^   r  TESTFNs   &  rQ   test_bad_paramsOpenTestCase.test_bad_params	  s   ((66%\\%**-F 7 z** +z** +z**0 +z**h/ +z**t, + 			& 766 +**********sG   !E!&E5F	
F>F/2G!E2	5F		F	F,	/F?	G	c           	        \         P                  ^/p\        \        P                  ! \
        4      RVR7      ;_uu_ 4       pV P                  VP                  4       \        4       RRR4       \        P                  ^/p\        P                  ! 4       ;_uu_ 4       p\        VRVR7      ;_uu_ 4       pVP                  \        4       RRR4       \        VP                  4       4      pV P                  V\        4       RRR4       R#   + '       g   i     L; i  + '       g   i     L\; i  + '       g   i     R# ; i)   r#   r   Nr  )r   r	  r   r5   r   r2   r]   r:   r1   r   rd   r   r
   r  )r^   r   rK   r   r!  s   &    rQ   test_optionOpenTestCase.test_option
  s    )88<"**56gNNRSQVVX'AB O (99"=ZZ\\Sc411Q23 2"3<<>2IY(BC	 \	 ON
 21 \\s0   %DD14D	
7D1D	D.)D11E	c           
        \         P                  \        P                  R 4      p\        P
                  ! 4       ;_uu_ 4       p\        VRRR7      ;_uu_ 4       pVP                  V4       RRR4       \        VP                  4       4      P                  R4      pV P                  VP                  \        P                  R 4      V4       VP                  ^ 4       \        VRRR7      ;_uu_ 4       pV P                  VP                  4       P                  \        P                  R 4      V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L-; i  + '       g   i     R# ; i)r%  r  z	utf-16-ler)  Nr  )r?   r+  r6   r,  r5   r   r   r   r
   r  r>   r]   r  r:   )r^   r.  r   rK   r!  s   &    rQ   test_encodingOpenTestCase.test_encoding
  s    $,,RZZ>ZZ\\Sc4+66!% 7"3<<>299+FIY..rzz4@,OHHQKc4+66!  !1!1"**d!C\R 7 \66
 76 \\s=   E)E	+BE)2?E	1E)EE)E&!E))E:	c           	     4   \         P                  ! \        R 4      4      ;_uu_ 4       p\        VRRRR7      ;_uu_ 4       pV P	                  VP                  4       R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)s   foobarr  asciir3  )r'  r4  foobarN)r5   r   r	   r   r]   r:   )r^   r   rK   s   &  rQ   test_encoding_error_handler(OpenTestCase.test_encoding_error_handler
  sb    ZZ/00Cc4'(CCq  84 D 10CC 100s#   B !A3	!B3B>BB	c           	        \         P                  \        P                  R 4      p\        P
                  ! 4       ;_uu_ 4       p\        VRRR R7      ;_uu_ 4       pVP                  V4       RRR4       VP                  ^ 4       \        VRRRR7      ;_uu_ 4       pV P                  VP                  4       V.4       RRR4       RRR4       R#   + '       g   i     Ll; i  + '       g   i     L-; i  + '       g   i     R# ; i)r%  r  r$   r&  Nr  )r?   r+  r6   r,  r5   r   r   r   r  r]   ru  )r^   r  r   rK   s   &   rQ   test_newlineOpenTestCase.test_newline#
  s    $$RZZ6ZZ\\Sc4'4@@A AHHQKc4'4@@A  7 A	 \@@ A@	 \\s<   C6C	,0C6"C#	>C6C C6#C3.C66D	c           
     v   \         P                  ! R R7      ;_uu_ 4       p\        P                  ! VP                  4      pRRR4       R F  p\
        P                  ! X4       VR8X  d   RpMRp\        W#VR7      ;_uu_ 4         RRR4       V P                  \        4      ;_uu_ 4        \        W#4      ;_uu_ 4         RRR4       RRR4       K  	  \
        P                  ! X4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LZ; i  + '       g   i     K  ; i)Fr  Nr  r$   r)  )r  r  r  )
r  r  r  r  r  r6   r  r   r   r  )r^   r  r5  r   r'  s   &    rQ   test_x_modeOpenTestCase.test_x_mode-
  s    ((66%\\%**-F 7 &DIIft|"fX66 7""?33&'' ( 43 & 			&! 76 76 (' 433s;   !C.D,D' DD'.C>	DD$D''D8c           
        \         P                  ! 4       p\        VR \        R7      ;_uu_ 4       pVP	                  \
        ^ ,          4       RRR4       VP                  ^ 4       \        V\        R7      ;_uu_ 4       pVP                  4       pRRR4       V P                  X\
        ^ ,          4       \         P                  ! 4       p\        VR \        P                  R7      ;_uu_ 4       pVP	                  \
        ^ ,          4       RRR4       VP                  ^ 4       \        V\        P                  R7      ;_uu_ 4       pVP                  4       pRRR4       V P                  V\
        ^ ,          4       \         P                  ! 4       pV P                  \        R4      ;_uu_ 4        \        VR ^^^^/R7       RRR4       V P                  \        R4      ;_uu_ 4        \        VR RR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL(; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   r}   Nr~   s
   1234567890)r5   r   r   rH   r   rF   r  r:   r]   rm  r  r   r   r  s   &   rQ   test_open_dictOpenTestCase.test_open_dict@
  s   ZZ\"c\22aGGGAJ 3

"--&&(C .gaj) ZZ\"c\%B%BCCqGGGAJ D

" ? ?@@A&&(C Agaj) ZZ\##I{;;SQq!AJ/ < ##I{;;SM2 <;+ 322 .-- DCC A@ <; <;;sG   H?H.H*H>0I)I$H	H'	*H;	>I	I!	$I5	c                   \         P                  ! 4       p\        VR \        P                  R7      ;_uu_ 4       pVP                  \        ^ ,          4       RRR4       VP                  ^ 4       \        V\        P                  R7      ;_uu_ 4       pVP                  4       pRRR4       V P                  X\        ^ ,          4       R#   + '       g   i     L|; i  + '       g   i     LB; ir  )
r5   r   r   rH   r  r   rF   r  r:   r]   r  s   &   rQ   test_open_prefixOpenTestCase.test_open_prefix[
  s    ZZ\"c\%;%;<<GGGAJ =

" 6 6771&&(C 8gaj) =< 87r  c                   \         P                   ! R \        R4      4      p\        V4      VP                  ,          p\	        \
        P                  ! 4       R4      ;_uu_ 4       pV P                  VP                  V4      V4       V P                  VP                  4       V4       RRR4       R#   + '       g   i     R# ; i)rN   r   r  N)
r  r(   rG   re  r   r5   r   r]   r   r  )r^   r  LENGTHrK   s   &   rQ   test_buffer_protocol!OpenTestCase.test_buffer_protocold
  sz    kk#uT{+SCLL("**,%%QWWS\62QVVXv. &%%%s   $AB00C	r   N)r   r   r   r   r"  r/  r6  r:  r=  rB  rF  rI  rL  rO  rS  r   r   r   s   @rQ   r  r  	  sE     HT0"
D
S5
8&36*/ /rb   r  c                   P  a  ] tR tRt o ]P
                  ]P                  ! 4       R 4       4       t]P
                  ]P                  ! 4       R 4       4       t]P
                  ]P                  ! 4       R 4       4       t	]P
                  ]P                  ! 4       R 4       4       t
RtV tR# )FreeThreadingMethodTestsim
  c                h   R ^\         ,          ,          p^p\        4       pVP                  V\        P                  4      .p\	        V4       F>  pVP                  V\        P                  4      pV'       g   K-  VP                  V4       K@  	  VP                  4       pRP                  V4      V,           p\        4       pVP                  V\        P                  4      .p	R p
. p\	        V4       F7  p\        P                  ! WP                  W3R7      pVP                  V4       K9  	  \        P                  ! V4      ;_uu_ 4         RRR4       VP                  4       pV P                  W~4       RP                  V	4      V,           pV P                  W4       R#   + '       g   i     L\; i)r   rb   c                 j    V ! V\         P                  4      pV'       d   VP                  V4       R # R # rX   )r   r   rE   )r   
input_dataoutput_dataress   &&& rQ   
run_methodBFreeThreadingMethodTests.test_compress_locking.<locals>.run_method
  s*    ^%?%?@C""3' rb   targetargsN)r)   r   r	   r   r(   rE   r   rD   	threadingThreadr   start_threadsr]   )r^   inputnum_threadsr  partsrJ   r[  rest1r  outputr\  threadsrN   threadrest2actuals   &               rQ   test_compress_locking.FreeThreadingMethodTests.test_compress_lockingo
  sO    r#v un&@&@AB{#A--~'A'ABCsS! $ 

88E?U*--~'A'ABC	( {#A%%Z}}e>\]FNN6" $
 ++G44 5 

&&!E)* 54s   F!!F1	c                  a \        R ^\        ,          ,          4      p^p\        ^,          V,          o\        4       p. p\        V4       F0  pVP	                  VS4      pV'       g   K  VP                  V4       K2  	  RP                  V4      p\        4       p. p	V3R lp
. p\        V4       F7  p\        P                  ! WP                  W3R7      pVP                  V4       K9  	  \        P                  ! V4      ;_uu_ 4         RRR4       RP                  V	4      pV P                  W~4       R#   + '       g   i     L4; i)r   rb   c                 P   < V ! VS4      pV'       d   VP                  V4       R # R # rX   )rE   )r   rY  rZ  r[  window_sizes   &&& rQ   r\  DFreeThreadingMethodTests.test_decompress_locking.<locals>.run_method
  s%    [1C""3' rb   r^  N)r	   r)   r   r(   r
   rE   rD   ra  rb  r   rc  r]   )r^   rd  re  r  rf  rJ   r[  r  r  rh  r\  ri  rN   rj  rl  rq  s   &              @rQ   test_decompress_locking0FreeThreadingMethodTests.test_decompress_locking
  s    3(Bh+!#{#A##E;7CsS! $ 88E?!	( {#A%%ZPU>^_FNN6" $
 ++G44 5 &!*	 54s   	D77E	c                .   ^pR p. p\         P                  ! V4      p\        V4       F,  p\         P                  ! W$3R7      pVP	                  V4       K.  	  \
        P                  ! V4      ;_uu_ 4         RRR4       R#   + '       g   i     R# ; i)re  c                 @   \         P                  ! 4       ^,          pV P                  4        \        V\        P
                  R7       V P                  4        \        V\        P                  R7       V P                  4        \        V\        P                  R7       R# )r  rf  N)ra  	get_identwaitr   rH   rm  r  r  )r   rw   s   & rQ   r\  FFreeThreadingMethodTests.test_compress_shared_dict.<locals>.run_method
  sm    '')A-E FFH%1%B%BDFFH%1%D%DFFFH%1%;%;=rb   r^  Nra  Barrierr(   rb  rE   r   rc  r^   re  r\  ri  r   rN   rj  s   &      rQ   test_compress_shared_dict2FreeThreadingMethodTests.test_compress_shared_dict
  sw     	= k*{#A%%ZdCFNN6" $
 ++G44 5444   7BB	c                .   ^pR p. p\         P                  ! V4      p\        V4       F,  p\         P                  ! W$3R7      pVP	                  V4       K.  	  \
        P                  ! V4      ;_uu_ 4         RRR4       R#   + '       g   i     R# ; i)re  c                    V P                  4        \        \        P                  R 7       V P                  4        \        \        P                  R 7       V P                  4        \        \        P
                  R 7       R# )r}   N)rx  r   rH   rm  r  r  )r   s   &rQ   r\  HFreeThreadingMethodTests.test_decompress_shared_dict.<locals>.run_method
  sI     FFH|'D'DEFFH|'F'FGFFH|'='=>rb   r^  Nrz  r|  s   &      rQ   test_decompress_shared_dict4FreeThreadingMethodTests.test_decompress_shared_dict
  sw     	? k*{#A%%ZdCFNN6" $
 ++G44 5444r  r   N)r   r   r   r   r   reap_threadsrequires_working_threadingrm  rs  r}  r  r   r   r   s   @rQ   rV  rV  m
  s     ""002$+ 3 #$+L ""002+ 3 #+B ""002 3 #6 ""002 3 #rb   rV  __main__)r   r   i   i)Gr  r  r5   r  r*   r<   r6   r  r  ra  test.support.import_helperr   test.supportr   r   r   r   zstdcompression.zstdr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   r   rr  r,   r.   r/   r0   r1   r2   r4   r;   r?   r@   rA   rF   rH   r   re   r   r-  r   r   rR   TestCaserT   r   r  r>  rc  r  r  rV  r   mainr   rb   rQ   <module>r     s    	 	   	 	    4 )  (g'(    * 
)sU


 !    
#1<<CCEO 		73t70)) 70t{8** {8|	A-8,, A-F
d- 1 1 d-PdAx(( dAL|8$$ ||]/8$$ ]/~Ax00 AH zMMO WU  #"#s   (F 	FF