Ë
    íÍ:j3  ã                   ó²  — d dl Z d dlZd dlZd dlZd dlZd dlmZmZ d dlmZ d dl	Z	d dl
Z
d dl
mZ d dlmZ d dl
mZ 	 d dlmZ d dlmZ d d	lmZ d d
lmZ dZe	j.                  j7                  dd¬«      d„ «       Ze	j.                  j;                  dddgdfdg dfddgdfddgdfdg dfddgdfddgdfdg d ¢d!fd"g dfd#g d$fd#dgd%fgg d&¢¬'«      e	j.                  j;                  d( e	j<                  d)e	j.                  j7                  d)d¬«      ¬*«       e	j<                  de	j.                  j7                  dd¬«      ¬*«      g«      d+„ «       «       Ze	j.                  j7                  dd¬«      d,„ «       Z e	j.                  j7                  dd¬«      d-„ «       Z!e	j.                  j7                  dd¬«      d.„ «       Z"e	j.                  j7                  dd¬«      d/„ «       Z#e	j.                  j7                  dd¬«      d0„ «       Z$e	j.                  j7                  dd¬«      d1„ «       Z%e	j.                  j7                  dd¬«      d2„ «       Z&e	j.                  j7                  d)d¬«      d3„ «       Z'd4„ Z(e	j.                  j7                  dd¬«      d5„ «       Z)e	j.                  j7                  dd¬«      d6„ «       Z*y# e$ r e	j.                  j1                  d«      ZY �Œw xY w)7é    N)ÚdateÚdatetime)Úmock)Úpyplot)ÚGcf)Ú_c_internal_utils)ÚQtCore)ÚQtGui)Ú	QtWidgets)Ú_formlayoutzNo usable Qt bindingsé<   ÚQtAggT)Úskip_on_importerrorc                  óø   — t        j                   t        j                  «      } t        j                  «       }|j
                  j                  j                  j                  «        | t        j                  k(  sJ ‚y ©N)	Úcopyr   ÚfigsÚpltÚfigureÚcanvasÚmanagerÚwindowÚclose)Ú	init_figsÚfigs     úu/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_qt.pyÚtest_fig_closer      sU   € ô —	‘	œ#Ÿ(™(Ó#€Iô �*‰*‹,€Cð ‡J�J×Ñ×Ñ×#Ñ#Ô%ð œŸ™Ò Ð Ñ ó    zqt_key, qt_mods, answerÚKey_AÚShiftModifierÚAÚaÚControlModifierzctrl+aÚ
Key_Aacuteõ   Ã�õ   Ã¡ÚKey_ControlÚAltModifierzalt+controlÚKey_Altzctrl+alt)r#   r(   ÚMetaModifieru   ctrl+alt+meta+Ã¡ÚKey_PlayÚKey_BackspaceÚ	backspacezctrl+backspace)ÚshiftÚlowerÚcontrolÚunicode_upperÚunicode_lowerÚalt_controlÚcontrol_altÚmodifier_orderÚnon_unicode_keyr-   Úbackspace_mod)ÚidsÚbackendÚQt5Agg)Úmarksc                 óT  ‡‡	‡
‡‡— ddl mŠ
mŠ	 t        j                  dk(  r8|�6|j                  dd«      }|j                  dd«      }|j                  dd«      }dŠ‰	j                  j                  j                  Š|D ]%  }‰t        ‰	j                  j                  |«      z  ŠŒ'  G ˆ	ˆ
ˆfd	„d
«      }|j                  t        j                  dˆfd„«       ˆfd„}t        j                  «       j                  }|j!                  d|«       |j#                   |«       «       ‰|k(  sJ ‚y)zª
    Make a figure.
    Send a key_press_event event (using non-public, qtX backend specific api).
    Catch the event.
    Assert sent and caught keys are the same.
    r   )Ú_to_intr	   ÚdarwinNÚctrlÚcmdr0   Úmetac                   ó"   •— e Zd Zd„ Zˆ ˆˆfd„Zy)ú test_correct_key.<locals>._Eventc                  ó   — y)NF© )Úselfs    r   ÚisAutoRepeatz-test_correct_key.<locals>._Event.isAutoRepeatv   s   €  ur   c                 óP   •—  ‰t        ‰j                  j                  ‰«      «      S r   )ÚgetattrÚQtÚKey)rF   r	   r=   Úqt_keys    €€€r   Úkeyz$test_correct_key.<locals>._Event.keyw   s   ø€ ™g¤g¨f¯i©i¯m©m¸VÓ&DÓEÐEr   N)Ú__name__Ú
__module__Ú__qualname__rG   rM   )r	   r=   rL   s   €€€r   Ú_EventrC   u   s	   ø„ Ú,ßEr   rQ   ÚkeyboardModifiersc                 ó   •— ‰S r   rE   )rF   Úqt_mods    €r   ú<lambda>z"test_correct_key.<locals>.<lambda>z   s   ø€  V€ r   c                 ó   •— | j                   Šy r   )rM   )ÚeventÚresults    €r   Úon_key_pressz&test_correct_key.<locals>.on_key_press|   s   ø€ à—‘‰r   Úkey_press_event)Úmatplotlib.backends.qt_compatr=   r	   ÚsysÚplatformÚreplacerJ   ÚKeyboardModifierÚ
NoModifierrI   Úsetattrr   ÚQApplicationr   r   r   Úmpl_connectÚkeyPressEvent)r9   rL   Úqt_modsÚanswerÚmonkeypatchÚmodrQ   rY   Ú	qt_canvasr	   r=   rT   rX   s    `       @@@@r   Útest_correct_keyrj   /   sÿ   ü€ ÷v >ä
‡|�|�xÒ FÐ$6Ø—‘ ¨Ó.ˆØ—‘ 	¨5Ó1ˆØ—‘ ¨Ó/ˆØ€FØ�Y‰Y×'Ñ'×2Ñ2€FØò ;ˆØ”'˜&Ÿ)™)×4Ñ4°cÓ:Ñ:‰ð;÷Fõ Fð ×Ñœ	×.Ñ.Ð0CÛ+ô-ôô —
‘
“×#Ñ#€IØ×ÑÐ+¨\Ô:Ø×Ñ™F›HÔ%Ø�VÒÐÑr   c                  óH  ‡	‡
— d} t        j                  | «      5 Š	d‰	_        t        j                  dd¬«      }|j
                  Š
‰
j                  «        ˆ	ˆ
fd„}‰
j                  j                  «        ‰
j                  «        ‰
j                  «        ‰
j                  «       }g d¢}|D ]º  \  }}}}|� ||«       |j                  |k(  sJ ‚‰
j                  j                  |k(  sJ ‚‰
j                  j                  |k(  sJ ‚|j                  «       d	k(  sJ ‚|j                  «       d
k(  sJ ‚‰
j                  «       dk(  sJ ‚|j!                  «       dk(  j#                  «       rŒºJ ‚ t        j$                  |«       |j                  dk(  sJ ‚	 ddd«       y# 1 sw Y   yxY w)z}
    Make sure that if the pixel ratio changes, the figure dpi changes but the
    widget remains the same logical size.
    z?matplotlib.backends.backend_qt.FigureCanvasQT.devicePixelRatioFé   )é   é   éx   )ÚfigsizeÚdpic                 ó(  •— | ‰_         ‰j                  «       j                  «       }t        d„ t	        j
                  «       j                  dd«      d d D «       «      }|dk\  rVt        j                  j                  |t	        j                  t        j                  j                  j                  «      «       n)|j                  «       j                  j                  d«       ‰j                  «        ‰j!                  «        ‰j"                  | k(  sJ ‚y )Nc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   )Úint)Ú.0Úxs     r   ú	<genexpr>zQtest_device_pixel_ratio_change.<locals>.set_device_pixel_ratio.<locals>.<genexpr>™   s   è ø€ Ò#X¨q¤C¨§FÑ#Xùs   ‚ú.rn   )é   ry   é`   )Úreturn_valuer   ÚwindowHandleÚtupler	   ÚqVersionÚsplitÚQCoreApplicationÚ	sendEventÚQEventÚTypeÚDevicePixelRatioChangeÚscreenÚlogicalDotsPerInchChangedÚemitÚdrawÚflush_eventsÚdevice_pixel_ratio)Úratior   Úcurrent_versionÚpri   s      €€r   Úset_device_pixel_ratioz>test_device_pixel_ratio_change.<locals>.set_device_pixel_ratio•   sÓ   ø€ Ø"ˆAŒNà×%Ñ%Ó'×4Ñ4Ó6ˆFÜ#Ñ#X´F·O±OÓ4E×4KÑ4KÈCÐQRÓ4SÐTVÐUVÐ4WÔ#XÓXˆOØ &Ò(Ü×'Ñ'×1Ñ1ØÜ—M‘M¤&§-¡-×"4Ñ"4×"KÑ"KÓLõNð —‘“×9Ñ9×>Ñ>¸rÔBà�N‰NÔØ×"Ñ"Ô$ð ×/Ñ/°5Ò8Ð8Ñ8r   ))Néh  é  éÐ  )rl   r�   r�   r‘   )rn   éð   i°  ià  )g      ø?é´   i„  r�   NéX  r’   )r”   r’   )r   Úpatchr{   r   r   r   Úshowr   rˆ   r‰   Úsizerq   ÚrendererÚwidthÚheightÚget_width_heightÚget_size_inchesÚallr   )Úpropr   rŽ   r—   Úoptionsr‹   rq   r™   rš   r�   ri   s            @@r   Útest_device_pixel_ratio_changer    †   s‡  ù€ ð M€DÜ	�‰�DÓ	ð 9˜QØˆŒä�j‰j ¨SÔ1ˆØ—J‘Jˆ	Ø�‰Ôõ	9ð, 	×Ñ×ÑÔ Ø�‰ÔØ×ÑÔ Ø�~‰~Óˆò
ˆð *1ò 	;Ñ%ˆE�3˜˜vØÐ Ù& uÔ-ð —7‘7˜c’>Ð!�>Ø×%Ñ%×+Ñ+¨uÒ4Ð4Ð4Ø×%Ñ%×,Ñ,°Ò6Ð6Ð6ð —:‘:“< 3Ò&Ð&Ð&Ø—;‘;“= CÒ'Ð'Ð'Ø×-Ñ-Ó/°:Ò=Ð=Ð=Ø×'Ñ'Ó)¨VÑ3×8Ñ8Õ:Ð:Ð:ð	;ô  	�	‰	�#ŒØ�w‰w˜#Š~Ð‰~÷s9÷ 9ñ 9ús   šE
FÅ%)FÆF!c                  óV  — t        j                  «       \  } }t        j                  dd„ «      5  | j                  j
                  j                  j                  «       }|€J ‚|| j                  j
                  j                  j                  «       k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nú#matplotlib.backends.qt_compat._execc                  ó   — y r   rE   ©Úobjs    r   rU   z"test_subplottool.<locals>.<lambda>Í   ó   � r   )r   Úsubplotsr   r•   r   r   ÚtoolbarÚconfigure_subplots)r   ÚaxÚtools      r   Útest_subplottoolr¬   Ê   s‹   € ä�l‰l‹n�G€CˆÜ	�‰Ð9Ñ;KÓ	Lñ GØ�z‰z×!Ñ!×)Ñ)×<Ñ<Ó>ˆØÐÐÐØ�s—z‘z×)Ñ)×1Ñ1×DÑDÓFÒFÐFÑF÷G÷ Gñ Gús   ¯A&BÂB(c                  ó�  — t        j                  «       \  } }|j                  ddg«       |j                  dgg«       |j	                  t        d«      t        d«      t        d«      ¬«       t        j                  dd„ «      5  | j                  j                  j                  j                  «        d d d «       y # 1 sw Y   y xY w)Né   rn   rl   )Úcr¢   c                  ó   — y r   rE   r¤   s    r   rU   z$test_figureoptions.<locals>.<lambda>Ù   r¦   r   )r   r§   ÚplotÚimshowÚscatterÚranger   r•   r   r   r¨   Úedit_parameters)r   rª   s     r   Útest_figureoptionsr¶   Ó   s�   € ä�l‰l‹n�G€CˆØ‡G�GˆQ�ˆF„OØ‡I�I�ˆsˆeÔØ‡J�JŒu�Q‹xœ˜q›¤U¨1£X€JÔ.Ü	�‰Ð9Ñ;KÓ	Lñ 5Ø�
‰
×Ñ×"Ñ"×2Ñ2Ô4÷5÷ 5ñ 5ús   Â/B<Â<Cc                 ó4  — t        j                  «       \  }}|j                  dgg«       | dz  }d}t        j                  |t        |«      d f¬«      5  |j                  j                  j                  j                  «       }|t        |«      k(  sJ ‚|j                  «       sJ ‚	 d d d «       t        j                  |d¬«      5  |j                  j                  j                  j                  «       }|�J ‚	 d d d «       y # 1 sw Y   Œ]xY w# 1 sw Y   y xY w)Nr®   z
foobar.pngzCmatplotlib.backends.qt_compat.QtWidgets.QFileDialog.getSaveFileName)r{   )NN)r   r§   r²   r   r•   Ústrr   r   r¨   Úsave_figureÚexists)Útmp_pathr   rª   Úexpectedrž   Úfnames         r   Útest_save_figure_returnr¾   Ý   sî   € ä�l‰l‹n�G€CˆØ‡I�I�ˆsˆeÔØ˜,Ñ&€HØP€DÜ	�‰�D¬¨H«°tÐ'<Ô	=ñ !Ø—
‘
×"Ñ"×*Ñ*×6Ñ6Ó8ˆØœ˜H›Ò%Ð%Ð%Ø�‰Ô Ð Ñ ÷!ô 
�‰�D |Ô	4ñ Ø—
‘
×"Ñ"×*Ñ*×6Ñ6Ó8ˆØˆ}Ð‰}÷ð ÷	!ð !ú÷ð ús   ÁADÃ3DÄDÄDc                  óB  — t        j                  «       \  } }t        ddd¬«      t        ddd¬«      g}|j                  ||«       t	        j
                  dd„ «      5  | j                  j                  j                  j                  «        d d d «       y # 1 sw Y   y xY w)Néå  r®   ©ÚyearÚmonthÚdayrn   r¢   c                  ó   — y r   rE   r¤   s    r   rU   z7test_figureoptions_with_datetime_axes.<locals>.<lambda>ô   r¦   r   )
r   r§   r   r±   r   r•   r   r   r¨   rµ   )r   rª   Úxydatas      r   Ú%test_figureoptions_with_datetime_axesrÇ   ì   s�   € ä�l‰l‹n�G€Cˆä�d !¨Ô+Ü�d !¨Ô+ð€Fð ‡G�GˆF�FÔÜ	�‰Ð9Ñ;KÓ	Lñ 5Ø�
‰
×Ñ×"Ñ"×2Ñ2Ô4÷5÷ 5ñ 5ús   Á/BÂBc                  óX  — t        j                  «       \  } }| j                  j                  «        | j                  j                  j
                  }d\  }}| j                  ||«       | j                  j                  «       |t        j                  d   z  k(  sJ ‚| j                  j                  «       |t        j                  d   z  k(  sJ ‚|j                  «       }|j                  «       }| j                  ||«       |j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚y )N)rl   rn   z
figure.dpi)r   r§   r   rˆ   r   r   Úset_size_inchesr™   Ú
matplotlibÚrcParamsrš   )r   rª   r   ÚwÚhÚ	old_widthÚ
old_heights          r   Útest_double_resizerÐ   ø   só   € ô �l‰l‹n�G€CˆØ‡J�J‡O�OÔØ�Z‰Z×Ñ×&Ñ&€Fà�D€A€qØ×Ñ˜˜1ÔØ�:‰:×ÑÓ ¤Z×%8Ñ%8¸Ñ%FÑ!FÒFÐFÐFØ�:‰:×ÑÓ !¤j×&9Ñ&9¸,Ñ&GÑ"GÒGÐGÐGà—‘“€IØ—‘“€Jà×Ñ˜˜1ÔØ�<‰<‹>˜YÒ&Ð&Ð&Ø�=‰=‹?˜jÒ(Ð(Ñ(r   c                  ó‚   ‡— ddl m}  dŠˆfd„}t        j                  «       \  }}||_         | |«      }d|_        ‰sJ ‚y )Nr   )ÚFigureCanvasQTAggFc                 ó>   •— | j                   j                  «        dŠy )NT)r   Ú	draw_idle)r   ÚstaleÚcalleds     €r   Úcrashing_callbackz-test_canvas_reinit.<locals>.crashing_callback  s   ø€ à�
‰
×ÑÔØ‰r   T)Ú!matplotlib.backends.backend_qtaggrÒ   r   r§   Ústale_callbackrÕ   )rÒ   r×   r   rª   r   rÖ   s        @r   Útest_canvas_reinitrÚ     sA   ø€ åCà€Fôô
 �l‰l‹n�G€CˆØ*€CÔá˜sÓ#€FØ€C„IÙ€M‰6r   c                  ó
  — ddl m}   | «        dt        ddd¬«      fdt        ddd¬«      fg}t	        j
                  |«      }|j                  «        |j                  «       }|t        ddd¬«      t        ddd¬«      gk(  sJ ‚y )	Nr   )Ú_create_qAppzDatetime fieldrÀ   rl   é   rÁ   z
Date field)Úmatplotlib.backends.backend_qtrÜ   r   r   r   Ú
FormWidgetÚsetupÚget)rÜ   ÚformÚwidgetÚvaluess       r   Ú2test_form_widget_get_with_datetime_and_date_fieldsrå     sŠ   € å;Ù„Nð 
œ8¨°Q¸BÔ?Ð@Ø	”t ¨Q°BÔ7Ð8ð€Dô ×#Ñ# DÓ)€FØ
‡L�L„NØ�Z‰Z‹\€FØÜ�d !¨Ô,Ü�$˜a RÔ(ðò ð ñ r   c            
      ó~  — g } dD �cg c]
  }|gd|dœf‘Œ c}D �]  \  }}d }|D �cg c]$  }t         j                  j                  |«      rŒ#|‘Œ& }}t        j                  dk(  rt        j                  «       sd}nL|r!dj                  dj                  |«      «      }n)|d   d	k(  r!t        j                  j                  d
«      rd}g }|r5|j                  t        j                  j                  d|› d|› �¬«      «       | j                  t        j                   ||t#        |«      ¬«      «       �Œ | S c c}w c c}w )N)ÚPyQt6ÚPySide6ÚPyQt5ÚPySide2Úqtagg)Ú
MPLBACKENDÚQT_APIÚlinuxz'$DISPLAY and $WAYLAND_DISPLAY are unsetz{} cannot be importedz, rì   ÚmacosxÚTF_BUILDzmacosx backend fails on Azurez	Skipping z	 because )Úreason)r;   Úid)Ú	importlibÚutilÚ	find_specr\   r]   r   Údisplay_is_validÚformatÚjoinÚosÚenvironrá   ÚappendÚpytestÚmarkÚskipÚparamr¸   )ÚenvsÚqt_apiÚdepsÚenvrñ   ÚdepÚmissingr;   s           r   Ú_get_testable_qt_backendsr  1  s,  € Ø€Dð Cöàð ˆX g¸Ñ@ÒAòó A‰	ˆˆcð ˆØ"&ÖL˜3¬i¯n©n×.FÑ.FÀsÕ.K’3ÐLˆÐLÜ�L‰L˜GÒ#Ü%×6Ñ6Ô8Ø>‰FÙØ,×3Ñ3°D·I±I¸gÓ4FÓG‰FØ�Ñ (Ò*¬r¯z©z¯~©~¸jÔ/IØ4ˆFØˆÙØ�L‰LœŸ™×)Ñ)Ø" 3 % y°°Ð9ð *ó ;ô <à�‰”F—L‘L ¨E´c¸#³hÔ?Ö@ð#Að$ €Kùò%ùò
 Ms   ‡D5¦$D:ÁD:c                  óÌ  ‡— ddl m}  t        j                  «        d Šˆfd„}t        j
                  j                  d|«       t        j                  t        j                  «      }d„ }t        j                  t        j                  |«       	 t        j                  j                  j                  j                  «        ‰|k7  sJ ‚t        j                  t        j                  «      |k(  sJ ‚t        j                  t        j                   fD ]…  }t        j
                  j                  d|«       t        j                  t        j                  |«       | j                  «        ‰|k(  sJ ‚t        j                  t        j                  «      |k(  rŒ…J ‚ 	 t        j                  t        j                  |«       y # t        j                  t        j                  |«       w xY w)Nr   )Ú_BackendQT5c                  óˆ   •— t        j                  t         j                  «      Š t        j                  j                  «        y r   )ÚsignalÚ	getsignalÚSIGINTr	   r€   Úexit)Úevent_loop_handlers   €r   Úfire_signal_and_quitz6test_fig_sigint_override.<locals>.fire_signal_and_quitR  s.   ø€ ô $×-Ñ-¬f¯m©mÓ<Ðô 	×Ñ×$Ñ$Õ&r   c                  ó   — y r   rE   )ÚsignumÚframes     r   Úcustom_handlerz0test_fig_sigint_override.<locals>.custom_handlera  s   € Ør   )Úmatplotlib.backends.backend_qt5r  r   r   r	   ÚQTimerÚ
singleShotr
  r  r  rÊ   ÚbackendsÚ
backend_qtÚ
_BackendQTÚmainloopÚSIG_DFLÚSIG_IGN)r  r  Úoriginal_handlerr  r  s       @r   Útest_fig_sigint_overrider  H  s^  ø€ å;ä‡J�J„Lð Ðô'ô ‡M�M×Ñ˜QÐ 4Ô5ô ×'Ñ'¬¯©Ó6Ðòô ‡M�M”&—-‘- Ô0ð7ô 	×Ñ×&Ñ&×1Ñ1×:Ñ:Ô<ð " ^Ò3Ð3Ð3ô ×Ñ¤§¡Ó.°.Ò@Ð@Ð@ô  &Ÿ~™~¬v¯~©~Ð>ò 	EˆNÜ�M‰M×$Ñ$ QÐ(<Ô=Ü�M‰Mœ&Ÿ-™-¨Ô8à× Ñ Ô"à%¨Ò7Ð7Ð7Ü×#Ñ#¤F§M¡MÓ2°nÓDÐDÐDñ	Eô 	�‰”f—m‘mÐ%5Õ6øŒ�‰”f—m‘mÐ%5Õ6ús   ÂDF= ÆF= Æ=&G#c                  ó*   — ddl m}   | dddddœ«       y )Nr   ©Úipython_in_subprocessÚqtrë   r   r:   ))é   é   )r#  é   )é   r   )Úmatplotlib.testingr!  r   s    r   Útest_ipythonr(  �  s   € å8Ù˜$¨'¸GÈXÑ VÕWr   )+r   ró   rù   r
  r\   r   r   Úunittestr   rü   rÊ   r   r   Úmatplotlib._pylab_helpersr   r   r[   r	   r
   r   Úmatplotlib.backends.qt_editorr   ÚImportErrorrý   rþ   Ú
pytestmarkÚ_test_timeoutr9   r   Úparametrizerÿ   rj   r    r¬   r¶   r¾   rÇ   rÐ   rÚ   rå   r  r  r(  rE   r   r   ú<module>r0     sl  ðÛ Û Û 	Û Û 
ç #Ý ã ã Ý $Ý )Ý (ð;Ý4Ý3Ý7Ý9ð
 €ð ‡�×Ñ�W°$ÐÓ7ñ!ó 8ð!ð" ‡�×ÑØà	�?Ð# SÐ)Ø	�"�cÐØ	Ð$Ð%¨Ð2àØÐØ3ð	
ð
 
�rÐ@ÐAØ	˜˜¨-Ð9Ø	Ð&Ð'¨Ð4àÚ>Ø@ð	
ð 
�R˜ÐØ	˜"˜kÐ*àØÐØð	
ð+ò6	ð; ó *ðV ‡�×Ñ˜à€F‡L�LØØ�k‰k×!Ñ! (ÀÐ!ÓEôGð €F‡L�LØØ�k‰k×!Ñ! '¸tÐ!ÓDôFð%ó ñ óóW*ðh ðF ‡�×Ñ�W°$ÐÓ7ñ@ó 8ð@ðF ‡�×Ñ�W°$ÐÓ7ñGó 8ðGð ‡�×Ñ�W°$ÐÓ7ñ5ó 8ð5ð ‡�×Ñ�W°$ÐÓ7ñó 8ðð ‡�×Ñ�W°$ÐÓ7ñ5ó 8ð5ð ‡�×Ñ�W°$ÐÓ7ñ)ó 8ð)ð& ‡�×Ñ�W°$ÐÓ7ñó 8ðð$ ‡�×Ñ�X°4ÐÓ8ñó 9ðò"ð. ‡�×Ñ�W°$ÐÓ7ñ57ó 8ð57ðp ‡�×Ñ�W°$ÐÓ7ñXó 8ñXøðY ò ;Ø—‘×!Ñ!Ð"9Ó:ƒJð;ús   ¾J2 Ê2 KËK