Ë
    íÍ:jS´  ã                   ón  — 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mZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmc mc mZ ddlmZ ddlm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' g d‘d	‘d
‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘dejP                  dk7  rdndf‘dejP                  dk7  rd ndf‘d!‘d"‘d#‘d$‘d%‘d&‘d'‘d(‘d)‘d*‘d+‘d,‘d-‘d.‘d/‘d0‘­D � �ci c])  \  } } e& e)e jT                  jV                  | «      «      |“Œ+ c}} Z,d1D ��cg c]K  \  }} e& e)e jT                  jZ                  |«      «       e& e)e jT                  jV                  |«      «      f‘ŒM c}}Z.ej^                  d2fej`                  d3fejb                  d4fejd                  d5fejf                  d6fejh                  d7fejj                  d8ffD � �ci c]#  \  } }|  e)e jT                  jl                  |«      “Œ% c}} Z7 e jp                  d«      d9„ «       Z9d:„ Z: G d;„ d<e«      Z; G d=„ d>ee"jx                  «      Z= G d?„ d@e"j|                  «      Z? G dA„ dBe«      Z@ G dC„ dDe!j‚                  «      ZB G dE„ dFee"j†                  «      ZD G dG„ dHe"jŠ                  «      ZF G dI„ dJee"j†                  «      ZG ej�                  e=«       G dK„ dLej’                  «      «       ZJ ej�                  e=«       G dM„ dNej–                  «      «       ZL ej�                  e=«       G dO„ dPejš                  «      «       ZN ej�                  e=«       G dQ„ dRejž                  «      «       ZP ej�                  e=«       G dS„ dTej¢                  «      «       ZReDe@_S        eGe@_T        ejª                   G dU„ dVe«      «       ZVyc c}} w c c}}w c c}} w )Wé    N)Ú_apiÚbackend_toolsÚcbook)ÚGcf)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚNavigationToolbar2Ú	TimerBaseÚcursorsÚToolContainerBaseÚMouseButtonÚ
CloseEventÚKeyEventÚLocationEventÚ
MouseEventÚResizeEventÚ_allow_interrupté   )Ú	qt_compat)ÚQtCoreÚQtGuiÚ	QtWidgetsÚQtSvgÚ__version__ÚQT_APIÚ_to_intÚ
_isdeleted)Ú
Key_EscapeÚescape)ÚKey_TabÚtab)ÚKey_BackspaceÚ	backspace)Ú
Key_ReturnÚenter)Ú	Key_Enterr&   )Ú
Key_InsertÚinsert)Ú
Key_DeleteÚdelete)Ú	Key_PauseÚpause)Ú
Key_SysReqÚsysreq)Ú	Key_ClearÚclear)ÚKey_HomeÚhome)ÚKey_EndÚend)ÚKey_LeftÚleft)ÚKey_UpÚup)Ú	Key_RightÚright)ÚKey_DownÚdown)Ú
Key_PageUpÚpageup)ÚKey_PageDownÚpagedown)Ú	Key_ShiftÚshiftÚKey_ControlÚdarwinÚcontrolÚcmdÚKey_MetaÚmeta)ÚKey_AltÚalt)ÚKey_CapsLockÚ	caps_lock)ÚKey_F1Úf1)ÚKey_F2Úf2)ÚKey_F3Úf3)ÚKey_F4Úf4)ÚKey_F5Úf5)ÚKey_F6Úf6)ÚKey_F7Úf7)ÚKey_F8Úf8)ÚKey_F9Úf9)ÚKey_F10Úf10)ÚKey_F11Úf11)ÚKey_F12Úf12)ÚKey_Super_LÚsuper)ÚKey_Super_Rrg   ))ÚControlModifierrD   )ÚAltModifierrJ   )ÚShiftModifierrB   )ÚMetaModifierrH   ÚSizeAllCursorÚPointingHandCursorÚArrowCursorÚCrossCursorÚ
WaitCursorÚSizeHorCursorÚSizeVerCursorc                  ó   — t         j                  j                  «       } | �€=t        j                  j                  «       st        d«      ‚t        dv rd}d}nt        dv rd}d}nt        d«      ‚|D ]«  }t        j                  j                  |› d	�«      }|€Œ(|j                  j                  «       €ŒCt        j                  j                  |› d
�«      }t        j                  dt        › dt        j                  «       › d|› d|j                  «       › d�	«        n |dk(  r8	 t         j                  j                  t        j                   j"                  «       	 t         j                  j'                  t        j                   j(                  j*                  «       t        j                  dg«      } t        j,                  dk(  rDt/        t1        j2                  d«      «      }t5        j6                  |«      }| j9                  |«       | j;                  d«       t1        j<                  «        |dk(  r)| j                  t        j                   j>                  «       | S # t$        $ r Y �Œw xY w# t$        $ r Y ŒÝw xY w)NzInvalid DISPLAY variable>   ÚPyQt6ÚPySide6)ÚPyQt5ÚPySide2é   >   rw   rx   )ru   rv   é   zShould never be herez
.QtWidgetsz.QtCorezMatplotlib is using z which wraps z+ however an instantiated QApplication from z< exists.  Mixing Qt major versions may not work as expected.Ú
matplotlibrE   úimages/matplotlib.svgT) r   ÚQApplicationÚinstanceÚmplÚ_c_internal_utilsÚdisplay_is_validÚRuntimeErrorr   ÚsysÚmodulesÚgetr   Úwarn_externalr   ÚqVersionÚsetAttributeÚQtÚAA_EnableHighDpiScalingÚAttributeErrorÚ#setHighDpiScaleFactorRoundingPolicyÚ HighDpiScaleFactorRoundingPolicyÚPassThroughÚplatformÚstrr   Ú_get_data_pathr   ÚQIconÚsetWindowIconÚsetQuitOnLastWindowClosedÚ_setup_new_guiappÚAA_UseHighDpiPixmaps)ÚappÚother_bindingsÚ
qt_versionÚbindingÚmodÚ
other_coreÚimageÚicons           ús/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/backends/backend_qt.pyÚ_create_qAppr    \   s)  € ä
×
 Ñ
 ×
)Ñ
)Ó
+€Cð �{ô ×$Ñ$×5Ñ5Ô7ÜÐ9Ó:Ð:ô Ð)Ñ)Ø1ˆNØ‰JÜÐ+Ñ+Ø1ˆNØ‰JäÐ5Ó6Ð6à%ò 	ˆGÜ—+‘+—/‘/ W I¨ZÐ"8Ó9ˆCØ‰ 3×#3Ñ#3×#<Ñ#<Ó#>Ñ#JÜ Ÿ[™[Ÿ_™_°¨y¸Ð-@ÓA�
Ü×"Ñ"Ø*¬6¨(°-Ü—‘Ó(Ð)ð *)Ø)0¨	°Ø!×*Ñ*Ó,Ð-ð .9ð9ôñ ð	ð ˜Š?ðÜ×&Ñ&×3Ñ3´F·I±I×4UÑ4UÔVð	Ü×"Ñ"×FÑFÜ—	‘	×:Ñ:×FÑFôHô ×$Ñ$ l ^Ó4ˆÜ�<‰<˜8Ò#Üœ×,Ñ,Ð-DÓEÓFˆEÜ—;‘;˜uÓ%ˆDØ×Ñ˜dÔ#Ø×%Ñ% dÔ+Ü×ÑÔ!Ø˜Š?Ø×ÑœVŸY™Y×;Ñ;Ô<à€Jøô# "ò Úðûô
 ò 	Ùð	ús%   Ä&7I! ÅAI1 É!	I.É-I.É1	I=É<I=c                 ó,   ‡ — d„ }ˆ fd„}t        ||«      S )zEA context manager that allows terminating a plot by sending a SIGINT.c                 óÐ   ‡ — t        j                  ‰ j                  «       t         j                  j                  j                  «      }|j
                  j                  ˆ fd„«       }|S )Nc                  óH   •— 	 ‰ j                  d«       y # t        $ r Y y w xY w©Nr   )ÚrecvÚBlockingIOError)Úrsocks   €rŸ   Ú_may_clear_sockzF_allow_interrupt_qt.<locals>.prepare_notifier.<locals>._may_clear_sockž   s'   ø€ ðØ—
‘
˜1•øÜ"ò ñ ðús   ƒ •	! !)r   ÚQSocketNotifierÚfilenoÚTypeÚReadÚ	activatedÚconnect)r§   Úsnr¨   s   `  rŸ   Úprepare_notifierz-_allow_interrupt_qt.<locals>.prepare_notifier›   sP   ø€ Ü×#Ñ# E§L¡L£N´F×4JÑ4J×4OÑ4O×4TÑ4TÓUˆà	�‰×	Ñ	ó	ó 
ð	ð  ˆ	ó    c                 ó  •— | j                  «        t        j                  j                  | t        j                  j
                  j                  «       t        ‰d«      r‰j                  «        ‰j                  «        y )NÚcloseAllWindows)
ÚdeleteLaterr   ÚQCoreApplicationÚsendPostedEventsÚQEventr«   ÚDeferredDeleteÚhasattrr³   Úquit)r¯   Úqapp_or_eventloops    €rŸ   Úhandle_sigintz*_allow_interrupt_qt.<locals>.handle_sigint±   sW   ø€ Ø
�‰ÔÜ×Ñ×0Ñ0°´V·]±]×5GÑ5G×5VÑ5VÔWÜÐ$Ð&7Ô8Ø×-Ñ-Ô/Ø×ÑÕ r±   )r   )r»   r°   r¼   s   `  rŸ   Ú_allow_interrupt_qtr½   –   s   ø€ ò
ô,!ô Ð,¨mÓ<Ð<r±   c                   ó@   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	ˆ xZ
S )ÚTimerQTz-Subclass of `.TimerBase` using QTimer events.c                 ó´   •— t        j                  «       | _        | j                  j                  j	                  | j
                  «       t        ‰| �  |i |¤Ž y ©N)r   ÚQTimerÚ_timerÚtimeoutr®   Ú	_on_timerrg   Ú__init__©ÚselfÚargsÚkwargsÚ	__class__s      €rŸ   rÆ   zTimerQT.__init__¾   s@   ø€ ô —m‘m“oˆŒØ�‰×Ñ×#Ñ# D§N¡NÔ3Ü‰Ñ˜$Ð) &Ó)r±   c                 óP   — t        | j                  «      s| j                  «        y y rÁ   )r   rÃ   Ú_timer_stop©rÈ   s    rŸ   Ú__del__zTimerQT.__del__Å   s!   € ô ˜$Ÿ+™+Ô&Ø×ÑÕð 'r±   c                 óN   — | j                   j                  | j                  «       y rÁ   )rÃ   ÚsetSingleShotÚ_singlerÎ   s    rŸ   Ú_timer_set_single_shotzTimerQT._timer_set_single_shotË   s   € Ø�‰×!Ñ! $§,¡,Õ/r±   c                 óN   — | j                   j                  | j                  «       y rÁ   )rÃ   ÚsetIntervalÚ	_intervalrÎ   s    rŸ   Ú_timer_set_intervalzTimerQT._timer_set_intervalÎ   s   € Ø�‰×Ñ §¡Õ/r±   c                 ó8   — | j                   j                  «        y rÁ   )rÃ   ÚstartrÎ   s    rŸ   Ú_timer_startzTimerQT._timer_startÑ   s   € Ø�‰×ÑÕr±   c                 ó8   — | j                   j                  «        y rÁ   )rÃ   ÚstoprÎ   s    rŸ   rÍ   zTimerQT._timer_stopÔ   s   € Ø�‰×ÑÕr±   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rÆ   rÏ   rÓ   r×   rÚ   rÍ   Ú__classcell__©rË   s   @rŸ   r¿   r¿   »   s$   ø„ Ù7ô*òò0ò0òör±   r¿   c                   óž  ‡— e Zd ZdZeZ ej                  d„ «      Zde	j                  fde	j                  fde	j                  fde	j                  fde	j                  ffD � ����ci c]*  \  }}t        t         j"                  j                  |«      |“Œ, c}}}}} Zd(ˆfd	„	Z ej(                  «       d
„ «       Z ej(                  ej.                  «      d„ «       Zˆfd„Zd„ Zd„ Zd(d„Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(e)d„ «       Z*e)d(ddœd„«       Z+d„ Z,d „ Z-d)d!„Z.d(d"„Z/ˆfd#„Z0d$„ Z1d(d%„Z2d&„ Z3d'„ Z4ˆxZ5S c c}}}}} w )*ÚFigureCanvasQTÚqtc                 ó   — t         S rÁ   )ÚFigureManagerQT)Úclss    rŸ   ú<lambda>zFigureCanvasQT.<lambda>Û   s   € ´?€ r±   Ú
LeftButtonÚRightButtonÚMiddleButtonÚXButton1ÚXButton2Nc                 ó¨  •— t        «        t        ‰| �	  |¬«       d| _        d| _        d„ | _        d| _        | j                  t        j                  j                  j                  «       | j                  d«        | j                  | j                  «       Ž  t        j                   t        j"                  d«      «      }| j%                  |«       y )N)ÚfigureFc                  ó   — y rÁ   © ©Úpainters    rŸ   ré   z)FigureCanvasQT.__init__.<locals>.<lambda>í   s   � r±   TÚwhite)r    rg   rÆ   Ú_draw_pendingÚ_is_drawingÚ_draw_rect_callbackÚ_in_resize_eventrˆ   r   r‰   ÚWidgetAttributeÚWA_OpaquePaintEventÚsetMouseTrackingÚresizeÚget_width_heightr   ÚQPaletteÚQColorÚ
setPalette)rÈ   rð   ÚpaletterË   s      €rŸ   rÆ   zFigureCanvasQT.__init__ç   sž   ø€ ÜŒÜ‰Ñ ÐÔ'à"ˆÔØ ˆÔÙ#7ˆÔ Ø %ˆÔà×Ñœ&Ÿ)™)×3Ñ3×GÑGÔHØ×Ñ˜dÔ#Øˆ�‰�T×*Ñ*Ó,Ñ-ä—.‘.¤§¡¨gÓ!6Ó7ˆØ�‰˜Õ r±   c                 óÒ   — | j                  | j                  «       xs d«      rDt        j                  | j	                  «       | j	                  «       «      }| j                  |«       y y r¤   )Ú_set_device_pixel_ratioÚdevicePixelRatioFr   ÚQResizeEventÚsizeÚresizeEvent©rÈ   Úevents     rŸ   Ú_update_pixel_ratioz"FigureCanvasQT._update_pixel_ratio÷   sT   € à×'Ñ'Ø×&Ñ&Ó(Ò-¨Aô/ô
 ×&Ñ& t§y¡y£{°D·I±I³KÓ@ˆEØ×Ñ˜UÕ#ð/r±   c                 ó¾   — | j                  «        |�K|j                  j                  | j                   «       |j                  j                  | j                   «       y y rÁ   )r  ÚphysicalDotsPerInchChangedr®   ÚlogicalDotsPerInchChanged)rÈ   Úscreens     rŸ   Ú_update_screenzFigureCanvasQT._update_screen  sO   € ð 	× Ñ Ô"ØÐØ×-Ñ-×5Ñ5°d×6NÑ6NÔOØ×,Ñ,×4Ñ4°T×5MÑ5MÕNð r±   c                 ó®   •— |j                  «       t        j                  j                  j                  k(  r| j                  «        t        ‰| �  ||«      S rÁ   )Útyper   r·   r«   ÚDevicePixelRatioChanger  rg   ÚeventFilter)rÈ   Úsourcer
  rË   s      €rŸ   r  zFigureCanvasQT.eventFilter	  s?   ø€ Ø�:‰:‹<œ6Ÿ=™=×-Ñ-×DÑDÒDØ×$Ñ$Ô&Ü‰wÑ" 6¨5Ó1Ð1r±   c                 ó„  — | j                  «       j                  «       }t        d„ t        j                  «       j                  dd«      d d D «       «      }|dk\  r"| j                  «        |j                  | «       y |j                  j                  | j                  «       | j                  |j                  «       «       y )Nc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrÁ   )Úint)Ú.0Úxs     rŸ   ú	<genexpr>z+FigureCanvasQT.showEvent.<locals>.<genexpr>  s   è ø€ ÒT¨1¤ A§ÑTùs   ‚ú.é   )ry   ry   )ÚwindowÚwindowHandleÚtupler   r‡   Úsplitr  ÚinstallEventFilterÚscreenChangedr®   r  r  )rÈ   r
  r  Úcurrent_versions       rŸ   Ú	showEventzFigureCanvasQT.showEvent  s•   € ð —‘“×+Ñ+Ó-ˆÜÑT´·±Ó0A×0GÑ0GÈÈQÓ0OÐPRÐQRÐ0SÔTÓTˆØ˜fÒ$Ø×$Ñ$Ô&Ø×%Ñ% dÕ+à× Ñ ×(Ñ(¨×)<Ñ)<Ô=Ø×Ñ §¡£Õ0r±   c                 óX   — | j                  t        j                  t        |¬«      «       y )N)Úcursor)Ú	setCursorr   Úgetitem_checkedÚcursord)rÈ   r'  s     rŸ   Ú
set_cursorzFigureCanvasQT.set_cursor  s   € à�‰”t×+Ñ+¬G¸FÔCÕDr±   c                 ó¬  — |€.| j                  t        j                  j                  «       «      }n9t	        |d«      r|j                  «       }nt	        |d«      r|j                  «       }|j                  «       }| j                  j                  j                  | j                  z  |j                  «       z
  }|| j                  z  || j                  z  fS )aI  
        Calculate mouse coordinates in physical pixels.

        Qt uses logical pixels, but the figure is scaled to physical
        pixels for rendering.  Transform to physical pixels so that
        all of the down-stream transforms work as expected.

        Also, the origin is different and needs to be corrected.
        ÚpositionÚpos)ÚmapFromGlobalr   ÚQCursorr.  r¹   r-  r  rð   ÚbboxÚheightÚdevice_pixel_ratioÚy)rÈ   r.  r  r4  s       rŸ   ÚmouseEventCoordszFigureCanvasQT.mouseEventCoords  s§   € ð ˆ;Ø×$Ñ$¤U§]¡]×%6Ñ%6Ó%8Ó9‰CÜ�S˜*Ô%Ø—,‘,“.‰CÜ�S˜%Ô Ø—'‘'“)ˆCà�E‰E‹Gˆà�K‰K×Ñ×#Ñ# d×&=Ñ&=Ñ=ÀÇÁÃÑGˆØ�4×*Ñ*Ñ*¨A°×0GÑ0GÑ,GÐGÐGr±   c                 óð   — t         j                  j                  «       j                  «       }| j                  €y t        d| g| j                  |«      ¢­| j                  |«      |dœŽj                  «        y )NÚfigure_enter_event©Ú	modifiersÚguiEvent)	r   r}   r~   ÚqueryKeyboardModifiersrð   r   r5  Ú_mpl_modifiersÚ_process)rÈ   r
  Úmodss      rŸ   Ú
enterEventzFigureCanvasQT.enterEvent4  sm   € ô ×%Ñ%×.Ñ.Ó0×GÑGÓIˆØ�;‰;ÐØÜÐ*¨Dð 	&Ø×,Ñ,¨UÓ3ñ	&à $× 3Ñ 3°DÓ 9Ø$ò	&÷ '/¡h¥jr±   c                 óÐ   — t         j                  j                  «        | j                  €y t	        d| g| j                  «       ¢­| j                  «       |dœŽj                  «        y )NÚfigure_leave_eventr8  )r   r}   ÚrestoreOverrideCursorrð   r   r5  r<  r=  r	  s     rŸ   Ú
leaveEventzFigureCanvasQT.leaveEvent?  s\   € Ü×Ñ×4Ñ4Ô6Ø�;‰;ÐØÜÐ*¨Dð 	&Ø×,Ñ,Ó.ñ	&à $× 3Ñ 3Ó 5Ø$ò	&÷ '/¡h¥jr±   c                 óò   — | j                   j                  |j                  «       «      }|�L| j                  �?t	        d| g| j                  |«      ¢|‘­| j                  «       |dœŽj                  «        y y y )NÚbutton_press_eventr8  ©Úbuttondr…   Úbuttonrð   r   r5  r<  r=  ©rÈ   r
  rH  s      rŸ   ÚmousePressEventzFigureCanvasQT.mousePressEventH  sx   € Ø—‘×!Ñ! %§,¡,£.Ó1ˆØÐ $§+¡+Ð"9ÜÐ+¨Tð 'Ø×-Ñ-¨eÓ4ð'Ø6<ñ'à!%×!4Ñ!4Ó!6Ø %ò'÷ (0¡x¥zð	 #:Ðr±   c                 óô   — | j                   j                  |j                  «       «      }|�M| j                  �@t	        d| g| j                  |«      ¢|‘­d| j                  «       |dœŽj                  «        y y y )NrE  T)Údblclickr9  r:  rF  rI  s      rŸ   ÚmouseDoubleClickEventz$FigureCanvasQT.mouseDoubleClickEventP  s{   € Ø—‘×!Ñ! %§,¡,£.Ó1ˆØÐ $§+¡+Ð"9ÜÐ+¨Tð 'Ø×-Ñ-¨eÓ4ð'Ø6<ñ'ØGKØ!%×!4Ñ!4Ó!6Ø %ò'÷ (0¡x¥zð	 #:Ðr±   c                 óÒ   — | j                   €y t        d| g| j                  |«      ¢­| j                  |j	                  «       «      | j                  «       |dœŽj                  «        y )NÚmotion_notify_event)Úbuttonsr9  r:  )rð   r   r5  Ú_mpl_buttonsrP  r<  r=  r	  s     rŸ   ÚmouseMoveEventzFigureCanvasQT.mouseMoveEventX  s`   € Ø�;‰;ÐØÜÐ(¨$ð 	#Ø×)Ñ)¨%Ó0ñ	#à×,Ñ,¨U¯]©]«_Ó=Ø!×0Ñ0Ó2Ø!ò		#÷ $,¡8¥:r±   c                 óò   — | j                   j                  |j                  «       «      }|�L| j                  �?t	        d| g| j                  |«      ¢|‘­| j                  «       |dœŽj                  «        y y y )NÚbutton_release_eventr8  rF  rI  s      rŸ   ÚmouseReleaseEventz FigureCanvasQT.mouseReleaseEventa  sx   € Ø—‘×!Ñ! %§,¡,£.Ó1ˆØÐ $§+¡+Ð"9ÜÐ-¨tð 'Ø×-Ñ-¨eÓ4ð'Ø6<ñ'à!%×!4Ñ!4Ó!6Ø %ò'÷ (0¡x¥zð	 #:Ðr±   c                 ó¸  — |j                  «       j                  «       s/t        j                  j	                  «       j                  «       dk(  r"|j                  «       j                  «       dz  }n|j                  «       j                  «       }|rK| j                  �>t        d| g| j                  |«      ¢­|| j                  «       |dœŽj                  «        y y y )NÚxcbéx   Úscroll_event)Ústepr9  r:  )Ú
pixelDeltaÚisNullr   r}   r~   ÚplatformNameÚ
angleDeltar4  rð   r   r5  r<  r=  )rÈ   r
  Ústepss      rŸ   Ú
wheelEventzFigureCanvasQT.wheelEventi  s¾   € ð ×ÑÓ×%Ñ%Ô'Ü×)Ñ)×2Ñ2Ó4×AÑAÓCÀuÒLØ×$Ñ$Ó&×(Ñ(Ó*¨SÑ0‰Eà×$Ñ$Ó&×(Ñ(Ó*ˆEÙ�T—[‘[Ð,Ü�~ tð 'Ø×-Ñ-¨eÓ4ñ'Ø;@Ø!%×!4Ñ!4Ó!6Ø %ò'÷ (0¡x¥zð	 -ˆ5r±   c                 ó    — | j                  |«      }|�;| j                  �.t        d| |g| j                  «       ¢­d|iŽj	                  «        y y y )NÚkey_press_eventr:  ©Ú_get_keyrð   r   r5  r=  ©rÈ   r
  Úkeys      rŸ   ÚkeyPressEventzFigureCanvasQT.keyPressEventw  sU   € Ø�m‰m˜EÓ"ˆØˆ?˜tŸ{™{Ð6ÜÐ&¨Øð%Ø×0Ñ0Ó2ò%à#ñ%ç%-¡X¥Zð  7ˆ?r±   c                 ó    — | j                  |«      }|�;| j                  �.t        d| |g| j                  «       ¢­d|iŽj	                  «        y y y )NÚkey_release_eventr:  rc  re  s      rŸ   ÚkeyReleaseEventzFigureCanvasQT.keyReleaseEvent~  sU   € Ø�m‰m˜EÓ"ˆØˆ?˜tŸ{™{Ð6ÜÐ(¨$Øð%Ø×0Ñ0Ó2ò%à#ñ%ç%-¡X¥Zð  7ˆ?r±   c                 ó*  — | j                   ry | j                  €y d| _         	 |j                  «       j                  «       | j                  z  }|j                  «       j                  «       | j                  z  }| j                  j                  }||z  }||z  }| j                  j                  ||d¬«       t        j                  j                  | |«       t        d| «      j                  «        | j                  «        d| _         y # d| _         w xY w)NTF)ÚforwardÚresize_event)rù   rð   r  Úwidthr3  r2  ÚdpiÚset_size_inchesr   ÚQWidgetr  r   r=  Ú	draw_idle)rÈ   r
  ÚwÚhÚdpivalÚwinchÚhinchs          rŸ   r  zFigureCanvasQT.resizeEvent…  sâ   € Ø× Ò ØØ�;‰;ÐØØ $ˆÔð	*Ø—
‘
“×"Ñ"Ó$ t×'>Ñ'>Ñ>ˆAØ—
‘
“×#Ñ#Ó%¨×(?Ñ(?Ñ?ˆAØ—[‘[—_‘_ˆFØ˜‘JˆEØ˜‘JˆEØ�K‰K×'Ñ'¨¨u¸eÐ'ÔDä×Ñ×)Ñ)¨$°Ô6ä˜¨Ó-×6Ñ6Ô8Ø�N‰NÔà$)ˆDÕ!ø EˆDÕ!ús   £CD	 Ä		Dc                 óT   — | j                  «       \  }}t        j                  ||«      S rÁ   )rþ   r   ÚQSize)rÈ   rs  rt  s      rŸ   ÚsizeHintzFigureCanvasQT.sizeHintš  s%   € Ø×$Ñ$Ó&‰ˆˆ1Ü�|‰|˜A˜qÓ!Ð!r±   c                 ó.   — t        j                  dd«      S )Né
   )r   ry  rÎ   s    rŸ   ÚminimumSizeHintzFigureCanvasQT.minimumSizeHintž  s   € Ü�|‰|˜B Ó#Ð#r±   c                 ó¢   — t        | «      } t        j                  j                  «       D ��ch c]  \  }}t        |«      | z  r|’Œ c}}S c c}}w rÁ   )r   rä   rG  Úitems)rP  ÚmaskrH  s      rŸ   rQ  zFigureCanvasQT._mpl_buttons¡  sJ   € ä˜'Ó"ˆä+9×+AÑ+A×+GÑ+GÓ+I÷ ,™<˜4 Ü˜4“= 7Ò*ò ó ,ð 	,ùó ,s   ­A©Úexcludec                óô   — | €,t         j                  j                  «       j                  «       } t	        | «      } t
        D ��cg c](  \  }}||k7  r| |z  rt        |   j                  dd«      ‘Œ* c}}S c c}}w )NrF   Úctrl)r   r}   r~   ÚkeyboardModifiersr   Ú_MODIFIER_KEYSÚSPECIAL_KEYSÚreplace)r9  r‚  r€  rf  s       rŸ   r<  zFigureCanvasQT._mpl_modifiers¨  su   € àÐÜ!×.Ñ.×7Ñ7Ó9×KÑKÓMˆIÜ˜IÓ&ˆ	ô "0÷8Ù�D˜#Ø˜c’> i°$Ò&6ô ˜SÑ!×)Ñ)¨)°VÕ<ó 8ð 	8ùó 8s   Á-A4c                 ó.  — |j                  «       }| j                  |¬«      }	 t        |   }dj                  ||gz   «      S # t        $ rI |t        j
                  kD  rY y t        |«      }d|v r|j                  d«       n|j                  «       }Y Œfw xY w)Nr�  rC   ú+)
rf  r<  r‡  ÚKeyErrorrƒ   Ú
maxunicodeÚchrÚremoveÚlowerÚjoin)rÈ   r
  Ú	event_keyr>  rf  s        rŸ   rd  zFigureCanvasQT._get_key¶  s”   € Ø—I‘I“Kˆ	Ø×"Ñ"¨9Ð"Ó5ˆð	"ô ˜yÑ)ˆCð$ �x‰x˜ ˜u™Ó%Ð%øô# ò 	"ð œ3Ÿ>™>Ò)Ùä�i“.ˆCð ˜$‰Ø—‘˜GÕ$à—i‘i“k�ùð	"ús   ¤	A ÁBÁ 1BÂBc                 ó\   — t         j                  j                  «       j                  «        y rÁ   )r   r}   r~   ÚprocessEventsrÎ   s    rŸ   Úflush_eventszFigureCanvasQT.flush_eventsÐ  s   € ä×Ñ×'Ñ'Ó)×7Ñ7Õ9r±   c                 ó|  — t        | d«      r%| j                  j                  «       rt        d«      ‚t	        j
                  «       x| _        }|dkD  r6t        j                  j                  t        |dz  «      |j                  «      }t        |«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)NÚ_event_loopzEvent loop already runningr   iè  )r¹   r–  Ú	isRunningr‚   r   Ú
QEventLooprÂ   Ú
singleShotr  rº   r½   r   Ú_exec)rÈ   rÄ   Ú
event_loopÚ_s       rŸ   Ústart_event_loopzFigureCanvasQT.start_event_loopÔ  s’   € ä�4˜Ô'¨D×,<Ñ,<×,FÑ,FÔ,HÜÐ;Ó<Ð<Ü(.×(9Ñ(9Ó(;Ð;ˆÔ˜:Ø�QŠ;Ü—‘×(Ñ(¬¨W°t©^Ó)<¸j¿o¹oÓNˆAä  Ó,ñ 	(Ü�O‰O˜JÔ'÷	(÷ 	(ñ 	(ús   ÂB2Â2B;c                 óR   — t        | d«      r| j                  j                  «        y y )Nr–  )r¹   r–  rº   r	  s     rŸ   Ústop_event_loopzFigureCanvasQT.stop_event_loopß  s#   € ä�4˜Ô'Ø×Ñ×!Ñ!Õ#ð (r±   c                 ó´   •— | j                   ryt        j                  | d¬«      5  t        ‰| �  «        ddd«       | j                  «        y# 1 sw Y   ŒxY w)z5Render the figure, and queue a request for a Qt draw.NT)r÷   )r÷   r   Ú_setattr_cmrg   ÚdrawÚupdate)rÈ   rË   s    €rŸ   r¢  zFigureCanvasQT.drawä  sH   ø€ ð ×ÒØÜ×Ñ˜t°Ô6ñ 	Ü‰G‰LŒN÷	à�‰�÷	ð 	ús   ¦AÁAc                 óž   — t        | dd«      s@t        | dd«      s2d| _        t        j                  j	                  d| j
                  «       yyy)z9Queue redraw of the Agg buffer and request Qt paintEvent.rö   Fr÷   Tr   N)Úgetattrrö   r   rÂ   r™  Ú
_draw_idlerÎ   s    rŸ   rr  zFigureCanvasQT.draw_idleî  sF   € ô ˜˜o¨uÔ5Ü˜˜m¨UÔ3Ø!%ˆDÔÜ�M‰M×$Ñ$ Q¨¯©Õ8ð 4ð 6r±   c                 óò   ‡ — |€"‰ j                   r‰ j                   j                  }ˆ fd„|j                  D «       \  }}}}||z   }‰ j                  |‰ j	                  «       j                  «       |z
  ||«       y )Nc              3   óN   •K  — | ]  }t        |‰j                  z  «      –— Œ y ­wrÁ   ©r  r3  ©r  ÚptrÈ   s     €rŸ   r  z&FigureCanvasQT.blit.<locals>.<genexpr>ÿ  s!   øè ø€ ÒN¸B”c˜"˜t×6Ñ6Ñ6×7ÑNùó   ƒ"%)rð   r1  ÚboundsÚrepaintÚrectr2  )rÈ   r1  ÚlÚbrs  rt  Úts   `      rŸ   ÚblitzFigureCanvasQT.blitú  sb   ø€ àˆ<˜DŸKšKØ—;‘;×#Ñ#ˆDãNÀ$Ç+Á+ÔN‰
ˆˆ1ˆa�Ø�‰EˆØ�‰�Q˜Ÿ	™	›×*Ñ*Ó,¨qÑ0°!°QÕ7r±   c                 óf  — | j                  «       5  | j                  s
	 d d d «       y d| _        t        | «      s&| j                  «       dk  s| j	                  «       dk  r
	 d d d «       y 	 | j                  «        d d d «       y # t        $ r t        j                  «        Y Œ(w xY w# 1 sw Y   y xY w)NFr   )	Ú_idle_draw_cntxrö   r   r2  rn  r¢  Ú	ExceptionÚ	tracebackÚ	print_excrÎ   s    rŸ   r¦  zFigureCanvasQT._draw_idle  s¢   € Ø×!Ñ!Ó#ñ 
	&Ø×%Ò%Ø÷
	&ð 
	&ð "'ˆDÔÜ˜$Ô 4§;¡;£=°AÒ#5¸¿¹»ÈÒ9JØ÷
	&ð 
	&ð&Ø—	‘	”÷
	&ð 
	&øô ò &ä×#Ñ#Ö%ð&ú÷
	&ð 
	&ús.   ‘B'¨9B'Á+BÂB$Â!B'Â#B$Â$B'Â'B0c                 óŽ   ‡ ‡‡‡‡— |�$ˆ fd„|D «       \  ŠŠ}}‰|z   Š‰|z   Šˆ ˆˆˆˆfd„}nd„ }|‰ _         ‰ j                  «        y )Nc              3   óN   •K  — | ]  }t        |‰j                  z  «      –— Œ y ­wrÁ   r©  rª  s     €rŸ   r  z/FigureCanvasQT.drawRectangle.<locals>.<genexpr>  s!   øè ø€ ÒMÀ"œC  T×%<Ñ%<Ñ <×=ÑMùr¬  c                 ó
  •— t        j                  t        j                  d«      d‰j                  z  «      }|j	                  ddg«       t        j                  d«      dft        j                  d«      dffD ]ˆ  \  }}|j                  |«       |j                  |«       | j                  |«       | j                  ‰‰‰‰«       | j                  ‰‰‰‰«       | j                  ‰‰‰‰«       | j                  ‰‰‰‰«       ŒŠ y )NÚblackr   é   r   rõ   )	r   ÚQPenr   r3  ÚsetDashPatternÚsetDashOffsetÚsetColorÚsetPenÚdrawLine)	rô   ÚpenÚcolorÚoffsetrÈ   Úx0Úx1Úy0Úy1s	       €€€€€rŸ   rø   z9FigureCanvasQT.drawRectangle.<locals>._draw_rect_callback  sð   ø€ Ü—j‘jÜ—L‘L Ó)Ø˜×/Ñ/Ñ/ó�ð
 ×"Ñ" A q 6Ô*äŸ™ gÓ.°Ð2ÜŸ™ gÓ.°Ð2ð&ò 5‘M�E˜6ð ×%Ñ% fÔ-Ø—L‘L Ô'Ø—N‘N 3Ô'ð ×$Ñ$ R¨¨R°Ô4Ø×$Ñ$ R¨¨R°Ô4Ø×$Ñ$ R¨¨R°Ô4Ø×$Ñ$ R¨¨R°Õ4ñ5r±   c                  ó   — y rÁ   rò   ró   s    rŸ   rø   z9FigureCanvasQT.drawRectangle.<locals>._draw_rect_callback,  s   € Ør±   )rø   r£  )	rÈ   r¯  rs  rt  rø   rÇ  rÈ  rÉ  rÊ  s	   `    @@@@rŸ   ÚdrawRectanglezFigureCanvasQT.drawRectangle  sO   ü€ ð ÐÛMÈÔM‰LˆB��A�qØ�a‘ˆBØ�a‘ˆB÷5ñ 5ò*à#6ˆÔ Ø�‰�r±   rÁ   )r   )6rÝ   rÞ   rß   Úrequired_interactive_frameworkr¿   Ú
_timer_clsr   ÚclasspropertyÚmanager_classr   ÚLEFTÚRIGHTÚMIDDLEÚBACKÚFORWARDr¥  r   r‰   rG  rÆ   ÚSlotr  r   ÚQScreenr  r  r%  r+  r5  r?  rC  rJ  rM  rR  rU  r`  rg  rj  r  rz  r}  ÚstaticmethodrQ  r<  rd  r”  r�  rŸ  r¢  rr  r³  r¦  rÌ  rá   )r  ÚkÚvr¥  r   rË   s   00000@rŸ   rä   rä   Ø   s™  ø„ Ø%)Ð"Ø€JØ&�D×&Ñ&Ñ'BÓC€Mð ˜;×+Ñ+Ð,Ø˜K×-Ñ-Ð.Ø˜[×/Ñ/Ð0Ø˜×)Ñ)Ð*Ø˜×,Ñ,Ð-ð:
÷ò Ù15°°AŒ”—	‘	×%Ñ% qÓ)¨1Ñ,ö€Gõ!ð  €V‡[�[ƒ]ñ$ó ð$ð €V‡[�[�—‘ÓñOó  ðOô2ò

1òEóHò,	1ò1ò2ò2ò.ò2ò2ò0ò0ò*ò*"ò$ð ñ,ó ð,ð ð8°$ó 8ó ð8ò&ò4:ó	(ó$ô
ò
9ó8ò&öùög	s   Á&/Erä   c                   ó@   ‡ — e Zd Z ej                  «       Zˆ fd„Zˆ xZS )Ú
MainWindowc                 óX   •— | j                   j                  «        t        ‰| �  |«       y rÁ   )ÚclosingÚemitrg   Ú
closeEvent)rÈ   r
  rË   s     €rŸ   rà  zMainWindow.closeEvent5  s    ø€ Ø�‰×ÑÔÜ‰Ñ˜5Õ!r±   )rÝ   rÞ   rß   r   ÚSignalrÞ  rà  rá   râ   s   @rŸ   rÜ  rÜ  2  s   ø„ Øˆf�m‰m‹o€G÷"ð "r±   rÜ  c                   ó`   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zed„ «       Z	d„ Z
ˆ fd„Zd	„ Zd
„ Zˆ xZS )rç   zù
    Attributes
    ----------
    canvas : `FigureCanvas`
        The FigureCanvas instance
    num : int or str
        The Figure number
    toolbar : qt.QToolBar
        The qt.QToolBar
    window : qt.QMainWindow
        The qt.QMainWindow
    c                 ó˜  •— t        «       | _        t        ‰	| �  ||«       | j                  j                  j                  | j                  «       t        j                  dk7  rNt        t        j                  d«      «      }t        j                  |«      }| j                  j                  |«       d| j                  _        | j                   rN| j                  j#                  | j                   «       | j                   j%                  «       j'                  «       }nd}|j%                  «       }|j'                  «       }||z   }| j                  j)                  |j+                  «       |«       | j                  j-                  | j.                  «       t1        j2                  «       r4| j                  j5                  «        | j.                  j7                  «        | j.                  j9                  t:        j<                  j>                  j@                  «       | j.                  jC                  «        | j                  jE                  «        y )NrE   r|   Fr   )#rÜ  r  rg   rÆ   rÞ  r®   Ú_widgetclosedrƒ   r�   r�   r   r‘   r   r’   r“   Ú_destroyingÚtoolbarÚ
addToolBarrz  r2  rý   rn  ÚsetCentralWidgetÚcanvasr   Úis_interactiveÚshowrr  ÚsetFocusPolicyr   r‰   ÚFocusPolicyÚStrongFocusÚsetFocusÚraise_)
rÈ   ré  Únumr�   rž   Ú
tbs_heightÚcsÚ	cs_heightr2  rË   s
            €rŸ   rÆ   zFigureManagerQT.__init__H  s‡  ø€ Ü “lˆŒÜ‰Ñ˜ Ô%Ø�‰×Ñ×#Ñ# D×$6Ñ$6Ô7ä�<‰<˜8Ò#Üœ×,Ñ,Ð-DÓEÓFˆEÜ—;‘;˜uÓ%ˆDØ�K‰K×%Ñ% dÔ+à"'ˆ�‰Ôà�<Š<Ø�K‰K×"Ñ" 4§<¡<Ô0ØŸ™×.Ñ.Ó0×7Ñ7Ó9‰JàˆJð �_‰_ÓˆØ—I‘I“Kˆ	Ø˜ZÑ'ˆØ�‰×Ñ˜2Ÿ8™8›: vÔ.à�‰×$Ñ$ T§[¡[Ô1ä×ÑÔØ�K‰K×ÑÔØ�K‰K×!Ñ!Ô#ð 	�‰×"Ñ"¤6§9¡9×#8Ñ#8×#DÑ#DÔEØ�‰×ÑÔà�‰×ÑÕr±   c                 ó¢   — | j                   j                  «       r| j                   j                  «        y | j                   j                  «        y rÁ   )r  ÚisFullScreenÚ
showNormalÚshowFullScreenrÎ   s    rŸ   Úfull_screen_togglez"FigureManagerQT.full_screen_togglep  s2   € Ø�;‰;×#Ñ#Ô%Ø�K‰K×"Ñ"Õ$à�K‰K×&Ñ&Õ(r±   c                 óæ   — t        d| j                  «      j                  «        | j                  j                  ry d| j                  _        	 t        j                  | «       y # t        $ r Y y w xY w)NÚclose_eventT)r   ré  r=  r  rå  r   Údestroyr‹   rÎ   s    rŸ   rä  zFigureManagerQT._widgetclosedv  sX   € Ü�= $§+¡+Ó.×7Ñ7Ô9Ø�;‰;×"Ò"ØØ"&ˆ�‰Ôð	Ü�K‰K˜ÕøÜò 	Ùð	ús   ÁA$ Á$	A0Á/A0c                 óÜ  — t        || j                  j                  z  «      }t        || j                  j                  z  «      }| j                  j	                  «       | j                  j	                  «       z
  }| j                  j                  «       | j                  j                  «       z
  }| j                  j                  ||«       | j                  j                  ||z   ||z   «       y rÁ   )r  ré  r3  r  rn  r2  rý   )rÈ   rn  r2  Úextra_widthÚextra_heights        rŸ   rý   zFigureManagerQT.resizeƒ  s°   € ô �E˜DŸK™K×:Ñ:Ñ:Ó;ˆÜ�V˜dŸk™k×<Ñ<Ñ<Ó=ˆØ—k‘k×'Ñ'Ó)¨D¯K©K×,=Ñ,=Ó,?Ñ?ˆØ—{‘{×)Ñ)Ó+¨d¯k©k×.@Ñ.@Ó.BÑBˆØ�‰×Ñ˜5 &Ô)Ø�‰×Ñ˜5 ;Ñ.°¸Ñ0EÕFr±   c                 ó°   — t         j                  j                  «       }|r*t        |«      5  t	        j
                  |«       d d d «       y y # 1 sw Y   y xY wrÁ   )r   r}   r~   r½   r   rš  )rè   Úqapps     rŸ   Ústart_main_loopzFigureManagerQT.start_main_loop�  sL   € ä×%Ñ%×.Ñ.Ó0ˆÙÜ$ TÓ*ñ &Ü—‘ Ô%÷&ð &ð ÷&ð &ús   ¬AÁAc                 óê   — d| j                   _        | j                   j                  «        t        j                  d   r5| j                   j                  «        | j                   j                  «        y y )NFzfigure.raise_window)r  rå  rë  r   ÚrcParamsÚactivateWindowrð  rÎ   s    rŸ   rë  zFigureManagerQT.show”  sP   € Ø"'ˆ�‰ÔØ�‰×ÑÔÜ�<‰<Ð-Ò.Ø�K‰K×&Ñ&Ô(Ø�K‰K×ÑÕ ð /r±   c                 ó0  •— t         j                  j                  «       €y | j                  j                  ry d| j                  _        | j
                  r| j
                  j                  «        | j                  j                  «        t        ‰| �  «        y ©NT)	r   r}   r~   r  rå  ræ  rü  Úcloserg   ©rÈ   rÉ   rË   s     €rŸ   rü  zFigureManagerQT.destroy›  sh   ø€ ä×!Ñ!×*Ñ*Ó,Ð4ØØ�;‰;×"Ò"ØØ"&ˆ�‰ÔØ�<Š<Ø�L‰L× Ñ Ô"Ø�‰×ÑÔÜ‰‰Õr±   c                 ó6   — | j                   j                  «       S rÁ   )r  ÚwindowTitlerÎ   s    rŸ   Úget_window_titlez FigureManagerQT.get_window_title§  s   € Ø�{‰{×&Ñ&Ó(Ð(r±   c                 ó:   — | j                   j                  |«       y rÁ   )r  ÚsetWindowTitle)rÈ   Útitles     rŸ   Úset_window_titlez FigureManagerQT.set_window_titleª  s   € Ø�‰×"Ñ" 5Õ)r±   )rÝ   rÞ   rß   rà   rÆ   rù  rä  rý   Úclassmethodr  rë  rü  r  r  rá   râ   s   @rŸ   rç   rç   :  sF   ø„ ñô&òP)òòGð ñ&ó ð&ò!ô
ò)ö*r±   rç   c                   óH   ‡ — e Zd ZdZd	ˆ fd„	Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )
Ú_IconEnginezù
    Custom QIconEngine that automatically handles DPI scaling for tools icons.

    This engine provides icons on-demand with proper scaling based on the current
    device pixel ratio, eliminating the need for manual refresh when DPI changes.
    c                 ó>   •— t         ‰| �  «        || _        || _        y rÁ   )rg   rÆ   Ú
image_pathræ  )rÈ   r  ræ  rË   s      €rŸ   rÆ   z_IconEngine.__init__¶  s   ø€ Ü‰ÑÔØ$ˆŒØˆ�r±   c                 ó¦   — | j                   j                  «       j                  | j                   j                  «       «      j	                  «       dk  S )Né€   )ræ  r  rÅ  ÚbackgroundRoleÚvaluerÎ   s    rŸ   Ú_is_dark_modez_IconEngine._is_dark_mode»  s<   € Ø�|‰|×#Ñ#Ó%×+Ñ+¨D¯L©L×,GÑ,GÓ,IÓJ×PÑPÓRÐUXÑXÐXr±   c                 óŒ   — | j                  |j                  «       ||«      }|j                  «       s|j                  ||«       yy)z/Paint the icon at the requested size and state.N)Úpixmapr  r\  Ú
drawPixmap)rÈ   rô   r¯  ÚmodeÚstater  s         rŸ   Úpaintz_IconEngine.paint¾  s8   € à—‘˜TŸY™Y›[¨$°Ó6ˆØ�}‰}ŒØ×Ñ˜t VÕ,ð r±   c                 óL  — |j                  «       dk  s|j                  «       dk  rt        j                  «       S | j                  j                  d«      }|j                  «       r$| j                  ||«      }|j                  «       s|S | j                  | j                  |«      S )z:Generate a pixmap for the requested size, mode, and state.r   z.svg)
rn  r2  r   ÚQPixmapr  Úwith_suffixÚexistsÚ_create_pixmap_from_svgr\  Ú_create_pixmap_from_png)rÈ   r  r  r  Úsvg_pathr  s         rŸ   r  z_IconEngine.pixmapÄ  s€   € à�:‰:‹<˜1Ò §¡£°Ò 2Ü—=‘=“?Ð"ð —?‘?×.Ñ.¨vÓ6ˆØ�?‰?ÔØ×1Ñ1°(¸DÓAˆFØ—=‘=”?Ø�Ø×+Ñ+¨D¯O©O¸TÓBÐBr±   c                 óZ   — | j                   r| j                   j                  «       xs dS dS )zGReturn the current device pixel ratio for the toolbar, defaulting to 1.r   )ræ  r  rÎ   s    rŸ   Ú_devicePixelRatioz_IconEngine._devicePixelRatioÑ  s%   € à:>¿,º,�—‘×.Ñ.Ó0Ò5°AÐMÈAÐMr±   c           
      ó   — t        t        dd«      }|€t        j                  «       S |j	                  «       }| j                  «       r$|j                  dd«      }|j                  dd«      } |t        j                  |«      «      }|j                  «       st        j                  «       S | j                  «       }t        j                  t        |j                  «       |z  «      t        |j                  «       |z  «      «      }t        j                  |«      }|j                  |«       |j!                  t        j"                  j$                  j&                  «       t        j(                  «       }		 |	j+                  |«       |j-                  |	t        j.                  dd|j                  «       |j                  «       «      «       |	j1                  «       r|	j3                  «        |S # |	j1                  «       r|	j3                  «        w w xY w)zCCreate a pixmap from SVG with proper scaling and dark mode support.ÚQSvgRendererNs   fill:black;s   fill:white;s   stroke:black;s   stroke:white;r   )r¥  r   r   r"  Ú
read_bytesr  rˆ  r   Ú
QByteArrayÚisValidr)  ry  r  rn  r2  ÚsetDevicePixelRatioÚfillr‰   ÚGlobalColorÚtransparentÚQPainterÚbeginÚrenderÚQRectFÚisActiver5   )
rÈ   r'  r  r+  Úsvg_contentÚrendererÚdprÚscaled_sizer  rô   s
             rŸ   r%  z#_IconEngine._create_pixmap_from_svgÕ  s„  € äœu n°dÓ;ˆØÐÜ—=‘=“?Ð"à×)Ñ)Ó+ˆà×ÑÔØ%×-Ñ-¨n¸nÓMˆKØ%×-Ñ-Ð.>Ð@PÓQˆKá¤× 1Ñ 1°+Ó >Ó?ˆØ×ÑÔ!Ü—=‘=“?Ð"à×$Ñ$Ó&ˆÜ—l‘l¤3 t§z¡z£|°cÑ'9Ó#:¼CÀÇÁÃÐPSÑ@SÓ<TÓUˆÜ—‘˜{Ó+ˆØ×"Ñ" 3Ô'Ø�‰”F—I‘I×)Ñ)×5Ñ5Ô6ä—.‘.Ó"ˆð	Ø�M‰M˜&Ô!Ø�O‰O˜G¤V§]¡]°1°a¸¿¹»ÀtÇ{Á{Ã}Ó%UÔVà×ÑÔ!Ø—‘”àˆøð ×ÑÔ!Ø—‘•ð "ús   Å3AG* Ç*#Hc                 ó  — |j                  |j                  dz   «      }t        j                  «       }||fD ]E  }|j	                  «       sŒt        j                  t        |«      «      }|j                  «       rŒC|} n |j                  «       r|S | j                  «       }t        j                  t        |j                  «       |z  «      t        |j                  «       |z  «      «      }|j                  |t        j                  j                  j                   t        j                  j"                  j$                  «      }	|	j'                  |«       | j)                  «       rª| j*                  j-                  «       j/                  | j*                  j1                  «       «      }
|	j3                  t        j4                  d«      t        j                  j6                  j8                  «      }|	j;                  |
«       |	j=                  |«       |	S )z£
        Create a pixmap from PNG with scaling and dark mode support.

        Prefer to use the *_large.png with the same name; otherwise, use base_path.
        z
_large.pngr¼  )Ú	with_nameÚstemr   r"  r$  r�   r\  r)  r   ry  r  rn  r2  Úscaledr‰   ÚAspectRatioModeÚKeepAspectRatioÚTransformationModeÚSmoothTransformationr/  r  ræ  r  rÅ  ÚforegroundRoleÚcreateMaskFromColorr   ÚMaskModeÚMaskOutColorr0  ÚsetMask)rÈ   Ú	base_pathr  Ú
large_pathÚsource_pixmapÚ	candidateÚcandidate_pixmapr:  r;  Úscaled_pixmapÚ
icon_colorr€  s               rŸ   r&  z#_IconEngine._create_pixmap_from_pngõ  s›  € ð ×(Ñ(¨¯©¸,Ñ)FÓGˆ
ÜŸ™›ˆØ$ iÐ0ò 	ˆIØ×#Ñ#Ô%ØÜ$Ÿ}™}¬S°«^Ó<ÐØ#×*Ñ*Õ,Ø 0�Ùð	ð ×ÑÔ!Ø Ð à×$Ñ$Ó&ˆô —l‘l¤3 t§z¡z£|°cÑ'9Ó#:¼CÀÇÁÃÐPSÑ@SÓ<TÓUˆØ%×,Ñ,ØÜ�I‰I×%Ñ%×5Ñ5Ü�I‰I×(Ñ(×=Ñ=ó
ˆð
 	×)Ñ)¨#Ô.à×ÑÔð Ÿ™×-Ñ-Ó/×5Ñ5°d·l±l×6QÑ6QÓ6SÓTˆJØ ×4Ñ4Ü—‘˜WÓ%Ü—	‘	×"Ñ"×/Ñ/ó1ˆDð ×Ñ˜zÔ*Ø×!Ñ! $Ô'àÐr±   rÁ   )rÝ   rÞ   rß   rà   rÆ   r  r   r  r)  r%  r&  rá   râ   s   @rŸ   r  r  ®  s/   ø„ ñõò
Yò-òCòNòö@(r±   r  c            	       ó   ‡— e Zd Zg ej                  ¢Zej                  eD � ��cg c]  ^}}|‘Œ c}}} j                  d«      dz   d«       dd„Zd„ Zd„ Z	d„ Z
ˆfd„Zˆfd	„Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZˆxZS c c}}} w )ÚNavigationToolbar2QTÚSubplotsr   )Ú	Customizez%Edit axis, curve and image parametersÚqt4_editor_optionsÚedit_parametersc                 ó  — t         j                  j                  | |«       | j                  t        j
                  j                  t        t        j
                  j                  j                  «      t        t        j
                  j                  j                  «      z  «      «       || _
        i | _        d| _        | j                  D ]Ë  \  }}}}|€| j                  «        Œt        | |«      } t!        j"                  |«      t!        j$                  |«      «      } t	        j&                  «       |«      }| j)                  | j+                  |dz   «      ||«      }	|	| j                  |<   |dv r|	j-                  d«       |€Œ»|	j/                  |«       ŒÍ | j                  �rKt        j0                  d| «      | _        | j2                  j5                  t        j
                  j7                  t        t        j
                  j6                  j8                  «      t        t        j
                  j6                  j:                  «      z  «      «       | j2                  j=                  t        j>                  t         j>                  j@                  jB                  t         j>                  j@                  jD                  «      «       | jG                  | j2                  «      }
|
jI                  d«       tK        j                  | |«       y)z9coordinates: should we show the coordinates on the right?Nz.png)ÚzoomÚpanTÚ )&r   ÚQToolBarrÆ   ÚsetAllowedAreasr   r‰   ÚToolBarArear   ÚTopToolBarAreaÚBottomToolBarAreaÚcoordinatesÚ_actionsÚ_subplot_dialogÚ	toolitemsÚaddSeparatorr¥  Ú	functoolsÚwrapsÚpartialrÖ  Ú	addActionÚ_iconÚsetCheckableÚ
setToolTipÚQLabelÚlocLabelÚsetAlignmentÚAlignmentFlagÚ
AlignRightÚAlignVCenterÚsetSizePolicyÚQSizePolicyÚPolicyÚ	ExpandingÚIgnoredÚ	addWidgetÚ
setVisibler
   )rÈ   ré  Úparentr_  ÚtextÚtooltip_textÚ
image_fileÚcallbackÚslotÚaÚlabelActions              rŸ   rÆ   zNavigationToolbar2QT.__init__(  s<  € ä×Ñ×#Ñ# D¨&Ô1Ø×ÑœVŸY™Y×2Ñ2Ü”F—I‘I×)Ñ)×8Ñ8Ó9Ü”F—I‘I×)Ñ)×;Ñ;Ó<ñ=ó>ô 	?ð 'ˆÔØˆŒØ#ˆÔà8<¿¹ò 	/Ñ4ˆD�, 
¨HØˆ|Ø×!Ñ!Õ#ä˜t XÓ.�à,”y—‘ tÓ,¬Y×->Ñ->¸tÓ-DÓE�Ø$”v—{‘{“} TÓ*�à—N‘N 4§:¡:¨j¸6Ñ.AÓ#BØ#'¨ó/�à*+�—‘˜hÑ'Ø˜Ñ.Ø—N‘N 4Ô(ØÑ+Ø—L‘L Õ.ð	/ð( ×ÓÜ%×,Ñ,¨R°Ó6ˆDŒMØ�M‰M×&Ñ&¤v§y¡y×'>Ñ'>ÜœŸ	™	×/Ñ/×:Ñ:Ó;ÜœŸ	™	×/Ñ/×<Ñ<Ó=ñ>ó(?ô @ð �M‰M×'Ñ'¬	×(=Ñ(=Ü×%Ñ%×,Ñ,×6Ñ6Ü×%Ñ%×,Ñ,×4Ñ4ó)ô ð Ÿ.™.¨¯©Ó7ˆKØ×"Ñ" 4Ô(ä×#Ñ# D¨&Õ1r±   c                 óp   — t        j                  d|«      }t        || «      }t        j                  |«      S )zÌ
        Construct a `.QIcon` from an image file *name*, including the extension
        and relative to Matplotlib's "images" data directory.

        Uses _IconEngine for automatic DPI scaling.
        Úimages)r   r‘   r  r   r’   )rÈ   ÚnameÚpath_regularÚengines       rŸ   rh  zNavigationToolbar2QT._iconU  s3   € ô ×+Ñ+¨H°dÓ;ˆô ˜\¨4Ó0ˆÜ�{‰{˜6Ó"Ð"r±   c                 óâ  — | j                   j                  j                  «       }|s:t        j                  j                  | j                   j                  «       dd«       y t        |«      dk(  r|\  }�n[|D �cg c]   }|j                  «       xsŒ |j                  «       xsz |j                  d«      xsg |j                  d«      xsT dj                  t        d |j                  «       |j                  «       g«      «      xs dt        |«      j                  › d�‘Œ¢ }}|D �cg c]  }|j!                  |«      dkD  sŒ|‘Œ }}t#        |«      D ](  \  }}||   |v sŒ||xx   d	t%        |«      d
›d�z  cc<   Œ* t        j&                  j)                  | j                   j                  «       dd|dd«      \  }}|sy ||j+                  |«         }t-        j.                  || «       y c c}w c c}w )NÚErrorzThere are no Axes to edit.r   r7   r;   z - z<anonymous ú>z (id: z#xú)rS  zSelect Axes:r   F)ré  rð   Úget_axesr   ÚQMessageBoxÚwarningrx  ÚlenÚ	get_labelÚ	get_titler�  ÚfilterÚ
get_xlabelÚ
get_ylabelr  rÝ   ÚcountÚ	enumerateÚidÚQInputDialogÚgetItemÚindexÚfigureoptionsÚfigure_edit)	rÈ   ÚaxesÚaxÚtitlesr  Úduplicate_titlesÚiÚitemÚoks	            rŸ   rU  z$NavigationToolbar2QT.edit_parametersd  sá  € Ø�{‰{×!Ñ!×*Ñ*Ó,ˆÙÜ×!Ñ!×)Ñ)Ø—‘×"Ñ"Ó$ gÐ/KôMàÜ�‹Y˜!Š^Ø‰CŠBð ö ð ð —‘“ò 3Ø—‘“ò3à—‘˜VÓ$ò3ð —‘˜WÓ%ò3ð —
‘
œ6 $¨¯©«¸"¿-¹-»/Ð(JÓKÓLò	3ð
 œd 2›h×/Ñ/Ð0°Ð2ñ3ð ˆFð  ð $*ö FØ¨V¯\©\¸%Ó-@À1Ó-D’ð FÐð  Fä" 4›ò 7‘��2Ø˜!‘9Ð 0Ò0Ø˜1“I 6¬"¨R«&°¨°AÐ!6Ñ6”Ið7ô !×-Ñ-×5Ñ5Ø—‘×"Ñ"Ó$Ø˜^¨V°Q¸ó?‰HˆD�"ñ ØØ�f—l‘l 4Ó(Ñ)ˆBÜ×!Ñ! " dÕ+ùò' ùò Fs   Á9B%G'Ä$G,Ä>G,c                 ó  — d| j                   v r5| j                   d   j                  | j                  j                  dk(  «       d| j                   v r6| j                   d   j                  | j                  j                  dk(  «       y y )NrX  ÚPANrW  ÚZOOM)r`  Ú
setCheckedr  r‚  rÎ   s    rŸ   Ú_update_buttons_checkedz,NavigationToolbar2QT._update_buttons_checked‚  sg   € à�D—M‘MÑ!Ø�M‰M˜%Ñ ×+Ñ+¨D¯I©I¯N©N¸eÑ,CÔDØ�T—]‘]Ñ"Ø�M‰M˜&Ñ!×,Ñ,¨T¯Y©Y¯^©^¸vÑ-EÕFð #r±   c                 ó>   •— t        ‰| �  |Ž  | j                  «        y rÁ   )rg   rX  r¥  r	  s     €rŸ   rX  zNavigationToolbar2QT.pan‰  s   ø€ Ü‰‰�TÑØ×$Ñ$Õ&r±   c                 ó>   •— t        ‰| �  |Ž  | j                  «        y rÁ   )rg   rW  r¥  r	  s     €rŸ   rW  zNavigationToolbar2QT.zoom�  s   ø€ Ü‰‰�dÑØ×$Ñ$Õ&r±   c                 óT   — | j                   r| j                  j                  |«       y y rÁ   )r_  rl  ÚsetText©rÈ   Úss     rŸ   Úset_messagez NavigationToolbar2QT.set_message‘  s"   € Ø×ÒØ�M‰M×!Ñ! !Õ$ð r±   c                 óð   — | j                   j                  j                  j                  }||z
  }||z
  }||||z
  ||z
  fD �cg c]  }t	        |«      ‘Œ }}| j                   j                  |«       y c c}w rÁ   )ré  rð   r1  r2  r  rÌ  )	rÈ   r
  rÇ  rÉ  rÈ  rÊ  r2  Úvalr¯  s	            rŸ   Údraw_rubberbandz$NavigationToolbar2QT.draw_rubberband•  so   € Ø—‘×#Ñ#×(Ñ(×/Ñ/ˆØ�b‰[ˆØ�b‰[ˆØ%'¨¨R°"©W°b¸2±gÐ$>Ö?˜S”�C•Ð?ˆÐ?Ø�‰×!Ñ! $Õ'ùò @s   ÁA3c                 ó:   — | j                   j                  d «       y rÁ   )ré  rÌ  rÎ   s    rŸ   Úremove_rubberbandz&NavigationToolbar2QT.remove_rubberbandœ  s   € Ø�‰×!Ñ! $Õ'r±   c                 óŠ  ‡ — ‰ j                   €\t        ‰ j                  j                  ‰ j                  j	                  «       «      ‰ _         ‰ j                  j                  dˆ fd„«       ‰ j                   j                  «        ‰ j                   j                  d«       ‰ j                   j                  «        ‰ j                   S )Nrû  c                 ó8   •— ‰j                   j                  «       S rÁ   )ra  Úreject)ÚerÈ   s    €rŸ   ré   z9NavigationToolbar2QT.configure_subplots.<locals>.<lambda>¤  s   ø€ ¨×)=Ñ)=×)DÑ)DÓ)F€ r±   T)	ra  ÚSubplotToolQtré  rð   rx  Úmpl_connectÚupdate_from_current_subplotparsÚsetModalrë  rÎ   s   `rŸ   Úconfigure_subplotsz'NavigationToolbar2QT.configure_subplotsŸ  s•   ø€ Ø×ÑÐ'Ü#0Ø—‘×"Ñ" D§K¡K×$6Ñ$6Ó$8ó$:ˆDÔ à�K‰K×#Ñ#ØÓFôHà×Ñ×<Ñ<Ô>Ø×Ñ×%Ñ% dÔ+Ø×Ñ×!Ñ!Ô#Ø×#Ñ#Ð#r±   c                 ó‚  — | j                   j                  «       }t        |j                  «       «      }| j                   j	                  «       }t
        j                  j                  t        j                  d   «      }t
        j                  j                  || j                   j                  «       «      }g }d }|D ]F  \  }	}
dj                  |
D �cg c]  }d|z  ‘Œ	 c}«      }|	› d|› d�}||
v r|}|j                  |«       ŒH dj                  |«      }t        j                  j                  | j                   j!                  «       d|||«      \  }}|r]|dk7  r0t
        j                  j#                  |«      t        j                  d<   	 | j                   j$                  j'                  |«       |S |S c c}w # t(        $ r{}t        j*                  j-                  | d	t/        |«      t        j*                  j0                  j2                  t        j*                  j0                  j4                  «       Y d }~|S d }~ww xY w)
Nzsavefig.directoryú z*.%sz (rˆ  z;;zChoose a filename to save torY  zError saving file)ré  Úget_supported_filetypes_groupedÚsortedr  Úget_default_filetypeÚosÚpathÚ
expanduserr   r  r�  Úget_default_filenameÚappendr   ÚQFileDialogÚgetSaveFileNamerx  Údirnamerð   Úsavefigr¶  rŠ  Úcriticalr�   ÚStandardButtonÚOkÚNoButton)rÈ   rÉ   Ú	filetypesÚsorted_filetypesÚdefault_filetypeÚ	startpathrÙ   ÚfiltersÚselectedFilterr‚  ÚextsÚextÚ	exts_listr�  Úfnamerµ  s                   rŸ   Úsave_figurez NavigationToolbar2QT.save_figureª  sä  € Ø—K‘K×?Ñ?ÓAˆ	Ü! )§/¡/Ó"3Ó4ÐØŸ;™;×;Ñ;Ó=Ðä—G‘G×&Ñ&¤s§|¡|Ð4GÑ'HÓIˆ	Ü—‘—‘˜Y¨¯©×(HÑ(HÓ(JÓKˆØˆØˆØ*ò 	#‰JˆD�$ØŸ™¸$Ö!?°3 &¨3£,Ò!?Ó@ˆIØ�v˜R 	˜{¨!Ð,ˆFØ 4Ñ'Ø!'�Ø�N‰N˜6Õ"ð	#ð —)‘)˜GÓ$ˆä!×-Ñ-×=Ñ=Ø�K‰K×ÑÓ Ð"@À%Ø�^ó%‰ˆˆvñ à˜BŠÜ46·G±G·O±OÀEÓ4J”—‘Ð0Ñ1ðCØ—‘×"Ñ"×*Ñ*¨5Ô1ð ˆˆuˆùò+ "@øô  ò CÜ×%Ñ%×.Ñ.ØÐ-¬s°1«vÜ×)Ñ)×8Ñ8×;Ñ;Ü×)Ñ)×8Ñ8×AÑA÷Cð Cð ˆûðCús   ÃF5
Æ%F: Æ:	H>ÇA0H9È9H>c                 óF  — | j                   j                  dkD  }| j                   j                  t        | j                   «      dz
  k  }d| j                  v r| j                  d   j	                  |«       d| j                  v r| j                  d   j	                  |«       y y )Nr   r   Úbackrl  )Ú
_nav_stackÚ_posrŒ  r`  Ú
setEnabled)rÈ   Úcan_backwardÚcan_forwards      rŸ   Úset_history_buttonsz(NavigationToolbar2QT.set_history_buttonsË  sƒ   € Ø—‘×+Ñ+¨aÑ/ˆØ—o‘o×*Ñ*¬S°·±Ó-AÀAÑ-EÑEˆØ�T—]‘]Ñ"Ø�M‰M˜&Ñ!×,Ñ,¨\Ô:Ø˜Ÿ™Ñ%Ø�M‰M˜)Ñ$×/Ñ/°Õ<ð &r±   r  )rÝ   rÞ   rß   r
   rb  r)   r—  rÆ   rh  rU  r¥  rX  rW  r¬  r¯  r±  rº  r×  rß  rá   )r  r‚  rœ  rË   s   000@rŸ   rQ  rQ     s‘   ø„ Ø/Ð$×.Ñ.Ð/€IØ×Ñà'×(Ð(�(�$˜ŠÔ(×.Ñ.¨zÓ:¸QÑ>ð	2ô3ó+2òZ#ò,ò<Gô'ô'ò%ò(ò(ò	$òöB=ùôO 	)s   ¥A9rQ  c                   ó<   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZ	S )r¶  c           	      ó  •— t         ‰| �  |«       | j                  t        j                  t        t        j                  d«      «      «      «       | j                  d«       i | _	        t        j                  «       }| j                  |«       dg d¢d| j                  fgfdddgd	| j                  fd
| j                  fd| j                   fgffD �]�  \  }}}t        j"                  «       }|j%                  |«       t        j&                  |«      }|j)                  |«       t        j*                  |«      }	|D ]¡  }
t        j,                  «       x| j                  |
<   }|j/                  dd«       |j1                  d«       |j3                  d«       |j5                  d«       |j6                  j9                  | j:                  «       |	j=                  |
|«       Œ£ |j?                  d«       |D ]m  \  }
}t        j@                  |
«      }|jC                  d«       |jD                  j9                  |«       |j)                  |«       |
dk(  sŒ^|jG                  «        Œo �Œ“ || _$        i | _%        d | _&        | jO                  «        y )Nzimages/matplotlib.pngÚSubplotToolÚBorders)ÚtopÚbottomr7   r;   zExport valuesÚSpacingsÚhspaceÚwspacezTight layoutÚResetÚCloser   r   r½  g{®Gázt?F)(rg   rÆ   r“   r   r’   r�   r   r‘   ÚsetObjectNameÚ
_spinboxesr   ÚQHBoxLayoutÚ	setLayoutÚ_export_valuesÚ_tight_layoutÚ_resetr  ÚQVBoxLayoutÚ	addLayoutÚ	QGroupBoxrv  ÚQFormLayoutÚQDoubleSpinBoxÚsetRangeÚsetDecimalsÚsetSingleStepÚsetKeyboardTrackingÚvalueChangedr®   Ú_on_value_changedÚaddRowÚ
addStretchÚQPushButtonÚsetAutoDefaultÚclickedrï  Ú_figureÚ	_defaultsÚ_export_values_dialogr¸  )rÈ   Ú	targetfigrx  Úmain_layoutÚgroupÚ	spinboxesrP  ÚlayoutÚboxÚinnerr‚  ÚspinboxÚmethodrH  rË   s                 €rŸ   rÆ   zSubplotToolQt.__init__Õ  sN  ø€ Ü‰Ñ˜Ô Ø×Ñœ5Ÿ;™;Ü”×$Ñ$Ð%<Ó=Ó>ó@ô 	Aà×Ñ˜=Ô)ØˆŒÜ×+Ñ+Ó-ˆØ�‰�{Ô#àÚ3Ø" D×$7Ñ$7Ð8Ð9ð;ð Ø˜HÐ%Ø! 4×#5Ñ#5Ð6Ø˜DŸK™KÐ(Ø˜DŸJ™JÐ'ð)ð*ð	*+ó 	&Ñ%ˆE�9˜gô ×*Ñ*Ó,ˆFØ×!Ñ! &Ô)Ü×%Ñ% eÓ,ˆCØ×Ñ˜SÔ!Ü×)Ñ)¨#Ó.ˆEØ!ò ,�Ü2;×2JÑ2JÓ2LÐL�—‘ Ñ%¨Ø× Ñ   AÔ&Ø×#Ñ# AÔ&Ø×%Ñ% eÔ,Ø×+Ñ+¨EÔ2Ø×$Ñ$×,Ñ,¨T×-CÑ-CÔDØ—‘˜T 7Õ+ð,ð ×Ñ˜aÔ Ø 'ò &‘��fÜ"×.Ñ.¨tÓ4�à×%Ñ% eÔ,Ø—‘×&Ñ& vÔ.Ø× Ñ  Ô(Ø˜7“?Ø—O‘OÕ%ò&ð/	&ð> !ˆŒØˆŒØ%)ˆÔ"Ø×,Ñ,Õ.r±   c           	      óÒ   — | j                   j                  «       D ��ci c]&  \  }}|t        | j                  j                  |«      “Œ( c}}| _        | j                  «        y c c}}w rÁ   )rì  r  r¥  r  Úsubplotparsr  rñ  )rÈ   r‚  r  s      rŸ   r¸  z-SubplotToolQt.update_from_current_subplotpars  sT   € à/3¯©×/DÑ/DÓ/F÷HÙ+˜d Gð "¤7¨4¯<©<×+CÑ+CÀTÓ#JÑJó HˆŒà�‰�ùóHs   ž+A#c                 óÒ  — t        j                  «       | _        t        j                  «       }| j                  j	                  |«       t        j
                  «       }|j                  d«       |j                  |«       |j                  dj                  d„ | j                  j                  «       D «       «      «       |j                  «       }|j                  t        j                  |j!                  «       j#                  «       «      j%                  d|j'                  «       «      j)                  «       dz   «       |j+                  |«       | j                  j-                  «        y )NTz,
c              3   óN   K  — | ]  \  }}|› d |j                  «       d›�–— Œ y­w)ú=z.3N)r  )r  Úattrr  s      rŸ   r  z/SubplotToolQt._export_values.<locals>.<genexpr>  s2   è ø€ ò EÙ(˜4 ð ˜˜q §¡£°Ð 4Ô5ñ Eùs   ‚#%r   é   )r   ÚQDialogr  rò  rî  ÚQPlainTextEditÚsetReadOnlyrv  ÚsetPlainTextr�  rì  r  ÚmaximumSizeÚ	setHeightr   ÚQFontMetricsÚdocumentÚdefaultFontr  ÚtoPlainTextr2  ÚsetMaximumSizerë  )rÈ   r	  ry  r  s       rŸ   rï  zSubplotToolQt._export_values  s  € ô &/×%6Ñ%6Ó%8ˆÔ"Ü×&Ñ&Ó(ˆØ×"Ñ"×,Ñ,¨VÔ4Ü×'Ñ'Ó)ˆØ×Ñ˜ÔØ×Ñ˜ÔØ×ÑØ�J‰Jñ EØ,0¯O©O×,AÑ,AÓ,CôEó Eô	Fð
 ×ÑÓ!ˆØ�‰Ü×Ñ˜tŸ}™}›×:Ñ:Ó<Ó=ß‰T�!�T×%Ñ%Ó'Ó(¯©«°Bñ7ô	8ð 	×Ñ˜DÔ!Ø×"Ñ"×'Ñ'Õ)r±   c                 ó¼  — | j                   }dD ]U  \  }}||   j                  ||   j                  «       dz   «       ||   j                  ||   j                  «       dz
  «       ŒW  | j                  j
                  di |j                  «       D ��ci c]  \  }}||j                  «       “Œ c}}¤Ž | j                  j                  j                  «        y c c}}w )N))rå  rä  )r7   r;   gü©ñÒMbP?rò   )	rì  Ú
setMinimumr  Ú
setMaximumr  Úsubplots_adjustr  ré  rr  )rÈ   r  r�  Úhigherr  r  s         rŸ   rü  zSubplotToolQt._on_value_changed  sÉ   € Ø—O‘Oˆ	àCò 	J‰MˆE�6Ø�fÑ×(Ñ(¨°5Ñ)9×)?Ñ)?Ó)AÀDÑ)HÔIØ�eÑ×'Ñ'¨	°&Ñ(9×(?Ñ(?Ó(AÀDÑ(HÕIð	Jð 	%ˆ�‰×$Ñ$ñ 	NØ:C¿/¹/Ó:K×L©¨¨wˆt�W—]‘]“_Ñ$ÓLò	Nà�‰×Ñ×%Ñ%Õ'ùó Ms   ÂCc                 óf  — | j                   j                  «        | j                  j                  «       D ]V  \  }}|j	                  d«       |j                  t        | j                   j                  |«      «       |j	                  d«       ŒX | j                   j                  j                  «        y )NTF)
r  Útight_layoutrì  r  ÚblockSignalsÚsetValuer¥  r  ré  rr  )rÈ   r  r  s      rŸ   rð  zSubplotToolQt._tight_layout%  s…   € Ø�‰×!Ñ!Ô#Ø!Ÿ_™_×2Ñ2Ó4ò 	(‰MˆD�'Ø× Ñ  Ô&Ø×ÑœW T§\¡\×%=Ñ%=¸tÓDÔEØ× Ñ  Õ'ð	(ð 	�‰×Ñ×%Ñ%Õ'r±   c                 óò   — | j                   j                  «       D ]J  \  }}|j                  dd«       |j                  d«       |j	                  |«       |j                  d«       ŒL | j                  «        y )Nr   r   TF)r  r  r÷  r'  r(  rü  )rÈ   r  r  s      rŸ   rñ  zSubplotToolQt._reset-  sj   € Ø"Ÿn™n×2Ñ2Ó4ò 	(‰NˆG�UØ×Ñ˜Q Ô"Ø× Ñ  Ô&Ø×Ñ˜UÔ#Ø× Ñ  Õ'ð		(ð
 	×ÑÕ r±   )
rÝ   rÞ   rß   rÆ   r¸  rï  rü  rð  rñ  rá   râ   s   @rŸ   r¶  r¶  Ô  s"   ø„ ô*/òXò
*ò*(ò(ö!r±   r¶  c                   ó2   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zy)	Ú	ToolbarQtNc                 óÐ  — t        j                  | |«       t        j                  j                  | |«       | j	                  t
        j                  j                  t        t
        j                  j                  j                  «      t        t
        j                  j                  j                  «      z  «      «       t        j                  d«      }|j                  t
        j                  j                  t        t
        j                  j                  j                  «      t        t
        j                  j                  j                  «      z  «      «       |j!                  t        j"                  t        j"                  j$                  j&                  t        j"                  j$                  j(                  «      «       | j+                  |«      | _        i | _        i | _        y )NrY  )r   rÆ   r   rZ  r[  r   r‰   r\  r   r]  r^  rk  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  Ú_message_actionÚ
_toolitemsÚ_groups)rÈ   Útoolmanagerrx  Úmessage_labels       rŸ   rÆ   zToolbarQt.__init__7  sJ  € Ü×"Ñ" 4¨Ô5Ü×Ñ×#Ñ# D¨&Ô1Ø×ÑœVŸY™Y×2Ñ2Ü”F—I‘I×)Ñ)×8Ñ8Ó9Ü”F—I‘I×)Ñ)×;Ñ;Ó<ñ=ó>ô 	?ô "×(Ñ(¨Ó,ˆØ×"Ñ"¤6§9¡9×#:Ñ#:Ü”F—I‘I×+Ñ+×6Ñ6Ó7Ü”F—I‘I×+Ñ+×8Ñ8Ó9ñ:ó$;ô 	<ð 	×#Ñ#¤I×$9Ñ$9Ü×!Ñ!×(Ñ(×2Ñ2Ü×!Ñ!×(Ñ(×0Ñ0ó%
ô 	ð  $Ÿ~™~¨mÓ<ˆÔØˆŒØˆ�r±   c                 ó  ‡ ‡— t        j                  ‰ «      }|r%|j                  t        j	                  ‰ |«      «       |j                  ‰«       |r|j                  |«       ˆˆ fd„}|r-|j                  d«       |j                  j                  |«       n|j                  j                  |«       ‰ j                  j                  ‰g «       ‰ j                  |‰||«       ‰ j                  ‰   j                  ||f«       y )Nc                  ó(   •— ‰j                  ‰ «       y rÁ   )Útrigger_tool)r‚  rÈ   s   €€rŸ   Úhandlerz'ToolbarQt.add_toolitem.<locals>.handlerS  s   ø€ Ø×Ñ˜dÕ#r±   T)r   ÚQToolButtonÚsetIconrQ  rh  r©  rj  ri  Útoggledr®   r  r.  Ú
setdefaultÚ_add_to_grouprÄ  )	rÈ   r‚  r  r-  r{  ÚdescriptionÚtogglerH  r5  s	   ``       rŸ   Úadd_toolitemzToolbarQt.add_toolitemI  sÍ   ù€ ô ×&Ñ& tÓ,ˆÙØ�N‰NÔ/×5Ñ5°d¸JÓGÔHØ�‰�tÔÙØ×Ñ˜kÔ*õ	$áØ×Ñ Ô%Ø�N‰N×"Ñ" 7Õ+à�N‰N×"Ñ" 7Ô+à�‰×"Ñ" 4¨Ô,Ø×Ñ˜5 $¨°Ô9Ø�‰˜Ñ×$Ñ$ f¨gÐ%6Õ7r±   c                 ó  — | j                   j                  |g «      }|s,| j                  | j                  «      }|j	                  |«       ||   }| j                  ||«      }|j                  ||«       || j                   |<   y rÁ   )r/  r…   ÚinsertSeparatorr-  rÄ  ÚinsertWidgetr)   )	rÈ   r  r‚  rH  r-  ÚgrÚsepÚbeforeÚwidgets	            rŸ   r:  zToolbarQt._add_to_group_  ss   € Ø�\‰\×Ñ˜e RÓ(ˆÙØ×&Ñ& t×';Ñ';Ó<ˆCØ�I‰I�cŒNØ�H‘ˆØ×"Ñ" 6¨6Ó2ˆØ
�	‰	�(˜FÔ#Ø ˆ�‰�UÒr±   c                 óÞ   — || j                   vry | j                   |   D ]L  \  }}|j                  j                  |«       |j                  |«       |j                  j	                  |«       ŒN y rÁ   )r.  r8  Ú
disconnectr¤  r®   )rÈ   r‚  r8  rH  r5  s        rŸ   Útoggle_toolitemzToolbarQt.toggle_toolitemi  s_   € Ø�t—‘Ñ&ØØ#Ÿ™¨tÑ4ò 	,‰OˆF�GØ�N‰N×%Ñ% gÔ.Ø×Ñ˜gÔ&Ø�N‰N×"Ñ" 7Õ+ñ	,r±   c                 ón   — | j                   j                  |g «      D ]  \  }}|j                  d «       Œ y rÁ   )r.  ÚpopÚ	setParent)rÈ   r‚  rH  r5  s       rŸ   Úremove_toolitemzToolbarQt.remove_toolitemq  s4   € Ø#Ÿ™×2Ñ2°4¸Ó<ò 	#‰OˆF�GØ×Ñ˜TÕ"ñ	#r±   c                 óX   — | j                  | j                  «      j                  |«       y rÁ   )ÚwidgetForActionr-  r©  rª  s     rŸ   r¬  zToolbarQt.set_messageu  s!   € Ø×Ñ˜T×1Ñ1Ó2×:Ñ:¸1Õ=r±   rÁ   )	rÝ   rÞ   rß   rÆ   r=  r:  rG  rK  r¬  rò   r±   rŸ   r+  r+  6  s    „ óò$8ò,!ò,ò#ó>r±   r+  c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚConfigureSubplotsQtc                 ó2   •— t        ‰| �  |i |¤Ž d | _        y rÁ   )rg   rÆ   ra  rÇ   s      €rŸ   rÆ   zConfigureSubplotsQt.__init__{  s   ø€ Ü‰Ñ˜$Ð) &Ò)Ø#ˆÕr±   c                 ó.   — t         j                  | «       y rÁ   )rQ  rº  ©rÈ   rÉ   s     rŸ   ÚtriggerzConfigureSubplotsQt.trigger  s   € Ü×/Ñ/°Õ5r±   )rÝ   rÞ   rß   rÆ   rS  rá   râ   s   @rŸ   rO  rO  y  s   ø„ ô$ö6r±   rO  c                   ó   — e Zd Zd„ Zy)ÚSaveFigureQtc                 óJ   — t         j                  | j                  «       «       y rÁ   )rQ  r×  Ú"_make_classic_style_pseudo_toolbarrR  s     rŸ   rS  zSaveFigureQt.trigger…  s   € Ü×(Ñ(Ø×3Ñ3Ó5õ	7r±   N©rÝ   rÞ   rß   rS  rò   r±   rŸ   rU  rU  ƒ  s   „ ó7r±   rU  c                   ó   — e Zd Zd„ Zd„ Zy)ÚRubberbandQtc                 óT   — t         j                  | j                  «       d ||||«       y rÁ   )rQ  r¯  rW  )rÈ   rÇ  rÉ  rÈ  rÊ  s        rŸ   r¯  zRubberbandQt.draw_rubberbandŒ  s'   € Ü×,Ñ,Ø×3Ñ3Ó5°t¸RÀÀRÈõ	Mr±   c                 óJ   — t         j                  | j                  «       «       y rÁ   )rQ  r±  rW  rÎ   s    rŸ   r±  zRubberbandQt.remove_rubberband�  s   € Ü×.Ñ.Ø×3Ñ3Ó5õ	7r±   N)rÝ   rÞ   rß   r¯  r±  rò   r±   rŸ   rZ  rZ  Š  s   „ òMó7r±   rZ  c                   ó   — e Zd Zd„ Zy)ÚHelpQtc                 ób   — t         j                  j                  d d| j                  «       «       y )NÚHelp)r   rŠ  ÚinformationÚ_get_help_htmlrR  s     rŸ   rS  zHelpQt.trigger—  s#   € Ü×Ñ×)Ñ)¨$°¸×8KÑ8KÓ8MÕNr±   NrX  rò   r±   rŸ   r^  r^  •  s   „ óOr±   r^  c                   ó   — e Zd Zd„ Zy)ÚToolCopyToClipboardQTc                 ó®   — | j                   j                  «       }t        j                  j	                  «       j                  «       j                  |«       y rÁ   )ré  Úgrabr   r}   r~   Ú	clipboardÚ	setPixmap)rÈ   rÉ   rÊ   r  s       rŸ   rS  zToolCopyToClipboardQT.trigger�  s:   € Ø—‘×!Ñ!Ó#ˆÜ×Ñ×'Ñ'Ó)×3Ñ3Ó5×?Ñ?ÀÕGr±   NrX  rò   r±   rŸ   rd  rd  ›  s   „ óHr±   rd  c                   ó0   — e Zd ZeZeZeZej                  Z
y)Ú
_BackendQTN)rÝ   rÞ   rß   r   Úbackend_versionrä   ÚFigureCanvasrç   ÚFigureManagerr  Úmainlooprò   r±   rŸ   rj  rj  ¦  s   „ à!€OØ!€LØ#€MØ×.Ñ.�Hr±   rj  )Wrd  rÀ  rƒ   r·  r{   r   r   r   r   Úmatplotlib._pylab_helpersr   Úmatplotlib.backend_basesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Ú+matplotlib.backends.qt_editor.figureoptionsÚbackendsÚ	qt_editorr˜  rY  r   r   r   r   r   r   r   r   r   r�   r¥  r‰   ÚKeyr‡  ÚKeyboardModifierr†  ÚMOVEÚHANDÚPOINTERÚSELECT_REGIONÚWAITÚRESIZE_HORIZONTALÚRESIZE_VERTICALÚCursorShaper*  Ú	lru_cacher    r½   r¿   rq  rä   ÚQMainWindowrÜ  rç   ÚQIconEnginer  rZ  rQ  r  r¶  r+  Ú_register_tool_classÚConfigureSubplotsBaserO  ÚSaveFigureBaserU  ÚRubberbandBaserZ  ÚToolHelpBaser^  ÚToolCopyToClipboardBaserd  Ú_toolbar2_classÚ_toolmanager_toolbar_classÚexportrj  )rÙ  rÚ  r›   rf  s   0000rŸ   ú<module>rŠ     sú  ðÛ Û 	Û 
Û ã ß 1Ñ 1Ý )÷÷ ÷ ÷ ÷
 DÓ CÝ ÷O÷ Oó Oð'7Ø ð'7àð'7ð 	'ð'7ð 	 ð	'7ð
 	ð'7ð 	!ð'7ð 	!ð'7ð 	ð'7ð 	!ð'7ð 	ð'7ð 	ð'7ð 	ð'7ð 	ð'7ð 	ð'7ð 	ð'7ð  	ð!'7ð" 	!ð#'7ð$ 	%ð%'7ð& 	ð''7ð* 
 S§\¡\°XÒ%=™	À5ÐIð+'7ð, 
˜sŸ|™|¨xÒ7‘V¸YÐGð-'7ð. 	ð/'7ð0 	&ð1'7ð2 	ð3'7ð4 	ð5'7ð6 	ð7'7ð8 	ð9'7ð: 	ð;'7ð< 	ð='7ð> 	ð?'7ð@ 	ðA'7ðB 	ðC'7ðD 	ðE'7ðF 	ðG'7ðH 	ðI'7ðJ 	!ðK'7ðL 	!ñM'7÷)Ù.2¨a°�G‰G�F—I‘I—M‘M 1Ó%Ó&¨Ñ)ó)€ð`÷	ñ 	ˆˆSñ ‰W�V—Y‘Y×/Ñ/°Ó5Ó6Ù‰W�V—Y‘Y—]‘] CÓ(Ó)ò+ó	€ð 
�‰�Ð'Ø	�‰Ð+Ð,Ø	�‰˜-Ð(Ø	×	Ñ	 Ð.Ø	�‰�|Ð$Ø	×	"Ñ	" OÐ4Ø	×	 Ñ	  /Ð2ð6÷
Ù-1¨Q°€A�wˆv�y‰y×$Ñ$ aÓ(Ñ(ó
€ð €×Ñ�QÓñ6ó ð6òr"=ôJˆiô ô:WÐ% y×'8Ñ'8ô Wôt
"�×&Ñ&ô "ôq*Ð'ô q*ôho�%×#Ñ#ô oôdq=Ð-¨y×/AÑ/Aô q=ôh_!�I×%Ñ%ô _!ôD@>Ð! 9×#5Ñ#5ô @>ðF $€×#Ñ# NÓ3ô6˜-×=Ñ=ó 6ó 4ð6ð $€×#Ñ# NÓ3ô7�=×/Ñ/ó 7ó 4ð7ð $€×#Ñ# NÓ3ô7�=×/Ñ/ó 7ó 4ð7ð $€×#Ñ# NÓ3ôOˆ]×'Ñ'ó Oó 4ðOð
 $€×#Ñ# NÓ3ôH˜M×AÑAó Hó 4ðHð #7€Ô Ø-6€Ô *ð 
‡�ô/�ó /ó ñ/ùóc$)ùóZ	ùó
s   Ã!.N%ÄAN+Ç(N1