+
    œ°³j!H  ã                   óR  € ^ RI Ht ^ RIHt ^RIHt ^RIHtHt ^RI	H
t
 ]P                  ! ]4      t]! RR7      ] ! R R	]4      4       4       t]! RR7      ] ! R
 R]4      4       4       t]! RR7      ] ! R R]4      4       4       t]! RR7      ] ! R R]4      4       4       t. ROtR# )é    )ÚAny)Ústrict)ÚPreTrainedConfig)Úauto_docstringÚlogging)ÚSiglipVisionConfigzgoogle/t5gemma-2-270m-270m)Ú
checkpointc                   ó.  a a€ ] tR t^!t oRtRtR.tRRRRRRRR	R
R	RRRRRRRR/	tRR.R.3RRR.R.3RR.R.3/tRt	Rt
Rt^t^t^tRtRtRtRtRtRt^ t^t^tRtR tR!tR"tRtR#tR tR tR t R$R%R&R'/t!V 3R( lt"R) t#V3R* lV 3R+ llt$R, t%V3R- lt&R.t'Vt(V ;t)# )/ÚT5Gemma2TextConfigáX  
query_pre_attn_scalar (`float`, *optional*, defaults to 256):
    Scaling factor used on the attention scores
final_logit_softcapping (`float`, *optional*):
    Scaling factor when applying tanh softcapping on the logits.
attn_logit_softcapping (`float`, *optional*):
    Scaling factor when applying tanh softcapping on the attention scores.
Út5gemma2_textÚpast_key_valuesúlayers.*.self_attn.q_projÚcolwiseúlayers.*.self_attn.k_projúlayers.*.self_attn.v_projúlayers.*.self_attn.q_normÚreplicated_with_grad_allreduceúlayers.*.self_attn.k_normúlayers.*.self_attn.o_projÚrowwiseúlayers.*.mlp.gate_projúlayers.*.mlp.up_projúlayers.*.mlp.down_projÚembed_tokensÚ	input_idsÚinputs_embedsÚlayersÚhidden_statesÚattention_maskÚnormé@  é 	  é $  é   Úgelu_pytorch_tanhé   ç{®Gáz”?ç�íµ ÷Æ°>TNFç        é   Úglobalç    €„.AÚlocalç     ˆÃ@c                ó  <€ VP                  R ^4      pV P                  fL   \        V P                  4       Uu. uF&  p\	        V^,           V,          4      '       d   RMRNK(  	  upV n        \
        SV `  ! R/ VB  R# u upi ©Úsliding_window_patternNÚsliding_attentionÚfull_attention© ©ÚpopÚlayer_typesÚrangeÚnum_hidden_layersÚboolÚsuperÚ__post_init__©ÚselfÚkwargsÚ_sliding_window_patternÚiÚ	__class__s   &,  €Út/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/t5gemma2/configuration_t5gemma2.pyr=   Ú T5Gemma2TextConfig.__post_init__Z   ó€   ø€ à"(§*¡*Ð-EÀqÓ"IÐØ×ÑÒ#ô ˜t×5Ñ5Ô6ó á6�Aô (,¨Q°­UÐ6MÕ,M×'NÒ'NÑ#ÐTdÒdÙ6ñ ˆDÔô
 	‰ÒÑ' Ô'ùò ó   ¹,A?c                ó–   € V P                   V P                  ,          ^ 8w  d'   \        RV P                    RV P                   R24      hR# ©úOPart of `@strict`-powered validation. Validates the architecture of the config.zThe hidden size (z6) is not a multiple of the number of attention heads (ú).N©Úhidden_sizeÚnum_attention_headsÚ
ValueError©r?   s   &rD   Úvalidate_architectureÚ(T5Gemma2TextConfig.validate_architecturee   óS   € à×Ñ˜d×6Ñ6Õ6¸!Ô;ÜØ# D×$4Ñ$4Ð#5ð 6Ø×2Ñ2Ð3°2ð7óð ñ <ó    c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# ©é   Úreturn©ÚdictÚstrr   )ÚformatÚ__classdict__s   "€rD   Ú__annotate__ÚT5Gemma2TextConfig.__annotate__m   ó   ø€ ÷ ñ ™™c¡3˜h�ñ rT   c                ó„   <€ \         SV `  4       p\        V R R4      '       d   V P                  ^,
          ^,          VR&   V# ©Úuse_bidirectional_attentionFÚsliding_window©r<   Úto_dictÚgetattrrd   ©r?   ÚoutputrC   s   & €rD   rf   ÚT5Gemma2TextConfig.to_dictm   óA   ø€ Ü‘‘Ó"ˆô �4Ð6¸×>Ò>Ø(,×(;Ñ(;¸aÕ(?À1Õ'DˆFÐ#Ñ$ØˆrT   c                ó´  € VP                  R R4      pRRR/RRR//pV P                  e   V P                  MTV n        Ve#   V P                  R,          P                  V4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  R,          4      4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  R	,          4      4       V P                  4        V# ©
Úrope_scalingNr3   Ú	rope_typeÚdefaultr4   Ú
rope_thetar,   Úrope_local_base_freqr.   ©r7   Úrope_parametersÚupdateÚgetÚ
setdefaultÚdefault_thetaÚstandardize_rope_params©r?   r@   rn   Údefault_rope_paramss   &,  rD   Úconvert_rope_params_to_dictÚ.T5Gemma2TextConfig.convert_rope_params_to_dictv   óM  € Ø—z‘z .°$Ó7ˆð
   +¨yÐ!9Ø˜{¨IÐ6ð
Ðð 8<×7KÑ7KÒ7W˜t×3Ò3Ð]pˆÔØÒ#Ø× Ñ Ð!1Õ2×9Ñ9¸,ÔGð ×Ñ×#Ñ#Ð$4Ó5Ò=Ø6AÀ9Ð5MˆD× Ñ Ð!1Ñ2Ø×ÑÐ-Õ.×9Ñ9Ø˜&Ÿ*™* \°4×3EÑ3EÀhÕ3OÓPô	
ð ×Ñ×#Ñ#Ð$7Ó8Ò@Ø9DÀiÐ8PˆD× Ñ Ð!4Ñ5Ø×ÑÐ0Õ1×<Ñ<Ø˜&Ÿ*™*Ð%;¸T×=OÑ=OÐPWÕ=XÓYô	
ð
 	×$Ñ$Ô&ØˆrT   c                óø  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[ ;R	&   S[;R
&   S[;R&   S[;R&   S[ R,          ;R&   S[ S[S[ ,          ,          R,          ;R&   S[ R,          ;R&   S[;R&   S[R,          ;R&   S[;R&   S[ S[,          R,          ;R&   S[ ;R&   S[ R,          ;R&   S[S[,          R,          ;R&   S[R,          ;R&   S[R,          ;R&   # ©rW   Ú
vocab_sizerM   Úintermediate_sizer:   rN   Únum_key_value_headsÚhead_dimÚhidden_activationÚmax_position_embeddingsÚinitializer_rangeÚrms_norm_epsÚ	use_cacheNÚpad_token_idÚeos_token_idÚbos_token_idÚtie_word_embeddingsrt   Úattention_biasÚattention_dropoutÚquery_pre_attn_scalarrd   r8   Úfinal_logit_softcappingÚattn_logit_softcapping©Úintr[   Úfloatr;   ÚlistrZ   )r\   r]   s   "€rD   r^   r_   !   ó¢  ø‡ ‚ ñ> Ññ? ñ@ ÑñA ñB Ñ!ñC ñD ÑñE ñF Ñ ñG ñH Ñ ñI ñJ ÑñK ñL Ñ0ñM ñN !Ñ*ñO ñP Ñ#ñQ ñR ÑñS ñT ÑñU ñV ˜•*Ñ ñW ñX ™™S�	•/ DÕ(Ñ,ñY ñZ ˜•*Ñ ñ[ ñ\ Ñ$ñ] ñ^ ˜D•[Ñ'ñ_ ñ` Ñ ña ñb ™U•{ TÕ)Ñ/ñc ñd Ñ$ñe ñf ˜$•JÑ%ñg ñh ‘c•˜TÕ!Ñ(ñi ñj # T�\Ñ0ñk ñl " D�LÑ/òm rT   ©r8   rt   ©*Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planr�   rM   r‚   r:   rN   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rt   rŽ   r�   r�   rd   r8   r‘   r’   rx   r=   rQ   rf   r|   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rC   r]   s   @@rD   r   r   !   sB  ù‡ € ñð !€JØ#4Ð"5Ðà# YØ# YØ# YØ#Ð%EØ#Ð%EØ# YØ  )Ø 	Ø  )ð
Ðð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð €JØ€KØ!ÐØÐØ ÐØ ÐØ€HØ0ÐØ#*ÐØ#ÐØ€LØ€IØ €LØ+,€LØ €LØ $ÐØ#'€OØ €NØ,/ÐØ!$ÐØ!%€NØ$(€KØ,0ÐØ+/ÐØ˜{¨G°XÐ>€Mõ	(ò÷ó ò÷k … rT   r   c                   ó‚   a a€ ] tR t^”t oRtRtRRRRRR/tR	]R
]/t	Rt
RtRtRtRtRtRtRtV 3R ltV3R ltRtVtV ;t# )ÚT5Gemma2EncoderConfiga  
mm_tokens_per_image (`int`, *optional*, defaults to 256):
    The number of tokens per image embedding.
boi_token_index (`int`, *optional*, defaults to 255999):
    The begin-of-image token index to wrap the image prompt.
eoi_token_index (`int`, *optional*, defaults to 256000):
    The end-of-image token index to wrap the image prompt.

Example:

```python
>>> from transformers import T5Gemma2EncoderForConditionalGeneration, T5Gemma2EncoderConfig, SiglipVisionConfig, T5Gemma2EncoderTextConfig

>>> # Initializing a Siglip-like vision config
>>> vision_config = SiglipVisionConfig()

>>> # Initializing a T5Gemma2Encoder Text config
>>> text_config = T5Gemma2EncoderTextConfig()

>>> # Initializing a T5Gemma2Encoder gemma-3-4b style configuration
>>> configuration = T5Gemma2EncoderConfig(vision_config, text_config)

>>> # Initializing a model from the gemma-3-4b style configuration
>>> model = T5Gemma2EncoderForConditionalGeneration(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```Út5gemma2_encoderÚimage_token_idÚimage_token_indexÚboi_token_idÚboi_token_indexÚeoi_token_idÚeoi_token_indexÚtext_configÚvision_configNr%   iÿç i è i   r(   Tc                óÜ  <€ V P                   f&   \        4       V n         \        P                  R4       M:\	        V P                   \
        4      '       d   \        R/ V P                   B V n         \	        V P                  \
        4      '       d   \        R/ V P                  B V n        M2V P                  f%   \        4       V n        \        P                  R4       \        SV `$  ! R/ VB  R # )NzItext_config is None, using default T5Gemma2EncoderTextConfig text config.zFvision_config is None, using default SiglipVisionConfig vision config.r5   )
r±   r   ÚloggerÚinfoÚ
isinstancerZ   r²   r   r<   r=   )r?   r@   rC   s   &,€rD   r=   Ú#T5Gemma2EncoderConfig.__post_init__É   s­   ø€ Ø×ÑÒ#Ü1Ó3ˆDÔÜ�K‰KÐcÕdÜ˜×(Ñ(¬$×/Ò/Ü1ÑE°D×4DÑ4DÑEˆDÔä�d×(Ñ(¬$×/Ò/Ü!3Ñ!I°d×6HÑ6HÑ!IˆDÕØ×ÑÒ'Ü!3Ó!5ˆDÔÜ�K‰KÐ`Ôaä‰ÒÑ' Ô'rT   c                ó6  <€ V ^8„  d   Qh/ S[ S[S[S[3,          ,          R,          ;R&   S[S[S[S[3,          ,          R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R	&   # )
rW   Nr±   r²   Úmm_tokens_per_imager®   r°   r¬   r‡   r�   )r   rZ   r[   r   r   r”   r•   r;   )r\   r]   s   "€rD   r^   Ú"T5Gemma2EncoderConfig.__annotate__”   s¹   ø‡ ‚ ñX $¡d©3±¨8¥nÕ4°tÕ;ÑBñY ñZ &©©S±#¨X­Õ6¸Õ=ÑDñ[ ñ\ ˜t�Ñ)ñ] ñ^ ˜4•ZÑ)ñ_ ñ` ˜4•ZÑ)ña ñb ˜T•zÑ+ñc ñd ˜t•|Ñ*ñe ñf  �Ñ+òg rT   )r±   r²   )rš   r›   rœ   r�   rž   rŸ   Úattribute_mapr   r   Úsub_configsr±   r²   r¹   r®   r°   r¬   r‡   r�   r=   r£   r¤   r¥   r¦   r§   s   @@rD   r©   r©   ”   s{   ù‡ € ñð: $€JàÐ-ØÐ)ØÐ)ð€Mð 	Ð)ØÐ+ð€Kð
 ?C€KØ@D€MØ&)ÐØ")€OØ")€OØ$+ÐØ&*ÐØ'+Ðõ(÷k … rT   r©   c                   ó.  a a€ ] tR t^Ùt oRtRtR.tRRRRRRRR	R
R	RRRRRRRR/	tRR.R.3RRR.R.3RR.R.3/tRt	Rt
Rt^t^t^tRtRtRtRtRtRt^ t^t^tRtR tR!tR"tRtR#tR tR tR t R$R%R&R'/t!V 3R( lt"R) t#V3R* lV 3R+ llt$R, t%V3R- lt&R.t'Vt(V ;t)# )/ÚT5Gemma2DecoderConfigr   Út5gemma2_decoderr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   TNFr*   r+   r,   r-   r.   r/   c                ó  <€ VP                  R ^4      pV P                  fL   \        V P                  4       Uu. uF&  p\	        V^,           V,          4      '       d   RMRNK(  	  upV n        \
        SV `  ! R/ VB  R# u upi r1   r6   r>   s   &,  €rD   r=   Ú#T5Gemma2DecoderConfig.__post_init__  rF   rG   c                ó–   € V P                   V P                  ,          ^ 8w  d'   \        RV P                    RV P                   R24      hR# rI   rL   rP   s   &rD   rQ   Ú+T5Gemma2DecoderConfig.validate_architecture  rS   rT   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rV   rY   )r\   r]   s   "€rD   r^   Ú"T5Gemma2DecoderConfig.__annotate__%  r`   rT   c                ó„   <€ \         SV `  4       p\        V R R4      '       d   V P                  ^,
          ^,          VR&   V# rb   re   rh   s   & €rD   rf   ÚT5Gemma2DecoderConfig.to_dict%  rk   rT   c                ó´  € VP                  R R4      pRRR/RRR//pV P                  e   V P                  MTV n        Ve#   V P                  R,          P                  V4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  R,          4      4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  R	,          4      4       V P                  4        V# rm   rs   rz   s   &,  rD   r|   Ú1T5Gemma2DecoderConfig.convert_rope_params_to_dict.  r~   rT   c                óø  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[ ;R	&   S[;R
&   S[;R&   S[;R&   S[ R,          ;R&   S[ S[S[ ,          ,          R,          ;R&   S[ R,          ;R&   S[;R&   S[R,          ;R&   S[;R&   S[ S[,          R,          ;R&   S[ ;R&   S[ R,          ;R&   S[S[,          R,          ;R&   S[R,          ;R&   S[R,          ;R&   # r€   r“   )r\   r]   s   "€rD   r^   rÅ   Ù   r—   rT   r˜   r™   r§   s   @@rD   r¾   r¾   Ù   sB  ù‡ € ñð $€JØ#4Ð"5Ðà# YØ# YØ# YØ#Ð%EØ#Ð%EØ# YØ  )Ø 	Ø  )ð
Ðð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð €JØ€KØ!ÐØÐØ ÐØ ÐØ€HØ0ÐØ#*ÐØ#ÐØ€LØ€IØ €LØ+,€LØ €LØ $ÐØ#'€OØ €NØ,/ÐØ!$ÐØ!%€NØ$(€KØ,0ÐØ+/ÐØ˜{¨G°XÐ>€Mõ	(ò÷ó ò÷k … rT   r¾   c                   ó’   a a€ ] tR tRt oRtRtR.tR]R]/t	RRR	R
/t
RtRtRtRtRtRtRtRtRtRtV 3R ltR tV3R ltRtVtV ;t# )ÚT5Gemma2ConfigiL  a,  
encoder (`Union[T5Gemma2EncoderConfig, dict]`, optional, *optional*):
    Configuration for the encoder.
decoder (`Union[T5Gemma2DecoderConfig, dict]`, optional, *optional*):
    Configuration for the decoder.
eoi_token_index (`int`, *optional*):
    The end-of-image token index to wrap the image prompt. Will be same as
    `self.encoder.eoi_token_index`

```python
>>> from transformers import T5Gemma2Config, T5Gemma2Model
>>> t5gemma2_config = T5Gemma2Config.from_pretrained("google/t5gemma-270m-270m")
>>> model = T5Gemma2Model(t5gemma2_config)
```
Út5gemma2r   ÚencoderÚdecoderr«   r¬   r¯   r°   NTr*   r(   iè c                óä  <€ \        V P                  \        4      '       d   \        R/ V P                  B V n        M2V P                  f%   \        4       V n        \        P                  R4       \        V P                  \        4      '       d   \        R/ V P                  B V n        M2V P                  f%   \        4       V n        \        P                  R4       V P                  V P                  P                  n        V P                  V P                  P                  n
        V P                  V P                  P                  n
        V P                  V P                  n        V P                  V P                  n        V P                  V P                  n
        V P                  P                  V n        R F#  pW!9  g   K  \        V P                  V4      W&   K%  	  \        SV `@  ! R/ VB  R # )NzDencoder is None, using default T5Gemma2EncoderConfig encoder config.zDdecoder is None, using default T5Gemma2DecoderConfig decoder config.r5   )rŒ   rŠ   r‹   r�   )r¶   rÎ   rZ   r©   r´   rµ   rÏ   r¾   Údropout_rater±   r�   r²   r¬   r°   rg   r<   r=   )r?   r@   Úspecial_token_keyrC   s   &, €rD   r=   ÚT5Gemma2Config.__post_init__w  sU  ø€ Ü�d—l‘l¤D×)Ò)Ü0Ñ@°4·<±<Ñ@ˆD�LØ�\‰\Ò!Ü0Ó2ˆDŒLÜ�K‰KÐ^Ô_ä�d—l‘l¤D×)Ò)Ü0Ñ@°4·<±<Ñ@ˆD�LØ�\‰\Ò!Ü0Ó2ˆDŒLÜ�K‰KÐ^Ô_à04×0AÑ0Aˆ�‰× Ñ Ô-Ø59×5KÑ5Kˆ�‰× Ñ Ô2Ø7;×7MÑ7Mˆ�‰×"Ñ"Ô4Ø)-×)?Ñ)?ˆ�‰Ô&à$(×$5Ñ$5ˆ�‰Ô!Ø)-×)?Ñ)?ˆ�‰Ô&Ø#Ÿ|™|×;Ñ;ˆÔã!_ÐØ Ö.Ü,3°D·L±LÐBSÓ,T�Ó)ñ "`ô 	‰ÒÑ' Ô'rT   c                ó4  € V P                   P                  P                  V P                  P                  8w  dE   \	        RV P                   P                  P                   RV P                  P                   R24      hV P
                  '       g   \	        R4      hV P                   P                  P                  V P                  P                  8w  dE   \	        RV P                   P                  P                   RV P                  P                   R24      hR# )rJ   zBImbalanced encoder-decoder is not supported in T5Gemma2: encoder (z) vs decoder (rK   z4T5Gemma2Model only support encoder-decoder modeling.zRImbalanced encoder-decoder vocabulary size is not supported in T5Gemma2: encoder (N)rÎ   r±   rM   rÏ   rO   Úis_encoder_decoderr�   rP   s   &rD   rQ   Ú$T5Gemma2Config.validate_architecture“  sí   € à�<‰<×#Ñ#×/Ñ/°4·<±<×3KÑ3KÔKÜðØ ŸL™L×4Ñ4×@Ñ@ÐAÀÐPT×P\ÑP\×PhÑPhÐOiÐikðmóð ð
 ×&×&Ð&ÜÐSÓTÐTà�<‰<×#Ñ#×.Ñ.°$·,±,×2IÑ2IÔIÜðØ ŸL™L×4Ñ4×?Ñ?Ð@ÀÈtÏ|É|×OfÑOfÐNgÐgiðkóð ñ JrT   c                ó8  <€ V ^8„  d   Qh/ S[ S[S[S[3,          ,          R,          ;R&   S[S[S[S[3,          ,          R,          ;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[;R&   S[;R	&   S[R,          ;R
&   S[;R&   # )rW   NrÎ   rÏ   rÕ   rÑ   r�   Úclassifier_dropout_rater‡   r¬   r°   r�   )r©   rZ   r[   r   r¾   r;   r•   r”   )r\   r]   s   "€rD   r^   ÚT5Gemma2Config.__annotate__L  sÏ   ø‡ ‚ ñ@ #¡T©#©s¨(¥^Õ3°dÕ:ÑAñA ñB #¡T©#©s¨(¥^Õ3°dÕ:ÑAñC ñD Ñ#ñE ñF ™#•+Ñ#ñG ñH ™s•{Ñ(ñI ñJ #¡S�[Ñ.ñK ñL Ñ#ñM ñN Ñ$ñO ñP ˜4•ZÑ&ñQ ñR Ñ$òS rT   )rÏ   rÎ   r°   )rš   r›   rœ   r�   rž   rŸ   r    r©   r¾   r¼   r»   rÎ   rÏ   rÕ   rÑ   r�   rØ   r‡   r¬   r°   r�   r=   rQ   r£   r¤   r¥   r¦   r§   s   @@rD   rÌ   rÌ   L  s‘   ù‡ € ñð  €JØ#4Ð"5Ðð 	Ð(ØÐ(ð€Kð 	Ð-ØÐ)ð€Mð
 >B€GØ=A€GØ#ÐØ #€LØ%(ÐØ+.ÐØ#ÐØ$ÐØ"&€OØ $Ðõ(ò8÷O … rT   rÌ   N)rÌ   r   r©   r¾   )Útypingr   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Úsiglipr   Ú
get_loggerrš   r´   r   r©   r¾   rÌ   Ú__all__r5   rT   rD   Ú<module>rá      sè   ðõ* å .å 3ß ,Ý 'ð 
×	Ò	˜HÓ	%€ñ Ð7Ô8ØônÐ)ó nó ó 9ðnñb Ð7Ô8Øô@(Ð,ó @(ó ó 9ð@(ñF Ð7Ô8ØônÐ,ó nó ó 9ðnñb Ð7Ô8ØôTÐ%ó Tó ó 9ðTòn e‚rT   