+
    NV-jèÅ  ã                   ó  € R t ^ RIt^ RIHt ^ RIH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HtHtHt ^ RIt^ RIHt ^ RIHt ^ RIHtHtHtHtH t   ^ RI!t!R	t" ^ RI$t$R	t%]
PL                  PO                  R4      ]
PL                  PO                  R4      .t(]
PR                  ! ]
PT                  ! R]
PL                  PW                  ]%'       * RR7      ]
PL                  PY                  ]! 4       RR
R7      .R7      ]
PT                  ! R]
PL                  PW                  ]"'       * RR7      R7      .R7      R 4       t-]
PR                  R 4       t.]
PR                  R 4       t/]
PR                  R 4       t0]
PR                  R 4       t1]
PR                  R 4       t2]
PR                  ! ]P                  Pg                  ]Ph                  4      ]P                  Pg                  ]Pj                  Pl                  4      ]P                  Pg                  ]Pj                  Pn                  4      ]P                  Pq                  RR4      ]P                  Pq                  RR4      ]P                  Pq                  RR4      ]P                  Pq                  R R4      .R7      R! 4       t9R4R" lt:R# t;R$ t<R% t=R& t>R' t?R( t@R) tAR* tBR+ tC ! R, R-4      tD ! R. R/]D4      tE ! R0 R1]D4      tF ! R2 R3]D4      tGR#   ]# d    R
t" EL—i ; i  ]# d    R
t% EL i ; i)5ztest parquet compatN)ÚDecimal)ÚBytesIO)Úusing_string_dtype)Úis_platform_windows)Úpa_version_under15p0Úpa_version_under17p0Úpa_version_under19p0Úpa_version_under20p0)ÚVersion)ÚFastParquetImplÚPyArrowImplÚ
get_engineÚread_parquetÚ
to_parquetTFz2ignore:DataFrame._data is deprecated:FutureWarningz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚfastparquetúfastparquet is not installed©ÚreasonúTODO(infer_string) fastparquet©r   Ústrict©ÚmarksÚpyarrowúpyarrow is not installed)Úparamsc                 ó   € V P                   # ©N©Úparam©Úrequests   &Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pandas/tests/io/test_parquet.pyÚenginer#   :   s   € ð2 �=‰=Ðó    c                  óJ   € \         '       g   \        P                  ! R 4       R# )r   r   )Ú_HAVE_PYARROWÚpytestÚskip© r$   r"   Úpar*   V   s   € ç‹=Ü�ŠÐ.Ô/Ùr$   c                 óÊ   € \         '       g   \        P                  ! R 4       \        4       '       d1   V P	                  \        P
                  P                  RRR7      4       R# )r   r   Fr   r   )Ú_HAVE_FASTPARQUETr'   r(   r   ÚapplymarkerÚmarkÚxfailr    s   &r"   Úfpr0   ]   sI   € çÓÜ�ŠÐ2Ô3Ü×ÒØ×ÑÜ�K‰K×ÑÐ%EÈeÐÓTô	
ñ r$   c                  ój   € \         P                  ! R . RORR/\         P                  ! R R.4      R7      # )ÚAÚBÚfoo©Úcolumns©é   é   é   )ÚpdÚ	DataFrameÚIndexr)   r$   r"   Ú	df_compatr>   h   s)   € ä�<Š<˜ši¨¨eÐ4¼b¿hºhÈÈSÀzÓ>RÔSÐSr$   c                  óÜ   € \         P                  ! R \        R4      R\        \        ^^4      4      R\        P
                  ! RRRR7      R. ROR	\         P                  ! R
^R7      /4      p V # )ÚaÚabcÚbÚdç      @ç      @Úfloat64©ÚdtypeÚeÚfÚ20130101©Úperiods©TFT)r;   r<   ÚlistÚrangeÚnpÚarangeÚ
date_range)Údfs    r"   Údf_cross_compatrU   m   s]   € ä	�Šà”�e“Ø””e˜A˜q“kÓ"à”—’˜3 ¨9Ô5ØÒ$Ø”—’˜z°1Ô5ð
	
ó
€Bð €Ir$   c                  ó   € \         P                  ! R \        R4      RR\        P                  R.R. ROR. ROR. ROR\        \        ^^4      4      R	\        P                  ! ^^4      P                  R
4      R\        P                  ! RRRR7      RR\        P                  R.R. ROR\         P                  ! R^RR7      R\         P                  ! R4      \         P                  \         P                  ! R4      ./4      # )ÚstringrA   Ústring_with_nanr@   ÚcÚstring_with_noneÚbytesÚunicodeÚintÚuintÚu1ÚfloatrD   rE   rF   rG   Úfloat_with_nanç       @ç      @ÚboolÚdatetimerK   Úns©rM   ÚunitÚdatetime_with_natÚ20130103©r@   NrY   )ó   fooó   bars   baz©r4   ÚbarÚbazrN   )r;   r<   rO   rQ   ÚnanrP   rR   ÚastyperS   Ú	TimestampÚNaTr)   r$   r"   Údf_fullru      sÎ   € ä�<Š<à”d˜5“kØ ¤R§V¡V¨SÐ1ØÒ 0ØÒ-ØÒ,Ø”4œ˜a ›Ó$Ø”B—I’I˜a “O×*Ñ*¨4Ó0Ø”R—Y’Y˜s C¨yÔ9Ø˜s¤B§F¡F¨CÐ0ØÒ'ØœŸš j¸!À$ÔGØÜ—’˜ZÓ(Ü—‘Ü—’˜ZÓ(ð"ð	
óð r$   z2019-01-04T16:41:24+0200z%Y-%m-%dT%H:%M:%S%zz2019-01-04T16:41:24+0215z2019-01-04T16:41:24-0200z2019-01-04T16:41:24-0215c                 ó   € V P                   # r   r   r    s   &r"   Útimezone_aware_date_listrw   —   s   € ð �=‰=Ðr$   c                ó  a aaaaaaa	€ \        V\        P                  4      '       g   \        R4      hS;'       g    RR/oS;'       g    / oSf   S oV'       d   VSR&   VSR&   V	VVV VVVV3R lpSf   VoV! V
4       R# V! V
4       R# )a¶  Verify parquet serializer and deserializer produce the same results.

Performs a pandas to disk and disk to pandas round trip,
then compares the 2 resulting DataFrames to verify equality.

Parameters
----------
df: Dataframe
engine: str, optional
    'pyarrow' or 'fastparquet'
path: str, optional
write_kwargs: dict of str:str, optional
read_kwargs: dict of str:str, optional
expected: DataFrame, optional
    Expected deserialization result, otherwise will be equal to `df`
check_names: list of str, optional
    Closed set of column names to be compared
check_like: bool, optional
    If True, ignore the order of index & columns.
repeat: int, optional
    How many times to repeat the test
z temp_file must be a pathlib.PathÚcompressionNr#   c           	      óÌ   <€ \        V 4       FS  pSP                  ! S3/ S
B  \        S3/ S	B pR S9   d   RSP                  R&   \        P
                  ! VSSSSR7       KU  	  R# )rX   N)Úcheck_namesÚ
check_likeÚcheck_dtype©r8   rX   )rP   r   r   ÚlocÚtmÚassert_frame_equal)ÚrepeatÚ_Úactualr}   r|   r{   rT   ÚexpectedÚpathÚread_kwargsÚwrite_kwargss   &  €€€€€€€€r"   ÚcompareÚ!check_round_trip.<locals>.compareÕ   se   ø€ Ü�v–ˆAØ�MŠM˜$Ñ/ ,Ò/Ü! $Ñ6¨+Ñ6ˆFà  HÔ,Ø59�—‘Ð1Ñ2Ü×!Ò!ØØØ'Ø%Ø'÷ó r$   )Ú
isinstanceÚpathlibÚPathÚ
ValueError)rT   Ú	temp_filer#   r†   rˆ   r‡   r…   r{   r|   r}   r‚   r‰   s   f&&fffffff& r"   Úcheck_round_tripr�   ¦   sˆ   ÿ€ ôF �i¤§¡×.Ò.ÜÐ;Ó<Ð<Ø×8Ð8 M°4Ð#8€LØ×#Ð# €KàÒØˆçØ!'ˆ�XÑØ &ˆ�HÑ÷ô ð ‚|ØˆÙ�Žá�Žr$   c                ó†   € ^ RI Hp VP                  V RR7      pVP                  P                  P                  V8X  g   Q hR# )z¦Check partitions of a parquet file are as expected.

Parameters
----------
path: str
    Path of the dataset.
expected: iterable of str
    Expected partition names.
NÚhive)Úpartitioning)Úpyarrow.datasetÚdatasetr“   ÚschemaÚnames)r†   r…   Údsr•   s   &&  r"   Úcheck_partition_namesr™   ë   s9   € õ !à�j‰j˜¨FˆjÓ3€GØ×Ñ×&Ñ&×,Ñ,°Ô8Ð8Ò8r$   c                 ó¦   € R p\         P                  ! \        VR7      ;_uu_ 4        \        WRR4       RRR4       R#   + '       g   i     R# ; i)z.engine must be one of 'pyarrow', 'fastparquet'©Úmatchr4   ro   N)r'   ÚraisesrŽ   r�   )r>   r�   Úmsgs   && r"   Útest_invalid_enginerŸ   û   s3   € Ø
:€CÜ	�Š”z¨×	-Ö	-Ü˜¨u°eÔ<÷ 
.×	-×	-Ò	-ús	   §?¿A	c                 óü   € V'       d-   \         '       g!   V P                  P                  R 4      V n        \        P                  ! RR4      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)Ústrúio.parquet.enginer   N)r   r6   rr   r;   Úoption_contextr�   )r>   r*   Úusing_infer_stringr�   s   &&&&r"   Útest_options_pyr¥     sO   € ç×"6Ó"6Ø%×-Ñ-×4Ñ4°UÓ;ˆ	Ôä	×	Ò	Ð.°	×	:Õ	:Ü˜Ô.÷ 
;×	:×	:Ò	:ús   ÁA*Á*A;	c                 ó”   € \         P                  ! R R4      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)r¢   r   N©r;   r£   r�   )r>   r0   r�   s   &&&r"   Útest_options_fpr¨   
  s/   € ô 
×	Ò	Ð.°×	>Õ	>Ü˜Ô.÷ 
?×	>×	>Ò	>úó	    6¶A	c                 ó”   € \         P                  ! R R4      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)r¢   ÚautoNr§   )r>   r0   r*   r�   s   &&&&r"   Útest_options_autor¬     s/   € ô 
×	Ò	Ð.°×	7Õ	7Ü˜Ô.÷ 
8×	7×	7Ò	7úr©   c                 óH  € \        \        R 4      \        4      '       g   Q h\        \        R4      \        4      '       g   Q h\        P
                  ! RR 4      ;_uu_ 4        \        \        R4      \        4      '       g   Q h\        \        R 4      \        4      '       g   Q h\        \        R4      \        4      '       g   Q h RRR4       \        P
                  ! RR4      ;_uu_ 4        \        \        R4      \        4      '       g   Q h\        \        R 4      \        4      '       g   Q h\        \        R4      \        4      '       g   Q h RRR4       \        P
                  ! RR4      ;_uu_ 4        \        \        R4      \        4      '       g   Q h\        \        R 4      \        4      '       g   Q h\        \        R4      \        4      '       g   Q h RRR4       R#   + '       g   i     EL+; i  + '       g   i     L²; i  + '       g   i     R# ; i)r   r   r¢   r«   N)r‹   r   r   r   r;   r£   )r0   r*   s   &&r"   Útest_options_get_enginer®     s}  € Ü”j Ó+¬[×9Ò9Ð9Ð9Ü”j Ó/´×AÒAÐAÐAä	×	Ò	Ð.°	×	:Õ	:Üœ* VÓ,¬k×:Ò:Ð:Ð:Üœ* YÓ/´×=Ò=Ð=Ð=Üœ* ]Ó3´_×EÒEÐEÑE÷ 
;ô
 
×	Ò	Ð.°×	>Õ	>Üœ* VÓ,¬o×>Ò>Ð>Ð>Üœ* YÓ/´×=Ò=Ð=Ð=Üœ* ]Ó3´_×EÒEÐEÑE÷ 
?ô
 
×	Ò	Ð.°×	7Õ	7Üœ* VÓ,¬k×:Ò:Ð:Ð:Üœ* YÓ/´×=Ò=Ð=Ð=Üœ* ]Ó3´_×EÒEÐEÑE÷ 
8Ñ	7÷ 
;×	:Ð	:ú÷
 
?×	>ú÷
 
8×	7Ð	7ús'   Á"A$G)Ã.A$G=Å:A$HÇ)G:	Ç=H	ÈH!	c                  óD  € ^ RI Hp  V P                  R4      pV P                  R4      p\        '       g   RM$\	        \
        P                  4      \	        V4      8  p\        '       g   RM$\	        \        P                  4      \	        V4      8  p\        ;'       d    V'       * p\        ;'       d    V'       * pV'       Eg   V'       Eg   V'       d@   RV R2p\        P                  ! \        VR7      ;_uu_ 4        \        R4       R	R	R	4       M:R
p\        P                  ! \        VR7      ;_uu_ 4        \        R4       R	R	R	4       V'       dA   RV R2p\        P                  ! \        VR7      ;_uu_ 4        \        R4       R	R	R	4       R	# Rp\        P                  ! \        VR7      ;_uu_ 4        \        R4       R	R	R	4       R	# R	# R	#   + '       g   i     L˜; i  + '       g   i     L«; i  + '       g   i     R	# ; i  + '       g   i     R	# ; i)é    )ÚVERSIONSr   r   FzPandas requires version .z. or newer of .pyarrow.r›   r«   Nz6Unable to find a usable engine; tried using: 'pyarrow'z. or newer of .fastparquet.z3Use pip or conda to install the fastparquet package)Úpandas.compat._optionalr±   Úgetr&   r
   r   Ú__version__r,   r   r'   r�   ÚImportErrorr   )r±   Ú
pa_min_verÚ
fp_min_verÚhave_pa_bad_versionÚhave_fp_bad_versionÚhave_usable_paÚhave_usable_fprœ   s           r"   Ú"test_get_engine_auto_error_messager¼   ,  s�  € õ 1ð —‘˜iÓ(€JØ—‘˜mÓ,€J÷ ‹}ñ 	ä”W×(Ñ(Ó)¬G°JÓ,?Ñ?ð ÷ !Ó ñ 	ä”[×,Ñ,Ó-´¸
Ó0CÑCð ô #×>Ð>Ð+>Ô'>€NÜ&×BÐBÐ/BÔ+B€Nçˆ>§. .çØ/°
¨|Ð;RÐSˆEÜ—’œ{°%×8Ö8Ü˜6Ô"÷ 9Ð8ð MˆEÜ—’œ{°%×8Ö8Ü˜6Ô"÷ 9÷ Ø/°
¨|Ð;VÐWˆEÜ—’œ{°%×8Ö8Ü˜6Ô"÷ 9Ñ8ð JˆEÜ—’œ{°%×8Ö8Ü˜6Ô"÷ 9Ñ8ñ# #1‰>÷ 9×8ú÷ 9×8ú÷
 9×8Ð8ú÷ 9×8Ð8ús0   Ã=GÄ8G'Å>G:Æ:HÇG$	Ç'G7	Ç:H	ÈH	c                 óÐ   € T pVP                  W1R R7       \        W2R7      p\        P                  ! WT4       \        W2RR.R7      p\        P                  ! WTRR.,          4       R # ©N)r#   ry   ©r#   r@   rC   )r#   r6   ©r   r   r€   r�   ©rU   r*   r0   r�   rT   Úresults   &&&&  r"   Útest_cross_engine_pa_fprÃ   W  sW   € ð 
€BØ‡M�M�)°D€MÔ9ä˜)Ô/€FÜ×Ò˜&Ô%ä˜)¸¸c¸
ÔC€FÜ×Ò˜& c¨3 Z¥.Ö1r$   c                 óÐ   € T pVP                  W2R R7       \        W1R7      p\        P                  ! WT4       \        W1RR.R7      p\        P                  ! WTRR.,          4       R # r¾   rÀ   rÁ   s   &&&&  r"   Útest_cross_engine_fp_parÅ   d  sU   € à	€Bà‡M�M�)°D€MÔ9ä˜)Ô/€FÜ×Ò˜&Ô%ä˜)¸¸c¸
ÔC€FÜ×Ò˜& c¨3 Z¥.Ö1r$   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚBaseiq  c           	     óš   € \         P                  ! W4R 7      ;_uu_ 4        \        WVRR7       RRR4       R#   + '       g   i     R# ; i)r›   N©ry   )r'   r�   r   )ÚselfrT   r#   ÚexcÚerr_msgÚtemp_file_paths   &&&&&&r"   Úcheck_error_on_writeÚBase.check_error_on_writer  s,   € ä�]Š]˜3×.Ö.Ü�r¨6¸tÕD÷ /×.×.Ò.ús	    9¹A
	c           	     ó˜   € \         P                  ! V4      ;_uu_ 4        \        WVR R7       R R R 4       R #   + '       g   i     R # ; i)NrÉ   )r€   Úexternal_error_raisedr   )rÊ   rT   r#   rË   rÍ   s   &&&&&r"   Úcheck_external_error_on_writeÚ"Base.check_external_error_on_writew  s.   € ä×%Ò% c×*Õ*Ü�r¨6¸tÕD÷ +×*×*Ò*ús	   Ÿ8¸A		r)   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rÎ   rÒ   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r"   rÇ   rÇ   q  s   ø‡ € òE÷
Eð Er$   rÇ   c                   ón  a € ] tR tRt o R tR t]P                  P                  R. RO4      R 4       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]P                  P                  R. RO4      R 4       t]P                  P.                  ]P                  P0                  R 4       4       tRtV tR# )Ú	TestBasici}  c                óÔ   € \         P                  ! . RO4      ^R\         P                  ! R4      \        P                  ! . RO4      3 F  pRpV P                  W1\        WB4       K  	  R# )r8   r4   rK   z+to_parquet only supports IO with DataFramesNr7   )r;   ÚSeriesrs   rQ   ÚarrayrÎ   rŽ   )rÊ   r#   r�   Úobjrž   s   &&&  r"   Ú
test_errorÚTestBasic.test_error~  sR   € ä�IŠI’iÓ ØØÜ�LŠL˜Ó$Ü�HŠH’YÓó
ˆCð @ˆCØ×%Ñ% c´:¸sÖNó
r$   c                óœ   € \         P                  ! R \        R4      R\        \        ^^4      4      /4      pRR.Vn        \        W2V4       R# )rW   rA   r]   r4   ro   N©r;   r<   rO   rP   r6   r�   )rÊ   r#   r�   rT   s   &&& r"   Útest_columns_dtypesÚTestBasic.test_columns_dtypes‰  s?   € Ü�\Š\˜8¤T¨%£[°%¼¼eÀAÀq»kÓ9JÐKÓLˆð ˜U�^ˆŒ
Ü˜¨Ö/r$   ry   Nc                óZ   € \         P                  ! R . RO/4      p\        WCVRV/R7       R# )r2   ry   ©rˆ   Nr7   ©r;   r<   r�   )rÊ   r#   ry   r�   rT   s   &&&& r"   Útest_compressionÚTestBasic.test_compression�  s)   € ä�\Š\˜3¢	Ð*Ó+ˆÜØ˜6°ÀÐ0L÷	
r$   c                óÚ   € \         P                  ! R \        R4      R\        \        ^^4      4      /4      p\         P                  ! R \        R4      /4      p\	        VVVVRR ./R7       R# )rW   rA   r]   r6   ©r…   r‡   N©r;   r<   rO   rP   r�   )rÊ   r#   r�   rT   r…   s   &&&  r"   Útest_read_columnsÚTestBasic.test_read_columns—  s]   € ä�\Š\˜8¤T¨%£[°%¼¼eÀAÀq»kÓ9JÐKÓLˆä—<’< ¬4°«;Ð 7Ó8ˆÜØØØØØ" X JÐ/÷	
r$   c                óÚ   € \         P                  ! R \        \        ^4      4      R\        R4      /4      p\         P                  ! R ^ ^./4      p\	        VVVVRR./RR.RR ./^R7       R# )	r]   ÚpartÚaabbÚpartition_colsÚfiltersr6   )r…   rˆ   r‡   r‚   N)ró   ú==r@   rï   )rÊ   r#   Útmp_pathrT   r…   s   &&&  r"   Útest_read_filtersÚTestBasic.test_read_filters¤  sv   € Ü�\Š\à”tœE !›H“~Øœ˜V›ðó
ˆô —<’< ¨¨A¨ Ó0ˆÜØØØØØ*¨V¨HÐ5Ø"Ð%8Ð$9¸9ÀuÀgÐNØ÷	
r$   c                óÔ  € \         P                  ! R 4       \        P                  ! R. RO/4      p\	        W!R 4       . R	O\        P
                  ! R^RR7      \        R4      . R
O.pV FU  pWBn        \        V\        P                  4      '       d!   VP                  P                  R4      Vn        \	        W!R 4       KW  	  . ROVn        RVP                  n        \	        W!R 4       R# )r   r2   rK   rf   rg   rA   Nr4   r7   )r9   r:   é   )r8   r:   rü   )r°   r8   r9   )r'   Úimportorskipr;   r<   r�   rS   rO   Úindexr‹   ÚDatetimeIndexÚ
_with_freqÚname)rÊ   r�   rT   Úindexesrþ   s   &&   r"   Útest_write_indexÚTestBasic.test_write_index·  sµ   € Ü×Ò˜IÔ&Ü�\Š\˜3¢	Ð*Ó+ˆÜ˜¨	Ô2ò Ü�MŠM˜*¨a°dÔ;Ü�‹KÚð	
ˆó ˆEØŒHÜ˜%¤×!1Ñ!1×2Ò2ØŸ8™8×.Ñ.¨tÓ4�”Ü˜R¨IÖ6ñ	 ò ˆŒØˆ�‰ŒÜ˜¨	Ö2r$   c                ó¤   € Tp\         P                  ! R . RO/4      p\         P                  P                  . RO4      pWTn        \        WBV4       R# )r2   Nr7   ©)r@   r8   )r@   r9   )rB   r8   )r;   r<   Ú
MultiIndexÚfrom_tuplesrþ   r�   )rÊ   r*   r�   r#   rT   rþ   s   &&&   r"   Útest_write_multiindexÚTestBasic.test_write_multiindexÎ  s>   € àˆä�\Š\˜3¢	Ð*Ó+ˆÜ—‘×)Ñ)Ò*HÓIˆØŒÜ˜¨Ö/r$   c           
     óà  € Tp\         P                  ! R RRRR7      p\         P                  ! \        P                  P                  ^4      P                  ^\        V4      ,          ^34      \        R4      R7      p\         P                  P                  RR.V.R	R
.R7      pVP                  RR7      pWg3 F2  pW…n        \        WRV4       \        VVVRRR./VRR.,          R7       K4  	  R# )z01-Jan-2018z01-Dec-2018ÚMSrf   )Úfreqrh   ÚABCr5   ÚLevel1ÚLevel2ÚlevelÚdate©r—   Nr6   r2   r3   ©r‡   r…   )r;   rS   r<   rQ   ÚrandomÚdefault_rngÚstandard_normalÚlenrO   r  Úfrom_productÚcopyrþ   r�   )	rÊ   r*   r�   r#   ÚdatesrT   Úindex1Úindex2rþ   s	   &&&      r"   Útest_multiindex_with_columnsÚ&TestBasic.test_multiindex_with_columns×  sß   € ØˆÜ—’˜m¨]ÀÈDÔQˆÜ�\Š\Ü�I‰I×!Ñ! !Ó$×4Ñ4°a¼#¸e»*µnÀaÐ5HÓIÜ˜“Kô
ˆô —‘×+Ñ+Ø˜Ð! 5Ð)°'¸6Ð1Bð ,ó 
ˆð —‘ 4�Ó(ˆØÓ%ˆEØŒHä˜R¨FÔ3ÜØØØØ&¨¨c¨
Ð3Ø˜S #˜J�÷ó	 &r$   c           	     óÖ  € \         P                  ! R . ROR. RO/4      pRRRR/pVP                  RR7      p\        W2WVR7       \         P                  ! R . ROR. RO/. ROR	7      p\        W2WVR7       . RO. RO.p\         P                  ! R
\	        \        ^4      4      R\        ^4       Uu. uF  qw) NK  	  up/VR	7      pVP                  RR7      p\        W2WVR7       R# u upi )r@   rB   ry   Nrþ   FT)Údrop©rˆ   r…   ©rþ   ÚoneÚtwor7   )ÚqÚrÚs)ÚzyxÚwvuÚtsr©ro   ro   rp   rp   r4   r4   Úquxr-  ©r$  r%  r$  r%  r$  r%  r$  r%  )r;   r<   Úreset_indexr�   rO   rP   )rÊ   r#   r�   rT   rˆ   r…   ÚarraysÚis   &&&     r"   Útest_write_ignoring_indexÚ#TestBasic.test_write_ignoring_indexî  sê   € ô �\Š\˜3¢	¨3²Ð@ÓAˆà% t¨W°eÐ<ˆð —>‘> t�>Ó,ˆäØ˜6Àxõ	
ô
 �\Š\Ø’)˜S¢/Ð2Ò:Oô
ˆô 	Ø˜6Àxõ	
ò EÚDð
ˆô �\Š\Ø”Dœ˜q›“N E¼¸a¼Ó+A¹°1«B¹Ñ+AÐBÈ&ô
ˆð —>‘> t�>Ó,ˆÜØ˜6Àx÷	
ùò	 ,Bs   Â/C&c                ó<  € \         P                  P                  . RO4      p\         P                  ! \        P
                  P                  ^4      P                  R4      VR7      pVR8X  d   V P                  WA\        RV4       R# VR8X  d   \        WBV4       R# R# )r@   r5   r   úColumn name must be a stringr   Nr  )rü   r:   )r;   r  r  r<   rQ   r  r  r  rÎ   Ú	TypeErrorr�   )rÊ   r#   r�   Ú
mi_columnsrT   s   &&&  r"   Útest_write_column_multiindexÚ&TestBasic.test_write_column_multiindex  s   € ä—]‘]×.Ñ.Ò/MÓNˆ
Ü�\Š\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àjô
ˆð �]Ô"Ø×%Ñ%ØœIÐ'EÀyöð �yÔ Ü˜R¨FÖ3ñ !r$   c                ó0  € . RO. R	O.p\         P                  ! \        P                  P	                  ^4      P                  R
4      VR7      pRR.VP                  n        VR8X  d   V P                  WA\        RV4       R# VR8X  d   \        WBV4       R# R# )ro   r5   r  r  r   zColumn namer   Nr,  )r8   r9   r8   r9   r8   r9   r8   r9   ©é   r<  )r;   r<   rQ   r  r  r  r6   r—   rÎ   rŽ   r�   ©rÊ   r#   r�   r0  rT   s   &&&  r"   Ú&test_write_column_multiindex_nonstringÚ0TestBasic.test_write_column_multiindex_nonstring"  s‡   € ò
 EÚ$ð
ˆô �\Š\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àfô
ˆð % hÐ/ˆ�
‰
ÔØ�]Ô"Ø×%Ñ% b´*¸mÈYÖWØ�yÔ Ü˜R¨FÖ3ñ !r$   c                óà   € Tp. RO. RO.p\         P                  ! \        P                  P	                  ^4      P                  R4      VR7      pRR.VP                  n        \        WRV4       R# )ro   r5   Ú	ColLevel1Ú	ColLevel2Nr,  r.  r;  )	r;   r<   rQ   r  r  r  r6   r—   r�   ©rÊ   r*   r�   r#   r0  rT   s   &&&   r"   Ú#test_write_column_multiindex_stringÚ-TestBasic.test_write_column_multiindex_string3  se   € ð ˆò EÚDð
ˆô �\Š\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àfô
ˆð (¨Ð5ˆ�
‰
Ôä˜¨Ö/r$   c                óÔ   € Tp. ROp\         P                  ! \        P                  P	                  ^4      P                  R4      VR7      pRVP                  n        \        WRV4       R# )ro   r5   Ú	StringColN)ro   rp   r4   r-  ©r<  rü   )	r;   r<   rQ   r  r  r  r6   r  r�   rC  s   &&&   r"   Útest_write_column_index_stringÚ(TestBasic.test_write_column_index_stringD  sT   € ð ˆò .ˆÜ�\Š\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àfô
ˆð &ˆ�
‰
Œä˜¨Ö/r$   c                ó  € . ROp\         P                  ! \        P                  P	                  ^4      P                  R4      VR7      pRVP                  n        VR8X  d   V P                  WA\        RV4       R# \        WBV4       R# )r8   r5   ÚNonStringColr   r5  N©r8   r9   r:   rü   rH  )r;   r<   rQ   r  r  r  r6   r  rÎ   r6  r�   r=  s   &&&  r"   Ú!test_write_column_index_nonstringÚ+TestBasic.test_write_column_index_nonstringR  so   € ò ˆÜ�\Š\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àfô
ˆð )ˆ�
‰
ŒØ�]Ô"Ø×%Ñ%ØœIÐ'EÀyöô ˜R¨FÖ3r$   c                óö  € \         P                  ! R 4      pVR8X  d2   \         P                  P                  RR7      pVP	                  V4       \
        P                  ! R\
        P                  ! . ROR4      R\
        P                  ! . ROR4      R	\
        P                  ! . RO4      R
\
        P                  ! . RO4      R\
        P                  ! . ROR4      R\
        P                  ! . ROR4      R\
        P                  ! . ROR4      /4      pVP                  Wc4       \        W1R7      p\        W1RR7      pVR,          P                  \        P                  ! R4      8X  g   Q h\        P                  ! R\        P                  ! . RORR7      R\        P                  ! . RORR7      R	\        P                  ! . RORR7      R
\        P                  ! . RORR7      R\        P                  ! . RORR7      R\        P                  ! . RORR7      R\        P                  ! . RORR7      /4      p	VR8X  d'   VP                  R	^R7      pV	P                  R	^R7      p	\        P                   ! W‰4       R# ) úpyarrow.parquetr   z.Fastparquet nullable dtype support is disabledr   r@   NÚint64rB   Úuint8rY   rC   rI   rJ   Úfloat32ÚgrF   r¿   Únumpy_nullable)r#   Údtype_backendÚInt64rG   ÚUInt8rW   ÚbooleanÚFloat32ÚFloat64)Úaxis©r8   r9   r:   N)r@   rB   rY   N)TFTNrM  )ç      ð?rb   rc   N)r'   rý   r.   r/   r-   r   Útablerà   Úwrite_tabler   rH   rQ   r;   r<   r!  r€   r�   )
rÊ   r#   r!   r�   Úpqr.   r`  Úresult1Úresult2r…   s
   &&&&      r"   Útest_dtype_backendÚTestBasic.test_dtype_backendb  s×  € Ü× Ò Ð!2Ó3ˆà�]Ô"ô —;‘;×$Ñ$ØGð %ó ˆDð ×Ñ Ô%ä—’à”W—]’]¢?°GÓ<Ø”W—]’]¢?°GÓ<Ø”W—]’]Ò#8Ó9Ø”W—]’]Ò#<Ó=à”W—]’]¢<°Ó9à”W—]’]Ò#8¸)ÓDØ”W—]’]Ò#8¸)ÓDð
ó
ˆð 	�‰�uÔ(Ü˜yÔ8ˆÜ˜yÐGWÔXˆà�s�|×!Ñ!¤R§X¢X¨iÓ%8Ô8Ð8Ð8Ü—<’<à”R—X’Xšo°WÔ=Ø”R—X’Xšo°WÔ=Ø”R—X’XÒ3¸8ÔDØ”R—X’XÒ7¸yÔIØ”R—X’Xšl°'Ô:Ø”R—X’XÒ3¸9ÔEØ”R—X’XÒ3¸9ÔEðó

ˆð �]Ô"ð —l‘l 3¨Q�lÓ/ˆGØ—}‘} S¨q�}Ó1ˆHÜ
×Ò˜gÖ0r$   rH   c                ó"  € \         P                  ! R \         P                  ! . VR7      /4      p\        P                  ! RR4       RpVR8X  d/   \         P                  ! R \         P                  ! . RR7      /4      p\        VVVRR/VR	7       R# )
ÚvaluerG   r   ú11.0.0Nr`   r\  rW  rV  r  )r;   r<   rà   r'   rý   r�   )rÊ   r*   rH   r�   rT   r…   s   &&&&  r"   Útest_read_empty_arrayÚTestBasic.test_read_empty_array’  sˆ   € ô  �\Š\àœŸš "¨EÔ2ðó
ˆô
 	×Ò˜I xÔ0àˆØ�GÔÜ—|’|àœRŸXšX b°	Ô:ðóˆHô
 	ØØØØ(Ð*:Ð;Ø÷	
r$   c                ó´  € VR 8w  d   \         P                  ! V4       \        V! RRRR4      RR7      ;_uu_ 4       pVP                  VP	                  4       R7       \        VP                  VR7      pR	R	R	4       Tp\        '       d%   VP                  P                  \        4      Vn        \        P                  ! XV4       R	#   + '       g   i     L[; i)
r«   ÚioÚdataÚparquetzsimple.parquetÚrb)Úmode)Úcontentr¿   N)r'   rý   ÚopenÚserve_contentÚreadr   Úurlr   r6   rr   Úobjectr€   r�   )rÊ   Ú
httpserverÚdatapathr>   r#   rJ   rT   r…   s   &&&&&   r"   Útest_parquet_read_from_urlÚ$TestBasic.test_parquet_read_from_url¸  s£   € ð �VÔÜ×Ò Ô'Ü‘(˜4 ¨Ð4DÓEÈD×QÕQÐUVØ×$Ñ$¨Q¯V©V«XÐ$Ô6Ü˜jŸn™n°VÔ<ˆB÷ Rð ˆßÓØ'×/Ñ/×6Ñ6´vÓ>ˆHÔÜ
×Ò˜b (Ö+÷ R×Qús   ¼8CÃC	r)   )NÚgzipÚsnappyÚbrotli)	rX  rY  rZ  rw  zdatetime64[ns, UTC]r`   z	period[D]r\  rW   )rÔ   rÕ   rÖ   r×   râ   ræ   r'   r.   Úparametrizerë   rð   rù   r  r	  r  r2  r8  r>  rD  rI  rN  re  rj  ÚnetworkÚ
single_cpurz  rØ   rÙ   rÚ   s   @r"   rÝ   rÝ   }  sÐ   ø‡ € ò	Oò0ð ‡[�[×Ñ˜]Ò,NÓOñ
ó Pð
ò
ò
ò&3ò.0òò.$
òL4ò4ò"0ò"0ò4ò .1ð` ‡[�[×ÑØò
	
óñ
óð
ð0 ‡[�[×ÑØ‡[�[×Ññ
,ó ó ö
,r$   rÝ   c                   ó”  a € ] tR tRt o R tR tR tR tR tR t	R t
]P                  P                  ]! 4       R	R
7      ]P                  P                  ]'       * RR
7      ]P                  P#                  R]]P(                  .4      R 4       4       4       tR t]P                  P.                  R 4       t]P                  P.                  R 4       t]P                  P.                  ]P                  P#                  RR.. .4      R 4       4       tR tR tR tR t]P                  P#                  R]R .RR.R7      R 4       tR t R t!R t"R  t#R! t$R" t%R# t&R$ t']P                  PQ                  R%4      R& 4       t)R' t*]P                  P#                  R(^ ^.]PV                  ! R)R*.]P                  P                  ],]-R+R,7      R-7      ]PV                  ! ].P\                  ! R.^^^ ^ 4      ].P\                  ! R.^^^^4      .]P                  P                  ]/R/R
7      R-7      .4      R0 4       t0R1 t1R2 t2R3 t3R4 t4R5 t5R6 t6R7 t7R8t8V t9R9# ):ÚTestParquetPyArrowiÇ  c                óº   € Tp\         P                  ! R R4       \        P                  ! R^RR7      pVP	                  R4      pWTR&   . ROVR&   \        WCV4       R# )	r   ri  rK   úEurope/Brussels©rM   ÚtzNÚdatetime_tzÚbool_with_none©TNT)r'   rý   r;   rS   r   r�   )rÊ   r*   ru   r�   rT   Údtis   &&&&  r"   Ú
test_basicÚTestParquetPyArrow.test_basicÈ  sW   € ØˆÜ×Ò˜I xÔ0ô �mŠm˜J°Ð6GÔHˆØ�n‰n˜TÓ"ˆØˆ=ÑÚ1ˆÐÑä˜¨Ö+r$   c           	     ó|   € Tp\         P                  ! R ^RR7      VR&   \        VVVVRR.,          RRR./R7       R# )	rK   r…  r†  rˆ  rW   r]   r6   rî   N)r;   rS   r�   )rÊ   r*   ru   r�   rT   s   &&&& r"   Útest_basic_subset_columnsÚ,TestParquetPyArrow.test_basic_subset_columnsÔ  sL   € ð ˆäŸMšM¨*¸aÐDUÔVˆˆ=ÑäØØØØ˜ 5Ð)Õ*Ø" X¨uÐ$5Ð6÷	
r$   c                ó&  € VP                  VR 7      p\        V\        4      '       g   Q h\        V4      p\	        V4      pVP                  4       pRVP                  R&   VR,          P                  R4      VR&   \        P                  ! WV4       R# )r¿   Nri   zM8[us]r~   )
r   r‹   r[   r   r   r  r   rr   r€   r�   )rÊ   r*   ru   Ú	buf_bytesÚ
buf_streamÚresr…   s   &&&    r"   Ú*test_to_bytes_without_path_or_buf_providedÚ=TestParquetPyArrow.test_to_bytes_without_path_or_buf_providedã  s€   € à×&Ñ&¨bÐ&Ó1ˆ	Ü˜)¤U×+Ò+Ð+Ð+ä˜YÓ'ˆ
Ü˜:Ó&ˆà—<‘<“>ˆØ-1ˆ�‰Ð)Ñ*Ø(0Ð1DÕ(E×(LÑ(LÈXÓ(VˆÐ$Ñ%Ü
×Ò˜cÖ,r$   c                óÜ   € \         P                  ! \        P                  ! ^4      P	                  ^^4      \        R4      R7      P                  4       pV P                  W1\        RV4       R# )é   Úaaar5   zDuplicate column names foundN©	r;   r<   rQ   rR   ÚreshaperO   r  rÎ   rŽ   ©rÊ   r*   r�   rT   s   &&& r"   Útest_duplicate_columnsÚ)TestParquetPyArrow.test_duplicate_columnsð  sL   € ä�\Š\œ"Ÿ)š) B›-×/Ñ/°°1Ó5¼tÀE»{ÔK×PÑPÓRˆØ×!Ñ!Ø”JÐ >À	ö	
r$   c                óz   € \         P                  ! R \         P                  ! R^R7      /4      p\        W2V4       R# )r@   ú1 dayrL   N)r;   r<   Útimedelta_ranger�   rœ  s   &&& r"   Útest_timedeltaÚ!TestParquetPyArrow.test_timedelta÷  s,   € Ü�\Š\˜3¤× 2Ò 2°7ÀAÔ FÐGÓHˆÜ˜¨Ö+r$   c                ó|   € \         P                  ! R . RO/4      pV P                  W1\        P                  V4       R# )r@   N©r@   r8   rb   )r;   r<   rÒ   r   ÚArrowExceptionrœ  s   &&& r"   Útest_unsupportedÚ#TestParquetPyArrow.test_unsupportedû  s/   € ä�\Š\˜3¢Ð.Ó/ˆð 	×*Ñ*¨2´7×3IÑ3IÈ9ÖUr$   c                óü   € \         P                  ! ^^
\         P                  R7      p\        P                  ! VR.R7      p\
        '       d$   V P                  WA\        P                  V4       R# \        WBV4       R# )r9   rG   Úfp16©rn  r6   N)
rQ   rR   Úfloat16r;   r<   r   rÒ   r   r¦  r�   )rÊ   r*   r�   rn  rT   s   &&&  r"   Útest_unsupported_float16Ú+TestParquetPyArrow.test_unsupported_float16  sY   € ô �yŠy˜˜B¤b§j¡jÔ1ˆÜ�\Š\˜t¨f¨XÔ6ˆßÓØ×.Ñ.Øœ×.Ñ.°	öô ˜R¨BÖ/r$   zqPyArrow does not cleanup of partial files dumps when unsupported dtypes are passed to_parquet function in windowsr   zfloat16 works on 15Ú	path_typec                ó˜  € \         P                  ! ^^
\         P                  R7      p\        P                  ! VR.R7      pV! V4      p\
        P                  ! \        P                  4      ;_uu_ 4        VP                  WaR7       RRR4       \        P                  P                  V4      '       d   Q hR#   + '       g   i     L9; i)r9   rG   rª  r«  )r†   r#   N)rQ   rR   r¬  r;   r<   r€   rÑ   r   r¦  r   Úosr†   Úisfile)rÊ   r*   r¯  r�   rn  rT   r†   s   &&&&   r"   Ú test_unsupported_float16_cleanupÚ3TestParquetPyArrow.test_unsupported_float16_cleanup  s…   € ô �yŠy˜˜B¤b§j¡jÔ1ˆÜ�\Š\˜t¨f¨XÔ6ˆá˜Ó#ˆÜ×%Ò%¤g×&<Ñ&<×=Õ=Ø�M‰M˜tˆMÔ/÷ >ä—7‘7—>‘> $×'Ò'Ð'Ð'Ñ'÷ >×=ús   Á5B9Â9C		c                ó"  € \         P                  ! R \         P                  ! \        R4      4      R\         P                  ! . RO\         P                  ! . R	O4      R7      R\         P                  ! . R
O. RORR7      /4      p\        W2V4       R# )r@   ÚabcdefrB   NrG   rY   T)Ú
categoriesÚordered)ro   r4   r4   ro   Nro   rn   )NrB   rY   NrY   rB   )rB   rY   rC   )r;   r<   ÚCategoricalrO   ÚCategoricalDtyper�   rœ  s   &&& r"   Útest_categoricalÚ#TestParquetPyArrow.test_categorical#  sl   € ä�\Š\à”R—^’^¤D¨£NÓ3à”R—^’^Ú=Ü×-Ò-Ò.CÓDôð
 ”R—^’^Ú4Ú.Ø ôðó
ˆô" 	˜¨Ö+r$   c           	     óš   € \         P                  ! R 4      pVP                  ! R/ VB pRV/p\        VVVVP                   R2VVR7       R# )Ús3fsÚ
filesystemú/pyarrow.parquet©r†   r‡   rˆ   Nr)   )r'   rý   ÚS3FileSystemr�   r  )	rÊ   r>   Ús3_bucket_publicÚs3sor*   r�   r¾  Ús3Úkws	   &&&&&&   r"   Útest_s3_roundtrip_explicit_fsÚ0TestParquetPyArrow.test_s3_roundtrip_explicit_fs8  sZ   € ô ×"Ò" 6Ó*ˆØ×ÒÑ& Ñ&ˆØ˜BÐˆÜØØØØ$×)Ñ)Ð*Ð*:Ð;ØØ÷	
r$   c           	     óL   € R V/p\        VVVRVP                   R2VVR7       R# )Ústorage_optionsús3://rÀ  rÁ  N©r�   r  )rÊ   r>   rÃ  rÄ  r*   r�   s   &&&&&&r"   Útest_s3_roundtripÚ$TestParquetPyArrow.test_s3_roundtripH  s:   € ð " 4Ð(ˆÜØØØØÐ)×.Ñ.Ð/Ð/?Ð@ØØ÷	
r$   Úpartition_colr2   c                óR  € \         P                  ! R 4       VP                  4       pV'       dO   VP                  \        P                  V\        P                  4      4      pRpWt,          P                  V4      Wt&   \        VVVVRVP                   R2RV/RVRRRV/R^R	7	       R# )
r¾  ÚcategoryrË  z/parquet_dirrÊ  rõ   ry   NT)r…   r†   r‡   rˆ   r|   r‚   )
r'   rý   r  rr   ÚdictÚfromkeysrQ   Úint32r�   r  )	rÊ   r>   rÃ  r*   rÏ  rÄ  r�   Úexpected_dfÚpartition_col_types	   &&&&&&&  r"   Útest_s3_roundtrip_for_dirÚ,TestParquetPyArrow.test_s3_roundtrip_for_dirU  s¯   € ô
 	×Ò˜FÔ#à—n‘nÓ&ˆ÷ Ø%×,Ñ,¬T¯]©]¸=Ì"Ï(É(Ó-SÓTˆKØ!+Ðà)4Õ)C×)JÑ)JØ"ó*ˆKÑ&ô 	ØØØØ ØÐ)×.Ñ.Ð/¨|Ð<Ø*¨DÐ1à  -Ø˜tØ! 4ðð
 Ø÷	
r$   c                ó  € \         P                  ! R 4       \        4       pVP                  V4       \	        V4      pV'       d-   \
        '       g!   VP                  P                  R4      Vn        \        P                  ! W4       R# )r   r¡   N)
r'   rý   r   r   r   r   r6   rr   r€   r�   )rÊ   r>   r¤   ÚbufferÚdf_from_bufs   &&&  r"   Útest_read_file_like_obj_supportÚ2TestParquetPyArrow.test_read_file_like_obj_supportw  s_   € Ü×Ò˜IÔ&Ü“ˆØ×Ñ˜VÔ$Ü" 6Ó*ˆß×&:Ó&:Ø )× 1Ñ 1× 8Ñ 8¸Ó ?ˆIÔÜ
×Ò˜iÖ5r$   c                ó´  € \         P                  ! R 4       VP                  RR4       VP                  RR4       \         P                  ! \        RR7      ;_uu_ 4        \        R4       RRR4       \         P                  ! \        RR7      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     LP; i  + '       g   i     R# ; i)r   ÚHOMEÚTestingUserÚUSERPROFILEz.*TestingUser.*r›   z~/file.parquetN)r'   rý   Úsetenvr�   ÚOSErrorr   r   )rÊ   r>   Úmonkeypatchs   &&&r"   Útest_expand_userÚ#TestParquetPyArrow.test_expand_user€  sŒ   € Ü×Ò˜IÔ&Ø×Ñ˜6 =Ô1Ø×Ñ˜=¨-Ô8Ü�]Š]œ7Ð*<×=Ö=ÜÐ)Ô*÷ >ä�]Š]œ7Ð*<×=Ö=Ø× Ñ Ð!1Ô2÷ >Ñ=÷ >×=úç=×=Ð=ús   ÁB3ÂCÂ3C	ÃC	c                óš   € R R.pTpVP                  WRR7       \        W4       \        V4      P                  VP                  8X  g   Q hR# )rd   r]   N©rõ   ry   ©r   r™   r   Úshape)rÊ   rø   r*   ru   rõ   rT   s   &&&&  r"   Útest_partition_cols_supportedÚ0TestParquetPyArrow.test_partition_cols_supported‰  sE   € à  %˜ˆØˆØ
�‰�hÈ4ˆÔPÜ˜hÔ7Ü˜HÓ%×+Ñ+¨r¯x©xÔ7Ð7Ò7r$   c                óœ   € R pV.pTpVP                  WRR7       \        W4       \        V4      P                  VP                  8X  g   Q hR# )rd   Nrè  ré  )rÊ   rø   r*   ru   rõ   Úpartition_cols_listrT   s   &&&&   r"   Útest_partition_cols_stringÚ-TestParquetPyArrow.test_partition_cols_string‘  sJ   € àˆØ-Ð.ÐØˆØ
�‰�hÈ4ˆÔPÜ˜hÔ<Ü˜HÓ%×+Ñ+¨r¯x©xÔ7Ð7Ò7r$   c                ó   € V # r   r)   )Úxs   &r"   Ú<lambda>ÚTestParquetPyArrow.<lambda>›  s   € ¡Qr$   rW   zpathlib.Path)Úidsc                ó”   € R pV.pTpV! V4      pVP                  W†R7       \        V4      P                  VP                  8X  g   Q hR# )r3   )rõ   N)r   r   rê  )	rÊ   rø   r*   r>   r¯  rõ   rî  rT   r†   s	   &&&&&    r"   Útest_partition_cols_pathlibÚ.TestParquetPyArrow.test_partition_cols_pathlibš  sL   € ð ˆØ-Ð.ÐØˆá˜Ó"ˆØ
�‰�dˆÔ?Ü˜DÓ!×'Ñ'¨2¯8©8Ô3Ð3Ò3r$   c                óN   € \         P                  ! . . R 7      p\        W2V4       R# ))rþ   r6   Nrê   rœ  s   &&& r"   Útest_empty_dataframeÚ'TestParquetPyArrow.test_empty_dataframe¨  s   € ä�\Š\ ¨BÔ/ˆÜ˜¨Ö+r$   c                óö   € ^ RI p\        P                  ! R^ ^./4      pVP                  ! VP                  ! RVP
                  ! 4       R7      .4      pVP                  \        4      p\        WBVRV/VR7       R# )r°   Nrò  ©Útyper–   r"  )	r   r;   r<   r–   ÚfieldÚbool_rr   rd   r�   )rÊ   r*   r�   r   rT   r–   Úout_dfs   &&&    r"   Útest_write_with_schemaÚ)TestParquetPyArrow.test_write_with_schema­  s`   € Ûä�\Š\˜3  A ˜-Ó(ˆØ—’ §¢¨s¸¿º»Ô!IÐ JÓKˆØ—‘œ4“ˆÜØ˜2¨X°vÐ,>È÷	
r$   c                óð  € \         P                  ! R 4       \        P                  ! R\        P                  ! . RORR7      R\        P                  ! . RORR7      R\        P                  ! . RORR7      /4      pV'       d,   \
        '       d    \        WCWP                  RR	/4      R
7       M\        WCV4       \        P                  ! R\        P                  ! . RORR7      /4      p\        WCV4       R# )r   r@   rX  rG   rB   ÚUInt32rY   NrW   r¡   ©r…   r7   rk   r^  )r'   rý   r;   r<   rß   r   r�   rr   )rÊ   r*   r¤   r�   rT   s   &&&& r"   Ú test_additional_extension_arraysÚ3TestParquetPyArrow.test_additional_extension_arrays·  sª   € ô 	×Ò˜IÔ&Ü�\Š\à”R—Y’Yšy°Ô8Ø”R—Y’Yšy°Ô9Ø”R—Y’YÒ/°xÔ@ðó
ˆ÷ ×"6Ó"6Ü˜R¨B¿¹ÀCÈÀ<Ó9PÖQä˜R¨BÔ/ä�\Š\˜3¤§	¢	ª/ÀÔ IÐJÓKˆÜ˜¨Ö+r$   c           	     ó  € \         P                  ! R 4       \        P                  ! R\        P                  ! . R
ORR7      /4      p\        P
                  ! RV4      ;_uu_ 4        V'       dU   \        '       d   VP                  R4      pMVP                  RV R24      pVP                  P                  R4      Vn        MVP                  RV R24      p\        WTWR	7       RRR4       R#   + '       g   i     R# ; i)r   r@   Nústring[pyarrow]rG   Ústring_storager¡   zstring[Ú]r  rk   )
r'   rý   r;   r<   rß   r£   r   rr   r6   r�   )rÊ   r*   r  r¤   r�   rT   r…   s   &&&&&  r"   Ú test_pyarrow_backed_string_arrayÚ3TestParquetPyArrow.test_pyarrow_backed_string_arrayÊ  sÀ   € ô 	×Ò˜IÔ&Ü�\Š\˜3¤§	¢	Ò*:ÐBSÔ TÐUÓVˆÜ×ÒÐ/°×@Õ@ß!ß'Ó'Ø!Ÿy™y¨Ó/‘Hà!Ÿy™y¨7°>Ð2BÀ!Ð)DÓE�HØ#+×#3Ñ#3×#:Ñ#:¸5Ó#A�Õ àŸ9™9 w¨~Ð.>¸aÐ%@ÓA�Ü˜R¨BÕB÷ A×@×@Ò@ús   Á&C/Á;A*C/Ã/D 	c                óV  € \         P                  ! R 4       \        P                  ! R\        P                  P                  . RO4      R\        P                  ! R^RR7      R\        P                  P                  \        P                  ! R^RR7      4      /4      p\        W2V4       R# )	r   rY   rC   z
2012-01-01ÚD)rM   r  rI   N))r°   r8   )r8   r9   )r:   rü   )
r'   rý   r;   r<   ÚIntervalIndexr  Úperiod_rangeÚfrom_breaksrS   r�   rœ  s   &&& r"   Útest_additional_extension_typesÚ2TestParquetPyArrow.test_additional_extension_typesÛ  s€   € ô 	×Ò˜IÔ&Ü�\Š\à”R×%Ñ%×1Ñ1Ò2JÓKØ”R—_’_ \¸1À3ÔGà”R×%Ñ%×1Ñ1Ü—M’M ,¸ÀÔDóð	ó	
ˆô 	˜¨Ö+r$   c           	     óˆ   € R p\         P                  ! R\         P                  ! RR^
R7      /4      p\        WBVRV/R7       R# )z2.6r@   z
2017-01-01Ú1ns©r  rM   Úversionré   N)r;   r<   rS   r�   )rÊ   r*   r�   ÚverrT   s   &&&  r"   Útest_timestamp_nanosecondsÚ-TestParquetPyArrow.test_timestamp_nanosecondsë  s;   € ð ˆÜ�\Š\˜3¤§¢¨lÀÐPRÔ SÐTÓUˆÜ˜¨¸)ÀSÐ9I×Jr$   c                ój   € ^V.,          p\         P                  ! VRV/R7      p\        WSVRR7       R# )é   Úindex_as_col©rþ   rn  F)r}   Nrê   )rÊ   r*   rw   r�   ÚidxrT   s   &&&&  r"   Útest_timezone_aware_indexÚ,TestParquetPyArrow.test_timezone_aware_indexò  s1   € ØÐ+Ð,Õ,ˆÜ�\Š\ ¨>¸3Ð*?Ô@ˆÜ˜¨¸×>r$   c                óê   € \         P                  ! R 4       \        P                  ! R\	        \        ^4      4      /4      pVP                  W!R7       \        W!R.R7      p\        V4      ^8X  g   Q hR# )r   r@   r¿   ©rö   N©r@   r÷   r°   )	r'   rý   r;   r<   rO   rP   r   r   r  )rÊ   r*   r�   rT   rÂ   s   &&&  r"   Útest_filter_row_groupsÚ)TestParquetPyArrow.test_filter_row_groups÷  sZ   € ä×Ò˜IÔ&Ü�\Š\˜3¤¤U¨1£X£Ð/Ó0ˆØ
�‰�iˆÔ+Ü˜i°nÐ5EÔFˆÜ�6‹{˜aÔÐÒr$   z2ignore:make_block is deprecated:DeprecationWarningc                óN  € ^ RI pTp\        P                  ! R^RRR7      pVP                  R4      pWeR&   . ROVR&   VP                  P                  V4      pVP                  \        P                  R7      pVR	,          P                  R
4      VR	&   \        VVVRR/VR7       R# )r°   NrK   r…  rf   )rM   r‡  rh   rˆ  r‰  )Útypes_mapperri   ztimestamp[us][pyarrow]rW  r   ©r#   r‡   r…   rŠ  )
r   r;   rS   r   ÚTableÚfrom_pandasÚ	to_pandasÚ
ArrowDtyperr   r�   )	rÊ   r*   ru   r�   r   rT   r‹  Úpa_tabler…   s	   &&&&     r"   Ú&test_read_dtype_backend_pyarrow_configÚ9TestParquetPyArrow.test_read_dtype_backend_pyarrow_configÿ  sª   € ãàˆô �mŠm˜J°Ð6GÈdÔSˆØ�n‰n˜TÓ"ˆØˆ=ÑÚ1ˆÐÑà—=‘=×,Ñ,¨RÓ0ˆØ×%Ñ%´2·=±=Ð%ÓAˆØ(0Ð1DÕ(E×(LÑ(LØ$ó)
ˆÐ$Ñ%ô 	ØØØØ(¨)Ð4Ø÷	
r$   c                óô   € \         P                  ! R ^^./\         P                  ! ^^.RR7      RR7      pVP                  4       pVP                  P                  R4      Vn        \        VVVRR/VR7       R# )	r@   Útest©r  zint64[pyarrow])rþ   rH   rW  r   r+  N)r;   r<   r=   r  rþ   rr   r�   )rÊ   r*   r�   rT   r…   s   &&&  r"   Ú,test_read_dtype_backend_pyarrow_config_indexÚ?TestParquetPyArrow.test_read_dtype_backend_pyarrow_config_index  so   € Ü�\Š\Ø�1�a�&ˆM¤§¢¨1¨a¨&°vÔ!>ÐFVô
ˆð —7‘7“9ˆà!Ÿ™×.Ñ.Ð/?Ó@ˆŒÜØØØØ(¨)Ð4Ø÷	
r$   r6   rl   rm   z*https://github.com/apache/arrow/pull/44171)r�   r   r   éÛ  z/pa.pandas_compat passes 'datetime64' to .astypec                ó–   € \         P                  ! R \        R4      R\        \        ^^4      4      /4      pW$n        \        WCV4       R# )rW   rA   r]   Nrå   )rÊ   r*   r6   r�   rT   s   &&&& r"   Útest_columns_dtypes_not_invalidÚ2TestParquetPyArrow.test_columns_dtypes_not_invalid(  s9   € ô2 �\Š\˜8¤T¨%£[°%¼¼eÀAÀq»kÓ9JÐKÓLˆàŒ
Ü˜¨Ö+r$   c                ó|   € \         P                  ! \         P                  ! . RORR7      R7      p\        W2V4       R# )r@   zcustom namer5  r#  N)r@   rB   rY   )r;   r<   r=   r�   rœ  s   &&& r"   Útest_empty_columnsÚ%TestParquetPyArrow.test_empty_columnsF  s%   € ä�\Š\¤§¢ª¸}Ô MÔNˆÜ˜¨Ö+r$   c                óÂ   € \         P                  ! ^^./R7      pR^/Vn        VP                  WR7       \	        WR7      pVP                  VP                  8X  g   Q hR# )r8   ©rn  Útest_attributer¿   N)r;   r<   Úattrsr   r   )rÊ   r�   r*   rT   Únew_dfs   &&&  r"   Útest_df_attrs_persistenceÚ,TestParquetPyArrow.test_df_attrs_persistenceK  sP   € Ü�\Š\  A 3˜xÔ(ˆØ$ aÐ(ˆŒØ
�‰�iˆÔ+Ü˜iÔ3ˆØ�|‰|˜rŸx™xÔ'Ð'Ò'r$   c           
     ó:  € \         P                  ! R RR./R R.R7      pVP                  WR7       \         P                  ! RR4      ;_uu_ 4        \	        WR7      pRRR4       \         P
                  ! \        P                  R	7      p\         P                  ! R RR./T\         P                  ! R R.VR
7      \         P                  ! R .\        '       d   V'       g   \        MTR
7      R7      p\        P                  ! XV4       R#   + '       g   i     Lµ; i)r@   rò  ÚyrB   )rn  rþ   r¿   úfuture.infer_stringTN©Úna_valuerG   )rn  rH   rþ   r6   )r;   r<   r   r£   r   ÚStringDtyperQ   rq   r=   r   rw  r€   r�   )rÊ   r�   r*   r¤   rT   rÂ   rH   r…   s   &&&&    r"   Útest_string_inferenceÚ(TestParquetPyArrow.test_string_inferenceR  sË   € ä�\Š\  c¨3 ZÐ0¸¸c¸
ÔCˆØ
�‰�iˆÔ+Ü×ÒÐ4°d×;Õ;Ü! )Ô7ˆF÷ <ä—’¬¯©Ô/ˆÜ—<’<Ø˜˜S�zÐ"ØÜ—(’(˜C ˜:¨UÔ3Ü—H’HØ�ç2Ó2×;M•FÐSXôô	

ˆô 	×Ò˜f hÖ/÷ <×;ús   ÁD
Ä
D	c           	     ó–  € ^ RI p\        P                  ! R\        R4      ./RR7      pVP	                  WP                  RVP                  ^4      3.4      R7       \        V4      p\        '       d   \        P                  ! RR./RR7      pM$\        P                  ! R\        R4      ./R	R7      p\        P                  ! WE4       R# )
r°   Nr@   z123.00r
  rG   )r–   Ú123rW   rw  )r   r;   r<   r   r   r–   Ú
decimal128r   r   r€   r�   )rÊ   r�   r*   rT   rÂ   r…   s   &&&   r"   Útest_roundtrip_decimalÚ)TestParquetPyArrow.test_roundtrip_decimalf  sœ   € ãä�\Š\˜3¤¨Ó!2Ð 3Ð4Ð<MÔNˆØ
�‰�i¯	©	°C¸¿¹ÀqÓ9IÐ3JÐ2KÓ(LˆÔMÜ˜iÓ(ˆßÓÜ—|’| S¨5¨' N¸(ÔC‰Hä—|’| S¬7°8Ó+<Ð*=Ð$>ÀhÔOˆHÜ
×Ò˜fÖ/r$   c                óP  € ^ RI p^ RIHp VP                  RVP	                  . ROVP                  4       4      /4      pVP                  WA4       \        P                  ! RR4      ;_uu_ 4        \        V4      pRRR4       \        P                  ! R. RO/\        P                  ! \        P                  R7      \        P                  ! R.\        P                  ! \        P                  R7      R7      R7      p\        P                   ! XV4       R#   + '       g   i     L£; i)	r°   Nr@   rH  TrI  rG   )rn  rH   r6   )NrB   rY   )r   Úpyarrow.parquetro  r`  rà   Úlarge_stringra  r;   r£   r   r<   rK  rQ   rq   r=   r€   r�   )rÊ   r�   r*   rb  r`  rÂ   r…   s   &&&    r"   Ú#test_infer_string_large_string_typeÚ6TestParquetPyArrow.test_infer_string_large_string_types  s¼   € ãÝ$à—‘˜#˜rŸx™xÒ(8¸"¿/¹/Ó:KÓLÐMÓNˆØ
�‰�uÔ(ä×ÒÐ4°d×;Õ;Ü! )Ó,ˆF÷ <ä—<’<ØÒ'Ð(Ü—.’.¬"¯&©&Ô1Ü—H’H˜c˜U¬"¯.ª.Ä"Ç&Á&Ô*IÔJô
ˆô
 	×Ò˜f hÖ/÷ <×;ús   Á.DÄD%	c                óÂ  € \         P                  ! R R4      p\         P                  ! R4      pVP                  \        P                  ! R^^4      .VP	                  R4      R7      pVP                  V.R.R7      pVP                  WQ4       \        V4      p\        P                  ! R\        P                  ! R^^4      ./RR	7      p\        P                  ! Wg4       R
# )r   ú13.0.0rQ  i@  Úusrý  Ú	timestampr  zdatetime64[us])rn  rH   N)r'   rý   rà   re   r[  r`  ra  r   r;   r<   r€   r�   )rÊ   r�   r*   rb  Úarrr`  rÂ   r…   s   &&      r"   Útest_non_nanosecond_timestampsÚ1TestParquetPyArrow.test_non_nanosecond_timestamps‘  s¹   € ä× Ò  ¨HÓ5ˆÜ× Ò Ð!2Ó3ˆà�h‰hœ×)Ò)¨$°°1Ó5Ð6¸R¿\¹\È$Ó=OˆhÓPˆØ—‘˜#˜ { m�Ó4ˆØ
�‰�uÔ(Ü˜iÓ(ˆÜ—<’<Ø¤× 1Ò 1°$¸¸1Ó =Ð>Ð?Ø"ô
ˆô 	×Ò˜fÖ/r$   c           	     ó(  € \         P                  ! R R4      pVP                  ! RVP                  ! VP                  ! 4       VP
                  ! 4       4      3.4      p\        P                  ! RR^//RR^//.4      p\        VVVRV/RRR//R	7       R
# )r   rY  r4   r2   r3   r–   Úto_pandas_kwargsÚmaps_as_pydictsr   )rˆ   r‡   N)	r'   rý   r–   Úmap_rW   rR  r;   r<   r�   )rÊ   r*   r�   r   r–   rT   s   &&&   r"   Útest_maps_as_pydictsÚ'TestParquetPyArrow.test_maps_as_pydicts   s“   € Ü×%Ò% i°Ó:ˆà—’Ø�W—\’\ '§.¢.Ó"2°G·M²M³OÓDÐEÐFó
ˆô �\Š\˜E C¨ 8Ð,¨u°s¸A°hÐ.?Ð@ÓAˆÜØØØØ" FÐ+Ø+Ð.?ÀÐ-JÐK÷	
r$   r)   N):rÔ   rÕ   rÖ   r×   rŒ  r�  r•  r�  r¢  r§  r­  r'   r.   r/   r   Úskipifr   r  r¡   rŒ   r�   r³  r»  r�  rÇ  rÍ  r×  rÜ  rå  rë  rï  r÷  rú  r  r  r  r  r  r"  r'  Úfilterwarningsr1  r6  r   r	   ÚNotImplementedErrorre   r   r:  r=  rD  rL  rQ  rV  r]  rc  rØ   rÙ   rÚ   s   @r"   rƒ  rƒ  Ç  s®  ø‡ € ò
,ò
ò-ò
ò,òVò
0ð ‡[�[×ÑÙÓð?ð ó ð ‡[�[×ÑÐ0Ô0Ð9NÐÓOØ‡[�[×Ñ˜[¨3°·±Ð*=Ó>ñ
(ó ?ó Póð
(ò,ð* ‡[�[×Ññ
ó ð
ð ‡[�[×Ññ

ó ð

ð ‡[�[×ÑØ‡[�[×Ñ˜_°¨u°b¨kÓ:ñ
ó ;ó ð
ò@6ò3ò8ò8ð ‡[�[×ÑØ�c™;Ð'¨h¸Ð-Gð ó ñ	4óð	4ò,ò

ò,ò&Cò",ò Kò?ò
 ð ‡[�[×ÑÐ TÓUñ
ó Vð
ò2
ð ‡[�[×ÑØà�ˆFØ�LŠLØ˜Ð Ø—k‘k×'Ñ'Ø(Ø.ØGð (ó ôð �LŠLà×%Ò% d¨A¨q°!°QÓ7Ø×%Ò% d¨A¨q°!°QÓ7ðð —k‘k×'Ñ'Ø(ØLð (ó ô	ð	
óñ0,ó1ð0,ò,ò
(ò0ò(0ò0ò<0÷
ð 
r$   rƒ  c                   óÊ   a € ] tR tRt o R tR tR tR tR tR t	R t
]P                  P                  R	 4       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# )ÚTestParquetFastParqueti°  c                ó  € \         P                  ! R 4      pVP                  R4      pTp\        P                  ! R^VR7      pVP                  R4      pW‡R&   \        P                  ! R^R7      VR&   \        WtV4       R# )	Úpytzz
US/EasternrK   r†  Nrˆ  r   rL   Ú	timedelta)r'   rý   Útimezoner;   rS   r   r¡  r�   )	rÊ   r0   ru   r!   r�   rk  r‡  rT   r‹  s	   &&&&&    r"   rŒ  Ú!TestParquetFastParquet.test_basic±  sm   € Ü×"Ò" 6Ó*ˆà�]‰]˜<Ó(ˆØˆä�mŠm˜J°°bÔ9ˆØ�n‰n˜TÓ"ˆØˆ=ÑÜ×,Ò,¨W¸aÔ@ˆˆ;‰Ü˜¨Ö+r$   c                óŠ  € \         P                  ! R \        R4      R\        \        ^^4      4      /4      p\        pRp^ ^.Vn        V P                  W1WEV4       RR.Vn        V P                  W1WEV4       \        P                  ! R^^^ ^ 4      \        P                  ! R^^^^4      .Vn        V P                  W1WEV4       R# )rW   rA   r]   r5  rl   rm   r8  N)r;   r<   rO   rP   r6  r6   rÎ   re   )rÊ   r0   r�   rT   Úerrrž   s   &&&   r"   Útest_columns_dtypes_invalidÚ2TestParquetFastParquet.test_columns_dtypes_invalid½  s¼   € Ü�\Š\˜8¤T¨%£[°%¼¼eÀAÀq»kÓ9JÐKÓLˆäˆØ,ˆð ˜�VˆŒ
Ø×!Ñ! "¨#°IÔ>ð ˜fÐ%ˆŒ
Ø×!Ñ! "¨#°IÔ>ô ×Ò˜d A q¨!¨QÓ/Ü×Ò˜d A q¨!¨QÓ/ð
ˆŒ
ð 	×!Ñ! "¨#°IÖ>r$   c                óÞ   € \         P                  ! \        P                  ! ^4      P	                  ^^4      \        R4      R7      P                  4       pRpV P                  W1\        WB4       R# )r˜  r™  r5   z9Cannot create parquet dataset with duplicate column namesNrš  ©rÊ   r0   r�   rT   rž   s   &&&  r"   r�  Ú-TestParquetFastParquet.test_duplicate_columnsÒ  sK   € ä�\Š\œ"Ÿ)š) B›-×/Ñ/°°1Ó5¼tÀE»{ÔK×PÑPÓRˆØIˆØ×!Ñ! "¬*°cÖEr$   c                ó¬   € \         P                  ! R . RO/4      p\         P                  ! R R\        P                  R./RR7      p\	        WCWRR7       R# )	r@   NFr_  g        r¬  rG   )r…   r}   )TNF)r;   r<   rQ   rq   r�   )rÊ   r0   r!   r�   rT   r…   s   &&&&  r"   Útest_bool_with_noneÚ*TestParquetFastParquet.test_bool_with_noneØ  sD   € Ü�\Š\˜3Ò 3Ð4Ó5ˆÜ—<’<  s¬B¯F©F°CÐ&8Ð 9ÀÔKˆô 	˜¨È5×Qr$   c           	     óú   € \         P                  ! R \         P                  ! RR^R7      /4      pV P                  W1\        RV4       \         P                  ! R . RO/4      pRpV P                  W1\        WB4       R# )r@   Ú2013ÚMr  Nz"Can't infer object conversion typer¥  )r;   r<   r  rÎ   rŽ   rt  s   &&&  r"   r§  Ú'TestParquetFastParquet.test_unsupportedß  sb   € ä�\Š\˜3¤§¢°¸SÈ!Ô LÐMÓNˆà×!Ñ! "¬*°d¸IÔFô �\Š\˜3¢Ð.Ó/ˆØ2ˆØ×!Ñ! "¬*°cÖEr$   c                óˆ   € \         P                  ! R \         P                  ! \        R4      4      /4      p\	        W2V4       R# )r@   rA   N)r;   r<   r¹  rO   r�   )rÊ   r0   r�   rT   s   &&& r"   r»  Ú'TestParquetFastParquet.test_categoricalê  s,   € Ü�\Š\˜3¤§¢¬t°E«{Ó ;Ð<Ó=ˆÜ˜¨Ö+r$   c                óÆ   € R \        \        ^4      4      /p\        P                  ! V4      pVP	                  W!R^R7       \        W!R.R7      p\        V4      ^8X  g   Q hR# )r@   N)r#   ry   Úrow_group_offsetsr%  r&  )rO   rP   r;   r<   r   r   r  )rÊ   r0   r�   rC   rT   rÂ   s   &&&   r"   r'  Ú-TestParquetFastParquet.test_filter_row_groupsî  sU   € Ø”$”u˜Q“x“.Ð!ˆÜ�\Š\˜!‹_ˆØ
�‰�i¸ÐPQˆÔRÜ˜i°nÐ5EÔFˆÜ�6‹{˜aÔÐÒr$   c                óP   € \        VVVR VP                   R2RV/RRRV/R7       R# )rË  z/fastparquet.parquetrÊ  ry   NrÁ  rÌ  )rÊ   r>   rÃ  rÄ  r0   r�   s   &&&&&&r"   rÍ  Ú(TestParquetFastParquet.test_s3_roundtripõ  s?   € ô 	ØØØØÐ)×.Ñ.Ð/Ð/CÐDØ*¨DÐ1Ø'¨Ð/@À$ÐG÷	
r$   c                ó  € R R.pTpVP                  VRVRR7       \        P                  P                  V4      '       g   Q h^ RIpVP
                  ! \        V4      R4      P                  p\        V4      ^8X  g   Q hR# )rd   r]   r   N©r#   rõ   ry   F©	r   r±  r†   Úexistsr   ÚParquetFiler¡   Úcatsr  ©rÊ   rø   r0   ru   rõ   rT   r   Úactual_partition_colss   &&&&    r"   rë  Ú4TestParquetFastParquet.test_partition_cols_supported  s|   € à  %˜ˆØˆØ
�‰ØØ Ø)Øð	 	ô 	
ô �w‰w�~‰~˜h×'Ò'Ð'Ð'Ûà +× 7Ò 7¼¸H»ÀuÓ M× RÑ RÐÜÐ(Ó)¨QÔ.Ð.Ò.r$   c                óþ   € R pTpVP                  VRVRR7       \        P                  P                  V4      '       g   Q h^ RIpVP
                  ! \        V4      R4      P                  p\        V4      ^8X  g   Q hR# )rd   r   Nr…  Fr†  rŠ  s   &&&&    r"   rï  Ú1TestParquetFastParquet.test_partition_cols_string  sx   € àˆØˆØ
�‰ØØ Ø)Øð	 	ô 	
ô �w‰w�~‰~˜h×'Ò'Ð'Ð'Ûà +× 7Ò 7¼¸H»ÀuÓ M× RÑ RÐÜÐ(Ó)¨QÔ.Ð.Ò.r$   c                ó  € R R.pTpVP                  VRRVR7       \        P                  P                  V4      '       g   Q h^ RIpVP
                  ! \        V4      R4      P                  p\        V4      ^8X  g   Q hR# )rd   r]   r   N)r#   ry   Úpartition_onFr†  rŠ  s   &&&&    r"   Útest_partition_on_supportedÚ2TestParquetFastParquet.test_partition_on_supported!  s|   € à  %˜ˆØˆØ
�‰ØØ ØØ'ð	 	ô 	
ô �w‰w�~‰~˜h×'Ò'Ð'Ð'Ûà +× 7Ò 7¼¸H»ÀuÓ M× RÑ RÐÜÐ(Ó)¨QÔ.Ð.Ò.r$   c           
     óÄ   € R R.pTpRp\         P                  ! \        VR7      ;_uu_ 4        VP                  VRRVVR7       RRR4       R#   + '       g   i     R# ; i)rd   r]   zYCannot use both partition_on and partition_cols. Use partition_cols for partitioning datar›   r   N)r#   ry   r�  rõ   )r'   r�   rŽ   r   )rÊ   rø   r0   ru   rõ   rT   rž   s   &&&&   r"   Ú3test_error_on_using_partition_cols_and_partition_onÚJTestParquetFastParquet.test_error_on_using_partition_cols_and_partition_on1  s^   € ð ! %˜ˆØˆð ð 	ô �]Š]œ:¨S×1Ö1Ø�M‰MØØ$Ø Ø+Ø-ð ô ÷ 2×1×1Ò1ús   ­AÁA	c                ój   € \         P                  ! 4       pVP                  4       p\        W2WR 7       R# )r  N)r;   r<   r  r�   )rÊ   r0   r�   rT   r…   s   &&&  r"   rú  Ú+TestParquetFastParquet.test_empty_dataframeD  s"   € ä�\Š\‹^ˆØ—7‘7“9ˆÜ˜¨×>r$   c                óª   € ^V.,          p\         P                  ! VRV/R7      pVP                  4       pRVP                  n        \        WdWR7       R# )r  r  r   rþ   r  N)r;   r<   r  rþ   r  r�   )rÊ   r0   rw   r!   r�   r!  rT   r…   s   &&&&&   r"   r"  Ú0TestParquetFastParquet.test_timezone_aware_indexJ  sH   € ð Ð+Ð,Õ,ˆä�\Š\ ¨>¸3Ð*?Ô@ˆà—7‘7“9ˆØ%ˆ�‰ÔÜ˜¨×>r$   c                ó2  € \         P                  ! V4      P                  R 4       \        P                  ! \
        4      ;_uu_ 4        \        VRR7       RRR4       \         P                  ! V4      P                  RR7       R#   + '       g   i     L8; i)s   breakitr   r¿   NF)Ú
missing_ok)rŒ   r�   Úwrite_bytesr€   rÑ   Ú	Exceptionr   Úunlink)rÊ   r�   s   &&r"   Ú$test_close_file_handle_on_read_errorÚ;TestParquetFastParquet.test_close_file_handle_on_read_errorU  s^   € Ü�Š�YÓ×+Ñ+¨JÔ7Ü×%Ò%¤i×0Õ0Ü˜¨=Õ9÷ 1ô 	�Š�YÓ×&Ñ&°%Ð&Ö8÷ 1×0ús   ÁBÂB	c                ó
  € \         P                  ! R ^ ^.R^^ ./R7      p\        VR4      ;_uu_ 4       pVP                  V4       RRR4       \	        W!R7      p\
        P                  ! WS4       R#   + '       g   i     L4; i)r2   r3   r@  ÚwbNr¿   )r;   r<   rs  r   r   r€   r�   )rÊ   r#   r�   rT   rJ   rÂ   s   &&&   r"   Útest_bytes_file_nameÚ+TestParquetFastParquet.test_bytes_file_name\  sd   € ä�\Š\  a¨ V¨S°1°a°&Ð9Ô:ˆÜ�)˜T×"Ô" aØ�M‰M˜!Ô÷ #ô ˜iÔ7ˆÜ
×Ò˜fÖ)÷	 #×"ús   ´A2Á2B	c                ó   € \         P                  ! R 4       \        P                  ! R^ ^.R^^ ./R7      p\         P                  ! \
        RR7      ;_uu_ 4        VP                  VR RR7       RRR4       \        P                  ! V4      P                  R	4       \         P                  ! \
        RR7      ;_uu_ 4        \        VR RR7       RRR4       R#   + '       g   i     Lr; i  + '       g   i     R# ; i)
r   r2   r3   r@  zfilesystem is not implementedr›   r4   ©r#   r¿  Nrl   )r'   rý   r;   r<   r�   rg  r   rŒ   r�   rœ  r   ©rÊ   r�   rT   s   && r"   Útest_filesystem_notimplementedÚ5TestParquetFastParquet.test_filesystem_notimplementede  s²   € Ü×Ò˜MÔ*Ü�\Š\  a¨ V¨S°1°a°&Ð9Ô:ˆÜ�]Š]Ô.Ð6U×VÖVØ�M‰M˜)¨MÀeˆMÔL÷ Wô 	�Š�YÓ×+Ñ+¨FÔ3Ü�]Š]Ô.Ð6U×VÖVÜ˜¨=ÀUÕK÷ WÑV÷	 W×Vú÷ W×VÐVúó   ÁCÃ C,ÃC)	Ã,C=	c                ó   € \         P                  ! R 4       \        P                  ! R^ ^.R^^ ./R7      p\         P                  ! \
        RR7      ;_uu_ 4        VP                  VR RR7       RRR4       \        P                  ! V4      P                  R	4       \         P                  ! \
        RR7      ;_uu_ 4        \        VR RR7       RRR4       R#   + '       g   i     Lr; i  + '       g   i     R# ; i)
r   r2   r3   r@  z1filesystem must be a pyarrow or fsspec FileSystemr›   r4   r¦  Nrl   )r'   rý   r;   r<   r�   rŽ   r   rŒ   r�   rœ  r   r§  s   && r"   Útest_invalid_filesystemÚ.TestParquetFastParquet.test_invalid_filesystemo  sÂ   € Ü×Ò˜IÔ&Ü�\Š\  a¨ V¨S°1°a°&Ð9Ô:ˆä�]Š]ÜÐQ÷
ö 
ð �M‰M˜)¨IÀ%ˆMÔH÷
ô
 	�Š�YÓ×+Ñ+¨FÔ3Ü�]Š]ÜÐQ÷
ö 
ô ˜¨9ÀÕG÷
ñ 
÷
÷ 
ú÷
÷ 
ð 
úrª  c           	     óD  € \         P                  ! R 4      p\        P                  ! R^ ^.R^^ ./R7      p\         P                  ! \
        RR7      ;_uu_ 4        VP                  VRVP                  4       RR/R	7       R
R
R
4       \        P                  ! V4      P                  R4       \         P                  ! \
        RR7      ;_uu_ 4        \        VRVP                  4       RR/R	7       R
R
R
4       R
#   + '       g   i     Lƒ; i  + '       g   i     R
# ; i)z
pyarrow.fsr2   r3   r@  z8storage_options not supported with a pyarrow FileSystem.r›   r   r4   ro   )r#   r¿  rÊ  Nrl   )r'   rý   r;   r<   r�   rg  r   ÚLocalFileSystemrŒ   r�   rœ  r   )rÊ   r�   Úpa_fsrT   s   &&  r"   Ú.test_unsupported_pa_filesystem_storage_optionsÚETestParquetFastParquet.test_unsupported_pa_filesystem_storage_options~  sñ   € Ü×#Ò# LÓ1ˆÜ�\Š\  a¨ V¨S°1°a°&Ð9Ô:ˆä�]Š]ÜØL÷
ö 
ð �M‰MØØ Ø ×0Ñ0Ó2Ø!&¨ ð	 ô ÷	
ô 	�Š�YÓ×+Ñ+¨FÔ3Ü�]Š]ÜØL÷
ö 
ô ØØ Ø ×0Ñ0Ó2Ø!&¨ õ	÷	
ñ 
÷
÷ 
ú÷
÷ 
ð 
ús   Á&C;Ã DÃ;D	ÄD	c           	     ó  € R p\         P                  ! R\        \        ^^4      4      /4      pVP	                  V4       \
        P                  ! \        VR7      ;_uu_ 4        \        VRR7       RRR4       R#   + '       g   i     R# ; i)zPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r]   r›   Únumpy)rW  N)	r;   r<   rO   rP   r   r'   r�   rŽ   r   )rÊ   r#   r�   rž   rT   s   &&&  r"   Útest_invalid_dtype_backendÚ1TestParquetFastParquet.test_invalid_dtype_backend™  sb   € ð%ð 	ô �\Š\˜5¤$¤u¨Q°£{Ó"3Ð4Ó5ˆØ
�‰�iÔ Ü�]Š]œ:¨S×1Ö1Ü˜°'Õ:÷ 2×1×1Ò1ús   Á#A;Á;B	r)   N)rÔ   rÕ   rÖ   r×   rŒ  rq  r�  rw  r§  r»  r'  r'   r.   r�  rÍ  rë  rï  r‘  r”  rú  r"  rŸ  r£  r¨  r¬  r±  rµ  rØ   rÙ   rÚ   s   @r"   ri  ri  °  sŒ   ø‡ € ò
,ò?ò*FòRò	Fò,ò ð ‡[�[×Ññ	
ó ð	
ò/ò /ò /ò ò&?ò	?ò9ò*òLòHò÷6;ð ;r$   ri  )	NNNNNTFTr9   )HÚ__doc__re   Údecimalr   rm  r   r±  rŒ   r´  rQ   r'   Úpandas._configr   Úpandas.compatr   Úpandas.compat.pyarrowr   r   r   r	   Úpandasr;   Úpandas._testingÚ_testingr€   Úpandas.util.versionr
   Úpandas.io.parquetr   r   r   r   r   r   r&   rµ   r   r,   r.   rf  Ú
pytestmarkÚfixturer   re  r/   r#   r*   r0   r>   rU   ru   ÚnowÚUTCrm  ÚminÚmaxÚstrptimerw   r�   r™   rŸ   r¥   r¨   r¬   r®   r¼   rÃ   rÅ   rÇ   rÝ   rƒ  ri  r)   r$   r"   Ú<module>rÈ     s)  ðÙ ã Ý Ý Û 	Û ã Û å -å -÷ó ó Ý Ý '÷õ ðÛà€MðÛàÐð ‡K�K×ÑÐSÓTØ
‡K�K×ÑØGóð€
ð ‡‚à�ŠØà—‘×"Ñ"Ø)Ô)Ø9ð #ó ð —‘×!Ñ!Ù&Ó(Ø;Ø ð "ó ð
ô	
ð 	�ŠØØ—+‘+×$Ñ$Ø!Ô!Ð*Dð %ó ô	
ðôñ0ó1ð0ð ‡�ñó ðð ‡�ñó ðð ‡�ñTó ðTð ‡�ñó ðð" ‡�ñó ðð. ‡‚à×Ñ×Ñ˜hŸl™lÓ+Ø×Ñ×Ñ˜h×/Ñ/×3Ñ3Ó4Ø×Ñ×Ñ˜h×/Ñ/×3Ñ3Ó4Ø×Ñ×"Ñ"Ð#=Ð?TÓUØ×Ñ×"Ñ"Ð#=Ð?TÓUØ×Ñ×"Ñ"Ð#=Ð?TÓUØ×Ñ×"Ñ"Ð#=Ð?TÓUðô
ñó
ðôBòJ9ò =ò/ò/ò/òFò((#òV
2ò
2÷	Eñ 	EôG,�ô G,ôT
f
˜ô f
ôRq;˜Tö q;øðU$ ô ØƒMðûð ô ØÓðús$   ÁK+ Á!K; Ë+	K8Ë7K8Ë;	LÌL