Ë
    u™ãjƒ5  ã                   ó  — d Z ddlmZmZmZ ddlZddlZddlZddl	Z	ddl
mZmZ ddlZddlmZ e	j$                  j'                  d«      Zd„ Ze	j$                  j-                  ddd	g«      d
„ «       Zed„ «       Zee	j$                  j-                  dddg«      e	j$                  j-                  dg d¢«      d„ «       «       «       Zd„ Zd„ Ze	j$                  j-                  ddi dgfdddidgfdddgiddgfddgd d!œdgfddgd"d!œej8                  dgfg«      e	j$                  j-                  dd#d$g«      d%„ «       «       Zd&„ Zd'„ Ze	j$                  j-                  d(g d)¢«      d*„ «       Z e	j$                  j-                  d+d d"g«      d,„ «       Z!d-„ Z"e	j$                  j-                  dg d.¢«      d/„ «       Z#e	j$                  j-                  dg d0¢«      d1„ «       Z$d2„ Z%d3„ Z&e	j$                  j-                  d4d5d6g«      d7„ «       Z'd8„ Z(d9„ Z)y):zZ
Tests encoding functionality during parsing
for all of the parsers defined in parsers.py
é    )ÚBytesIOÚStringIOÚTextIOWrapperN)ÚEmptyDataErrorÚParserWarningÚpyarrow_skipc                 óÌ   — d}| }t        dj                  |«      «      }|j                  |d|¬«      }t        j                  ddggddg¬	«      }t        j                  ||«       y )
NÚcp1255u   ×©×œ×•×�:1234
562:123ú:©ÚsepÚencodingi2  é{   u   ×©×œ×•×�Ú1234©Úcolumns©r   ÚencodeÚread_csvÚpdÚ	DataFrameÚtmÚassert_frame_equal)Úall_parsersr   ÚparserÚdataÚresultÚexpecteds         úo/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/parser/test_encoding.pyÚtest_bytes_io_inputr       sa   € Ø€HØ€FäÐ+×2Ñ2°8Ó<Ó=€DØ�_‰_˜T s°Xˆ_Ó>€Fä�|‰|˜c 3˜Z˜L°:¸vÐ2FÔG€HÜ×Ñ˜& (Õ+ó    zencoding_errors, expected)Úreplacezx?)ÚignoreÚxc                 óä   — | }|j                   dk(  rt        j                  d«       t        d«      }|j	                  ||¬«      }t        j                  |t        j                  d|gi«      «       y )NÚpythonz6python engine reads text buffers without encoding themu   a
xí³¯
)Úencoding_errorsÚa)	ÚengineÚpytestÚskipr   r   r   r   r   r   )r   r'   r   r   r   r   s         r   Ú test_text_buffer_encoding_errorsr,   '   s^   € ð €FØ‡}�}˜Ò Ü�‰ÐLÔMÜ�NÓ#€DØ�_‰_˜T°?ˆ_ÓC€FÜ×Ñ˜&¤"§,¡,°°h°ZÐ/@Ó"AÕBr!   c                 óÀ   — | }t        dj                  «       «      }|j                  |ddd ¬«      }t        j                  ddgg«      }t        j                  ||«       y )Nu   Å�aski, Jan;1ú;úutf-8)r   r   Úheaderu   Å�aski, Jané   r   )r   r   r   r   r   s        r   Útest_read_csv_unicoder2   5   sX   € à€FÜÐ&×-Ñ-Ó/Ó0€Dà�_‰_˜T s°WÀTˆ_ÓJ€FÜ�|‰|Ð/°Ð3Ð4Ó5€HÜ×Ñ˜& (Õ+r!   r   ú,ú	r   )úutf-16zutf-16lezutf-16bec                 ó´  — | }dj                  d|«      }|ddœ}d}|j                  |«      }t        |d«      5 }	|	j                  |«       d d d «       t	        t        |j                  |«      «      |¬«      5 }
 |j                  |fd|i|¤Ž} |j                  |
fd|i|¤Ž}d d d «       t        j                  «       y # 1 sw Y   ŒxxY w# 1 sw Y   Œ,xY w)	Nz)skip this
skip this too
A,B,C
1,2,3
4,5,6r3   é   )r   Úskiprowsr/   Úwb©r   r   )	r"   r   ÚopenÚwriter   r   r   r   r   )r   r   r   Ú	temp_filer   r   ÚkwargsÚutf8Ú
bytes_dataÚfÚbytes_bufferr   r   s                r   Útest_utf16_bom_skiprowsrC   ?   sè   € ð
 €Fð	÷ 
‰��cÓ	ð	 	ð
  aÑ(€FØ€Dà—‘˜XÓ&€Jä	ˆi˜Ó	ð  !Ø	�‰�
Ô÷ô 
”w˜tŸ{™{¨4Ó0Ó1¸DÔ	Að JÀ\Ø �—‘ ÑH°XÐHÀÑHˆØ"�6—?‘? <ÑI¸$ÐIÀ&ÑIˆ÷Jô ×Ñ˜& (Õ+÷ð ú÷Jð Jús   ¹CÁ8+CÃCÃCc                 óf   —  |dddd«      }| }|j                  |dd¬«      }t        |«      dk(  sJ ‚y )	NÚior   r   zutf16_ex.txtr5   r4   )r   r   é2   )r   Úlen)r   ÚdatapathÚpathr   r   s        r   Útest_utf16_examplerJ   X   s=   € Ù�D˜( F¨NÓ;€DØ€FØ�_‰_˜T¨H¸$ˆ_Ó?€FÜˆv‹;˜"ÒÐÑr!   c                 óŠ   —  |dddd«      }| }|j                  |d d¬«      }|j                  d«      }|d   d	   }d
}||k(  sJ ‚y )NrE   r   r   úunicode_series.csvúlatin-1)r0   r   r   r1   i`  u$   Ã� kÃ¶ldum klaka (Cold Fever) (1994))r   Ú	set_index)r   rH   rI   r   r   Úgotr   s          r   Útest_unicode_encodingrP   _   sZ   € Ù�D˜( FÐ,@ÓA€DØ€Fà�_‰_˜T¨$¸ˆ_ÓC€FØ×Ñ˜aÓ €FØ
�‰)�D‰/€Cà9€HØ�(Š?Ð‰?r!   zdata,kwargs,expectedza
1r1   z"a"
1Ú	quotecharú"zb
1Únamesr(   ÚbÚ1ú
1T)rS   Úskip_blank_linesFr/   z	utf-8-sigc                 ó   ‡— | }dŠˆfd„}|j                   dk(  r-|dk(  r(|j                  dd«      rt        j                  d¬«        |j                   ||«      fd	|i|¤Ž}t        j                  d
|i«      }t        j                  ||«       y )Nu   ï»¿c                 óB   •— ‰| z   j                  d«      }t        |«      S )Nr/   )r   r   )Ú_dataÚbom_dataÚboms     €r   Ú_encode_data_with_bomz4test_utf8_bom_removal.<locals>._encode_data_with_bom„   s"   ø€ Ø˜%‘K×'Ñ'¨Ó0ˆÜ�xÓ Ð r!   ÚpyarrowrV   rW   Tz,https://github.com/apache/arrow/issues/38676©Úreasonr   r(   )	r)   Úgetr*   r+   r   r   r   r   r   )	r   r   r>   r   r   r   r]   r   r\   s	           @r   Útest_utf8_bom_removalrb   k   s•   ø€ ð, €FØ
€Cô!ð
 	�‰˜Ò"Ø�EŠMØ�J‰JÐ)¨4Ô0ô 	�‰ÐIÕJàˆV�_‰_Ù˜dÓ#ñàðð ñ€Fô
 �|‰|˜S (˜OÓ,€HÜ×Ñ˜& (Õ+r!   c                 ó   — | }|j                   dk(  rt        j                  d¬«       d}|j                  d«      }d}t	        ||z   «      }|j                  |d¬«      }t        j                  |› d�d	gi«      }t        j                  ||«       y )
Nr^   z)pyarrow does not support latin-1 encodingr_   s   ï»¿Úlatin1s   a
1r:   r(   r1   )
r)   r*   r+   Údecoder   r   r   r   r   r   )r   r   Ú	bom_bytesÚbom_textr   Úbior   r   s           r   Útest_latin1_bom_preservedri   ™   s†   € Ø€FØ‡}�}˜	Ò!Ü�‰ÐFÕGà€IØ×Ñ Ó)€HØ€DÜ
�)˜dÑ"Ó
#€Cà�_‰_˜S¨8ˆ_Ó4€FÜ�|‰| ˜z¨˜^¨a¨SÐ1Ó2€HÜ×Ñ˜& (Õ+r!   c                 óä   — t        j                  dgdgdœ«      }| }|j                  |«      }dj                  |«      }|j	                  t        |«      |¬«      }t        j                  ||«       y )Ng333333@Útest)Úmb_numÚ	multibytezmb_num,multibyte
4.8,testr:   )r   r   Úformatr   r   r   r   r   )r   Ú	utf_valueÚencoding_fmtr   r   r   r   r   s           r   Útest_read_csv_utf_aliasesrq   ¨   sd   € ä�|‰|¨ u¸F¸8ÑDÓE€HØ€Fà×"Ñ" 9Ó-€HØ'×.Ñ.¨xÓ8€Dà�_‰_œW T›]°Xˆ_Ó>€FÜ×Ñ˜& (Õ+r!   zfile_path,encoding)))rE   r   Úcsvz	test1.csvr/   ))rE   r   r   rL   rM   ))rE   r   r   zsauron.SHIFT_JIS.csvÚshiftjisc                 óR  — | } ||Ž }|j                  ||¬«      }t        ||¬«      5 }|j                  |«      }|j                  rJ ‚	 d d d «       t        j                  |«       t        |d¬«      5 }	|j                  |	|¬«      }|	j                  rJ ‚	 d d d «       t        j                  ||«       t        |dd¬«      5 }	|j                  |	|¬«      }|	j                  rJ ‚	 d d d «       t        j                  ||«       y # 1 sw Y   Œ½xY w# 1 sw Y   Œ{xY w# 1 sw Y   Œ8xY w)Nr:   Úrb)Úmoder   )rv   Ú	buffering)r   r;   Úclosedr   r   )
r   Ú	file_pathr   rH   r   Úfpathr   Úfar   Úfbs
             r   Útest_binary_mode_file_buffersr}   ´   s  € ð €Fá�iÐ €EØ�‰˜u¨xˆÓ8€Hä	ˆe˜hÔ	'ð ¨2Ø—‘ Ó$ˆØ—9’9Ðˆ}�9÷ô ×Ñ˜( FÔ+ä	ˆe˜$Ô	ð  2Ø—‘ ¨h�Ó7ˆØ—9’9Ðˆ}�9÷ô ×Ñ˜( FÔ+ä	ˆe˜$¨!Ô	,ð °Ø—‘ ¨h�Ó7ˆØ—9’9Ðˆ}�9÷ô ×Ñ˜( FÕ+÷ð ú÷
ð ú÷
ð ús#   ¨ DÁ4"DÃ"DÄDÄDÄD&Úpass_encodingc                 ó   — | }|j                  |«      }|j                  dk(  r|du r|dv rt        j                  d«       t	        j
                  ddgi«      }|j                  d|¬«      5 }|j                  d	«       |j                  d
«       |j                  ||r|nd ¬«      }	t        j                  |	|«       d d d «       y # 1 sw Y   y xY w)Nr^   T)é   é    z9pyarrow utf-16/32 block-boundary error is slow to surfaceÚfooÚbarzw+©rv   r   zfoo
barr   r:   )rn   r)   r*   r+   r   r   r;   r<   Úseekr   r   r   )
r   ro   rp   r~   r=   r   r   r   rA   r   s
             r   Útest_encoding_temp_filer†   Ô   s»   € ð
 €FØ×"Ñ" 9Ó-€Hà‡}�}˜	Ò! m°tÑ&;À	ÈXÑ@Uô
 	�‰ÐOÔPä�|‰|˜U U GÐ,Ó-€Hà	�‰˜T¨HˆÓ	5ð 0¸Ø	�‰�
ÔØ	�‰ˆqŒ	à—‘ ¹©XÈD�ÓQˆÜ
×Ñ˜f hÔ/÷0÷ 0ñ 0ús   Á+ACÃCc                 ór  — | }d}d}d}t        j                  ||gi«      }t        j                  «       5 }|j	                  |› d|› �j                  |«      «       |j                  d«       |j                  ||¬«      }t        j                  ||«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nz	shift-jisu	   ã�¦ã�™ã�¨u   ã�“ã‚€ú
r   r:   )r   r   ÚtempfileÚNamedTemporaryFiler<   r   r…   r   r   r   rx   )r   r   r   Útitler   r   rA   r   s           r   Útest_encoding_named_temp_filerŒ   í   sª   € à€FØ€Hà€EØ€Dä�|‰|˜U T F˜OÓ,€Hä	×	$Ñ	$Ó	&ð ¨!Ø	�‰�5�'˜˜D˜6Ð"×)Ñ)¨(Ó3Ô4à	�‰ˆqŒ	à—‘ ¨X�Ó6ˆÜ
×Ñ˜f hÔ/Ø—8’8Ðˆ|�8÷÷ ñ ús   µA.B-Â-B6)r/   r5   z	utf-16-bez	utf-16-lezutf-32c                 óÜ   — d}t        |j                  | «      «      }t        j                  |d| ¬«      }t        j                  ddgddgdd	ggd
dg¬«      }t        j                  ||«       y )Nu   a	b
ï¼šfoo	0
bar	1
baz	2r4   )Ú	delimiterr   u   ï¼šfoor   rƒ   r1   Úbazr7   r(   rT   )r   r   )r   r   r   r   r   r   r   )r   r   Úencoded_datar   r   s        r   Ú%test_parse_encoded_special_charactersr‘     sk   € ð -€DÜ˜4Ÿ;™; xÓ0Ó1€LÜ�[‰[˜°ÀÔI€Fä�|‰|Ø˜ˆm˜e Q˜Z¨%°¨Ð4Ø�c�
ô€Hô ×Ñ˜& (Õ+r!   )r/   Nr5   r
   rM   c                 ón  — | }t        j                  g d¢g d¢g d¢dœ«      }|j                  |d|¬«       |j                  dk(  r;d}t	        j
                  t        |¬	«      5  |j                  ||d
¬«       d d d «       y |j                  ||d
¬«      }t        j                  ||«       y # 1 sw Y   y xY w)N)ÚRaphaelÚ	DonatellozMiguel AngelÚLeonardo)ÚredÚpurpleÚorangeÚblue)Úsaizbo staffÚnunchunkÚkatana)ÚnameÚmaskÚweaponF)Úindexr   r^   úBThe 'memory_map' option is not supported with the 'pyarrow' engine©ÚmatchT)r   Ú
memory_map)
r   r   Úto_csvr)   r*   ÚraisesÚ
ValueErrorr   r   r   )r   r   r=   r   r   ÚmsgÚdfs          r   Útest_encoding_memory_maprª     s§   € ð €FÜ�|‰|âHÚ7Ú?ñ	
ó€Hð ‡O�O�I U°X€OÔ>à‡}�}˜	Ò!ØRˆÜ�]‰]œ:¨SÔ1ñ 	KØ�O‰O˜I°ÀTˆOÔJ÷	Kàà	�‰˜¨XÀ$ˆÓ	G€BÜ×Ñ˜"˜hÕ'÷	Kàús   Á"B+Â+B4c                 ó„  — | }t        j                  dgdz  ¬«      }d|j                  d<   |j                  |ddd¬«       |j                  d	k(  r;d
}t        j                  t        |¬«      5  |j                  |dd¬«       ddd«       y|j                  |dd¬«      }t        j                  ||«       y# 1 sw Y   yxY w)zO
    Chunk splits a multibyte character with memory_map=True

    GH 43540
    Úaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai   )r   u�   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaÄ…iÿ  Fr/   ©r    r0   r   r^   r¡   r¢   NT)r0   r¤   )r   r   Úilocr¥   r)   r*   r¦   r§   r   r   r   )r   r=   r   r©   r¨   Údfrs         r   Ú test_chunk_splits_multibyte_charr°   )  s¯   € ð €Fä	�‰˜I˜;¨Ñ-Ô	.€Bð %€B‡G�GˆD�MØ‡I�Iˆi˜u¨U¸W€IÔEà‡}�}˜	Ò!ØRˆÜ�]‰]œ:¨SÔ1ñ 	EØ�O‰O˜I¨d¸tˆOÔD÷	Eàà
�/‰/˜)¨D¸Tˆ/Ó
B€CÜ×Ñ˜#˜rÕ"÷	Eàús   Á-B6Â6B?c           	      ó˜  — g }d}d}d}t        t        |«      t        |«      |«      D ]]  }dj                  t        ||dz   «      D �cg c]  }t        |«      ‘Œ c}«      dz   }	 |j	                  d«       |j                  |«       Œ_ | }	t        j                  |«      }
|
j                  |ddd¬«       |	j                  d	k(  r<d
}t        j                  t        |¬«      5  |	j                  |ddd¬«       ddd«       y|	j                  |ddd¬«      }t        j                   |
|«       yc c}w # t
        $ r Y �Œw xY w# 1 sw Y   yxY w)zg
    GH 43787

    Test correct handling of UTF-8 chars when memory_map=True and encoding is UTF-8
    é€   ú u   ð�‚€Ú rˆ   r/   Fr­   r^   r¡   r¢   NT)r0   r¤   r   )ÚrangeÚordÚjoinÚchrr   ÚUnicodeEncodeErrorÚappendr   r   r¥   r)   r*   r¦   r§   r   r   r   )r   r=   ÚlinesÚline_lengthÚ
start_charÚend_charÚlnumÚcÚliner   r©   r¨   r¯   s                r   Útest_readcsv_memmap_utf8rÂ   B  s;  € ð €EØ€KØ€JØ€Hô ”c˜*“o¤s¨8£}°kÓBò ˆØ�w‰w¬¨d°D¸4±KÓ(@ÖA 1œ˜A�ÒAÓBÀTÑIˆð	Ø�K‰K˜Ô ð 	�‰�TÕðð €FÜ	�‰�eÓ	€BØ‡I�Iˆi˜u¨U¸W€IÔEà‡}�}˜	Ò!ØRˆÜ�]‰]œ:¨SÔ1ñ 	WØ�O‰O˜I¨d¸tÈgˆOÔV÷	Wàà
�/‰/˜)¨D¸TÈGˆ/Ó
T€CÜ×Ñ˜"˜cÕ"ùò# Bøô "ò 	Úð	ú÷	Wàús$   ÁD+
Á$D0Ã E Ä0	D=Ä<D=Å E	rv   zw+bzw+tc                 óz  — | }d}d|v rd}t        j                  |d¬«      5 }|j                  |«       |j                  d«       |j                  dk(  r}d|v r8d}t        j                  t        |¬	«      5  |j                  |«       d d d «       n7d
}t        j                  t        |¬	«      5  |j                  |«       d d d «       	 d d d «       y |j                  |«      }d d d «       t        j                  g dg¬«      }t        j                  |«       y # 1 sw Y   Œ[xY w# 1 sw Y   ŒgxY w# 1 sw Y   ŒPxY w)Ns   abcdÚtÚabcdr/   r„   r   r^   z<The 'pyarrow' engine can only read from a binary file objectr¢   zNo columns to parse from filer   )r‰   ÚSpooledTemporaryFiler<   r…   r)   r*   r¦   Ú	TypeErrorr   r   r   r   r   r   )r   rv   r   ÚcontentÚhandler¨   r©   r   s           r   Útest_not_readablerÊ   c  s  € ð €FØ€GØ
ˆd�{ØˆÜ	×	&Ñ	&¨D¸7Ô	Cð %ÀvØ�‰�WÔØ�‰�AŒØ�=‰=˜IÒ%à�d‰{ØT�Ü—]‘]¤9°CÔ8ñ ,Ø—O‘O FÔ+÷,ð ,ð 6�Ü—]‘]¤>¸Ô=ñ ,Ø—O‘O FÔ+÷,à÷%ð %ð �_‰_˜VÓ$ˆ÷%ô �|‰|˜B¨¨Ô1€HÜ×Ñ˜"˜hÕ'÷,ð ,ú÷,ð ,ú÷%ð %úsB   ¢AD1Á5DÂ&D1Â-D%Â?	D1ÃD1ÄD"	ÄD1Ä%D.	Ä*D1Ä1D:c                 óâ  — | j                  t        dd„ «       |j                  dd¬«       t        j                  t
        dd¬«      5  t        j                  |d	d¬
«      }d d d «       t        j                  ddggddg¬«      }t        j                  |«       t        j                  t        d¬«      5  t        j                  |d	dd¬«       d d d «       y # 1 sw Y   ŒyxY w# 1 sw Y   y xY w)NÚgetfilesystemencodingc                   ó   — y)NrM   © rÎ   r!   r   ú<lambda>zGtest_sep_encodeable_check_ignores_filesystem_encoding.<locals>.<lambda>€  s   � r!   u   keyÂ¥value
tablesÂ¥rectangular
rM   r:   úencoded in utf-8F©r£   Úcheck_stacklevelõ   Â¥r   ÚtablesÚrectangularÚkeyÚvaluer   r¢   rÀ   )r   r   r)   )ÚsetattrÚsysÚ
write_textr   Úassert_produces_warningr   r   r   r   r   r*   r¦   r§   )Úmonkeypatchr=   r   r   s       r   Ú5test_sep_encodeable_check_ignores_filesystem_encodingrÝ   }  sä   € ð ×ÑœÐ4Ñ6GÔHØ×ÑØ3¸ið ô ô 
×	#Ñ	#ÜÐ/À%ô
ñ Jô —‘˜Y¨H¸yÔIˆ÷Jô �|‰|˜h¨Ð6Ð7À%ÈÐAQÔR€HÜ×Ñ˜& (Ô+ä	�‰”zÐ);Ô	<ñ MÜ
�‰�I 8°iÈÕL÷Mð M÷Jð Jú÷Mð Mús   ÁCÂ6C%ÃC"Ã%C.c                 ó  — | j                  dd¬«       t        j                  t        dd¬«      5  t	        j
                  | d¬«      }d d d «       t	        j                  d	d
gi«      }t        j                  |«       y # 1 sw Y   Œ8xY w)Nza,b
1,2
r/   r:   rÐ   FrÑ   u   í³¿)r   za,bz1,2)rÚ   r   rÛ   r   r   r   r   r   )r=   r   r   s      r   Ú test_sep_unencodeable_falls_backrß   �  sy   € à×Ñ˜°ÐÔ8ä	×	#Ñ	#ÜÐ/À%ô
ñ 6ô —‘˜Y¨HÔ5ˆ÷6ô �|‰|˜U U GÐ,Ó-€HÜ×Ñ˜& (Õ+÷6ð 6ús   °A?Á?B)*Ú__doc__rE   r   r   r   rÙ   r‰   ÚnumpyÚnpr*   Úpandas.errorsr   r   Úpandasr   Úpandas._testingÚ_testingr   ÚmarkÚusefixturesÚskip_pyarrowr    Úparametrizer,   r2   rC   rJ   rP   Únanrb   ri   rq   r}   r†   rŒ   r‘   rª   r°   rÂ   rÊ   rÝ   rß   rÎ   r!   r   ú<module>rì      s…  ðñ÷
ñ ó
 Û ã Û ÷ó
 Ý à�{‰{×&Ñ& ~Ó6€ò,ð ‡�×ÑØÐ"3°_Ð!EóñCóðCð ñ,ó ð,ð Ø‡�×Ñ˜  d Ó,Ø‡�×Ñ˜Ò%GÓHñ,ó Ió -ó ð,ò,ò	ð ‡�×ÑØð 
��a�SÐà	�K Ð%¨ sÐ+à	�'˜C˜5Ð! C¨ :Ð.à	˜3˜%°TÑ:¸Q¸CÐ@ð Ø�e°Ñ7Ø�V‰V�QˆKð	
ðóð& ‡�×Ñ˜ g¨{Ð%;Ó<ñ,ó =ó'ð(,ò4,ò	,ð ‡�×ÑØòóñ,óð,ð0 ‡�×Ñ˜¨4°¨-Ó8ñ0ó 9ð0ò0ð( ‡�×ÑØÒGóñ,óð,ð ‡�×Ñ˜Ò%SÓTñ(ó Uð(ò,#ò2#ðB ‡�×Ñ˜ %¨ Ó0ñ(ó 1ð(ò2Mó&	,r!   