§
    ‚ŠtjÀ1  ã                   ó"  — d dl mZ d dlZd dlmZ d dlmZ ddlmZm	Z	 ddl
mZ ddlmZmZ ddlmZ 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 ddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& ddl'm(Z(  ej)        e*¦  «        Z+ ed¬¦  «        e G d„ de¦  «        ¦   «         ¦   «         Z, G d„ de$¦  «        Z- G d„ de"¦  «        Z. G d„ de¦  «        Z/ G d„ de ¦  «        Z0 G d„ de#¦  «        Z1 G d„ d e(¦  «        Z2 G d!„ d"e!¦  «        Z3g d#¢Z4dS )$é    )ÚCallableN)Ústricté   )ÚCacheÚDynamicCache)ÚPreTrainedConfig)Úcreate_causal_maskÚ!create_sliding_window_causal_mask)ÚBaseModelOutputWithPast)ÚRopeParametersÚdynamic_rope_update)ÚALL_ATTENTION_FUNCTIONS)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚlogging)Úmaybe_autocasté   )ÚCohereAttentionÚCohereDecoderLayerÚCohereForCausalLMÚCohereLayerNormÚCoherePreTrainedModelÚCohereRotaryEmbeddingÚapply_rotary_pos_embÚeager_attention_forward)ÚGemma2ModelzCohereForAI/c4ai-command-r-v01)Ú
checkpointc                   óâ  ‡ — e Zd ZU dZdZdgZddddddddœZdgdgfd	d
gd	gfd	gd	gfdœZdZe	e
d<   dZe	e
d<   dZe	e
d<   dZee
d<   dZe	e
d<   dZe	e
d<   dZe	dz  e
d<   dZee
d<   dZe	e
d<   dZee
d<   dZee
d <   d!Zee
d"<   d#Ze	dz  e
d$<   d%Ze	dz  e
d&<   d'Ze	ee	         z  dz  e
d(<   d!Zee
d)<   dZee z  dz  e
d*<   d+Z!ee
d,<   d-Z"ee	z  e
d.<   d/Z#e	dz  e
d0<   dZ$ee         dz  e
d1<   ˆ fd2„Z%ˆ xZ&S )3ÚCohere2Configa  
    logit_scale (`float`, *optional*, defaults to 0.0625):
        The scaling factor for the output logits.

    ```python
    >>> from transformers import Cohere2Model, Cohere2Config

    >>> # Initializing a Cohere Nextmodel configuration
    >>> configuration = Cohere2Config()

    >>> # Initializing a model from the Cohere2 configuration
    >>> model = Cohere2Model(configuration) # doctest: +SKIP

    >>> # Accessing the model configuration
    >>> configuration = model.config # doctest: +SKIP
    ```
    Úcohere2Úpast_key_valuesÚcolwiseÚrowwise)zlayers.*.self_attn.q_projzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projzlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚ	input_idsÚinputs_embedsÚhidden_statesÚattention_mask)Úembed_tokensÚlayersÚnormi è Ú
vocab_sizei    Úhidden_sizei X  Úintermediate_sizeg      °?Úlogit_scaleé(   Únum_hidden_layersé@   Únum_attention_headsNÚnum_key_value_headsÚsiluÚ
hidden_actÚmax_position_embeddingsg{®Gáz”?Úinitializer_rangegñhãˆµøä>Úlayer_norm_epsTÚ	use_cacher   Úpad_token_idé   Úbos_token_idiä Úeos_token_idÚtie_word_embeddingsÚrope_parametersFÚattention_biasç        Úattention_dropouti   Úsliding_windowÚlayer_typesc                 ó  •‡— | j         €| j        | _         | j        | j        z  | _        | j        €;|                     dd¦  «        Šˆfd„t          | j        ¦  «        D ¦   «         | _         t          ¦   «         j	        di |¤Ž d S )NÚsliding_window_patterné   c                 óB   •— g | ]}t          |d z   ‰z  ¦  «        rdnd‘ŒS )é   Úsliding_attentionÚfull_attention)Úbool)Ú.0ÚiÚ_sliding_window_patterns     €úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/cohere2/modular_cohere2.pyú
<listcomp>z/Cohere2Config.__post_init__.<locals>.<listcomp>x   sG   ø€ ð  ð  ð  àõ (,¨Q°©UÐ6MÑ,MÑ'NÔ'NÐdÐ#Ð#ÐTdð ð  ð  ó    © )
r4   r3   r-   Úhead_dimrE   ÚpopÚranger1   ÚsuperÚ__post_init__)ÚselfÚkwargsrP   Ú	__class__s     @€rQ   rY   zCohere2Config.__post_init__m   s§   øø€ ØÔ#Ð+Ø'+Ô'?ˆDÔ$ð Ô(¨DÔ,DÑDˆŒð ÔÐ#à&,§j¢jÐ1IÈ1Ñ&MÔ&MÐ#ð ð  ð  ð  å˜tÔ5Ñ6Ô6ð ñ  ô  ˆDÔð
 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'rS   )'Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planr,   ÚintÚ__annotations__r-   r.   r/   Úfloatr1   r3   r4   r6   Ústrr7   r8   r9   r:   rM   r;   r=   r>   Úlistr?   r@   r   ÚdictrA   rC   rD   rE   rY   Ú__classcell__©r\   s   @rQ   r    r    1   s?  ø€ € € € € € ðð ð$ €JØ#4Ð"5Ðà%.Ø%.Ø%.Ø%.Ø"+Ø )Ø"+ðð Ðð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ðð Ðð €J�ÐÐÑØ€K�ÐÐÑØ"Ð�sÐ"Ð"Ñ"Ø€K�ÐÐÑØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø&*Ð˜˜t™Ð*Ð*Ñ*Ø€J�ÐÐÑØ#'Ð˜SÐ'Ð'Ñ'Ø#Ð�uÐ#Ð#Ñ#Ø €N�EÐ Ð Ñ Ø€IˆtÐÐÑØ €L�#˜‘*Ð Ð Ñ Ø €L�#˜‘*Ð Ð Ñ Ø+1€L�#˜˜Sœ	‘/ DÑ(Ð1Ð1Ñ1Ø $Ð˜Ð$Ð$Ñ$Ø48€O�^ dÑ*¨TÑ1Ð8Ð8Ñ8Ø €N�DÐ Ð Ñ Ø%(Ð�u˜s‘{Ð(Ð(Ñ(Ø!%€N�C˜$‘JÐ%Ð%Ñ%Ø$(€K��c”˜TÑ!Ð(Ð(Ñ(ð(ð (ð (ð (ð (ð (ð (ð (ð (rS   r    c                   óN   — e Zd Z ej        ¦   «         ed„ ¦   «         ¦   «         ZdS )ÚCohere2RotaryEmbeddingc                 ó  — | j         d d d …d f                              ¦   «                              |j        d         dd¦  «        }|d d …d d d …f                              ¦   «         }t	          |j        j        t          ¦  «        r|j        j        dk    r|j        j        nd}t          |d¬¦  «        5  |                     ¦   «         |                     ¦   «         z   	                    dd¦  «        }t          j        |dd¬	¦  «        }|                     ¦   «         | j        z  }|                     ¦   «         | j        z  }	d d d ¦  «         n# 1 swxY w Y   |                     |j        ¬
¦  «        |	                     |j        ¬
¦  «        fS )Nr   éÿÿÿÿrJ   ÚmpsÚcpuF)Údevice_typeÚenabledr   )Údim)Údtype)Úinv_freqrg   ÚexpandÚshapeÚ
isinstanceÚdeviceÚtyperh   r   Ú	transposeÚtorchÚrepeat_interleaveÚcosÚattention_scalingÚsinÚtorv   )
rZ   ÚxÚposition_idsÚinv_freq_expandedÚposition_ids_expandedrs   ÚfreqsÚembr€   r‚   s
             rQ   ÚforwardzCohere2RotaryEmbedding.forward�   s¤  € ð !œM¨$°°°°4¨-Ô8×>Ò>Ñ@Ô@×GÒGÈÔHZÐ[\ÔH]Ð_aÐcdÑeÔeÐØ ,¨Q¨Q¨Q°°a°a°a¨ZÔ 8× >Ò >Ñ @Ô @Ðå'1°!´(´-ÅÑ'EÔ'EÐkÈ!Ì(Ì-Ð[`ÒJ`ÐJ`�a”h”m�mÐfkˆÝ¨¸UÐCÑCÔCð 	5ð 	5Ø&×,Ò,Ñ.Ô.Ð1F×1LÒ1LÑ1NÔ1NÑN×YÒYÐZ[Ð]^Ñ_Ô_ˆEÝÔ)¨%°¸Ð;Ñ;Ô;ˆCØ—'’'‘)”)˜dÔ4Ñ4ˆCØ—'’'‘)”)˜dÔ4Ñ4ˆCð		5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð �vŠv˜AœGˆvÑ$Ô$ c§f¢f°1´7 fÑ&;Ô&;Ð;Ð;s   Â4BEÅEÅEN)r]   r^   r_   r~   Úno_gradr   rŠ   rT   rS   rQ   rn   rn   €   s@   € € € € € Ø€U„]�_„_Øð<ð <ñ Ôñ „_ð<ð <ð <rS   rn   c                   ó   — e Zd ZdS )ÚCohere2LayerNormN©r]   r^   r_   rT   rS   rQ   r�   r�   ‘   ó   € € € € € Ø€DrS   r�   c                   óæ   — e Zd ZdZddededz  fd„Z	 ddej        de	ej        ej        f         dej        dz  d	e
dz  d
ee         de	ej        ej        dz  e	ej                 dz  f         fd„ZdS )ÚCohere2Attentionz=Multi-headed attention from 'Attention Is All You Need' paperNÚconfigÚ	layer_idxc                 óè  — t           j                             | ¦  «         || _        || _        t          |d|j        |j        z  ¦  «        | _        |j        |j	        z  | _
        | j        dz  | _        |j        | _        d| _        |j        |         dk    r|j        nd | _        t          j        |j        |j        | j        z  |j        ¬¦  «        | _        t          j        |j        |j	        | j        z  |j        ¬¦  «        | _        t          j        |j        |j	        | j        z  |j        ¬¦  «        | _        t          j        |j        | j        z  |j        |j        ¬¦  «        | _        d S )NrU   g      à¿TrK   )Úbias)ÚnnÚModuleÚ__init__r’   r“   Úgetattrr-   r3   rU   r4   Únum_key_value_groupsÚscalingrC   Ú	is_causalrE   rD   ÚLinearrA   Úq_projÚk_projÚv_projÚo_proj)rZ   r’   r“   s      rQ   r˜   zCohere2Attention.__init__˜   se  € Ý
Œ	×Ò˜4Ñ Ô Ð ØˆŒØ"ˆŒÝ ¨
°FÔ4FÈ&ÔJdÑ4dÑeÔeˆŒØ$*Ô$>À&ÔB\Ñ$\ˆÔ!Ø”} dÑ*ˆŒØ!'Ô!9ˆÔØˆŒØ7=Ô7IÈ)Ô7TÐXkÒ7kÐ7k˜fÔ3Ð3ÐquˆÔå”iØÔ Ô :¸T¼]Ñ JÐQWÔQfð
ñ 
ô 
ˆŒõ ”iØÔ Ô :¸T¼]Ñ JÐQWÔQfð
ñ 
ô 
ˆŒõ ”iØÔ Ô :¸T¼]Ñ JÐQWÔQfð
ñ 
ô 
ˆŒõ ”iØÔ&¨¬Ñ6¸Ô8JÐQWÔQfð
ñ 
ô 
ˆŒˆˆrS   r'   Úposition_embeddingsr(   r"   r[   Úreturnc                 ó<  — |j         d d…         }g |¢d‘| j        ‘R }|                      |¦  «                             |¦  «                             dd¦  «        }|                      |¦  «                             |¦  «                             dd¦  «        }	|                      |¦  «                             |¦  «                             dd¦  «        }
|\  }}| j        �t          ||	||¦  «        \  }}	|�| 	                    |	|
| j
        ¦  «        \  }	}
t          j        | j        j        t          ¦  «        } || ||	|
|f| j        sdn| j        | j        | j        dœ|¤Ž\  }} |j        g |¢d‘R Ž                      ¦   «         }|                      |¦  «        }||fS )Nrp   rJ   r   rB   )Údropoutr›   rD   )ry   rU   rž   Úviewr}   rŸ   r    rD   r   Úupdater“   r   Úget_interfacer’   Ú_attn_implementationr   ÚtrainingrC   r›   ÚreshapeÚ
contiguousr¡   )rZ   r'   r¢   r(   r"   r[   Úinput_shapeÚhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesr€   r‚   Úattention_interfaceÚattn_outputÚattn_weightss                   rQ   rŠ   zCohere2Attention.forward°   sÏ  € ð $Ô)¨#¨2¨#Ô.ˆØ8˜Ð8 bÐ8¨$¬-Ð8Ð8ˆà—{’{ =Ñ1Ô1×6Ò6°|ÑDÔD×NÒNÈqÐRSÑTÔTˆØ—[’[ Ñ/Ô/×4Ò4°\ÑBÔB×LÒLÈQÐPQÑRÔRˆ
Ø—{’{ =Ñ1Ô1×6Ò6°|ÑDÔD×NÒNÈqÐRSÑTÔTˆà&‰ˆˆSØÔÐ*Ý';¸LÈ*ÐVYÐ[^Ñ'_Ô'_Ñ$ˆL˜*àÐ&Ø'6×'=Ò'=¸jÈ,ÐX\ÔXfÑ'gÔ'gÑ$ˆJ˜å(?Ô(MØŒKÔ,Õ.Eñ)
ô )
Ðð %8Ð$7ØØØØØð
%
ð  $œ}ÐH�C�C°$Ô2HØ”LØÔ.ð
%
ð 
%
ð ð
%
ð 
%
Ñ!ˆ�\ð *�kÔ)Ð;¨;Ð;¸Ð;Ð;Ð;×FÒFÑHÔHˆØ—k’k +Ñ.Ô.ˆØ˜LÐ(Ð(rS   ©N)r]   r^   r_   r`   r    re   r˜   r~   ÚTensorÚtupler   r   r   rŠ   rT   rS   rQ   r‘   r‘   •   sß   € € € € € ØGÐGð
ð 
˜}ð 
¸¸t¹ð 
ð 
ð 
ð 
ð: )-ð()ð ()à”|ð()ð # 5¤<°´Ð#=Ô>ð()ð œ tÑ+ð	()ð
  ™ð()ð Ð+Ô,ð()ð 
ˆuŒ|˜Uœ\¨DÑ0°%¸¼Ô2EÈÑ2LÐLÔ	Mð()ð ()ð ()ð ()ð ()ð ()rS   r‘   c                   óö   ‡ — e Zd Zdedefˆ fd„Z	 	 	 	 ddej        deej        ej        f         dz  dej        dz  d	e	dz  d
e
dz  dee         deej        eej        ej        f         dz  f         fd„Zˆ xZS )ÚCohere2DecoderLayerr’   r“   c                 óL   •— t          ¦   «                              ||¦  «         d S rµ   )rX   r˜   )rZ   r’   r“   r\   s      €rQ   r˜   zCohere2DecoderLayer.__init__Ü   s#   ø€ Ý‰Œ×Ò˜ Ñ+Ô+Ð+Ð+Ð+rS   NFr'   r¢   r(   r"   r:   r[   r£   c           	      óš   — |}|                       |¦  «        } | j        d|||||dœ|¤Ž\  }}	|                      |¦  «        }
||z   |
z   }|S )N)r'   r¢   r(   r"   r:   rT   )Úinput_layernormÚ	self_attnÚmlp)rZ   r'   r¢   r(   r"   r:   r[   ÚresidualÚhidden_states_attentionÚ_Úhidden_states_mlps              rQ   rŠ   zCohere2DecoderLayer.forwardß   sƒ   € ð !ˆØ×,Ò,¨]Ñ;Ô;ˆØ%3 T¤^ð &
Ø'Ø 3Ø)Ø+Øð&
ð &
ð ð&
ð &
Ñ"Ð ð !ŸHšH ]Ñ3Ô3ÐØ Ð#:Ñ:Ð=NÑNˆØÐrS   )NNNF)r]   r^   r_   r    re   r˜   r~   r¶   r·   r   rM   r   r   ÚFloatTensorrŠ   rk   rl   s   @rQ   r¹   r¹   Û   s  ø€ € € € € ð,˜}ð ,¸ð ,ð ,ð ,ð ,ð ,ð ,ð IMØ.2Ø(,Ø!&ðð à”|ðð # 5¤<°´Ð#=Ô>ÀÑEðð œ tÑ+ð	ð
  ™ðð ˜$‘;ðð Ð+Ô,ðð 
ˆuÔ  %¨Ô(9¸5Ô;LÐ(LÔ"MÐPTÑ"TÐTÔ	Uðð ð ð ð ð ð ð rS   r¹   c                   ó$   — e Zd ZU eed<   eedœZdS )ÚCohere2PreTrainedModelr’   )r'   Ú
attentionsN)r]   r^   r_   r    rf   r¹   r‘   Ú_can_record_outputsrT   rS   rQ   rÅ   rÅ   ø   s1   € € € € € € ØÐÐÑà,Ø&ðð ÐÐÐrS   rÅ   c                   ó²   ‡ — e Zd Zdefˆ fd„Z	 	 	 	 	 	 ddej        dz  dej        dz  dej        dz  dedz  dej	        dz  d	e
dz  d
ee         defd„Zˆ xZS )ÚCohere2Modelr’   c                 óÞ   •— t          ¦   «                              |¦  «         t          |j        |j        ¬¦  «        | _        t          j        |j        |j        | j	        ¦  «        | _
        d S )N)r-   Úeps)rX   r˜   r�   r-   r9   r+   r–   Ú	Embeddingr,   Úpadding_idxr)   )rZ   r’   r\   s     €rQ   r˜   zCohere2Model.__init__  s[   ø€ Ý‰Œ×Ò˜Ñ Ô Ð Ý$°&Ô2DÈ6ÔK`ÐaÑaÔaˆŒ	ÝœL¨Ô):¸FÔ<NÐPTÔP`ÑaÔaˆÔÐÐrS   Nr%   r(   r…   r"   r&   r:   r[   r£   c           
      ó¶  — |d u |d uz  rt          d¦  «        ‚|€|                      |¦  «        }|r|€t          | j        ¬¦  «        }|€V|�|                     ¦   «         nd}t          j        |j        d         |j        ¬¦  «        |z   }| 	                    d¦  «        }t          |x}	t          ¦  «        s&| j        ||||dœ}
t          d
i |
¤Žt          d
i |
¤Ždœ}	|}|                      ||¦  «        }t          | j        ¦  «        D ]*\  }} ||f|	| j        j        |                  ||||dœ|¤Ž}Œ+|                      |¦  «        }t'          ||¬	¦  «        S )Nz:You must specify exactly one of input_ids or inputs_embeds)r’   r   rJ   )r{   )r’   r&   r(   r"   r…   )rL   rK   )r(   r¢   r"   r:   r…   )Úlast_hidden_stater"   rT   )Ú
ValueErrorr)   r   r’   Úget_seq_lengthr~   Úarangery   r{   Ú	unsqueezerz   rj   r	   r
   Ú
rotary_embÚ	enumerater*   rE   r+   r   )rZ   r%   r(   r…   r"   r&   r:   r[   Úpast_seen_tokensÚcausal_mask_mappingÚmask_kwargsr'   r¢   rO   Údecoder_layers                  rQ   rŠ   zCohere2Model.forward  sÕ  € ð ˜Ð -°tÐ";Ñ<ð 	[ÝÐYÑZÔZÐZàÐ Ø ×-Ò-¨iÑ8Ô8ˆMàð 	?˜Ð0Ý*°$´+Ð>Ñ>Ô>ˆOàÐØCRÐC^˜×=Ò=Ñ?Ô?Ð?ÐdeÐÝ œ<¨Ô(;¸AÔ(>À}ÔG[Ð\Ñ\Ô\Ð_oÑoˆLØ'×1Ò1°!Ñ4Ô4ˆLå°Ð?Ð-ÅÑFÔFð 	àœ+Ø!.Ø"0Ø#2Ø ,ðð ˆKõ #5Ð"CÐ"C°{Ð"CÐ"CÝ%FÐ%UÐ%UÈÐ%UÐ%Uð#ð #Ðð
 &ˆØ"Ÿošo¨m¸\ÑJÔJÐå )¨$¬+Ñ 6Ô 6ð 		ð 		ÑˆAˆ}Ø)˜MØðà2°4´;Ô3JÈ1Ô3MÔNØ$7Ø /Ø#Ø)ðð ð ðð ˆMˆMð Ÿ	š	 -Ñ0Ô0ˆÝ&Ø+Ø+ð
ñ 
ô 
ð 	
rS   )NNNNNN)r]   r^   r_   r    r˜   r~   Ú
LongTensorr¶   r   rÃ   rM   r   r   r   rŠ   rk   rl   s   @rQ   rÉ   rÉ      só   ø€ € € € € ðb˜}ð bð bð bð bð bð bð .2Ø.2Ø04Ø(,Ø26Ø!%ð7
ð 7
àÔ# dÑ*ð7
ð œ tÑ+ð7
ð Ô&¨Ñ-ð	7
ð
  ™ð7
ð Ô(¨4Ñ/ð7
ð ˜$‘;ð7
ð Ð+Ô,ð7
ð 
!ð7
ð 7
ð 7
ð 7
ð 7
ð 7
ð 7
ð 7
rS   rÉ   c                   ó   — e Zd ZdS )ÚCohere2ForCausalLMNrŽ   rT   rS   rQ   rÜ   rÜ   @  r�   rS   rÜ   )r    rÜ   rÉ   rÅ   )5Úcollections.abcr   r~   Útorch.nnr–   Úhuggingface_hub.dataclassesr   Úcache_utilsr   r   Úconfiguration_utilsr   Úmasking_utilsr	   r
   Úmodeling_outputsr   Úmodeling_rope_utilsr   r   Úmodeling_utilsr   Úprocessing_utilsr   Úutilsr   r   r   Úutils.genericr   Úcohere.modeling_coherer   r   r   r   r   r   r   r   Úgemma2.modeling_gemma2r   Ú
get_loggerr]   Úloggerr    rn   r�   r‘   r¹   rÅ   rÉ   rÜ   Ú__all__rT   rS   rQ   ú<module>rî      sC  ðð %Ð $Ð $Ð $Ð $Ð $à €€€Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .à .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð 6Ð 5Ð 5Ð 5Ð 5Ð 5Ø &Ð &Ð &Ð &Ð &Ð &Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø +Ð +Ð +Ð +Ð +Ð +ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 1Ð 0Ð 0Ð 0Ð 0Ð 0ð 
ˆÔ	˜HÑ	%Ô	%€ð €Ð;Ð<Ñ<Ô<ØðJ(ð J(ð J(ð J(ð J(Ð$ñ J(ô J(ñ „ñ =Ô<ðJ(ðZ<ð <ð <ð <ð <Ð2ñ <ô <ð <ð"	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ðC)ð C)ð C)ð C)ð C)�ñ C)ô C)ð C)ðLð ð ð ð Ð,ñ ô ð ð:ð ð ð ð Ð2ñ ô ð ð=
ð =
ð =
ð =
ð =
�;ñ =
ô =
ð =
ð@	ð 	ð 	ð 	ð 	Ð*ñ 	ô 	ð 	ð \Ð
[Ð
[€€€rS   