§
    xÅjÞJ  ã                   óV  — d dl Z d dlZd dlmZ d dlmZmZ d dlZd dlm	Z	 d dl
mZmZmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZ d dlmZmZmZmZ erd dlmZm Z m!Z!m"Z" d dl#m$Z$ d dl%m&Z& 	 d dl'Z#n# e($ r  ed¦  «        ‚w xY w G d„ de¦  «        Z)dd„Z*ddde+ddfd„Z,dS )é    N©Úwraps)ÚTYPE_CHECKINGÚcast)Úrecord_token_usage)Ú_set_span_data_attributeÚget_start_span_functionÚset_data_normalized)ÚOPÚSPANDATA)ÚDidNotEnableÚIntegration)Úshould_send_default_pii)ÚStreamedSpan)Úhas_span_streaming_enabled)Úcapture_internal_exceptionsÚevent_from_exceptionÚhas_data_collection_enabledÚreraise)ÚAnyÚCallableÚIterableÚUnion)ÚChatCompletionStreamOutput)ÚSpanzHuggingface not installedc                   óL   — e Zd ZdZde› �Z	 d
dd deddfd„Zedd	„¦   «         ZdS )ÚHuggingfaceHubIntegrationÚhuggingface_hubzauto.ai.TÚselfÚinclude_promptsÚreturnNc                 ó   — || _         d S ©N)r    )r   r    s     úXC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/huggingface_hub.pyÚ__init__z"HuggingfaceHubIntegration.__init__,   s   € ð  /ˆÔÐÐó    c                  ó6  — t          t          j        j        j        j        t          j        ¦  «        t          j        j        j        _        t          t          j        j        j        j        t          j	        ¦  «        t          j        j        j        _        d S r#   )
Ú_wrap_huggingface_taskr   Ú	inferenceÚ_clientÚInferenceClientÚtext_generationr   ÚGEN_AI_TEXT_COMPLETIONÚchat_completionÚGEN_AI_CHAT© r&   r$   Ú
setup_oncez$HuggingfaceHubIntegration.setup_once1   sq   € õ #ÝÔ)Ô1ÔAÔQÝÔ)ñô õ 	Ô!Ô)Ô9ÔIõ #ÝÔ)Ô1ÔAÔQÝ”ñô õ 	Ô!Ô)Ô9ÔIÐIÐIr&   )T)r!   N)	Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚoriginÚboolr%   Ústaticmethodr1   r0   r&   r$   r   r   (   s~   € € € € € Ø"€JØ$˜
Ð$Ð$€Fð DHð/ð /Ø)ð/Ø<@ð/à	ð/ð /ð /ð /ð
 ð
ð 
ð 
ñ „\ð
ð 
ð 
r&   r   Úexcr   r!   c                 óŽ   — t          | t          j        ¦   «         j        dddœ¬¦  «        \  }}t          j        ||¬¦  «         d S )Nr   F)ÚtypeÚhandled)Úclient_optionsÚ	mechanism)Úhint)r   Ú
sentry_sdkÚ
get_clientÚoptionsÚcapture_event)r9   Úeventr?   s      r$   Ú_capture_exceptionrE   B   sU   € Ý&ØÝ!Ô,Ñ.Ô.Ô6Ø,¸Ð?Ð?ðñ ô �K€Eˆ4õ
 Ô˜U¨Ð.Ñ.Ô.Ð.Ð.Ð.r&   ÚfzCallable[..., Any]Úopc                 óB   ‡ ‡— t          ‰ ¦  «        dˆ ˆfd„¦   «         }|S )NÚargsr   Úkwargsr!   c                  óÌ  •‡‡‡‡— t          j        ¦   «         Š‰                     t          ¦  «        Š‰€ ‰| i |¤ŽS d }d|v r	|d         }n^d|v r	|d         }nQt	          | ¦  «        dk    r>t          | d         t          ¦  «        st          | d         t          ¦  «        r| d         }|€ ‰| i |¤ŽS | d         }|j        p| 	                    d¦  «        pd}‰ 
                    d¦  «        d	         }t          ‰j        ¦  «        r4t           j                             |› d
|› �‰t          j        dœ¬¦  «        Šn) t!          ¦   «         ‰|› d
|› �t          j        ¬¦  «        Š‰                     ¦   «          t%          ‰t&          j        |¦  «         |rt%          ‰t&          j        |¦  «         t&          j        t&          j        t&          j        t&          j        t&          j        t&          j        t&          j        dœ}t;          ‰j        ¦  «        r)‰j        d         d         d         rt&          j        |d<   nt&          j        |d<   t;          ‰j        ¦  «        r7‰j        d         d         d         rt?          ‰t&          j         |d¬¦  «         n2tC          ¦   «         r$‰j"        rt?          ‰t&          j         |d¬¦  «         | #                    ¦   «         D ]j\  }}| 	                    |d ¦  «        }	|	�Mt          |	tH          tJ          tL          t          f¦  «        rt%          ‰||	¦  «         ŒWt?          ‰||	d¬¦  «         Œk	  ‰| i |¤ŽŠnr# tN          $ re}
tQ          j)        ¦   «         }tU          ¦   «         5  tW          |
¦  «          ‰j,        |Ž  d d d ¦  «         n# 1 swxY w Y   t[          |Ž  Y d }
~
nd }
~
ww xY wd }d }g }d}d }d }tU          ¦   «         5  t          ‰t          ¦  «        r‰�| .                    ‰¦  «         t_          ‰d¦  «        r!‰j0        �| .                    ‰j0        ¦  «         t_          ‰d¦  «        r‰j        �‰j        }t_          ‰d¦  «        r!t_          ‰j1        d¦  «        r‰j1        j2        }t_          ‰d¦  «        r-t_          ‰j1        d¦  «        r‰j1        j3        �‰j1        j3        }t_          ‰d¦  «        r‰j4        �‰j4        }t_          ‰d¦  «        r©‰j5        �¢‰j5        D ]š}t_          |d¦  «        r|j2        }t_          |d¦  «        r!t_          |j6        d¦  «        r|j6        j7        }t_          |d¦  «        r@t_          |j6        d¦  «        r+|j6        j8        �| .                    |j6        j8        ¦  «         Œ›|�t%          ‰t&          j9        |¦  «         |�t?          ‰t&          j:        |¦  «         |��t	          |¦  «        dk    r}t;          ‰j        ¦  «        r7‰j        d         d         d         rt?          ‰t&          j;        |d¬¦  «         n2tC          ¦   «         r$‰j"        rt?          ‰t&          j;        |d¬¦  «         t	          |¦  «        dk    r�d <                    |¦  «        }|ryt;          ‰j        ¦  «        r5‰j        d         d         d         rt?          ‰t&          j=        |¦  «         n0tC          ¦   «         r"‰j"        rt?          ‰t&          j=        |¦  «         |�#t}          ‰|j?        |j@        |jA        ¬¦  «         n|dk    rt}          ‰|¬ ¦  «         t…          jC        ‰¦  «        s%‰ ,                    d d d ¦  «         ‰cd d d ¦  «         S | 	                    dd¦  «        rd&ˆˆˆˆfd#„} |¦   «         cd d d ¦  «         S d'ˆˆˆˆfd%„} |¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )(NÚpromptÚmessagesé   é   r   ÚmodelÚ ú.éÿÿÿÿú )z	sentry.opzsentry.origin)ÚnameÚ
attributes)rG   rU   r6   )Úfrequency_penaltyÚ
max_tokensÚpresence_penaltyÚtemperatureÚtop_pÚtop_kÚstreamÚdata_collectionÚgen_aiÚinputsÚtoolsF©ÚunpackÚgenerated_textÚdetailsÚfinish_reasonÚgenerated_tokensÚusageÚchoicesÚmessageÚ
tool_callsÚcontentÚoutputs©Úinput_tokensÚoutput_tokensÚtotal_tokens©rq   r!   úIterable[Any]c               3   ó¨  •K  — d } g }d}t          ¦   «         5  ‰D ]Ä}t          |d¦  «        r@t          |j        d¦  «        r+|j        j        �|                     |j        j        ¦  «         t          |d¦  «        r!t          |j        d¦  «        r|j        j        } t          |d¦  «        r-t          |j        d¦  «        r|j        j        �|j        j        }|V — ŒÅ| �t          ‰	t          j
        | ¦  «         d}t          ‰j        ¦  «        r‰j        d         d	         d
         rd}nt          ¦   «         r	‰j        rd}|rEt          |¦  «        dk    r2d                     |¦  «        }|rt          ‰	t          j        |¦  «         |dk    rt%          ‰	|¬¦  «         d d d ¦  «         n# 1 swxY w Y   ‰	                     d d d ¦  «         d S )Nr   ÚtokenÚtextre   rf   rg   Fr^   r_   rm   TrQ   rr   )r   Úhasattrru   rv   Úappendre   rf   rg   r
   r   ÚGEN_AI_RESPONSE_FINISH_REASONSr   rB   r   r    ÚlenÚjoinÚGEN_AI_RESPONSE_TEXTr   Ú__exit__)
rf   Úresponse_text_bufferÚtokens_usedÚchunkÚshould_set_response_textÚtext_responseÚclientÚintegrationÚresÚspans
         €€€€r$   Únew_details_iteratorzR_wrap_huggingface_task.<locals>.new_huggingface_task.<locals>.new_details_iterator  st  øè è € Ø$(�MØ8:Ð(Ø"#�Kå4Ñ6Ô6ð 3ð 3Ø%(ð (ð (˜Eå '¨¨wÑ 7Ô 7ðNå$+¨E¬K¸Ñ$@Ô$@ðNð %*¤KÔ$4Ð$@à 4× ;Ò ;¸E¼KÔ<LÑ MÔ MÐ Må& u¨iÑ8Ô8ð L½WØ %¤¨ñ>ô >ð Lð 16´Ô0K õ !(¨¨yÑ 9Ô 9ðMå$+¨E¬MÐ;MÑ$NÔ$NðMð %*¤MÔ$BÐ$Nà.3¬mÔ.L à"'˜K˜K˜K˜Kà(Ð4Ý/Ø $Ý (Ô GØ -ñô ð ð 49Ð0Ý6°v´~ÑFÔFð <Ø%œ~Ð.?Ô@ÀÔJÈ9ÔUð @Ø;?Ð 8øÝ4Ñ6Ô6ð <¸;Ô;Vð <Ø7;Ð4à3ð &Ý"Ð#7Ñ8Ô8¸1Ò<Ð<Ø02·²Ð8LÑ0MÔ0M Ø#0ð !&Ý$7Ø(,Ý(0Ô(EØ(5ñ%&ô %&ð %&ð '¨š?˜?Ý.Ø $Ø-8ðñ ô ð ða3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ðj —M’M $¨¨dÑ3Ô3Ð3Ð3Ð3s   ˜FF0Æ0F4Æ7F4ú$Iterable[ChatCompletionStreamOutput]c               3   ó\  •K  — d } d }g }d }d }t          ¦   «         5  t          d‰
¦  «        D �];}t          |d¦  «        r|j        �|j        }t          |d¦  «        r|j        �|j        }t          |t          ¦  «        r|�|                     |¦  «         t          |d¦  «        r¼|j        �µ|j        D ]­}t          |d¦  «        r@t          |j	        d¦  «        r+|j	        j
        �|                     |j	        j
        ¦  «         t          |d¦  «        r|j        �|j        } t          |d¦  «        r-t          |j	        d¦  «        r|j	        j        �|j	        j        }Œ®|V — �Œ=|�t          ‰t          j        |¦  «         | �t!          ‰t          j        | ¦  «         |��t%          |¦  «        d	k    r}t'          ‰j        ¦  «        r7‰j        d
         d         d         rt!          ‰t          j        |d¬¦  «         n2t-          ¦   «         r$‰	j        rt!          ‰t          j        |d¬¦  «         t%          |¦  «        d	k    r�d                     |¦  «        }|ryt'          ‰j        ¦  «        r5‰j        d
         d         d         rt!          ‰t          j        |¦  «         n0t-          ¦   «         r"‰	j        rt!          ‰t          j        |¦  «         |�"t5          ‰|j        |j        |j        ¬¦  «         ‰                     d d d ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrˆ   rP   rh   ri   Údeltarl   rf   rk   r   r^   r_   rm   Frb   rQ   rn   )r   r   rw   rP   rh   Ú
isinstanceÚstrrx   ri   rŠ   rl   rf   rk   r   r   ÚGEN_AI_RESPONSE_MODELr
   ry   rz   r   rB   ÚGEN_AI_RESPONSE_TOOL_CALLSr   r    r{   r|   r   Úprompt_tokensÚcompletion_tokensrq   r}   )rf   Úresponse_modelr~   rk   rh   r€   Úchoicer‚   rƒ   r„   r…   r†   s           €€€€r$   Únew_iteratorzJ_wrap_huggingface_task.<locals>.new_huggingface_task.<locals>.new_iteratorY  s#  øè è € Ø$(�MØ%)�NØ8:Ð(Ø!%�JØ �Eå4Ñ6Ô6ð f8ð f8Ý%)Ð*PÐRUÑ%VÔ%Vð #(ñ #(˜EÝ& u¨gÑ6Ô6ð =¸5¼;Ð;RØ16´ å& u¨gÑ6Ô6ð 4¸5¼;Ð;RØ(-¬ å)¨%µÑ5Ô5ð GØ#(Ð#4Ø$8×$?Ò$?ÀÑ$FÔ$FÐ$Få& u¨iÑ8Ô8ð M¸U¼]Ð=VØ.3¬mð !Mð !M Få(/°¸Ñ(@Ô(@ð%*å,3°F´LÀ)Ñ,LÔ,Lð%*ð -3¬LÔ,@Ð,Là(<×(CÒ(CØ,2¬LÔ,@ñ)*ô )*ð )*õ
 )0°¸Ñ(HÔ(Hð%Mà,2Ô,@Ð,Là8>Ô8L¨õ )0°¸Ñ(@Ô(@ð%Må,3°F´LÀ,Ñ,OÔ,Oð%Mð -3¬LÔ,CÐ,Oà5;´\Ô5L¨
øà"'˜K˜K˜K™Kà)Ð5Ý4Ø $¥hÔ&DÀnñô ð ð )Ð4Ý/Ø $Ý (Ô GØ -ñô ð ð &Ð1µc¸*±o´oÈÒ6IÐ6IÝ:¸6¼>ÑJÔJð "Ø#)¤>Ð2CÔ#DÀXÔ#NØ$-ô$"ð !&õ %8Ø(,Ý(0Ô(KØ(2Ø/4ð	%&ñ %&ô %&ð %&øõ !8Ñ 9Ô 9ð	"à$/Ô$?ð	"õ !4Ø$(Ý$,Ô$GØ$.Ø+0ð	!"ñ !"ô !"ð !"õ Ð3Ñ4Ô4°qÒ8Ð8Ø,.¯GªGÐ4HÑ,IÔ,I˜MØ,ð &Ý#>¸v¼~Ñ#NÔ#Nð !&Ø'-¤~Ð6GÔ'HÈÔ'RØ(1ô(&ð %*õ )<Ø,0Ý,4Ô,IØ,9ñ)*ô )*ð )*øõ %<Ñ$=Ô$=ð!&à(3Ô(Cð!&õ %8Ø(,Ý(0Ô(EØ(5ñ%&ô %&ð %&ð !Ð,Ý.Ø $Ø-2Ô-@Ø.3Ô.EØ-2Ô-?ð	ñ ô ð ð Ÿš d¨D°$Ñ7Ô7Ð7ðMf8ð f8ð f8ñ f8ô f8ð f8ð f8ð f8ð f8ð f8ð f8ð f8øøøð f8ð f8ð f8ð f8ð f8ð f8s   œK8L!Ì!L%Ì(L%)r!   rs   )r!   rˆ   )Dr@   rA   Úget_integrationr   rz   r‹   rŒ   ÚlistrP   ÚgetÚsplitr   rB   ÚtracesÚ
start_spanr6   r	   Ú	__enter__r   r   ÚGEN_AI_OPERATION_NAMEÚGEN_AI_REQUEST_MODELÚ GEN_AI_REQUEST_FREQUENCY_PENALTYÚGEN_AI_REQUEST_MAX_TOKENSÚGEN_AI_REQUEST_PRESENCE_PENALTYÚGEN_AI_REQUEST_TEMPERATUREÚGEN_AI_REQUEST_TOP_PÚGEN_AI_REQUEST_TOP_KÚGEN_AI_RESPONSE_STREAMINGr   ÚGEN_AI_REQUEST_AVAILABLE_TOOLSr
   ÚGEN_AI_REQUEST_MESSAGESr   r    ÚitemsÚintÚfloatr7   Ú	ExceptionÚsysÚexc_infor   rE   r}   r   rx   rw   rd   re   rf   rg   rh   ri   rj   rk   rl   r�   ry   rŽ   r{   r|   r   r�   r�   rq   ÚinspectÚisgenerator)rI   rJ   rL   Ú	hf_clientrP   Úoperation_nameÚattribute_mappingÚ	attributeÚspan_attributeÚvalueÚer«   rf   r‘   r~   r   rk   rh   r’   r‚   r‡   r“   rƒ   r„   r…   r†   rF   rG   s                         @@@@€€r$   Únew_huggingface_taskz4_wrap_huggingface_task.<locals>.new_huggingface_taskL   s
  øøøøø€ åÔ&Ñ(Ô(ˆØ×,Ò,Õ-FÑGÔGˆØÐØ�1�dÐ%˜fÐ%Ð%Ð%àˆØ�vÐÐØ˜HÔ%ˆFˆFØ˜6Ð!Ð!Ø˜JÔ'ˆFˆFÝ�‰YŒY˜!Š^ˆ^Ý˜$˜qœ'¥3Ñ'Ô'ð !­:°d¸1´g½tÑ+DÔ+Dð !Ø˜aœ�àˆ>à�1�dÐ%˜fÐ%Ð%Ð%à˜”Gˆ	Ø”Ð< 6§:¢:¨gÑ#6Ô#6Ð<¸"ˆØŸš #™œ rÔ*ˆõ & f¤nÑ5Ô5ð 	ÝÔ$×/Ò/Ø&Ð0Ð0¨Ð0Ð0à!#Ý%>Ô%Eðð ð 0ñ ô ˆDˆDð -Õ*Ñ,Ô,ØØ&Ð0Ð0¨Ð0Ð0Ý0Ô7ðñ ô ˆDð
 	�ŠÑÔÐå  ¥xÔ'EÀ~ÑVÔVÐVàð 	QÝ$ T­8Ô+HÈ%ÑPÔPÐPõ "*Ô!JÝ"Ô<Ý (Ô HÝ#Ô>ÝÔ2ÝÔ2ÝÔ8ð
ð 
Ðõ ' v¤~Ñ6Ô6ð 	QØŒ~Ð/Ô0°Ô:¸8ÔDð UÝ-5Ô-TÐ! 'Ñ*øõ *2Ô)PÐ˜gÑ&õ ' v¤~Ñ6Ô6ð 	ØŒ~Ð/Ô0°Ô:¸8ÔDð Ý#Ø�(Ô:¸FÈ5ðñ ô ð øõ %Ñ&Ô&ð 	¨;Ô+Fð 	ÝØ•hÔ6¸Àuðñ ô ð ð *;×)@Ò)@Ñ)BÔ)Bð 	Sð 	SÑ%ˆI�~Ø—J’J˜y¨$Ñ/Ô/ˆEØÐ Ý˜e¥c­5µ$½Ð%<Ñ=Ô=ð SÝ,¨T°>À5ÑIÔIÐIÐIå'¨¨n¸eÈEÐRÑRÔRÐRøð	Ø�!�TÐ$˜VÐ$Ð$ˆCˆCøÝð 	ð 	ð 	Ý”|‘~”~ˆHÝ,Ñ.Ô.ð )ð )Ý" 1Ñ%Ô%Ð%Ø�”˜xÐ(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ �XÐÐÐÐÐÐÐøøøøð	øøøð ˆØˆØ,.ÐØˆØˆ
Øˆå(Ñ*Ô*ð X	&ð X	&Ý˜#�sÑ#Ô#ð 1¨¨Ø$×+Ò+¨CÑ0Ô0Ð0å�sÐ,Ñ-Ô-ð @°#Ô2DÐ2PØ$×+Ò+¨CÔ,>Ñ?Ô?Ð?å�s˜GÑ$Ô$ð +¨¬Ð)>Ø!$¤�å�s˜IÑ&Ô&ð :­7°3´;ÀÑ+PÔ+Pð :Ø #¤Ô 9�õ ˜˜YÑ'Ô'ð;å˜CœKÐ);Ñ<Ô<ð;ð ”KÔ0Ð<à!œkÔ:�å�s˜GÑ$Ô$ð "¨¬Ð)>Øœ	�å�s˜IÑ&Ô&ð L¨3¬;Ð+BØ!œkð Lð L�FÝ˜v Ñ7Ô7ð =Ø(.Ô(<˜Ý˜v yÑ1Ô1ð ?µgØœ¨ñ7ô 7ð ?ð &,¤^Ô%>˜
å ¨	Ñ2Ô2ðLå# F¤N°IÑ>Ô>ðLð #œNÔ2Ð>à,×3Ò3°F´NÔ4JÑKÔKÐKøàÐ)Ý(Ø�(Ô8¸.ñô ð ð Ð(Ý#ØÝÔ;Ø!ñô ð ð Ð%­#¨j©/¬/¸AÒ*=Ð*=Ý.¨v¬~Ñ>Ô>ð Ø”~Ð&7Ô8¸ÔBÀ9ÔMð Ý+Ø Ý$Ô?Ø&Ø#(ð	ñ ô ð øõ -Ñ.Ô.ð °;Ô3Nð Ý'ØÝ Ô;Ø"Ø$ð	ñ ô ð õ Ð'Ñ(Ô(¨1Ò,Ð,Ø "§¢Ð(<Ñ =Ô =�Ø ð Ý2°6´>ÑBÔBð Ø!œ>Ð*;Ô<¸XÔFÀyÔQð Ý/Ø $Ý (Ô =Ø -ñô ð øõ
 1Ñ2Ô2ð °{Ô7Rð Ý+Ø Ý$Ô9Ø)ñô ð ð Ð Ý"ØØ!&Ô!4Ø"'Ô"9Ø!&Ô!3ð	ñ ô ð ð ð ˜q’�Ý"ØØ!,ðñ ô ð õ Ô& sÑ+Ô+ð Ø—’˜d D¨$Ñ/Ô/Ð/ØðKX	&ð X	&ð X	&ð X	&ñ X	&ô X	&ð X	&ð X	&ðN �zŠz˜) UÑ+Ô+ð q&ð:4ð :4ð :4ð :4ð :4ð :4ð :4ð :4ð :4ðx ,Ð+Ñ-Ô-ðKX	&ð X	&ð X	&ð X	&ñ X	&ô X	&ð X	&ð X	&ðRm8ð m8ð m8ð m8ð m8ð m8ð m8ð m8ð m8ð^ $�|‘~”~ðqX	&ð X	&ð X	&ð X	&ñ X	&ô X	&ð X	&ð X	&ð X	&ð X	&ð X	&ð X	&øøøð X	&ð X	&ð X	&ð X	&ð X	&ð X	&s[   ÍM Í
OÍ!N>Í?N%ÎN>Î%N)	Î)N>Î,N)	Î-N>Î>OÏ N_Þ(_Þ:_ß_ß _)rI   r   rJ   r   r!   r   r   )rF   rG   rµ   s   `` r$   r(   r(   K   sG   øø€ Ý
ˆ1�X„Xð{&ð {&ð {&ð {&ð {&ð {&ñ „Xð{&ðz  Ðr&   )r9   r   r!   N)-r¬   rª   Ú	functoolsr   Útypingr   r   r@   Úsentry_sdk.ai.monitoringr   Úsentry_sdk.ai.utilsr   r	   r
   Úsentry_sdk.constsr   r   Úsentry_sdk.integrationsr   r   Úsentry_sdk.scoper   Úsentry_sdk.tracesr   Úsentry_sdk.tracing_utilsr   Úsentry_sdk.utilsr   r   r   r   r   r   r   r   r   r   Úsentry_sdk.tracingr   Ú!huggingface_hub.inference._clientÚImportErrorr   rE   rŒ   r(   r0   r&   r$   ú<module>rÃ      sQ  ðØ €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð ð ð
 +Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð (Ø5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ðð ð ð ð ð ð (Ð'Ð'Ð'Ð'Ð'ð4Ø,Ð,Ð,Ð,Ð,øØð 4ð 4ð 4Ø
ˆ,Ð2Ñ
3Ô
3Ð3ð4øøøð
ð 
ð 
ð 
ð 
 ñ 
ô 
ð 
ð4/ð /ð /ð /ð Ð2ð  ¸ð  Ð@Tð  ð  ð  ð  ð  ð  s   Á4A9 Á9B
