§
    ¨éUg¡,  ã            	       óŠ  — d dl Zd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZmZ d d	lmZmZmZmZmZ ej        d
„ ¦   «         Zej        d„ ¦   «         Zej                              eej        ¦  «         ed¦  «        k    d¬¦  «        ej                             dddg¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dd¦  «        ej                             e ed¦  «        k    d¬¦  «        d„ ¦   «         ¦   «         Z ej                             dg d¢g d¢g d¢g d¢g d¢g¦  «        d„ ¦   «         Z!ej                             dd d!g¦  «        d"„ ¦   «         Z"ej                             d#g d$¢¦  «        d%„ ¦   «         Z#d&„ Z$ej                             e ed¦  «        k     d'¬¦  «        ej                             d(g d)¢¦  «        d*„ ¦   «         ¦   «         Z%ej                             d(g d)¢¦  «        d+„ ¦   «         Z&ej                              eej        ¦  «         ed¦  «        k    d¬¦  «        ej         '                    d,¦  «        d-„ ¦   «         ¦   «         Z(eej                             e ed¦  «        k    d¬¦  «        ej                             d.eez   ez   ¦  «        ej                             dg d/¢¦  «        ej                             dd d!g¦  «        d0„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z)d1„ Z*dS )2é    N)Úapprox)Úminimize©Úmake_regression)ÚConvergenceWarning)ÚHuberRegressorÚQuantileRegressor)Úmean_pinball_loss)Úassert_allcloseÚskip_if_32bit)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚparse_versionÚ
sp_versionc                  ó6   — t          dddd¬¦  «        \  } }| |fS )Né
   é   r   ©Ú	n_samplesÚ
n_featuresÚrandom_stateÚnoiser   )ÚXÚys     úg/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/linear_model/tests/test_quantile.pyÚX_y_datar      s%   € å R°AÀAÈQÐOÑOÔO�D€A€qØˆaˆ4€Kó    c                  ó:   — t           t          d¦  «        k    rdndS )Nú1.6.0Úhighsúinterior-point)r   r   © r   r   Údefault_solverr$      s   € å ¥M°'Ñ$:Ô$:Ò:Ð:ˆ7ˆ7Ð@PÐPr   z1.11z4interior-point solver is not available in SciPy 1.11)ÚreasonÚsolverr"   zrevised simplexÚcsc_containerc                 óâ   — | \  }} ||¦  «        }d|› d�}t          j        t          |¬¦  «        5  t          |¬¦  «                             ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzSolver z; does not support sparse X. Use solver 'highs' for example.©Úmatch©r&   ©ÚpytestÚraisesÚ
ValueErrorr	   Úfit)r   r&   r'   r   r   ÚX_sparseÚerr_msgs          r   Ú)test_incompatible_solver_for_sparse_inputr3   #   sË   € ð �D€A€qØˆ}˜QÑÔ€HàU�&ÐUÐUÐUð õ 
Œ•z¨Ð	1Ñ	1Ô	1ð :ð :Ý Ð(Ñ(Ô(×,Ò,¨X°qÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   ²%A$Á$A(Á+A()úhighs-dsú	highs-ipmr!   r    z'Solvers are available as of scipy 1.6.0c                 óÀ   — | \  }}t          j        t          d¬¦  «        5  t          |¬¦  «                             ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z.Test that highs solver raises for scipy<1.6.0.zscipy>=1.6.0r)   r+   Nr,   )r   r&   r   r   s       r   Ú'test_too_new_solver_methods_raise_errorr7   3   s§   € ð �D€A€qÝ	Œ•z¨Ð	8Ñ	8Ô	8ð 3ð 3Ý Ð(Ñ(Ô(×,Ò,¨Q°Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   ¡%AÁAÁAz quantile, alpha, intercept, coef)ç      à?r   r   N)gR¸…ëQà?r   r   r   )g\�Âõ(\ß?r   r   r   )r8   ç{®Gáz„?r   r   )r8   éd   é   r   c                 ó.  — dgdgdgg}g d¢}t          | ||¬¦  «                             ||¦  «        }t          |j        |d¬¦  «         |�t          |j        d         |d¬¦  «         |dk     r|j        d         dk    sJ ‚|j        d         dk    sJ ‚d S )	Nr   r   )r   r;   é   ©ÚquantileÚalphar&   r9   ©Úatolr:   r   )r	   r0   r   Ú
intercept_Úcoef_)r?   r@   Ú	interceptÚcoefr$   r   r   Úmodels           r   Útest_quantile_toy_examplerH   ?   sÁ   € ð" ˆˆqˆc�A�3ˆ€AØˆ
ˆ
€AÝØ ¨~ðñ ô ç	‚cˆ!ˆQ�i„ið 
õ �EÔ$ i°dÐ;Ñ;Ô;Ð;ØÐÝ˜œ Aœ¨°4Ð8Ñ8Ô8Ð8Øˆs‚{€{ØŒ{˜1Œ~ Ò"Ð"Ð"Ð"ØŒ;�qŒ>˜RÒÐÐÐÐÐr   Úfit_interceptTFc                 óÐ  — t          dddd¬¦  «        \  }}d}t          d|| ¬¦  «                             ||¦  «        }t          || |¬	¦  «                             ||¦  «        }t	          |j        |j        d
¬¦  «         | ra|j        t          |j        d
¬¦  «        k    sJ ‚t          j	        || 
                    |¦  «        k     ¦  «        t          dd
¬¦  «        k    sJ ‚d S d S )Nr:   é   r   ç      ð?r   ç-Cëâ6?gq¬‹Ûh ð?)Úepsilonr@   rI   ©r@   rI   r&   gš™™™™™¹?rA   ©Úabsr8   )r   r   r0   r	   r   rD   rC   r   ÚnpÚmeanÚpredict)rI   r$   r   r   r@   ÚhuberÚquants          r   Ú*test_quantile_equals_huber_for_low_epsilonrW   ]   s  € å S°RÀaÈsÐSÑSÔS�D€A€qØ€EÝØ °]ðñ ô ç	‚cˆ!ˆQ�i„ið 
õ Ø =¸ðñ ô ç	‚cˆ!ˆQ�i„ið 
õ �E”K ¤°4Ð8Ñ8Ô8Ð8Øð FØÔ¥6¨%Ô*:ÀÐ#EÑ#EÔ#EÒEÐEÐEÐEåŒw�q˜5Ÿ=š=¨Ñ+Ô+Ò+Ñ,Ô,µ°sÀÐ0EÑ0EÔ0EÒEÐEÐEÐEðFð Fð FÐEr   Úq)r8   gÍÌÌÌÌÌì?gš™™™™™©?c                 óþ   — t          dddd¬¦  «        \  }}t          | d|¬¦  «                             ||¦  «        }t          j        ||                     |¦  «        k     ¦  «        t          | d¬¦  «        k    sJ ‚d S )	Néè  rK   r   rL   r   r>   r9   rP   )r   r	   r0   rR   rS   rT   r   )rX   r$   r   r   rV   s        r   Ú#test_quantile_estimates_calibrationr[   n   s�   € õ  T°bÀqÐPSÐTÑTÔT�D€A€qÝØØØðñ ô ÷ 
‚cˆ!ˆQ�i„ið	 
õ
 Œ7�1�u—}’} QÑ'Ô'Ò'Ñ(Ô(­F°1¸$Ð,?Ñ,?Ô,?Ò?Ð?Ð?Ð?Ð?Ð?r   c                 óÖ  — d}t          |ddd¬¦  «        \  }}t          j        |¦  «        }d|||                     ¦   «         k    <   t	          dd| ¬	¦  «        }|                     |||¬
¦  «         t          j        ||                     |¦  «        k     ¦  «        }|dk    sJ ‚t          j        ||                     |¦  «        k     |¬¦  «        }|t          dd¬¦  «        k    sJ ‚d S )NrZ   é   r   g      $@r   r:   r8   g:Œ0âŽyE>r>   )Úsample_weight)Úweightsg¸…ëQ¸ž?rP   )	r   rR   ÚonesrS   r	   r0   rT   Úaverager   )r$   Únr   r   ÚweightrV   Úfraction_belowÚweighted_fraction_belows           r   Útest_quantile_sample_weightrf   z   sí   € à€AÝ Q°1À1ÈDÐQÑQÔQ�D€A€qÝŒW�Q‰ZŒZ€Fð €Fˆ1ˆq�vŠv‰xŒxŠ<ÑÝ s°$¸~ÐNÑNÔN€EØ	‡I‚Iˆa� &€IÑ)Ô)Ð)Ý”W˜Q §¢¨qÑ!1Ô!1Ò1Ñ2Ô2€NØ˜CÒÐÐÐÝ œj¨¨U¯]ª]¸1Ñ-=Ô-=Ò)=ÀvÐNÑNÔNÐØ"¥f¨S°dÐ&;Ñ&;Ô&;Ò;Ð;Ð;Ð;Ð;Ð;r   z<The `highs` solver is available from the 1.6.0 scipy versionr?   )çš™™™™™É?r8   gš™™™™™é?c                 ó8  ‡ ‡
‡‡— d}t           j                             d¦  «        }t          j        t          j        |                     |¦  «        dd…df         ¦  «        |                     d|df¬¦  «         fd¬¦  «        Š
d}t          j        d	d
g¦  «        }t          j        ‰
|z  |z   ¦  «        dk    sJ ‚| 	                    ‰
|z  |z    t          j
        d‰ z
  ¦  «        z  |¬¦  «        Št          ‰ d|¬¦  «                             ‰
‰¦  «        }|j        t          |d¬¦  «        k    sJ ‚t          |j        |d¬¦  «         t          t          j        |                     ‰
¦  «        ‰k    ¦  «        ‰ d¬¦  «         dŠ|                     ‰¬¦  «                             ‰
‰¦  «         t           j        |j        |j        f         }ˆ
ˆˆ ˆfd„}t+          |g d¢ddddi¬¦  «        }	 ||¦  «        t           ||	j        ¦  «        ¦  «        k    sJ ‚t          |j        |	j        d         ¦  «         t          |j        |	j        dd…         ¦  «         t          t          j        |                     ‰
¦  «        ‰k    ¦  «        ‰ d¬¦  «         dS )z<Test quantile regression for asymmetric distributed targets.rZ   é*   Nr;   r   )Úsize)Úaxisg®Gáz®ó?r8   éþÿÿÿr   ©Úscalerj   r>   rg   ©Úrelg333333ã?©Úrtolr9   rA   ©r@   c                 ó¼   •— t          ‰‰| dd …         z  | d         z   ‰¬¦  «        }t          j        t          j        | dd …         ¦  «        ¦  «        }|‰|z  z   S )Nr   r   rs   )r
   rR   ÚsumrQ   )rF   ÚlossÚL1r   r@   r?   r   s      €€€€r   Úfuncz#test_asymmetric_error.<locals>.func·   s\   ø€ Ý   A¨¨Q¨R¨R¬¡L°4¸´7Ñ$:À(ÐKÑKÔKˆÝŒV•B”F˜4   œ8Ñ$Ô$Ñ%Ô%ˆØ�e˜b‘jÑ Ð r   )r   r   éÿÿÿÿzNelder-Meadgê-�™—q=ÚmaxiteriÐ  )ÚfunÚx0ÚmethodÚtolÚoptions)rR   ÚrandomÚRandomStateÚconcatenaterQ   ÚrandnÚrandintÚarrayÚminÚexponentialÚlogr	   r0   rC   r   r   rD   rS   rT   Ú
set_paramsÚr_r   Úx)r?   r$   r   ÚrngrE   rF   rG   Ú
model_coefrx   Úresr   r@   r   s   `         @@@r   Útest_asymmetric_errorr�   Š   sÍ  øøøø€ ð €IÝ
Œ)×
Ò
 Ñ
#Ô
#€CÝ
ŒåŒF�3—9’9˜YÑ'Ô'¨¨¨¨4¨Ô0Ñ1Ô1Ø�[Š[˜ )¨Q ˆ[Ñ0Ô0Ð0ð	
ð ð	ñ 	ô 	€Að €IÝŒ8�S˜"�IÑÔ€DåŒ6�!�d‘(˜YÑ&Ñ'Ô'¨!Ò+Ð+Ð+Ð+ð
 	�ŠØ�D‘˜9Ñ$Ð%­¬¨q°8©|Ñ(<Ô(<Ñ<À9ð 	ñ 	ô 	€Aõ ØØØðñ ô ÷ 
‚cˆ!ˆQ�i„ið	 
ð Ô�v i°SÐ9Ñ9Ô9Ò9Ð9Ð9Ð9Ý�E”K ¨CÐ0Ñ0Ô0Ð0Ý•B”G˜EŸMšM¨!Ñ,Ô,¨qÒ0Ñ1Ô1°8À$ÐGÑGÔGÐGð €EØ	×Ò˜5ÐÑ!Ô!×%Ò% a¨Ñ+Ô+Ð+Ý”�uÔ'¨¬Ð4Ô5€Jð!ð !ð !ð !ð !ð !ð !ð !õ
 ØØˆ:ˆ:ØØØ˜DÐ!ðñ ô €Cð ˆ4�
ÑÔ�v d d¨3¬5¡k¤kÑ2Ô2Ò2Ð2Ð2Ð2Ý�EÔ$ c¤e¨A¤hÑ/Ô/Ð/Ý�E”K ¤ q r r¤Ñ+Ô+Ð+Ý•B”G˜EŸMšM¨!Ñ,Ô,¨qÒ0Ñ1Ô1°8À$ÐGÑGÔGÐGÐGÐGr   c                 ó0  — t           j                             d¦  «        }d\  }}t          |||d|d¬¦  «        \  }}||                     d|j        ¬¦  «        z  }t          d|¬¦  «        }t          dd	| i|¤Ž                     ||¦  «        }d
}	t          dd	| i|¤Ž                     ||	|z  ¦  «        }
|
j	        t          |	|j	        z  d¬¦  «        k    sJ ‚t          |
j        |	|j        z  d¬¦  «         t          dd	d| z
  i|¤Ž                     ||	 |z  ¦  «        }
|
j	        t          |	 |j	        z  d¬¦  «        k    sJ ‚t          |
j        |	 |j        z  d¬¦  «         |                     ¦   «         |                     |¦  «        }}t          dd	| i|¤Ž}
|
                     ||||z  z   |z   ¦  «         |
j	        t          |j	        |z   ¦  «        k    sJ ‚t          |
j        |j        |z   d¬¦  «         |                     ||¦  «        }t          dd	| i|¤Ž}
|
                     ||z  |¦  «         |
j	        t          |j	        d¬¦  «        k    sJ ‚t          |
j        t           j                             ||j        ¦  «        d¬¦  «         dS )ziTest equivariace of quantile regression.

    See Koenker (2005) Quantile Regression, Chapter 2.2.3.
    ri   )r:   r]   r   F)r   r   Ún_informativer   r   Úshuffler:   rm   )r@   r&   r?   g      @gñhãˆµøä>ro   rq   r   g�íµ ÷Æ°>Nr#   )rR   r€   r�   r   r‡   ÚshapeÚdictr	   r0   rC   r   r   rD   rƒ   ÚlinalgÚsolve)r?   r$   rŒ   r   r   r   r   ÚparamsÚmodel1ÚaÚmodel2Úg_interceptÚg_coefÚAs                 r   Útest_equivariancerž   Ê   sÐ  € õ Œ)×
Ò
 Ñ
#Ô
#€CØ"Ñ€IˆzÝØØØ ØØØðñ ô �D€A€qð ˆ�Š˜s¨¬ˆÑ	1Ô	1Ñ1€AÝ˜ .Ð1Ñ1Ô1€FÝÐ;Ð;¨Ð;°FÐ;Ð;×?Ò?ÀÀ1ÑEÔE€Fð 	€AÝÐ;Ð;¨Ð;°FÐ;Ð;×?Ò?ÀÀ1ÀqÁ5ÑIÔI€FØÔ¥ q¨6Ô+<Ñ'<À$Ð GÑ GÔ GÒGÐGÐGÐGÝ�F”L ! f¤lÑ"2¸Ð>Ñ>Ô>Ð>õ Ð?Ð?¨¨H©Ð?¸Ð?Ð?×CÒCÀAÈÀrÈAÁvÑNÔN€FØÔ¥¨ r¨FÔ,=Ñ'=À4Ð HÑ HÔ HÒHÐHÐHÐHÝ�F”L 1 " v¤|Ñ"3¸$Ð?Ñ?Ô?Ð?ð Ÿ)š)™+œ+ s§y¢y°Ñ'<Ô'<�€KÝÐ;Ð;¨Ð;°FÐ;Ð;€FØ
‡J‚Jˆq�!�a˜&‘j‘. ;Ñ.Ñ/Ô/Ð/ØÔ¥ vÔ'8¸;Ñ'FÑ GÔ GÒGÐGÐGÐGÝ�F”L &¤,°Ñ"7¸dÐCÑCÔCÐCð 	�	Š	�*˜jÑ)Ô)€AÝÐ;Ð;¨Ð;°FÐ;Ð;€FØ
‡J‚Jˆq�1‰u�aÑÔÐØÔ¥ vÔ'8¸dÐ CÑ CÔ CÒCÐCÐCÐCÝ�F”L¥"¤)§/¢/°!°V´\Ñ"BÔ"BÈÐNÑNÔNÐNÐNÐNr   z.ignore:`method='interior-point'` is deprecatedc                  óJ  — t          j        ddd¬¦  «                             dd¦  «        } t          j        ddd¬¦  «        }t          ddddi¬¦  «        }d	}t	          j        t          |¬
¦  «        5  |                     | |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zTest that linprog fails.r   r   )Únumry   r   r"   rz   )r@   r&   Úsolver_optionsz9Linear programming for QuantileRegressor did not succeed.r)   N)rR   ÚlinspaceÚreshaper	   r-   Úwarnsr   r0   )r   r   ÚregÚmsgs       r   Útest_linprog_failurer§   ù   só   € õ 	Œ�A�r˜rÐ"Ñ"Ô"×*Ò*¨2¨qÑ1Ô1€AÝ
Œ�A�r˜rÐ"Ñ"Ô"€AÝ
ØÐ(¸)ÀQ¸ðñ ô €Cð F€CÝ	ŒÕ(°Ð	4Ñ	4Ô	4ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á4BÂBÂBÚsparse_container)r!   r4   r5   c                 óÖ  — t          dddd¬¦  «        \  }} | |¦  «        }d}t          |||¬¦  «                             ||¦  «        }t          |||¬¦  «                             ||¦  «        }	t          |	j        |j        d¬	¦  «         |rY|	j        t          |j        ¦  «        k    sJ ‚d
t          j        ||	 	                    |¦  «        k     ¦  «        cxk    rdk    sn J ‚dS dS )z/Test that sparse and dense X give same results.r:   rK   r   rL   r   rM   rO   r9   rq   gÍÌÌÌÌÌÜ?g=
×£p=â?N)
r   r	   r0   r   rD   rC   r   rR   rS   rT   )
r¨   r&   rI   r$   r   r   r1   r@   Úquant_denseÚquant_sparses
             r   Útest_sparse_inputr¬     s)  € õ  S°RÀaÈsÐSÑSÔS�D€A€qØÐ Ñ"Ô"€HØ€EÝ#Ø =¸ðñ ô ç	‚cˆ!ˆQ�i„ið õ %Ø =¸ðñ ô ç	‚cˆ(�AÑÔð õ �LÔ&¨Ô(9ÀÐEÑEÔEÐEØð KØÔ&­&°Ô1GÑ*HÔ*HÒHÐHÐHÐHà•r”w˜q <×#7Ò#7¸Ñ#AÔ#AÒAÑBÔBÐJÐJÒJÐJÀdÒJÐJÐJÐJÐJÐJðKð Kð KÐJr   c                 ó€  — | \  }}ddl }|                     ¦   «         5 }|                     |j        j        dt          d¦  «        ¦  «         d}t          j        t          |¬¦  «        5  t          d¬¦  «         
                    ||¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )	zlCheck that we will raise a proper error when requesting
    `solver='interior-point'` in SciPy >= 1.11.
    r   Nr   z1.11.0zBSolver interior-point is not anymore available in SciPy >= 1.11.0.r)   r"   r+   )Úsklearn.linear_model._quantileÚcontextÚsetattrÚlinear_modelÚ	_quantiler   r-   r.   r/   r	   r0   )r   Úmonkeypatchr   r   ÚsklearnÚmr2   s          r   Ú test_error_interior_point_futurer¶   '  se  € ð �D€A€qØ)Ð)Ð)Ð)à	×	Ò	Ñ	Ô	ð A !Ø	�	Š	�'Ô&Ô0°,ÅÈhÑ@WÔ@WÑXÔXÐXØVˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Að 	AÝÐ%5Ð6Ñ6Ô6×:Ò:¸1¸aÑ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As6   žAB3Á*%BÂB3ÂB	ÂB3Â"B	Â#B3Â3B7Â:B7)+ÚnumpyrR   r-   r   Úscipy.optimizer   Úsklearn.datasetsr   Úsklearn.exceptionsr   Úsklearn.linear_modelr   r	   Úsklearn.metricsr
   Úsklearn.utils._testingr   r   Úsklearn.utils.fixesr   r   r   r   r   Úfixturer   r$   ÚmarkÚskipifÚbase_versionÚparametrizer3   r7   rH   rW   r[   rf   r�   rž   Úfilterwarningsr§   r¬   r¶   r#   r   r   ú<module>rÅ      s  ðð
 Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ -Ð -Ð -Ð -Ð -Ð -Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð ð ð ð ð „ðð ñ „ðð
 „ðQð Qñ „ðQð „×ÒØ€M�*Ô)Ñ*Ô*¨m¨m¸FÑ.CÔ.CÒCØAð ñ ô ð „×Ò˜Ð$4Ð6GÐ#HÑIÔIØ„×Ò˜¨.Ñ9Ô9ð:ð :ñ :Ô9ñ JÔIñ	ô ð:ð „×Ò˜Ð#EÑFÔFØ„×ÒØ�-�- Ñ(Ô(Ò(Ø4ð ñ ô ð3ð 3ñ	ô ñ GÔFð
3ð „×ÒØ&ð 	ÐÐàÐÐàˆˆàÐÐàÐÐðñô ð ð  ñô ð ð „×Ò˜¨4°¨-Ñ8Ô8ðFð Fñ 9Ô8ðFð  „×Ò˜Ð.Ð.Ð.Ñ/Ô/ð@ð @ñ 0Ô/ð@ð<ð <ð <ð  „×ÒØ��˜wÑ'Ô'Ò'ØIð ñ ô ð „×Ò˜ _ _ _Ñ5Ô5ð8Hð 8Hñ 6Ô5ñ	ô ð
8Hðv „×Ò˜ _ _ _Ñ5Ô5ð+Oð +Oñ 6Ô5ð+Oð\ „×ÒØ€M�*Ô)Ñ*Ô*¨m¨m¸FÑ.CÔ.CÒCØAð ñ ô ð „×ÒÐLÑMÔMð
ð 
ñ NÔMñ	ô ð

ð Ø„×ÒØ�-�- Ñ(Ô(Ò(Ø4ð ñ ô ð „×ÒØ˜¨Ñ7¸.ÑHñô ð „×Ò˜Ð#EÐ#EÐ#EÑFÔFØ„×Ò˜¨4°¨-Ñ8Ô8ðKð Kñ 9Ô8ñ GÔFñô ñ	ô ñ „ðKð$Að Að Að Að Ar   