Ë
    ¨eh\q  ã            	       ó®  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZ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 d dlZd dlZd dlmZ d dlmZ d dlmZmZ  G d„ dej4                  «      Ze j8                  d„ «       Zd	„ Z e«       rd
ndZd„ Z d„ Z!ejD                  jG                  d e«       «      ejD                  jG                  dddg«      ejD                  jI                  d¬«      d„ «       «       «       Z%d„ Z& e«       Z'e'D �]E  Z(e(jR                  d    d   Z*de*v r@e(jV                  jY                  ejD                  j[                  ej\                  ¬«      «       ŒZe*dk(  r@e(jV                  jY                  ejD                  j[                  ej\                  ¬«      «       ŒŸe*dk(  rqd dl/m0Z0  ejb                  «       d    Z1e1sŒÁ e0e1«       e0d«      k  sŒÓe(jV                  jY                  ejD                  j[                  ejd                  d¬«      «       �Œe(jR                  d    jg                  d«      d k(  rAe(jV                  jY                  ejD                  j[                  ej\                  ¬«      «       �Œwe*d!k(  rL ejh                  «       d"k7  r8e(jV                  jY                  ejD                  j[                  d#d¬$«      «       �ŒÈe*d!k(  s�ŒÏd%ejj                  v sd&ejj                  v s�Œíe	j                  d'k(  s�Œþe	jl                  dd( d)k  s�Œe(jV                  jY                  ejD                  j[                  d*«      «       �ŒH ejD                  jG                  de'«      ejD                  jI                  d¬«      d+„ «       «       Z7d,„ Z8d-„ Z9d.„ Z:d/„ Z;d0„ Z<d1„ Z=d2„ Z>d3„ Z?d4„ Z@d5„ ZAejD                  j…                  e	j                  d6k(  xr  ej†                  «        d7¬8«      ejD                  jG                  d9g  eA«       ¢«      d:„ «       «       ZDejD                  j…                  d%ejj                  v d;¬8«      ejD                  j…                  e	j                  d<k(  d=¬8«      d>„ «       «       ZEd?„ ZFejD                  j…                  e	j                  d6k7  d@¬8«      ejD                  jG                  d e«       «      dA„ «       «       ZGdB„ ZH e«       ZIeID �]>  Z(e(jR                  d    d   Z*e*dCk(  r5e(jV                  jY                  ejD                  j•                  dD«      «       ŒPe*dEk(  r5e(jV                  jY                  ejD                  j•                  dF«      «       ŒŠe*dk(  r5e(jV                  jY                  ejD                  j•                  dG«      «       ŒÄe*d!k(  sŒÊd%ejj                  v sd&ejj                  v sŒçe	j                  d'k(  sŒ÷e	jl                  dd( d)k  s�Œe(jV                  jY                  ejD                  j[                  d*«      «       �ŒA ejD                  jG                  deI«      ejD                  jI                  dH¬«      dI„ «       «       ZKdJ„ ZLejD                  jG                  d e«       «      dK„ «       ZMdL„ ZNejD                  jG                  d e«       «      ejD                  jG                  dMdNdOdifdPdQdRifg«      dS„ «       «       ZOdT„ ZPejD                  j…                  e	j                  d<k(  dU¬8«      ejD                  jG                  d e«       «      ejD                  jG                  dMdNdOdifdPdQdRifg«      dV„ «       «       «       ZQy)Wé    N)ÚImage)Ú_c_internal_utils)ÚToolToggleBase)Úsubprocess_run_helperÚis_ci_environmentc                   ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )Ú_WaitForStringPopenzL
    A Popen that passes flags that allow triggering KeyboardInterrupt.
    c                 óÂ   •— t         j                  dk(  rt        j                  |d<   t	        ‰| �  |i |¤i t        j                  ¥dddœ¥t        j                  ddœ¤Ž y )NÚwin32ÚcreationflagsÚAggÚ0©Ú
MPLBACKENDÚSOURCE_DATE_EPOCHT)ÚenvÚstdoutÚuniversal_newlines)	ÚsysÚplatformÚ
subprocessÚCREATE_NEW_CONSOLEÚsuperÚ__init__ÚosÚenvironÚPIPE)ÚselfÚargsÚkwargsÚ	__class__s      €úh/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_backends_interactive.pyr   z_WaitForStringPopen.__init__   s[   ø€ Ü�<‰<˜7Ò"Ü&0×&CÑ&CˆF�?Ñ#Ü‰ÑØð	=Øð	=ð N”2—:‘:ÐM¨UÈÒMÜ—?‘?°tõ		=ó    c                 óŽ   — d}	 | j                   j                  d«      }|st        d|›�«      ‚||z  }|j                  |«      ryŒC)z%Read until the terminator is reached.Ú é   z)Subprocess died before emitting expected N)r   ÚreadÚRuntimeErrorÚendswith)r   Ú
terminatorÚbufÚcs       r"   Úwait_forz_WaitForStringPopen.wait_for'   sW   € àˆØØ—‘× Ñ  Ó#ˆAÙÜ"Ø?À
¸~ÐNóPð Pà�1‰HˆCØ�|‰|˜JÔ'Øð r#   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r-   Ú__classcell__)r!   s   @r"   r	   r	      s   ø„ ñô=ö
r#   r	   c                  ó^  — t         j                  dk(  xr t        j                  «        } t         j                  dk(  xr t        j                  «        }g }g dD �cg c]
  }|gd|dœf‘Œ c}¢dD �cg c]  }|dgd|dœf‘Œ c}¢dD ��cg c]  }dD ]  }d	d
gdd|› |› �if‘Œ Œ c}}¢dgddif‘dgddif‘dgddif‘dgddif‘D �]<  \  }}d }|D �	cg c]$  }	t
        j                  j                  |	«      rŒ#|	‘Œ& }
}	|
r!dj                  dj                  |
«      «      }n¥|r|d   dk(  s|d   j                  d«      rd}n„| rd}n|d   dk(  r"t        j                  j                  d«      rd}nU|d   j                  d«      rA	 dd l}|j                  j!                  «       }|j#                  d«      }|d   d   }|› d�|vrd}g }|r6|j'                  t(        j*                  j-                  d|› d|› �¬ «      «       nÛ|d   j                  d«      rCt         j                  d!k(  r0|j'                  t(        j*                  j/                  d"¬ «      «       n„|d   dk(  r|dt        j                  v sd#t        j                  v rXt         j                  d!k(  rEt         j0                  d d$ d%k  r/|j'                  t(        j*                  j/                  d&¬ «      «       |j'                  i |¥d'd(j                  |«      i¥|f«       �Œ? |S c c}w c c}w c c}}w c c}	w # t$        $ r g }Y �Œvw xY w))NÚlinux)ÚPyQt6ÚPySide6ÚPyQt5ÚPySide2Úqtagg)r   ÚQT_APIÚ	cairocffiÚqtcairo)é   é   )ÚaggÚcairor@   Úgir   ÚgtkÚtkinterÚtkaggÚwxÚwxaggzmatplotlib.backends._macosxÚmacosxz{} cannot be importedú, z$DISPLAY is unsetú'$DISPLAY and $WAYLAND_DISPLAY are unsetÚTF_BUILDzmacosx backend fails on Azurer   ÚGtkr=   z.0zno usable GTK bindingsz	Skipping z	 because ©ÚreasonÚdarwinzgithub #16849ÚGITHUB_ACTIONé   ©r=   é   ú%Tk version mismatch on Azure macOS CIÚBACKEND_DEPSú,)r   r   r   Údisplay_is_validÚxdisplay_is_validÚ	importlibÚutilÚ	find_specÚformatÚjoinÚ
startswithr   r   ÚgetrA   Ú
RepositoryÚget_defaultÚenumerate_versionsÚImportErrorÚappendÚpytestÚmarkÚskipÚxfailÚversion_info)Ú_is_linux_and_display_invalidÚ_is_linux_and_xdisplay_invalidÚenvsÚqt_apiÚversionÚrendererÚdepsr   rM   ÚdepÚmissingrA   Úgi_repoÚavailable_gtk_versionsÚmarkss                  r"   Ú#_get_available_interactive_backendsru   8   s¥  € ä%(§\¡\°WÑ%<ò &NÜ):×)KÑ)KÓ)MÐ%Mð "ä&)§l¡l°gÑ&=ò 'PÜ*;×*MÑ*MÓ*OÐ&Oð #à€Dðð EöFàð ˆxØ%°Ñ8ò:ò Fðð EöFàð ˜Ð$Ø'°6Ñ:ò<ò Fð	ð $÷FØÐ4DòFØ(0ð ˜ˆ °°W°I¸h¸ZÐ/HÐ IÒJð FÐJó Fðð ˆ[˜<¨Ð1Ð2ðð ˆV�l DÐ)Ð*ðð ˆV�l GÐ,Ð-ðð ,Ð,¨|¸XÐ.FÐGðó 6F‰	ˆˆcð ˆØ"&ÖL˜3¬i¯n©n×.FÑ.FÀsÕ.K’3ÐLˆÐLÙØ,×3Ñ3°D·I±I¸gÓ4FÓG‰FÙ+Ø�LÑ! WÒ,à�|Ñ$×/Ñ/°Ô5Ø(‰FÙ*Ø>‰FØ�Ñ (Ò*¬r¯z©z¯~©~¸jÔ/IØ4‰FØ�Ñ×)Ñ)¨%Ô0ð	KÛð Ÿ-™-×3Ñ3Ó5�Ø)0×)CÑ)CÀEÓ)JÐ&Ø˜,Ñ'¨Ñ*ˆGØ�˜"ˆ~Ð%;Ñ;Ø1�ØˆÙØ�L‰LœŸ™×)Ñ)°9¸S¸EÀÈ6È(Ð1SÐ)ÓTÕUØ�Ñ×)Ñ)¨$Ô/´C·L±LÀHÒ4Là�L‰LœŸ™×*Ñ*°/Ð*ÓBÕCØ�,Ñ 7Ò*ØœRŸZ™ZÑ'¨?¼b¿j¹jÑ+HÜ�l‰l˜hÒ&Ü×Ñ˜r Ð" WÒ,à�L‰LÜ—‘×!Ñ!Ð)PÐ!ÓQôSà�‰Ð<˜Ð<˜^¨S¯X©X°d«^Ñ<¸eÐDÖEðm6Fðn €KùòmFùòFùóFùò Møô ò ,ð *,Ó&ð	,ús0   ÁLÁ2LÂ
LÃ$LÃ8LÆLÌL,Ì+L,c                  óÄ   — t        «       D � �cg c]E  \  } }t        j                  i | ¥g |¢dj                  d„ | j	                  «       D «       «      ¬«      ‘ŒG c}} S c c}} w )Nú-c              3   ó0   K  — | ]  \  }}|› d |› �–— Œ y­w)ú=N© )Ú.0ÚkÚvs      r"   ú	<genexpr>z5_get_testable_interactive_backends.<locals>.<genexpr>|   s   è ø€ Ò$H±D°A°q¨ s¨!¨A¨3¤ZÑ$Hùs   ‚)rt   Úid)ru   rd   Úparamr\   Úitems)r   rt   s     r"   Ú"_get_testable_interactive_backendsr‚   y   s^   € ô BÓC÷Eá��Uô �L‰L˜˜C˜¨¨%¨ØŸH™HÑ$H¸C¿I¹I»KÔ$HÓHöJó Eð Eùó Es   ŽA
Aéx   é   c                 óÐ  ‡— t        j                  «       5 }t        j                  dd«      }t        j
                  j                  |d«      Š|j                  ‰«        G ˆfd„dt        «      }| j                  j                  j                  }| j                  j                  j                  }|j                  d|«       |j                  dd«       d d d «       y # 1 sw Y   y xY w)NÚLA)é   r‡   ztest_la_icon.pngc                   ó   •— e Zd ZW ° ZdZy)ú5_test_toolbar_button_la_mode_icon.<locals>.CustomToolr%   N)r.   r/   r0   ÚimageÚdescription)Útmp_img_paths   €r"   Ú
CustomToolr‰   Œ   s   ø„ Ù ˆEØ‰Kr#   r�   ÚtestÚgroup)ÚtempfileÚTemporaryDirectoryr   Únewr   Úpathr\   Úsaver   ÚcanvasÚmanagerÚtoolmanagerÚtoolbarÚadd_tool)ÚfigÚtempdirÚimgr�   r—   r˜   rŒ   s         @r"   Ú!_test_toolbar_button_la_mode_iconr�   „   s±   ø€ ô 
×	$Ñ	$Ó	&ð *¨'Ü�i‰i˜˜hÓ'ˆÜ—w‘w—|‘| GÐ-?Ó@ˆØ�‰�Ôö	œô 	ð —j‘j×(Ñ(×4Ñ4ˆØ—*‘*×$Ñ$×,Ñ,ˆØ×Ñ˜V ZÔ0Ø×Ñ˜ Ô)÷*÷ *ñ *ús   –B=CÃC%c                  óª  ‡‡‡— dd l } dd l}dd l}dd l}dd l}dd lŠddlmŠ ddlm} ‰j                  j                  dddœ«       ‰j                  j                   |j                  |j                  d   «      «       ‰j                  d   j                  «       }|j                  d«      r¡|j                  d	«      s�‰j!                  «       }‰j#                  |«       |d
k7  r3 |j$                  t&        «      5   ‰j(                  d
d¬«       d d d «       ˆˆfd„}| j*                  j-                  d«      r ||d d dz   «        |d«        ‰j(                  |d¬«       ‰j/                  «       \  }}	t1        |j2                  «      j4                  d|› �k(  sJ ‚|j2                  j6                  j9                  «       dk(  sJ ‚‰j                  d   dk(  rt;        |«       |	j=                  ddgddg«       |j2                  j>                  r)|j2                  j>                  jA                  d dddd«       |j2                  jC                  d«      Š‰jE                   |d|j2                  d«      jF                  «       |j2                  jI                  dˆfd„«       |j2                  jI                  dtJ        «       |jM                  «       }
|jO                  |
d¬ «       ‰jQ                  «        ‰jS                  d!«       |jM                  «       }|jO                  |d¬ «       |
jU                  «       |jU                  «       k(  sJ ‚y # 1 sw Y   �Œ<xY w)"Nr   ©Úpyplot)ÚKeyEventFr&   ©zwebagg.open_in_browserzwebagg.port_retriesÚbackendr?   )rB   ÚwebrD   T©Úforcec                 ó¾   •—  ‰j                   | d¬«       ‰j                  «       }t        |j                  «      j                  d| › �k(  sJ ‚‰j                  d«       y )NTr¥   úmatplotlib.backends.backend_Úall)ÚuseÚfigureÚtyper•   r/   Úclose)Úalt_backendrš   ÚmplÚplts     €€r"   Úcheck_alt_backendz1_test_interactive_impl.<locals>.check_alt_backend¿   sX   ø€ ØˆC�G‰G�K tÕ,Ø—*‘*“,ˆCÜ˜Ÿ™Ó$×/Ñ/Ø2°;°-Ð@òAð Bð Aà�I‰I�eÕr#   r;   éýÿÿÿr@   Úsvgr¨   zFigure 1r˜   r—   rP   r=   g      ð?g       @Úkey_press_eventÚqÚ
draw_eventc                 ó$   •— ‰j                  «       S ©N©Ústart)ÚeventÚtimers    €r"   ú<lambda>z(_test_interactive_impl.<locals>.<lambda>Û   s   ø€ °u·{±{³}€ r#   Úclose_eventÚpng)r[   ç      à?)+Úimportlib.utilÚioÚjsonr   rd   Ú
matplotlibr    Úmatplotlib.backend_basesr¡   ÚrcParamsÚupdateÚloadsÚargvÚlowerr)   r]   r«   r­   Úraisesrb   rª   rY   rZ   Úsubplotsr¬   r•   r/   r–   Úget_window_titler�   Úplotr˜   Údraw_rubberbandÚ	new_timerÚadd_callbackÚ_processÚmpl_connectÚprintÚBytesIOÚsavefigÚshowÚpauseÚgetvalue)rX   rÂ   rÃ   r   rd   r¡   r£   rš   r±   ÚaxÚresultÚresult_afterr¯   r°   r¼   s               @@@r"   Ú_test_interactive_implrÝ   ›   s¥  ú€ ÛÛÛÛããÝ(Ý1Ø‡L�L×ÑØ"'Ø ñô ð
 ‡L�L×Ñ˜
˜Ÿ
™
 3§8¡8¨A¡;Ó/Ô0Ø�l‰l˜9Ñ%×+Ñ+Ó-€Gà×Ñ˜Ô w×'9Ñ'9¸.Ô'Ià�j‰j‹lˆØ�	‰	�#Œð �gÒØ�—‘œ{Ó+ñ -Ø�—‘˜ tÕ,÷-õ	ð �>‰>×#Ñ# KÔ0Ù˜g c r˜l¨WÑ4Ô5Ù˜%Ô Ø€C‡G�GˆG˜4Õ à�l‰l‹n�G€CˆÜ�—
‘
Ó×&Ñ&Ð,HÈÈ	Ð*RÒRÐRÐRà�:‰:×Ñ×.Ñ.Ó0°JÒ>Ð>Ð>à
‡|�|�IÑ -Ò/ä)¨#Ô.à‡G�GˆQ�ˆF�Q˜�FÔØ
‡z�z×ÒØ�
‰
×Ñ×*Ñ*¨4°°Q¸¸AÔ>à�J‰J× Ñ  Ó$€EØ	×Ñ‘xÐ 1°3·:±:¸sÓC×LÑLÔMà‡J�J×Ñ˜<Ó)DÔEØ‡J�J×Ñ˜=¬%Ô0à�Z‰Z‹\€FØ‡K�K�˜u€KÔ%à‡H�H„Jð ‡I�Iˆc„Nð —:‘:“<€LØ‡K�K� U€KÔ+à�?‰?Ó × 5Ñ 5Ó 7Ò7Ð7Ñ7÷_-ñ -ús   Ã9MÍMr   r˜   Útoolbar2r—   r=   )Úrerunsc                 óö  — | d   dk(  r|dk(  rt        j                  d«       | d   dk(  rt        j                  d«       | d   dk(  r|dk(  rt        j                  d«       	 t        t        t	        j
                  d	|i«      t        | ¬
«      }j                  j                  d«      dk(  sJ ‚y # t        j                  $ r5}t        j                  dt        |j                  «      z   «       Y d }~Œdd }~ww xY w)Nr   rG   r—   z*toolmanager is not implemented for macosx.rE   ú2wx backend is deprecated; tests failed on appveyorrF   zMTemporarily deactivated: show() changes figure height and thus fails the testr˜   ©ÚtimeoutÚ	extra_envz,Subprocess failed to test intended behavior
Ú
CloseEventr&   )rd   rf   Ú_run_helperrÝ   rÃ   ÚdumpsÚ_test_timeoutr   ÚCalledProcessErrorÚfailÚstrÚstderrr   Úcount)r   r˜   ÚprocÚerrs       r"   Útest_interactive_backendrð   î   sé   € ð ˆ<Ñ˜HÒ$Ø�mÒ#Ü�K‰KÐDÔEØ
ˆ<Ñ˜DÒ Ü�‰ÐHÔIØ
ˆ<Ñ˜GÒ#¨°=Ò(@Ü�‰ð .ô 	/ð
ÜÜ"Ü�J‰J˜	 7Ð+Ó,Ü!Øô	
ˆð �;‰;×Ñ˜\Ó*¨aÒ/Ð/Ñ/øô	 ×(Ñ(ò Ü�‰Ø;Ü�#—*‘*‹oñ÷	ñ 	ûðús   Á#,B0 Â0C8Ã+C3Ã3C8c                  ó’  — ddl m}  dd l}ddlm} |j                  j                  dddœ«       |j                  «       \  }}|j                  d«        | «       j                  |j                  g d¢«      }|j                  «        |j                  j                  d	t        «        | «       j                  |j                  j                  «      }|j                  d«       |j                  «        |j                  «        |j                  d
   j!                  «       j#                  d«      r|j                  j%                  «        y y )Nr   )ÚThreadPoolExecutorrŸ   Fr&   r¢   rÀ   )r&   r=   é   r¾   r£   rE   )Úconcurrent.futuresrò   rÄ   r    rÆ   rÇ   rÌ   rØ   ÚsubmitrÎ   rÛ   r•   rÓ   rÔ   Údrawr­   rÊ   r]   Úflush_events)rò   r¯   r°   rš   rÚ   Úfutures         r"   Ú_test_thread_implrù     sç   € Ý5ãÝ(à‡L�L×ÑØ"'Ø ñô ð �l‰l‹n�G€Cˆà‡I�Iˆc„NáÓ!×(Ñ(¨¯©²)Ó<€FØ
‡M�M„Oà‡J�J×Ñ˜=¬%Ô0ÙÓ!×(Ñ(¨¯©¯©Ó9€FØ‡I�Iˆc„NØ
‡M�M„OØ‡I�I„KØ
‡|�|�IÑ×$Ñ$Ó&×1Ñ1°$Ô7à�
‰
×ÑÕ!ð 8r#   r   r@   )rË   rE   rG   )Úparsez10.16T)rË   Ústrictr:   r8   rD   ÚCPythonzZPyPy does not support Tkinter threading: https://foss.heptapod.net/pypy/pypy/-/issues/1929)rM   rû   rJ   rO   rN   rP   rQ   rS   c                 óp   — t        t        t        | ¬«      }|j                  j	                  d«      dk(  sJ ‚y )Nrâ   rå   r&   )ræ   rù   rè   r   rí   ©r   rî   s     r"   Útest_interactive_thread_safetyrÿ   K  s0   € ô Ô(´-È3ÔO€DØ�;‰;×Ñ˜\Ó*¨aÒ/Ð/Ñ/r#   c                  ó&  — dd l } dd lm} | j                  j	                  d«      }t        |t        «      rJ ‚|j                  �J ‚|j                  d«       |j                  €J ‚| j                  j	                  d«      }t        |t        «      sJ ‚y )Nr   r£   é   )	rÄ   Úmatplotlib.pyplotr    rÆ   Ú_getÚ
isinstancerë   Ú_backend_modrÎ   )rÄ   r°   Úbks      r"   Ú&_impl_test_lazy_auto_backend_selectionr  R  sƒ   € ÛÝ#à	×	Ñ	×	!Ñ	! )Ó	,€BÜ˜"œcÔ"Ð"Ð"Ø×ÑÐ#Ð#Ð#à‡H�HˆQ„KØ×ÑÐ'Ð'Ð'Ø	×	Ñ	×	!Ñ	! )Ó	,€BÜ�bœ#ÔÐÑr#   c                  ó.   — t        t        t        ¬«       y ©N©rã   )ræ   r  rè   rz   r#   r"   Ú test_lazy_auto_backend_selectionr  `  s   € ÜÔ6Ü%ö'r#   c                  ó’   — dd l } dd l}d|j                  vsJ ‚d|j                  vsJ ‚d|j                  v sd|j                  v sJ ‚y y ©Nr   r5   Úpyside6r7   Úpyside2)Ú"matplotlib.backends.backend_qt5aggr   Úmodules©rÄ   r   s     r"   Ú_implqt5aggr  e  sO   € Û-Ûà˜#Ÿ+™+Ñ%Ð%Ð%Ø˜CŸK™KÑ'Ð'Ð'Ø�c—k‘kÑ! Y°#·+±+Ñ%=Ð=Ð=Ð%=Ð!r#   c                  ó’   — dd l } dd l}d|j                  vsJ ‚d|j                  vsJ ‚d|j                  v sd|j                  v sJ ‚y y r  )Ú$matplotlib.backends.backend_qt5cairor   r  r  s     r"   Ú
_implcairor  n  sO   € Û/Ûà˜#Ÿ+™+Ñ%Ð%Ð%Ø˜CŸK™KÑ'Ð'Ð'Ø�c—k‘kÑ! Y°#·+±+Ñ%=Ð=Ð=Ð%=Ð!r#   c                  ó’   — dd l } dd l}d|j                  vsJ ‚d|j                  vsJ ‚d|j                  v sd|j                  v sJ ‚y y r  )Úmatplotlib.backends.backend_qt5r   r  r  s     r"   Ú	_implcorer  w  sO   € Û*Ûà˜#Ÿ+™+Ñ%Ð%Ð%Ø˜CŸK™KÑ'Ð'Ð'Ø�c—k‘kÑ! Y°#·+±+Ñ%=Ð=Ð=Ð%=Ð!r#   c                  óî  — dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} t        |«      dk(  st        |«      dk(  rt	        j
                  d«       t        t        t        ¬«       t         j                  j                  d«      �t        t        t        ¬«       t        t        t        ¬«       y c c} w c c} w )N)r7   r  )r5   r  r   úneed both QT6 and QT5 bindingsr
  Úpycairo)rX   rY   rZ   Úlenrd   rf   ræ   r  rè   r  r  )rp   Úqt5_bindingsÚqt6_bindingss      r"   Útest_qt5backends_uses_qt5r   €  sÍ   € à+öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ð
 ,öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ô ˆ<Ó˜AÒ¤ \Ó!2°aÒ!7Ü�‰Ð4Ô5Ü”¤]Õ3Ü‡~�~×Ñ 	Ó*Ð6Ü”J¬Õ6Ü”	¤=Ö1ùòùòs
   …(C-³(C2c                  ó”  — dd l } d | j                  d<   d | j                  d<   d | j                  d<   d | j                  d<   dd lm} t	        j
                  t        d¬«      5  |j                  d«       d d d «       t	        j
                  t        d	¬«      5  |j                  d
«       d d d «       y # 1 sw Y   Œ?xY w# 1 sw Y   y xY w)Nr   r5   r7   r8   r6   z(Failed to import any of the following Qt)Úmatchr9   z^(?:(?!(PySide6|PyQt6)).)*$Úqt5agg)r   r  r  r    rd   rË   rb   Úswitch_backend)r   r°   s     r"   Ú_impl_missingr%  ‘  s«   € Ûà€C‡K�K�ÑØ€C‡K�K�ÑØ!€C‡K�K�	ÑØ!€C‡K�K�	Ñå#Ü	�‰”{Ð*TÔ	Uñ $Ø×Ñ˜7Ô#÷$ô 
�‰”{Ð*GÔ	Hñ %Ø×Ñ˜8Ô$÷%ð %÷$ð $ú÷%ð %ús   Á"B2ÂB>Â2B;Â>Cc                  ó.   — t        t        t        ¬«       y r	  )ræ   r%  rè   rz   r#   r"   Útest_qt_missingr'  ¡  s   € Ü”¤}Ö5r#   c                  ó^  — dd l } dd l}dd l}|j                  \  }}} | j                  |› d�«        | j                  |› d�«      }dd l} | j                  |› d�«      }|j                  dg«      }	|j                  ddt        ¬«       |j                  j                  j                  «        y )Nr   z.QtCorez
.QtWidgetszmpl testingÚerrorz.*Mixing Qt major.*)ÚmessageÚcategory)rX   r   ÚwarningsrÉ   Úimport_moduleÚmatplotlib.backends.backend_qtÚQApplicationÚfilterwarningsÚUserWarningÚbackendsÚ
backend_qtÚ_create_qApp)
rX   r   r,  Ú_Úhost_bindingÚmpl_bindingÚmpl_binding_qwidgetsrÄ   Úhost_qwidgetsÚhost_apps
             r"   Ú_impl_test_cross_Qt_importsr;  ¥  s­   € ÛÛÛà#&§8¡8Ñ €A€|�[à€I×Ñ˜{˜m¨7Ð3Ô4Ø2˜9×2Ñ2°k°]À*Ð3MÓNÐÛ)Ø+�I×+Ñ+¨|¨n¸JÐ,GÓH€Mà×)Ñ)¨=¨/Ó:€HØ×Ñ˜GÐ-CÜ%0ð ô 2à×Ñ×"Ñ"×/Ñ/Õ1r#   c               #   óÂ  K  — dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} t        |«      dk(  st        |«      dk(  r9t	        j
                  d d t        j                  j                  d«      g¬«      –— y |D ]  }|D ]  }||g||gfE d {  –—†  Œ Œ y c c} w c c} w 7 Œ­w)N)r7   r8   )r5   r6   r   r  )rt   )rX   rY   rZ   r  rd   r€   re   rf   )rp   r  r  Úqt5Úqt6s        r"   Úqt5_and_qt6_pairsr?  ·  sú   è ø€ à+öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ð
 ,öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ô ˆ<Ó˜AÒ¤ \Ó!2°aÒ!7Ü�l‰l˜4 Ü"(§+¡+×"2Ñ"2Ð3SÓ"TÐ!UôWò 	Wààò 0ˆØò 	0ˆCØ˜c˜
 S¨# JÐ/×/Ñ/ñ	0ñ0ùòùòð 0ús'   ‚C‡(C¯Cµ(CÁA,CÃ	CÃ
Cr4   rI   rL   z	host, mplc                 ó°   — 	 t        t        | |t        ¬«      }|j                  }d|v sJ ‚y # t        j
                  $ r}|j                  }Y d }~Œ+d }~ww xY w)Nr
  z2Mixing Qt major versions may not work as expected.)ræ   r;  rè   rì   r   ré   )Úhostr¯   rî   rì   Úexs        r"   Útest_cross_Qt_importsrC  Ê  sW   € ð
	ÜÔ6¸¸cÜ#0ô2ˆð —‘ˆØ?À6ÑIÐIÑIøô ×(Ñ(ò ð —‘�ûð	ús   ‚, ¬A¿AÁAz,this test fails an azure for unknown reasonsr   zCannot send SIGINT on Windows.c                  ó   — t        j                  d«       t        j                  t        j
                  dt        j                  t        «      dz   dgi t        j                  ¥dddœ¥¬«      } d	t        j                  d
   › dt        j                  d   › �}t        j                  «       t        z   }	 	 	 | j!                  «       }|�J ‚t"        j$                  j'                  |«      }	 |j/                  «        | j1                  t2        j4                  «       | j7                  t        ¬«      dk(  sJ ‚	 | j!                  «       €| j9                  «        y y # t"        j(                  j*                  $ r2 t        j                  «       |kD  rt        j,                  d«       nY ŒïY nw xY wŒõ# | j!                  «       €| j9                  «        w w xY w)NÚtornadoú-cz
_test_interactive_impl()z{}Úwebaggr   r   ©r   zhttp://zwebagg.addressú:zwebagg.portz'Failed to connect to the webagg server.r
  r   )rd   Úimportorskipr   ÚPopenr   Ú
executableÚinspectÚ	getsourcerÝ   r   r   r¯   rÆ   ÚtimeÚperf_counterrè   ÚpollÚurllibÚrequestÚurlopenr)  ÚURLErrorrê   r­   Úsend_signalÚsignalÚSIGINTÚwaitÚkill)rî   Úurlrã   ÚretcodeÚconns        r"   Útest_webaggr^  Ü  s‹  € ô ×Ñ˜	Ô"Ü×ÑÜ	�‰˜Ü	×	Ñ	Ô1Ó	2Ø'ñ
(Ø)-ð	/ð MŒr�z‰zÐL¨ÈÒLô	N€Dð
 ”C—L‘LÐ!1Ñ2Ð3°1´S·\±\À-Ñ5PÐ4QÐ
R€CÜ×ÑÓ!¤MÑ1€GðØð
ØŸ)™)›+�à�Ð&�Ü—~‘~×-Ñ-¨cÓ2�Øð 	�
‰
ŒØ×ÑœŸ™Ô'Ø�y‰y¤ˆyÓ/°1Ò4Ð4Ñ4à�9‰9‹;ÐØ�I‰I�Kð øô —<‘<×(Ñ(ò Ü×$Ñ$Ó&¨Ò0Ü—K‘KÐ IÕJáñ Kðúð øð  �9‰9‹;ÐØ�I‰I�Kð ús2   Â4F* Â63E Ã)AF* ÅA
F&Æ!F* Æ%F&Æ&F* Æ*#Gc                  ó  — dd l } dd l}|j                  dd  \  }}|j                  d«      }| j                  j                  dd «       | j                  j                  dd «       |D ]  }||j                  vrŒJ ‚ dd lm} |j                  «       dk(  sJ ‚|D ]  }||j                  vrŒJ ‚ |D ]'  }t        j                  |«       ||j                  v rŒ'J ‚ 	 |j                  |«        |j                  d«       y # t        $ r Y y w xY w)Nr   r&   rU   ÚDISPLAYÚWAYLAND_DISPLAYr?   )r   r   rÉ   Úsplitr   Úpopr  r  r    Úget_backendrX   r-  r$  Úexitrb   )r   r   r£   ro   rp   r°   s         r"   Ú_lazy_headlessrf  ý  s  € ÛÛà—H‘H˜Q˜R�L�M€GˆTØ�:‰:�c‹?€Dð ‡J�J‡N�N�9˜dÔ#Ø‡J�J‡N�NÐ$ dÔ+Øò &ˆØ˜#Ÿ+™+Ò%Ð%Ð%ð&õ $Ø�?‰?Ó Ò%Ð%Ð%Øò &ˆØ˜#Ÿ+™+Ò%Ð%Ð%ð&ð ò "ˆÜ×Ñ Ô$Ø�c—k‘kÒ!Ð!Ð!ð"ð
Ø×Ñ˜7Ô#ð 	ˆ�‰��øô ò Ùðús   ÃC> Ã>	D
Ä	D
zthis a linux-only testc           
      ó~   — t        t        | j                  d«      | j                  d«      t        i | ¥dddœ¥¬«      }y )Nr   rT   r%   )r`  ra  râ   )ræ   rf  rc  rè   rþ   s     r"   Útest_lazy_linux_headlessrh    s:   € ô ÜØ�‰�Ó˜sŸw™w ~Ó6ÜØ?�SÐ? R¸BÒ?ô	�Dr#   c                  óî  — dd l m}  | j                  «       \  }}|j                  ddgddgd¬«      \  }| j	                  d¬«       | j                  d«       |j                  j                  d	t        «       |j                  j                  |j                  «      }|j                  |«       |j                  j                  |j                  «       t        d
«      D ]…  }|j                  j                  |«       |j                  ddgddg«      \  }|j                  |«       |j                  j                  |j                  «       |j                  j                  «        Œ‡ | j                  d«       y )Nr   r&   rP   T)ÚanimatedF)Úblockg333333Ó?r¶   é
   çš™™™™™¹?)r  r    rÌ   rÎ   r×   rØ   r•   rÓ   rÔ   Úcopy_from_bboxÚbboxÚdraw_artistÚblitÚrangeÚrestore_regionr÷   )r°   rš   rÚ   ÚlnÚbgÚjs         r"   Ú_test_number_of_draws_scriptrw  )  s  € Ý#à�l‰l‹n�G€Cˆð �'‰'�1�a�&˜1˜a˜&¨4ˆ'Ó
0�C€Bð ‡H�H�5€HÔØ‡I�Iˆc„Nà‡J�J×Ñ˜<¬Ô/ð 
�‰×	"Ñ	" 3§8¡8Ó	,€Bà‡N�N�2Ôà‡J�J‡O�O�C—H‘HÔä�2‹Yò "ˆà�
‰
×!Ñ! "Ô%ð �g‰g�q˜!�f˜q !˜fÓ%‰ˆà
�‰�rÔà�
‰
�‰˜Ÿ™Ô!à�
‰
×ÑÕ!ð"ð ‡I�Iˆc…Nr#   Ú	gtk3cairoz#gtk3cairo does not support blittingÚ	gtk4cairoz#gtk4cairo does not support blittingzwx does not support blittingr>   c                 ó†   — t        t        t        | ¬«      }|j                  j	                  d«      }d|cxk  rdk  sJ ‚ J ‚y )Nrâ   Ú	DrawEventr   r  )ræ   rw  rè   r   rí   )r   rî   Úndrawss      r"   Útest_blitting_eventsr}  j  sA   € ô Ü$¬mÀsôL€Dð �[‰[×Ñ˜{Ó+€FØˆvŒ>˜Š>Ð‰>Ð‰>r#   c                  ó‚  — dd l } ddlm} dd lm}  | j
                  d«      rdnd}|j                  «       }|j                  |«       |j                  j                  d«      } |«       }|j                  |«       |j                  «        |j                  |«       |j                  «        |j                  dkD  sJ ‚d|_        d|_        |j                  «        |j                  |«       |j                  dk(  sJ ‚|j                  «        |j                  |«       |j                  dk(  sJ ‚|j                  d	«       y )
Nr   )ÚMockÚCIrP   rÀ   rm  r&   Tr©   )r   Úunittest.mockr  r  r    Úgetenvr«   rØ   r•   rÐ   rÑ   rº   ÚstopÚ
call_countÚsingle_shotr­   )r   r  r°   Ú
pause_timerš   r¼   Úmocks          r"   Ú_impl_test_interactive_timersrˆ  x  sÿ   € ó
 Ý"Ý#ð  �b—i‘i ”o‘¨3€JØ
�*‰*‹,€CØ‡I�IˆjÔØ�J‰J× Ñ  Ó%€EÙ‹6€DØ	×Ñ�tÔØ	‡K�K„MØ‡I�IˆjÔØ	‡J�J„LØ�?‰?˜QÒÐÐð €D„OØ€EÔØ	‡K�K„MØ‡I�IˆjÔØ�?‰?˜aÒÐÐð 
‡K�K„MØ‡I�IˆjÔØ�?‰?˜aÒÐÐØ‡I�IˆeÕr#   c                 óÎ   — | d   dk(  r*t        j                  d«      rt        j                  d«       | d   dk(  rt        j                  d«       t	        t
        t        | ¬«       y )Nr   rx  r€  z)gtk3cairo timers do not work in remote CIrE   rá   râ   )r   r‚  rd   rf   ræ   rˆ  rè   rH  s    r"   Útest_interactive_timersrŠ  ›  sP   € à
ˆ<Ñ˜KÒ'¬B¯I©I°d¬OÜ�‰Ð?Ô@Ø
ˆ<Ñ˜DÒ Ü�‰ÐHÔIÜÔ-Ü%°ö6r#   c                 óz  ‡‡	‡
— dd l Š	dd lm} dd lŠdd l}|j                  | «       ˆˆ	fd„}t        ||«      }|j                  d|«      Š
|j                  «       }|j                  j                  dd„ «       |j                  j                  dˆ
fd„«       	  |d
i |¤Ž y # t        $ r t        dd¬	«       Y y w xY w)Nr   c                  ó²   •— ‰j                   dk(  rdd l} | j                  dd«       y dd l} ‰j                   ‰j
                  «       |j                  «       y )Nr   r   )r   Úwin32apiÚGenerateConsoleCtrlEventrW  rZ  ÚgetpidrX  )r�  rW  r   r   s     €€r"   Úinterrupterz&_test_sigint_impl.<locals>.interrupter­  sA   ø€ Ø�<‰<˜7Ò"ÛØ×-Ñ-¨a°Õ3ãØˆB�G‰G�I�B—I‘I“K §¡Õ/r#   r&   r¶   c                  ó   — t        dd¬«      S ©NÚDRAWT©Úflush©rÔ   ©r   s    r"   r½   z#_test_sigint_impl.<locals>.<lambda>º  s   € ”e˜F¨$Ô/€ r#   c                  ó$   •— ‰j                  «       S r¸   r¹   )r   r¼   s    €r"   r½   z#_test_sigint_impl.<locals>.<lambda>¾  s   ø€ �e—k‘k“m€ r#   ÚSUCCESSTr”  rz   )r   r  r    r   Ú	threadingr$  ÚgetattrÚTimerr«   r•   rÓ   ÚKeyboardInterruptrÔ   )r£   Útarget_namer    r°   rš  r�  Útargetrš   r   r   r¼   s           @@@r"   Ú_test_sigint_implr   ¥  s¦   ú€ ÛÝ#ÛÛà×Ñ�wÔõ0ô �S˜+Ó&€FØ�O‰O˜A˜{Ó+€EØ
�*‰*‹,€CØ‡J�J×ÑØÙ/ôð ‡J�J×ÑØÛ#ôð%ÙÑ�ÓøÜò %Üˆi˜t×$ð%ús   ÂB! Â!B:Â9B:ztarget, kwargsr×   rk  rØ   Úintervalrl  c                 ó¶  — | j                  d«      }|j                  d«      st        j                  d«       t	        t
        j                  dt        j                  t        «      d|›d|›d|›d�z   g«      }	 |j                  d«       |j                  t        ¬	«      \  }}d
|v sJ ‚y # t        $ r% |j                  «        |j                  «       \  }}‚ w xY w)Nr   ©ÚqtrG   ú-SIGINT currently only tested on qt and macosxrF  z
_test_sigint_impl(rH   ú)r“  r
  r™  )r^   r]   rd   rf   r	   r   rL  rM  rN  r   r-   Úcommunicaterè   Ú	ExceptionrZ  )r   rŸ  r    r£   rî   r   r5  s          r"   Útest_sigintr©  Æ  sÜ   € ð �g‰g�lÓ#€GØ×ÑÐ.Ô/Ü�‰ÐCÔDÜÜ	�‰˜Ü	×	Ñ	Ô,Ó	-Ø ˜{¨"¨V¨J°b¸¸
À!Ð	Dñ
Eð	FóG€DðØ�‰�fÔØ×$Ñ$¬]Ð$Ó;‰	ˆ�ð
 ˜ÑÐÑøô	 ò Ø�	‰	ŒØ×$Ñ$Ó&‰	ˆ�Øðús   Á9*B* Â*.Cc                 ó²  ‡— dd l }dd lm} |j                  | «       t	        ||«      }|j                  «       }|j                  j                  dd„ «       |j                  j                  d¬«      Šd‰_	        ‰j                  t        dd¬«       ˆfd	„} |j                   |j                  |«       	  |di |¤Ž y # t        $ r t        d
d¬«       Y y w xY w)Nr   r¶   c                  ó   — t        dd¬«      S r’  r–  r—  s    r"   r½   z7_test_other_signal_before_sigint_impl.<locals>.<lambda>æ  s   € ´u¸VÈ4Ô7P€ r#   r&   )r¡  TÚSIGUSR1r”  c                 ó&   •— ‰j                  «        y r¸   r¹   )ÚsignumÚframer¼   s     €r"   Úcustom_signal_handlerzD_test_other_signal_before_sigint_impl.<locals>.custom_signal_handlerì  s   ø€ Ø�‰�r#   r™  rz   )rW  r  r    r$  r›  r«   r•   rÓ   rÐ   r…  rÑ   rÔ   r¬  r�  )	r£   rž  r    rW  r°   rŸ  rš   r°  r¼   s	           @r"   Ú%_test_other_signal_before_sigint_implr±  Ý  sº   ø€ ÛÝ#à×Ñ�wÔä�S˜+Ó&€Fà
�*‰*‹,€CØ‡J�J×Ñ˜<Ñ)PÔQà�J‰J× Ñ ¨!Ð Ó,€EØ€EÔØ	×Ñ”u˜i¨tÐÔ4ôà€F‡M�M�&—.‘.Ð"7Ô8ð%ÙÑ�ÓøÜò %Üˆi˜t×$ð%ús   Â4B= Â=CÃCz,No other signal available to send on Windowsc                 óÄ  — | j                  d«      }|j                  d«      st        j                  d«       |dk(  r9|j                  j                  t        j                  j                  d¬«      «       t        j                  dk(  r>|dk(  r9|j                  j                  t        j                  j                  d	¬«      «       t        t        j                  d
t        j                  t        «      d|›d|›d|›d�z   g«      }	 |j                  d«       t!        j"                  |j$                  t&        j(                  «       |j                  d«       t!        j"                  |j$                  t&        j*                  «       |j-                  t.        ¬«      \  }}t3        |«       d|v sJ ‚y # t0        $ r% |j#                  «        |j-                  «       \  }}‚ w xY w)Nr   r£  r¥  rG   zmacosx backend is buggyrL   rN   r×   zQt backend is buggy on macOSrF  z'
_test_other_signal_before_sigint_impl(rH   r¦  r“  r¬  r
  r™  )r^   r]   rd   rf   ÚnodeÚ
add_markerre   rg   r   r   r	   rL  rM  rN  r±  r-   r   rZ  ÚpidrW  r¬  rX  r§  rè   r¨  rÔ   )r   rŸ  r    rS  r£   rî   r   r5  s           r"   Útest_other_signal_before_sigintr¶  ö  s†  € ð �g‰g�lÓ#€GØ×ÑÐ.Ô/Ü�‰ÐCÔDØ�(ÒØ�‰×Ñ¤§¡× 1Ñ 1Ð9RÐ 1Ó SÔTÜ
‡|�|�xÒ F¨fÒ$4ð
 	�‰×ÑÜ�K‰K×ÑÐ%CÐÓDô	FäÜ	�‰˜Ü	×	Ñ	Ô@Ó	AØ	3Øˆk˜˜F˜: R¨ z°ð
4ñ
4ð	5ó6€Dð
	Ø�‰�fÔÜ
�‰�—‘œ&Ÿ.™.Ô)Ø�‰�iÔ Ü
�‰�—‘œ&Ÿ-™-Ô(Ø×$Ñ$¬]Ð$Ó;‰	ˆ�ô
 
ˆ&„MØ˜ÑÐÑøô ò Ø�	‰	ŒØ×$Ñ$Ó&‰	ˆ�Øðús   ÄBF1 Æ1.G)RÚ	functoolsrX   rÁ   rM  rÃ   r   r   rW  r   r   r�   rO  Úurllib.requestrR  ÚPILr   rd   rÄ   r¯   r   Úmatplotlib.backend_toolsr   Úmatplotlib.testingr   ræ   r   rK  r	   Ú	lru_cacheru   r‚   rè   r�   rÝ   re   ÚparametrizeÚflakyrð   rù   Ú_thread_safe_backendsr€   Úvaluesr£   rt   rc   rg   ré   Úpackaging.versionrú   Úmac_verÚTimeoutExpiredr^   Úpython_implementationr   rh   rÿ   r  r  r  r  r  r   r%  r'  r;  r?  ÚskipifrV   rC  r^  rf  rh  rw  Ú_blit_backendsrf   r}  rˆ  rŠ  r   r©  r±  r¶  rz   r#   r"   ú<module>rÇ     s  ðÛ Û Û Û Û Û 	Û Û Û Û 
Û Û Û å ã ã Ý (Ý 3ß Vô˜*×*Ñ*ô ð> ×Ññ=ó ð=ò@Eñ )Ô*‘°€ò*ò.P8ðf ‡�×Ñ˜Ñ BÓ DÓEØ‡�×Ñ˜ Z°Ð$?Ó@Ø‡�×Ñ˜!ÐÓñ0ó ó Aó Fð0ò."ñ< ;Ó<Ð à"ó  H€EØ�l‰l˜1‰o˜lÑ+€GØ�'Ñð 	�‰×ÑØ�K‰K×Ñ Z×%BÑ%BÐÓCõ	Eà	�DŠØ�‰×ÑØ�K‰K×Ñ Z×%BÑ%BÐÓCõ	Eà	�HÒ	Ý+Ø"�(×"Ñ"Ó$ QÑ'ˆò ‘u˜W“~©¨g«Ó6Ø�K‰K×ÑØ—‘×!Ñ!¨×)BÑ)BØ)-ð "ó /ö0ð 
�‰�a‰×	Ñ	˜XÓ	&¨)Ò	3Ø�‰×ÑØ�K‰K×Ñ Z×%BÑ%BÐÓCö	Eà	�GÒ	Ð > × >Ñ >Ó @ÀIÒ MØ�‰×ÑØ�K‰K×ÑðKàð ó ö	ð
 �WÔ
Ø˜Ÿ™Ñ# ¸"¿*¹*Ó'DØ
�,‰,˜(Ô
" s×'7Ñ'7¸¸Ð';¸gÔ'EØ�‰×ÑØ�K‰K×ÑÐEÓFö	Hð? HðF ‡�×Ñ˜Ð 5Ó6Ø‡�×Ñ˜!ÐÓñ0ó ó 7ð0ò
ò'ò
>ò>ò>ò2ò"%ò 6ò2ò$0ð& ‡�×ÑØ‡L�L�GÑÒHÐ$FÐ$5×$FÑ$FÓ$HÐ HØ4ð ó 6ð ‡�×Ñ˜Ð&<Ñ(9Ó(;Ð&<Ó=ñJó >ó6ðJð ‡�×Ñ�J "§*¡*Ð,ØIð ó Kà‡�×Ñ�C—L‘L GÑ+Ð4TÐÓUñó VóKðò<ðB ‡�×Ñ�C—L‘L GÑ+Ð4LÐÓMØ‡�×Ñ˜Ñ BÓ DÓEñó Fó Nðò&ñR 4Ó5€Øó 
€EØ�l‰l˜1‰o˜lÑ+€GØ�+Òà�‰×ÑØ�K‰K×ÑÐBÓCõ	Eà	�KÒ	à�‰×ÑØ�K‰K×ÑÐBÓCõ	Eà	�DŠØ�‰×ÑØ�K‰K×ÑÐ;Ó<õ	>à
�WÓ
Ø˜Ÿ™Ñ# ¸"¿*¹*Ò'DØ
�,‰,˜(Ó
"Ø
×
Ñ
˜2˜AÐ
 Ô
(à�‰×ÑØ�K‰K×ÑÐEÓFö	
ð%
ð. ‡�×Ñ˜ Ó/à‡�×Ñ˜!ÐÓñó ó 0ðò ðF ‡�×Ñ˜Ñ BÓ DÓEñ6ó Fð6ò%ðB ‡�×Ñ˜Ñ BÓ DÓEØ‡�×ÑÐ)Øˆg�tˆ_ÐØˆz˜2ÐÐð,ó ñó	ó Fð
ò$%ð2 ‡�×Ñ�C—L‘L GÑ+ØIð ó Kà‡�×Ñ˜Ñ BÓ DÓEØ‡�×ÑÐ)Øˆg�tˆ_ÐØˆz˜2ÐÐð,ó ñó	ó FóKñr#   