Ë
    [^(h+=  ã                  ó   — d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
mZmZmZ d dlmZmZ g d¢Z ej&                  ej(                  d¬«      Zd3d	„Z ed
«       ej.                  ddd«      d4d3d„«       «       Z ed«       ej.                  dd«      d3d„«       «       Z	 	 	 	 	 	 	 	 	 	 d5d„Z ed«       ej.                  ddd«      d3d„«       «       Z ed«       ej.                  ddd«      d3d„«       «       Z ed«      d3d„«       Z ed«      	 	 d3d„«       Z ed«      	 	 d3d„«       Z ed«      	 	 d3d„«       Z  ed «       ej.                  ddddd!«      	 	 d3d"„«       «       Z! ed#«      d3d$„«       Z" ed%«       ej.                  ddd«      	 	 	 	 	 	 	 	 d6d&„«       «       Z# ed'«       ej.                  ddd«      	 	 	 	 	 	 	 	 d6d(„«       «       Z$ ed)«      d3d*„«       Z% ed+«      d3d,„«       Z& ed-«      d3d.„«       Z' ed/«       ej.                  dd!dd«      d3d0„«       «       Z( ed1«       ej.                  ddddd«      d4d3d2„«       «       Z)y)7é    )ÚannotationsN)Ú_onnx)Ú_type_utilsÚerrorsÚsymbolic_helperÚsymbolic_opset9Úutils)Ú	jit_utilsÚregistration)ÚargmaxÚargminÚ binary_cross_entropy_with_logitsÚceluÚcross_entropy_lossÚdropoutÚeinsumÚgeÚleÚnative_dropoutÚnll_lossÚ
nll_loss2dÚnll_loss_ndÚouterÚpowÚ	tensordotÚunfoldé   )Úopsetc                ót  — |st        d«      ‚t        j                  |d   «      ry|D �cg c].  }| j                  d|t        j
                  j                  ¬«      ‘Œ0 }}| j                  d | j                  dg|¢­d|iŽt        j
                  j                  ¬«      S  | j                  dg|¢­d|iŽS c c}w )NzEinsum inputs are empty.r   ÚCast©Úto_iÚEinsumÚ
equation_s)ÚRuntimeErrorr   Ú_is_boolÚopÚ_C_onnxÚTensorProtoDataTypeÚINT64ÚBOOL)ÚgÚequationÚtensorsÚtensors       úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/onnx/symbolic_opset12.pyÚ_einsum_helperr1   0   sÁ   € ÙÜÐ5Ó6Ð6ä×Ñ ¨¡
Ô+ð "ö
àð �D‰D�˜¤g×&AÑ&A×&GÑ&GˆDÕHð
ˆð 
ð �t‰tØØˆA�D‰D�Ð9˜GÒ9°Ñ9Ü×,Ñ,×1Ñ1ð ó 
ð 	
ð ˆq�t‰t�HÐ<˜wÒ<°8Ñ<Ð<ùò
s   ª3B5zaten::einsumÚsÚvÚisc                óF   — t        j                  |«      }t        | ||«      S ©N)r   Ú_unpack_listr1   )r,   r-   Útensor_listÚpathr.   s        r0   r   r   B   s#   € ô ×*Ñ*¨;Ó7€GÜ˜!˜X wÓ/Ð/ó    zaten::outerc                óN  — t         j                  j                  |t         j                  j                  «      t         j                  j                  |«      k7  r?| j	                  d|t         j                  j                  |«      j                  «       ¬«      }t        | d||g«      S )Nr    r!   zi,j->ij)r   ÚJitScalarTypeÚ
from_valueÚ	UNDEFINEDr'   Ú	onnx_typer1   ©r,   ÚinputÚothers      r0   r   r   I   s�   € ô × Ñ ×+Ñ+ØŒ{×(Ñ(×2Ñ2óä	×	"Ñ	"×	-Ñ	-¨eÓ	4ò5ð —‘ØØÜ×*Ñ*×5Ñ5°eÓ<×FÑFÓHð ó 
ˆô
 ˜!˜Y¨°¨Ó7Ð7r:   c                ó,  — t        j                  |d«       |s|d fS | j                  dt        j                  |«      ¬«      }| j                  dt        j                  |t        j
                  ¬«      ¬«      }| j                  d|||d¬«      \  }}||fS )Nr   ÚConstant©Úvalue_t©ÚdtypeÚDropouté   )Úoutputs)r   Úcheck_training_moder'   Útorchr/   Úbool)r,   rA   ÚpÚtrainÚtÚrÚmasks          r0   Ú&_dropout_returns_masked_input_and_maskrT   X   sƒ   € ô ×'Ñ'¨¨yÔ9ñ Ø�dˆ{ÐØ	�‰ˆZ¤§¡¨a£ˆÓ1€AØ	�‰ˆZ¤§¡¨e¼5¿:¹:Ô!FˆÓG€AØ�d‰d�9˜e Q¨°1ˆdÓ5�G€A€tØˆdˆ7€Nr:   zaten::dropoutÚfÚbc                ó(   — t        | |||«      \  }}|S r6   ©rT   )r,   rA   rO   rP   ÚmaskedÚ_s         r0   r   r   f   s   € ô 7°q¸%ÀÀEÓJ�I€FˆAØ€Mr:   zaten::native_dropoutc                ó   — t        | |||«      S r6   rX   )r,   rA   rO   rP   s       r0   r   r   m   s   € ô 2°!°U¸A¸uÓEÐEr:   zaten::nll_lossc                ó
  — t        j                  |d«      }g d¢}||   }t        j                  |d«      }|j                  «       j                  «       r| j	                  d||||¬«      }|S | j	                  d|||||¬«      }|S )NÚi©ÚnoneÚmeanÚsumÚNegativeLogLikelihoodLoss©Úreduction_sÚignore_index_i)r   Ú_maybe_get_constÚnodeÚ
mustBeNoner'   )r,   ÚselfÚtargetÚweightÚ	reductionÚignore_indexÚreduction_valsÚnlllosss           r0   r   r   s   s¢   € ô
  ×0Ñ0°¸CÓ@€IÚ,€NØ˜yÑ)€Iô #×3Ñ3°LÀ#ÓF€LØ‡{�{ƒ}×ÑÔ!Ø—$‘$Ø'ØØØ!Ø'ð ó 
ˆð" €Nð —$‘$Ø'ØØØØ!Ø'ð ó 
ˆð €Nr:   zaten::nll_loss2dc                ó"   — t        | |||||«      S r6   ©r   ©r,   ri   rj   rk   rl   rm   s         r0   r   r   ”   ó   € ô �A�t˜V V¨Y¸ÓEÐEr:   zaten::nll_loss_ndc                ó"   — t        | |||||«      S r6   rq   rr   s         r0   r   r   ›   rs   r:   zaten::cross_entropy_lossc                óp  — t        j                  |d«      }g d¢}||   }t        j                  |d«      }|�|dkD  rt        j                  d|«      ‚t        j                  |d«      }|j	                  «       j                  «       r| j                  d||||¬«      }|S | j                  d|||||¬«      }|S )Nr]   r^   rU   g        z2Unsupported: ONNX does not support label_smoothingÚSoftmaxCrossEntropyLossrc   )r   rf   r   ÚSymbolicValueErrorrg   rh   r'   )	r,   ri   rj   rk   rl   rm   Úlabel_smoothingrn   Úcelosss	            r0   r   r   ¢   sÙ   € ô  ×0Ñ0°¸CÓ@€IÚ,€NØ˜yÑ)€Iä%×6Ñ6°ÈÓL€OØÐ" ¸Ò'<Ü×'Ñ'Ø@À$ó
ð 	
ô #×3Ñ3°LÀ#ÓF€LØ‡{�{ƒ}×ÑÔ!Ø—‘Ø%ØØØ!Ø'ð ó 
ˆð" €Mð —‘Ø%ØØØØ!Ø'ð ó 
ˆð €Mr:   z&aten::binary_cross_entropy_with_logitsr]   c                ó  — | j                  dt        j                  dg«      ¬«      }t        j                  | |«      }t        j
                  | |«      }t        j                  | ||«      }	t        j                  | ||«      }
t        j
                  | |	«      }|�t        j                  |«      rVt        j                  | t        j                  | t        j                  | ||«      t        j                  | |
|«      «      «      }njt        j                  | t        j                  | t        j                  | t        j                  | ||«      |«      t        j                  | |
|«      «      «      }|�,t        j                  |«      st        j                  | ||«      }t        j                  |d«      }|dk(  r|S |dk(  r| j                  d|d¬«      S |dk(  r| j                  d	|d¬«      S t        j                  d
|«      S )NrD   é   rE   r]   r   Ú
ReduceMean)Ú
keepdims_irJ   Ú	ReduceSumzMbinary_cross_entropy_with_logits with reduction other than none, mean, or sum)r'   rM   r/   Úopset9ÚsigmoidÚlogÚsubr   Ú_is_noneÚnegÚaddÚmulrf   Ú_onnx_unsupported)r,   rA   rj   rk   Ú
pos_weightrl   rO   Úsig_xÚ	log_sig_xÚsub_1_xÚsub_1_yÚlog_1_xÚoutputs                r0   r   r   Ñ   s«  € ð
 	
�‰ˆZ¤§¡¨q¨cÓ!2ˆÓ3€AÜ�N‰N˜1˜eÓ$€EÜ—
‘
˜1˜eÓ$€IÜ�j‰j˜˜A˜uÓ%€GÜ�j‰j˜˜A˜vÓ&€GÜ�j‰j˜˜GÓ$€GØÐœ_×5Ñ5°jÔAÜ—‘ØÜ�J‰JØ”6—:‘:˜a ¨Ó3´V·Z±ZÀÀ7ÈGÓ5Tóó
‰ô —‘ØÜ�J‰JØÜ—
‘
˜1œfŸj™j¨¨F°IÓ>À
ÓKÜ—
‘
˜1˜g wÓ/óó
ˆð Ð¤/×":Ñ":¸6Ô"BÜ—‘˜A˜v vÓ.ˆä×0Ñ0°¸CÓ@€IØ�A‚~ØˆØ	�aŠØ�t‰t�L &°QˆtÓ7Ð7Ø	�aŠØ�t‰t�K °AˆtÓ6Ð6ä×0Ñ0Ø[Øó
ð 	
r:   z
aten::celuc                óÔ  — t        j                  |d«      }t        j                  j	                  |t        j                  j
                  «      t        j                  j                  k(  rl| j                  d|t        j                  j                  ¬«      }| j                  d||¬«      }| j                  d|t        j                  j                  ¬«      S | j                  d||¬«      S )NrU   r    r!   ÚCelu)Úalpha_f)r   rf   r   r<   r=   r>   ÚDOUBLEr'   r(   r)   ÚFLOAT)r,   ri   ÚalphaÚouts       r0   r   r   þ   s¸   € ä×,Ñ,¨U°CÓ8€Eô 	×!Ñ!×,Ñ,¨T´;×3LÑ3L×3VÑ3VÓWÜ×$Ñ$×+Ñ+ò	,ð �t‰t�F˜D¤w×'BÑ'B×'HÑ'HˆtÓIˆØ�d‰d�6˜4¨ˆdÓ/ˆØ�t‰t�F˜C¤g×&AÑ&A×&HÑ&HˆtÓIÐIà�4‰4�˜ eˆ4Ó,Ð,r:   zaten::argmaxc                ó4   — t        j                  | |||d«      S )NÚArgMax©r   Ú_argmin_argmax_helper©r,   rA   ÚdimÚkeepdims       r0   r   r     ó   € ô ×0Ñ0°°E¸3ÀÈÓRÐRr:   zaten::argminc                ó4   — t        j                  | |||d«      S )NÚArgMinr˜   rš   s       r0   r   r     r�   r:   z	aten::powc                ó(   — | j                  d||«      S )NÚPow©r'   )r,   ri   Úexponents      r0   r   r   #  s   € à�4‰4��t˜XÓ&Ð&r:   zaten::gec                ó(   — | j                  d||«      S )NÚGreaterOrEqualr¢   r@   s      r0   r   r   (  s   € à�4‰4Ð  %¨Ó/Ð/r:   zaten::lec                ó(   — | j                  d||«      S )NÚLessOrEqualr¢   r@   s      r0   r   r   -  s   € à�4‰4�˜u eÓ,Ð,r:   zaten::unfoldc           
     ó¼  — t        j                  |d«      }t        j                  |d«      }t        j                  |«      s.t        j                  |«      st        j                  | ||||«      S t        j
                  ||«      }|��¿| j                  dt        j                  d«      ¬«      }| j                  dt        j                  |«      ¬«      }	| j                  dt        j                  |dz   «      ¬«      }
| j                  d||	|«      }| j                  d||
|«      }t        j                  | || j                  dt        j                  d«      ¬«      «      }t        j                  | || j                  dt        j                  d«      ¬«      «      }t        j                  |«      }|€J ‚t        t        d|«      «      }|j                  |j                  |«      «       g }| j                  dt        j                  d«      ¬«      }| j                  d|t        j                   j"                  ¬«      }| j                  d	||«      }t%        j&                  | d
||d¬«      \  }\  }}|j(                  }t+        j,                  |«      }t+        j,                  |«      }|j                  d||«      }|j                  d||«      }|j                  dt        j                  dg«      ¬«      }t        j.                  ||dg«      }t        j.                  ||dg«      }|j                  d||||«      }t        j.                  ||j                  d||¬«      |g«      }|j                  |«        |j                  dg|¢­ddiŽ}|j                  d|t        j                   j"                  «      } t+        j0                  || «       t+        j0                  ||«       |j3                  «       j5                  «       }!g d¢}||dz      |d   c|d<   ||dz   <   | j                  d|!|¬«      }"t        j6                  | |"dg«      }#|#S t        j8                  dd«      S )Nr]   rD   r   rE   r{   ÚRanger    r!   ÚMinÚLoop)Ún_blocksÚGatherrJ   ÚSliceÚ	Transpose)Úperm_iÚConcatÚaxis_i)r   r{   rJ   é   é   ÚUnfoldzinput size not accessible)r   rf   Ú	_is_valuer   r   Ú_get_tensor_dim_sizer'   rM   r/   Ú_size_helperÚ_get_tensor_rankÚlistÚrangeÚappendÚpopr(   r)   r+   r
   Úadd_op_with_blocksÚblockr	   Ú_add_input_to_blockÚ_unsqueeze_helperÚ_add_output_to_blockrg   rŽ   Ú_squeeze_helperÚ_unimplemented)$r,   rA   Ú	dimensionÚsizeÚstepÚ
const_sizeÚ
const_stepÚsizedimÚ	low_startÚlow_endÚhi_endÚlow_indicesÚ
hi_indicesÚlow_sizeÚhi_sizeÚndimÚpermÚunsqueeze_listÚloop_conditionÚloop_lenÚloopÚloop_contextrZ   Ú
loop_blockÚblock_input_iterÚcondÚstartsÚendsÚaxesÚstackÚ	unsqueezeÚconcatÚcond_outÚloop_outputÚ	transposeÚsqueezes$                                       r0   r   r   2  s×  € ô !×1Ñ1°$¸Ó<€JÜ ×1Ñ1°$¸Ó<€JÜ×$Ñ$ ZÔ0¼×9RÑ9RØô:ô �}‰}˜Q  y°*¸jÓIÐIä×2Ñ2°5¸)ÓD€GØÑØ—D‘D˜¬U¯\©\¸!«_�DÓ=ˆ	Ø—$‘$�z¬5¯<©<¸Ó+@�$ÓAˆØ—‘�j¬%¯,©,°wÀ±{Ó*C�ÓDˆØ—d‘d˜7 I¨w¸Ó=ˆØ—T‘T˜' 4¨°Ó6ˆ
ä"×/Ñ/Øˆ{˜AŸD™D ´U·\±\À!³_˜DÓEó
ˆô "×.Ñ.Øˆz˜1Ÿ4™4 
´E·L±LÀ³O˜4ÓDó
ˆô ×/Ñ/°Ó6ˆØÐÐÐÜ”E˜!˜T“NÓ#ˆØ�‰�D—H‘H˜YÓ'Ô(àˆØŸ™˜j´%·,±,¸q³/˜ÓBˆØŸ™Ø�N¬×)DÑ)D×)IÑ)Ið ó 
ˆð —4‘4˜˜x¨Ó1ˆä#,×#?Ñ#?Øˆv�x ¸!ô$
Ñ ˆ‰oˆ|˜qð "×'Ñ'ˆ
Ü ×4Ñ4°ZÓ@ÐÜ×(Ñ(¨Ó4ˆà—‘ ¨;Ð8HÓIˆØ�‰˜x¨Ð5EÓFˆØ�‰˜z´5·<±<ÀÀÓ3DˆÓEˆÜ ×2Ñ2°<ÀÈ!ÈÓMˆÜ×0Ñ0°¸tÀaÀSÓIˆØ—‘ ¨°¸¸dÓCˆä#×5Ñ5Ø˜,Ÿ/™/¨+°uÀT˜/ÓJÈYÈKó
ˆ	ð 	×Ñ˜iÔ(Ø �—‘ ÐE¨NÒEÀ1ÑEˆà—?‘?Ø�N¤G×$?Ñ$?×$DÑ$Dó
ˆô 	×"Ñ" :¨xÔ8Ü×"Ñ" :¨vÔ6à—i‘i“k×(Ñ(Ó*ˆÚˆØ'+¨I¸©MÑ':¸DÀ¹GÐ$ˆˆQ‰��i !‘mÑ$Ø—D‘D˜ k¸$�DÓ?ˆ	Ü!×1Ñ1°!°YÀÀÓDˆàˆä×)Ñ)¨(Ð4OÓPÐPr:   zaten::tensordotc           	     óì  — |�t        j                  dd«       t        j                  |«      }|€t        j                  d|«      ‚t        j                  |«      }|€t        j                  d|«      ‚t        t        |«      «      D �cg c]  }||   dk  r||   |z   n||   ‘Œ }}t        t        |«      «      D �cg c]  }||   dk  r||   |z   n||   ‘Œ }}t        |«      D �cg c]	  }||vsŒ|‘Œ }	}t        |«      D �cg c]	  }||vsŒ|‘Œ }
}t        j                  | ||	|z   «      }t        j                  | |||
z   «      }| j                  d|«      }t        j                  | |dgdgt        |	«      g¬«      }|| j                  dt        j                  d	gt        j                  ¬
«      ¬«      g}t        j                  | ||«      }| j                  d|«      }t        j                  | |dgd	gt        j                   g¬«      }| j                  dt        j                  d	gt        j                  ¬
«      ¬«      |g}t        j                  | ||«      }| j                  d|«      }t        j                  | |dgt        |«      gt        j                   g¬«      }t        j                  | |dgdgt        |«      g¬«      }|| j                  dt        j                  d	gt        j                  ¬
«      ¬«      g}t        j                  | ||«      }| j                  d|«      }t        j                  | |dgd	gt        j                   g¬«      }| j                  dt        j                  d	gt        j                  ¬
«      ¬«      |g}t        j                  | ||«      }t#        | d | j                  dg||g¢­Ž «      }||g}t        j                  | ||«      S c c}w c c}w c c}w c c}w )NÚ	Tensordotz-Out parameter is not supported for tensordot.zJUnsupported: ONNX export of tensordot for tensor(input_a) of unknown rank.zJUnsupported: ONNX export of tensordot for tensor(input_b) of unknown rank.r   ÚShape)rÞ   rÜ   rÝ   rD   éÿÿÿÿrG   rE   z	ij,jk->ikzprim::ListConstruct)r   rÄ   r¹   r   rw   r»   Úlenr   Úpermuter'   Ú_slice_helperrM   r/   ÚlongÚ_reshape_from_tensorÚsysÚmaxsizer   )r,   Úinput_aÚinput_bÚdims_aÚdims_br•   Údim_count_aÚdim_count_br]   Úleft_dims_aÚleft_dims_bÚnew_input_aÚnew_input_bÚinput_shapeÚleft_sizes_aÚshape_sizesÚoutput_aÚslicesÚleft_sizes_bÚoutput_brŽ   s                        r0   r   r   }  s×  € ð €Ü×&Ñ&ØÐHô	
ô "×2Ñ2°7Ó;€KØÐÜ×'Ñ'ØXØó
ð 	
ô
 "×2Ñ2°7Ó;€KØÐÜ×'Ñ'ØXØó
ð 	
ô ”s˜6“{Ó#öàð '-¨Q¡i°!¢mˆ�‰�[Ò	 ¸&À¹)ÑCð€Fð ô ”s˜6“{Ó#öàð '-¨Q¡i°!¢mˆ�‰�[Ò	 ¸&À¹)ÑCð€Fð ô
 $ KÓ0ÖF˜°Q¸f²_’1ÐF€KÐFÜ# KÓ0ÖF˜°Q¸f²_’1ÐF€KÐFä—.‘.  G¨[¸6Ñ-AÓB€KÜ—.‘.  G¨V°kÑ-AÓB€Kà—$‘$�w Ó,€KÜ"×0Ñ0Ø	ˆ;˜a˜S¨!¨´C¸Ó4DÐ3Eô€Lð 	Ø	�‰ˆZ¤§¡¨r¨d¼%¿*¹*Ô!EˆÓFð€Kô ×*Ñ*¨1¨k¸;ÓG€Hà—$‘$�w Ó)€KÜ×*Ñ*Ø	ˆ;˜a˜S¨"¨´S·[±[°Mô€Fð 	
�‰ˆZ¤§¡¨r¨d¼%¿*¹*Ô!EˆÓFØð€Kô ×*Ñ*¨1¨k¸;ÓG€Hà—$‘$�w Ó,€KÜ"×0Ñ0Ø	ˆ;˜a˜S¬#¨f«+¨¼c¿k¹k¸]ô€Lô ×*Ñ*Ø	ˆ;˜a˜S¨!¨´C¸³K°=ô€Fð 	Ø	�‰ˆZ¤§¡¨r¨d¼%¿*¹*Ô!EˆÓFð€Kô ×*Ñ*¨1¨k¸;ÓG€Hà—$‘$�w Ó)€KÜ×*Ñ*Ø	ˆ;˜a˜S¨"¨´S·[±[°Mô€Fð 	
�‰ˆZ¤§¡¨r¨d¼%¿*¹*Ô!EˆÓFØð€Kô ×*Ñ*¨1¨k¸;ÓG€Hä�A�{ D A§D¡DÐ)>Ð$VÀ(ÈHÐAUÒ$VÓW€Fà Ð.€KÜ×&Ñ& q¨&°+Ó>Ð>ùò{ùòùò
 GùÚFs$   Â	O"Â=O'Ã(	O,Ã2O,Ä	O1ÄO1)r,   újit_utils.GraphContextr6   )
r,   r  rA   útorch._C.ValuerO   ÚfloatrP   rN   Úreturnz,tuple[torch._C.Value, torch._C.Value | None])r,   r  rA   r  r›   r  rœ   rN   )*Ú
__future__r   Ú	functoolsrï   rM   Útorch._Cr   r(   Ú
torch.onnxr   r   r   r   r   r	   Útorch.onnx._internalr
   r   Ú__all__ÚpartialÚonnx_symbolicÚ_onnx_symbolicr1   Ú
parse_argsr   r   rT   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   © r:   r0   ú<module>r     s™  ðõ #ã Û 
ã Ý %÷õ ÷ 9ò€ð( #�×"Ñ" <×#=Ñ#=ÀRÔH€ó=ñ$ �ÓØ€×Ñ˜C  dÓ+ó0ó ,ó  ð0ñ
 �ÓØ€×Ñ˜C Ó%ò
8ó &ó ð
8ðØðØ&4ðØ9>ðØGKðà1óñ �Ó Ø€×Ñ˜C  cÓ*òó +ó !ðñ
 Ð&Ó'Ø€×Ñ˜C  cÓ*òFó +ó (ðFñ Ð Ó!òó "ðñ@ Ð"Ó#ðFØòFó $ðFñ Ð#Ó$ðFØòFó %ðFñ Ð*Ó+ð+Øò+ó ,ð+ñ\ Ð8Ó9Ø€×Ñ˜C  c¨3°Ó4ð(
Øò(
ó 5ó :ð(
ñV �Óò-ó ð-ñ �ÓØ€×Ñ˜C  cÓ*ðSØðSàðSð 
ðSð ò	Só +ó  ðSñ �ÓØ€×Ñ˜C  cÓ*ðSØðSàðSð 
ðSð ò	Só +ó  ðSñ �Óò'ó ð'ñ �
Óò0ó ð0ñ �
Óò-ó ð-ñ �ÓØ€×Ñ˜C  c¨3Ó/òFQó 0ó  ðFQñR Ð!Ó"Ø€×Ñ˜C  d¨D°#Ó6óQ?ó 7ó #ñQ?r:   