Ë
    ìmxid  ã                   óÀ  — 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
Zd dlZd dlmc mZ d dlmZmZmZmZ 	 d dlmZ d dlZd dlZ ej8                  d¬«      d„ «       ZdMd„Z ej8                  ddd	g¬
«      d„ «       Z ej8                  dg d¢¬
«      d„ «       Z da!d„ Z"d„ Z#ejH                  j2                  d„ «       Z%	 	 	 	 dNd„Z&dOd„Z'dPd„Z(ejH                  j                  d„ «       Z)ejH                  j2                  d„ «       Z*ejH                  j2                  d„ «       Z+ejH                  j2                  d„ «       Z,ejH                  j2                  d„ «       Z-ejH                  j2                  d„ «       Z.ejH                  j2                  d„ «       Z/ejH                  j2                  d„ «       Z0ejH                  j2                  d„ «       Z1ejH                  j2                  d„ «       Z2d„ Z3ejH                  j                  d„ «       Z4ejH                  j2                  d „ «       Z5ejH                  j2                  d!„ «       Z6ejH                  j2                  d"„ «       Z7ejH                  j2                  d#„ «       Z8ejH                  j2                  d$„ «       Z9ejH                  j2                  d%„ «       Z:ejH                  j2                  d&„ «       Z;ejH                  j2                  d'„ «       Z<ejH                  j2                  d(„ «       Z=ejH                  j2                  d)„ «       Z>ejH                  j2                  ejH                  j                  d*e@¬+«      d,„ «       «       ZAejH                  j2                  d-„ «       ZBejH                  j2                  d.„ «       ZCejH                  j2                  d/„ «       ZDejH                  j2                  ejH                  j‹                  ejŒ                  jŽ                   d0¬1«      d2„ «       «       ZHejH                  j2                  d3„ «       ZIejH                  j                  d4„ «       ZJejH                  j2                  d5„ «       ZKejH                  j2                  ejH                  j™                  d6«      ejH                  j™                  d7«      d8„ «       «       «       ZMejH                  j2                  d9„ «       ZNd:„ ZOejH                  j2                  d;„ «       ZPejH                  j2                  d<„ «       ZQejH                  j2                  ejH                  j¤                  ejH                  j¦                  ejH                  j¨                  d=„ «       «       «       «       ZUejH                  j                  d>„ «       ZVd?„ ZWejH                  j°                  ejH                  j2                  d@„ «       «       ZYejH                  j´                  ejH                  j2                  dA„ «       «       Z[dB„ Z\ejH                  j2                  dC„ «       Z]dD„ Z^dE„ Z_dF„ Z`dG„ ZaejH                  j                   ejÄ                  ejÆ                   e	jÈ                  g dH¢«      «      dI„ «       «       ZeejH                  j¤                  dJ„ «       ZfejH                  j2                  dK„ «       ZgejH                  j2                  dL„ «       Zhy# e$ r dZY �Œ¬w xY w# e$ r Y �Œ�w xY w)Qé    N)Úread_featherÚwrite_featherÚ
read_tableÚFeatherDataset)Úassert_frame_equalÚmodule)Úscopec                 ó   — | dz  S )NÚfeather© )Úbase_datadirs    úQ/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_feather.pyÚdatadirr   ,   s   € à˜)Ñ#Ð#ó    c                 ó.   — t        j                  | ¬«      S )N©Úprefix)ÚtempfileÚmktempr   s    r   Úrandom_pathr   1   s   € Ü�?‰? &Ô)Ð)r   é   é   )r	   Úparamsc              #   ó(   K  — | j                   –— y ­w©N)Úparam©Úrequests    r   Úversionr   5   s   è ø€ à
�-‰-Óùs   ‚)NÚuncompressedÚlz4Úzstdc              #   óÚ   K  — | j                   dv rKt        j                  j                  | j                   «      s"t	        j
                  | j                   › d�«       | j                   –— y ­w)N)r!   r"   z is not available)r   ÚpaÚCodecÚis_availableÚpytestÚskipr   s    r   Úcompressionr)   :   sL   è ø€ à‡}�}˜Ñ'´·±×0EÑ0EØ�M‰Mô1ä�‰�w—}‘}�oÐ%6Ð7Ô8Ø
�-‰-Óùs   ‚A)A+c                 ó   — g a y r   )Ú
TEST_FILES)r   s    r   Úsetup_moduler,   E   s   € à�Jr   c                 óx   — t         D ]  }	 t        j                  |«       Œ y # t        j                  $ r Y Œ1w xY wr   )r+   ÚosÚremoveÚerror)r   Úpaths     r   Úteardown_moduler2   J   s9   € Üò ˆð	Ü�I‰I�d�Oñøô �x‰xò 	Ùð	ús   ‹#£9¸9c                  óŠ   — t        j                  t        j                  «      5  t	        d«       d d d «       y # 1 sw Y   y xY w)NÚtest_invalid_file)r'   Úraisesr$   ÚArrowIOErrorr   r   r   r   Útest_file_not_existr7   R   s0   € ä	�‰”r—‘Ó	'ñ *ÜÐ(Ô)÷*÷ *ñ *ús	   ¤9¹Ac                 óþ   — |€
t        «       }|€d}t        j                  |«       t        | ||||¬«       t        j
                  j                  |«      st        d«      ‚t        |||¬«      }|€| }t        ||«       y )Nr   )r)   Úcompression_levelr   úfile not written©Úuse_threads)
r   r+   Úappendr   r.   r1   ÚexistsÚ	Exceptionr   r   )	ÚdfÚexpectedr1   Úcolumnsr<   r   r)   r9   Úresults	            r   Ú_check_pandas_roundtriprD   X   s}   € ð €|Ü‹}ˆà€Øˆä×Ñ�dÔÜ�"�d¨Ø$5¸wõHô �7‰7�>‰>˜$ÔÜÐ*Ó+Ð+ä˜$ °[ÔA€FàÐØˆä�v˜xÕ(r   c                 óò   — |€
t        «       }t        j                  |«       t        | ||¬«       t        j
                  j                  |«      st        d«      ‚t        |«      }|j                  | «      sJ ‚y )N©r)   r:   )
r   r+   r=   r   r.   r1   r>   r?   r   Úequals)Útabler1   r)   rC   s       r   Ú_check_arrow_roundtriprI   q   s`   € Ø€|Ü‹}ˆä×Ñ�dÔÜ�%˜¨;Õ7Ü�7‰7�>‰>˜$ÔÜÐ*Ó+Ð+ä˜Ó€FØ�=‰=˜ÔÐÑr   c                 ó†   ‡ ‡‡— ‰€
t        «       Št        j                  ‰«       ˆ ˆˆfd„}t        j                  ||«       y )Nc                  ó"   •— t        ‰ ‰‰¬«       y )N©r   )r   )r@   r1   r   s   €€€r   Úfz!_assert_error_on_write.<locals>.f‡   s   ø€ Ü�b˜$¨Ö0r   )r   r+   r=   r'   r5   )r@   Úexcr1   r   rM   s   ` `` r   Ú_assert_error_on_writerO   ~   s4   ú€ ð €|Ü‹}ˆä×Ñ�dÔö1ô ‡M�M�#�qÕr   c                 ó"  — d}d}t        |«      D �cg c]  }t        «       ‘Œ }}t        |d   «      D �ci c]1  }dt        |«      z   t        j                  j                  |d   «      “Œ3 }}t        j                  |«      }t        j                  |«       t        |«      D ]5  \  }}||d   |z  z  |dz   |d   |z  z  f}	t        ||	d   |	d    || ¬«       Œ7 t        |«      j                  «       }|j                  |«      sJ ‚y c c}w c c}w )N©éd   rR   é   r   Úcol_r   rL   )Úranger   ÚstrÚnpÚrandomÚrandnr$   rH   r+   ÚextendÚ	enumerater   r   r   rG   )
r   Ú
num_valuesÚ	num_filesÚiÚpathsÚdatarH   Úindexr1   Úrowss
             r   Útest_datasetrc   �   s  € à€JØ€IÜ$)¨)Ó$4Ö5˜qŒ[�]Ð5€EÐ5ô �z !‘}Ó%öàð 	”�Q“‰œŸ™Ÿ™¨°A©Ó7Ñ7ð€Dð ô �H‰H�T‹N€Eä×Ñ�eÔÜ  Ó'ò F‰ˆˆtà�Z ‘] iÑ/Ñ0Ø�Q‰Y˜: a™=¨IÑ5Ñ6ð
ˆô
 	�e˜D ™G T¨!¡WÐ-¨t¸WÖEðFô ˜%Ó ×+Ñ+Ó-€DØ�;‰;�uÔÐÑùò# 6ùòs
   ’Dµ6Dc                 óÌ   — i }ddg}d}|D ]5  }t         j                  j                  |«      }|j                  |«      ||<   Œ7 t	        j
                  |«      }t        || ¬«       y )NÚf4Úf8rR   rL   )rW   rX   rY   ÚastypeÚpdÚ	DataFramerD   ©r   r`   Únumpy_dtypesr\   ÚdtypeÚvaluesr@   s          r   Útest_float_no_nullsrn   ¥   sb   € à€DØ˜$�<€LØ€Jàò +ˆÜ—‘—‘ Ó,ˆØ—m‘m EÓ*ˆˆUŠð+ô 
�‰�dÓ	€BÜ˜B¨Ö0r   c                 ó  — d}t        «       }t        j                  |«       t        j                  j                  dd|¬«      }t        d«      D �cg c]  }dt        |«      z   ‘Œ }}t        j                  j                  ||«      }t        ||| ¬«       t        |«      }|j                  |«      sJ ‚t        |d¬«      }|j                  |«      sJ ‚t        |d¬«      }t        |j!                  «       |«       y c c}w )	NrQ   r   rR   ©ÚsizerT   rL   F)Ú
memory_map)r   r+   r=   rW   rX   ÚrandintrU   rV   r$   ÚTableÚfrom_arraysr   r   rG   r   r   Ú	to_pandas©r   r\   r1   rm   r^   rB   rH   rC   s           r   Útest_read_tablerx   ³   sÖ   € à€JÜ‹=€Dä×Ñ�dÔä�Y‰Y×Ñ˜q #¨JÐÓ7€FÜ(-¨c«
Ö3 1ˆvœ˜A›‹Ð3€GÐ3Ü�H‰H× Ñ  ¨Ó1€Eä�%˜ wÕ/ä˜Ó€FØ�=‰=˜ÔÐÐô ˜¨Ô/€FØ�=‰=˜ÔÐÐä˜$¨5Ô1€FÜ�u—‘Ó(¨&Õ1ùò 4s   ÁC<c                 ó  — d}t        «       }t        j                  |«       t        j                  j                  dd|¬«      }t        d«      D �cg c]  }dt        |«      z   ‘Œ }}t        j                  j                  ||«      }t        ||| ¬«       t        |«      }t        |j                  «       |«       t        |d¬«      }t        |j                  «       |«       t        |d¬«      }|j!                  |«      sJ ‚y c c}w )	N)é
   rz   r   rz   rp   rT   rL   Fr;   )r   r+   r=   rW   rX   rs   rU   rV   r$   rt   ru   r   r   r   rv   r   rG   rw   s           r   Útest_use_threadsr{   Ë   sÙ   € ð €JÜ‹=€Dä×Ñ�dÔä�Y‰Y×Ñ˜q "¨:ÐÓ6€FÜ(-¨b«	Ö2 1ˆvœ˜A›‹Ð2€GÐ2Ü�H‰H× Ñ  ¨Ó1€Eä�%˜ wÕ/ä˜$Ó€FÜ�u—‘Ó(¨&Ô1ô ˜$¨EÔ2€FÜ�u—‘Ó(¨&Ô1ô ˜¨%Ô0€FØ�=‰=˜ÔÐÑùò 3s   ÁDc                 ó  — d}t        «       }t        j                  |«       t        j                  j                  dd|¬«      dk  }ddg}g }g }|D ]z  }t        j                  j                  |«      j                  |«      }|j                  t        j                  ||¬«      «       t        j                  ||<   |j                  |«       Œ| t        j                  ||¬	«      }	t        |	«       |	j                  «       }
t        |
| ¬
«       y )NrR   r   rz   rp   é   re   rf   ©Úmask©ÚnamesrL   )r   r+   r=   rW   rX   rs   rY   rg   r$   ÚarrayÚnanrH   rI   rv   rD   )r   r\   r1   Ú	null_maskÚdtypesÚexpected_colsÚarraysÚnamerm   rH   r@   s              r   Útest_float_nullsr‰   å   sÞ   € à€Jä‹=€DÜ×Ñ�dÔä—	‘	×!Ñ! ! R¨jÐ!Ó9¸AÑ=€IØ�Dˆ\€FØ€Mà€FØò %ˆÜ—‘—‘ Ó,×3Ñ3°DÓ9ˆØ�‰”b—h‘h˜v¨IÔ6Ô7äŸF™FˆˆyÑà×Ñ˜VÕ$ð%ô �H‰H�V 6Ô*€EÜ˜5Ô!à	�‰Ó	€BÜ˜B¨Ö0r   c                 óZ  — i g }}g d¢}d}|D ]X  }t         j                  j                  dd|¬«      }|j                  |«      ||<   |j	                  |j                  |«      «       ŒZ t        j                  |«      }t        || ¬«       t        j                  ||¬«      }t        |«       y )N©Úi1Úi2Úi4Úi8Úu1Úu2Úu4Úu8rR   r   rp   rL   r€   )rW   rX   rs   rg   r=   rh   ri   rD   r$   rH   rI   )	r   r`   Úarrrk   r\   rl   rm   r@   rH   s	            r   Útest_integer_no_nullsr•      sš   € à�Bˆ#€Dò,€Là€Jàò )ˆÜ—‘×"Ñ" 1 c°
Ð"Ó;ˆØ—m‘m EÓ*ˆˆU‰Ø�
‰
�6—=‘= Ó'Õ(ð)ô
 
�‰�dÓ	€BÜ˜B¨Õ0ä�H‰H�S Ô-€EÜ˜5Õ!r   c                 óÐ   — i }dg}d}|D ]8  }t         j                  j                  dd|¬«      }|j                  |«      ||<   Œ: t	        j
                  |«      }t        || ¬«       y )NÚlonglongrR   r   rp   rL   )rW   rX   rs   rg   rh   ri   rD   rj   s          r   Útest_platform_numpy_integersr˜     si   € à€Dà�<€LØ€Jàò +ˆÜ—‘×"Ñ" 1 c°
Ð"Ó;ˆØ—m‘m EÓ*ˆˆUŠð+ô 
�‰�dÓ	€BÜ˜B¨Ö0r   c                 ó&  — t        «       }t        j                  |«       g d¢}d}g }t        j                  j                  dd|¬«      dk  }g }|D ]  }t        j                  j                  dd|¬«      }|j                  t        j                  ||¬«      «       |j                  d«      }	t        j                  |	|<   |j                  |	«       Œ� t        j                  ||¬	«      }
t        |
«       |
j                  «       }t        || ¬
«       y )Nr‹   rR   r   rz   rp   r}   r~   rf   r€   rL   )r   r+   r=   rW   rX   rs   r$   r‚   rg   rƒ   rH   rI   rv   rD   )r   r1   Ú
int_dtypesr\   r‡   r„   r†   rˆ   rm   rA   rH   r@   s               r   Útest_integer_with_nullsr›   #  sè   € ô ‹=€DÜ×Ñ�dÔâA€JØ€Jà€FÜ—	‘	×!Ñ! ! R¨jÐ!Ó9¸AÑ=€IØ€MØò 'ˆÜ—‘×"Ñ" 1 c°
Ð"Ó;ˆØ�‰”b—h‘h˜v¨IÔ6Ô7à—=‘= Ó&ˆÜ Ÿf™fˆ�Ñà×Ñ˜XÕ&ð'ô �H‰H�V :Ô.€EÜ˜5Ô!à	�‰Ó	€BÜ˜B¨Ö0r   c                 óÎ   — d}t         j                  j                  d«       t        j                  dt         j                  j                  |«      dkD  i«      }t        || ¬«       y )NrR   r   ÚboolsrL   )rW   rX   Úseedrh   ri   rY   rD   )r   r\   r@   s      r   Útest_boolean_no_nullsrŸ   ?  sF   € à€Jä‡I�I‡N�N�1Ôä	�‰�w¤§	¡	§¡°
Ó ;¸aÑ ?Ð@Ó	A€BÜ˜B¨Ö0r   c                 óÄ  — t        «       }t        j                  |«       d}t        j                  j                  d«       t        j                  j                  dd|¬«      dk  }t        j                  j                  dd|¬«      dk  }t        j                  t        j                  ||¬«      gdg¬	«      }t        |«       |j                  «       }t        || ¬
«       y )NrR   r   rz   rp   r}   rS   r~   r�   r€   rL   )r   r+   r=   rW   rX   rž   rs   r$   rH   r‚   rI   rv   rD   )r   r1   r\   r   rm   rH   r@   s          r   Útest_boolean_nullsr¡   I  s¬   € ô ‹=€DÜ×Ñ�dÔà€JÜ‡I�I‡N�N�1Ôä�9‰9×Ñ˜Q ¨ÐÓ4°qÑ8€DÜ�Y‰Y×Ñ˜q "¨:ÐÓ6¸Ñ:€Fä�H‰H”b—h‘h˜v¨DÔ1Ð2¸7¸)ÔD€EÜ˜5Ô!à	�‰Ó	€BÜ˜B¨Ö0r   c                 ó:  — t        «       }t        j                  |«       t        dd«      D ]m  }t        j
                  j                  t	        j                  d gt        t        |«      «      z   t	        j                  «       ¬«      gdg¬«      }t        |«       Œo y )Né   é   )Útyper”   r€   )r   r+   r=   rU   r$   rt   ru   r‚   ÚlistÚfloat64rI   )r   r1   r^   rH   s       r   Útest_buffer_bounds_errorr¨   \  sz   € ä‹=€DÜ×Ñ�dÔä�2�s‹^ò &ˆÜ—‘×$Ñ$Ü�X‰X�t�fœt¤E¨!£H›~Ñ-´B·J±J³LÔAÐBØ�'ð %ó 
ˆô 	˜uÕ%ñ&r   c                 ó    — d}t         j                  j                  t        j                  g d¢|z  t
        ¬«      gdg¬«      }t        |«       y )NrR   )FNT)rl   r”   r€   )r$   rt   ru   rW   r‚   ÚobjectrI   )r   ÚrepeatsrH   s      r   Útest_boolean_object_nullsr¬   i  sF   € à€GÜ�H‰H× Ñ Ü	�‰Ò%¨Ñ/´vÔ	>Ð?Øˆgð !ó €Eô ˜5Õ!r   c                 ót  — t         j                  dk(  rt        j                  d«        G d„ d«      }t	        j
                  t        d«      dd d |«       t        j                  gdœd	d
g¬«      }t        «       }	 t        ||| ¬«       t        j                  j                  |«      rJ ‚y # t        $ r Y Œ-w xY w)NÚwin32z/Windows hangs on to file handle for some reasonc                   ó   — e Zd Zy)ú6test_delete_partial_file_on_error.<locals>.CustomClassN©Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚCustomClassr°   x  ó   „ Ør   rµ   rS   ó   fooÚbar)ÚnumbersÚstringsr¹   rº   ©rB   rL   )ÚsysÚplatformr'   r(   rh   ri   rU   rW   rƒ   r   r   r?   r.   r1   r>   )r   rµ   r@   r1   s       r   Ú!test_delete_partial_file_on_errorr¾   s  s©   € ä
‡|�|�wÒÜ�‰ÐEÔF÷ñ ô 
�‰ä˜Q“xØ  e©[«]¼B¿F¹FÐCñ	Eð ˜IÐ&ô	
(€Bô ‹=€DðÜ�b˜$¨Õ0ô �w‰w�~‰~˜dÔ#Ð#Ð#Ð#øô ò Ùðús   Á;B+ Â+	B7Â6B7c                 ó   — d}dd ddt         j                  g}t        j                  d||z  i«      }g d¢}t        j                  d||z  i«      }t	        ||| ¬«       g d¢}t        j                  d||z  i«      }t        j                  d||z  i«      }t	        ||| ¬«       d	d ddt         j                  g}t        j                  d||z  i«      }g d¢}t        j                  d||z  i«      }t	        ||| ¬«       y )
Néè  r·   r¸   Úquxrº   )r·   Ns   bars   quxNrL   ©ÚfooNr¸   rÁ   NrÃ   )rW   rƒ   rh   ri   rD   )r   r«   rm   r@   Ú	ex_valuesrA   s         r   Útest_stringsrÅ   ‹  sö   € à€Gð �d˜E 5¬"¯&©&Ð1€FÜ	�‰�y &¨7Ñ"2Ð3Ó	4€Bâ4€IÜ�|‰|˜Y¨	°GÑ(;Ð<Ó=€HÜ˜B °'Õ:ò /€FÜ	�‰�y &¨7Ñ"2Ð3Ó	4€BÜ�|‰|˜Y¨°Ñ(8Ð9Ó:€HÜ˜B °'Õ:à�T˜5 %¬¯©Ð0€FÜ	�‰�y &¨7Ñ"2Ð3Ó	4€BÚ1€IÜ�|‰|˜Y¨	°GÑ(;Ð<Ó=€HÜ˜B °'Ö:r   c                 óT   — t        j                  ddgdz  i«      }t        || ¬«       y )Nrº   Ú rz   rL   ©rh   ri   rD   ©r   r@   s     r   Útest_empty_stringsrÊ   ¤  s%   € ä	�‰�y 2 $¨¡)Ð,Ó	-€BÜ˜B¨Ö0r   c                 óØ   — t        j                  dd gdz  i«      }| dk(  r:t        j                  j                  j                  «       r|j                  d«      }n|}t        || |¬«       y )NÚall_nonerz   r   rV   )r   rA   )rh   ri   r$   Úpandas_compatÚ_pandas_apiÚuses_string_dtyperg   rD   ©r   r@   rA   s      r   Útest_all_nonerÑ   ª  sX   € ä	�‰�z D 6¨B¡;Ð/Ó	0€BØ�!‚|œ×(Ñ(×4Ñ4×FÑFÔHØ—9‘9˜UÓ#‰àˆÜ˜B¨¸(ÖCr   c                 ó¤   — t        j                  dddœ«      }|j                  |j                  j	                  d«      ¬«      }t        || ¬«       y )N©r   r   r}   )NNN©ÚAÚBÚcategory)rÖ   rL   )rh   ri   ÚassignrÖ   rg   rD   rÉ   s     r   Útest_all_null_categoryrÙ   ´  s?   € ô 
�‰˜IÐ,>Ñ?Ó	@€BØ	�‰�R—T‘T—[‘[ Ó,ˆÓ	-€BÜ˜B¨Ö0r   c                 ó”   — t        d«      D �ci c]  }d|› �dgdz  “Œ }}t        j                  |«      }t        |d| ¬«       y c c}w )NrR   ÚcrÇ   rz   T)r<   r   )rU   rh   ri   rD   )r   r^   r`   r@   s       r   Útest_multithreaded_readrÜ   ¼  sU   € ô ˜3“Zö!Øð �ˆsˆG�b�T˜B‘YÑð !€Dð !ä	�‰�dÓ	€BÜ˜B¨D¸'ÖBùò!s   ŽAc                 óÂ   — t        j                  dt         j                  t         j                  dz  dgdz  «      }t        j                  d|i«      }t        || ¬«       y )NrÃ   r   r¸   rz   rº   rL   )rW   r‚   rƒ   rh   ri   rD   )r   rm   r@   s      r   Útest_nan_as_nullrÞ   Ä  sI   € ô �X‰X�uœbŸf™f¤b§f¡f¨q¡j°%Ð8¸2Ñ=Ó>€FÜ	�‰�y &Ð)Ó	*€BÜ˜B¨Ö0r   c                 ó  — d}dd ddt         j                  g}t        j                  d||z  i«      }|d   j	                  d«      |d<   g d¢}t        j                  dt        j
                  ||z  «      i«      }t        ||| ¬«       y )	NrÀ   rÃ   r¸   rÁ   rº   r×   rÂ   rL   )rW   rƒ   rh   ri   rg   ÚCategoricalrD   )r   r«   rm   r@   rA   s        r   Útest_categoryrá   Ì  s}   € à€GØ�T˜5 %¬¯©Ð0€FÜ	�‰�y &¨7Ñ"2Ð3Ó	4€BØ�y‘M×(Ñ(¨Ó4€B€y�Mâ.€FÜ�|‰|˜Y¬¯©°vÀÑ7GÓ(HÐIÓJ€HÜ˜B °'Ö:r   c                 óø   — t        j                  dt        j                  dd¬«      i«      }|j                  j                  j                  d«      j                  j                  d«      |d<   t        || ¬«       y )	NÚnaivez
2016-03-28rz   )ÚperiodsÚutczAmerica/Los_AngelesÚwith_tzrL   )rh   ri   Ú
date_rangerã   ÚdtÚtz_localizeÚ
tz_convertrD   rÉ   s     r   Útest_timestamprë   Ø  sZ   € ä	�‰�w¤§¡¨lÀBÔ GÐHÓ	I€BØ—X‘X—[‘[×,Ñ,¨UÓ3ß‘bŸ™Ð$9Ó:ð €y�Mô ˜B¨Ö0r   c           
      óö   — t        j                  dt        j                  ddd«      d t        j                  ddd«      gi«      }|j                  j                  j                  d«      |d<   t        || ¬«       y )NÚtestià  r   r}   rå   ræ   rL   )rh   ri   Ú	Timestamprí   rè   ré   rD   rÉ   s     r   Útest_timestamp_with_nullsrï   á  sf   € ä	�‰�v¤§¡¨T°1°aÓ 8Ø $Ü "§¡¨T°1°aÓ 8ð :ð ;ó 
<€Bð —G‘G—J‘J×*Ñ*¨5Ó1€B€y�Mä˜B¨Ö0r   znot supported)Úreasonr5   c                  óž   — t        j                  dt        j                  d«      d t        j                  d«      gi«      } t        | d¬«       y )Nrí   ú1 dayú3 dayr   rL   ©rh   ri   Ú	TimedeltarD   ©r@   s    r   Útest_timedelta_with_nulls_v1r÷   ë  sD   € ô 
�‰�v¤§¡¨WÓ 5Ø $Ü "§¡¨WÓ 5ð 7ð 8ó 
9€Bô ˜B¨Ö*r   c                  óž   — t        j                  dt        j                  d«      d t        j                  d«      gi«      } t        | d¬«       y )Nrí   rò   ró   r   rL   rô   rö   s    r   Útest_timedelta_with_nullsrù   ô  sB   € ä	�‰�v¤§¡¨WÓ 5Ø $Ü "§¡¨WÓ 5ð 7ð 8ó 
9€Bô ˜B¨Ö*r   c                 óÆ   — t        j                  dt        j                  g d¢«      i«      }|j                  j                  j                  d«      |d<   t        || ¬«       y )Nrí   )l    ^cQ)! Nl   Å6„"Iœrå   ræ   rL   )rh   ri   ÚDatetimeIndexrí   rè   ré   rD   rÉ   s     r   Ú(test_out_of_float64_timestamp_with_nullsrü   ü  sR   € ä	�‰Ø	”×!Ñ!ò #<ó =ð 	>ó
?€Bð —G‘G—J‘J×*Ñ*¨5Ó1€B€y�MÜ˜B¨Ö0r   c                 ó’   — t        j                  g d¢g d¢dœ«      }|}| dk(  r|j                  t        ¬«      }t	        ||| ¬«       y )N©r   r   r}   é   )TFTF)r   r   r   r»   rL   )rh   ri   ÚrenamerV   rD   rÐ   s      r   Útest_non_string_columnsr    sB   € ä	�‰š,Ú4ñ6ó 
7€Bà€Hà�!‚|Ø—9‘9¤S�9Ó)ˆÜ˜B °'Ö:r   zunicode filenames not supported)rð   c                 óˆ   — dj                  d«      }t        j                  dg d¢i«      }t        |t	        |¬«      | ¬«       y )Ns   Besa_KavajÃ«.featherzutf-8rÃ   rþ   r   )r1   r   )Údecoderh   ri   rD   r   )r   rˆ   r@   s      r   Útest_unicode_filenamer    s;   € ð
 *×1Ñ1°'Ó:€DÜ	�‰�ušlÐ+Ó	,€BÜ˜B¤[¸Ô%=Ø$+ö-r   c                 ór   — t        j                  g d¢g d¢g d¢dœ«      }|ddg   }t        ||| ddg¬«       y )Nrþ   )rS   é   é   é   )r   r}   rS   r  )rÃ   ÚbooÚwoor	  r
  )r   rB   rÈ   rÐ   s      r   Útest_read_columnsr    sC   € ä	�‰ÚÚÚñó 
€Bð
 �5˜%�.Ñ!€Hä˜B °'Ø%*¨E Nö4r   c                 ób  — t        «       }t        j                  |«       d}t        j                  j                  d«       t        j                  j                  dd|¬«      }t        j                  d|i«      }t        ||«       t        j                  d|d|dz   i«      }t        ||¬«       y )	NrR   r   rz   rp   ÚintsÚ	more_intsr   )r1   )r   r+   r=   rW   rX   rž   rs   r$   rH   r   rI   )r   r1   r\   rm   rH   s        r   Útest_overwritten_filer  (  sŒ   € ä‹=€DÜ×Ñ�dÔà€JÜ‡I�I‡N�N�1Ôä�Y‰Y×Ñ˜q "¨:ÐÓ6€Fä�H‰H�f˜fÐ%Ó&€EÜ�%˜Ôä�H‰H�k 6¨!¨J¸©MÐ#:Ð;Ó<€EÜ˜5 tÖ,r   c                 ó,  — t        j                  «       }t        j                  t	        j
                  d«      j                  dd«      g d¢¬«      j                  «       }t        ||| ¬«       |j                  d«       t        |«      }t        ||«       y )Né   rÿ   r}   ©ÚaÚbrÛ   r»   rL   r   )ÚioÚBytesIOrh   ri   rW   ÚarangeÚreshapeÚcopyr   Úseekr   r   )r   Úbufr@   rC   s       r   Útest_filelike_objectsr  9  sl   € ä
�*‰*‹,€Cô 
�‰”b—i‘i “m×+Ñ+¨A¨qÓ1Ú-ô
/ß/3©t«vð ä�"�c 7Õ+à‡H�HˆQ„Kä˜#Ó€FÜ�v˜rÕ"r   zignore:Sparse:FutureWarningz(ignore:DataFrame.to_sparse:FutureWarningc                 ó  — t         j                  j                  j                  st	        j
                  d«       g d¢g d¢dœ}t        j                  |«      j                  d¬«      }|j                  «       }t        ||| ¬«       y )Nz2version of pandas does not support SparseDataFrame©r   r   r   )r   r   r   rÔ   r   )Ú
fill_valuerL   )r$   rÍ   rÎ   Ú
has_sparser'   r(   rh   ri   Ú	to_sparseÚto_denserD   )r   r`   r@   rA   s       r   Útest_sparse_dataframer#  H  sf   € ô ×Ñ×'Ñ'×2Ò2Ü�‰ÐHÔIâÚñ€Dä	�‰�dÓ	×	%Ñ	%°Ð	%Ó	3€BØ�{‰{‹}€HÜ˜B °'Ö:r   c                  óÆ   — t        j                  t        j                  d«      j	                  dd«      t        d«      ¬«      j                  «       } t        | t        «       y )Nr  rÿ   r}   Úaaar»   )	rh   ri   rW   r  r  r¦   r  rO   Ú
ValueErrorrö   s    r   Útest_duplicate_columns_pandasr'  V  sD   € ô
 
�‰”b—i‘i “m×+Ñ+¨A¨qÓ1Ü" 5›kô
+ß+/©4«6ð ä˜2œzÕ*r   c                  ó‚   — t        j                  g d¢g d¢g d¢gg d¢¬«      } t        | «       t        | t        d¬«       y )NrÓ   ©rÿ   rS   r  ©r  r  é	   )r  r  r  r€   r   rL   )r$   rH   rI   rO   r&  )rH   s    r   Útest_duplicate_columnsr,  `  s-   € ä�H‰H’i¢ªIÐ6ºoÔN€EÜ˜5Ô!Ü˜5¤*°aÖ8r   c                  óÐ   —  G d„ d«      } t        j                  d | «        | «       gi«      }t        |t        «       t        j                  dg d¢i«      }t        |t        «       y )Nc                   ó   — e Zd Zy)útest_unsupported.<locals>.ANr±   r   r   r   rÕ   r/  m  r¶   r   rÕ   r  )r  r   g       @)rh   ri   rO   r&  Ú	TypeError)rÕ   r@   s     r   Útest_unsupportedr1  g  sR   € ÷ñ ô 
�‰�s™Q›S¡!£#˜JÐ'Ó	(€BÜ˜2œzÔ*ô 
�‰�sšMÐ*Ó	+€BÜ˜2œyÕ)r   c                  ó¬  — t        j                  dt        j                  d«      i«      } t	        j
                  | «      }t        j                  «       }t        ||dd¬«       |j                  «       }t        j                  j                  t	        j                  |«      «      }|j                  dk(  sJ ‚t        |j                  d«      «      dk(  sJ ‚y )NrÕ   rÀ   éú   r   ©Ú	chunksizer   rÿ   r   )rh   ri   rW   r  r$   rH   r  r  r   ÚgetvalueÚipcÚ	open_fileÚBufferReaderÚnum_record_batchesÚlenÚ	get_batch)r@   rH   r  rC   Úipc_files        r   Útest_v2_set_chunksizer>  x  s�   € ä	�‰�sœBŸI™I d›OÐ,Ó	-€BÜ�H‰H�R‹L€Eä
�*‰*‹,€CÜ�%˜¨°QÕ7à�\‰\‹^€Fä�v‰v×Ñ¤§¡°Ó 7Ó8€HØ×&Ñ&¨!Ò+Ð+Ð+Üˆx×!Ñ! !Ó$Ó%¨Ò,Ð,Ñ,r   c                  ó0  — t        j                  dt        j                  d«      i«      } g d¢}|D ]  \  }}t	        | ||¬«       Œ t        j                  «       }t        j                  t        d¬«      5  t        | |dd¬	«       d d d «       t        j                  t        d
¬«      5  t        | |dd¬«       d d d «       t        j                  t        d¬«      5  t        | |d¬«       d d d «       y # 1 sw Y   ŒoxY w# 1 sw Y   ŒHxY w# 1 sw Y   y xY w)NrÕ   rÀ   ))r    N)r!   N)r!   r   )r!   r  )r"   r   )r"   rz   )r)   r9   z2Feather V1 files do not support compression option©Úmatchr!   r   )r)   r   z0Feather V1 files do not support chunksize optioni   r4  z"compression="snappy" not supportedÚsnappyrF   )rh   ri   rW   r  rD   r  r  r'   r5   r&  r   )r@   Úcasesr)   r9   r  s        r   Útest_v2_compression_optionsrD  ‡  s
  € ô
 
�‰�sœBŸI™I d›OÐ,Ó	-€Bò€Eð +0ò EÑ&ˆÐ&Ü °Ø2Cö	EðEô �*‰*‹,€Cô 
�‰ÜØFô
Hñ =ô 	�b˜#¨5¸!Õ<÷=ô 
�‰ÜØDô
Fñ :ô 	�b˜#¨°qÕ9÷:ô 
�‰”zØAô
Cñ 5ä�b˜#¨8Õ4÷5ð 5÷=ð =ú÷:ð :ú÷5ð 5ús$   Á6C4Â)D ÃDÃ4C=Ä D	ÄDc                  ó¼  — t         j                  j                  d«      st        j                  d«       t        j
                  t        j                  dd«      gdg¬«      } t        j                  «       }t        | |«       |j                  «       }t        j                  «       }t        | |d¬«       |j                  «       }t        |«      t        |«      k  sJ ‚y )	NÚ	lz4_framez+LZ4 compression support is not built in C++r   i † Úf0r€   r    rF   )r$   r%   r&   r'   r(   rH   rW   Úrepeatr  r  r   r6  r;  )Útr  Údefault_resultÚuncompressed_results       r   Útest_v2_lz4_default_compressionrL  °  s¡   € ô �8‰8× Ñ  Ô-Ü�‰ÐAÔBô 	�‰”"—)‘)˜A˜vÓ&Ð'°¨vÔ6€Aä
�*‰*‹,€CÜ�!�SÔØ—\‘\“^€Nä
�*‰*‹,€CÜ�!�S nÕ5ØŸ,™,›.Ðäˆ~Ó¤Ð%8Ó!9Ò9Ð9Ñ9r   c                  ó
  — t        j                  t        j                  g d¢g d g«      gdg¬«      } t        j                  «       }t        j                  t        d¬«      5  t        | |d¬«       d d d «       y # 1 sw Y   y xY w)NrÓ   rG  r€   z[Unsupported Feather V1 type: list<item: int64>. Use V2 format to serialize all Arrow types.r@  r   rL   )	r$   rH   r‚   r  r  r'   r5   r0  r   )rH   r  s     r   Útest_v1_unsupported_typesrN  Å  sj   € Ü�H‰H”b—h‘h¢	¨2¨tÐ4Ó5Ð6¸t¸fÔE€Eä
�*‰*‹,€CÜ	�‰”yðLô
Nñ -ô 	�e˜S¨!Õ,÷	-÷ -ñ -ús   Á!A9Á9Bc                 ór   — t        j                  dt        j                  d«      i«      }t	        || ¬«       y )NrÕ   i „×rL   )rh   ri   rW   r  rD   rÉ   s     r   Útest_large_dataframerP  Ð  s*   € ô 
�‰�sœBŸI™I iÓ0Ð1Ó	2€BÜ˜B¨Ö0r   c                  ó¦  — dgddz  gdz  dz  z   } t        j                  d| i«      }t        j                  «       }t	        ||d¬«       t        t        j                  |j                  «       «      «      }t        ||«       t        j                  t        d¬«      5  t	        |t        j                  «       d	¬«       d d d «       y # 1 sw Y   y xY w)
Nó   xi   r   i   Úbyte_colrL   zp'byte_col' exceeds 2GB maximum capacity of a Feather binary column. This restriction may be lifted in the futurer@  r   )rh   ri   r  r  r   r   r$   r9  r6  r   r'   r5   r&  )rm   r@   r  rC   s       r   Ú!test_chunked_binary_error_messagerT  ×  sº   € ð ˆVØ�Ñðà	ñ
àññ €Fô 
�‰�z 6Ð*Ó	+€Bô �*‰*‹,€CÜ�"�c 1Õ%Üœ"Ÿ/™/¨#¯,©,«.Ó9Ó:€FÜ�v˜rÔ"ä	�‰”zð *5ô 
6ñ 3ô 	�bœ"Ÿ*™*›,°Õ2÷3÷ 3ñ 3ús   Â!CÃCc                 ó”   — t        j                  t        j                  g d¢«      gdg¬«      }t        | dz  «      }t	        ||«       y )NrÓ   rG  r€   údata.feather)r$   rH   r‚   rV   rI   )Útempdirr   rH   r1   s       r   Útest_feather_without_pandasrX  ï  s9   € ä�H‰H”b—h‘hšyÓ)Ð*°4°&Ô9€EÜˆw˜Ñ'Ó(€DÜ˜5 $Õ'r   c                 ó,  — t        j                  t        j                  d«      j	                  dd«      g d¢¬«      }t        |ddg|ddg   | ¬«       t        |d	d
g|ddg   | ¬«       t        |ddg|ddg   | ¬«       t        |dd	g|ddg   | ¬«       y )Nr  rÿ   r}   r  r»   r  rÛ   )rB   rA   r   r   r   r  r   )rh   ri   rW   r  r  rD   rÉ   s     r   Útest_read_column_selectionrZ  ö  s¥   € ô 
�‰”b—i‘i “m×+Ñ+¨A¨qÓ1º?Ô	K€Bô Ø
�S˜#�J¨¨S°#¨J©ÀõJäØ
�Q˜�F R¨¨c¨
¡^¸WõFô Ø
�S˜#�J¨¨S°#¨J©ÀõJäØ
�Q˜�F R¨¨c¨
¡^¸WöFr   c                 ó  — t        j                  g d¢g d¢g d¢gg d¢¬«      }t        | dz  «      }t        |||¬«       t        j                  g d¢g d¢g d¢gg d¢¬«      }g d¢g d	¢fD ]"  }t	        ||¬
«      }|j                  |«      rŒ"J ‚ y )NrÓ   r)  r*  r  r€   rV  rL   ©r  r  r  )r   r   r   r»   )r$   rH   rV   r   r   rG   )rW  r   rH   r1   rA   Úcol_selectionrC   s          r   Ú%test_read_column_duplicated_selectionr^    s€   € ä�H‰H’i¢ªIÐ6ºoÔN€EÜˆw˜Ñ'Ó(€DÜ�%˜ wÕ/ä�x‰xš¢IªyÐ9Ú-ô/€Hâ)ª9Ð5ò 'ˆÜ˜D¨-Ô8ˆØ�}‰}˜XÕ&Ð&Ð&ñ'r   c                 óz  — t        j                  g d¢g d¢g d¢gg d¢¬«      }t        | dz  «      }t        ||d¬«       t	        |«      }|j                  |«      sJ ‚t	        |d	dg¬
«      }|j                  ddgk(  sJ ‚t        j                  t        «      5  t	        |ddg¬
«       d d d «       y # 1 sw Y   y xY w)NrÓ   r)  r*  r\  r€   rV  r   rL   r   r»   r  r  )
r$   rH   rV   r   r   rG   Úcolumn_namesr'   r5   r&  )rW  rH   r1   rC   s       r   Ú#test_read_column_duplicated_in_filera    s­   € ä�H‰H’i¢ªIÐ6ºoÔN€EÜˆw˜Ñ'Ó(€DÜ�%˜ qÕ)ô ˜Ó€FØ�=‰=˜ÔÐÐô ˜ q¨! fÔ-€FØ×Ñ 3¨ *Ò,Ð,Ð,ô 
�‰”zÓ	"ñ -Ü�4 # s Õ,÷-÷ -ñ -ús   ÂB1Â1B:c                 ó  — t        j                  g d¢g d¢g d¢gg d¢¬«      }t        | dz  «      }t        |||¬«       d„ dD «       }t	        j
                  t        d	¬
«      5  t        ||¬«       d d d «       y # 1 sw Y   y xY w)NrÓ   r)  r*  r  r€   rV  rL   c              3   ó    K  — | ]  }|–— Œ y ­wr   r   )Ú.0Úxs     r   ú	<genexpr>z2test_read_column_with_generator.<locals>.<genexpr>,  s   è ø€ Ò.˜”1Ñ.ùs   ‚zColumns must be a sequencer@  r»   )r$   rH   rV   r   r'   r5   r0  r   )rW  r   rH   r1   Úcolumns_gens        r   Útest_read_column_with_generatorrh  (  sl   € Ü�H‰H’i¢ªIÐ6ºoÔN€EÜˆw˜Ñ'Ó(€DÜ�%˜ wÕ/Ù.˜oÔ.€KÜ	�‰”yÐ(DÔ	Eñ .Ü�4 Õ-÷.÷ .ñ .ús   Á#A:Á:Bc                 óš  — t        j                  dt         j                  j                  g d¢g d¢gddg¬«      i«      }t	        || ¬«       t        j                  dt        j
                  dd	gd
dgg«      i«      }t	        || ¬«       t        j                  dt        j
                  dd	gd
dggddgd gg«      i«      }t	        || ¬«       y )NÚcolr  rÓ   Úf1Úf2r€   rF   r   r   r}   rÿ   rS   r  )r$   rH   ÚStructArrayru   rI   r‚   )r)   rH   s     r   Útest_nested_typesrn  1  s¸   € ä�H‰H�eœRŸ^™^×7Ñ7Ú	’IÐ t¨T lð 8ó 4ð 5ó 6€Eä˜5¨kÕ:ä�H‰H�eœRŸX™X¨¨1 v°°1¨vÐ&6Ó7Ð8Ó9€EÜ˜5¨kÕ:ä�H‰H�eœRŸX™X¨¨A¨°°A°Ð'7¸1¸a¸&À$¸Ð&HÓIÐJÓK€EÜ˜5¨kÖ:r   )r    r!   r"   c                 ó   — t        | |¬«       y )NrF   )rI   )rH   r)   s     r   Útest_roundtriprp  >  s   € ô ˜5¨kÖ:r   c                 ó†   — t        j                  dt        d«      i«      }t        | dz  «      }|j	                  |«      sJ ‚y )Nr  rS   z)v0.17.0.version.2-compression.lz4.feather)r$   rH   rU   r   rG   )r   rA   rC   s      r   ÚAtest_feather_v017_experimental_compression_backward_compatibilityrr  D  s<   € ô �x‰x˜œe A›h˜Ó(€HÜ˜Ð"MÑMÓN€FØ�=‰=˜Ô"Ð"Ñ"r   c                 ó¶   — t        j                  dg d¢ig d¢¬«      }| dk(  r'|j                  d¬«      j                  t        ¬«      }n|}t        ||| ¬	«       y )
Nr  rÓ   r  )ra   r   T)Údropr»   rL   )rh   ri   Úreset_indexr   rV   rD   rÐ   s      r   Útest_preserve_index_pandasrv  U  sM   € ä	�‰�sšIÐ&ªoÔ	>€Bà�!‚|Ø—>‘> t�>Ó,×3Ñ3¼CÐ3Ó@‰àˆä˜B °'Ö:r   c                 ó4  — ddl m } t        j                  d|j                  d«      |j                  d«      gi«      }t	        || dz  «       |j                  d«      }|j                  d«      }t        | dz  d¬«      }||d   d   k(  sJ ‚||d   d	   k(  sJ ‚y )
Nr   )ÚdatetimeÚdatez
1654-01-01z
1920-01-01ztest_resolution.featherT)Útimestamp_as_objectr   )rx  rh   ri   Úfromisoformatr   r   )rW  rx  r@   Ú
expected_0Ú
expected_1rC   s         r   Ú0test_feather_datetime_resolution_arrow_to_pandasr~  a  s´   € õ
 "Ü	�‰�vØ×Ñ˜|Ó,Ø×Ñ˜|Ó,ð 0ð ó 
€Bô �"�gÐ 9Ñ9Ô:à×'Ñ'¨Ó5€JØ×'Ñ'¨Ó5€Jä˜'Ð$=Ñ=Ø.2ô4€Fð ˜ ™¨Ñ*Ò*Ð*Ð*Ø˜ ™¨Ñ*Ò*Ð*Ñ*r   )Úfeather_)NNNFNNN)NN)Nr   )ir  r.   r¼   r   r'   Ú
hypothesisÚhÚhypothesis.strategiesÚ
strategiesÚstÚnumpyrW   ÚImportErrorÚpyarrowr$   Úpyarrow.tests.strategiesÚtestsÚpastÚpyarrow.featherr   r   r   r   Úpandas.testingr   Úpandasrh   Úpyarrow.pandas_compatÚfixturer   r   r   r)   r+   r,   r2   Úmarkr7   rD   rI   rO   rc   rn   rx   r{   r‰   r•   r˜   r›   rŸ   r¡   r¨   r¬   r¾   rÅ   rÊ   rÑ   rÙ   rÜ   rÞ   rá   rë   rï   Úxfailr0  r÷   rù   rü   r  Úskipifr1   Úsupports_unicode_filenamesr  r  r  r  Úfilterwarningsr#  r'  r,  r1  r>  r!   rB  r"   rD  rL  rN  ÚslowrP  Úlarge_memoryrT  rX  rZ  r^  ra  rh  rn  ÚgivenÚ
all_tablesÚsampled_fromrp  rr  rv  r~  r   r   r   ú<module>rš     s;  ðó$ 
Û 	Û 
Û Û Û Ý "ðÛó ß 'Ð '÷-ó -ð	Ý1ÛÛ ð
 €‡��hÔñ$ó  ð$ó*ð €‡��h¨¨1 vÔ.ñó /ðð €‡��hÒ'LÔMñó Nðð €
òò
ð ‡�×Ññ*ó ð*ð
 59Ø6;Ø6:Ø.2ó)ó2
 óð ‡�×Ññó ðð. ‡�×Ññ
1ó ð
1ð ‡�×Ññ2ó ð2ð. ‡�×Ññ ó ð ð2 ‡�×Ññ1ó ð1ð4 ‡�×Ññ"ó ð"ð& ‡�×Ññ1ó ð1ð ‡�×Ññ1ó ð1ð6 ‡�×Ññ1ó ð1ð ‡�×Ññ1ó ð1ò$
&ð ‡�×Ññ"ó ð"ð ‡�×Ññ$ó ð$ð. ‡�×Ññ;ó ð;ð0 ‡�×Ññ1ó ð1ð
 ‡�×ÑñDó ðDð ‡�×Ññ1ó ð1ð ‡�×ÑñCó ðCð ‡�×Ññ1ó ð1ð ‡�×Ññ;ó ð;ð ‡�×Ññ1ó ð1ð ‡�×Ññ1ó ð1ð ‡�×ÑØ‡�×Ñ˜/°)ÐÓ<ñ+ó =ó ð+ð ‡�×Ññ+ó ð+ð ‡�×Ññ1ó ð1ð ‡�×Ññ;ó ð;ð ‡�×ÑØ‡�×Ñ˜Ÿ™×:Ñ:Ð:Ø<ð ó >ñ-ó>ó ð-ð ‡�×Ññ	4ó ð	4ð ‡�×Ññ-ó ð-ð  ‡�×Ññ#ó ð#ð ‡�×ÑØ‡�×ÑÐ9Ó:Ø‡�×ÑÐFÓGñ;ó Hó ;ó ð;ð ‡�×Ññ+ó ð+ò9ð ‡�×Ññ*ó ð*ð  ‡�×Ññ-ó ð-ð ‡�×ÑØ‡�‡�Ø‡�×ÑØ‡�×Ññ"5ó ó ó ó ð"5ðJ ‡�×Ññ:ó ð:ò(-ð ‡�×ÑØ‡�×Ññ1ó ó ð1ð
 ‡�×ÑØ‡�×Ññ3ó ó ð3ò,(ð ‡�×ÑñFó ðFò"
'ò-ò&.ò
;ð ‡�×ÑØ€‡�ˆ�‰˜/˜"Ÿ/™/Ò*IÓJÓKñ;ó Ló ð;ð ‡�‡�ñ#ó ð#ð  ‡�×Ññ;ó ð;ð ‡�×Ññ+ó ñ+øðM ò Ø	ƒBðûð ò 	Úð	ús"    [ ¾[ Û[Û[Û[Û[