Ë
    ž…jP  ã                  óT  — d Z ddlmZ ddlZddlZddlZddlmZ ddlZddlZddl	Z	ddl
mZ ddlZddlZddlZddlmZ ddlZddlZddlZddlZddlmZ ddlmZ ddlZdd	lmZmZmZmZ ddl m!Z" dd
l#m$Z$ ddl%m&Z& ddl'mc m(Z) ddl*m+Z+m,Z, d„ Z-d„ Z.d„ Z/d„ Z0d:d„Z1ejd                  jg                  d ejh                  e/d¬«       ejh                  ejj                  d¬«       ejh                   ej                  ejj                  ejl                  ¬«      d¬«       ejh                   ej                  ejj                  d¬«      d¬«       ejh                   ej                  ejj                  d¬«      d¬«      g«      ejd                  jg                  dejj                  e/g«      ejd                  jg                  d e1 e$«       «      «      d„ «       «       «       Z7d„ Z8ejr                  d „ «       Z: G d!„ d"«      Z; G d#„ d$«      Z<d%„ Z=d&„ Z> G d'„ d(ej~                  «      Z@d)„ ZAd*„ ZBd+„ ZCd,„ ZDejd                  jg                  d-d.d/d- ej                  d0d1d1«      d2g«      d3„ «       ZEd4„ ZFd5„ ZGd6„ ZHejd                  jg                  d7ej’                  ejl                  g«      d8„ «       ZJd9„ ZKy);a<  
manage legacy pickle tests

How to add pickle tests:

1. Install pandas version intended to output the pickle.

2. Execute "generate_legacy_storage_files.py" to create the pickle.
$ python generate_legacy_storage_files.py <output_dir> pickle

3. Move the created pickle to "data/legacy_pickle/<version>" directory.
é    )ÚannotationsN)Úpartial)ÚPath)ÚAny)Úis_platform_little_endian)Úimport_optional_dependency)Ú	DataFrameÚIndexÚSeriesÚperiod_range)Úcreate_pickle_data)ÚVersion)ÚDayÚMonthEndc                ób  — t        |t        «      rt        j                  | |«       y |j	                  d«      rt        j
                  | |«       y |dk(  r/|t        j                  u r| t        j                  u s
J ‚| |k(  sJ ‚y y t        t        d|› d�t        j                  «      } || |«       y )NÚsp_Ú	timestampÚassert_Ú_equal)
Ú
isinstancer
   ÚtmÚassert_index_equalÚ
startswithÚassert_equalÚpdÚNaTÚgetattrÚassert_almost_equal)ÚresultÚexpectedÚtypÚ
comparators       ú\/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/io/test_pickle.pyÚcompare_elementr$   :   s›   € Ü�(œEÔ"Ü
×Ñ˜f hÔ/Øà
‡~�~�eÔÜ
�‰˜ Õ)Ø	�Ò	Ø”r—v‘vÑØœRŸV™VÑ#Ð#Ð#à˜XÒ%Ð%Ñ%ð $ô œR 7¨3¨%¨vÐ!6¼×8NÑ8NÓOˆ
Ù�6˜8Õ$ó    c                ó:  — t        j                  d«       t        «       st        j                  d«       t	        «       }t        t        «      j                  j                  d«      D �]'  }t        |j                  j                  «      } | |«      }t        j                  |«      }|j                  «       D �]Ô  \  }}|j                  «       D �]º  \  }}||   |   }	|dk(  r#|dv r|t        d«      k  r|	j                  d «      }	|t        d«      k  �rŒ|dv �rA|	j                  j!                  d	«      |	_        |d
v r>|	d   j!                  t"        «      |	d<   |	d   j$                  j'                  d«      |	d<   �nü|dv rV|	d   j!                  t        j(                  |	d   j*                  j,                  j!                  t"        «      «      «      |	d<   �n¢|dk(  r'|dk(  r"|	j.                  j'                  d«      |	_        �nv|dk(  �rp|	j.                  j1                  |	j.                  j2                  D �
cg c]  }
|
j!                  d	«      ‘Œ c}
«      |	_        �n|dv rÁ|dk(  r!|	j.                  j'                  d«      |	_        nó|dv r|	j$                  j'                  d«      }	nÓ|dk(  rL|	j!                  t        j(                  |	j*                  j,                  j!                  t"        «      «      «      }	n‚|dk(  r}|	j.                  j!                  t"        «      |	_        nX|dk(  r|dv r|	j'                  d«      }	n=|dk(  r8|	j1                  |	j2                  D �
cg c]  }
|
j!                  d	«      ‘Œ c}
«      }	|dk(  r$|	j!                  t        j4                  d«      «      }	|dv rh|t        d«      k  rd}n%t        d«      |cxk  rt        d«      k  rn nd}nd}|	j                  D ]#  }|	|   j$                  j'                  |«      |	|<   Œ% |dk(  r(|d k(  r#d!|v r|	j!                  t6        j8                  «      }	|d"k(  �r_|dk(  �rYt;        j<                  ||	«       |j.                  j>                  |	j.                  j>                  k(  sJ ‚|j.                  j>                  j@                  rJ ‚t;        j<                  |d#kD  |	d#kD  «       |j.                  j>                  }|tC        d$«      z   tC        d%«      k(  sJ ‚|t        jD                  d$¬&«      z   }tG        |t        jD                  «      sJ ‚|t        jD                  d$d$¬'«      k(  sJ ‚|t        jD                  d$¬(«      z   }tG        |t        jD                  «      sJ ‚|t        jD                  d$d$¬)«      k(  r�ŒÎJ ‚|dk(  r—|d*k(  r’t;        jH                  ||	«       tG        |j>                  tJ        «      sJ ‚|j>                  tK        «       k(  sJ ‚|jL                  d+k(  sJ ‚t;        jH                  |jO                  d%«      |	jO                  d%«      «       �Œl|d"k(  r|d,v rt;        j<                  ||	«       �Œ�|d-k(  r|d.v rt;        jP                  ||	«       �Œ®tS        ||	|«       �Œ½ �Œ× �Œ* y c c}
w c c}
w )/NÚpytzz"known failure on non-little endianzdata/legacy_pickle/*/*.p*kl*r   )ÚtzÚbothz1.3.0z
3.0.0.dev0)ÚframeÚsp_frameÚobject)ÚmixedÚ	mixed_dupÚCÚDÚns)Ú
cat_onecolÚcat_and_floatÚAr+   ÚfloatÚmi)ÚseriesÚ	sp_seriesÚts)ÚdtÚdt_tzÚcatÚdupÚindex)ÚdateÚ	timedeltaÚstringÚpython)Údt_mixed_tzsÚdt_mixed2_tzsz2.1ÚsÚusÚintÚwindowsr7   r   é   é   )Úhours)ÚdaysrK   )Únanoseconds)rL   rM   ÚperiodÚM)r;   r<   r*   )rC   r2   r3   )*ÚpytestÚimportorskipr   Úskipr   r   Ú__file__ÚparentÚglobr   Únamer   Úread_pickleÚitemsÚ
tz_convertÚcolumnsÚastyper,   r:   Úas_unitÚCategoricalDtyper<   Ú
categoriesr>   Ú
set_levelsÚlevelsÚStringDtypeÚnpÚint32r   Úassert_series_equalÚfreqÚ	normalizer   Ú	Timedeltar   r   r   ÚfreqstrÚshiftÚassert_frame_equalr$   )ÚdatapathÚcurrent_dataÚlegacy_pickleÚlegacy_versionÚdatar!   Údvr:   r   r    ÚlevelÚexpected_unitÚcolre   Úress                  r#   Útest_picklesru   P   s·  € Ü
×Ñ˜ÔÜ$Ô&Ü�‰Ð8Ô9ä%Ó'€Lô œh›×.Ñ.×3Ñ3Ð4RÓSó q;ˆÜ  ×!5Ñ!5×!:Ñ!:Ó;ˆÙ  Ó/ˆä�~‰~˜mÓ,ˆà—z‘z“|ó k	;‰GˆC�Ø Ÿh™h›jó j;‘
��FØ'¨Ñ,¨RÑ0�ð ˜;Ò&Ø˜nÑ,Ø&¬°Ó)9Ò9ð  (×2Ñ2°4Ó8�Hà!¤G¨LÓ$9Ó9ð Ð3Ò3Ø+3×+;Ñ+;×+BÑ+BÀ8Ó+L˜Ô(ØÐ!7Ñ7Ø,4°S©M×,@Ñ,@ÄÓ,H˜H S™MØ,4°S©M×,<Ñ,<×,DÑ,DÀTÓ,J˜H S›MØÐ#BÑBØ,4°S©M×,@Ñ,@Ü "× 3Ñ 3Ø$,¨S¡M×$5Ñ$5×$@Ñ$@×$GÑ$GÌÓ$Oó!"ó-˜H S›Mð
 ! JÒ.°2¸²=Ø-5¯^©^×-CÑ-CÀDÓ-I˜HžNØ 4›ZØ-5¯^©^×-FÑ-Fð 2:·±×1FÑ1Fö!"à(-ð %*§L¡L°Õ$:ò!"ó.˜HžNð Ð 7Ñ7Ø š:Ø-5¯^©^×-CÑ-CÀDÓ-I˜H�NØ ?Ñ2Ø'/§{¡{×':Ñ':¸4Ó'@™HØ 5š[Ø'/§¡Ü "× 3Ñ 3Ø$,§L¡L×$;Ñ$;×$BÑ$BÄ6Ó$Jó!"ó(™Hð
   5š[Ø-5¯^©^×-BÑ-BÄ6Ó-J˜H�NØ š¨BÐ2GÑ,GØ#+×#3Ñ#3°DÓ#9™Ø šØ#+×#6Ñ#6ØAIÇÁÖQ¸˜UŸ\™\¨(Õ3ÒQó$˜ð ˜X’~à#+§?¡?´2·>±>À(Ó3KÓ#L˜àÐ:Ñ:Ø%¬°«Ò6à(,™Ü  ›¨>ÔQ¼GÀLÓ<QÕQà(+™à(,˜Ø'×/Ñ/ò P˜Ø(0°©×(8Ñ(8×(@Ñ(@ÀÓ(O˜ šðPà˜'’> b¨E¢k°iÀ=Ñ6PØ'Ÿ™¬r¯x©xÓ8�Hà˜(“? r¨T£zä×*Ñ*¨6°8Ô<Ø!Ÿ<™<×,Ñ,°·±×0CÑ0CÒCÐCÐCØ%Ÿ|™|×0Ñ0×:Ò:Ð:Ð:Ü×*Ñ*¨6°A©:°xÀ!±|ÔDð "Ÿ<™<×,Ñ,�DØ¤# a£&™=¬C°«FÒ2Ð2Ð2à¤§¡°AÔ!6Ñ6�CÜ% c¬2¯<©<Ô8Ð8Ð8Ø¤"§,¡,°A¸QÔ"?Ò?Ð?Ð?à¤§¡¸!Ô!<Ñ<�CÜ% c¬2¯<©<Ô8Ð8Ð8Ø¤"§,¡,°AÀ1Ô"EÔEÐEÐEØ˜G’^¨¨hªÜ×)Ñ)¨&°(Ô;Ü% f§k¡k´8Ô<Ð<Ð<Ø!Ÿ;™;¬(«*Ò4Ð4Ð4Ø!Ÿ>™>¨SÒ0Ð0Ð0Ü×)Ñ)¨&¯,©,°q«/¸8¿>¹>È!Ó;LÖMØ˜H’_¨Ð/?Ñ)?Ü×*Ñ*¨6°8Ö<Ø˜G’^¨ð /ñ )ô
 ×)Ñ)¨&°(Ö;ä# F¨H°cÖ:òUj;òk	;ñq;ùòL!"ùò, Rs   È4ZÍZc                óv   — t        |d«      5 }t        j                  | |d¬«       d d d «       y # 1 sw Y   y xY w)NÚwbéÿÿÿÿ©Úprotocol)ÚopenÚpickleÚdump)ÚobjÚpathÚfhs      r#   Úpython_picklerr�   Ì   s3   € Ü	ˆd�DÓ	ð *˜RÜ�‰�C˜ bÕ)÷*÷ *ñ *ús   �/¯8c                ó’   — t        | d«      5 }|j                  d«       t        j                  |«      cd d d «       S # 1 sw Y   y xY w)NÚrbr   )r{   Úseekr|   Úload)r   r€   s     r#   Úpython_unpicklerr†   Ñ   s9   € Ü	ˆd�DÓ	ð ˜RØ
�‰�Œ
Ü�{‰{˜2‹÷÷ ò ús	   �&=½Ac                óˆ   — | j                  «       D ���cg c]  \  }}|j                  «       D ]  }||f‘Œ Œ  c}}}S c c}}}w )zFlatten create_pickle_data)rX   Úvalues)ro   r!   ÚexamplesÚexamples       r#   Úflattenr‹   ×   sS   € ð "ŸZ™Z›\÷ð áˆC�Ø—‘Ó(òð ð 
ˆgŠðØôð ùô s   •#=Úpickle_writerrB   )ÚidÚpandas_proto_defaultry   Úpandas_proto_highesté   Úpandas_proto_4é   Úpandas_proto_5Úwriterztyp, expectedc                ó°  — |} |||«       t        j                  |«      }t        ||| «       t        |«      }t        ||| «       t	        |d¬«      5 } |||«       |j                  d«       d d d «       t	        |d¬«      5 }t        j                  |«      }|j                  d«       d d d «       t        ||| «       y # 1 sw Y   ŒSxY w# 1 sw Y   Œ#xY w)Nrw   ©Úmoder   rƒ   )r   rW   r$   r†   r{   r„   )r!   r    rŒ   r”   Ú	temp_filer   r   Úhandles           r#   Útest_round_trip_currentrš   à   sÇ   € ð& €Dá�(˜DÔ!ô �^‰^˜DÓ!€FÜ�F˜H cÔ*ä˜dÓ#€FÜ�F˜H cÔ*ô 
ˆd˜Ô	ð  &Ùˆx˜ÔØ�‰�AŒ÷ô 
ˆd˜Ô	ð  &Ü—‘ Ó'ˆØ�‰�AŒ÷ô �F˜H cÕ*÷ð ú÷ð ús   ÁC Â'CÃ C	ÃCc                ó€  — t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }t        j                  |j                  t        j                  | «      }t        j                  ||«       y c c}w )	Nçš™™™™™ñ?éx   ©é   r�   ÚABCD©ÚdtyperŸ   úi-©rZ   r>   )r	   rb   ÚarangeÚreshaper
   Úlistr,   Úranger   Úround_trip_pathlibÚ	to_pickler   rW   rj   )r˜   ÚiÚdfr   s       r#   Útest_pickle_path_pathlibr­     s‡   € Ü	ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“l¬&Ô1Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1¼Ô@ô
€Bô
 ×"Ñ" 2§<¡<´·±ÀÓK€FÜ×Ñ˜"˜fÕ%ùò 2s   ÁB;c                 ó2   — dt        j                  «       › d�S )NÚ__z	__.pickle)ÚuuidÚuuid4© r%   r#   Úget_random_pathr³     s   € à”—
‘
“ˆ~˜YÐ'Ð'r%   c                  óŠ   — e Zd Zej                  Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zy	)
ÚTestCompressionc                ó  — |€t        j                  ||«       y |dk(  rt        j                  |d«      }�nJ|dk(  rt	        j
                  |d«      }�n-|dk(  r_t        j                  |dt        j                  ¬«      5 }|j                  |t        j                  j                  |«      «       d d d «       nÉ|dk(  rwt        |d«      5 }t        j                  |d¬«      5 }|j                  |t        j                  j                  |«      «      }|j                  ||«       d d d «       d d d «       nM|d	k(  rd
d l}|j#                  |d«      }n1|dk(  rt%        d«      j                  |d«      }nd|› �}	t'        |	«      ‚|dvr@t        |d«      5 }5  |j                  |j)                  «       «       d d d «       d d d «       y y # 1 sw Y   ŒNxY w# 1 sw Y   Œ°xY w# 1 sw Y   ŒfxY w# 1 sw Y   Œ7xY w# 1 sw Y   y xY w)NÚgzipÚwÚbz2Úzip©ÚcompressionÚtarrƒ   r–   Úxzr   ÚzstdÚ	zstandardrw   zUnrecognized compression type: )rº   r½   )ÚshutilÚcopyfiler·   r{   r¹   ÚBZ2FileÚzipfileÚZipFileÚZIP_DEFLATEDÚwriteÚosr   ÚbasenameÚtarfileÚ
gettarinfoÚaddfileÚlzmaÚLZMAFiler   Ú
ValueErrorÚread)
ÚselfÚsrc_pathÚ	dest_pathr¼   Úfr€   r½   ÚtarinforÍ   Úmsgs
             r#   Úcompress_filezTestCompression.compress_file  sÐ  € ØÐÜ�O‰O˜H iÔ0Øà˜&Ò Ü—	‘	˜) SÓ)ŠAØ˜EÒ!Ü—‘˜I sÓ+ŠAØ˜EÒ!Ü—‘ ¨C¼W×=QÑ=QÔRð >ÐVWØ—‘˜¤"§'¡'×"2Ñ"2°8Ó"<Ô=÷>ð >à˜EÒ!Ü�h Ó%ð -¨Ü—\‘\ )°#Ô6ð -¸#Ø!Ÿn™n¨X´r·w±w×7GÑ7GÈÓ7QÓR�GØ—K‘K ¨Ô,÷-÷-ð -ð ˜DÒ Ûà—‘˜i¨Ó-‰AØ˜FÒ"Ü*¨;Ó7×<Ñ<¸YÈÓM‰Aà3°K°=ÐAˆCÜ˜S“/Ð!à˜nÑ,Ü�h Ó%ð '¨Øñ 'Ø—G‘G˜BŸG™G›IÔ&÷'÷'ð 'ð -÷#>ð >ú÷-ð -ú÷-ð -ú÷ 'ð 'ú÷'ð 'úsU   Á?0GÃ	GÃ!AGÄ#GÆG6Æ G*Æ4G6ÇGÇG	ÇGÇG'Ç*G3	Ç/G6Ç6G?c                ó¾  — |j                   |j                  › d�z  }|j                   |j                  › d�z  }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d	|› �‘Œ	 c}t        ¬«      ¬
«      }|j                  ||¬«       t        j                  ||¬«      5 }t        |d«      5 }	|	j                  |j                  «       «       d d d «       d d d «       t!        j"                  |d ¬«      }
t        j$                  ||
«       y c c}w # 1 sw Y   ŒDxY w# 1 sw Y   ŒHxY w)Nú.compressedú.rawrœ   r�   rž   r    r¡   rŸ   r£   r¤   r»   rw   )rT   Ústemr	   rb   r¥   r¦   r
   r§   r,   r¨   rª   r   Údecompress_filer{   rÇ   rÐ   r   rW   rj   )rÑ   r¼   r³   r˜   Úp1Úp2r«   r¬   rÔ   r€   Údf2s              r#   Útest_write_explicitz#TestCompression.test_write_explicit?  s   € Ø×Ñ 9§>¡>Ð"2°+Ð >Ñ>ˆØ×Ñ 9§>¡>Ð"2°$Ð 7Ñ7ˆÜØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð 	�‰�R [ˆÔ1ô ×Ñ °Ô<ð 	#ÀÜ�b˜$“ð # 2Ø—‘˜Ÿ™›Ô"÷#÷	#ô
 �n‰n˜R¨TÔ2ˆä
×Ñ˜b #Õ&ùò 6÷#ð #ú÷	#ð 	#ús*   ÂEÃEÃ$ EÄEÅE	ÅEÅEr¼   )Ú ÚNoneÚbadÚ7zc                ó€  — t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }|}t        j                  t        d	¬
«      5  |j                  ||¬«       d d d «       y c c}w # 1 sw Y   y xY w)Nrœ   r�   rž   r    r¡   rŸ   r£   r¤   zUnrecognized compression type)Úmatchr»   )r	   rb   r¥   r¦   r
   r§   r,   r¨   rP   ÚraisesrÏ   rª   )rÑ   r¼   r³   r˜   r«   r¬   r   s          r#   Útest_write_explicit_badz'TestCompression.test_write_explicit_badU  s™   € äØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð
 ˆÜ�]‰]œ:Ð-LÔMñ 	8Ø�L‰L˜¨;ˆLÔ7÷	8ð 	8ùò 6÷	8ð 	8ús   ÁB/ÂB4Â4B=c                ó  — |j                   |j                  › |› �z  }|j                   |j                  › d�z  }| j                  j                  |j	                  «       «      }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬	«      }|j                  |«       t        j                  ||¬
«      5 }	t!        |d«      5 }
|
j#                  |	j%                  «       «       d d d «       d d d «       t'        j(                  |d ¬
«      }t        j*                  ||«       y c c}w # 1 sw Y   ŒDxY w# 1 sw Y   ŒHxY w)NrÚ   rœ   r�   rž   r    r¡   rŸ   r£   r¤   r»   rw   )rT   rÛ   Ú_extension_to_compressionÚgetÚlowerr	   rb   r¥   r¦   r
   r§   r,   r¨   rª   r   rÜ   r{   rÇ   rÐ   r   rW   rj   )rÑ   Úcompression_extr³   r˜   rÝ   rÞ   r¼   r«   r¬   rÔ   r€   rß   s               r#   Útest_write_inferz TestCompression.test_write_infer`  s>  € Ø×Ñ 9§>¡>Ð"2°?Ð2CÐ DÑDˆØ×Ñ 9§>¡>Ð"2°$Ð 7Ñ7ˆØ×4Ñ4×8Ñ8¸×9NÑ9NÓ9PÓQˆÜØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð 	�‰�RÔô ×Ñ °Ô<ð 	#ÀÜ�b˜$“ð # 2Ø—‘˜Ÿ™›Ô"÷#÷	#ô
 �n‰n˜R¨TÔ2ˆä
×Ñ˜b #Õ&ùò 6÷#ð #ú÷	#ð 	#ús*   Â9E*Ã?E;Ä E/Ä,E;Å/E8	Å4E;Å;Fc                ó  — |j                   |j                  › d�z  }|j                   |j                  › d�z  }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d	|› �‘Œ	 c}t        ¬«      ¬
«      }|j                  |d ¬«       | j                  |||¬«       t        j                  ||¬«      }t        j                  ||«       y c c}w )NrÚ   rÙ   rœ   r�   rž   r    r¡   rŸ   r£   r¤   r»   )rT   rÛ   r	   rb   r¥   r¦   r
   r§   r,   r¨   rª   r×   r   rW   r   rj   )	rÑ   r¼   r³   r˜   rÝ   rÞ   r«   r¬   rß   s	            r#   Útest_read_explicitz"TestCompression.test_read_explicitw  sÜ   € Ø×Ñ 9§>¡>Ð"2°$Ð 7Ñ7ˆØ×Ñ 9§>¡>Ð"2°+Ð >Ñ>ˆÜØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð 	�‰�R TˆÔ*ð 	×Ñ˜2˜r¨{ÐÔ;ô �n‰n˜R¨[Ô9ˆÜ
×Ñ˜b #Õ&ùò 6s   ÂDc                ó^  — |j                   |j                  › d�z  }|j                   |j                  › |› �z  }| j                  j                  |j	                  «       «      }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬	«      }|j                  |d ¬
«       | j                  |||¬
«       t        j                   |«      }	t#        j$                  ||	«       y c c}w )NrÚ   rœ   r�   rž   r    r¡   rŸ   r£   r¤   r»   )rT   rÛ   rê   rë   rì   r	   rb   r¥   r¦   r
   r§   r,   r¨   rª   r×   r   rW   r   rj   )
rÑ   rí   r³   r˜   rÝ   rÞ   r¼   r«   r¬   rß   s
             r#   Útest_read_inferzTestCompression.test_read_inferŠ  sü   € Ø×Ñ 9§>¡>Ð"2°$Ð 7Ñ7ˆØ×Ñ 9§>¡>Ð"2°?Ð2CÐ DÑDˆØ×4Ñ4×8Ñ8¸×9NÑ9NÓ9PÓQˆÜØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð 	�‰�R TˆÔ*ð 	×Ñ˜2˜r¨{ÐÔ;ô �n‰n˜RÓ ˆÜ
×Ñ˜b #Õ&ùò 6s   Â9D*N)Ú__name__Ú
__module__Ú__qualname__ÚicomÚextension_to_compressionrê   r×   rà   rP   ÚmarkÚparametrizerè   rî   rð   rò   r²   r%   r#   rµ   rµ     sO   „ Ø $× =Ñ =Ðò'ò@'ð, ‡[�[×Ñ˜]Ò,EÓFñ8ó Gð8ò'ò.'ó&'r%   rµ   c                  óT   — e Zd Zej                  j                  dg d¢«      d„ «       Zy)ÚTestProtocolrz   )rx   r   rI   rJ   c                óv  — |}t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }|j                  ||¬	«       t        j                  |«      }t        j                  ||«       y c c}w )
Nrœ   r�   rž   r    r¡   rŸ   r£   r¤   ry   )r	   rb   r¥   r¦   r
   r§   r,   r¨   rª   r   rW   r   rj   )rÑ   rz   r³   r˜   r   r«   r¬   rß   s           r#   Ú	test_readzTestProtocol.test_read¥  sŽ   € àˆÜØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð
 	�‰�T HˆÔ-Ü�n‰n˜TÓ"ˆÜ
×Ñ˜b #Õ&ùò	 6s   ÁB6N)ró   rô   rõ   rP   rø   rù   rý   r²   r%   r#   rû   rû   ¤  s%   „ Ø‡[�[×Ñ˜ZªÓ7ñ	'ó 8ñ	'r%   rû   c                óö  — | }t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }t        |d	«      5 }|j                  |«       d d d «       t        |d
«      5 }t        j                  |«      }d d d «       t        j                  |«       y c c}w # 1 sw Y   ŒOxY w# 1 sw Y   Œ1xY w)Nrœ   r�   rž   r    r¡   rŸ   r£   r¤   rw   rƒ   )r	   rb   r¥   r¦   r
   r§   r,   r¨   r{   rª   r   rW   r   rj   )r˜   r   r«   r¬   r€   r   s         r#   Útest_pickle_buffer_roundtriprÿ   ²  sÌ   € Ø€DÜ	ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“l¬&Ô1Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1¼Ô@ô
€Bô
 
ˆd�DÓ	ð ˜RØ
�‰�RÔ÷ä	ˆd�DÓ	ð $˜RÜ—‘ Ó#ˆ÷$ä×Ñ˜"˜fÕ%ùò 2÷ð ú÷$ð $ús   ÁCÂC#Â)C/Ã#C,Ã/C8c                óœ  — t        j                  d«       d}t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d	|› �‘Œ	 c}t        ¬«      ¬
«      }|j                  |«       t        j                  |«      }t        j                  ||«       y c c}w )NÚfsspeczmemory://mockfilerœ   r�   rž   r    r¡   rŸ   r£   r¤   )rP   rQ   r	   rb   r¥   r¦   r
   r§   r,   r¨   rª   r   rW   r   rj   )r˜   Úmockurlr«   r¬   r   s        r#   Útest_pickle_fsspec_roundtripr  À  s˜   € Ü
×Ñ˜Ô!à!€GÜ	ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“l¬&Ô1Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1¼Ô@ô
€Bð
 ‡L�L�ÔÜ�^‰^˜GÓ$€FÜ×Ñ˜"˜fÕ%ùò	 2s   Á.C	c                  ó   — e Zd Zdd„Zy)ÚMyTzc                 ó   — y ©Nr²   )rÑ   s    r#   Ú__init__zMyTz.__init__Ï  s   € Ør%   N)Úreturnrâ   )ró   rô   rõ   r  r²   r%   r#   r  r  Î  s   „ ôr%   r  c                óÆ   — t        t        ¬«      t        «       f}t        j                  || «      }t        j
                  |d   |d   «       t        |d   t        «      sJ ‚y )Nr¡   r   rI   )r   r,   r  r   Úround_trip_picklerd   r   )r˜   r    r   s      r#   Útest_read_pickle_with_subclassr  Ó  sQ   € äœFÔ#¤T£VÐ+€HÜ×!Ñ! (¨IÓ6€Fä×Ñ˜6 !™9 h¨q¡kÔ2Ü�f˜Q‘i¤Ô&Ð&Ñ&r%   c                ó^  — t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }|}|j                  || ¬	«       |j                  «       }t        j                  «       }|j                  || ¬	«       |j                  d
«       |j                  «       |k(  s| dv sJ ‚t        j                  || ¬	«      }|j                  d
«       t!        j"                  ||«       yc c}w )ze
    Read/write from binary file-objects w/wo compression.

    GH 26237, GH 29054, and GH 29570
    rœ   r�   rž   r    r¡   rŸ   r£   r¤   r»   r   )r·   rº   r½   N)r	   rb   r¥   r¦   r
   r§   r,   r¨   rª   Ú
read_bytesÚioÚBytesIOr„   Úgetvaluer   rW   r   rj   )r¼   r˜   r«   r¬   r   Ú	referenceÚbufferÚread_dfs           r#   Ú%test_pickle_binary_object_compressionr  Ü  sò   € ô 
ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“l¬&Ô1Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1¼Ô@ô
€Bð €DØ‡L�L� ;€LÔ/Ø—‘Ó!€Iô �Z‰Z‹\€FØ‡L�L� [€LÔ1Ø
‡K�K�„Nð �?‰?Ó 	Ò)¨[Ð<RÑ-RÐRÐRô �n‰n˜V°Ô=€GØ
‡K�K�„NÜ×Ñ˜"˜gÕ&ùò' 2s   ÁD*c                ó‚   — | }|}d„ } |||«        ||j                   |«        |||«        ||j                   |«       y )Nc                ó\   — t        j                  | |«      }t        j                  | |«       y r  )r   r  rj   )r*   r˜   Ú	unpickleds      r#   Ú_test_roundtripzDtest_pickle_dataframe_with_multilevel_index.<locals>._test_roundtrip  s$   € Ü×(Ñ(¨°	Ó:ˆ	Ü
×Ñ˜e YÕ/r%   )ÚT)Ú/multiindex_year_month_day_dataframe_random_dataÚ multiindex_dataframe_random_datar˜   Úymdr*   r  s         r#   Ú+test_pickle_dataframe_with_multilevel_indexr  û  sE   € ð
 :€CØ,€Eò0ñ �E˜9Ô%Ù�E—G‘G˜YÔ'Ù�C˜Ô#Ù�C—E‘E˜9Õ%r%   c                ó  — t        ddd¬«      }t        t        j                  j	                  d«      j                  t        |«      «      |«      }t        j                  || «      }|j                  j                  dk(  sJ ‚y )Nz1/1/2011z1/1/2012rO   )re   rJ   )r   r   rb   ÚrandomÚdefault_rngÚstandard_normalÚlenr   r  r>   rh   )r˜   Úprngr9   Únew_tss       r#   Ú"test_pickle_timeseries_periodindexr&    sd   € ä˜
 J°SÔ9€DÜ	”—	‘	×%Ñ% aÓ(×8Ñ8¼¸T»ÓCÀTÓ	J€BÜ×!Ñ! " iÓ0€FØ�<‰<×Ñ 3Ò&Ð&Ñ&r%   rV   i	  g     Hˆ@iÑ  é   )rI   rJ   c                ó®   — t        j                  t        t        j                  dt        j
                  ¬«      | ¬«      |«      }|j                  | k(  sJ ‚y )Né
   r¡   )rV   )r   r  r   rb   r¥   Úfloat64rV   )rV   r˜   r  s      r#   Útest_pickle_preserve_namer+    sC   € ô ×$Ñ$ÜŒr�y‰y˜¤2§:¡:Ô.°TÔ:¸Ió€Ið �>‰>˜TÒ!Ð!Ñ!r%   c                ó\   — t        j                  | |«      }t        j                  || «       y r  ©r   r  rd   )Údatetime_seriesr˜   Úunp_tss      r#   Útest_pickle_datetimesr0    s$   € Ü×!Ñ! /°9Ó=€FÜ×Ñ˜6 ?Õ3r%   c                ó\   — t        j                  | |«      }t        j                  || «       y r  r-  )Ústring_seriesr˜   Ú
unp_seriess      r#   Útest_pickle_stringsr4  $  s$   € Ü×%Ñ% m°YÓ?€JÜ×Ñ˜: }Õ5r%   c                óf  — t        t        d«      «      j                  d«      j                  dg   }t	        j
                  || «      }|j                  j                  d   j                  dk(  sJ ‚|j                  j                  d   j                  dk(  sJ ‚t	        j                  |dg   |«       y )NÚabcÚcategoryr   rI   )rI   T)r   r§   r[   Úilocr   r  Ú_mgrÚblocksÚndimÚshaperd   )r˜   Úserrt   s      r#   Ú test_pickle_preserves_block_ndimr>  )  s”   € ä
”�e“Ó
×
$Ñ
$ ZÓ
0×
5Ñ
5°q°cÑ
:€CÜ
×
Ñ
˜s IÓ
.€Cà�8‰8�?‰?˜1Ñ×"Ñ" aÒ'Ð'Ð'Ø�8‰8�?‰?˜1Ñ×#Ñ# tÒ+Ð+Ð+ô ×Ñ˜3 ˜v™;¨Õ,r%   rz   c                óä   — t        t        d«      «      }t        j                  t	        |j
                  | |¬«      t	        t        j                  |¬«      |«      }t        j                  ||«       y )Ni † )rz   r¼   r»   )	r	   r¨   r   r©   r   rª   r   rW   rj   )rz   r¼   r˜   r¬   r   s        r#   Ú%test_pickle_big_dataframe_compressionr@  5  sU   € ô 
”5˜“=Ó	!€BÜ×"Ñ"Ü�—‘ x¸[ÔIÜ”—‘¨KÔ8Øó€Fô
 ×Ñ˜"˜fÕ%r%   c                óü   —  | t        t        «      j                  dddd«      }t        |d«      5 }t	        j
                  |«      }d d d «       t        g g ¬«      }t        j                  |«       y # 1 sw Y   Œ-xY w)Nro   rm   z1.2.4zempty_frame_v1_2_4-GH#42345.pklrƒ   )r>   rZ   )	r   rS   rT   r{   r|   r…   r	   r   rj   )rk   r   Úfdr¬   r    s        r#   Ú#test_pickle_frame_v124_unpickle_130rC  A  ss   € áÜŒX‹×ÑØØØØ)ó€Dô 
ˆd�DÓ	ð ˜RÜ�[‰[˜‹_ˆ÷ô ˜r¨2Ô.€HÜ×Ñ˜"˜hÕ'÷	ð ús   °A2Á2A;)ro   Údictr	  zlist[tuple[str, Any]])LÚ__doc__Ú
__future__r   r¹   ÚdatetimeÚ	functoolsr   r·   r  rÈ   Úpathlibr   r|   rÁ   rÊ   Útypingr   r°   rÄ   Únumpyrb   rP   Úpandas.compatr   Úpandas.compat._optionalr   Úpandasr   r	   r
   r   r   Úpandas._testingÚ_testingr   Ú-pandas.tests.io.generate_legacy_storage_filesr   Úpandas.util.versionr   Úpandas.io.commonÚcommonrö   Úpandas.tseries.offsetsr   r   r$   ru   r�   r†   r‹   rø   rù   Úparamrª   ÚHIGHEST_PROTOCOLrš   r­   Úfixturer³   rµ   rû   rÿ   r  Útzinfor  r  r  r  r&  r+  r0  r4  r>  ÚDEFAULT_PROTOCOLr@  rC  r²   r%   r#   ú<module>r[     sˆ  ðñõ #ã 
Û Û Ý Û Û 	Û 	Ý Û Û Û Ý Û Û ã Û å 3Ý >ã ÷ó õ Ý LÝ 'ç Ð ÷ò%ò,y;òx*ò
óð ‡�×ÑØàˆ�‰�^¨Ô1Øˆ�‰�R—\‘\Ð&<Ô=Øˆ�‰ØˆI×Ñ˜bŸl™l°V×5LÑ5LÔMØ%ô	
ð 	ˆ�‰Ð&�Y×&Ñ& r§|¡|¸aÔ@ÐEUÔVØˆ�‰ØˆI×Ñ˜bŸl™l°QÔ7Øô	
ðóð  ‡�×Ñ˜ B§L¡L°.Ð#AÓBØ‡�×Ñ˜©'Ñ2DÓ2FÓ*GÓHñ+ó Ió Có!ð$+ò,&ð ‡�ñ(ó ð(÷@'ñ @'÷P'ñ 'ò&ò&ôˆ8�?‰?ô ò
'ò'ò>&ò$'ð ‡�×ÑØ
ˆS�%˜Ð!2 ×!2Ñ!2°4¸¸RÓ!@À&ÐIóñ"óð"ò4ò
6ò
	-ð ‡�×Ñ˜ f×&=Ñ&=¸v×?VÑ?VÐ%WÓXñ&ó Yð&ó(r%   