Ë
    Èš§j	 ã                   ój  — 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Zd dlm	Z	 d dl
mZm
Z
mZmZmZ d dlmZ d dlZd dlmZ d dlZ	 d dlZd dlmZ 	 ej6                  Zd dl m!Z!m"Z" d dl#m$Z$m%Z%m&Z& d dl'm(c mZ) d dl#m(c m*Z+ d dl,m-Z- d dl.Z/	 d d	l.m0Z1 	 d dl2Z3d dl4mZ5 d
dl6m7Z7m8Z8 ejr                  jd                  Z:d®d„Z;	 	 	 	 	 d¯d„Z<d°d„Z=	 	 d±d„Z>d²d„Z? G d„ d«      Z@ G d„ d«      ZAejr                  j…                  dg d¢«      d„ «       ZCejr                  j…                  dg d¢«      d„ «       ZD G d„ d«      ZE G d„ d«      ZF G d„ d«      ZG G d„ d «      ZH G d!„ d"«      ZI G d#„ d$«      ZJd%„ ZKd&„ ZL G d'„ d(«      ZMd)„ ZNd*„ ZOejr                  j…                  d+d,gd-gf«      d.„ «       ZPd/„ ZQd0„ ZRd1„ ZS ej¨                   e)jª                  e)j¬                  «      «      d2„ «       ZWd3„ ZXd4„ ZYd5„ ZZd6„ Z[d7„ Z\d8„ Z]d9„ Z^d:„ Z_d;„ Z`d<„ Zad=„ Zbd>„ Zcd?„ Zdd@„ ZedA„ ZfdB„ ZgdC„ ZhdD„ ZidE„ Zjejr                  j…                  dF e/jÖ                  «       dGf e/jØ                  «       dHf e/jÚ                  «       dIf e/jÜ                  «       dJf e/jÞ                  «       dKf e/jà                  «       dLf e/jâ                  «       dMf e/jä                  «       dNf e/jæ                  «       dOf e/jè                  «       dPf e/jê                  «       dQf e/jì                  «       dRf e/jî                  «       dSf e/jð                  «       dTf e/jò                  «       dTf e/jô                  «       dUf e/jô                  dV¬W«      dUf e/jö                  «       dXf e/jø                   e/jø                   e/jÜ                  «       «      «      dYf e/jú                  dZd[«      d\f e/jü                  d]«      d^f e/jü                  d_d`«      daf e/jþ                  db«      dcf e/�j                   d_«      dcfg«      dd„ «       Z�de„ Z‚df„ Zƒdg„ Z„dh„ Z…di„ Z†dj„ Z‡dk„ Zˆdl„ Z‰dm„ ZŠdn„ Z‹do„ ZŒdp„ Z�dq„ ZŽdr„ Z�ds„ Z�d³dt„Z‘du„ Z’dv„ Z“dw„ Z”dx„ Z•dy„ Z–dz„ Z— G d{„ d|e/�j0                  «      Z™d²d}„Zšd~„ Z›d„ Zœd€„ Z� G d�„ d‚e/�j0                  «      Zždƒ„ ZŸd„„ Z d…„ Z¡d†„ Z¢d‡„ Z£ejr                  j…                  dˆd‰d‰dŠgg«      d‹„ «       Z¤dŒ„ Z¥ejr                  jd                  d�„ «       Z¦ejr                  j…                  dŽ e/jö                  «        e/�jN                  «        e/�jP                  «       g«      ejr                  j…                  d�g dgg«      d�„ «       «       Z©d‘„ Zªd’„ Z«d“„ Z¬d”„ Z­d•„ Z®ejr                  j`                  d–„ «       Z¯d—„ Z°ejr                  j…                  d˜g d™¢«      ejr                  j…                  dšdd›g«      ejr                  j…                  dœ e
d�d
d
«       e
džd
d
«      g«      dŸ„ «       «       «       Z±d „ Z²ejr                  �jf                  d¡„ «       Z´d¢„ Zµd£„ Z¶d¤„ Z·d¥„ Z¸d¦„ Z¹d§„ Zºd¨„ Z»d©„ Z¼ejr                  �jz                  dª„ «       Z¾d«„ Z¿ejr                  �jf                  d¬„ «       ZÀd­„ ZÁy# e$ r
 d dlmZ Y �Œ.w xY w# e$ r dZY �Œ<w xY w# e$ r Y �Œw xY w# e$ r Y �Œw xY w)´é    N)ÚOrderedDict)ÚdateÚdatetimeÚtimeÚ	timedeltaÚtimezone)ÚZoneInfo)ÚVisibleDeprecationWarning)Úget_logical_typeÚ_pandas_api)Úinvoke_scriptÚrandom_asciiÚrands)ÚVersion)Úparqueté   )Údataframe_with_arraysÚdataframe_with_listsc                 ó°  — t        j                  i dt        j                  | t        j                  ¬«      “dt        j                  | t        j
                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “d	t        j                  | t        j                  ¬«      “d
t        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  j                  | «      dkD  “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “t        j                  d| d¬«      t        j                  d| d¬«      t        | «      D �cg c]  }t!        |«      ‘Œ c}d gt        | dz
  «      D �cg c]  }t!        |«      ‘Œ c}z   d gz   dg| z  dœ¥«      S c c}w c c}w )NÚuint8©ÚdtypeÚuint16Úuint32Úuint64Úint8Úint16Úint32Úint64Úfloat32Úfloat64Úboolr   zdatetime[s]ú2016-01-01T00:00:00.001údatetime64[s]zdatetime[ms]údatetime64[ms]zdatetime[us]údatetime64[us]zdatetime[ns]údatetime64[ns]ztimedelta64[s]ztimedelta64[ms]útimedelta64[us]útimedelta64[ns]é   Ú )r(   r)   ÚstrÚstr_with_nullsÚ	empty_str)ÚpdÚ	DataFrameÚnpÚaranger   r   r   r   r   r   r   r    r!   ÚrandomÚrandnÚranger,   )ÚsizeÚxs     ú\C:\Users\Luka\AppData\Local\Temp\pip-target-o84fipzb\lib\python\pyarrow/tests/test_pandas.pyÚ_alltypes_exampler9   E   sh  € Ü�<‰<ð Ø”—‘˜4¤r§x¡xÔ0ðà”"—)‘)˜D¬¯	©	Ô2ðð 	”"—)‘)˜D¬¯	©	Ô2ðð 	”"—)‘)˜D¬¯	©	Ô2ð	ð
 	”—	‘	˜$¤b§h¡hÔ/ðð 	”—‘˜4¤r§x¡xÔ0ðð 	”—‘˜4¤r§x¡xÔ0ðð 	”—‘˜4¤r§x¡xÔ0ðð 	”2—9‘9˜T¬¯©Ô4ðð 	”2—9‘9˜T¬¯©Ô4ðð 	”—	‘	—‘ Ó%¨Ñ)ðð 	”r—y‘yÐ!:¸DØ'6ô8ðð 	œŸ	™	Ð";¸TØ(8ô:ðð  	œŸ	™	Ð";¸TØ(8ô:ð!ð$ 	œŸ	™	Ð";¸TØ(8ô:ð%ð( 	œ"Ÿ)™) A tÐ3CÔDð)ð* 	œ2Ÿ9™9 Q¨Ð4EÔFð+ô, Ÿ9™9 Q¨Ð4EÔFÜŸ9™9 Q¨Ð4EÔFÜ % d¤Ó,¡˜1”�A• Ñ,Ø˜&´E¸$À¹(´OÓ#D±O¨q¤C¨¥F°OÑ#DÑDÈÀvÑMØ�T˜D‘[ò5ó ð ùò0 -ùÚ#Ds   ÊKÊ'Kc                 ó<  — |rt         j                  nt         j                  }|j                  | |||rdnd¬«      }	|	j	                  |¬«      }
|r|	j
                  j                  |«      sJ ‚|€M| }|j                  D ]<  }||   j                  dk(  sŒ||   j                  t        j                  d i«      ||<   Œ> t        j                  «       5  t        j                  ddt        «       t!        j"                  |
|||rdnd	¬
«       d d d «       y # 1 sw Y   y xY w)Nr*   r   )ÚschemaÚpreserve_indexÚnthreads©Úuse_threadsÚobjectÚignoreúelementwise comparison failedÚequivF)Úcheck_dtypeÚcheck_index_type)ÚpaÚRecordBatchÚTableÚfrom_pandasÚ	to_pandasr;   ÚequalsÚcolumnsr   Úreplacer1   ÚnanÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningÚtmÚassert_frame_equal)ÚdfÚexpectedr?   Úexpected_schemarD   r;   r<   Úas_batchÚklassÚtableÚresultÚcols               r8   Ú_check_pandas_roundtripr]   d   s  € ñ
 'ŒB�NŠN¬B¯H©H€EØ×Ñ˜b¨Ø-;Ù,7¡q¸Qð ó @€Eð �_‰_¨ˆ_Ó5€Fáð �|‰|×"Ñ" ?Ô3Ð3Ð3àÐØˆà×#Ô#ˆCØ˜‰}×"Ñ" hÓ.Ø (¨¡× 5Ñ 5´r·v±v¸t°nÓ E�˜’ð $ô 
×	 Ñ	 Õ	"Ü×ÑØÐ5Ô7Iô	Kä
×Ñ˜f h¸KÙ;I±Ø5:õ	=÷ 
#×	"Ñ	"ús   Ã9DÄDc                 óð   — t        j                  | d|¬«      }|�|€|}|�|j                  |k(  sJ ‚t        j                  |j                  «       | j                  ¬«      }t        j                  | |«       y )NT©rI   Útype©Úname)	rF   Úarrayr`   r/   ÚSeriesrJ   rb   rS   Úassert_series_equal)ÚsÚtype_Úexpected_pa_typeÚarrr[   s        r8   Ú_check_series_roundtriprj   ƒ   si   € Ü
�(‰(�1 $¨UÔ
3€CàÐÐ-Ð5Ø ÐàÐ#Ø�x‰xÐ+Ò+Ð+Ð+ä�Y‰Y�s—}‘}“¨Q¯V©VÔ4€FÜ×Ñ˜1˜fÕ%ó    c                 ó\  — t        j                  | d||¬«      }|j                  «       }t        j                  | «      }|€|j
                  |j                  «       k(  s$J ‚|j
                  ||z  j                  «       k(  sJ ‚|€~|€t        j                  | «      }n6t        j                  | «      j                  «       }d ||j                  «       <   |j                  dk(  r!|j                  t        j                  d i«      }t        j                  t        j                  |«      |d¬«       y )NT)rI   Úmaskr`   r@   F©Úcheck_names)rF   rc   rJ   r/   ÚisnullÚ
null_countÚsumrd   Úcopyr   rM   r1   rN   rS   re   )ÚvaluesrV   rm   r`   ri   r[   Úvalues_nullss          r8   Ú_check_array_roundtriprv   �   sî   € ä
�(‰(�6 t°$¸TÔ
B€CØ�]‰]‹_€Fä—9‘9˜VÓ$€LØ€|Ø�~‰~ ×!1Ñ!1Ó!3Ò3Ð3Ð3à�~‰~ $¨Ñ"5×!:Ñ!:Ó!<Ò<Ð<Ð<àÐØˆ<Ü—y‘y Ó(‰Hä—y‘y Ó(×-Ñ-Ó/ˆHØ$(ˆH�T—Y‘Y“[Ñ!à�>‰>˜XÒ%Ø×'Ñ'¬¯©°¨Ó7ˆHä×Ñœ2Ÿ9™9 VÓ,¨hÀEÖJrk   c                 ó€   — t        j                  | d|¬«      }|j                  «       }t        j                  || «       y )NTr_   ©rF   rc   rJ   ÚnptÚassert_array_equal)Únp_arrayr`   ri   r[   s       r8   Ú"_check_array_from_pandas_roundtripr|   ¨   s/   € Ü
�(‰(�8¨°DÔ
9€CØ�]‰]‹_€FÜ×Ñ˜6 8Õ,rk   c                   óh  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      d	„ «       Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j1                  d«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      d „ «       Zd!„ Z d"„ Z!d#„ Z"d$„ Z#d%„ Z$d&„ Z%d'„ Z&d(„ Z'd)„ Z(d*„ Z)d+„ Z*d,„ Z+d-„ Z,ej                  j                  d.e-j\                  e-j^                  e-j`                  e-jb                  g«      d/„ «       Z2d0„ Z3d1„ Z4d2„ Z5d3„ Z6d4„ Z7y)5ÚTestConvertMetadataz9
    Conversion tests for Pandas metadata & indices.
    c                 ó´   — t        j                  dg d¢i«      }t        j                  j	                  |«      }|j                  d«      j                  dk(  sJ ‚y )Nr   ©r   r*   é   Ú0)r/   r0   rF   rH   rI   Úfieldrb   ©ÚselfrU   rZ   s      r8   Útest_non_string_columnsz+TestConvertMetadata.test_non_string_columns³   sD   € Ü�\‰\˜1ši˜.Ó)ˆÜ—‘×$Ñ$ RÓ(ˆØ�{‰{˜1‹~×"Ñ" cÒ)Ð)Ñ)rk   c                 ó.  — t        j                  g d¢g d¢dœ«      }|j                  d«      }t        j                  t
        «      5  t        j                  j                  |«      }|j                  d«      j                  dk(  sJ ‚	 d d d «       |j                  «       }t        |j                  j                  «      |j                  _
        t        j                  t
        «      5  t        ||d¬«       d d d «       y # 1 sw Y   ŒxxY w# 1 sw Y   y xY w)N©ç      ð?ç       @ç      @)ç      @ç      @ç      @)r   r   r   Ú1T©rV   r<   )r/   r0   Ú	set_indexÚpytestÚwarnsÚUserWarningrF   rH   rI   rƒ   rb   rs   r,   Úindexr]   )r…   rU   rZ   rV   s       r8   Ú"test_non_string_columns_with_indexz6TestConvertMetadata.test_non_string_columns_with_index¸   sÂ   € Ü�\‰\šo²/ÑBÓCˆØ�\‰\˜!‹_ˆô �\‰\œ+Õ&Ü—H‘H×(Ñ(¨Ó,ˆEØ—;‘;˜q“>×&Ñ&¨#Ò-Ð-Ñ-÷ 'ð —7‘7“9ˆä! (§.¡.×"5Ñ"5Ó6ˆ�‰ÔÜ�\‰\œ+Õ&Ü# B°Ø37õ9÷ 'Ð&÷ 'Ð&ú÷ 'Ð&ús   ÁA C?Ã'DÃ?DÄDc                 ó²  — t        j                  g d¢g d¢g d¢dœddg¬«      }t        j                  j	                  |ddg¬«      }t        j                  j	                  |ddg   «      }|j                  |«      sJ ‚t        j                  j	                  |ddg¬«      }t        j                  j	                  |ddg   «      }|j                  |«      sJ ‚y )Nr€   )r   r�   r�   )r*   é   é   ©r   r   r*   r   r   ©rL   )r/   r0   rF   rH   rI   rK   rG   )r…   rU   rZ   rV   Úrecord_batch_tableÚrecord_batch_expecteds         r8   Útest_from_pandas_with_columnsz1TestConvertMetadata.test_from_pandas_with_columnsÈ   s½   € Ü�\‰\šiªIº)ÑDØ#$ a &ô*ˆô —‘×$Ñ$ R°!°Q°Ð$Ó8ˆÜ—8‘8×'Ñ'¨¨A¨q¨6©
Ó3ˆØ�‰˜uÔ%Ð%Ð%äŸ^™^×7Ñ7¸ÀQÈÀFÐ7ÓKÐÜ "§¡× :Ñ :¸2¸qÀ!¸f¹:Ó FÐØ$×+Ñ+Ð,>Ô?Ð?Ñ?rk   c                 ót   — t        j                  dg d¢i«      }dg|j                  _        t	        |d¬«       y )NÚdatar€   ÚaT©r<   )r/   r0   rL   Únamesr]   ©r…   rU   s     r8   Ú%test_column_index_names_are_preservedz9TestConvertMetadata.test_column_index_names_are_preservedÔ   s-   € Ü�\‰\˜6¢9Ð-Ó.ˆØ˜5ˆ�
‰
ÔÜ °4Ö8rk   ÚtzNúEurope/Brusselsc           	      ó¶   — t        j                  t        j                  j	                  dd«      t        j
                  ddd|¬«      ¬«      }t        |d¬«       y )	Nr™   r�   z
2021-01-01Ú50D)ÚperiodsÚfreqr¦   r›   Tr¢   )r/   r0   r1   r3   r4   Ú
date_ranger]   )r…   r¦   rU   s      r8   Ú test_column_index_names_datetimez4TestConvertMetadata.test_column_index_names_datetimeÙ   sB   € ô
 �\‰\Ü�I‰I�O‰O˜A˜qÓ!Ü—M‘M ,¸ÀÈ"ÔMô
ˆô 	  °4Ö8rk   c           
      ó~  — t        j                  t        j                  d«      t        j                  d«      ggt         j                  j                  t        j                  d«      gt        j                  d«      t        j                  d«      gg«      t        j                  d«      g¬«      }t        |d¬	«       y )
Nr™   é   r   r*   r�   r˜   )rL   r•   Tr¢   )r/   r0   ÚdecimalÚDecimalÚ
MultiIndexÚfrom_productr]   r¤   s     r8   Ú$test_column_index_names_with_decimalz8TestConvertMetadata.test_column_index_names_with_decimalä   s‡   € ä�\‰\Ü�o‰o˜aÓ ¤'§/¡/°!Ó"4Ð5Ð6Ü—M‘M×.Ñ.Ü—/‘/ !Ó$Ð%¬¯©¸Ó(:¼G¿O¹OÈAÓ<NÐ'OÐPóô —?‘? 1Ó%Ð&ô
ˆô 	  °4Ö8rk   c           	      ó¤  — d}t        j                  dg d¢it        j                  ddd|¬«      ¬«      }t        j                  dg d	¢it        j                  dd
«      ¬«      }t        j                  j                  |«      }t        j                  j                  |«      }t        |j                  «      dk(  sJ ‚|j                  «       }t        j                  ||«       t        |j                  t         j                  «      sJ ‚t        j                  |j                  d«      dk(  sJ ‚|j                  j                  |k(  sJ ‚|j                  «       }t        j                  ||«       t        |j                  t         j                  «      sJ ‚t        j                  |j                  d«      dk(  sJ ‚|j                  j                  �J ‚y )NÚfoor¡   ©r   r*   r�   r˜   r   é   r*   ©Ústeprb   ©r•   ©r˜   r™   r¯   é   r˜   r   rº   )r/   r0   Ú
RangeIndexrF   rH   rI   Úlenr;   rJ   rS   rT   Ú
isinstancer•   r   Úget_rangeindex_attributerb   )r…   Ú
index_namerU   Údf2rZ   Útable_no_index_namer[   Úresult2s           r8   Útest_range_index_shortcutz-TestConvertMetadata.test_range_index_shortcutï   sn  € àˆ
Ü�\‰\˜3¢Ð-Ü "§¡¨a°¸ÀÔ LôNˆô �l‰l˜C¢Ð.Ü!#§¡¨q°!Ó!4ô6ˆô —‘×$Ñ$ RÓ(ˆÜ Ÿh™h×2Ñ2°3Ó7Ðô �5—<‘<Ó  AÒ%Ð%Ð%à—‘Ó"ˆÜ
×Ñ˜f bÔ)Ü˜&Ÿ,™,¬¯©Ô6Ð6Ð6Ü×3Ñ3°F·L±LÀ&ÓIÈQÒNÐNÐNØ�|‰|× Ñ  JÒ.Ð.Ð.à%×/Ñ/Ó1ˆÜ
×Ñ˜g sÔ+Ü˜'Ÿ-™-¬¯©Ô7Ð7Ð7Ü×3Ñ3°G·M±MÀ6ÓJÈaÒOÐOÐOØ�}‰}×!Ñ!Ð)Ð)Ñ)rk   c           	      ó8  — t        j                  dg d¢it        j                  dddd¬«      ¬«      }t        j                  j                  |d	¬
«      }|j                  dk(  sJ ‚d|j                  v sJ ‚|j                  «       }t        j                  ||«       y )Nr¡   r·   r   r¸   r*   r¶   r¹   r»   Tr¢   )r/   r0   r¾   rF   rH   rI   Únum_columnsÚcolumn_namesrJ   rS   rT   )r…   rU   rZ   Úrestoreds       r8   Ú$test_range_index_force_serializationz8TestConvertMetadata.test_range_index_force_serialization
  s‹   € ô �\‰\˜3¢Ð-Ü "§¡¨a°¸ÀÔ GôIˆô —‘×$Ñ$ R¸Ð$Ó=ˆØ× Ñ  AÒ%Ð%Ð%Ø˜×*Ñ*Ñ*Ð*Ð*à—?‘?Ó$ˆÜ
×Ñ˜h¨Õ+rk   c                 ó@  — t        j                  t        j                  j	                  dd«      ddg¬«      }t        j                  «       5  t        j                  d¬«       t        j                  dd	t        «       t        |d
¬«       d d d «       y # 1 sw Y   y xY w)Nr˜   r*   r¡   Úbr›   Úerror©ÚactionrA   úmake_block is deprecatedTr¢   )r/   r0   r1   r3   r4   rO   rP   ÚsimplefilterrQ   rR   r]   r¤   s     r8   Útest_rangeindex_doesnt_warnz/TestConvertMetadata.test_rangeindex_doesnt_warn  sr   € ô �\‰\œ"Ÿ)™)Ÿ/™/¨!¨QÓ/¸#¸s¸ÔDˆä×$Ñ$Õ&Ü×!Ñ!¨Õ1ô ×#Ñ#ØÐ4Ô6Hôô $ B°tÕ<÷ '×&Ñ&ús   Á?BÂBc                 óš   — t         j                  j                  ddgddgg«      }t        j                  g d¢|¬«      }t	        |d¬«       y )	NÚoneÚtwoÚXÚY©©r   r¡   ©r*   rÍ   )r�   Úcr›   Tr¢   ©r/   r²   Úfrom_arraysr0   r]   ©r…   rL   rU   s      r8   Útest_multiindex_columnsz+TestConvertMetadata.test_multiindex_columns'  sE   € Ü—-‘-×+Ñ+Ø�EˆN˜S #˜Jð-
ó ˆô �\‰\Ò8À'ÔJˆÜ °4Ö8rk   c                 óÈ   — t         j                  j                  ddgt        j                  ddg«      gddg¬«      }t        j                  g d¢|¬	«      }t        |d
¬«       y )NrÕ   rÖ   z
2017-08-01z
2017-08-02Úlevel_1Úlevel_2©r£   rÙ   r›   Tr¢   )r/   r²   rÞ   ÚDatetimeIndexr0   r]   rß   s      r8   Ú#test_multiindex_columns_with_dtypesz7TestConvertMetadata.test_multiindex_columns_with_dtypes.  sa   € Ü—-‘-×+Ñ+à˜�Ü× Ñ  ,°Ð!=Ó>ðð ˜iÐ(ð ,ó 
ˆô �\‰\Ò8À'ÔJˆÜ °4Ö8rk   c           
      óŒ  — t        j                  dgt        j                  dgt        ¬«      ¬«      }t	        |d¬«       t        j                  dgt        j                  dgt        ¬«      ¬«      }t	        |d¬«       t        j                  dgt        j                  t        ddd«      gd¬«      ¬«      }t	        |d¬«       y )	Nr   r   r›   Tr¢   çš™™™™™ñ?éâ  r@   )r/   r0   ÚIndexr@   r]   r   r¤   s     r8   Ú(test_multiindex_with_column_dtype_objectz<TestConvertMetadata.test_multiindex_with_column_dtype_object9  s’   € ô
 �\‰\˜1˜#¤r§x¡x°°¼6Ô'BÔCˆÜ °4Õ8ô �\‰\˜1˜#¤r§x¡x°°¼VÔ'DÔEˆÜ °4Õ8ô �\‰\˜1˜#¤r§x¡xÜ�d˜A˜qÓ!Ð"¨(ô(4ô 5ˆä °4Ö8rk   c                 óš   — t         j                  j                  ddgddgg«      }t        j                  g d¢|¬«      }t	        |d¬«       y )	Nõ   ã�‚õ   ã�„r×   rØ   rÙ   r›   Tr¢   rÝ   rß   s      r8   Útest_multiindex_columns_unicodez3TestConvertMetadata.test_multiindex_columns_unicodeK  s>   € Ü—-‘-×+Ñ+¨e°U¨^¸cÀ3¸ZÐ,HÓIˆÜ�\‰\Ò8À'ÔJˆÜ °4Ö8rk   c                 óN  — t         j                  j                  ddgddgg«      }t        j                  g d¢|¬«      }t	        j
                  «       5  t	        j                  d¬«       t	        j                  d	d
t        «       t        |d¬«       d d d «       y # 1 sw Y   y xY w)NrÕ   rÖ   r×   rØ   rÙ   r›   rÎ   rÏ   rA   rÑ   Tr¢   )
r/   r²   rÞ   r0   rO   rP   rÒ   rQ   rR   r]   rß   s      r8   Útest_multiindex_doesnt_warnz/TestConvertMetadata.test_multiindex_doesnt_warnP  s   € ä—-‘-×+Ñ+¨e°U¨^¸cÀ3¸ZÐ,HÓIˆÜ�\‰\Ò8À'ÔJˆä×$Ñ$Õ&Ü×!Ñ!¨Õ1ô ×#Ñ#ØÐ4Ô6Hôô $ B°tÕ<÷ '×&Ñ&ús   Á?BÂB$c                 ó  — t         j                  j                  t        j                  dd«      t        j                  ddg«      g«      }t        j
                  t        j                  ddgd¬«      |¬«      }t        |d ¬«       y )Nr   r*   r   r¡   ra   r»   r¢   )r/   r²   rÞ   r¾   rê   r0   rd   r]   )r…   Ú
multiindexrU   s      r8   Útest_multiindex_rangeindexz.TestConvertMetadata.test_multiindex_rangeindex_  sa   € ä—]‘]×.Ñ.Ü�]‰]˜1˜aÓ ¤"§(¡(¨A¨q¨6Ó"2Ð3ó
ˆ
ô �\‰\œ"Ÿ)™) Q¨ F°Ô5¸ZÔHˆÜ °4Ö8rk   c                 óL   — t        j                  g d¢«      }t        |d¬«       y )NrÙ   Tr¢   ©r/   r0   r]   r¤   s     r8   Útest_integer_index_columnz-TestConvertMetadata.test_integer_index_columng  s   € Ü�\‰\Ò8Ó9ˆÜ °4Ö8rk   c                 óp   — t        j                  g d¢dt        j                  g¬«      }t	        |d¬«       y )NrÙ   ç      ø?r›   Tr¢   )r/   r0   r1   rN   r]   r¤   s     r8   Ú$test_float_column_index_with_missingz8TestConvertMetadata.test_float_column_index_with_missingk  s%   € Ü�\‰\Ò8À3ÌÏÉÀ-ÔPˆÜ °4Ö8rk   z?ignore:The DataFrame has column names of mixed type:UserWarningc                 óT   — t        j                  g d¢dd g¬«      }t        |d¬«       y )NrÙ   ÚAr›   Tr¢   rö   r¤   s     r8   Ú%test_string_column_index_with_missingz9TestConvertMetadata.test_string_column_index_with_missingo  s#   € ô �\‰\Ò8À3ÈÀ+ÔNˆÜ °4Ö8rk   c                 ó:  — t        j                  g d¢t         j                  j                  g d¢g d¢gd dg¬«      g d¢¬«      }t	        j
                  «       r"t        j                  j                  |d¬	«      }nCt        j                  t        «      5  t        j                  j                  |d¬	«      }d d d «       j                  j                  }|d
   \  }}}}}|d   dk(  sJ ‚|d   |d   k(  sJ ‚t	        j
                  «       r$t        j                  |d   «      sJ ‚|d   dk(  sJ ‚|d   �J ‚|d   dk(  sJ ‚|d   dk(  sJ ‚|d   |d   k(  sJ ‚|d   \  }	}
|	dk(  sJ ‚|d   |	k(  sJ ‚|d   �J ‚|
dk(  sJ ‚|d   |
k(  sJ ‚|d   |
k(  sJ ‚y # 1 sw Y   ŒÝxY w)N))r   r¡   çÍÌÌÌÌÌ@)r*   rÍ   gš™™™™™@)r�   rÜ   gÍÌÌÌÌÌô?)rÜ   rÍ   r¡   )r�   r*   r   r¶   rä   )r¡   NÚ__index_level_0__)r•   rL   Tr¢   rL   rb   r¡   Ú
field_namerN   ÚNoner   Úindex_columnsÚ__index_level_1__)r/   r0   r²   rÞ   r   Úuses_string_dtyperF   rH   rI   r’   r“   r”   r;   Úpandas_metadatar1   Úisnan)r…   rU   ÚtÚjsÚcol1Úcol2Úcol3Úidx0r¶   Ú
idx0_descrÚ	foo_descrs              r8   Útest_index_metadata_field_namez2TestConvertMetadata.test_index_metadata_field_namev  sÚ  € ä�\‰\Ú9Ü—-‘-×+Ñ+Ú ¢)Ð,Ø˜U�mð ,ó ò 5ô
ˆô ×(Ñ(Ô*Ü—‘×$Ñ$ R¸Ð$Ó=‰Aä—‘œkÕ*Ü—H‘H×(Ñ(¨¸DÐ(ÓA�÷ +à�X‰X×%Ñ%ˆà&(¨¡mÑ#ˆˆd�D˜$ à�F‰|˜sÒ"Ð"Ð"Ø�F‰|˜t LÑ1Ò1Ð1Ð1ä×(Ñ(Ô*Ü—8‘8˜D ™LÔ)Ð)Ð)Ø˜Ñ%¨Ò.Ð.Ð.à˜‘<Ð'Ð'Ð'Ø˜Ñ%¨Ò/Ð/Ð/à�F‰|Ð2Ò2Ð2Ð2Ø�F‰|˜t LÑ1Ò1Ð1Ð1à " ?Ñ 3Ñˆ
�IàÐ0Ò0Ð0Ð0Ø�LÑ! ZÒ/Ð/Ð/Ø�F‰|Ð#Ð#Ð#à˜EÒ!Ð!Ð!Ø�<Ñ  IÒ-Ð-Ð-Ø�6‰{˜iÒ'Ð'Ñ'÷7 +Ð*ús   Â"FÆFc                 ó6  — t        j                  g d¢g d¢dœg d¢¬«      }t        |d¬«       t        j                  |«      }t        j
                  dt        j                  «       fd	t        j                  «       fd
t        j                  «       fg«      }|j
                  j                  |«      sJ ‚|j                  «       }|j                  j                  t        j                  g d¢«      «      sJ ‚|j                  |j                  cxk(  rdk(  sJ ‚ J ‚y )Nr€   ©r˜   r™   r¯   ©r\   r   )é
   é   é   r»   Tr¢   r\   r   r  r*   )r/   r0   r]   rF   rZ   r;   r   rK   rJ   r•   rê   Úndim)r…   rU   r  rW   rÃ   s        r8   Útest_index_level_name_bumpz.TestConvertMetadata.test_index_level_name_bump   sØ   € ä�\‰\Ú²IÑ>Úô
ˆô 	  °4Õ8ô �H‰H�R‹LˆÜŸ)™)Ø”B—H‘H“JÐØ ¤"§(¡(£*Ð-Ø ¤"§(¡(£*Ð-ð%
ó ˆð
 �x‰x�‰˜Ô/Ð/Ð/à�k‰k‹mˆØ�y‰y×Ñ¤§¡ªÓ 6Ô7Ð7Ð7Ø�x‰x˜2Ÿ7™7Ô' aÒ'Ð'Ñ'Ð'Ñ'rk   c                 ó$  — t        j                  ddgddgdœt         j                  j                  ddgdd	ggd d g¬
«      ¬«      }t	        |d¬«       t
        j                  j                  |d¬«      }|j                  j                  g d¢k(  sJ ‚y )Nr   r*   r�   r˜   r  r  r  éd   éÈ   rä   r»   Tr¢   )r\   r   r  Ú__index_level_2__)
r/   r0   r²   rÞ   r]   rF   rH   rI   r;   r£   )r…   rU   r  s      r8   Ú%test_index_level_name_bump_multiindexz9TestConvertMetadata.test_index_level_name_bump_multiindexµ  s•   € ä�\‰\Ø˜�F°!°Q°Ñ8Ü—-‘-×+Ñ+Ø�b�˜C ˜:Ð&¨t°T¨lð ,ó ô
ˆô 	  °4Õ8ä�H‰H× Ñ  °DÐ Ó9ˆØ�x‰x�~‰~ò "Lò Lð 	Lñ Lrk   c                 óT  — t        j                  g d¢t        j                  t        d«      d¬«      ¬«      }t        j
                  j                  |d¬«      }|j                  j                  }|d   \  }|d	   �J ‚|d
   dk(  sJ ‚|d   dk(  sJ ‚|d   }|d   dk(  sJ ‚|d   du sJ ‚y )N©)r   r¡   rŠ   )r*   rÍ   r‹   )r�   rÜ   rŒ   ÚdefÚcategoryr   r›   Tr¢   Úcolumn_indexesrb   Úpandas_typeÚcategoricalÚ
numpy_typer   ÚmetadataÚnum_categoriesr�   ÚorderedF)	r/   r0   rê   ÚlistrF   rH   rI   r;   r  ©r…   rU   r  r	  r"  Úmds         r8   Útest_categorical_column_indexz1TestConvertMetadata.test_categorical_column_indexÃ  sÃ   € Ü�\‰\Ú9Ü—H‘HœT %›[°
Ô;ô
ˆô �H‰H× Ñ  °DÐ Ó9ˆØ�X‰X×%Ñ%ˆàÐ-Ñ.‰ˆØ˜fÑ%Ð-Ð-Ð-Ø˜mÑ,°Ò=Ð=Ð=Ø˜lÑ+¨vÒ5Ð5Ð5à˜JÑ'ˆØÐ"Ñ# qÒ(Ð(Ð(Ø�)‰} Ñ%Ð%Ñ%rk   c                 ó®  — t        j                  g d¢t        j                  t        d«      d¬«      ¬«      }t        j
                  j                  |d¬«      }|j                  j                  }|d   \  }|d	   dk(  sJ ‚|d	   |d
   k(  sJ ‚|d   t        j                  «       rdndk(  sJ ‚|d   dk(  sJ ‚|d   }t        |«      dk(  sJ ‚|d   dk(  sJ ‚y )Nr  r   Ústringzra   r›   Tr¢   r"  rb   r  r%  r,   r@   r#  Úunicoder&  r   ÚencodingúUTF-8)r/   r0   rê   r)  rF   rH   rI   r;   r  r   r  r¿   r*  s         r8   Útest_string_column_indexz,TestConvertMetadata.test_string_column_indexÔ  sï   € Ü�\‰\Ú9Ü—H‘HœT %›[¨yÔ9ô
ˆô �H‰H× Ñ  °DÐ Ó9ˆØ�X‰X×%Ñ%ˆàÐ-Ñ.‰ˆØ˜fÑ%¨Ò2Ð2Ð2Ø˜fÑ%¨¸Ñ)EÒEÐEÐEØ˜lÑ+Ü ×2Ñ2Ô4‰E¸(ò
ð 	
ð 
ð ˜mÑ,°	Ò9Ð9Ð9à˜JÑ'ˆä�2‹w˜!Š|Ðˆ|Ø�*‰~ Ò(Ð(Ñ(rk   ÚunitÚusÚnsc           
      óª  — i }t        t        j                  «      t        d«      k\  rd|i}t        j                  g d¢t        j                  dddddœ|¤Ž¬«      }t
        j                  j                  |d	¬
«      }|j                  j                  }|d   \  }|d   �J ‚|d   dk(  sJ ‚|r|d   d|› d�k(  sJ ‚|d   dk(  sJ ‚|d   }|d   dk(  sJ ‚y )Nú2.0.0r3  r  ú
2017-01-01r�   úAmerica/New_York©Ústartrª   r¦   r›   Tr¢   r"  rb   r#  Ú
datetimetzr%  údatetime64[Ú]r'   r&  r   © )
r   r/   Ú__version__r0   r¬   rF   rH   rI   r;   r  )r…   r3  Ú
ext_kwargsrU   r  r	  r"  r+  s           r8   Útest_datetimetz_column_indexz0TestConvertMetadata.test_datetimetz_column_indexé  s  € àˆ
Ü”2—>‘>Ó"¤g¨gÓ&6Ò6à  $˜ˆJÜ�\‰\Ú9Ü—M‘Mð Ø"¨AÐ2DñØHRñô
ˆô �H‰H× Ñ  °DÐ Ó9ˆØ�X‰X×%Ñ%ˆàÐ-Ñ.‰ˆØ˜fÑ%Ð-Ð-Ð-Ø˜mÑ,°Ò<Ð<Ð<ÙØ! ,Ñ/°[ÀÀÀaÐ3HÒHÐHÐHà! ,Ñ/Ð3CÒCÐCÐCà˜JÑ'ˆØ�*‰~Ð!3Ò3Ð3Ñ3rk   c                 óš   — t        j                  dt        j                  ddd¬«      i«      }|j                  d«      }t	        |d¬«       y )Nr¡   r8  r�   r9  r:  Tr¢   )r/   r0   r¬   r‘   r]   r¤   s     r8   Útest_datetimetz_row_indexz-TestConvertMetadata.test_datetimetz_row_index  sE   € Ü�\‰\Ø”—‘Ø"¨AÐ2Dôð
ó ˆð
 �\‰\˜#Óˆä °4Ö8rk   c                 ó´   — t        j                  g d¢g d¢dœ«      }|j                  j                  d«      |d<   |j	                  d«      }t        |d¬«       y )Nr€   ©r¡   rÍ   r!  r¡   Tr¢   )r/   r0   r¡   Úastyper‘   r]   r¤   s     r8   Útest_categorical_row_indexz.TestConvertMetadata.test_categorical_row_index  sC   € Ü�\‰\¢	²	Ñ:Ó;ˆØ—$‘$—+‘+˜jÓ)ˆˆ3‰Ø�\‰\˜#Óˆä °4Ö8rk   c                 óâ   — t        j                  ddgt        d«      ¬«      }t        j                  t
        «      5  t        j                  j                  |«       d d d «       y # 1 sw Y   y xY w)NrÚ   rÛ   Úaar›   )	r/   r0   r)  r’   ÚraisesÚ
ValueErrorrF   rH   rI   r¤   s     r8   Ú*test_duplicate_column_names_does_not_crashz>TestConvertMetadata.test_duplicate_column_names_does_not_crash  sE   € Ü�\‰\˜8 XÐ.¼¸T»
ÔCˆÜ�]‰]œ:Õ&Ü�H‰H× Ñ  Ô$÷ '×&Ñ&ús   ¼ A%Á%A.c                 óè  — ddgddgg}|D ]Í  }t         j                  j                  |dgd¬«      }t         j                  j                  |gdg«      }t         j                  j                  |||g«      }t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «        d d d «       ŒÏ y # 1 sw Y   Œ>xY w# 1 sw Y   ŒæxY w)Nr   r   éÿÿÿÿr¡   F©Úsafer¶   )
rF   ÚDictionaryArrayrÞ   rG   rH   Úfrom_batchesr’   rK  Ú
IndexErrorrJ   )r…   ÚindicesÚindsri   ÚbatchrZ   s         r8   Ú#test_dictionary_indices_boundscheckz7TestConvertMetadata.test_dictionary_indices_boundscheck  s¾   € à�q�6˜A˜r˜7Ð#ˆãˆDÜ×$Ñ$×0Ñ0°¸°uÀ5Ð0ÓIˆCÜ—N‘N×.Ñ.°¨u°u°gÓ>ˆEÜ—H‘H×)Ñ)¨5°%¸Ð*?Ó@ˆEä—‘œzÕ*Ø—‘”÷ +ô —‘œzÕ*Ø—‘Ô!÷ +Ð*ñ ÷
 +Ð*ú÷ +Ð*ús   ÂCÃ C(ÃC%	Ã(C1	c                 óT   — t        j                  ddgidg¬«      }t        |d¬«       y )Nrí   rî   u   ã�†r»   Tr¢   rö   r¤   s     r8   Ú*test_unicode_with_unicode_column_and_indexz>TestConvertMetadata.test_unicode_with_unicode_column_and_index(  s%   € Ü�\‰\˜5 5 'Ð*°5°'Ô:ˆä °4Ö8rk   c                 ó*  — t        j                  ddgddgdœ«      }ddgddgdd	gfD ]Ñ  }t        j                  |t        ¬
«      |_        t        j                  t        «      5  t        j                  j                  |«       d d d «       |j                  «       }|j                  j                  j                  t        «      |_        t        j                  t        «      5  t        ||d¬«       d d d «       ŒÓ y # 1 sw Y   ŒzxY w# 1 sw Y   ŒêxY w)Nr   r*   r�   r˜   rF  rí   ó   aÚ2rù   r   Tr�   )r/   r0   rê   r@   rL   r’   r“   r”   rF   rH   rI   rs   rt   rG  r,   r]   )r…   rU   ÚcolsrV   s       r8   Útest_mixed_column_namesz+TestConvertMetadata.test_mixed_column_names-  sÐ   € ä�\‰\  A ¨a°¨VÑ4Ó5ˆà˜T�] Q¨ H¨q°#¨hÓ7ˆDÜŸ™ $¬fÔ5ˆBŒJô —‘œkÕ*Ü—‘×$Ñ$ RÔ(÷ +ð —w‘w“yˆHØ!Ÿz™z×0Ñ0×7Ñ7¼Ó<ˆHÔÜ—‘œkÕ*Ü'¨°XØ7;õ=÷ +Ð*ñ 8÷ +Ð*ú÷
 +Ð*ús   Á$ C=Ã#D	Ã=D	Ä	D	c                 ó’  — dg}dj                  «       }||i}t        j                  |«      }t        j                  j                  |d¬«      }|j                  «       }|j                  d   |j                  d   k(  sJ ‚|j                  j                  d   |j                  j                  d   k(  sJ ‚|j                  d   |k(  sJ ‚y )Nrî   rí   Tr¢   r   )
Úencoder/   r0   rF   rH   rI   rJ   rt   r•   rL   )r…   Úcolumn_dataÚkeyr    rU   r  rÃ   s          r8   Útest_binary_column_namez+TestConvertMetadata.test_binary_column_name>  s°   € Ø�gˆØ�l‰l‹nˆØ�[Ð!ˆÜ�\‰\˜$Óˆô �H‰H× Ñ  °DÐ Ó9ˆØ�k‰k‹mˆØ�y‰y˜‰|˜sŸz™z¨!™}Ò,Ð,Ð,Ø�x‰x�‰˜qÑ! S§Y¡Y×%5Ñ%5°aÑ%8Ò8Ð8Ð8Ø�z‰z˜!‰} Ò#Ð#Ñ#rk   c                 óÊ   — d}t        t        |«      «      }t        j                  j	                  g d¢|gddg¬«      }t        j
                  d|i|¬«      }t        |d¬	«       y )
Nr�   )r¶   r¶   ÚbarÚfoobarÚsome_numbersrä   Únumbersr»   Tr¢   )r)  r5   r/   r²   rÞ   r0   r]   )r…   Únum_rowsri  r•   rU   s        r8   Ú test_multiindex_duplicate_valuesz4TestConvertMetadata.test_multiindex_duplicate_valuesL  s_   € ØˆÜ”u˜X“Ó'ˆÜ—‘×)Ñ)Ú" GÐ,Ø˜^Ð,ð *ó 
ˆô
 �\‰\˜9 gÐ.°eÔ<ˆä °4Ö8rk   c                 óä   — t        j                  dddgi«      }t        j                  j	                  |«      }|j
                  j                  }d|vsJ ‚|d   d   }|d   dk(  sJ ‚|d	   d
k(  sJ ‚y )Nr    s
   some_bytesÚsome_unicodeÚmixedrL   r   r#  Úbytesr%  r@   ©r/   r0   rF   rH   rI   r;   r  )r…   rU   rZ   r	  Údata_columns        r8   Útest_metadata_with_mixed_typesz2TestConvertMetadata.test_metadata_with_mixed_typesX  s   € Ü�\‰\˜6 M°>Ð#BÐCÓDˆÜ—‘×$Ñ$ RÓ(ˆØ�\‰\×)Ñ)ˆØ˜bÑ Ð Ð Ø˜‘m AÑ&ˆØ˜=Ñ)¨WÒ4Ð4Ð4Ø˜<Ñ(¨HÒ4Ð4Ñ4rk   c                 ó@  — t        j                  g d¢g d¢dœg d¢¬«      }t        j                  j	                  |«      }|j                  d¬«      }|j                  |j                  j                  «       «      j                  «       }t        j                  ||«       y )Nr€   ©r¶   rf  ÚbazrF  )rÕ   rÖ   Úthreer»   T)Úignore_metadata)r/   r0   rF   rH   rI   rJ   Úcastr;   Úremove_metadatarS   rT   )r…   rU   rZ   r[   rV   s        r8   Útest_ignore_metadataz(TestConvertMetadata.test_ignore_metadataa  sv   € Ü�\‰\¢	Ò0EÑFÚ 7ô9ˆä—‘×$Ñ$ RÓ(ˆà—‘°�Ó6ˆØ—J‘J˜uŸ|™|×;Ñ;Ó=Ó>ß‘Y“[ð 	ô 	×Ñ˜f hÕ/rk   c           	      ó˜  — t        j                  ddgg d¢dgdz  gi«      }t        j                  t        j                  dt        j
                  t        j                  «       «      ¬«      g«      }t        j                  j                  ||¬«      }|j                  j                  }d|vsJ ‚|d	   d
   }|d   dk(  sJ ‚|d   dk(  sJ ‚y )Nr    r   ©r*   r�   r˜   r™   r½   ©r`   ©r;   rn  rL   r   r#  zlist[int64]r%  r@   )
r/   r0   rF   r;   rƒ   Úlist_r   rH   rI   r  )r…   rU   r;   rZ   r	  rq  s         r8   Útest_list_metadataz&TestConvertMetadata.test_list_metadatal  s¹   € Ü�\‰\˜6 Q Cª°Q°C¸!±GÐ#<Ð=Ó>ˆÜ—‘œBŸH™H V´"·(±(¼2¿8¹8»:Ó2FÔGÐHÓIˆÜ—‘×$Ñ$ R°Ð$Ó7ˆØ�\‰\×)Ñ)ˆØ˜bÑ Ð Ð Ø˜‘m AÑ&ˆØ˜=Ñ)¨]Ò:Ð:Ð:Ø˜<Ñ(¨HÒ4Ð4Ñ4rk   c                 óÌ   — t        j                  ddddœdddœgi«      }t        j                  j	                  |«      }|j
                  j                  }|d   d   d	   d
k(  sJ ‚y )NÚdictsr   r*   rF  r�   r˜   rL   r   r#  r@   rp  )r…   rU   rZ   r  s       r8   Útest_struct_metadataz(TestConvertMetadata.test_struct_metadatav  sd   € Ü�\‰\˜7¨1°1Ñ%5¸QÀQÑ7GÐ$HÐIÓJˆÜ—‘×$Ñ$ RÓ(ˆØŸ,™,×6Ñ6ˆØ˜yÑ)¨!Ñ,¨]Ñ;¸xÒGÐGÑGrk   c                 óL  — t        j                  dt        j                  d«      t        j                  d«       gi«      }t        j
                  j                  |«      }|j                  j                  }d|vsJ ‚|d   d   }|d   dk(  sJ ‚|d	   d
k(  sJ ‚|d   dddœk(  sJ ‚y )NÚdecimalsú394092382910493.12341234678z314292388910493.12343437128rn  rL   r   r#  r°   r%  r@   r&  é   é   ©Ú	precisionÚscale)	r/   r0   r°   r±   rF   rH   rI   r;   r  )r…   rV   rZ   r	  rq  s        r8   Útest_decimal_metadataz)TestConvertMetadata.test_decimal_metadata|  s¹   € Ü—<‘<ØÜ—‘Ð =Ó>Ü—‘Ð!>Ó?Ð?ðð!
ó ˆô —‘×$Ñ$ XÓ.ˆØ�\‰\×)Ñ)ˆØ˜bÑ Ð Ð Ø˜‘m AÑ&ˆØ˜=Ñ)¨YÒ6Ð6Ð6Ø˜<Ñ(¨HÒ4Ð4Ð4Ø˜:Ñ&¸ÀRÑ*HÒHÐHÑHrk   Útypc           	      óf  — t        j                  dt        j                  d«      gi«      }t	        j
                  t	        j                  d |dd«      ¬«      g«      }t        j                  j                  ||¬«      }|j
                  j                  d   d   }|d	   d
k(  sJ ‚|d   dddœk(  sJ ‚y )Nr¡   ú3.14r˜   r*   r}  r~  rL   r   r#  r°   r&  r‰  )
r/   r0   r°   r±   rF   r;   rƒ   rH   rI   r  )r…   r�  rU   r;   rZ   Úcol_metas         r8   Útest_decimal_other_bitwidtsz/TestConvertMetadata.test_decimal_other_bitwidts‹  s¢   € ô �\‰\˜3¤§¡°Ó!8Ð 9Ð:Ó;ˆÜ—‘œBŸH™H S©s°1°a«yÔ9Ð:Ó;ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆØ—<‘<×/Ñ/°	Ñ:¸1Ñ=ˆØ˜Ñ&¨)Ò3Ð3Ð3Ø˜
Ñ#°QÀÑ'CÒCÐCÑCrk   c                 ód  — t        j                  g d¢d¬«      t        j                  ddd¬«      fD ]ü  }t        j                  g d¢g d	¢d
œ|¬«      }t        j
                  j                  |«      }|j                  d«      }|j                  «       }|dg   }t        |j                  t         j                  «      rd |j                  _        t        j                  ||«       |j                  d«      }|j                  «       }t        j                  ||dg   j                  d¬«      «       Œþ y )N©r¡   rÍ   rÜ   r•   ra   r8  r�   r§   ©rª   r¦   r€   ©çš™™™™™¹?çš™™™™™É?ç333333Ó?rF  r»   r   r¡   T©Údrop)r/   rê   r¬   r0   rF   rH   rI   Úremove_columnrJ   rÀ   r•   rå   r«   rS   rT   Úreset_index)r…   r•   rU   rZ   Útable_subsetr[   rV   Útable_subset2s           r8   Ú!test_table_column_subset_metadataz5TestConvertMetadata.test_table_column_subset_metadata™  sþ   € ô —‘š¨wÔ7Ü—‘˜l°AÐ:KÔLóNˆEô —‘¢IÚ$0ñ2Ø9>ô@ˆBä—H‘H×(Ñ(¨Ó,ˆEà ×.Ñ.¨qÓ1ˆLØ!×+Ñ+Ó-ˆFØ˜3˜%‘yˆHÜ˜(Ÿ.™.¬"×*:Ñ*:Ô;Ø&*�—‘Ô#Ü×!Ñ! &¨(Ô3à(×6Ñ6°qÓ9ˆMØ"×,Ñ,Ó.ˆFÜ×!Ñ! &¨"¨c¨U©)×*?Ñ*?ÀTÐ*?Ó*JÕKñ!Nrk   c                 ó¢  — t        j                  t        t        d«      «      t        t        d«      «      t	        j
                  d«      dœ«      }t        j                  j                  |j                  ddg«      «      }|j                  ddg«      }|j                  «       }|ddg   j                  d«      }t        j                  ||«       y )Nr™   )ÚfirstÚsecondÚvaluer¡  r¢  r£  )r/   r0   r)  r5   r1   r2   rF   rH   rI   r‘   ÚselectrJ   rS   rT   )r…   rU   rZ   Úsubsetr[   rV   s         r8   Ú'test_to_pandas_column_subset_multiindexz;TestConvertMetadata.test_to_pandas_column_subset_multiindex®  s¥   € ä�\‰\Üœ5 ›8“nÜœE !›H“~Ü—i‘i “lñ$ó
ˆô
 —‘×$Ñ$ R§\¡\°7¸HÐ2EÓ%FÓGˆà—‘˜w¨Ð0Ó1ˆØ×!Ñ!Ó#ˆØ�w Ð(Ñ)×3Ñ3°GÓ<ˆÜ
×Ñ˜f hÕ/rk   c                 óR  — dgddgd g}g g g g}t        dt        j                  |t        j                  t        j                  «       «      ¬«      fdt        j                  |t        j                  t        j                  «       «      ¬«      fg«      }t        j
                  j                  t        |j                  «       «      t        |j                  «       «      «      }t        j                  j                  |g«      }|j                  «       }t        j                  j                  |«      }|j                  j                  }|j                  «       }	t!        j"                  t        d|fd|fg«      «      }
t%        j&                  |	|
«       |d   ddd dd	d
œddd ddd
œgk(  sJ ‚y )NÚtestr¡   rÍ   Úc1r}  Úc2rL   r@   zlist[unicode])rb   r  r&  r%  r#  zlist[empty])r   rF   rc   r  ÚstringrG   rÞ   r)  rt   ÚkeysrH   rS  rJ   rI   r;   r  r/   r0   rS   rT   )r…   r©  rª  ÚarraysÚrbÚtblrU   Útbl2Úmd2rÃ   rV   s              r8   Útest_empty_list_metadataz,TestConvertMetadata.test_empty_list_metadata¼  sq  € ð ˆh˜˜c˜
 DÐ)ˆØ�"�bˆ\ˆÜØ”2—8‘8˜B¤R§X¡X¬b¯i©i«kÓ%:Ô;Ð<Ø”2—8‘8˜B¤R§X¡X¬b¯i©i«kÓ%:Ô;Ð<ð
ó ˆô �^‰^×'Ñ'Ü�—‘“Ó!Ü�—‘“Óó
ˆô �h‰h×#Ñ# R DÓ)ˆð �]‰]‹_ˆÜ�x‰x×#Ñ# BÓ'ˆØ�k‰k×)Ñ)ˆð �n‰nÓˆÜ—<‘<¤¨d°B¨Z¸$À¸Ð,DÓ EÓFˆä
×Ñ˜c 8Ô,à�9‰~àØ"Ø Ø&Ø.ñð Ø"Ø Ø&Ø,ñð"
ò 
ð 	
ñ 
rk   c                 ó°   — t        j                  g d¢g d¢dœ«      }t        j                  j	                  |«      }|j
                  j                  d   €J ‚y )Nr€   rF  Úpandas_versionrp  r„   s      r8   Útest_metadata_pandas_versionz0TestConvertMetadata.test_metadata_pandas_versionè  sE   € Ü�\‰\¢	²	Ñ:Ó;ˆÜ—‘×$Ñ$ RÓ(ˆØ�|‰|×+Ñ+Ð,<Ñ=ÐIÐIÑIrk   c                 ó2  — i }t        t        j                  «      t        d«      k\  rddi}t        j                  dt        j                  	 dddi|¤Ži«      }t
        j                  j                  |«      }|d   j                  t        j                  dd¬«      «      }|j                  d	t        j                  d|j                  «      |«      }t        j                  dt        j                  dd¬«      fg«      }t
        j                  j                  ||¬
«      }|j                  «       }|d   j                  j!                  d«      |d<   ||fD ]@  }	|	j                  j"                  €J ‚|	j%                  «       }
t'        j(                  |
|«       ŒB y )Nr7  r3  r5  r   rª   r�   ÚUTC©r¦   r   r~  )z
2020-01-01)r   r/   r@  r0   r¬   rF   rH   rI   rx  Ú	timestampÚ
set_columnrƒ   r`   r;   rs   ÚdtÚtz_localizer  rJ   rS   rT   )r…   rA  rU   rZ   Únew_colÚ
new_table1r;   Ú
new_table2rV   Ú	new_tabler[   s              r8   Útest_mismatch_metadata_schemaz1TestConvertMetadata.test_mismatch_metadata_schemaí  sc  € ð
 ˆ
Ü”2—>‘>Ó"¤g¨gÓ&6Ò6à  $˜ˆJÜ�\‰\˜:¤r§}¡}Øñ(3Ø"#ð(3Ø'1ñ(3ð 4ó 5ˆô —‘×$Ñ$ RÓ(ˆà˜
Ñ#×(Ñ(¬¯©°d¸uÔ)EÓFˆØ×%Ñ%ØŒr�x‰x˜
 G§L¡LÓ1°7ó
ˆ
ô
 —‘˜Z¬¯©°d¸uÔ)EÐFÐGÓHˆÜ—X‘X×)Ñ)¨"°VÐ)Ó<ˆ
à—7‘7“9ˆØ'¨
Ñ3×6Ñ6×BÑBÀ5ÓIˆ�Ñà$ jÓ1ˆIà×#Ñ#×3Ñ3Ð?Ð?Ð?à×(Ñ(Ó*ˆFÜ×!Ñ! &¨(Õ3ñ 2rk   )8Ú__name__Ú
__module__Ú__qualname__Ú__doc__r†   r–   rž   r¥   r’   ÚmarkÚparametrizer­   r´   rÆ   rË   rÓ   rà   ræ   rë   rï   rñ   rô   r÷   rú   rQ   rý   r  r  r  r,  r2  rB  rD  rH  rM  rX  rZ  r_  rd  rk  rr  rz  r€  rƒ  rŒ  rF   Ú	decimal32Ú	decimal64Ú
decimal128Ú
decimal256r‘  rŸ  r¦  r²  rµ  rÁ  r?  rk   r8   r~   r~   ®   s”  „ ñò*ò
9ò 
@ò9ð
 ‡[�[×Ñ˜T DÐ*;Ð#<Ó=ñ9ó >ð9ò	9ò*ò6,ò=ò9ò	9ò9ò$9ò
=ò9ò9ò9ð ‡[�[×ÑØIóñ9óð9ò((òT(ò*Lò&ò")ð* ‡[�[×Ñ˜V d¨D \Ó2ñ4ó 3ð4ò29ò9ò%ò
"ò9ò
=ò"$ò
9ò5ò	0ò5òHòIð ‡[�[×Ñ˜UØ
�‰Ø
�‰Ø
�‰Ø
�‰ð	%ó ñDóðDòLò*0ò*
òXJó
 4rk   r~   c                   ó”   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestConvertPrimitiveTypesz>
    Conversion tests for primitive (e.g. numeric) types.
    c                 óÄ  — i }g }dt        j                  «       fdt        j                  «       fdt        j                  «       fg}d}|D ]]  \  }}t        j
                  j                  |«      }|j                  |«      ||<   |j                  t        j                  ||«      «       Œ_ t        j                  |«      }t        j                  |«      }	t        ||	¬«       y )NÚf2Úf4Úf8r  ©rW   )rF   Úfloat16r    r!   r1   r3   r4   rG  Úappendrƒ   r/   r0   r;   r]   )
r…   r    ÚfieldsÚdtypesÚ
num_valuesÚnumpy_dtypeÚarrow_dtypert   rU   r;   s
             r8   Útest_float_no_nullsz-TestConvertPrimitiveTypes.test_float_no_nulls  s·   € ØˆØˆØœŸ™›Ð&ØœŸ™›Ð&ØœŸ™›Ð&ð(ˆð ˆ
ã(.Ñ$ˆK˜Ü—Y‘Y—_‘_ ZÓ0ˆFØ &§¡¨kÓ :ˆD�ÑØ�M‰Mœ"Ÿ(™( ;°Ó<Õ=ð )/ô
 �\‰\˜$ÓˆÜ—‘˜6Ó"ˆÜ °FÖ;rk   c                 ó|  — d}t         j                  j                  dd|¬«      dk  }dt        j                  «       fdt        j
                  «       fdt        j                  «       fg}g d	¢}g }g }g }|D ]¥  \  }}	t         j                  j                  |«      j                  |«      }
t        j                  |
d
|¬«      }|j                  |«       |j                  t        j                  ||	«      «       t         j                  |
|<   |j                  |
«       Œ§ t        j                  t        t!        ||«      «      |¬«      }t        j"                  j%                  ||«      }|j&                  j)                  t        j&                  |«      «      sJ ‚|j+                  «       }t-        j.                  ||«       y )Nr  r   r  ©r6   r�   rÏ  rÐ  rÑ  )rÏ  rÐ  rÑ  T)rI   rm   r›   )r1   r3   ÚrandintrF   rÓ  r    r!   r4   rG  rc   rÔ  rƒ   rN   r/   r0   ÚdictÚziprH   rÞ   r;   rK   rJ   rS   rT   )r…   r×  Ú	null_maskrÖ  r£   Úexpected_colsr­  rÕ  rb   rÙ  rt   ri   Úex_framerZ   r[   s                  r8   Útest_float_nullsz*TestConvertPrimitiveTypes.test_float_nulls&  sa  € Øˆ
ä—I‘I×%Ñ% a¨°*Ð%Ó=ÀÑAˆ	ØœŸ™›Ð&ØœŸ™›Ð&ØœŸ™›Ð&ð(ˆò #ˆØˆàˆØˆÛ!'ÑˆD�+Ü—Y‘Y—_‘_ ZÓ0×7Ñ7¸Ó=ˆFä—(‘(˜6¨t¸)ÔDˆCØ�M‰M˜#ÔØ�M‰Mœ"Ÿ(™( 4¨Ó5Ô6Ü "§¡ˆF�9Ñà× Ñ  Õ(ð "(ô —<‘<¤¤S¨°Ó%>Ó ?Ø(-ô/ˆô —‘×$Ñ$ V¨UÓ3ˆØ�|‰|×"Ñ"¤2§9¡9¨VÓ#4Ô5Ð5Ð5Ø—‘Ó"ˆÜ
×Ñ˜f hÕ/rk   c                 ó�  — t        j                  dddt        j                  gi«      }t	        j
                  t	        j                  dt	        j                  «       d¬«      g«      }t        j                  j                  ||d¬«      }|d   j                  «       g d	¢k(  sJ ‚t        j                  ||j                  «       «       y )
Nr¡   r‰   rŠ   T©ÚnullableF©r;   rQ  r   ©r   r*   N)r/   r0   r1   rN   rF   r;   rƒ   r   rH   rI   Ú	to_pylistrS   rT   rJ   ©r…   rU   r;   rZ   s       r8   Útest_float_nulls_to_intsz2TestConvertPrimitiveTypes.test_float_nulls_to_intsD  s‘   € ä�\‰\˜3  c¬2¯6©6Ð 2Ð3Ó4ˆÜ—‘œBŸH™H S¬"¯(©(«*¸tÔDÐEÓFˆÜ—‘×$Ñ$ R°¸UÐ$ÓCˆØ�Q‰x×!Ñ!Ó#¢|Ò3Ð3Ð3Ü
×Ñ˜b %§/¡/Ó"3Õ4rk   c                 ó    — t        j                  g d¢«      }t        j                  g d¢«      }t        ||t        j                  «       ¬«       y )N)ç        r‰   rŠ   Ng      À)FTTNT©rV   r`   )r/   rd   rv   rF   Úbool_©r…   rf   rV   s      r8   Útest_float_nulls_to_booleanz5TestConvertPrimitiveTypes.test_float_nulls_to_booleanL  s2   € Ü�I‰IÒ1Ó2ˆÜ—9‘9Ò<Ó=ˆÜ˜q¨8¼"¿(¹(»*ÖErk   c                 óî   — t        j                  dt        j                  g«      }t	        j
                  |d¬«      }|j                  dk(  sJ ‚t        j                  |d   j                  «       «      sJ ‚y )Nrí  F©rI   r   r   )	r/   rd   r1   rN   rF   rc   rq   r  Úas_py)r…   rf   ri   s      r8   Ú'test_series_from_pandas_false_respectedzATestConvertPrimitiveTypes.test_series_from_pandas_false_respectedQ  sV   € ä�I‰I�sœBŸF™F�mÓ$ˆÜ�h‰h�q eÔ,ˆØ�~‰~ Ò"Ð"Ð"Ü�x‰x˜˜A™Ÿ™›Ô'Ð'Ñ'rk   c                 ó(  — t        «       }g }dt        j                  «       fdt        j                  «       fdt        j                  «       fdt        j
                  «       fdt        j                  «       fdt        j                  «       fdt        j                  «       fdt        j                  «       fd	t        j
                  «       fd
t        j                  «       fg
}d}|D ]ô  \  }}t        j                  |«      }t        j                  j                  t        |j                  t        j                  t        j                   «      j                  «      t        |j                  t        j                  t        j                   «      j                  «      ||¬«      }|j#                  |«      ||<   |j%                  t        j&                  ||«      «       Œö t)        j*                  |«      }	t        j,                  |«      }
t/        |	|
¬«       y )NÚi1Úi2Úi4Úi8Úu1Úu2Úu4Úu8ÚlonglongÚ	ulonglongr  ©r6   r   rÒ  )r   rF   r   r   r   r   r   r   r   r   r1   Úiinfor3   rÝ  ÚmaxÚminÚint_rG  rÔ  rƒ   r/   r0   r;   r]   )r…   r    rÕ  Únumpy_dtypesr×  r   rÙ  Úinfort   rU   r;   s              r8   Útest_integer_no_nullsz/TestConvertPrimitiveTypes.test_integer_no_nullsX  st  € Ü‹}ˆØˆð ”2—7‘7“9Ð ¤b§h¡h£jÐ1Ø”2—8‘8“:Ð ¤r§x¡x£zÐ 2Ø”2—8‘8“:Ð ¤r§y¡y£{Ð 3Ø”2—9‘9“;Ð $¬¯	©	«Ð!4ØœŸ™›Ð$ {´B·I±I³KÐ&@ð
ˆð ˆ
ã".ÑˆE�;Ü—8‘8˜E“?ˆDÜ—Y‘Y×&Ñ&¤s¨4¯8©8´R·X±X¼b¿g¹gÓ5F×5JÑ5JÓ'KÜ'*¨4¯8©8´R·X±X¼b¿g¹gÓ5F×5JÑ5JÓ'KØ,6¸eð 'ó EˆFð !Ÿ-™-¨Ó.ˆD�‰KØ�M‰Mœ"Ÿ(™( 5¨+Ó6Õ7ð #/ô �\‰\˜$ÓˆÜ—‘˜6Ó"ˆÜ °FÖ;rk   c                 ó<  — t        «       }g d¢}|D ]  }t        j                  d|¬«      ||<   Œ t        j                  |«      }t        |«       |j                  «       D ]:  }t        j                  |«      }|j                  «       |j                  «       k(  rŒ:J ‚ y )N)r÷  rø  rù  rú  rû  rü  rý  rþ  ÚbyteÚubyteÚshortÚushortÚintcÚuintcr  Úuintrÿ  r   é   r   )r   r1   r2   r/   r0   r]   rt   rF   rc   ré  Útolist)r…   r    r  r   rU   Únp_arrri   s          r8   Útest_all_integer_typesz0TestConvertPrimitiveTypes.test_all_integer_typesq  s�   € ä‹}ˆòAˆó "ˆEÜŸ)™) B¨eÔ4ˆD�ŠKð "ä�\‰\˜$ÓˆÜ Ô#ð —k‘k–mˆFÜ—(‘(˜6Ó"ˆCØ—=‘=“? f§m¡m£oÓ5Ð5Ð5ñ $rk   c           	      ó¢  — g d¢}|D ]º  }dD ]³  }t        j                  g d¢||z   ¬«      }||d d d…   fD ]ˆ  }|j                  j                  r9t	        j                  |«      }|j                  «       |j                  «       k(  rŒPJ ‚t        j                  t        «      5  t	        j                  |«      }d d d «       ŒŠ Œµ Œ¼ y # 1 sw Y   Œ™xY w)N©r÷  rø  rù  rú  rû  rü  rý  rþ  z=<>)r   r*   é*   r   r*   )
r1   rc   r   ÚisnativerF   ré  r  r’   rK  ÚNotImplementedError)r…   Ú
int_dtypesr»  Úorderr    r  ri   s          r8   Útest_integer_byteorderz0TestConvertPrimitiveTypes.test_integer_byteorder‚  s§   € âEˆ
ÛˆBÛ�Ü—x‘x¢
°%¸"±*Ô=�Ø# T©#¨A¨#¡YÓ/�FØ—z‘z×*Ò*Ü Ÿh™h t›n˜Ø"Ÿ}™}›°$·+±+³-Ó?Ð?Ð?ä#Ÿ]™]Ô+>Õ?Ü"$§(¡(¨4£.˜C÷ @Ð?ñ 0ñ ñ ÷ @Ð?ús   Â C	ÃCc                 óN  — g d¢}d}t         j                  j                  dd|¬«      dk  }g }g }|D ]�  }t         j                  j                  dd|¬«      }t        j                  ||¬«      }|j                  |«       |j                  d«      }	t         j                  |	|<   |j                  |	«       Œƒ t        j                  t        t        ||«      «      |¬	«      }
t        j                  j                  ||«      }|j                  «       }t        j                   ||
«       y )
Nr  r  r   r  rÜ  r�   ©rm   rÑ  r›   )r1   r3   rÝ  rF   rc   rÔ  rG  rN   r/   r0   rÞ  rß  rH   rÞ   rJ   rS   rT   )r…   r  r×  rà  rá  r­  rb   rt   ri   rV   râ  rZ   r[   s                r8   Útest_integer_with_nullsz1TestConvertPrimitiveTypes.test_integer_with_nulls�  sù   € ò Fˆ
Øˆ
ä—I‘I×%Ñ% a¨°*Ð%Ó=ÀÑAˆ	àˆØˆÛˆDÜ—Y‘Y×&Ñ& q¨#°JÐ&Ó?ˆFä—(‘(˜6¨	Ô2ˆCØ�M‰M˜#Ôà—}‘} TÓ*ˆHÜ"$§&¡&ˆH�YÑà× Ñ  Õ*ð ô —<‘<¤¤S¨°]Ó%CÓ DØ(2ô4ˆô —‘×$Ñ$ V¨ZÓ8ˆØ—‘Ó"ˆä
×Ñ˜f hÕ/rk   c                 óö   — t        j                  dd¬«      }t        j                  «       }t        j                  ||¬«      }t        j                  |j                  d«      «      }|j                  |«      sJ ‚y )Nr  r   r   r}  r   )r1   r2   rF   r   rc   rG  rK   )r…   ri   Útarget_typer[   rV   s        r8   Ú test_array_from_pandas_type_castz:TestConvertPrimitiveTypes.test_array_from_pandas_type_cast­  sV   € Ü�i‰i˜ 'Ô*ˆä—g‘g“iˆä—‘˜# KÔ0ˆÜ—8‘8˜CŸJ™J vÓ.Ó/ˆØ�}‰}˜XÔ&Ð&Ñ&rk   c                 óJ  — d}t         j                  j                  d«       t        j                  dt         j                  j                  |«      dkD  i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        ||¬«       y )Nr  r   ÚboolsrÒ  )r1   r3   Úseedr/   r0   r4   rF   rƒ   rï  r;   r]   )r…   r×  rU   rƒ   r;   s        r8   Útest_boolean_no_nullsz/TestConvertPrimitiveTypes.test_boolean_no_nulls¶  sl   € Øˆ
ä
�	‰	�‰�qÔä�\‰\˜7¤B§I¡I§O¡O°JÓ$?À!Ñ$CÐDÓEˆÜ—‘˜¤"§(¡(£*Ó-ˆÜ—‘˜E˜7Ó#ˆÜ °FÖ;rk   c                 ó°  — d}t         j                  j                  d«       t         j                  j                  dd|¬«      dk  }t         j                  j                  dd|¬«      dk  }t	        j
                  ||¬«      }|j                  t        «      }d ||<   t	        j                  dt	        j                  «       «      }t	        j                  |g«      }t        j                  d|i«      }t        j                  j                  |gdg«      }	|	j                  j                  |«      sJ ‚|	j!                  «       }
t#        j$                  |
|«       y )	Nr  r   r  rÜ  r�   r™   r  r$  )r1   r3   r%  rÝ  rF   rc   rG  r@   rƒ   rï  r;   r/   r0   rH   rÞ   rK   rJ   rS   rT   )r…   r×  rm   rt   ri   rV   rƒ   r;   râ  rZ   r[   s              r8   Útest_boolean_nullsz,TestConvertPrimitiveTypes.test_boolean_nullsÀ  s  € àˆ
Ü
�	‰	�‰�qÔä�y‰y× Ñ   B¨ZÐ Ó8¸1Ñ<ˆÜ—‘×"Ñ" 1 b¨zÐ"Ó:¸QÑ>ˆä�h‰h�v DÔ)ˆà—=‘=¤Ó(ˆØˆ�‰ä—‘˜¤"§(¡(£*Ó-ˆÜ—‘˜E˜7Ó#ˆÜ—<‘< ¨(Ð 3Ó4ˆä—‘×$Ñ$ c U¨W¨IÓ6ˆØ�|‰|×"Ñ" 6Ô*Ð*Ð*Ø—‘Ó"ˆä
×Ñ˜f hÕ/rk   c                 ó¬   — t        j                  g d¢dz  «      }t        j                  g d¢dz  «      }t        ||t        j                  «       ¬«       y )N©TTFTTr*   ©r   r   r   r   r   rî  )r/   rd   rv   rF   r   rð  s      r8   Útest_boolean_to_intz-TestConvertPrimitiveTypes.test_boolean_to_int×  s;   € ä�I‰IÒ5¸Ñ9Ó:ˆÜ—9‘9š_¨qÑ0Ó1ˆÜ˜q¨8¼"¿(¹(»*ÖErk   c                 ó0  — t        j                  g d¢dz  t        ¬«      }t        j                  g d¢dz  «      }d}t        j                  t
        j                  |¬«      5  t        ||t        j                  «       ¬«       d d d «       y # 1 sw Y   y xY w)Nr*  r*   r   r+  zExpected integer, got bool©Úmatchrî  )	r/   rd   r@   r’   rK  rF   ÚArrowTypeErrorrv   r   )r…   rf   rV   Úexpected_msgs       r8   Útest_boolean_objects_to_intz5TestConvertPrimitiveTypes.test_boolean_objects_to_intÝ  sc   € ä�I‰IÒ5¸Ñ9ÄÔHˆÜ—9‘9š_¨qÑ0Ó1ˆØ3ˆÜ�]‰]œ2×,Ñ,°LÖAÜ" 1¨x¼b¿h¹h»jÕI÷ B×AÑAús   Á"!BÂBc                 ó¬   — t        j                  g d¢dz  «      }t        j                  g d¢dz  «      }t        ||t        j                  «       ¬«       y )N)TTFNTr*   )r‰   r‰   rí  Nr‰   rî  )r/   rd   rv   rF   r!   rð  s      r8   Útest_boolean_nulls_to_floatz5TestConvertPrimitiveTypes.test_boolean_nulls_to_floatå  s<   € ä�I‰IÒ5¸Ñ9Ó:ˆÜ—9‘9Ò7¸!Ñ;Ó<ˆÜ˜q¨8¼"¿*¹*»,ÖGrk   c                 óv   — t        j                  t        j                  dd¬«      ddg¬«      }t	        |«       y )N)r�   r*   r"   r   r¡   rÍ   r›   )r/   r0   r1   Úonesr]   r¤   s     r8   Útest_boolean_multiple_columnsz7TestConvertPrimitiveTypes.test_boolean_multiple_columnsë  s)   € ä�\‰\œ"Ÿ'™' &°Ô7À#ÀsÀÔLˆÜ Õ#rk   c                 ó†  — t        j                  d dt        j                  d«      gdz  t        ¬«      }t	        j
                  d|i«      }t	        j
                  dt	        j                  |«      i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        |||¬«       y )Nrù   g      @r™   r   Úfloats©rV   rW   )r1   rc   r!   r@   r/   r0   Ú
to_numericrF   rƒ   r;   r]   ©r…   ri   rU   rV   rƒ   r;   s         r8   Útest_float_object_nullsz1TestConvertPrimitiveTypes.test_float_object_nullsð  s‰   € Ü�h‰h˜˜c¤2§:¡:¨c£?Ð3°aÑ7¼vÔFˆÜ�\‰\˜8 S˜/Ó*ˆÜ—<‘< ¬2¯=©=¸Ó+=Ð >Ó?ˆÜ—‘˜¤2§:¡:£<Ó0ˆÜ—‘˜E˜7Ó#ˆÜ ¨XØ06ö	8rk   c           	      óF  — t        j                  t        j                  ddt        j                  g«      }t	        j
                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       t	        j                  «       g}|D ]Í  }t	        j                  ||¬«      }t	        j                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  d|i«      }t	        j                   t	        j"                  d|«      g«      }t        j$                  j'                  ||d¬«      }|d   j)                  d«      j                  |«      rŒÍJ ‚ y )	Nr‰   rŠ   r}  )Nr   r*   NÚ	has_nullsF©r;   r<   r   )r/   rd   r1   rN   rF   r   r   r   r   r   r   r   r   rc   rK   r0   r;   rƒ   rH   rI   Úchunk)r…   rf   ÚtypesÚtyr[   rV   rU   r;   s           r8   Útest_float_with_null_as_integerz9TestConvertPrimitiveTypes.test_float_with_null_as_integerù  s  € ä�I‰I”r—v‘v˜r 2¤r§v¡vÐ.Ó/ˆä—‘“œBŸH™H›J¬¯©«
´B·H±H³JÜ—‘“œRŸY™Y›[¬"¯)©)«+´r·y±y³{ðDˆãˆBÜ—X‘X˜a bÔ)ˆFÜ—x‘xÒ 2¸Ô<ˆHØ—=‘= Ô*Ð*Ð*ä—‘˜{¨AÐ.Ó/ˆBÜ—Y‘Y¤§¡¨°bÓ 9Ð:Ó;ˆFÜ—X‘X×)Ñ)¨"°VØ9>ð *ó @ˆFà˜!‘9—?‘? 1Ó%×,Ñ,¨XÕ6Ð6Ð6ñ rk   c                 ó†  — t        j                  d dt        j                  d«      gdz  t        ¬«      }t	        j
                  d|i«      }t	        j
                  dt	        j                  |«      i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        |||¬«       y )Nr   r�   r™   r   Úintsr:  )r1   rc   r   r@   r/   r0   r;  rF   rƒ   r;   r]   r<  s         r8   Útest_int_object_nullsz/TestConvertPrimitiveTypes.test_int_object_nulls
  s‰   € Ü�h‰h˜˜a¤§¡¨!£Ð-°Ñ1¼Ô@ˆÜ�\‰\˜6 3˜-Ó(ˆÜ—<‘< ¬¯©°sÓ);Ð <Ó=ˆÜ—‘˜¤§¡£Ó,ˆÜ—‘˜E˜7Ó#ˆÜ ¨XØ06ö	8rk   c                 ó  — t        j                  g d¢dz  t        ¬«      }t        j                  d|i«      }t        j                  dt        j                  «       «      }t        j                  |g«      }t        ||¬«       y )N)FNTr  r   r$  rÒ  )
r1   rc   r@   r/   r0   rF   rƒ   rï  r;   r]   )r…   ri   rU   rƒ   r;   s        r8   Útest_boolean_object_nullsz3TestConvertPrimitiveTypes.test_boolean_object_nulls  sZ   € Ü�h‰hÒ*¨SÑ0¼Ô?ˆÜ�\‰\˜7 C˜.Ó)ˆÜ—‘˜¤"§(¡(£*Ó-ˆÜ—‘˜E˜7Ó#ˆÜ °FÖ;rk   c                 ó°   ‡— t        j                  d gt        ¬«      Šˆfd„} |t        j                  «       «        |t        j
                  «       «       y )Nr   c                 ó€   •— t        j                  ‰| ¬«      }|j                  | k(  sJ ‚|d   j                  «       �J ‚y )Nr}  r   )rF   rc   r`   rô  )r  Úa2ri   s     €r8   Ú_check_typezJTestConvertPrimitiveTypes.test_all_nulls_cast_numeric.<locals>._check_type  s9   ø€ Ü—‘˜# AÔ&ˆBØ—7‘7˜a’<Ð�<Ø�a‘5—;‘;“=Ð(Ð(Ñ(rk   )r1   rc   r@   rF   r   r!   )r…   rM  ri   s     @r8   Útest_all_nulls_cast_numericz5TestConvertPrimitiveTypes.test_all_nulls_cast_numeric  s8   ø€ Ü�h‰h˜�v¤VÔ,ˆô	)ñ
 	”B—H‘H“JÔÙ”B—J‘J“LÕ!rk   c                 ó  — t        j                  dt         j                  gt         j                  ¬«      }t	        j                  |t	        j                  «       ¬«      }|j                  «       \  }}t        |t        «      sJ ‚|dk(  sJ ‚t        |t        «      sJ ‚t        j                  |«      sJ ‚t	        j                  |t	        j                  «       d¬«      }|j                  «       \  }}t        |t        «      sJ ‚|dk(  sJ ‚|�J ‚y )Nrù   r   r}  T©r`   rI   )	r1   rc   rN   rÓ  rF   ré  rÀ   Úfloatr  )r…   ri   r¡   r7   Úys        r8   Útest_half_floats_from_numpyz5TestConvertPrimitiveTypes.test_half_floats_from_numpy%  sÊ   € Ü�h‰h˜œRŸV™V�}¬B¯J©JÔ7ˆÜ�H‰H�SœrŸz™z›|Ô,ˆØ�{‰{‹}‰ˆˆ1Ü˜!œUÔ#Ð#Ð#Ø�CŠxˆˆxÜ˜!œUÔ#Ð#Ð#Ü�x‰x˜Œ{Ðˆ{ä�H‰H�SœrŸz™z›|¸Ô>ˆØ�{‰{‹}‰ˆˆ1Ü˜!œUÔ#Ð#Ð#Ø�CŠxˆˆxØˆyÐ‰yrk   N)rÂ  rÃ  rÄ  rÅ  rÚ  rã  rë  rñ  rõ  r  r  r  r  r"  r&  r(  r,  r2  r4  r7  r=  rD  rG  rI  rN  rS  r?  rk   r8   rÍ  rÍ    sy   „ ñò<ò"0ò<5òFò
(ò<ò26ò"1ò0ò:'ò<ò0ò.FòJòHò$ò
8ò7ò"8ò<ò	"órk   rÍ  r   r  c                 ó|  — d}t         j                  j                  dd|¬«      dk  }t         j                  j                  dd|| ¬«      }t        j                  ||¬«      }|j                  «       r|j                  d«      }d ||<   n|}|j                  d	¬
«      }t         j                  j                  ||«       y ©Nr  r   r  rÜ  r�   r  r  ÚOT©Úinteger_object_nulls)
r1   r3   rÝ  rF   rc   ÚanyrG  rJ   ÚtestingÚassert_equal)r   r×  rà  rt   rc   rV   r[   s          r8   Ú&test_array_integer_object_nulls_optionr\  5  s    € ð €Jä—	‘	×!Ñ! ! R¨jÐ!Ó9¸AÑ=€IÜ�Y‰Y×Ñ˜q #¨J¸eÐÓD€Fä�H‰H�V )Ô,€Eà‡}�}„Ø—=‘= Ó%ˆØ"ˆ�Òàˆà�_‰_°$ˆ_Ó7€Fä‡J�J×Ñ˜F HÕ-rk   c                 óÚ  — d}t         j                  j                  dd|¬«      dk  }t         j                  j                  dd|| ¬«      }t        j                  ||¬«      }|j                  «       r|j                  d«      }d ||<   n|}t        j                  | |i«      }t        j                  j                  |g| g«      }|j                  d	¬
«      }t        j                  ||«       y rU  )r1   r3   rÝ  rF   rc   rY  rG  r/   r0   rH   rÞ   rJ   rS   rT   )r   r×  rà  rt   rc   rV   rZ   r[   s           r8   Ú&test_table_integer_object_nulls_optionr^  J  sÉ   € ð €Jä—	‘	×!Ñ! ! R¨jÐ!Ó9¸AÑ=€IÜ�Y‰Y×Ñ˜q #¨J¸eÐÓD€Fä�H‰H�V )Ô,€Eà‡}�}„Ø—=‘= Ó%ˆØ"ˆ�Òàˆä�|‰|˜U HÐ-Ó.€Hä�H‰H× Ñ  % ¨5¨'Ó2€EØ�_‰_°$ˆ_Ó7€Fä×Ñ˜& (Õ+rk   c                   ó8  — e Zd ZdZd„ Zd„ Zej                  j                  dg d¢«      d„ «       Z	d„ Z
d„ Z ej                   ej                  «       ej"                  z  «       ej$                  d	¬
«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zej                  j                  dd	g 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j8                  «        ej:                  «        ej<                  d«       ej<                  d«       ej<                  d«       ej<                  d«       ej<                  dd«       ej<                  dd«       ej<                  dd«       ej<                  dd«      g
«      d„ «       Zej                  j                  d ej8                  «        ej:                  «        ej<                  d«       ej<                  d«       ej<                  d«       ej<                  d«       ej<                  dd«       ej<                  dd«       ej<                  dd«       ej<                  dd«      g
«      d „ «       Z d!„ Z!d"„ Z"d#„ Z#d$„ Z$d%„ Z%d&„ Z&d'„ Z'd(„ Z(d)„ Z)d*„ Z*d+„ Z+ej                  j                  d, ej8                  «        ej:                  «       g«      d-„ «       Z,d.„ Z-ej                  j]                  e/d	uxr,  e0d/«       e0e/jb                  «      cxk  xr  e0d0«      k  nc d1¬2«      d3„ «       Z2ej                  j                  dg d¢«      d4„ «       Z3ej                  j                  dg d¢«      d5„ «       Z4d6„ Z5y	)7ÚTestConvertDateTimeLikeTypeszQ
    Conversion tests for datetime- and timestamp-like types (date64, etc.).
    c                 óø   — t        j                  dt        j                  g d¢d¬«      i«      }t	        j
                  dt	        j                  d«      «      }t	        j                  |g«      }t        ||¬«       y )NÚ
datetime64)ú2007-07-13T01:23:34.123456789ú2006-01-13T12:34:56.432539784ú2010-08-13T05:46:57.437699912r'   r   r5  rÒ  ©	r/   r0   r1   rc   rF   rƒ   r¹  r;   r]   ©r…   rU   rƒ   r;   s       r8   Ú#test_timestamps_notimezone_no_nullsz@TestConvertDateTimeLikeTypes.test_timestamps_notimezone_no_nullsg  óf   € Ü�\‰\Øœ"Ÿ(™(ò $1ð 'ô	(ð
ó ˆô —‘˜¤r§|¡|°DÓ'9Ó:ˆÜ—‘˜E˜7Ó#ˆÜØØ"ö	
rk   c                 óø   — t        j                  dt        j                  g d¢d¬«      i«      }t	        j
                  dt	        j                  d«      «      }t	        j                  |g«      }t        ||¬«       y )Nrb  )rc  Nre  r'   r   r5  rÒ  rf  rg  s       r8   Ú test_timestamps_notimezone_nullsz=TestConvertDateTimeLikeTypes.test_timestamps_notimezone_nullsv  ri  rk   r3  )rf   Úmsr4  r5  c           	      ó  — t        t        j                  «      t        d«      k  r|dk7  rt        j                  d«       t        j
                  dt        j                  g d¢d|› d�¬«      i«      }|d   j                  j                  d	«      |d<   t        |«       t        |d   «       t        j
                  dt        j                  g d
¢d|› d�¬«      i«      }|d   j                  j                  d	«      |d<   t        |«       y )Nr7  r5  z0pandas < 2.0 only supports nanosecond datetime64rb  )ú2007-07-13T01:23:34.123ú2006-01-13T12:34:56.432ú2010-08-13T05:46:57.437r=  r>  r   ú
US/Eastern©rc  Nrd  re  )r   r/   r@  r’   Úskipr0   r1   rc   r»  r¼  r]   rj   )r…   r3  rU   s      r8   Útest_timestamps_with_timezonez:TestConvertDateTimeLikeTypes.test_timestamps_with_timezone…  sö   € ä”2—>‘>Ó"¤W¨WÓ%5Ò5¸$À$º,Ü�K‰KÐJÔKÜ�\‰\Øœ"Ÿ(™(ò $+ð $ D 6¨Ð+ô	-ð
ó ˆð ˜lÑ+×.Ñ.×:Ñ:¸<ÓHˆˆ<ÑÜ Ô#ä  <Ñ 0Ô1ô �\‰\Øœ"Ÿ(™(ò $1ð
 $ D 6¨Ð+ô-ð
ó ˆð ˜lÑ+×.Ñ.×:Ñ:¸<ÓHˆˆ<Ñä Õ#rk   c                 ó  — t        d«      D �cg c]#  }t        j                  «       t        |¬«      z   ‘Œ% }}t	        j
                  dt	        j                  |t        ¬«      i«      }t        j                  j                  |«      }t        |d   j                  d«      t        j                  «      sJ ‚|j                  «       }t	        j
                  dt	        j                  |d¬«      i«      }t        j                   ||«       y c c}w )Nr  )Údaysr   r   r   r&   )r5   r   Útodayr   r/   r0   rd   r@   rF   rH   rI   rÀ   rA  ÚTimestampArrayrJ   rS   rT   )r…   r7   Ú
date_arrayrU   rZ   r[   Úexpected_dfs          r8   Útest_python_datetimez1TestConvertDateTimeLikeTypes.test_python_datetime¢  sÑ   € äDIÈ"ÄIÓNÁI¸q”h—n‘nÓ&¬¸Ô):Ó:ÀIˆ
ÐNÜ�\‰\ØœŸ	™	 *´FÔ;ð
ó ˆô —‘×$Ñ$ RÓ(ˆÜ˜% ™(Ÿ.™.¨Ó+¬R×->Ñ->Ô?Ð?Ð?à—‘Ó"ˆô —l‘lØœŸ	™	 *Ð4DÔEð$
ó ˆô 	×Ñ˜k¨6Õ2ùò Os   Ž(Dc                 óT  — t        j                  d«      }|j                  |j                  d«      |j	                  d«      g}t        j                  d«      t        j                  d«      t        t        d¬«      «      g}t        ||«      D ]™  \  }}|j                  t        dddddd	«      «      g}t        j                  d
|i«      }t        t        j                  «      t        d«      k\  r)t        j                  d
t        dddddd	|¬«      gi«      }nd }t        ||¬«       Œ› y )NÚpytzrq  r   r·  )Úminutesré   r  é   é-   r   ú3.0.0©Útzinfo)rV   )r’   ÚimportorskipÚutcr   ÚFixedOffsetÚzoneinfor	   r   rß  Úlocalizer   r/   r0   r   r@  r]   )	r…   r}  Útimezones_pytzÚtimezones_zoneinfor¦   Útz_zoneinfort   rU   Údf_expecteds	            r8   Ú%test_python_datetime_with_pytz_tzinfozBTestConvertDateTimeLikeTypes.test_python_datetime_with_pytz_tzinfoµ  s  € Ü×"Ñ" 6Ó*ˆàŸ(™( D§M¡M°,Ó$?À×AQÑAQÐRSÓATÐUˆä×Ñ˜eÓ$Ü×Ñ˜lÓ+Ü”Y qÔ)Ó*ð
Ðô  # >Ð3EÖF‰OˆB�Ø—k‘k¤(¨4°°A°r¸2¸rÓ"BÓCÐDˆFÜ—‘˜z¨6Ð2Ó3ˆBÜ”r—~‘~Ó&¬'°'Ó*:Ò:Ü Ÿl™lØ¤(¨4°°A°r¸2¸rÈ+Ô"VÐ!WÐXó‘ð #�Ü# B°Ö=ñ  Grk   N)Údeadlinec           	      ó¶   — t        |«      dv rt        j                  d«       t        dddddd|¬«      g}t	        j
                  d	|i«      }t        |d
¬«       y )N)zbuild/etc/localtimeÚFactoryz Localtime timezone not supportedré   r   r  r  r€  r‚  r   F©rD   )r,   r’   rs  r   r/   r0   r]   )r…   r¦   rt   rU   s       r8   Ú'test_python_datetime_with_pytz_timezonezDTestConvertDateTimeLikeTypes.test_python_datetime_with_pytz_timezoneÊ  sT   € ô ˆr‹7Ð8Ñ8Ü�K‰KÐ:Ô;Ü˜4  A r¨2¨r¸"Ô=Ð>ˆÜ�\‰\˜: vÐ.Ó/ˆÜ °Ö6rk   c           	      ó,  — ddl m} t        dddddd|j                  ¬«      g}t        j                  d	|i|¬
«      }t        |d¬«       d} |t        |¬«      «      }t        dddddd|¬«      g}t        j                  d	|i|¬
«      }t        t        j                  «      t        d«      k  rVt        j                  d«      }|j                  |dz  «      }t        dddddd|¬«      g}t        j                  d	|i|¬
«      }	nd }	t        ||	d¬«       y )Nr   )r   ré   r   r  r  r€  r‚  r   r»   Tr¢   )Úhoursr�  r}  é<   r�   )r   r   r…  r/   r0   r]   r   r   r@  r’   r„  r†  )
r…   r   rt   rU   r”  Útz_timezoner}  Útz_pytzÚ
values_expÚdf_exps
             r8   Ú)test_python_datetime_with_timezone_tzinfozFTestConvertDateTimeLikeTypes.test_python_datetime_with_timezone_tzinfoÓ  sü   € Ý%ä˜4  A r¨2¨r¸(¿,¹,ÔGÐHˆä�\‰\˜: vÐ.°fÔ=ˆÜ °4Õ8àˆÙœy¨uÔ5Ó6ˆÜ˜4  A r¨2¨r¸+ÔFÐGˆÜ�\‰\˜: vÐ.°fÔ=ˆÜ”2—>‘>Ó"¤W¨WÓ%5Ò5ä×&Ñ& vÓ.ˆDØ×&Ñ& u¨r¡zÓ2ˆGÜ" 4¨¨A¨r°2°rÀ'ÔJÐKˆJÜ—\‘\ :¨zÐ":À*ÔM‰FàˆFä ¨VÀDÖIrk   c                 ó  —  G d„ dt         «      } |dddddd«      g}t        j                  dt        j                  |t        ¬«      i«      }t
        j                  j                  |«      }t        |d   j                  d«      t
        j                  «      sJ ‚|j                  «       }t        j                  dt        j                  |d¬«      i«      }t        j                  |d   «      |d<   t        j                  ||«       y )	Nc                   ó   — e Zd ZdZy)úNTestConvertDateTimeLikeTypes.test_python_datetime_subclass.<locals>.MyDatetimerí  N)rÂ  rÃ  rÄ  Ú
nanosecondr?  rk   r8   Ú
MyDatetimer�  ì  s   „ à‰Jrk   rŸ  éÐ  r   r   r   r   r&   )r   r/   r0   rd   r@   rF   rH   rI   rÀ   rA  rx  rJ   Úto_datetimerS   rT   )r…   rŸ  ry  rU   rZ   r[   rz  s          r8   Útest_python_datetime_subclassz:TestConvertDateTimeLikeTypes.test_python_datetime_subclassê  s×   € ô	œô 	ñ !  q¨!¨Q°°1Ó5Ð6ˆ
Ü�\‰\˜:¤r§y¡y°Ä6Ô'JÐKÓLˆä—‘×$Ñ$ RÓ(ˆÜ˜% ™(Ÿ.™.¨Ó+¬R×->Ñ->Ô?Ð?Ð?à—‘Ó"ˆô
 —l‘lØœŸ™ :Ð5EÔFÐGóIˆô #%§.¡.°¸ZÑ1HÓ"Iˆ�JÑä
×Ñ˜k¨6Õ2rk   c           
      óö  —  G d„ dt         «      } |ddd«      g}t        j                  dt        j                  |t        ¬«      i«      }t
        j                  j                  |«      }t        |d   j                  d«      t
        j                  «      sJ ‚|j                  «       }t        j                  dt        j                  t        ddd«      gt        ¬«      i«      }t        j                  ||«       y )Nc                   ó   — e Zd Zy)úFTestConvertDateTimeLikeTypes.test_python_date_subclass.<locals>.MyDateN©rÂ  rÃ  rÄ  r?  rk   r8   ÚMyDater¥    s   „ Ørk   r§  r   r   r   r   r   )r   r/   r0   rd   r@   rF   rH   rI   rÀ   rA  ÚDate32ArrayrJ   r1   rc   rS   rT   )r…   r§  ry  rU   rZ   r[   rz  s          r8   Útest_python_date_subclassz6TestConvertDateTimeLikeTypes.test_python_date_subclass  s¿   € ô	”Tô 	ñ ˜T 1 aÓ(Ð)ˆ
Ü�\‰\˜6¤2§9¡9¨Z¼vÔ#FÐGÓHˆä—‘×$Ñ$ RÓ(ˆÜ˜% ™(Ÿ.™.¨Ó+¬R¯^©^Ô<Ð<Ð<à—‘Ó"ˆÜ—l‘lØ”R—X‘Xœt D¨!¨QÓ/Ð0¼Ô?Ð@ó
ˆô 	×Ñ˜k¨6Õ2rk   c                 ó>  — t        j                  t        ddd«      d g«      }t        j                  |g«      }|j	                  «       }t         j
                  j                  |t        j                  «       ¬«      }|j                  |j                  d«      «      sJ ‚y )Néá  r  r  r}  Údate32)
rF   rc   r   Úchunked_arrayrJ   ÚArrayrI   r¬  rK   rx  )r…   ri   rÜ   rf   Úarr2s        r8   Útest_datetime64_to_date32z6TestConvertDateTimeLikeTypes.test_datetime64_to_date32  su   € ä�h‰hœ˜T 2 rÓ*¨DÐ1Ó2ˆÜ×Ñ˜c˜UÓ#ˆØ�K‰K‹Mˆä�x‰x×#Ñ# A¬B¯I©I«KÐ#Ó8ˆà�{‰{˜3Ÿ8™8 HÓ-Ô.Ð.Ñ.rk   rm   )TFFTFFc                 óü  — |rt        j                  |«      }t        j                  g d¢«      }t        j
                  j                  |t	        j                  «       |¬«      }t        j                  t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      g«      }t	        j                  ||t	        j                  «       ¬«      }|j                  |«      sJ ‚y )	N)z2018-05-10T00:00:00z2018-05-11T00:00:00z2018-05-12T00:00:00z2018-05-10T10:24:01z2018-05-11T10:24:01z2018-05-12T10:24:01©r`   rm   ré   r™   r  rˆ  r  ©rm   r`   )
r1   rc   r/   r¡  rF   r®  rI   Údate64r   rK   )r…   rm   rf   ri   r    rV   s         r8   Útest_pandas_datetime_to_date64z;TestConvertDateTimeLikeTypes.test_pandas_datetime_to_date64  sÑ   € ñ
 Ü—8‘8˜D“>ˆDÜ�N‰Nò 
ó ˆô �h‰h×"Ñ" 1¬2¯9©9«;¸TÐ"ÓBˆä�x‰xÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"ÓÜ��q˜"Óð
ó ˆô —8‘8˜D t´"·)±)³+Ô>ˆà�z‰z˜(Ô#Ð#Ñ#rk   zcoerce_to_ns,expected_dtype)Fr%   )Tr'   c                 ó   — t        ddd«      d t        ddd«      t        ddd«      g}t        j                  g d¢d¬	«      }t        t        j
                  «      t        d
«      k  rd}t        j                  g d¢|¬	«      }t        j                  |«      t        j                  |g«      g}|D ]ž  }|j                  |¬«      }|j                  t        «      }	|j                  |	j                  k(  sJ ‚t        j                  ||	«       |j                  d|¬«      }|j                  |j                  k(  sJ ‚t        j                  ||«       Œ  y )Nr   r   é²  éø  r*   r‡  )ú
2000-01-01Nz
1970-01-01z
2040-02-26údatetime64[D]r   r7  r'   ©Úcoerce_temporal_nanosecondsF©Údate_as_objectr¼  )r   r1   rc   r   r/   r@  rF   r­  rJ   rG  r@   r   ry   rz   )
r…   Úcoerce_to_nsÚexpected_dtyper    Úexpected_daysrV   ÚobjectsÚobjr[   Úexpected_objs
             r8   Útest_array_types_date_as_objectz<TestConvertDateTimeLikeTypes.test_array_types_date_as_object;  s6  € ô �T˜1˜aÓ ØÜ�T˜1˜aÓ Ü�T˜1˜bÓ!ð#ˆô Ÿ™ò "0Ø7FôHˆô ”2—>‘>Ó"¤W¨WÓ%5Ò5à-ˆNä—8‘8ò +Ø2@ôBˆô —8‘8˜D“>Ü×#Ñ# T FÓ+ð-ˆó ˆCØ—]‘]¸|�]ÓLˆFØ(×/Ñ/´Ó7ˆLØ—<‘< <×#5Ñ#5Ò5Ð5Ð5Ü×"Ñ" 6¨<Ô8à—]‘]°%Ø?Kð #ó MˆFà—<‘< 8§>¡>Ò1Ð1Ð1Ü×"Ñ" 6¨8Õ4ñ rk   zcoerce_to_ns,expected_typec                 ó‚  — t        j                  dt        ddd«      d t        ddd«      t        ddd«      gi«      }t        j                  j                  |d¬	«      }|j                  d|¬
«      }|j                  «       }t        j                  |j                  |«      |d¬«       t        j                  ||d¬«       y )Nr   r   r   r·  r¸  r*   r‡  Fr¢   r½  Tr‘  )
r/   r0   r   rF   rH   rI   rJ   rS   rT   rG  )r…   r¿  Úexpected_typerU   rZ   Údf_datetimeÚ	df_objects          r8   Ú!test_table_convert_date_as_objectz>TestConvertDateTimeLikeTypes.test_table_convert_date_as_object[  sµ   € ô �\‰\Ø”T˜$  1Ó%ØÜ˜$  1Ó%Ü˜$  2Ó&ð(ð)ó *ˆô —‘×$Ñ$ R¸Ð$Ó>ˆà—o‘o°UØBNð &ó Pˆà—O‘OÓ%ˆ	ä
×Ñ˜bŸi™i¨Ó6¸Ø*.õ	0ä
×Ñ˜b )¸Ö>rk   Ú
arrow_typerf   rl  r4  r5  r·  c                 óš  — t        ddd«      t        ddd«      g}t        j                  |«      }t	        j
                  |«      j                  |«      }|j                  dd¬«      }d }t        |d«      r|j                  �d}t	        j                  d	|«      j                  «       }t        j                  ||j                  |«      «       y )
Nr   r   éÑ  TF©r¼  r¾  r¦   r·  r5  )r   r   r/   rd   rF   rc   rx  rJ   Úhasattrr¦   r¹  Úto_pandas_dtyperS   re   rG  )r…   rË  r    rV   ri   r[   Úexpected_tzrÇ  s           r8   Ú&test_array_coerce_temporal_nanosecondszCTestConvertDateTimeLikeTypes.test_array_coerce_temporal_nanosecondso  s­   € ô �T˜1˜aÓ ¤(¨4°°AÓ"6Ð7ˆÜ—9‘9˜T“?ˆÜ�h‰h�t‹n×!Ñ! *Ó-ˆØ—‘Ø(,¸Uð ó DˆàˆÜ�:˜tÔ$¨¯©Ð)BØˆKÜŸ™ T¨;Ó7×GÑGÓIˆÜ
×Ñ˜v x§¡°}Ó'EÕFrk   c                 ó   — t        ddd«      t        ddd«      g}t        j                  t        j                  d|«      g«      }t        j                  d|i«      }t        j                  t        j                  |«      g|¬«      }|j                  dd¬«      }d }t        |d	«      r|j                  �d
}t        j                  d|«      j                  «       }t        j                  ||j!                  |«      «       y )Nr   r   rÍ  r   r~  TFrÎ  r¦   r·  r5  )r   r   rF   r;   rƒ   r/   r0   rZ   rc   rJ   rÏ  r¦   r¹  rÐ  rS   rT   rG  )	r…   rË  r    r;   rz  rZ   Ú	result_dfrÑ  rÇ  s	            r8   Ú&test_table_coerce_temporal_nanosecondszCTestConvertDateTimeLikeTypes.test_table_coerce_temporal_nanoseconds�  sÓ   € ô �T˜1˜aÓ ¤(¨4°°AÓ"6Ð7ˆÜ—‘œBŸH™H V¨ZÓ8Ð9Ó:ˆÜ—l‘l F¨D >Ó2ˆÜ—‘œ"Ÿ(™( 4›.Ð)°&Ô9ˆØ—O‘OØ(,¸Uð $ó Dˆ	àˆÜ�:˜tÔ$¨¯©Ð)BØˆKÜŸ™ T¨;Ó7×GÑGÓIˆÜ
×Ñ˜i¨×);Ñ);¸MÓ)JÕKrk   c                 óì  — t        j                  dt        ddd«      d t        ddd«      t        ddd«      gi«      }t        j                  j                  |d¬	«      }t        j                  dt        j                  «       «      }t        j                  |g|j                  j                  ¬
«      }|j                  j                  |«      sJ ‚|j                  «       }t        j                  ||«       y )Nr   r   r   r·  r¸  r*   r‡  Fr¢   ©r&  )r/   r0   r   rF   rH   rI   rƒ   r¬  r;   r&  rK   rJ   rS   rT   )r…   rU   rZ   rƒ   rW   r[   s         r8   Útest_date_inferz,TestConvertDateTimeLikeTypes.test_date_infer”  sÆ   € Ü�\‰\Ø”T˜$  1Ó%ØÜ˜$  1Ó%Ü˜$  2Ó&ð(ð)ó *ˆô
 —‘×$Ñ$ R¸Ð$Ó>ˆÜ—‘˜¤§¡£Ó-ˆô Ÿ)™) U G°e·l±l×6KÑ6KÔLˆØ�|‰|×"Ñ" ?Ô3Ð3Ð3à—‘Ó"ˆÜ
×Ñ˜f bÕ)rk   c                 óZ  — t        j                  t        ddd«      t        ddd«      gd¬«      }ddg}t        j                  |t        j                  |«      ¬«      }t        j                  d t        ddd«      gd¬«      }t        j                  |d¬	«      }|j	                  |«      sJ ‚y )
Nr«  r˜   r�   rº  r   TFr  ró  )r1   rc   r   rF   rK   )r…   ri   rm   r[   rV   s        r8   Útest_date_maskz+TestConvertDateTimeLikeTypes.test_date_mask¤  s�   € Ü�h‰hœ˜T 1 aÓ(¬$¨t°Q¸Ó*:Ð;Ø,ô.ˆà�eˆ}ˆÜ—‘˜#¤B§H¡H¨T£NÔ3ˆÜ—8‘8˜T¤4¨¨a°Ó#3Ð4¸OÔLˆÜ—8‘8˜H°$Ô7ˆØ�‰˜vÔ&Ð&Ñ&rk   c           
      ód  — t        j                  t        ddd«      d t        ddd«      t        ddd«      gt        ¬«      }t        j                  g d¢d¬«      }|j	                  d«      d	z  }t        j                  g d
¢«      }t        j                  «       }t        j                  «       }t        j                  ||¬«      }t        j                  ||¬«      }t        j                  |||¬«      }	t        j                  |||¬«      }
|j                  |	«      sJ ‚|j                  |
«      sJ ‚ddg}t
        j                  j                  ||g|«      }t        j                  g d¢d¬«      }t        j                  j                  |d<   |j	                  d«      }t        j                  ||dœ|¬«      }|j                  d¬«      }t!        j"                  ||«       |j                  «       }|j	                  d«      }t        j                  ||dœ|¬«      }t!        j"                  ||«       y )Nr«  r˜   r�   r™   r   )ékC  rO  élC  émC  r   r   é \&)FTFFr}  r³  r¬  r´  )z
2017-04-03ú
2017-04-04rà  z
2017-04-05rº  r   r%   )r¬  r´  r›   F)r¾  r@   )r1   rc   r   r@   rG  rF   r¬  r´  rK   rH   rÞ   r/   ÚNaTr£  r0   rJ   rS   rT   )r…   ri   Úarr_i4Úarr_i8rm   Út32Út64Úa32Úa64Úa32_expectedÚa64_expectedÚcolnamesrZ   Ú	ex_valuesÚex_datetime64msÚexpected_pandasÚtable_pandasÚtable_pandas_objectsÚ
ex_objectsÚexpected_pandas_objectss                       r8   Útest_date_objects_typedz4TestConvertDateTimeLikeTypes.test_date_objects_typed­  så  € Ü�h‰hÜ��q˜!ÓØÜ��q˜!ÓÜ��q˜!Óð	ô &,ô	-ˆô —‘Ò3¸7ÔCˆØ—‘˜wÓ'¨(Ñ2ˆÜ�x‰xÒ3Ó4ˆä�i‰i‹kˆÜ�i‰i‹kˆä�h‰h�s Ô%ˆÜ�h‰h�s Ô%ˆä—x‘x ¨T¸Ô<ˆÜ—x‘x ¨T¸Ô<ˆà�z‰z˜,Ô'Ð'Ð'Ø�z‰z˜,Ô'Ð'Ð'ð ˜hÐ'ˆÜ—‘×$Ñ$ c¨3 Z°Ó:ˆä—X‘Xò -à$3ô5ˆ	ô —v‘v—|‘|ˆ	�!‰ð $×*Ñ*Ð+;Ó<ˆÜŸ,™,°/Ø2Añ(Cà/7ô9ˆð —‘°e�Ó<ˆÜ
×Ñ˜l¨OÔ<à$Ÿ™Ó0ÐØ×%Ñ% hÓ/ˆ
Ü"$§,¡,¸*Ø:Dñ0Fà7?ô#AÐô 	×ÑÐ2Ø5õ	7rk   c                 óŠ  — t        t        dd «      }t        j                  t	        ddd«      t        j
                  |gt        ¬«      }t        j                  t	        ddd«      d d gt        ¬«      }t        j                  |d¬«      }t        j                  |d¬«      }|j                  |«      sJ ‚|j                  dk(  sJ ‚t        j                  t        j
                  gd¬«      j                  t        j                  «       k(  sJ ‚t        j                  |gd¬«      j                  t        j                  «       k(  sJ ‚y )NÚNAr   r   r   Tró  r*   )Úgetattrr/   r1   rc   r   rá  r@   rF   rK   rq   r`   Únull)r…   Úpd_NArt   Úvalues_with_noner[   rV   s         r8   Útest_pandas_null_valuesz4TestConvertDateTimeLikeTypes.test_pandas_null_valuesÞ  só   € äœ˜D $Ó'ˆÜ—‘œ8 D¨!¨QÓ/´·±¸Ð?ÄvÔNˆÜŸ8™8¤X¨d°A°qÓ%9¸4ÀÐ$FÜ*0ô2Ðä—‘˜&¨dÔ3ˆÜ—8‘8Ð,¸$Ô?ˆØ�}‰}˜XÔ&Ð&Ð&Ø× Ñ  AÒ%Ð%Ð%ô �x‰xœŸ™˜¨dÔ3×8Ñ8¼B¿G¹G»IÒEÐEÐEÜ�x‰x˜˜¨TÔ2×7Ñ7¼2¿7¹7»9ÒDÐDÑDrk   c                 ó„  — t        j                  «       }t        j                  «       }t        j                  g d¢d¬«      }|j                  d«      dz  }t        j                  ||¬«      }t        j                  ||¬«      }t        ddd	«      }|d
   j                  «       |k(  sJ ‚|d
   j                  «       |k(  sJ ‚y )N)rÜ  rÝ  rÞ  r   r   r   rß  r}  r«  r˜   r�   r   )rF   r¬  r´  r1   rc   rG  r   rô  )r…   Út1Út2ri   r¯  Úa1rL  rV   s           r8   Útest_dates_from_integersz5TestConvertDateTimeLikeTypes.test_dates_from_integersí  sš   € Ü�Y‰Y‹[ˆÜ�Y‰Y‹[ˆä�h‰hÒ,°GÔ<ˆØ�z‰z˜'Ó" XÑ-ˆä�X‰X�c Ô#ˆÜ�X‰X�d Ô$ˆä˜˜a Ó#ˆØ�!‰u�{‰{‹} Ò(Ð(Ð(Ø�!‰u�{‰{‹} Ò(Ð(Ñ(rk   c                 ó:  — t        dddd«      t        dddd«      g}t        j                  d«      }t        j                  |d gz   t
        ¬	«      }t        j                  |«      }|j                  |k(  sJ ‚|d
   j                  «       |d
   k(  sJ ‚|d   j                  «       |d   k(  sJ ‚|d   j                  «       �J ‚t        j                  d|i«      }t        j                  j                  |«      }|d
   j                  |«      sJ ‚t        j                  |D �cg c]  }t        |«      ‘Œ c}d¬	«      }t        j                  |t        j                  d«      ¬«      }	|	d
   j                  «       |d
   k(  sJ ‚t        j                  |dz  t        j                  d«      ¬«      }
|
d
   j                  «       |d
   k(  sJ ‚t        j                  |dz  j                  d«      t        j                  d«      ¬«      }|d
   j                  «       |d
   j!                  d¬«      k(  sJ ‚t        j                  |dz  j                  d«      t        j                  d«      ¬«      }|d
   j                  «       |d
   j!                  d
¬«      k(  sJ ‚y c c}w )Nr   r*   r�   éL  r˜   r™   r¯   r4  r   r   Útimesr   r}  éè  r5  rù  rl  ©Úmicrosecondé@B rf   )r   rF   Útime64r1   rc   r@   r`   rô  r/   r0   rG   rI   rK   Ú_pytime_to_microsrG  Útime32rM   )r…   Úpytimesrû  ÚaobjsÚparrrU   rW  Úvri   rý  rL  Úa3Úa4s                r8   Útest_pytime_from_pandasz4TestConvertDateTimeLikeTypes.test_pytime_from_pandasû  s:  € Ü˜˜1˜a Ó&Ü˜˜1˜a Ó&ð(ˆô �Y‰Y�t‹_ˆä—‘˜ D 6Ñ)´Ô8ˆÜ�x‰x˜‹ˆØ�y‰y˜BŠÐˆØ�A‰w�}‰}‹ '¨!¡*Ò,Ð,Ð,Ø�A‰w�}‰}‹ '¨!¡*Ò,Ð,Ð,Ø�A‰w�}‰}‹Ð&Ð&Ð&ô �\‰\˜7 EÐ*Ó+ˆÜ—‘×*Ñ*¨2Ó.ˆØ�Q‰x�‰˜tÔ$Ð$Ð$ô �h‰h±gÓ>±g°Ô)¨!Õ,°gÑ>Ø$ô&ˆô �X‰X�c¤§	¡	¨$£Ô0ˆØ�!‰u�{‰{‹} ¨¡
Ò*Ð*Ð*ä�X‰X�c˜D‘j¤r§y¡y°£Ô7ˆØ�!‰u�{‰{‹} ¨¡
Ò*Ð*Ð*ä�X‰X�s˜T‘z×)Ñ)¨$Ó/ÜŸ9™9 T›?ô,ˆà�!‰u�{‰{‹} ¨¡
× 2Ñ 2¸tÐ 2Ó DÒDÐDÐDä�X‰X�s˜W‘}×,Ñ,¨TÓ2ÜŸ9™9 S›>ô+ˆà�!‰u�{‰{‹} ¨¡
× 2Ñ 2¸qÐ 2Ó AÒAÐAÑAùò ?s   Ä!Jc                 ó’  — t        dddd«      t        dddd«      t        ddd«      g}t        j                  |d d d gz   «      }t        j                  |d d D �cg c]  }|j                  d	¬
«      ‘Œ c}d gz   «      }t        j                  |d d D �cg c]  }|j                  d¬
«      ‘Œ c}d gz   «      }t        j                  |D �cg c]  }t	        |«      ‘Œ c}d¬«      }t        j                  |D �cg c]  }t	        |«      ‘Œ c}d¬«      }t        j                  g d¢t
        ¬«      }t        j                  ||t        j                  d«      ¬«      }	t        j                  |d	z  |t        j                  d«      ¬«      }
t        j                  |d	z  j                  d«      |t        j                  d«      ¬«      }t        j                  |dz  j                  d«      |t        j                  d«      ¬«      }g d¢}t        j                  j                  |	|
||g|«      }|	|f|
|f||f||ffD ]4  \  }}|j                  «       }|j                  |k(  j                  «       rŒ4J ‚ |j                  «       }t        j                   ||||dœ|¬«      }t#        j$                  ||«       y c c}w c c}w c c}w c c}w )Nr   r*   r�   r   r˜   r™   r¯   r   r  r  r   r   ©FFTr4  r³  r5  rù  rl  r  rf   )ú
time64[us]z
time64[ns]ú
time32[ms]z	time32[s]r›   )r   r1   rc   rM   r  r"   rF   r  rG  r  rG   rÞ   rJ   rt   Úallr/   r0   rS   rT   )r…   r	  rV   r7   Úexpected_msÚ
expected_sr  ri   rà  rý  rL  r  r  r£   rW  Úexpected_valuesÚresult_pandasrU   rz  s                      r8   Útest_arrow_time_to_pandasz6TestConvertDateTimeLikeTypes.test_arrow_time_to_pandas   s§  € Ü˜˜1˜a Ó&Ü˜˜1˜a Ó&Ü˜˜1˜a“=ð"ˆô —8‘8˜G B Q˜K¨4¨&Ñ0Ó1ˆÜ—h‘hØ)0°°!©ó 6Ù)4 Að !"§	¡	°d 	Õ ;Ø)4ñ 6à $˜vñ &ó 'ˆô —X‘XØ(/°°©ó5Ù(3 1ð  !Ÿy™y°Q˜yÕ7Ø(3ñ5à#˜fñ%ó &ˆ
ô �h‰h±gÓ>±g°Ô)¨!Õ,°gÑ>Ø$ô&ˆä�h‰h±gÓ>±g°Ô)¨!Õ,°gÑ>Ø$ô&ˆô —H‘HÒ1¼Ô>ˆ	ä�X‰X�c 	´·	±	¸$³Ô@ˆÜ�X‰X�c˜D‘j yÜŸ9™9 T›?ô,ˆô �X‰X�s˜T‘z×)Ñ)¨$Ó/°iÜŸ9™9 T›?ô,ˆä�X‰X�s˜W‘}×,Ñ,¨TÓ2¸ÜŸ9™9 S›>ô+ˆò HˆÜ—‘×*Ñ*¨B°°B¸Ð+;¸UÓCˆà&(¨( ^Ø&(¨( ^Ø&(¨+Ð%6Ø&(¨*Ð%5ó%7Ñ ˆC�ð  ŸM™M›OˆMØ!×(Ñ(¨OÑ;×@Ñ@ÕBÐBÐBð%7ð �_‰_ÓˆÜ—l‘l°(Ø2:Ø2=Ø1;ñ$=ð ,1ô	2ˆô 	×Ñ˜b +Õ.ùòQ 6ùò5ùò ?ùâ>s   ÁJ5ÂJ:ÃJ?Ã:Kc                 ó$  — t        j                  g d¢d¬«      }t        |«       t        j                  g d¢d¬«      }t        |«       t        j                  g d¢d¬«      }t        |«       t        j                  g d¢d	¬«      }t        |«       y )
Nrr  r'   r   )z2007-07-13T01:23:34.123456Nz2006-01-13T12:34:56.432539z2010-08-13T05:46:57.437699r&   )rn  Nro  rp  r%   )z2007-07-13T01:23:34Nz2006-01-13T12:34:56z2010-08-13T05:46:57r$   ©r1   rc   r|   )r…   Údatetime64_nsÚdatetime64_usÚdatetime64_msÚdatetime64_ss        r8   Útest_numpy_datetime64_columnsz:TestConvertDateTimeLikeTypes.test_numpy_datetime64_columnsP  sŠ   € ÜŸ™ò "-ð
 #ô$ˆô 	+¨=Ô9äŸ™ò "*ð
 #ô$ˆô 	+¨=Ô9äŸ™ò "'ð
 #ô$ˆô 	+¨=Ô9ä—x‘xò !#ð
 "ô#ˆô 	+¨<Õ8rk   c                 óê  — t        t        j                  «      t        d«      k\  rt        j                  d«       t        j                  g d¢t        j                  d«      «      }t        j                  t        j                  g d¢d¬«      «      }|j                  «       }t        j                  ||«       t        j                  |g«      }|j                  «       }t        j                  ||«       y )Nr7  z0pandas >= 2.0 supports non-nanosecond datetime64r€   rl  )r3  )r   r/   r@  r’   rs  rF   rc   r¹  rd   r¡  rJ   rS   re   r­  )r…   ri   rV   rf   s       r8   Ú&test_timestamp_to_pandas_coerces_to_nszCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_coerces_to_nsq  sŸ   € ä”2—>‘>Ó"¤g¨gÓ&6Ò6Ü�K‰KÐJÔKä�h‰h’y¤"§,¡,¨tÓ"4Ó5ˆÜ—9‘9œRŸ^™^ªI¸DÔAÓBˆØ�M‰M‹OˆÜ
×Ñ˜q (Ô+Ü×Ñ ˜uÓ%ˆØ�M‰M‹OˆÜ
×Ñ˜q (Õ+rk   c           	      ó  — dD �]U  }dD �]L  }t        j                  t        ddd«      gt        j                  ||¬«      «      }t        j                  d|i«      }d}t        j                  t        |¬«      5  |j                  d¬	«       d d d «       t        j                  t        |¬«      5  |j                  d¬	«       d d d «       t        j                  t        |¬«      5  |j                  d«      j                  d¬	«       d d d «       |j                  d
d¬«       |j                  d
d¬«       |j                  d«      j                  d
d¬«       �ŒO �ŒX y # 1 sw Y   ŒÓxY w# 1 sw Y   Œ©xY w# 1 sw Y   ŒpxY w)N©rf   rl  r4  )Nr9  r   r¸  r¡   z'would result in out of bounds timestampr.  Tr»  F)rQ  r¼  )
rF   rc   r   r¹  rZ   r’   rK  rL  rJ   Úcolumn)r…   r3  r¦   ri   rZ   Úmsgs         r8   Ú&test_timestamp_to_pandas_out_of_boundszCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_out_of_bounds~  s(  € ô &ˆDÜ0�Ü—h‘h¤¨¨A¨qÓ 1Ð2´B·L±LÀÈ"Ô4MÓN�ÜŸ™ # s Ó,�à?�Ü—]‘]¤:°SÖ9Ø—M‘M¸d�MÔC÷ :ô —]‘]¤:°SÖ9Ø—O‘OÀ�OÔE÷ :ô —]‘]¤:°SÖ9à—L‘L Ó%×/Ñ/ÈDÐ/ÔQ÷ :ð —‘ 5Àd�ÔKØ—‘ UÈ�ÔMØ—‘˜SÓ!×+Ñ+Ø¸Dð ,ö Bò' 1ñ &÷ :Ð9ú÷ :Ð9ú÷ :Ð9ús$   Á8EÂ.E)Ã$"E5ÅE&Å)E2Å5E>c           	      ó&  — t        j                  dt        j                  g t        j                  d«      ¬«      i«      }|j	                  «       }t        j                  dt        j                  g d¬«      i«      }t        j                  ||«       y )Nr¡   r4  r}  r&   r   )
rF   rZ   r­  r¹  rJ   r/   r0   rd   rS   rT   )r…   rZ   r[   rV   s       r8   Ú&test_timestamp_to_pandas_empty_chunkedzCTestConvertDateTimeLikeTypes.test_timestamp_to_pandas_empty_chunked™  sf   € ä—‘˜#œr×/Ñ/°¼¿¹ÀdÓ9KÔLÐMÓNˆØ—‘Ó"ˆÜ—<‘< ¤b§i¡i°Ð:JÔ&KÐ LÓMˆÜ
×Ñ˜f hÕ/rk   r   c                 óP   — t        j                  g d¢d¬«      }t        ||¬«       y )N)ú
2007-07-13Nz
2006-01-15z
2010-08-19rº  r   r}  r  )r…   r   Údatetime64_ds      r8   Útest_numpy_datetime64_day_unitz;TestConvertDateTimeLikeTypes.test_numpy_datetime64_day_unit   s&   € ä—x‘xò !ð
 "ô#ˆô 	+¨<¸eÖDrk   c           	      óŒ  — t        j                  g d¢«      }t        j                  t	        ddd«      t	        ddd«      t	        ddd«      g«      }t
        j                  j                  ||¬«      }t        j                  d t	        ddd«      d g«      }t
        j                  j                  |«      j                  |«      sJ ‚y )N©TFTiÆ  r   iÇ  iÈ  r  )	r1   rc   r/   rd   r   rF   r®  rI   rK   )r…   Úmr    r[   rV   s        r8   Ú%test_array_from_pandas_date_with_maskzBTestConvertDateTimeLikeTypes.test_array_from_pandas_date_with_maskª  s¤   € Ü�H‰HÒ(Ó)ˆÜ�y‰yÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!Óð
ó ˆô —‘×%Ñ% d°Ð%Ó3ˆä—9‘9˜d¤D¨¨q°!Ó$4°dÐ;Ó<ˆÜ�x‰x×#Ñ# HÓ-×4Ñ4°VÔ<Ð<Ñ<rk   z1.16.0z1.16.1z#Until numpy/numpy#12745 is resolved)Úreasonc                 ó’   — t        j                  dt        j                  d«      t         j                  gi«      }t	        |d¬«       y )Nr¡   z2012-11-11 00:00:00+01:00Fr‘  )r/   r0   Ú	Timestamprá  r]   r¤   s     r8   Útest_fixed_offset_timezonez7TestConvertDateTimeLikeTypes.test_fixed_offset_timezone·  s?   € ô
 �\‰\ØÜ—‘Ð8Ó9Ü—‘ðð
ó ˆô 	  °Ö6rk   c           	      óN  — t        t        j                  «      t        d«      k  rd}t        j                  dt	        j
                  g d¢d|› d�¬«      i«      }t        j                  dt        j                  |«      «      }t        j                  |g«      }t        ||¬«       y )	Nr7  r5  Útimedelta64)r   l     qaì    @âB1útimedelta64[r>  r   rÒ  ©r   r/   r@  r0   r1   rc   rF   rƒ   Údurationr;   r]   ©r…   r3  rU   rƒ   r;   s        r8   Útest_timedeltas_no_nullsz5TestConvertDateTimeLikeTypes.test_timedeltas_no_nullsÈ  s‡   € ä”2—>‘>Ó"¤W¨WÓ%5Ò5ØˆDÜ�\‰\Øœ2Ÿ8™8Ò$EØ,8¸¸¸aÐ*@ôBð
ó ˆô —‘˜¬¯©°DÓ(9Ó:ˆÜ—‘˜E˜7Ó#ˆÜØØ"ö	
rk   c           	      óN  — t        t        j                  «      t        d«      k  rd}t        j                  dt	        j
                  g d¢d|› d�¬«      i«      }t        j                  dt        j                  |«      «      }t        j                  |g«      }t        ||¬«       y )	Nr7  r5  r7  )r   Nr8  r9  r>  r   rÒ  r:  r<  s        r8   Útest_timedeltas_nullsz2TestConvertDateTimeLikeTypes.test_timedeltas_nulls×  s‡   € ä”2—>‘>Ó"¤W¨WÓ%5Ò5ØˆDÜ�\‰\Øœ2Ÿ8™8Ò$<Ø,8¸¸¸aÐ*@ôBð
ó ˆô —‘˜¬¯©°DÓ(9Ó:ˆÜ—‘˜E˜7Ó#ˆÜØØ"ö	
rk   c           
      óÄ   — ddl m} t        j                  dd  |dddd¬«      gi«      }t	        j
                  dt	        j                  «       fg«      }t        ||¬«       y )	Nr   )Ú
DateOffsetÚdate_offseti  r�   iX  )rv  ÚmonthsÚmicrosecondsÚnanosecondsrÒ  )Úpandas.tseries.offsetsrA  r/   r0   rF   r;   Úmonth_day_nano_intervalr]   )r…   rA  rU   r;   s       r8   Útest_month_day_nano_intervalz9TestConvertDateTimeLikeTypes.test_month_day_nano_intervalæ  sb   € Ý5Ü�\‰\Ø˜DÙ&¨D¸ÈAØ36ô8ð9ð
ó ˆô
 —‘˜]¬B×,FÑ,FÓ,HÐIÐJÓKˆÜØØ"ö	$rk   )6rÂ  rÃ  rÄ  rÅ  rh  rk  r’   rÆ  rÇ  rt  r{  r�  ÚhÚgivenÚstÚnoneÚpastÚ	timezonesÚsettingsr’  rš  r¢  r©  r°  rµ  rÅ  rÊ  rF   r¬  r´  r¹  rÒ  rÕ  rØ  rÚ  rò  rù  rþ  r  r  r   r"  r'  r)  r-  r1  Úskipifr1   r   r@  r5  r=  r?  rH  r?  rk   r8   r`  r`  b  sÄ  „ ñò
ò
ð ‡[�[×Ñ˜VÒ%<Ó=ñ$ó >ð$ò83ò&>ð* €Q‡W�WˆWˆR�W‰W‹Y˜Ÿ™Ñ'Ó(Ø€Q‡Z�Z˜Ôñ7ó ó )ð7òJò.3ò23ò"/ð ‡[�[×Ñ˜VØÚ0ð&ó ñ$ó	ð$ð2 ‡[�[×ÑÐ:Ø7Ø6ð8ó9ñ5ó9ð5ð: ‡[�[×ÑÐ9Ø7Ø6ð8ó9ñ?ó9ð?ð" ‡[�[×Ñ˜\Ø'˜bŸi™i›k¨9¨2¯9©9«;¸¸¿¹ÀSÓ8IØ*˜bŸl™l¨4Ó0°,°"·,±,¸tÓ2DØ*˜bŸl™l¨4Ó0°,°"·,±,¸sÀEÓ2JØ*˜bŸl™l¨4°Ó7¸¸¿¹ÀdÈEÓ9RØ*˜bŸl™l¨4°Ó7ð	9ó:ñ
Gó:ð
Gð ‡[�[×Ñ˜\Ø'˜bŸi™i›k¨9¨2¯9©9«;¸¸¿¹ÀSÓ8IØ*˜bŸl™l¨4Ó0°,°"·,±,¸tÓ2DØ*˜bŸl™l¨4Ó0°,°"·,±,¸sÀEÓ2JØ*˜bŸl™l¨4°Ó7¸¸¿¹ÀdÈEÓ9RØ*˜bŸl™l¨4°Ó7ð	9ó:ñLó:ðLò*ò 'ò/7òbEò)ò#BòJ./ò`9òB,òBò60ð ‡[�[×Ñ˜W y r§y¡y£{°I°B·I±I³KÐ&@ÓAñEó BðEò=ð ‡[�[×ÑØ
�$ˆò 	0™7 8Ó,±Ø�N‰Nó1ö 0Ù% hÓ/ô0à4ð ó 6ñ7ó	6ð7ð ‡[�[×Ñ˜VÒ%<Ó=ñ
ó >ð
ð ‡[�[×Ñ˜VÒ%<Ó=ñ
ó >ð
ó
$rk   r`  c                   ól  — e Zd Zd„ Zd„ Zej                  j                  d„ «       Zej                  j                  ej                  j                  dddg«      d„ «       «       Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  d ej0                  «        ej2                  «        ej4                  «       g«      d„ «       Zej                  j                  d ej0                  «        ej2                  «        ej4                  «       g«      d„ «       Zd„ Zd„ Zd„ Zy)ÚTestConvertStringLikeTypesc                 óŠ  — d}dd ddt         j                  g}t        j                  d||z  i«      }t	        j
                  dt        j                  «       rt	        j                  «       nt	        j                  «       «      }t	        j                  |g«      }g d¢}t        j                  d||z  i«      }t        |||¬«       y )Nr  r¶   rf  õ   maÃ±anaÚstrings)r¶   Nrf  rT  Nr:  )r1   rN   r/   r0   rF   rƒ   r   r  Úlarge_stringr«  r;   r]   )r…   Úrepeatsrt   rU   rƒ   r;   rë  rV   s           r8   Útest_pandas_unicodez.TestConvertStringLikeTypes.test_pandas_unicodeù  sœ   € ØˆØ˜˜u i´·±Ð8ˆÜ�\‰\˜9 f¨wÑ&6Ð7Ó8ˆÜ—‘ØÜ!,×!>Ñ!>Ô!@ŒB�O‰OÔÄbÇiÁiÃkó
ˆô —‘˜E˜7Ó#ˆÚ9ˆ	Ü—<‘< ¨I¸Ñ,?Ð @ÓAˆä ¨XÀvÖNrk   c                 óH  — ddd t        d«      dt        j                  g}t        j                  d|i«      }t
        j                  j                  |«      }|d   j                  t        j                  «       k(  sJ ‚g d¢}t        j                  d|i«      }t        ||«       y )NÚquxó   fooó   barzrU  r   )ó   quxr[  Nr\  r]  N)Ú	bytearrayr1   rN   r/   r0   rF   rH   rI   r`   Úbinaryr]   )r…   rt   rU   rZ   Úvalues2rV   s         r8   Útest_bytes_to_binaryz/TestConvertStringLikeTypes.test_bytes_to_binary  s‚   € Ø˜ ¤y°Ó'9¸5Ä"Ç&Á&ÐIˆÜ�\‰\˜9 fÐ-Ó.ˆä—‘×$Ñ$ RÓ(ˆØ�Q‰x�}‰}¤§	¡	£Ò+Ð+Ð+â?ˆÜ—<‘< ¨GÐ 4Ó5ˆÜ  HÕ-rk   c                 óX  — ddz  }ddz  }t        j                  d|gdz  |gz   dgdz  z   i«      }t        j                  |d   «      }t	        |t        j
                  «      sJ ‚|j                  dk(  sJ ‚d }t        j                  j                  |«      }|d   j                  dk(  sJ ‚y )	Nó   xé áõéþkÊrU  r  r7   r*   r   )	r/   r0   rF   rc   rÀ   ÚChunkedArrayÚ
num_chunksrH   rI   )r…   Úv1Úv2rU   ri   rZ   s         r8   Útest_bytes_exceed_2gbz0TestConvertStringLikeTypes.test_bytes_exceed_2gb  s³   € à�IÑˆØ�IÑˆô �\‰\Ø˜�t˜b‘y B 4Ñ'¨3¨%°"©*Ñ4ð
ó ˆô �h‰h�r˜)‘}Ó%ˆÜ˜#œrŸ™Ô/Ð/Ð/Ø�~‰~ Ò"Ð"Ð"Øˆä—‘×$Ñ$ RÓ(ˆØ�Q‰x×"Ñ" aÒ'Ð'Ñ'rk   Úcharr7   rc  c                 ó’  — |dz  }|dz  }t        j                  d|ggdz  |ggz   dggz   i«      }t        j                  |d   d¬«      }|j	                  d¬«       t        |t        j                  «      sJ ‚|j                  d	k(  sJ ‚t        |j                  d
«      «      dk(  sJ ‚t        |j                  d«      «      dk(  sJ ‚y )Nrd  re  rU  r  rc  Tró  ©Úfullr*   r   é   r   )
r/   r0   rF   rc   ÚvalidaterÀ   rf  rg  r¿   rA  )r…   rk  rh  ri  rU   ri   s         r8   Ú+test_auto_chunking_pandas_series_of_stringszFTestConvertStringLikeTypes.test_auto_chunking_pandas_series_of_strings#  sÊ   € ð �IÑˆØ�IÑˆä�\‰\Ø˜˜�v ‘{ r d VÑ+°¨v¨hÑ6ð
ó ˆô �h‰h�r˜)‘}°$Ô7ˆØ�‰˜$ˆÔÜ˜#œrŸ™Ô/Ð/Ð/Ø�~‰~ Ò"Ð"Ð"Ü�3—9‘9˜Q“<Ó  BÒ&Ð&Ð&Ü�3—9‘9˜Q“<Ó  AÒ%Ð%Ñ%rk   c                 ó  — dd t        d«      d d dg}t        j                  d|i«      }t        j                  t        j
                  dt        j                  d«      «      g«      }t        j                  j                  ||¬«      }|j                  d   j                  |d   j                  k(  sJ ‚|j                  d   j                  |d   j                  k(  sJ ‚|j                  «       }t        j                  ||«       y )Nr[  ó   baró   heyrU  r�   r~  r   )r^  r/   r0   rF   r;   rƒ   r_  rH   rI   r`   rb   rJ   rS   rT   )r…   rt   rU   r;   rZ   r[   s         r8   Útest_fixed_size_bytesz0TestConvertStringLikeTypes.test_fixed_size_bytes4  sÍ   € Ø˜$¤	¨&Ó 1°4¸¸vÐFˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘œBŸH™H Y´·	±	¸!³Ó=Ð>Ó?ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆØ�|‰|˜A‰×#Ñ# v¨a¡y§~¡~Ò5Ð5Ð5Ø�|‰|˜A‰×#Ñ# v¨a¡y§~¡~Ò5Ð5Ð5Ø—‘Ó"ˆÜ
×Ñ˜f bÕ)rk   c                 óf  — g d¢}t        j                  d|i«      }t        j                  t        j                  dt        j
                  d«      «      g«      }t        j                  t        j                  «      5  t        j                  j                  ||¬«       d d d «       y # 1 sw Y   y xY w)N)r[  Ns   baNNrt  rU  r�   r~  )r/   r0   rF   r;   rƒ   r_  r’   rK  ÚArrowInvalidrH   rI   )r…   rt   rU   r;   s       r8   Ú5test_fixed_size_bytes_does_not_accept_varying_lengthszPTestConvertStringLikeTypes.test_fixed_size_bytes_does_not_accept_varying_lengths>  sq   € Ú:ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘œBŸH™H Y´·	±	¸!³Ó=Ð>Ó?ˆÜ�]‰]œ2Ÿ?™?Õ+Ü�H‰H× Ñ  ¨FÐ Ô3÷ ,×+Ñ+ús   Á<"B'Â'B0c                 óp   — t        j                  g d¢«      }t        |t        j                  «       ¬«       y )N©ó   123rk   r\  N©rg   )r/   rd   rj   rF   r_  ©r…   rf   s     r8   Útest_variable_size_bytesz3TestConvertStringLikeTypes.test_variable_size_bytesE  s!   € Ü�I‰IÒ/Ó0ˆÜ ¬¯©«Ö5rk   c                 óè   — t        j                  t        d«      t        d«      t        d«      d g«      }t        |t	        j
                  «       ¬«       t        |t	        j
                  «       ¬«       y )Nr{  rk   r\  r|  ©rh   )r/   rd   r^  rj   rF   r_  r}  s     r8   Útest_binary_from_bytearrayz5TestConvertStringLikeTypes.test_binary_from_bytearrayI  sM   € Ü�I‰I”y Ó(¬)°C«.¼)ÀD»/Øðó ˆô 	  ¬¯©«Õ5ä ´B·I±I³KÖ@rk   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y ©Nrz  r|  r¡   r~  )r/   rd   rj   rF   Úlarge_binaryr0   r]   r;   ©r…   rf   rU   s      r8   Útest_large_binaryz,TestConvertStringLikeTypes.test_large_binaryQ  sY   € Ü�I‰IÒ/Ó0ˆÜ ¬¯©Ó):Õ;Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(9Ð":Ð!;Ó<ö	>rk   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y ©N)Ú123r+   r¡   Nr|  r¡   r~  )r/   rd   rj   rF   rV  r0   r]   r;   r…  s      r8   Útest_large_stringz,TestConvertStringLikeTypes.test_large_stringX  sY   € Ü�I‰IÒ,Ó-ˆÜ ¬¯©Ó):Õ;Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(9Ð":Ð!;Ó<ö	>rk   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y rƒ  )r/   rd   rj   rF   Úbinary_viewr0   r]   r;   r…  s      r8   Útest_binary_viewz+TestConvertStringLikeTypes.test_binary_view_  sY   € Ü�I‰IÒ/Ó0ˆÜ ¬¯©Ó)9Õ:Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(8Ð"9Ð!:Ó;ö	=rk   c                 ó  — t        j                  g d¢«      }t        |t        j                  «       ¬«       t        j
                  d|i«      }t        |t        j                  dt        j                  «       fg«      ¬«       y rˆ  )r/   rd   rj   rF   Ústring_viewr0   r]   r;   r…  s      r8   Útest_string_viewz+TestConvertStringLikeTypes.test_string_viewf  sY   € Ü�I‰IÒ,Ó-ˆÜ ¬¯©Ó)9Õ:Ü�\‰\˜3 ˜(Ó#ˆÜØ”r—y‘y 3¬¯©Ó(8Ð"9Ð!:Ó;ö	=rk   c                 ó"  — g d¢}t        j                  d|i«      }t        j                  dt        j                  «       «      }t        j
                  |g«      }t        j                  j                  ||¬«      }|j                  d¬«      }t        j                  d|i«      }t        j                  ||d¬«       |j                  d¬«      }t        j                  dt        j                  |«      i«      }	t        j                  ||	d¬«       y )N©r+   r+   r+   r+   r+   rU  r~  F©Ústrings_to_categoricalTr‘  )r/   r0   rF   rƒ   r«  r;   rH   rI   rJ   rS   rT   ÚCategorical)
r…   rt   rU   rƒ   r;   rZ   Úresult1Ú	expected1rÅ   Ú	expected2s
             r8   Útest_table_empty_strz/TestConvertStringLikeTypes.test_table_empty_strm  sÌ   € Ú%ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜¤B§I¡I£KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆà—/‘/¸�/Ó?ˆÜ—L‘L )¨VÐ!4Ó5ˆ	Ü
×Ñ˜g y¸dÕCà—/‘/¸�/Ó>ˆÜ—L‘L )¬R¯^©^¸FÓ-CÐ!DÓEˆ	Ü
×Ñ˜g y¸dÖCrk   c                 óÜ  — g d¢}t        j                  d|i«      }t        j                  dt        j                  «       «      }t        j
                  |g«      }t        j                  j                  ||¬«      }t        j                  d|i«      }t        j                  dt        j                  |«      i«      }|j                  dg¬«      }t        j                  ||d¬«       |j                  g ¬«      }	t        j                  |	|d¬«       |j                  d¬«      }
t        j                  |
|d¬«       |j                  t        «       ¬«      }t        j                  ||d¬«       y )Nr’  rU  r~  ©Ú
categoriesTr‘  )rU  )r/   r0   rF   rƒ   r«  r;   rH   rI   r•  rJ   rS   rT   Útuple)r…   rt   rU   rƒ   r;   rZ   Úexpected_strÚexpected_catr–  rÅ   Úresult3Úresult4s               r8   Útest_selective_categoricalsz6TestConvertStringLikeTypes.test_selective_categoricals|  s  € Ú%ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜¤B§I¡I£KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆÜ—|‘| Y°Ð$7Ó8ˆÜ—|‘| Y´·±¸vÓ0FÐ$GÓHˆà—/‘/¨i¨[�/Ó9ˆÜ
×Ñ˜g |ÀÕFØ—/‘/¨R�/Ó0ˆÜ
×Ñ˜g |ÀÕFØ—/‘/¨\�/Ó:ˆÜ
×Ñ˜g |ÀÕFØ—/‘/¬U«W�/Ó5ˆÜ
×Ñ˜g |ÀÖFrk   c                 óÂ   — t        j                  g t        j                  «       ¬«      }t         j                  j	                  |gdg¬«      }|j                  dg¬«       y )Nr}  r\   ©r­  r£   r›  )rF   rc   r   rH   rÞ   rJ   )r…   rc   rZ   s      r8   Ú&test_to_pandas_categorical_zero_lengthzATestConvertStringLikeTypes.test_to_pandas_categorical_zero_lengthŽ  sE   € ä—‘˜¤"§(¡(£*Ô-ˆÜ—‘×$Ñ$¨U¨G¸E¸7Ð$ÓCˆà�‰ E 7ˆÕ+rk   c                 óü   — t        j                  g d¢«      j                  «       }t         j                  j	                  |gdg¬«      }|j                  dg¬«      }|j                  «       j                  |«      sJ ‚y )N)r¶   r¶   r¶   rf  r\   r¤  r›  )rF   rc   Údictionary_encoderH   rÞ   rJ   rK   )r…   rc   rZ   r[   s       r8   Ú,test_to_pandas_categories_already_dictionaryzGTestConvertStringLikeTypes.test_to_pandas_categories_already_dictionary•  sd   € ä—‘Ò5Ó6×HÑHÓJˆÜ—‘×$Ñ$¨U¨G¸E¸7Ð$ÓCˆØ—‘¨U¨G�Ó4ˆØ�‰Ó ×'Ñ'¨Ô/Ð/Ñ/rk   Ústring_typec                 óX  — g d¢}t        j                  d|i«      }t        j                  d|«      }t        j                  |g«      }t        j
                  j                  ||¬«      }|j                  d¬«      }t        j                  dt        j                  |«      i«      }t        j                  ||d¬«       t        j                  t        j                  «      5  |j                  dd¬«       d d d «       |d   j                  d¬«      }t        j                  t        j                  |«      d¬«      }t        j                  ||«       t        j                  t        j                  «      5  |d   j                  dd¬«       d d d «       y # 1 sw Y   Œ¡xY w# 1 sw Y   y xY w)	N)r¡   r¡   rÍ   rÍ   rÜ   rU  r~  Tr“  r‘  ©r”  Úzero_copy_onlyra   )r/   r0   rF   rƒ   r;   rH   rI   rJ   r•  rS   rT   r’   rK  rw  rd   re   ©	r…   r©  rt   rU   rƒ   r;   rZ   r[   rV   s	            r8   Ú(test_table_str_to_categorical_without_nazCTestConvertStringLikeTypes.test_table_str_to_categorical_without_naœ  sH  € ò +ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜ KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆà—‘¸�Ó=ˆÜ—<‘< ¬B¯N©N¸6Ó,BÐ CÓDˆÜ
×Ñ˜f h¸DÕAä�]‰]œ2Ÿ?™?Õ+Ø�O‰O°4Ø+/ð ô 1÷ ,ð
 �yÑ!×+Ñ+À4Ð+ÓHˆÜ—9‘9œRŸ^™^¨FÓ3¸)ÔDˆÜ
×Ñ˜v xÔ0ä�]‰]œ2Ÿ?™?Õ+Ø�)Ñ×&Ñ&¸dØ6:ð 'ô <÷ ,Ð+÷ ,Ð+ú÷ ,Ð+ús   Ã FÅ4F ÆFÆ F)c                 óx  — d ddt         j                  g}t        j                  d|i«      }t	        j
                  d|«      }t	        j                  |g«      }t        j                  j                  ||¬«      }|j                  d¬«      }t        j                  dt        j                  |«      i«      }t        j                  ||d¬«       t        j                  t        j                  «      5  |j                  dd¬«       d d d «       |d   j                  d¬«      }t        j                   t        j                  |«      d¬	«      }t        j"                  ||«       t        j                  t        j                  «      5  |d   j                  dd¬«       d d d «       y # 1 sw Y   Œ¡xY w# 1 sw Y   y xY w)
Nr¡   rÍ   rU  r~  Tr“  r‘  r«  ra   )r1   rN   r/   r0   rF   rƒ   r;   rH   rI   rJ   r•  rS   rT   r’   rK  rw  rd   re   r­  s	            r8   Ú%test_table_str_to_categorical_with_naz@TestConvertStringLikeTypes.test_table_str_to_categorical_with_na·  sU  € ð ˜˜S¤"§&¡&Ð)ˆÜ�\‰\˜9 fÐ-Ó.ˆÜ—‘˜ KÓ0ˆÜ—‘˜E˜7Ó#ˆÜ—‘×$Ñ$ R°Ð$Ó7ˆà—‘¸�Ó=ˆÜ—<‘< ¬B¯N©N¸6Ó,BÐ CÓDˆÜ
×Ñ˜f h¸DÕAä�]‰]œ2Ÿ?™?Õ+Ø�O‰O°4Ø+/ð ô 1÷ ,ð
 �yÑ!×+Ñ+À4Ð+ÓHˆÜ—9‘9œRŸ^™^¨FÓ3¸)ÔDˆÜ
×Ñ˜v xÔ0ä�]‰]œ2Ÿ?™?Õ+Ø�)Ñ×&Ñ&¸dØ6:ð 'ô <÷ ,Ð+÷ ,Ð+ú÷ ,Ð+ús   Ã0F$ÆF0Æ$F-Æ0F9c                 óÎ   — t        j                  t        j                  dgt        ¬«      t        j                  «       «      }|j
                  t        j                  «       k(  sJ ‚y )Nrc  r   )rF   rc   r1   r@   r«  r`   )r…   Ú	converteds     r8   Útest_array_of_bytes_to_stringsz9TestConvertStringLikeTypes.test_array_of_bytes_to_stringsÓ  s=   € Ü—H‘HœRŸX™X t f´FÔ;¼R¿Y¹Y»[ÓIˆ	Ø�~‰~¤§¡£Ò,Ð,Ñ,rk   c                 ó  — t        j                  t        j                  j                  d¬«      5  t        j
                  t        j
                  dgt        ¬«      t        j                  «       «       d d d «       y # 1 sw Y   y xY w)Nzwas not a utf8 stringr.  s   €�r   )	r’   rK  rF   Úlibrw  rc   r1   r@   r«  ©r…   s    r8   Ú'test_array_of_bytes_to_strings_bad_datazBTestConvertStringLikeTypes.test_array_of_bytes_to_strings_bad_dataÚ  sQ   € Ü�]‰]Ü—‘×#Ñ#Ø-ö/ô �H‰H”R—X‘X˜{˜m´6Ô:¼B¿I¹I»KÔH÷/÷ /ñ /ús   °AA<Á<Bc                 ó4  — t        j                  g d¢d¬«      }t        j                  |t        j                  d«      ¬«      }t        j                  t	        |«      t        j                  d«      ¬«      }|j                  |«      sJ ‚t        j                  g d¢«      }t        j                  |t        j                  d«      |¬«      }t        j                  g d¢t        j                  d«      ¬«      }|j                  |«      sJ ‚t        j                  t        j                  j                  d	¬
«      5  t        j                  g d¢d¬«      }t        j                  |t        j                  d«      ¬«       d d d «       t        j                  t        j                  j                  d¬
«      5  t        j                  g d¢d¬«      }t        j                  |t        j                  d«      ¬«       d d d «       y # 1 sw Y   Œ…xY w# 1 sw Y   y xY w)N)r[  rs  ó   bazz|S3r   r�   r}  ©FTFr²  )r[  Nr¹  z)Got bytestring of length 3 \(expected 4\)r.  r˜   z*Got bytestring of length 12 \(expected 3\)z|U3)
r1   rc   rF   r_  r)  rK   r’   rK  rµ  rw  )r…   ri   r²  rV   rm   s        r8   Ú,test_numpy_string_array_to_fixed_size_binaryzGTestConvertStringLikeTypes.test_numpy_string_array_to_fixed_size_binaryà  sh  € Ü�h‰hÒ/°uÔ=ˆä—H‘H˜S¤r§y¡y°£|Ô4ˆ	Ü—8‘8œD ›I¬B¯I©I°a«LÔ9ˆØ×Ñ Ô)Ð)Ð)ä�x‰xÒ,Ó-ˆÜ—H‘H˜S¤r§y¡y°£|¸$Ô?ˆ	Ü—8‘8Ò2¼¿¹À1»ÔFˆØ×Ñ Ô)Ð)Ð)ä�]‰]œ2Ÿ6™6×.Ñ.Ø!MöOä—(‘(Ò3¸5ÔAˆCÜ�H‰H�SœrŸy™y¨›|Õ,÷Oô
 �]‰]Ü—‘×#Ñ#ØCöEô —(‘(Ò3¸5ÔAˆCÜ�H‰H�SœrŸy™y¨›|Õ,÷	Eð E÷Oð Oú÷
Eð Eús   Ä:AHÆ5AHÈHÈHN) rÂ  rÃ  rÄ  rX  ra  r’   rÆ  Úlarge_memoryrj  rÇ  rq  ru  rx  r~  r�  r†  rŠ  r�  r�  r™  r¢  r¥  r¨  rF   r«  rV  r�  r®  r°  r³  r·  r»  r?  rk   r8   rR  rR  ÷  sG  „ òOò	.ð ‡[�[×Ññ(ó ð(ð  ‡[�[×ÑØ‡[�[×Ñ˜V c¨4 [Ó1ñ&ó 2ó ð&ò*ò4ò6òAò>ò>ò=ò=òDòGò$,ò0ð ‡[�[×ÑØ˜	˜Ÿ	™	› _ R§_¡_Ó%6¸¸¿¹Ó8HÐIóñ<óð<ð0 ‡[�[×ÑØ˜	˜Ÿ	™	› _ R§_¡_Ó%6¸¸¿¹Ó8HÐIóñ<óð<ò2-òIó-rk   rR  c                   óz  — e Zd ZdZ ej
                  d«       ej
                  d«      gZ ej
                  d«       ej
                  d«      gZ ej
                  d«       ej
                  d«      gZe	j                  j                  d e	j                  e ej                  d	d
«      d¬«       e	j                  e ej                  dd«      d¬«       e	j                  e ej                  dd«      d¬«      g«      d„ «       Ze	j                  j                  d e	j                  ed¬«       e	j                  ed¬«       e	j                  ed¬«      g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  dej                  ej                  ej                  ej*                  g«      d„ «       Zy)ÚTestConvertDecimalTypesz,
    Conversion test for decimal types.
    z	-1234.123z1234.439z-129934.123331z129534.123731r†  z-314292388910493.12343437128)rt   rÇ  r½   r�   rÈ  )Úidr  r¯   rÉ  r‡  rˆ  rÊ  c                 ó2  — t        j                  d|i«      }t        j                  j	                  |d¬«      }t        j
                  d|«      }t        j                  |g|j                  j                  ¬«      }|j                  j                  |«      sJ ‚y )Nr…  Fr¢   r×  )	r/   r0   rF   rH   rI   rƒ   r;   r&  rK   )r…   rt   rÇ  rV   rZ   rƒ   rW   s          r8   Útest_decimal_from_pandasz0TestConvertDecimalTypes.test_decimal_from_pandas	  sv   € ô —<‘< ¨VÐ 4Ó5ˆÜ—‘×$Ñ$ X¸eÐ$ÓDˆÜ—‘˜ ]Ó3ˆô Ÿ)™) U G°e·l±l×6KÑ6KÔLˆØ�|‰|×"Ñ" ?Ô3Ð3Ñ3rk   rt   c                 ó¼   — t        j                  d|i«      }t        j                  j	                  |«      }|j                  «       }t        j                  ||«       y )Nr…  )r/   r0   rF   rH   rI   rJ   rS   rT   )r…   rt   rV   r²  rU   s        r8   Útest_decimal_to_pandasz.TestConvertDecimalTypes.test_decimal_to_pandas  sI   € ô —<‘< ¨VÐ 4Ó5ˆÜ—H‘H×(Ñ(¨Ó2ˆ	Ø× Ñ Ó"ˆÜ
×Ñ˜b (Õ+rk   c                 óð  — t        j                  d«      g}t        j                  dd«      }t	        j
                  t        j                  «      5  t        j                  ||¬«       d d d «       t        j                  d«      g}t        j                  dd«      }t	        j
                  t        j                  «      5  t        j                  ||¬«       d d d «       y # 1 sw Y   ŒyxY w# 1 sw Y   y xY w)Nz1.234r  r*   r}  z1.2345r�   )r°   r±   rF   rÊ  r’   rK  rw  rc   )r…   Údata1Útype1Údata2Útype2s        r8   Ú"test_decimal_fails_with_truncationz:TestConvertDecimalTypes.test_decimal_fails_with_truncation"  s¡   € Ü—‘ Ó)Ð*ˆÜ—‘˜b !Ó$ˆÜ�]‰]œ2Ÿ?™?Õ+Ü�H‰H�U Õ'÷ ,ô —‘ Ó*Ð+ˆÜ—‘˜b !Ó$ˆÜ�]‰]œ2Ÿ?™?Õ+Ü�H‰H�U Õ'÷ ,Ð+÷ ,Ð+ú÷
 ,Ð+ús   ÁC Â?C,Ã C)Ã,C5c                 óô  — t        j                  d«      t        j                  d«      g}t        j                  |«      }t	        j
                  |«      }|j                  «       |k(  sJ ‚|j                  t	        j                  dd«      k(  sJ ‚t	        j
                  |t	        j                  dd«      ¬«      }t        j                  d«      t        j                  d«      g}|j                  «       |k(  sJ ‚y )	Nz0.01z0.001r�   r  r™   r}  z0.01000z0.00100)	r°   r±   r/   rd   rF   rc   ré  r`   rÊ  )r…   r    Úseriesrc   rV   s        r8   Ú&test_decimal_with_different_precisionsz>TestConvertDecimalTypes.test_decimal_with_different_precisions-  s¼   € ä�O‰O˜FÓ#Ü�O‰O˜GÓ$ð
ˆô —‘˜4“ˆÜ—‘˜Ó ˆØ�‰Ó  DÒ(Ð(Ð(Ø�z‰zœRŸ]™]¨1¨aÓ0Ò0Ð0Ð0ä—‘˜¤B§M¡M°"°aÓ$8Ô9ˆÜ—O‘O IÓ.´·±À	Ó0JÐKˆØ�‰Ó  HÒ,Ð,Ñ,rk   c                 ó  — t        j                  t        j                  d«      d g«      }t	        |t        j                  dd«      ¬«       t        j                  d gdz  «      }t	        |t        j                  dd«      ¬«       y )Nr�  r  r™   r|  r*   ©r/   rd   r°   r±   rj   rF   rÊ  ©r…   rË  s     r8   Ú$test_decimal_with_None_explicit_typez<TestConvertDecimalTypes.test_decimal_with_None_explicit_type;  s^   € Ü—‘œGŸO™O¨FÓ3°TÐ:Ó;ˆÜ ¬b¯m©m¸BÀÓ.BÕCô —‘˜D˜6 A™:Ó&ˆÜ ¬b¯m©m¸BÀÓ.BÖCrk   c                 óš   — t        j                  t        j                  d«      d g«      }t	        |t        j                  dd«      ¬«       y )Nr�  r�   r*   r€  rÎ  rÏ  s     r8   Ú!test_decimal_with_None_infer_typez9TestConvertDecimalTypes.test_decimal_with_None_infer_typeC  s3   € Ü—‘œGŸO™O¨FÓ3°TÐ:Ó;ˆÜ ¼¿¹ÀqÈ!Ó9LÖMrk   c                 ó�   — ddidt        j                  d«      idœ}t        j                  j	                  |«      }t        |«       y )Nr   r¡   z0.0rF  )r°   r±   r/   r0   Ú	from_dictr]   )r…   Útmpdirr    rU   s       r8   Útest_strided_objectsz,TestConvertDecimalTypes.test_strided_objectsG  sA   € ð �S�Ø”W—_‘_ UÓ+Ð,ñ
ˆô �\‰\×#Ñ# DÓ)ˆÜ Õ#rk   r�  c                 óä   — t        j                  d«      d g}t        j                  | |dd«      ¬«      }|j	                  «       }t        j                  |«      }t        j                  ||«       y )Nr�  r�   r*   r}  )	r°   r±   rF   rc   rJ   r/   rd   rS   re   )r…   r�  r    ri   r[   rV   s         r8   Útest_decimal_array_to_pandasz4TestConvertDecimalTypes.test_decimal_array_to_pandasR  sU   € ô —‘ Ó'¨Ð.ˆÜ�h‰h�t¡# a¨£)Ô,ˆØ—‘“ˆÜ—9‘9˜T“?ˆÜ
×Ñ˜v xÕ0rk   N)rÂ  rÃ  rÄ  rÅ  r°   r±   rÈ  rÉ  rÊ  r’   rÆ  rÇ  ÚparamrF   rÁ  rÃ  rÉ  rÌ  rÐ  rÒ  rÖ  rË  rØ  r?  rk   r8   r¾  r¾  ø  s¼  „ ñð 	ˆ�‰˜Ó$Øˆ�‰˜
Ó#ð€Ið
 	ˆ�‰Ð(Ó)Øˆ�‰˜Ó(ð€Ið
 	ˆ�‰Ð5Ó6Øˆ�‰Ð6Ó7ð€Jð
 ‡[�[×ÑÐ8Øˆ�‰�Y  §¡¨a°Ó 3¸ÔDØˆ�‰�Y  §¡¨b°!Ó 4¸ÔEØˆ�‰�Z  §¡¨r°2Ó!6¸<ÔHð;ó ñ
4óð
4ð ‡[�[×Ñ˜XØˆ�‰�Y ;Ô/Øˆ�‰�Y ;Ô/Øˆ�‰�Z LÔ1ð(ó ñ
,óð
,ò	(ò-òDòNò	$ð ‡[�[×Ñ˜UØ
�‰Ø
�‰Ø
�‰Ø
�‰ð	%ó ñ1óñ1rk   r¾  c            
       ó  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej4                  j7                  dej:                  ddgdgdgddgdgfej<                  ddgdgdgddgdgfej>                  ddgdgdgddgdgfg«      d„ «       Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%ej4                  jL                  d%„ «       Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-ej4                  j7                  d,ej\                  ej^                  g«      d-„ «       Z0ej4                  j7                  d,ej\                  ej^                  g«      d.„ «       Z1ej4                  j7                  d,ej\                  ej^                  g«      d/„ «       Z2ej4                  j7                  d,ej\                  ej^                  g«      d0„ «       Z3ej4                  j7                  d,ej\                  ej^                  g«      d1„ «       Z4y)2ÚTestConvertListTypesz,
    Conversion tests for list<> types.
    c                 óz  — t        «       \  }}t        |||¬«       t        j                  j	                  ||d¬«      }|j                  |j                  j                  «      }|j                  j                  |«      sJ ‚|j                  D ]-  }|j                  |«      }t        ||   |j                  ¬«       Œ/ y ©N©r;   rW   Fr@  r}  )r   r]   rF   rH   rI   Úwith_metadatar;   r&  rK   rL   rƒ   rv   r`   ©r…   rU   r;   rZ   rW   r%  rƒ   s          r8   Útest_column_of_arraysz*TestConvertListTypes.test_column_of_arrayse  s—   € Ü*Ó,‰
ˆˆFÜ ¨6À6ÕJÜ—‘×$Ñ$ R°ÀuÐ$ÓMˆð !×.Ñ.¨u¯|©|×/DÑ/DÓEˆØ�|‰|×"Ñ" ?Ô3Ð3Ð3à—j”jˆFØ—L‘L Ó(ˆEÜ" 2 f¡:°E·J±JÖ?ñ !rk   c           	      óD  — d}t        j                  t        j                  d|¬«      t        j                  d|¬«      d t        j                  d|¬«      gt        ¬«      }t	        j
                  t	        j                  «       «      }t	        j                  ||¬«      }|d   j                  «       t        t        d«      «      k(  sJ ‚|d   j                  «       t        t        d«      «      k(  sJ ‚|d   j                  «       �J ‚|d	   j                  «       dgk(  sJ ‚y )
Nr÷  r  r   r™   r   r}  r   r*   r�   )
r1   rc   r2   r@   rF   r  r   rô  r)  r5   )r…   r   ri   rg   r  s        r8   Útest_column_of_arrays_to_pyz0TestConvertListTypes.test_column_of_arrays_to_pyr  sâ   € àˆÜ�h‰hÜ�I‰I�b Ô&Ü�I‰I�a˜uÔ%ØÜ�I‰I�a˜uÔ%ð	
ô
 ôˆô —‘œŸ™›Ó#ˆÜ�x‰x˜ %Ô(ˆà�A‰w�}‰}‹¤$¤u¨R£y£/Ò1Ð1Ð1Ø�A‰w�}‰}‹¤$¤u¨Q£x£.Ò0Ð0Ð0Ø�A‰w�}‰}‹Ð&Ð&Ð&Ø�A‰w�}‰}‹ 1 #Ò%Ð%Ñ%rk   c                 óÒ  — t        j                  ddgdggt        j                  t        j                  «       «      ¬«      }t         j                  j                  |gdg¬«      }|j                  «       }t        j                  dddgdggi«      }t        j                  ||«       |d   j                  «       }t        j                  t        j                  |«      |d   d¬«       y )NTFr}  r
  rä   r   rn   )rF   rc   r  rï  rH   rÞ   rJ   r/   r0   rS   rT   re   rd   )r…   rc   rZ   rU   rz  rf   s         r8   Útest_column_of_boolean_listz0TestConvertListTypes.test_column_of_boolean_listƒ  s³   € ä—‘˜4 ˜-¨$¨Ð0´r·x±xÄÇÁÃ
Ó7KÔLˆÜ—‘×$Ñ$ e W°V°HÐ$Ó=ˆØ�_‰_Óˆä—l‘l F¨d°E¨]¸T¸FÐ,CÐ#DÓEˆÜ
×Ñ˜b +Ô.à�!‰H×ÑÓ ˆÜ
×ÑœrŸy™y¨›|¨R°©ZÀUÖKrk   c           	      ó8  — t        j                  t        j                  d«      t        j                  d«      gt        j                  d«      ggt        j                  t        j
                  dd«      «      ¬«      }t         j                  j                  |gdg¬«      }|j                  «       }t        j                  dt        j                  d«      t        j                  d«      gt        j                  d«      ggi«      }t        j                  ||«       y )	Nr�   r]  z3.3r*   r   r}  r
  rä   )rF   rc   r°   r±   r  rÊ  rH   rÞ   rJ   r/   r0   rS   rT   )r…   rc   rZ   rU   rz  s        r8   Útest_column_of_decimal_listz0TestConvertListTypes.test_column_of_decimal_list�  sÔ   € Ü—‘œ7Ÿ?™?¨3Ó/´·±ÀÓ1EÐFÜ"Ÿ?™?¨5Ó1Ð2ð4ä Ÿh™h¤r§}¡}°Q¸Ó':Ó;ô=ˆô —‘×$Ñ$ e W°V°HÐ$Ó=ˆØ�_‰_Óˆä—l‘lØ”w—‘ sÓ+¬W¯_©_¸SÓ-AÐBÜ—‘ uÓ-Ð.ð0ð 1ó2ˆô 	×Ñ˜b +Õ.rk   c                 ó¸  — t        j                  t        j                  t        j                  t        j                  gt
        ¬«      «      }t        j                  t        j                  «       «      t        j                  t        j                  «       «      t        j                  t        j                  dd«      g«      fD ]ˆ  }t        j                  ||¬«      }t        j                  d d g|¬«      }|j                  |«      sJ ‚t        j                  t        «      5  t        j                  |j                   |¬«       d d d «       ŒŠ y # 1 sw Y   Œ•xY w)Nr   Úf0r   r}  )r/   rd   r1   rc   rN   r@   rF   r  r   Ú
large_listÚstructrƒ   rK   r’   rK  Ú	TypeErrorrt   )r…   rf   rC  r[   rV   s        r8   Ú+test_nested_types_from_ndarray_null_entriesz@TestConvertListTypes.test_nested_types_from_ndarray_null_entries›  sÙ   € ä�I‰I”b—h‘h¤§¡¬¯©Ð/´vÔ>Ó?ˆä—8‘8œBŸH™H›JÓ'Ü—=‘=¤§¡£Ó,Ü—9‘9œbŸh™h t¨WÓ5Ð6Ó7ó9ˆBô —X‘X˜a bÔ)ˆFÜ—x‘x  t °2Ô6ˆHØ—=‘= Ô*Ð*Ð*ä—‘œyÕ)Ü—‘˜Ÿ™¨Õ+÷ *Ð)ñ9÷ *Ð)ús   Ä#"EÅE	c                 óz  — t        «       \  }}t        |||¬«       t        j                  j	                  ||d¬«      }|j                  |j                  j                  «      }|j                  j                  |«      sJ ‚|j                  D ]-  }|j                  |«      }t        ||   |j                  ¬«       Œ/ y rÝ  )r   r]   rF   rH   rI   rß  r;   r&  rK   rL   rƒ   rv   r`   rà  s          r8   Útest_column_of_listsz)TestConvertListTypes.test_column_of_lists©  s—   € Ü)Ó+‰
ˆˆFÜ ¨6À6ÕJÜ—‘×$Ñ$ R°ÀuÐ$ÓMˆð !×.Ñ.¨u¯|©|×/DÑ/DÓEˆØ�|‰|×"Ñ" ?Ô3Ð3Ð3à—j”jˆFØ—L‘L Ó(ˆEÜ" 2 f¡:°E·J±JÖ?ñ !rk   c           	      ó:  — g g d¢g d¢g dgg}t        j                  |D �cg c]  }t        j                  |t        ¬«      ‘Œ c}«      }t        j                  |«      }t        j                  |j                  «       «      }t        j                  ||«       y c c}w )Nr|  )r�   r¯   r½   r¸   r*   r   )	r/   rd   r1   rc   rQ  rF   rJ   rS   re   )r…   Ú	num_listsrf   rË  ri   r[   s         r8   Ú test_column_of_lists_first_emptyz5TestConvertListTypes.test_column_of_lists_first_empty¶  st   € àš¢L°"°q°cÐ:ˆ	Ü—‘¹iÓH¹i¸œBŸH™H Q¬eÖ4¸iÑHÓIˆÜ�h‰h�vÓˆÜ—‘˜3Ÿ=™=›?Ó+ˆÜ
×Ñ˜v vÕ.ùò Is    "Bc                 ó,  — t        j                  dt        j                  ddgd ddgddgddgd	d
ggt        ¬«      i«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      g«      }t
        j                  j                  |d d |¬«      }t
        j                  j                  |dd  |¬«      }t        j                  ||g«      }|j                  «       }t        j                  ||«       y )NÚlistsr   r*   r�   r˜   r™   r¯   r½   r¸   é	   r   r~  )r/   r0   r1   rc   r@   rF   r;   rƒ   r  r   rH   rI   Úconcat_tablesrJ   rS   rT   )r…   rU   r;   rû  rü  rZ   r[   s          r8   Útest_column_of_lists_chunkedz1TestConvertListTypes.test_column_of_lists_chunked¾  sõ   € ä�\‰\Ø”R—X‘XØ�A�ØØ�A�Ø�A�Ø�A�Ø�A�ðô ôð	
ó 	ˆô —‘Ü�H‰H�WœbŸh™h¤r§x¡x£zÓ2Ó3ð
ó ˆô �X‰X×!Ñ! " R a &°Ð!Ó8ˆÜ�X‰X×!Ñ! " Q R &°Ð!Ó8ˆä× Ñ  " b Ó*ˆØ—‘Ó"ˆä
×Ñ˜f bÕ)rk   c           	      ó�  — t        j                  dt        j                  g t        ¬«      i«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      g«      }t
        j                  j                  ||¬«      }|j                  «       }t        j                  ||«       y )Nrô  r   r~  )r/   r0   r1   rc   r@   rF   r;   rƒ   r  r   rH   rI   rJ   rS   rT   )r…   rU   r;   rZ   r[   s        r8   Ú"test_empty_column_of_lists_chunkedz7TestConvertListTypes.test_empty_column_of_lists_chunked×  sŽ   € Ü�\‰\Ø”R—X‘X˜b¬Ô/ð
ó ˆô —‘Ü�H‰H�WœbŸh™h¤r§x¡x£zÓ2Ó3ð
ó ˆô —‘×$Ñ$ R°Ð$Ó7ˆØ—‘Ó"ˆä
×Ñ˜f bÕ)rk   c           	      óÖ  — ddgddgddgddgd	d
gddgddgddgg}ddgddgg}t        j                  |«      }t        j                  |«      }t         j                  j                  |gdg¬«      }t         j                  j                  |gdg¬«      }t        j                  ||g«      }|j                  «       }t        j                  d||z   i«      }	t        j                  ||	«       y )Nr   r   r*   r�   r˜   r™   r¯   r½   r  rˆ  r  é   é   é   é   é   r¸   rõ  é   é   r¡   rä   )
rF   rc   rH   rÞ   rö  rJ   r/   r0   rS   rT   )
r…   rÅ  rÇ  rý  rL  rû  rü  Úconcatenatedr[   rV   s
             r8   Útest_column_of_lists_chunked2z2TestConvertListTypes.test_column_of_lists_chunked2å  sê   € Ø�Q�˜!˜Q˜ ! Q ¨!¨Q¨°"°b°Ø�b�˜B ˜8 b¨" Xð/ˆà�Q�˜"˜b˜Ð"ˆä�X‰X�e‹_ˆÜ�X‰X�e‹_ˆä�X‰X×!Ñ! 2 $¨s¨eÐ!Ó4ˆÜ�X‰X×!Ñ! 2 $¨s¨eÐ!Ó4ˆä×'Ñ'¨¨R¨Ó1ˆà×'Ñ'Ó)ˆÜ—<‘<  e¨e¡mÐ 4Ó5ˆä
×Ñ˜f hÕ/rk   c                 ó¼   — t        «       \  }}t        j                  |gdz  d¬«      }|d   j                  d d d…   }|j                  d   dk7  sJ ‚t        |«       y )Nr¯   T)Úignore_indexr   r�   r   r¸   )r   r/   Úconcatrt   Ústridesrv   )r…   rU   r;   ri   s       r8   Útest_column_of_lists_stridedz1TestConvertListTypes.test_column_of_lists_strided÷  sZ   € Ü)Ó+‰
ˆˆFÜ�Y‰Y˜�t˜a‘x¨dÔ3ˆà�‰k× Ñ ¡ 1 Ñ%ˆØ�{‰{˜1‰~ Ò"Ð"Ð"ä˜sÕ#rk   c           	      ó<  — t        j                  d d gd gt        ¬«      }t        j                  |«      }t        j                  t	        |«      «      }|j                  |«      sJ ‚|j                  t        j                  t        j                  «       «      k(  sJ ‚t        j                  d d d d gt        j                  d d gt        ¬«      gt        ¬«      }t        j                  |«      }t        j                  d d d d gd d gg«      }|j                  |«      sJ ‚y )Nr   )	r1   rc   r@   rF   r)  rK   r`   r  rö  )r…   r    ri   rV   rÇ  s        r8   Útest_nested_lists_all_nonez/TestConvertListTypes.test_nested_lists_all_none 	  sà   € Ü�x‰x˜$ ˜ tÐ,´FÔ;ˆä�h‰h�t‹nˆÜ—8‘8œD ›JÓ'ˆØ�z‰z˜(Ô#Ð#Ð#Ø�x‰xœ2Ÿ8™8¤B§G¡G£IÓ.Ò.Ð.Ð.ä—‘˜$  t¨T lÜŸ(™( D¨$ <´vÔ>ð@ä%ô'ˆô �h‰h�u‹oˆÜ—8‘8˜T 4¨$°¨¸¸d°|ÐDÓEˆØ�z‰z˜(Ô#Ð#Ñ#rk   c                 ó,  — t        j                  g g g g«      }t        j                  |«      }t        j                  t	        |«      «      }|j                  |«      sJ ‚|j                  t        j                  t        j                  «       «      k(  sJ ‚y ©N)	r/   rd   rF   rc   r)  rK   r`   r  rö  ©r…   r    ri   rV   s       r8   Útest_nested_lists_all_emptyz0TestConvertListTypes.test_nested_lists_all_empty	  sh   € ä�y‰y˜"˜b "˜Ó&ˆÜ�h‰h�t‹nˆÜ—8‘8œD ›JÓ'ˆØ�z‰z˜(Ô#Ð#Ð#Ø�x‰xœ2Ÿ8™8¤B§G¡G£IÓ.Ò.Ð.Ñ.rk   c                 ó,  — t        j                  g dgg«      }t        j                  |«      }t        j                  t	        |«      «      }|j                  |«      sJ ‚|j                  t        j                  t        j                  «       «      k(  sJ ‚y )Nr¡   )	r/   rd   rF   rc   r)  rK   r`   r  r«  r  s       r8   Útest_nested_list_first_emptyz1TestConvertListTypes.test_nested_list_first_empty	  sh   € ä�y‰y˜"˜s˜e˜Ó%ˆÜ�h‰h�t‹nˆÜ—8‘8œD ›JÓ'ˆØ�z‰z˜(Ô#Ð#Ð#Ø�x‰xœ2Ÿ8™8¤B§I¡I£KÓ0Ò0Ð0Ñ0rk   c                 óÀ  — t        j                  t        j                  g d¢d¬«      d g«      }t	        j                  |«      }t	        j                  |j
                  «      }t	        j                  g d¢d gt	        j                  t	        j                  «       «      ¬«      }|j                  |«      sJ ‚|j                  |«      sJ ‚t        j                  t        j                  g d¢d¬«      d g«      }t	        j                  |«      }t	        j                  g d¢d gt	        j                  t	        j                  «       «      ¬«      }|j                  |«      sJ ‚y )Nr€   r÷  r   r}  rÐ  )
r/   rd   r1   rc   rF   rt   r  r   rK   r    )r…   r    r[   rÅ   rV   Údata3r   Ú	expected3s           r8   Útest_nested_smaller_intsz-TestConvertListTypes.test_nested_smaller_ints	  sê   € ô �y‰yœ"Ÿ(™(¢9°DÔ9¸4Ð@ÓAˆÜ—‘˜$“ˆÜ—(‘(˜4Ÿ;™;Ó'ˆÜ—8‘8šY¨Ð-´B·H±H¼R¿W¹W»YÓ4GÔHˆØ�}‰}˜XÔ&Ð&Ð&Ø�~‰~˜hÔ'Ð'Ð'ä—	‘	œ2Ÿ8™8¢I°TÔ:¸DÐAÓBˆÜ—(‘(˜5“/ˆÜ—H‘Hši¨Ð.´R·X±X¼b¿j¹j»lÓ5KÔLˆ	Ø�~‰~˜iÔ(Ð(Ñ(rk   c                 óæ  — t        dt        j                  dgddggfdddgddggfdd dgd	d
ggfdd dgd	d
ggd gfg«      }t        j                  |«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      t        j                  dt        j                  t        j                  «       «      «      t        j                  dt        j                  t        j                  «       «      «      t        j                  dt        j                  t        j                  t        j                  «       «      «      «      g«      }t        ||¬«       y )NÚnan_intsr   r*   r�   rF  r   ÚstrsrÍ   rÜ   ÚdÚnested_strsrÒ  )r   r1   rN   r/   r0   rF   r;   rƒ   r  r   r«  r]   ©r…   r    rU   rW   s       r8   Útest_infer_listsz%TestConvertListTypes.test_infer_lists.	  s  € ÜØœ2Ÿ6™6 1˜+¨¨1 vÐ.Ð/Ø�q˜!�f˜q !˜fÐ%Ð&Ø�t˜S�k C¨ :Ð.Ð/Ø˜t S˜k¨C°¨:Ð6¸Ð=Ð>ð	
ó ˆô �\‰\˜$ÓˆäŸ)™)Ü�H‰H�Z¤§¡¬"¯(©(«*Ó!5Ó6Ü�H‰H�VœRŸX™X¤b§h¡h£jÓ1Ó2Ü�H‰H�VœRŸX™X¤b§i¡i£kÓ2Ó3Ü�H‰H�]¤B§H¡H¬R¯X©X´b·i±i³kÓ-BÓ$CÓDð	%
ó ˆô 	  °OÖDrk   c                 ó¸  — t        j                  t        j                  «       d¬«      }t        j                  t        j                  «       «      }g d¢d g d¢g d¢g}t        j                  ||¬«      }t        j                  ||¬«      }|j	                  «       }|j	                  «       }t        ||«      D ]!  \  }}	|€|	�J ‚t        j                  ||	«       Œ# y )Nr˜   )Ú	list_size)r   r   r*   r�   r¼   )r¸   rõ  r  rˆ  r}  )rF   r  r   rc   rJ   rß  ry   rz   )
r…   Úfixed_tyÚvariable_tyr    Ú	fixed_arrÚvariable_arrr[   rV   ÚleftÚrights
             r8   Útest_fixed_size_listz)TestConvertListTypes.test_fixed_size_list@	  sª   € ä—8‘8œBŸH™H›J°!Ô4ˆÜ—h‘hœrŸx™x›zÓ*ˆâ˜d¢L².ÐAˆÜ—H‘H˜T¨Ô1ˆ	Ü—x‘x ¨;Ô7ˆà×$Ñ$Ó&ˆØ×)Ñ)Ó+ˆä˜v xÖ0‰KˆD�%Øˆ|Ø�}Ð$�}Ü×"Ñ" 4¨Õ/ñ 1rk   c           	      óš  — t        dt        j                  ddgt        j                  ¬«      t        j                  ddgt        j                  ¬«      gfg«      }t	        j
                  |«      }t        j                  t        j                  dt        j                  t        j                  «       «      «      g«      }t        ||¬«       y )NrF  r   r   r   r*   r�   rÒ  )r   r1   rc   r   r/   r0   rF   r;   rƒ   r  r]   r  s       r8   Útest_infer_numpy_arrayz+TestConvertListTypes.test_infer_numpy_arrayQ	  s–   € ÜØÜ—‘˜!˜Q˜¤r§x¡xÔ0Ü—‘˜!˜Q˜¤r§x¡xÔ0ðð ð
ó ˆô �\‰\˜$ÓˆÜŸ)™)Ü�H‰H�VœRŸX™X¤b§h¡h£jÓ1Ó2ð%
ó ˆô 	  °OÖDrk   c                 ó¸  — t        j                  g d¢t        j                  «       «      }t        j                  ddgddgddggt        j                  t        j                  «       «      «      }t         j
                  j                  ||gdd	g«      }t         j                  j                  g d
¢|«      }t        j                  dddgdœgdddgdœdddgdœgg«      }t        j                  |j                  «       «      }t        j                  «       5  t        j                  ddt        «       t        j                   ||«       d d d «       y # 1 sw Y   y xY w)Nr€   r¡   rÍ   rÜ   r  ÚeÚfÚf1rÏ  )r   r   r�   r   )r*  rÏ  r*   r�   rA   rB   )rF   rc   r   r  r«  ÚStructArrayrÞ   Ú	ListArrayr/   rd   rJ   rO   rP   rQ   rR   rS   re   )r…   rF  rU  Ústructsr    rV   rË  s          r8   Útest_to_list_of_structs_pandasz3TestConvertListTypes.test_to_list_of_structs_pandas_	  s  € Ü�x‰xš	¤2§8¡8£:Ó.ˆÜ—(‘(˜S #˜J¨¨c¨
°S¸#°JÐ?ÜŸ8™8¤B§I¡I£KÓ0ó2ˆä—.‘.×,Ñ,¨d°G¨_¸tÀT¸lÓKˆÜ�|‰|×'Ñ'ª	°7Ó;ˆä—9‘9Ø˜c 3˜ZÑ(Ð)Ø˜c 3˜ZÑ(Ø˜c 3˜ZÑ(ð*ð
ó ˆô —‘˜4Ÿ>™>Ó+Ó,ˆô ×$Ñ$Õ&Ü×#Ñ# HÐ.MÜ$6ô8ä×"Ñ" 6¨8Ô4÷ '×&Ñ&ús   Ä2EÅEc                 óæ  — t        t        j                  «      t        d«      k\  r:t        t        j                  «      t        d«      k  rt	        j
                  d«       dddgfddd	gfggd
g fddd dgfgdddgfggg}t        j                  |t        j                  t        j                  t        j                  «       t        j                  t        j                  «       «      «      «      «      }|j                  «       }t        j                  |«      }t        j                  «       5  t        j                  ddt         «       t#        j$                  ||«       d d d «       y # 1 sw Y   y xY w)Nú1.25.0.dev0r7  ú$Regression in pandas with numpy 1.25r¶   r¡   rÍ   rf  rÜ   r  ru  ©rZ  NÚquuxr(  Úquzr)  ÚgrA   rB   )r   r1   r@  r/   r’   rs  rF   rc   r  Úmap_Úutf8rJ   rd   rO   rP   rQ   rR   rS   re   )r…   r    ri   rË  rV   s        r8   Útest_to_list_of_maps_pandasz0TestConvertListTypes.test_to_list_of_maps_pandasu	  s  € Ü”R—^‘^Ó$¬°Ó(>Ò>ÜœŸ™Ó(¬7°7Ó+;Ò;ô �K‰KÐ>Ô?à�s˜C�jÐ! E¨C°¨:Ð#6Ð7Ð8Ø�bˆk˜=¨6°D¸#°;Ð*?Ð@ÀEÈCÐQTÈ:ÐCVÐBWÐXð
ˆô �h‰h�tœRŸX™X¤b§g¡g¬b¯g©g«i¼¿¹Ä"Ç'Á'Ã)Ó9LÓ&MÓNÓOˆØ—‘“ˆÜ—9‘9˜T“?ˆô ×$Ñ$Õ&Ü×#Ñ# HÐ.MÜ$6ô8ä×"Ñ" 6¨8Ô4÷ '×&Ñ&ús   Ä,2E'Å'E0c           
      ó  — t        t        j                  «      t        d«      k\  r:t        t        j                  «      t        d«      k  rt	        j
                  d«       t        j                  g d¢«      j                  dd«      }t        j                  dgdgdd	gd
dgg dddggt        j                  t        j                  «       «      «      j                  dd«      }t        j                  j                  g d¢||«      }t        j                  j                  g d¢|«      }|j                  «       }t        j                  ddd	gfdd
dgfggdg fdggg«      }|j                  dd«      j                  «       }t        j                  dg fdggg«      }t!        j"                  «       5  t!        j$                  ddt&        «       t)        j*                  ||«       t)        j*                  ||«       ddd«       y# 1 sw Y   yxY w)zL
        A slightly more rigorous test for chunk/slice combinations
        r0  r7  r1  )rA   r¶   rf  ru  rZ  r3  rA   r   r™   rA   r¡   rÍ   rÜ   r  Nr(  r*   ©r   r*   r˜   rš   r¶   rf  ru  r2  rB   )r   r1   r@  r/   r’   rs  rF   rc   Úslicer  r«  ÚMapArrayrÞ   r,  rJ   rd   rO   rP   rQ   rR   rS   re   )	r…   r¬  ÚitemsÚmapri   rË  rV   Úseries_slicedÚexpected_sliceds	            r8   Ú"test_to_list_of_maps_pandas_slicedz7TestConvertListTypes.test_to_list_of_maps_pandas_slicedŠ	  s¸  € ô
 ”R—^‘^Ó$¬°Ó(>Ò>ÜœŸ™Ó(¬7°7Ó+;Ò;ô �K‰KÐ>Ô?ä�x‰xò 2ó 3ß38±5¸¸A³;ð 	ä—‘ØˆZ˜(˜ c¨3 Z°#°s°¸RÀÈÈcÀ{ÐSÜ�H‰H”R—Y‘Y“[Ó!ó
÷ ‰%��1‹+ð 	ô �k‰k×%Ñ%¢i°°uÓ=ˆÜ�l‰l×&Ñ&¢y°#Ó6ˆà—‘“ˆÜ—9‘9Ø�s˜C�jÐ! E¨C°¨:Ð#6Ð7Ð8Ø�bˆk˜=Ð)Ð*ð
ó ˆð
 Ÿ	™	 ! Q›×1Ñ1Ó3ˆÜŸ)™)Ø�bˆk˜=Ð)Ð*ð%
ó ˆô ×$Ñ$Õ&Ü×#Ñ# HÐ.MÜ$6ô8ä×"Ñ" 6¨8Ô4Ü×"Ñ" =°/ÔB÷	 '×&Ñ&ús   Æ,AG=Ç=Hzt,data,expectedr   r*   r�   NÚaaaÚbbrÜ   c                 ód  — t        j                  g d¢«      }t        j                  |«      }t        j
                  j                  ||t	        j                   |«       «      ¬«      }t        j
                  j                  |t	        j                   |«       «      ¬«      j                  |«      sJ ‚y )Nr/  r³  r}  )	r1   rc   r/   rd   rF   r®  rI   r  rK   )r…   r  r    rV   r0  rf   r[   s          r8   Ú,test_array_from_pandas_typed_array_with_maskzATestConvertListTypes.test_array_from_pandas_typed_array_with_mask±	  s†   € ô$ �H‰HÒ(Ó)ˆä�I‰I�d‹OˆÜ—‘×%Ñ% a¨a´b·h±h¹q»s³mÐ%ÓDˆä�x‰x×#Ñ# HÜ)+¯©±!³#«ð $ó 8ß8>¹¸v»ðGð 	Gñ Grk   c                 ó@  — t        j                  dt        ¬«      }|j                  g «       t	        j
                  t        j                  g d¢«      |dœ«      }t        j                  j                  |«      }|j                  «       }t        j                  ||«       y )N)r�   r   )r�   r]  Ú3rF  )r1   Úemptyr@   Úfillr/   r0   rc   rF   rH   rI   rJ   rS   rT   )r…   Úempty_list_arrayrU   r¯  r[   s        r8   Útest_empty_list_roundtripz.TestConvertListTypes.test_empty_list_roundtripË	  sq   € ÜŸ8™8 D´Ô7ÐØ×Ñ˜bÔ!ä�\‰\¤§¡ªÓ 9Ø 0ñ2ó 3ˆä�h‰h×"Ñ" 2Ó&ˆà—‘“ˆä
×Ñ˜f bÕ)rk   c                 ó8  — t        «       \  }}|D ]ˆ  }||j                     j                  }t        j                  t        |«      |j                  ¬«      }t        j                  |«      }|j                  |j                  k(  sJ ‚|j                  |«      rŒˆJ ‚ y )Nr}  )r   rb   rt   rF   rc   r)  r`   rK   )r…   rU   r;   rƒ   ri   rV   r[   s          r8   Útest_array_from_nested_arraysz2TestConvertListTypes.test_array_from_nested_arrays×	  sx   € Ü*Ó,‰
ˆˆFÛˆEØ�U—Z‘Z‘.×'Ñ'ˆCÜ—x‘x¤ S£	°·
±
Ô;ˆHÜ—X‘X˜c“]ˆFØ—;‘; %§*¡*Ò,Ð,Ð,Ø—=‘= Õ*Ð*Ð*ñ rk   c           	      óú  — t        j                  g d¢dggd gt        j                  t        j                  t        j                  «       «      «      ¬«      j	                  «       }t        j                  «       5  t        j                  ddt        «       t        j                  ddt        «       t        j                  |t        j                  g d¢dggd gt        ¬«      d¬	«       d d d «       y # 1 sw Y   y xY w)
Nr€   r˜   r}  rA   z&Creating an ndarray from ragged nestedrB   r   Frn   )rF   rc   rê  r   rJ   rO   rP   rQ   Ú_np_VisibleDeprecationWarningrR   rS   re   r/   rd   r@   r}  s     r8   Útest_nested_large_listz+TestConvertListTypes.test_nested_large_listà	  sº   € Ü�X‰Xš	 A 3Ð'¨Ð.ÜŸ=™=¬¯©´r·x±x³zÓ)BÓCôEç‰i‹kð 	
ô ×$Ñ$Õ&Ü×#Ñ# HØ$LÜ$AôCô ×#Ñ# HÐ.MÜ$6ô8ä×"Ñ"Ø”2—9‘9šy¨1¨#Ð.°Ð5¼VÔDØ!õ#÷ '×&Ñ&ús   Á9A/C1Ã1C:c           
      ó&  — t         j                  t         j                  fD ]î  }t        j                  ddgd dgg g |t        j                  «       «      ¬«      j                  «       }t        j                  |t        j                  ddgd dgg g«      d¬	«       t        j                  ddgd dgg g |t        j                  «       «      ¬«      j                  «       }t        j                  |t        j                  ddgd dgg g«      d¬	«       Œð y )
NrJ  rC  Úccr}  s   aas   bbs   ccFrn   )rF   r  rê  rc   r„  rJ   rS   re   r/   rd   rV  )r…   Úlist_type_factoryrf   s      r8   Útest_large_binary_listz+TestConvertListTypes.test_large_binary_listï	  sî   € Ü"$§(¡(¬B¯M©MÓ!:ÐÜ—‘˜D $˜<¨°¨v°rÐ:Ù0´·±Ó1BÓCôEç‘)“+ð ô ×"Ñ"Ø”2—9‘9˜u e˜n¨d°U°G¸RÐ@ÓAØ!õ#ô —‘˜D $˜<¨°¨v°rÐ:Ù0´·±Ó1BÓCôEç‘)“+ð ô ×"Ñ"Ø”2—9‘9˜t T˜l¨D°4°&¸"Ð=Ó>Ø!ö#ñ ";rk   c                 ó˜  — t        j                  g d¢«      j                  «       }t         j                  j	                  g d¢|«      }t        j                  |j                  «       «      }t        j                  |j                  «       |«       |j                  g d¢«      }d |d<   t        j                  |j                  «       |«       y )N)r¶   rf  Nr¶   )r   r   r�   r�   r˜   )r   r   Nr�   r*   )rF   rc   r§  r,  rÞ   r/   rd   ré  rS   re   rJ   Útake)r…   Úchildri   rV   s       r8   Útest_list_of_dictionaryz,TestConvertListTypes.test_list_of_dictionaryþ	  s‹   € Ü—‘Ò4Ó5×GÑGÓIˆÜ�l‰l×&Ñ&¢¸Ó>ˆô —9‘9˜SŸ]™]›_Ó-ˆÜ
×Ñ˜sŸ}™}›°Ô9ð �h‰h’Ó'ˆØˆ�‰Ü
×Ñ˜sŸ}™}›°Õ9rk   c                 ó¨  — d}t         j                  j                  t        t	        j
                  |dfd¬«      «      t        |«      dœ«      }t        j                  j                  |«      }|j                  d¬«       |d   }|j                  d	k(  sJ ‚t        |j                  d«      «      d
k(  sJ ‚t        |j                  d«      «      dk(  sJ ‚y )Ni    i   r   r   rF  Trm  r   r*   iÿÿ r   )r/   r0   rÔ  r)  r1   Úzerosr5   rF   rH   rI   rp  rg  r¿   rA  )r…   ÚnrU   rZ   Úcolumn_as        r8   Ú#test_auto_chunking_on_list_overflowz8TestConvertListTypes.test_auto_chunking_on_list_overflow
  s¹   € ð ˆÜ�\‰\×#Ñ#Ü”b—h‘h  5˜z°Ô9Ó:Ü�q“ñ%
ó ˆô —‘×$Ñ$ RÓ(ˆØ�‰˜DˆÔ!à˜‘8ˆØ×"Ñ" aÒ'Ð'Ð'Ü�8—>‘> !Ó$Ó%¨Ò2Ð2Ð2Ü�8—>‘> !Ó$Ó%¨Ò*Ð*Ñ*rk   c                 ó  — ddgdgg d¢dgg}t        j                  d|i«      }t        j                  dt        j                  t        j
                  «       t        j                  «       «      fg«      }t        ||¬«       y )N©r\  r   ©ó   br*   ©ó   cr�   ©©ó   dr˜   ©ó   er™   )ó   fr¯   ©ó   gr½   r>  r~  )r/   r0   rF   r;   r6  r_  r   r]   )r…   r    rU   r;   s       r8   Útest_map_array_roundtripz-TestConvertListTypes.test_map_array_roundtrip
  si   € Ø˜IÐ&Ø�Ú1Ø�ðˆô
 �\‰\˜5 $˜-Ó(ˆÜ—‘˜U¤B§G¡G¬B¯I©I«K¼¿¹»Ó$DÐEÐFÓGˆä ¨6Ö2rk   c                 óv  — ddgdgg d¢dgg}|D ���cg c]  }|D ��cg c]  \  }}||dz  f‘Œ c}}‘Œ }}}}t        j                  |t        j                  t        j                  «       t        j                  «       «      ¬«      }t        j                  |t        j                  t        j                  «       t        j                  «       «      ¬«      }t        j
                  ||g«      }t        j                  ||z   «      }	|j                  «       }
t        j                  |
|	d¬	«       y c c}}w c c}}}w )
Nr_  r`  rb  rd  rj  r*   r}  Frn   )rF   rc   r6  r_  r   r­  r/   rd   rJ   rS   re   )r…   rÅ  ÚrowÚkr  rÇ  Úarr1r¯  ri   rV   Úactuals              r8   Útest_map_array_chunkedz+TestConvertListTypes.test_map_array_chunked&
  sè   € Ø˜YÐ'Ø�Ú2Ø�ðˆñ :?Õ?¹°#©Ô-©¡  A�1�a˜!‘e’*¨Ô-¸ˆÒ?ä�x‰x˜¤B§G¡G¬B¯I©I«K¼¿¹»Ó$DÔEˆÜ�x‰x˜¤B§G¡G¬B¯I©I«K¼¿¹»Ó$DÔEˆÜ×Ñ  d˜|Ó,ˆä—9‘9˜U U™]Ó+ˆØ—‘“ˆÜ
×Ñ˜v x¸UÖCùó .ùÔ?s   “
D4�D.®D4Ä.D4c                 ó¾  — ddgd g d¢dgg}|D ���cg c]*  }|�$|D ��cg c]  \  }}||�t        |«      nd f‘Œ c}}nd ‘Œ, }}}}t        j                  |«      }t        j                  |t        j
                  t        j                  «       t        j                  «       «      ¬«      }|j                  «       }t        j                  ||d¬«       y c c}}w c c}}}w )Nr_  r`  )re  rg  )ri  Nrj  r}  Frn   )rQ  r/   rd   rF   rc   r6  r_  r   rJ   rS   re   )r…   r    rn  ro  r  rV   ri   rq  s           r8   Útest_map_array_with_nullsz.TestConvertListTypes.test_map_array_with_nulls5
  sÏ   € Ø˜IÐ&ØÚ4Ø�ðˆñ =AõBÙ<@°S�s�ñ KNÔNÉ#Á$À!ÀQ�a Q ]œ˜qœ¸Ò=È#ÓNØ,0ñ1Ø<@ð 	ò Bä—9‘9˜XÓ&ˆä�h‰h�t¤"§'¡'¬"¯)©)«+´r·x±x³zÓ"BÔCˆØ—‘“ˆÜ
×Ñ˜v x¸UÖCùó Oùô Bs   ’CžC¹CÃCc           	      ó¤  — t        j                  g d¢«      }t        j                  g d¢«      j                  «       }t        j                  t        t	        t        |«      «      «      «      }t         j                  j                  |||«      }t        j                  g d¢ddgg«      }|j                  «       }t        j                  ||d¬«       y )N©r   r�   r™   )r¡   rÍ   rÜ   r¡   r  ))r   r¡   )r   rÍ   )r*   rÜ   )r�   r¡   )r˜   r  Frn   )rF   rc   r§  r)  r5   r¿   r<  rÞ   r/   rd   rJ   rS   re   )r…   Úoffsetsr=  r¬  ri   rV   rq  s          r8   Ú!test_map_array_dictionary_encodedz6TestConvertListTypes.test_map_array_dictionary_encodedD
  s™   € Ü—(‘(š9Ó%ˆÜ—‘Ò2Ó3×EÑEÓGˆÜ�x‰xœœU¤3 u£:Ó.Ó/Ó0ˆÜ�k‰k×%Ñ% g¨t°UÓ;ˆô —9‘9Ú+¨h¸Ð-AÐBóDˆð —‘“ˆÜ
×Ñ˜v x¸UÖCrk   c           	      óÐ  — t        j                  ddgg d¢d dd gddgg«      }t        j                  |j                  dd«      |j                  dd«      g«      }|j	                  «       }t        j                  d	d
gg d¢d dt
        j                  ggd¬«      }t        ||«      D ]%  \  }}|€||k(  rŒJ ‚t        j                  ||«       Œ' t        j                  d	d
ddddt
        j                  gg«      }t        j                  |d   j                  |«       |j                  dd«      j	                  «       }t        j                  g d¢d dt
        j                  ggd¬«      }t        ||«      D ]%  \  }}|€||k(  rŒJ ‚t        j                  ||«       Œ' t        j                  ddddt
        j                  gg«      }t        j                  |d   j                  |«       y )Nr   r*   )r�   r˜   r™   r¯   r½   r¸   r   r�   r‰   rŠ   )r‹   rŒ   r�   rŽ   r@   r   r‹   rŒ   r�   )rF   rc   r­  r;  Úto_numpyr1   rN   rß  ry   rz   Úbase)	r…   ri   Úchunked_arrr  rV   r"  r#  Úexpected_baseÚnp_arr_sliceds	            r8   Útest_list_no_duplicate_basez0TestConvertListTypes.test_list_no_duplicate_baseQ
  sª  € ä�h‰h˜˜A˜¢	¨4°!°T°¸QÀ¸FÐCÓDˆÜ×&Ñ&¨¯	©	°!°Q«¸¿¹À1Àa»Ð'IÓJˆà×%Ñ%Ó'ˆä—8‘8˜b "˜X¢|°TØ¤§¡˜Lð*Ø19ô;ˆä˜v xÖ0‰KˆD�%Øˆ}Ø˜u“}Ð$�}ä×&Ñ& t¨UÕ3ð	 1ô Ÿ™ 2 r¨2¨r°2°r¼2¿6¹6Ð"BÐ!CÓDˆÜ×Ñ˜v a™yŸ~™~¨}Ô=à#×)Ñ)¨!¨QÓ/×8Ñ8Ó:ˆä—8‘8šY¨¨q´"·&±&¨kÐ:À(ÔKˆÜ˜}¨hÖ7‰KˆD�%Øˆ}Ø˜u“}Ð$�}ä×&Ñ& t¨UÕ3ð	 8ô Ÿ™ 2 r¨2¨r´2·6±6Ð":Ð!;Ó<ˆÜ×Ñ˜}¨QÑ/×4Ñ4°mÕDrk   c                 óª  — t         j                  j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j	                  d¬«      }t        j                  ddgd d	t
        j                  ggd
¬«      }t        ||«      D ]%  \  }}|€||k(  rŒJ ‚t        j                  ||«       Œ' y )N©r   r*   r˜   r¯   )r   r*   éc   r‚  r�   Nrº  )rw  rt   rm   F©r¬  r‰   rŠ   r‹   r@   r   )
rF   r,  rÞ   rc   rz  r1   rN   rß  ry   rz   )r…   ri   r  rV   r"  r#  s         r8   Útest_list_values_behind_nullz1TestConvertListTypes.test_list_values_behind_nullo
  s¬   € Ü�l‰l×&Ñ&Ü—H‘Hš\Ó*Ü—8‘8Ò3Ó4Ü—‘Ò.Ó/ð 'ó 
ˆð
 —‘¨U�Ó3ˆä—8‘8˜b "˜X t¨b´"·&±&¨\Ð:À(ÔKˆÜ˜v xÖ0‰KˆD�%Øˆ}Ø˜u“}Ð$�}ä×&Ñ& t¨UÕ3ñ	 1rk   rY   c                 ó2  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  ddgddgd	d
gg«      }t        j                  ||«       y )Nr:  ©r*   r*   r*   ©r   r*   r�   r˜   r™   r¯   ©rw  Úsizesrt   r   r*   r�   r˜   r™   r¯   ©rÞ   rF   rc   rJ   r/   rd   rS   re   ©r…   rY   ri   rq  rV   s        r8   Ú.test_list_view_to_pandas_with_in_order_offsetszCTestConvertListTypes.test_list_view_to_pandas_with_in_order_offsets~
  óz   € à×ÑÜ—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8Ò.Ó/ð  ó 
ˆð —‘“ˆÜ—9‘9˜q !˜f q¨! f¨q°!¨fÐ5Ó6ˆä
×Ñ˜v xÕ0rk   c                 ó2  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  ddgddgd	d
gg«      }t        j                  ||«       y )N)r*   r˜   r   r†  r‡  rˆ  r�   r˜   r™   r¯   r   r*   rŠ  r‹  s        r8   Ú2test_list_view_to_pandas_with_out_of_order_offsetszGTestConvertListTypes.test_list_view_to_pandas_with_out_of_order_offsets‹
  r�  rk   c                 ó2  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  g d¢g d¢g d¢g«      }t        j                  ||«       y )Nrš   )r˜   r˜   r˜   r‡  rˆ  r·   )r*   r�   r˜   r™   )r�   r˜   r™   r¯   rŠ  r‹  s        r8   Ú1test_list_view_to_pandas_with_overlapping_offsetszFTestConvertListTypes.test_list_view_to_pandas_with_overlapping_offsets˜
  sn   € à×ÑÜ—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8Ò.Ó/ð  ó 
ˆð —‘“ˆÜ—9‘9šlªLº,ÐGÓHˆä
×Ñ˜v xÕ0rk   c           	      ór  — |j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  dd g«      t        j                  g d¢«      ¬«      }|j                  «       }t	        j
                  dt        j                  gg d g«      }t        j                  ||«       y )N)r   r*   r*   )r*   r   r   r   r  ©rw  r‰  rt   rm   )
rÞ   rF   rc   rJ   r/   rd   r1   rN   rS   re   r‹  s        r8   Ú)test_list_view_to_pandas_with_null_valuesz>TestConvertListTypes.test_list_view_to_pandas_with_null_values¥
  s†   € à×ÑÜ—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8˜Q ˜IÓ&Ü—‘Ò.Ó/ð	  ó 
ˆð —‘“ˆÜ—9‘9˜q¤"§&¡&˜k¨2¨tÐ4Ó5ˆä
×Ñ˜v xÕ0rk   c           	      óì  — t        j                  «        t        j                  «       }|j	                  t        j
                  g d¢«      t        j
                  g d¢«      t        j
                  g d¢«      ¬«      }|j	                  t        j
                  g d¢«      t        j
                  g d¢«      t        j
                  g d¢«      t        j
                  g d¢«      ¬	«      }t        j                  ||g«      }|j                  «       }t        j                  d
dgdd
gddgg d¢ddt        j                  gd g«      }t        j                  ||«       ~~~~t        j                  «       }||k(  sJ ‚y )N)r*   r   r   r†  r·   rˆ  )r   r   r   )r�   r�   r   )r™   r¯   r½   Nr  r“  r�   r˜   r*   r   )r™   r¯   r½   r¯   r½   )ÚgcÚcollectrF   Útotal_allocated_bytesrÞ   rc   r­  rJ   r/   rd   r1   rN   rS   re   )	r…   rY   Úbytes_startrp  r¯  ri   rq  rV   Ú	bytes_ends	            r8   Ú(test_list_view_to_pandas_multiple_chunksz=TestConvertListTypes.test_list_view_to_pandas_multiple_chunks³
  s%  € ä
�
‰
ŒÜ×.Ñ.Ó0ˆØ× Ñ Ü—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8šLÓ)ð !ó 
ˆð
 × Ñ Ü—H‘HšYÓ'Ü—(‘(š9Ó%Ü—8‘8šOÓ,Ü—‘Ò.Ó/ð	 !ó 
ˆô ×Ñ  d˜|Ó,ˆà—‘“ˆÜ—9‘9˜q !˜f q¨! f¨q°!¨f²iÀ!ÀQÌÏÉÀÐQUÐVÓWˆä
×Ñ˜v xÔ0àØØØÜ×,Ñ,Ó.ˆ	Ø˜KÒ'Ð'Ñ'rk   )5rÂ  rÃ  rÄ  rÅ  rá  rã  rå  rç  rí  rï  rò  r÷  rù  r  r  r
  r  r  r  r  r$  r&  r.  r8  rA  r’   rÆ  rÇ  rF   r   r«  rö  rE  rK  rM  rP  rT  rX  r¼  r]  rl  rr  rt  rx  r  r„  ÚListViewArrayÚLargeListViewArrayrŒ  r�  r‘  r”  r›  r?  rk   r8   rÛ  rÛ  `  sŒ  „ ñò@ò&ò"
Lò
/ò,ò@ò/ò*ò2*ò0ò$$ò$ò/ò1ò)òEò$0ò"Eò5ò,5ò*%CðN ‡[�[×ÑÐ.à�H‰HØ�ˆV�a�S˜$ÐØ�A�3˜Ðð	
ð �I‰IØ�Tˆ]˜S˜E 4Ð(Ø�C�5˜$Ðð	
ð �G‰GØ�Dˆ\˜D˜6 4Ð(Ø�D�6˜4Ð ð	
ð1ó ñ"Gó#ð"Gò
*ò+ò#ò#ò:ð ‡[�[×Ññ+ó ð+ò	3òDòDòDòEò<4ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ
1ó Qð
1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ
1ó Qð
1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ
1ó Qð
1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ1ó Qð1ð ‡[�[×Ñ˜W r×'7Ñ'7¸×9NÑ9NÐ&OÓPñ(ó Qñ(rk   rÛ  c                   óª   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  e	j                  j                  d„ «       «       Zd„ Zd	„ Zd
„ Zy)ÚTestConvertStructTypesz,
    Conversion tests for struct types.
    c           	      ó"  — t        j                  ddddœdddœgi«      }t        j                  dt        j                  dt        j
                  «       fdt        j
                  «       fg«      fg«      }t        ||¬	«       t        |||¬
«       y )Nr‚  r   r*   rF  r�   r˜   r¡   rÍ   rÒ  rÞ  )r/   r0   rF   r;   rë  r   r]   )r…   rU   rW   s      r8   Útest_pandas_roundtripz,TestConvertStructTypes.test_pandas_roundtripÖ
  s�   € Ü�\‰\˜7¨1°1Ñ%5¸QÀQÑ7GÐ$HÐIÓJˆäŸ)™)Ø”b—i‘i #¤r§x¡x£zÐ!2°S¼"¿(¹(»*Ð4EÐ FÓGÐHð%
ó ˆô 	  °OÕDô 	 Ø�¸ö	Irk   c                 ó
  — t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t         j
                  j                  |||gg d¢«      }t        j                  d dddœdd d	dœd
dd dœg«      }t        j                  |j                  «       «      }t        j                  ||«       y )N)Nr*   r�   r}  )r¡   NrÜ   )TFN)rF  r  r$  r¡   Tr*   Fr�   rÜ   )rF   rc   r   r«  rï  r+  rÞ   r/   rd   rJ   rS   re   )r…   rF  r  r$  ri   rV   rË  s          r8   Útest_to_pandasz%TestConvertStructTypes.test_to_pandasã
  sÀ   € Ü�x‰xš¬2¯8©8«:Ô6ˆÜ�x‰xÒ(¬r¯y©y«{Ô;ˆÜ—‘Ò,´2·8±8³:Ô>ˆÜ�n‰n×(Ñ(Ø�4˜ÐÚ%ó'ˆô —9‘9Ø 3°Ñ6Ø ¨uÑ5Ø ¨dÑ3ð
ó ˆô —‘˜3Ÿ=™=›?Ó+ˆÜ
×Ñ˜v xÕ0rk   c                 óœ  — t        j                  «        t        j                  «       }t        j                  dgt        j
                  «       ¬«      }t        j                  dgt        j
                  «       ¬«      }t        j                  j                  |gdg«      }t        j                  j                  |gdg«      }t        j                  ||g«      }t        j                  ddiddig«      }t        j                  |j                  «       «      }t        j                  ||«       ~~~~~~t        j                  «       }	|	|k(  sJ ‚y )Nr   r}  r*   rF  )r–  r—  rF   r˜  rc   r   r+  rÞ   r­  r/   rd   rJ   rS   re   )
r…   r™  Úints1Úints2rp  r¯  ri   rV   rË  rš  s
             r8   Útest_to_pandas_multiple_chunksz5TestConvertStructTypes.test_to_pandas_multiple_chunksô
  s  € ä
�
‰
ŒÜ×.Ñ.Ó0ˆÜ—‘˜!˜¤2§8¡8£:Ô.ˆÜ—‘˜!˜¤2§8¡8£:Ô.ˆÜ�~‰~×)Ñ)¨5¨'°F°8Ó<ˆÜ�~‰~×)Ñ)¨5¨'°F°8Ó<ˆÜ×Ñ  d˜|Ó,ˆä—9‘9Ø�QˆKØ�QˆKð
ó ˆô
 —‘˜3Ÿ=™=›?Ó+ˆÜ
×Ñ˜v xÔ0àØØØØØÜ×,Ñ,Ó.ˆ	Ø˜KÒ'Ð'Ñ'rk   c                 óN  — t        j                  dt         j                  fdt         j                  fg«      }t	        j
                  t	        j                  dt	        j                  «       «      t	        j                  dt	        j                  «       «      g«      }t        j                  g |¬«      }t	        j                  ||¬«      }|j                  «       g k(  sJ ‚t        j                  ddg|¬«      }t	        j                  ||¬«      }|j                  «       dd	d
œddd
œgk(  sJ ‚t	        j                  |t        j                  dd	g«      |¬«      }|j                  «       dd	d
œd gk(  sJ ‚t        j                  g «      }t	        j
                  g «      }t        j                  g |¬«      }t	        j                  ||¬«      }|j                  «       g k(  sJ ‚t        j                  ddg|¬«      }t	        j                  ||¬«      }|j                  «       i i gk(  sJ ‚y )Nr7   )Úy_titlerR  rR  r   r}  )r  T)é+   Fr  T)r7   rR  rª  Fr³  r?  )	r1   r   r   rï  rF   rë  rƒ   rc   ré  ©r…   r»  rC  r    ri   s        r8   Útest_from_numpyz&TestConvertStructTypes.test_from_numpy  s·  € Ü�X‰X˜œRŸX™X�Ø(¬"¯(©(Ð3ð5ó 6ˆä�Y‰YœŸ™ ¤b§h¡h£jÓ1ÜŸ™ ¤b§h¡h£jÓ1ð3ó 4ˆô �x‰x˜ "Ô%ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ "Ò$Ð$Ð$ä�x‰x˜ [Ð1¸Ô<ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹¨°$Ñ#7Ø)+°%Ñ#8ð#:ò :ð 	:ð :ô �h‰h�t¤"§(¡(¨E°4¨=Ó"9ÀÔCˆØ�}‰}‹¨°$Ñ#7¸Ð">Ò>Ð>Ð>ô �X‰X�b‹\ˆÜ�Y‰Y�r‹]ˆä�x‰x˜ "Ô%ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ "Ò$Ð$Ð$ä�x‰x˜˜R˜¨Ô+ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ 2 r (Ò*Ð*Ñ*rk   c                 ó  — t        j                  dt        j                  dt         j                  fdt         j                  fg«      fdt         j                  fdt         j
                  fg«      }|j                  t        j                  dkD  rdndk(  sJ ‚t        j                  t        j                  dt        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      «      t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  g |¬	«      }t        j                  ||¬
«      }|j                  «       g k(  sJ ‚t        j                  ddg|¬	«      }t        j                  ||¬
«      }|j                  «       dddœdddœdddœdddœgk(  sJ ‚y )Nr7   ÚxxÚyyrR  Úzl        r  r¸   r   r}  ))r   Tr*   r¶   ))r�   Fr˜   rf  r   T)r®  r¯  r*   r¶   )r7   rR  r°  r�   Fr˜   rf  )r1   r   r   rï  r   Úobject_ÚitemsizeÚsysÚmaxsizerF   rë  rƒ   r«  rc   ré  r«  s        r8   Útest_from_numpy_nestedz-TestConvertStructTypes.test_from_numpy_nested.  s›  € ä�X‰X˜œRŸX™X¨¬b¯g©g Ø(,¬b¯h©hÐ'7ð'9ó :ð ;àœRŸX™X�ØœRŸZ™ZÐ(ð*ó +ˆð �{‰{¤S§[¡[°5Ò%8™r¸aÒ@Ð@Ð@Ü�Y‰YœŸ™ ¤b§i¡i´·±¸$ÄÇÁÃ	Ó1JÜ13·±¸$ÄÇÁÃ
Ó1Kð1Mó 'Nó OäŸ™ ¤b§h¡h£jÓ1ÜŸ™ ¤b§i¡i£kÓ2ð4ó 5ˆô
 �x‰x˜ "Ô%ˆÜ�h‰h�t "Ô%ˆØ�}‰}‹ "Ò$Ð$Ð$ä�x‰xØ!Ø"ð$à+-ô/ˆô �h‰h�t "Ô%ˆØ�}‰}‹Ø $Ñ'¨a°eÑ<Ø %Ñ(¨q°uÑ=ð#?ò ?ð 	?ñ ?rk   c                 óŒ  ‡— d}t        j                  dt         j                  fdg«      }d|j                  z
  }d|z  }|||j                  z   z  }t        j                  ||¬«      }t         j
                  j                  |«      |d<   ||d<   t         j                  |d   |d   dk  <   t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  ||d	¬
«      }|j                  d	¬«       |j                  dk(  sJ ‚d„ Šdˆfd„	}	 |	||«       ~t         j
                  j                  |«      dk  }
t        j                  |||
d	¬«      }|j                  d	¬«       |j                  dk(  sJ ‚ |	|||
«       ~y )Nl        r7   )rR  r@   i   ó   .r   rR  r—  TrP  rm  r*   c              3   óN   K  — | j                  «       D ]  }|E d {  –—†  Œ y 7 Œ­wr  )Ú
iterchunks)ri   rA  s     r8   Úiter_chunked_arrayzHTestConvertStructTypes.test_from_numpy_large.<locals>.iter_chunked_array]  s#   è ø€ ØŸ™Ö)�Ø × Ñ ñ *Ø ús   ‚%›#œ%c                 óZ  •— t        | «      t        |«      k(  sJ ‚|d   }|d   }t         ‰	| «      «      D ]Y  \  }}	 |j                  «       }|�	||   r|�:J ‚||   }t        j                  |«      r|d   �J ‚|d   |k(  sJ ‚|d   ||   k(  sJ ‚Œ[ y # t
        $ r t        d|«       ‚ w xY w)Nr7   rR  zFailed at index)r¿   Ú	enumeraterô  r1   r  Ú	ExceptionÚprint)
ri   r    rm   ÚxsÚysÚirÃ  r  r7   rº  s
            €r8   Úcheckz;TestConvertStructTypes.test_from_numpy_large.<locals>.checka  sÐ   ø€ Ü�s“8œs 4›yÒ(Ð(Ð(Ø�c‘ˆBØ�c‘ˆBÜ#Ñ$6°sÓ$;Ö<‘��3ðØŸ	™	›�AØÐ'¨D°ªGØ ˜yÐ(˜yà˜q™E˜ÜŸ8™8 Aœ;Ø#$ S¡6 >Ð1 >à#$ S¡6¨Q¢;Ð. ;Ø  ™v¨¨A©šÐ.˜øñ =øô !ò ÜÐ+¨QÔ/Øðús   ½ABÂB*)r`   rm   rI   r  )r1   r   r!   r²  rZ  r3   Úrandom_samplerN   rF   rë  rƒ   r_  rc   rp  rg  )r…   Útarget_sizer»  ÚbsÚblockr[  r    rC  ri   rÂ  rm   rº  s              @r8   Útest_from_numpy_largez,TestConvertStructTypes.test_from_numpy_largeH  s~  ø€ ð "ˆÜ�X‰X˜œRŸZ™ZÐ(¨/Ð:Ó;ˆØ�R—[‘[Ñ ˆØ�r‘	ˆØ˜B §¡Ñ,Ñ-ˆÜ�x‰x˜ Ô$ˆÜ—I‘I×+Ñ+¨AÓ.ˆˆS‰	ØˆˆS‰	ä%'§V¡VˆˆS‰	�$�s‘)˜c‘/Ñ"ä�Y‰YœŸ™ ¤b§j¡j£lÓ3ÜŸ™ ¤b§i¡i£kÓ2ð4ó 5ˆä�h‰h�t "°$Ô7ˆØ�‰˜$ˆÔØ�~‰~ Ò"Ð"Ð"ò	!õ	ñ( 	ˆc�4ÔØô �y‰y×&Ñ& qÓ)¨CÑ/ˆÜ�h‰h�t "¨4¸TÔBˆØ�‰˜$ˆÔØ�~‰~ Ò"Ð"Ð"áˆc�4˜ÔÙrk   c                 ó¬  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  dt
        j                  fdt
        j                  fg«      }t        j                  g |¬«      }t        j                  t        d¬«      5  t        j                  ||¬«       d d d «       t        j                  g «      }t        j                  t        d¬«      5  t        j                  ||¬«       d d d «       y # 1 sw Y   ŒZxY w# 1 sw Y   y xY w)	Nr7   rR  r°  r   zMissing field 'y'r.  r}  zExpected struct array)rF   rë  rƒ   r   rï  r1   r   rc   r’   rK  rL  rì  )r…   rC  r»  r    s       r8   Útest_from_numpy_bad_inputz0TestConvertStructTypes.test_from_numpy_bad_input�  sè   € Ü�Y‰YœŸ™ ¤b§h¡h£jÓ1ÜŸ™ ¤b§h¡h£jÓ1ð3ó 4ˆä�X‰X˜œRŸX™X�ØœRŸX™X�ð(ó )ˆô �x‰x˜ "Ô%ˆÜ�]‰]œ:Ø!4ö6ä�H‰H�T Õ#÷6ô �x‰x˜‹|ˆÜ�]‰]œ9Ø!8ö:ä�H‰H�T Õ#÷:ð :÷	6ð 6ú÷:ð :ús   ÃD>ÄE
Ä>EÅ
Ec                 ó’  — t        j                  dddgi«      }t        j                  ddddœdddœgi«      }t        j                  d	t        j                  «       fd
t        j                  «       fg«      }t        j                  |d   «      }t        ||d   |¬«       t        j                  d|fg«      }t        ||||¬«       y )NÚtuples)r   r*   ©r�   r˜   r   r*   rF  r�   r˜   r¡   rÍ   rî  )rV   r;   rW   )
r/   r0   rF   rë  r   r1   Úasarrayrv   r;   r]   )r…   rU   rz  Ústruct_typeri   rW   s         r8   Útest_from_tuplesz'TestConvertStructTypes.test_from_tuples�  s»   € Ü�\‰\˜8 f¨fÐ%5Ð6Ó7ˆÜ—l‘lØ˜a aÑ(°¸Ñ*:Ð;Ð<ó>ˆô —i‘i #¤r§x¡x£zÐ!2°S¼"¿(¹(»*Ð4EÐ FÓGˆä�j‰j˜˜H™Ó&ˆÜØ˜+ hÑ/°kõ	Cô Ÿ)™) h°Ð%<Ð$=Ó>ˆÜØ˜¨_Ø+ö	-rk   c           	      ó8  — ddg}t        j                  g d¢«      j                  «       t        j                  g d¢«      j                  «       g}t         j                  j	                  ||¬«      }t        d„ |D «       Ž }|D �cg c]  }t        t        ||«      «      ‘Œ }}t        j                  |«      }t        j                  |j                  «       |«       |j                  g d¢«      }d |d<   t        j                  |j                  «       |«       y c c}w )	NrF  r  )éÈ  i  rÑ  )r¶   r¶   Nrä   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr  )ré  )Ú.0rW  s     r8   Ú	<genexpr>zCTestConvertStructTypes.test_struct_of_dictionary.<locals>.<genexpr>¨  s   è ø€ ÐG¹h°U˜uŸ™×0¹hùs   ‚)r   Nr*   r   )rF   rc   r§  r+  rÞ   rß  rÞ  r/   rd   rS   re   rJ   rV  )r…   r£   Úchildrenri   Úrows_as_tuplesrn  Úrows_as_dictsrV   s           r8   Útest_struct_of_dictionaryz0TestConvertStructTypes.test_struct_of_dictionary¡  sâ   € Ø˜Ð ˆÜ—H‘Hš_Ó-×?Ñ?ÓAÜ—H‘HÒ1Ó2×DÑDÓFðHˆä�n‰n×(Ñ(¨¸Ð(Ó?ˆô ÑG¹hÓGÐHˆÙ:HÓI¹.°3œœc %¨›oÕ.¸.ˆÐIä—9‘9˜]Ó+ˆÜ
×Ñ˜sŸ}™}›°Ô9ð �h‰h’|Ó$ˆØˆ�‰Ü
×Ñ˜sŸ}™}›°Õ9ùò Js   ÂDN)rÂ  rÃ  rÄ  rÅ  r¡  r£  r§  r¬  rµ  r’   rÆ  Úslowr¼  rÇ  rÉ  rÏ  rØ  r?  rk   r8   rŸ  rŸ  Ñ
  sa   „ ñòIò1ò"(ò6+ò>?ð4 ‡[�[×ÑØ‡[�[×Ññ5ó ó ð5òn$ò-ó":rk   rŸ  c                   óX   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zy)ÚTestZeroCopyConversionz@
    Tests that zero-copy conversion works with some types.
    c                 ó‚   — t        j                  g d¢«      j                  d¬«      }t        j                  |g d¢«       y )Nrš   Trƒ  rx   )r…   r[   s     r8   Útest_zero_copy_successz-TestZeroCopyConversion.test_zero_copy_success¹  s.   € Ü—‘š)Ó$×.Ñ.¸dÐ.ÓCˆÜ×Ñ˜v¢yÕ1rk   c                 óh  — t         j                  j                  t        j                  ddg«      t        j                  dgd¬«      «      }|j                  d¬«      }t        j                  ddg«      }t        j                  t        j                  |«      t        j                  |«      d¬«       y )	Nr   r™   r   r   Trƒ  Frn   )rF   rR  rÞ   r1   rc   rJ   r/   r•  rS   re   rd   )r…   ri   r[   rt   s       r8   Útest_zero_copy_dictionariesz2TestZeroCopyConversion.test_zero_copy_dictionaries½  sƒ   € Ü× Ñ ×,Ñ,Ü�H‰H�a˜�VÓÜ�H‰H�a�S Ô(ó
ˆð
 —‘¨d�Ó3ˆÜ—‘  A Ó'ˆä
×ÑœrŸy™y¨Ó0´"·)±)¸FÓ2CØ+0ö	2rk   c                 óª   — t        j                  dgd¬«      }t        j                  |«      j                  d¬«      }t	        j
                  ||«       y )Nr+  r'   r   Trƒ  ©r1   rc   rF   rJ   ry   rz   ©r…   ri   r[   s      r8   Útest_zero_copy_timestampz/TestZeroCopyConversion.test_zero_copy_timestampÉ  s@   € Ü�h‰h˜�~Ð-=Ô>ˆÜ—‘˜#“×(Ñ(¸Ð(Ó=ˆÜ×Ñ˜v sÕ+rk   c                 óª   — t        j                  dgd¬«      }t        j                  |«      j                  d¬«      }t	        j
                  ||«       y )Nr   r)   r   Trƒ  rá  râ  s      r8   Útest_zero_copy_durationz.TestZeroCopyConversion.test_zero_copy_durationÎ  s@   € Ü�h‰h˜�sÐ"3Ô4ˆÜ—‘˜#“×(Ñ(¸Ð(Ó=ˆÜ×Ñ˜v sÕ+rk   c                 ó˜   — t        j                  t        j                  «      5  |j	                  d¬«       d d d «       y # 1 sw Y   y xY w)NTrƒ  )r’   rK  rF   rw  rJ   ©r…   ri   s     r8   Úcheck_zero_copy_failurez.TestZeroCopyConversion.check_zero_copy_failureÓ  s,   € Ü�]‰]œ2Ÿ?™?Õ+Ø�M‰M¨ˆMÔ.÷ ,×+Ñ+ús   ¤A Á A	c                 óœ   — t        t        j                  «      t        d«      k  r'| j                  t	        j
                  g d¢«      «       y y )Nr�  )rü   ÚBÚC)r   r/   r@  rè  rF   rc   r¶  s    r8   Ú&test_zero_copy_failure_on_object_typesz=TestZeroCopyConversion.test_zero_copy_failure_on_object_types×  s4   € Ü”2—>‘>Ó"¤W¨WÓ%5Ò5à×(Ñ(¬¯©²/Ó)BÕCð 6rk   c                 óP   — | j                  t        j                  g d¢«      «       y )N)r   r   N©rè  rF   rc   r¶  s    r8   Ú*test_zero_copy_failure_with_int_when_nullszATestZeroCopyConversion.test_zero_copy_failure_with_int_when_nullsÜ  s   € Ø×$Ñ$¤R§X¡XªlÓ%;Õ<rk   c                 óP   — | j                  t        j                  g d¢«      «       y )N)rí  r‰   Nrî  r¶  s    r8   Ú,test_zero_copy_failure_with_float_when_nullszCTestZeroCopyConversion.test_zero_copy_failure_with_float_when_nullsß  s   € Ø×$Ñ$¤R§X¡XÒ.>Ó%?Õ@rk   c                 óP   — | j                  t        j                  ddg«      «       y )NTFrî  r¶  s    r8   Ú$test_zero_copy_failure_on_bool_typesz;TestZeroCopyConversion.test_zero_copy_failure_on_bool_typesâ  s   € Ø×$Ñ$¤R§X¡X¨t°U¨mÓ%<Õ=rk   c                 óª   — t        j                  ddgddggt        j                  t        j                  «       «      ¬«      }| j	                  |«       y )Nr   r*   r¸   rõ  r}  )rF   rc   r  r   rè  rç  s     r8   Ú$test_zero_copy_failure_on_list_typesz;TestZeroCopyConversion.test_zero_copy_failure_on_list_typeså  s<   € Ü�h‰h˜˜A˜  A Ð'¬b¯h©h´r·x±x³zÓ.BÔCˆØ×$Ñ$ SÕ)rk   c                 ó~   — t        j                  dd gd¬«      }| j                  t        j                  |«      «       y )Nr   r'   r   ©r1   rc   rè  rF   rç  s     r8   Ú.test_zero_copy_failure_on_timestamp_with_nullszETestZeroCopyConversion.test_zero_copy_failure_on_timestamp_with_nullsé  s-   € Ü�h‰h˜˜4�yÐ(8Ô9ˆØ×$Ñ$¤R§X¡X¨c£]Õ3rk   c                 ó~   — t        j                  dd gd¬«      }| j                  t        j                  |«      «       y )Nr   r)   r   r÷  rç  s     r8   Ú-test_zero_copy_failure_on_duration_with_nullszDTestZeroCopyConversion.test_zero_copy_failure_on_duration_with_nullsí  s-   € Ü�h‰h˜˜4�yÐ(9Ô:ˆØ×$Ñ$¤R§X¡X¨c£]Õ3rk   N)rÂ  rÃ  rÄ  rÅ  rÝ  rß  rã  rå  rè  rì  rï  rñ  ró  rõ  rø  rú  r?  rk   r8   rÛ  rÛ  ´  sE   „ ñò2ò
2ò,ò
,ò
/òDò
=òAò>ò*ò4ó4rk   rÛ  c                  óN   — t        «       } t        | d¬«       t        | dd¬«       y )NFr>   T©r?   rX   ©r9   r]   ©rU   s    r8   Ú_non_threaded_conversionrÿ  ò  s    € Ü	Ó	€BÜ˜B¨EÕ2Ü˜B¨E¸DÖArk   c                  óN   — t        «       } t        | d¬«       t        | dd¬«       y )NTr>   rü  rý  rþ  s    r8   Ú_threaded_conversionr  ø  s    € Ü	Ó	€BÜ˜B¨DÕ1Ü˜B¨D¸4Ö@rk   c                   ó8  — e Zd ZdZd ej
                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd ej                  «       fd	 ej                  «       fd
 ej                  «       fd ej                  «       fd ej                  «       fd ej                   «       fd ej"                  «       fd ej"                  d«      fd ej$                   ej                  «       «      fgZd„ Zd„ Zd„ Zd„ Zd„ Zej4                  j6                  ej4                  j8                  d„ «       «       Zd„ Zd„ Zd„ Z d„ Z!ej4                  jE                  ddg d¢iejF                  fdg d¢iejF                  fdddgiejF                  fdddgiejH                  fdddgiejH                  fdddgiejH                  fg«      d„ «       Z%d „ Z&d!„ Z'd"„ Z(d#„ Z)d$„ Z*d%„ Z+d&„ Z,d'„ Z-d(„ Z.y))*ÚTestConvertMiscz)
    Miscellaneous conversion tests.
    r   r   r   r   r   r   r   r   rÓ  r    r!   r@   r  c                 óL   — t        j                  dg d¢i«      }t        |«       y )Nr¡   ©NNNrö   r¤   s     r8   Útest_all_none_objectsz%TestConvertMisc.test_all_none_objects  s   € Ü�\‰\˜3Ò 2Ð3Ó4ˆÜ Õ#rk   c                 óz   — t        j                  dg d¢i«      }|d   j                  d«      |d<   t        |«       y )Nr¡   r  r!  )r/   r0   rG  r]   r¤   s     r8   Útest_all_none_categoryz&TestConvertMisc.test_all_none_category  s4   € Ü�\‰\˜3Ò 2Ð3Ó4ˆØ�S‘'—.‘. Ó,ˆˆ3‰Ü Õ#rk   c                 ó  — t        j                  ddg«      j                  d«      }t        j                  |d   |d   |d   g|¬«      }t	        j
                  |d¬«      }|j                  j                  j                  dk(  sJ ‚y )	Nz
2024-01-01z
2024-01-02rq  r   r   )rt   rœ  Tró  )	r/   rå   r¼  r•  rF   rc   r`   Ú
value_typer¦   )r…   ÚcatsÚcatri   s       r8   Útest_categorical_with_timezonez.TestConvertMisc.test_categorical_with_timezone   ss   € ä×Ñ ¨|Ð <Ó=×IÑIÈ,ÓWˆÜ�n‰n T¨!¡W¨d°1©g°t¸A±wÐ$?ÈDÔQˆä�h‰h�s¨Ô-ˆà�x‰x×"Ñ"×%Ñ%¨Ò5Ð5Ñ5rk   c                 ó  — | j                   D ]z  \  }}t        t        j                  «      t        d«      k\  r|t	        j
                  «       k(  rd}t        j                  g t        j                  |«      ¬«      }t        ||¬«       Œ| y )Nr�  r,   r   r}  )
Ú
type_pairsr   r/   r@  rF   r«  r1   rc   r   rv   )r…   Ú	dtype_strÚpa_typeri   s       r8   Útest_empty_arraysz!TestConvertMisc.test_empty_arrays)  sa   € Ø"&§/¤/ÑˆI�wÜœŸ™Ó'¬7°7Ó+;Ò;ØœrŸy™y›{Ò*à!�	Ü—(‘(˜2¤R§X¡X¨iÓ%8Ô9ˆCÜ" 3¨WÖ5ñ #2rk   c                 ó   — t        «        y r  )rÿ  r¶  s    r8   Útest_non_threaded_conversionz,TestConvertMisc.test_non_threaded_conversion2  s   € Ü Õ"rk   c                 óä   — t        j                  d«      }	 |j                  t        «       |j	                  «        |j                  «        y # |j	                  «        |j                  «        w xY w)Nr*   )ÚmpÚPoolÚapplyr  ÚcloseÚjoin)r…   Úpools     r8   Ú%test_threaded_conversion_multiprocessz5TestConvertMisc.test_threaded_conversion_multiprocess5  sK   € ô �w‰w�q‹zˆð	Ø�J‰JÔ+Ô,à�J‰JŒLØ�I‰I�Køð �J‰JŒLØ�I‰I�Kús   —A Á"A/c                 óô  — d}dd ddt         j                  g}g d¢}dd ddt         j                  g}t        j                  ||z  «      t        j                  ||z  ddg¬	«      t        j                  ||z  «      t        j                  ||z  «      t        j                  ||z  g d
¢d¬«      ||z  ||z  ||z  ||z  ||z  dœ
}t        j                  |«      }t        |«       |D ]  }t        ||   «       Œ y )Nr™   r¶   rf  rZ  )r˜   r™   r¯   r½   r¸   r[  rs  r]  r›  )rf  rZ  r¶   T©rœ  r(  )
Úcat_stringsÚcat_strings_with_naÚcat_intsÚ
cat_binaryÚcat_strings_orderedrF  r¦  rU  Ústrings2Ústrings3)r1   rN   r/   r•  r0   r]   rv   )r…   rW  rh  ri  Úv3r­  rU   ro  s           r8   Útest_categoryzTestConvertMisc.test_category@  só   € ØˆØ�T˜5 %¬¯©Ð0ˆÚˆØ�d˜F F¬B¯F©FÐ3ˆô Ÿ>™>¨"¨w©,Ó7Ü#%§>¡>°"°w±,Ø>CÀU¸^ô$MäŸ™ r¨G¡|Ó4ÜŸ.™.¨¨g©Ó6Ü#%§>¡>Ø�W‘Ò)>Øô$ð ˜‘LØ˜'‘\Ø˜G‘|Ø˜W™Ø˜W™ñ&ˆô �\‰\˜&Ó!ˆÜ Ô#ãˆAÜ" 6¨!¡9Õ-ñ rk   c                 ó–   — d„ }t        j                  g d¢ddg¬«      t        j                  g d¢ddgd¬«      g}|D ]
  } ||«       Œ y )Nc                 óÆ   — t        j                  | «      }|j                  «       }t        j                  t        j                  |«      t        j                  | «      «       y r  )rF   rc   rJ   rS   re   r/   rd   )r  ri   r[   s      r8   Ú_checkzBTestConvertMisc.test_category_implicit_from_pandas.<locals>._check\  s;   € Ü—(‘(˜1“+ˆCØ—]‘]“_ˆFÜ×"Ñ"¤2§9¡9¨VÓ#4´b·i±iÀ³lÕCrk   r“  r¡   rÍ   r›  Tr  )r/   r•  )r…   r*  r­  ri   s       r8   Ú"test_category_implicit_from_pandasz2TestConvertMisc.test_category_implicit_from_pandasZ  sM   € ò	Dô �N‰Nš?¸¸S°zÔBÜ�N‰Nš?¸¸S°zØ#'ô)ð
ˆó
 ˆCÙ�3�Kñ rk   c                 ón   — t        j                  dt        j                  g «      i«      }t        |«       y )Nr  )r/   r0   r•  r]   r¤   s     r8   Útest_empty_categoryz#TestConvertMisc.test_empty_categoryi  s&   € ä�\‰\˜5¤"§.¡.°Ó"4Ð5Ó6ˆÜ Õ#rk   c                 ó€  — t        j                  «       dft        j                  «       dffD �]  \  }}t        j                  g t        j                  t        j
                  «       |«      «      }|j                  «       }t        j                  g t        j                  g |¬«      ¬«      }t        j                  t        j                  |«      t        j                  |«      «       t        j                  d|i«      }|j                  «       }t        j                  d|i«      }t        j                   ||«       �Œ y )Nr@   r   r   r›  r¡   )rF   r«  r   r­  Ú
dictionaryr   rJ   r/   r•  r1   rc   rS   re   rd   rZ   r0   rT   )r…   r  r   r¡   r[   rV   rZ   s          r8   Útest_category_zero_chunksz)TestConvertMisc.test_category_zero_chunksn  s×   € ä "§	¡	£¨XÐ6¼¿¹»ÀWÐ8MÔN‰NˆG�UÜ× Ñ  ¤R§]¡]´2·7±7³9¸gÓ%FÓGˆAØ—[‘[“]ˆFÜ—~‘~ b´R·X±X¸bÈÔ5NÔOˆHÜ×"Ñ"¤2§9¡9¨VÓ#4´b·i±iÀÓ6IÔJä—H‘H˜c 1˜XÓ&ˆEØ—_‘_Ó&ˆFÜ—|‘| S¨( OÓ4ˆHÜ×!Ñ! &¨(Ö3ñ Ork   zdata,error_typer¡   )r¡   r   rŠ   r   Tr‰   c                 óÈ   — t        j                  |«      }d}t        j                  ||¬«      5  t        j
                  j                  |«       d d d «       y # 1 sw Y   y xY w)Nú/Conversion failed for column a with type objectr.  )r/   r0   r’   rK  rF   rH   rI   )r…   r    Ú
error_typerU   r&  s        r8   Útest_mixed_types_failsz&TestConvertMisc.test_mixed_types_fails{  sC   € ô �\‰\˜$ÓˆØ?ˆÜ�]‰]˜:¨SÖ1Ü�H‰H× Ñ  Ô$÷ 2×1Ñ1ús   ¯ AÁA!c           
      ó2  — g }g d¢}d\  }}t         j                  j                  ||«      j                  «       dz  }g d¢}|D ]T  }t	        j
                  «       5  t	        j                  d«       |j                  |j                  |«      «       d d d «       ŒV |j                  t        j                  t        ||z  «      D �cg c]  }t        d«      ‘Œ c}t        ¬«      j                  ||«      j                  «       «       t        j                  g d¢|z  t        ¬«      j                  ||«      j                  «       }	d |	d	<   |j                  |	«       |j                  t        j                  d
||z  d¬«      j                  ||«      j                  «       «       |dkD  j                  t        «      d d …df   }
|D ]A  }t!        j"                  ||¬«      }|d   }t%        |«       t'        |«       t'        ||
¬«       ŒC y # 1 sw Y   �ŒÎxY wc c}w )Nr“  )r  r�   r  )
r÷  rø  rù  rú  rû  rü  rý  rþ  rÐ  rÑ  rA   r  r   r/  r™   r#   r%   r   r›   r¡   r  )r1   r3   r4   rs   rO   rP   rÒ   rÔ  rG  rc   r5   r   r@   Úreshaper2   r"   r/   r0   r]   rv   )r…   ÚcasesrL   ÚNÚKÚrandom_numbersÚnumeric_dtypesÚ	type_namerÁ  Úboolean_objectsÚstrided_maskÚcaserU   r\   s                 r8   Útest_strided_data_importz(TestConvertMisc.test_strided_data_importŒ  s±  € Øˆâ!ˆØ‰ˆˆ1ÜŸ™Ÿ™¨¨AÓ.×3Ñ3Ó5¸Ñ;ˆò&ˆó (ˆIä×(Ñ(Õ*Ü×%Ñ% hÔ/Ø—‘˜^×2Ñ2°9Ó=Ô>÷ +Ð*ð (ð 	�‰”R—X‘X¼¸qÀ1¹u¼ÓF¹°Aœ|¨BÕ/¸ÑFÜ$*ô,ç‘g˜a “m§D¡D£Fô	,ô
 Ÿ8™8Ò$7¸!Ñ$;Ä6ÔJß#™G A q›M¯$©$«&ð 	ð "ˆ˜ÑØ�‰�_Ô%à�‰”R—Y‘YÐ8¸!¸a¹%Ø%5ô7ç‘g˜a “m§D¡D£Fô	,ð '¨Ñ*×2Ñ2´4Ó8º¸A¸Ñ>ˆãˆDÜ—‘˜d¨GÔ4ˆBØ�S‘'ˆCä# BÔ'Ü" 3Ô'Ü" 3¨\Ö:ñ ÷/ +Ñ*üò
 Gs   Á6HÃHÈH	c                 ó  — d„ } |t        j                  d gdz  t        ¬«      «        |t        j                  t        j                  gdz  t        ¬«      «        |t        j                  d t        j                  d gt        ¬«      «       y )Nc                 óÞ   — t        j                  | «      }t        |t         j                  «      sJ ‚t	        |«      dk(  sJ ‚|j
                  dk(  sJ ‚|D ]  }|t         j                  u rŒJ ‚ y )Nr�   )rF   rc   rÀ   Ú	NullArrayr¿   rq   rô  )rf   r²  Úitems      r8   Ú_check_seriesz5TestConvertMisc.test_all_nones.<locals>._check_series¸  sc   € ÜŸ™ ›ˆIÜ˜i¬¯©Ô6Ð6Ð6Ü�y“> QÒ&Ð&Ð&Ø×'Ñ'¨1Ò,Ð,Ð,Û!�ØœrŸu™u’}Ð$�}ñ "rk   r�   r   )r/   rd   r@   r1   rN   )r…   rE  s     r8   Útest_all_noneszTestConvertMisc.test_all_nones·  s]   € ò	%ñ 	”b—i‘i  ¨¡
´&Ô9Ô:Ù”b—i‘i¤§¡ ¨1¡´FÔ;Ô<Ù”b—i‘i ¤r§v¡v¨tÐ 4¼FÔCÕDrk   c                 ó–  — t        dg d¢fdt        j                  g d¢t        j                  ¬«      fdg d¢fg«      }t	        j
                  |«      }t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        |||ddg   |¬«       y )Nr¡   )r   r   r*   r�   r˜   rÍ   )iöÿÿÿéûÿÿÿr   r™   r  r   rÜ   )r;   rV   rW   )r   r1   rc   r   r/   r0   rF   r;   rƒ   r   r]   )r…   r    rU   Úpartial_schemas       r8   Útest_partial_schemaz#TestConvertMisc.test_partial_schemaÄ  s¢   € ÜØ’/Ð"Ø”"—(‘(Ò.´b·h±hÔ?Ð@ØÒ%Ð&ð
ó ˆô
 �\‰\˜$ÓˆäŸ™Ü�H‰H�Sœ"Ÿ(™(›*Ó%Ü�H‰H�Sœ"Ÿ(™(›*Ó%ð$
ó ˆô
 	  ¨>Ø)+¨S°#¨J©Ø0>ö	@rk   c                 óX  — t        j                  i «      }t        |d ¬«       t        |d d¬«       t        j                  t        j                  g «      ¬«      }t        ||d¬«       t        ||dd¬«       t        j                  i g d¢¬«      }t        |d¬«       t        |dd¬«       y )	Nr¢   T)r<   rX   r›   Frš   r»   )rX   r<   )r/   r0   r]   rê   )r…   rU   rV   rÃ   s       r8   Ú test_table_batch_empty_dataframez0TestConvertMisc.test_table_batch_empty_dataframeÕ  s|   € Ü�\‰\˜"ÓˆÜ °4Õ8Ü °4À$ÕGä—<‘<¬¯©°«Ô5ˆÜ  H¸UÕCÜ  H¸UÈTÕRä�l‰l˜2¢YÔ/ˆÜ °DÕ9Ü ¨dÀ4ÖHrk   c           
      ót  — t        j                  g t        j                  «       ¬«      }t        j                  t        j                  g t        ¬«      «      }t        j                  |j                  «       t        j                  t        j                  g t
        j                  ¬«      «      «       t        j                  g t        j                  t        j                  «       «      ¬«      }t        j                  |j                  «       |«       t        j                  g t        j                  t        j                  dt        j                  «       «      g«      ¬«      }t        j                  |j                  «       |«       t        j                  g t        j                  «       ¬«      }t        t        j                  «      t        d«      k\  r@t        j                  g t         ¬«      }t        j                  |j                  «       |«       y t        j                  |j                  «       |«       y )Nr}  r   r¡   r�  )rF   rc   r   r/   rd   r1   r@   rS   re   rJ   r  rë  rƒ   r«  r   r@  r,   )r…   ri   Úempty_objectsr.   s       r8   Útest_convert_empty_tablez(TestConvertMisc.test_convert_empty_tableâ  sC  € Ü�h‰h�r¤§¡£
Ô+ˆÜŸ	™	¤"§(¡(¨2´VÔ"<Ó=ˆÜ
×Ñ˜sŸ}™}›Ü!Ÿy™y¬¯©°"¼B¿H¹HÔ)EÓFô	Hä�h‰h�r¤§¡¬¯©«Ó 4Ô5ˆÜ
×Ñ˜sŸ}™}›°Ô>Ü�h‰h�r¤§	¡	¬2¯8©8°C¼¿¹»Ó+DÐ*EÓ FÔGˆÜ
×Ñ˜sŸ}™}›°Ô>ä�h‰h�r¤§	¡	£Ô,ˆÜ”2—>‘>Ó"¤g¨gÓ&6Ò6äŸ	™	 "¬CÔ0ˆIÜ×"Ñ" 3§=¡=£?°IÕ>ä×"Ñ" 3§=¡=£?°MÕBrk   c                 óÒ  — t        j                  dt         j                  fdt         j                  fg«      }t        j                  ddg|¬«      }|j
                  dk(  sJ ‚t        j                  |d   t        j                  «       ¬«      }|j                  «       dd	gk(  sJ ‚t        j                  |d   t        j                  «       ¬«      }|j                  «       d
dgk(  sJ ‚y)zt
        ARROW-2172: converting from a Numpy array with a stride that's
        not a multiple of itemsize.
        r7   rR  )r  rO  )éÕÿÿÿr*   r   )r¯   r}  r  rQ  rO  r*   N)r1   r   r   r   rc   r  rF   ré  )r…   r   r    ri   s       r8   Útest_non_natural_stridez'TestConvertMisc.test_non_natural_strideô  s²   € ô
 —‘˜3¤§¡˜/¨C´·±¨?Ð;Ó<ˆÜ�x‰x˜ 8Ð,°EÔ:ˆØ�|‰|˜tÒ#Ð#Ð#Ü�h‰h�t˜C‘y¤r§x¡x£zÔ2ˆØ�}‰}‹ 2 s )Ò+Ð+Ð+Ü�h‰h�t˜C‘y¤r§x¡x£zÔ2ˆØ�}‰}‹ 2 q 'Ò)Ð)Ñ)rk   c                 ó&  — t        j                  ddt         j                  ¬«      ddd…   }t        j                  |t        j
                  «       ¬«      }t        j                  g d¢t        j
                  «       ¬«      }|j                  |«       y )	Nr   r  r   r   rO  r*   r}  )r‰   r‹   r�   g      @)r1   r2   r    rF   rc   r!   rK   )r…   r  Úpa_arrrV   s       r8   Ú#test_array_from_strided_numpy_arrayz3TestConvertMisc.test_array_from_strided_numpy_array  s\   € ä—‘˜1˜b¬¯
©
Ô3°A°b¸°FÑ;ˆÜ—‘˜&¤r§z¡z£|Ô4ˆÜ—8‘8Ò0´r·z±z³|ÔDˆØ�‰�hÕrk   c                 ó|  — t        j                  t        d«      t        j                  ddd«      dœ«      }t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  t        «      5  t
        j                  j                  ||¬«       d d d «       t
        j                  j                  ||d	¬
«      }|j                  d«      j                   t        j                  «       k(  sJ ‚y # 1 sw Y   Œ^xY w)NÚabcr   r   r�   )rü   rê  rü   rê  r~  Frç  )r/   r0   r)  r1   ÚlinspacerF   r;   rƒ   r«  r   r’   rK  rL  rH   rI   r%  r`   rê  s       r8   Útest_safe_unsafe_castsz&TestConvertMisc.test_safe_unsafe_casts  sÜ   € ä�\‰\Ü�e“Ü—‘˜Q  1Ó%ñ
ó ˆô
 —‘Ü�H‰H�Sœ"Ÿ)™)›+Ó&Ü�H‰H�Sœ"Ÿ(™(›*Ó%ð
ó ˆô
 �]‰]œ:Õ&Ü�H‰H× Ñ  ¨FÐ Ô3÷ 'ô —‘×$Ñ$ R°¸UÐ$ÓCˆØ�|‰|˜CÓ ×%Ñ%¬¯©«Ò3Ð3Ñ3÷	 'Ð&ús   Â3"D2Ä2D;c           	      óÂ  — 	 t        j                  dt         j                  j                  dt        j
                  dg«      i«      }t        j                  t        d¬«      5  t        j                  j                  |«       d d d «       y # t        $ r> t        j                  dt        j                  dt        j
                  dg«      i«      }Y ŒŠw xY w# 1 sw Y   y xY w)Nr¡   r   r�   zSparse pandas datar.  )r/   r0   r­  ÚSparseArrayr1   rN   ÚAttributeErrorr’   rK  rì  rF   rH   rI   r¤   s     r8   Útest_error_sparsez!TestConvertMisc.test_error_sparse  s£   € ð	EÜ—‘˜s¤B§I¡I×$9Ñ$9¸1¼b¿f¹fÀa¸.Ó$IÐJÓKˆBô �]‰]œ9Ð,@ÖAÜ�H‰H× Ñ  Ô$÷ BÐAøô ò 	Eä—‘˜s¤B§N¡N°A´r·v±v¸q°>Ó$BÐCÓDŠBð	Eú÷ BÐAús   ‚AB Á" CÂACÃCÃCN)/rÂ  rÃ  rÄ  rÅ  rF   r   r   r   r   r   r   r   r   rÓ  r    r!   r«  r_  r  r  r  r  r  r  r  r’   rÆ  Ú	processesÚ	threadingr  r'  r+  r-  r0  rÇ  r0  rw  r4  r@  rF  rJ  rL  rO  rR  rU  rY  r]  r?  rk   r8   r  r  þ  sD  „ ñð
 
��—‘“ÐØ	�(�"—(‘(“*ÐØ	�(�"—(‘(“*ÐØ	�(�"—(‘(“*ÐØ	�(�"—(‘(“*ÐØ	�9�2—9‘9“;ÐØ	�9�2—9‘9“;ÐØ	�9�2—9‘9“;ÐØ	�J�B—J‘J“LÐ!Ø	�J�B—J‘J“LÐ!Ø	�J�B—J‘J“LÐ!ð 
�9�2—9‘9“;ÐØ	�9�2—9‘9“;ÐØ	�9�2—9‘9˜R“=Ð!Ø	�8�2—8‘8˜H˜BŸH™H›JÓ'Ð(ð#€Jò($ò$ò
6ò6ò#ð ‡[�[×ÑØ‡[�[×Ññó ó ðò.ò4ò$ò
4ð ‡[�[×ÑØà’=Ð! 2×#4Ñ#4Ð5Ø’=Ð! 2×#4Ñ#4Ð5Ø�A�t�9Ð˜r×0Ñ0Ð1Ø�D˜#�;Ð §¡Ð1Ø�A�s�8ˆ_˜bŸo™oÐ.Ø�C˜�:Ð §¡Ð0ð	
ó
ñ%ó
ð%ò);òVEò@ò"IòCò$*ò ò4ó$%rk   r  c                  ó  — t        j                  g d¢«      } t        j                  j	                  | t        j
                  «       d¬«      }t        j                  g d¢t        j
                  «       ¬«      }|j                  |«      sJ ‚y )N)r   r*   Nr˜   T©r`   rQ  r}  )r/   rd   rF   r®  rI   r   rc   rK   )rt   ri   rV   s      r8   Ú*test_safe_cast_from_float_with_nans_to_intrb  %  sY   € Ü�Y‰Y’Ó'€FÜ
�(‰(×
Ñ
˜v¬B¯H©H«J¸TÐ
Ó
B€CÜ�x‰xš¬b¯h©h«jÔ9€HØ�:‰:�hÔÐÑrk   c                  óL  — t         j                  j                  t        j                  dd¬«      j	                  d«      t        j                  t        j                  ddgt        ¬«      d«      g«      } t        j                  dd¬«      }||j                  d	«      |j                  d
«      |d d d…   j                  d	«      j	                  d«      j                  d«      ddgdz  t        j                  ddgdz  «      j                  d«      j                  ddgdz  t
        j                  j                  d«      t
        j                  j                  ddd¬«      t        j                   ddd¬«      t        j"                  ddd¬«      dœ}t        j$                  || ¬«      S )Nr¹  r™   )rª   r*   r¶   rf  r   r  r…  rq  r!  TFr   r  rÜ  Ú2013ÚM©rª   r«   r   )r;  r«   rª   )r   r   r*   r�   r˜   r™   r¯   r½   r¸   rõ  r  r»   )r/   r²   rÞ   r¬   Úrepeatr1   Útilerc   r@   r¼  rG  rd   rt   r3   r4   rÝ  Úperiod_rangeÚinterval_ranger0   )r•   r©  r    s      r8   Ú_fully_loaded_dataframe_examplerk  ,  sM  € Ü�M‰M×%Ñ%Ü
�‰�l¨AÔ.×5Ñ5°aÓ8Ü
�‰”—‘˜% ˜¬vÔ6¸Ó:ð'ó €Eô
 
�‰�|¨RÔ	0€BàØ�>‰>˜%Ó Ø�>‰>˜,Ó'Ø‰c�ˆc‰7×Ñ˜uÓ%×,Ñ,¨QÓ/×6Ñ6°zÓBØ�5ˆ>˜AÑÜ�9‰9�e˜U�^ aÑ'Ó(×/Ñ/°
Ó;×BÑBØ�%ˆ=˜1ÑÜ�9‰9�?‰?˜2ÓÜ�9‰9×Ñ˜Q ¨"ÐÓ-Ü�?‰?˜6¨2°CÔ8Ü×Ñ A¨A°rÔ:ñ€Dô �<‰<˜ EÔ*Ð*rk   rL   r[  r¶   c                 óš  — t        j                  | ¬«      }t        j                  j	                  |«      }t        j                  j	                  |j                  «       «      }|j                  |«      sJ ‚|j                  j                  |j                  «      sJ ‚|j                  j                  |j                  j                  k(  sJ ‚y )Nr›   )	r/   r0   rF   rH   rI   rJ   rK   r;   r&  )rL   rU   Útable1Útable2s       r8   Ú!test_roundtrip_with_bytes_unicodero  C  s‘   € ä	�‰˜gÔ	&€BÜ�X‰X×!Ñ! "Ó%€FÜ�X‰X×!Ñ! &×"2Ñ"2Ó"4Ó5€FØ�=‰=˜Ô Ð Ð Ø�=‰=×Ñ §¡Ô.Ð.Ð.Ø�=‰=×!Ñ! V§]¡]×%;Ñ%;Ò;Ð;Ñ;rk   c                 óZ   — | dz  }| dz  } | dz  }| dz  } | dz  }| dz  }t        ||||«      S )Nr  r•  )r   )ÚvalrD  Úsecondsr~  r”  s        r8   Ú_pytime_from_microsrs  M  sI   € Ø˜‘=€LØˆG�O€CØ�B‰h€GØˆB�J€CØ�B‰h€GØ�2‰I€EÜ��w ¨Ó6Ð6rk   c                 óz   — | j                   dz  | j                  dz  z   | j                  dz  z   | j                  z   S )Nl    $'- i ‡“r  )ÚhourÚminuter¢  r  )Úpytimes    r8   r  r  W  sE   € Ø�K‰K˜*Ñ$Ø�M‰M˜HÑ$ñ%à�M‰M˜GÑ#ñ$ð ×Ññð  rk   c                  ó   —  G d„ d«      } t        j                  d | «        | «       gi«      }d}t        j                  t        |¬«      5  t
        j                  j                  |«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zy)ú6test_convert_unsupported_type_error_message.<locals>.ANr¦  r?  rk   r8   rü   rz  b  s   „ Ørk   rü   r¡   r2  r.  )r/   r0   r’   rK  rL  rF   rH   rI   )rü   rU   r&  s      r8   Ú+test_convert_unsupported_type_error_messager{  ^  sZ   € ÷ñ ô 
�‰�s™Q›S¡!£#˜JÐ'Ó	(€Bà
;€CÜ	�‰”z¨Ö	-Ü
�‰×Ñ˜RÔ ÷ 
.×	-Ñ	-ús   Á A4Á4A=c                 óŽ   — | j                  «       }t        j                  || j                  d¬«      }|j	                  | «      sJ ‚y )NTrP  )rJ   rF   rc   r`   rK   )ri   rf   rÊ   s      r8   Útest_array_to_pandas_roundtripr}  p  s5   € à�‰‹€AÜ�x‰x˜ §¡°dÔ;€HØ�?‰?˜3ÔÐÑrk   c                 óX   — t        | «      D �cg c]  }t        d«      ‘Œ }}||z  S c c}w )Nr  )r5   r   )ÚnuniquerW  rÁ  Úunique_valuess       r8   Ú_generate_dedup_exampler�  {  s.   € Ü(-¨g¬Ó7© 1”U˜2•Y¨€MÐ7Ø˜7Ñ"Ð"ùò 8s   Ž'c                 ó\   — t        | D �ch c]  }t        |«      ’Œ c}«      |k(  sJ ‚y c c}w r  )r¿   r¿  )rÃ  rV   r7   s      r8   Ú_assert_nuniquerƒ  €  s+   € Ü™sÓ#™s˜!”�1•˜sÑ#Ó$¨Ò0Ð0Ñ0ùÒ#s   Š)c                  óÎ  — t        j                  «       rt        j                  d«       d} d}t	        | |«      }t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      t        j                  ||g«      fD ]A  }t        |j                  «       | «       t        |j                  d¬«      t        |«      «       ŒC y )NúDpandas uses string dtype and not object dtype, keyword has no effectr  r  r}  F©Údeduplicate_objects)r   r  r’   rs  r�  rF   rc   r_  r7  r­  rƒ  rJ   r¿   )r  rW  rt   ri   s       r8   Ú.test_to_pandas_deduplicate_strings_array_typesrˆ  „  s§   € Ü×$Ñ$Ô&Ü�‰ØRô	
ð €GØ€GÜ$ W¨gÓ6€Fä—‘˜¤b§i¡i£kÔ2Ü—‘˜¤b§g¡g£iÔ0Ü× Ñ  &¨&Ð!1Ó2ó4ˆô 	˜Ÿ™›¨Ô1Ü˜Ÿ™¸%˜Ó@Ä#ÀcÃ(ÕKñ	4rk   c                  óÀ  — t        j                  «       rt        j                  d«       d} d}t	        | |«      }t        j                  |«      }t
        j                  j                  |gdg«      }t
        j                  j                  |g«      }||fD ]G  }t        |j                  «       d   | «       t        |j                  d¬«      d   t        |«      «       ŒI y )Nr…  r  r  r¶   Fr†  )r   r  r’   rs  r�  rF   rc   rG   rÞ   rH   rS  rƒ  rJ   r¿   )r  rW  rt   ri   r®  r¯  rÃ  s          r8   Ú.test_to_pandas_deduplicate_strings_table_typesrŠ  ”  s·   € Ü×$Ñ$Ô&Ü�‰ØRô	
ð €GØ€GÜ$ W¨gÓ6€Fä
�(‰(�6Ó
€CÜ	�‰×	#Ñ	# S E¨E¨7Ó	3€BÜ
�(‰(×
Ñ
  Ó
%€Cà�C‹yˆÜ˜Ÿ™›¨Ñ.°Ô8Ü˜Ÿ™¸%˜Ó@ÀÑGÜ˜C›õ	"ñ rk   c                  ó&  — d} d}t        t        j                  j                  dd| ¬«      «      }d || dz  <   t	        j
                  ||z  «      }t        |j                  d¬«      | «       t        |j                  dd	¬
«      | dz
  |z  dz   «       y )Nr  r  i€–˜ i Êš;rÜ  r*   TrW  F)rX  r‡  r   )r)  r1   r3   rÝ  rF   rc   rƒ  rJ   )r  rW  r€  ri   s       r8   Ú.test_to_pandas_deduplicate_integers_as_objectsrŒ  §  s”   € Ø€GØ€Gô œŸ™×*Ñ*¨8°ZÀgÐ*ÓNÓO€MØ"&€M�'˜Q‘,Ñä
�(‰(�= 7Ñ*Ó
+€Cä�C—M‘M°t�MÓ<¸gÔFÜ�C—M‘M°tØ6;ð "ó =ð ˜q‘[ GÑ+¨aÑ/õ1rk   c                  óR  — d} d}t        t        | «      «      }ddddifddddifdd	i fdd
i fg}|D ]t  \  }}}t        j                  ||z  |¬«      }|j	                  |«      }t         |j                  di |¤Ž| «       t         |j                  dddi|¤Žt        |«      «       Œv y )Nr  r  r   r¬  r¾  Tr   r´  r  r  r}  r‡  Fr?  )r)  r5   rF   rc   rx  rƒ  rJ   r¿   )	r  rW  r€  r7  Úraw_typeÚ
array_typeÚpandas_optionsÚraw_arrÚ
casted_arrs	            r8   Ú$test_to_pandas_deduplicate_date_timer“  ¸  sÙ   € Ø€GØ€Gäœ˜w›Ó(€Mð 
�(Ð-¨tÐ4Ð5Ø	�(Ð-¨tÐ4Ð5Ø	�, Ð#Ø	�, Ð#ð€Eó 16Ñ,ˆ�*˜nÜ—(‘(˜=¨7Ñ2¸ÔBˆØ—\‘\ *Ó-ˆ
äÐ,˜
×,Ñ,Ñ>¨~Ñ>Øô	!äÐ,˜
×,Ñ,ñ ?Àð ?Ø/=ñ?ä˜J›õ	)ñ 16rk   c                  óÆ  — t        j                  g d¢t        j                  ddgdœ«      } t	        j
                  t	        j                  dt	        j                  «       d¬«      t	        j                  dt	        j                  «       d¬«      g«      }t        j                  t        «      5  t        j                  j                  | |¬	«       d d d «       y # 1 sw Y   y xY w)
N)ç333333ó?gÍÌÌÌÌÌ @rÿ   r«  r¶   rF  r¡   Frå  rÍ   r~  )r/   r0   r1   rN   rF   r;   rƒ   r!   r7  r’   rK  rL  rH   rI   )rU   r;   s     r8   Ú/test_table_from_pandas_checks_field_nullabilityr–  Ó  s–   € ä	�‰šOÜŸV™V X¨uÐ5ñ7ó 
8€Bä�Y‰YœŸ™ ¤b§j¡j£l¸UÔCÜŸ™ ¤b§g¡g£i¸%Ô@ðBó C€Fô 
�‰”zÕ	"Ü
�‰×Ñ˜R¨ÐÔ/÷ 
#×	"Ñ	"ús   Â,"CÃC c            
      ó  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } | g d	¢   }t        j                  dt        j
                  «       fdt        j                  t        j
                  «       «      fdt        j                  «       fg«      }t        j                  dt        j                  «       fdt        j
                  «       fdt        j                  t        j
                  «       «      fg«      }t        j                  j                  | d
¬«      }t        j                  j                  |d
¬«      }|j                  j                  |«      sJ ‚|j                  j                  |«      sJ ‚y )NÚ	partition©r   r   r   r   r­  rš   r�   r˜   r9  ©NNrè   gffffff
@©r9  r˜  r­  Fr¢   )r/   r0   r   rF   r;   r   r  r!   rH   rI   rK   )Údf1rÃ   Úschema1Úschema2rm  rn  s         r8   Ú6test_table_from_pandas_keeps_column_order_of_dataframerŸ  Þ  sA  € Ü
�,‰,”{Ø	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð$ó ó €Cð
 Ò/Ñ
0€Cä�i‰iØ	”b—h‘h“jÐ!Ø	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”2—:‘:“<Ð ðó €Gô
 �i‰iØ	”2—:‘:“<Ð Ø	”b—h‘h“jÐ!Ø	”2—8‘8œBŸH™H›JÓ'Ð(ðó €Gô �X‰X×!Ñ! #°eÐ!Ó<€FÜ�X‰X×!Ñ! #°eÐ!Ó<€Fà�=‰=×Ñ Ô(Ð(Ð(Ø�=‰=×Ñ Ô(Ð(Ñ(rk   c            
      óš  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } t        j                  dt        j
                  «       fdt        j                  t        j                  «       «      fdt        j                  «       fg«      }| | j                  d	k(     }| | j                  d
k(     g d¢   }t        j                  j                  ||d¬«      }t        j                  j                  ||d¬«      }|j                  j                  |«      sJ ‚|j                  j                  |j                  «      sJ ‚y )Nr˜  r™  r­  rš   r�   r˜   r9  rš  r   r   r›  Fr@  )r/   r0   r   rF   r;   r!   r  r   r˜  rH   rI   rK   )rU   r;   rœ  rÃ   rm  rn  s         r8   Ú3test_table_from_pandas_keeps_column_order_of_schemar¡  ø  s"  € ä	�‰”kØ	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð#ó ó 
€Bô �Y‰YØ	”2—:‘:“<Ð Ø	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”b—h‘h“jÐ!ðó €Fð ˆR�\‰\˜QÑÑ
€CØ
ˆR�\‰\˜QÑÑ
Ò AÑ
B€Cä�X‰X×!Ñ! #¨fÀUÐ!ÓK€FÜ�X‰X×!Ñ! #¨fÀUÐ!ÓK€Fà�=‰=×Ñ Ô'Ð'Ð'Ø�=‰=×Ñ §¡Ô.Ð.Ñ.rk   c            
      óÂ  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } g d	¢}t        j                  dt        j
                  t        j                  «       «      fdt        j                  «       fdt        j                  «       fg«      }ddg}t        j                  dt        j                  «       fdt        j                  «       fg«      }t        j                  j                  | |d
¬«      }t        j                  j                  | |d
¬«      }|j                  j                  |«      sJ ‚|j                  j                  |«      sJ ‚y )Nr˜  r™  r­  rš   r�   r˜   r9  rš  )r­  r9  r˜  F)rL   r<   )r/   r0   r   rF   r;   r  r   r!   rH   rI   rK   )rU   Úcolumns1r�  Úcolumns2rž  rm  rn  s          r8   Ú;test_table_from_pandas_columns_argument_only_does_filteringr¥    s2  € Ü	�‰”kØ	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð#ó ó 
€Bò 1€HÜ�i‰iØ	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”2—:‘:“<Ð Ø	”b—h‘h“jÐ!ðó €Gð ˜+Ð&€HÜ�i‰iØ	”2—:‘:“<Ð Ø	”b—h‘h“jÐ!ðó €Gô
 �X‰X×!Ñ! "¨hÀuÐ!ÓM€FÜ�X‰X×!Ñ! "¨hÀuÐ!ÓM€Fà�=‰=×Ñ Ô(Ð(Ð(Ø�=‰=×Ñ Ô(Ð(Ñ(rk   c            
      óà  — t        j                  t        dg d¢fdg d¢ddgd d gfdg d¢fg«      «      } t        j                  dt        j
                  «       fdt        j                  t        j
                  «       «      fdt        j                  «       fg«      }ddg}t        j                  t        «      5  t        j                  j                  | ||¬	«       d d d «       y # 1 sw Y   y xY w)
Nr˜  r™  r­  rš   r�   r˜   r9  rš  )r;   rL   )r/   r0   r   rF   r;   r   r  r!   r’   rK  rL  rH   rI   )rU   r;   rL   s      r8   Ú@test_table_from_pandas_columns_and_schema_are_mutually_exclusiver§  +  sÇ   € Ü	�‰”kØ	’lÐ#Ø	’I  1˜v t¨TÐ2Ð3Ø	Ò)Ð*ð#ó ó 
€Bô
 �Y‰YØ	”b—h‘h“jÐ!Ø	”2—8‘8œBŸH™H›JÓ'Ð(Ø	”2—:‘:“<Ð ðó €Fð
 ˜Ð"€Gä	�‰”zÕ	"Ü
�‰×Ñ˜R¨¸ÐÔ@÷ 
#×	"Ñ	"ús   Â8#C$Ã$C-c                  óÖ  — t        j                  dg d¢i«      } t        j                  t        j                  dt        j
                  «       d¬«      g«      }t        j                  j                  | «      }|j                  j	                  d«      j                  du sJ ‚t        j                  j                  | |¬«      }|j                  j	                  d«      j                  du sJ ‚y )Nr¡   r·   Frå  Tr~  )	r/   r0   rF   r;   rƒ   r   rH   rI   ræ  ©rU   r;   rZ   s      r8   Ú/test_table_from_pandas_keeps_schema_nullabilityrª  <  s³   € ä	�‰�sšLÐ)Ó	*€Bä�Y‰YÜ
�‰�”b—h‘h“j¨5Ô1ðó €Fô �H‰H× Ñ  Ó$€EØ�<‰<×Ñ˜cÓ"×+Ñ+¨tÑ3Ð3Ð3Ü�H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<×Ñ˜cÓ"×+Ñ+¨uÑ4Ð4Ñ4rk   c                  ó  — t        j                  g d¢g d¢dœ«      } t        j                  dt        j                  «       fdt        j
                  «       fdt        j                  «       fg«      }t        j                  t        d¬«      5  t        j                  j                  | |¬	«       d d d «       d| j                  _        t        | |d
|¬«       t        j                  t        d¬«      5  t        j                  j                  | |d¬«       d d d «       t        j                  t        d¬«      5  t        j                  j                  | |d ¬«       d d d «       t        j                  g d¢d¬«      | _        t        | |d |¬«       t        | |d
|¬«       t        j                  dt        j                  «       fdt        j                  «       fdt        j
                  «       fg«      }t        | |d |¬«       t        | |d
|¬«       t        j                  dt        j                  «       fdt        j
                  «       fg«      }| j!                  «       }|j#                  d
¬«      }t        | |d ||¬«       t        | |d
||¬«       t         j$                  j'                  g d¢ddg¬«      | _        t        j                  dt        j(                  «       fdt        j                  «       fdt        j                  «       fdt        j
                  «       fg«      }t        | |d
|¬«       t        | |d |¬«       t        j                  dt        j                  «       fdt        j                  «       fdt        j
                  «       fg«      }| j!                  «       }|j#                  dd
¬«      }t        | |d
||¬«       t        | |d ||¬«       y # 1 sw Y   �Œ.xY w# 1 sw Y   �ŒÕxY w# 1 sw Y   �ŒœxY w)Nr€   r•  rF  r¡   rÍ   r•   zname 'index' present in ther.  r~  T)r;   r<   rW   z'preserve_index=False' wasFr@  z=name 'index' is present in the schema, but it is a RangeIndexrš   ra   r™  )r;   r<   rW   rV   ))r¡   r   )r¡   r*   )rÍ   r   Úlevel1Úlevel2rä   )r/   r0   rF   r;   r   r!   r’   rK  ÚKeyErrorrH   rI   r•   rb   r]   rL  rê   rs   rœ  r²   Úfrom_tuplesr«  )rU   r;   rV   s      r8   Ú+test_table_from_pandas_schema_index_columnsr°  J  s]  € ä	�‰šIªOÑ<Ó	=€Bä�Y‰YØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐØ	”"—(‘(“*Ððó €Fô 
�‰”xÐ'DÖ	EÜ
�‰×Ñ˜R¨ÐÔ/÷ 
Fð €B‡H�H„Mô ˜B v¸dØ,2õ4ô 
�‰”zÐ)EÖ	FÜ
�‰×Ñ˜R¨¸uÐÔE÷ 
Gô
 
�‰”zð *Jö 
Kä
�‰×Ñ˜R¨¸tÐÔD÷
Kô �x‰xš	¨Ô0€B„Hô ˜B v¸dØ,2õ4ä˜B v¸dØ,2õ4ô �Y‰YØ	”"—(‘(“*ÐØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐðó €Fô
 ˜B v¸dØ,2õ4ä˜B v¸dØ,2õ4ô
 �Y‰YØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐðó €Fð �w‰w‹y€HØ×#Ñ#¨Ð#Ó.€HÜ˜B v¸dØ,2¸XõGä˜B v¸dØ,2¸XõGô �}‰}×(Ñ(Ò)GØ08¸(Ð/Cð )ó E€B„Hä�Y‰YØ	”2—9‘9“;ÐØ	”2—8‘8“:ÐØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐð	ó €Fô ˜B v¸dØ,2õ4ä˜B v¸dØ,2õ4ô �Y‰YØ	”2—8‘8“:ÐØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐðó €Fð
 �w‰w‹y€HØ×#Ñ# H°4Ð#Ó8€HÜ˜B v¸dØ,2¸XõGä˜B v¸dØ,2¸XöG÷W 
FÑ	Eú÷ 
GÑ	Fú÷

Kñ 
Kús$   Â"OÃ1#O'Ä7#O4ÏO$Ï'O1Ï4O>c                  óÖ  — t        j                  g d¢g d¢dœ«      } t        j                  dt        j                  «       fdt        j
                  «       fdt        j                  «       fg«      }t        j                  j                  | d¬«      }t        j                  j                  | d|¬	«      }|j                  j                  «       j                  |«      sJ ‚t        j                  g d¢g d¢dœg d
¢¬«      } t        j                  j                  | «      }t        j                  j                  | |¬«      }|j                  j                  «       j                  |«      sJ ‚y )Nr€   r•  rF  r¡   rÍ   r   Tr¢   )r<   r;   rš   r»   r~  )r/   r0   rF   r;   r   r!   ÚSchemarI   rH   ry  rK   )rU   rW   r;   rZ   s       r8   Ú:test_table_from_pandas_schema_index_columns__unnamed_indexr³  ¤  s  € ä	�‰šIªOÑ<Ó	=€Bä—i‘iØ	Œb�h‰h‹jÐØ	Œb�j‰j‹lÐØ	œbŸh™h›jÐ)ð!ó €Oô �Y‰Y×"Ñ" 2°dÐ"Ó;€FÜ�H‰H× Ñ  °DÀÐ ÓH€EØ�<‰<×'Ñ'Ó)×0Ñ0°ÔAÐAÐAô 
�‰šIªOÑ<ÂIÔ	N€BÜ�Y‰Y×"Ñ" 2Ó&€FÜ�H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<×'Ñ'Ó)×0Ñ0°ÔAÐAÑArk   c                  ó"  — t        j                  «       } t        j                  j	                  | «      j                  ddi«      }t        j                  j	                  | |¬«      }|j                  j                  j                  d«      dk(  sJ ‚y )NÚmetaÚTruer~  s   metas   True)
r/   r0   rF   r²  rI   rß  rH   r;   r&  Úgetr©  s      r8   Ú2test_table_from_pandas_schema_with_custom_metadatar¸  ¹  sm   € ä	�‰‹€BÜ�Y‰Y×"Ñ" 2Ó&×4Ñ4°f¸fÐ5EÓF€FÜ�H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<× Ñ ×$Ñ$ WÓ-°Ò8Ð8Ñ8rk   c            
      ó|  — t        j                  t        j                  ddd¬«      t        j                  j                  d«      dœ«      } t        j                  t        j                  dt        j                  «       d¬«      t        j                  d	t        j                  d
d¬«      d¬«      g«      }t        j                  j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  j                  d   d   }|d   dk(  sJ ‚|d   �J ‚|j                  j                  d   d   }|d   d	k(  sJ ‚|d   ddik(  sJ ‚|j                  «       }ddi}t!        t         j"                  «      t!        d«      k\  rd|d	<   | dd	g   j%                  |«      }t'        j(                  ||«       y )Nz2020-01-01T00:00:00ZrI  r*   )r«   rª   )r   rQ  rQ  Trå  r   rf   r·  r¸  Fr~  rL   r   rb   r&  r   r   r    r7  zdatetime64[s, UTC])r/   r0   r¬   r1   r3   r4   rF   r;   rƒ   r    r¹  rH   rI   rK   r  rJ   r   r@  rG  rS   rT   )rU   r;   rZ   Úmetadata_floatÚmetadata_datetimer[   Úcoerce_cols_to_typesrV   s           r8   Ú2test_table_from_pandas_schema_field_order_metadatar½  Á  s–  € ô 
�‰Ü—M‘MÐ"8¸sÈAÔNÜ—‘—‘ Ó#ñó 
€Bô
 �Y‰YÜ
�‰�œ"Ÿ*™*›,°Ô6Ü
�‰�œRŸ\™\¨#°%Ô8À5ÔIðó €Fô
 �H‰H× Ñ  ¨FÐ Ó3€EØ�<‰<×Ñ˜vÔ&Ð&Ð&Ø—\‘\×1Ñ1°)Ñ<¸QÑ?€NØ˜&Ñ! WÒ,Ð,Ð,Ø˜*Ñ%Ð-Ð-Ð-ØŸ™×4Ñ4°YÑ?ÀÑBÐØ˜VÑ$¨
Ò2Ð2Ð2Ø˜ZÑ(¨Z¸Ð,?Ò?Ð?Ð?à�_‰_Ó€FØ# YÐ/ÐÜŒr�~‰~Ó¤'¨'Ó"2Ò2à+?Ð˜ZÑ(Ø�7˜JÐ'Ñ(×/Ñ/Ð0DÓE€Hä×Ñ˜& (Õ+rk   c                  ób  — t        j                  t        j                  g d¢d¬«      t        j                  g d¢d¬«      t        j                  j                  d«      g d¢g d¢dœ«      } t        j                  j                  | «      }|j                  «       }t        j                  | |«       y )	N©r   r*   r�   r˜   r™   r   r   r   r™   )r¶   rf  Nru  rZ  )FTFTF)r©  rª  Úc3Úc4Úc5)r/   r0   r1   rc   r3   r4   rF   rG   rI   rJ   rS   rT   )r    rW  r[   s      r8   Útest_recordbatch_from_to_pandasrÃ  æ  sy   € Ü�<‰<Ü�h‰h’¨gÔ6Ü�h‰h’¨hÔ7Ü�i‰i�o‰o˜aÓ Ú0Ú/ñó €Dô �N‰N×&Ñ& tÓ,€EØ�_‰_Ó€FÜ×Ñ˜$ Õ'rk   c                  óŒ  — t        j                  t        j                  g d¢d¬«      t        j                  g d¢d¬«      g d¢g d¢dœ«      } t        j                  t        j                  d	d
gd¬«      t        j                  ddgd¬«      ddgddgdœ«      }t        j
                  j                  | «      }t        j
                  j                  |«      }t        j                  j                  ||g«      }|j                  «       }t        j                  | |g«      j                  d¬«      }t        j                  ||«       y )N)r   r   r*   r   r   rˆ   r!   )TNF)r¶   rf  N)r©  rª  rÀ  rÁ  r�   r™   rŒ   r�   Tru  rZ  r™  )r/   r0   r1   rc   rF   rG   rI   rH   rS  rJ   r  rœ  rS   rT   )rÅ  rÇ  Úbatch1Úbatch2rZ   r[   r    s          r8   Útest_recordbatchlist_to_pandasrÇ  ô  sý   € Ü�L‰LÜ�h‰h’y¨Ô1Ü�h‰h’¨iÔ8Ú!Ú"ñ	ó €Eô �L‰LÜ�h‰h˜˜1�v XÔ.Ü�h‰h˜˜S�z¨Ô3Ø�TˆlØ�eˆnñ	ó €Eô �^‰^×'Ñ'¨Ó.€FÜ�^‰^×'Ñ'¨Ó.€Fä�H‰H×!Ñ! 6¨6Ð"2Ó3€EØ�_‰_Ó€FÜ�9‰9�e˜U�^Ó$×0Ñ0°dÐ0Ó;€DÜ×Ñ˜$ Õ'rk   c                  óD  — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  t        j                  g d¢«      gdg¬«      }| d   j	                  «       j
                  dk(  sJ ‚|d   j	                  «       j
                  dk(  sJ ‚y )Nr·   Úa0rä   r   )rF   Úrecord_batchrc   rZ   rJ   rb   )r®  r  s     r8   Ú*test_recordbatch_table_pass_name_to_pandasrË    s|   € Ü	�‰œ"Ÿ(™(¢<Ó0Ð1¸$¸Ô	@€BÜ
�‰”"—(‘(š<Ó(Ð)°$°Ô8€AØˆa‰5�?‰?Ó×!Ñ! TÒ)Ð)Ð)ØˆQ‰4�>‰>Ó× Ñ  DÒ(Ð(Ñ(rk   ©r`   rV   rH  r"   r   r   r   r   r   r   r   r   rÓ  r    r!   r   ro  r˜   )Úlengthr/  zlist[list[int16]]r   r�   r°   rl  r   r4  r·  r<  rf   r   c                 ó$   — t        | «      |k(  sJ ‚y r  )r   rÌ  s     r8   Útest_logical_typerÏ    s   € ô< ˜DÓ! XÒ-Ð-Ñ-rk   c                  óì  — d} t        j                  t        j                  | t        j                  ¬«      t        j
                  j                  dd| ¬«      j                  t        j                  «      ¬«      }t        j                  «        t        j                  «       }|j                  «       }t        j                  «       || dz  z   k(  sJ ‚d }t        j                  «        t        j                  «       |k(  sJ ‚t        j                  t        j                  | t        j                  ¬«      «      }t        j                  «       }|j                  «       }t        j                  «       |k(  sJ ‚y )Né'  r   r   r*   rÜ  r  r¸   )rF   rc   r1   r2   r   r3   rÝ  rG  rï  r–  r—  r˜  rJ   )r8  ri   Úprior_allocationr7   s       r8   Útest_array_uses_memory_poolrÓ  ;  s  € à€AÜ
�(‰(”2—9‘9˜Q¤b§h¡hÔ/ÜŸ	™	×)Ñ)¨!¨Q°QÐ)Ó7×>Ñ>¼r¿x¹xÓHôJ€Cô ‡J�J„Lä×/Ñ/Ó1Ðà�‰‹€AÜ×#Ñ#Ó%Ð*:¸QÀ¹UÑ*BÒCÐCÐCØ€AÜ‡J�J„Lä×#Ñ#Ó%Ð)9Ò9Ð9Ð9ô �(‰(”2—9‘9˜Q¤b§h¡hÔ/Ó
0€Cä×/Ñ/Ó1ÐØ�‰‹€AÜ×#Ñ#Ó%Ð)9Ò9Ð9Ñ9rk   c                  ó~  — t        j                  t        j                  t        j                  dt        j
                  ¬«      «      gdg«      } t        | d¬«       t        j                  «       }| j                  «       }|d   j                  j                  j                  sJ ‚t        j                  «       |kD  sJ ‚y )Nr  r   ré  T©Úsplit_blocks)rF   rZ   rc   r1   r2   r   Ú!_check_to_pandas_memory_unchangedr˜  rJ   Ú_valuesÚflagsÚ	writeable)r  rÒ  r[   s      r8   Útest_singleton_blocks_zero_copyrÛ  U  sŒ   € ä
�‰”"—(‘(œ2Ÿ9™9 T´·±Ô:Ó;Ð<¸t¸fÓE€Aô & a°dÕ;ä×/Ñ/Ó1ÐØ�[‰[‹]€Fà�$‰<×Ñ×%Ñ%×/Ò/Ð/Ð/Ü×#Ñ#Ó%Ð(8Ò8Ð8Ñ8rk   c                 óR  — t        j                  «        t        j                  «       } | j                  di |¤Ž}t        j                  «       r@t        d|j                  j                  dz  «      }t        j                  «       ||z   k  sJ ‚y t        j                  «       |k(  sJ ‚y )NéÀ   r*   r?  )
r–  r—  rF   r˜  rJ   r   r  r  rL   Únbytes)rÃ  ÚkwargsrÒ  r7   Úmax_index_allocations        r8   r×  r×  c  s�   € Ü‡J�J„LÜ×/Ñ/Ó1ÐØˆ�‰Ñ˜Ñ€Aô ×$Ñ$Ô&ô  # 3¨¯	©	×(8Ñ(8¸1Ñ(<Ó=ÐÜ×'Ñ'Ó)Ð.>ÐAUÑ.UÒVÐVÑVä×'Ñ'Ó)Ð-=Ò=Ð=Ñ=rk   c                  óP  — t        j                  t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      t        j                  g d¢dz  d¬«      gt        d	«      D � cg c]  } d
| › �‘Œ	 c} «      }t	        |d	«       t        |d¬«       y c c} w )Nr¿  r  r÷  r}  rù  rú  rÐ  rÑ  r¸   r)  TrÕ  )rF   rZ   rc   r5   Ú_check_blocks_createdr×  )rÁ  r  s     r8   Útest_to_pandas_split_blocksrã  r  sæ   € ä
�‰Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0Ü
�‰’ Ñ$¨4Ô0ð	ô ˜qœÓ"™�Aˆ!ˆAˆ3Š˜Ñ"ó		$€Aô ˜!˜QÔÜ% a°dÖ;ùò #s   Ã6D#
c                 ó|   — t        t        j                  «      t        d«      k  r| j                  S | j                  S )Nz1.1.0)r   r/   r@  Ú_dataÚ_mgrrþ  s    r8   Ú_get_mgrrç  ƒ  s*   € ÜŒr�~‰~Ó¤¨Ó!1Ò1Ø�x‰xˆà�w‰wˆrk   c                 ón   — | j                  d¬«      }t        t        |«      j                  «      |k(  sJ ‚y )NTrÕ  )rJ   r¿   rç  Úblocks)r  Únumberr7   s      r8   râ  râ  Š  s/   € Ø	�‰ ˆÓ&€AÜŒx˜‹{×!Ñ!Ó" fÒ,Ð,Ñ,rk   c                  óf   ‡— dŠˆfd„}  | «       }t        |dd¬«        | «       }t        |d¬«       y )Né2   c                  ó  •— t        j                  t        ‰«      D � cg c]:  } t        j                  t        j
                  j                  d«      d d d…   «      ‘Œ< c} t        ‰«      D � cg c]  } d| › �‘Œ	 c} «      S c c} w c c} w )NrÑ  r*   r)  )rF   rZ   r5   rc   r1   r3   r4   )rÁ  r9  s    €r8   Ú_make_tablez1test_to_pandas_self_destruct.<locals>._make_table’  s~   ø€ Ü�x‰xô ˜1”Xó
ñ �ô �H‰H”R—Y‘Y—_‘_ UÓ+©C¨a¨CÑ0Õ1Øñ
ô # 1œXÓ&™X˜ˆa�ˆsŠG˜XÑ&ó	(ð 	(ùò 
ùò 's   ž?A?Á,B
T)rÖ  Úself_destruct)rï  )r×  )rî  r  r9  s     @r8   Útest_to_pandas_self_destructrð  �  s5   ø€ Ø
€Aô(ñ 	‹€AÜ% a°dÈ$ÕOñ 	‹€AÜ% a°tÖ<rk   c                  óö  — d} t        j                  t        j                  | t        j                  ¬«      «      }t        j
                  |||gg d¢«      }t        j                  «        t        j                  «       }|j                  «       }d| z  dz  }t        j                  «       r|dz  }t        j                  «       ||z   k(  sJ ‚d }t        j                  «        t        j                  «       |k(  sJ ‚y )NrÑ  r   )ré  r*  rÏ  r�   r¸   é€   )rF   rc   r1   r2   r   rZ   r–  r—  r˜  rJ   r   r  )r8  ri   r  rÒ  r7   Únew_allocations         r8   Útest_table_uses_memory_poolrô  ¡  sÆ   € Ø€AÜ
�(‰(”2—9‘9˜Q¤b§h¡hÔ/Ó
0€CÜ
�‰�#�s˜C�Ò"4Ó5€Aä‡J�J„LÜ×/Ñ/Ó1ÐØ	�‰‹€Aà˜‘U˜Q‘Y€NÜ×$Ñ$Ô&à˜#Ñˆä×#Ñ#Ó%Ð*:¸^Ñ*KÒLÐLÐLð 	€AÜ‡J�J„LÜ×#Ñ#Ó%Ð)9Ò9Ð9Ñ9rk   c                  ó@  — t        j                  ddig«      } | j                  «       }|j                  t	        j                  d«      k(  sJ ‚|d   }t        j                  |«      }t        j                  |«      |k(  sJ ‚~t        j                  |«      |dz
  k(  sJ ‚y )Nr¡   r   r@   r   )rF   rc   rJ   r   r1   r³  Úgetrefcount)ri   r  rÃ  Úrefcounts       r8   Útest_object_leak_in_numpy_arrayrø  ·  sˆ   € ä
�(‰(�S˜!�H�:Ó
€CØ�]‰]‹_€FØ�<‰<œ2Ÿ8™8 HÓ-Ò-Ð-Ð-Ø
�‰)€CÜ�‰˜sÓ#€HÜ�?‰?˜3Ó 8Ò+Ð+Ð+ØÜ�?‰?˜3Ó 8¨a¡<Ò/Ð/Ñ/rk   c                  óv  — t        j                  ddig«      } t        j                  | gdg«      }|j                  «       d   }|j                  t        j                  d«      k(  sJ ‚|d   }t        j                  |«      }t        j                  |«      |k(  sJ ‚~t        j                  |«      |dz
  k(  sJ ‚y )Nr¡   r   ré  r@   r   )rF   rc   rZ   rJ   r   r1   r³  rö  )ri   rZ   r\   rÃ  r÷  s        r8   Útest_object_leak_in_dataframerú  Ã  s¢   € ä
�(‰(�S˜!�H�:Ó
€CÜ�H‰H�c�U˜T˜FÓ#€EØ
�/‰/Ó
˜DÑ
!€CØ�9‰9œŸ™ Ó*Ò*Ð*Ð*Ø
ˆa‰&€CÜ�‰˜sÓ#€HÜ�?‰?˜3Ó 8Ò+Ð+Ð+ØÜ�?‰?˜3Ó 8¨a¡<Ò/Ð/Ñ/rk   c                  ó”  — ddgddgg} t        j                  «       }t        j                  | d   |¬«      }t        j                  | t        j                  |«      ¬«      }t	        j                  | d   t        j                  ¬«      }t        j                  t	        j                  | d   t        j                  ¬«      t	        j                  | d   t        j                  ¬«      g«      }|j                  |k(  sJ ‚|j                  t        j                  |«      «      sJ ‚|j                  t        j                  |«      «      sJ ‚y )	Nr•  g333333@g      "@g      E@r   r}  r   r   )	rF   r    rc   r  r1   r/   rd   r`   rK   )r    r  rp  r¯  r—  r˜  s         r8   Útest_array_from_py_float32rü  Ô  së   € Ø�#ˆJ˜˜d˜Ð$€Dä
�
‰
‹€Aä�8‰8�D˜‘G !Ô$€DÜ�8‰8�DœrŸx™x¨›{Ô+€Dä—‘˜˜a™¬¯
©
Ô3€IÜ—	‘	œ2Ÿ8™8 D¨¡G´2·:±:Ô>ÜŸ8™8 D¨¡G´2·:±:Ô>ð@ó A€Ið �9‰9˜Š>Ðˆ>Ø�;‰;”r—x‘x 	Ó*Ô+Ð+Ð+Ø�;‰;”r—x‘x 	Ó*Ô+Ð+Ñ+rk   c                  óþ  — t        j                  «       } t        j                  | g«      }|j                  j                  d«      j                  j                  d«      }t        j                  dd¬«      }t        j                  j                  ||¬«      }|j                  |k(  sJ ‚t        j                  j                  |t        j                  d«      ¬«      }|d   j                  «       |d   j                  «       k(  sJ ‚|d   j                  «       |d   j                  «       k(  sJ ‚t        j                  dgd¬«      j                  t        j                  d	«      «      }t        j                  d
gd¬«      j                  t        j                  d«      «      }|j                  t        j                  d	«      k(  sJ ‚t        j                  d«      }t!        j"                  t$        «      5  |j                  |«       d d d «       |j                  |d¬«      }|j'                  |«      sJ ‚t        j                  t        j(                  d«      t        j(                  d«      t        j(                  d«      g«      }	t        j                  g d¢t        j                  d«      ¬«      }t!        j"                  t$        «      5  t        j                  |	t        j                  d«      ¬«       d d d «       t!        j"                  t$        «      5  t        j                  j                  |	t        j                  d«      ¬«       d d d «       t        j                  j                  |	t        j                  d«      d¬«      }|j'                  |«      sJ ‚t        j                  |	t        j                  d«      d¬«      }|j'                  |«      sJ ‚y # 1 sw Y   �ŒÖxY w# 1 sw Y   ŒóxY w# 1 sw Y   Œ©xY w)Nz	tzlocal()r9  r4  r¸  r}  r   ióà r   rl  é{   rf   FrP  r   r  r  )r   r   r   ra  )r   Únowr/   rd   r»  r¼  Ú
tz_convertrF   r¹  r®  rI   r`   rô  Úto_pydatetimerc   rx  r’   rK  rL  rK   r4  )
rq  rf   Ús_nycÚ
us_with_tzri   r¯  rV   Útargetr[   rË  s
             r8   Útest_cast_timestamp_unitr  é  sÎ  € ä
�,‰,‹.€CÜ
�	‰	�3�%Ó€AØ�D‰D×Ñ˜[Ó)×,Ñ,×7Ñ7Ð8JÓK€Eä—‘˜dÐ'9Ô:€Jä
�(‰(×
Ñ
˜u¨:Ð
Ó
6€Cð �8‰8�zÒ!Ð!Ð!ä�8‰8×Ñ ¬¯©°TÓ(:ÐÓ;€Dàˆq‰6�<‰<‹>˜U 1™X×3Ñ3Ó5Ò5Ð5Ð5Ø�‰7�=‰=‹?˜a ™d×0Ñ0Ó2Ò2Ð2Ð2ô �(‰(�F�8 'Ô
*×
/Ñ
/´·±¸TÓ0BÓ
C€CÜ�x‰x˜˜ GÔ,×1Ñ1´"·,±,¸sÓ2CÓD€Hð �8‰8”r—|‘| DÓ)Ò)Ð)Ð)ä�\‰\˜#Ó€FÜ	�‰”zÕ	"Ø�‰�Ô÷ 
#ð �X‰X�f 5ˆXÓ)€FØ�=‰=˜Ô"Ð"Ð"ô �Y‰YœŸ™ Q›¬¯©°bÓ)9¼2¿<¹<ÈÓ;MÐNÓO€FÜ�x‰xš	¬¯©°TÓ(:Ô;€Hä	�‰”zÕ	"Ü
�‰�œbŸl™l¨4Ó0Õ1÷ 
#ô 
�‰”zÕ	"Ü
�‰×Ñ˜V¬"¯,©,°tÓ*<ÐÔ=÷ 
#ô �X‰X×!Ñ! &¬r¯|©|¸DÓ/AÈÐ!ÓN€FØ�=‰=˜Ô"Ð"Ð"ä�X‰X�f¤2§<¡<°Ó#5¸EÔB€FØ�=‰=˜Ô"Ð"Ñ"÷) 
#Ñ	"ú÷ 
#Ð	"ú÷ 
#Ð	"ús$   Ç4OË
+O'Ì5O3ÏO$Ï'O0Ï3O<c                  ór  — t         j                  j                  «       } | j                  «       }t	        j
                  |gt	        j                  dd¬«      ¬«      }t        j                  j                  ||gddg«      }|j                  «       }t	        j
                  |«      }|j                  |«      sJ ‚y )Nr4  r9  r¸  r}  r;  Ústop)r/   r4  rÿ  r  rF   rc   r¹  r+  rÞ   rJ   rK   )ÚtsÚts_dtri   rë  r[   rÊ   s         r8   Ú(test_nested_with_timestamp_tz_round_tripr
    s�   € Ü	�‰×	Ñ	Ó	€BØ×ÑÓ€EÜ
�(‰(�E�7¤§¡¨dÐ7IÔ!JÔ
K€CÜ�^‰^×'Ñ'¨¨c¨
°W¸fÐ4EÓF€Fà×ÑÓ€FÜ�x‰x˜Ó€HØ�?‰?˜6Ô"Ð"Ñ"rk   c                  ó  — t         j                  j                  «       } | j                  «       }dD �]Ø  }|dv rd„ }nd„ }t	        j
                  | gt	        j                  |«      ¬«      }t	        j
                  | gt	        j                  |d¬«      ¬«      }t        j                  j                  ||gdd	g«      }t        j                  j                  ||gdd	g«      }|j                  «       }t        |d
   d   t        «      sJ ‚|d
   d   j                  �J ‚t        |d
   d	   t        «      sJ ‚|d
   d	   j                  �J ‚|j                  «       }t        |d
   d   t        «      sJ ‚|d
   d   j                  €J ‚|d
   d   j                  t        j                  «      }	 ||	«      j!                  d ¬«       ||«      k(  sJ ‚t        |d
   d	   t        «      sJ ‚|d
   d	   j                  €J ‚t	        j"                  d|i«      j                  «       }t        |d   d
   d   t        «      sJ ‚|d   d
   d   j                  �J ‚t        |d   d
   d	   t        «      sJ ‚|d   d
   d	   j                  �J ‚t	        j"                  d|i«      j                  «       }t        |d   d
   d   t        «      sJ ‚|d   d
   d   j                  €J ‚t        |d   d
   d	   t        «      sJ ‚|d   d
   d	   j                  ��ŒÙJ ‚ y )Nr$  )rf   rl  c                 ó&   — | j                  d¬«      S )Nr   r  )rM   ©r7   s    r8   Útruncatez/test_nested_with_timestamp_tz.<locals>.truncate0  s   €  A§I¡I¸! IÓ$<Ð<rk   c                 ó   — | S r  r?  r  s    r8   r  z/test_nested_with_timestamp_tz.<locals>.truncate2  s   €  A˜Xrk   r}  r9  r¸  r;  r  r   r‚  r¡   )r/   r4  rÿ  r  rF   rc   r¹  r+  rÞ   rJ   rÀ   r   rƒ  Ú
astimezoner   r…  rM   rZ   )
r  r	  r3  r  ri   r¯  Úarr3Úarr4r[   Úutc_dts
             r8   Útest_nested_with_timestamp_tzr  %  s  € ä	�‰×	Ñ	Ó	€BØ×ÑÓ€Eô "ˆØ�;Ñó =â%Ü�h‰h˜�t¤"§,¡,¨tÓ"4Ô5ˆÜ�x‰x˜˜¤2§<¡<°Ð9KÔ#LÔMˆä�~‰~×)Ñ)¨3°¨*°wÀÐ6GÓHˆÜ�~‰~×)Ñ)¨4°¨,¸À&Ð8IÓJˆà—‘Ó!ˆÜ˜& ™) GÑ,¬hÔ7Ð7Ð7Ø�a‰y˜Ñ!×(Ñ(Ð0Ð0Ð0Ü˜& ™) FÑ+¬XÔ6Ð6Ð6Ø�a‰y˜Ñ ×'Ñ'Ð/Ð/Ð/à—‘Ó!ˆÜ˜& ™) GÑ,¬hÔ7Ð7Ð7Ø�a‰y˜Ñ!×(Ñ(Ð4Ð4Ð4Ø˜‘˜7Ñ#×.Ñ.¬x¯|©|Ó<ˆÙ˜Ó×'Ñ'¨tÐ'Ó4¹À»ÒGÐGÐGÜ˜& ™) FÑ+¬XÔ6Ð6Ð6Ø�a‰y˜Ñ ×'Ñ'Ð3Ð3Ð3ô —‘˜3 ˜+Ó&×0Ñ0Ó2ˆÜ˜& ™+ a™.¨Ñ1´8Ô<Ð<Ð<Ø�c‰{˜1‰~˜gÑ&×-Ñ-Ð5Ð5Ð5Ü˜& ™+ a™.¨Ñ0´(Ô;Ð;Ð;Ø�c‰{˜1‰~˜fÑ%×,Ñ,Ð4Ð4Ð4ä—‘˜3 ˜+Ó&×0Ñ0Ó2ˆÜ˜& ™+ a™.¨Ñ1´8Ô<Ð<Ð<Ø�c‰{˜1‰~˜gÑ&×-Ñ-Ð9Ð9Ð9Ü˜& ™+ a™.¨Ñ0´(Ô;Ð;Ð;Ø�c‰{˜1‰~˜fÑ%×,Ñ,Ò8Ð8Ð8ñM "rk   c                  ó"  — t        j                  g d¢d«      } t        j                  g d¢t        ¬«      }t        j                  g d¢«      }dD �]0  }| j	                  |«      }t
        j                  j                  ||«      }t
        j                  j                  |||¬«      }|dk(  r5t        j                  t        d	¬
«      5  |j                  «        d d d «       Œ‘|j                  «       }|dk(  r|j	                  d«      }n0|dk(  r|j	                  d«      }n|dk(  r|j	                  d«      }n|}t        j                  j                  ||¬«      }	t        j                   t        j"                  |«      t        j"                  |	«      «       |j                  «       }
|
j%                  «       j'                  «       dk(  sJ ‚|dk(  r|j	                  d«      }n0|dk(  r|j	                  d«      }n|dk(  r|j	                  d«      }n|}t        j                  j                  t        j(                  |d|«      |¬«      }t        j                   t        j"                  |
«      t        j"                  |«      «       �Œ3 y # 1 sw Y   �Œ¯xY w)Nrš   r*   rt  r   )FFTFFF)r   r   r   r   r   r   r   r   r  r   zUInt64 dictionary indicesr.  r   r   r   r   r   r   r›  r   rO  )r1   rg  rc   r@   rG  rF   rR  rÞ   r’   rK  rì  rJ   r/   r•  Ú
from_codesrS   re   rd   rp   rr   Úwhere)Úsrc_indicesr/  rm   Ú
index_typerU  Úd1Úd2Úpandas1Úcompare_indicesÚ
ex_pandas1Úpandas2Úsigned_indicesÚ
ex_pandas2s                r8   Útest_dictionary_with_pandasr"  Y  s  € Ü—)‘)šI qÓ)€KÜ—‘Ò/´vÔ>€JÜ�8‰8Ò=Ó>€Dô*ˆ
à×$Ñ$ ZÓ0ˆÜ×Ñ×+Ñ+¨G°ZÓ@ˆÜ×Ñ×+Ñ+¨G°ZÀdÐ+ÓKˆà˜Ò!ä—‘œyØ%@öBà—‘”÷Bð à—,‘,“.ˆð ˜Ò Ø%Ÿn™n¨WÓ5‰OØ˜8Ò#Ø%Ÿn™n¨WÓ5‰OØ˜8Ò#Ø%Ÿn™n¨WÓ5‰Oà%ˆOÜ—^‘^×.Ñ.¨È:Ð.ÓVˆ
ä
×ÑœrŸy™y¨Ó1´2·9±9¸ZÓ3HÔIà—,‘,“.ˆØ�~‰~Ó×#Ñ#Ó%¨Ò*Ð*Ð*ð ˜Ò Ø$Ÿ^™^¨GÓ4‰NØ˜8Ò#Ø$Ÿ^™^¨GÓ4‰NØ˜8Ò#Ø$Ÿ^™^¨GÓ4‰Nà$ˆNÜ—^‘^×.Ñ.¬r¯x©x¸¸bØ8Fó0Hà:Dð /ó Fˆ
ô 	×ÑœrŸy™y¨Ó1´2·9±9¸ZÓ3HÖIñY*÷Bñ Bús   ÃJÊJ	c                 ó<  — |�/|t         j                  j                  dt        |«      | ¬«         }n;t        j                  t        | «      D �cg c]  }t        |«      ‘Œ c}t        ¬«      }|dkD  r%d |t         j                  j                  | «      |k  <   |S c c}w )Nr   rÜ  r   )	r1   r3   rÝ  r¿   rc   r5   r   r@   Úrand)r[  Ú	item_sizeÚpct_nullr/  r[   rÁ  s         r8   Úrandom_stringsr'  �  s‡   € ØÐØœBŸI™I×-Ñ-¨a´°Z³ÀqÐ-ÓIÑJ‰ä—‘¼EÀ!¼HÓE¹H°qœ<¨	Õ2¸HÑEÜ &ô(ˆð �!‚|Ø/3ˆŒr�y‰y�~‰~˜aÓ  8Ñ+Ñ,à€Mùò Fs   ÁBc                  óô  — t         j                  j                  d«       t        j                  t        dd«      d¬«      } t        j                  t        dd«      d¬«      }t        j                  t        dd«      d¬«      }t        j                  j                  t         j                  j                  d	t        | «      d
d¬«      | «      }t        j                  j                  t         j                  j                  d	t        |«      d
d¬«      |«      }t        j                  j                  t         j                  j                  d	t        |«      d
d¬«      |«      }t        j                  t         j                  j                  d	t        |«      d
d¬«      t         j                  j                  d
«      dk  ¬«      }t        j                  j                  ||«      }t        j                  | ||g«      }t        j                  ||||g«      }	t        j                  |j                  d«      |j                  d«      |j                  d«      |j                  d«      g«      }
|	j                  «       }|
j                  «       }|j                  j                   |j                  «       k(  j#                  «       sJ ‚|j%                  d«      }d ||j'                  «       <   t)        j*                  ||«       y )Ni90  r  é    r«  r}  rþ  rÑ  r  r   r  rù  r  r–  r  r,   )r1   r3   r%  rF   rc   r'  rR  rÞ   rÝ  r¿   r$  Úconcat_arraysr­  rx  rJ   r  rœ  r  rG  rp   rS   re   )r  r  Úd3rý  rL  r  rù  r  Úexpected_dictr¡   Úa_denser[   Úresult_denseÚexpected_denses                 r8   Ú"test_variable_dictionary_to_pandasr0  š  sJ  € Ü‡I�I‡N�N�5Ôä	�‰”.  bÓ)°Ô	9€BÜ	�‰”.  bÓ)°Ô	9€BÜ	�‰”. ¨Ó+°(Ô	;€Bä	×	Ñ	×	'Ñ	'Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<Ø
ó
€Bô 
×	Ñ	×	'Ñ	'Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<Ø
ó
€Bô 
×	Ñ	×	'Ñ	'Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<¸bó
B€Bô 
�‰Ü
�	‰	×Ñ˜!œS ›W¨4°tÐÓ<Ü�Y‰Y�^‰^˜DÓ! CÑ'ô
€Bô 
×	Ñ	×	'Ñ	'¨¨BÓ	/€Bä×$Ñ$ b¨"¨b \Ó2€Mä
×Ñ˜"˜b " bÐ)Ó*€AÜ×Ñ §¡¨Ó 1Ø "§¡¨Ó 1Ø "§¡¨Ó 1Ø "§¡¨Ó 1ð 3ó 4€Gð
 �[‰[‹]€FØ×$Ñ$Ó&€Là�J‰J×!Ñ! ]×%<Ñ%<Ó%>Ñ>×CÑCÔEÐEÐEà—]‘] 5Ó)€NØ,0€N�<×&Ñ&Ó(Ñ)Ü×Ñ˜<¨Õ8rk   c                  óx  — t        j                  g d¢«      j                  «       } t         j                  j	                  g d¢| «      }|j                  «       }t        j                  t        j                  g d¢t        ¬«      t        j                  ddgt        ¬«      g«      }t        j                  ||«       y )N)r¡   r¡   r¡   rÍ   rÍ   rv  )r¡   r¡   r¡   r   rÍ   )rF   rc   r§  r,  rÞ   rJ   r/   rd   r1   r@   rS   re   )rW  ri   r[   rV   s       r8   Ú(test_dictionary_encoded_nested_to_pandasr2  Æ  s   € ä�H‰HÒ.Ó/×AÑAÓC€Eä
�,‰,×
"Ñ
"¢9¨eÓ
4€Cà�]‰]‹_€FÜ�y‰yœ"Ÿ(™(¢?¼&ÔAÜŸ(™( C¨ :´VÔ<ð>ó ?€Hô ×Ñ˜6 8Õ,rk   c                  ó  — t        j                  g d¢«      } t        j                  t        j                  «       t        j                  «       rt        j                  «       nt        j                  «       «      }t        j                  | «      }|j                  «       g d¢k(  sJ ‚|j                  j                  |«      sJ ‚t        j                  g d¢«      } t        j                  | «      }|j                  «       g d¢k(  sJ ‚|j                  j                  |«      sJ ‚t        j                  | t        j                  g d¢«      ¬«      }|j                  «       g d¢k(  sJ ‚|j                  j                  |«      sJ ‚y )N)r¡   rÍ   r¡   )r¡   rÍ   Nr¡   )FFFTr  )r¡   rÍ   NN)r/   r•  rF   r/  r   r   r  rV  r«  rc   ré  r`   rK   r1   )r  rÇ  r[   s      r8   Útest_dictionary_from_pandasr4  Ó  s  € Ü
�.‰.šÓ
)€CÜ—M‘MÜ
�‰‹	Ü(×:Ñ:Ô<Œ�‰ÔÄ"Ç)Á)Ã+ó€Mô
 �X‰X�c‹]€FØ×ÑÓ¢Ò0Ð0Ð0Ø�;‰;×Ñ˜mÔ,Ð,Ð,ô �.‰.Ò.Ó
/€Cä�X‰X�c‹]€FØ×ÑÓÒ!6Ò6Ð6Ð6Ø�;‰;×Ñ˜mÔ,Ð,Ð,ô �X‰X�c¤§¡Ò)DÓ EÔF€FØ×ÑÓÒ!7Ò7Ð7Ð7Ø�;‰;×Ñ˜mÔ,Ð,Ñ,rk   c                  ó   — t         j                  j                  t        j                  ddgd¬«      t        j                  ddgt
        ¬«      «      } t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  «       ddgk(  sJ ‚t        j                  t        j                  «       t        j                  «       ¬«      }t        j                   t        j"                  «      5  t        j                  | |¬«      }d d d «       t        j                  t        j                  «       t        j                  «       d	¬
«      }d}t        j                   t$        |¬«      5  t        j                  | |¬«      }d d d «       |j                  «       ddgk(  sJ ‚t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |t        j                  dd	g«      ¬«      }|j                  j                  |«      sJ ‚|j                  «       dd gk(  sJ ‚t        j                  g «      } t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  «       g k(  sJ ‚t        j                  t        j                  «       t        j                  «       ¬«      }t        j                  | |¬«      }|j                  j                  |«      sJ ‚|j                  «       g k(  sJ ‚t        j                  ddg«      } t        j                  | t        j                  «       ¬«      }t        j                  ddgt        j                  «       ¬«      }|j                  |«      sJ ‚|j                  «       ddgk(  sJ ‚y # 1 sw Y   �ŒéxY w# 1 sw Y   �Œ}xY w)Nr   r   r   r   r¡   rÍ   )r  r
  r}  T)r  r
  r(  z4The 'ordered' flag of the passed categorical values r.  Fr²  )r/   r•  r  r1   rc   r@   rF   r/  r   r«  r`   rK   ré  r   r   r’   rK  rw  rL  )r  r�  r[   r&  rV   s        r8   Ú*test_dictionary_from_pandas_specified_typer6  ë  s  € ô �.‰.×
#Ñ
#Ü
�‰�!�Q�˜vÔ&¬¯©°#°s°Ä6Ô(JóL€Cô
 �-‰-¤2§8¡8£:¼"¿)¹)»+Ô
F€CÜ�X‰X�c Ô$€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ # s Ò+Ð+Ð+ô �-‰-¤2§7¡7£9¼¿¹»Ô
D€CÜ	�‰”r—‘Õ	'Ü—‘˜# CÔ(ˆ÷ 
(ô �-‰-Ü—7‘7“9¬¯©«¸dôD€Cà
@€CÜ	�‰”z¨Ö	-Ü—‘˜# CÔ(ˆ÷ 
.à×ÑÓ # s Ò+Ð+Ð+ô �-‰-¤2§8¡8£:¼"¿)¹)»+Ô
F€CÜ�X‰X�c ¬"¯(©(°E¸4°=Ó*AÔB€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ # t Ò,Ð,Ð,ô �.‰.˜Ó
€Cä
�-‰-¤2§7¡7£9¼¿¹»Ô
E€CÜ�X‰X�c Ô$€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ Ò#Ð#Ð#Ü
�-‰-¤2§7¡7£9¼¿¹»Ô
D€CÜ�X‰X�c Ô$€FØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø×ÑÓ Ò#Ð#Ð#ô �.‰.˜#˜s˜Ó
$€CÜ�X‰X�c¤§	¡	£Ô,€FÜ�x‰x˜˜c˜
¬¯©«Ô5€HØ�=‰=˜Ô"Ð"Ð"Ø×ÑÓ # s Ò+Ð+Ñ+÷E 
(Ñ	'ú÷ 
.Ñ	-ús   Ä7P6Æ0QÐ6Q ÑQc                  ó^  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j
                  dg d¢id¬«      } | j                  d«      } t        j                  | d   j                  j                  «      }t        j                  | d   j                  j                  j                  «      }t        |t        j                  «      sJ ‚t        j                  j                  | d   «      }t        j                   j#                  ||«      }||k(  sJ ‚y )Nz1.3.0z:PyArrow backed string data type introduced in pandas 1.3.0r7   ©r¶   rf  r¶   zstring[pyarrow]r   r!  )r   r/   r@  r’   rs  r0   rG  rF   rc   r  Úcodesrœ  rt   rÀ   r®  rI   rR  rÞ   )rU   rU  r/  rV   r[   s        r8   Ú:test_convert_categories_to_array_with_string_pyarrow_dtyper:     sÚ   € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰ÐPÔQä	�‰�sÒ1Ð2Ð:KÔ	L€BØ	�‰�:Ó	€BÜ�h‰h�r˜#‘w—{‘{×(Ñ(Ó)€GÜ—‘˜"˜S™'Ÿ+™+×0Ñ0×7Ñ7Ó8€JÜ�j¤"§(¡(Ô+Ð+Ð+ä�x‰x×#Ñ# B s¡GÓ,€HÜ×Ñ×+Ñ+¨G°ZÓ@€FØ�XÒÐÑrk   c                  ó  — t        j                  dt        j                  g d¢d¬«      i«      } t        j                  | «      }t        j
                  g d¢t        j                  «       «      }|d   j                  d«      j                  |«      sJ ‚t        j                  dt        j                  «       fg«      }t        j                  | |¬«      }t        j
                  g d¢t        j                  «       «      }|d   j                  d«      j                  |«      sJ ‚t        j
                  | d   «      }|j                  |«      sJ ‚t        j
                  | d   t        j                  «       ¬«      }|j                  |«      sJ ‚t        j
                  | d   j                  «      }|j                  |«      sJ ‚t        j
                  | d   j                  t        j                  «       ¬«      }|j                  |«      sJ ‚y )Nr¡   rè  ÚInt64r   r   r~  r}  )r/   r0   rd   rF   rZ   rc   r   rA  rK   r;   r!   rt   )rU   r[   rV   r;   r˜  s        r8   Útest_array_protocolr=  4  sw  € Ü	�‰�sœBŸI™I¢l¸'ÔBÐCÓ	D€Bô
 �X‰X�b‹\€FÜ�x‰xš¤b§h¡h£jÓ1€HØ�!‰9�?‰?˜1Ó×$Ñ$ XÔ.Ð.Ð.ô �Y‰Y˜œbŸj™j›lÐ+Ð,Ó-€FÜ�X‰X�b Ô(€FÜ—‘š¤r§z¡z£|Ó4€IØ�!‰9�?‰?˜1Ó×$Ñ$ YÔ/Ð/Ð/ô �X‰X�b˜‘gÓ€FØ�=‰=˜Ô"Ð"Ð"Ü�X‰X�b˜‘g¤B§J¡J£LÔ1€FØ�=‰=˜Ô#Ð#Ð#ô �X‰X�b˜‘g—n‘nÓ%€FØ�=‰=˜Ô"Ð"Ð"Ü�X‰X�b˜‘g—n‘n¬2¯:©:«<Ô8€FØ�=‰=˜Ô#Ð#Ñ#rk   c                   ó4   ‡ — e Zd Zˆ fd„Zd„ Zed„ «       Zˆ xZS )ÚDummyExtensionTypec                 óJ   •— t         ‰| �  t        j                  «       d«       y )Nz,pyarrow.tests.test_pandas.DummyExtensionType©ÚsuperÚ__init__rF   r   ©r…   Ú	__class__s    €r8   rC  zDummyExtensionType.__init__S  s   ø€ Ü‰ÑœŸ™›ØGõ	Irk   c                  ó   — y©Nrk   r?  r¶  s    r8   Ú__arrow_ext_serialize__z*DummyExtensionType.__arrow_ext_serialize__W  ó   € Ørk   c                 óP   — |dk(  sJ ‚|t        j                  «       k(  sJ ‚ | «       S rG  )rF   r   )ÚclsÚstorage_typeÚ
serializeds      r8   Ú__arrow_ext_deserialize__z,DummyExtensionType.__arrow_ext_deserialize__Z  s+   € à˜SÒ Ð Ð ØœrŸx™x›zÒ)Ð)Ð)Ù‹uˆrk   )rÂ  rÃ  rÄ  rC  rH  ÚclassmethodrN  Ú__classcell__©rE  s   @r8   r?  r?  Q  s"   ø„ ôIòð ñó ôrk   r?  c                 ó¨   — t        j                  g d¢t        j                  «       ¬«      }t         j                  j	                  t        «       |«      S )Nr€   r}  )rF   rc   r   ÚExtensionArrayÚfrom_storager?  )r…   r`   Ústorages      r8   ÚPandasArray__arrow_array__rV  a  s7   € ô �h‰h’y¤r§x¡x£zÔ2€GÜ×Ñ×)Ñ)Ô*<Ó*>ÀÓHÐHrk   c                 óî  — t        j                  g d¢t        j                  «       ¬«      }t         j                  j	                  t        «       |«      }| j                  t        j                  j                  dt        d¬«       | j                  t        j                  j                  dt        d¬«       t        j                  ddd¬	«      j                  t        j                  d
d«      j                  fD ]û  }t        j                  |«      }|j                  |«      sJ ‚t        j                  t        j                  |«      «      }|j                  |«      sJ ‚t        j                  t        j                   |«      «      }|j                  |«      sJ ‚t        j"                  t        j$                  d|i«      «      j'                  d«      j)                  d«      }|j                  |«      rŒûJ ‚ y )Nr€   r}  Ú__arrow_array__F)Úraisingú
2012-01-01r�   ÚDrf  r   r˜   r¡   r   )rF   rc   r   rS  rT  r?  Úsetattrr/   r­  ÚPeriodArrayrV  ÚIntervalArrayri  rj  rK   rd   rê   rZ   r0   r%  rA  )ÚmonkeypatchrU  rV   ri   r[   s        r8   Ú*test_array_protocol_pandas_extension_typesr`  h  sp  € ô �h‰h’y¤r§x¡x£zÔ2€GÜ× Ñ ×-Ñ-Ô.@Ó.BÀGÓL€Hà×ÑœŸ	™	×-Ñ-Ð/@Ü2¸Eð ô Cà×ÑœŸ	™	×/Ñ/Ð1BÜ2¸Eð ô Cä—‘ °a¸cÔB×HÑHÜ×!Ñ! ! QÓ'×-Ñ-ó/ˆä—‘˜#“ˆØ�}‰}˜XÔ&Ð&Ð&Ü—‘œ"Ÿ)™) C›.Ó)ˆØ�}‰}˜XÔ&Ð&Ð&Ü—‘œ"Ÿ(™( 3›-Ó(ˆØ�}‰}˜XÔ&Ð&Ð&Ü—‘œ"Ÿ,™,¨¨S zÓ2Ó3×:Ñ:¸3Ó?×EÑEÀaÓHˆØ�}‰}˜XÕ&Ð&Ð&ñ/rk   c                 ó\  — t        |t        j                  «      r|}n|j                  d«      }|j	                  «       }t        j                  |d   d¬«      |j                  |j                  t        |«      z    }|d   }|�Tt        j                  j                  t        j                  «       t        |«      d |g«      }t        j                  |«      }n$t        j                  t        |«      t        ¬«      }t        j                   j#                  |j%                  «       | d¬«      }|S )Nr   rO  r   r   F)rs   )rÀ   rF   r®  rA  Úbuffersr1   Ú
frombufferÚoffsetr¿   ÚBooleanArrayÚfrom_buffersrï  rÍ  r6  r"   r/   r­  ÚIntegerArrayrs   )r…   rc   ri   Úbuflistr    Úbitmaskrm   Úint_arrs           r8   Ú_Int64Dtype__from_arrow__rk  ‚  sâ   € ô �%œŸ™Ô"Ø‰ð �k‰k˜!‹nˆØ�k‰k‹m€GÜ�=‰=˜ ™¨GÔ4Ø�
‰
�3—:‘:¤ C£Ñ(ð*€Dà�a‰j€GØÐÜ�‰×+Ñ+Ü�H‰H‹Jœ˜C› 4¨ /ó3ˆä�z‰z˜$Ó‰ä�w‰w”s˜3“x¤tÔ,ˆÜ�i‰i×$Ñ$ T§Y¡Y£[°4°%¸eÐ$ÓD€GØ€Nrk   c                 óz  — t        j                  g d¢t        j                  g d¢d¬«      g d¢dœ«      }t        j                  |«      }|j                  «       }t        |«      j                  d   j                  j                  t        j                  d«      k(  sJ ‚t        |«      j                  d	   j                  j                  t        j                  «       k(  sJ ‚t        j                  ||«       t        j                  d
t        j                  g d¢d¬«      i«      }t        j                  |«      }|j                  «       }t        |«      j                  d   j                  j                  t        j                  «       k(  sJ ‚t        j                  ||«       t        t         j                  «      t        d«      k  r?| j!                  t         j"                  j$                  j&                  j(                  d«       n>| j!                  t         j"                  j$                  j&                  j*                  d«       |j                  «       }t-        t        |«      j                  «      d	k(  sJ ‚t        |«      j                  d   j                  j                  t        j                  d«      k(  sJ ‚y )Nr€   r|  r<  r   r  r“  r   r   r   r¡   rè  ú	1.3.0.devÚ__from_arrow__)r/   r0   rc   rF   rZ   rJ   rç  ré  rt   r   r1   Ú
Int64DtyperS   rT   r   r@  ÚdelattrÚcorer­  ÚintegerÚ_IntegerDtypeÚNumericDtyper¿   )r_  rU   rZ   r[   rÃ   rn  s         r8   Útest_convert_to_extension_arrayru  ˜  s   € ô 
�‰ÚœbŸh™h¢y¸Ô@Úñ	ó
€Bô �H‰H�R‹L€Eð �_‰_Ó€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·h±h¸wÓ6GÒGÐGÐGÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ×Ñ˜& "Ô%ô �,‰,˜œRŸX™X¢l¸'ÔBÐCÓ
D€CÜ�X‰X�c‹]€FØ×ÑÓ€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ×Ñ˜& #Ô&ô Œr�~‰~Ó¤¨Ó!5Ò5Ø×ÑÜ�G‰G�N‰N×"Ñ"×0Ñ0Ð2Bõ	Dð 	×ÑÜ�G‰G�N‰N×"Ñ"×/Ñ/Ð1Aô	Cð �_‰_Ó€FÜŒx˜Ó×&Ñ&Ó'¨1Ò,Ð,Ð,Ü�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·h±h¸wÓ6GÒGÐGÑGrk   c                   ó*   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ xZS )ÚMyCustomIntegerTypec                 óJ   •— t         ‰| �  t        j                  «       d«       y )Nz-pyarrow.tests.test_pandas.MyCustomIntegerTyperA  rD  s    €r8   rC  zMyCustomIntegerType.__init__½  s   ø€ Ü‰ÑœŸ™›ØHõ	Jrk   c                  ó   — yrG  r?  r¶  s    r8   rH  z+MyCustomIntegerType.__arrow_ext_serialize__Á  rI  rk   c                 ó*   — t        j                  «       S r  )r/   ro  r¶  s    r8   rÐ  z#MyCustomIntegerType.to_pandas_dtypeÄ  s   € Ü�}‰}‹Ðrk   )rÂ  rÃ  rÄ  rC  rH  rÐ  rP  rQ  s   @r8   rw  rw  »  s   ø„ ôJòörk   rw  c                 óÊ  — t        j                  g d¢t        j                  «       «      }t         j                  j	                  t        «       |«      }t        j                  d|i«      }|j                  «       }t        |«      j                  d   j                  j                  t        j                  «       k(  sJ ‚t        j                  g d¢d¬«      }t        j                   ||«       |j                  «       }t        |«      j                  d   j                  j                  t        j                  «       k(  sJ ‚t        j"                  dt        j                  g d¢d¬«      i«      }t        j$                  ||«       t'        t        j(                  «      t'        d«      k  r?| j+                  t        j,                  j.                  j0                  j2                  d«       n>| j+                  t        j,                  j.                  j0                  j4                  d«       |j                  «       }t        |«      j                  d   j                  j                  t7        j                  d«      k(  sJ ‚t        j                  g d¢«      }t        j                   ||«       t9        j:                  t<        «      5  |j                  «        d d d «       y # 1 sw Y   y xY w)	Nr·   r¡   r   r<  r   rm  rn  r   )rF   rc   r   rS  rT  rw  rZ   rJ   rç  ré  rt   r   r/   ro  rd   rS   re   r0   rT   r   r@  rp  rq  r­  rr  rs  rt  r1   r’   rK  rL  )r_  rU  ri   rZ   r[   rV   s         r8   Ú/test_conversion_extensiontype_to_extensionarrayr|  È  sù  € ä�h‰h’|¤R§X¡X£ZÓ0€GÜ
×
Ñ
×
(Ñ
(Ô)<Ó)>ÀÓ
H€CÜ�H‰H�c˜3�ZÓ €Eð �]‰]‹_€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ�y‰yš¨WÔ5€HÜ×Ñ˜6 8Ô,à�_‰_Ó€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·m±m³oÒEÐEÐEÜ�|‰|˜S¤"§(¡(ª<¸wÔ"GÐHÓI€HÜ×Ñ˜& (Ô+ô Œr�~‰~Ó¤¨Ó!5Ò5Ø×ÑÜ�G‰G�N‰N×"Ñ"×0Ñ0Ð2Bõ	Dð 	×ÑÜ�G‰G�N‰N×"Ñ"×/Ñ/Ð1Aô	Cð �]‰]‹_€FÜ�FÓ×"Ñ" 1Ñ%×,Ñ,×2Ñ2´b·h±h¸wÓ6GÒGÐGÐGÜ�y‰yšÓ&€HÜ×Ñ˜6 8Ô,ä	�‰”zÕ	"Ø�‰Ô÷ 
#×	"Ñ	"ús   Ê?KËK"c            	      óâ  — t        j                  dt        j                  g d¢t        j                  «       «      i«      } | j	                  «       }|d   j
                  t        j
                  d«      k(  sJ ‚| j	                  t        j                  «       t        j                  «       ij                  ¬«      }t        |d   j
                  t        j                  «      sJ ‚t        j                  dt        j                  g d¢t        j                  «       «      i«      } | j	                  t        j                  «       t        j                  «       ij                  ¬«      }|d   j
                  t        j
                  d«      k(  sJ ‚t        j                  t        j                  dt        j                  g d¢d¬«      i«      «      } | j	                  «       }t        |d   j
                  t        j                  «      sJ ‚| j	                  t        j                  «       t        j                  d«      ij                  ¬«      }t        |d   j
                  t        j                  «      sJ ‚y )	Nr¡   r€   r   ©Útypes_mapperr   r<  r   r[  )rF   rZ   rc   r   rJ   r   r1   r/   ro  r·  rÀ   r   r0   ÚPeriodDtype)rZ   r[   s     r8   Ú'test_to_pandas_extension_dtypes_mappingr�  ì  s«  € Ü�H‰H�cœ2Ÿ8™8¢I¬r¯x©x«zÓ:Ð;Ó<€Eð �_‰_Ó€FØ�#‰;×Ñ¤§¡¨Ó 1Ò1Ð1Ð1ð �_‰_¬2¯8©8«:´r·}±}³Ð*G×*KÑ*Kˆ_ÓL€FÜ�f˜S‘k×'Ñ'¬¯©Ô7Ð7Ð7ô �H‰H�cœ2Ÿ8™8¢I¬r¯x©x«zÓ:Ð;Ó<€EØ�_‰_¬2¯8©8«:´r·}±}³Ð*G×*KÑ*Kˆ_ÓL€FØ�#‰;×Ñ¤§¡¨Ó 1Ò1Ð1Ð1ô �H‰H”R—\‘\ 3¬¯©²À'Ô(JÐ"KÓLÓM€EØ�_‰_Ó€FÜ�f˜S‘k×'Ñ'¬¯©Ô7Ð7Ð7Ø�_‰_Ü—h‘h“j¤"§.¡.°Ó"5Ð6×:Ñ:ð ó <€Fä�f˜S‘k×'Ñ'¬¯©Ô8Ð8Ñ8rk   c                  ó  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j                  t        j                  dt        j                  «       d¬«      t        j                  dt        j                  «       d¬«      g«      } t        j                  | «      }t        j                  t        j                  d| «      g«      }t        j                  ddt        j                  d	«      d
œiddd d
œig«      j                  d|i«      }t
        j                  j!                  ||¬«      }|j#                  t        j                  ¬«      }t        j$                  j'                  ||«       y )Nz1.5.2zTest relies on pd.ArrowDtyperf  Frå  ru  Tr¶   r   )rf  ru  r~  r~  )r   r/   r@  r’   rs  rF   rë  rƒ   rï  r    Ú
ArrowDtyper;   r0   r1   rG  rH   rI   rJ   rZ  rT   )r  Úpd_typer;   Údf0rZ   rœ  s         r8   Ú4test_to_pandas_extension_dtypes_mapping_complex_typer†    s  € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð2Ô3Ü�i‰iä�H‰H�UœBŸH™H›J°Ô7Ü�H‰H�UœBŸJ™J›L°4Ô8ð	
ó€Gô �m‰m˜GÓ$€GÜ�Y‰YœŸ™ ¨Ó0Ð1Ó2€FÜ
�,‰,à˜D¬¯©°A«Ñ7Ð8Ø˜D¨Ñ.Ð/ð	
ó÷
 �fˆe�WÐÓð ô �H‰H× Ñ  ¨VÐ Ó4€EØ
�/‰/¤r§}¡}ˆ/Ó
5€CÜ‡J�J×!Ñ! # sÕ+rk   c                  óL  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j
                  ddd¬«      j                  t        j                  dd«      j                  fD ]¥  } t        j                  | «      j                  «       }t        j                  | «      }t        j                  ||«       t        j                  d	| i«      d	   j                  «       }t        j                  | d	¬
«      }t        j                  ||«       Œ§ y )Nz1.1z'ExtensionDtype to_pandas method missingrZ  r�   r[  rf  r   r˜   r\   ra   )r   r/   r@  r’   rs  ri  rc   rj  rF   rJ   rd   rS   re   rZ   )ri   r[   rV   s      r8   Útest_array_to_pandasrˆ    sÏ   € ÜŒr�~‰~Ó¤¨£Ò/Ü�‰Ð=Ô>ä—‘ °a¸cÔB×HÑHÜ×!Ñ! ! QÓ'×-Ñ-ó/ˆä—‘˜#“×(Ñ(Ó*ˆÜ—9‘9˜S“>ˆÜ
×Ñ˜v xÔ0ä—‘˜5 #˜,Ó'¨Ñ.×8Ñ8Ó:ˆÜ—9‘9˜S uÔ-ˆÜ
×Ñ˜v xÕ0ñ/rk   c            
      óÞ  — t        j                  t        j                  dd¬«      ¬«      } t        j                  | «      }t        t         j                  «      t        d«      kD  r9t        j                  |j                  «       j                  | j                  «       y t        j                  |j                  «       j                  t        j                  dddœdddœdddœgd	¬
«      «       y )Nr   r�   )r;  Úendr»   z1.0r   )r"  r#  r*   r@   r   )r/   r0   rj  rF   rZ   r   r@  rS   Úassert_index_equalrJ   r•   rê   ©rU   rZ   s     r8   Ú5test_roundtrip_empty_table_with_extension_dtype_indexr�  -  s«   € Ü	�‰œB×-Ñ-°A¸1Ô=Ô	>€BÜ�H‰H�R‹L€EÜŒr�~‰~Ó¤¨£Ò/Ü
×Ñ˜eŸo™oÓ/×5Ñ5°r·x±xÕ@ä
×Ñ˜eŸo™oÓ/×5Ñ5Ü Ÿh™h°¸QÑ(?Ø12¸QÑ(?Ø12¸QÑ(?ð(Að .6ô7õ	8rk   r•   r¡   rÍ   c                 óØ  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j
                  ddgddgddgd	œt        j                  t        j                  «       «      ¬
«      j                  | «      }|j                  «       }t        j                  |«      }|j                  t        j                  ¬«      }t        j                  ||«       y )Nz1.5.0zArrowDtype missingr   r*   r�   r˜   r™   r¯   r“  r   r~  )r   r/   r@  r’   rs  r0   rƒ  rF   r   r‘   rs   rZ   rJ   rS   rT   )r•   rU   rV   rZ   r[   s        r8   Ú!test_to_pandas_types_mapper_indexr�  :  s®   € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð(Ô)Ü	�‰à�Q�Ø�Q�Ø�Q�ñ	
ô
 �m‰mœBŸH™H›JÓ'ô
÷ �i�Óð ð �w‰w‹y€HÜ�H‰H�R‹L€EØ�_‰_¬"¯-©-ˆ_Ó8€FÜ×Ñ˜& (Õ+rk   c                  ó  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j                  g d¢t        j                  «       «      } t        j                  «       t        j                  «       ij                  }| j                  |¬«      }|j                  t        j                  «       k(  sJ ‚t        j                  «       d ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚t        j                  «       t        j                  «       ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚y ©Nz1.2.0z$Float64Dtype extension dtype missingr€   r~  r   )r   r/   r@  r’   rs  rF   rc   r   ro  r·  rJ   r   r1   r!   ÚFloat64Dtype©r    r  r[   s      r8   Ú!test_array_to_pandas_types_mapperr”  L  s  € äŒr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð:Ô;ä�8‰8’IœrŸx™x›zÓ*€Dô —H‘H“J¤§¡£Ð0×4Ñ4€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ=™=›?Ò*Ð*Ð*ô —H‘H“J Ð%×)Ñ)€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ð,ô —J‘J“L¤"§/¡/Ó"3Ð4×8Ñ8€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ñ,rk   c                  óv  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j                  t        j                  g d¢t        j                  «       «      g«      } t        | t
        j                  «      sJ ‚t        j                  «       t        j                  «       ij                  }| j                  |¬«      }|j                  t        j                  «       k(  sJ ‚t        j                  «       d ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚t        j                   «       t        j"                  «       ij                  }| j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚y r‘  )r   r/   r@  r’   rs  rF   r­  rc   r   rÀ   rf  ro  r·  rJ   r   r1   r!   r’  r“  s      r8   Ú)test_chunked_array_to_pandas_types_mapperr–  c  s2  € ô Œr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð:Ô;ä×ÑœRŸX™X¢i´·±³Ó<Ð=Ó>€DÜ�dœBŸO™OÔ,Ð,Ð,ô —H‘H“J¤§¡£Ð0×4Ñ4€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ=™=›?Ò*Ð*Ð*ô —H‘H“J Ð%×)Ñ)€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ð,ô —J‘J“L¤"§/¡/Ó"3Ð4×8Ñ8€LØ�^‰^¨ˆ^Ó6€FØ�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ñ,rk   r©  r    c                 ód  — t        t        j                  «      t        d«      k  rt        j                  d«       t        j                  || ¬«      }|j                  «       }|j                  t        j                  t        j                  ¬«      k(  sJ ‚t        j                  |g| ¬«      }|j                  «       }|j                  t        j                  t        j                  ¬«      k(  sJ ‚| d ij                  }|j                  |¬«      }|j                  t        j                  d«      k(  sJ ‚|j                  d¬«      }|j                  t        j                  t        j                  ¬«      k(  sJ ‚|j                  d	¬«      }|j                  t        j                  g d¬
«      k(  sJ ‚y )Nr�  z#PyArrow backed string dtype missingr}  )Úna_valuer~  r@   Fr“  Tr  )r   r/   r@  r’   rs  rF   rc   rJ   r   ÚStringDtyper1   rN   r­  r·  ÚCategoricalDtype)r©  r    ri   r[   r  s        r8   Ú!test_array_to_pandas_string_dtyper›  |  sE  € ô Œr�~‰~Ó¤¨Ó!1Ò1Ü�‰Ð9Ô:ä
�(‰(�4˜kÔ
*€CØ�]‰]‹_€FØ�<‰<œ2Ÿ>™>´2·6±6Ô:Ò:Ð:Ð:ä
×
Ñ
˜D˜6¨Ô
4€CØ�]‰]‹_€FØ�<‰<œ2Ÿ>™>´2·6±6Ô:Ò:Ð:Ð:ð   Ð&×*Ñ*€LØ�]‰]¨ˆ]Ó5€FØ�<‰<œ2Ÿ8™8 HÓ-Ò-Ð-Ð-ð �]‰]°%ˆ]Ó8€FØ�<‰<œ2Ÿ>™>´2·6±6Ô:Ò:Ð:Ð:Ø�]‰]°$ˆ]Ó7€FØ�<‰<œ2×.Ñ.¸"Ø7<ô>ò >ð >ñ >rk   c                  óF  — g d¢} g d¢}t        j                  | d¬«      }t        j                  |d¬«      }t        j                  g d¢d¬«      }d}d}t        j                  d	| it        j                  d
ddd¬«      ¬«      }t         j
                  j                  ||gd	dg¬«      }|j                  dt        j                  dgd d ddddidœgd	d	ddd dœddddd dœgddœ«      i«      }|j                  «       }	t        j                  |	|«       t        j                  d| it        j                  d
ddd¬«      ¬«      }
t         j
                  j                  ||gd|g¬«      }|j                  dt        j                  |gd d ddddidœgd	d	ddd dœd|ddd dœgddœ«      i«      }|j                  «       }t        j                  ||
«       t        j                  d	| it        j                  d
ddd ¬«      ¬«      }t         j
                  j                  ||gd	|g¬«      }|j                  dt        j                  |gd d ddddidœgd	d	ddd dœd |ddd dœgddœ«      i«      }|j                  «       }t        j                  ||«       t        j                  d	| it        j                  d
ddd¬«      |g¬«      }t         j
                  j                  |||gd	d|g¬«      }|j                  dt        j                  d|gd d ddddidœgd	d	ddd dœddddd dœd |ddd dœgddœ«      i«      }|j                  «       }t        j                  ||«       t        j                  d	| it        j                  d
ddd ¬«      |g¬«      }t         j
                  j                  |||gd	||g¬«      }|j                  dt        j                  ||gd d ddddidœgd	d	ddd dœd |ddd dœd |ddd dœgddœ«      i«      }|j                  «       }t        j                  ||«       y )N)r¶   rf  Nru  )r¡   r¡   rÍ   rÍ   r7  r}  r�  r   r   r  r¡   r   r¸   r*   rZ  r¹   r»   rä   ó   pandasr/  r@   r0  r1  )rb   r  r#  r%  r&  z0.23.4)r  r"  rL   r´  )rF   rc   r/   r0   r¾   rH   rÞ   Úreplace_schema_metadataÚjsonÚdumpsrJ   rS   rT   )Úa_valuesÚb_valuesÚa_arrowÚb_arrowÚrng_index_arrowÚ
gen_name_0Ú
gen_name_1Úe1rû  Úr1Úe2rü  Úr2Úe3Út3Úr3Úe4Út4Úr4Úe5Út5Úr5s                         r8   Ú)test_metadata_compat_range_index_pre_0_12rµ  ž  s\  € ò +€HÚ#€HÜ�h‰h�x fÔ-€GÜ�h‰h�x fÔ-€Gä—h‘hš|°'Ô:€Oà$€JØ$€Jô 
�‰ØˆXðä�]‰]˜1˜a a¨eÔ4ô
6€Bô 
�‰×	Ñ	˜w¨Ð8Ø%(¨% Lð 
ó 
2€Bà	×	#Ñ	#Ø”4—:‘:Ø$˜gØ)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #(Ø(-Ø)0Ø(/Ø&*ñ	,ð	-ð  (ñ!)ó
ð%ó 
€Bð( 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰Øˆxðä�]‰]˜1˜a a¨eÔ4ô
6€Bô 
�‰×	Ñ	˜w¨Ð8Ø%*¨JÐ$7ð 
ó 
9€Bà	×	#Ñ	#Ø”4—:‘:Ø)˜lØ)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #(Ø(2Ø)0Ø(/Ø&*ñ	,ð	-ð  (ñ!)ó
ð%ó 
€Bð( 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰ØˆXðä�]‰]˜1˜a a¨dÔ3ô
5€Bô 
�‰×	Ñ	˜w¨Ð8Ø%(¨*Ð$5ð 
ó 
7€Bà	×	#Ñ	#Ø”4—:‘:Ø)˜lØ)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #'Ø(2Ø)0Ø(/Ø&*ñ	,ð	-ð  (ñ!)ó
ð%ó 
€Bð( 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰ØˆXðä�m‰m˜A˜q q¨uÔ5°xÐ@ô
B€Bô 
�‰×	Ñ	˜w¨¸ÐAØ%(¨%°Ð$<ð 
ó 
>€Bà	×	#Ñ	#Ø”4—:‘:Ø$ jÐ1Ø)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #(Ø(-Ø)0Ø(/Ø&*ñ	,ð
 #'Ø(2Ø)2Ø(0Ø&*ñ	,ð-ð  (ñ+)ó
ð%ó 
€Bð2 
�‰‹€BÜ×Ñ˜"˜bÔ!ô 
�‰ØˆXðä�m‰m˜A˜q q¨tÔ4°hÐ?ô
A€Bô 
�‰×	Ñ	˜w¨¸ÐAØ%(¨*°jÐ$Að 
ó 
C€Bà	×	#Ñ	#Ø”4—:‘:Ø)¨:Ð6Ø)-Ø/3Ø09Ø/7Ø.8¸'Ð-Bñ	!Dð  Eð
 #&Ø(+Ø)2Ø(0Ø&*ñ	,ð
 #'Ø(2Ø)0Ø(/Ø&*ñ	,ð
 #'Ø(2Ø)2Ø(0Ø&*ñ	,ð-ð  (ñ+)ó
ð%ó 
€Bð2 
�‰‹€BÜ×Ñ˜"˜bÕ!rk   c                  óØ  — g d¢} g d¢}t        j                  | d¬«      }t        j                  |d¬«      }t        j                  | |dœt        j                  ddd	d
¬«      ¬«      }t        j
                  ||dœ«      }|j                  dt        j                  d d d dddœgd ddddœd ddddœgdd
dd	ddœgddœ«      i«      }|j                  «       }t        j                  ||«       y )Nr·   )r¡   rÍ   rÜ   r  r   r}  r7  rF  r   r¸   r*   rZ  r¹   r»   r�  r@   zmixed-integer)r  r&  rb   r%  r#  r¡   )r&  rb   r%  r#  rÍ   r/  r5   )Úkindrb   r;  rº   r  z0.25.0)r"  rL   r  r´  )rF   rc   r/   r0   r¾   rZ   rž  rŸ  r   rJ   rS   rT   )r¡  r¢  r£  r¤  rV   rZ   r[   s          r8   Ú'test_metadata_compat_missing_field_namer¸  G  s  € ò €HÚ#€HÜ�h‰h�x gÔ.€GÜ�h‰h�x fÔ-€Gä�|‰|ØØñô �]‰]˜1˜a a¨eÔ4ô6€Hô �H‰H˜7¨Ñ1Ó2€Eð ×)Ñ)Ø”4—:‘:à#Ø!ØØ'Ø /ñ	1ðð "ØØ&Ø 'ñ)ð "ØØ'Ø )ñ+ð	ð !ØØØØñ	ðð 'ñ3(ó 
ð+ó €Eð: �_‰_Ó€FÜ×Ñ˜& (Õ+rk   c            	      óø   — t        j                  d«      } t        j                  t	        j
                  t	        j                  dd| ¬«      ¬«      «      }|j                  j                  }|d   d   d   dk(  sJ ‚y )	Nr¯   r   r˜   ra   r»   r  rb   Ú6)	r1   r   rF   rZ   r/   r0   r¾   r;   r  ©rb   rZ   r&  s      r8   Ú.test_metadata_index_name_not_json_serializabler¼  z  s_   € Ü�8‰8�A‹;€DÜ�H‰H”R—\‘\¬¯©°a¸ÀÔ(FÔGÓH€EØ�|‰|×+Ñ+€HØ�OÑ$ QÑ'¨Ñ/°3Ò6Ð6Ñ6rk   c            	      óÒ   — d} t        j                  t        j                  t        j                  dd| ¬«      ¬«      «      }|j
                  j                  }|d   d   d   dk(  sJ ‚y )Nr¯   r   r˜   ra   r»   r  rb   )rF   rZ   r/   r0   r¾   r;   r  r»  s      r8   Ú-test_metadata_index_name_is_json_serializabler¾  �  sW   € Ø€DÜ�H‰H”R—\‘\¬¯©°a¸ÀÔ(FÔGÓH€EØ�|‰|×+Ñ+€HØ�OÑ$ QÑ'¨Ñ/°1Ò4Ð4Ñ4rk   c            
      óf  — t        j                  t        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      gt        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      gd	œ«      } | d
   j	                  d«      | d
<   | j
                  j                  | j                  j                  ft        j                  d«      t        j                  d«      fk(  sJ ‚| S )Nz0001-01-01 00:00rl  z2012-05-02 12:35z2012-05-03 15:42z3000-05-03 15:42z1991-01-01 00:00r5  z2050-05-03 15:42)Ú
dateTimeMsÚ
dateTimeNsrÀ  r@   rV  zM8[ns])r/   r0   r1   rb  rG  rÀ  r   rÁ  rþ  s    r8   Úmake_df_with_timestampsrÂ  ˆ  s  € ô 
�‰ä�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3ð	
ô �M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3Ü�M‰MÐ,¨dÓ3ð	
ñó 
€Bð ˜,Ñ'×.Ñ.¨xÓ8€B€|Ñð �M‰M×Ñ §¡×!4Ñ!4Ð5ä
�‰�‹”r—x‘x Ó)ð:ò ð ð ð €Irk   c                 ó  — t        «       }t        j                  j                  |«      }| dz  }t	        j
                  ||«       t	        j                  |«      }|j                  d¬«      }t        j                  ||«       y )Nztimestamps_from_pandas.parquetT©Útimestamp_as_object)
rÂ  rF   rH   rI   ÚpqÚwrite_tableÚ
read_tablerJ   rS   rT   )ÚtempdirrU   rZ   Úfilenamer[   rÃ   s         r8   Ú test_timestamp_as_object_parquetrË  £  sj   € ô 
!Ó	"€BÜ�H‰H× Ñ  Ó$€EØÐ9Ñ9€HÜ‡N�N�5˜(Ô#Ü�]‰]˜8Ó$€FØ
×
Ñ
¨tÐ
Ó
4€CÜ×Ñ˜"˜cÕ"rk   c                  ó¦   — t        «       } t        j                  j                  | «      }|j	                  d¬«      }t        j                  | |«       y )NTrÄ  )rÂ  rF   rH   rI   rJ   rS   rT   )rU   rZ   rÃ   s      r8   Ú%test_timestamp_as_object_out_of_rangerÍ  °  s@   € ô 
!Ó	"€BÜ�H‰H× Ñ  Ó$€EØ
�/‰/¨dˆ/Ó
3€CÜ×Ñ˜"˜cÕ"rk   Ú
resolutionr$  r¦   r9  r»  i  iä  c                 ó
  — t        j                  |gt        j                  | |¬«      ¬«      }t        j                  d|i«      }|j	                  d¬«      |j	                  d¬«      d   fD ]•  }|j
                  t        k(  sJ ‚t        |d   t        «      sJ ‚|rJ|d   j                  €J ‚|j                  t        j                  ¬«      j                  t        |«      «      }n|d   j                  �J ‚|}|d   |k(  rŒ•J ‚ y )Nr¸  r}  r¡   TrÄ  r   r‚  )rF   rc   r¹  rZ   rJ   r   r@   rÀ   r   rƒ  rM   r   r…  r  r	   )rÎ  r¦   r»  ri   rZ   r[   rV   s          r8   Ú'test_timestamp_as_object_non_nanosecondrÐ  ¹  só   € ô �(‰(�B�4œbŸl™l¨:¸"Ô=Ô
>€CÜ�H‰H�c˜3�ZÓ €Eð 	�‰¨$ˆÓ/Ø�‰¨DˆÓ1°#Ñ6óˆð �|‰|œvÒ%Ð%Ð%Ü˜& ™)¤XÔ.Ð.Ð.ÙØ˜!‘9×#Ñ#Ð/Ð/Ð/Ø—z‘z¬¯©�zÓ6×AÑAÄ(È2Ã,ÓO‰Hà˜!‘9×#Ñ#Ð+Ð+Ð+ØˆHØ�a‰y˜HÓ$Ð$Ð$ñrk   c            	      óR  — t        j                  d«      } dd l}| j                  d«      } |j                   |j                  ddddd«      «      }t        j                  d	t        j                  |g«      i«      }|j                  d
¬«      }t        j                  |«      |k(  sJ ‚y )Nr}  r   éx   iæ  r™   r  rþ  é9   Útimestamp_colTrÄ  )	r’   r„  r   r†  rˆ  rF   rZ   rc   rJ   )r}  r   r   r»  rZ   r[   s         r8   Ú%test_timestamp_as_object_fixed_offsetrÕ  Ò  s‘   € ä×Ñ˜vÓ&€DÛØ×Ñ Ó$€HØ	ˆ×	Ñ	Ð,˜8×,Ñ,¨T°1°b¸"¸bÓAÓ	B€Bä�H‰H�o¤r§x¡x°°£~Ð6Ó7€EØ�_‰_°ˆ_Ó6€FÜ�8‰8�FÓ˜uÒ$Ð$Ñ$rk   c                  ó   — t        d«       y )Nzpandas_threaded_import.py)r   r?  rk   r8   Útest_threaded_pandas_importr×  Þ  s   € äÐ-Õ.rk   c                  ó€  — t        j                  d«      } t        j                  t         j                  «      | k(  sJ ‚t        j                  dt        j                  «       gi«      }t
        j                  j                  |«      }|j                  «        t        j                  t         j                  «      | k(  sJ ‚y )NÚm8r¡   )	r1   r   r7  r/   r0   rF   rH   rI   rJ   )rV   rU   r  s      r8   Ú$test_does_not_mutate_timedelta_dtyperÚ  ã  s   € Ü�x‰x˜‹~€Hä�8‰8”B—N‘NÓ# xÒ/Ð/Ð/ä	�‰�sœRŸ^™^Ó-Ð.Ð/Ó	0€BÜ
�‰×Ñ˜RÓ €AØ‡K�K„Mä�8‰8”B—N‘NÓ# xÒ/Ð/Ñ/rk   c                  óÎ   — ddl m}  d | dd¬«      ig} | ddd	¬
«      g}t        j                  ||dœ«      }|j	                  «       }|d   d   j                  «       |d   k(  sJ ‚y )Nr   )r   Útimedelta_1r  r   )rr  rD  r�   é(   r  )r”  r~  rr  )rÜ  Útimedelta_2rÞ  )r   r   rF   rZ   rJ   Úto_pytimedelta)r   rÜ  rÞ  rZ   rU   s        r8   Ú%test_does_not_mutate_timedelta_nestedrà  ï  sp   € õ #Ø!¡9°RÀaÔ#HÐIÐJ€KÙ 1¨b¸"Ô=Ð>€KÜ�H‰H [ÀÑMÓN€EØ	�‰Ó	€BàˆmÑ˜QÑ×.Ñ.Ó0°KÀ±NÒBÐBÑBrk   c                  ó´  — t        j                  t        j                  dt        j                  t        j                  t        j
                  «       t        j                  t        j                  dt        j                  «       «      g«      «      «      «      g«      } t        j                  dggd dddifgddd ifdddifgggg| ¬	«      }t        j                  ddggd dddifgddd ifdddifgggi«      }t        j                  dd
d igd dddiidd iddidœggi«      }|j                  «       }|j                  d¬«      }t        j                  ||«       t        j                  ||«       t         j                  j                  || ¬	«      }|j!                  |«      sJ ‚t         j                  j                  || ¬	«      }|j!                  |«      sJ ‚y )Nr¡   rÍ   )r   Nr*   s   abcr�   r˜   s   defr~  r   rÌ  Ústrict©Úmaps_as_pydicts)rF   r;   rƒ   r  r6  r   rë  r_  rZ   r/   r0   rJ   rS   rT   rH   rI   rK   )r;   rZ   Úexpected_default_dfÚexpected_as_pydicts_dfÚ
default_dfÚas_pydicts_dfÚtable_default_roundtripÚtable_as_pydicts_roundtrips           r8   Ú,test_roundtrip_nested_map_table_with_pydictsrë  ü  sð  € Ü�Y‰YÜ
�‰ØÜ�H‰HÜ—‘œŸ™›	¤2§9¡9¬b¯h©h°s¼B¿I¹I»KÓ.HÐ-IÓ#JÓKóó	
ðó €Fô �H‰HØ
ˆˆØà�#�v�ÐÐ Ø�#�t�Ð  C¨ =Ð1Ð2ð	
ðð ð ô	€Eô Ÿ,™,Ø	��ˆ}˜d q¨3°¨-Ð&8Ð%9Ø'(¨3°¨+Ð&6¸¸SÀ&¸MÐ8JÐ%Kð%Mð Nð 	OóÐô  Ÿ\™\Ø	Ø�ˆYˆKØØ�#�v�Ð c¨4 [°c¸6°]Ñ!CÐDð
ð 	óÐð —‘Ó"€JØ—O‘O°H�OÓ=€Mä×Ñ˜*Ð&9Ô:Ü×Ñ˜-Ð)?Ô@ä Ÿh™h×2Ñ2°:ÀfÐ2ÓMÐØ�<‰<Ð/Ô0Ð0Ð0ä!#§¡×!5Ñ!5°mÈFÐ!5Ó!SÐØ�<‰<Ð2Ô3Ð3Ñ3rk   c            	      ó”  ‡— t        j                  ddg«      } t        j                  g d¢«      }t        j                  g t        j                  «       «      }t        j                  ddgddggt        j                  t        j                  «       «      «      }t        j                  g ddd	gd
dggt        j                  t        j                  «       «      «      }t        j                  g t        j                  t        j                  «       «      «      }t         j                  j                  ddg| |«      }t         j                  j                  g d¢||«      }t         j                  j                  ddg||«      }t        j                  t         j                  j                  ddg|«      j                  d«      t         j                  j                  ddg|j                  d«      «      j                  d«      t         j                  j                  ddg|«      j                  d«      g«      }	|	j                  «       }
t        j                  dddgfdddgfggdd
dgfggg g«      }|	j                  d¬«      }t        j                  ddgddgdœgdd
dgigg g«      }|	j                  dd«      }|j                  «       }t        j                  dd
dgfggg g«      }|j                  d¬«      }t        j                  dd
dgigg g«      }t        j                  «       5  t        j                  ddt        «       t!        j"                  |
|«       t!        j"                  ||«       t!        j"                  ||«       t!        j"                  ||«       ddd«       t        j                  t        j$                  t        j                  «       t        j                  t        j                  «       «      «      «      Šdt        j                  ddfˆfd„} ||
|	«        |||	«        |||«        |||«       y# 1 sw Y   Œ¦xY w)z=
    Slightly more robust test with chunking and slicing
    r¶   rf  )ru  rZ  r3  r4  r¡   rÍ   rÜ   r  Nr(  r)  r5  r   r*   )r   r�   r˜   r   r4  râ  rã  ©r¶   rf  r�   rA   rB   rË  Úreturnc                 ó¸   •— t        j                  t         j                  j                  | ‰¬«      «      }|j	                  d¬«       |j                  |«      sJ ‚y )Nr}  Trm  )rF   r­  r®  rI   rp  rK   )rË  r    Úarray_roundtriprC  s      €r8   Úassert_roundtripzMtest_roundtrip_nested_map_array_with_pydicts_sliced.<locals>.assert_roundtripl  sJ   ø€ Ü×*Ñ*¬2¯8©8×+?Ñ+?ÀÈRÐ+?Ó+PÓQˆØ× Ñ  dÐ Ô+Ø�{‰{˜?Ô+Ð+Ñ+rk   )rF   rc   r«  r  r<  rÞ   r­  r,  r;  rJ   r/   rd   rO   rP   rQ   rR   rS   re   r6  )Úkeys_1Úkeys_2Úkeys_3Úitems_1Úitems_2Úitems_3Úmap_chunk_1Úmap_chunk_2Úmap_chunk_3r­  Úseries_defaultÚexpected_series_defaultÚseries_pydictsÚexpected_series_pydictsÚslicedÚseries_default_slicedÚexpected_series_default_slicedÚseries_pydicts_slicedÚexpected_series_pydicts_slicedrñ  rC  s                       @r8   Ú3test_roundtrip_nested_map_array_with_pydicts_slicedr  )  s¹  ø€ ô �X‰X�u˜e�nÓ%€FÜ�X‰XÒ3Ó4€FÜ�X‰X�bœ"Ÿ)™)›+Ó&€Fä�h‰hØ
ˆsˆ�c˜3�ZÐ Ü
�‰”—‘“Óó€Gô �h‰hØ	ˆT�D˜#�;  c 
Ð+Ü
�‰”—‘“Óó€Gô �h‰hØ
Ü
�‰”—‘“Óó€Gô
 —+‘+×)Ñ)¨1¨a¨&°&¸'ÓB€KÜ—+‘+×)Ñ)ª)°V¸WÓE€KÜ—+‘+×)Ñ)¨1¨a¨&°&¸'ÓB€KÜ×$Ñ$Ü
�‰× Ñ  ! Q ¨Ó5×;Ñ;¸AÓ>Ü
�‰× Ñ  ! Q ¨×):Ñ):¸1Ó)=Ó>×DÑDÀQÓGÜ
�‰× Ñ  ! Q ¨Ó5×;Ñ;¸AÓ>ð&ó €Mð #×,Ñ,Ó.€NÜ Ÿi™iØ�3˜�*Ð
 ¨¨S zÐ2Ð	3Ð4Ø�3˜�*Ð
Ð	ÐØ
ð)ó Ðð #×,Ñ,¸XÐ,ÓF€NÜ Ÿi™iØ�s� S¨# JÑ	/Ð0Ø
�#�s�Ð	ÐØ
ð)ó Ðð × Ñ   AÓ&€FØ"×,Ñ,Ó.ÐÜ%'§Y¡YØ�3˜�*Ð
Ð	ÐØ
ð0ó &Ð"ð
 #×,Ñ,¸XÐ,ÓFÐÜ%'§Y¡YØ
�#�s�Ð	ÐØ
ð0ó &Ð"ô
 
×	 Ñ	 Õ	"Ü×Ñ Ð*IÜ 2ô	4ä
×Ñ˜~Ð/FÔGÜ
×Ñ˜~Ð/FÔGÜ
×ÑÐ4Ð6TÔUÜ
×ÑÐ4Ð6TÔU÷ 
#ô 
�‰”"—'‘'œ"Ÿ)™)›+¤r§x¡x´·	±	³Ó'<Ó=Ó	>€Bð,¤§¡ð ,°Tõ ,ñ
 �^ ]Ô3Ù�^ ]Ô3ÙÐ*¨FÔ3ÙÐ*¨FÕ3÷% 
#Ð	"ús   Ì%A4P>Ð>Qc                  ó$  — t        j                  g d¢«      } t        j                  ddgddgddggt        j                  t        j                  «       «      «      }dd	g}t         j                  j                  || |«      }t        j                  t        j                  «       t        j                  t        j                  «       «      «      }t        j                  t         j                  j                  «      5  |j                  d
¬«       d d d «       |j                  d¬«      }t        j                  ddgddgdœg«      }|j                  t         j                  j!                  ||¬«      «      rJ ‚|j                  «       }t        j                  dddgfdddgfdddgfgg«      }|j                  t         j                  j!                  ||¬«      «      sJ ‚t#        |«      t#        |«      k(  sJ ‚t%        ||«      D ]y  \  }	}
t#        |	«      t#        |
«      k(  sJ ‚t%        |	j'                  «       |
j'                  «       «      D ]0  \  }}|d   |d   k(  sJ ‚t)        j*                  |d   |d   «      rŒ0J ‚ Œ{ t#        |«      t#        |«      k(  sJ ‚t%        ||«      D ]]  \  }	}
t#        |	«      t#        |
«      k(  sJ ‚t%        |	|
«      D ]0  \  }}|d   |d   k(  sJ ‚t)        j*                  |d   |d   «      rŒ0J ‚ Œ_ y # 1 sw Y   �ŒùxY w)Nr8  r¡   rÍ   rÜ   r  r�   r]  r   r�   râ  rã  Úlossyrí  r}  r¶   rf  r   )rF   rc   r  r«  r<  rÞ   r6  r’   rK  rµ  ÚArrowExceptionrJ   r/   rd   rK   r®  rI   r¿   rß  r=  r1   Úarray_equal)r¬  r=  rw  ÚmapsrC  rý  rþ  rû  rü  Úrow1Úrow2Útup1Útup2s                r8   Ú4test_roundtrip_map_array_with_pydicts_duplicate_keysr  w  sº  € Ü�8‰8Ò)Ó*€DÜ�H‰HØ
ˆsˆ�c˜3�Z # s Ð,Ü
�‰”—‘“Óó€Eð �!ˆf€GÜ�;‰;×"Ñ" 7¨D°%Ó8€DÜ	�‰”—‘“œbŸh™h¤r§y¡y£{Ó3Ó	4€Bô 
�‰”r—v‘v×,Ñ,Õ	-à�‰ xˆÔ0÷ 
.ð —^‘^°G�^Ó<€Nä Ÿi™iØ�c�
 C¨ :Ñ.ð)ó Ðð �{‰{œ2Ÿ8™8×/Ñ/°ÀRÐ/ÓHÔIÐIÐIð —^‘^Ó%€NÜ Ÿi™iØ
�#�s�Ð	˜u s¨C jÐ1°E¸CÀ¸:Ð3FÐGð)ó Ðð �;‰;”r—x‘x×+Ñ+¨NÀÐ+ÓDÔEÐEÐEô
 ˆ~Ó¤#Ð&=Ó">Ò>Ð>Ð>Ü˜.Ð*AÖB‰
ˆˆdÜ�4‹yœC ›IÒ%Ð%Ð%Ü˜dŸj™j›l¨D¯J©J«LÖ9‰JˆD�$Ø˜‘7˜d 1™gÒ%Ð%Ð%Ü—>‘> $ q¡'¨4°©7Õ3Ð3Ð3ñ :ð Cô ˆ~Ó¤#Ð&=Ó">Ò>Ð>Ð>Ü˜.Ð*AÖB‰
ˆˆdÜ�4‹yœC ›IÒ%Ð%Ð%Ü˜d Dž/‰JˆD�$Ø˜‘7˜d 1™gÒ%Ð%Ð%Ü—>‘> $ q¡'¨4°©7Õ3Ð3Ð3ñ *ñ C÷C 
.Ñ	-ús   Ã;LÌLc            	      ó  — t        j                  ddgddgg dgd dgddggt        j                  t        j                  «       «      «      } t        j                  g d	¢«      }g d
¢}t         j                  j                  || |«      }t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       }t        j                  ddgdfddgdfgg dfdgdfd dgdfddgdfgg«      }t        |«      t        |«      k(  sJ ‚t        ||«      D ]]  \  }}t        |«      t        |«      k(  sJ ‚t        ||«      D ]0  \  }}	t        j                  |d   |	d   «      sJ ‚|d   |	d   k(  rŒ0J ‚ Œ_ y # 1 sw Y   ŒÑxY w)Nr¡   rÍ   rÜ   r  r(  r)  r5  rI  )r¶   rf  ru  rZ  r3  r4  )r   r*   r¯   r  rã  r¶   rf  ru  rZ  r3  r4  r   r   )rF   rc   r  r«  r<  rÞ   r’   rK  rì  rJ   r/   rd   r¿   rß  r1   r  )
r¬  r=  rw  r	  rË  rü  r
  r  r  r  s
             r8   Ú%test_unhashable_map_keys_with_pydictsr  «  sŒ  € Ü�8‰8Ø
ˆsˆ�c˜3�Z  c U¨T°3¨K¸#¸s¸ÐDÜ
�‰”—‘“Óó€Dô �H‰HÒ@ÓA€EÚ€GÜ�;‰;×"Ñ" 7¨D°%Ó8€Dô 
�‰”yÕ	!Ø�‰ wˆÔ/÷ 
"ð
 �^‰^Ó€FÜ Ÿi™iØ�ˆ*�eÐ	  S˜z¨5Ð1Ð2Ø
ˆeˆ˜�u˜e�n¨¨c {°FÐ&;¸sÀC¸jÈ%Ð=PÐQð)ó Ðô ˆv‹;œ#Ð5Ó6Ò6Ð6Ð6Ü˜&Ð"9Ö:‰
ˆˆdÜ�4‹yœC ›IÒ%Ð%Ð%Ü˜d Dž/‰JˆD�$Ü—>‘> $ q¡'¨4°©7Ô3Ð3Ð3Ø˜‘7˜d 1™gÓ%Ð%Ð%ñ *ñ ;÷ 
"Ð	!ús   Â FÆFc                  óB  — t        j                  t        j                  ddd¬«      d¬«      } t        j                  dt        j
                  | «      i«      }|j                  d«      }|j                  «       }|j                  dk(  sJ ‚t        j                  || «       y )NÚ2012r*   r§   r”  Údatetime_columnra   )r/   rd   r¬   rF   rZ   rc   r%  rJ   rb   rS   re   )rË  rZ   Ú	table_colr[   s       r8   Ú)test_table_column_conversion_for_datetimer  Ì  s‚   € ô
 �Y‰Y”r—}‘} V°QÐ;LÔMØ-ô/€Fä�H‰HÐ'¬¯©°&Ó)9Ð:Ó;€EØ—‘Ð.Ó/€Ià× Ñ Ó"€FØ�;‰;Ð+Ò+Ð+Ð+Ü×Ñ˜6 6Õ*rk   c                  óÐ   — t        j                  t        j                  ddd¬«      «      } t        j                  | «      }|j                  «       }t        j                  || «       y )Nr  r*   r§   r”  )r/   rd   r¬   rF   rc   rJ   rS   re   )rË  ri   r[   s      r8   Ú"test_array_conversion_for_datetimer  Û  sI   € ô
 �Y‰Y”r—}‘} V°QÐ;LÔMÓN€FÜ
�(‰(�6Ó
€Cà�]‰]‹_€FÜ×Ñ˜6 6Õ*rk   c            
      ó´  — dd„} ddz  } | t        j                  d|||gi«      «       d|i} | t        j                  d|||gi«      «       |g} | t        j                  d|||gi«      «       |g} | t        j                  d|||gi«      «       d|i} | t        j                  d	|||gi«      «       d
|i}t        j                  t        j                  «       t        j
                  t        j                  dt        j                  «       fg«      «      «      }t        j                  d|fg«      } | t        j                  d|||gi«      |¬«       y )Nc                 óü   — t         j                  j                  | |¬«      }|j                  d¬«       |j	                  d«      j
                  }|dkD  sJ ‚t        j                  |j                  dd¬«      | «       y )Nr~  Trm  r   r   râ  )rï  rä  )	rF   rH   rI   rp  r%  rg  rS   rT   rJ   )rU   r;   Útabrg  s       r8   Ú	roundtripz-test_nested_chunking_valid.<locals>.roundtripí  sr   € Ü�h‰h×"Ñ" 2¨fÐ"Ó5ˆØ�‰˜$ˆÔð —Z‘Z “]×-Ñ-ˆ
Ø˜AŠ~Ðˆ~Ü
×Ñ˜cŸm™m¸$Ø<Dð ,ó FØGIõ	Krk   ó   0i Tê*rU  Ústruct_fieldr-  rô  ÚlosÚsolr¡   r	  r~  r  )	r/   r0   rF   r6  r«  r  rë  r_  r;   )	r  r7   rë  rô  r  r  Ú
map_of_losÚmap_typer;   s	            r8   Útest_nested_chunking_validr"  ç  s?  € óKð 	ˆyÑ€AÙŒb�l‰l˜I¨¨1¨a yÐ1Ó2Ô3à˜aÐ €FÙŒb�l‰l˜I¨°¸Ð'?Ð@ÓAÔBàˆC€EÙŒb�l‰l˜G e¨U°EÐ%:Ð;Ó<Ô=àˆ(€CÙŒb�l‰l˜E C¨¨c ?Ð3Ó4Ô5à˜5Ð
!€CÙŒb�l‰l˜E C¨¨c ?Ð3Ó4Ô5à�s�€JÜ�w‰w”r—y‘y“{Ü—x‘x¤§	¡	¨N¼B¿I¹I»KÐ+HÐ*IÓ JÓKóM€Hä�Y‰Y˜ Ð*Ð+Ó,€FÙŒb�l‰l˜F Z°¸ZÐ$HÐIÓJØörk   c                  óè   — t        j                  ddgddggddg¬«      } t        j                  j	                  | «      }|j
                  dd	gk(  sJ ‚|j                  «       j                  | «      sJ ‚y )
Nr–  r—  r˜  gš™™™™™Ù?s   col1s   col2r›   r
  r  )r/   r0   rF   rH   rI   rÉ   rJ   rK   rŒ  s     r8   Ú test_bytes_column_name_to_pandasr$    sl   € Ü	�‰˜˜S�z C¨ :Ð.¸À'Ð8JÔ	K€BÜ�H‰H× Ñ  Ó$€EØ×Ñ &¨&Ð!1Ò1Ð1Ð1Ø�?‰?Ó×#Ñ# BÔ'Ð'Ñ'rk   c                  ó.   — t        j                  d«       y )Nzarrow_39313.py)Ú	test_utilr   r?  rk   r8   Ú!test_is_data_frame_race_conditionr'    s   € ô ×ÑÐ,Õ-rk   c                  ój  — t        j                  dg d¢i«      } t        j                  d«      | j                  d<   t        j                  t        d¬«      5  t        j                  | «      }d d d «       t        j                  j                  j                  d   «      }|d   rJ ‚y # 1 sw Y   Œ=xY w)	Nr7   r€   z2025-10-28T14:20:42r¹  z'Could not serialize pd.DataFrame.attrs:r.  r�  Ú
attributes)r/   r0   r   ÚfromisoformatÚattrsr’   r“   r”   rF   rZ   rŸ  Úloadsr;   r&  )rU   Údf_tableÚpd_metadatas      r8   Ú$test_json_unserializable_pd_df_attrsr/    s�   € Ü	�‰�sšIÐ&Ó	'€Bä$×2Ñ2Ð3HÓI€B‡H�Hˆ[Ñä	�‰ÜØ7ö
ô —8‘8˜B“<ˆ÷	
ô —*‘*˜XŸ_™_×5Ñ5°iÑ@ÓA€Kà˜<Ò(Ð(Ð(Ð(÷
ð 
ús   ÁB)Â)B2)r  )NFNTNFF)NNr  r  )r   N)Âr–  r°   rŸ  Úmultiprocessingr  r³  rO   r‡  Úcollectionsr   r   r   r   r   r   r	   Ú
hypothesisrI  Úhypothesis.strategiesÚ
strategiesrK  r’   Únumpyr1   Únumpy.testingrZ  ry   r
   rO  r\  Únumpy.exceptionsÚImportErrorÚpyarrow.pandas_compatr   r   Úpyarrow.tests.utilr   r   r   Úpyarrow.tests.strategiesÚtestsrM  Úutilr&  Úpyarrow.vendored.versionr   ÚpyarrowrF   r   rÆ  Úpandasr/   Úpandas.testingrS   Úpandas_examplesr   r   rÆ  Ú
pytestmarkr9   r]   rj   rv   r|   r~   rÍ  rÇ  r\  r^  r`  rR  r¾  rÛ  rŸ  rÛ  rÿ  r  r  rb  rk  ro  rs  r  r{  rJ  r­  Úpandas_compatible_typesr}  r�  rƒ  rˆ  rŠ  rŒ  r“  r–  rŸ  r¡  r¥  r§  rª  r°  r³  r¸  r½  rÃ  rÇ  rË  rö  rï  r   r   r   r   r   r   r   r   rÓ  r    r!   r¬  r´  r_  r«  r  rÊ  r¹  r  r  rÏ  rÓ  rÛ  r×  rã  rç  râ  rð  rô  rø  rú  rü  r  r
  r  r"  r'  r0  r2  r4  r6  r:  r=  ÚExtensionTyper?  rV  r`  rk  ru  rw  r|  r�  r†  rˆ  r�  r�  r”  r–  rV  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?  rk   r8   Ú<module>rF     su  ðó$ 
Û Û Û Û 
Û Û å #ß >Õ >Ý ã Ý "Û ð
ÛÝð
Ø(*×(DÑ(DÐ%÷ @ß AÑ Aß 'Ð 'ß &Ð &Ý ,ã ð	Ý%ð	ÛÝßLð �[‰[×Ñ€
óð> <AØ,0Ø59Ø+0Ø%*ó	=ó>
&ð 8<Ø $óKó0-÷_	4ñ _	4÷Dbñ bðJ	 ‡�×Ñ˜ÚIóKñ.óKð.ð& ‡�×Ñ˜ÚIóKñ,óKð,÷,N
$ñ N
$÷j~-ñ ~-÷Be1ñ e1÷Pn	(ñ n	(÷b`:ñ `:÷F;4ñ ;4ò|BòA÷d%ñ d%òN	 ò+ð. ‡�×Ñ˜ f X°¨wÐ$7Ó8ñ<ó 9ð<ò7ò ò!ð$ 	€‡�ˆˆ�‰�T×1Ñ1Ó	2Ó3ñ ó 4ð ò#ò
1òLò "ò&1ò")ò60ò)ò4/ò0)ò6Aò"5òWGòtBò*9ò,òJ(ò(ò0)ð ‡�×ÑØà	ˆ�‰‹�GÐØ	ˆ�‰‹�VÐØ	ˆ�‰‹�FÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�WÐØ	ˆ�‰‹�hÐØ	ˆ�‰‹�hÐØ	ˆ�‰‹�hÐØ	ˆ�‰‹�yÐ!Ø	ˆ�‰‹�yÐ!Ø	ˆ�‰‹�yÐ!Ø	ˆ�‰‹�fÐØ	ˆ�‰‹�fÐØ	ˆ�‰‹�gÐØ	ˆ�‰˜!Ô	˜gÐ&Ø	ˆ�‰‹�iÐ Ø	ˆ�‰�(�"—(‘(˜8˜2Ÿ8™8›:Ó&Ó	'Ð)<Ð=Ø	ˆ�‰�r˜1Ó	˜yÐ)Ø	ˆ�‰�dÓ	˜ZÐ(Ø	ˆ�‰�d˜EÓ	" LÐ1Ø	ˆ�‰�3‹˜Ð Ø	ˆ�Š�4‹˜&Ð!ð1óñ:.ó;ð:.ò:ò49ò>ò<ò"ò-ò
=ò$:ò,	0ò
0ò",ò*.#òb#ò-9òh1Jóh
ò)9òX
-ò-ò02,òjò($ô:˜×)Ò)ô ó Iò'ò4ò, HôF
˜"×*Ò*ô 
ò!òH9ò2,ò21ò
8ð ‡�×Ñ˜ 3¨¨c¨
Ð"3Ó4ñ,ó 5ð,ò"-ð. ‡�×Ññ-ó ð-ð0 ‡�×ÑØ�I�B—I‘I“K  §¢Ó!2°N°B·N²NÓ4DÐEóð ‡�×Ñ˜ " t f Ó.ñ>ó /óð>ò<f"òR0,òf7ò5òð6 ‡�×Ññ	#ó ð	#ò#ð ‡�×Ñ˜Ò'8Ó9Ø‡�×Ñ˜ Ð&8Ð9Ó:à‡�×Ñ˜¡¨¨q°!Ó 4±h¸tÀQÈÓ6JÐKÓLñ%ó Mó ;ó :ð%ò*	%ð ‡�×Òñ/ó ð/ò	0ò
Cò*4òZK4ò\14òh&òB+ò	+ð ‡�×Òñ#ó ð#òL(ð ‡�×Òñ.ó ð.ó
)øðkg ò 
÷	
ð 	
ð
ûð ò Ø	ƒBðûð ò 	Úð	ûð ò 	Úð	úsT   Á
Z ÁY= ÂZ ÂZ) Ù=ZÚZ ÚZÚZ ÚZÚZÚZ&Ú%Z&Ú)Z2Ú1Z2