Ë
    ¤eh®/  ã                   ól   — d dl Z d dlZd dlZd dlZd dlmZmZmZ d dl	m
Z  G d„ d«      Z G d„ d«      Zy)é    N)Ú	DataFrameÚ
MultiIndexÚSeriesc                   ó´   — 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ej                   j#                  dddg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMultiLevelc                 ó   — |}|j                  d«      j                  «       }|j                  |j                  d¬«      }|j                  d¬«      j	                  d«      }t        j                  ||«       |d   j                  |j                  d¬«      }|d   j                  d¬«      j	                  d«      }t        j                  ||d¬«       d}t        j                  t        |¬	«      5  |j                  j                  dd¬
«      }d d d «       j                  «       }|j                  |j                  d¬«      }|j                  d¬«      j	                  d«      j                  }t        j                  ||«       y # 1 sw Y   ŒxxY w)NÚmonthé   ©ÚlevelÚsumÚAF©Úcheck_namesú+DataFrame.groupby with axis=1 is deprecated©Úmatch©Úaxis)Úcolumnsr   )Úgroupbyr   ÚreindexÚindexÚ	transformÚtmÚassert_frame_equalÚassert_series_equalÚassert_produces_warningÚFutureWarningÚT)ÚselfÚ/multiindex_year_month_day_dataframe_random_dataÚymdÚ
month_sumsÚresultÚexpectedÚmsgÚgbs           úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/test_multilevel.pyÚtest_reindex_levelz!TestMultiLevel.test_reindex_level   sN  € à=ˆà—[‘[ Ó)×-Ñ-Ó/ˆ
Ø×#Ñ# C§I¡I°QÐ#Ó7ˆØ—;‘; W�;Ó-×7Ñ7¸Ó>ˆä
×Ñ˜f hÔ/ð ˜C‘×(Ñ(¨¯©¸!Ð(Ó<ˆØ�s‘8×#Ñ#¨'Ð#Ó2×<Ñ<¸UÓCˆÜ
×Ñ˜v x¸UÕCð <ˆÜ×'Ñ'¬¸SÔAñ 	0Ø—‘—‘˜w¨Q�Ó/ˆB÷	0ð —V‘V“Xˆ
Ø×#Ñ#¨C¯I©I¸QÐ#Ó?ˆØ—;‘; W�;Ó-×7Ñ7¸Ó>×@Ñ@ˆÜ
×Ñ˜f hÕ/÷	0ð 	0ús   Ã/FÆFc                 óx   — |}|j                   ddg   }|j                  ddg   }t        j                  ||«       y )Nr   é   ©ÚfooÚone©Úbarr/   )ÚilocÚlocr   r   )r!   Ú multiindex_dataframe_random_dataÚframer&   Ú	reindexeds        r)   Útest_reindexzTestMultiLevel.test_reindex)   s<   € Ø0ˆà—:‘:˜q !˜fÑ%ˆØ—I‘I˜~¨~Ð>Ñ?ˆ	Ü
×Ñ˜i¨Õ2ó    c                 óþ  — |}|j                   d d d…   }|j                  |«      }|r|j                   j                  |«      sJ ‚|j                   |u sJ ‚|j                  |   }|j                   j	                  |«      sJ ‚|j
                  }|j                  |¬«      }|r|j                  j                  |«      sJ ‚|j                  |u sJ ‚|j                  d d …|f   }|j                  j	                  |«      sJ ‚y )Né
   ©r   )r   r   Úis_r3   Úequalsr    r   )r!   r"   Úusing_copy_on_writer#   Ú	new_indexÚchunkÚymdTs          r)   Útest_reindex_preserve_levelsz+TestMultiLevel.test_reindex_preserve_levels0   sé   € ð >ˆà—I‘I™d ˜d‘Oˆ	Ø—‘˜IÓ&ˆÙØ—;‘;—?‘? 9Ô-Ð-Ð-à—;‘; )Ñ+Ð+Ð+à—‘˜	Ñ"ˆØ�{‰{×!Ñ! )Ô,Ð,Ð,à�u‰uˆØ—‘ Y�Ó/ˆÙØ—=‘=×$Ñ$ YÔ/Ð/Ð/à—=‘= IÑ-Ð-Ð-à—‘š˜I˜Ñ&ˆØ�}‰}×#Ñ# IÔ.Ð.Ñ.r8   c                 ó  — |}|d   }|j                   j                  d«      }|j                  |d¬«      }|j                  d„ «      }|j	                  d„ «      }|j                  |j                   «      }t        j                  ||d¬«       y )Nr   r   F)Ú
group_keysc                 ó   — | dz  S ©Né   © ©Úxs    r)   ú<lambda>z7TestMultiLevel.test_groupby_transform.<locals>.<lambda>Q   s
   € ¨!¨a©%€ r8   c                 ó   — | dz  S rF   rH   rI   s    r)   rK   z7TestMultiLevel.test_groupby_transform.<locals>.<lambda>R   s
   € ¨q°1©u€ r8   r   )r   Úget_level_valuesr   Úapplyr   r   r   r   )	r!   r4   r5   ÚsÚgrouperÚgroupedÚappliedr&   r%   s	            r)   Útest_groupby_transformz%TestMultiLevel.test_groupby_transformI   sx   € Ø0ˆà�#‰JˆØ—'‘'×*Ñ*¨1Ó-ˆà—)‘)˜G°�)Ó6ˆà—-‘-¡Ó0ˆØ×$Ñ$¡_Ó5ˆØ—‘ §¡Ó0ˆÜ
×Ñ˜v x¸UÖCr8   c                 óÚ   — t        dgdgdggdgdgdggg d¢¬«      }t        t        j                  j	                  d«      j                  d«      gg d	¢|¬
«      }|j                  d¬«       y )Nr.   r1   Úbazr   )r/   ÚtwoÚthree©ÚlevelsÚcodesÚnamesrG   é   ©ÚaÚbÚcÚd)r   r   rW   r   )r   r   ÚnpÚrandomÚdefault_rngr   )r!   ÚmidxÚdfs      r)   Útest_groupby_cornerz"TestMultiLevel.test_groupby_cornerV   sp   € ÜØ�G˜e˜W u gÐ.Ø�3˜˜˜a˜S�/Ú)ô
ˆô
 Ü�Y‰Y×"Ñ" 1Ó%×,Ñ,¨QÓ/Ð0Ú(Øô
ˆð 	�
‰
˜ˆ
Õ!r8   c                 ó¢  — t        j                  g d¢«      }t        g d¢g d¢g|¬«      }|j                  d¬«      |j                  j                  d„ «         }d}t        j                  t        |¬	«      5  |j                  dd
¬«      }d d d «       j                  «       }|j                  ddgk(  j                  «       sJ ‚y # 1 sw Y   Œ;xY w)N))Úf1Ús1)ri   Ús2)Úf2rj   )rl   rk   )Úf3rj   )rm   rk   )r
   rG   r,   r\   é   é   )é   é   é	   r:   é   é   r;   r
   r   c                 ó   — | d   dv S )Nr   )rl   rm   rH   )Úus    r)   rK   z:TestMultiLevel.test_groupby_level_no_obs.<locals>.<lambda>q   s   € °a¸±d¸lÐ6J€ r8   r   r   r   ©r   r   rl   rm   )r   Úfrom_tuplesr   r3   r   Úmapr   r   r   r   r   Úall)r!   re   rf   Údf1r'   rQ   r%   s          r)   Útest_groupby_level_no_obsz(TestMultiLevel.test_groupby_level_no_obsd   s´   € ä×%Ñ%òó	
ˆô Ò*Ò,AÐBÈDÔQˆØ�f‰f˜!ˆf‹n˜RŸZ™ZŸ^™^Ñ,JÓKÑLˆà;ˆÜ×'Ñ'¬¸SÔAñ 	3Ø—k‘k q°�kÓ2ˆG÷	3à—‘“ˆØ—‘ 4¨ ,Ñ.×3Ñ3Ô5Ð5Ñ5÷	3ð 	3ús   Á7CÃCc                 ó¤   — |}|d d j                   }|d   |d<   t        |j                  t        «      sJ ‚|d   |d   k(  j	                  «       sJ ‚y )Nrn   )éÐ  r
   rp   )r~   r
   r:   )r    Ú
isinstancer   r   rz   )r!   r"   r#   rf   s       r)   Ú.test_setitem_with_expansion_multiindex_columnsz=TestMultiLevel.test_setitem_with_expansion_multiindex_columnsy   sX   € ð >ˆà��!ˆW�Y‰YˆØ˜Z™.ˆˆ;‰Ü˜"Ÿ*™*¤jÔ1Ð1Ð1Ø�;‘ 2 j¡>Ñ1×6Ñ6Ô8Ð8Ñ8r8   c                 ó8  — t        g d¢t        j                  g d¢«      ¬«      }t        g d¢t        j                  g d¢«      ¬«      }||z
  }|j                  j	                  |j                  «      }|j                  |«      |j                  |«      z
  }t        j                  ||«       |d d d…   |d d d…   z
  }|j                  j	                  |j                  «      }|j                  |«      |j                  |«      z
  }t        j                  ||«       y )N)r
   rG   r,   ))r   r
   )r   rG   ©ÚBr,   ©Údatar   )r\   rn   ro   ))ÚZr
   )r†   rG   r‚   éÿÿÿÿ)r   r   rx   r   Úunionr   r   r   )r!   rJ   ÚyÚresÚ	exp_indexÚexps         r)   Útest_alignmentzTestMultiLevel.test_alignmentƒ   så   € ÜÚ¤*×"8Ñ"8Ò9WÓ"Xô
ˆô Ú¤*×"8Ñ"8Ò9WÓ"Xô
ˆð �!‰eˆØ—G‘G—M‘M !§'¡'Ó*ˆ	Ø�i‰i˜	Ó" Q§Y¡Y¨yÓ%9Ñ9ˆÜ
×Ñ˜s CÔ(ð ‘�"�‰g˜™$˜B˜$™ÑˆØ—G‘G—M‘M !§'¡'Ó*ˆ	Ø�i‰i˜	Ó" Q§Y¡Y¨yÓ%9Ñ9ˆÜ
×Ñ˜s CÕ(r8   c                 ó(  — |}|j                  ddg¬«      j                  «       }|j                  j                  d«      }|j                  j                  d«      }|j                  ||g«      j                  «       }t	        j
                  ||d¬«       |j                  j                  |j                  j                  d d k(  sJ ‚|j                  |j                  j                  d d ¬«      j                  «       }t	        j
                  ||«       y )Nr   r
   r   Fr   rG   )r   Úmeanr   rM   r   r   r[   )r!   r"   r#   r%   Úk1Úk2r&   Úresult2s           r)   Útest_groupby_multilevelz&TestMultiLevel.test_groupby_multilevel—   sÚ   € Ø=ˆà—‘ A q 6�Ó*×/Ñ/Ó1ˆà�Y‰Y×'Ñ'¨Ó*ˆØ�Y‰Y×'Ñ'¨Ó*ˆà—;‘;  B˜xÓ(×-Ñ-Ó/ˆô 	×Ñ˜f h¸EÕBØ�|‰|×!Ñ! S§Y¡Y§_¡_°R°aÐ%8Ò8Ð8Ð8à—+‘+ C§I¡I§O¡O°B°QÐ$7�+Ó8×=Ñ=Ó?ˆÜ
×Ñ˜f gÕ.r8   c                 óî   — t        j                  g d¢«      }t        t        j                  j                  d«      j                  d«      ||¬«      }|j                  d«      |d<   |j                  «       }y )N)r-   )r.   rV   r0   )r1   rV   rG   )r\   r\   )r   r   r
   )ÚTotalsÚ )	r   rx   r   rb   rc   rd   Ústandard_normalr   Ú_consolidate)r!   r   rf   s      r)   Útest_multilevel_consolidatez*TestMultiLevel.test_multilevel_consolidate¨   sc   € Ü×&Ñ&ÚLó
ˆô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÀEÐSXô
ˆð Ÿ6™6 !›9ˆˆ<ÑØ�_‰_Ó‰r8   c                 óô  — t        g d¢ddggg d¢g d¢g¬«      }t        t        j                  j	                  d«      j                  d«      |¬	«      }t        t        j                  j	                  d«      j                  d
«      |¬	«      }|d   }|j                  d   }|d d }|j                  j                  d«      |_        t        j                  ||«       t        j                  ||«       t        j                  t        d¬«      5  |d    d d d «       |j                  d   }|j                  d«      }|d d }|j                  j                  d«      |_        t        j                   ||«       t        j                   ||«       t        g d¢ddggg d¢g d¢g¬«      }t        t        j                  j	                  d«      j                  d«      |¬	«      }t        t        j                  j	                  d«      j                  d
«      |¬	«      }|d   }|j                  d   }|d d }|j                  j                  d«      |_        t        j                  ||«       t        j                  ||«       |j                  d   }|j                  d«      }|d d }|j                  j                  d«      |_        t        j                   ||«       t        j                   ||«       y # 1 sw Y   �ŒÝxY w)N)©r.   r1   r   )r.   rU   r   )r.   Úquxr   r   r
   )r   r   r
   r
   rG   rG   )r   r
   r   r
   r   r
   )rY   rZ   rG   ro   ©r   )ro   r\   r›   z^\(\('foo', 'bar', 0\), 2\)$r   )r›   rG   )©r.   r1   )r.   rU   )r.   rœ   rž   )r   r   rb   rc   rd   r—   r   r3   r   Ú	droplevelr   r   ÚpytestÚraisesÚKeyErrorÚxsr   )r!   r   Úseriesr5   r%   r’   r&   s          r)   Útest_level_with_tuplesz%TestMultiLevel.test_level_with_tuples²   s  € ÜÚMÐPQÐSTÈvÐVÚ%Ò'9Ð:ô
ˆô
 œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓCÈ5ÔQˆÜœ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ6ÓJÐRWÔXˆàÐ)Ñ*ˆØ—*‘*Ð.Ñ/ˆØ˜"˜1�:ˆØ!Ÿ™×1Ñ1°!Ó4ˆŒÜ
×Ñ˜v xÔ0Ü
×Ñ˜w¨Ô1ä�]‰]œ8Ð+JÔKñ 	)ØÐ'Ò(÷	)ð —‘Ð,Ñ-ˆØ—(‘(Ð,Ó-ˆØ˜˜!�9ˆØ!Ÿ™×1Ñ1°!Ó4ˆŒÜ
×Ñ˜f hÔ/Ü
×Ñ˜g xÔ0äÚDÀqÈ!ÀfÐMÚ%Ò'9Ð:ô
ˆô
 œŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓCÈ5ÔQˆÜœ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ6ÓJÐRWÔXˆà˜Ñ'ˆØ—*‘*˜^Ñ,ˆØ˜"˜1�:ˆØ!Ÿ™×1Ñ1°!Ó4ˆŒÜ
×Ñ˜v xÔ0Ü
×Ñ˜w¨Ô1à—‘˜>Ñ*ˆØ—(‘(˜>Ó*ˆØ˜˜!�9ˆØ!Ÿ™×1Ñ1°!Ó4ˆŒÜ
×Ñ˜f hÔ/Ü
×Ñ˜g xÕ0÷=	)ñ 	)ús   ÄK-Ë-K7c                 ó&  — |}|j                  ddgd¬«      }|j                  g d¢   }t        j                  ||«       |j                  j                  ddgdd¬«      }t        j                  ||j                  «       |j
                  ddg   }t        j                  ||«       |d   j
                  ddg   }t        j                  ||d   «       |j                  j
                  d d …ddgf   }t        j                  ||j                  «       y )	Nr.   rœ   r   r   )r   r
   rG   rp   rq   rr   r
   rw   r   )r   r2   r   r   r    r3   r   )r!   r4   r5   r%   r&   s        r)   Ú$test_reindex_level_partial_selectionz3TestMultiLevel.test_reindex_level_partial_selectionâ   sç   € Ø0ˆà—‘  u˜~°Q�Ó7ˆØ—:‘:Ò0Ñ1ˆÜ
×Ñ˜f hÔ/à—‘—‘ %¨ °a¸q�ÓAˆÜ
×Ñ˜f h§j¡jÔ1à—‘˜E 5˜>Ñ*ˆÜ
×Ñ˜f hÔ/à�s‘—‘ ¨ Ñ/ˆÜ
×Ñ˜v x°¡}Ô5à—‘—‘šQ ¨ Ð.Ñ/ˆÜ
×Ñ˜f h§j¡jÕ1r8   ra   r\   c                 ó  — g d¢}t        dgdgdg|gdœ«      }||j                  dk(     j                  |«      }|j                  «       j                  }t        dgdgdggg g g gg d¢¬«      }t        j                  ||«       y )N)r^   r_   r`   r
   rG   r,   r]   rX   )r   r^   r   Úfirstr   r   r   Úassert_index_equal)r!   ra   rD   rf   Úgr%   r&   s          r)   Ú+test_empty_frame_groupby_dtypes_consistencyz:TestMultiLevel.test_empty_frame_groupby_dtypes_consistencyõ   s„   € ò %ˆ
Ü˜a˜S¨ s°!°¸A¸3Ñ?Ó@ˆàˆr�t‰t�q‰y‰M×!Ñ! *Ó-ˆØ—‘“—‘ˆÜØ�C˜!˜˜q˜c�?¨2¨r°2¨,ºoô
ˆô 	×Ñ˜f hÕ/r8   c                 óÒ   — g d¢}g d¢}t        j                  |ddg¬«      }t        ||¬«      }|j                  |j                  «      j                  «       }t        |«      dk(  sJ ‚y )N))Ú600809Ú20061231©r®   Ú20070331)r®   Ú20070630r°   )Údemor³   r³   r³   ÚSTK_IDÚRPT_Date)r[   r�   r,   )r   rx   r   r   r   r©   Úlen)r!   Úidx_tpÚdtÚidxrO   r%   s         r)   Útest_duplicate_groupby_issuesz,TestMultiLevel.test_duplicate_groupby_issues  s`   € ò
ˆò .ˆä×$Ñ$ V°H¸jÐ3IÔJˆÜ�2˜SÔ!ˆà—‘˜1Ÿ7™7Ó#×)Ñ)Ó+ˆÜ�6‹{˜aÒÐÑr8   c                 ó$  — ddgg}ddt         j                  fdg}t        |t        j                  |«      ¬«      }|j
                  j                  j                  }|j                  j                  j
                  }t        j                  ||«       y )NrJ   r
   r^   r_   )r^   r`   ç        r;   )
rb   Únanr   r   rx   Údtypesr^   r_   r   r   )r!   r…   r   rf   r&   r%   s         r)   Útest_subsets_multiindex_dtypez,TestMultiLevel.test_subsets_multiindex_dtype  sk   € à�a�ˆzˆØ˜œbŸf™fÐ% Ð7ˆÜ�t¤Z×%;Ñ%;¸GÓ%DÔEˆØ—9‘9—;‘;—=‘=ˆØ—‘—‘—‘ˆÜ
×Ñ˜v xÕ0r8   c                 ó*  — dt        j                  ddd«      fdddœdt        j                  ddd«      fdd	dœdt        j                  ddd«      fdd
dœdt        j                  ddd«      fdddœi}t        j                  |d¬«      }g d¢g d¢dœ}g d¢t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      gg}t        ||¬«      }t	        j
                  ||«       y )Nr   iâ  r,   r
   r:   )r   rƒ   r\   rG   rs   rt   é   r   )Úorient)r
   rG   r,   r\   )r:   rs   rt   rÁ   )r   r   r
   r
   r„   )ÚdatetimeÚdater   Ú	from_dictr   r   )r!   Údata_dicr%   r…   r   r&   s         r)   Útest_datetime_object_multiindexz.TestMultiLevel.test_datetime_object_multiindex  s  € à”—‘˜d A qÓ)Ð*°!¸"Ñ,=Ø”—‘˜d A qÓ)Ð*°!¸"Ñ,=Ø”—‘˜d A qÓ)Ð*°!¸"Ñ,=Ø”—‘˜d A qÓ)Ð*°!¸"Ñ,=ð	
ˆô ×$Ñ$ X°gÔ>ˆÚ!Ò(8Ñ9ˆâä—‘˜d A qÓ)Ü—‘˜d A qÓ)Ü—‘˜d A qÓ)Ü—‘˜d A qÓ)ð	ð
ˆô  $¨eÔ4ˆä
×Ñ˜f hÕ/r8   c           	      óX  — t        dt        j                  ddgg d¢g d¢gg d¢¬«      j                  dd	g«      }d
|j                  d<   t        dt        j                  ddgg d¢g d¢ddt        j                  d
ggg d¢¬«      j                  dd	g«      }t        j                  ||«       y )Nr   ç®Gáz®ó?ç=
×£p=@)r   ÚGrÉ   rÊ   )r   ÚDg=
×£p½#@g®Gáz%@)Úpivot_0Úpivot_1Úcol_1Úcol_2r;   rÍ   rÎ   r¼   ))r   ÚFrÐ   rÑ   )r   rb   r½   Ú	set_indexÚatr   r   )r!   rf   r&   s      r)   Útest_multiindex_with_naz&TestMultiLevel.test_multiindex_with_na1  s±   € Üà”b—f‘f˜d DÐ)Ú&Ú'ðò
 =ô
÷ ‰)�Y 	Ð*Ó
+ð 	ð &)ˆ�‰Ð!Ñ"äà”b—f‘f˜d DÐ)Ú&Ú'Ø�cœ2Ÿ6™6 3Ð'ð	ò =ô
÷ ‰)�Y 	Ð*Ó
+ð 	ô 	×Ñ˜b (Õ+r8   N)Ú__name__Ú
__module__Ú__qualname__r*   r7   rB   rS   rg   r|   r€   r�   r“   r™   r¥   r§   r    ÚmarkÚparametrizer¬   rº   r¿   rÇ   rÔ   rH   r8   r)   r   r      s}   „ ò0ò23ò/ò2Dò"ò6ò*9ò)ò(/ò"ò.1ò`2ð& ‡[�[×Ñ˜S 1 c (Ó+ñ0ó ,ð0ò ò1ò0ó,,r8   r   c                   ó   — e Zd ZdZd„ Zy)Ú
TestSortedz+everything you wanted to test about sortingc                 óÎ  — t        g d¢g d¢gg d¢g d¢g«      }t        dt        t        |«      «      i|d¬«      }|j                  j
                  du sJ ‚|j                  «       }|j                  j
                  d	u sJ ‚t        dg d
¢it        j                  g d¢«      d¬«      }|j                  t        j                  dd…dd…f   d d …f   }t        j                  ||«       y )N)r   rƒ   ÚC)r`   r_   r^   )r   r
   rG   r   r
   rG   )r   rG   r
   r
   r   rG   ÚcolÚint64)r   ÚdtypeFT)r
   r\   rn   rG   ))rƒ   r^   )rƒ   r`   )rÝ   r^   )rÝ   r_   rƒ   rÝ   r^   r`   )r   r   Úranger¶   r   Úis_monotonic_increasingÚ
sort_indexrx   r3   ÚpdÚ
IndexSlicer   r   )r!   r¹   rf   Úsortedr&   r%   s         r)   Útest_sort_non_lexsortedz"TestSorted.test_sort_non_lexsortedM  sÚ   € ô ÚšoÐ.Ò1CÒEWÐ0Xó
ˆô ˜œu¤S¨£X›Ð/°sÀ'ÔJˆØ�x‰x×/Ñ/°5Ñ8Ð8Ð8à—‘“ˆØ�|‰|×3Ñ3°tÑ;Ð;Ð;äØ’LÐ!Ü×(Ñ(Ú@óð ô
ˆð —‘œBŸM™M¨#¨c¨'°3°s°7Ð*:Ñ;ºQÐ>Ñ?ˆÜ
×Ñ˜f hÕ/r8   N)rÕ   rÖ   r×   Ú__doc__rç   rH   r8   r)   rÛ   rÛ   J  s
   „ Ù5ó0r8   rÛ   )rÃ   Únumpyrb   r    Úpandasrä   r   r   r   Úpandas._testingÚ_testingr   r   rÛ   rH   r8   r)   ú<module>rí      s7   ðÛ ã Û ã ÷ñ õ
 ÷x,ñ x,÷v	0ò 0r8   