§
    ‡ÛgP,  ã                   óî  — d Z ddlZddlZddlZddlmZmZmZ ddlm	Z	 ddl
mZmZmZmZmZ ddlmZ ddlZddlmZmZmZmZ 	  ej        d¦  «         n# e$ rZ ed	¦  «        e‚dZ[ww xY w ej        e¦  «        Zdad
„ Zd„ Z d„ Z! G d„ de¦  «        Z" G d„ de¦  «        Z# G d„ de¦  «        Z$ G d„ de¦  «        Z% G d„ dej&        ¦  «        Z' G d„ dej(        ¦  «        Z) G d„ de¦  «        Z*dS )z)
Common code for GTK3 and GTK4 backends.
é    N)Ú_apiÚbackend_toolsÚcbook)ÚGcf)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚNavigationToolbar2Ú	TimerBase)ÚCursors)ÚGdkÚGioÚGLibÚGtkÚcairoz Gtk-based backends require cairoc                 ón   — |                       ¦   «         D ]}|                     ¦   «          Œd| _        d ad S ©NT)Úget_windowsÚcloseÚ_created_by_matplotlibÚ_application)ÚappÚwins     úV/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/backends/_backend_gtk.pyÚ_shutdown_applicationr      s?   € ð �ŠÑ Ô ð ð ˆØ�	Š	‰Œˆˆð
 "&€CÔà€L€L€Ló    c                  ó  — t           €øt          j                             ¦   «         } | �t	          | dd¦  «        rÅt
          j                             ¦   «         st          d¦  «        ‚t          j         
                    dt          j        j        ¦  «        a t                                dd„ ¦  «         t                                dt          ¦  «         t                                ¦   «          t!          j        ¦   «          n| a t           S )Nr   FzInvalid DISPLAY variablezorg.matplotlib.Matplotlib3Úactivatec                  ó   — d S ©N© )ÚargsÚkwargss     r   ú<lambda>z%_create_application.<locals>.<lambda>;   s   € ÀT€ r   Úshutdown)r   r   ÚApplicationÚget_defaultÚgetattrÚmplÚ_c_internal_utilsÚdisplay_is_validÚRuntimeErrorr   ÚnewÚApplicationFlagsÚ
NON_UNIQUEÚconnectr   Úregisterr   Ú_setup_new_guiapp)r   s    r   Ú_create_applicationr3   -   sâ   € õ ÐÝŒo×)Ò)Ñ+Ô+ˆØˆ;�' #Ð'?ÀÑGÔGˆ;õ Ô(×9Ò9Ñ;Ô;ð ?Ý"Ð#=Ñ>Ô>Ð>Ýœ?×.Ò.Ð/KÝ/2Ô/CÔ/NñPô PˆLõ × Ò  Ð-IÐ-IÑJÔJÐJÝ× Ò  Õ-BÑCÔCÐCÝ×!Ò!Ñ#Ô#Ð#ÝÔ#Ñ%Ô%Ð%Ð%àˆLåÐr   c                 óÖ   — t          j        t          j        dt          j        dt          j        dt          j        dt          j        dt          j        dt          j	        di| ¬¦  «        S )	NÚmoveÚpointerÚdefaultÚ	crosshairÚwaitz	ew-resizez	ns-resize)Úcursor)
r   Úcheck_getitemr   ÚMOVEÚHANDÚPOINTERÚSELECT_REGIONÚWAITÚRESIZE_HORIZONTALÚRESIZE_VERTICAL)Ú
mpl_cursors    r   Úmpl_to_gtk_cursor_namerD   E   sZ   € ÝÔÝŒ�fÝŒ�iÝŒ˜ÝÔ˜{ÝŒ�fÝÔ! ;ÝÔ ðð ðñ ô ð r   c                   ó>   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zˆ fd„Zˆ xZ	S )ÚTimerGTKz0Subclass of `.TimerBase` using GTK timer events.c                 óH   •— d | _          t          ¦   «         j        |i |¤Ž d S r    )Ú_timerÚsuperÚ__init__)Úselfr"   r#   Ú	__class__s      €r   rJ   zTimerGTK.__init__T   s,   ø€ ØˆŒØ�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)r   c                 óv   — |                       ¦   «          t          j        | j        | j        ¦  «        | _        d S r    )Ú_timer_stopr   Útimeout_addÚ	_intervalÚ	_on_timerrH   ©rK   s    r   Ú_timer_startzTimerGTK._timer_startX   s2   € ð 	×ÒÑÔÐÝÔ& t¤~°t´~ÑFÔFˆŒˆˆr   c                 óX   — | j         �"t          j        | j         ¦  «         d | _         d S d S r    )rH   r   Úsource_removerR   s    r   rN   zTimerGTK._timer_stop^   s0   € ØŒ;Ð"ÝÔ˜tœ{Ñ+Ô+Ð+ØˆDŒKˆKˆKð #Ð"r   c                 óh   — | j         �*|                      ¦   «          |                      ¦   «          d S d S r    )rH   rN   rS   rR   s    r   Ú_timer_set_intervalzTimerGTK._timer_set_intervalc   s<   € àŒ;Ð"Ø×ÒÑÔÐØ×ÒÑÔÐÐÐð #Ð"r   c                 óv   •— t          ¦   «                              ¦   «          | j        r	| j        sdS d | _        dS )NTF)rI   rQ   Ú	callbacksÚ_singlerH   )rK   rL   s    €r   rQ   zTimerGTK._on_timeri   s?   ø€ Ý‰Œ×ÒÑÔÐð Œ>ð 	 $¤,ð 	Ø�4àˆDŒKØ�5r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__rJ   rS   rN   rW   rQ   Ú__classcell__©rL   s   @r   rF   rF   Q   s‡   ø€ € € € € Ø:Ð:ð*ð *ð *ð *ð *ðGð Gð Gðð ð ð
 ð  ð  ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r   rF   c                   ó   — e Zd ZeZdS )Ú_FigureCanvasGTKN)r[   r\   r]   rF   Ú
_timer_clsr!   r   r   rb   rb   u   s   € € € € € Ø€J€J€Jr   rb   c                   ó\   ‡ — e Zd ZdZˆ fd„Zd„ Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zˆ xZS )
Ú_FigureManagerGTKaC  
    Attributes
    ----------
    canvas : `FigureCanvas`
        The FigureCanvas instance
    num : int or str
        The Figure number
    toolbar : Gtk.Toolbar or Gtk.Box
        The toolbar
    vbox : Gtk.VBox
        The Gtk.VBox containing the canvas and toolbar
    window : Gtk.Window
        The Gtk.Window
    c                 ó@  •‡ — t          j        ¦   «         x‰ _        }t          ¦   «         }t          j        ¦   «         ‰ _        |                     ‰ j        ¦  «         t          ¦   «                              ||¦  «         |dk    rk‰ j         	                    dd¦  «         t          j        dk    rdnd}‰ j                             t          t          j        d|› �¦  «        ¦  «        ¦  «         t          j        ¦   «         ‰ _        ‰ j                             dt           j        j        ¦  «         |dk    rt‰ j                             ‰ j        ¦  «         ‰ j                             ¦   «          ‰ j                             ¦   «          ‰ j                             ‰ j        d	d	d
¦  «         nD|dk    r>‰ j                             ‰ j        ¦  «         ‰ j                             ‰ j        ¦  «         ‰ j                             ¦   «         \  }}‰ j        �Æ|dk    r<‰ j                             ¦   «          ‰ j                             ‰ j        ddd
¦  «         n^|dk    rXt          j        t           j        j         ¬¦  «        }|                     ‰ j        ¦  «         ‰ j         !                    |¦  «         ‰ j         "                    ¦   «         \  }	}
||
j#        z  }‰ j         $                    ||¦  «         d‰ _%        ‰ j         &                    dˆ fd„¦  «         ‰ j         &                    dddœ|         ˆ fd„¦  «         tO          j(        ¦   «         r2‰ j                             ¦   «          ‰ j         )                    ¦   «          ‰ j         *                    ¦   «          d S )Né   Ú
matplotlibÚ
MatplotlibÚwin32ÚpngÚsvgzimages/matplotlib.ÚorientationTr   é   F)Úvscrollbar_policyÚdestroyc                  ó,   •— t          j        ‰¦  «        S r    ©r   rp   ©r"   rK   s    €r   r$   z,_FigureManagerGTK.__init__.<locals>.<lambda>´   s   ø€ µS´[ÀÑ5FÔ5F€ r   Údelete_eventzclose-request©rg   rn   c                  ó,   •— t          j        ‰¦  «        S r    rr   rs   s    €r   r$   z,_FigureManagerGTK.__init__.<locals>.<lambda>¶   s   ø€ ­#¬+°dÑ*;Ô*;€ r   )+r   Úget_major_versionÚ_gtk_verr3   ÚWindowÚwindowÚ
add_windowrI   rJ   Úset_wmclassÚsysÚplatformÚset_icon_from_fileÚstrr   Ú_get_data_pathÚBoxÚvboxÚset_propertyÚOrientationÚVERTICALÚaddÚshowÚcanvasÚ
pack_startÚ	set_childÚprependÚget_width_heightÚtoolbarÚpack_endÚScrolledWindowÚ
PolicyTypeÚNEVERÚappendÚget_preferred_sizeÚheightÚset_default_sizeÚ_destroyingr0   r)   Úis_interactiveÚ	draw_idleÚ
grab_focus)rK   r‰   ÚnumÚgtk_verr   Úicon_extÚwÚhÚswÚmin_sizeÚnat_sizerL   s   `          €r   rJ   z_FigureManagerGTK.__init__‰   s4  øø€ Ý"%Ô"7Ñ"9Ô"9Ð9ˆŒ˜å!Ñ#Ô#ˆÝ”j‘l”lˆŒØ�Š�t”{Ñ#Ô#Ð#Ý‰Œ×Ò˜ Ñ%Ô%Ð%à�aŠ<ˆ<ØŒK×#Ò# L°,Ñ?Ô?Ð?Ý #¤°Ò 7Ð 7�u�u¸UˆHØŒK×*Ò*Ý•EÔ(Ð)H¸hÐ)HÐ)HÑIÔIÑJÔJñLô Lð Lõ ”G‘I”IˆŒ	ØŒ	×Ò˜}­c¬oÔ.FÑGÔGÐGà�aŠ<ˆ<ØŒK�OŠO˜DœIÑ&Ô&Ð&ØŒI�NŠNÑÔÐØŒK×ÒÑÔÐØŒI× Ò  ¤¨d°D¸!Ñ<Ô<Ð<Ð<Ø˜Š\ˆ\ØŒK×!Ò! $¤)Ñ,Ô,Ð,ØŒI×Ò˜dœkÑ*Ô*Ð*ð Œ{×+Ò+Ñ-Ô-‰ˆˆ1àŒ<Ð#Ø˜!Š|ˆ|Ø”×!Ò!Ñ#Ô#Ð#Ø”	×"Ò" 4¤<°¸¸qÑAÔAÐAÐAØ˜A’�ÝÔ'½#¼.Ô:NÐOÑOÔO�Ø—’˜Tœ\Ñ*Ô*Ð*Ø”	× Ò  Ñ$Ô$Ð$Ø!%¤×!@Ò!@Ñ!BÔ!BÑˆH�hØ�”Ñ ˆAàŒ×$Ò$ Q¨Ñ*Ô*Ð*à ˆÔØŒ×Ò˜IÐ'FÐ'FÐ'FÐ'FÑGÔGÐGØŒ×Ò °?ÐCÐCÀGÔLØ;Ð;Ð;Ð;ñ	=ô 	=ð 	=åÔÑÔð 	$ØŒK×ÒÑÔÐØŒK×!Ò!Ñ#Ô#Ð#àŒ×ÒÑ Ô Ð Ð Ð r   c                 óŠ   — | j         rd S d| _         | j                             ¦   «          | j                             ¦   «          d S r   )r—   rz   rp   r‰   ©rK   r"   s     r   rp   z_FigureManagerGTK.destroy½   sJ   € ØÔð 	ð
 ˆFØˆÔØŒ×ÒÑÔÐØŒ×ÒÑÔÐÐÐr   c                 ó6  — t           €d S 	 t                                ¦   «          nj# t          $ r] t          j                             ¦   «         }|                     ¦   «         r)|                     d¦  «         |                     ¦   «         °)‚ w xY w	 d a d S # d a w xY wr   )r   ÚrunÚKeyboardInterruptr   ÚMainContextr7   ÚpendingÚ	iteration)ÚclsÚcontexts     r   Ústart_main_loopz!_FigureManagerGTK.start_main_loopÈ   s¸   € õ ÐØˆFð	 Ý×ÒÑÔÐÐøÝ ð 	ð 	ð 	õ Ô&×.Ò.Ñ0Ô0ˆGØ—/’/Ñ#Ô#ð (Ø×!Ò! $Ñ'Ô'Ð'ð —/’/Ñ#Ô#ð (àð	øøøð ð  ˆLˆLˆLø˜4ˆLÐÐÐÐs   ‹% ¤B ¥A'BÂB ÂBc                 óJ  — | j                              ¦   «          | j                             ¦   «          t          j        d         r^dddœ| j                 } t          | j         |¦  «        ¦   «         r| j                              ¦   «          d S t          j
        d¦  «         d S d S )Nzfigure.raise_windowÚ
get_windowÚget_surfaceru   z#Cannot raise window yet to be setup)rz   rˆ   r‰   Údrawr)   ÚrcParamsrx   r(   Úpresentr   Úwarn_external)rK   Ú	meth_names     r   rˆ   z_FigureManagerGTK.showÛ   s¬   € àŒ×ÒÑÔÐØŒ×ÒÑÔÐÝŒ<Ð-Ô.ð 		JØ(¨]Ð;Ð;¸D¼MÔJˆIØ.�w�t”{ IÑ.Ô.Ñ0Ô0ð JØ”×#Ò#Ñ%Ô%Ð%Ð%Ð%õ Ô"Ð#HÑIÔIÐIÐIÐIð		Jð 		Jr   c                 ó²   — d„ d„ dœ| j                  } || j        ¦  «        r| j                             ¦   «          d S | j                             ¦   «          d S )Nc                 ór   — |                       ¦   «                              ¦   «         t          j        j        z  S r    )r¯   Ú	get_stater   ÚWindowStateÚ
FULLSCREEN©rž   s    r   r$   z6_FigureManagerGTK.full_screen_toggle.<locals>.<lambda>ì   s'   € ˜!Ÿ,š,™.œ.×2Ò2Ñ4Ô4ÝœOÔ6ñ7€ r   c                 ó*   — |                       ¦   «         S r    )Úis_fullscreenr»   s    r   r$   z6_FigureManagerGTK.full_screen_toggle.<locals>.<lambda>î   s   € ˜ŸšÑ*Ô*€ r   ru   )rx   rz   ÚunfullscreenÚ
fullscreen)rK   r½   s     r   Úfull_screen_togglez$_FigureManagerGTK.full_screen_toggleê   st   € ð8ð 8à*Ð*ð
ð 
ð Œ-ô	ˆð
 ˆ=˜œÑ%Ô%ð 	%ØŒK×$Ò$Ñ&Ô&Ð&Ð&Ð&àŒK×"Ò"Ñ$Ô$Ð$Ð$Ð$r   c                 ó4   — | j                              ¦   «         S r    )rz   Ú	get_titlerR   s    r   Úget_window_titlez"_FigureManagerGTK.get_window_titleõ   s   € ØŒ{×$Ò$Ñ&Ô&Ð&r   c                 ó:   — | j                              |¦  «         d S r    )rz   Ú	set_title)rK   Útitles     r   Úset_window_titlez"_FigureManagerGTK.set_window_titleø   s   € ØŒ×Ò˜eÑ$Ô$Ð$Ð$Ð$r   c                 ó¼  — t          || j        j        z  ¦  «        }t          || j        j        z  ¦  «        }| j        r&| j                             ¦   «         \  }}||j        z  }| j                             ¦   «         }| j        dk    s|j        |j        cxk    rdk    r n n| j	         
                    ||¦  «         d S | j	                             ||¦  «         d S )Nrn   é   )Úintr‰   Údevice_pixel_ratiorŽ   r”   r•   Úget_allocationrx   Úwidthrz   r–   Úresize)rK   rÍ   r•   r¡   r¢   Úcanvas_sizes         r   rÎ   z_FigureManagerGTK.resizeû   sã   € Ý�E˜DœKÔ:Ñ:Ñ;Ô;ˆÝ�V˜dœkÔ<Ñ<Ñ=Ô=ˆØŒ<ð 	&Ø!%¤×!@Ò!@Ñ!BÔ!BÑˆH�hØ�h”oÑ%ˆFØ”k×0Ò0Ñ2Ô2ˆØŒ=˜AÒÐ Ô!2°kÔ6HÐ!MÐ!MÒ!MÐ!MÈAÒ!MÐ!MÐ!MÐ!MÐ!Mð
 ŒK×(Ò(¨°Ñ7Ô7Ð7Ð7Ð7àŒK×Ò˜u fÑ-Ô-Ð-Ð-Ð-r   )r[   r\   r]   r^   rJ   rp   Úclassmethodr­   rˆ   rÀ   rÃ   rÇ   rÎ   r_   r`   s   @r   re   re   y   s»   ø€ € € € € ðð ð2!ð 2!ð 2!ð 2!ð 2!ðh	ð 	ð 	ð ð ð  ñ „[ð ð$Jð Jð Jð	%ð 	%ð 	%ð'ð 'ð 'ð%ð %ð %ð.ð .ð .ð .ð .ð .ð .r   re   c                   óF   ‡ — e Zd Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zˆ fd„Zd„ Z	ˆ xZ
S )Ú_NavigationToolbar2GTKc                 ój   — t          j        |¦  «        }| j                             d|› d�¦  «         d S )Nz<small>z</small>)r   Úmarkup_escape_textÚmessageÚ
set_markup)rK   ÚsÚescapeds      r   Úset_messagez"_NavigationToolbar2GTK.set_message  s:   € ÝÔ)¨!Ñ,Ô,ˆØŒ×ÒÐ ;¨'Ð ;Ð ;Ð ;Ñ<Ô<Ð<Ð<Ð<r   c                 ó¦   — | j         j        j        j        }||z
  }||z
  }d„ ||||z
  ||z
  fD ¦   «         }| j                              |¦  «         d S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS r!   )rÊ   )Ú.0Úvals     r   ú
<listcomp>z:_NavigationToolbar2GTK.draw_rubberband.<locals>.<listcomp>  s   € Ð?Ð?Ð?˜S•�C‘”Ð?Ð?Ð?r   )r‰   ÚfigureÚbboxr•   Ú_draw_rubberband)rK   ÚeventÚx0Úy0Úx1Úy1r•   Úrects           r   Údraw_rubberbandz&_NavigationToolbar2GTK.draw_rubberband  sd   € Ø”Ô#Ô(Ô/ˆØ�b‰[ˆØ�b‰[ˆØ?Ð? R¨¨R°"©W°b¸2±gÐ$>Ð?Ñ?Ô?ˆØŒ×$Ò$ TÑ*Ô*Ð*Ð*Ð*r   c                 ó:   — | j                              d ¦  «         d S r    )r‰   rá   rR   s    r   Úremove_rubberbandz(_NavigationToolbar2GTK.remove_rubberband  s   € ØŒ×$Ò$ TÑ*Ô*Ð*Ð*Ð*r   c                 óø   — dD ]v\  }}| j                              |¦  «        }|rU|                     |j        ¦  «        5  |                     | j        j        |k    ¦  «         d d d ¦  «         n# 1 swxY w Y   Œwd S )N))ÚPanÚPAN)ÚZoomÚZOOM)Ú_gtk_idsÚgetÚhandler_blockÚ_signal_handlerÚ
set_activeÚmodeÚname)rK   rö   ÚactiveÚbuttons       r   Ú_update_buttons_checkedz._NavigationToolbar2GTK._update_buttons_checked  sÜ   € Ø>ð 	@ð 	@‰LˆD�&Ø”]×&Ò& tÑ,Ô,ˆFØð @Ø×)Ò)¨&Ô*@ÑAÔAð @ð @Ø×%Ò% d¤i¤n¸Ò&>Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @øð	@ð 	@s   ¾$A.Á.A2	Á5A2	c                 ó\   •—  t          ¦   «         j        |Ž  |                      ¦   «          d S r    )rI   Úpanrù   ©rK   r"   rL   s     €r   rû   z_NavigationToolbar2GTK.pan&  s.   ø€ Ø�‰ŒŒ�TÐÐØ×$Ò$Ñ&Ô&Ð&Ð&Ð&r   c                 ó\   •—  t          ¦   «         j        |Ž  |                      ¦   «          d S r    )rI   Úzoomrù   rü   s     €r   rþ   z_NavigationToolbar2GTK.zoom*  s.   ø€ Ø�‰ŒŒ�dÐÐØ×$Ò$Ñ&Ô&Ð&Ð&Ð&r   c                 ó"  — | j         j        dk    }| j         j        t          | j         j        ¦  «        dz
  k     }d| j        v r | j        d                              |¦  «         d| j        v r"| j        d                              |¦  «         d S d S )Nr   rÉ   ÚBackÚForward)Ú
_nav_stackÚ_posÚlenÚ	_elementsrð   Úset_sensitive)rK   Úcan_backwardÚcan_forwards      r   Úset_history_buttonsz*_NavigationToolbar2GTK.set_history_buttons.  s�   € Ø”Ô+¨aÒ/ˆØ”oÔ*­S°´Ô1JÑ-KÔ-KÈaÑ-OÒOˆØ�T”]Ð"Ð"ØŒM˜&Ô!×/Ò/°Ñ=Ô=Ð=Ø˜œÐ%Ð%ØŒM˜)Ô$×2Ò2°;Ñ?Ô?Ð?Ð?Ð?ð &Ð%r   )r[   r\   r]   rÙ   rè   rê   rù   rû   rþ   r	  r_   r`   s   @r   rÒ   rÒ     s¦   ø€ € € € € ð
=ð =ð =ð+ð +ð +ð+ð +ð +ð@ð @ð @ð'ð 'ð 'ð 'ð 'ð'ð 'ð 'ð 'ð 'ð@ð @ð @ð @ð @ð @ð @r   rÒ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚRubberbandGTKc                 óh   — t                                |                      ¦   «         d ||||¦  «         d S r    )rÒ   rè   Ú"_make_classic_style_pseudo_toolbar)rK   rã   rä   rå   ræ   s        r   rè   zRubberbandGTK.draw_rubberband8  sB   € Ý×.Ò.Ø×3Ò3Ñ5Ô5°t¸RÀÀRÈñ	Mô 	Mð 	Mð 	Mð 	Mr   c                 ó^   — t                                |                      ¦   «         ¦  «         d S r    )rÒ   rê   r  rR   s    r   rê   zRubberbandGTK.remove_rubberband<  s3   € Ý×0Ò0Ø×3Ò3Ñ5Ô5ñ	7ô 	7ð 	7ð 	7ð 	7r   N)r[   r\   r]   rè   rê   r!   r   r   r  r  7  s5   € € € € € ðMð Mð Mð7ð 7ð 7ð 7ð 7r   r  c                   ó   — e Zd Zd„ ZdS )ÚConfigureSubplotsGTKc                 ó<   — t                                | d ¦  «         d S r    )rÒ   Úconfigure_subplotsr¤   s     r   ÚtriggerzConfigureSubplotsGTK.triggerB  s   € Ý×1Ò1°$¸Ñ=Ô=Ð=Ð=Ð=r   N)r[   r\   r]   r  r!   r   r   r  r  A  s#   € € € € € ð>ð >ð >ð >ð >r   r  c                   ó~   — e Zd Z ej        ¦   «         ›d ej        ¦   «         ›d ej        ¦   «         ›�Zej	        Z
dS )Ú_BackendGTKú.N)r[   r\   r]   r   rw   Úget_minor_versionÚget_micro_versionÚbackend_versionre   r­   Úmainloopr!   r   r   r  r  F  sX   € € € € € àˆÔÑÔÐÐØˆÔÑÔÐÐØˆÔÑÔÐð€Oð
 !Ô0€H€H€Hr   r  )+r^   Úloggingr}   rh   r)   r   r   r   Úmatplotlib._pylab_helpersr   Úmatplotlib.backend_basesr   r   r	   r
   r   Úmatplotlib.backend_toolsr   ÚgiÚgi.repositoryr   r   r   r   Úrequire_foreignÚImportErrorÚeÚ	getLoggerr[   Ú_logr   r   r3   rD   rF   rb   re   rÒ   ÚRubberbandBaser  ÚConfigureSubplotsBaser  r  r!   r   r   ú<module>r(     sÌ  ððð ð €€€Ø 
€
€
€
à Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø )Ð )Ð )Ð )Ð )Ð )ðð ð ð ð ð ð ð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,à 	€	€	€	ð .Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ðAØ€BÔ�wÑÔÐÐøØð Að Að AØ
ˆ+Ð8Ñ
9Ô
9¸qÐ@øøøøðAøøøð €wÔ˜Ñ"Ô"€Ø€ðð ð ðð ð ð0	ð 	ð 	ð!ð !ð !ð !ð !ˆyñ !ô !ð !ðHð ð ð ð Ð'ñ ô ð ðP.ð P.ð P.ð P.ð P.Ð)ñ P.ô P.ð P.ðf(@ð (@ð (@ð (@ð (@Ð/ñ (@ô (@ð (@ðV7ð 7ð 7ð 7ð 7�MÔ0ñ 7ô 7ð 7ð>ð >ð >ð >ð >˜=Ô>ñ >ô >ð >ð
1ð 1ð 1ð 1ð 1�(ñ 1ô 1ð 1ð 1ð 1s   ÁA ÁA+ÁA&Á&A+