o
    Û­jìY  ã                   @   sÞ  d dl Zd dlZd dlmZmZmZmZ d dlm	Z
 dd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zej de d¡ d¡ d¡edddd�edddd� d¡g¡ej dd dg¡dd„ ƒƒZdd„ Zdd„ Zdd „ Zej d!g d"¢¡d#d$„ ƒZd%d&„ Zej d'd(eed)ƒed*d+ƒg d,¢d-œed.�gd/eejgd) d0gd) g d1¢d-œƒgd2eejgd) d3gd) g d4¢d-œƒgg¡d5d6„ ƒZd7d8„ Z d9d:„ Z!ej d;g d<¢d=gg d>¢d?gg¡d@dA„ ƒZ"dBdC„ Z#dDdE„ Z$dFdG„ Z%ej dHeejdIdJgƒd?d=ejdKdIgfeejdIdJgƒd?d?ejdKdIgfeejdIdJgƒd=d=ejdKdLgfeejdIdJgƒd=d?ejdKdLgfedIejdJgƒd?d=dMejdIgfedIejdJgƒd?d?dKejdIgfedIejdJgƒd=d=dMejdLgfedIejdJgƒd=d?dKejdLgfeejdIejejdJejgƒd?d=ejdNejejdIejgfeejdIejejdJejgƒd?d?ejdKejejdIejgfeejdIejejdJejgƒd=d=ejdNejejdLejgfeejdIejejdJejgƒd=d?ejdKejejdLejgfedIejdJdOgƒd?d=dNejdKdIgfedIejdJdOgƒd?d?dMejdKdIgfedIejdJdOgƒd=d=dNejdPdQgfedIejdJdOgƒd=d?dMejdPdLgfg¡dRdS„ ƒZ&dTdU„ Z'dVdW„ Z(ej dXg dY¢¡dZd[„ ƒZ)ej dd d\g¡ej d]g d^¢¡d_d`„ ƒƒZ*ej d]dadbg¡dcdd„ ƒZ+ej dg d-¢¡ej d]dadbg¡dedf„ ƒƒZ,ej d]dadbg¡dgdh„ ƒZ-ej d]g di¢¡djdk„ ƒZ.ej d]g di¢¡dldm„ ƒZ/dndo„ Z0dpdq„ Z1drds„ Z2ej dtdadbg¡dudv„ ƒZ3dwdx„ Z4ej dydbdag¡ej dzd?d=g¡d{d|„ ƒƒZ5ej d}e6e7g¡d~d„ ƒZ8ej dydbdag¡ej dzd?d=g¡ej d}e6e7g¡d€d�„ ƒƒƒZ9dS )‚é    N)Ú	DataFrameÚDatetimeIndexÚSeriesÚ
date_rangec                  C   s0   t ddddtjdgiƒ} |  | jdd� ¡  d S )NÚBr   é   é   é   ç      à?©Úcom)r   ÚnpÚnanÚewmÚmean©Údf© r   úY/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/window/test_ewm.pyÚtest_doc_string   s   r   c              	   C   s
  | t dƒƒj}|dd� |dd� |dd� |dd� |dd d	� |dd d
� |dd d� d}tjt|d�� |ddd� W d   ƒ n1 sGw   Y  tjt|d�� |ddd� W d   ƒ n1 sdw   Y  tjt|d�� |ddd� W d   ƒ n1 s�w   Y  d}tjt|d�� |dd� W d   ƒ n1 sŸw   Y  d}tjt|d�� |dd� W d   ƒ n1 s½w   Y  d}tjt|d�� |dd� W d   ƒ n1 sÛw   Y  d}dD ]}tjt|d�� ||d� W d   ƒ n1 sýw   Y  qäd S )Né   r
   r   ç      ø?©Úspan©Úalphag      è?©Úhalflife©r   r   )r   r   ©r   r   ú8comass, span, halflife, and alpha are mutually exclusive©Úmatch©r   r   ©r   r   )r   r   ú comass must satisfy: comass >= 0ç      à¿úspan must satisfy: span >= 1ú#halflife must satisfy: halflife > 0r   ú"alpha must satisfy: 0 < alpha <= 1)r&   r   )Úranger   ÚpytestÚraisesÚ
ValueError)Úframe_or_seriesÚcÚmsgr   r   r   r   Útest_constructor   sJ   



ÿÿÿÿÿÿÿ€ÿr1   c                  C   sR   d} t jt| d�� ttdƒƒjt d¡d� W d   ƒ d S 1 s"w   Y  d S )Nztimes must be datetime64 dtype.r!   r   ©Útimes)r+   r,   r-   r   r*   r   r   Úarange©r0   r   r   r   Ú!test_ewma_times_not_datetime_type>   s   "ÿr6   c                  C   sX   d} t jt| d�� ttdƒƒjt d¡ d¡d� W d   ƒ d S 1 s%w   Y  d S )Nz,times must be the same length as the object.r!   r   r	   údatetime64[ns]r2   ©	r+   r,   r-   r   r*   r   r   r4   Úastyper5   r   r   r   Útest_ewma_times_not_same_lengthD   s   ""ÿr:   c                  C   sZ   d} t jt| d�� ttdƒƒjdt d¡ d¡d� W d   ƒ d S 1 s&w   Y  d S )Nz/halflife must be a timedelta convertible objectr!   r   r   r7   ©r   r3   r8   r5   r   r   r   Ú#test_ewma_halflife_not_correct_typeJ   s   $"ÿr<   c                 C   sL   d}t jt|d�� ttdƒƒj| d� W d   ƒ d S 1 sw   Y  d S )NzKhalflife can only be a timedelta convertible argument if times is not None.r!   r   r   )r+   r,   r-   r   r*   r   )Úhalflife_with_timesr0   r   r   r   Ú test_ewma_halflife_without_timesP   s   "ÿr>   r3   é
   zdatetime64[D]r7   Ú2000ÚD©ÚfreqÚperiodsÚUTCÚmin_periodsr   c                 C   s`   | }t  d¡}t j|d d d…< td|iƒ}|j|||d� ¡ }|jd|d� ¡ }t ||¡ d S )Nç      $@r   ÚA©r   rF   r3   ç      ð?)r   rF   )r   r4   r   r   r   r   ÚtmÚassert_frame_equal)r=   r3   rF   r   Údatar   ÚresultÚexpectedr   r   r   Ú"test_ewma_with_times_equal_spacingV   s   

rP   c           	      C   s`   | }d}t g d¢ƒ |¡ |¡}t d¡}t|ƒ}|j||d� ¡ }tg d¢ƒ}t 	||¡ d S )Nz23 days)z
2020-01-01z2020-01-10T00:04:05z2020-02-23T05:00:23é   r;   )ç        gÐÇþE(â?gÁ*‡M¹ø?)
r   Útz_localizeÚas_unitr   r4   r   r   r   rK   rL   )	Útz_aware_fixtureÚunitÚtzr   r3   rM   r   rN   rO   r   r   r   Ú%test_ewma_with_times_variable_spacingi   s   
ý
rX   c                 C   sZ   t tdƒƒ}tdgƒ}tjtdd�� |jd| |d� W d   ƒ d S 1 s&w   Y  d S )Nr   ÚNaTz$Cannot convert NaT values to integerr!   çš™™™™™¹?)r   r   r3   )r   r*   r   r+   r,   r-   r   )r=   Úserr3   r   r   r   Útest_ewm_with_nat_raisesx   s
   
"ÿr\   c                 C   st   | }t  d¡}t j|d d d…< tdddd�}t||dœƒ}|j||d�d	  ¡ }|jd
d�d	  ¡ }t ||¡ d S )NrG   r   r@   rA   r?   rB   ©rH   r   r;   rH   rJ   r   )	r   r4   r   r   r   r   r   rK   Úassert_series_equal)r=   r   rM   r3   r   rN   rO   r   r   r   Útest_ewm_with_times_getitem€   s   
r_   Úarg)r   r   r   r   c                    sr   | dd|d|i}t tdƒtdƒdœƒjd	i |¤Ž‰ ‡ fdd„ˆ jD ƒ}ˆ d }‡ fdd„|jD ƒ}||ks7J ‚d S )
Nr   ÚadjustÚ	ignore_nar]   c                    ó   i | ]}|t ˆ |ƒ“qS r   ©Úgetattr©Ú.0Úattr©r   r   r   Ú
<dictcomp>‘   ó    z8test_ewm_getitem_attributes_retained.<locals>.<dictcomp>rH   c                    rc   r   rd   rf   ri   r   r   rj   “   rk   r   )r   r*   r   Ú_attributes)r`   ra   rb   ÚkwargsrO   Ú	ewm_slicerN   r   ri   r   Ú$test_ewm_getitem_attributes_retainedŒ   s   "ro   c                	   C   sV   t jtdd�� ttdƒƒjddtdddd�d	� W d   ƒ d S 1 s$w   Y  d S )
Nz)times is not supported with adjust=False.r!   r   rZ   Fr@   rA   rB   )ra   r3   )r+   r,   ÚNotImplementedErrorr   r*   r   r   r   r   r   r   Ú#test_ewma_times_adjust_false_raises—   s   ÿÿ"ýrq   zfunc, expectedr   r   r	   é	   )gZôPÛ¶@rr   gÓø…W’$%@gd~�$I(@g7ûå¶m+@©r   r   r   ©ÚdtypeÚstdgÉ¬Þávø@)g‡§WÊ2„@g.äÜÈ@gÿ>ãÂ� @g ‰°áé…@g›äGüŠõ@Úvarg      2@)g—=Ô¶m5@é   gË�jÛ¶@@gÎþ@¹m[D@gg Ü¶mH@c                 C   s‚   t tdƒtddƒtdddƒdœ|d�}d	}tjt|d
�� |jddd�}W d   ƒ n1 s.w   Y  t|| ƒƒ }t ||¡ d S )Nr   é   é   r?   é   r   rs   rt   z1Support for axis=1 in DataFrame.ewm is deprecatedr!   r
   r   )r   Úaxis)r   r*   rK   Úassert_produces_warningÚFutureWarningr   re   rL   )ÚfuncrO   Úfloat_numpy_dtyper   r0   ÚerN   r   r   r   Útest_float_dtype_ewma¡   s   'ÿÿr‚   c                  C   sb   t t d¡tdddd�dœƒ} tjtdd�� | jd	d
dd� W d   ƒ d S 1 s*w   Y  d S )NrG   r@   rA   r?   rB   )rH   Útime_colztimes must be datetime64r!   z1 dayr   rƒ   rI   )r   r   r4   r   r+   r,   r-   r   r   r   r   r   Útest_times_string_col_raisesÓ   s   ÿ"ÿr„   c                  C   sR   t tdƒƒjddd�} tjtdd�� |  ¡  W d   ƒ d S 1 s"w   Y  d S )Nr   F©r   ra   z
sum is notr!   )r   r*   r   r+   r,   rp   Úsum)rM   r   r   r   Ú(test_ewm_sum_adjust_false_notimplementedÜ   s   
"ÿr‡   zexpected_data, ignore)rG   ç      @g      @g     €&@F)rG   rˆ   rˆ   g      )@Tc                 C   s<   t ddtjdgƒ}|jd|d� ¡ }t | ƒ}t ||¡ d S )Nr?   r   r
   )r   rb   )r   r   r   r   r†   rK   r^   )Úexpected_dataÚignorerM   rN   rO   r   r   r   Útest_ewm_sumâ   s   r‹   c                  C   sF   t t d¡ƒ} d| d< | jddd� ¡  ¡ }t |d ¡dk s!J ‚d S )Niè  r   r   éd   F)r   ra   g{®Gáz„?)r   r   Úzerosr   r   r†   Úabs)ÚvalsrN   r   r   r   Útest_ewma_adjustï   s   r�   c                 C   sN   t g d¢ƒ}| rt g d¢ƒ}nt g d¢ƒ}|jd| |d� ¡ }t ||¡ d S )N)rJ   ç       @g      @g       @)rJ   gš™™™™™ù?gÊ�"kå@gYÂÚ;±@)rJ   gR×ÚûTUõ?g�óSÇ@g	ßû´—@r‘   ©r   ra   rb   )r   r   r   rK   r^   )ra   rb   ÚsrO   rN   r   r   r   Útest_ewma_casesö   s   r”   c                  C   s¤   t dgtjgd  dg ƒ} | jdd� ¡ }t |t dgt| ƒ ƒ¡ t tjgd dg tjgd  dg ƒ} | jdd� ¡ }t |t tjgd dgd  ƒ¡ d S )NrJ   r   r   r   r	   )r   r   r   r   r   rK   r^   Úlen)r“   rN   r   r   r   Útest_ewma_nan_handling  s   (&r–   zs, adjust, ignore_na, wrJ   g     @Y@gVUUUUUå?gUUUUUUÕ?gÇqÇqÜ?gj/¡½„öÒ?g      I@gÇqÇqÌ?g|	í%´—Ð?c                 C   sl   |   |¡ ¡ t|ƒ ¡   ¡ }| jd||d� ¡ }t ||¡ |du r4| jd|d� ¡ }t ||¡ d S d S )Nr‘   r’   Fr…   )ÚmultiplyÚcumsumr   Úffillr   r   rK   r^   )r“   ra   rb   ÚwrO   rN   r   r   r   Útest_ewma_nan_handling_cases  s    ýr›   c                  C   s˜   t j d¡ d¡} t  dd¡}t j| |< t| ƒ}|jdd� ¡ }|jdd� ¡ }|jd	d
� ¡ }|jdd� ¡ }t	 
||¡ t	 
||¡ t	 
||¡ d S )Nr   rŒ   r{   é(   gŽVÎÕRÀã?r   g¿Æ·CØã?r   g‚_ãÛ!ì@r   gXlWYíç?r   )r   ÚrandomÚdefault_rngÚstandard_normalr4   r   r   r   r   rK   r^   )ÚarrÚlocsr“   ÚaÚbr/   Údr   r   r   Útest_ewm_alpha¢  s   
r¥   c                  C   sª  t j d¡ d¡} t  dd¡}t j| |< t| ƒ}d}tjt	|d�� |j
dd� W d   ƒ n1 s2w   Y  |j
d	d� |j
d
d� d}tjt	|d�� |j
dd� W d   ƒ n1 s]w   Y  tjt	|d�� |j
d	d� W d   ƒ n1 szw   Y  tjt	|d�� |j
dd� W d   ƒ n1 s—w   Y  |j
dd� |j
dd� d}tjt	|d�� |j
dd� W d   ƒ n1 sÂw   Y  tjt	|d�� |j
d	d� W d   ƒ n1 sßw   Y  |j
d
d� d}tjt	|d�� |j
dd� W d   ƒ n	1 �sw   Y  tjt	|d�� |j
d	d� W d   ƒ n	1 �s#w   Y  |j
d
d� |j
dd� tjt	|d�� |j
dd� W d   ƒ d S 1 �sNw   Y  d S )Nr   rŒ   r{   rœ   r%   r!   gš™™™™™¹¿r   rR   rZ   r'   r   gÍÌÌÌÌÌì?rJ   gš™™™™™ñ?r(   r   r)   r   )r   r�   rž   rŸ   r4   r   r   r+   r,   r-   r   )r    r¡   r“   r0   r   r   r   Útest_ewm_domain_checks²  sT   
ÿÿÿÿÿÿÿÿ$ÿr¦   Úmethod)r   rv   rw   c                 C   s4   t g tjd�}| d¡}t|| ƒƒ }t ||¡ d S )Nrt   rQ   )r   r   Úfloat64r   re   rK   Úassert_almost_equal)r§   r�   r   rN   r   r   r   Útest_ew_empty_seriesÛ  s   
rª   r   Úname)r   rw   rv   c                 C   s¨  t j d¡ d¡}t j|d d…< t j|dd …< t|ƒ}t|jddd�|ƒƒ }|d d…  ¡  	¡ s2J ‚|dd …  ¡  
¡ r>J ‚t|jd| d�|ƒƒ }|dkrf|d d…  ¡  	¡ sYJ ‚|dd …  ¡  
¡ reJ ‚n|d d…  ¡  	¡ srJ ‚|dd …  ¡  
¡ r~J ‚tttd�jd| d�|ƒƒ }t |td	d�¡ ttd
gƒjd| d�|ƒƒ }|dkr±t |td
gƒ¡ n
t |tt jgƒ¡ ttt  d¡ƒjdd�|ƒƒ }|jt jksÒJ ‚d S )Nr   é2   r?   éöÿÿÿ©r   rF   rz   r   rt   r¨   rJ   )rF   r   )r   r�   rž   rŸ   r   r   re   r   ÚisnaÚallÚanyÚobjectrK   r^   r4   ru   r¨   )rF   r«   r    r“   rN   Úresult2r   r   r   Útest_ew_min_periodsä  s*   r´   ÚcovÚcorrc                 C   s®   t tj d¡ d¡tdƒd�}|dd … tj d¡ d¡ }tj|d d…< tj|jdd …< t|j	ddd	�| ƒ|ƒ}t 
|jd d
… ¡ ¡ sGJ ‚t 
|jd
d … ¡ ¡ rUJ ‚d S )Nr   r¬   ©Úindexé0   r?   r­   r{   r   r®   é   )r   r   r�   rž   rŸ   r*   r   Úilocre   r   ÚisnanÚvaluesr°   r±   )r«   rH   r   rN   r   r   r   Útest_ewm_corr_cov  s    r¾   c                 C   s  t tj d¡ d¡tdƒd�}|dd … tj d¡ d¡ }tj|d d…< tj|jdd …< t|j	d|d�| ƒ|ƒ}t 
|jd d	… ¡ ¡ sGJ ‚t 
|jd	d … ¡ ¡ rUJ ‚t g tjd
�}t|j	d|d�| ƒ|ƒ}t ||¡ tt dgƒj	d|d�| ƒt dgƒƒ}t |t tjgƒ¡ d S )Nr   r¬   r·   r¹   r?   r­   r{   r®   rz   rt   rJ   )r   r   r�   rž   rŸ   r*   r   r»   re   r   r¼   r½   r°   r±   r¨   rK   r^   )r«   rF   rH   r   rN   Úemptyr   r   r   Útest_ewm_corr_cov_min_periods  s   ÿrÀ   c                 C   sŠ   t tj d¡ d¡tdƒd�}tj|d d…< d}tjt	|d�� t
|jddd	�| ƒtj d¡ d¡ƒ W d   ƒ d S 1 s>w   Y  d S )
Nr   r¬   r·   r?   z#other must be a DataFrame or Seriesr!   r{   r   r®   )r   r   r�   rž   rŸ   r*   r   r+   r,   r-   re   r   )r«   rH   r0   r   r   r   Ú*test_different_input_array_raise_exception8  s   ÿ"ÿrÁ   )rw   rv   r   c                 C   ó&   t | jdd�|ƒƒ }t|tƒsJ ‚d S ©Nr?   r   )re   r   Ú
isinstancer   )Úseriesr«   Úseries_resultr   r   r   Útest_ewma_seriesE  ó   rÇ   c                 C   rÂ   rÃ   )re   r   rÄ   r   )Úframer«   Úframe_resultr   r   r   Útest_ewma_frameK  rÈ   rË   c                 C   s°   | j dd� ¡ }| j dd� ¡ }t ||¡ d}tjt|d�� | j ddd� W d   ƒ n1 s1w   Y  d}tjt|d�� |   ¡  ¡  W d   ƒ d S 1 sQw   Y  d S )	Nç      #@r   r{   r   r    r!   r   ú1Must pass one of comass, span, halflife, or alpha©r   r   rK   r©   r+   r,   r-   ©rÅ   rH   r   r0   r   r   r   Útest_ewma_span_com_argsQ  s   ÿ"ÿrÐ   c                 C   s&  | j dd� ¡ }| j dd� ¡ }t ||¡ d}tjt|d�� | j ddd	� W d   ƒ n1 s1w   Y  tjt|d�� | j d
dd� W d   ƒ n1 sOw   Y  tjt|d�� | j d
ddd� W d   ƒ n1 snw   Y  d}tjt|d�� |   ¡  W d   ƒ d S 1 sŒw   Y  d S )Ng ‘ñHŽÝ+@r   rG   r   r    r!   r{   r¬   r$   rÌ   )r   r   )r   r   r   rÍ   rÎ   rÏ   r   r   r   Útest_ewma_halflife_arg^  s"   ÿÿÿ
"ÿrÑ   c                 C   sü   | }d}t jt|d�� | ¡  W d   ƒ n1 sw   Y  d}t jt|d�� |jddd� W d   ƒ n1 s:w   Y  t jt|d�� |jddd� W d   ƒ n1 sXw   Y  t jt|d�� |jddd� W d   ƒ d S 1 sww   Y  d S )	NrÍ   r!   r    rG   r
   r#   )r   r   r   )r+   r,   r-   r   )rÅ   r“   r0   r   r   r   Útest_ewm_alpha_argn  s   
ÿÿÿ"ÿrÒ   r   c                 C   sn   t |jddd�| ƒƒ }|jtd ƒdfdf }|j d¡|_t |d jddd�| ƒ|d ƒ}tj||dd� d S )Nr?   r   ©r   rF   r   F)Úcheck_names)re   r   ÚlocÚslicer¸   Ú	droplevelrK   r^   )r   rÉ   rN   rO   r   r   r   Útest_ewm_pairwise_cov_corr~  s
    rØ   c           	      C   s¬   | }t dgdddœƒ}|d  t¡|d< |jddd�}t||d ƒ}|d urT||d�}|r0dd	gng d¢}||  |g¡jd
d� t¡}t|j	ƒ|ksLJ ‚t
 ||¡ d S d S )Nr   r   rQ   ©r¢   r£   r/   r/   rÓ   ©Únumeric_onlyr¢   r£   T©Údrop)r   r9   r²   r   re   ÚaggÚreset_indexÚfloatÚlistÚcolumnsrK   rL   )	Úarithmetic_win_operatorsrÛ   Úkernelr   r   ÚoprN   râ   rO   r   r   r   Útest_numeric_only_frame‡  s   
ùræ   rä   Úuse_argc                 C   sÀ   t g d¢dddœƒ}|d  t¡|d< |r|fnd}|jddd�}t|| ƒ}||d	|iŽ}|r3d
dgng d¢}||  t¡}	|rC|	fnd}
|	jddd�}t|| ƒ}||
d	|iŽ}t ||¡ d S )N©r   r   rQ   r   rQ   rÙ   r/   r   r   rÓ   rÛ   r¢   r£   )r   r9   r²   r   re   rà   rK   rL   )rä   rÛ   rç   r   r`   r   rå   rN   râ   Údf2Úarg2Úewm2Úop2rO   r   r   r   Ú test_numeric_only_corr_cov_frame˜  s   

rí   ru   c           
      C   sÈ   | }t dg|d�}|jddd�}t||d ƒ}|d u rt d¡ |rJ|tu rJd|› d�}tjt|d�� ||d	� W d   ƒ d S 1 sCw   Y  d S ||d	�}| |g¡j	d
d� 
t¡}	t ||	¡ d S )Nr   rt   r   rÓ   zNo op to testúExponentialMovingWindow.ú  does not implement numeric_onlyr!   rÚ   TrÜ   )r   r   re   r+   Úskipr²   r,   rp   rÞ   rß   r9   rà   rK   r^   )
rã   rÛ   ru   rä   r[   r   rå   r0   rN   rO   r   r   r   Útest_numeric_only_series®  s   
"ÿ
rñ   c                 C   sì   t g d¢|d�}|r|fnd}|jddd�}t|| ƒ}|rH|tu rHd| › d�}tjt|d	�� ||d
|iŽ W d   ƒ d S 1 sAw   Y  d S ||d
|iŽ}	| t¡}
|rY|
fnd}|
jddd�}t|| ƒ}||d
|iŽ}t	 
|	|¡ d S )Nrè   rt   r   r   r   rÓ   rî   rï   r!   rÛ   )r   r   re   r²   r+   r,   rp   r9   rà   rK   r^   )rä   rç   rÛ   ru   r[   r`   r   rå   r0   rN   Úser2rê   rë   rì   rO   r   r   r   Ú!test_numeric_only_corr_cov_seriesÂ  s    
"ÿ

ró   ):Únumpyr   r+   Úpandasr   r   r   r   Úpandas._testingÚ_testingrK   r   r1   r6   r:   r<   r>   ÚmarkÚparametrizer4   r9   rS   rP   rX   r\   r_   ro   rq   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í   Úintr²   rñ   ró   r   r   r   r   Ú<module>   s¨   +ýþ



ýúþ
ýÿþ
ýÿþêþ
$	þ
	

ü
ü
ü
ü
ü
ü
ü
üüüúüúüüüüüüüüü‡þ 
	)
)





