§
    ‚Øjé)  ã                   óÒ  — 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	m
Z
 d dlmZ dZdd„Z ed¬¦  «        d	„ ¦   «         Z ed
¬¦  «        d„ ¦   «         Zej                              ej        ¦   «         dk    d¬¦  «        ej                             d¬¦  «         ed
¬¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             d¬¦  «         ed ¬¦  «        d„ ¦   «         ¦   «         Z ed¬¦  «        d„ ¦   «         Z ed¬¦  «        d„ ¦   «         Z ed
¬¦  «        d„ ¦   «         Z ed¬¦  «        d„ ¦   «         Z ed
¬¦  «        d„ ¦   «         ZdS )é    N)Úpatch)Ú_c_internal_utils)Úsubprocess_run_helperé<   c                 ó�  ‡ ‡— ‰€t          j        t          ‰ ¦  «        S dt          j        v r‰S t
          j                             t          j	         
                    d¦  «         d¬¦  «        t
          j                             t          j        dk    ot          j        ¦   «          d¬¦  «        t
          j                             dt          j        v sd	t          j        v o't          j        d
k    ot          j        dd…         dk     d¬¦  «        t          j        ‰¦  «        ˆˆ fd„¦   «         ¦   «         ¦   «         ¦   «         }|S )zù
    A decorator to run *func* in a subprocess and assert that it prints
    "success" *success_count* times and nothing on stderr.

    TkAgg tests seem to have interactions between tests, so isolate each test
    in a subprocess. See GH#18261
    NÚMPL_TEST_ESCAPE_HATCHÚtkinterzmissing tkinter©ÚreasonÚlinuxz$DISPLAY is unsetÚTF_BUILDÚGITHUB_ACTIONÚdarwiné   )é   é   z%Tk version mismatch on Azure macOS CIc                  óì  •‡— t          j        d¦  «         	 t          ‰t          t	          dd¬¦  «        ¬¦  «        } g d¢Šˆfd„| j                             ¦   «         D ¦   «         rJ ‚| j                             d¦  «        ‰k    sJ ‚d S # t          j
        $ r t          j        d	¦  «         Y d S t          j        $ r4}t          j        d
t          |j        ¦  «        z   ¦  «         Y d }~d S d }~ww xY w)Nr	   ÚTkAggÚ1)Ú
MPLBACKENDr   )ÚtimeoutÚ	extra_env)ÚOpenGLz!CFMessagePort: bootstrap_registerz%/usr/include/servers/bootstrap_defs.hc                 óL   •‡— g | ]Št          ˆfd „‰D ¦   «         ¦  «        ¯‰‘Œ S )c              3   ó    •K  — | ]}|‰vV — Œ	d S ©N© )Ú.0ÚmsgÚlines     €ú•/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_backend_tk.pyú	<genexpr>zB_isolated_tk_test.<locals>.test_func.<locals>.<listcomp>.<genexpr>F   s'   øè è € ÐHÐH°3˜s¨$˜ÐHÐHÐHÐHÐHÐHó    )Úall)r   r    Úignored_liness    @€r!   ú
<listcomp>z8_isolated_tk_test.<locals>.test_func.<locals>.<listcomp>E   sR   øø€ ð Jð Jð J ÝÐHÐHÐHÐH¸-ÐHÑHÔHÑHÔHðJ˜ð Jð Jð Jr#   ÚsuccesszSubprocess timed outz,Subprocess failed to test intended behavior
)ÚpytestÚimportorskipr   Ú_test_timeoutÚdictÚstderrÚ
splitlinesÚstdoutÚcountÚ
subprocessÚTimeoutExpiredÚfailÚCalledProcessErrorÚstr)ÚprocÚer%   ÚfuncÚsuccess_counts     @€€r!   Ú	test_funcz$_isolated_tk_test.<locals>.test_func"   sq  øø€ õ" 	Ô˜IÑ&Ô&Ð&ð	AÝ(Ø�mµtØ&¸cð8Cñ 8Cô 8CðDñ Dô DˆDðFð Fð FˆMðJð Jð Jð J¨¬×)?Ò)?Ñ)AÔ)Að Jñ Jô Jð Jð Jð Jà”;×$Ò$ YÑ/Ô/°=Ò@Ð@Ð@Ð@Ð@Ð@øõ Ô(ð 	0ð 	0ð 	0ÝŒKÐ.Ñ/Ô/Ð/Ð/Ð/Ð/ÝÔ,ð 	)ð 	)ð 	)ÝŒKÐGÝ˜aœh™-œ-ñ(ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøøð	)øøøs   ˜&B Â#C3Â1C3Â?)C.Ã.C3)Ú	functoolsÚpartialÚ_isolated_tk_testÚosÚenvironr(   ÚmarkÚskipifÚ	importlibÚutilÚ	find_specÚsysÚplatformr   Úxdisplay_is_validÚxfailÚversion_infoÚwraps)r8   r7   r9   s   `` r!   r<   r<      s_  øø€ ð €|ÝÔ Õ!2°MÑBÔBÐBà¥"¤*Ð,Ð,àˆå„[×ÒÝŒN×$Ò$ YÑ/Ô/Ð/Ø ð ñ ô õ „[×ÒÝŒ˜ÒÐMÕ(9Ô(KÑ(MÔ(MÐ$MØ"ð ñ ô õ „[×ÒØ	•r”zÐ	!Ð	B _½¼
Ð%Bð 	DÝŒ˜Ò ð	DÝ%(Ô%5°b°q°bÔ%9¸GÒ%CØ6ð ñ ô õ
 „_�TÑÔðAð Að Að Að Añ Ôñô ñ	ô ñ	ô ðAð2 Ðr#   é   )r8   c            	      óÜ  — dd l m}  dd l}dd l}ddlm}m} |                      ¦   «         \  }}|j        j	        }| 
                    d|j        ¬¦  «        }d}	|	D ]e}
	 |                     |j                             ¦   «         t          |¦  «        ||j        d|
¦  «         ŒG# t"          $ r t%          d¦  «         Y Œbw xY w|                      |¦  «         |                     ||d¦  «         d S )Nr   )Ú_backend_tkÚ_tkagg)é   rN   rN   )Údtype))éÿÿÿÿr   r   r   )r   r   r   r   )é   rJ   r   r   )r   r   rP   r   )r   r   r   r   )r   r   rQ   rJ   )r   rQ   r   r   r'   )Úmatplotlib.pyplotÚpyplotÚnumpyÚ!matplotlib.backends.backend_tkaggÚmatplotlib.backendsrL   rM   ÚsubplotsÚcanvasÚ_tkphotoÚonesÚuint8ÚblitÚtkÚ
interpaddrr4   ÚTK_PHOTO_COMPOSITE_OVERLAYÚ
ValueErrorÚprintÚclose)ÚpltÚnpÚ
matplotlibrL   rM   ÚfigÚaxÚ
photoimageÚdataÚ	bad_boxesÚbad_boxs              r!   Ú	test_blitrl   L   s7  € à#Ð#Ð#Ð#Ð#Ð#ØÐÐÐØ,Ð,Ð,Ð,Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7à�lŠl‰nŒn�G€CˆØ”Ô$€JØ�7Š7�9 B¤Hˆ7Ñ-Ô-€Dð€Ið ð ð ˆð	Ø�KŠKØ”×(Ò(Ñ*Ô*­C°
©O¬O¸TØÔ1°<ÀñJô Jð Jð Jøõ ð 	ð 	ð 	Ý�)ÑÔÐÐÐð	øøøð ‡I‚Iˆc�N„N€NØ×Ò�Z  |Ñ4Ô4Ð4Ð4Ð4s   ÁAB!Â!B=Â<B=rQ   c                  óâ   ‡‡‡‡— dd l } dd lmŠ g Šˆˆˆfd„}ˆˆfd„Š|                      ¦   «         Š‰                     d|¦  «         ‰                     ¦   «          ‰rt          d¦  «         d S d S )Nr   c                  ó¸   •— ‰                      ¦   «          ‰                     ddgddg¦  «         ‰                     ¦   «          ‰                     d‰ ¦  «         d S )NrQ   r   r   é   r   )ÚfigureÚplotrb   Úafter)Úlegitimate_quitrc   Úroots   €€€r!   Údo_plotz;test_figuremanager_preserves_host_mainloop.<locals>.do_plotp   sS   ø€ Ø�
Š
‰ŒˆØ�Š�!�Q�˜!˜Q˜Ñ Ô Ð Ø�	Š	‰ŒˆØ�
Š
�1�oÑ&Ô&Ð&Ð&Ð&r#   c                  óZ   •— ‰                       ¦   «          ‰                     d¦  «         d S ©NT)ÚquitÚappend)rt   r'   s   €€r!   rs   zCtest_figuremanager_preserves_host_mainloop.<locals>.legitimate_quitv   s(   ø€ Ø�	Š	‰ŒˆØ�Š�tÑÔÐÐÐr#   r'   )r	   rR   rS   ÚTkrr   Úmainloopra   )r	   ru   rs   rc   rt   r'   s     @@@@r!   Ú*test_figuremanager_preserves_host_mainloopr|   j   s½   øøøø€ à€N€N€NØ#Ð#Ð#Ð#Ð#Ð#Ø€Gð'ð 'ð 'ð 'ð 'ð 'ð 'ðð ð ð ð ð ð �:Š:‰<Œ<€DØ‡J‚Jˆq�'ÑÔÐØ‡M‚M�O„O€Oàð ÝˆiÑÔÐÐÐðð r#   ÚCPythonzZPyPy does not support Tkinter threading: https://foss.heptapod.net/pypy/pypy/-/issues/1929r
   r   )Úrerunsc                  ó¤  ‡‡‡‡— dd l } dd lŠdd lmŠ dd l}ddlmŠ |                      ¦   «         }‰                     g d¢g d¢¦  «         ˆˆˆˆfd„}| 	                    ¦   «         Š| 
                    |d¬¦  «        }|                     ¦   «          ‰                     d¬¦  «         ‰                     ¦   «          |                     ¦   «          d S )	Nr   )Ú"_get_running_interactive_framework©rQ   r   r   )rQ   r   ro   c                  óÜ   •— d ‰ ¦   «         k    s#‰                      d¦  «         d ‰ ¦   «         k    ¯#‰                     ¦   «          ‰                     ¦   «         rt          d¦  «         d S d S )Nr]   g{®Gáz„?r'   )Úsleeprb   Úwaitra   )r€   rc   Úshow_finished_eventÚtimes   €€€€r!   Útargetz6test_figuremanager_cleans_own_mainloop.<locals>.target‘   s}   ø€ ØÐ<Ð<Ñ>Ô>Ò>Ð>Ø�JŠJ�s‰OŒOˆOð Ð<Ð<Ñ>Ô>Ò>Ð>à�	Š	‰ŒˆØ×#Ò#Ñ%Ô%ð 	Ý�)ÑÔÐÐÐð	ð 	r#   T)r‡   Údaemon©Úblock)r	   r†   rR   rS   Ú	threadingÚmatplotlib.cbookr€   rz   rq   ÚEventÚThreadÚstartÚshowÚsetÚjoin)	r	   r‹   rt   r‡   Úthreadr€   rc   r…   r†   s	        @@@@r!   Ú&test_figuremanager_cleans_own_mainloopr”   ‚   s	  øøøø€ ð €N€N€NØ€K€K€KØ#Ð#Ð#Ð#Ð#Ð#ØÐÐÐØCÐCÐCÐCÐCÐCà�:Š:‰<Œ<€DØ‡H‚HˆYˆYˆY˜	˜	˜	Ñ"Ô"Ð"ðð ð ð ð ð ð ð ð $Ÿ/š/Ñ+Ô+ÐØ×Ò V°DÐÑ9Ô9€FØ
‡L‚L�N„N€NØ‡H‚H�4€HÑÔÐØ×ÒÑÔÐØ
‡K‚K�M„M€M€M€Mr#   c                  óÐ  — dd l } | j        `| j        `dd lm} |                     ¦   «         }|                     d¬¦  «         |                     ¦   «          |j	        j
                             ¦   «         }|€J ‚||j	        j
                             ¦   «         k    sJ ‚|j	                             ¦   «                              d|j        |¦  «         |                     d¬¦  «         d S )Nr   Fr‰   éd   T)r	   ÚMiscÚupdateÚupdate_idletasksrR   rS   rp   r�   ÚdrawrX   ÚtoolbarÚconfigure_subplotsÚget_tk_widgetrr   rb   )r	   rc   rf   Útools       r!   Útest_never_updaterŸ       så   € ð €N€N€NØŒÐØŒÐ%à#Ð#Ð#Ð#Ð#Ð#Ø
�*Š*‰,Œ,€CØ‡H‚H�5€HÑÔÐà‡H‚H�J„J€JØŒ:Ô×0Ò0Ñ2Ô2€DØÐÐÐØ�3”:Ô%×8Ò8Ñ:Ô:Ò:Ð:Ð:Ð:à„J×ÒÑÔ×$Ò$ S¨#¬)°SÑ9Ô9Ð9ð ‡H‚H�4€HÑÔÐÐÐr#   r   c                  óä   ‡— dd l m}  ddlmŠ  G ˆfd„d‰¦  «        }|                      ¦   «         }t          d¦  «          ||j        |j        j        j        ¦  «         t          d¦  «         d S )Nr   ©ÚNavigationToolbar2Tkc                   ó2   •— e Zd Zd„ ” j        D ¦   «         ZdS )ú)test_missing_back_button.<locals>.Toolbarc                 ó&   — g | ]}|d          dv ¯|‘ŒS )r   )ÚHomeÚPanÚZoomr   )r   Úts     r!   r&   z4test_missing_back_button.<locals>.Toolbar.<listcomp>Á   s1   € ð 6ð 6ð 6˜1Ø�q”TÐ4Ð4Ð4ð Ø4Ð4Ð4r#   N)Ú__name__Ú
__module__Ú__qualname__Ú	toolitemsr¡   s   €r!   ÚToolbarr¤   ¿   s0   ø€ € € € € ð6ð 6Ð 4Ô >ð 6ñ 6ô 6ˆ	ˆ	ˆ	r#   r®   r'   )	rR   rS   rU   r¢   rp   ra   rX   ÚmanagerÚwindow)rc   r®   rf   r¢   s      @r!   Útest_missing_back_buttonr±   º   s©   ø€ à#Ð#Ð#Ð#Ð#Ð#ØFÐFÐFÐFÐFÐFð6ð 6ð 6ð 6ð 6ð 6ð 6Ð&ñ 6ô 6ð 6ð
 �*Š*‰,Œ,€CÝ	ˆ)ÑÔÐØ€GˆCŒJ˜œ
Ô*Ô1Ñ2Ô2Ð2Ý	ˆ)ÑÔÐÐÐr#   c                  ó  — dd l m}  ddlm} |                      ¦   «         }d}|                     |d¬¦  «        5  |j        j        j         	                    ¦   «         }t          j        d¦  «         |dk    sJ ‚t          d¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |d¬¦  «        5  |j        j        j         	                    ¦   «         }|�J ‚t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )Úmockz$tkinter.filedialog.asksaveasfilenamez
foobar.png©Úreturn_valuer'   Ú )rR   rS   Úunittestr³   rp   r   rX   r¯   r›   Úsave_figurer=   Úremovera   )rc   r³   rf   ÚpropÚfnames        r!   Útest_save_figure_returnr¼   Ê   s—  € à#Ð#Ð#Ð#Ð#Ð#ØÐÐÐÐÐØ
�*Š*‰,Œ,€CØ1€DØ	�Š�D |ˆÑ	4Ô	4ð ð Ø”
Ô"Ô*×6Ò6Ñ8Ô8ˆÝ
Œ	�,ÑÔÐØ˜Ò$Ð$Ð$Ð$ÝˆiÑÔÐð	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 
�Š�D rˆÑ	*Ô	*ð ð Ø”
Ô"Ô*×6Ò6Ñ8Ô8ˆØˆ}ˆ}ˆ}ÝˆiÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ºABÂBÂBÂ77C;Ã;C?ÄC?c                  ód  ‡‡‡‡— dd l } dd lmŠ g Šˆˆˆˆfd„}|                      ¦   «         Š‰                     ¦   «         Š‰                     g d¢¦  «         ‰                     d‰j        ¦  «         ‰                     d|¦  «         ‰                     ¦   «          ‰rt          d¦  «         d S d S )Nr   c                  ó4  •— ‰j                              ¦   «         } |                      ¦   «         s|                      ¦   «          |                      ¦   «         | k    r‰                     d¦  «         ‰                     ¦   «          ‰                     ¦   «          d S rw   )rX   r�   Úwinfo_viewableÚwait_visibilityÚfocus_lastforry   rb   Údestroy)Útkcanvasrf   rc   rt   r'   s    €€€€r!   Úcheck_focusz&test_canvas_focus.<locals>.check_focusá   s…   ø€ Ø”:×+Ò+Ñ-Ô-ˆà×&Ò&Ñ(Ô(ð 	'Ø×$Ò$Ñ&Ô&Ð&ð ×!Ò!Ñ#Ô# xÒ/Ð/Ø�NŠN˜4Ñ Ô Ð Ø�	Š	‰ŒˆØ�Š‰Œˆˆˆr#   r�   r–   r'   )
r	   rR   rS   rz   rp   rq   rr   r�   r{   ra   )r]   rÄ   rf   rc   rt   r'   s     @@@@r!   Útest_canvas_focusrÅ   Û   sà   øøøø€ àÐÐÐØ#Ð#Ð#Ð#Ð#Ð#Ø€Gð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð �5Š5‰7Œ7€DØ
�*Š*‰,Œ,€CØ‡H‚HˆYˆYˆYÑÔÐØ‡J‚Jˆq�#”(ÑÔÐØ‡J‚Jˆs�KÑ Ô Ð Ø‡M‚M�O„O€Oàð ÝˆiÑÔÐÐÐðð r#   c                  ó  ‡‡‡‡— dd l } ddlmŠmŠ ddlmŠ ddlmŠ |                      ¦   «         }ˆˆˆˆfd„} ||¦  «         t          d¦  «         | 
                    ddd	¬
¦  «          ||¦  «         t          d¦  «         d S )Nr   )ÚFigureCanvasTkAggr¢   )Úkey_press_handler©ÚFigurec                 óð  •—  ‰¦   «         }|                      ¦   «         }|                     g d¢¦  «          ‰|| ¬¦  «        }|                     ¦   «          |                     d‰¦  «         |                     ¦   «                              dd¬¦  «          ‰|| d¬¦  «        }|                     dd	¬¦  «         |                     ¦   «                              ¦   «          |                     ¦   «          d S )
Nr�   ©ÚmasterÚkey_press_eventTÚboth)ÚexpandÚfillF)Úpack_toolbarÚx)Úadd_subplotrq   rš   Úmpl_connectr�   ÚpackÚforget)	rÍ   rf   rg   rX   r›   rÊ   rÇ   r¢   rÈ   s	        €€€€r!   Útest_figurez#test_embedding.<locals>.test_figure  só   ø€ Øˆf‰hŒhˆØ�_Š_ÑÔˆØ
�Š�	�	�	ÑÔÐà"Ð" 3¨vÐ6Ñ6Ô6ˆØ�Š‰ŒˆØ×ÒÐ,Ð.?Ñ@Ô@Ð@Ø×ÒÑÔ×#Ò#¨4°fÐ#Ñ=Ô=Ð=à&Ð& v¨vÀEÐJÑJÔJˆØ�Š˜D sˆÑ+Ô+Ð+à×ÒÑÔ×%Ò%Ñ'Ô'Ð'Ø�ŠÑÔÐÐÐr#   r'   zsky bluezmidnight blueÚwhite)Ú
backgroundÚselectColorÚ
foreground)r	   rU   rÇ   r¢   Úmatplotlib.backend_basesrÈ   Úmatplotlib.figurerÊ   rz   ra   Útk_setPalette)r]   rt   rØ   rÊ   rÇ   r¢   rÈ   s      @@@@r!   Útest_embeddingrà   ø   sý   øøøø€ àÐÐÐð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1à:Ð:Ð:Ð:Ð:Ð:Ø(Ð(Ð(Ð(Ð(Ð(à�5Š5‰7Œ7€Dðð ð ð ð ð ð ð ð  €K�ÑÔÐÝ	ˆ)ÑÔÐð
 	×Ò *¸/Ø")ð ñ +ô +ð +à€K�ÑÔÐÝ	ˆ)ÑÔÐÐÐr#   c                  óÌ  — ddl } ddlm} ddlm} |                      ¦   «         }|                     d¦  «         |                     ¦   «           |d¬¦  «        }|                     d¦  «          |||¬	¦  «        }| 	                    ¦   «          
                    | j        d
¬¦  «         |                     ¦   «          |                     ¦   «          | 	                    ¦   «                              ¦   «         }| 	                    ¦   «                              ¦   «         }|dk    r|dk    sJ ‚t          j        t"          dd¦  «        5  t          j        |j        dd¬¦  «        5  |                     ¦   «          ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |                     ¦   «         }t+          |d         |j        z  ¦  «        }	t+          |d         |j        z  ¦  «        }
t/          |	|z
  ¦  «        dk    sJ d|	› d|› �¦   «         ‚t/          |
|z
  ¦  «        dk    sJ d|
› d|› �¦   «         ‚t1          d¦  «         |                     ¦   «          dS )zî
    Test that _update_device_pixel_ratio recalculates figure.size_inches
    using the actual widget dimensions, so the render size matches the
    visible canvas area even when constrained by a layout manager.
    See issue #31126.
    r   N)rÇ   rÉ   Ú400x300r–   )Údpiéo   rÌ   T)rÑ   rÐ   rE   r   Úwinfo_fpixelsg      h@r´   rQ   r   zrender width z != actual width zrender height z != actual height r'   )r	   rU   rÇ   rÞ   rÊ   rz   Úgeometryr™   rÔ   r�   rÖ   ÚBOTHrš   Úwinfo_widthÚwinfo_heightr   ÚobjectrD   Ú	_tkcanvasÚ_update_device_pixel_ratioÚget_size_inchesÚroundrã   Úabsra   rÂ   )r]   rÇ   rÊ   rt   rf   rX   Úactual_wÚactual_hÚsizeÚrender_wÚrender_hs              r!   Útest_dpi_change_triggers_resizerõ     sü  € ð ÐÐÐØCÐCÐCÐCÐCÐCØ(Ð(Ð(Ð(Ð(Ð(à�5Š5‰7Œ7€DØ‡M‚M�)ÑÔÐØ×ÒÑÔÐà
ˆ&�Sˆ/‰/Œ/€CØ‡O‚O�CÑÔÐàÐ˜s¨4Ð0Ñ0Ô0€FØ
×ÒÑÔ×Ò R¤W°TÐÑ:Ô:Ð:Ø
‡K‚K�M„M€MØ×ÒÑÔÐà×#Ò#Ñ%Ô%×1Ò1Ñ3Ô3€HØ×#Ò#Ñ%Ô%×2Ò2Ñ4Ô4€HØ�aŠ<ˆ<˜H qšL˜L˜LÐ(õ 
Œ•c˜: wÑ	/Ô	/ð ,ð ,Ý	Œ�fÔ&¨Ø#(ð
*ñ 
*ô 
*ð,ð ,ð 	×)Ò)Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ×ÒÑ Ô €DÝ�T˜!”W˜sœwÑ&Ñ'Ô'€HÝ�T˜!”W˜sœwÑ&Ñ'Ô'€HÝˆx˜(Ñ"Ñ#Ô# qÒ(Ð(Ð(Ø=˜Ð=Ð=°8Ð=Ð=ñ )Ô(Ð(åˆx˜(Ñ"Ñ#Ô# qÒ(Ð(Ð(Ø?˜Ð?Ð?°XÐ?Ð?ñ )Ô(Ð(õ 
ˆ)ÑÔÐØ‡L‚L�N„N€N€N€Ns6   ÅFÅ$FÅ9FÆF		Æ	FÆF		ÆFÆF Æ#F r   )r:   rA   r=   rE   r0   rD   Úunittest.mockr   r(   re   r   Úmatplotlib.testingr   r*   r<   rl   r|   r?   r@   Úpython_implementationÚflakyr”   rŸ   r±   r¼   rÅ   rà   rõ   r   r#   r!   ú<module>rú      s£  ðØ Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à €€€à (Ð (Ð (Ð (Ð (Ð (Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ð €ð7ð 7ð 7ð 7ðt Ð Ð#Ñ#Ô#ð5ð 5ñ $Ô#ð5ð: Ð Ð#Ñ#Ô#ðð ñ $Ô#ðð. „×ÒÐ2�HÔ2Ñ4Ô4¸	ÒAðOð ñ Pô Pð „×Ò˜!ÐÑÔØÐ Ð#Ñ#Ô#ðð ñ $Ô#ñ ÔñPô Pð
ð2 „×Ò˜!ÐÑÔØÐ Ð#Ñ#Ô#ðð ñ $Ô#ñ Ôðð0 Ð Ð#Ñ#Ô#ðð ñ $Ô#ðð Ð Ð#Ñ#Ô#ðð ñ $Ô#ðð  Ð Ð#Ñ#Ô#ðð ñ $Ô#ðð8 Ð Ð#Ñ#Ô#ð"ð "ñ $Ô#ð"ðJ Ð Ð#Ñ#Ô#ð-ð -ñ $Ô#ð-ð -ð -r#   