+
    JV-jº�  ã                   óÄ  € ^ RI t ^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtHtHt  ^ RIHt ^ RIHtHt  ^ RIt^ RIHt ^ R	I H!t! ^ R
IH"t"  ^ RI#t$]PJ                  P,                  t&R t'R t(]PJ                  PF                  R 4       t)]PJ                  PF                  R 4       t*]PJ                  P6                  R 4       t+]PJ                  P6                  R 4       t,]PJ                  P6                  R 4       t-R t.R t/R t0]PJ                  Pb                  R 4       t2]PJ                  P6                  R 4       t3]PJ                  P6                  R 4       t4R t5]PJ                  P6                  R 4       t6R t7]PJ                  Pq                  RR]Pr                  ! 4       .4      ]PJ                  Pq                  RRH4      R 4       4       t:R t;R t<R  t=R! t>R" t?R# t@R$ tAR% tBR& tCR' tD]PJ                  P6                  R( 4       tE]PJ                  P6                  R) 4       tF]PJ                  P6                  R* 4       tGR+ tHR, tI]PJ                  P6                  R- 4       tJR. tK]PJ                  P6                  ]PJ                  P˜                  ]PJ                  P›                  R/4      ]PJ                  P›                  R04      ]PJ                  P›                  R14      R2 4       4       4       4       4       tN]PJ                  Pq                  R3R4 R5 R6 R7 .4      ]PJ                  Pq                  R8R9R:.4      R; 4       4       tOR< tPR= tQR> tRR? tSR@ tTRA tU]PJ                  P¬                  RB 4       tW]PJ                  Pq                  RCRDRERF..4      RG 4       tXR#   ] d    Rt ELhi ; i  ] d	    R;tt ELci ; i  ] d    Rt$ ELni ; i)Ié    N)ÚOrderedDict)Úcopytree)ÚDecimal)Úfs)Úutil)Ú_check_roundtripÚ_roundtrip_tableÚ_test_table)Ú_read_tableÚ_write_table)Údataframe_with_lists)Úalltypes_samplec                 óŒ  € \         P                  ! R . RO/4      p\        P                  ! \        RR7      ;_uu_ 4        \        WR,          RR7       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        \        WR,          RR7       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; i)
Úaz"Unsupported Parquet format version©Úmatchztest_version.parquetz2.2©ÚversionN)Údata_page_version©é   é   é   z%Unsupported Parquet data page version)ÚpaÚtableÚpytestÚraisesÚ
ValueErrorr   )Útempdirr   s   & Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pyarrow/tests/parquet/test_basic.pyÚtest_parquet_invalid_versionr!   =   sŒ   € Ü�HŠH�cš9Ð%Ó&€EÜ	�Š”zÐ)M×	NÖ	NÜ�UÐ&<Õ<ÀeÕL÷ 
Oä	�Š”zð *!÷ 
"ö 
"ä�UÐ&<Õ<Ø',õ	.÷
"ñ 
"÷ 
O×	Nú÷
"÷ 
"ð 
"ús   ¿BÂ B2ÂB/	Â2C	c                  ó¼   € \         P                  ! . ROR,          4      p \         P                  P                  V .R.R7      pRR.pV F  p\	        WR7       K  	  R# )	r   i † Úf0©Únames)Údata_page_sizeNr   i   i   )r   ÚarrayÚTableÚfrom_arraysr   )ÚarrÚtÚ
page_sizesÚtarget_page_sizes       r    Útest_set_data_page_sizer.   G   sQ   € Ü
�(Š(’9˜vÕ%Ó
&€CÜ
�‰×Ñ˜c˜U¨4¨&ÐÓ1€Að ˜7Ð#€JÛ&ÐÜ˜×<ó 'ó    c                  ó:   € \        ^d4      p \        V ^
^RR7       R# )éd   ú2.4)r&   Úwrite_batch_sizer   N)r
   r   ©r   s    r    Útest_set_write_batch_sizer5   Q   s   € ä˜Ó€EäØ˜b°1¸e÷r/   c            	      óÖ   € \        ^d4      p \        V ^^
RR7       \        P                  ! \        4      ;_uu_ 4        \        V R^
RR7       RRR4       R#   + '       g   i     R# ; i)r1   r2   )Údictionary_pagesize_limitr&   r   r   N)r
   r   r   r   Ú	TypeErrorr4   s    r    Ú"test_set_dictionary_pagesize_limitr9   Z   sN   € ä˜Ó€Eä�U°aØ$&°õ7ô 
�Š”y×	!Õ	!Ü˜¸#Ø(*°Eõ	;÷ 
"×	!×	!Ò	!ús   ½AÁA(	c            
      óÞ  € . p \         P                  P                  \        ^
R7      4      pV P	                  \         P
                  P                  V.^,          4      4       \        4       w  r#\         P                  P                  V4      pV P	                  \         P
                  P                  V.^,          4      4       R F$  pR F  pV  F  p\        VRVVR7       K  	  K  	  K&  	  R# )é
   ©Úsizeú2.6)r   r   Úuse_dictionaryN)z1.0z2.0)TF)	r   ÚRecordBatchÚfrom_pandasr   Úappendr(   Úfrom_batchesr   r   )ÚtablesÚbatchÚdfÚ_r   r?   r   s          r    Útest_chunked_table_writerH   f   s´   € ð €FÜ�N‰N×&Ñ&¤¸BÔ'?Ó@€EØ
‡M�M”"—(‘(×'Ñ'¨¨°!­Ó4Ô5Ü Ó"�E€BÜ�N‰N×&Ñ& rÓ*€EØ
‡M�M”"—(‘(×'Ñ'¨¨°!­Ó4Ô5ã+ÐÛ+ˆNÛ�Ü Ø 5Ø&7Ø#1÷3ó  ó ,ó ,r/   c                 ó|  € \        ^
R7      p\        P                  P                  V4      p\	        VRR/RR7       \        V R,          4      p\        VR4      ;_uu_ 4       p\        W$RR7       R	R	R	4       \        P                  ! VRR
7      pVP                  V4      '       g   Q hR	#   + '       g   i     LC; i)r;   r<   Ú
memory_mapTr>   ©Úread_table_kwargsr   Útmp_fileÚwbr   N)rJ   ©r   r   r(   rA   r   ÚstrÚopenr   ÚpqÚread_pandasÚequals©r   rF   r   ÚfilenameÚfÚ
table_reads   &     r    Útest_memory_maprY   y   s“   € ä	˜bÔ	!€Bä�H‰H× Ñ  Ó$€EÜ�U¨|¸TÐ.BØ"õ$ô �7˜ZÕ'Ó(€HÜ	ˆh˜×	Ô	 Ü�U uÕ-÷ 
ä—’ °TÔ:€JØ×Ñ˜U×#Ò#Ð#Ò#÷ 
×	úó   Á"B+Â+B;	c                 ó|  € \        ^
R7      p\        P                  P                  V4      p\	        VRR/RR7       \        V R,          4      p\        VR4      ;_uu_ 4       p\        W$RR7       R	R	R	4       \        P                  ! VR
R7      pVP                  V4      '       g   Q hR	#   + '       g   i     LC; i)r;   r<   Úbuffer_sizei  r>   rK   rM   rN   r   Ni   )r\   rO   rU   s   &     r    Útest_enable_buffered_streamr]   ˆ   s“   € ä	˜bÔ	!€Bä�H‰H× Ñ  Ó$€EÜ�U¨}¸dÐ.CØ"õ$ô �7˜ZÕ'Ó(€HÜ	ˆh˜×	Ô	 Ü�U uÕ-÷ 
ä—’ °dÔ;€JØ×Ñ˜U×#Ò#Ð#Ò#÷ 
×	úrZ   c                 ól  € \         P                  P                  \         P                  ! ^*.4      .R.4      pRpW,          pVP	                  4       '       d   Q h\        V\        V4      4       VP	                  4       '       g   Q h\        \        V4      4      pVP                  V4      '       g   Q hR# )é*   Úintsz	foo # barN)	r   r(   r)   r'   Úexistsr   rP   r   rT   )r   r   rV   ÚpathrX   s   &    r    Útest_special_chars_filenamerc   —   sˆ   € Ü�H‰H× Ñ ¤"§(¢(¨B¨4£.Ð!1°F°8Ó<€EØ€HØÕ€DØ�{‰{�}Š}ÐÐÜ�œ˜D›	Ô"Ø�;‰;�=Š=Ðˆ=ÜœS ›YÓ'€JØ×Ñ˜U×#Ò#Ð#Ò#r/   c                  ó`  € \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! R4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        P
                  ! R4       RRR4       R#   + '       g   i     LU; i  + '       g   i     R# ; i)ÚNoner   N)r   r   r8   rR   Ú
read_tableÚParquetFile© r/   r    Útest_invalid_sourceri   ¢   sb   € ô 
�Š”y¨×	/Ö	/Ü
�Š�dÔ÷ 
0ô 
�Š”y¨×	/Ö	/Ü
�Š�tÔ÷ 
0Ñ	/÷ 
0×	/ú÷ 
0×	/Ð	/ús   ¥B	Á(BÂ	B	ÂB-	c           	      ó  € ^ RI Hp  ! R R4      pV R,          p\        P                  ! R. RO/4      p\	        WC4       VP                  RVR7      ;_uu_ 4        \        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! VR.R
7       RRR4       \        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! VRR.R7       RRR4       \        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! W4P                  R7       RRR4       \        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! V 4       RRR4       \        P                  ! V4      pWT8X  g   Q h RRR4       R#   + '       g   i     EL; i  + '       g   i     LÞ; i  + '       g   i     L£; i  + '       g   i     Ls; i  + '       g   i     R# ; i)r   )Úmockc                   ó&   a € ] tR t^¯t o R tRtV tR# )Ú;test_read_table_without_dataset.<locals>.MockParquetDatasetc                ó   € \        R 4      h)ÚMockParquetDataset)ÚImportError)ÚselfÚargsÚkwargss   &*,r    Ú__init__ÚDtest_read_table_without_dataset.<locals>.MockParquetDataset.__init__°   s   € ÜÐ2Ó3Ð3r/   rh   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rt   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r    ro   rm   ¯   s   ø‡ € ÷	4ð 	4r/   ro   útest.parquetr   z#pyarrow.parquet.core.ParquetDataset)Únewzthe 'filters' keywordr   )ÚfiltersNzthe 'partitioning' keywordÚweekÚcolor)Úpartitioningzthe 'schema' argument©Úschemaúthe 'source' argumentr   )ÚintegerÚ=r   )Úunittestrk   r   r   r   Úpatchr   r   r   rR   rf   r…   )r   rk   ro   rb   r   Úresults   &     r    Útest_read_table_without_datasetrŒ   ¬   s9  € Ý÷4ñ 4ð �^Õ#€DÜ�HŠH�cš9Ð%Ó&€EÜ�Ôà	�‰Ð9Ð?Qˆ×	RÕ	RÜ�]Š]œ:Ð-D×EÖEÜ�MŠM˜$Ð)<Ð(=Õ>÷ Fä�]Š]œ:Ð-I×JÖJÜ�MŠM˜$¨f°gÐ->Õ?÷ Kä�]Š]œ:Ð-D×EÖEÜ�MŠM˜$§|¡|Õ4÷ Fä�]Š]œ:Ð-D×EÖEÜ�MŠM˜'Ô"÷ Fä—’˜tÓ$ˆØŒÐ‰÷ 
SÑ	RßE×EÐEúçJ×JúçE×EúçE×Eú÷ 
S×	RÐ	Rúsl   Á%G/Á?F"	Â,G/ÃF6	Ã ,G/Ä"G		Ä.,G/ÅG	Å1&G/Æ"F3Æ-	G/Æ6GÇG/Ç	GÇG/ÇG,Ç'G/Ç/H 	c                  óx   € \         P                  ! \        \        R 4      4      .R.R7      p \	        V ^R7       R# )i@œ  r#   r$   )Úrow_group_sizeN)r   r   ÚlistÚranger   )r+   s    r    Ú(test_file_with_over_int16_max_row_groupsr‘   Ä   s,   € ô 	�Š”$”u˜U“|Ó$Ð%¨d¨VÔ4€AÜ�Q q×)r/   c                  ót  € \        ^
R7      p \        P                  P                  V 4      p\        P                  P	                  VP                  4        Uu. uF  q"P                  ^ 4      R,          NK  	  upVP                  P                  R7      pVP                  P                  R4      P                  \        P                  ! 4       8X  g   Q hVP                  P                  R4      P                  \        P                  ! \        P                  ! 4       4      8X  g   Q h\        VRR7       R# u upi )	r;   r<   :Nr   Nr$   ÚnullÚ	null_listr>   r   N)r   r   r(   rA   r)   ÚitercolumnsÚchunkr…   r%   ÚfieldÚtyper“   Úlist_r   )rF   r   Úcols      r    Útest_empty_table_roundtripr›   Ï   sâ   € ä	˜bÔ	!€Bô �H‰H× Ñ  Ó$€EÜ�H‰H× Ñ Ø%*×%6Ñ%6Ô%8Ó9Ñ%8˜c�‰�1‹�b×	Ð	Ñ%8Ñ9Ø�l‰l× Ñ ð !ó "€Eð �<‰<×Ñ˜fÓ%×*Ñ*¬b¯gªg«iÔ7Ð7Ð7Ø�<‰<×Ñ˜kÓ*×/Ñ/´2·8²8¼B¿GºG»IÓ3FÔFÐFÐFÜØ�u÷ùò 	:s   Á D5c                  óˆ   € \         P                  ! 4       p \        P                  P	                  V R R7      p\        V4       R# )F)Úpreserve_indexN)ÚpdÚ	DataFramer   r(   rA   r   )rF   Úemptys     r    Útest_empty_table_no_columnsr¡   ß   s.   € ä	�Š‹€BÜ�H‰H× Ñ  °EÐ Ó:€EÜ�UÖr/   c            	      ó`  € \        \        P                  ! 4       \        P                  ! \        P                  ! 4       4      R 7      p . \        ^RR 7      ..pV Uu. uF=  p\        P
                  ! V\        P                  ! V 4      R7      P                  4       NK?  	  ppV Uu. uF8  p\        P                  P                  V\        P                  ! V 4      R7      NK:  	  pp\        P                  P                  V\        P                  ! V 4      4      p\        V4       R# u upi u upi ))Úint32Úlist_string©r˜   r„   N)ÚG)r   r   r£   r™   Ústringr'   ÚstructÚflattenr@   r)   r…   r(   rC   r   )ÚcolsÚdatarE   Ú	my_arraysÚ
my_batchesÚtbls         r    Ú1test_write_nested_zero_length_array_chunk_failurer¯   æ   sé   € äÜ�hŠh‹jÜ—H’HœRŸYšY›[Ó)ô€Dð ” 1°&Ô9Ð<Ð=€Dñ #ó$Ù"�Uô —’˜%¤b§i¢i°£oÔ6×>Ñ>Ö@Ù"ð ð $ñ  )ó*Ù(�eô —.‘.×,Ñ,¨U¼2¿9º9ÀT»?Ð,ÖKÙ(ð ð *ä
�(‰(×
Ñ
 
¬B¯IªI°d«OÓ
<€CÜ�SÖùò$ùò*s   ÁAD&Â%>D+c                 ó  € V R ,          p\         P                  ! R\        P                  ! ^
\        P                  R7      /4      p\        W!4       \        V4      pVP                  4       p\        P                  ! W$4       \        V 4      R ,           p\         P                  ! R\        P                  ! ^
\        P                  R7      /4      p\        W!4       \        V4      pVP                  4       p\        P                  ! W$4       R# )zzzz.parquetÚx©ÚdtypeN)rž   rŸ   ÚnpÚarangeÚint64r   r   Ú	to_pandasÚtmÚassert_frame_equalrP   )r   rb   rF   rX   Údf_reads   &    r    Útest_multiple_path_typesr»     s¾   € ð �]Õ"€DÜ	�Š�sœBŸIšI b´·±Ô9Ð:Ó	;€BÜ�ÔÜ˜TÓ"€JØ×"Ñ"Ó$€GÜ×Ò˜"Ô&ô ˆw‹<˜-Õ'€DÜ	�Š�sœBŸIšI b´·±Ô9Ð:Ó	;€BÜ�ÔÜ˜TÓ"€JØ×"Ñ"Ó$€GÜ×Ò˜"Ö&r/   c                 ó”  € V R ,          p\         P                  ! R. RO/4      p\        W!4       \        P                  ! V4      p\        V4      pVP                  V4      '       g   Q h\        P                  ! \        4      ;_uu_ 4        \        V\        P                  ! 4       R7       RRR4       R#   + '       g   i     R# ; i)r~   r   ©Ú
filesystemNr   )r   r   r   r   ÚFSProtocolClassr   rT   r   r   r8   r   Ú
FileSystem)r   rb   r   Úfs_protocol_objr‹   s   &    r    Útest_fspathrÂ     s†   € à�^Õ#€DÜ�HŠH�cš9Ð%Ó&€EÜ�Ôä×*Ò*¨4Ó0€Oä˜Ó)€FØ�=‰=˜×ÒÐÐô 
�Š”y×	!Õ	!Ü�O´·²³Õ@÷ 
"×	!×	!Ò	!ús   Â!B6Â6C	r¾   Únamec                 ó°  € \         P                  ! R . RO/4      pW,          p\        P                  ! V\	        V4      4       \
        P                  ! V 4      ;_uu_ 4        \        P                  ! W!R7      pRRR4       XP                  V4      '       g   Q hVP                  4        VP                  4       '       d   Q h\
        P                  ! V 4      ;_uu_ 4        \        P                  ! W2VR7       RRR4       \        P                  ! V4      pVP                  V4      '       g   Q hR#   + '       g   i     LÁ; i  + '       g   i     LT; i)r   r½   Nr   )r   r   rR   Úwrite_tablerP   r   Ú
change_cwdrf   rT   Úunlinkra   )r   r¾   rÃ   r   rb   r‹   s   &&&   r    Útest_relative_pathsrÈ   %  sÜ   € ô �HŠH�cš9Ð%Ó&€EØ�>€Dô ‡N‚N�5œ#˜d›)Ô$Ü	�Š˜×	!Õ	!Ü—’˜tÔ;ˆ÷ 
"à�=‰=˜×ÒÐÐà‡K�K„MØ�{‰{�}Š}ÐÐô 
�Š˜×	!Õ	!Ü
�Š�u¨zÕ:÷ 
"ä�]Š]˜4Ó €FØ�=‰=˜×ÒÐÒ÷ 
"×	!ú÷ 
"×	!ús   Á!D2Ã EÄ2E	ÅE	c                  ó°   € \         P                  ! \        4      ;_uu_ 4        \        P                  ! R 4       RRR4       R#   + '       g   i     R# ; i)zi-am-not-existing.parquetN)r   r   ÚFileNotFoundErrorrR   rf   rh   r/   r    Útest_read_non_existing_filerË   >  s.   € ä	�ŠÔ(×	)Õ	)Ü
�ŠÐ1Ô2÷ 
*×	)×	)Ò	)ús   £AÁA	c                  óò   €  ! R  R\         P                  4      p \        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! V ! R4      4       RRR4       R#   + '       g   i     R# ; i)c                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú3test_file_error_python_exception.<locals>.BogusFileiE  c                ó   € \        R 4      h©Úzorglub©ÚZeroDivisionError©rq   rr   s   &*r    ÚreadÚ8test_file_error_python_exception.<locals>.BogusFile.readF  ó   € Ü# IÓ.Ð.r/   c                ó   € \        R 4      hrÐ   rÒ   rÔ   s   &*r    ÚseekÚ8test_file_error_python_exception.<locals>.BogusFile.seekI  r×   r/   rh   N)rv   rw   rx   ry   rÕ   rÙ   rz   r{   r|   s   @r    Ú	BogusFilerÎ   E  s   ø‡ € ò	/÷	/ð 	/r/   rÛ   rÑ   r   r/   N)ÚioÚBytesIOr   r   rÓ   rR   rf   )rÛ   s    r    Ú test_file_error_python_exceptionrÞ   D  sE   € ô/”B—J‘Jô /ô 
�ŠÔ(°	×	:Ö	:Ü
�Š‘i “nÔ%÷ 
;×	:×	:Ò	:ús   ¾A%Á%A6	c                 ól  € \         P                  ! R . RO/4      p\        P                  ! V\	        V R,          4      4       \        \	        V R,          4      R4      ;_uu_ 4       p\        P                  ! V4      pRRR4       XP                  V4      '       g   Q h\        \	        V R,          4      R4      ;_uu_ 4       p\        P                  ! \         P                  ! V4      4      pRRR4       VP                  V4      '       g   Q hR#   + '       g   i     L›; i  + '       g   i     L>; i)r   údata.parquetÚrbNr   )	r   r   rR   rÅ   rP   rQ   rf   rT   Ú
PythonFile)r   r   rW   r‹   s   &   r    Útest_parquet_read_from_bufferrã   Q  sÊ   € ä�HŠH�cš9Ð%Ó&€EÜ‡N‚N�5œ#˜g¨Õ6Ó7Ô8ä	Œc�'˜NÕ*Ó+¨T×	2Ô	2°aÜ—’˜qÓ!ˆ÷ 
3à�=‰=˜×ÒÐÐä	Œc�'˜NÕ*Ó+¨T×	2Ô	2°aÜ—’œrŸ}š}¨QÓ/Ó0ˆ÷ 
3à�=‰=˜×ÒÐÒ÷ 
3×	2ú÷ 
3×	2ús   Á&DÃ+D#ÄD 	Ä#D3	c            
      ó   € \         P                  ! \        \        \        \        ^d4      4      4      4      p \         P                  ! \        \        \        \        ^d4      4      4      4      p\         P                  ! RR.^2,          4      pW .p\         P                  P                  VRR.R7      p\        WDRRRR7       \        WDRR.R.R7       \        WDRRR.RR.R7       \         P                  P                  W W.. ROR7      p\        WURR	.RR.R
7       \         P                  P                  V.R.R7      p\        P                  ! \        RR7      ;_uu_ 4        \        WDRRR7       RRR4       R#   + '       g   i     R# ; i)r1   TFr   Úbr$   Úgzip)ÚexpectedÚcompressionr?   Úuse_byte_stream_splitÚcÚd)rç   r?   ré   ÚtmpúBYTE_STREAM_SPLIT only supportsr   )rç   ré   r?   N©r   rå   rê   rë   )r   r'   r�   ÚmapÚfloatr�   Úintr(   r)   r   r   r   ÚIOError)Ú	arr_floatÚarr_intÚarr_boolÚ
data_floatr   Úmixed_tables         r    Útest_byte_stream_splitrø   _  sP  € ä—’œœc¤%¬¨s«Ó4Ó5Ó6€IÜ�hŠh”tœC¤¤U¨3£ZÓ0Ó1Ó2€GÜ�xŠx˜˜u˜¨Õ*Ó+€HØÐ'€JÜ�H‰H× Ñ  °C¸°:Ð Ó>€Eô �U¸Ø$)ÀõGô
 �U¸Ø%( EØ,/¨5õ2ô
 �U¸Ø%(¨# JØ,/°¨:õ7ô
 —(‘(×&Ñ&¨	¸gÐ'OÚ-Að 'ó C€Kä�[Ø%(¨# JØ,/°¨:õ7ô �H‰H× Ñ  ( °E°7Ð Ó;€EÜ	�Š”wÐ&G×	HÖ	HÜ˜ÀdØ(-õ	/÷ 
I×	H×	HÒ	Hús   Å#E<Å<F	c                 ój  € \         P                  ! \        \        \        \        ^d4      4      4      \         P                  ! ^^4      R7      p\         P                  ! \        \        \        \        ^d4      4      4      \         P                  ! ^^	4      R7      p\         P                  ! \        \        \        \        ^d4      4      4      \         P                  ! ^^4      R7      p\         P                  ! RR.^2,          4      pWV.p\         P                  P                  V. ROR7      p\        VVRRRR7       \        P                  P                  V R	4      p\        P                  ! WgRRRR
7       \        P                  ! V4      pVP                   P#                  ^ 4      p	VP                   P#                  ^4      p
V	P$                  R8X  g   Q hV
P$                  R8X  g   Q h\        VVRRRRRRR/R7       \         P                  P                  WW4.. ROR7      p\        VVRRR7       R# )r1   r¥   TFr   rå   r$   ræ   )rç   rè   r?   Ústore_decimal_as_integerr~   )rè   r?   rú   ÚINT32ÚINT64ÚDELTA_BINARY_PACKED)rç   rè   r?   rú   Úcolumn_encoding)rç   r?   rú   N)r   rå   rê   rî   )r   r'   r�   rï   r   r�   Ú
decimal128r(   r)   r   Úosrb   ÚjoinrR   rÅ   rg   r…   ÚcolumnÚphysical_type)r   Úarr_decimal_1_9Úarr_decimal_10_18Úarr_decimal_gt18rõ   Údata_decimalr   Úpqtestfile_pathÚ
pqtestfileÚpqcol_decimal_1_9Úpqcol_decimal_10_18r÷   s   &           r    Útest_store_decimal_as_integerr  …  sÙ  € Ü—h’hœt¤C¬´°s³Ó$<Ó=Ü$&§M¢M°!°QÓ$7ô9€OäŸš¤¤c¬'´5¸³:Ó&>Ó!?Ü&(§m¢m°B¸Ó&:ô<Ðä—x’x¤¤S¬´%¸³*Ó%=Ó >Ü%'§]¢]°2°qÓ%9ô;Ðä�xŠx˜˜u˜¨Õ*Ó+€HØ#Ð8HÐI€LÜ�H‰H× Ñ  ²_Ð ÓE€Eô �UØ#Ø!'Ø$)Ø.2õ	4ô —g‘g—l‘l 7¨NÓ;€OÜ‡N‚N�5Ø%Ø"'Ø,0õ2ô
 —’ Ó0€JØ"×)Ñ)×0Ñ0°Ó3ÐØ$×+Ñ+×2Ñ2°1Ó5Ðà×*Ñ*¨gÔ5Ð5Ð5Ø×,Ñ,°Ô7Ð7Ð7ô �UØ#Ø!'Ø$)Ø.2àÐ3ØÐ3ð&õô —(‘(×&Ñ&Ø	Ð-=ÐHÚ"ð 'ó $€Kô �[Ø)Ø$)Ø.2÷4r/   c                  ón	  € \         P                  ! \        \        \        \        ^d4      4      4      4      p \         P                  ! \        \        \        \        ^d4      4      4      4      p\         P                  ! \        ^d4       Uu. uF  p\        V4      NK  	  up\         P                  ! 4       R7      p\         P                  ! \        ^d4       Uu. uF  p\        V4      P                  ^
4      NK  	  up\         P                  ! ^
4      R7      p\         P                  ! . RO^,          4      p\         P                  P                  WW4V.. ROR	7      p\        WfRRR
RR
RRRR
/R7       \        WfRRR7       \        WfRRRRRRR/R7       \        WfRRRRRRR/R7       \        WfRRRRRRRRR/R7       \        WfRRR/R7       \        P                  ! \        RR7      ;_uu_ 4        \        WfRRRRRRR
/R7       RRR4       \        P                  ! \         RR7      ;_uu_ 4        \        WfRRRRRRR/R7       RRR4       \        P                  ! \"        RR7      ;_uu_ 4        \        WfRRR7       RRR4       \        P                  ! \"        RR7      ;_uu_ 4        \        WfRRR/R7       RRR4       \        P                  ! \"        4      ;_uu_ 4        \        WfR.RR/R7       RRR4       \        P                  ! \"        4      ;_uu_ 4        \        WfRR/R7       RRR4       \        P                  ! \"        4      ;_uu_ 4        \        WfRR.RRRR
RR/R7       RRR4       \        P                  ! \"        4      ;_uu_ 4        \        WfRRRRRR
RR/R7       RRR4       \        P                  ! \$        4      ;_uu_ 4        \        WfRRR7       RRR4       R# u upi u up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     EL;; i  + '       g   i     EL; i  + '       g   i     Lá; i  + '       g   i     R# ; i)r1   r¥   FTr   rå   rê   rë   Úer$   ÚBYTE_STREAM_SPLITÚPLAIN)rç   r?   rþ   rý   ÚDELTA_LENGTH_BYTE_ARRAYÚDELTA_BYTE_ARRAYÚRLErí   r   Nz)DELTA_BINARY_PACKED encoder only supportsz+'RLE_DICTIONARY' is already used by defaultÚRLE_DICTIONARYz/Unsupported column encoding: 'MADE_UP_ENCODING'ÚMADE_UP_ENCODING)rç   rþ   )rç   r?   ré   rþ   )FTFF)r   rå   rê   rë   r  )r   r'   r�   rï   rð   r�   rñ   rP   ÚbinaryÚzfillr(   r)   r   r   r   rò   ÚOSErrorr   r8   )ró   rô   r±   Úarr_binÚarr_flbarõ   r÷   s          r    Útest_column_encodingr  »  s  € Ü—’œœc¤%¬¨s«Ó4Ó5Ó6€IÜ�hŠh”tœC¤¤U¨3£ZÓ0Ó1Ó2€GÜ�hŠh¬¨c¬
Ó3©
 1œ˜Až©
Ñ3¼"¿)º)»+ÔF€GÜ�xŠxÜ#(¨¤:Ó.¡:˜aŒˆQ‹�‰�bÖ	¡:Ñ.´R·Y²Y¸r³]ôD€Hä�xŠxÒ3°bÕ8Ó9€HÜ—(‘(×&Ñ&Ø	˜W°Ð9Ú'ð 'ó )€Kô �[ÀuØ&)Ð+>Ø&)Ð+>Ø&)¨7Ø&)Ð+>ð&@õAô �[Ø$)Ø%,õ.ô
 �[Ø$)Ø&)¨7Ø&)Ð+@Ø&)¨7ð&4õ5ô �[Ø$)Ø&)¨7Ø&)Ð+@Ø&)Ð+Dð&FõGô �[Ø$)Ø&)¨7Ø&)Ð+@Ø&)Ð+=Ø&)Ð+=ð&?õ@ô �[Ø$)Ø&)¨5 \õ3ô 
�Š”wØ>÷
@ö 
@ä˜Ø(-Ø*-¨wØ*-¨wØ*-Ð/Bð*Dõ	E÷
@ô 
�Š”wØH÷
Jö 
Jä˜Ø(-Ø*-Ð/DØ*-¨wØ*-¨wð*8õ	9÷
Jô 
�Š”zØJ÷
Lö 
Lä˜Ø(-Ø)9õ	;÷
Lô 
�Š”zØN÷
Pö 
Pä˜Ø(-Ø*-Ð/AÐ)Bõ	D÷
Pô 
�Š”z×	"Õ	"Ü˜Ø),¨Ø*-¨w¨õ	9÷ 
#ô 
�Š”z×	"Õ	"Ü˜Ø*-¨w¨õ	9÷ 
#ô 
�Š”z×	"Õ	"Ü˜Ø(-Ø03¨uØ*-¨uØ*-Ð/BØ*-¨wð*8õ	9÷ 
#ô 
�Š”z×	"Õ	"Ü˜Ø(-Ø/3Ø*-¨uØ*-Ð/BØ*-¨wð*8õ	9÷ 
#ô 
�Š”y×	!Õ	!Ü˜Ø(-Ø)-õ	/÷ 
"Ñ	!ùòo 4ùâ.÷`
@÷ 
@ð 
@ú÷
J÷ 
Jð 
Jú÷
L÷ 
Lð 
Lú÷
P÷ 
Pð 
Pú÷ 
#×	"Ð	"ú÷ 
#×	"Ð	"ú÷ 
#×	"Ð	"ú÷ 
#×	"ú÷ 
"×	!Ð	!úsx   Â
O:Ã#O?Ç2PÈ3PÉ4P,Ê/Q Ë*QÌ&Q(Í Q<Î!RÏ!R#ÐP	ÐP)	Ð,P=	Ñ Q	ÑQ%	Ñ(Q9	Ñ<R	ÒR 	Ò#R4	c            
      ób  € \         P                  ! \        \        \        \        R 4      4      4      4      p W .p\         P                  P                  VRR.R7      p\        W"R^R7       \        W"R^R7       \        W"RRRR/R7       \        W"RR^R^/R7       \        W"R^R7       \        W"R^	R7       . ROp\        P                  ! 4       pV FD  w  rV\        P                  ! \        \        34      ;_uu_ 4        \        W$VVR	7       R
R
R
4       KF  	  R
#   + '       g   i     K[  ; i)éè  r   rå   r$   ræ   )rç   rè   Úcompression_levelÚsnappy©rç   rè   Úlz4)rè   r  N))r  é   )ræ   iÇúÿÿ)re   i¼  )Úlzoé   )r   r'   r�   rï   rñ   r�   r(   r)   r   rÜ   rÝ   r   r   r   r  r   )r*   r«   r   Úinvalid_combinationsÚbufÚcodecÚlevels          r    Útest_compression_levelr)  ;  s  € Ü
�(Š(”4œœC¤ t£Ó-Ó.Ó
/€CØˆ:€DÜ�H‰H× Ñ  ¨c°3¨ZÐ Ó8€Eô �U¸Ø'(õ*ô
 �U¸Ø'(õ*ô �UØ"% v¨s°HÐ!=õ?ô �U¸Ø(+¨Q°°QÐ'7õ9ô
 �U¸Ø'(õ*ô �U¸Ø'(õ*ò8Ðä
�*Š*‹,€CÛ.‰ˆÜ�]Š]œJ¬Ð0×1Õ1Ü˜°Ø+0õ2÷ 2Ñ1ó /ß1×1Ð1ús   Ä DÄD.c            
      óî   € \         P                  ! \        \        \        \        R 4      4      4      4      p \         P                  P                  W .RR.R7      p\        WRR7       \        WRR7       R# )r  r   rå   r$   Úlz4_rawr   ÚLZ4_RAWN)	r   r'   r�   rï   rñ   r�   r(   r)   r   )r*   r   s     r    Útest_lz4_raw_compression_aliasr-  h  sS   € ä
�(Š(”4œœC¤ t£Ó-Ó.Ó
/€CÜ�H‰H× Ñ  # °C¸°:Ð Ó>€EÜ�U¸	ÕBÜ�U¸	×Br/   c                  óº  € \         P                  ! \        \        \        \        ^d4      4      4      4      p \         P                  ! \        ^d4       Uu. uF  p\        V4      NK  	  up\         P                  ! 4       R7      pW.p\         P                  P                  VRR.R7      p\        WDRR^dRR//R7       \        WDRR^dRR/RR^
RR	//R7       \        WDRRR//R7       \        WDRR^d//R7       \        WDR/ /R7       \        WDRR
/R7       \        WDRR/R7       \        P                  ! 4       pRp\        P                  ! \        VR7      ;_uu_ 4        \!        WERRRRR//R7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \!        WERR^dRR//R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \!        WER
R7       RRR4       Rp\        P                  ! \"        VR7      ;_uu_ 4        \!        WERRR//R7       RRR4       Rp\        P                  ! \"        \$        P&                  ! V4      R7      ;_uu_ 4        \!        WERRR//R7       RRR4       Rp\        P                  ! \"        \$        P&                  ! V4      R7      ;_uu_ 4        \!        WERRR//R7       RRR4       R# u upi   + '       g   i     EL|; i  + '       g   i     ELN; i  + '       g   i     EL(; i  + '       g   i     Lû; i  + '       g   i     Lº; i  + '       g   i     R# ; i)r1   r¥   r   rå   r$   ÚndvÚfppgš™™™™™©?)rç   Úbloom_filter_optionsçš™™™™™¹?TFz8'bloom_filter_options:ndv' for column 'a' must be an intr   Ú100)r1  Nz9'bloom_filter_options:fpp' for column 'a' must be a floatz0.05z+'bloom_filter_options' must be a dictionaryzL'bloom_filter_options:ndv' for column 'a' must be greater than zero, got -10zH'bloom_filter_options:fpp' for column 'a' must be in (0.0, 1.0), got 2.0g       @zI'bloom_filter_options:fpp' for column 'a' must be in (0.0, 1.0), got -0.5iöÿÿÿg      à¿)r   r'   r�   rï   rñ   r�   rP   r  r(   r)   r   rÜ   rÝ   r   r   r8   r   r   ÚreÚescape)rô   r±   r  r«   r   r&  Úexpects          r    Útest_bloom_filter_optionsr7  p  sâ  € Ü�hŠh”tœC¤¤U¨3£ZÓ0Ó1Ó2€GÜ�hŠh¬¨c¬
Ó3©
 1œ˜Až©
Ñ3¼"¿)º)»+ÔF€GØÐ€DÜ�H‰H× Ñ  ¨c°3¨ZÐ Ó8€Eô �UØ˜5 # u¨dÐ3ðB5õ 6ô �UØ˜5 # u¨dÐ3°S¸5À"ÀeÈSÐ:QðBSõ Tô �UØ˜5 $˜-ðB)õ *ô �UØ˜5 #˜,ðB(õ )ô �UØ˜"ðBõ ä�UØ˜$ðB õ !ô �UØ˜%ðB!õ "ô �*Š*‹,€CØG€FÜ	�Š”y¨×	/Ö	/Ü�UØ˜5 %¨°Ð5ð77õ 	8÷ 
0ð
 I€FÜ	�Š”y¨×	/Ö	/Ü�UØ˜5 # u¨fÐ5ð77õ 	8÷ 
0ô
 
�Š”yÐ(U×	VÖ	VÜ�U°dÕ;÷ 
Wð
 	Wð ä	�Š”z¨×	0Ö	0Ü�UØ˜5 #˜,ð7(õ 	)÷ 
1ð
 X€FÜ	�Š”z¬¯ª°6Ó):×	;Ö	;Ü�UØ˜5 #˜,ð7(õ 	)÷ 
<ð Y€FÜ	�Š”z¬¯ª°6Ó):×	;Ö	;Ü�UØ˜5 $˜-ð7)õ 	*÷ 
<Ñ	;ùòy 4÷B 
0×	/Ð	/ú÷ 
0×	/Ð	/ú÷
 
W×	VÐ	Vú÷ 
1×	0ú÷ 
<×	;ú÷ 
<×	;Ð	;úsN   ÁK"Å K'Æ"K;Ç"LÈL#É2L6ËM	Ë'K8	Ë;L	ÌL 	Ì#L3	Ì6M	Í	M	c                  óè   € \         P                  ! . RO4      p Rp\         P                  P                  V .V.4      p\	        VRR/R7      pRpVP
                  ^ ,          P                  V8X  g   Q hR# )r   zprohib; ,	{}ÚflavorÚspark)Úwrite_table_kwargsÚprohib______N)r   r   r   r   r"  )r   r'   r(   r)   r	   r…   rÃ   )Úa0rÃ   r   r‹   Úexpected_names        r    Ú test_sanitized_spark_field_namesr?  ³  sb   € Ü	�Š’/Ó	"€BØ€DÜ�H‰H× Ñ  " ¨ vÓ.€Eä˜e¸À7Ð8KÔL€Fà"€MØ�=‰=˜Õ× Ñ  MÔ1Ð1Ò1r/   c                  óL  € \        R R7      p \        P                  P                  V 4      p\        P
                  ! 4       p\        WRRR7       VP                  ^ 4       \        VRR7      pVP                  ^ 4       \        VRR7      pVP                  V4      '       g   Q hR# )	i'  r<   ÚSNAPPYr>   )rè   r   T)Úuse_threadsFN)
r   r   r(   rA   rÜ   rÝ   r   rÙ   r   rT   )rF   r   r&  Útable1Útable2s        r    Útest_multithreaded_readrE  ¾  sz   € ä	˜eÔ	$€Bä�H‰H× Ñ  Ó$€Eä
�*Š*‹,€CÜ�¨¸5ÕAà‡H�HˆQ„KÜ˜¨$Ô/€Fà‡H�HˆQ„KÜ˜¨%Ô0€Fà�=‰=˜× Ò Ð Ò r/   c                  ó  € \         P                  ! \        P                  ! ^4      .. ROR7      p \        P
                  P                  V P                  4       4      p\        P                  ! 4       p\        WRR7       VP                  ^ 4       \        V4      pVP                  V4      '       g   Q h\        P                  ! \         4      ;_uu_ 4        \        W^ R7       RRR4       R#   + '       g   i     R# ; i)r"  )Úcolumns)Ú
chunk_sizeN)ÚAÚBÚCÚDéÿÿÿÿ)rž   rŸ   r´   rµ   r   r(   rA   Úreset_indexrÜ   rÝ   r   rÙ   r   rT   r   r   r   )r«   r   r&  r‹   s       r    Útest_min_chunksizerO  Ð  s¡   € ä�<Š<œŸš 1›˜Ò0DÔE€DÜ�H‰H× Ñ  ×!1Ñ!1Ó!3Ó4€Eä
�*Š*‹,€CÜ�¨Õ+à‡H�HˆQ„KÜ˜Ó€Fà�=‰=˜×ÒÐÐä	�Š”z×	"Õ	"Ü�U¨AÕ.÷ 
#×	"×	"Ò	"ús   ÃC.Ã.C?	c                 óœ  € \         P                  ! R \        R4      R\        \        ^^4      4      R\        P
                  ! ^^4      P                  R4      R\        P
                  ! RRRR	7      R
. ROR\         P                  ! \        R4      4      R\         P                  ! R^R7      R\         P                  ! R^RR7      R\         P                  ! R^RR7      /	4      p\        P                  P                  V4      pV R,          p \        W#RR7       VP                  4       '       d   Q hR#   \        P                   d     L1i ; i)r   Úabcrå   rê   Úu1rë   ç      @ç      @Úfloat64r²   r  rW   ÚgÚ20130101©ÚperiodsÚhz
US/Eastern)rY  ÚtzÚiÚns)rY  ÚfreqrM   r2   r   N©TFT)rž   rŸ   r�   r�   r´   rµ   ÚastypeÚCategoricalÚ
date_ranger   r(   rA   r   ÚArrowExceptionra   )r   rF   ÚpdfrV   s   &   r    Ú(test_write_error_deletes_incomplete_filere  á  s  € ô 
�Š�sœD ›KØœD¤ q¨!£Ó-ØœBŸIšI a¨›O×2Ñ2°4Ó8ØœBŸIšI c¨3°iÔ@ØÒ/ØœBŸNšN¬4°«;Ó7ØœBŸMšM¨*¸aÔ@ØœBŸMšM¨*¸aØ-9ô;àœBŸMšM¨*¸aÀdÔKð	Mó 	
N€Bô �(‰(×
Ñ
˜rÓ
"€Cà˜Õ#€Hðô 	�S¨EÕ2ð �‰× Ò Ð Ð Ñ øô ×Ñô Ùðús   ÄD3 Ä3EÅ
Ec                 óœ   € R p \         P                  ! V4       R#   \         d%   pYP                  ^ ,          9   g   Q h Rp?R# Rp?ii ; i)znonexistent-file.parquetN)rR   rf   Ú	Exceptionrr   )r   rb   r  s   &  r    Útest_read_non_existent_filerh  ü  s<   € Ø%€Dð!Ü
�Š�dÖøÜô !Ø—v‘v˜a•yÔ Ð Ö ûð!ús   „ œA§AÁAc                 óâ   € \         P                  ! 4       ;_uu_ 4        \         P                  ! R R7       \        P                  ! V R,          4       RRR4       R#   + '       g   i     R# ; i)Úerror)Úactionzv0.7.1.parquetN)ÚwarningsÚcatch_warningsÚsimplefilterrR   rf   )Údatadirs   &r    Útest_read_table_doesnt_warnrp    s@   € Ü	×	 Ò	 ×	"Õ	"Ü×Ò WÕ-Ü
�Š�gÐ 0Õ0Ô1÷ 
#×	"×	"Ò	"ús   ž5AÁA.	c                  ó„  € \         P                  P                  \         P                  ! R R.4      .R.4      p \        P
                  ! 4       p\        P                  ! WRR7       VP                  ^ 4       \        P                  ! V4      p\        P                  ! VP                  4       V P                  4       4       R# )rQ  ÚdefÚsome_colræ   ©rè   N)r   r(   r)   r'   rÜ   rÝ   rR   rÅ   rÙ   rf   r¸   r¹   r·   )r   rW   Ú	roundtrips      r    Útest_zlib_compression_bugrv  
  s~   € ô �H‰H× Ñ ¤"§(¢(¨E°5¨>Ó":Ð!;¸j¸\ÓJ€EÜ
�
Š
‹€AÜ‡N‚N�5¨Õ0à‡F�Fˆ1„IÜ—’˜aÓ €IÜ×Ò˜)×-Ñ-Ó/°·±Ó1BÖCr/   c           	      ó�  € \        V R ,          4      p\        P                  ! \        P                  RR7      ;_uu_ 4        \        VR4      ;_uu_ 4       p RRR4       \        P                  ! V4       RRR4       \        P                  ! \        P                  RR7      ;_uu_ 4        \        VR4      ;_uu_ 4       pVP                  R4       RRR4       \        P                  ! V4       RRR4       R#   + '       g   i     L«; i  + '       g   i     L ; i  + '       g   i     LV; i  + '       g   i     R# ; i)r~   zsize is 0 bytesr   rN   Nzsize is 4 bytess   ffff)	rP   r   r   r   ÚArrowInvalidrQ   rR   rf   Úwrite)r   rb   rW   s   &  r    Útest_parquet_file_too_smallrz    sÆ   € Üˆw˜Õ'Ó(€DÜ	�Š”r—‘Ð.?×	@Ö	@Ü�$˜×Ô Ø÷ ä
�Š�dÔ÷ 
Aô
 
�Š”r—‘Ð.?×	@Ö	@Ü�$˜×Ô Ø�G‰G�GÔ÷ ä
�Š�dÔ÷ 
AÑ	@÷	 ×ú÷ 
A×	@ú÷ ×ú÷ 
A×	@Ð	@úsH   ÁDÁC;	ÁDÂ,D4ÃD!	ÃD4Ã;DÄDÄD	Ä!D1Ä,D4Ä4E	zignore:RangeIndex:FutureWarningz.ignore:tostring:DeprecationWarning:fastparquetz$ignore:unclosed file:ResourceWarningc                 ó`  € \         P                  ! R 4      p\        P                  ! R\	        R4      R\	        \        ^^4      4      R\        P                  ! RRRR7      R	. ROR
\        P                  ! R^R7      R\        P                  ! . RO4      /4      p\        P                  ! V4      p\        V R,          4      p\        P                  ! W4RR7       VP                  V4      pVP!                  4       p\"        P$                  ! WbP'                  R\(        /4      4       \        V R,          4      pVP+                  WrP'                  R\(        /4      4       \        P,                  ! V4      p\"        P$                  ! VP!                  4       VP'                  R\(        /4      4       R# )Úfastparquetr   rQ  rå   rê   rS  rT  rU  r²   rë   r  rW  rX  rW   zcross_compat_arrow.parquetNrt  z cross_compat_fastparquet.parquetr_  )r   rå   r   )r   Úimportorskiprž   rŸ   r�   r�   r´   rµ   rb  ra  r   r   rP   rR   rÅ   rg   r·   r¸   r¹   r`  Úobjectry  rS   )	r   ÚfprF   r   Ú
file_arrowÚfp_fileÚdf_fpÚfile_fastparquetÚtable_fps	   &        r    Ú$test_fastparquet_cross_compatibilityr…  #  sB  € ô 
×	Ò	˜]Ó	+€Bä	�Šà”�e“Ø””e˜A˜q“kÓ"Ø”—’˜3 ¨9Ô5ØÒ$Ø”—’˜z°1Ô5Ø”—’¢Ó0ð		
ó
€Bô �HŠH�R‹L€Eô �WÐ;Õ;Ó<€JÜ‡N‚N�5°$Õ7à�n‰n˜ZÓ(€GØ×ÑÓ€Eô ×Ò˜%§¡¨C´¨=Ó!9Ô:ô ˜7Ð%GÕGÓHÐà‡H�HÐŸy™y¨#¬v¨Ó7Ô8ä�~Š~Ð.Ó/€Hô ×Ò˜(×,Ñ,Ó.°·	±	¸3Ä¸-Ó0HÖIr/   Úarray_factoryc                  ó@   € \         P                  ! ^ R.^
,          4      # ©r   N©r   r'   rh   r/   r    Ú<lambda>rŠ  O  s   € ŒB�HŠH�a˜�Y •^Ô$r/   c                  ó\   € \         P                  ! ^ R.^
,          4      P                  4       # rˆ  ©r   r'   Údictionary_encoderh   r/   r    rŠ  rŠ  P  s   € ŒB�HŠH�a˜�Y •^Ó$×6Ñ6Ô8r/   c                  ó@   € \         P                  ! R R.^
,          4      # ©Ú Nr‰  rh   r/   r    rŠ  rŠ  Q  s   € ŒB�HŠH�b˜$�Z "•_Ô%r/   c                  ó\   € \         P                  ! R R.^
,          4      P                  4       # r�  rŒ  rh   r/   r    rŠ  rŠ  R  s   € ŒB�HŠH�b˜$�Z "•_Ó%×7Ñ7Ô9r/   Úread_dictionaryFTc                 óÚ  € \         P                  P                  R V ! 4       /4      p\        P                  ! 4       p\
        P                  ! W#RR7       VP                  ^ 4       V'       d   R .MRp\
        P                  ! VRVR7      pVP                   FP  pVP                  w  pVP                  4       ^,          pVP                  4       VP                  R,          8X  d   KP  Q h	  R# )rš   T)r?   NF)rB  r’  ó    )r   r(   Úfrom_pydictrÜ   rÝ   rR   rÅ   rÙ   rf   rG  ÚchunksÚbuffersÚ
to_pybytesr=   )r†  r’  Ú
orig_tableÚbior   rš   r–   r&  s   &&      r    Útest_buffer_contentsr›  N  s¬   € ô —‘×%Ñ% u©m«oÐ&>Ó?€JÜ
�*Š*‹,€CÜ‡N‚N�:°4Õ8Ø‡H�HˆQ„Kß!0�u‘g°d€OÜ�MŠM˜#¨5Ø*9ô;€Eð �}Œ}ˆØ—*‘*‰ˆØ�m‰m‹o˜aÕ ˆØ�~‰~Ó 3§8¡8¨eÕ#3Ö3Ð3Ð3ó r/   c                 ó  € \         P                  ! \         P                  ! \        ^4      4      .R.R7      pV R,          p\        P
                  ! WRR7       \        P                  ! V4      pVP                  V4      '       g   Q hR# )r"  r`   r$   zarrow-10480.pyarrow.gzÚGZIPrt  N)r   r   r'   r�   rR   rÅ   rf   rT   )r   r   rb   r‹   s   &   r    Ú"test_parquet_compression_roundtriprž  i  sb   € ô
 �HŠH”b—h’hœu Q›xÓ(Ð)°&°Ô:€EØÐ-Õ-€DÜ‡N‚N�5¨FÕ3Ü�]Š]˜4Ó €FØ�=‰=˜×ÒÐÒr/   c                 ó4  € \         P                  P                  \         P                  ! . R R7      .R.4      pV R,          p^p\        P
                  ! W!P                  4      ;_uu_ 4       p\        V4       F  pVP                  V4       K  	  RRR4       \        P                  ! V4      pVP                  P                  V8X  g   Q h\        V4       F+  pVP                  V4      P                  V4      '       d   K+  Q h	  R#   + '       g   i     L; i)r£   r¥   r#   zempty_row_groups.parquetN)r   r(   r)   r'   rR   ÚParquetWriterr…   r�   rÅ   rg   ÚmetadataÚnum_row_groupsÚread_row_grouprT   )r   r   rb   Ú
num_groupsÚwriterr\  Úreaders   &      r    Útest_empty_row_groupsr§  u  sÓ   € ä�H‰H× Ñ ¤"§(¢(¨2°GÔ"<Ð!=À¸vÓF€EàÐ/Õ/€Dà€JÜ	×	Ò	˜$§¡×	-Ô	-°Ü�zÖ"ˆAØ×Ñ˜uÖ%ñ #÷ 
.ô �^Š^˜DÓ!€FØ�?‰?×)Ñ)¨ZÔ7Ð7Ð7ä�:ÖˆØ×$Ñ$ QÓ'×.Ñ.¨u×5Ô5Ð5Ð5ó ÷ 
.×	-ús   Á,$DÄD	c                 óü   € R .R,          pVP                  ^.4       \        P                  P                  V.R.4      pV R,          p\        P
                  ! W#4       \        P                  ! V4      pW$8X  g   Q hR # )Nr  zarrow-11607.parqueti   )rB   r   r(   r)   rR   rÅ   rf   )r   r«   r   rb   rD  s   &    r    Útest_reads_over_batchr©  ‡  sg   € Øˆ6�WÕ€DØ‡K�K��Ôô �H‰H× Ñ  $ ¨(¨Ó4€EàÐ*Õ*€DÜ‡N‚N�5ÔÜ�]Š]˜4Ó €FØŒ?ÐŠ?r/   c                 ó¾  € V R ,          pVP                  RR7       \        P                  ! . R	O. R
O.RR.R7      p\        P                  ! W!R,          4       \        P                  ! . RO. RO.RR.R7      p\        P                  ! W1R,          4       \        P
                  ! \        V4      4      p\        P                  ! . RO. RO.RR.R7      pWE8X  g   Q hR# )Ú dataset_column_order_permutationT)Úexist_okr   rå   r$   zdata1.parquetzdata2.parquetNr   )r2  çš™™™™™É?ç333333Ó?)çš™™™™™Ù?ç      à?ç333333ã?)r"  é   é   )r   r   r   r"  r²  r³  )r2  r­  r®  r¯  r°  r±  )Úmkdirr   r   rR   rÅ   rf   rP   )r   ÚcaseÚdata1Údata2r   rD  s   &     r    Ú test_permutation_of_column_orderr¸  •  s­   € àÐ7Õ7€DØ‡J�J˜€JÔä�HŠH’i¢Ð.°s¸C°jÔA€EÜ‡N‚N�5 Õ0Ô1ä�HŠH’l¢IÐ.°s¸C°jÔA€EÜ‡N‚N�5 Õ0Ô1ä�MŠMœ#˜d›)Ó$€EÜ�XŠXÒ)Ú5ð7à  #˜Jô(€Fð Œ?ÐŠ?r/   c                 ó^  € V R ,          p\         P                  ! \        \        ^
4      4      4      pRp\         P                  ! V.V,          \        V4       Uu. uF  pRV 2NK
  	  upR7      p\
        P                  ! WQ4       \        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! V^2V,          R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \
        P                  ! WR7       RRR4       \
        P                  ! V^dV,          R7      pWe8X  g   Q h\
        P                  ! V^V,          R7      pWe8X  g   Q h\
        P                  ! V4      pWe8X  g   Q hR# u upi   + '       g   i     LÇ; i  + '       g   i     L–; i)	zlargethrift.parquetr  Úsome_long_column_name_r$   z1Couldn't deserialize thrift:.*Exceeded size limitr   )Úthrift_string_size_limitN)Úthrift_container_size_limit)r   r'   r�   r�   r   rR   rÅ   r   r   r  rf   )r   rb   r'   Únum_colsr\  r   Úgots   &      r    Útest_thrift_size_limitsr¿  ¨  sE  € ØÐ*Õ*€Dä�HŠH”Tœ% ›)“_Ó%€EØ€HÜ�HŠHØ	ˆ�(ÕÜ5:¸8´_ÓE±_°Ð'¨ sÓ+±_ÑEôG€Eô ‡N‚N�5Ôä	�ŠÜØE÷
Gö 
Gô 	�Š�d°R¸(µ]ÕC÷
Gô 
�ŠÜØE÷
Gö 
Gô 	�Š�dÕA÷
Gô
 �-Š-˜°s¸Xµ~Ô
F€CØŒ<Ðˆ<Ü
�-Š-˜¸!¸h½,Ô
G€CØŒ<Ðˆ<Ü
�-Š-˜Ó
€CØŒ<ÐŠ<ùò# F÷
G÷ 
Gú÷
G÷ 
Gús   ÁF
Â* F	Ã6FÆ	F	ÆF,	c                ó(  € V R,          p\         P                  ! R. RO/4      p\        P                  ! W!RR7       \        P                  ! VRR7      pW#8X  g   Q h\        VP                  4       4      pV^,          V^$,          8w  g   Q hV^$,          V^,          uV^&   V^$&   V R,          pVP                  V4       \        P                  ! VRR7      pWb8w  g   Q hV\         P                  ! R. RO/4      8X  g   Q h\        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! VRR7      pR
R
R
4       \        P                  ! VRR7      pVP                  4       p	W’8w  g   Q hV	\         P                  ! R. RO/4      8X  g   Q h\        P                  ! VRR7      p\        P                  ! \        RR	7      ;_uu_ 4        VP                  4       pR
R
R
4       R
#   + '       g   i     L¸; i  + '       g   i     R
# ; i)zQCheck that checksum verification works for datasets created with
pq.write_table()zcorrect.parquetr   T©Úwrite_page_checksum©Úpage_checksum_verificationzcorrupted.parquetFúCRC checksum verificationr   N©r   r   r   r"  ©r   r   r   r"  )r   r   rR   rÅ   rf   Ú	bytearrayÚ
read_bytesÚwrite_bytesr   r   r  rg   rÕ   )
r   Úoriginal_pathÚ
table_origÚtable_checkÚbin_dataÚcorrupted_pathÚtable_corruptrG   Úcorrupted_pq_fileÚtable_corrupt2s
   &         r    Ú+test_page_checksum_verification_write_tablerÓ  Ã  sÂ  € ð
 Ð/Õ/€MÜ—’˜3¢Ð-Ó.€JÜ‡N‚N�:À$ÕGô —-’- È$ÔO€KØÔ$Ð$Ð$ô
 ˜×1Ñ1Ó3Ó4€Hð �B�<˜8 B�<Ô'Ð'Ð'Ø!)¨"¥¨x¸­|Ð€HˆR�L�(˜2‘,ð Ð2Õ2€NØ×Ñ˜xÔ(ô —M’M .Ø=BôD€Mð Ô&Ð&Ð&ØœBŸHšH cª<Ð%8Ó9Ô9Ð9Ð9ô 
�Š”wÐ&A×	BÖ	BÜ�MŠM˜.ÀTÔJˆ÷ 
Cô
 Ÿš ~ØBGôIÐà&×+Ñ+Ó-€NØÔ'Ð'Ð'ØœRŸXšX sªLÐ&9Ó:Ô:Ð:Ð:ô Ÿš ~ØBFôHÐô 
�Š”wÐ&A×	BÖ	BØ×"Ñ"Ó$ˆ÷ 
CÑ	B÷! 
C×	Bú÷  
C×	BÐ	Bús   Ä$G-ÇH Ç-G=	È H	c                óZ  € \         P                  ! R. RO/4      pV R,          p\        P                  ! VVRR7       \	        VP                  4       4      p\        V4      ^8X  g   Q hV^ ,          p\        P                  ! VRR7      pW8X  g   Q h\        VP                  4       4      pV^,          V^$,          8w  g   Q hV^$,          V^,          uV^&   V^$&   V R,          p\        W'4       WtP                  ,          pVP                  V4       \        P                  ! VRR7      p	W‘8w  g   Q hV	\         P                  ! R. RO/4      8X  g   Q h\        P                  ! \        RR	7      ;_uu_ 4        \        P                  ! VRR7      p
R
R
R
4       R
#   + '       g   i     R
# ; i)zTCheck that checksum verification works for datasets created with
pq.write_to_datasetr   Úcorrect_dirTrÁ  rÃ  Úcorrupted_dirFrÅ  r   NrÆ  rÇ  )r   r   rR   Úwrite_to_datasetr�   ÚiterdirÚlenrf   rÈ  rÉ  r   rÃ   rÊ  r   r   r  )r   rÌ  Úoriginal_dir_pathÚoriginal_file_path_listrË  rÍ  rÎ  Úcorrupted_dir_pathÚcorrupted_file_pathrÐ  rG   s   &          r    Útest_checksum_write_to_datasetrÞ  ý  s}  € ô
 —’˜3¢Ð-Ó.€Jð   -Õ/ÐÜ×Ò˜
Ø)Ø,0õ2ô
 #Ð#4×#<Ñ#<Ó#>Ó?ÐÜÐ&Ó'¨1Ô,Ð,Ð,Ø+¨AÕ.€MÜ—-’- È$ÔO€KØÔ$Ð$Ð$ô
 ˜×1Ñ1Ó3Ó4€Hð �B�<˜8 B�<Ô'Ð'Ð'Ø!)¨"¥¨x¸­|Ð€HˆR�L�(˜2‘,ð ! ?Õ2ÐÜÐÔ3à,×/AÑ/AÕAÐØ×#Ñ# HÔ-ô —M’MÐ"5Ø=BôD€Mð Ô&Ð&Ð&ØœBŸHšH cª<Ð%8Ó9Ô9Ð9Ð9ô 
�Š”wÐ&A×	BÖ	BÜ�MŠMÐ-È$ÔOˆ÷ 
C×	B×	BÒ	Bús   Å6FÆF*	Úsourcez/tmp/z/tmp/file1.parquetz/tmp/file2.parquetc                 óø   € V P                  \        P                  R R4       \        P                  ! \
        RR7      ;_uu_ 4        \        P                  ! VR7       RRR4       R#   + '       g   i     R# ; i)zpyarrow.datasetNr†   r   )rß  )ÚsetitemÚsysÚmodulesr   r   r   rR   rf   )Úmonkeypatchrß  s   &&r    Ú9test_read_table_raises_value_error_when_ds_is_unavailablerå  2  sI   € ð ×ÑœŸ™Ð%6¸Ô=ä	�Š”zÐ)@×	AÖ	AÜ
�Š˜VÕ$÷ 
B×	A×	AÒ	Aús   ÁA(Á(A9	)rà   u   ä¾‹.parquet)Yr   râ  Úcollectionsr   rÜ   r4  rl  Úshutilr   Údecimalr   r   Úpyarrowr   r   Úpyarrow.testsr   Úpyarrow.tests.parquet.commonr   r	   r
   Úpyarrow.parquetÚparquetrR   r   r   rp   Úpandasrž   Úpandas.testingÚtestingr¸   Úpyarrow.tests.pandas_examplesr   r   Únumpyr´   ÚmarkÚ
pytestmarkr!   r.   r5   r9   rH   rY   r]   rc   ri   rŒ   Úslowr‘   r›   r¡   r¯   r»   rÂ   ÚparametrizeÚLocalFileSystemrÈ   rË   rÞ   rã   rø   r  r  r)  r-  r7  r?  rE  rO  re  rh  rp  rv  rz  r|  Úfilterwarningsr…  r›  rž  r§  r©  r¸  r¿  rÓ  ÚdatasetrÞ  rå  rh   r/   r    Ú<module>rú     sB  ðó$ 
Û 
Ý #Û 	Û 	Û Ý Ý ã ã Ý Ý ÷7ñ 7ðÝ ßFð
ÛÝåBÝ<ðÛð �[‰[× Ñ €
ò.ò=ð ‡�×Ññó ðð ‡�×Ññ;ó ð;ð ‡�×Ññ3ó ð3ð$ ‡�×Ññ$ó ð$ð ‡�×Ññ$ó ð$ò$òòð0 ‡�×Ññ*ó ð*ð ‡�×Ññó ðð ‡�×Ññó ðòð8 ‡�×Ññ'ó ð'ò$Að  ‡�×Ñ˜Øˆ"×
Ò
Ó
ð(ó ð ‡�×Ñ˜Ð!@ÓAñ ó Bóð ò*3ò
&ò ò#/òL34òl}/ò@*2òZCò@*òF2ð ‡�×Ññ!ó ð!ð" ‡�×Ññ/ó ð/ð  ‡�×Ññ!ó ð!ò4!ò2ð ‡�×ÑñDó ðDò
ð ‡�×ÑØ‡�×ÑØ‡�×ÑÐ=Ó>Ø‡�×ÑÐLÓMØ‡�×ÑÐBÓCñ#Jó Dó Nó ?ó ó ð
#JðL ‡�×Ñ˜Ù$Ù8Ù%Ù9ð	+ó ð ‡�×ÑÐ*¨U°D¨MÓ:ñ4ó ;óð4ò(	 ò6ò$òò&ò67%ðt ‡�×Ññ1Pó ð1Pðh ‡�×ÑØˆwÐ-Ð/CÐDÐEóGñ%óGò%øð]  ô Ø	ƒBðûð ô Ø€N€B‹ðûð
 ô Ø	ƒBðús6   ÁN0 ÁO  Á,O Î0	N=Î<N=Ï OÏOÏ	OÏO