Ë
    ômxid/ ã                   óH  — d dl Z d dl mZ d dlmZ d dlmZmZ d dlZd dl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mc mZ d dlZd dlmZmZmZmZmZmZmZmZm Z  d dl!m"Z# d dl$m%Z% d	„ Z&d
„ Z' G d„ d«      Z(d„ Z)d„ Z*d„ Z+d„ Z, ejZ                  d«      d„ «       Z.d„ Z/y)é    N)Ú	timedelta)ÚDecimal)ÚBytesIOÚStringIO)Úusing_string_dtype)ÚIS64)	ÚNAÚ	DataFrameÚDatetimeIndexÚIndexÚ
RangeIndexÚSeriesÚ	TimestampÚ
date_rangeÚ	read_json)Úujson_dumpsc                  óp  — t        ddgddggddg¬«      } d}d}t        j                  t        |¬«      5  	 t	        |d	¬
«       d d d «       t        j                  t        |¬«      5  t	        | j                  «       d	¬
«       d d d «       t        j                  t        |¬«      5  t	        dd¬
«      }t        j                  || «       d d d «       t        j                  t        |¬«      5  	 t	        dd	¬
«      }d d d «       t        j                  t        |¬«      5  	 t	        dd	¬
«      }t        j                  | «       d d d «       y # t
        $ r Y �Œw xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒèxY w# 1 sw Y   Œ­xY w# t
        $ r Y Œ‘w xY w# 1 sw Y   Œ–xY w# t
        $ r Y Œzw xY w# 1 sw Y   y xY w)Né   é   ÚaÚb©Úcolumnsz[{"a": 1, "b": 2}
        {"a": 3, "b": 4}
        {"a": 5, "b": 6}
        {"a": 7, "b": 8}z™Passing literal json to 'read_json' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.©ÚmatchF©Úlinesú!{"a": 1, "b": 2}
{"b":2, "a" :1}
Tú4{"a\\":"foo\\","b":"bar"}
{"a\\":"foo\"","b":"bar"}
)r
   ÚtmÚassert_produces_warningÚFutureWarningr   Ú
ValueErrorÚto_jsonÚassert_frame_equal)ÚexpectedÚjsonlÚmsgÚresults       úW/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/io/json/test_pandas.pyÚtest_literal_json_deprecationr+   &   sª  € ä˜1˜a˜& 1 a &Ð)°C¸°:Ô>€Hð€Eð	:ð ô 
×	#Ñ	#¤M¸Ô	=ñ ð	Ü�e 5Õ)÷ô 
×	#Ñ	#¤M¸Ô	=ñ 3Ü�(×"Ñ"Ó$¨EÕ2÷3ô 
×	#Ñ	#¤M¸Ô	=ñ 0ÜÐ@ÈÔMˆÜ
×Ñ˜f hÔ/÷0ô 
×	#Ñ	#¤M¸Ô	=ñ ð	ÜØOØôˆF÷ô 
×	#Ñ	#¤M¸Ô	=ñ 0ð	ÜÐDÈEÔRˆFô 	×Ñ˜f hÔ/÷0ð 0øô' ò 	Úð	ú÷ñ ú÷3ð 3ú÷0ð 0ûô ò 	Ùð	ú÷ð ûô ò 	Ùð	ú÷0ð 0úsš   µE·EÁ'E*Â&$E6Ã-FÃ/FÄF,Ä!FÄ.F,Å	EÅEÅEÅEÅE'Å*E3Å6E?Æ	FÆFÆFÆFÆFÆ	F)Æ&F,Æ(F)Æ)F,Æ,F5c                 ó¬   — |dv r|j                  d¬«      }|dk(  r#t        t        |j                  «      «      |_        t	        j
                  | |«       y )N)ÚrecordsÚvaluesT©Údropr.   )Úreset_indexÚrangeÚlenr   r    r%   )r)   r&   Úorients      r*   Úassert_json_roundtrip_equalr5   S   sN   € ØÐ&Ñ&Ø×'Ñ'¨TÐ'Ó2ˆØ�ÒÜ ¤ X×%5Ñ%5Ó!6Ó7ˆÔÜ×Ñ˜& (Õ+ó    c                   ó¦  — e Zd Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zd„ Zej                  j                  dg d¢«      d„ «       Zej                  j                  ddd	g«      d
„ «       Zej                  j                  dddg«      ej                  j                  dddgddggddgddggddgddgg ed«      dg ed«      dggg«      d„ «       «       Zej                  j                  dg d¢«      d„ «       Zd„ Zej                  j                  ddeg«      ej                  j                  d d!dg«      d"„ «       «       Zej                  j                  ddej(                  g«      ej                  j                  d d!dg«      d#„ «       «       Zej                  j                  dd$ej,                  ed%g«      ej                  j                  d d!dg«      d&„ «       «       Zej                  j                  d d!dg«      d'„ «       Zej                  j                  d d!dg«      d(„ «       Zej                  j                  d d!dg«      d)„ «       Zej                  j                  d d!dg«      d*„ «       Zej                  j;                  d+e¬,«      ej                  j                  d	d-d-gd.d/ggd-d0gd.d.ggd-d-gd.d.ggg«      d1„ «       «       Zej                  j                  d2d3d4d5jA                  d6g«      dfd7d8g«      d9„ «       Z!ej                  j                  dd!dg«      ej                  j                  d d!dg«      d:„ «       «       Z"ej                  j                  dd!dg«      d;„ «       Z#ej                  j                  d<ejH                  ejH                   g«      ej                  j                  dd!dg«      d=„ «       «       Z%ej                  jM                  e' d>¬?«      ej                  j                  d@g dA¢«      dB„ «       «       Z(dC„ Z)dD„ Z*dE„ Z+dF„ Z,dG„ Z-dH„ Z.dI„ Z/dJ„ Z0dK„ Z1dL„ Z2dM„ Z3dN„ Z4ej                  j                  ddd$g«      dO„ «       Z5dP„ Z6dQ„ Z7ej                  j                  dej,                  eg«      dR„ «       Z8dS„ Z9dT„ Z:dU„ Z;ej                  j                  dVd! e<dWgdX¬Y«      fd e<dZg«      fg«      d[„ «       Z=d\„ Z>d]„ Z?d^„ Z@d_„ ZAd`„ ZBda„ ZCej                  j                  dbdcddg«      ej                  j                  ded!dg«      ej                  j                  dfeDjŠ                  eDjˆ                  eg«      dg„ «       «       «       ZFej                  j                  dhg di¢«      dj„ «       ZGej                  j                  dkg dl¢«      dm„ «       ZHdn„ ZIej                  j                  dkg dl¢«      do„ «       ZJdp„ ZKej                  j                  dqg dr¢«      ds„ «       ZLej                  j                  dqg dt¢«      du„ «       ZMdv„ ZNdw„ ZOdx„ ZPej                  j¢                  ej                  j¤                  ej                  j                  dydz eSj¨                  d{¬|«      gd}dXgd~ eSj¨                  d{¬|«      gg«      d„ «       «       «       ZUd€„ ZVd�„ ZWd‚„ ZXej                  j                  ded!dg«      ej                  j                  dbdddcg«      ej                  j                  dƒeSj²                  eZg«      d„„ «       «       «       Z[ej                  j                  ded!dg«      ej                  j                  dƒeSj²                  eZg«      d…„ «       «       Z\d†„ Z]d‡„ Z^dˆ„ Z_d‰„ Z`dŠ„ Zad‹„ ZbdŒ„ Zcej                  j                  d� edŽ«       ed�d�¬|«       ed‘«      g«      d’„ «       Zdd“„ Zeej                  j                  d” efd•d–¬—«       efd˜d–d�¬™«       efdšd–¬—«      g«      d›„ «       Zgdœ„ Zhd�„ Ziej                  j¤                  ejjÖ                  dž„ «       «       ZldŸ„ Zmd „ Znej                  j                  d¡eojà                  dz   eojà                  d–z    g«      d¢„ «       Zqej                  j                  d¡d£d¤g«      d¥„ «       Zrd¦„ Zsd§„ Ztej                  j;                  d¨eu¬,«      ej                  j                  d©g dª¢g d«¢g d¬¢g d­¢g d®¢g d¯¢g d°¢ejì                  d±d²d³gd´ejì                  d±d²d³gg	«      ej                  j                  ddµewg«      d¶„ «       «       «       Zxd·„ Zyej                  j                  dd$dd–gd¸d¹gddgdºd»gd¼d½gg«      ej                  j                  d	ddgdºd»gd¼d½gg«      d¾„ «       «       Zzd¿„ Z{ej                  j;                   e|«       dÀ¬?«      ej                  j                  dg dÁ¢«      dÂ„ «       «       Z}ej                  j                  dd!eedÃœg«      dÄ„ «       Z~ej                  j                  dg dÅ¢«      dÆ„ «       ZdÇ„ Z€ej                  j                  dÈ e�dd–gdÉdÊggddg¬Ë«      ddgdd–gdÉdÊggdÌœf e�dd–gdÉdÊggddg¬Ë«      �j                  dÍ«      ddgdd–gdÉdÊggdÌœf e�dd–gdÉdÊggddgddgddgg¬Î«      ddgdd–gdÉdÊggdÌœf e<g dÏ¢dÐ¬Ñ«      dÐg dÏ¢dÒœf e<g dÏ¢dÐ¬Ñ«      �j                  dÍ«      dÐg dÏ¢dÒœf e<dd–gdÐddgddgg¬Ó«      dÐdd–gdÒœfg«      dÔ„ «       Zƒej                  j                  d e�dd–gdÉdÊggddg¬Ë«       e�dd–gdÉdÊggddg¬Ë«      �j                  dÍ«       e�dd–gdÉdÊggddgddgddgg¬Î«       e<g dÏ¢dÐ¬Ñ«       e<g dÏ¢dÐ¬Ñ«      �j                  dÍ«       e<dd–gdÐddgddgg¬Ó«      g«      dÕ„ «       Z„ej                  j                  ddd	g«      dÖ„ «       Z…ej                  j                  dd×dg«      dØ„ «       Z†ej                  j                  dddÙg«      ej                  j                  dd!dg«      dÚ„ «       «       Z‡dÛ„ Zˆej                  j                  dÜg dÝ¢«      dÞ„ «       Z‰ej                  j                  dßg dà¢«      dá„ «       ZŠej                  j                  dâdãdäg«      då„ «       Z‹ej                  j                  dædçdè e�j                  ddéej                  j;                  dê¬?«      ¬ë«       e�j                  dÙdéej                  j;                  dê¬?«      ¬ë«      g«      dì„ «       Z�ej                  j                  díg dî¢«      dï„ «       ZŽej                  jM                   e|«       dð¬?«      ej                  j                  dæg dñ¢«      dò„ «       «       Z�dó„ Z�dô„ Z‘dõ„ Z’ej                  j                  dö e�g dÏ¢g d÷¢døœ«      dùfg«      dú„ «       Z“ej                  j¤                  dû„ «       Z”dü„ Z•dý„ Z–dþ„ Z—dÿ„ Z˜ej                  j                  �d  e<�d�d�d�dœ«      �df e<�d�d�d�dœ«      �d	f e��d
�dg�d�dgg«      �df e��d�dg�d�dgg«      �dfg«      �d„ «       Z™�d„ Zšej                  j;                   e|«       �dd�¬«      �d„ «       Z›ej                  j                  dg �d¢«      �d„ «       Zœ�d„ Z�y$(  ÚTestPandasContainerc                 ó�  — t        t        d«      «      D ��ci c]4  \  }}|t        j                  j	                  |«      j                  d«      “Œ6 }}}dgdz  dgdz  z   dgdz  z   dgdz  z   }t        t        |«      «      |d	<   t        j                  dd
¬«      |d<   t        |t        j                  |d	¬«      ¬«      S c c}}w )NÚABCDé   Úbahé   ÚbarÚbazÚfooé   ÚEÚint64©ÚdtypeÚsort©Úname©Úindex)Ú	enumerateÚlistÚnpÚrandomÚdefault_rngÚstandard_normalÚreversedÚaranger
   ÚpdÚCategoricalIndex)ÚselfÚiÚcÚdataÚcats        r*   Úcategorical_framez%TestPandasContainer.categorical_frame\   sÀ   € ô "¤$ v£,Ó/÷
á��1ð Œr�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ñ;ð
ˆñ 
ð ˆg˜‰k˜U˜G a™KÑ'¨5¨'°A©+Ñ5¸¸À"¹ÑDˆÜœ #›Ó'ˆˆS‰	Ü—y‘y ¨7Ô3ˆˆV‰Ü˜¤R×%8Ñ%8¸À3Ô%GÔHÐHùó
s   ˜9Cc                 óÄ   — t        dt        j                  dt        j                  ¬«      z  t	        dd¬«      d¬«      }|j
                  j                  d «      |_        |S )Ngš™™™™™ñ?é
   rD   ú
2020-01-01©ÚperiodsÚts)rJ   rH   )r   rM   rR   Úfloat64r   rJ   Ú
_with_freq)rU   Úsers     r*   Údatetime_seriesz#TestPandasContainer.datetime_seriesg   sO   € ô Ø”"—)‘)˜B¤b§j¡jÔ1Ñ1Ü˜\°2Ô6Øô
ˆð
 —I‘I×(Ñ(¨Ó.ˆŒ	Øˆ
r6   c           	      óö   — t        t        j                  j                  d«      j	                  d«      t        t        d«      «      t        ddd¬«      ¬«      }|j                  j                  d «      |_        |S )	Nr   )r;   é   r:   ú
2000-01-01r;   ÚB©r_   Úfreq©r   rJ   )
r
   rM   rN   rO   rP   r   rL   r   rJ   rb   )rU   Údfs     r*   Údatetime_framez"TestPandasContainer.datetime_frames   s`   € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Üœ$˜v›,Ó'Ü˜\°2¸CÔ@ô
ˆð
 —8‘8×&Ñ& tÓ,ˆŒØˆ	r6   c                 ó¾   — t        ddgddggddgddg¬	«      }t        |j                  |¬
«      «      }t        ||¬
«      }|j	                  «       }t        |||«       y )Nr   r   rW   Údz	index " 1z	index / 2za \ bzy / z©rJ   r   ©r4   ©r
   r   r$   r   Úcopyr5   ©rU   r4   rl   rX   r)   r&   s         r*   Ú test_frame_double_encoded_labelsz4TestPandasContainer.test_frame_double_encoded_labels   sf   € ÜØ�3ˆZ˜#˜s˜Ð$Ø Ð,Ø˜wÐ'ô
ˆô ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨Ô/ˆØ—7‘7“9ˆÜ# F¨H°fÕ=r6   r4   )Úsplitr-   r.   c                 ó¾   — t        ddgddggddgddg¬«      }t        |j                  |¬	«      «      }t        ||¬	«      }|j	                  «       }t        |||«       y )
Nr   r   rW   ro   r   ÚxÚyrp   rq   rr   rt   s         r*   Útest_frame_non_unique_indexz/TestPandasContainer.test_frame_non_unique_index‹   s]   € ä˜˜c˜
 S¨# JÐ/¸¸1°vÈÈSÀzÔRˆÜ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨Ô/ˆØ—7‘7“9ˆä# F¨H°fÕ=r6   rJ   r   c                 óÄ   — t        ddgddggddgddg¬«      }d	|› d
�}t        j                  t        |¬«      5  |j	                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rW   ro   r   rx   ry   rp   z+DataFrame index must be unique for orient='ú'r   rq   ©r
   ÚpytestÚraisesr#   r$   ©rU   r4   rl   r(   s       r*   Ú"test_frame_non_unique_index_raisesz6TestPandasContainer.test_frame_non_unique_index_raises”   sd   € ä˜˜c˜
 S¨# JÐ/¸¸1°vÈÈSÀzÔRˆØ;¸F¸8À1ÐEˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�J‰J˜fˆJÔ%÷	&÷ 	&ñ 	&úó   ºAÁArv   r.   rX   r   r   rW   ro   ç      ø?ç      @g      @g      @r   é   Ú20130101Ú20130102c                 ó¬  — t        |ddgddg¬«      }t        t        |j                  |¬«      «      |dg¬«      }|dk(  rot        |«      }|j                  d d …df   j
                  d	k(  rT|j                  d|j                  d d …df   j                  t        j                  «      d
z  «       n|dk(  r|}ddg|_
        t        j                  |«       y )Nr   r   rx   rp   rq   )r4   Úconvert_datesr.   r   údatetime64[ns]é@B rv   zx.1)r
   r   r   r$   ÚilocrE   ÚisetitemÚastyperM   rC   r   r    r%   )rU   r4   rX   rl   r)   r&   s         r*   Útest_frame_non_unique_columnsz1TestPandasContainer.test_frame_non_unique_columns›   sÈ   € ô �t A q 6°C¸°:Ô>ˆäÜ�R—Z‘Z v�ZÓ.Ó/¸ÈsÈeô
ˆð �XÒÜ  “ˆHØ�}‰}šQ ˜TÑ"×(Ñ(Ð,<Ò<ð
 ×!Ñ! ! X§]¡]²1°a°4Ñ%8×%?Ñ%?ÄÇÁÓ%IÈWÑ%TÕUØ�wÒØˆHØ # U˜|ˆHÔä
×Ñ˜f hÕ/r6   )rJ   r   r-   c                 óÄ   — t        ddgddggddgddg¬«      }d	|› d
�}t        j                  t        |¬«      5  |j	                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rW   ro   r   r   rx   rp   z-DataFrame columns must be unique for orient='r|   r   rq   r}   r€   s       r*   Ú$test_frame_non_unique_columns_raisesz8TestPandasContainer.test_frame_non_unique_columns_raises¹   sd   € ä˜˜c˜
 S¨# JÐ/¸¸1°vÈÈSÀzÔRˆà=¸f¸XÀQÐGˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�J‰J˜fˆJÔ%÷	&÷ 	&ñ 	&úr‚   c                 óN   — |j                  «       |j                  d¬«      k(  sJ ‚y )Nr   rq   ©r$   )rU   Úfloat_frames     r*   Útest_frame_default_orientz-TestPandasContainer.test_frame_default_orientÁ   s'   € Ø×"Ñ"Ó$¨×(;Ñ(;À9Ð(;Ó(MÒMÐMÑMr6   rE   FÚconvert_axesTc                 óv   — t        |j                  |¬«      «      }t        ||||¬«      }|}t        |||«       y ©Nrq   ©r4   r–   rE   ©r   r$   r   r5   )rU   r4   r–   rE   r”   rX   r)   r&   s           r*   Útest_roundtrip_simplez)TestPandasContainer.test_roundtrip_simpleÄ   s>   € ô ˜×+Ñ+°6Ð+Ó:Ó;ˆÜ˜4¨¸\ÐQVÔWˆàˆä# F¨H°fÕ=r6   c                 óv   — t        |j                  |¬«      «      }t        ||||¬«      }|}t        |||«       y r˜   rš   )rU   r4   r–   rE   Ú	int_framerX   r)   r&   s           r*   Útest_roundtrip_intframez+TestPandasContainer.test_roundtrip_intframeÎ   s>   € ô ˜	×)Ñ)°Ð)Ó8Ó9ˆÜ˜4¨¸\ÐQVÔWˆØˆÜ# F¨H°fÕ=r6   NÚU3c           
      óH  — t        t        j                  d«      t        d«      D �cg c]  }t	        |«      ‘Œ c}t        d«      D �cg c]  }t	        |«      ‘Œ c}|¬«      }t        |j                  |¬«      «      }t        ||||¬«      }|j                  «       }|s|j                  t        j                  «      }|ra|dv r]|j                  j                  t        j                  «      |_        |j                  j                  t        j                  «      |_        nk|dk(  r1|r/|j                  j                  t        j                  «      |_        n5|r3|d	k(  r.|j                  j                  t        j                  «      |_        t        |||«       y c c}w c c}w )
N)éÈ   rf   rf   r¡   )r   rJ   rE   rq   r™   rp   r-   rv   )r
   rM   Úzerosr2   Ústrr   r$   r   rs   rŽ   rC   r   rJ   r5   )	rU   r4   r–   rE   rV   rl   rX   r)   r&   s	            r*   Útest_roundtrip_str_axesz+TestPandasContainer.test_roundtrip_str_axesÖ   s7  € ô Ü�H‰H�XÓÜ%*¨1£XÖ. ”S˜•VÒ.Ü#(¨£:Ö.˜a”3�q•6Ò.Øô	
ˆô ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨¸\ÐQVÔWˆà—7‘7“9ˆÙØ—‘¤r§x¡xÓ0ˆHñ ˜VÐ';Ñ;Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÔØ%Ÿ^™^×2Ñ2´2·8±8Ó<ˆH�NØ�yÒ ¡\Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÕÙ˜f¨Ò/Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÔä# F¨H°fÕ=ùò3 /ùÚ.s   §F
ÁFc                 óp  — |dv r3|j                  t        j                  j                  d|› d�¬«      «       t	        |j                  |¬«      «      }t        |||¬«      }|j                  «       }|j                  j                  |st        nd«      |_        d |j                  _        t        |||«       y )Nrp   z.Can't have duplicate index values for orient 'z')©Úreasonrq   ©r4   r–   r£   )Úapplymarkerr~   ÚmarkÚxfailr   r$   r   rs   rJ   rŽ   r£   rH   r5   )	rU   Úrequestr4   rZ   r–   Úusing_infer_stringrX   r)   r&   s	            r*   Útest_roundtrip_categoricalz.TestPandasContainer.test_roundtrip_categoricalö   s­   € ð
 Ð)Ñ)Ø×ÑÜ—‘×!Ñ!ØKÈFÈ8ÐSUÐVð "ó ôô Ð)×1Ñ1¸Ð1Ó@ÓAˆÜ˜4¨¸\ÔJˆà$×)Ñ)Ó+ˆØ!Ÿ™×.Ñ.Ù)�C¨uó
ˆŒð #ˆ�‰ÔÜ# F¨H°fÕ=r6   c                 ó,  — t        «       }t        |j                  |¬«      «      }t        |||¬«      }|dk(  r't	        g |rt
        nt        ¬«      }t        ||¬«      }n|dv rt        «       }n|j                  «       }t        j                  ||«       y )Nrq   r¨   rv   rD   rp   )
r
   r   r$   r   r   ÚfloatÚobjectrs   r    r%   )rU   r4   r–   Úempty_framerX   r)   Úidxr&   s           r*   Útest_roundtrip_emptyz(TestPandasContainer.test_roundtrip_empty  s�   € ä“kˆÜ˜×+Ñ+°6Ð+Ó:Ó;ˆÜ˜4¨¸\ÔJˆØ�WÒÜ˜©L¥5¼fÔFˆCÜ  s°CÔ8‰HØÐ+Ñ+Ü “{‰Hà"×'Ñ'Ó)ˆHä
×Ñ˜f hÕ/r6   c                 ó.  — t        |j                  |¬«      «      }t        |||¬«      }|j                  «       }|sM|j                  j                  t        j                  «      dz  }|dk7  r|j                  t        «      }||_        t        |||«       y )Nrq   r¨   r‹   rv   )r   r$   r   rs   rJ   ÚviewrM   rC   rŽ   r£   r5   )rU   r4   r–   rm   rX   r)   r&   r³   s           r*   Útest_roundtrip_timestampz,TestPandasContainer.test_roundtrip_timestamp  s€   € ô ˜×.Ñ.°fÐ.Ó=Ó>ˆÜ˜4¨¸\ÔJˆØ!×&Ñ&Ó(ˆáà—.‘.×%Ñ%¤b§h¡hÓ/°7Ñ:ˆCØ˜Ò Ø—j‘j¤“o�à ˆHŒNä# F¨H°fÕ=r6   c                 ó^  — t        g d¢«      }g d¢g d¢g d¢g d¢dœ}t        ||¬«      }t        |j                  |¬«      «      }t	        |||¬	«      }|j                  «       } |j                  di |j                  d
«      j                  t        j                  «      ¤Ž}t        |||«       y )N)r   r   rW   ro   Úe)ç        ç      ð?ç       @ç      @ç      @)rº   r»   rº   r»   rº   )Úfoo1Úfoo2Úfoo3Úfoo4Úfoo5)TFTFT©ÚArh   ÚCÚD)rX   rJ   rq   r¨   Únumber© )r   r
   r   r$   r   rs   ÚassignÚselect_dtypesrŽ   rM   rC   r5   )	rU   r4   r–   rJ   r.   rl   rX   r)   r&   s	            r*   Útest_roundtrip_mixedz(TestPandasContainer.test_roundtrip_mixed,  s•   € äÒ/Ó0ˆâ*Ú*Ú9Ú1ñ	
ˆô ˜F¨%Ô0ˆä˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ˜4¨¸\ÔJˆà—7‘7“9ˆØ"�8—?‘?ÑW X×%;Ñ%;¸HÓ%E×%LÑ%LÌRÏXÉXÓ%VÑWˆä# F¨H°fÕ=r6   z9#50456 Column multiindex is stored and loaded differently)r§   r   Ú2022ÚJANÚFEBÚ2023c                 óà   — t        ddgddggt        j                  j                  |«      ¬«      }t	        |j                  d¬«      «      }t        |d¬«      }t        j                  ||«       y )Nr   r   r…   rf   r   rv   rq   )	r
   rS   Ú
MultiIndexÚfrom_arraysr   r$   r   r    r%   )rU   r   rl   rX   r)   s        r*   Útest_roundtrip_multiindexz-TestPandasContainer.test_roundtrip_multiindex@  sc   € ô Ø�ˆV�a˜�VÐÜ—M‘M×-Ñ-¨gÓ6ô
ˆô ˜Ÿ
™
¨'˜
Ó2Ó3ˆÜ˜4¨Ô0ˆÜ
×Ñ˜f bÕ)r6   zdata,msg,orient)z{"key":b:a:d}zExpected object or valuer   zO{"columns":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}ú|z;Length of values \(3\) does not match length of index \(2\))zW{"columns":["A","B","C"],"index":["1","2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}z+3 columns passed, passed data had 2 columnsrv   )zN{"badkey":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}zunexpected key\(s\): badkeyrv   c                 ó�   — t        j                  t        |¬«      5  t        t	        |«      |¬«       d d d «       y # 1 sw Y   y xY w)Nr   rq   )r~   r   r#   r   r   )rU   rX   r(   r4   s       r*   Ú$test_frame_from_json_bad_data_raisesz8TestPandasContainer.test_frame_from_json_bad_data_raisesU  s6   € ôF �]‰]œ:¨SÔ1ñ 	5Ü”h˜t“n¨VÕ4÷	5÷ 	5ñ 	5ús	   œ<¼Ac                 óx  — t        ddgg d¢g«      }t        t        |j                  |¬«      «      |||¬«      }t	        j
                  |j                  d   «      sJ ‚t        ddgg d	¢g«      }t        t        |j                  |¬«      «      |||¬«      }t	        j
                  |j                  d   «      sJ ‚y )
Nr   r   ©rf   r=   é   rq   r™   ©r   r   Ú1Ú2)Ú4Ú5Ú6)r
   r   r   r$   rM   ÚisnanrŒ   )rU   r4   r–   rE   Únum_dfr)   Úobj_dfs          r*   Ú!test_frame_from_json_missing_dataz5TestPandasContainer.test_frame_from_json_missing_data{  s°   € ô ˜Q ˜F¢IÐ.Ó/ˆäÜ�V—^‘^¨6�^Ó2Ó3ØØ%Øô	
ˆô �x‰x˜Ÿ™ DÑ)Ô*Ð*Ð*ä˜S #˜JªÐ8Ó9ˆÜÜ�V—^‘^¨6�^Ó2Ó3ØØ%Øô	
ˆô �x‰x˜Ÿ™ DÑ)Ô*Ð*Ñ*r6   c                 ó�   — t        t        d«      |¬«      }t        t        j                  g«      }t        j                  ||«       y )Nz[null]rD   )r   r   r
   rM   Únanr    r%   )rU   rE   r)   r&   s       r*   Ú(test_frame_read_json_dtype_missing_valuez<TestPandasContainer.test_frame_read_json_dtype_missing_value‘  s5   € ô œ8 HÓ-°UÔ;ˆÜœbŸf™f˜XÓ&ˆä
×Ñ˜f hÕ/r6   Úinfc                 óØ   — t        ddgg d¢g«      }||j                  d<   t        |j                  «       «      }t	        ||¬«      }t        j                  |j                  d   «      sJ ‚y )Nr   r   rÙ   rÛ   rD   )r
   Úlocr   r$   r   rM   rá   rŒ   )rU   rè   rE   rl   rX   r)   s         r*   Útest_frame_infinityz'TestPandasContainer.test_frame_infinityš  s[   € ô
 ˜˜A˜¢	Ð*Ó+ˆØˆ�‰ˆt‰ä˜Ÿ
™
›Ó%ˆÜ˜4 uÔ-ˆÜ�x‰x˜Ÿ™ DÑ)Ô*Ð*Ñ*r6   z$not compliant on 32-bit, xref #15865r¦   zvalue,precision,expected_val))gffffffî?r   r»   )g333333ÿ?r   r¼   )g333333ÿ¿r   g       À)g×£p=
×ï?r   r»   )g–C‹lçûï?r…   r»   )gûÿÿÿÿÿï?rA   r»   c                 óZ   — t        d|ig«      }|j                  |¬«      }|d|› d�k(  sJ ‚y )NÚa_float)Údouble_precisionz{"a_float":{"0":ú}}©r
   r$   )rU   ÚvalueÚ	precisionÚexpected_valrl   Úencodeds         r*   Ú"test_frame_to_json_float_precisionz6TestPandasContainer.test_frame_to_json_float_precision¦  s>   € ô ˜ EÐ*Ð+Ó,ˆØ—*‘*¨i�*Ó8ˆØÐ.¨|¨n¸DÐAÒAÐAÑAr6   c                 ó¦   — t        g d¢«      }d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       y # 1 sw Y   y xY w©N©r   r   r…   z+Invalid value 'garbage' for option 'orient'r   Úgarbagerq   r}   )rU   rl   r(   s      r*   Útest_frame_to_json_exceptz-TestPandasContainer.test_frame_to_json_except·  sB   € Ü’yÓ!ˆØ;ˆÜ�]‰]œ:¨SÔ1ñ 	)Ø�J‰J˜iˆJÔ(÷	)÷ 	)ñ 	)úó   «AÁAc                 óÞ   — t        ddg¬«      }|j                  rJ ‚t        |j                  «       «      }t	        |t        |j                  «      ¬«      }t        j                  ||d¬«       y )NÚjimÚjoer   rD   F©Úcheck_index_type)	r
   Ú_is_mixed_typer   r$   r   ÚdictÚdtypesr    r%   )rU   rl   rX   r)   s       r*   Útest_frame_emptyz$TestPandasContainer.test_frame_empty½  sU   € Ü  u˜~Ô.ˆØ×$Ò$Ð$Ð$ä˜Ÿ
™
›Ó%ˆÜ˜4¤t¨B¯I©I£Ô7ˆÜ
×Ñ˜f b¸5ÖAr6   c                 óX   — t        dg ig ¬«      }|j                  d¬«      }d}||k(  sJ ‚y )NÚtestrI   r   rq   z{"test":{}}rð   ©rU   rl   r)   r&   s       r*   Útest_frame_empty_to_jsonz,TestPandasContainer.test_frame_empty_to_jsonÅ  s5   € ä˜ �|¨2Ô.ˆØ—‘ 9�Ó-ˆØ ˆØ˜Ò!Ð!Ñ!r6   c                 ó  — t        ddg¬«      }|d   j                  d«      |d<   |j                  sJ ‚|j                  «       }t	        j
                  t        t        |«      t        |j                  «      ¬«      |d¬«       y )Nrý   rþ   r   Úi8rD   Frÿ   )
r
   rŽ   r  r$   r    r%   r   r   r  r  )rU   rl   rX   s      r*   Útest_frame_empty_mixedtypez.TestPandasContainer.test_frame_empty_mixedtypeÌ  sl   € ä  u˜~Ô.ˆØ�u‘I×$Ñ$ TÓ*ˆˆ5‰	Ø× Ò Ð Ð Ø�z‰z‹|ˆÜ
×ÑÜ”h˜t“n¬D°·±«OÔ<ØØ"ö	
r6   c                 ó‚  — g d¢g d¢g d¢g d¢g}t        |t        d«      g d¢¬«      }|j                  sJ ‚|j                  «       }dD ]A  }t	        |j                  |¬	«      «      }t        ||d
¬«      }t        j                  ||«       ŒC t        t        |«      «      |_        t	        |j                  d¬	«      «      }t        |dd
¬«      }t        j                  ||«       t        |j                  d   «      |_        t	        |j                  d¬	«      «      }t        |dd
¬«      }t        j                  ||«       y )N)r\   r   r@   çš™™™™™¹?g{®Gáz„?)é   r   r>   gš™™™™™É?g{®Gáz”?)r;   r…   r?   g333333Ó?g¸…ëQ¸ž?)é(   rf   Úquxgš™™™™™Ù?g{®Gáz¤?Úabcd)Ú1stÚ2ndÚ3rdÚ4thÚ5thrp   ©rv   rJ   r   rq   Fr¨   r-   r   r.   )r
   rL   r  rs   r   r$   r   r    r%   r   r3   rJ   Úshaper   )rU   Úvalsrl   Úrightr4   ÚinpÚlefts          r*   Útest_frame_mixedtype_orientz/TestPandasContainer.test_frame_mixedtype_orientØ  s  € â%Ú%Ú%Ú%ð	
ˆô Øœ˜V›Ò.Qô
ˆð × Ò Ð Ð Ø—‘“	ˆà3ò 	/ˆFÜ˜2Ÿ:™:¨V˜:Ó4Ó5ˆCÜ˜S¨¸eÔDˆDÜ×!Ñ! $¨Õ.ð	/ô
 !¤ R£Ó)ˆŒÜ�r—z‘z¨�zÓ3Ó4ˆÜ˜ Y¸UÔCˆÜ
×Ñ˜d EÔ*ä" 2§8¡8¨A¡;Ó/ˆŒÜ�r—z‘z¨�zÓ2Ó3ˆÜ˜ X¸EÔBˆÜ
×Ñ˜d EÕ*r6   c                 óþ  — t        dd«      }t        t        j                  |«      d ¬«      }t	        g d¢g d¢g d¢g d¢g d¢gg d	¢|¬
«      }t        d«      j                  d«      |d<   t        d«      |j                  d|j                  j                  d«      f<   |d   |d<   t        j                  |j                  d|j                  j                  d«      f<    |ddd«      }t        j                  j                  |d«      }t        |«      }t!        j"                  ||«       |j%                  dgd¬«      }t        j                  j                  |d«      }t        |«      }	t!        j"                  ||	d¬«       y )Nz
2000-01-03z
2000-01-07©rj   )gÛÃ‰àù?gzÙ~Kcå?gäXî7 öü?g˜H/‹Æ¿)g±|§RÐ¿gµº¤ƒXª´¿gsõB…f ¿gÇÏëô(�Æ¿)g±à<¤1=ø?gÎâÅÂ9¾?gàÛôg?ú?gL¤—Å‚
õ¿)g¡¦¯J–Qœ¿g½[r?T˜Ü?gj<èDH>Õ?g-þ¾ØÑ¿)gI°ÄEæx®?gW!i`y’ÀgP0Æ4‘�ô?gè+«]Ñ5Ö?rÄ   rk   z19920106 18:21:32.12ÚnsÚdater†   r…   Úmodifiedr   ÚioÚjsonrX   ztsframe_v012.json)Úaxisztsframe_iso_v012.jsonF©Úcheck_column_type)r   r   rM   Úasarrayr
   r   Úas_unitrŒ   r   Úget_locrS   ÚNaTÚosÚpathÚjoinr   r    r%   r0   )
rU   ÚdatapathÚdtirl   ÚdirpathÚv12_jsonÚdf_unserÚdf_isoÚv12_iso_jsonÚdf_unser_isos
             r*   Útest_v12_compatz#TestPandasContainer.test_v12_compatö  s@  € Ü˜ |Ó4ˆäœBŸJ™J s›O°$Ô7ˆÜâAÚCÚ?ÚBÚAðò )Øô

ˆô Ð5Ó6×>Ñ>¸tÓDˆˆ6‰
Ü1:¸:Ó1Fˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.Ø˜F™ˆˆ:‰Ü57·V±Vˆ�‰��2—:‘:×%Ñ% jÓ1Ð1Ñ2á˜4 ¨Ó0ˆÜ—7‘7—<‘< Ð)<Ó=ˆÜ˜XÓ&ˆÜ
×Ñ˜b (Ô+à—‘˜*˜¨A�Ó.ˆÜ—w‘w—|‘| GÐ-DÓEˆÜ  Ó.ˆÜ
×Ñ˜f lÀeÖLr6   c           	      óv  — t        ddd¬«      }t        t        |«      d ¬«      }t        g d¢g d¢g d¢g d	¢g d
¢g d¢dœ|¬«      }|j                  j                  |st        j                  nd«      |_        t        |j                  d¬«      «      }t        |d¬«      }t        j                  ||dddd¬«       y )NÚ20000101r\   Úhri   r  )
g}S? wí¿gÂôbÍmÇè?gz(~J�	ô?gðô1¼å¬ã?gk*¬ÐMã¿gv�TçjŽÏ?g7j	" YÒ?gp¢+KS(Àgñ’¬�µ£î?gZtÛS¬yð¿)
i¢L,i_�}i4zõiKeáiL&»iÞ%giûÜDiY)L i;ei­Dô )
Ú78c608f1Ú64a99743Ú13d2ff52Úca7f4af2Ú97236474Úbde7e214Ú1a6bde47Úb1190be5Ú7a669144Ú8d64d068)
gD!¸€†í¥¿gIxJ ˆðü¿gÛòµ%â
@g�¨PÝ\<è¿gòÐ�÷ÛÞ¿gPl‰…ï—ë?gFàzÚnñ?g5mH/î?gp®Hé%Ÿ¿gáIðö?)
Ú14f04af9Úd085da90Ú4bcfac83Ú81504cafÚ2ffef4a9Ú08e2f5c4Ú07e1af03Úaddbd4a7Ú1f6a09baÚ4bfc4d87)
i¥/iŽÞØiÑYiÛ6i‚IÀ i;ª>i¶Á	iÒ(¡ i0q{iÑª‰)Úfloat_1Úint_1Ústr_1Úfloat_2Ústr_2Úint_2rI   r£   rv   rq   T)r   r'  Ú	by_blocksÚcheck_exact)r   r   rL   r
   r   rŽ   rM   Ústr_r   r$   r   r    r%   )rU   r­   rJ   Údf_mixedrX   Údf_roundtrips         r*   Útest_blocks_compat_GH9037z-TestPandasContainer.test_blocks_compat_GH9037  sÄ   € Ü˜:¨r¸Ô<ˆäœd 5›k°Ô5ˆäòòòòòòñ{IðT ôWL
ˆð^ $×+Ñ+×2Ñ2Ù-ŒB�GŠG°5ó
ˆÔô ˜×(Ñ(°Ð(Ó8Ó9ˆÜ  ¨gÔ6ˆÜ
×ÑØØØ!Ø"ØØö	
r6   c                 óZ  —  G d„ d«      }d} ||«      }t        d|j                  gi«      }|j                  «       d|› d�k(  sJ ‚t        d|gi«      }d}t        j                  t
        |¬«      5  |j                  «        d d d «       t        |gd	gd
œddg¬«      }t        j                  t
        |¬«      5  |j                  «        d d d «       |j                  t        ¬«      }d|› d�}	||	k(  sJ ‚|j                  t        ¬«      d|› d�k(  sJ ‚y # 1 sw Y   Œ”xY w# 1 sw Y   ŒXxY w)Nc                   ó    — e Zd Zdd„Zdefd„Zy)úFTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThingÚreturnNc                 óF   — || _         t        j                  |«      | _        y ©N)ÚhexedÚbytesÚfromhexÚbinary)rU   ra  s     r*   Ú__init__zOTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__init__z  s   € Ø"�”
Ü#Ÿm™m¨EÓ2�•r6   c                 ó   — | j                   S r`  )ra  ©rU   s    r*   Ú__str__zNTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__str__~  s   € Ø—z‘zÐ!r6   ©r^  N)Ú__name__Ú
__module__Ú__qualname__re  r£   rh  rÉ   r6   r*   ÚBinaryThingr]  y  s   „ ó3ð" ô "r6   rm  Ú574b4454ba8c5eb4f98a8f45rÅ   z{"A":{"0":"ú"}}z6Unsupported UTF-8 sequence length when encoding stringr   r   ©rÅ   rh   rh   r   ©Údefault_handlerz"},"B":{"0":1}})r
   ra  r$   r~   r   ÚOverflowErrorr£   )
rU   rm  ra  ÚbinthingÚdf_printableÚdf_nonprintabler(   rX  r)   r&   s
             r*   Útest_frame_nonprintable_bytesz1TestPandasContainer.test_frame_nonprintable_bytesv  sD  € ÷	"ñ 	"ð +ˆÙ˜uÓ%ˆô ! #¨¯©Ð'7Ð!8Ó9ˆØ×#Ñ#Ó%¨=¸¸¸uÐ)EÒEÐEÐEô $ S¨8¨*Ð$5Ó6ˆØFˆÜ�]‰]œ=°Ô4ñ 	&Ø×#Ñ#Ô%÷	&ô  H :°Q°CÑ8À3ÈÀ*ÔMˆÜ�]‰]œ=°Ô4ñ 	Ø×ÑÔ÷	ð !×(Ñ(¼Ð(Ó=ˆØ" 5 '¨Ð/ˆØ˜Ò!Ð!Ð!à×Ñ¬SÐÓ1Ø˜u˜gÐ%8Ð9ò:ð	
ñ:÷	&ð 	&ú÷
	ð 	ús   Á1DÂ9D!ÄDÄ!D*c                 óh   — t        ddz  dgddgi«      j                  «       }dddz  › d�}||k(  sJ ‚y )Nr>   i † r   r@   i9  ú{"z":{"0":1},"foo":{"0":1337}}rð   ©rU   r)   r&   s      r*   Útest_label_overflowz'TestPandasContainer.test_label_overflowœ  sH   € ä˜E F™N¨Q¨C°¸¸Ð?Ó@×HÑHÓJˆØ˜ ™Ð(Ð(HÐIˆØ˜Ò!Ð!Ñ!r6   c           
      óÆ  — t        ddgddg¬«      }d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       t        j                  |t        t        |j	                  d	¬«      «      d	d
¬«      «       t        t        |j	                  d¬«      «      dd
¬«      }t        j                  |j                  |j                  «       y # 1 sw Y   Œ–xY w)Nr   r   r   rI   z.Series index must be unique for orient='index'r   rJ   rq   rv   Úseries)r4   Útypr-   )r   r~   r   r#   r$   r    Úassert_series_equalr   r   Úassert_equalr.   )rU   Úsr(   Úunserializeds       r*   Útest_series_non_unique_indexz0TestPandasContainer.test_series_non_unique_index¢  s»   € Ü�C˜�: a¨ VÔ,ˆà>ˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�I‰I˜WˆIÔ%÷	&ô 	×ÑØÜÜ˜Ÿ™¨'˜Ó2Ó3¸GÈôô	
ô !Ü�Q—Y‘Y i�YÓ0Ó1¸)Èô
ˆô 	�‰˜Ÿ™ ,×"5Ñ"5Õ6÷	&ð 	&ús   ¯CÃC c                 óN   — |j                  «       |j                  d¬«      k(  sJ ‚y )NrJ   rq   r“   )rU   Ústring_seriess     r*   Útest_series_default_orientz.TestPandasContainer.test_series_default_orient´  s'   € Ø×$Ñ$Ó&¨-×*?Ñ*?ÀwÐ*?Ó*OÒOÐOÑOr6   c                 ó  — t        |j                  |¬«      «      }t        |d|¬«      }|}|r$|dv r |j                  j	                  d«      |_        |dv r|j                  d¬«      }|d	k7  rd |_        t        j                  ||«       y )
Nrq   r}  ©r~  r4   r  r£   ©r.   r-   Tr/   rv   )	r   r$   r   rJ   rŽ   r1   rH   r    r  )rU   r4   r…  r­   rX   r)   r&   s          r*   Útest_series_roundtrip_simplez0TestPandasContainer.test_series_roundtrip_simple·  s‰   € Ü˜×-Ñ-°VÐ-Ó<Ó=ˆÜ˜4 X°fÔ=ˆà ˆÙ &Ð,IÑ"Ià%Ÿ^™^×2Ñ2°5Ó9ˆHŒNØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMä
×Ñ˜v xÕ0r6   c                 ó  — t        |j                  |¬«      «      }t        |d||¬«      }|}|dv r|j                  d¬«      }|dk7  rd |_        t        «       r|j                  d«      }t        j                  ||«       y )	Nrq   r}  )r~  r4   rE   r‰  Tr/   rv   r£   )	r   r$   r   r1   rH   r   rŽ   r    r  )rU   r4   rE   Úobject_seriesrX   r)   r&   s          r*   Útest_series_roundtrip_objectz0TestPandasContainer.test_series_roundtrip_objectÆ  s~   € ä˜×-Ñ-°VÐ-Ó<Ó=ˆÜ˜4 X°fÀEÔJˆà ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMäÔØ—‘ uÓ-ˆHä
×Ñ˜v xÕ0r6   c                 óB  — t        g g t        j                  ¬«      }t        |j	                  |¬«      «      }t        |d|¬«      }|j                  d¬«      }|dv r.|j                  j                  t        j                  «      |_        t        j                  ||«       y )N©rJ   rE   rq   r}  rˆ  Tr/   rv   )r   rM   ra   r   r$   r   r1   rJ   rŽ   r    r  )rU   r4   Úempty_seriesrX   r)   r&   s         r*   Útest_series_roundtrip_emptyz/TestPandasContainer.test_series_roundtrip_emptyÖ  s   € Ü˜b¨´"·*±*Ô=ˆÜ˜×,Ñ,°FÐ,Ó;Ó<ˆÜ˜4 X°fÔ=ˆà×+Ñ+°Ð+Ó6ˆØ�gÑØ%Ÿ^™^×2Ñ2´2·:±:Ó>ˆHŒNä
×Ñ˜v xÕ0r6   c                 óÊ   — t        |j                  |¬«      «      }t        |d|¬«      }|}|dv r|j                  d¬«      }|dk7  rd |_        t        j                  ||«       y )Nrq   r}  rˆ  r‰  Tr/   rv   )r   r$   r   r1   rH   r    r  )rU   r4   rd   rX   r)   r&   s         r*   Ú test_series_roundtrip_timeseriesz4TestPandasContainer.test_series_roundtrip_timeseriesá  sh   € Ü˜×/Ñ/°vÐ/Ó>Ó?ˆÜ˜4 X°fÔ=ˆà"ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMä
×Ñ˜v xÕ0r6   c                 óþ   — t        t        d«      g d¢¬«      }t        |j                  |¬«      «      }t	        |d|¬«      }|j                  «       }|dv r|j                  d¬	«      }t        j                  ||«       y )
NrÚ   ©r   r   rW   ro   r¹   ÚfrI   rq   r}  rˆ  r‰  Tr/   )	r   r2   r   r$   r   rs   r1   r    r  )rU   r4   rE   r�  rX   r)   r&   s          r*   Útest_series_roundtrip_numericz1TestPandasContainer.test_series_roundtrip_numericí  sm   € ä”5˜“8Ò#AÔBˆÜ˜Ÿ	™	¨˜	Ó0Ó1ˆÜ˜4 X°fÔ=ˆà—6‘6“8ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHä
×Ñ˜v xÕ0r6   c                 ó¦   — t        g d¢«      }d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       y # 1 sw Y   y xY wr÷   )r   r~   r   r#   r$   )rU   r�  r(   s      r*   Útest_series_to_json_exceptz.TestPandasContainer.test_series_to_json_exceptù  sB   € Ü’9ÓˆØ;ˆÜ�]‰]œ:¨SÔ1ñ 	(Ø�I‰I˜YˆIÔ'÷	(÷ 	(ñ 	(úrû   c                 ó˜   — t        g d¢«      }t        t        |j                  «       «      dd¬«      }t	        j
                  ||d¬«       y )N©ç=
×£p=@rœ  rœ  r}  T)r~  Úprecise_floatFrÿ   )r   r   r   r$   r    r  ©rU   r�  r)   s      r*   Ú#test_series_from_json_precise_floatz7TestPandasContainer.test_series_from_json_precise_floatÿ  s8   € ÜÒ%Ó&ˆÜœ8 A§I¡I£KÓ0°hÈdÔSˆÜ
×Ñ˜v q¸5ÖAr6   c                 óÎ   — t        g d¢«      }t        t        |j                  «       «      dt        j
                  ¬«      }t        dgdz  «      }t        j                  ||«       y )Nr›  r}  ©r~  rE   rf   r…   )r   r   r   r$   rM   rC   r    r  )rU   r�  r)   r&   s       r*   Útest_series_with_dtypez*TestPandasContainer.test_series_with_dtype  sI   € äÒ%Ó&ˆÜœ8 A§I¡I£KÓ0°hÄbÇhÁhÔOˆÜ˜1˜# ™'“?ˆÜ
×Ñ˜v xÕ0r6   zdtype,expectedrg   rŠ   rD   l    ,ŸUqc                 óš   — t        dgd¬«      }t        |j                  «       «      }t        |d|¬«      }t	        j
                  ||«       y )Nrg   rŠ   rD   r}  r¡  )r   r   r$   r   r    r  )rU   rE   r&   r�  rX   r)   s         r*   Útest_series_with_dtype_datetimez3TestPandasContainer.test_series_with_dtype_datetime  sA   € ô �L�>Ð)9Ô:ˆÜ˜Ÿ	™	›Ó$ˆÜ˜4 X°UÔ;ˆÜ
×Ñ˜v xÕ0r6   c                 óš   — t        g d¢g d¢g«      }t        t        |j                  «       «      d¬«      }t	        j
                  ||«       y )Nr›  T)r�  ©r
   r   r   r$   r    r%   ©rU   rl   r)   s      r*   Ú"test_frame_from_json_precise_floatz6TestPandasContainer.test_frame_from_json_precise_float  s:   € ÜÒ*Ò,>Ð?Ó@ˆÜœ8 B§J¡J£LÓ1ÀÔFˆÜ
×Ñ˜f bÕ)r6   c                 óª   — t        t        d«      g d¢d¬«      }t        t        |j	                  «       «      d ¬«      }t        j                  ||«       y )NrÚ   r•  rC   r�  ©r~  )r   r2   r   r   r$   r    r  rž  s      r*   Útest_typzTestPandasContainer.test_typ  s<   € Ü”5˜“8Ò#AÈÔQˆÜœ8 A§I¡I£KÓ0°dÔ;ˆÜ
×Ñ˜v qÕ)r6   c                 ó2  — t        g d¢g d¢g«      }t        t        |j                  «       «      «      }t	        j
                  ||«       t        g d¢g d¢dœg d¢¬«      }t        t        |j                  «       «      «      }t	        j
                  ||«       y )Nrø   rÙ   ©r   r   )rÅ   rh   rÆ   rI   r¦  r§  s      r*   Útest_reconstruction_indexz-TestPandasContainer.test_reconstruction_index"  sl   € Üš	¢9Ð-Ó.ˆÜœ8 B§J¡J£LÓ1Ó2ˆÜ
×Ñ˜f bÔ)äšYªYÑ7ºÔOˆÜœ8 B§J¡J£LÓ1Ó2ˆÜ
×Ñ˜f bÕ)r6   c                 ó¦   — t        j                  d«      5 }|||fD ]  }|j                  |«       t        |«       Œ  	 d d d «       y # 1 sw Y   y xY w)Nú	test.json)r    Úensure_cleanr$   r   )rU   r”   r�   rm   r-  rl   s         r*   Ú	test_pathzTestPandasContainer.test_path+  sN   € Ü�_‰_˜[Ó)ð 	 ¨TØ" I¨~Ð>ò  �Ø—
‘
˜4Ô Ü˜$•ñ ÷	 ÷ 	 ñ 	 ús   –'AÁAc                 ó  — t        |j                  «       «      }t        |«      }t        j                  ||«       t        |j                  «       «      }t        |d¬«      }t        j
                  ||d¬«       |j                  �J ‚y )Nr}  rª  F)Úcheck_names)r   r$   r   r    r%   r  rH   )rU   rd   rm   r$  r)   s        r*   Útest_axis_datesz#TestPandasContainer.test_axis_dates1  sq   € ä˜×.Ñ.Ó0Ó1ˆÜ˜4“ˆÜ
×Ñ˜f nÔ5ô ˜×/Ñ/Ó1Ó2ˆÜ˜4 XÔ.ˆÜ
×Ñ˜v ÀEÕJØ�{‰{Ð"Ð"Ñ"r6   c                 ó¢  — |}t        d«      j                  d«      |d<   t        |j                  «       «      }t	        |«      }t        j                  ||«       d|d<   t        |j                  d¬«      «      }t	        |d¬«      }|j                  «       }|d   j                  j                  d	«      |d<   |d   j                  d
«      |d<   t        j                  ||«       t        t        d«      j                  d«      |j                  ¬«      }t        |j                  «       «      }t	        |d¬«      }t        j                  ||«       y )Nr†   r   r!  r»   r@   ©Ú	date_unitF©r‰   r
  rC   rI   r}  rª  )r   r)  r   r$   r   r    r%   rs   r.   r¶   rŽ   r   rJ   r  )rU   rd   rm   rl   r$  r)   r&   r`   s           r*   Útest_convert_datesz&TestPandasContainer.test_convert_dates=  s  € àˆÜ˜zÓ*×2Ñ2°4Ó8ˆˆ6‰
ä˜Ÿ
™
›Ó%ˆÜ˜4“ˆÜ
×Ñ˜f bÔ)àˆˆ5‰	Ü˜Ÿ
™
¨T˜
Ó2Ó3ˆä˜4¨uÔ5ˆØ—7‘7“9ˆØ# FÑ+×2Ñ2×7Ñ7¸Ó=ˆ�ÑØ" 5™/×0Ñ0°Ó9ˆ�‰Ü
×Ñ˜f hÔ/ô ”I˜jÓ)×1Ñ1°$Ó7¸×?TÑ?TÔUˆÜ˜Ÿ
™
›Ó%ˆÜ˜4 XÔ.ˆÜ
×Ñ˜v rÕ*r6   Údate_formatÚepochÚisoÚ	as_objectÚdate_typc                 óè   —  |ddd¬«      t         j                  g}|r|j                  d«       t        ||¬«      }|j	                  |¬«      }|dk(  rd}nd	}|r|j                  d
d«      }||k(  sJ ‚y )Niä  r   )ÚyearÚmonthÚdayr   rI   ©r»  r¼  z+{"1577836800000":1577836800000,"null":null}zA{"2020-01-01T00:00:00.000":"2020-01-01T00:00:00.000","null":null}ú}ú	,"a":"a"})rS   r+  Úappendr   r$   Úreplace)rU   r»  r¾  r¿  rX   rc   r)   r&   s           r*   Útest_date_index_and_valuesz.TestPandasContainer.test_date_index_and_valuesU  sƒ   € ñ ˜d¨!°Ô3´R·V±VÐ<ˆÙØ�K‰K˜Ôä�T Ô&ˆØ—‘¨�Ó5ˆà˜'Ò!ØD‰Hð Tð ñ Ø×'Ñ'¨¨[Ó9ˆHà˜Ò!Ð!Ñ!r6   Ú
infer_word)Ú
trade_timer!  ÚdatetimeÚsold_atr"  Ú	timestampÚ
timestampsc                 óà   — dd|diddig}t        dt        d«      gdt        j                  ggd|g¬«      }t	        t        t        |«      «      «      d|g   }t        j                  ||«       y )NÚidr   l    $äAÅr   z
2002-11-08r   )	r
   r   rS   r+  r   r   r   r    r%   )rU   rÊ  rX   r&   r)   s        r*   Útest_convert_dates_inferz,TestPandasContainer.test_convert_dates_inferl  sv   € ð �q˜* mÐ4°t¸Q°iÐ@ˆÜØ”˜<Ó(Ð)¨A¬r¯v©v¨;Ð7À$È
ÐASô
ˆô œ8¤K°Ó$5Ó6Ó7¸¸zÐ8JÑKˆÜ
×Ñ˜f hÕ/r6   zdate,date_unit))ú20130101 20:43:42.123N)ú20130101 20:43:42r�  )rÓ  Úms)z20130101 20:43:42.123456Úus)z20130101 20:43:42.123456789r   c                 óæ  — |}t        |«      j                  d«      |d<   t        j                  |j                  d|j
                  j                  d«      f<   t        j                  |j                  d|j
                  j                  d«      f<   |r|j                  d|¬«      }n|j                  d¬«      }t        t        |«      «      }|j                  «       }t        j                  ||«       y )Nr   r!  r   r=   r½  ©r»  r¸  rÄ  )r   r)  rS   r+  rŒ   r   r*  r$   r   r   rs   r    r%   )rU   r!  r¸  rm   rl   r$  r)   r&   s           r*   Útest_date_format_framez*TestPandasContainer.test_date_format_frameƒ  s»   € ð ˆä˜t“_×,Ñ,¨TÓ2ˆˆ6‰
Ü13·±ˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.Ü13·±ˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.ÙØ—:‘:¨%¸9�:ÓE‰Dà—:‘:¨%�:Ó0ˆDäœ8 D›>Ó*ˆØ—7‘7“9ˆÜ
×Ñ˜f hÕ/r6   c                 ó’   — |}d}t        j                  t        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nú*Invalid value 'foo' for option 'date_unit'r   r½  r@   rØ  )r~   r   r#   r$   )rU   rm   rl   r(   s       r*   Útest_date_format_frame_raisesz1TestPandasContainer.test_date_format_frame_raisesœ  s?   € ØˆØ:ˆÜ�]‰]œ:¨SÔ1ñ 	;Ø�J‰J 5°EˆJÔ:÷	;÷ 	;ñ 	;ús	    =½Ac                 óž  — t        t        |«      j                  d«      |j                  ¬«      }t        j
                  |j                  d<   t        j
                  |j                  d<   |r|j                  d|¬«      }n|j                  d¬«      }t        t        |«      d¬	«      }|j                  «       }t        j                  ||«       y )
Nr   rI   r   r=   r½  rØ  rÄ  r}  rª  )r   r   r)  rJ   rS   r+  rŒ   r$   r   r   rs   r    r  )rU   r!  r¸  rd   r`   r$  r)   r&   s           r*   Útest_date_format_seriesz+TestPandasContainer.test_date_format_series¢  s—   € ô ”I˜d“O×+Ñ+¨DÓ1¸×9NÑ9NÔOˆÜ—V‘Vˆ�‰�‰
Ü—V‘Vˆ�‰�‰
ÙØ—:‘:¨%¸9�:ÓE‰Dà—:‘:¨%�:Ó0ˆDäœ8 D›>¨xÔ8ˆØ—7‘7“9ˆÜ
×Ñ˜v xÕ0r6   c                 óÎ   — t        t        d«      |j                  ¬«      }d}t        j                  t
        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)NrÓ  rI   rÛ  r   r½  r@   rØ  )r   r   rJ   r~   r   r#   r$   )rU   rd   r`   r(   s       r*   Útest_date_format_series_raisesz2TestPandasContainer.test_date_format_series_raises¹  sR   € Ü”IÐ5Ó6¸o×>SÑ>SÔTˆØ:ˆÜ�]‰]œ:¨SÔ1ñ 	;Ø�J‰J 5°EˆJÔ:÷	;÷ 	;ñ 	;ús   ¾AÁA$Úunit)r�  rÕ  rÖ  r   c                 óô  — |}t        d«      j                  d«      |d<   |j                  j                  d«      }t        d«      |j                  d|f<   t        d«      |j                  d|f<   t
        j                  |j                  d|f<   |j                  d	|¬
«      }t        t        |«      |¬«      }t        j                  ||«       t        t        |«      d ¬«      }t        j                  ||«       y )NrÔ  r   r!  z19710101 20:43:42r   z21460101 20:43:42r   rf   r¼  rØ  r·  )r   r)  r   r*  rŒ   rS   r+  r$   r   r   r    r%   )rU   rá  rm   rl   Údlr$  r)   s          r*   Útest_date_unitz"TestPandasContainer.test_date_unit¿  sÎ   € àˆÜÐ2Ó3×;Ñ;¸DÓAˆˆ6‰
Ø�Z‰Z×Ñ Ó'ˆÜ"Ð#6Ó7ˆ�‰��2�‰Ü"Ð#6Ó7ˆ�‰��2�‰ÜŸ™ˆ�‰��2�‰à�z‰z g¸ˆzÓ>ˆô œ8 D›>°TÔ:ˆÜ
×Ñ˜f bÔ)ô œ8 D›>°TÔ:ˆÜ
×Ñ˜f bÕ)r6   )r�  rÕ  rÖ  c           	      óª  — t        t        j                  d|«      gd|› d�¬«      }t        t	        t        j                  d|«      gd|› d�|¬«      t	        t        j                  d|«      gt
        |¬«      dœ«      }t        «       }|j                  |d|¬	«       |j                  d
«       t        j                  t        |ddg¬«      |dd¬«       y )Nz2023-01-01T11:22:33.123456zdatetime64[ú]rD   z2022-01-01T11:22:33.123456©rE   rJ   )r!  Údate_objr½  rØ  r   r!  rè  r¹  F)r   Úcheck_dtype)r   rM   Ú
datetime64r
   r   r±   r   r$   Úseekr    r%   r   )rU   rá  rJ   rl   Úbufs        r*   Útest_iso_non_nano_datetimesz/TestPandasContainer.test_iso_non_nano_datetimesÒ  sÖ   € ô Ü�]‰]Ð7¸Ó>Ð?Ø ˜v QÐ'ô
ˆô äÜ—]‘]Ð#?ÀÓFÐGØ'¨ v¨QÐ/Øôô
 #Ü—]‘]Ð#?ÀÓFÐGÜ Øôñó
ˆô ‹jˆØ
�
‰
�3 E°Tˆ
Ô:Ø�‰�Œô
 	×ÑÜ�c¨&°*Ð)=Ô>ØØ"Øö		
r6   c                 ó0   — d}t        t        |«      «       y )Nad  {
        "status": "success",
        "data": {
        "posts": [
            {
            "id": 1,
            "title": "A blog post",
            "body": "Some useful content"
            },
            {
            "id": 2,
            "title": "Another blog post",
            "body": "More content"
            }
           ]
          }
        })r   r   )rU   r�  s     r*   Útest_weird_nested_jsonz*TestPandasContainer.test_weird_nested_jsonù  s   € ðˆô" 	”(˜1“+Õr6   c                 ó¤  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }t        d«      |d<   t        d«      |d<   d	|d
<   t        dd¬«      |_	        t        |j                  «       «      }t        |t        j                  t        j                  dœ¬«      }t        j                   ||«       y )Nr   )r=   r   ÚABr   r†   r!  r=   ÚintsTÚboolsr^   )rò  ró  rD   )r
   rM   rN   rO   rP   rL   r   r2   r   rJ   r   r$   r   rC   Úbool_r    r%   )rU   Údfj2r$  r)   s       r*   Útest_doc_examplez$TestPandasContainer.test_doc_example  sœ   € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆô ! Ó,ˆˆV‰Ü˜Q“xˆˆV‰ØˆˆW‰Ü 
°AÔ6ˆŒ
ä˜Ÿ™›Ó'ˆÜ˜4´·±Ä2Ç8Á8Ñ'LÔMˆÜ
×Ñ˜f fÕ-r6   c                 ó¬  —  |dddd«      }t        j                  |«      }|j                  «       }t        t	        |«      «      }|j                  |j                  |j                  ¬«      }d}t        j                  t        |¬«      5  |j                  t        j                  d¬	«      }d d d «       t        j                  ||«       y # 1 sw Y   Œ xY w)
Nr#  r$  rX   z	teams.csvrp   z.The 'downcast' keyword in fillna is deprecatedr   F)Údowncast)rS   Úread_csvr$   r   r   ÚreindexrJ   r   r    r!   r"   ÚfillnarM   ræ   r%   )rU   r/  r-  rl   r�  r)   Úresr(   s           r*   Útest_round_trip_exceptionz-TestPandasContainer.test_round_trip_exception  s£   € á˜˜f f¨kÓ:ˆÜ�[‰[˜ÓˆØ�J‰J‹Lˆäœ8 A›;Ó'ˆØ�n‰n 2§8¡8°R·Z±ZˆnÓ@ˆØ>ˆÜ×'Ñ'¬¸SÔAñ 	5Ø—*‘*œRŸV™V¨e�*Ó4ˆC÷	5ä
×Ñ˜c 2Õ&÷	5ð 	5ús   Â	"C
Ã
Czfield,dtypeÚ
created_atÚUTC)ÚtzÚ	closed_atÚ
updated_atc                 ó‚   — d}|j                  |¬«       t        |j                  d¬«      }||   j                  |k(  sJ ‚y )Nzw{"created_at": ["2023-06-23T18:21:36Z"], "closed_at": ["2023-06-23T18:21:36"], "updated_at": ["2023-06-23T18:21:36Z"]}
)ÚcontentTr¹  )Úserve_contentr   ÚurlrE   )rU   ÚfieldrE   Ú
httpserverrX   r)   s         r*   Útest_urlzTestPandasContainer.test_url(  sC   € ð JˆØ× Ñ ¨Ð Ô.Ü˜:Ÿ>™>¸Ô>ˆØ�e‰}×"Ñ" eÒ+Ð+Ñ+r6   c           	      óþ  — d„ }t        t        d«      t        d¬«      g«      }|j                  dk(  sJ ‚t        t	        |j                  «       «      d¬«      j                  |«      }t        j                  ||«       t        t        d«      t        d¬«      gt        dd	g«      ¬
«      }|j                  dk(  sJ ‚t        t	        |j                  «       «      d¬«      j                  |«      }t        j                  ||«       t        t        d«      t        d¬«      g«      }|d   j                  dk(  sJ ‚t        j                  |t        t	        |j                  «       «      «      j                  |«      «       y )Nc                 ó0   — t        j                  | d¬«      S )NrÕ  ©rá  )rS   Úto_timedelta)rx   s    r*   ú<lambda>z4TestPandasContainer.test_timedelta.<locals>.<lambda>9  s   € œbŸo™o¨a°dÔ;€ r6   é   r=   ©Úsecondsztimedelta64[ns]r}  rª  r   r   rI   )r   r   rE   r   r   r$   Úapplyr    r  r   r
   r%   )rU   Ú	converterrc   r)   Úframes        r*   Útest_timedeltaz"TestPandasContainer.test_timedelta8  s(  € Ù;ˆ	ä”i “m¤Y°qÔ%9Ð:Ó;ˆØ�y‰yÐ-Ò-Ð-Ð-äœ8 C§K¡K£MÓ2¸ÔA×GÑGÈ	ÓRˆÜ
×Ñ˜v sÔ+ä”i “m¤Y°qÔ%9Ð:Ä%ÈÈAÈÃ-ÔPˆØ�y‰yÐ-Ò-Ð-Ð-Üœ8 C§K¡K£MÓ2¸ÔA×GÑGÈ	ÓRˆÜ
×Ñ˜v sÔ+äœ9 R›=¬)¸AÔ*>Ð?Ó@ˆØ�Q‰x�~‰~Ð!2Ò2Ð2Ð2Ü
×ÑØ”9œX e§m¡m£oÓ6Ó7×=Ñ=¸iÓHõ	
r6   c                 ól  — t        t        d¬«      t        d¬«      gddgt        dd¬«      d	œ«      }t        |j	                  d
¬«      «      }t        |«      }t        j                  |j                  d
¬«      |d<   t        j                  |j                  «      |d<   t        j                  ||«       y )Nr  ©Údaysr=   r  r   r   r†   )Ústartr_   ©r   r   rW   r   r·  r  r   rW   )r
   r   r   r   r$   r   rS   r  r   Úto_datetimerW   r    r%   )rU   r  rX   r)   s       r*   Útest_timedelta2z#TestPandasContainer.test_timedelta2L  s’   € Üä RÔ(¬)¸AÔ*>Ð?Ø˜�VÜ j¸!Ô<ñó
ˆô ˜Ÿ™°˜Ó5Ó6ˆÜ˜4“ˆÜ—o‘o f§h¡h°TÔ:ˆˆs‰Ü—n‘n V§X¡XÓ.ˆˆs‰Ü
×Ñ˜e VÕ,r6   c                 ó†  — t        d«      }t        d«      }t        d||git        ¬«      }t        dt	        j
                  |«      j                  d«      j                  |j                  d«      j                  gi«      }t        |j                  d¬«      «      }t        |ddi¬«      }t        j                  ||d¬	«       y )
Nr  r†   r   rD   r   r·  rC   Frÿ   )r   r   r
   r±   rS   Ú	Timedeltar)  Ú_valuer   r$   r   r    r%   )rU   Útdr`   r  r&   rX   r)   s          r*   Útest_mixed_timedelta_datetimez1TestPandasContainer.test_mixed_timedelta_datetimeZ  s¢   € Ü�r‹]ˆÜ�zÓ"ˆÜ˜3  R ˜/´Ô8ˆäØ”2—<‘< Ó#×+Ñ+¨DÓ1×8Ñ8¸"¿*¹*ÀTÓ:J×:QÑ:QÐRÐSó
ˆô ˜Ÿ™°˜Ó5Ó6ˆÜ˜4¨¨W ~Ô6ˆÜ
×Ñ˜f hÀÖGr6   Útimedelta_typc                 óô   —  |d¬«       |d¬«      t         j                  g}|r|j                  d«       t        ||¬«      }|dk(  rd}nd}|r|j	                  d	d
«      }|j                  |¬«      }||k(  sJ ‚y )Nr   r  r   r   rI   r½  zA{"P1DT0H0M0S":"P1DT0H0M0S","P2DT0H0M0S":"P2DT0H0M0S","null":null}z7{"86400000":86400000,"172800000":172800000,"null":null}rÅ  rÆ  rÄ  )rS   r+  rÇ  r   rÈ  r$   )rU   r¾  r»  r"  rX   rc   r&   r)   s           r*   Útest_timedelta_to_jsonz*TestPandasContainer.test_timedelta_to_jsonf  s„   € ñ
  1Ô%¡}¸!Ô'<¼b¿f¹fÐEˆÙØ�K‰K˜Ôä�T Ô&ˆØ˜%ÒàSñ ð QˆHáØ×'Ñ'¨¨[Ó9ˆHà—‘¨�Ó5ˆØ˜Ò!Ð!Ñ!r6   c                 ó’   —  |d¬«      g}t        ||¬«      }|r|j                  t        «      }|j                  «       }d}||k(  sJ ‚y )Né*   )ÚmillisecondsrI   z	{"42":42})r   rŽ   r±   r$   )rU   r¾  r"  rX   rc   r)   r&   s          r*   Ú+test_timedelta_to_json_fractional_precisionz?TestPandasContainer.test_timedelta_to_json_fractional_precision}  sL   € ñ ¨2Ô.Ð/ˆÜ�T Ô&ˆÙØ—*‘*œVÓ$ˆCà—‘“ˆØˆØ˜Ò!Ð!Ñ!r6   c                 óæ   — t        «       }t        dd|gi«      }t        ddt        |«      gi«      }t        t	        |j                  t        ¬«      «      «      }t        j                  ||d¬«       y )Nr   é   rq  Frÿ   )r±   r
   r£   r   r   r$   r    r%   )rU   rñ   r  r&   r)   s        r*   Útest_default_handlerz(TestPandasContainer.test_default_handler‰  s_   € Ü“ˆÜ˜3  E 
Ð+Ó,ˆÜ˜c A¤s¨5£z ?Ð3Ó4ˆÜœ8 E§M¡MÄ# MÓ$FÓGÓHˆÜ
×Ñ˜h¨ÀÖGr6   c           	      óŽ   — d„ }dt        ddt        dd«      gt        d«      d dgd	œd
dg¬«      g}d}t        ||d¬«      |k(  sJ ‚y )Nc                 ór   — t        | t        «      rdd| j                  fd| j                  fgS t	        | «      S )N)ÚmathjsÚComplexÚreÚim)Ú
isinstanceÚcomplexÚrealÚimagr£   )Úobjs    r*   ÚdefaultzBTestPandasContainer.test_default_handler_indirect.<locals>.default‘  s4   € Ü˜#œwÔ'Ø-°°c·h±hÐ/?À$ÈÏÉÐAQÐRÐRÜ�s“8ˆOr6   é	   r   ÚSTRrf   éûÿÿÿræ   zN/Ar­  r   r   r   zR[9,[[1,null],["STR",null],[[["mathjs","Complex"],["re",4.0],["im",-5.0]],"N\/A"]]]r.   ©rr  r4   )r
   r3  r°   r   )rU   r7  Údf_listr&   s       r*   Útest_default_handler_indirectz1TestPandasContainer.test_default_handler_indirect�  sg   € ò	ð ÜØ˜%¤¨¨B£Ð0¼¸e»ÀdÈEÐ7RÑSØ˜c˜
ôð
ˆð1ð 	ô
 ˜°ÀÔJÈhÒVð	
ÙVr6   c           	      óª   — t        ddt        dd«      gt        d«      d t        dd«      gdœd	d
g¬«      }d}|j                  t        d¬«      |k(  sJ ‚y )Nr   gffffff@rf   r:  ræ   g333333ó?r   r­  r   r   r   zE[["(1+0j)","(nan+0j)"],["(2.3+0j)","(nan+0j)"],["(4-5j)","(1.2+0j)"]]r.   r;  )r
   r3  r°   r$   r£   )rU   rl   r&   s      r*   Ú,test_default_handler_numpy_unsupported_dtypez@TestPandasContainer.test_default_handler_numpy_unsupported_dtype¥  sa   € äØ�cœ7 1 b›>Ð*´%¸³,ÀÄgÈcÐSTÃoÐ1VÑWØ˜#�Jô
ˆð
%ð 	ð
 �z‰z¬#°hˆzÓ?À8ÒKÐKÑKr6   c           
      óx  ‡— dŠˆfd„}t        j                  t        ‰¬«      5  t        dddt	        «       gi«      j                  |¬«       d d d «       t        j                  t        ‰¬«      5  t        dddt        dd	«      gi«      j                  |¬«       d d d «       y # 1 sw Y   ŒXxY w# 1 sw Y   y xY w)
NÚraisinc                 ó   •— t        ‰«      ‚r`  )Ú	TypeError)r6  r(   s    €r*   Úmy_handler_raiseszJTestPandasContainer.test_default_handler_raises.<locals>.my_handler_raisesµ  s   ø€ Ü˜C“.Ð r6   r   r   r   r   rq  rf   r:  )r~   r   rC  r
   r±   r$   r3  )rU   rD  r(   s     @r*   Útest_default_handler_raisesz/TestPandasContainer.test_default_handler_raises²  s²   ø€ Øˆô	!ô �]‰]œ9¨CÔ0ñ 	Ü�s˜Q ¤6£8Ð,Ð-Ó.×6Ñ6Ø 1ð 7ô ÷	ô �]‰]œ9¨CÔ0ñ 	Ü�s˜Q ¤7¨1¨b£>Ð2Ð3Ó4×<Ñ<Ø 1ð =ô ÷	ð 	÷		ð 	ú÷	ð 	ús   ¤)B$Á0+B0Â$B-Â0B9c                 ó  — t        dg d¢i«      }|d   |d<   |j                  «       }|d   j                  d«      |d<   ||j                  «       k(  sJ ‚|d   }|d   }|j                  «       |j                  «       k(  sJ ‚y )NrÅ   )r   r   rW   r   r   r   r   rh   Úcategory)r
   r$   rŽ   )rU   rl   r&   r�  Úscs        r*   Útest_categoricalz$TestPandasContainer.test_categoricalÁ  s€   € ä˜Ò@ÐAÓBˆØ�S‘'ˆˆ3‰Ø—:‘:“<ˆà�S‘'—.‘. Ó,ˆˆ3‰Ø˜2Ÿ:™:›<Ò'Ð'Ð'àˆs‰GˆØ�‰WˆØ�y‰y‹{˜bŸj™j›lÒ*Ð*Ñ*r6   c                 óx  — t        ddd¬«      }|j                  d«      j                  d «      }t        |t        dd¬«      dœ«      }|j	                  «       }||d<   |j                  «       }||j                  «       k(  sJ ‚t        |«      }t        |«      }|j                  «       |j                  «       k(  sJ ‚y )	Nr†   r…   ú
US/Eastern©r_   r   Úutcr^   rp  rÅ   )r   Ú
tz_convertÚtz_localizer
   rs   r$   r   )rU   Útz_rangeÚtz_naiverl   Údf_naiver&   ÚstzÚs_naives           r*   Útest_datetime_tzz$TestPandasContainer.test_datetime_tzÎ  s¦   € ä˜j°!¸ÔEˆØ×&Ñ& uÓ-×9Ñ9¸$Ó?ˆä˜X¬J°zÈ1Ô,MÑNÓOˆà—7‘7“9ˆØ ˆ�‰Ø×#Ñ#Ó%ˆØ˜2Ÿ:™:›<Ò'Ð'Ð'ä�XÓˆÜ˜Ó"ˆØ�{‰{‹} §¡Ó 1Ò1Ð1Ñ1r6   c                 ó,  — t        t        j                  j                  d«      j	                  d«      «      }t        j
                  |j                  d d |j                  d«      }|j                  «       }||j                  «       k(  sJ ‚t        t        j                  j                  d«      j	                  d«      «      }t        j
                  |j                  d d |j                  d«      }|j                  «       }||j                  «       k(  sJ ‚y )Nr   )r\   rf   é   ÚSparser\   )
r
   rM   rN   rO   rP   ræ   rê   rŽ   r$   r   )rU   rl   Úsdfr&   r�  Ússs         r*   Útest_sparsezTestPandasContainer.test_sparseÞ  sÊ   € ä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜ—V‘Vˆ�‰ˆr�ˆ
à�i‰i˜Ó!ˆØ—:‘:“<ˆØ˜3Ÿ;™;›=Ò(Ð(Ð(ä”2—9‘9×(Ñ(¨Ó+×;Ñ;¸BÓ?Ó@ˆÜ—F‘Fˆ�‰ˆbˆqˆ	Ø�X‰X�hÓˆà—9‘9“;ˆØ˜2Ÿ:™:›<Ò'Ð'Ñ'r6   r`   z2013-01-10 05:00:00Zz2013-01-10 00:00:00rK  z2013-01-10 00:00:00-0500c                 óp   — d}t        |d¬«      |k(  sJ ‚|j                  «       }t        |d¬«      |k(  sJ ‚y )Nz"2013-01-10T05:00:00.000Z"T©Ú	iso_dates)r   Úto_pydatetime©rU   r`   ÚexpÚdts       r*   Útest_tz_is_utcz"TestPandasContainer.test_tz_is_utcî  sA   € ð +ˆä˜2¨Ô.°#Ò5Ð5Ð5Ø×ÑÓˆÜ˜2¨Ô.°#Ò5Ð5Ñ5r6   c                 ó†   — t        d«      }d}t        |d¬«      |k(  sJ ‚|j                  «       }t        |d¬«      |k(  sJ ‚y )Nz2013-01-10 05:00:00z"2013-01-10T05:00:00.000"Tr]  )r   r   r_  r`  s       r*   Útest_tz_is_naivez$TestPandasContainer.test_tz_is_naiveý  sJ   € ÜÐ,Ó-ˆØ)ˆä˜2¨Ô.°#Ò5Ð5Ð5Ø×ÑÓˆÜ˜2¨Ô.°#Ò5Ð5Ñ5r6   rP  z2013-01-01 05:00:00Zr   r^   z2013-01-01 00:00:00rL  z2013-01-01 00:00:00-0500c                 ó>  — d}d}t        |d¬«      |k(  sJ ‚t        |«      }t        |d¬«      |k(  sJ ‚t        |j                  t        «      d¬«      |k(  sJ ‚t	        d|i«      }t        |d¬«      }||k(  sJ ‚t        |j                  dt        i«      d¬«      sJ ‚y )Nz7["2013-01-01T05:00:00.000Z","2013-01-02T05:00:00.000Z"]zF{"DT":{"0":"2013-01-01T05:00:00.000Z","1":"2013-01-02T05:00:00.000Z"}}Tr]  ÚDT)r   r   rŽ   r±   r
   )rU   rP  ra  Údfexpr0  rl   r)   s          r*   Útest_tz_range_is_utcz(TestPandasContainer.test_tz_range_is_utc  s­   € ð Hˆð/ð 	ô ˜8¨tÔ4¸Ò;Ð;Ð;Ü˜HÓ%ˆô ˜3¨$Ô/°3Ò6Ð6Ð6Ü˜3Ÿ:™:¤fÓ-¸Ô>À#ÒEÐEÐEÜ˜˜c�{Ó#ˆÜ˜R¨4Ô0ˆØ˜ŠÐˆÜ˜2Ÿ9™9 d¬F ^Ó4ÀÕEÐEÑEr6   c                 ó  — t        dd¬«      }d}d}t        |d¬«      |k(  sJ ‚t        |j                  t        «      d¬«      |k(  sJ ‚t	        d|i«      }t        |d¬«      }||k(  sJ ‚t        |j                  dt        i«      d¬«      sJ ‚y )	Nz2013-01-01 05:00:00r   r^   z5["2013-01-01T05:00:00.000","2013-01-02T05:00:00.000"]zD{"DT":{"0":"2013-01-01T05:00:00.000","1":"2013-01-02T05:00:00.000"}}Tr]  rg  )r   r   rŽ   r±   r
   )rU   r0  ra  rh  rl   r)   s         r*   Útest_tz_range_is_naivez*TestPandasContainer.test_tz_range_is_naive   s‘   € ÜÐ.¸Ô:ˆàEˆØVˆô ˜3¨$Ô/°3Ò6Ð6Ð6Ü˜3Ÿ:™:¤fÓ-¸Ô>À#ÒEÐEÐEÜ˜˜c�{Ó#ˆÜ˜R¨4Ô0ˆØ˜ŠÐˆÜ˜2Ÿ9™9 d¬F ^Ó4ÀÕEÐEÑEr6   c                 ó†   — t        t        d«      d¬«      }t        ddgddggddg¬«      }t        j                  ||«       y )	Nr   Tr   r   r   r   r   r   ©r   r   r
   r    r%   rz  s      r*   Útest_read_inline_jsonlz*TestPandasContainer.test_read_inline_jsonl/  sD   € ô œ8Ð$IÓJÐRVÔWˆÜ˜q !˜f q¨! fÐ-¸¸S°zÔBˆÜ
×Ñ˜f hÕ/r6   c                 ó’   — t        d|j                  › d�d|¬«      }t        ddgddggddg¬	«      }t        j                  ||«       y )
Nzs3n://z/items.jsonlT)r   Ústorage_optionsr   r   r   r   r   )r   rH   r
   r    r%   )rU   Ús3_public_bucket_with_dataÚs3sor)   r&   s        r*   Útest_read_s3_jsonlz&TestPandasContainer.test_read_s3_jsonl6  sW   € ô
 ØÐ/×4Ñ4Ð5°\ÐBØØ ô
ˆô
 ˜q !˜f q¨! fÐ-¸¸S°zÔBˆÜ
×Ñ˜f hÕ/r6   c                 ó0  — t        j                  d«      5 }t        |dd¬«      5 }|j                  d«       d d d «       t	        |d¬«      }t        dd	gdd	ggd
dg¬«      }t        j                  ||«       d d d «       y # 1 sw Y   ŒJxY w# 1 sw Y   y xY w)Nztmp_items.jsonÚwzutf-8©Úencodingr   Tr   r   r   r   r   r   )r    r±  ÚopenÚwriter   r
   r%   )rU   r-  Úinfiler)   r&   s        r*   Útest_read_local_jsonlz)TestPandasContainer.test_read_local_jsonlC  s˜   € ä�_‰_Ð-Ó.ð 	4°$Ü�d˜C¨'Ô2ð D°fØ—‘ÐBÔC÷Dä˜t¨4Ô0ˆFÜ  1 a &¨1¨a¨&Ð!1¸CÀ¸:ÔFˆHÜ×!Ñ! &¨(Ô3÷	4ð 	4÷Dð Dú÷	4ð 	4ús"   –B¥B ·A BÂ B		ÂBÂBc                 ó  — d}t        |«      }t        |d¬«      }t        ddgddggddg¬	«      }t        j                  ||«       t        d«      }t        |d¬«      }t        ddgddggddg¬	«      }t        j                  ||«       y )
Nu5   {"a": "fooâ€�", "b": "bar"}
{"a": "foo", "b": "bar"}
Tr   u   fooâ€�r>   r@   r   r   r   )r   r   r
   r    r%   ©rU   r$  r)   r&   s       r*   Útest_read_jsonl_unicode_charsz1TestPandasContainer.test_read_jsonl_unicode_charsL  s–   € ð
 IˆÜ˜‹~ˆÜ˜4 tÔ,ˆÜ˜{¨EÐ2°U¸E°NÐCÈcÐSVÈZÔXˆÜ
×Ñ˜f hÔ/ô ÐQÓRˆÜ˜4 tÔ,ˆÜ˜{¨EÐ2°U¸E°NÐCÈcÐSVÈZÔXˆÜ
×Ñ˜f hÕ/r6   ÚbigNumc                 óô   — t        |t        dg¬«      }|j                  «       }dt        |«      z   dz   }||k(  sJ ‚t	        |t        dgdg¬«      }|j                  «       }dt        |«      z   dz   }||k(  sJ ‚y )	NÚ	articleIdrç  ú{"articleId":rÅ  r   ©rE   rJ   r   ú{"0":{"articleId":rï   )r   r±   r$   r£   r
   )rU   r  r}  r$  r&   rl   s         r*   Útest_to_json_large_numbersz.TestPandasContainer.test_to_json_large_numbers]  s�   € ô ˜¤f°[°MÔBˆØ�~‰~ÓˆØ"¤S¨£[Ñ0°3Ñ6ˆØ�xÒÐÐä�v¤V°K°=È1È#ÔNˆØ�z‰z‹|ˆØ'¬#¨f«+Ñ5¸Ñ<ˆØ�xÒÐÑr6   lûÿÿÿ        l            c                 ó\  — t        dt        |«      z   dz   «      }d}t        j                  t        |¬«      5  t        |«       d d d «       t        dt        |«      z   dz   «      }t        j                  t        |¬«      5  t        |«       d d d «       y # 1 sw Y   ŒSxY w# 1 sw Y   y xY w)Nr‚  rÅ  z#Value is too small|Value is too bigr   r„  rï   )r   r£   r~   r   r#   r   )rU   r  r$  r(   s       r*   Útest_read_json_large_numbersz0TestPandasContainer.test_read_json_large_numbersj  s•   € ô ˜¬#¨f«+Ñ5¸Ñ;Ó<ˆØ4ˆÜ�]‰]œ:¨SÔ1ñ 	Ü�dŒO÷	ô Ð,¬s°6«{Ñ:¸TÑAÓBˆÜ�]‰]œ:¨SÔ1ñ 	Ü�dŒO÷	ð 	÷		ð 	ú÷	ð 	ús   ¸BÂB"ÂBÂ"B+c                 óü   — d}t        |«      }t        |d¬«      }t        ddg¬«      }t        j                  ||«       d}t        |«      }t        |«      }t        ddgdg¬	«      }t        j                  ||«       y )
Nz'{"articleId": "1404366058080022500245"}r}  rª  gg“_SDr�  rI   z.{"0": {"articleId": "1404366058080022500245"}}r   rp   )r   r   r   r    r  r
   r%   r}  s       r*   Útest_read_json_large_numbers2z1TestPandasContainer.test_read_json_large_numbers2v  ss   € à8ˆÜ˜‹~ˆÜ˜4 XÔ.ˆÜ˜+¨k¨]Ô;ˆÜ
×Ñ˜v xÔ0à?ˆÜ˜‹~ˆÜ˜4“ˆÜ˜[°°ÈÀsÔKˆÜ
×Ñ˜f hÕ/r6   c                 óÒ  — t        ddgddggddg¬«      }|j                  dd¬«      }d	}||k(  sJ ‚t        d
dgddggddg¬«      }|j                  dd¬«      }d}||k(  sJ ‚t        j                  t	        t        |«      d¬«      |«       t        ddgddggddg¬«      }|j                  dd¬«      }d}||k(  sJ ‚t        j                  t	        t        |«      d¬«      |«       y )Nr   r   r   r   r   r-   T©r4   r   z{"a":1,"b":2}
{"a":1,"b":2}
zfoo}r>   zfoo"z/{"a":"foo}","b":"bar"}
{"a":"foo\"","b":"bar"}
r   zfoo\za\r   )r
   r$   r    r%   r   r   r  s       r*   Útest_to_jsonlz!TestPandasContainer.test_to_jsonl„  s  € ä˜˜A˜  A Ð'°#°s°Ô<ˆØ—‘ 9°D�Ó9ˆØ3ˆØ˜Ò!Ð!Ð!ä˜ ˜¨&°%¨Ð9ÀCÈÀ:ÔNˆØ—‘ 9°D�Ó9ˆØGˆØ˜Ò!Ð!Ð!Ü
×Ñœi¬°Ó(8ÀÔEÀrÔJô ˜ %Ð(¨6°5¨/Ð:ÀUÈCÀLÔQˆØ—‘ 9°D�Ó9ˆØRˆØ˜Ò!Ð!Ð!ä
×Ñœi¬°Ó(8ÀÔEÀrÕJr6   z%GH#13774 encoding kwarg not supportedÚval)ó   EÉ, 17r6   ó   aó   bó   c)rŽ  r�  r�  r‘  )s   EE, 17r6   r�  r�  r‘  )rŽ  ó   øür�  r�  r‘  )r6   r�  r�  r‘  )r’  r�  r�  r‘  )ó   Aøür6   r�  r�  r‘  r6   r�  r‘  r“  rG  c           	      ó`  — t        |D �cg c]%  }t        |t        «      r|j                  d«      n|‘Œ' c}|¬«      }d}t	        j
                  d«      5 }|j                  ||¬«       t        t        |«      |¬«      }t	        j                  ||d¬«       d d d «       y c c}w # 1 sw Y   y xY w)Nzlatin-1rD   r°  rv  F)Úcheck_categorical)
r   r2  rb  Údecoder    r±  r$   r   r   r  )rU   rE   r�  rx   rc   rw  r-  Úretrs           r*   Útest_latin_encodingz'TestPandasContainer.test_latin_encodingš  s¢   € ô$ ØILÖMÀA¤J¨q´%Ô$8ˆQ�X‰X�iÔ ¸aÑ?ÒMØô
ˆð ˆÜ�_‰_˜[Ó)ð 	G¨TØ�K‰K˜ xˆKÔ0ÜœX d›^°hÔ?ˆDÜ×"Ñ" 3¨ÀÕF÷	Gð 	Gùò	 N÷	Gð 	Gús   Š*BÁAB$Â$B-c                 óä   — t        dt        d«      gi«      }|j                  dd¬«      j                  «       }|j	                  «        |j                  dd¬«      j                  «       }||k(  sJ ‚y )Nr   r   T)rJ   Údeep)r
   r£   Úmemory_usageÚsumr$   )rU   rl   Úsize_beforeÚ
size_afters       r*   Ú"test_data_frame_size_after_to_jsonz6TestPandasContainer.test_data_frame_size_after_to_json¶  sc   € ä˜œc !›f˜X�Ó'ˆà—o‘o¨D°t�oÓ<×@Ñ@ÓBˆØ
�
‰
ŒØ—_‘_¨4°d�_Ó;×?Ñ?ÓAˆ
à˜jÒ(Ð(Ñ(r6   r»   r¼   rÜ   rÝ   ú1.ú2.c                 ó¨   — t        ddgddgg||¬«      }|j                  d¬«      }t        t        |«      d¬«      }t	        j
                  ||«       y )Nr   r   r…   rf   rp   Útablerq   ©r
   r$   r   r   r    r%   )rU   rJ   r   r&   Údfjsonr)   s         r*   Ú.test_from_json_to_json_table_index_and_columnszBTestPandasContainer.test_from_json_to_json_table_index_and_columnsÀ  sS   € ô ˜q !˜f q¨! fÐ-°UÀGÔLˆØ×!Ñ!¨Ð!Ó1ˆäœ8 FÓ+°GÔ<ˆÜ
×Ñ˜f hÕ/r6   c                 óª   — t        ddgddgddgdœ«      }|j                  d¬	«      }t        t        |«      d¬	«      }t	        j
                  ||«       y )
Nr   r   r½   r¾   rß   rà   r  r£  rq   r¤  )rU   r&   r¥  r)   s       r*   Ú#test_from_json_to_json_table_dtypesz7TestPandasContainer.test_from_json_to_json_table_dtypesÌ  sS   € ä A q 6°°c°
À#ÀsÀÑLÓMˆØ×!Ñ!¨Ð!Ó1ˆÜœ8 FÓ+°GÔ<ˆÜ
×Ñ˜f hÕ/r6   zincorrect na conversion)rv   r-   rJ   r   c                 ód  — t        j                  t        g d¢d¬«      t        g d¢d¬«      t        g d¢d¬«      t        g d¢d	¬«      t        g d
¢d¬«      t        g d¢d¬«      dœ«      }|j                  |¬«      }t	        t        |«      |dddd	dddœ¬«      }t        j                  ||«       y )Nrø   rC   rD   )Nr¼   r½   ra   )NÚ rW   r±   ©TFTÚbool©r   r   NrG  )r]   Nz
2020-01-03rŠ   )ÚIntegerÚFloatÚObjectÚBoolÚCategoryÚDatetimerq   ©r4   rE   )r
   Ú	from_dictr   r$   r   r   r    r%   )rU   r4   r&   r¥  r)   s        r*   Ú%test_to_json_from_json_columns_dtypesz9TestPandasContainer.test_to_json_from_json_columns_dtypesÕ  s¯   € ô ×&Ñ&ä!¢)°7Ô;ÜÒ 0¸	ÔBÜ ¢¸ÔAÜÒ2¸&ÔAÜ"Ò#3¸:ÔFÜ"Ú6Ð>Nôñ	ó
ˆð ×!Ñ!¨Ð!Ó0ˆäÜ�VÓØà"Ø"Ø"ØØ&Ø,ñô
ˆô 	×Ñ˜f hÕ/r6   )r   rW   c                 óÒ   — t        ddgddgddgdœ«      }|j                  d¬	«      }d
}t        j                  t        |¬«      5  t        |d|¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   r½   r¾   rß   rà   r  r£  rq   z)cannot pass both dtype and orient='table'r   r´  ©r
   r$   r~   r   r#   r   )rU   rE   rl   r¥  r(   s        r*   Ú!test_read_json_table_dtype_raisesz5TestPandasContainer.test_read_json_table_dtype_raisesõ  se   € ô ˜a ˜V¨3°¨*¸CÀ¸:ÑFÓGˆØ—‘ 7�Ó+ˆØ9ˆÜ�]‰]œ:¨SÔ1ñ 	;Ü�f W°EÕ:÷	;÷ 	;ñ 	;ús   ÁAÁA&)rJ   r   r-   r.   c                 óî   — t        «       }t        t        d«      |d¬«      }t        j                  |j
                  |j
                  «       t        j                  |j                  |j                  «       y )Nz{}Tr¨   )r
   r   r   r    Úassert_index_equalrJ   r   )rU   r4   r&   r)   s       r*   Ú%test_read_json_table_empty_axes_dtypez9TestPandasContainer.test_read_json_table_empty_axes_dtypeþ  sO   € ô “;ˆÜœ8 D›>°&ÀtÔLˆÜ
×Ñ˜fŸl™l¨H¯N©NÔ;Ü
×Ñ˜fŸn™n¨h×.>Ñ.>Õ?r6   c                 óØ   — t        ddgddggddgddg¬	«      }|j                  d
¬«      }d}t        j                  t        |¬«      5  t        |d
d¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   r…   rf   r»   r¼   r   r¡  rp   r£  rq   z0cannot pass both convert_axes and orient='table'r   Tr¨   r¸  )rU   rl   r¥  r(   s       r*   Ú(test_read_json_table_convert_axes_raisesz<TestPandasContainer.test_read_json_table_convert_axes_raises  sm   € ä˜˜A˜  A Ð'°°S¨zÀDÈ$À<ÔPˆØ—‘ 7�Ó+ˆØ@ˆÜ�]‰]œ:¨SÔ1ñ 	AÜ�f W¸4Õ@÷	A÷ 	Añ 	Aús   ÁA Á A)zdata, expectedrf   r=   r   )r   rX   r@   rk   rø   rÅ   rG   )rH   rX   )rH   rJ   c                 ób   — |j                  dd¬«      }t        j                  |«      }||k(  sJ ‚y )Nrv   F©r4   rJ   )r$   r$  Úloads©rU   rX   r&   r)   s       r*   Útest_index_false_to_json_splitz2TestPandasContainer.test_index_false_to_json_split  s3   € ð@ —‘ W°E�Ó:ˆÜ—‘˜FÓ#ˆà˜Ò!Ð!Ñ!r6   c                 óð   — |j                  dd¬«      }t        j                  |«      }t        j                  j                  j                  |d¬«      t        |«      j                  d¬«      dœ}||k(  sJ ‚y )Nr£  FrÀ  rI   r-   rq   )ÚschemarX   )r$   r$  rÁ  rS   r#  Úbuild_table_schemar
   Úto_dict©rU   rX   r)   r&   s       r*   Útest_index_false_to_json_tablez2TestPandasContainer.test_index_false_to_json_table4  sm   € ð& —‘ W°E�Ó:ˆÜ—‘˜FÓ#ˆô —e‘e—j‘j×3Ñ3°DÀÐ3ÓFÜ˜d“O×+Ñ+°9Ð+Ó=ñ
ˆð
 ˜Ò!Ð!Ñ!r6   c                 ó¸   — t        ddgddggddg¬«      }d}t        j                  t        |¬	«      5  |j	                  |d
¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rf   r=   r   r   r   zU'index=False' is only valid when 'orient' is 'split', 'table', 'records', or 'values'r   FrÀ  r}   r€   s       r*   Útest_index_false_error_to_jsonz2TestPandasContainer.test_index_false_error_to_jsonQ  s`   € ô
 ˜˜A˜  A Ð'°#°s°Ô<ˆð.ð 	ô �]‰]œ:¨SÔ1ñ 	3Ø�J‰J˜f¨EˆJÔ2÷	3÷ 	3ñ 	3úó   ³AÁAr-   c                 ó¸   — t        ddgddggddg¬«      }d}t        j                  t        |¬	«      5  |j	                  |d
¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rf   r=   r   r   r   zS'index=True' is only valid when 'orient' is 'split', 'table', 'index', or 'columns'r   TrÀ  r}   r€   s       r*   Útest_index_true_error_to_jsonz1TestPandasContainer.test_index_true_error_to_json_  s`   € ô
 ˜˜A˜  A Ð'°#°s°Ô<ˆð-ð 	ô �]‰]œ:¨SÔ1ñ 	2Ø�J‰J˜f¨DˆJÔ1÷	2÷ 	2ñ 	2úrÌ  r£  c                 ó¦   — t        ddgddgdœ«      }|j                  ||¬«      }t        t        |«      |¬«      }t	        j
                  ||«       y )Nr   r   r…   rf   r­  rÀ  rq   r¤  )rU   r4   rJ   r&   r¥  r)   s         r*   Ú"test_index_false_from_json_to_jsonz6TestPandasContainer.test_index_false_from_json_to_jsonm  sQ   € ô
  A q 6°°A°Ñ7Ó8ˆØ×!Ñ!¨°uÐ!Ó=ˆÜœ8 FÓ+°FÔ;ˆÜ
×Ñ˜f hÕ/r6   c                 ó–   — t        t        d«      dd¬«      }t        dgd¬«      }t        dg|¬	«      }t	        j
                  ||«       y )
Nz{"2019-01-01T11:00:00.000Z":88}r}  rJ   rˆ  z2019-01-01 11:00:00zM8[ns, UTC]rD   éX   rI   )r   r   r   r   r    r  )rU   r)   Úexp_dtir&   s       r*   Útest_read_timezone_informationz2TestPandasContainer.test_read_timezone_informationw  sI   € äÜÐ6Ó7¸XÈgô
ˆô  Ð!6Ð 7¸}ÔMˆÜ˜2˜$ gÔ.ˆÜ
×Ñ˜v xÕ0r6   r  )zs3://example-fsspec/zgcs://another-fsspec/file.jsonzhttps://example-site.com/datazsome-protocol://data.txtc                 ó|   — t        t        d|› d�«      «      }t        d|gi«      }t        j                  ||«       y )Nz{"url":{"0":"ro  r  rm  )rU   r  r)   r&   s       r*   Útest_read_json_with_url_valuez1TestPandasContainer.test_read_json_with_url_value€  s<   € ô œ8 o°c°U¸%Ð$@ÓAÓBˆÜ˜e c U˜^Ó,ˆÜ
×Ñ˜f hÕ/r6   Úcompression)rª  z.gzz.bz2z.tarc                 ó�   — d› d|› �}t        j                  t        d|› d�¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)NÁè  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz.jsonzFile z does not existr   )r~   r   ÚFileNotFoundErrorr   )rU   r×  Úlong_json_paths      r*   Ú'test_read_json_with_very_long_file_pathz;TestPandasContainer.test_read_json_with_very_long_file_path�  sN   € ð '˜< u¨[¨MÐ:ˆÜ�]‰]Ü u¨^Ð,<¸OÐ%Lô
ñ 	&ô
 �nÔ%÷	&÷ 	&ñ 	&ús	   §<¼Azdate_format,key)r¼  i \&)r½  Ú
P1DT0H0M0Sc                 óˆ   — t        dggt        j                  d«      g¬«      }d|› d�}|j                  |¬«      }||k(  sJ ‚y )Nr   Ú1Dr   ry  z
":{"0":1}}rÄ  )r
   rS   r  r$   )rU   r»  Úkeyrl   r&   r)   s         r*   Útest_timedelta_as_labelz+TestPandasContainer.test_timedelta_as_label�  sL   € ô ˜˜�u¤r§|¡|°DÓ'9Ð&:Ô;ˆØ˜˜˜]Ð+ˆØ—‘¨�Ó4ˆà˜Ò!Ð!Ñ!r6   zorient,expected)rJ   z{"('a', 'b')":{"('c', 'd')":1}})r   z{"('c', 'd')":{"('a', 'b')":1}}rª  z,Produces JSON but not in a consistent manner)Úmarksc                 óZ   — t        dggdgdg¬«      }|j                  |¬«      }||k(  sJ ‚y )Nr   r­  )rW   ro   rp   rq   rð   ©rU   r4   r&   rl   r)   s        r*   Útest_tuple_labelsz%TestPandasContainer.test_tuple_labels§  s8   € ô0 ˜˜�u Z L¸:¸,ÔGˆØ—‘ 6�Ó*ˆØ˜Ò!Ð!Ñ!r6   Úindent)r   r   rf   c                 ó°   — t        ddgddggddg¬«      }|j                  |¬«      }d	|z  }d
|› d|› |› d|› |› d|› d|› d|› |› d|› |› d|› d�}||k(  sJ ‚y )Nr@   r>   r?   r  r   r   r   ©ræ  ú z{
z"a":{
z"0":"foo",
z
"1":"baz"
z},
z"b":{
z"0":"bar",
z
"1":"qux"
z}
}rð   )rU   ræ  rl   r)   Úspacesr&   s         r*   Útest_to_json_indentz'TestPandasContainer.test_to_json_indentÃ  s¶   € ô ˜ ˜¨°¨Ð7À#ÀsÀÔLˆà—‘ 6�Ó*ˆØ�v‘ˆðØ€ð 	Ø€ˆˆð Ø€ˆˆð Ø€ð 	Ø€ð 	Ø€ˆˆð Ø€ˆˆð Ø€ð 	ð	ˆð ˜Ò!Ð!Ñ!r6   z]Adjust expected when infer_string is default, no bug here, just a complicated parametrization))rv   zã{
    "columns":[
        "a",
        "b"
    ],
    "index":[
        0,
        1
    ],
    "data":[
        [
            "foo",
            "bar"
        ],
        [
            "baz",
            "qux"
        ]
    ]
})r-   zf[
    {
        "a":"foo",
        "b":"bar"
    },
    {
        "a":"baz",
        "b":"qux"
    }
])rJ   zn{
    "0":{
        "a":"foo",
        "b":"bar"
    },
    "1":{
        "a":"baz",
        "b":"qux"
    }
})r   zn{
    "a":{
        "0":"foo",
        "1":"baz"
    },
    "b":{
        "0":"bar",
        "1":"qux"
    }
})r.   zV[
    [
        "foo",
        "bar"
    ],
    [
        "baz",
        "qux"
    ]
])r£  aa  {
    "schema":{
        "fields":[
            {
                "name":"index",
                "type":"integer"
            },
            {
                "name":"a",
                "type":"string"
            },
            {
                "name":"b",
                "type":"string"
            }
        ],
        "primaryKey":[
            "index"
        ],
        "pandas_version":"1.4.0"
    },
    "data":[
        {
            "index":0,
            "a":"foo",
            "b":"bar"
        },
        {
            "index":1,
            "a":"baz",
            "b":"qux"
        }
    ]
}c                 ób   — t        ddgddggddg¬«      }|j                  |d¬	«      }||k(  sJ ‚y )
Nr@   r>   r?   r  r   r   r   rf   )r4   ræ  rð   rä  s        r*   Útest_json_indent_all_orientsz0TestPandasContainer.test_json_indent_all_orients×  sB   € ôx ˜ ˜¨°¨Ð7À#ÀsÀÔLˆØ—‘ 6°!�Ó4ˆØ˜Ò!Ð!Ñ!r6   c                 ó˜   — t        j                  t        d¬«      5  t        «       j	                  d¬«       d d d «       y # 1 sw Y   y xY w)Nzmust be a nonnegative integerr   éÿÿÿÿrè  )r~   r   r#   r
   r$   rg  s    r*   Ú test_json_negative_indent_raisesz4TestPandasContainer.test_json_negative_indent_raisesW  s9   € Ü�]‰]œ:Ð-LÔMñ 	+Ü‹K×Ñ rÐÔ*÷	+÷ 	+ñ 	+ús   œA Á A	c           	      óº   — t        d«      }t        |«      }t        dd dt        j                  dt        j                   dg«      }t        j                  ||«       y )Nz?["a", NaN, "NaN", Infinity, "Infinity", -Infinity, "-Infinity"]r   ÚNaNÚInfinityz	-Infinity)r   r   r
   rM   rè   r    r%   rÈ  s       r*   Útest_emca_262_nan_inf_supportz1TestPandasContainer.test_emca_262_nan_inf_support[  sR   € äØMó
ˆô ˜4“ˆÜØ�$˜œrŸv™v z´B·F±F°7¸KÐHó
ˆô 	×Ñ˜f hÕ/r6   c                 ó¬   — t        j                  ddiddig«      }t        dddgi«      }t        t	        |«      «      }t        j                  ||«       y )NÚcolÚ31900441201190696999ÚText)r$  Údumpsr
   r   r   r    r%   )rU   Úencoded_jsonr&   r)   s       r*   Útest_frame_int_overflowz+TestPandasContainer.test_frame_int_overflowf  sS   € ä—z‘z EÐ+AÐ#BÀUÈFÀOÐ"TÓUˆÜ˜eÐ&<¸fÐ%EÐFÓGˆÜœ8 LÓ1Ó2ˆÜ
×Ñ˜f hÕ/r6   zdataframe,expectedr  ©rx   ry   zU{"(0, 'x')":1,"(0, 'y')":"a","(1, 'x')":2,"(1, 'y')":"b","(2, 'x')":3,"(2, 'y')":"c"}c                 óZ   — |j                  d¬«      }|j                  d¬«      }||k(  sJ ‚y )NT©Úfuture_stackrJ   rq   )Ústackr$   )rU   Ú	dataframer&   r}  r)   s        r*   Útest_json_multiindexz(TestPandasContainer.test_json_multiindexm  s2   € ð —‘¨d�Ó3ˆØ—‘ w�Ó/ˆØ˜Ò!Ð!Ñ!r6   c                 ó  — |j                   d}}t        g d¢g d¢dœ«      }|j                  d|› d|› �|¬«       d}	 |d	„ |j                  j	                  «       D «       v ry t        j                  d
«       |d
z  }|dkD  sJ d«       ‚ŒK)Nr°  rø   )r   rf   rÚ   rü  zs3://ú/)rp  r=   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr`  )rà  )Ú.0r6  s     r*   ú	<genexpr>z1TestPandasContainer.test_to_s3.<locals>.<genexpr>„  s   è ø€ ÒQ¨3˜sŸw�wÑQùs   ‚r  r   z,Timed out waiting for file to appear on moto)rH   r
   r$   ÚobjectsÚallÚtimeÚsleep)rU   Ús3_public_bucketrr  Úmock_bucket_nameÚtarget_filerl   Útimeouts          r*   Ú
test_to_s3zTestPandasContainer.test_to_s3|  s–   € ð )9×(=Ñ(=¸{˜+ÐÜšYªYÑ7Ó8ˆØ
�
‰
�UÐ+Ð,¨A¨k¨]Ð;ÈTˆ
ÔRØˆØØÑQÐ2B×2JÑ2J×2NÑ2NÓ2PÔQÑQØÜ�J‰J�sŒOØ�s‰NˆGØ˜Q’;ÐNÐ NÓN�;ð r6   c                 óÊ   — t        |t        «      r1t        j                  j	                  d¬«      }|j                  |«       t        |gg«      j                  «       }|dk(  sJ ‚y )Nznot implementedr¦   z{"0":{"0":null}})r2  r   r~   rª   r«   r©   r
   r$   )rU   Únulls_fixturer¬   rª   r)   s        r*   Útest_json_pandas_nullsz*TestPandasContainer.test_json_pandas_nullsŠ  sY   € ä�m¤WÔ-Ü—;‘;×$Ñ$Ð,=Ð$Ó>ˆDØ×Ñ Ô%ä˜]˜OÐ,Ó-×5Ñ5Ó7ˆØÐ+Ò+Ð+Ñ+r6   c                 óv   — t        t        d«      d¬«      }t        g d¢«      }t        j                  ||«       y )Nz[true, true, false]r}  rª  )TTF)r   r   r   r    r  rz  s      r*   Útest_readjson_bool_seriesz-TestPandasContainer.test_readjson_bool_series“  s/   € äœ8Ð$9Ó:ÀÔIˆÜÒ-Ó.ˆÜ
×Ñ˜v xÕ0r6   c                 óŠ   — t        dt        dd«      ddg¬«      j                  d¬«      }|j                  «       }d}||k(  sJ ‚y )	NTz
2017-01-20z
2017-01-23r@   r>   rp   rþ  a‰  {"(Timestamp('2017-01-20 00:00:00'), 'foo')":true,"(Timestamp('2017-01-20 00:00:00'), 'bar')":true,"(Timestamp('2017-01-21 00:00:00'), 'foo')":true,"(Timestamp('2017-01-21 00:00:00'), 'bar')":true,"(Timestamp('2017-01-22 00:00:00'), 'foo')":true,"(Timestamp('2017-01-22 00:00:00'), 'bar')":true,"(Timestamp('2017-01-23 00:00:00'), 'foo')":true,"(Timestamp('2017-01-23 00:00:00'), 'bar')":true})r
   r   r   r$   r  s       r*   Útest_to_json_multiindex_escapez2TestPandasContainer.test_to_json_multiindex_escape™  sY   € äØÜ˜\¨<Ó8Ø˜E�Nô
÷ ‰%˜Tˆ%Ó
"ð	 	ð
 —‘“ˆðBð 	ð ˜Ò!Ð!Ñ!r6   c                 ó    —  G d„ d«      }t         |dddd¬«      g«      }t        j                  |j                  «       «      ddddd	œik(  sJ ‚y )
Nc                   ó   — e Zd Zdd„Zd„ Zy)úGTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObjectNc                 ó<   — || _         || _        || _        || _        y r`  ©r   r   Ú_cro   )rU   r   r   r  ro   s        r*   re  zPTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.__init__¯  s   € Ø�”Ø�”Ø�”Ø�•r6   c                  ó   — y)Nr=   rÉ   rg  s    r*   r¹   zITestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.eµ  s   € Ør6   ri  )rj  rk  rl  re  r¹   rÉ   r6   r*   Ú_TestObjectr  ®  s   „ óór6   r  r   r   r…   rf   r  Ú0)r   r   ro   )r   r$  rÁ  r$   )rU   r  r}  s      r*   Útest_to_json_series_of_objectsz2TestPandasContainer.test_to_json_series_of_objects­  sP   € ÷	ñ 	ô ™ q¨A°!°qÔ9Ð:Ó;ˆÜ�z‰z˜&Ÿ.™.Ó*Ó+°¸1À1È1Ñ5MÐ/NÒNÐNÑNr6   zdata,expectedy      À       @y              ð?y      "@      À)r   r   r   zW{"0":{"imag":8.0,"real":-6.0},"1":{"imag":1.0,"real":0.0},"2":{"imag":-5.0,"real":9.0}}yHáz®Ç"À…ëQ¸å?yš™™™™™@¤p=
×£"@y…ëQ¸@Ãõ(\�ÂÅ¿z]{"0":{"imag":0.66,"real":-9.39},"1":{"imag":9.32,"real":3.95},"2":{"imag":-0.17,"real":4.03}}y       À      @y      ð¿        y      @      Ày              $Àz‚{"0":{"0":{"imag":3.0,"real":-2.0},"1":{"imag":-3.0,"real":4.0}},"1":{"0":{"imag":0.0,"real":-1.0},"1":{"imag":-10.0,"real":0.0}}}yìQ¸…ëÑ¿Ãõ(\�ÂÕ?yHáz®Gñ¿ö(\�ÂõØ¿y=
×£p=Ú?Ãõ(\�ÂÕ¿yö(\�Âõè¿š™™™™™õ¿z‹{"0":{"0":{"imag":0.34,"real":-0.28},"1":{"imag":-0.34,"real":0.41}},"1":{"0":{"imag":-0.39,"real":-1.08},"1":{"imag":-1.35,"real":-0.78}}}c                 ó2   — |j                  «       }||k(  sJ ‚y r`  r“   rÂ  s       r*   Útest_complex_data_tojsonz,TestPandasContainer.test_complex_data_tojson¼  s   € ðF —‘“ˆØ˜Ò!Ð!Ñ!r6   c                 óZ   — d}t        dddgi¬«      }|j                  d¬«      }||k(  sJ ‚y )NzY{"columns":["col1"],"index":[0,1],"data":[[13342205958987758245],[12388075603347835679]]}Úcol1l   ¥:!c„&HI l   v8�$Z_
 )rX   rv   rq   rð   )rU   r&   rl   r)   s       r*   Útest_json_uint64z$TestPandasContainer.test_json_uint64â  sC   € ðFð 	ô ˜VÐ&:Ð<PÐ%QÐRÔSˆØ—‘ 7�Ó+ˆØ˜Ò!Ð!Ñ!r6   zTODO(infer_string))r§   Ústrictc                 ó   — t        t        dt        j                  dgd¬«      t        g d¢d¬«      t        dt        j                  dgd¬«      t        g d	¢d¬«      g d
¢g d¢g d¢g d¢dœ«      }|j	                  |¬«      }t        j                  d|«      5  t        t        |«      ||¬«      }d d d «       |dk(  r9t        j                  d«      }t        j                  |j                  «       «      }	nt        j                  |«      }	t        t        dt        j                  dgd¬«      t        g d¢d¬«      t        dt        j                  dgd¬«      t        g d	¢d¬«      t        ddt        gd¬«      t        g d¢d¬«      t        g d¢|	¬«      t        g d¢|	¬«      dœ«      }
|dk(  rYt        j                  d«      }ddlm} t        |
j"                  D �ci c]  }| ||j%                  |
|   d¬«      «      “Œ! c}«      }
|dk(  rt'        t)        d«      «      |
_        t+        j,                  |
d¬«       y # 1 sw Y   �Œ‘xY wc c}w )Nr   r…   ÚInt64rD   rø   rƒ   r„   ÚFloat64)rƒ   r¼   r„   )TFNr«  r  r­  )r   r   rW   ro   r¹   r–  Úgr:  rq   úmode.string_storage)Údtype_backendr4   ÚpyarrowTFÚbooleanr   ©ÚArrowExtensionArray©Úfrom_pandasr.   rW  r&  )r
   r   rM   ræ   r$   rS   Úoption_contextr   r   r~   ÚimportorskipÚ
ArrowDtypeÚstringÚStringDtyper	   Úpandas.arraysr1  r   ÚarrayrL   r2   r    r%   )rU   Ústring_storager-  r4   r­   rl   Úoutr)   ÚpaÚstring_dtyper&   r1  rö  s                r*   Útest_read_json_dtype_backendz0TestPandasContainer.test_read_json_dtype_backendì  s÷  € ô
 ä˜Q¤§¡¨˜N°'Ô:ÜšI¨WÔ5Ü˜S¤"§&¡&¨#Ð.°iÔ@ÜšO°9Ô=Ú(Ú(Ú$Ú%ñ	ó
ˆð �j‰j ˆjÓ'ˆÜ×ÑÐ4°nÓEñ 	ÜÜ˜“¨]À6ôˆF÷	ð
 ˜IÒ%Ü×$Ñ$ YÓ/ˆBÜŸ=™=¨¯©«Ó5‰LäŸ>™>¨.Ó9ˆLää˜Q¤§¡¨˜N°'Ô:ÜšI¨WÔ5Ü˜S¤"§&¡&¨#Ð.°iÔ@ÜšO°9Ô=Ü˜T 5¬"Ð-°YÔ?ÜÒ/°yÔAÜšO°<Ô@ÜÒ,°LÔAñ	ó
ˆð ˜IÒ%Ü×$Ñ$ YÓ/ˆBÝ9ä ð  (×/Ñ/öàð Ñ,¨R¯X©X°h¸s±mÐQU¨XÓ-VÓWÑWòóˆHð �XÒÜ#¤E¨!£H›~ˆHÔô 	×Ñ˜f hÀ%ÖH÷Q	ñ 	üò:s   ÂH>Ç$IÈ>I)rv   r-   rJ   c                 óÖ  — t        j                  d«      }t        dt        j                  dgd¬«      }|j                  |¬«      }t        j                  d|«      5  t        t        |«      ||d¬	«      }d d d «       t        dt        j                  dgd¬«      }|dk(  r(d
dl
m}	 t         |	|j                  |d¬«      «      «      }t        j                  |«       y # 1 sw Y   ŒkxY w)Nr.  r   r…   r)  rD   rq   r,  r}  )r-  r4   r~  r   r0  Tr2  )r~   r5  r   rM   ræ   r$   rS   r4  r   r   r9  r1  r:  r    r  )
rU   r;  r-  r4   r=  rc   r<  r)   r&   r1  s
             r*   Útest_read_json_nullable_seriesz2TestPandasContainer.test_read_json_nullable_series)  sÈ   € ô × Ñ  Ó+ˆÜ�aœŸ™ �^¨7Ô3ˆà�k‰k ˆkÓ(ˆÜ×ÑÐ4°nÓEñ 	ÜÜ˜“¨]À6ÈxôˆF÷	ô
 ˜1œbŸf™f a˜.°Ô8ˆà˜IÒ%Ý9äÑ1°"·(±(¸8ÐQU°(Ó2VÓWÓXˆHä
×Ñ˜v xÕ0÷	ð 	ús   ÁCÃC(c                 ó‚   — d}t        j                  t        |¬«      5  t        dd¬«       d d d «       y # 1 sw Y   y xY w)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r   r  Únumpy)r-  )r~   r   r#   r   )rU   r(   s     r*   Útest_invalid_dtype_backendz.TestPandasContainer.test_invalid_dtype_backend>  s;   € ð%ð 	ô �]‰]œ:¨SÔ1ñ 	5Ü�f¨GÕ4÷	5÷ 	5ñ 	5ús   ž5µ>)žrj  rk  rl  r~   ÚfixturerZ   rd   rm   ru   rª   Úparametrizerz   r�   r   r�   r‘   r•   r°   r›   rM   rC   rž   ra   Úintr¤   r®   r´   r·   rÌ   r«   ÚAssertionErrorrÔ   r.  r×   rä   rç   rè   rë   Úskipifr   rõ   rú   r  r  r  r  r7  rZ  rw  r{  rƒ  r†  rŠ  r�  r‘  r“  r—  r™  rŸ  r¢  r   r¤  r¨  r«  r®  r²  rµ  rº  rÌ  r!  rÉ  rÒ  rÙ  rÜ  rÞ  rà  rä  rí  rï  rö  rý  ÚnetworkÚ
single_cpurS   ÚDatetimeTZDtyper	  r  r  r!  r  r   r$  r(  r+  r=  r?  rE  rI  rU  r[  rc  re  r   ri  rk  rn  r   Úskip_if_not_us_localers  r{  r~  ÚsysÚmaxsizer…  r‡  r‰  rŒ  rC  ræ   r±   r˜  rŸ  r¦  r¨  r   r¶  r¹  r¼  r¾  r
   Úrename_axisrÃ  rÉ  rË  rÎ  rÐ  rÔ  rÖ  rÜ  rá  Úparamrå  rë  rí  rð  rô  rû  r  r  r  r  r  r!  r#  r&  r?  rA  rD  rÉ   r6   r*   r8   r8   [   sà  „ Ø‡^�^ñIó ðIð ‡^�^ñ	ó ð	ð ‡^�^ñ	ó ð	ò
>ð ‡[�[×Ñ˜XÒ'EÓFñ>ó Gð>ð ‡[�[×Ñ˜X¨°Ð';Ó<ñ&ó =ð&ð ‡[�[×Ñ˜X¨°Ð':Ó;Ø‡[�[×ÑØà�3ˆZ˜#˜s˜Ð$Ø�3ˆZ˜#˜s˜Ð$Ø�ˆX˜˜3�xÐ Ù˜
Ó# SÐ)©I°jÓ,AÀ3Ð+GÐHð		
óñ0óó <ð0ð( ‡[�[×Ñ˜XÒ'FÓGñ&ó Hð&òNð ‡[�[×Ñ˜W u¨e nÓ5Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó 6ð>ð ‡[�[×Ñ˜W u¨b¯h©hÐ&7Ó8Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó 9ð>ð ‡[�[×Ñ˜W t¨R¯Z©Z¸¸dÐ&CÓDØ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó Eð>ð< ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð* ‡[�[×Ñ˜^¨d°E¨]Ó;ñ0ó <ð0ð ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð  ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð& ‡[�[×ÑØJØð ó ð ‡[�[×ÑØà�fÐ  u˜~Ð.Ø�fÐ  u˜~Ð.Ø�fÐ  u˜~Ð.ð	
óñ*óó	ð*ð ‡[�[×ÑØàDð;ð —‘àVðóð
 ð
ððð/	
ó!ñD5óE!ðD5ð ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ+ó <ó 5ð+ð( ‡[�[×Ñ˜W t¨U mÓ4ñ0ó 5ð0ð ‡[�[×Ñ˜U R§V¡V¨b¯f©f¨WÐ$5Ó6Ø‡[�[×Ñ˜W t¨U mÓ4ñ+ó 5ó 7ð+ð ‡[�[×Ñ˜D˜Ð)OÐÓPØ‡[�[×ÑØ&ò	
ó
ñBó
ó QðBò
)òBò"ò

ò+ò<Mò<`
òD$
òL"ò7ò$Pò1ð ‡[�[×Ñ˜W u¨d mÓ4ñ1ó 5ð1ò	1ò
1ð ‡[�[×Ñ˜W r§z¡z°3Ð&7Ó8ñ	1ó 9ð	1ò(òBò
1ð ‡[�[×ÑØà‘6˜<˜.Ð0@ÔAÐBØ‘F˜L˜>Ó*Ð+ð	
óñ1óð1ò*ò
*ò
*ò ò
#ò+ð0 ‡[�[×Ñ˜]¨W°eÐ,<Ó=Ø‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜Z¨(¯-©-¸×9JÑ9JÈIÐ)VÓWñ"ó Xó 9ó >ð"ð( ‡[�[×ÑØò	
óñ	0óð	0ð ‡[�[×ÑØò	
ó	ñ0ó	ð0ò;ð ‡[�[×ÑØò	
ó	ñ1ó	ð1ò;ð ‡[�[×Ñ˜VÒ%<Ó=ñ*ó >ð*ð$ ‡[�[×Ñ˜VÒ%6Ó7ñ$
ó 8ð$
òLò*.ò'ð ‡[�[×ÑØ‡[�[×ÑØ‡[�[×ÑØàÐ-˜2×-Ñ-°Ô7Ð8ØÐ*Ð+ØÐ-˜2×-Ñ-°Ô7Ð8ð	
óñ,óó ó ð,ò
ò(-ò
Hð ‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜]¨U°GÐ,<Ó=Ø‡[�[×Ñ˜_¨r¯|©|¸YÐ.GÓHñ"ó Ió >ó 9ð"ð( ‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜_¨r¯|©|¸YÐ.GÓHñ"ó Ió 9ð"òHò
ò*Lòò+ò2ò (ð  ‡[�[×ÑØáÐ,Ó-ÙÐ+°Ô=ÙÐ0Ó1ð	
óñ6óð6ò6ð ‡[�[×ÑØáÐ-°qÔ9ÙÐ,°a¸LÔIÙÐ1¸1Ô=ð	
óñFóðFò&Fò0ð ‡[�[×ÑØ×Ññ	0ó ó ð	0ò4ò0ð" ‡[�[×Ñ˜X¨¯©°a©¸3¿;¹;È¹?Ð9KÐ'LÓMñ
 ó Nð
 ð ‡[�[×Ñ˜X¨°eÐ'<Ó=ñ	ó >ð	ò0òKð, ‡[�[×ÑÐEÈiÐÓXØ‡[�[×ÑØâ1Ú,Ú.Ú9Ú#Ú+Ú1Ø�V‰V�S˜$ Ð%Ø˜2Ÿ6™6 3¨¨dÐ3ð
	
óð ‡[�[×Ñ˜W z°6Ð&:Ó;ñ
Gó <óó Yð 
Gò)ð ‡[�[×ÑØ�$˜˜A˜  c 
¨S°#¨J¸¸c¸
ÀTÈ4ÀLÐQóð ‡[�[×Ñ˜Y¨#¨s¨°c¸3°ZÀ$ÈÀÐ(NÓOñ0ó Póð0ò0ð ‡[�[×ÑÑ)Ó+Ð4MÐÓNØ‡[�[×Ñ˜XÒ'OÓPñ0ó Qó Oð0ð< ‡[�[×Ñ˜W t°3¸SÑ-AÐ&BÓCñ;ó Dð;ð ‡[�[×Ñ˜XÒ'PÓQñ@ó Rð@òAð ‡[�[×ÑØñ ˜A˜q˜6 A q 6Ð*°S¸#°JÔ?Ø  #˜J°!°Q°¸!¸Q¸Ð0@ÑAðñ
 ˜A˜q˜6 A q 6Ð*°S¸#°JÔ?×KÒKÈEÓRØ  #˜J°!°Q°¸!¸Q¸Ð0@ÑAðñ
 Ø˜�V˜a ˜VÐ$¨s°C¨jÀ#ÀsÀÈcÐSVÈZÐ@Xôð ! #˜J°!°Q°¸!¸Q¸Ð0@ÑAð	ñ ’I CÔ(°3Â	Ñ*JÐKá’y sÔ+×7Ò7¸Ó>Ø¢iÑ0ðñ
 ˜˜1�v C°°c°
¸SÀ#¸JÐ/GÔHØ q¨! fÑ-ðð)	
óñ8"ó9ð8"ð ‡[�[×ÑØá˜˜A˜  A Ð'°#°s°Ô<Ù˜˜A˜  A Ð'°#°s°Ô<×HÒHÈÓOáØ˜�V˜a ˜VÐ$¨s°C¨jÀ#ÀsÀÈcÐSVÈZÐ@Xôñ ’I CÔ(Ù’I CÔ(×4Ò4°UÓ;Ù�Q˜�F ¨c°3¨Z¸#¸s¸Ð,DÔEð	
óñ"óð"ð ‡[�[×Ñ˜X¨°Ð';Ó<ñ3ó =ð3ð ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ2ó >ð2ð ‡[�[×Ñ˜X¨°Ð'9Ó:Ø‡[�[×Ñ˜W t¨U mÓ4ñ0ó 5ó ;ð0ò1ð ‡[�[×ÑØò	
óñ0óð0ð ‡[�[×ÑØÚ#óñ&ó	ð&ð ‡[�[×ÑØÐ/Ð1FÐGóñ"óð"ð ‡[�[×ÑØà<Ø>àˆF�LŠLØØØ—k‘k×'Ñ'ØIð (ó ôð ˆF�LŠLØØØ—k‘k×'Ñ'ØIð (ó ôð	
óñ,"ó-ð,"ð ‡[�[×Ñ˜X¢yÓ1ñ"ó 2ð"ð& ‡[�[×ÑÙÓð-ð ó ð
 ‡[�[×ÑØòq	
ótñj"óktóðt"ò+ò	0ò0ð ‡[�[×ÑØñ ¢	²Ñ@ÓAðDðð	
ó	ñ"ó	ð"ð
 ‡[�[×ÑñOó ðOò,ò1ò"ò(Oð ‡[�[×ÑÙñ ™7¡v±&Ò9Ó:ñ0ðñ ™=©\¹lÒKÓLñ2ðñ ™G¡WÐ-±¹Ð/AÐBÓCñ2ðñ Ù#¡]Ð3±lÁMÐ5RÐSóñ4ð	ð)	
ó òB"óC ðB"ó
"ð ‡[�[×ÑÑ)Ó+Ñ4HÐQVÑÓWò:Ió Xð:Iðx ‡[�[×Ñ˜XÓ'DÓEò1ó Fð1ô(5r6   r8   c                  óÆ   — t        t        d«      «      } | j                  «       }t        j                  t
        d¬«      5  t        |d¬«       d d d «       y # 1 sw Y   y xY w)Nr   zThe engine type foor   r@   )Úengine©r   r2   r$   r~   r   r#   r   ©rc   r<  s     r*   Útest_invalid_enginerV  G  sI   € ä
”�q“Ó
€CØ
�+‰+‹-€CÜ	�‰”zÐ)>Ô	?ñ %Ü�#˜eÕ$÷%÷ %ñ %ús   Á AÁA c                  óÈ   — t        t        d«      «      } | j                  «       }t        j                  t
        d¬«      5  t        |dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   z&currently pyarrow engine only supportsr   r.  F)rS  r   rT  rU  s     r*   Útest_pyarrow_engine_lines_falserX  O  sK   € ä
”�q“Ó
€CØ
�+‰+‹-€CÜ	�‰”zÐ)QÔ	Rñ 6Ü�#˜i¨uÕ5÷6÷ 6ñ 6ús   Á AÁA!c           	      ó¤  — t        ddgddggddgddg¬	«      }|j                  «       }t        j                  d
d«      5  t	        t        |«      «      }d d d «       t        j                  t        j                  ¬«      }t        ddgddgg|t        ddg|¬«      t        ddg|¬«      ¬«      }t        j                  |«       y # 1 sw Y   ŒsxY w)Nr   r   rW   ro   zrow 1zrow 2zcol 1zcol 2rp   zfuture.infer_stringT)Úna_valuerD   rƒ  )r
   r$   rS   r4  r   r   r8  rM   ræ   r   r    r%   )r4   rl   r<  r)   rE   r&   s         r*   Ú$test_json_roundtrip_string_inferencer[  W  sÊ   € Ü	Ø
ˆsˆ�c˜3�ZÐ ¨°'Ð(:ÀWÈgÐDVô
€Bð �*‰*‹,€CÜ	×	Ñ	Ð0°$Ó	7ñ *Üœ8 C›=Ó)ˆ÷*ä�N‰N¤B§F¡FÔ+€EÜØ
ˆsˆ�c˜3�ZÐ ØÜ�W˜gÐ&¨eÔ4Ü�w Ð(°Ô6ô	€Hô ×Ñ˜& (Õ+÷*ð *ús   ¿CÃCc                  ó¾   — t        dg d¢i«      } d}t        j                  t        |¬«      5  t	        «       }| j                  |d«       d d d «       y # 1 sw Y   y xY w)Nr   rø   zuStarting with pandas version 3.0 all arguments of to_json except for the argument 'path_or_buf' will be keyword-only.r   rv   )r
   r    r!   r"   r   r$   )rl   r(   rì  s      r*   Útest_json_pos_args_deprecationr]  h  sW   € ä	�CšÐ#Ó	$€Bð	8ð ô 
×	#Ñ	#¤M¸Ô	=ñ !Ü‹iˆØ
�
‰
�3˜Ô ÷!÷ !ñ !ús   ­AÁAr.  c                  óœ   — t        t        dt        gd¬«      t        dt        gd¬«      dœ«      } | j                  dd¬	«      }d
}||k(  sJ ‚y )Nr   zint64[pyarrow]rD   r   r)  r­  r-   Tr‹  z"{"a":1,"b":2}
{"a":null,"b":null}
)r
   r   r	   r$   )rl   r)   r&   s      r*   Útest_to_json_ea_nullr_  t  s[   € ô 
ä˜œB˜Ð'7Ô8Ü˜œB˜ wÔ/ñ	
ó
€Bð �Z‰Z˜y°ˆZÓ5€Fð€Hð �XÒÐÑr6   c                  óŽ   — d} t        t        | «      d¬«      j                  }t        d«      }t	        j
                  ||d¬«       y )Nz#
{"a": 1, "b": 2}
{"a": 3, "b": 4}
Tr   r   )Úexact)r   r   rJ   r   r    r»  )rX   r)   r&   s      r*   Útest_read_json_lines_rangeindexrb  „  s<   € ð€Dô ”x “~¨TÔ2×8Ñ8€FÜ˜!‹}€HÜ×Ñ˜& (°$Ö7r6   )0rÌ  r   Údecimalr   r#  r   r   r$  r,  rN  r
  rC  rM   r~   Úpandas._configr   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr   ÚpandasrS   r	   r
   r   r   r   r   r   r   r   Úpandas._testingÚ_testingr    Úpandas.io.jsonr   r+   r5   r8   rV  rX  r[  r]  Ú
skip_if_nor_  rb  rÉ   r6   r*   ú<module>rn     s�   ðÛ Ý Ý ÷ó Û 	Û 
Û ã Û å -å ß )Ð )ã ÷
÷ 
õ 
õ å &ò*0òZ,÷i5ñ i5òX?%ò6ò,ò"	!ð €‡�ˆyÓñó ðó8r6   