Ë
    ¨ehuX  ã                   óÊ  — d dl Z d dlmZmZ d dlmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlZd dlZdZd„ Zd	„ Zd
„ Zd„ Zej:                  j=                  d«      d„ «       Zd„ Z ej:                  jC                  dg d¢«      d„ «       Z"d„ Z#d„ Z$d„ Z%d„ Z&ej:                  jC                  dddg«      ej:                  jC                  dddg«      ej:                  jC                  ddejN                  dfdejP                  dfd ejN                  d!fd ejP                  d"fg«      d#„ «       «       «       Z)d$„ Z*d%„ Z+ej:                  jC                  d&d'd(d ejX                  d)e¬*«      g«      d+„ «       Z-ej:                  jC                  d,g d-¢«      d.„ «       Z.d/„ Z/d0„ Z0d1„ Z1ej:                  jC                  d2dd g«      ej:                  jC                  d3ejN                  ejP                  g«      ej:                  jC                  d4d5d6g«      ej:                  jC                  d7g d8¢«      ej:                  jC                  d9d:d;g«      d<„ «       «       «       «       «       Z2y)=é    N)ÚpathÚ
transforms)ÚFigureCanvasBaseÚKeyEventÚLocationEventÚMouseButtonÚ
MouseEventÚNavigationToolbar2ÚRendererBase)ÚRubberbandBase©ÚFigure)Úneeds_pgf_xelatexzƒTreat the new Tool classes introduced in v[0-9]*.[0-9]* as experimental for now; the API and rcParam may change in future versions.c            
      óö  — t        j                  «       } t        dd«      D �cg c]!  }t        j                  j                  |«      ‘Œ# }}t        dd«      D �cg c]/  }| j                  |«      j                  «       j                  «       ‘Œ1 }}t        j                  d«      j                  d«      }ddg}ddg}d	„ } || |||||«        || |d
d ||||«        || g ||||«        || ||d
d |||«        || |g |||«       t        d
|j                  d
   «      D ]  } || |||d
|…d d …f   ||«       Œ  || |||g |«        || ||||g «        || |||g g «        || ||||d
d |«       y c c}w c c}w )Né   é   é   é   é   )é
   é   ÚredÚgreenc                 óì  — t        «       }t        |j                  | ||«      «      }|j                  «       }|j	                  |t        t        |«      «      |t        j                  | «      ||g g dgg d«      D �	�
���cg c]
  \  }	}
}}}|‘Œ }}}}
}	}|j                  |||||«      }|rBt        j                  |t        |«      ¬«      }t        |«      j                  |dz
  |g«      sJ ‚y y c c}}}}
}	w )NFÚscreen)Ú	minlengthr   )r   ÚlistÚ_iter_collection_raw_pathsÚnew_gcÚ_iter_collectionÚrangeÚlenr   ÚAffineDeltaTransformÚ_iter_collection_uses_per_pathÚnpÚbincountÚsetÚissubset)Úmaster_transformÚpathsÚall_transformsÚoffsetsÚ
facecolorsÚ
edgecolorsÚrbÚ	raw_pathsÚgcÚxoÚyoÚpath_idÚgc0ÚrgbFaceÚidsÚusesÚseens                    úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_bases.pyÚcheckz!test_uses_per_path.<locals>.check   s÷   € ä‹^ˆÜ˜×6Ñ6Ø˜e ^ó5ó 6ˆ	à�Y‰Y‹[ˆà×"Ñ"Ø”uœS ›^Ó,¨gÜ×2Ñ2Ð3CÓDØ˜z¨2¨r°E°7Ø�xó	!÷"ò "Ñ8˜2˜r 7¨C°Šwð "ˆô "ð ×0Ñ0Ø�> 7¨J¸
óDˆáÜ—;‘;˜s¬c°)«nÔ=ˆDÜ�t“9×%Ñ% t¨a¡x°Ð&6Ô7Ð7Ñ7ð ùö"s   Á>C-r   )r   ÚAffine2Dr!   r   ÚPathÚunit_regular_polygonÚrotateÚ
get_matrixÚcopyr%   ÚarangeÚreshapeÚshape)	ÚidÚir*   Útforms_matricesr,   r-   r.   r;   Úns	            r:   Útest_uses_per_pathrI      sŸ  € Ü	×	Ñ	Ó	€BÜ8=¸aÀ»ÖD°1ŒT�Y‰Y×+Ñ+¨AÕ.ÐD€EÐDÜAFÀqÈ!ÃÖM¸A�r—y‘y “|×.Ñ.Ó0×5Ñ5Õ7ÐM€OÐMÜ�i‰i˜‹m×#Ñ# GÓ,€GØ˜Ð!€JØ˜Ð!€Jò8ñ$ 
ˆ"ˆe�_ g¨z¸:ÔFÙ	ˆ"ˆe�A�aˆj˜/¨7°JÀ
ÔKÙ	ˆ"ˆb�/ 7¨J¸
ÔCÙ	ˆ"ˆe�_ Q qÐ)¨7°JÀ
ÔKÙ	ˆ"ˆe�R˜ *¨jÔ9Ü�1�g—m‘m AÑ&Ó'ò &ˆÙˆb�%˜¨'°!°A°#²q°&©/Ø˜*õ	&ð&ñ 
ˆ"ˆe�_ g¨r°:Ô>Ù	ˆ"ˆe�_ g¨z¸2Ô>Ù	ˆ"ˆe�_ g¨r°2Ô6Ù	ˆ"ˆe�_ g¨z¸!¸A¨À
ÕKùòG EùÚMs   £&E1Á4E6c                  óL   — t        t        «       j                  t        «      sJ ‚y ©N)Ú
isinstancer   Úfigurer   © ó    r:   Útest_canvas_ctorrP   >   s   € ÜÔ&Ó(×/Ñ/´Ô8Ð8Ñ8rO   c                  óf   — t        j                  «       j                  j                  «       dk(  sJ ‚y )Nz	image.png)ÚpltrM   ÚcanvasÚget_default_filenamerN   rO   r:   Útest_get_default_filenamerU   B   s%   € Ü�:‰:‹<×Ñ×3Ñ3Ó5¸ÒDÐDÑDrO   c                  ó®   — t        j                  «       } t        | «      }t        j                  | «       t        j                  | j
                  «      rJ ‚y rK   )rR   rM   r   ÚcloseÚfignum_existsÚnumber)ÚfigrS   s     r:   Útest_canvas_changer[   F   s=   € Ü
�*‰*‹,€Cä˜cÓ"€Fä‡I�Iˆc„NÜ× Ñ  §¡Ô,Ð,Ð,Ð,rO   Úpdfc                 ó(  — t        j                  «        | j                  dd«       t        j                  t
        «      5 }t        j                  «        t        |«      dk(  sJ ‚dt        |d   j                  «      v sJ ‚	 d d d «       t        j                  t
        «      5 }t        j                  «       j                  «        t        |«      dk(  sJ ‚dt        |d   j                  «      v sJ ‚	 d d d «       y # 1 sw Y   Œ{xY w# 1 sw Y   y xY w)NÚDISPLAYz:999r   z<FigureCanvasPdf is non-interactive, and thus cannot be shownr   )rR   ÚsubplotsÚsetenvÚpytestÚwarnsÚUserWarningÚshowr"   ÚstrÚmessageÚgcf)ÚmonkeypatchÚrecs     r:   Útest_non_gui_warningrj   O   så   € ä‡L�L„Nà×Ñ�y &Ô)ä	�‰”kÓ	"ð ( cÜ�‰Œ
Ü�3‹x˜1Š}Ðˆ}ØNÜ�s˜1‘v—~‘~Ó&ñ'ð 	(ñ '÷(ô 
�‰”kÓ	"ð ( cÜ�‰‹	�‰ÔÜ�3‹x˜1Š}Ðˆ}ØNÜ�s˜1‘v—~‘~Ó&ñ'ð 	(ñ '÷(ð (÷(ð (ú÷(ð (ús   Á AC<Â#ADÃ<DÄDc                  óî   — t        j                  «       \  } }| j                  j                  |«       | j                  j                  |k(  sJ ‚| j                  «        | j                  j                  �J ‚y rK   )rR   r_   rS   Ú
grab_mouseÚmouse_grabberÚclear©rZ   Úaxs     r:   Útest_grab_clearrq   b   sZ   € Ü�l‰l‹n�G€Cˆà‡J�J×Ñ˜"ÔØ�:‰:×#Ñ# rÒ)Ð)Ð)à‡I�I„KØ�:‰:×#Ñ#Ð+Ð+Ñ+rO   zx, y))é*   é   )Nrr   )NN)éÈ   gq=
×£ Y@)g     ¸i@g       @c                 óL  — t        j                  «       \  }}t        |«      }t        d|| |«      }| €|j                  �8J ‚|j                  t        | «      k(  sJ ‚t        |j                  t
        «      sJ ‚|€|j                  �8J ‚|j                  t        |«      k(  sJ ‚t        |j                  t
        «      sJ ‚| �f|�c|j                  | |«      d|j                  | «      › d|j                  |«      › d�k(  sJ ‚d„ x|_        |_        |j                  | |«      dk(  sJ ‚y y y )NÚ
test_eventz
(x, y) = (z, ú)c                  ó   — y)NÚfoorN   )Úxs    r:   ú<lambda>z.test_location_event_position.<locals>.<lambda>€   s   � rO   z(x, y) = (foo, foo))rR   r_   r   r   rz   ÚintrL   ÚyÚformat_coordÚformat_xdataÚformat_ydataÚ	fmt_xdataÚ	fmt_ydata)rz   r}   rZ   rp   rS   Úevents         r:   Útest_location_event_positionr„   l   s%  € ô �l‰l‹n�G€CˆÜ˜cÓ"€FÜ˜,¨°°1Ó5€EØ€yØ�w‰wˆÐˆà�w‰wœ#˜a›&Ò Ð Ð Ü˜%Ÿ'™'¤3Ô'Ð'Ð'Ø€yØ�w‰wˆÐˆà�w‰wœ#˜a›&Ò Ð Ð Ü˜%Ÿ'™'¤3Ô'Ð'Ð'Ø€}˜˜Ø—‘  1Ó%Ø §¡°Ó 2Ð3°2°b·o±oÀaÓ6HÐ5IÈÐKòLð 	Mð Lá&5Ð5ˆŒ�r”|Ø�‰˜q !Ó$Ð(=Ò=Ð=Ñ=ð	 '€}rO   c                  ób  — t        j                  «       \  } }|j                  dd¬«       |j                  dd«      dk(  sJ ‚|j	                  «       j                  d¬«       |j                  dd«      dk(  sJ ‚|j                  «       j                  d	¬
«       |j                  dd«      dk(  sJ ‚y )N©r   r   )r   r   )ÚxlimÚylimg      @z(x, y) = (5.00, 5.00))r   é(   )rˆ   z$(x, y) = (5.00, 5.00) | (5.00, 10.0))r   r   )r‡   z3(x, y) = (5.00, 5.00) | (5.00, 10.0) | (2.50, 5.00))rR   r_   r'   r~   ÚtwinxÚtwinyro   s     r:   Ú!test_location_event_position_twinrŒ   „   s    € Ü�l‰l‹n�G€CˆØ‡F�F�˜g€FÔ&Ø�?‰?˜2˜rÓ"Ð&=Ò=Ð=Ð=Ø‡H�HƒJ‡N�N˜€NÔ Ø�?‰?˜2˜rÓ"Ð&LÒLÐLÐLØ‡H�HƒJ‡N�N˜€NÔØ�O‰O˜B Ó#ØDòEð Fñ ErO   c                  ó&  ‡— t        j                  «       } | j                  dddddd¬«       | j                  j	                  «        g Šˆfd„}| j                  j                  d|«       t        d| j                  d	«      j                  «        t        d
| j                  g| j                  j                  d«      ¢t        j                  ‘­Ž j                  «        t        d| j                  d	«      j                  «        t        ‰«      dk(  sJ ‚y )Nç      à?ÚhelloÚcenterT)ÚhaÚvaÚpickerc                 ó^   •— | j                   j                  dk(  sJ ‚‰j                  | «       y )NÚa)Ú
mouseeventÚkeyÚappend)rƒ   Úpickss    €r:   Úhandle_pickztest_pick.<locals>.handle_pick•   s)   ø€ Ø×Ñ×#Ñ# sÒ*Ð*Ð*Ø�‰�UÕrO   Ú
pick_eventÚkey_press_eventr•   Úbutton_press_event©rŽ   rŽ   Úkey_release_eventr   )rR   rM   ÚtextrS   ÚdrawÚmpl_connectr   Ú_processr	   ÚtransFigureÚ	transformr   ÚLEFTr"   )rZ   rš   r™   s     @r:   Ú	test_pickr§   �   sÕ   ø€ Ü
�*‰*‹,€CØ‡H�HˆR��W ¨h¸t€HÔDØ‡J�J‡O�OÔà€Eôð ‡J�J×Ñ˜<¨Ô5äÐ §
¡
¨CÓ0×9Ñ9Ô;ÜÐ# S§Z¡Zð !Ø—‘×)Ñ)¨(Ó3ð!ä×Ñò!ç!)¡¤ÜÐ  #§*¡*¨cÓ2×;Ñ;Ô=Üˆu‹:˜Š?Ð‰?rO   c                  ó†  — t        j                  «       \  } }|j                  d¬«       |j                  «       �J ‚t	        | j
                  «      }|j                  «        |j                  «       dk(  sJ ‚|j                  «       }|j                  «       }d}d}|j                  j                  |«      j                  t        «      }|j                  j                  |«      j                  t        «      }t        d| j
                  g|¢t        j                  ‘­Ž }	| j
                  j                   j#                  |	j$                  |	«       t        d| j
                  g|¢t        j                  ‘­Ž }
| j
                  j                   j#                  |
j$                  |
«       |j                  «       |	j&                  |
j&                  fk(  sJ ‚|j                  «       |	j(                  |
j(                  fk(  sJ ‚t        d| j
                  g|¢t        j*                  ‘­Ž }	| j
                  j                   j#                  |	j$                  |	«       t        d| j
                  g|¢t        j*                  ‘­Ž }
| j
                  j                   j#                  |
j$                  |
«       |j                  «       t-        j.                  |dd	¬
«      k(  sJ ‚|j                  «       t-        j.                  |dd	¬
«      k(  sJ ‚|j                  «        |j                  «       �J ‚|j1                  «       s|j3                  «       rJ ‚y )NÚlogit)ÚxscaleÚZOOM)g�íµ ÷Æ°>çš™™™™™¹?)gwJëÿï?çš™™™™™é?r�   Úbutton_release_eventr   g»½×Ùß|Û=)ÚrelÚabs)rR   r_   r'   Úget_navigate_moder
   rS   ÚzoomÚget_xlimÚget_ylimÚ	transDatar¥   Úastyper|   r	   r   r¦   Ú	callbacksÚprocessÚnameÚxdataÚydataÚRIGHTra   ÚapproxÚget_autoscalex_onÚget_autoscaley_on)rZ   rp   ÚtbÚxlim0Úylim0Úd0Úd1Ús0Ús1Ústart_eventÚ
stop_events              r:   Útest_interactive_zoomrÉ   ¢   s¾  € Ü�l‰l‹n�G€CˆØ‡F�F�'€FÔØ×ÑÓ!Ð)Ð)Ð)ä	˜CŸJ™JÓ	'€BØ‡G�G„IØ×ÑÓ! VÒ+Ð+Ð+à�K‰K‹M€EØ�K‰K‹M€Eð 
€BØ	€Bð 
�‰×	Ñ	 Ó	#×	*Ñ	*¬3Ó	/€BØ	�‰×	Ñ	 Ó	#×	*Ñ	*¬3Ó	/€Bô Ø˜cŸj™jðAØ+-ðAÜ/:×/?Ñ/?òA€Kà‡J�J×Ñ× Ñ  ×!1Ñ!1°;Ô?ÜØ §
¡
ðCØ-/ðCÜ1<×1AÑ1AòC€Jà‡J�J×Ñ× Ñ  §¡°*Ô=Ø�;‰;‹=˜[×.Ñ.°
×0@Ñ0@ÐAÒAÐAÐAØ�;‰;‹=˜[×.Ñ.°
×0@Ñ0@ÐAÒAÐAÐAô Ø˜cŸj™jðBØ+-ðBÜ/:×/@Ñ/@òB€Kà‡J�J×Ñ× Ñ  ×!1Ñ!1°;Ô?ÜØ §
¡
ðDØ-/ðDÜ1<×1BÑ1BòD€Jà‡J�J×Ñ× Ñ  §¡°*Ô=à�;‰;‹=œFŸM™M¨%°Q¸EÔBÒBÐBÐBØ�;‰;‹=œFŸM™M¨%°Q¸EÔBÒBÐBÐBà‡G�G„IØ×ÑÓ!Ð)Ð)Ð)à×#Ñ#Ô%¨b×.BÑ.BÔ.DÐDÐDÐ.DrO   c                  óF  — t        j                  «       \  } }|j                  ddgddg«       | j                  j	                  |«       t        | j                  «      }|j                  «        |j                  «       �J ‚|j                  «        |j                  «       �J ‚y )Nr   r   )	rR   r_   ÚplotrS   Ú
widgetlockr
   r²   r±   Úpan)rZ   rp   rÀ   s      r:   Útest_widgetlock_zoompanrÎ   Ò   sƒ   € Ü�l‰l‹n�G€CˆØ‡G�GˆQ�ˆF�Q˜�FÔØ‡J�J×Ñ˜"ÔÜ	˜CŸJ™JÓ	'€BØ‡G�G„IØ×ÑÓ!Ð)Ð)Ð)Ø‡F�F„HØ×ÑÓ!Ð)Ð)Ñ)rO   Ú	plot_funcÚimshowÚcontourfÚorientationÚverticalÚ
horizontalztool,button,expectedr²   ©é   é   )iìÿÿÿé   rÍ   )éþÿÿÿé   )g…ëQ¸…÷?g…ëQ¸@c                 ó€  — t        j                  «       \  }}t        j                  d«      j	                  d«      }d\  }}	 t        || «      |||	¬«      }
|j                  |
||¬«      }| dk(  r|j                  j                  «       rJ ‚y |j                  j                  «       sJ ‚d\  }}|df}|df}|d	k(  r|d d d
…   }|d d d
…   }|j                  j                  j                  |«      j                  t        «      }|j                  j                  j                  |«      j                  t        «      }t        d|j                  g|¢|‘­Ž }t        d|j                  g|¢|‘­Ž }t        |j                  «      }|dk(  rD|j!                  «        |j#                  |«       |j%                  |«       |j'                  |«       nC|j)                  «        |j+                  |«       |j-                  |«       |j/                  |«       |j0                  |j2                  ft5        j6                  |d¬«      k(  sJ ‚y )Né   )rÖ   r   r†   )ÚvminÚvmax)rp   rÒ   rÑ   rÕ   rŽ   rÓ   éÿÿÿÿr�   r®   r²   ç333333Ã?©r°   )rR   r_   r%   rB   rC   ÚgetattrÚcolorbarrp   Úget_navigaterµ   r¥   r¶   r|   r	   rS   r
   r²   Ú
press_zoomÚ	drag_zoomÚrelease_zoomrÍ   Ú	press_panÚdrag_panÚrelease_panrÝ   rÞ   ra   r½   )rÏ   rÒ   ÚtoolÚbuttonÚexpectedrZ   rp   ÚdataÚvmin0Úvmax0ÚcollÚcbrÝ   rÞ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÀ   s                        r:   Útest_interactive_colorbarró   Ý   s   € ô �l‰l‹n�G€CˆÜ�9‰9�R‹=× Ñ  Ó(€DØ�L€Eˆ5Ø!Œ7�2�yÓ! $¨U¸Ô?€Dà	�‰�d˜r¨{ˆÓ	;€BØ�JÒà—5‘5×%Ñ%Ô'Ð'Ð'Øà�5‰5×ÑÔÐÐð �J€Dˆ$ð
 �ˆ€BØ
�ˆ€Bà�jÒ Ø‘�"�‰XˆØ‘�"�‰Xˆð 
�‰�‰×	"Ñ	" 2Ó	&×	-Ñ	-¬cÓ	2€BØ	�‰�‰×	"Ñ	" 2Ó	&×	-Ñ	-¬cÓ	2€Bô Ø˜cŸj™jð7Ø+-ð7Ø/5ò7€KäØ §
¡
ð9Ø-/ð9Ø17ò9€Jô 
˜CŸJ™JÓ	'€BØˆv‚~Ø
�‰Œ	Ø
�‰�kÔ"Ø
�‰�ZÔ Ø
�‰˜
Õ#à
�‰ŒØ
�‰�[Ô!Ø
�‰�JÔØ
�‰�zÔ"ð �G‰G�R—W‘WÐ¤§¡¨x¸TÔ!BÒBÐBÑBrO   c                  ó  — t        j                  t        t        ¬«      5  dt        j
                  d<   d d d «       t	        j                  «       } | j                  «       }| j                  «       �J ‚|j                  j                  j                  j                  d«       | j                  «       dk(  sJ ‚|j                  j                  j                  j                  d«       | j                  «       dk(  sJ ‚y # 1 sw Y   ŒÈxY w)N©ÚmatchÚtoolmanagerÚtoolbarr²   r«   rÍ   ÚPAN)ra   rb   rc   Ú_EXPECTED_WARNING_TOOLMANAGERrR   ÚrcParamsÚgcaÚ
get_figurer±   rS   Úmanagerr÷   Útrigger_tool)rp   rZ   s     r:   Útest_toolbar_zoompanr     sÉ   € Ü	�‰”kÔ)FÔ	Gñ 0Ø"/Œ�‰�YÑ÷0ä	�‰‹€BØ
�-‰-‹/€CØ×ÑÓ!Ð)Ð)Ð)Ø‡J�J×Ñ×"Ñ"×/Ñ/°Ô7Ø×ÑÓ! VÒ+Ð+Ð+Ø‡J�J×Ñ×"Ñ"×/Ñ/°Ô6Ø×ÑÓ! UÒ*Ð*Ñ*÷0ð 0ús    C;Ã;Dc                  óV  — t        j                  «       \  } }|j                  t        d«      t        d«      «       t	        | j
                  «      }|j                  «        t        d| j
                  ddd«      j                  «        t        d| j
                  ddd«      j                  «        |j                  «       |j                  «       cxk(  rdk(  sJ ‚ J ‚t        d| j
                  ddd«      j                  «        t        d| j
                  ddd«      j                  «        |j                  «       |j                  «       cxk(  rdk(  sJ ‚ J ‚|j                  j                  dd	g«      \  }}t        d
| j
                  g|¢t        j                  ‘­Ž j                  «        t        d| j
                  g|¢t        j                  ‘­Ž j                  «        t        d| j
                  d«      j                  «        |j                  «       |j                  «       cxk(  rdk(  sJ ‚ J ‚t        d| j
                  ddd«      j                  «        t        d| j
                  ddd«      j                  «        |j                  «       |j                  «       cxk(  rdk(  sJ ‚ J ‚y )Né   rœ   Úkéd   Úl)r   r   r†   )r   r   )r   r   r�   r®   Úh)rR   r_   rË   r!   r
   rS   r²   r   r£   r³   r´   rµ   r¥   r	   r   r¦   )rZ   rp   rÀ   ÚstartÚstops        r:   Ú$test_toolbar_home_restores_autoscaler	  &  s  € Ü�l‰l‹n�G€CˆØ‡G�GŒE�"‹I”u˜R“yÔ!ä	˜CŸJ™JÓ	'€BØ‡G�G„Iô Ð §
¡
¨C°°cÓ:×CÑCÔEÜÐ §
¡
¨C°°cÓ:×CÑCÔEØ�;‰;‹=˜BŸK™K›MÔ4¨WÒ4Ð4Ñ4Ð4Ð4äÐ §
¡
¨C°°cÓ:×CÑCÔEÜÐ §
¡
¨C°°cÓ:×CÑCÔEØ�;‰;‹=˜BŸK™K›MÔ4¨WÒ4Ð4Ñ4Ð4Ð4ð —,‘,×(Ñ(¨&°&Ð)9Ó:�K€Eˆ4ÜÐ# S§Z¡ZÐJ°%ÐJ¼×9IÑ9IÒJ×SÑSÔUÜÐ% s§z¡zÐK°DÐK¼+×:JÑ:JÒK×TÑTÔVäÐ §
¡
¨CÓ0×9Ñ9Ô;à�;‰;‹=˜BŸK™K›MÔ4¨WÒ4Ð4Ñ4Ð4Ð4äÐ §
¡
¨C°°cÓ:×CÑCÔEÜÐ §
¡
¨C°°cÓ:×CÑCÔEØ�;‰;‹=˜BŸK™K›MÔ4¨WÒ4Ð4Ñ4Ð4Ñ4rO   ÚbackendÚsvgÚpsÚpgf)Úmarksc                 ó@  — ddl m} ddlm} t	        j
                  d| › �«      }|j                  } |d¬«      } ||«       |j                  dd«      } |d¬«      } ||«       |j                  dd«      }|j                  «       D �	cg c]  }	|	j                  «       ‘Œ }
}	|j                  j                  «        |j                  j                  «        |j                  «       D �	cg c]  }	|	j                  «       ‘Œ }}	|j                  «       D �	cg c]  }	|	j                  «       ‘Œ }}	t        |
|«      D ]  \  }}t        j                  ||d¬	«      sŒJ ‚ t        ||«      D ]'  \  }}t        j                  j                  ||d¬	«       Œ) y c c}	w c c}	w c c}	w )
Nr   r   )ÚFigureCanvaszmatplotlib.backends.backend_T)Úconstrained_layoutr   g{®Gázt?)Úatol)Úmatplotlib.figurer   Úmatplotlib.backends.backend_aggr  Ú	importlibÚimport_moduler_   ÚravelÚget_positionrS   r¡   Úzipr%   ÚallcloseÚtestingÚassert_allclose)r
  r   r  Útest_backendÚ
TestCanvasÚfig_testÚ	axes_testÚfig_aggÚaxes_aggrp   Úinit_posÚlayed_out_pos_testÚlayed_out_pos_aggÚinitÚplacedÚrefÚtests                    r:   Ú	test_drawr*  D  sr  € õ
 )Ý<Ü×*Ñ*Ð-IÈ'ÈÐ+SÓT€LØ×*Ñ*€JÙ¨Ô.€HÙˆxÔØ×!Ñ! ! QÓ'€Iñ ¨Ô-€Gá�ÔØ×Ñ  1Ó%€Hà,5¯O©OÓ,=Ö> b�—‘Õ!Ð>€HÐ>à‡O�O×ÑÔØ‡N�N×ÑÔà6?·o±oÓ6GÖH°˜"Ÿ/™/Õ+ÐHÐÐHØ5=·^±^Ó5EÖF¨r˜Ÿ™Õ*ÐFÐÐFä˜HÐ&8Ó9ò 9‰ˆˆfÜ—;‘;˜t V°%Ö8Ð8Ð8ð9ô Ð*Ð,>Ó?ò :‰	ˆˆTÜ
�
‰
×"Ñ" 3¨°5Ð"Õ9ñ:ùò ?ùò
 IùÚFs   Â	FÃ(FÄFz&key,mouseend,expectedxlim,expectedylim))N©çš™™™™™É?r,  ©gìQ¸…ë@g{®Gáú(@©gš™™™™™@gffffff'@)N)r,  rŽ   r-  ©r   é	   )N)rŽ   r,  r/  r.  )Nrž   r/  r/  )N©r­   ç      Ð?©gÃõ(\�ÂÀg…ëQ¸@©g      @g     €&@)N©r,  r2  r-  r4  )N)r­   ç333333ë?r3  ©g…ëQ¸	Àgq=
×£p@)N©r,  r6  r-  r7  )Úshift)r,  çš™™™™™Ù?r-  r/  )r9  ©r:  r,  r/  r.  )r9  r5  r-  r-  )r9  r1  r3  )gÃõ(\�Â@gq=
×£ð(@)r9  )r­   gÍÌÌÌÌÌì?©g¤p=
×£Àg¤p=
×£@r<  )r9  r8  r-  )gìQ¸…ëÀg
×£p=
@)rz   )r,  r¬   r-  r/  )r}   )r¬   r,  r/  r.  )Úcontrolr+  r-  r-  )r=  r;  ©gÃõ(\�Â@gq=
×£p'@r>  c                 óœ  — t        j                  «       \  }}|j                  t        j                  d«      «       |j                  «       sJ ‚|j                  d«       d}|j                  j                  |«      j                  t        «      }|j                  j                  |«      j                  t        «      }t        d|j                  g|¢­t        j                  | dœŽ}	t        d|j                  g|¢­t        j                  | dœŽ}
t        |j                  «      }|j!                  «        |j#                  |	«       |j%                  |
«       |j'                  |
«       t)        |j+                  «       «      t-        j.                  |d¬«      k(  sJ ‚t)        |j1                  «       «      t-        j.                  |d¬«      k(  sJ ‚y )	Nr   Úequalrž   r�   )rì   r—   r®   g{®Gáz”?rá   )rR   r_   rË   r%   rB   rä   Ú
set_aspectrµ   r¥   r¶   r|   r	   rS   r   r¦   r
   rÍ   rè   ré   rê   Útupler³   ra   r½   r´   )r—   ÚmouseendÚexpectedxlimÚexpectedylimrZ   rp   Ú
mousestartÚsstartÚsendrÇ   rÈ   rÀ   s               r:   Útest_interactive_panrI  f  sk  € ô, �l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹MÔØ�?‰?ÔÐÐà‡M�M�'Ôð €Jð �\‰\×#Ñ# JÓ/×6Ñ6´sÓ;€FØ�<‰<×!Ñ! (Ó+×2Ñ2´3Ó7€Dô Ø˜cŸj™jðØ+1ñÜ:E×:JÑ:JØò€Kô Ø §
¡
ðØ-1ñÜ:E×:JÑ:JØò€Jô 
˜CŸJ™JÓ	'€BØ‡F�F„HØ‡L�L�ÔØ‡K�K�
ÔØ‡N�N�:Ôä�—‘“Ó¤6§=¡=°À4Ô#HÒHÐHÐHÜ�—‘“Ó¤6§=¡=°À4Ô#HÒHÐHÑHrO   c                  ó®  — t        j                  t        t        ¬«      5  dt        j
                  d<   d d d «       t	        j                  «       } t        | j                  j                  j                  j                  «      }d| j                  j                  j                  j                  v sJ ‚| j                  j                  j                  j                  d«       t        | j                  j                  j                  j                  «      |dz
  k(  sJ ‚d| j                  j                  j                  j                  vsJ ‚y # 1 sw Y   �ŒxY w)Nrõ   r÷   rø   Úforwardr   )ra   rb   rc   rú   rR   rû   rg   r"   rS   rþ   r÷   ÚtoolsÚremove_tool)rZ   Úinitial_lens     r:   Útest_toolmanager_removerO  œ  sò   € Ü	�‰”kÔ)FÔ	Gñ 0Ø"/Œ�‰�YÑ÷0ä
�'‰'‹)€CÜ�c—j‘j×(Ñ(×4Ñ4×:Ñ:Ó;€KØ˜Ÿ
™
×*Ñ*×6Ñ6×<Ñ<Ñ<Ð<Ð<Ø‡J�J×Ñ×"Ñ"×.Ñ.¨yÔ9Üˆs�z‰z×!Ñ!×-Ñ-×3Ñ3Ó4¸Àa¹ÒGÐGÐGØ˜CŸJ™J×.Ñ.×:Ñ:×@Ñ@Ñ@Ð@Ñ@÷0ñ 0ús    E
Å
Ec                  ó’  — t        j                  t        t        ¬«      5  dt        j
                  d<   d d d «       t	        j                  «       } | j                  j                  j                  j                  d«      }t        |t        «      sJ ‚| j                  j                  j                  j                  |«      |u sJ ‚t        j                  t        d¬«      5  | j                  j                  j                  j                  d«      �J ‚	 d d d «       | j                  j                  j                  j                  dd¬«      �J ‚t        j                  t        d¬«      5  | j                  j                  j                  j                  d«      �J ‚	 d d d «       y # 1 sw Y   �ŒrxY w# 1 sw Y   Œ xY w# 1 sw Y   y xY w)	Nrõ   r÷   rø   Ú
rubberbandz'ToolManager does not control tool 'foo'ry   F)Úwarn)ra   rb   rc   rú   rR   rû   rg   rS   rþ   r÷   Úget_toolrL   r   rÿ   )rZ   rQ  s     r:   Útest_toolmanager_get_toolrT  §  sp  € Ü	�‰”kÔ)FÔ	Gñ 0Ø"/Œ�‰�YÑ÷0ä
�'‰'‹)€CØ—‘×#Ñ#×/Ñ/×8Ñ8¸ÓF€JÜ�j¤.Ô1Ð1Ð1Ø�:‰:×Ñ×)Ñ)×2Ñ2°:Ó>À*ÑLÐLÐLÜ	�‰”kØEô
Gñ Fà�z‰z×!Ñ!×-Ñ-×6Ñ6°uÓ=ÐEÐEÑE÷Fð �:‰:×Ñ×)Ñ)×2Ñ2°5¸uÐ2ÓEÐMÐMÐMä	�‰”kØEô
Gñ Jà�z‰z×!Ñ!×-Ñ-×:Ñ:¸5ÓAÐIÐIÑI÷Jð J÷0ñ 0ú÷Fð Fú÷
Jð Jús#    F$Ã2F1Å(2F=Æ$F.Æ1F:Æ=Gc                  ó  — t        j                  t        t        ¬«      5  dt        j
                  d<   d d d «       t	        j                  «       } d| j                  j                  j                  j                  d«      v sJ ‚t        j                  t        d¬«      5  | j                  j                  j                  j                  dd«       d d d «       | j                  j                  j                  j                  d«      dgk(  sJ ‚t        j                  t        d¬«      5  | j                  j                  j                  j                  d	d«       d d d «       y # 1 sw Y   �Œ/xY w# 1 sw Y   Œ xY w# 1 sw Y   y xY w)
Nrõ   r÷   rø   ÚvrK  z"Key c changed from back to forwardÚcz'foo' not in Toolsry   )ra   rb   rc   rú   rR   rû   rg   rS   rþ   r÷   Úget_tool_keymapÚupdate_keymapÚraisesÚKeyError)rZ   s    r:   Útest_toolmanager_update_keymapr\  ¸  s.  € Ü	�‰”kÔ)FÔ	Gñ 0Ø"/Œ�‰�YÑ÷0ä
�'‰'‹)€CØ�#—*‘*×$Ñ$×0Ñ0×@Ñ@ÀÓKÑKÐKÐKÜ	�‰”kØ@ô
Bñ Eà�
‰
×Ñ×&Ñ&×4Ñ4°YÀÔD÷Eð �:‰:×Ñ×)Ñ)×9Ñ9¸)ÓDÈÈÒMÐMÐMÜ	�‰”xÐ';Ô	<ñ AØ�
‰
×Ñ×&Ñ&×4Ñ4°U¸CÔ@÷Að A÷0ñ 0ú÷Eð Eú÷Að Aús#    E!Â1E.Ä'1E:Å!E+Å.E7Å:Frë   rì   Ú	patch_visTFÚforward_nav)TFÚautoÚt_sÚtwinÚsharec                 óì  — t        j                  «       \  }}|j                  dd¬«      }|j                  |«       |j                  j                  |«       |dk(  rg|j                  d«      }|j                  |«       |j                  |«       |j                  d«      }	|	j                  |«       |	j                  |«       n%|dk(  r |j                  «       }|j                  «       }	|j                  d«       |j                  j                  d	«       j                  d
«       |j                  j                  d«       |j                  d«       |j                  j                  d«       	j                  d«       |	j                  j                  d«       d\  }
}||fD ]   } |j                  |
Ž   |j                  |Ž  Œ" d\  }}}}|j                  j                  ||f«      j                  t         «      }|j                  j                  ||f«      j                  t         «      }|j                  j#                  «       j                  |«      \  }}|j                  j#                  «       j                  |«      \  }}t%        d|j&                  g|¢|‘­Ž }t%        d|j&                  g|¢|‘­Ž }t)        |j&                  «      }| dk(  �rù|dk(  rdnd}|j+                  g |¢|¢|«      \  }}|j-                  «       du r|j+                  g |¢|¢|«      \  }}nO|j-                  «       du r|
}|}n8|j                  j/                  «       s|j+                  g |¢|¢|«      \  }}n|
}|}|j1                  «        |j3                  |«       |j5                  |«       |j7                  |«       |j9                  «       t;        j<                  |d¬«      k(  sJ ‚|j?                  «       t;        j<                  |d¬«      k(  sJ ‚|j9                  «       t;        j<                  |d¬«      k(  sJ ‚|j?                  «       t;        j<                  |d¬«      k(  sJ ‚|j9                  «       t;        j<                  |j9                  «       d¬«      k(  sJ ‚|j9                  «       t;        j<                  |	j9                  «       d¬«      k(  sJ ‚y  |j@                  g |¢|‘­Ž   |jB                  |d g|¢­Ž jD                  j                  tF        «      \  }}|jI                  «        |j-                  «       du rY |j@                  g |¢|‘­Ž   |jB                  |d g|¢­Ž jD                  j                  tF        «      \  }}|jI                  «        nŽ|j-                  «       du r|
}|}nw|j                  j/                  «       sY |j@                  g |¢|‘­Ž   |jB                  |d g|¢­Ž jD                  j                  tF        «      \  }}|jI                  «        n|
}|}|jK                  «        |jM                  |«       |jO                  |«       |jQ                  |«       |j9                  «       t;        j<                  |d¬«      k(  sJ ‚|j?                  «       t;        j<                  |d¬«      k(  sJ ‚|j9                  «       t;        j<                  |d¬«      k(  sJ ‚|j?                  «       t;        j<                  |d¬«      k(  sJ ‚|j9                  «       t;        j<                  |j9                  «       d¬«      k(  sJ ‚|j9                  «       t;        j<                  |	j9                  «       d¬«      k(  sJ ‚y )NéÝ   éc   )Úzorderrb  éÞ   éß   ra  Úax_t)r   r   r   rŽ   Ú	ax_t_twinÚrÚax_b)r   r   r   rŽ   Ú	ax_b_twinÚb)r†   r†   )r   r   r   r   r�   r®   r²   r   ÚinÚoutTFrà   rá   ))rR   r_   Úadd_subplotÚset_forward_navigation_eventsÚpatchÚset_visibleÚsharexÚshareyrŠ   Ú	set_labelÚset_facecolorÚset_xlimÚset_ylimrµ   r¥   r¶   r|   Úinvertedr	   rS   r
   Ú_prepare_view_from_bboxÚget_forward_navigation_eventsÚget_visibler²   rå   ræ   rç   r³   ra   r½   r´   Ú	start_panÚ_get_pan_pointsÚTÚfloatÚend_panrÍ   rè   ré   rê   )rë   rì   r]  r^  r`  rZ   rl  ri  rj  rm  Ú	init_xlimÚ	init_ylimrp   Úxstart_tÚxstop_tÚystart_tÚystop_trÅ   rÆ   Úxstart_bÚystart_bÚxstop_bÚystop_brÇ   rÈ   rÀ   Ú	directionÚxlim_tÚylim_tÚxlim_bÚylim_bs                                  r:   Ú test_interactive_pan_zoom_eventsr“  Å  s8  € ô —‘“�I€CˆØ�?‰?˜3 rˆ?Ó*€DØ×&Ñ& {Ô3Ø‡J�J×Ñ˜9Ô%ð ˆg‚~Ø—O‘O CÓ(ˆ	Ø×Ñ˜ÔØ×Ñ˜Ôà—O‘O CÓ(ˆ	Ø×Ñ˜ÔØ×Ñ˜ÕØ	�ŠØ—J‘J“Lˆ	Ø—J‘J“Lˆ	ð 	‡N�N�6ÔØ‡J�J×Ñ˜^Ô,à×Ñ˜Ô$Ø‡O�O×!Ñ! #Ô&à‡N�N�6ÔØ‡J�J×Ñ˜^Ô,à×Ñ˜Ô$Ø‡O�O×!Ñ! #Ô&ð
 ,Ñ€IˆyØ�Tˆlò  ˆØˆ�‰�YÑØˆ�‰�YÒð ð
 ,6Ñ(€Hˆg�x ð 
�‰×	!Ñ	! 8¨XÐ"6Ó	7×	>Ñ	>¼sÓ	C€BØ	�‰×	!Ñ	! 7¨GÐ"4Ó	5×	<Ñ	<¼SÓ	A€Bð Ÿ™×0Ñ0Ó2×<Ñ<¸RÓ@Ñ€HˆhØ—~‘~×.Ñ.Ó0×:Ñ:¸2Ó>Ñ€GˆWô Ð1°3·:±:ÐKÀÐKÀFÒK€KÜÐ2°C·J±JÐLÀÐLÀVÒL€Jä	˜CŸJ™JÓ	'€Bàˆvƒ~à# qš[‘T¨eˆ	à×5Ñ5°j¸°j¸R°jÀ)ÓL‰ˆ�à×-Ñ-Ó/°4Ñ7Ø!×9Ñ9¸*¸B¸*À¸*ÀiÓP‰NˆF‘FØ×/Ñ/Ó1°UÑ:ØˆFØ‰Fà—:‘:×)Ñ)Ô+Ø!%×!=Ñ!=¸jÀ¸jÀR¸jÈ)Ó!T‘�™à"�Ø"�à
�‰Œ	Ø
�‰�kÔ"Ø
�‰�ZÔ Ø
�‰˜
Ô#à�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAØ�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAØ�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAØ�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAð �}‰}‹¤&§-¡-°	×0BÑ0BÓ0DÈ$Ô"OÒOÐOÐOØ�}‰}‹¤&§-¡-°	×0BÑ0BÓ0DÈ$Ô"OÒOÐOÑOð 	ˆ�‰Ð#˜Ð#˜FÓ#Ø-˜×-Ñ-¨f°dÐ@¸RÒ@×BÑB×IÑIÌ%ÓP‰ˆ�Ø�‰Œà×-Ñ-Ó/°4Ñ7ØˆD�N‰NÐ'˜BÐ' Ó'Ø1˜T×1Ñ1°&¸$ÐDÀÒD×FÑF×MÑMÌeÓT‰NˆF�FØ�L‰L�NØ×/Ñ/Ó1°UÑ:ØˆFØ‰Fà—:‘:×)Ñ)Ô+Ø�—‘Ð+ Ð+ FÓ+Ø!5 ×!5Ñ!5°f¸dÐ!HÀRÒ!H×!JÑ!J×!QÑ!QÔRWÓ!X‘�˜Ø—‘•à"�Ø"�à
�‰ŒØ
�‰�[Ô!Ø
�‰�JÔØ
�‰�zÔ"à�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAØ�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAØ�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAØ�}‰}‹¤&§-¡-°¸DÔ"AÒAÐAÐAð �}‰}‹¤&§-¡-°	×0BÑ0BÓ0DÈ$Ô"OÒOÐOÐOØ�}‰}‹¤&§-¡-°	×0BÑ0BÓ0DÈ$Ô"OÒOÐOÑOrO   )3r  Ú
matplotlibr   r   Úmatplotlib.backend_basesr   r   r   r   r	   r
   r   Úmatplotlib.backend_toolsr   r  r   Úmatplotlib.testing._markersr   Úmatplotlib.pyplotÚpyplotrR   Únumpyr%   ra   rú   rI   rP   rU   r[   Úmarkr
  rj   rq   Úparametrizer„   rŒ   r§   rÉ   rÎ   r¦   r¼   ró   r   r	  Úparamr*  rI  rO  rT  r\  r“  rN   rO   r:   ú<module>rž     s   ðÛ ç '÷&÷ &ñ &õ 4Ý $Ý 9Ý ã Û ð9ð ò%LòP9òEò-ð ‡�×Ñ�UÓñ(ó ð(ò$,ð ‡�×ÑØ
ÒNóPñ>óPð>ò,Fòò&-Eò`*ð ‡�×Ñ˜ x°Ð&<Ó=Ø‡�×Ñ˜¨°\Ð(BÓCØ‡�×ÑÐ/Ø! ;×#3Ñ#3°VÐ<Ø! ;×#4Ñ#4°iÐ@Ø  +×"2Ñ"2°GÐ<Ø  +×"3Ñ"3°\ÐBðDóEñ
3CóEó Dó >ð3Còl	+ò5ð< ‡�×ÑØ��t˜UØ�—‘˜UÐ*;Ô<ð>óñ:ó	ð:ð< ‡�×ÑØ,òóñ*Ió+ð*IòBAòJò"
Að ‡�×Ñ˜ &¨% Ó1Ø‡�×Ñ˜ K×$4Ñ$4°k×6GÑ6GÐ#HÓIØ‡�×Ñ˜ t¨U mÓ4Ø‡�×Ñ˜Ò(=Ó>Ø‡�×Ñ˜ ¨Ð 1Ó2ñ}Pó 3ó ?ó 5ó Jó 2ñ
}PrO   