Ë
    ¤ehÙ(  ã            	       ó   — 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mZ d dlmZ  G d„ d«      Z G d„ d	e«      Z G d
„ de«      Zej,                  j/                  dddg«      d„ «       Zd„ Zej,                  j/                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z ej,                  j/                  dejB                  gejB                  gejB                  ggejB                  gejB                  ggfejB                  gejB                  gejB                   ggejB                  gejD                  ggfejB                  gejB                   gejB                  ggejB                  gejD                  ggfejB                  gejB                   gejB                   ggejB                  gejB                   ggfg«      d„ «       Z#y)é    N)Úgroupby)Úgroup_cumprodÚgroup_cumsumÚ
group_meanÚ	group_sumÚ	group_var)Úensure_platform_int)Úisnac                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚGroupVarTestMixinc                 óú  — t         j                  j                  d«      }t         j                  t        j                  d«      z  j                  | j                  «      }t        j                  dd¬«      }d|j                  d«      j                  | j                  «      z  }t        j                  t        j                  d«      d«      j                  d	«      }t        j                  |«      j                  d
d¬«      j                  dd¬«      dz  d d …t         j                  f   }|dz   }| j                  ||||«       t        j                  ||| j                   «      sJ ‚t#        j$                  ||«       y )Né   ©é   é   r   Úint64©Údtypeé
   )é   r   )é   Úintp)r   r   ÚF©Úorderr   )ÚaxisÚddofr   )ÚnpÚrandomÚdefault_rngÚnanÚonesÚastyper   ÚzerosÚtileÚarangeÚsqueezeÚreshapeÚstdÚnewaxisÚalgoÚallcloseÚrtolÚtmÚassert_numpy_array_equal©ÚselfÚprngÚoutÚcountsÚvaluesÚlabelsÚexpected_outÚexpected_countss           úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_libgroupby.pyÚtest_group_var_generic_1dz+GroupVarTestMixin.test_group_var_generic_1d   s  € Ü�y‰y×$Ñ$ QÓ'ˆä�v‰vœŸ™ ›Ñ'×/Ñ/°·
±
Ó;ˆÜ—‘˜! 7Ô+ˆØ�d—k‘k 'Ó*×1Ñ1°$·*±*Ó=Ñ=ˆÜ—‘œŸ™ 1› tÓ,×3Ñ3°FÓ;ˆô �J‰J�vÓ×&Ñ& v°SÐ&Ó9×=Ñ=À1È1Ð=ÓMÐQRÑRÚ
ŒR�Z‰Zˆ-ñˆð ! 1™*ˆà�	‰	�#�v˜v vÔ.Ü�{‰{˜3 ¨d¯i©iÔ8Ð8Ð8Ü
×#Ñ# F¨OÕ<ó    c                 ón  — t         j                  j                  d«      }t         j                  t        j                  d«      z  j                  | j                  «      }t        j                  dd¬«      }d|j                  d«      j                  | j                  «      z  }t        j                  dd	¬«      }t        j                  |j                  d¬
«      dz  gg«      }|dz   }| j                  ||||«       t        j                  ||| j                  «      sJ ‚t        j                  ||«       y )Nr   ©r   r   r   r   r   r   r   r   r   )r   )r   r   r    r!   r"   r#   r   r$   Úarrayr)   r+   r,   r-   r.   r/   r0   s           r9   Ú%test_group_var_generic_1d_flat_labelsz7GroupVarTestMixin.test_group_var_generic_1d_flat_labels%   sæ   € Ü�y‰y×$Ñ$ QÓ'ˆä�v‰vœŸ™ ›Ñ'×/Ñ/°·
±
Ó;ˆÜ—‘˜! 7Ô+ˆØ�d—k‘k &Ó)×0Ñ0°·±Ó<Ñ<ˆÜ—‘˜! 6Ô*ˆä—x‘x &§*¡*°! *Ó"4¸Ñ"9Ð!:Ð ;Ó<ˆØ  1™*ˆà�	‰	�#�v˜v vÔ.ä�{‰{˜3 ¨d¯i©iÔ8Ð8Ð8Ü
×#Ñ# F¨OÕ<r;   c                 ó´  — t         j                  j                  d«      }t         j                  t        j                  d«      z  j                  | j                  «      }t        j                  dd¬«      }d|j                  d«      j                  | j                  «      z  }t        j                  t        j                  d«      d«      j                  d	«      }t        j                  |j                  ddd«      d
d¬«      dz  }|dz   }| j                  ||||«       t        j                  ||| j                  «      sJ ‚t        j                   ||«       y )Nr   ©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   s           r9   Ú$test_group_var_generic_2d_all_finitez6GroupVarTestMixin.test_group_var_generic_2d_all_finite5   sù   € Ü�y‰y×$Ñ$ QÓ'ˆä�v‰vœŸ™ ›Ñ'×/Ñ/°·
±
Ó;ˆÜ—‘˜! 7Ô+ˆØ�d—k‘k 'Ó*×1Ñ1°$·*±*Ó=Ñ=ˆÜ—‘œŸ™ 1› tÓ,×3Ñ3°FÓ;ˆä—v‘v˜fŸn™n¨Q°°1Ó5¸AÀAÔFÈ!ÑKˆØ  1™*ˆà�	‰	�#�v˜v vÔ.Ü�{‰{˜3 ¨d¯i©iÔ8Ð8Ð8Ü
×#Ñ# F¨OÕ<r;   c                 óŠ  — t         j                  j                  d«      }t         j                  t        j                  d«      z  j                  | j                  «      }t        j                  dd¬«      }d|j                  d«      j                  | j                  «      z  }t         j                  |d d …df<   t        j                  t        j                  d«      d	«      j                  d
«      }t        j                  |d d …df   j                  ddd¬«      j                  dd¬«      dz  t         j                  t        j                  d«      z  g«      j                  j                  | j                  «      }|dz   }| j                  ||||«       t        j                   ||d¬«       t        j"                  ||«       y )Nr   rA   r   r   r   r   rB   r   rC   r   r   r   r   rD   g�íµ ÷Æ >©r-   )r   r   r    r!   r"   r#   r   r$   r%   r&   Úvstackr(   r)   ÚTr+   r.   Úassert_almost_equalr/   r0   s           r9   Ú"test_group_var_generic_2d_some_nanz4GroupVarTestMixin.test_group_var_generic_2d_some_nanD   sP  € Ü�y‰y×$Ñ$ QÓ'ˆä�v‰vœŸ™ ›Ñ'×/Ñ/°·
±
Ó;ˆÜ—‘˜! 7Ô+ˆØ�d—k‘k 'Ó*×1Ñ1°$·*±*Ó=Ñ=ˆÜ—v‘vˆŠq�!ˆt‰Ü—‘œŸ™ 1› tÓ,×3Ñ3°FÓ;ˆä—y‘yà’q˜!�t‘×$Ñ$ Q¨°Ð$Ó5×9Ñ9¸qÀqÐ9ÓIÈQÑNÜ—‘œŸ™ ›Ñ#ðó
÷
 ‰!�F‰F�4—:‘:Óð 	ð ! 1™*ˆà�	‰	�#�v˜v vÔ.Ü
×Ñ˜s L°wÕ?Ü
×#Ñ# F¨OÕ<r;   c                 óŽ  — t        j                  t         j                  gg| j                  ¬«      }t        j                  dgd¬«      }dt        j                  d| j                  ¬«      z  }t        j
                  dd¬«      }| j                  ||||«       |d   dk(  sJ ‚|d   dk\  sJ ‚t        j                  |d   d	«       y )
Nr   r   r   gUUUÕª¦ê?)r   r   r   r   ©r   r   g        )	r   r>   r!   r   r"   r$   r+   r.   rJ   )r1   r3   r4   r5   r6   s        r9   Útest_group_var_constantz)GroupVarTestMixin.test_group_var_constantY   s¡   € ô �h‰hœŸ™˜�z¨¯©Ô4ˆÜ—‘˜1˜# WÔ-ˆØ"¤R§W¡W¨V¸4¿:¹:Ô%FÑFˆÜ—‘˜! 6Ô*ˆà�	‰	�#�v˜v vÔ.à�a‰y˜AŠ~Ðˆ~Ø�4‰y˜AŠ~Ðˆ~Ü
×Ñ˜s 4™y¨#Õ.r;   N)Ú__name__Ú
__module__Ú__qualname__r:   r?   rE   rK   rN   © r;   r9   r   r      s   „ ò=ò"=ò =ò=ó*/r;   r   c                   óB   — e Zd ZdZ ee«      Zej                  Z	dZ
d„ Zy)ÚTestGroupVarFloat64Tgñhãˆµøä>c                 óÜ  — t         j                  j                  d«      }t        j                  t         j                  gg| j
                  ¬«      }t        j                  dgd¬«      }|j                  d«      dz   j                  | j
                  «      }d|_        t        j                  dd¬«      }| j                  ||||«       |d   dk(  sJ ‚t        j                  |d	   d
d¬«       y )Nr   r   r   r   é@B l    J)£)rV   r   r   rM   gUUUUUUµ?gü©ñÒMb@?rG   )r   r   r    r>   r!   r   r#   Úshaper$   r+   r.   rJ   )r1   r2   r3   r4   r5   r6   s         r9   Útest_group_var_large_inputsz/TestGroupVarFloat64.test_group_var_large_inputso   s·   € Ü�y‰y×$Ñ$ QÓ'ˆä�h‰hœŸ™˜�z¨¯©Ô4ˆÜ—‘˜1˜# WÔ-ˆØ—+‘+˜eÓ$ vÑ-×5Ñ5°d·j±jÓAˆØ!ˆŒÜ—‘˜% vÔ.ˆà�	‰	�#�v˜v vÔ.à�a‰y˜EÒ!Ð!Ð!Ü
×Ñ˜s 4™y¨(¸Ö@r;   N)rO   rP   rQ   Ú__test__Ústaticmethodr   r+   r   Úfloat64r   r-   rX   rR   r;   r9   rT   rT   h   s%   „ Ø€Há˜	Ó"€DØ�J‰J€EØ€DóAr;   rT   c                   ó<   — e Zd ZdZ ee«      Zej                  Z	dZ
y)ÚTestGroupVarFloat32Tg{®Gáz„?N)rO   rP   rQ   rY   rZ   r   r+   r   Úfloat32r   r-   rR   r;   r9   r]   r]   ~   s   „ Ø€Há˜	Ó"€DØ�J‰J€EØ�Dr;   r]   r   r^   r[   c           
      óÞ  — t        j                  t         j                  j                  d«      j	                  d«      | ¬«      }t        j                  g d¢«      }t        j
                  d| «      }t        j
                  t        |«      t         j                  ¬«      }t        t        j                  t        j                  d«      t        j                  t         j                  d|f   «      «      «      }t        j                  } ||||d d …d f   |«       d„ }t        j                   ||d d	 «       ||d	d
 «       ||d
d  «      g«      }t        j                   ||«       t        j"                  |t        j                  g d¢t         j                  ¬«      «       t         j$                  |d d	  ||||d d …d f   |«       t         j$                  |d<   t        j                   ||«       y )Nr   é   r   )é   é   r`   )r   é   r   r   c                 óÌ   — t        | «      j                  «       r$t        j                  t        j                  d«      S | d   | j                  «       | j                  «       | d   gS )Nrc   r   éÿÿÿÿ)r
   Úallr   Úrepeatr!   ÚmaxÚmin)Úgroups    r9   Ú_ohlcztest_group_ohlc.<locals>._ohlc’   sH   € Ü�‹;�?‰?ÔÜ—9‘9œRŸV™V QÓ'Ð'Ø�a‘˜%Ÿ)™)›+ u§y¡y£{°E¸"±IÐ>Ð>r;   ra   rb   )ra   ra   é   )r   r>   r   r    Ústandard_normalr$   Úlenr   r	   rg   r&   ÚdiffÚr_Ú
libgroupbyÚ
group_ohlcr.   rJ   r/   r!   )	r   ÚobjÚbinsr3   r4   r6   Úfuncrk   Úexpecteds	            r9   Útest_group_ohlcrw   †   sa  € ä
�(‰(”2—9‘9×(Ñ(¨Ó+×;Ñ;¸BÓ?ÀuÔ
M€Cä�8‰8’KÓ €DÜ
�(‰(�6˜5Ó
!€CÜ�X‰X”c˜#“h¤b§h¡hÔ/€FÜ ¤§¡¬2¯9©9°Q«<¼¿¹ÄÇÁÀqÈ$ÀwÁÓ9PÓ!QÓR€Fä× Ñ €DÙˆˆf�cš!˜T˜'‘l FÔ+ò?ô
 �x‰x™˜s 2 A˜w›©¨s°1°R¨yÓ)9¹5ÀÀRÀSÀ»?ÐKÓL€Hä×Ñ˜3 Ô)Ü×Ñ ¬¯©²Ä"Ç(Á(Ô(KÔLä�f‰f€Cˆˆ€GÙˆˆf�cš!˜T˜'‘l FÔ+Ü—&‘&€HˆQ�KÜ×Ñ˜3 Õ)r;   c                 ó$  — d}t        j                  dgdgdgdgg|¬«      }t        j                  |«      }t        j                  g d¢t         j                  ¬«      }d} | |||||«       t	        j
                   ||«      |dd…d	f   d¬
«       y)a  
    Check a group transform that executes a cumulative function.

    Parameters
    ----------
    pd_op : callable
        The pandas cumulative function.
    np_op : callable
        The analogous one in NumPy.
    dtype : type
        The specified dtype of the data.
    Fr   r   r   rc   r   )r   r   r   r   Nr   )Úcheck_dtype)r   r>   Ú
zeros_liker   r.   r/   )Úpd_opÚnp_opr   Úis_datetimelikeÚdataÚanswerr6   Úngroupss           r9   Ú(_check_cython_group_transform_cumulativer�   ¢   s   € ð €Oä�8‰8�a�S˜1˜# ˜s Q CÐ(°Ô6€DÜ�]‰]˜4Ó €Fä�X‰X’l¬"¯'©'Ô2€FØ€GÙ	ˆ&�$˜ ¨Ô9ä×Ñ¡ d£¨V²A°q°D©\ÀuÖMr;   Únp_dtype)r   Úuint64r^   r[   c                 óˆ   — t        j                  | «      j                  }t        t         j                  }}t        |||«       y ©N)r   r   Útyper   Úcumsumr�   )r‚   r   r{   r|   s       r9   Ú"test_cython_group_transform_cumsumrˆ   »   s1   € ô �H‰H�XÓ×#Ñ#€EÜ¤§¡ˆ5€EÜ,¨U°E¸5ÕAr;   c                  ój   — t         j                  } t        t         j                  }}t	        ||| «       y r…   )r   r[   r   Úcumprodr�   )r   r{   r|   s      r9   Ú#test_cython_group_transform_cumprodr‹   Ã   s$   € ä�J‰J€EÜ ¤"§*¡*ˆ5€EÜ,¨U°E¸5ÕAr;   c            
      ó  — d} t        j                  g d¢t         j                  ¬«      }d}t        j                  dgdgdgt         j                  gdggd¬«      }t        j                  |«      }|j                  t         j                  «       t        ||||| «       t        j                  ddd	t         j                  d
gd¬«      }t        j                  |d d …df   |«       t        j                  |«      }|j                  t         j                  «       t        ||||| «       t        j                  ddd	t         j                  dgd¬«      }t        j                  |d d …df   |«       d} t        j                  t        j                  dd«      gdz  d¬«      d d …d f   }t        j                  |d¬«      }t        ||j                  d«      ||| «       t        j                  t        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      t        j                  dd«      g«      }t        j                  |d d …df   j                  d«      |«       y )NF)r   r   r   r   r   r   r   r   r   rc   r[   ra   é   r   r   TÚnsr   úm8[ns]r   )r   r>   r   r!   rz   Úfillr   r.   r/   r   Útimedelta64Úview)r}   r6   r€   r~   Úactualrv   s         r9   Ú!test_cython_group_transform_algosr”   Ê   sï  € à€Oô �X‰X’o¬R¯W©WÔ5€FØ€Gä�8‰8�a�S˜1˜# ˜s¤R§V¡V H¨q¨cÐ2¸)ÔD€DÜ�]‰]˜4Ó €FØ
‡K�K”—‘ÔÜ�&˜$ ¨°ÔAÜ�x‰x˜˜A˜q¤"§&¡&¨"Ð-°YÔ?€HÜ×Ñ ¢q¨! t¡¨hÔ7ä�]‰]˜4Ó €FØ
‡K�K”—‘ÔÜ�˜˜v w°Ô@Ü�x‰x˜˜A˜q¤"§&¡&¨"Ð-°YÔ?€HÜ×Ñ ¢q¨! t¡¨hÔ7ð €OÜ�8‰8”R—^‘^ A tÓ,Ð-°Ñ1¸ÔBÂ1ÀdÀ7ÑK€DÜ�]‰]˜4 wÔ/€FÜ�˜Ÿ™ 7Ó+¨V°W¸oÔNÜ�x‰xä�N‰N˜1˜dÓ#Ü�N‰N˜1˜dÓ#Ü�N‰N˜1˜dÓ#Ü�N‰N˜1˜dÓ#Ü�N‰N˜1˜dÓ#ð	
ó€Hô ×Ñ ¢q¨! t¡× 1Ñ 1°(Ó ;¸XÕFr;   c                  ó8  — t        j                  dd¬«      } t        j                  dgd¬«      }t        j                  t        j                  dd«      t        j                  d	d«      t        j                  d
«      gd¬«      d d …d f   j	                  d«      j                  d«      }t        j                  t        |«      t         j                  ¬«      }t        | |||d¬«       t        j                  | d d …df   t        j                  dgd¬«      «       y )Nr=   r[   ©rW   r   r   r   r   r   rŽ   rc   ÚNaTr�   T©r}   r   )r   r$   r>   r‘   r’   r#   rn   r   r   r.   r/   ©r“   r4   r~   r6   s       r9   Ú#test_cython_group_mean_datetimelikerš   ð   sÓ   € Ü�X‰X˜F¨)Ô4€FÜ�X‰X�q�c Ô)€Fä
�‰Ü�^‰^˜A˜tÓ$¤b§n¡n°Q¸Ó&=¼r¿~¹~ÈeÓ?TÐUØô	
ò ˆTˆ'ñ	÷ 
‰ˆg‹ß	‰�	Ó	ð 	ô �X‰X”c˜$“i¤r§w¡wÔ/€Fäˆv�v˜t V¸TÕBä×Ñ ¢q¨! t¡¬b¯h©h¸°sÀ)Ô.LÕMr;   c            	      óh  — t        j                  dd¬«      } t        j                  dd¬«      }t        j                  dd¬«      d d …d f   }t        j                  dt         j                  ¬«      }t        j                  t
        d¬«      5  t        | |||d	d
¬«       d d d «       y # 1 sw Y   y xY w)Nr=   r[   r–   r   r   r   Ú	min_count)ÚmatchTr   )r}   rœ   )r   r$   r   ÚpytestÚraisesÚAssertionErrorr   r™   s       r9   Ú&test_cython_group_mean_wrong_min_countr¡     s‰   € Ü�X‰X˜F¨)Ô4€FÜ�X‰X�a˜wÔ'€FÜ�8‰8�A˜YÔ'ª¨4¨Ñ0€DÜ�X‰X�aœrŸw™wÔ'€Fä	�‰”~¨[Ô	9ñ TÜ�6˜6 4¨ÀÐQRÕS÷T÷ Tñ Tús   ÂB(Â(B1c                  óf  — t        j                  dd¬«      } t        j                  dgd¬«      }t        j                  t        j                  d«      t        j                  d«      gd¬«      d d …d f   j	                  d«      j                  d«      }t        j                  t        |«      t         j                  ¬«      }t        | |||d	¬
«       t        j                  | d d …df   t        j                  t        j                  t        j                  |d   |d   «      d«      d¬«      «       y )Nr=   r[   r–   r   r   r   r—   r�   Fr˜   r   r   )r   r$   r>   r‘   r’   r#   rn   r   r   r.   r/   ÚdivideÚaddr™   s       r9   Ú:test_cython_group_mean_not_datetimelike_but_has_NaT_valuesr¥     sã   € Ü�X‰X˜F¨)Ô4€FÜ�X‰X�q�c Ô)€Fä
�‰Ü�^‰^˜EÓ"¤B§N¡N°5Ó$9Ð:Øô	
ò ˆTˆ'ñ	÷ 
‰ˆg‹ß	‰�	Ó	ð 	ô �X‰X”c˜$“i¤r§w¡wÔ/€Fäˆv�v˜t V¸UÕCä×ÑØŠq�!ˆt‰”b—h‘hœrŸy™y¬¯©°°Q±¸¸a¹Ó)AÀ1ÓEÈYÔWõr;   c            	      óv  — t        j                  t         j                  t         j                  gt         j                  t         j                  ggd¬«      } t        j                  ddgd¬«      }t        j                  t         j                  dgddgddgddgdd	gd
t         j                  ggd¬«      }t        j                  g d¢t         j                  ¬«      }t        | |||d¬«       t        j                  t         j                  dgdt         j                  ggd¬«      }t        j                  | |«       y )Nr[   r   r   r   g      ð?g       @g      @g      @g      @r   )r   r   r   r   r   r   Fr˜   r   )r   r>   r!   Úinfr   r   r.   r/   )r“   r4   r~   r6   rv   s        r9   Ú.test_cython_group_mean_Inf_at_begining_and_endr¨      sæ   € ä�X‰XœŸ™¤§¡Ð'¬"¯&©&´"·&±&Ð)9Ð:À)ÔL€FÜ�X‰X�q˜!�f GÔ,€FÜ�8‰8Ü
�&‰&�#ˆ˜˜c˜
 S¨# J°°c°
¸SÀ#¸JÈÌBÏFÉFÈÐTØô€Dô �X‰XÒ(´·±Ô8€Fäˆv�v˜t V¸UÕCä�x‰xœ"Ÿ&™& !˜ q¬"¯&©& kÐ2¸)ÔD€Hä×ÑØØõr;   zvalues, outc                 óœ  — t        j                  t         j                  gt         j                  ggd¬«      }t        j                  ddgd¬«      }t        j                  | d¬«      }t        j                  g d¢t         j                  ¬«      }t	        ||||d d¬«       t        j                  |d¬«      }t        j                  ||«       y )Nr[   r   r   r   )r   r   r   Fr˜   )r   r>   r!   r   r   r.   r/   )r5   r3   r“   r4   r~   r6   rv   s          r9   Ú-test_cython_group_sum_Inf_at_begining_and_endrª   4  s“   € ô �X‰XœŸ™�x¤"§&¡& Ð*°)Ô<€FÜ�X‰X�q˜!�f GÔ,€FÜ�8‰8�F )Ô,€DÜ�X‰X’i¤r§w¡wÔ/€Fäˆf�f˜d F¨DÀ%ÕHä�x‰x˜ 9Ô-€Hä×ÑØØõr;   )$Únumpyr   rž   Úpandas._libsr   rq   Úpandas._libs.groupbyr   r   r   r   r   Úpandas.core.dtypes.commonr	   Úpandasr
   Úpandas._testingÚ_testingr.   r   rT   r]   ÚmarkÚparametrizerw   r�   rˆ   r‹   r”   rš   r¡   r¥   r¨   r§   r!   rª   rR   r;   r9   ú<module>r´      sÅ  ðÛ Û å .÷õ õ :å Ý ÷R/ñ R/ôjAÐ+ô Aô,Ð+ô ð ‡�×Ñ˜ 9¨iÐ"8Ó9ñ*ó :ð*ò6Nð2 ‡�×Ñ˜Ò%NÓOñBó PðBòBò#GòLNò$Tòò(ð( ‡�×ÑØà�6‰6ˆ(�R—V‘V�H˜rŸv™v˜hÐ	'¨2¯6©6¨(°R·V±V°HÐ)=Ð>Ø�6‰6ˆ(�R—V‘V�H §¡˜w˜iÐ	(¨B¯F©F¨8°b·f±f°XÐ*>Ð?Ø�6‰6ˆ(�b—f‘f�W�I §¡˜xÐ	(¨B¯F©F¨8°b·f±f°XÐ*>Ð?Ø�6‰6ˆ(�b—f‘f�W�I §¡ ˜yÐ	)¨R¯V©V¨H¸¿¹°w°iÐ+@ÐAð	óñóñr;   