§
    rŠtj¬\  ã                   ón  — d dl Z d dlmZ d dlZd dlZd dlmZ d dlm	Z	m
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mZmZmZmZm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%m&Z&m'Z'm(Z(m)Z)m*Z*  ej+        d dgdd gg¦  «        Z,d e,dd…d f<    e-eez   ez   e z   e!z   ¦  «        e.e/ej0        ej1        e2ej3        ffd„Z4g  e4ej5         6                    d¦  «         7                    dd¬¦  «        ee/f¬¦  «        ¢d dgdd gg‘d dgg‘ e4e,ee/f¬¦  «        ¢ e4d dgdd gg¦  «        ¢ e4d d gd d gg¦  «        ¢ e4d dgg¦  «        ¢ddgddgg‘ ej+        ddgddgg¦  «        ‘ ej+        ddgddgg¦  «        ‘ e ej+        ddgddgg¦  «        ¦  «        ‘g d¢ ej+        g d¢¦  «         ej+        g d¢ej0        ¬¦  «         ej+        g d¢ej1        ¬¦  «         ej+        g d¢e2¬¦  «         ej+        g d¢ej3        ¬¦  «         ej+        dgd gdgg¦  «         e ej+        g d¢¦  «        ¦  «        g d¢g d¢ ej+        g d¢¦  «         ej+        g d¢e8¬¦  «         ej+        g d¢e8¬¦  «        gg d¢g d¢gddgd d!gg ej+        g d¢g d¢g¦  «         ej+        g d¢g d¢gej0        ¬¦  «         ej+        g d¢g d¢gej1        ¬¦  «         ej+        g d¢g d¢ge2¬¦  «         ej+        g d¢g d¢gej3        ¬¦  «        g e4g d¢g d¢geez   e/ej0        ej1        e2ej3        f¬¦  «        ¢ ej+        ddgd d!gg¦  «        ‘ ej+        ddgd d!gg¦  «        ‘ ej+        ddgd d!gge8¬¦  «        ‘ ej+        g d¢g¦  «        ‘ e ej+        g d¢g¦  «        ¦  «        ‘d dgddgg d g ej+        g d"¢¦  «         ej+        g d"¢e.¬¦  «         ej+        g d"¢ej0        ¬¦  «         ej+        g d"¢ej1        ¬¦  «         ej+        g d"¢e2¬¦  «         ej+        g d"¢ej3        ¬¦  «         ej+        d gdgg¦  «         e ej+        d gdgg¦  «        ¦  «        ddgdd#gdgddgd$d%g ej+        d$d%g¦  «        ddg ej+        d$d%ge8¬¦  «        gd&gd d'g ej+        d gd'gg¦  «         ej+        d gd'ggej3        ¬¦  «        g ej+        d d'gd'd gg¦  «         ej+        d d'gd'd ggej3        ¬¦  «         ej+        d d'gg¦  «        g e4d d'gd'd ggeez   e2ej3        f¬¦  «        ¢ e4d d'ggeez   e2ej3        f¬¦  «        ¢g g ej+        g ge8¬¦  «        d(g ej+         ej+        g ¦  «         ej+        g d)¢¦  «        ge8¬¦  «         ej+        g ¦  «         ej+        g d)¢¦  «        gh d*£ddhg e9g d)¢¦  «         e9ddg¦  «        gddd+œd dig ej+        d ¦  «         ej+        g g g¦  «         ej+        d dgddggd,d#gd-d.ggg¦  «        gd/œZ:ej5         6                    d¦  «         7                    dd¬¦  «        d dgdd ggd dgge,d d gd d ggddgddgg ej+        ddgddgg¦  «         ej+        ddgddgg¦  «         e ej+        ddgddgg¦  «        ¦  «        g	g d¢ ej+        g d¢¦  «         ej+        g d¢ej0        ¬¦  «         ej+        g d¢ej1        ¬¦  «         ej+        g d¢e2¬¦  «         ej+        g d¢ej3        ¬¦  «         ej+        dgd gdgg¦  «         e ej+        g d¢¦  «        ¦  «        g d¢g	g d¢g d¢g ej+        g d¢g d¢g¦  «         ej+        g d¢g d¢gej0        ¬¦  «         ej+        g d¢g d¢gej1        ¬¦  «         ej+        g d¢g d¢ge2¬¦  «         ej+        g d¢g d¢gej3        ¬¦  «         ej+        g d¢g¦  «         e ej+        g d¢g¦  «        ¦  «        gd dgddgg d g ej+        g d"¢¦  «         ej+        g d"¢e.¬¦  «         ej+        g d"¢ej0        ¬¦  «         ej+        g d"¢ej1        ¬¦  «         ej+        g d"¢e2¬¦  «         ej+        g d"¢ej3        ¬¦  «         ej+        d gdgg¦  «         e ej+        d gdgg¦  «        ¦  «        ddgdd#ggd&gd d'g ej+        d gd'gg¦  «         ej+        d gd'ggej3        ¬¦  «        g ej+        d d'gd'd gg¦  «         ej+        d d'gd'd ggej3        ¬¦  «         ej+        d d'gg¦  «        gg gd(g ej+        d ¦  «         ej+        d dgddggd,d#gd-d.ggg¦  «        gd/œZ;h d*£ddd+œd#gd#gd+œd$ e9g d)¢¦  «        dgZ<dgdgd dggg d0¢ ej+        g ddggd1¬¦  «         e ej+        g ddggd1¬¦  «        ¦  «        gZ=d2„ Z>ed3„ ¦   «         Z?ej@         A                    d4 e¦   «         ¦  «        d5„ ¦   «         ZBd6„ ZCd7„ ZDd8„ ZEd9„ ZFej@         A                    d: e¦   «         ¦  «        d;„ ¦   «         ZGd<„ ZHd=„ ZId>„ ZJd?„ ZKej@         A                    d@g dA¢¦  «        dB„ ¦   «         ZLej@         A                    dCe¦  «        dD„ ¦   «         ZMdE„ ZNdF„ ZOej@         A                    dGdHdIg¦  «        dJ„ ¦   «         ZPdS )Ké    N)Úproduct)Úissparse)Úconfig_contextÚdatasets)ÚShuffleSplit)ÚSVC)Ú_atol_for_typeÚmove_toÚ)yield_namespace_device_dtype_combinations)Ú_array_api_for_testsÚ_convert_containerÚassert_allcloseÚassert_array_almost_equalÚassert_array_equalÚ'skip_if_array_api_compat_not_configured)Ú_NotAnArray)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDOK_CONTAINERSÚLIL_CONTAINERS)Ú_safe_split)Ú_ovr_decision_functionÚcheck_classification_targetsÚclass_distributionÚis_multilabelÚtype_of_targetÚunique_labelsé   c                 ó$   ‡ ‡— ˆ ˆfd„|D ¦   «         S )Nc                 ó4   •— g | ]}‰D ]} |‰|¬ ¦  «        ‘ŒŒS )©Údtype© )Ú.0Úsparse_containerr#   ÚdataÚdtypess      €€úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_multiclass.pyú
<listcomp>z$_generate_sparse.<locals>.<listcomp>9   sP   ø€ ð ð ð àØðð ð ð 	Ð˜ UÐ+Ñ+Ô+ðð ð ð ó    r$   )r'   Úsparse_containersr(   s   ` `r)   Ú_generate_sparser-   .   s4   øø€ ðð ð ð ð à 1ðñ ô ð r+   é*   é   )é
   r0   )Úsize)r,   r(   éÿÿÿÿéýÿÿÿé   )
r   r   r/   r/   r   é   r/   r5   r5   r5   ©r   r   r/   r"   ©r   r   r/   ©ÚaÚbÚc)r   r   r/   r/   )r   r5   r/   r5   r9   r:   r;   Úd)
r   r   r   r   r   r   r   r   r   r   é   ÚabcÚdefgñhãˆµøä>ç      à?r$   ©r   r/   r4   >   r   r/   r4   ©r   r   r5   é   é   )úmultilabel-indicatorÚ
multiclassúmulticlass-multioutputÚbinaryÚ
continuousúcontinuous-multioutputÚunknown)r$   r/   rB   Úobjectc            
      ót  — t          j        t          d¬¦  «        5  t          ¦   «          d d d ¦  «         n# 1 swxY w Y   t	          t          t          d¦  «        ¦  «        t          j        d¦  «        ¦  «         t	          t          t          j        d¦  «        ¦  «        t          j        d¦  «        ¦  «         t	          t          g d¢¦  «        t          j        g d¢¦  «        ¦  «         t	          t          t          j        g d¢g d¢g d¢g¦  «        ¦  «        t          j        d	¦  «        ¦  «         t	          t          t          j        g d¢g d¢g¦  «        ¦  «        t          j        d	¦  «        ¦  «         t	          t          g d¢t          d
¦  «        ¦  «        t          j        d
¦  «        ¦  «         t	          t          ddd¦  «        t          j        d	¦  «        ¦  «         t          j        t          d¬¦  «        5  t          g d¢t          j	        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          t          j	        d¦  «        t          j	        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t          t          j	        d¦  «        t          j	        d¦  «        ¦  «        t          j        d
¦  «        ¦  «         t          j        t          d¬¦  «        5  t          g d¢g d¢¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          t          j        g d¢¦  «        t          j        g d¢¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzNo argument has been passed©Úmatchr0   )r5   r   r/   )r   r/   r5   )r   r   r   )r   r   r   )r   r   r   r4   r=   r7   ©r   )r/   r   zMix type of y not allowed)r=   r=   z'Multi-label binary indicator input with)r=   r5   )r5   r=   z.Mix of label input types \(string and number\)r8   )
ÚpytestÚraisesÚ
ValueErrorr   r   ÚrangeÚnpÚarangeÚarrayÚonesr$   r+   r)   Útest_unique_labelsrY     s^  € å	Œ•zÐ)FÐ	GÑ	GÔ	Gð ð Ý‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ •}¥U¨2¡Y¤YÑ/Ô/µ´¸2±´Ñ?Ô?Ð?Ý•}¥R¤Y¨r¡]¤]Ñ3Ô3µR´Y¸r±]´]ÑCÔCÐCÝ•} Y Y YÑ/Ô/µ´¸)¸)¸)Ñ1DÔ1DÑEÔEÐEõ Ý•b”h 	 	 	¨9¨9¨9°i°i°iÐ@ÑAÔAÑBÔBÅBÄIÈaÁLÄLñô ð õ •}¥R¤X¨y¨y¨y¸)¸)¸)Ð.DÑ%EÔ%EÑFÔFÍÌ	ÐRSÉÌÑUÔUÐUõ •} Y Y Yµ°a±´Ñ9Ô9½2¼9ÀQ¹<¼<ÑHÔHÐHÝ•} Y°°fÑ=Ô=½r¼yÈ¹|¼|ÑLÔLÐLõ 
Œ•zÐ)DÐ	EÑ	EÔ	Eð 2ð 2Ý�i�i�i¥¤¨¡¤Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2å	Œ•zÐ)RÐ	SÑ	SÔ	Sð 8ð 8Ý•b”g˜f‘o”o¥r¤w¨v¡¤Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ •}¥R¤W¨V¡_¤_µb´g¸f±o´oÑFÔFÍÌ	ÐRSÉÌÑUÔUÐUõ 
ŒÝÐKð
ñ 
ô 
ð 2ð 2õ 	�i�i�i   Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ 
ŒÝÐKð
ñ 
ô 
ð Fð Fõ 	•b”h˜y˜y˜yÑ)Ô)­2¬8°O°O°OÑ+DÔ+DÑEÔEÐEð	Fð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð FsT   œ7·;¾;È%H?È?IÉIÉ%5J&Ê&J*Ê-J*Ì MÍMÍMÍ'9N-Î-N1Î4N1c                  óö  — t          j        g d¢¦  «        } t          j        g d¢t          ¬¦  «        }t          j        g d¢¦  «        }t          d¬¦  «        5  t	          j        t          d¬¦  «        5  t          | |¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          d¬¦  «        5  t          ||¦  «         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 )	zÄTest error is raised for mixed string and numerical input and dispatch enabled.

    Mixed string and numerical NumPy input with array API dispatch enabled should raise
    the correct error.
    )r9   r:   r9   r9   r"   ©r   r   r   r   T©Úarray_api_dispatchzMix of label input typesrN   N)rU   rW   rL   r   rQ   rR   rS   r   )Úy_stringÚy_objectÚy_numericals      r)   Ú0test_unique_labels_mixed_str_numerical_array_apira   7  s³  € õ ŒxÐ,Ð,Ð,Ñ-Ô-€HÝŒxÐ,Ð,Ð,µFÐ;Ñ;Ô;€HÝ”(˜<˜<˜<Ñ(Ô(€Kå	¨4Ð	0Ñ	0Ô	0ð 1ð 1ÝŒ]�:Ð-GÐHÑHÔHð 	1ð 	1Ý˜( KÑ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1åŒ]�:Ð-GÐHÑHÔHð 	1ð 	1Ý˜( KÑ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1sZ   ÁC.Á6BÂC.ÂB	ÂC.ÂB	ÂC.Â9CÃ
C.ÃC	ÃC.ÃC	ÃC.Ã.C2Ã5C2z#array_namespace, device, dtype_namec                 óæ  — t          | |¦  «        \  }}t          j        g d¢|¬¦  «        }t          j        g d¢|¬¦  «        }|                     ||¬¦  «        }|                     ||¬¦  «        }t	          ||¦  «        }	t          d¬¦  «        5  t	          ||¦  «        }
t          |
t          d¬¦  «        }t          |	|t          |¦  «        ¬	¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )z/Check `unique_labels` compliance for array API.rA   r"   )r/   r4   r5   ©ÚdeviceTr\   Úcpu)Úxprd   ©ÚatolN)	r   rU   rW   Úasarrayr   r   r
   r   r	   )Úarray_namespacerd   Ú
dtype_namerf   Údevice_Úy1_npÚy2_npÚy1_xpÚy2_xpÚ	labels_npÚ	labels_xpÚlabels_xp_nps               r)   Útest_unique_labels_array_apirt   I  sI  € õ ' ¸Ñ?Ô?�K€BˆÝŒH�Y�Y�Y jÐ1Ñ1Ô1€EÝŒH�Y�Y�Y jÐ1Ñ1Ô1€Eà�JŠJ�u WˆJÑ-Ô-€EØ�JŠJ�u WˆJÑ-Ô-€Eå˜e UÑ+Ô+€IÝ	¨4Ð	0Ñ	0Ô	0ð Rð RÝ! %¨Ñ/Ô/ˆ	Ý˜y­R¸Ð>Ñ>Ô>ˆÝ˜	 <µnÀZÑ6PÔ6PÐQÑQÔQÐQðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rð Rð Rs   ÂAC&Ã&C*Ã-C*c                  ó|  — t          j        d¦  «        } d}t          j        t          |¬¦  «        5  t          | ¦  «         ddd¦  «         n# 1 swxY w Y   t          j        d¦  «        } t          j        ¦   «         5  t          j        d¦  «         t          | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zÁCheck that we raise a warning when the number of unique classes is greater than
    50% of the number of samples.

    We need to check that we don't raise if we have less than 20 samples.
    é   zJThe number of unique classes is greater than 50% of the number of samples.rN   Nr0   Úerror)	rU   rV   rQ   ÚwarnsÚUserWarningr   ÚwarningsÚcatch_warningsÚsimplefilter)ÚyÚmsgs     r)   Ú9test_check_classification_targets_too_many_unique_classesr   ]  s/  € õ 	Œ	�"‰Œ€AØ
W€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð (ð (Ý$ QÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 	Œ	�"‰Œ€AÝ	Ô	 Ñ	"Ô	"ð (ð (ÝÔ˜gÑ&Ô&Ð&Ý$ QÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s#   ²AÁAÁAÂ $B1Â1B5Â8B5c                  óŒ  — dD ]!} t           |          D ]}t          |¦  «         ŒŒ"t          D ]B}t          j        t
          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒCdD ]R}t           |         D ]B}t          j        t
          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒCŒSd S )N)rH   rF   rE   )rK   rI   rJ   rG   )ÚEXAMPLESr   ÚNON_ARRAY_LIKE_EXAMPLESrQ   rR   rS   )Úformatr}   ÚexampleÚy_types       r)   Útest_unique_labels_non_specificr†   q  sm  € ð Cð ð ˆÝ˜&Ô!ð 	ð 	ˆAÝ˜!ÑÔÐÐð	õ +ð #ð #ˆÝŒ]�:Ñ&Ô&ð 	#ð 	#Ý˜'Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#øðð 'ð 'ˆõ   Ô'ð 	'ð 	'ˆGÝ”�zÑ*Ô*ð 'ð 'Ý˜gÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'øð	'ð'ð 's$   ÁA#Á#A'	Á*A'	ÂB7Â7B;Â>B;c                  ó®  — t          t          d         t          d         t          d         z   ¦  «        } | D ]‡\  }}t          j        t          ¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œˆt          j        t          ¦  «        5  t          ddggddgg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddgdd	gg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          dd
gdd	gg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrE   rF   rH   r   r/   r9   r<   Ú1r4   Ú2)r   r�   rQ   rR   rS   r   )Úmix_clf_formatÚy_multilabelÚy_multiclasss      r)   Útest_unique_labels_mixed_typesr�   ‰  s;  € åÝÐ'Ô(­(°<Ô*@Å8ÈHÔCUÑ*Uñô €Nð '5ð 6ð 6Ñ"ˆ�lÝŒ]�:Ñ&Ô&ð 	6ð 	6Ý˜,¨Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6åŒ]�:Ñ&Ô&ð 	6ð 	6Ý˜,¨Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6øõ 
Œ•zÑ	"Ô	"ð .ð .Ý˜˜1�v�h # s  Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ 
Œ•zÑ	"Ô	"ð  ð  Ý�s˜A�hÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ 
Œ•zÑ	"Ô	"ð *ð *Ý˜˜Q�x ! Q Ð(Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ 
Œ•zÑ	"Ô	"ð ,ð ,Ý˜˜S�z A q 6Ð*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,sl   ÁA2Á2A6	Á9A6	ÂB3Â3B7	Â:B7	ÃC;Ã;C?ÄC?ÄD=Ä=EÅEÅ!FÆFÆ
FÆ'G
Ç
GÇGc                  óÆ  ‡— t                                ¦   «         D �]D\  } }| dk    }|D �]4Š|ot          ‰¦  «        }t          ‰¦  «        spt          ‰d¦  «        r»t	          j        ‰¦  «        j        dk    ržt	          j        ‰¦  «        j        j        dv r~t	          j        ‰¦  «        j	        d         dk    r[ˆfd„t          t          z   t          z   t          z   t          z   D ¦   «         }|D ]%}|t          |¦  «        k    sJ d|›d	|› �¦   «         ‚Œ&t          ‰¦  «        r‰                     ¦   «         Š|t          ‰¦  «        k    sJ d‰›d	|› �¦   «         ‚�Œ6�ŒFd S )
NrE   Ú	__array__r/   Úbiufr   r   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS r$   r$   )r%   r&   r„   s     €r)   r*   z&test_is_multilabel.<locals>.<listcomp>±  s4   ø€ ð 	#ð 	#ð 	#à(ð %Ð$ WÑ-Ô-ð	#ð 	#ð 	#r+   úis_multilabel(ú) should be )r�   Úitemsr   ÚhasattrrU   ri   Úndimr#   ÚkindÚshaper   r   r   r   r   r   Útoarray)ÚgroupÚgroup_examplesÚ	dense_expÚ
sparse_expÚexamples_sparseÚexmpl_sparser„   s         @r)   Útest_is_multilabelr    ¢  s¿  ø€ Ý!)§¢Ñ!1Ô!1ð #ñ #Ñˆˆ~ØÐ3Ò3ˆ	à%ð  	ñ  	ˆGð #Ð8¥x°Ñ'8Ô'8ˆJå˜Ñ Ô ð Ý˜ Ñ-Ô-ðå”J˜wÑ'Ô'Ô,°Ò1Ð1Ý”J˜wÑ'Ô'Ô-Ô2°fÐ<Ð<Ý”J˜wÑ'Ô'Ô-¨aÔ0°1Ò4Ð4ð	#ð 	#ð 	#ð 	#õ 'Ý(ñ)å(ñ)õ )ñ)õ )ñ	)ð	#ñ 	#ô 	#�ð %4ð ð �LØ%­°|Ñ)DÔ)DÒDÐDÐDØQ¨ÐQÐQÀZÐQÐQñ EÔDÐDÐDõ
 ˜Ñ Ô ð ,Ø!Ÿ/š/Ñ+Ô+�à¥¨gÑ 6Ô 6Ò6Ð6Ð6ØC ÐCÐC¸	ÐCÐCñ 7Ô6Ð6Ñ6ñ= 	ð#ð #r+   z(array_namespace, device_name, dtype_namec                 óâ  — t          | ||¦  «        \  }}t                               ¦   «         D ]À\  }}|dk    }|D ]²}t          j        |¦  «        j        j        dk    rt          j        ||¬¦  «        }nt          j        |¦  «        }|                     ||¬¦  «        }t          d¬¦  «        5  |t          |¦  «        k    sJ d|›d|› �¦   «         ‚	 d d d ¦  «         n# 1 swxY w Y   Œ³ŒÁd S )	NrE   Úfr"   rc   Tr\   r’   r“   )	r   ÚARRAY_API_EXAMPLESr”   rU   ri   r#   r—   r   r   )	rj   Údevice_namerk   rf   rd   rš   r›   rœ   r„   s	            r)   Ú'test_is_multilabel_array_api_compliancer¥   É  sU  € õ
 & o°{ÀJÑOÔO�J€Bˆå!3×!9Ò!9Ñ!;Ô!;ð ð Ñˆˆ~ØÐ3Ò3ˆ	Ø%ð 
	ð 
	ˆGÝŒz˜'Ñ"Ô"Ô(Ô-°Ò4Ð4Ýœ* W°JÐ?Ñ?Ô?��åœ* WÑ-Ô-�Ø—j’j °�jÑ8Ô8ˆGå°4Ð8Ñ8Ô8ð ð Ø ¥M°'Ñ$:Ô$:Ò:Ð:Ð:ØG WÐGÐG¸IÐGÐGñ ;Ô:Ð:Ð:ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð
	ðð s   Â1$C"Ã"C&Ã)C&c                  ó.  — t                                ¦   «         D ]z} | dv rUt           |          D ]F}d}t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGŒ[t           |          D ]}t          |¦  «         ŒŒ{d S )N)rK   rI   rJ   zUnknown label type: rN   )r�   ÚkeysrQ   rR   rS   r   )r…   r„   r~   s      r)   Ú!test_check_classification_targetsr¨   ß  sò   € Ý—-’-‘/”/ð 6ð 6ˆØÐHÐHÐHÝ# FÔ+ð :ð :�Ø,�Ý”]¥:°SÐ9Ñ9Ô9ð :ð :Ý0°Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :øð:õ
 $ FÔ+ð 6ð 6�Ý,¨WÑ5Ô5Ð5Ð5ð6ð6ð 6s   ÁA(Á(A,Á/A,c                  óì  — t                                ¦   «         D ]=\  } }|D ]5}t          |¦  «        | k    s J d|›d| ›dt          |¦  «        ›�¦   «         ‚Œ6Œ>t          D ]F}d}t	          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGt          D ]F}d}t	          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )Nztype_of_target(r“   z, got z6Expected array-like \(array or non-string sequence\).*rN   zœYou appear to be using a legacy multi-label data representation. Sequence of sequences are no longer supported; use a binary array or sparse matrix instead.)r�   r”   r   r‚   rQ   rR   rS   ÚMULTILABEL_SEQUENCES)rš   r›   r„   Ú	msg_regexr~   s        r)   Útest_type_of_targetr¬   ë  s­  € Ý!)§¢Ñ!1Ô!1ð 	ð 	Ñˆˆ~Ø%ð 	ð 	ˆGÝ! 'Ñ*Ô*¨eÒ3Ð3Ð3Ð3ð �G�GØ�E�EÝ" 7Ñ+Ô+Ð+ð	ñ 4Ô3Ð3Ð3ð	õ +ð $ð $ˆØMˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	$ð 	$Ý˜7Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$øõ (ð $ð $ˆð<ð 	õ
 Œ]�:¨SÐ1Ñ1Ô1ð 	$ð 	$Ý˜7Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$øð$ð $s$   Á>BÂB	Â!B	ÃC(Ã(C,	Ã/C,	c                  ó2  — t          j        d¦  «        } | j                             dt          j        t          j        dt          j        g¦  «        }d}t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚpandasr   z1y cannot be class 'SparseSeries' or 'SparseArray'rN   )	rQ   ÚimportorskipÚarraysÚSparseArrayrU   ÚnanrR   rS   r   )Úpdr}   r~   s      r)   Ú!test_type_of_target_pandas_sparser´     sÄ   € Ý	Ô	˜XÑ	&Ô	&€Bà
Œ	×Ò˜q¥"¤&­"¬&°!µR´VÐ<Ñ=Ô=€AØ
=€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�qÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á/BÂBÂBc                  ó  — t          j        d¦  «        } dD ]^}|                      g d¢|¬¦  «        }t          |¦  «        dk    sJ ‚|                      g d¢|¬¦  «        }t          |¦  «        dk    sJ ‚Œ_|                      dd	gd	dggd
¬¦  «        }t          |¦  «        dk    sJ ‚|                      ddgddggd¬¦  «        }t          |¦  «        dk    sJ ‚|                      ddgddggd¬¦  «        }t          |¦  «        dk    sJ ‚dS )z<Check that type_of_target works with pandas nullable dtypes.r®   )ÚInt32ÚFloat32)r   r   r/   r4   r5   r"   rF   )r   r   r   r   rH   gffffffö?gÍÌÌÌÌÌ@r·   rJ   r   r   r¶   rE   r/   r4   rG   N)rQ   r¯   ÚSeriesr   Ú	DataFrame)r³   r#   Úy_trues      r)   Ú#test_type_of_target_pandas_nullabler»     sB  € å	Ô	˜XÑ	&Ô	&€Bà%ð 2ð 2ˆØ—’˜?˜?˜?°%�Ñ8Ô8ˆÝ˜fÑ%Ô%¨Ò5Ð5Ð5Ð5à—’˜<˜<˜<¨u�Ñ5Ô5ˆÝ˜fÑ%Ô%¨Ò1Ð1Ð1Ð1Ð1à�\Š\˜C ˜:¨¨S zÐ2¸)ˆ\ÑDÔD€FÝ˜&Ñ!Ô!Ð%=Ò=Ð=Ð=Ð=à�\Š\˜A˜q˜6 A q 6Ð*°'ˆ\Ñ:Ô:€FÝ˜&Ñ!Ô!Ð%;Ò;Ð;Ð;Ð;à�\Š\˜A˜q˜6 A q 6Ð*°'ˆ\Ñ:Ô:€FÝ˜&Ñ!Ô!Ð%=Ò=Ð=Ð=Ð=Ð=Ð=r+   r#   )ÚInt64ÚFloat64Úbooleanc                 óÖ   — t          j        d¦  «        }|                     g d¢| ¬¦  «        }|                     g d¢d¬¦  «        }t          ||¦  «        }t	          |ddg¦  «         dS )	zgChecks that unique_labels work with pandas nullable dtypes.

    Non-regression test for gh-25634.
    r®   )	r   r   r   r   r   r   r   r   r   r"   )	r   r   r   r   r   r   r   r   r   Úint64r   r   N)rQ   r¯   r¸   r   r   )r#   r³   rº   Úy_predictedÚlabelss        r)   Ú"test_unique_labels_pandas_nullablerÃ   $  su   € õ 
Ô	˜XÑ	&Ô	&€Bà�YŠYÐ2Ð2Ð2¸%ˆYÑ@Ô@€FØ—)’)Ð7Ð7Ð7¸w�)ÑGÔG€Kå˜6 ;Ñ/Ô/€FÝ�v  1˜vÑ&Ô&Ð&Ð&Ð&r+   Úcsc_containerc           	      óþ  — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        } | |||fd	¬
¦  «        }t          |¦  «        \  }}}t          |¦  «        \  }	}
}g d¢g d¢dgdgg}g d¢}g d¢g d¢dgdgg}t          |j        d         ¦  «        D ]ª}t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          |	|         ||         ¦  «         t          |
|         ||         ¦  «         t          ||         ||         ¦  «         Œ«t          |g d¢¦  «        \  }}}t          |g d¢¦  «        \  }	}
}g d¢g d¢dgdgg}t          |j        d         ¦  «        D ]ª}t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          |	|         ||         ¦  «         t          |
|         ||         ¦  «         t          ||         ||         ¦  «         Œ«d S )Nr[   )r/   r/   r   r   )r   r4   r   r   )r5   r/   r   r   )r/   r   r   r   )r   r/   r   r5   r/   r   r   r/   r4   r/   r4   r   r   r   r   r   r   )r   r   r/   r4   r5   r=   r   r   r/   r4   r=   r   r   r/   r4   r5   r=   )r   rC   é   rÆ   é   )rC   r5   )r˜   )r   r/   r5   )r   r/   r4   r   r   )r4   r4   r   r   )r@   çUUUUUUÕ?gUUUUUUÅ?)rÈ   rÈ   rÈ   ç      ð?)rÉ   ç       @rÉ   rÊ   rÉ   rÊ   )çÇqÇqÜ?rÈ   çÇqÇqÌ?)rÌ   rË   rÈ   )rU   rW   r   rT   r˜   r   )rÄ   r}   r'   ÚindicesÚindptrÚy_spÚclassesÚ	n_classesÚclass_priorÚ
classes_spÚn_classes_spÚclass_prior_spÚclasses_expectedÚn_classes_expectedÚclass_prior_expectedÚks                   r)   Útest_class_distributionrÚ   3  s  € å
ŒàˆLˆLØˆLˆLØˆLˆLØˆLˆLØˆLˆLØˆLˆLð	
ñ		ô 		€Aõ Œ8ÐGÐGÐGÑHÔH€DÝŒhÐJÐJÐJÑKÔK€GÝŒXÐ(Ð(Ð(Ñ)Ô)€FØˆ=˜$ ¨Ð0¸Ð?Ñ?Ô?€Då&8¸Ñ&;Ô&;Ñ#€GˆY˜Ý/AÀ$Ñ/GÔ/GÑ,€J�˜nØ!˜	˜	 9 9 9¨q¨c°A°3Ð7ÐØ%˜˜ÐØ1Ð1Ð1Ð3HÐ3HÐ3HÈ3È%ÐRUÐQVÐWÐå�1”7˜1”:ÑÔð Nð NˆÝ! '¨!¤*Ð.>¸qÔ.AÑBÔBÐBÝ! )¨A¤,Ð0BÀ1Ô0EÑFÔFÐFÝ! +¨a¤.Ð2FÀqÔ2IÑJÔJÐJå! *¨Q¤-Ð1AÀ!Ô1DÑEÔEÐEÝ! ,¨q¤/Ð3EÀaÔ3HÑIÔIÐIÝ! .°Ô"3Ð5IÈ!Ô5LÑMÔMÐMÐMõ );Ø	Ð)Ð)Ð)ñ)ô )Ñ%€Wˆi˜õ 2DØ	Ð)Ð)Ð)ñ2ô 2Ñ.€Z�˜~ð 2Ð1Ð1Ð3HÐ3HÐ3HÈ3È%ÐRUÐQVÐWÐå�1”7˜1”:ÑÔð Nð NˆÝ! '¨!¤*Ð.>¸qÔ.AÑBÔBÐBÝ! )¨A¤,Ð0BÀ1Ô0EÑFÔFÐFÝ! +¨a¤.Ð2FÀqÔ2IÑJÔJÐJå! *¨Q¤-Ð1AÀ!Ô1DÑEÔEÐEÝ! ,¨q¤/Ð3EÀaÔ3HÑIÔIÐIÝ! .°Ô"3Ð5IÈ!Ô5LÑMÔMÐMÐMðNð Nr+   c                  óÊ  — t          ¦   «         } t          d¬¦  «        }t          j        ¦   «         }|j        |j        }}t          j        ||j        ¦  «        }t          dd¬¦  «        }t          t          |                     |¦  «        ¦  «        ¦  «        \  }}t          | |||¦  «        \  }	}
t          ||||¦  «        \  }}t          |t          j        |	|	j        ¦  «        ¦  «         t          |
|¦  «         t          | ||||¦  «        \  }}t          |||||¦  «        \  }}t          |t          j        ||	j        ¦  «        ¦  «         t          ||¦  «         d S )NÚprecomputed)Úkernelg      Ð?r   )Ú	test_sizeÚrandom_state)r   r   Ú	load_irisr'   ÚtargetrU   ÚdotÚTr   ÚnextÚiterÚsplitr   r   )ÚclfÚclfpÚirisÚXr}   ÚKÚcvÚtrainÚtestÚX_trainÚy_trainÚK_trainÚy_train2ÚX_testÚy_testÚK_testÚy_test2s                    r)   Ú'test_safe_split_with_precomputed_kernelr÷   g  s@  € Ý
‰%Œ%€CÝ�mÐ$Ñ$Ô$€DåÔÑÔ€DØŒ9�d”k€q€AÝ
Œˆq�!”#‰Œ€Aå	 °1Ð	5Ñ	5Ô	5€BÝ•t˜BŸHšH Q™KœKÑ(Ô(Ñ)Ô)�K€Eˆ4å" 3¨¨1¨eÑ4Ô4Ñ€GˆWÝ# D¨!¨Q°Ñ6Ô6Ñ€GˆXÝ˜g¥r¤v¨g°w´yÑ'AÔ'AÑBÔBÐBÝ˜g xÑ0Ô0Ð0å   a¨¨D°%Ñ8Ô8�N€FˆFÝ! $¨¨1¨d°EÑ:Ô:�O€FˆGÝ˜f¥b¤f¨V°W´YÑ&?Ô&?Ñ@Ô@Ð@Ý˜f gÑ.Ô.Ð.Ð.Ð.r+   c                  ó  ‡‡‡— t          j        g d¢g d¢g d¢g d¢g¦  «        Št          j        g d¢g d¢g d¢g d¢g¦  «        ŠdŠt          ‰‰‰¦  «        } t          j        g d¢g d	¢g d¢g d¢g¦  «        }t          || d
¬¦  «         t          j        g d¢¦  «        }t	          t          j        | d¬¦  «        |¦  «         | d         | d         k    sJ ‚ˆˆˆfd„t          d¦  «        D ¦   «         }t          | |d¬¦  «         d S )N)r   r   r   )r   r   r   )ç €à7yÃAÃr   rù   )rÉ   rÊ   g      À)g      ÀrÊ   g      @)g      à¿gš™™™™™É?r@   r4   r6   )r   r   r   r@   rg   )r/   r   r/   r/   r   )Úaxis)r/   r/   )r4   r/   c           	      ó¢   •— g | ]K}t          t          j        ‰|         g¦  «        t          j        ‰|         g¦  «        ‰¦  «        d          ‘ŒLS rP   )r   rU   rW   )r%   ÚiÚconfidencesrÑ   Úpredictionss     €€€r)   r*   z.test_ovr_decision_function.<locals>.<listcomp>š  sf   ø€ ð ð ð ð õ 	ÝŒH�k !”nÐ%Ñ&Ô&­¬°+¸a´.Ð1AÑ(BÔ(BÀIñ	
ô 	
à
ô	ðð ð r+   r5   g�íµ ÷Æ°>)rU   rW   r   r   r   ÚargmaxrT   )Ú
dec_valuesÚvotesÚexpected_predictionÚdec_values_onerý   rÑ   rþ   s       @@@r)   Útest_ovr_decision_functionr  }  sh  øøø€ õ ”(˜I˜I˜I y y y°)°)°)¸Y¸Y¸YÐGÑHÔH€Kå”(Ø	Ð	Ð	Ð,Ð,Ð,Ð.>Ð.>Ð.>Ð@PÐ@PÐ@PÐQñô €Kð €Iå'¨°[À)ÑLÔL€Jõ ŒH�i�i�i   ¨I¨I¨I°y°y°yÐAÑBÔB€Eå�E˜:¨CÐ0Ñ0Ô0Ð0õ
 œ( < < <Ñ0Ô0ÐÝ•r”y °!Ð4Ñ4Ô4Ð6IÑJÔJÐJð �dÔ˜j¨Ô.Ò.Ð.Ð.Ð.ðð ð ð ð ð õ �q‘”ð	ñ ô €Nõ �J °TÐ:Ñ:Ô:Ð:Ð:Ð:r+   Ú
input_typeÚlistrW   c                 ó´   — t          ddg| ¦  «        }d}t          j        t          |¬¦  «        5  t	          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nó   aó   bz8Support for labels represented as bytes is not supportedrN   )r   rQ   rR   Ú	TypeErrorr   )r  rá   Úerr_msgs      r)   Ú!test_labels_in_bytes_format_errorr  ¤  s£   € õ
    t ¨jÑ9Ô9€FØH€GÝ	Œ•y¨Ð	0Ñ	0Ô	0ð ð Ý�vÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   °AÁAÁA)Qrz   Ú	itertoolsr   ÚnumpyrU   rQ   Úscipy.sparser   Úsklearnr   r   Úsklearn.model_selectionr   Úsklearn.svmr   Úsklearn.utils._array_apir	   r
   r   Úsklearn.utils._testingr   r   r   r   r   r   Úsklearn.utils.estimator_checksr   Úsklearn.utils.fixesr   r   r   r   r   Úsklearn.utils.metaestimatorsr   Úsklearn.utils.multiclassr   r   r   r   r   r   rW   Úmultilabel_explicit_zeroÚtupleÚboolÚintÚint8Úuint8ÚfloatÚfloat32r-   ÚrandomÚRandomStateÚrandintrL   Ú	frozensetr�   r£   r‚   rª   rY   ra   ÚmarkÚparametrizert   r   r†   r�   r    r¥   r¨   r¬   r´   r»   rÃ   rÚ   r÷   r  r  r$   r+   r)   ú<module>r'     sX  ðØ €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð $˜2œ8 a¨ V¨a°¨VÐ$4Ñ5Ô5Ð Ø!"Ð ˜˜˜˜A˜Ñ ð
 �eØØ
ñ	à
ñ	ð ñ	ð ñ		ñô ð �#�r”w ¤¨%°´Ð<ðð ð ð ð&ð 
Ð	ØŒI×!Ò! "Ñ%Ô%×-Ò-¨a°hÐ-Ñ?Ô?Ø,Ø�6ð

ñ 

ô 

ðð ˆQˆ�!�Q�Ððð ˆQˆˆðð 
Ð	Ø$¸ÐPSÈvð

ñ 

ô 

ðð 
Ð	˜A˜q˜6 A q 6Ð*Ñ	+Ô	+ðð 
Ð	˜A˜q˜6 A q 6Ð*Ñ	+Ô	+ðð 
Ð	˜A˜q˜6˜(Ñ	#Ô	#ðð" ˆaˆ�1�b�'Ðð#ð$ 	ˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$ð%ð& 	ˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$ð'ð( 	ˆ�H�B”H˜r 1˜g¨¨2 wÐ/Ñ0Ô0Ñ1Ô1ð)ð. 	'Ð&Ð&ØˆŒ���ÑÔØˆŒ��� "¤'Ð*Ñ*Ô*ØˆŒ��� "¤(Ð+Ñ+Ô+ØˆŒ��� %Ð(Ñ(Ô(ØˆŒ��� "¤*Ð-Ñ-Ô-ØˆŒ�1�#˜�s˜Q˜C�Ñ!Ô!Øˆ�H�B”H˜Y˜Y˜YÑ'Ô'Ñ(Ô(Øˆ	ˆ	ØˆˆØˆŒ���Ñ!Ô!ØˆŒ���¨Ð/Ñ/Ô/ØˆŒ���¨Ð/Ñ/Ô/ðð  
ˆˆ�|�|�|Ð$Ø
ˆsˆ�c˜3�ZÐ ØˆŒ�,�,�,   Ð-Ñ.Ô.ØˆŒ�,�,�,   Ð-°R´WÐ=Ñ=Ô=ØˆŒ�,�,�,   Ð-°R´XÐ>Ñ>Ô>ØˆŒ�,�,�,   Ð-°UÐ;Ñ;Ô;ØˆŒ�,�,�,   Ð-°R´ZÐ@Ñ@Ô@ðð 
Ð	Øˆ\ˆ\˜<˜<˜<Ð(Ø,¨~Ñ=Ø˜œ "¤(¨E°2´:Ð>ð

ñ 

ô 

ðð 	ˆŒ�3˜�*˜s C˜jÐ)Ñ*Ô*ðð 	ˆŒ�3˜�*˜s C˜jÐ)Ñ*Ô*ðð 	ˆŒ�3˜�*˜s C˜jÐ)°Ð8Ñ8Ô8ðð  	ˆŒ�)�)�)�ÑÔð!ð" 	ˆ�H�B”H˜i˜i˜i˜[Ñ)Ô)Ñ*Ô*ð#ð( 
ˆAˆØ	
ˆAˆØ
Ø	
ˆØˆŒÐ/Ð/Ð/Ñ0Ô0ØˆŒÐ/Ð/Ð/°tÐ<Ñ<Ô<ØˆŒÐ/Ð/Ð/°r´wÐ?Ñ?Ô?ØˆŒÐ/Ð/Ð/°r´xÐ@Ñ@Ô@ØˆŒÐ/Ð/Ð/°uÐ=Ñ=Ô=ØˆŒÐ/Ð/Ð/°r´zÐBÑBÔBØˆŒ�1�#˜�s�ÑÔØˆ�H�B”H˜q˜c A 3˜ZÑ(Ô(Ñ)Ô)Ø	
ˆBˆØ	
ˆAˆØ	ˆØ	ˆcˆ
Ø	�ˆØˆŒ�%˜�Ñ Ô Ø	ˆcˆ
ØˆŒ�%˜� vÐ.Ñ.Ô.ð)ð. 
ˆØ	
ˆCˆØˆŒ�1�#˜�u�ÑÔØˆŒ�1�#˜�u� R¤ZÐ0Ñ0Ô0ð	ð 	ˆŒ�1�c�(˜S !˜HÐ%Ñ&Ô&ØˆŒ�1�c�(˜S !˜HÐ%¨R¬ZÐ8Ñ8Ô8ØˆŒ�1�c�(�ÑÔðð 
Ð	Ø�ˆX˜˜Q�xÐ Ø,¨~Ñ=Ø˜2œ:Ð&ð

ñ 

ô 

ð	ð 
Ð	Ø�ˆXˆJØ,¨~Ñ=Ø˜2œ:Ð&ð

ñ 

ô 

ðð  
ˆØˆŒ�"�˜VÐ$Ñ$Ô$Ø	ˆàˆŒ�(�"”(˜2‘,”,  ¤¨¨¨Ñ 3Ô 3Ð4¸FÐCÑCÔCØ	ˆŒ�"‰Œ�x�r”x 	 	 	Ñ*Ô*Ð+Ø	ˆˆ�Q˜�FÐØ	ˆ�9�9�9Ñ	Ô	˜y˜y¨!¨Q¨Ñ0Ô0Ð1à�SÐ	Ð	˜A˜s˜8Ð$àˆŒ�‰ŒàˆŒ�"�b�ÑÔàˆŒ�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6ð!ðIvð v€ðt 	Œ	×Ò˜bÑ!Ô!×)Ò)¨!°(Ð)Ñ;Ô;Ø
ˆQˆ�!�Q�ÐØ
ˆQˆˆØ Ø
ˆQˆ�!�Q�ÐØ
ˆaˆ�1�b�'ÐØˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$ØˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$Øˆ�H�B”H˜r 1˜g¨¨2 wÐ/Ñ0Ô0Ñ1Ô1ð
ð 	'Ð&Ð&ØˆŒ���ÑÔØˆŒ��� "¤'Ð*Ñ*Ô*ØˆŒ��� "¤(Ð+Ñ+Ô+ØˆŒ��� %Ð(Ñ(Ô(ØˆŒ��� "¤*Ð-Ñ-Ô-ØˆŒ�1�#˜�s˜Q˜C�Ñ!Ô!Øˆ�H�B”H˜Y˜Y˜YÑ'Ô'Ñ(Ô(Øˆ	ˆ	ð
ð 
ˆˆ�|�|�|Ð$ØˆŒ�,�,�,   Ð-Ñ.Ô.ØˆŒ�,�,�,   Ð-°R´WÐ=Ñ=Ô=ØˆŒ�,�,�,   Ð-°R´XÐ>Ñ>Ô>ØˆŒ�,�,�,   Ð-°UÐ;Ñ;Ô;ØˆŒ�,�,�,   Ð-°R´ZÐ@Ñ@Ô@ØˆŒ�)�)�)�ÑÔØˆ�H�B”H˜i˜i˜i˜[Ñ)Ô)Ñ*Ô*ð	ð 
ˆAˆØ	
ˆAˆØ
Ø	
ˆØˆŒÐ/Ð/Ð/Ñ0Ô0ØˆŒÐ/Ð/Ð/°tÐ<Ñ<Ô<ØˆŒÐ/Ð/Ð/°r´wÐ?Ñ?Ô?ØˆŒÐ/Ð/Ð/°r´xÐ@Ñ@Ô@ØˆŒÐ/Ð/Ð/°uÐ=Ñ=Ô=ØˆŒÐ/Ð/Ð/°r´zÐBÑBÔBØˆŒ�1�#˜�s�ÑÔØˆ�H�B”H˜q˜c A 3˜ZÑ(Ô(Ñ)Ô)Ø	
ˆBˆØ	
ˆAˆðð" 
ˆØ	
ˆCˆØˆŒ�1�#˜�u�ÑÔØˆŒ�1�#˜�u� R¤ZÐ0Ñ0Ô0ð	ð 	ˆŒ�1�c�(˜S !˜HÐ%Ñ&Ô&ØˆŒ�1�c�(˜S !˜HÐ%¨R¬ZÐ8Ñ8Ô8ØˆŒ�1�c�(�ÑÔðð 
ˆØ	ˆØˆŒ�‰ŒØˆŒ�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6ð	ðyBð BÐ ðL €I€IØ�ÐÐØ	
ˆ��ÐÐØ	Ø€IˆiˆiˆiÑÔØðÐ ð €Sˆ1ˆ#��1ˆvÐØÐÐØ€B„Hˆb�1�a�&ˆ\ Ð*Ñ*Ô*Ø€K��”˜"˜q !˜f˜¨XÐ6Ñ6Ô6Ñ7Ô7ð	Ð ð&Fð &Fð &FðR )ð1ð 1ñ )Ô(ð1ð" „×ÒØ)Ø-Ð-Ñ/Ô/ñô ðRð Rñ	ô ðRð (ð (ð (ð('ð 'ð 'ð0,ð ,ð ,ð2$ð $ð $ðN „×ÒØ.Ø-Ð-Ñ/Ô/ñô ðð ñ	ô ðð$	6ð 	6ð 	6ð$ð $ð $ð6ð ð ð>ð >ð >ð* „×Ò˜Ð"AÐ"AÐ"AÑBÔBð'ð 'ñ CÔBð'ð „×Ò˜¨.Ñ9Ô9ð0Nð 0Nñ :Ô9ð0Nðf/ð /ð /ð,$;ð $;ð $;ðN „×Ò˜¨°Ð'8Ñ9Ô9ðð ñ :Ô9ðð ð r+   