§
    qŠtj¸/  ã            
       óâ  — d dl Zd dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZmZmZ d dlmZ d d„Zd	„ Zd
„ Zej        j        ed„ ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             de
e	g¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         Z ej                             de
e	f¦  «        ej                             dd¦  «        ej                             dej!        ej!        fej"        ej"        fej#        ej"        fej$        ej"        ff¦  «        d„ ¦   «         ¦   «         ¦   «         Z%ej                             de
e	f¦  «        ej                             dd¦  «        d„ ¦   «         ¦   «         Z&ej                             de
e	g¦  «        d„ ¦   «         Z'd„ Z(d„ Z)d„ Z*ej                             de
e	g¦  «        d„ ¦   «         Z+dS )!é    N)Úassert_array_equal)Úmake_low_rank_matrix)ÚPCAÚMiniBatchSparsePCAÚ	SparsePCA)Úcheck_random_state)Úassert_allcloseÚassert_array_almost_equalÚ!if_safe_multiprocessing_with_blas)Úsvd_flipc                 ó¢  — |d         |d         z  }t          |¦  «        }|                     || ¦  «        }|                     | |¦  «        }g d¢}g d¢}	t          | ¦  «        D ] }
t          j        |¦  «        }||
         d         |	|
         z
  ||
         d         |	|
         z   }}||
         d         |	|
         z
  ||
         d         |	|
         z   }}d|||…         d d …||…f<   |                     ¦   «         ||
d d …f<   Œ¡t          j        ||¦  «        }|d|                     |j        d         |j        d         ¦  «        z  z  }|||fS )Nr   é   ))é   r   )é   é   )é   r   )r   é   r   g      ð?gš™™™™™¹?)r   ÚrandnÚrangeÚnpÚzerosÚravelÚdotÚshape)Ún_componentsÚ	n_samplesÚ
image_sizeÚrandom_stateÚ
n_featuresÚrngÚUÚVÚcentersÚszÚkÚimgÚxminÚxmaxÚyminÚymaxÚYs                    úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/decomposition/tests/test_sparse_pca.pyÚgenerate_toy_datar-      sU  € Ø˜A” ¨A¤Ñ.€Jå
˜\Ñ
*Ô
*€CØ�	Š	�)˜\Ñ*Ô*€AØ�	Š	�, 
Ñ+Ô+€Aà&Ð&Ð&€GØ	ˆˆ€BÝ�<Ñ Ô ð ð ˆÝŒh�zÑ"Ô"ˆØ˜Q”Z ”] R¨¤UÑ*¨G°A¬J°q¬M¸B¸q¼EÑ,AˆdˆØ˜Q”Z ”] R¨¤UÑ*¨G°A¬J°q¬M¸B¸q¼EÑ,AˆdˆØ'*ˆˆD�ˆIŒ�q�q�q˜$˜t˜)�|Ñ$Ø—)’)‘+”+ˆˆ!ˆQˆQˆQˆ$‰ˆõ 	Œˆq�!‰Œ€AØˆˆs�yŠy˜œ œ Q¤W¨Q¤ZÑ0Ô0Ñ	0Ñ0€AØˆa�ˆ7€Nó    c                  ó„  — t           j                             d¦  «        } |                      dd¦  «        }t	          d| ¬¦  «        }|                     |¦  «        }|j        j        dk    sJ ‚|j        dk    sJ ‚t	          d| ¬¦  «        }|                     |¦  «        }|j        j        d	k    sJ ‚|j        d
k    sJ ‚d S )Nr   é   é
   r   ©r   r   ©r   r1   ©r0   r   é   ©r5   r1   ©r0   r5   )r   ÚrandomÚRandomStater   r   Úfit_transformÚcomponents_r   )r    ÚXÚspcar!   s       r,   Útest_correct_shapesr>   .   sÎ   € Ý
Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�"�bÑÔ€AÝ !°#Ð6Ñ6Ô6€DØ×Ò˜1ÑÔ€AØÔÔ! WÒ,Ð,Ð,Ð,ØŒ7�gÒÐÐÐå "°3Ð7Ñ7Ô7€DØ×Ò˜1ÑÔ€AØÔÔ! XÒ-Ð-Ð-Ð-ØŒ7�hÒÐÐÐÐÐr.   c                 óP  — d}t           j                             | ¦  «        }t          ddd|¬¦  «        \  }}}t	          dd|| ¬¦  «        }|                     |¦  «         t	          dd| |¬	¦  «        }|                     |¦  «         t          |j        |j        d
d¬¦  «         d S )Nr   r   r1   ©r   r   ©r   Úlars©r   ÚmethodÚalphar   Úcd)r   rD   r   rE   gü©ñÒMb@?g-Cëâ6*?©ÚrtolÚatol)r   r8   r9   r-   r   Úfitr	   r;   )Úglobal_random_seedrE   r    r+   Ú_Ú	spca_larsÚ
spca_lassos          r,   Útest_fit_transformrO   <   sÃ   € Ø€EÝ
Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ  2 v¸CÐ@Ñ@Ô@�G€A€qˆ!ÝØ˜v¨UÐASðñ ô €Ið ‡M‚M�!ÑÔÐõ Ø˜tÐ2DÈEðñ ô €Jð ‡N‚N�1ÑÔÐÝ�JÔ*¨IÔ,AÈÐSWÐXÑXÔXÐXÐXÐXr.   c                 óÆ  — d}t           j                             | ¦  «        }t          ddd|¬¦  «        \  }}}t	          dd|| ¬¦  «        }|                     |¦  «         |                     |¦  «        }t	          ddd|| ¬	¦  «                             |¦  «        }|                     |¦  «        }t          j        |j        d
k    ¦  «        rJ ‚t          ||¦  «         d S )Nr   r   r1   r@   rA   rB   rC   r   )r   Ún_jobsrD   rE   r   r   )
r   r8   r9   r-   r   rJ   Ú	transformÚallr;   r
   )	rK   rE   r    r+   rL   rM   ÚU1r=   ÚU2s	            r,   Útest_fit_transform_parallelrV   O   sú   € ð €EÝ
Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ  2 v¸CÐ@Ñ@Ô@�G€A€qˆ!ÝØ˜v¨UÐASðñ ô €Ið ‡M‚M�!ÑÔÐØ	×	Ò	˜QÑ	Ô	€BåØØØØØ'ðñ ô ÷ 
‚cˆ!�f„fð 	ð 
�Š˜Ñ	Ô	€BÝŒv�iÔ+¨qÒ0Ñ1Ô1Ð1Ð1Ð1Ý˜b "Ñ%Ô%Ð%Ð%Ð%r.   c                 ó  — t           j                             | ¦  «        }t          ddd|¬¦  «        \  }}}d|d d …df<   t	          d| ¬¦  «        }t          j        t          j        |                     |¦  «        ¦  «        ¦  «        rJ ‚d S )Nr   r1   r@   rA   r   r   r2   )r   r8   r9   r-   r   ÚanyÚisnanr:   )rK   r    r+   rL   Ú	estimators        r,   Útest_transform_nanr[   g   sŽ   € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ  2 v¸CÐ@Ñ@Ô@�G€A€qˆ!Ø€A€a€a€aˆ€d�GÝ qÐ7IÐJÑJÔJ€IÝŒv•b”h˜y×6Ò6°qÑ9Ô9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;Ð;Ð;r.   c                 óZ  — t           j                             | ¦  «        }t          ddd|¬¦  «        \  }}}t	          dd|¬¦  «        }|                     |¦  «        }t	          dd|¬¦  «        }|                     |¦  «                             |¦  «        }t          ||dd	¬
¦  «         d S )Nr   éA   r@   rA   rB   ©r   rD   r   rF   ç-Cëâ6?gñhãˆµøô>rG   )	r   r8   r9   r-   r   r:   rJ   rR   r	   )rK   r    r+   rL   rM   rT   rN   rU   s           r,   Útest_fit_transform_tallr`   q   s«   € Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ  2 v¸CÐ@Ñ@Ô@�G€A€qˆ!Ý q°ÀcÐJÑJÔJ€IØ	×	 Ò	  Ñ	#Ô	#€BÝ¨°$ÀSÐIÑIÔI€JØ	�Š˜Ñ	Ô	×	$Ò	$ QÑ	'Ô	'€BÝ�B˜ ¨DÐ1Ñ1Ô1Ð1Ð1Ð1r.   c                 óÌ  — t           j                             | ¦  «        }|                     dd¦  «        }|                     dd¦  «        }t	          d||d|¬¦  «        }|                     |                     dd¦  «        ¦  «         |t           j                             |dd¬¦  «        z  }t          |j	        d ¬	¦  «        d         j	        }t          |j        |¦  «         d S )
Né   r   é   r   )r   ÚU_initÚV_initÚmax_iterr   r   T)ÚaxisÚkeepdims)ÚuÚv)r   r8   r9   r   r   rJ   ÚlinalgÚnormr   ÚTr	   r;   )rK   r    rd   re   ÚmodelÚexpected_componentss         r,   Útest_initializationrp   {   sÑ   € Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�YŠY�q˜!‰_Œ_€FØ�YŠY�q˜!‰_Œ_€FÝØ˜v¨f¸qÈsðñ ô €Eð 
‡I‚Iˆc�iŠi˜˜1‰oŒoÑÔÐà ¥2¤9§>¢>°&¸qÈ4 >Ñ#PÔ#PÑPÐÝ"Ð%8Ô%:¸dÐCÑCÔCÀAÔFÔHÐÝ�EÔ%Ð':Ñ;Ô;Ð;Ð;Ð;r.   c                  óˆ  — t           j                             d¦  «        } |                      dd¦  «        }t	          dd| ¬¦  «        }|                     |¦  «        }|j        j        dk    sJ ‚|j        dk    sJ ‚t	          d	d| ¬¦  «        }|                     |¦  «        }|j        j        d
k    sJ ‚|j        dk    sJ ‚d S )Nr   r0   r1   r   r   )r   rf   r   r3   r4   r5   r6   r7   )r   r8   r9   r   r   r:   r;   r   )r    r<   Úpcar!   s       r,   Útest_mini_batch_correct_shapesrs   ‰   sÐ   € Ý
Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�"�bÑÔ€AÝ
¨!°aÀcÐ
JÑ
JÔ
J€CØ×Ò˜!ÑÔ€AØŒ?Ô  GÒ+Ð+Ð+Ð+ØŒ7�gÒÐÐÐå
¨"°qÀsÐ
KÑ
KÔ
K€CØ×Ò˜!ÑÔ€AØŒ?Ô  HÒ,Ð,Ð,Ð,ØŒ7�hÒÐÐÐÐÐr.   c                 ó8  — d}t           j                             | ¦  «        }t          ddd|¬¦  «        \  }}}t	          dd||¬¦  «        }|                     |¦  «        }|                     |d d…         ¦  «        }t          |d	         |d	         ¦  «         d S )
Nr   r   éè  r@   rA   rB   rC   r1   r   )r   r8   r9   r-   r   r:   rR   r	   )rK   rE   r    r+   rL   rM   Úresults_trainÚresults_tests           r,   Útest_scaling_fit_transformrx   —   s�   € Ø€EÝ
Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ  4¨¸cÐBÑBÔB�G€A€qˆ!Ý q°¸uÐSVÐWÑWÔW€IØ×+Ò+¨AÑ.Ô.€MØ×&Ò& q¨¨"¨¤vÑ.Ô.€LÝ�M !Ô$ l°1¤oÑ6Ô6Ð6Ð6Ð6r.   c                 óè  — t           j                             | ¦  «        }t          ddd|¬¦  «        \  }}}t          ddd|¬¦  «        \  }}}t	          ddd|¬¦  «        }t          d|¬	¦  «        }|                     |¦  «         |                     |¦  «         |                     |¦  «        }|                     |¦  «        }t          t          j	        |j
                             |j
        j        ¦  «        ¦  «        t          j        d¦  «        d
¬¦  «         |t          j        |dd d …f         ¦  «        z  }|t          j        |dd d …f         ¦  «        z  }t          ||d
¬¦  «         d S )Nr   ru   r@   rA   r1   r   r   )rE   Úridge_alphar   r   r2   r_   )rI   )r   r8   r9   r-   r   r   rJ   rR   r	   Úabsr;   r   rm   ÚeyeÚsign)	rK   r    r+   rL   ÚZr=   rr   Úresults_test_pcaÚresults_test_spcas	            r,   Útest_pca_vs_spcar�   ¡   se  € Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ  4¨¸cÐBÑBÔB�G€A€qˆ!Ý  2 v¸CÐ@Ñ@Ô@�G€A€qˆ!Ý˜1¨!¸!È#ÐNÑNÔN€DÝ
˜1¨3Ð
/Ñ
/Ô
/€CØ‡G‚GˆA�J„J€JØ‡H‚HˆQ�K„K€KØ—}’} QÑ'Ô'ÐØŸš qÑ)Ô)ÐÝÝ
ŒˆtÔ×#Ò# C¤OÔ$5Ñ6Ô6Ñ7Ô7½¼À¹¼Èðñ ô ð ð �œÐ 0°°A°A°A°Ô 6Ñ7Ô7Ñ7ÐØ�œÐ!2°1°a°a°a°4Ô!8Ñ9Ô9Ñ9ÐÝÐ$Ð&7¸dÐCÑCÔCÐCÐCÐCr.   ÚSPCAr   r   c                 óô   — t           j                             d¦  «        }d\  }}|                     ||¦  «        } | |¬¦  «                             |¦  «        }|�|j        |k    sJ ‚d S |j        |k    sJ ‚d S )Nr   ©r0   r1   ©r   )r   r8   r9   r   rJ   Ún_components_)r‚   r   r    r   r   r<   rn   s          r,   Útest_spca_n_components_r‡   ³   s�   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ"Ñ€IˆzØ�	Š	�)˜ZÑ(Ô(€AàˆD˜lÐ+Ñ+Ô+×/Ò/°Ñ2Ô2€EàÐØÔ" lÒ2Ð2Ð2Ð2Ð2Ð2àÔ" jÒ0Ð0Ð0Ð0Ð0Ð0r.   rD   )rB   rF   zdata_type, expected_typec                 ó$  — d\  }}}t           j                             d¦  «        }|                     ||¦  «                             |¦  «        } | ||¬¦  «        }	|	                     |¦  «        }
|
j        |k    sJ ‚|	j        j        |k    sJ ‚d S )N)r0   r1   r   r   )r   rD   )r   r8   r9   r   Úastyper:   Údtyper;   )r‚   rD   Ú	data_typeÚexpected_typer   r   r   r    Úinput_arrayrn   Útransformeds              r,   Útest_sparse_pca_dtype_matchr�   Â   sž   € ð +4Ñ'€Iˆz˜<Ý
Œ)×
Ò
 Ñ
"Ô
"€CØ—)’)˜I zÑ2Ô2×9Ò9¸)ÑDÔD€KØˆD˜l°6Ð:Ñ:Ô:€EØ×%Ò% kÑ2Ô2€KàÔ Ò-Ð-Ð-Ð-ØÔÔ" mÒ3Ð3Ð3Ð3Ð3Ð3r.   c                 óŒ  — d\  }}}t          ||||¬¦  «        } | |||¬¦  «        }|                     |                     t          j        ¦  «        ¦  «        } | |||¬¦  «        }	|	                     |                     t          j        ¦  «        ¦  «        }
t          |
|¦  «         t          |	j        |j        ¦  «         d S )N)é   r‘   rb   )r   r   Úeffective_rankr   r^   )r   r:   r‰   r   Úfloat32Úfloat64r	   r;   )r‚   rD   rK   r   r   r   r�   Úmodel_32Útransformed_32Úmodel_64Útransformed_64s              r,   Ú%test_sparse_pca_numerical_consistencyr™   Ù   sæ   € ð +4Ñ'€Iˆz˜<Ý&ØØØ#Ø'ð	ñ ô €Kð ˆtØ!ØØ'ðñ ô €Hð
 ×+Ò+¨K×,>Ò,>½r¼zÑ,JÔ,JÑKÔK€NàˆtØ!ØØ'ðñ ô €Hð
 ×+Ò+¨K×,>Ò,>½r¼zÑ,JÔ,JÑKÔK€NÝ�N NÑ3Ô3Ð3Ý�HÔ(¨(Ô*>Ñ?Ô?Ð?Ð?Ð?r.   c                 óf  ‡— t           j                             d¦  «        }d\  }}|                     ||¦  «        } | d¬¦  «                             |¦  «        }|                     ¦   «         }| j                             ¦   «         Št          ˆfd„t          d¦  «        D ¦   «         |¦  «         dS )z'Check feature names out for *SparsePCA.r   r„   rc   r…   c                 ó   •— g | ]}‰› |› �‘Œ	S © rœ   )Ú.0ÚiÚestimator_names     €r,   ú
<listcomp>z/test_spca_feature_names_out.<locals>.<listcomp>  s$   ø€ ÐAÐAÐA°1˜>Ð.¨1Ð.Ð.ÐAÐAÐAr.   N)
r   r8   r9   r   rJ   Úget_feature_names_outÚ__name__Úlowerr   r   )r‚   r    r   r   r<   rn   ÚnamesrŸ   s          @r,   Útest_spca_feature_names_outr¥   ö   s¬   ø€ õ Œ)×
Ò
 Ñ
"Ô
"€CØ"Ñ€IˆzØ�	Š	�)˜ZÑ(Ô(€AàˆD˜aÐ Ñ Ô ×$Ò$ QÑ'Ô'€EØ×'Ò'Ñ)Ô)€Eà”]×(Ò(Ñ*Ô*€NÝÐAÐAÐAÐA½¸a¹¼ÐAÑAÔAÀ5ÑIÔIÐIÐIÐIr.   c                 óî  — t           j                             | ¦  «        }d\  }}|                     ||¦  «        }t	          dd| ¬¦  «                             |¦  «        }t	          dd| ¬¦  «                             |¦  «        }|j        |j        k     sJ ‚t	          ddd| ¬¦  «                             |¦  «        }t	          ddd| ¬¦  «                             |¦  «        }|j        |j        k     sJ ‚d	S )
z@Check that `tol` and `max_no_improvement` act as early stopping.)é2   r1   éd   g      à?)rf   Útolr   gü©ñÒMbP?g�íµ ÷Æ°>r   )rf   r©   Úmax_no_improvementr   N)r   r8   r9   r   r   rJ   Ún_iter_)rK   r    r   r   r<   Úmodel_early_stoppedÚmodel_not_early_stoppeds          r,   Útest_spca_early_stoppingr®     s#  € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ"Ñ€IˆzØ�	Š	�)˜ZÑ(Ô(€Aõ -Ø˜#Ð,>ðñ ô ç	‚cˆ!�f„fð õ 1Ø˜$Ð-?ðñ ô ç	‚cˆ!�f„fð ð Ô&Ð)@Ô)HÒHÐHÐHÐHõ -Ø˜$°1ÐCUðñ ô ç	‚cˆ!�f„fð õ 1Ø˜$°3ÐEWðñ ô ç	‚cˆ!�f„fð ð Ô&Ð)@Ô)HÒHÐHÐHÐHÐHÐHr.   c                 ó@  — t           j                             | ¦  «        }|                     dd¦  «        }d}t	          |dd¬¦  «                             |¦  «        }t          |dddd¬¦  «                             |¦  «        }t          |j        |j        ¦  «         d	S )
z¤Check the equivalence of the components found by PCA and SparsePCA.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/23932
    r§   rc   r   Ú
randomizedr   )r   Ú
svd_solverr   rB   )r   rD   rz   rE   r   N)	r   r8   r9   r   r   rJ   r   r	   r;   )rK   r    r<   r   rr   r=   s         r,   Ú$test_equivalence_components_pca_spcar²     s±   € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�	Š	�"�aÑÔ€Aà€LÝ
Ø!ØØðñ ô ÷ 
‚cˆ!�f„fð	 õ
 Ø!ØØØØðñ ô ÷ 
‚cˆ!�f„fð 	õ �C”O TÔ%5Ñ6Ô6Ð6Ð6Ð6r.   c                 ó†  — t           j                             | ¦  «        }d\  }}|                     ||¦  «        }d}t	          |dd| ¬¦  «        }t          || ¬¦  «        }|                     |¦  «        }|                     |¦  «        }	t          |                     |¦  «        |                     |	¦  «        ¦  «         dS )zDCheck that `inverse_transform` in `SparsePCA` and `PCA` are similar.©r1   rb   r   çê-�™—q=©r   rE   rz   r   r2   N)	r   r8   r9   r   r   r   r:   r	   Úinverse_transform)
rK   r    r   r   r<   r   r=   rr   ÚX_trans_spcaÚX_trans_pcas
             r,   Ú!test_sparse_pca_inverse_transformrº   8  sÒ   € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ!Ñ€IˆzØ�	Š	�)˜ZÑ(Ô(€Aà€LÝØ!ØØØ'ð	ñ ô €Dõ ˜<Ð6HÐ
IÑ
IÔ
I€CØ×%Ò% aÑ(Ô(€LØ×#Ò# AÑ&Ô&€KÝØ×Ò˜|Ñ,Ô,¨c×.CÒ.CÀKÑ.PÔ.Pñô ð ð ð r.   c                 ó  — t           j                             |¦  «        }d\  }}|                     ||¦  «        }|} | |dd|¬¦  «        }|                     |¦  «        }t          |                     |¦  «        |¦  «         dS )z^Check the `transform` and `inverse_transform` round trip with no loss of
    information.
    r´   rµ   r¶   N)r   r8   r9   r   r:   r	   r·   )	r‚   rK   r    r   r   r<   r   r=   r¸   s	            r,   Ú+test_transform_inverse_transform_round_tripr¼   M  s—   € õ
 Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ!Ñ€IˆzØ�	Š	�)˜ZÑ(Ô(€Aà€LØˆ4Ø!ØØØ'ð	ñ ô €Dð ×%Ò% aÑ(Ô(€LÝ�D×*Ò*¨<Ñ8Ô8¸!Ñ<Ô<Ð<Ð<Ð<r.   )N),Únumpyr   ÚpytestÚnumpy.testingr   Úsklearn.datasetsr   Úsklearn.decompositionr   r   r   Úsklearn.utilsr   Úsklearn.utils._testingr	   r
   r   Úsklearn.utils.extmathr   r-   r>   rO   ÚmarkÚthread_unsaferV   r[   r`   rp   rs   rx   r�   Úparametrizer‡   r“   r”   Úint32Úint64r�   r™   r¥   r®   r²   rº   r¼   rœ   r.   r,   ú<module>rÊ      so  ðð
 Ð Ð Ð Ø €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð ð ð ð ð
 +Ð *Ð *Ð *Ð *Ð *ðð ð ð ð4ð ð ðYð Yð Yð& „ÔØ"ð&ð &ñ #Ô"ñ Ôð&ð,<ð <ð <ð2ð 2ð 2ð<ð <ð <ðð ð ð7ð 7ð 7ðDð Dð Dð$ „×Ò˜ )Ð-?Ð!@ÑAÔAØ„×Ò˜¨$°¨Ñ3Ô3ð
1ð 
1ñ 4Ô3ñ BÔAð
1ð „×Ò˜ )Ð-?Ð!@ÑAÔAØ„×Ò˜ >Ñ2Ô2Ø„×ÒØà	Œ�R”ZÐ Ø	Œ�R”ZÐ Ø	Œ�2”:ÐØ	Œ�2”:Ðð	ñô ð	4ð 	4ñô ñ 3Ô2ñ BÔAð	4ð „×Ò˜ )Ð-?Ð!@ÑAÔAØ„×Ò˜ >Ñ2Ô2ð@ð @ñ 3Ô2ñ BÔAð@ð6 „×Ò˜ )Ð-?Ð!@ÑAÔAð
Jð 
Jñ BÔAð
JðIð Ið Ið47ð 7ð 7ð4ð ð ð* „×Ò˜ )Ð-?Ð!@ÑAÔAð=ð =ñ BÔAð=ð =ð =r.   