§
    Øj«*  ã                   óú  — d Z ddlZddlZddlmZmZmZmZmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZ dd„Zd„ Zdd	d
œd„Zdd„Zd„ Zd„ Zd„ Zdd
œd„Z ed¬¦  «        d„ ¦   «         Z G d„ de¦  «        Z edeg dgd	ddœfedgdgddifedgdgddifedgddd	igddifeddgdgi feg ddd	igdd	dœfedgddd	dœgddifeg ddd	igdd	ifeg dgddifg	¦  «        d „ ¦   «         Zd!„ Zd"„ Z edeg dgd	dd	g i d#œfeg d$gd	dd	dd%gi d#œfeg dd&digd	dd	g d&did#œfed'gd(d&digd	dd	d&did)œfg¦  «        d*„ ¦   «         Z eg dddigd	ddœfeg dddigd	ddd+œfgZ! edeg d,d&digd	dgd&did-œfeg d.gdd%gi d-œfge!z   ¦  «        d/„ ¦   «         Z"d0„ Z# ed1ed2fed3fed4fg¦  «        d5„ ¦   «         Z$d6„ Z%d7„ Z&d8„ Z'd9d:d;œd<„Z(d=e)d>e)d?dfd@„Z*d9dAœdB„Z+dC„ Z,dD„ Z-dE„ Z. edFe/dGedHdIgfe/dJedHgdIgfe/dKeg gfg¦  «        dL„ ¦   «         Z0dM„ Z1dN„ Z2 edOe e3 e4dP¦  «        ¦  «        gi dQfeg dR¢ddSidTfg¦  «        dU„ ¦   «         Z5dV„ Z6edW„ ¦   «         Z7dX„ Z8dY„ Z9ej:        j;        dZ„ ¦   «         Z<d[„ Z=ej:        j;        d\„ ¦   «         Z>dS )]z
Test the func_inspect module.
é    N)Ú_clean_win_charsÚfilter_argsÚformat_signatureÚget_func_codeÚget_func_name)ÚMemory)Ú
with_numpy)ÚfixtureÚparametrizeÚraisesÚwarnsc                 ó   — d S ©N© ©ÚxÚys     ú’/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/joblib/test/test_func_inspect.pyÚfr      ó   € Ø€Dó    c                 ó   — d S r   r   ©r   s    r   Úgr      r   r   é   )Úzc                ó   — d S r   r   )r   r   r   ÚargsÚkwargss        r   Úhr    #   r   r   c                 ó   — d S r   r   r   s    r   Úir"   '   r   r   c                 ó   — d S r   r   )r   r   r   s      r   Újr$   +   r   r   c                  ó   — d S r   r   )r   r   s     r   Úkr&   /   r   r   c                ó   — d S r   r   r   s     r   Úm1r(   3   r   r   é   c                ó   — d S r   r   ©r   r   r   s      r   Úm2r,   7   r   r   Úmodule)Úscopec                 óx   — |                       d¦  «        }t          |j        ¦  «        }|j        d„ ¦   «         }|S )NÚjoblib_test_func_inspectc                 ó   — | S r   r   r   s    r   Úcached_func_innerz&cached_func.<locals>.cached_func_innerC   s   € àˆr   )Úmktempr   ÚstrpathÚcache)Útmpdir_factoryÚcachedirÚmemr2   s       r   Úcached_funcr9   ;   sK   € ð
 ×$Ò$Ð%?Ñ@Ô@€HÝ
�Ô!Ñ
"Ô
"€Cà„Yðð ñ „Yðð Ðr   c                   ó   — e Zd Zd„ ZdS )ÚKlassc                 ó   — |S r   r   )Úselfr   s     r   r   zKlass.fK   s   € Øˆr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r;   r;   J   s#   € € € € € ðð ð ð ð r   r;   zfunc,args,filtered_args©r   r   r   r   )r   r   é   )rB   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   ©r   ©Úfuncr   Úfiltered_argss      r   Útest_filter_argsrH   S   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   c                  ó`   — t          ¦   «         } t          | j        g d¦  «        d| dœk    sJ ‚d S )NrA   r   )r   r=   ©r;   r   r   )Úobjs    r   Útest_filter_args_methodrL   e   s8   € Ý
‰'Œ'€CÝ�s”u˜b $Ñ'Ô'°¸CÐ+@Ð+@Ò@Ð@Ð@Ð@Ð@Ð@r   c            	      ó®   — t          t          d¬¦  «        5  t          t          g dt	          d¬¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz"x was given both as positional and©ÚmatchrA   rB   r   )r   Ú
ValueErrorr   r   Údictr   r   r   Ú+test_filter_args_set_positional_and_keywordrR   j   s–   € Ý	•
Ð"FÐ	GÑ	GÔ	Gð ,ð ,Ý•A�r˜4¥¨ ¡¤Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   —&A
Á
AÁA)r   r   r   Ú*ú**)r   rB   r)   é   rU   ÚeerS   )r   rB   é   )r   r   r   rT   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   rD   rE   s      r   Útest_filter_varargsrY   o   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   r+   ©r   rB   ©rS   rT   ©r)   rU   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   rD   rE   s      r   Útest_filter_kwargsr^   ‚   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   c                  óR  — t          t          g dddi¦  «        ddddidœk    sJ ‚t          j        t          d¦  «        } t          t          d¬¦  «        5  t          | g d¦  «        dgi d	œk    sJ ‚t          | d
gd¦  «        dgi d	œk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NrZ   rV   rB   r   )r   r   rT   zCannot inspect objectrN   rA   r[   r   )r   r$   Ú	functoolsÚpartialr   r   ÚUserWarning©Úffs    r   Útest_filter_args_2re   Ž   s%  € Ý•q˜"˜f t¨Q iÑ0Ô0¸!À!ÈDÐRSÈ9Ð4UÐ4UÒUÐUÐUÐUå	Ô	�1˜aÑ	 Ô	 €Bå	�{Ð"9Ð	:Ñ	:Ô	:ð Dð DÝ˜2˜r 4Ñ(Ô(°1°#¸RÐ,@Ð,@Ò@Ð@Ð@Ð@Ý˜2 ˜u dÑ+Ô+°a°SÀÐ/CÐ/CÒCÐCÐCÐCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Ds   Á8BÂB Â#B zfunc,funcnamer   r   r9   c                 ó<   — t          | ¦  «        d         |k    sJ ‚d S )Nr   ©r   )rF   Úfuncnames     r   Útest_func_nameri   ˜   s(   € õ ˜ÑÔ˜qÔ! XÒ-Ð-Ð-Ð-Ð-Ð-r   c                 ó<   — t          | ¦  «        d         dk    sJ ‚d S )Nr   r2   rg   )r9   s    r   Útest_func_name_on_inner_funcrk   Ÿ   s)   € õ ˜Ñ%Ô% aÔ(Ð,?Ò?Ð?Ð?Ð?Ð?Ð?r   c                  óf   — d„ } d„ } | ¦   «         \  }} |¦   «         \  }}||k    sJ ‚||k    sJ ‚d S )Nc                  ó&   — d„ } t          | ¦  «        S )Nc                  ó   — d S r   r   r   r   r   Ú
inner_funczEtest_func_name_collision_on_inner_func.<locals>.f.<locals>.inner_funcª   ó   € ØˆFr   rg   ©ro   s    r   r   z1test_func_name_collision_on_inner_func.<locals>.f©   ó!   € ð	ð 	ð 	õ ˜ZÑ(Ô(Ð(r   c                  ó&   — d„ } t          | ¦  «        S )Nc                  ó   — d S r   r   r   r   r   ro   zEtest_func_name_collision_on_inner_func.<locals>.g.<locals>.inner_func°   rp   r   rg   rq   s    r   r   z1test_func_name_collision_on_inner_func.<locals>.g¯   rr   r   r   )r   r   r-   ÚnameÚother_moduleÚ
other_names         r   Ú&test_func_name_collision_on_inner_funcrx   ¦   si   € ð)ð )ð )ð)ð )ð )ð �1‘3”3�L€FˆDØ ˜q™sœsÑ€L�*à�:ÒÐÐÐØ�\Ò!Ð!Ð!Ð!Ð!Ð!r   c                  óâ  — t          dj        ¦  «        d         dk    sJ ‚t          dj        ¦  «        dd …         dk    sJ ‚d„ } t          | d¬¦  «        d         d	k    sJ ‚t          | ¦  «        d         t                               d
d¦  «        k    sJ ‚d| _        t          | d¬¦  «        d         d	k    sJ ‚t          | ¦  «        d         t                               d
d¦  «        k    sJ ‚d S )NÚaéÿÿÿÿÚlowerr   )Nr{   c                 ó   — | S r   r   r   s    r   ú<lambda>z*test_func_inspect_errors.<locals>.<lambda>À   s   € �1€ r   F)Úwin_charactersz<lambda>z.pycz.pyÚ__main__)r   r|   r   Ú__file__Úreplacer?   rc   s    r   Útest_func_inspect_errorsrƒ   ¼   sü   € å˜œÑ#Ô# BÔ'¨7Ò2Ð2Ð2Ð2Ý˜œÑ#Ô# A B BÔ'¨:Ò5Ð5Ð5Ð5Ø	ˆ€BÝ˜¨EÐ2Ñ2Ô2°2Ô6¸*ÒDÐDÐDÐDÝ˜ÑÔ˜QÔ¥8×#3Ò#3°F¸EÑ#BÔ#BÒBÐBÐBÐBà€B„MÝ˜¨EÐ2Ñ2Ô2°2Ô6¸*ÒDÐDÐDÐDÝ˜ÑÔ˜QÔ¥8×#3Ò#3°F¸EÑ#BÔ#BÒBÐBÐBÐBÐBÐBr   Úkw1Úkw2©r„   r…   c                ó   — d S r   r   ©rz   Úbr„   r…   s       r   Úfunc_with_kwonly_argsrŠ   É   r   r   rz   r‰   Úreturnc                 ó   — d S r   r   ©rz   r‰   s     r   Úfunc_with_signaturerŽ   Í   r   r   )r„   c                 ó   — d S r   r   r†   s     r   Ú(func_with_kwonly_default_before_requiredr�   Ñ   r   r   c                  ó�   — t          t          g dddi¦  «        dddœk    sJ ‚t          t          g ddddœ¦  «        dddœk    sJ ‚d S )Nr   r…   rB   r„   r†   r   )r   r�   r   r   r   Ú/test_filter_args_kwonly_default_before_requiredr’   Õ   s„   € ÝÝ0°"°b¸5À!¸*ñô à˜qÐ	!Ð	!ò"ð "ð "ð "õ Ý0°"°bÀ!ÈAÐ:NÐ:Nñô à˜1Ð	Ð	òð ð ð ð ð r   c                  óf  — t          t          g ddddœ¦  «        dddddœk    sJ ‚t          t          d¬	¦  «        5  t          t          g d
ddi¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          ddgddddœ¦  «        dddœk    sJ ‚t          t          dgd¦  «        ddik    sJ ‚d S )NrZ   r)   rU   r†   r   rB   rˆ   zToo many arguments forrN   )r   rB   r)   r…   r‰   )rz   r„   rz   )r   rŠ   r   rP   rŽ   r   r   r   Útest_filter_args_edge_casesr”   Þ   sL  € ÝÕ,¨b°&À!ÈAÐ:NÐ:NÑOÔOØØØØð	Tð Tò ð ð ð õ 
•
Ð":Ð	;Ñ	;Ô	;ð Fð FÝÕ)¨2¨y¸5À!¸*ÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ Ý  U˜|¨V¸QÀqÐ5IÐ5Iñô à˜Ð	Ð	òð ð ð õ Õ*¨S¨E°6Ñ:Ô:¸sÀA¸hÒFÐFÐFÐFÐFÐFs   ¼A"Á"A&Á)A&c                  óž   — t          ¦   «         } t          ¦   «         }t          | j        g d¦  «        t          |j        g d¦  «        k    sJ ‚dS )z�Make sure that calling the same method on two different instances
    of the same class does resolv to different signatures.
    rA   NrJ   r�   s     r   Útest_bound_methodsr–   ò   sI   € õ 	‰Œ€AÝ‰Œ€AÝ�q”s˜B Ñ%Ô%­°Q´S¸"¸dÑ)CÔ)CÒCÐCÐCÐCÐCÐCr   zexception,regex,func,argsz1ignore_lst must be a list of parameters to ignoreÚbarr   z-Ignore list: argument \'(.*)\' is not definedzWrong number of argumentsc                 ó˜   — t          | ¦  «        5 }t          |g|¢R Ž  ddd¦  «         n# 1 swxY w Y   |                     |¦  «         dS )z\Make sure that filter_args returns decent error messages, for the
    sake of the user.
    N)r   r   rO   )Ú	exceptionÚregexrF   r   Úexcinfos        r   Útest_filter_args_error_msgrœ   û   s’   € õ, 
�	Ñ	Ô	ð !˜gÝ�DÐ ˜4Ð Ð Ð Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !à‡M‚M�%ÑÔÐÐÐs   �*ª.±.c                  óP   — ddi} t          t          g g | ¦  «         | ddik    sJ ‚dS )z®None-regression test against 0.12.0 changes.

    https://github.com/joblib/joblib/pull/75

    Make sure filter args doesn't mutate the kwargs dict that gets passed in.
    r   r   N)r   r   )r   s    r   Ú#test_filter_args_no_kwargs_mutationrž     s<   € ð �1ˆX€FÝ•�2�r˜6Ñ"Ô"Ð"Ø�c˜1�XÒÐÐÐÐÐr   c                  ó>   — d} t          | ¦  «        }dD ]}||vsJ ‚Œ	d S )NzC:\foo\bar\main.py)ú\ú:ú<ú>ú!)r   )ÚstringÚmangled_stringÚchars      r   Útest_clean_win_charsr¨   "  sA   € Ø"€FÝ% fÑ-Ô-€NØ*ð *ð *ˆØ˜>Ð)Ð)Ð)Ð)Ð)ð*ð *r   zfunc,args,kwargs,sgn_expectedé   zg([0, 1, 2, 3, 4]))r   rB   r\   Tzk(1, 2, (3, 4), y=True)c                 ó<   — t          | g|¢R i |¤Ž\  }}||k    sJ ‚d S r   )r   )rF   r   r   Úsgn_expectedÚpathÚ
sgn_results         r   Útest_format_signaturer®   )  s=   € õ (¨Ð>¨tÐ>Ð>Ð>°vÐ>Ð>Ñ€Dˆ*Ø˜Ò%Ð%Ð%Ð%Ð%Ð%r   c                  óú  ‡— d} d}d| z  Št          t          ‰¦  «        \  }}t          |¦  «        |k     sJ ‚d}ˆfd„t          |¦  «        D ¦   «         }t          t          g|¢R Ž \  }}t          |¦  «        ||z  k     sJ ‚d„ t	          |¦  «        D ¦   «         }t          t          fi |¤Ž\  }}t          |¦  «        ||z  k     sJ ‚t          t          g|¢R i |¤Ž\  }}t          |¦  «        |dz  |z  k     sJ ‚d S )NiÜ  iÆ  rz   r©   c                 ó   •— g | ]}‰‘ŒS r   r   )Ú.0Ú_Úargs     €r   ú
<listcomp>z8test_format_signature_long_arguments.<locals>.<listcomp>B  s   ø€ Ð(Ð(Ð(�AˆCÐ(Ð(Ð(r   c                 ó4   — i | ]\  }}t          |¦  «        |“ŒS r   )Ústr)r±   r"   r³   s      r   ú
<dictcomp>z8test_format_signature_long_arguments.<locals>.<dictcomp>F  s$   € Ð8Ð8Ð8™f˜a �c�!‰fŒf�cÐ8Ð8Ð8r   rB   )r   r    ÚlenÚrangeÚ	enumerate)Úshortening_thresholdÚshortening_targetr²   Ú	signatureÚnb_argsr   r   r³   s          @r   Ú$test_format_signature_long_argumentsr¿   6  s9  ø€ ØÐð !Ðà
Ð$Ñ
$€CÝ#¥A sÑ+Ô+�L€A€yÝˆy‰>Œ>Ð-Ò-Ð-Ð-Ð-à€GØ(Ð(Ð(Ð(�˜w™œÐ(Ñ(Ô(€DÝ#¥AÐ-¨Ð-Ð-Ð-�L€A€yÝˆy‰>Œ>Ð-°Ñ7Ò7Ð7Ð7Ð7à8Ð8­	°$©¬Ð8Ñ8Ô8€FÝ#¥AÐ0Ð0¨Ð0Ð0�L€A€yÝˆy‰>Œ>Ð-°Ñ7Ò7Ð7Ð7Ð7å#¥AÐ7¨Ð7Ð7Ð7°Ð7Ð7�L€A€yÝˆy‰>Œ>Ð-°Ñ1°GÑ;Ò;Ð;Ð;Ð;Ð;Ð;r   c                  ó   — dS )z0Test the format signature formatting with numpy.Nr   r   r   r   Útest_format_signature_numpyrÁ   N  s   € € € r   c                  ó`   — ddl m}  t          | ¦  «        \  }}}|dk    sJ ‚d|v sJ ‚d|v sJ ‚d S )Nr   ©Úbig5_fr©   zdef big5_f():Ú"test_func_inspect_special_encoding©Ú.joblib.test.test_func_inspect_special_encodingrÄ   r   )rÄ   Ú	func_codeÚsource_fileÚ
first_lines       r   Útest_special_source_encodingrË   S  s]   € ØEÐEÐEÐEÐEÐEå)6°vÑ)>Ô)>Ñ&€Iˆ{˜JØ˜Š?ˆ?ˆ?ˆ?Ø˜iÐ'Ð'Ð'Ð'Ø/°;Ð>Ð>Ð>Ð>Ð>Ð>r   c                  ó8   — ddl m}  t          | ¦  «        d         S )Nr   rÃ   rÆ   rÃ   s    r   Ú	_get_coderÍ   \  s'   € ØEÐEÐEÐEÐEÐEå˜Ñ Ô  Ô#Ð#r   c                  ó¸   ‡— ddl m} mŠ   | d¬¦  «        ˆfd„t          d¦  «        D ¦   «         ¦  «        }t	          t          |¦  «        ¦  «        dk    sJ ‚d S )Nr   ©ÚParallelÚdelayedrB   ©Ún_jobsc              3   óH   •K  — | ]}  ‰t           ¦  «        ¦   «         V — Œd S r   )rÍ   ©r±   r²   rÑ   s     €r   ú	<genexpr>z-test_func_code_consistency.<locals>.<genexpr>f  s6   øè è € ÐFÐF¸Ð1˜w˜w¥yÑ1Ô1Ñ3Ô3ÐFÐFÐFÐFÐFÐFr   r©   r   )Újoblib.parallelrÐ   rÑ   r¹   r¸   Úset©rÐ   ÚcodesrÑ   s     @r   Útest_func_code_consistencyrÛ   b  su   ø€ à1Ð1Ð1Ð1Ð1Ð1Ð1Ð1àˆHˆH˜AÐÑÔÐFÐFÐFÐF½UÀ1¹X¼XÐFÑFÔFÑFÔF€EÝ�s�5‰zŒz‰?Œ?˜aÒÐÐÐÐÐr   c                  ó~   — i } t          t          ddd¬¦  «        d | ¦  «         t          | d         ¦  «        d         S )Nzdef f(x):
    return x
z<ipython-input-0-000000000000>Úexec)ÚfilenameÚmoder   r   )rÝ   Úcompiler   )Únss    r   Ú_get_code_no_sourcerâ   j  sW   € ð 
€BÝÝØ'Ø5Øð	
ñ 	
ô 	
ð
 	Ø
ñô ð õ ˜˜CœÑ!Ô! !Ô$Ð$r   c                  ó¸   ‡— ddl m} mŠ   | d¬¦  «        ˆfd„t          d¦  «        D ¦   «         ¦  «        }t	          |¦  «        t          ¦   «         hk    sJ ‚d S )Nr   rÏ   rB   rÒ   c              3   óH   •K  — | ]}  ‰t           ¦  «        ¦   «         V — Œd S r   )râ   rÕ   s     €r   rÖ   z<test_func_code_consistency_without_source.<locals>.<genexpr>�  s7   øè è € ÐPÐPÀ!Ð;˜w˜wÕ':Ñ;Ô;Ñ=Ô=ÐPÐPÐPÐPÐPÐPr   r©   )r×   rÐ   rÑ   r¹   rØ   râ   rÙ   s     @r   Ú)test_func_code_consistency_without_sourcerå   z  s{   ø€ ð
 2Ð1Ð1Ð1Ð1Ð1Ð1Ð1àˆHˆH˜AÐÑÔÐPÐPÐPÐPÅuÈQÁxÄxÐPÑPÔPÑPÔP€EÝˆu‰:Œ:Õ-Ñ/Ô/Ð0Ò0Ð0Ð0Ð0Ð0Ð0r   )?Ú__doc__r`   ÚpytestÚjoblib.func_inspectr   r   r   r   r   Újoblib.memoryr   Újoblib.test.commonr	   Újoblib.testingr
   r   r   r   r   r   r    r"   r$   r&   r(   r,   r9   Úobjectr;   rH   rL   rR   rY   Útest_filter_kwargs_extra_paramsr^   re   ri   rk   rx   rƒ   rŠ   ÚintrŽ   r�   r’   r”   r–   rP   rœ   rž   r¨   Úlistr¹   r®   r¿   rÁ   rË   rÍ   ÚmarkÚthread_unsaferÛ   râ   rå   r   r   r   ú<module>rò      s
  ððð ð Ð Ð Ð à €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  Ø )Ð )Ð )Ð )Ð )Ð )Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð
	ð 	ð 	ð 	ð	ð 	ð 	ð	�qð 	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð ð 	ð 	ð 	ð 	ð 	ð 	€ˆxÐÑÔðð ñ Ôððð ð ð ð ˆFñ ô ð ð €Øà	
ˆR�ˆJ˜a aÐ(Ð(Ð)Ø	
ˆcˆU�DˆM˜C ˜8Ð$Ø	
ˆcˆU�DˆM˜C ˜8Ð$Ø	
ˆcˆU�D˜3 ˜(Ð# c¨1 XÐ.Ø	
ˆc�3ˆZ˜Ð Ð#Ø	
ˆR�˜˜Q�xÐ ¨°Ð"2Ð"2Ð3Ø	
ˆcˆU�B˜a aÐ(Ð(Ð)¨C°¨8Ð4Ø	
ˆR��c˜1�XÐ  a Ð)Ø	
ˆR�ˆJ˜˜a˜Ð!ð
ñô ð5ð 5ñô ð5ðAð Að Að
,ð ,ð ,ð
 €Øà	
ˆR�ˆJ˜a a¨a°bÀÐCÐCÐDØ	
ˆR�Ð a¨a°a¸qÀ!¸fÈBÐ OÐ OÐPØ	
ˆR�˜˜a�yÐ!¨°¸ÀÈDÐRSÈ9Ð#UÐ#UÐVØ	
ˆcˆU�J  q 	Ð*°!¸!À!ÈDÐRSÈ9Ð,UÐ,UÐVð	ñô ð5ð 5ñô ð5ð
 ˆ"ˆd�S˜!�HÐ	 Q¨QÐ/Ð/Ð0Øˆ"ˆd�S˜!�HÐ	 Q¨Q°QÐ7Ð7Ð8ð#Ð ð €Øà	
ˆR�˜$ ˜Ð#¨A¨q¨6¸$À¸Ð%CÐ%CÐDØ	
ˆR�ˆL  A ¨bÐ1Ð1Ð2ðð &ñ	&ñô ð5ð 5ñô ð5ðDð Dð Dð €ˆ_  3˜x¨!¨S¨°KÀÐ3OÐPÑQÔQð.ð .ñ RÔQð.ð@ð @ð @ð"ð "ð "ð,
Cð 
Cð 
Cð (-°%ð 	ð 	ð 	ð 	ð 	ð	˜3ð 	 3ð 	¨4ð 	ð 	ð 	ð 	ð 5:ð 	ð 	ð 	ð 	ð 	ðð ð ðGð Gð Gð(Dð Dð Dð €Øð Ø?ØØ�GÐð		
ð Ø<ØØˆW�gÐð		
ð 
Ð0°!°b°TÐ:ðñô ð$ð ñ%ô ð$ð	ð 	ð 	ð*ð *ð *ð €Ø#à	
ˆTˆT�%�%˜‘(”(‰^Œ^Ð˜bÐ"6Ð7Ø	
ˆNˆNˆN˜S $˜KÐ)BÐCðñô ð&ð &ñô ð&ð<ð <ð <ð0 ð;ð ;ñ „ð;ð?ð ?ð ?ð$ð $ð $ð „Ôð ð  ñ Ôð ð%ð %ð %ð  „Ôð1ð 1ñ Ôð1ð 1ð 1r   