Ë
    µ2Úin~  ã                   ó|  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlm	Z	m
Z
mZ d dlZd dlmZmZmZ d dlmZmZ d dlmZ d dlmZmZ d dlZd„ Zd„ Zd	„ Zej>                  jA                  d
 ejB                  d«       ejB                  d«       ejD                  d«      fdf ejB                  d«       ejB                  d«       ejD                  d«      fdf ejD                  d«       ejB                  d«       ejD                  d«      fdf ejB                  d«       ejD                  d«       ejD                  d«      fdf ejD                  d«       ejD                  d«       ejD                  d«      fdf ejD                  d«       ejD                  d«       ejD                  d«      fdf ejD                  d«       ejD                  d«       ejD                  d«      fdf ejD                  d«       ejD                  d«       ejD                  d«      fdfd ggfdfd gd gd ggfdfg
«      d„ «       Z#d„ Z$d„ Z% edg¬«      d„ «       Z&ej>                  jA                  d d!d"g«       ed#gd"d$d%¬&«      d'„ «       «       Z'ej>                  jA                  d d!d"g«       ed(gd"d$dg¬)«      d*„ «       «       Z(ej>                  jA                  d d!d"g«       ed+gd"¬,«      d-„ «       «       Z)ej>                  jA                  d d!d"g«       ed.gd$d!¬/«      d0„ «       «       Z*ej>                  jA                  d d!d"g«       ed1gd$¬2«      d3„ «       «       Z+ej>                  jA                  d d!d"g«       ed4gd"d$d5¬&«      d6„ «       «       Z,d7„ Z-ej>                  jA                  d d!d"g«       ed8d9gd"d:¬;«      d<„ «       «       Z.d=„ Z/d>„ Z0d?„ Z1ej>                  jA                  d@g dA¢«      dB„ «       Z2dC„ Z3ej>                  jA                  d d!d"g«       edDgd"d$dE¬&«      dF„ «       «       Z4ej>                  jA                  d d!d"g«       edGgd"d$ ejj                  «       dHv rdIndJ¬&«      dK„ «       «       Z6ej>                  jA                  d d!d"g«       edLgdgd"d$¬M«      dN„ «       «       Z7ej>                  jA                  dOg dP¢«      dQ„ «       Z8ej>                  js                  dR«      dS„ «       Z:ej>                  jA                  d d!d"g«       edTgdgd"¬U«      dV„ «       «       Z;dW„ Z<ej>                  jA                  d d!d"g«       edXgdgd"dY¬Z«      d[„ «       «       Z=ej>                  jA                  d d!d"g«       ed\gdgd"¬U«      d]„ «       «       Z>d^„ Z?d_„ Z@ej‚                  j…                  d`«      da„ «       ZCdb„ ZDdc„ ZEej>                  jA                  dddeejŒ                  fdfejŽ                  fdgej�                  fdhej’                  fdig«      dj„ «       ZJej>                  jA                  dkg dl¢«      dm„ «       ZKej>                  jA                  d d!d"g«       edngdgd"do¬Z«      dp„ «       «       ZLdq„ ZMej>                  jA                  drg ds¢«      dt„ «       ZNej>                  jA                  drg ds¢«      du„ «       ZOdv„ ZPdw„ ZQdx„ ZRdy„ ZSdz„ ZTd{„ ZUd|„ ZVy)}é    N)Úmock)Úassert_array_almost_equalÚassert_array_almost_equal_nulpÚassert_array_equal)ÚpyplotÚ
rc_contextÚticker)ÚLogNormÚ
same_color)Úcheck_figures_equalÚimage_comparisonc           	      ó–  — | sy t        t        j                  t        j                  «       «      D ]‹  }|j                  D ]z  }|j
                  D ]i  }t        |t        j                  j                  «      sŒ(t        j                  t        j                  j                  «      5  |j
                   d d d «       Œk Œ| Œ� y # 1 sw Y   ŒzxY w©N)ÚmapÚpltÚfigureÚget_fignumsÚaxesÚcollectionsÚ
isinstanceÚmplÚcontourÚ
ContourSetÚpytestÚwarnsÚ_apiÚMatplotlibDeprecationWarning)Údo_splitÚfigÚaxÚcolls       úT/var/www/html/acx/venv/lib/python3.12/site-packages/matplotlib/tests/test_contour.pyÚ_maybe_split_collectionsr#      sœ   € ÙØÜ”3—:‘:œsŸ™Ó0Ó1ò )ˆØ—(‘(ò 	)ˆBØŸ™ò )�Ü˜d¤C§K¡K×$:Ñ$:Õ;ÜŸ™¤c§h¡h×&KÑ&KÓLñ )Ø×(Ò(÷)ð )ñ)ñ	)ñ)÷)ð )ús   Â#B?	Â?Cc                  óê   — t        j                  d«      } t        j                  d«      }t         j                  j                  d«      }t        j                  «       \  }}|j                  | ||«       y ©Né
   é	   ©r'   r&   )ÚnpÚarangeÚrandomr   Úsubplotsr   )ÚxÚyÚzr   r    s        r"   Útest_contour_shape_1d_validr0      sO   € ä
�	‰	�"‹€AÜ
�	‰	�!‹€AÜ
�	‰	×Ñ˜Ó!€Aä�l‰l‹n�G€CˆØ‡J�Jˆq�!�QÕó    c                  ó  — t        j                  d«      } t        j                  d«      }t        j                  | |«      \  }}t         j                  j                  d«      }t	        j
                  «       \  }}|j                  |||«       y r%   )r)   r*   Úmeshgridr+   r   r,   r   )r-   r.   ÚxgÚygr/   r   r    s          r"   Útest_contour_shape_2d_validr6   )   sc   € ä
�	‰	�"‹€AÜ
�	‰	�!‹€AÜ�[‰[˜˜AÓ�F€BˆÜ
�	‰	×Ñ˜Ó!€Aä�l‰l‹n�G€CˆØ‡J�Jˆr�2�qÕr1   zargs, messager'   r(   z6Length of x (9) must match number of columns in z (10)r&   z3Length of y (10) must match number of rows in z (9))r&   r&   z4Number of dimensions of x (2) and y (1) do not matchz4Number of dimensions of x (1) and y (2) do not match©r'   r'   z-Shapes of x (9, 9) and z (9, 10) do not matchz-Shapes of y (9, 9) and z (9, 10) do not match)é   r8   r8   z'Inputs x and y must be 1D or 2D, not 3DzInput z must be 2D, not 3DzDInput z must be at least a (2, 2) shaped array, but has shape (1, 1)c                 óÖ   — t        j                  «       \  }}t        j                  t        t        j                  |«      ¬«      5   |j                  | Ž  d d d «       y # 1 sw Y   y xY w)N©Úmatch)r   r,   r   ÚraisesÚ	TypeErrorÚreÚescaper   )ÚargsÚmessager   r    s       r"   Útest_contour_shape_errorrB   4   sM   € ô. �l‰l‹n�G€CˆÜ	�‰”y¬¯	©	°'Ó(:Ô	;ñ Øˆ�
‰
�DÑ÷÷ ñ ús   ÁAÁA(c                  ór  — t        j                  «       \  } }|j                  t        j                  j                  dd«      g ¬«       |j                  t        j                  d«      j                  d«      dg¬«      }|j                  |ddi¬«       |j                  t        j                  d«      «       y )Nr'   ©ÚlevelséQ   r7   éd   z%1.2f)Úfmt)
r   r,   r   r)   r+   Úrandr*   ÚreshapeÚclabelÚones)r   r    Úcss      r"   Útest_contour_no_valid_levelsrN   P   s   € Ü�l‰l‹n�G€Cˆà‡J�JŒr�y‰y�~‰~˜a Ó#¨B€JÔ/à	�‰”B—I‘I˜b“M×)Ñ)¨&Ó1¸3¸%ˆÓ	@€Bà‡I�Iˆb�s˜G�n€IÔ%à‡J�JŒr�w‰w�v‹Õr1   c                  óJ  — t        j                  d«      j                  d«      } t        j                  «       \  }}|j                  | d«      }t        |j                  «      dkD  sJ ‚|j                  | d¬«      }|j                  |j                  k(  j                  «       sJ ‚y )Né   ©r8   é   é   é   rD   )	r)   r*   rJ   r   r,   r   ÚlenrE   Úall)r/   r   r    Úcs1Úcs2s        r"   Útest_contour_NlevelsrY   \   s‚   € ô 	�	‰	�"‹×Ñ˜fÓ%€AÜ�l‰l‹n�G€CˆØ
�*‰*�Q˜Ó
€CÜˆs�z‰z‹?˜QÒÐÐØ
�*‰*�Q˜qˆ*Ó
!€CØ�J‰J˜#Ÿ*™*Ñ$×)Ñ)Ô+Ð+Ñ+r1   Úpng)Ú
extensionsc                 óÖ   — | j                  «       j                  ddgddgg«      }|j                  «       j                  ddgddgg«      }|j                  |j                  «       «       y )Nr   rT   é   )r,   r   Ú	set_pathsÚ	get_paths)Úfig_testÚfig_refÚcs_testÚcs_refs       r"   Útest_contour_set_pathsrd   g   se   € à×ÑÓ!×)Ñ)¨A¨q¨6°A°q°6Ð*:Ó;€GØ×ÑÓ×'Ñ'¨!¨Q¨°!°Q°Ð(8Ó9€Fà×Ñ�f×&Ñ&Ó(Õ)r1   Úsplit_collectionsFTÚcontour_manual_labelsÚmpl20g¤p=
×£Ð?)Úremove_textÚstyleÚtolc                 ó.  — t        j                  t        j                  dd«      t        j                  dd«      «      \  }}t        j                  t        j                  t        |«      t        |«      g«      d«      }t        j                  dd¬«       t        j                  |||«      }t        | «       t        j                  g d¢«      }t        j                  ||¬«       t        j                  g d	¢«      }t        j                  ||d
d¬«       y )Nr   r&   r]   )é   r]   éÈ   )ÚfigsizeÚdpi))ç      ð?ç      @)rp   çš™™™™™@)rp   ç      @©Úmanual))ç       @rq   )rv   rr   )rv   rs   Úsmall)ÚrÚg)ru   ÚfontsizeÚcolors)r)   r3   r*   ÚmaxÚdstackÚabsr   r   r   r#   ÚarrayrK   )re   r-   r.   r/   rM   Úptss         r"   Útest_contour_manual_labelsr�   o   s»   € ô �;‰;”r—y‘y  BÓ'¬¯©°1°bÓ)9Ó:�D€A€qÜ
�‰Œr�y‰yœ#˜a›&¤# a£&Ð)Ó*¨AÓ.€Aä‡J�J�v 3Õ'Ü	�‰�Q˜˜1Ó	€BäÐ.Ô/ä
�(‰(Ò7Ó
8€CÜ‡J�Jˆr˜#ÕÜ
�(‰(Ò7Ó
8€CÜ‡J�Jˆr˜#¨¸
ÖCr1   Úcontour_disconnected_segments)rh   ri   r[   c                 ó�  — t         j                  ddd…ddd…f   \  }}dt        j                  d|dz   dz  z   |dz  z   «      z  }|dt        j                  d|dz
  dz  z   |dz  z   «      z  z  }t        j                  «        t        j
                  |||dg¬«      }t        | «       |j                  d	g¬
«       t        | «       y )NéÿÿÿÿrT   y              5@ç{®Gáz„?ç333333Ó?r]   é   rD   )çš™™™™™É?çš™™™™™¹?rt   )r)   ÚmgridÚsqrtr   r   r   r#   rK   )re   r-   r.   r/   rM   s        r"   Ú-test_contour_label_with_disconnected_segmentsrŒ   €   sÁ   € ô �8‰8�B�q˜�H˜b  3˜hÐ&Ñ'�D€A€qØ	ŒB�G‰G�D˜A ™G¨™>Ñ)¨A°©FÑ2Ó3Ñ3€AØˆŒR�W‰W�T˜Q ™W¨™NÑ*¨Q°!©VÑ3Ó4Ñ	4Ñ4€Aä‡J�J„LÜ	�‰�Q˜˜1 a SÔ	)€Bô Ð.Ô/à‡I�I�j�\€IÔ"äÐ.Õ/r1   z$contour_manual_colors_and_levels.png)rh   c                 óÞ  — dt         j                  d<   t        j                  dd«      \  }}t        j                  d«      j                  dd«      }g d¢}g d¢}t        |j                  «      D ]q  \  }}|dz  d	k(  }g d
¢|dz     }	|r)|	dv rdnd }
|	dv rdnd }|j                  |||
| ||	¬«      }n|j                  ||d d ||	¬«      }t        j                  ||¬«       Œs t        | «       y )NFúpcolormesh.snapr]   rR   rP   r8   )ÚredÚyellowÚpinkÚblueÚblack)r]   rR   é   r&   ç        )ÚneitherÚminr|   Úboth)r|   r–   rT   )r—   r–   r„   )r{   rE   Úextend©r    )r   ÚrcParamsr,   r)   r*   rJ   Ú	enumerateÚflatÚcontourfr   Úcolorbarr#   )re   Ú_ÚaxsÚdatar{   rE   Úir    Úfilledr™   Úfirst_colorÚ
last_colorÚcs                r"   Ú$test_given_colors_levels_and_extendsr¨   “   s  € ð ',„C‡L�LÐ"Ñ#ä�\‰\˜!˜QÓ�F€A€sä�9‰9�R‹=× Ñ   AÓ&€Dâ7€FÚ€Fä˜3Ÿ8™8Ó$ò ‰ˆˆ2Ø�Q‘˜"‘ˆÚ2°1¸±6Ñ:ˆáð  &Ð);Ñ;™!ÀˆKØ%Ð);Ñ;™ÀˆJØ—‘˜D¨°¸JÐ)GØ#)°&ð ó :‰Að —
‘
˜4¨¨s°¨Ø"(°ð ó 9ˆAô 	�‰�Q˜2Öð!ô$ Ð.Õ/r1   zcontour_log_locator.svg)ri   rh   c           
      óº  — t        j                  «       \  }}d}t        j                  dd|«      }t        j                  dd|«      }t        j                  ||«      \  }}t        j
                  |dz   |dz  z
  «      }t        j
                  |dz  dz   |dz  dz  z
  «      }	|d|	z  z   }
|j                  |
t        j                  «       ¬	«      }t        |j                  t        j                  d
t        j                  dd«      «      «       |j                  ||¬«      }t        |j                  j                  «       |j                  «       t!        | «       y )NrG   ç      Àrq   ç       Àrv   r]   r&   é2   ©Úlocatorç      $@iúÿÿÿr8   rš   )r   r,   r)   Úlinspacer3   Úexprž   r	   Ú
LogLocatorr   rE   Úpowerr*   rŸ   r    Ú
get_yticksr#   )re   r   r    ÚNr-   r.   ÚXÚYÚZ1ÚZ2r¢   r§   Úcbs                r"   Útest_log_locator_levelsr»   µ   s  € ô �l‰l‹n�G€Cˆà€AÜ
�‰�D˜#˜qÓ!€AÜ
�‰�D˜#˜qÓ!€Aä�;‰;�q˜!Ó�D€A€qä	�‰��A‘�˜˜1™‘Ó	€BÜ	�‰�!�b‘&˜1‘�  B¡¨™{Ñ*Ó	+€BØ��R‘‰<€Dà
�‰�D¤&×"3Ñ"3Ó"5ˆÓ6€AÜ˜aŸh™h¬¯©°´r·y±yÀÀQÓ7GÓ(HÔIØ	�‰�a˜BˆÓ	€BÜ˜bŸe™e×.Ñ.Ó0°!·(±(Ô;äÐ.Õ/r1   zcontour_datetime_axis.png)ri   c           	      ó~  — t        j                  «       }|j                  ddd¬«       t        j                  ddd«      }t	        j
                  t        d«      D �cg c]  }|t        j                  |¬«      z   ‘Œ c}«      }t	        j                  d«      }t	        j                  t	        j                  d«      t	        j                  d«      «      \  }}||z  }t        j                  d	«       t        j                  |||«       t        j                  d
«       t        j                  |||«       t	        j                  |t        j                     dd¬«      }t	        j                  |d d …t        j                  f   dd¬«      }t        j                  d«       t        j                  |||«       t        j                  d«       t        j                  |||«       |j                  «       D ]9  }	|	j!                  «       D ]$  }
|
j#                  d«       |
j%                  d«       Œ& Œ; t'        | «       y c c}w )Ngš™™™™™Ù?g\�Âõ(\ï?ç333333Ã?)ÚhspaceÚtopÚbottomiÝ  rT   é   )ÚdayséÝ   éÞ   r   )Úaxiséß   éà   Úrighté   )r   r   Úsubplots_adjustÚdatetimer)   r   ÚrangeÚ	timedeltar*   r3   Úsubplotr   rž   ÚrepeatÚnewaxisÚget_axesÚget_xticklabelsÚset_haÚset_rotationr#   )re   r   ÚbaseÚdr-   r.   Úz1Úz2r/   r    Úlabels              r"   Útest_contour_datetime_axisrÚ   Í   s   € ô �*‰*‹,€CØ×Ñ˜s¨°SÐÔ9Ü×Ñ˜T 1 aÓ(€DÜ
�‰¼UÀ2»YÖG¸�$œ×+Ñ+°Ô3Ó3ÒGÓH€AÜ
�	‰	�"‹€AÜ�[‰[œŸ™ 2›¬¯	©	°"«Ó6�F€BˆØ
ˆR‰€AÜ‡K�K�ÔÜ‡K�K��1�aÔÜ‡K�K�ÔÜ‡L�L��A�qÔÜ
�	‰	�!”B—J‘J‘- ¨!Ô,€AÜ
�	‰	�!’A”r—z‘z�MÑ" B¨QÔ/€AÜ‡K�K�ÔÜ‡K�K��1�aÔÜ‡K�K�ÔÜ‡L�L��A�qÔØ�l‰l‹nò #ˆØ×'Ñ'Ó)ò 	#ˆEØ�L‰L˜Ô!Ø×Ñ˜rÕ"ñ	#ð#ô
 Ð.Õ/ùò' Hs   Á H:z!contour_test_label_transforms.pnggš™™™™™ñ?c                 óÒ  — d}t        j                  dd|«      }t        j                  dd|«      }t        j                  ||«      \  }}t        j                  |dz  |dz  z    dz  «      dt         j                  z  z  }t        j                  |dz
  dz  dz  |dz
  d	z  dz  z    dz  «      dt         j                  z  d	z  dz  z  }d
||z
  z  }t        j                  dd«      \  }	}
|
j                  |||«      }g d¢}g d¢}t        | «       |j                  «        |D ]  \  }}|j                  ||dd ¬«       Œ |D ]  \  }}|j                  ||dd¬«       Œ t        | «       y )Nçš™™™™™™?rª   rq   r«   rv   r]   rT   g      ø?ç      à?r¯   ))éØ   é±   )ig  i"  )i	  i–  ))éþÿÿÿrÝ   )r   g      ø¿)gffffff@rT   T)ÚinlineÚ	transformF)r)   r*   r3   r±   Úpir   r,   r   r#   rK   Úadd_label_near)re   Údeltar-   r.   r¶   r·   r¸   r¹   ÚZr   r    ÚCSÚ
disp_unitsÚ
data_unitss                 r"   Útest_labelsrê   é   sr  € ð €EÜ
�	‰	�$˜˜UÓ#€AÜ
�	‰	�$˜˜UÓ#€AÜ�;‰;�q˜!Ó�D€A€qÜ	�‰�!�Q‘$˜˜A™‘+� Ñ"Ó	# q¬2¯5©5¡yÑ	1€BÜ
�&‰&�Q˜‘U˜c‘M AÑ%¨!¨a©%°3©¸Ñ(:Ñ:Ð;¸aÑ?Ó
@ØŒr�u‰u‰9�s‰?˜SÑ ñ"€Bð 	��R‘Ñ€Aä�l‰l˜1˜aÓ �G€CˆØ	�‰�A�q˜!Ó	€BÚ5€JÚ0€Jô Ð.Ô/à‡I�I„Kàò =‰ˆˆ1Ø
×Ñ˜!˜Q t°tÐÕ<ð=ð ò >‰ˆˆ1Ø
×Ñ˜!˜Q t°uÐÕ=ð>ô Ð.Õ/r1   c                  óì  — t        j                  d¬«      \  } }t        j                  t        j                   dz  t        j                  dz  d«      x}}t        j
                  ||«      \  }}dt        j                  d|z  «      dz  z  t        j                  d|z  «      z  }dt        j                  d|z  «      z  t        j                  d|z  «      dz  dz   z  }||z   }|j                  |||«      }t        j                  j                  |d	|j                  ¬
«      5 }|j                  d¬«       d d d «       j                  D �	cg c]
  }	|	d   d   ‘Œ }
}	d|
v sJ ‚y # 1 sw Y   Œ/xY wc c}	w )NrG   )ro   r]   r¬   g      è?r”   rR   rÝ   Ú"_split_path_and_get_label_rotation)Úwrapsr'   )rz   r   rT   )r   r,   r)   r°   rã   r3   ÚsinÚcosr   r   ÚpatchÚobjectrì   rK   Úcall_args_list)r    r    ÚlatsÚlonsÚwaveÚmeanr¢   rM   Úmocked_splitterÚcargsÚidxss              r"   Útest_label_contour_startrú     sO  € ô �L‰L˜SÔ!�E€A€rÜ—+‘+œrŸu™u˜f q™j¬"¯%©%°!©)°RÓ8Ð8€Dˆ4Ü—‘˜T 4Ó(�J€Dˆ$Ø”2—6‘6˜!˜d™(Ó# qÑ(Ñ)¬B¯F©F°1°t±8Ó,<Ñ<€DØ”—‘˜˜D™Ó!Ñ!¤b§f¡f¨Q°©XÓ&6¸1Ñ%<¸qÑ%@ÑA€DØ�$‰;€Dà	�‰�D˜$ Ó	%€Bä	�‰×	Ñ	ØÐ4Ø×7Ñ7ð 
ó 
9ð à<Kà
�	‰	˜1ˆ	Ô÷	ð &5×%CÑ%CÖD˜EˆE�!‰H�Q‹KÐD€DÐDØ�‰9Ð‰9÷ð üò Es   Ä$E%ÅE1Å%E.zcontour_corner_mask_False.pngzcontour_corner_mask_True.pngg®Gázþ?)rh   rj   c                 ó‚  — d}d}d}t         j                  j                  dg«       t        j                  t        j                  dd|«      t        j                  dd|«      «      \  }}t        j
                  d|z  «      t        j                  d|z  «      z  |t         j                  j                  ||«      z  z   }t         j                  j                  ||«      |k\  }t         j                  j                  ||¬	«      }d
D ]-  }t        j                  «        t        j                  ||¬«       Œ/ t        | «       y )Né<   çffffffî?rp   rT   r   rv   r‡   r”   ©Úmask)FT©Úcorner_mask)r)   r+   Úseedr3   r°   rï   rî   rI   Úmar   r   r   rž   r#   )	re   ÚnÚ
mask_levelÚ	noise_ampr-   r.   r/   rÿ   r  s	            r"   Útest_corner_maskr  &  sî   € ð 	€AØ€JØ€IÜ‡I�I‡N�N�A�3ÔÜ�;‰;”r—{‘{ 1 c¨1Ó-¬r¯{©{¸1¸cÀ1Ó/EÓF�D€A€qÜ
�‰ˆq�‰s‹”B—F‘F˜1˜Q™3“KÑ )¬B¯I©I¯N©N¸1¸aÓ,@Ñ"@Ñ@€AÜ�9‰9�>‰>˜!˜QÓ :Ñ-€DÜ
�‰�‰�A˜DˆÓ!€Aà$ò 1ˆÜ�
‰
ŒÜ�‰�Q KÖ0ð1ô Ð.Õ/r1   c                  óÈ   — ddgddgg} t        j                  «        t        j                  t        «      5  t        j
                  | ddg«       d d d «       y # 1 sw Y   y xY w)Nr‰   r†   rÝ   çffffffæ?rp   r•   )r   r   r   r<   Ú
ValueErrorrž   )r/   s    r"   Útest_contourf_decreasing_levelsr  :  sP   € à
ˆsˆ�c˜3�ZÐ €AÜ‡J�J„LÜ	�‰”zÓ	"ñ $Ü�‰�Q˜˜c˜
Ô#÷$÷ $ñ $ús   ¶AÁA!c                  óþ   — t        j                  d«      j                  d«      } t        j                  dd¬«      }t        j
                  | |¬«      }t        |j                  t        j                  ddd«      «       y )	NrP   rQ   rR   T)ÚnbinsÚ	symmetricr­   iôÿÿÿrS   )	r)   r*   rJ   r   ÚMaxNLocatorrž   r   rE   r°   )r/   r®   rM   s      r"   Útest_contourf_symmetric_locatorr  B  sU   € ä
�	‰	�"‹×Ñ˜fÓ%€AÜ�o‰o A°Ô6€GÜ	�‰�a Ô	)€BÜ˜bŸi™i¬¯©°S¸"¸aÓ)@ÕAr1   c                  ó6  — t        j                  t        j                  ddd«      t        j                  ddd«      «      \  } }t        j                  | |«      }t	        j
                  «        t	        j                  | ||«      }t	        j                  |«       y )Nrà   r]   rR   )r)   r3   r°   Úhypotr   r   r   rK   )r-   r.   rx   rM   s       r"   Útest_circular_contour_warningr  J  se   € ä�;‰;”r—{‘{ 2 q¨!Ó,¬b¯k©k¸"¸aÀÓ.CÓD�D€A€qÜ
�‰��A‹€AÜ‡J�J„LÜ	�‰�Q˜˜1Ó	€BÜ‡J�Jˆr…Nr1   z-use_clabeltext, contour_zorder, clabel_zorder))Té{   éÒ  )Fr  r  )Tr  N)Fr  Nc                 ó\  — t        j                  t        j                  dd«      t        j                  dd«      «      \  }}t        j                  t        j                  t        |«      t        |«      g«      d«      }t        j                  d¬«      \  }\  }}|j                  ||||¬«      }	|j                  ||||¬«      }
|	j                  || ¬«      }|
j                  || ¬«      }|€d|z   }n|}|D ]  }|j                  «       |k(  rŒJ ‚ |D ]  }|j                  «       |k(  rŒJ ‚ y )Nr   r&   r]   )Úncols)Úzorder)r  Úuse_clabeltext)r)   r3   r*   r|   r}   r~   r   r,   r   rž   rK   Ú
get_zorder)r  Úcontour_zorderÚclabel_zorderr-   r.   r/   r   Úax1Úax2rM   Ú	cs_filledÚclabels1Úclabels2Úexpected_clabel_zorderrK   s                  r"   Útest_clabel_zorderr#  S  s)  € ô �;‰;”r—y‘y  BÓ'¬¯©°1°bÓ)9Ó:�D€A€qÜ
�‰Œr�y‰yœ#˜a›&¤# a£&Ð)Ó*¨AÓ.€Aä—l‘l¨Ô+�O€C‰ˆ#ˆsØ	�‰�Q˜˜1 ^ˆÓ	4€BØ—‘˜Q  1¨^�Ó<€IØ�y‰y ¸nˆyÓM€HØ×Ñ }Ø/=ð  ó ?€Hð ÐØ!" >Ñ!1Ñà!.Ðàò =ˆØ× Ñ Ó"Ð&<Ó<Ð<Ð<ð=àò =ˆØ× Ñ Ó"Ð&<Ó<Ð<Ð<ñ=r1   c                  ó(  — t        j                  ddd«      x} }t        j                  | |«      \  }}t        j                  |dz   |dz  z
  «      }t	        j
                  «       \  }}|j                  |||g d¢¬«      }|j                  |d¬«       y )	Nrª   g®Gáz@çš™™™™™©?r]   )r…   rˆ   rÝ   gš™™™™™é?rD   rG   )Úinline_spacing)r)   r*   r3   r±   r   r,   r   rK   )r-   r.   r¶   r·   ræ   r   r    Ú
contoursets           r"   Útest_clabel_with_large_spacingr(  l  s�   € ô �I‰I�d˜D $Ó'Ð'€AˆÜ�;‰;�q˜!Ó�D€A€qÜ
�‰��1‘ˆu�q˜!‘t‰|Ó€Aä�l‰l‹n�G€CˆØ—‘˜A˜q !Ò,?�Ó@€JØ‡I�Iˆj¨€IÕ-r1   zcontour_log_extension.pngg´Èv¾Ÿ÷?c           	      ó  — dt         j                  d<   t        j                  ddd¬«      \  }\  }}}|j                  dd¬	«       t	        j
                  d
dd«      }t	        j                  d|«      j                  dd«      }t	        j                  dd«      }t	        j                  d|«      }|j                  |t        |j                  «       |j                  «       ¬«      ¬«      }	|j                  ||t        |j                  «       |j                  «       ¬«      d¬«      }
|j                  ||t        |j                  «       |j                  «       ¬«      d¬«      }t        j                  |	|¬«      }|j                  j                  «       dk(  sJ ‚t        j                  |
|¬«      }t!        |j                  j                  «       t	        j"                  d«      «       t        j                  ||¬«      }t%        | «       y )NFrŽ   rT   r8   )r&   rS   ©rn   r%  rý   )ÚleftrÈ   g      Àg      #@i°  r&   rÉ   é(   g      Àg      @r¯   )ÚvminÚvmax)Únormr–   )rE   r/  r™   r˜   rš   )g:Œ0âŽyE>g    _ B)ç-Cëâ6?g    €„.A)r   r›   r,   rÊ   r)   r°   r³   rJ   r*   rž   r
   r—   r|   rŸ   r    Úget_ylimr   r   r#   )re   r   r  r  Úax3Údata_expr¢   Ú
levels_exprE   Úc1Úc2Úc3rº   s                r"   Útest_contourf_log_extensionr8    sš  € ð ',„C‡L�LÐ"Ñ#ô Ÿ<™<¨¨1°gÔ>Ñ€C‰ˆ#ˆs�CØ×Ñ˜T¨ÐÔ.ô �{‰{˜4  dÓ+€HÜ�8‰8�B˜Ó!×)Ñ)¨"¨bÓ1€Dä—‘˜3 Ó#€JÜ�X‰X�c˜:Ó&€Fð 
�‰�dÜ"¨¯©«
¸¿¹»ÔDð 
ó 
F€Bð 
�‰�d 6Ü"¨¯
©
«¸6¿:¹:»<ÔHØ&ð 
ó 
(€Bð 
�‰�d 6Ü"¨¯
©
«¸6¿:¹:»<ÔHØ#ð 
ó 
%€Bô 
�‰�b˜SÔ	!€BØ�5‰5�>‰>Ó˜|Ò+Ð+Ð+Ü	�‰�b˜SÔ	!€BÜ" 2§5¡5§>¡>Ó#3´R·X±X¸kÓ5JÔKÜ	�‰�b˜SÔ	!€BäÐ.Õ/r1   zcontour_addlines.png)Úaarch64Úppc64leÚs390xr½   g¸…ëQ¸ž?c                 óÎ  — dt         j                  d<   t        j                  «       \  }}t        j                  j                  d«       t        j                  j                  dd«      dz  }|j                  |«      }|j                  |dz   «      }|j                  |«      }|j                  |«       t        |j                  j                  «       ddgd	«       t        | «       y )
NFrŽ   i,N,r&   i'  iè  gdÌ]KÈ“\@g6«>W'zÃ@r8   )r   r›   r,   r)   r+   r  rI   Ú
pcolormeshr   rŸ   Ú	add_linesr   r    r1  r#   )re   r   r    r¶   ÚpcmÚcontrº   s          r"   Útest_contour_addlinesrA  ¦  sª   € ð ',„C‡L�LÐ"Ñ#ä�l‰l‹n�G€CˆÜ‡I�I‡N�N�8ÔÜ
�	‰	�‰�r˜2Ó˜uÑ$€AØ
�-‰-˜Ó
€Cà�:‰:�a˜‘fÓ€DØ	�‰�cÓ	€BØ‡L�L�ÔÜ˜bŸe™eŸn™nÓ.°¸:Ð0FÈÔJäÐ.Õ/r1   Úcontour_uneven)Úbaseline_imagesr[   rh   ri   c                 ót  — dt         j                  d<   t        j                  d«      j	                  dd«      }t        j
                  dd«      \  }}|d   }|j                  |g d	¢¬
«      }|j                  ||d¬«       |d   }|j                  |g d	¢¬
«      }|j                  ||d¬«       t        | «       y )NFrŽ   é   rR   rl   rT   r]   r   )r]   rR   rl   r&   rÁ   rD   Úproportional)r    ÚspacingÚuniform)	r   r›   r)   r*   rJ   r,   rž   rŸ   r#   )re   r/   r   r¡   r    rM   s         r"   Útest_contour_unevenrI  ¾  s¦   € ð
 ',„C‡L�LÐ"Ñ#ä
�	‰	�"‹×Ñ˜a Ó#€AÜ�|‰|˜A˜qÓ!�H€CˆØ	ˆQ‰€BØ	�‰�QÒ0ˆÓ	1€BØ‡L�L�˜ N€LÔ3Ø	ˆQ‰€BØ	�‰�QÒ0ˆÓ	1€BØ‡L�L�˜ I€LÔ.äÐ.Õ/r1   zCrc_lines_linewidth, rc_contour_linewidth, call_linewidths, expected))ç®Gáz®ó?NNrJ  )rJ  çö(\�Âõ@NrK  )rJ  rK  ç®Gáz@rL  c                 ó¾  — t        | |dœ¬«      5  t        j                  «       \  }}t        j                  d«      j                  dd«      }|j                  ||¬«      }|j                  «       d   |k(  sJ ‚t        j                  t        j                  d¬	«      5  |j                  d   d   |k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)
N)zlines.linewidthzcontour.linewidth)ÚrcrP   rR   r8   )Ú
linewidthsr   Útlinewidthsr:   )r   r   r,   r)   r*   rJ   r   Úget_linewidthsr   r   r   r   rP  )Úrc_lines_linewidthÚrc_contour_linewidthÚcall_linewidthsÚexpectedr   r    r¶   rM   s           r"   Útest_contour_linewidthrV  Ñ  sÏ   € ô 
Ð+=Ø-AñCô 
Dñ 4ä—,‘,“.‰ˆˆRÜ�I‰I�c‹N×"Ñ" 1 aÓ(ˆØ�Z‰Z˜ oˆZÓ6ˆØ× Ñ Ó" 1Ñ%¨Ò1Ð1Ð1Ü�\‰\œ#×:Ñ:À-ÔPñ 	4Ø—>‘> !Ñ$ QÑ'¨8Ò3Ð3Ñ3÷	4÷4ð 4÷	4ð 	4ú÷4ð 4ús$   �BCÂCÂ6CÃC	ÃCÃCÚpdfc                  ó`   — t        j                  t        j                  ddgddgg«      «       y )NrT   r]   r8   rR   )r   rK   r   © r1   r"   Útest_label_nonaggrZ  ä  s&   € ô ‡J�JŒs�{‰{˜Q ˜F Q¨ FÐ+Ó,Õ-r1   Úcontour_closed_line_loop)rC  r[   rh   c                 óÞ   — g d¢g d¢g d¢g d¢g}t        j                  d¬«      \  }}|j                  |dgdgd¬	«       |j                  d
d«       |j	                  d
d«       t        | «       y )N)r   r   r   )r   r]   r   )r]   rT   r]   )r]   r]   r*  rÝ   rÁ   r	  )rO  Úalphagš™™™™™¹¿gÍÌÌÌÌÌ @gÍÌÌÌÌÌ@)r   r,   r   Úset_xlimÚset_ylimr#   )re   r/   r   r    s       r"   Útest_contour_closed_line_loopr`  ê  sa   € ò
 
’Išyª)Ð4€Aä�l‰l 6Ô*�G€CˆØ‡J�Jˆq�3�% R D°€JÔ4Ø‡K�K��cÔØ‡K�K��cÔäÐ.Õ/r1   c                  óR  — t        j                  ddgddg«      \  } }| |z   }t        j                  «       \  }}|j	                  | ||«      }|j                  | ||«      }|j                  |j                  k7  sJ ‚|j                  ||«      }|j                  |j                  k(  sJ ‚y )Nr•   rp   )r)   r3   r   r,   rž   r   Ú_contour_generator)r-   r.   r/   r   r    Úqcs1Úqcs2Úqcs3s           r"   Útest_quadcontourset_reuserf  ù  s    € ô �;‰;˜˜S�z C¨ :Ó.�D€A€qØ	ˆA‰€AÜ�l‰l‹n�G€CˆØ�;‰;�q˜!˜QÓ€DØ�:‰:�a˜˜AÓ€DØ×"Ñ" d×&=Ñ&=Ò=Ð=Ð=Ø�:‰:�d˜AÓ€DØ×"Ñ" d×&=Ñ&=Ò=Ð=Ñ=r1   Úcontour_manualg{®Gázì?)rC  r[   rh   rj   c                 óÊ  — ddl m} t        j                  d¬«      \  }}d}ddgddgddggg}ddgddggddgdd	ggg}ddgdd	gddgddgddggg}ddgddgddgddgddggdd	gdd	gddggg} ||g d
¢||gd|¬«        ||ddg||gdddg¬«       d	dgddgddgd	dgd	dgddgddgddgddgddgg
g}	g d¢g}
 ||ddg|	g|
gd|¬«        ||dg|	g|
gdd¬«       t	        | «       y )Nr   )r   ©rR   rR   r*  Úviridisr]   rT   r8   rR   ©r   rT   r]   T)r¤   Úcmaprx   Úk)rO  r{   r‡   rS   rl   )
rT   r]   r]   r]   éO   rT   r]   r]   r]   rn  )r{   rO  )Úmatplotlib.contourr   r   r,   r#   )re   r   r   r    rl  Úlines0Úlines1Úfilled01Úfilled12ÚsegsÚkindss              r"   Útest_contour_manualrv    s†  € õ
 .ä�l‰l 6Ô*�G€CˆØ€Dð �1ˆv˜˜1�v  1˜vÐ&Ð'€FØ�1ˆv˜˜1�vÐ ! Q ¨!¨Q¨Ð 0Ð1€FØ�Q�˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°Ð8Ð9€HØ�Q�˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°Ð8Ø�Q�˜!˜Q˜ ! Q Ð(ð*€Háˆr’9˜x¨Ð2¸4ÀdÕKÙˆr�A�q�6˜F FÐ+¸À3ÈÀ*ÕMð �ˆV�a˜�V˜a ˜V a¨ V¨a°¨VØ�ˆV�a˜�V˜a ˜V a¨ V¨a°¨Vð5ð 6€Dâ-Ð.€EÙˆr�A�q�6˜D˜6 E 7°4¸dÕCÙˆr�A�3˜˜  °ÀÕBäÐ.Õ/r1   Ú!contour_line_start_on_corner_edgec                 óÔ  — t        j                  d¬«      \  }}t        j                  g d¢g d¢«      \  }}d|dz
  dz  z
  |dz
  dz  z   }t        j                  |t
        ¬«      }d	x|d
<   |d<   t        j                  j                  ||¬«      }|j                  |||d	¬«      }|j                  |«      }|j                  |||d	d¬«      }	|j                  |	«       t        | «       y )N)rl   rS   r*  )r   rT   r]   r8   rR   rk  g333333ó?r]   rT   ©ÚdtypeT)rT   rT   )rT   r8   rþ   r   rm  )r  r{   )r   r,   r)   r3   Ú
zeros_likeÚboolr  r   rž   rŸ   r   r>  r#   )
re   r   r    r-   r.   r/   rÿ   r¤   ÚcbarÚliness
             r"   Ú&test_contour_line_start_on_corner_edger  #  sÒ   € ô �l‰l 6Ô*�G€Cˆä�;‰;’ª	Ó2�D€A€qØˆq�1‰u�q‰jÑ˜A ™E A™:Ñ%€AÜ�=‰=˜¤$Ô'€DØ"Ð"€Dˆ�J��d‘Ü
�‰�‰�A˜DˆÓ!€Aà�[‰[˜˜A˜q¨dˆ[Ó3€FØ�<‰<˜Ó€DØ�J‰J�q˜!˜Q¨D¸ˆJÓ=€EØ‡N�N�5ÔäÐ.Õ/r1   c                  óô  — t        j                  d«      } t        j                  t         j                   t        j                  | dz
  dz  d«      dz  z  «      }t        j                  |d«      }|j                  ddd¬	«      }d
}t        ||«       |j                  ddd¬	«      }d}t        ||«       |j                  ddd¬	«      }d}t        ||«       |j                  dddd¬«      }d}t        ||«       y )N©é   r‚  rS   r]   r   ç      9@r&   rT   F©Úpixel)rT   r   é!   çYÄ°Ã˜tÿ?r‡  gbž•´âÛý?r”   )rT   r   rS   gŸ‘�`3@gDl°p’fù?gö—Ý“‡…á?)r8   r   é   gÍ°QÖo&þ?g�hW!å@g|ïoÐ^}Œ?©rS   r‡   ©Úindicesr…  )rS   r   é   gA*ÅŽ@g      @g÷�ð½¿AÙ?)	r)   r‹  r±   rã   Úsumr   r   Úfind_nearest_contourr   )ÚxyÚimgrM   Únearest_contourÚexpected_nearests        r"   Útest_find_nearest_contourr“  7  só   € Ü	�‰�HÓ	€BÜ
�&‰&”"—%‘%�œ2Ÿ6™6 2¨¡6¨A¡+¨qÓ1°%Ñ7Ñ8Ó
9€CÜ	�‰�S˜"Ó	€Bà×-Ñ-¨a°¸%Ð-Ó@€OØ?ÐÜ˜oÐ/?Ô@à×-Ñ-¨a°¸%Ð-Ó@€OØ>ÐÜ˜oÐ/?Ô@à×-Ñ-¨a°¸%Ð-Ó@€OØ?ÐÜ˜oÐ/?Ô@à×-Ñ-¨a°¸FÈ%Ð-ÓP€OØ:ÐÜ˜oÐ/?Õ@r1   c                  ó~  — t        j                  d«      } t        j                  t         j                   t        j                  | dz
  dz  d«      dz  z  «      }t        j                  |d«      }t        j                  t        d¬«      5  |j                  d	d	d
¬«       d d d «       t        j                  t        d¬«      5  |j                  d	ddd
¬«       d d d «       t        j                  t        d¬«      5  |j                  dddd¬«       d d d «       y # 1 sw Y   Œ|xY w# 1 sw Y   ŒOxY w# 1 sw Y   y xY w)Nr�  rS   r]   r   rƒ  r&   z'Method does not support filled contoursr:   rT   Fr„  r‰  rŠ  )r]   r‡   T)r)   r‹  r±   rã   r�  r   rž   r   r<   r
  rŽ  )r�  r�  rM   s      r"   Ú#test_find_nearest_contour_no_filledr•  M  s  € Ü	�‰�HÓ	€BÜ
�&‰&”"—%‘%�œ2Ÿ6™6 2¨¡6¨A¡+¨qÓ1°%Ñ7Ñ8Ó
9€CÜ	�‰�c˜2Ó	€Bä	�‰”zÐ)RÔ	Sñ 3Ø
×Ñ  1¨EÐÔ2÷3ô 
�‰”zÐ)RÔ	Sñ DØ
×Ñ  2¨v¸UÐÔC÷Dô 
�‰”zÐ)RÔ	Sñ BØ
×Ñ  1¨f¸DÐÔA÷Bð B÷3ð 3ú÷Dð Dú÷Bð Bús$   ÂDÃD'Ã<D3ÄD$Ä'D0Ä3D<Údefaultc                  óN  — t        j                  «       j                  «       } t        j                  t	        j
                  ddd«      j                  dd«      g d¢¬«      }| j                  |«       | j                  D �ch c]  }|j                  «       ’Œ c}h d£k(  sJ ‚y c c}w )Ng�íµ ÷Æ°>r0  rG   r&   )gñhãˆµøÄ>gñhãˆµøä>gñhãˆµø?rD   >   ú0.25ú1.00ú4.00)
r   r   Úadd_subplotr   r)   Ú	geomspacerJ   rK   ÚtextsÚget_text)r    rM   Útexts      r"   Ú)test_contour_autolabel_beyond_powerlimitsr   \  su   € ä	�‰‹×	!Ñ	!Ó	#€BÜ	�‰”R—\‘\ $¨¨cÓ2×:Ñ:¸2¸rÓBÚ0ô
2€Bà‡I�Iˆb„Mà(*¯©Ö1 ˆD�M‰M�OÒ1Ò5MÒMÐMÑMùÒ1s   Â B"c                  óÖ  ‡— ddl mŠ t        j                  dd«      } | j	                  dd«      }| |z  }t        j                  |g d¢g d¢d¬	«      }|j                  j                  d
«       |j                  j                  d«       |j                  «        |j                  «       \  }}|g d¢k(  sJ ‚d}t        ˆfd„|D «       «      sJ ‚t        d„ t        ||«      D «       «      sJ ‚y )Nr   )Ú	RectanglerT   r&   r„   ©r&   rÉ   r¬   )ú#FFFF00ú#FF00FFz#00FFFFr˜   ©rE   r{   r™   r�   r’   )z$x \leq -1e+250s$z$10.0 < x \leq 30.0$z$30.0 < x \leq 50.0$z$x > 1e+250s$)r’   r¤  r¥  r�   c              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wr   )r   )Ú.0Úar¢  s     €r"   ú	<genexpr>z0test_contourf_legend_elements.<locals>.<genexpr>x  s   øè ø€ Ò9¨AŒz˜!˜Y×'Ñ9ùs   ƒc              3   óV   K  — | ]!  \  }}t        |j                  «       |«      –— Œ# y ­wr   )r   Úget_facecolor©r¨  r©  r§   s      r"   rª  z0test_contourf_legend_elements.<locals>.<genexpr>y  s*   è ø€ ò :Ù�1�aô ˜!Ÿ/™/Ó+¨Q×/ñ :ùó   ‚'))Úmatplotlib.patchesr¢  r)   r*   rJ   r   rž   rl  Úset_overÚ	set_underÚchangedÚlegend_elementsrV   Úzip)r-   r.   ÚhrM   ÚartistsÚlabelsÚexpected_colorsr¢  s          @r"   Útest_contourf_legend_elementsr¹  f  sà   ø€ Ý,Ü
�	‰	�!�RÓ€AØ	�	‰	�"�aÓ€AØ	ˆA‰€Aä	�‰�a¢Ú>Ø#ô
%€Bð ‡G�G×Ñ�UÔØ‡G�G×Ñ�fÔØ‡J�J„LØ×(Ñ(Ó*�O€GˆVØò 'ò 'ð 'ð 'ð <€OÜÓ9°Ô9Ô9Ð9Ð9Üñ :Ü˜w¨Ó8ô:ô :ð :ñ :r1   c                  ó8  — t        j                  dd«      } | j                  dd«      }| |z  }g d¢}t        j                  |g d¢|d¬«      }|j                  «       \  }}|g d¢k(  sJ ‚t        d	„ |D «       «      sJ ‚t        d
„ t        ||«      D «       «      sJ ‚y )NrT   r&   r„   )r’   z#00FF00r�   r£  r˜   r¦  )z
$x = 10.0$z
$x = 30.0$z
$x = 50.0$c              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr   )r   r   r~  ÚLine2D)r¨  r©  s     r"   rª  z/test_contour_legend_elements.<locals>.<genexpr>ˆ  s!   è ø€ Ò@°1Œz˜!œSŸY™Y×-Ñ-×.Ñ@ùs   ‚.0c              3   óV   K  — | ]!  \  }}t        |j                  «       |«      –— Œ# y ­wr   )r   Ú	get_colorr­  s      r"   rª  z/test_contour_legend_elements.<locals>.<genexpr>‰  s)   è ø€ ò 1Ù�1�aô ˜!Ÿ+™+›-¨×+ñ 1ùr®  )r)   r*   rJ   r   r   r³  rV   r´  )r-   r.   rµ  r{   rM   r¶  r·  s          r"   Útest_contour_legend_elementsr¿  }  s¥   € Ü
�	‰	�!�RÓ€AØ	�	‰	�"�aÓ€AØ	ˆA‰€Aâ'€FÜ	�‰�Qš|Ø"Ø"ô
$€Bð ×(Ñ(Ó*�O€GˆVØÒ?Ò?Ð?Ð?ÜÑ@¸Ô@Ô@Ð@Ð@Üñ 1Ü˜w¨Ó/ô1ô 1ð 1ñ 1r1   zalgorithm, klassÚmpl2005Úmpl2014ÚserialÚthreaded)ÚinvalidNc                 ó(  — t        j                  ddgddgg«      }|�0t        j                  || ¬«      }t	        |j
                  |«      sJ ‚y t        j                  t        «      5  t        j                  || ¬«       d d d «       y # 1 sw Y   y xY w)Nrp   rv   rq   ç      @©Ú	algorithm)	r)   r   r   rž   r   rb  r   r<   r
  )rÈ  Úklassr/   rM   s       r"   Útest_algorithm_namerÊ  �  sz   € ô 	�‰�3˜�*˜s C˜jÐ)Ó*€AØÐÜ�\‰\˜! yÔ1ˆÜ˜"×/Ñ/°Ô7Ð7Ñ7ä�]‰]œ:Ó&ñ 	1Ü�L‰L˜ iÕ0÷	1÷ 	1ñ 	1ús   Á'BÂBrÈ  ©rÀ  rÁ  rÂ  rÃ  c                 ó2  — t        j                  ddgddgg«      }t        j                  || d¬«       | dk7  rt        j                  || d¬«       y t	        j
                  t        «      5  t        j                  || d¬«       d d d «       y # 1 sw Y   y xY w)	Nrp   rv   rq   rÆ  F)rÈ  r  rÀ  T)r)   r   r   rž   r   r<   r
  )rÈ  r/   s     r"   Ú#test_algorithm_supports_corner_maskrÍ  ž  s€   € ô 	�‰�3˜�*˜s C˜jÐ)Ó*€Aô ‡L�L�˜i°UÕ;ð �IÒÜ�‰�Q )¸Ö>ä�]‰]œ:Ó&ñ 	CÜ�L‰L˜ i¸TÕB÷	C÷ 	Cñ 	Cús   Á+BÂBÚcontour_all_algorithmsg¸…ëQ¸®?c                 óà  — g d¢}t         j                  j                  d«      }t        j                  t        j                  ddd«      t        j                  ddd«      «      \  }}t        j
                  d|z  «      t        j                  d|z  «      z  |j                  dd	¬
«      z   }t        j                  |t        ¬«      }d|d<   t         j                  j                  ||¬«      }t        j                  dd«      \  }}t        |j                  «       |«      D ]A  \  }	}
|	j!                  ||||
¬«       |	j#                  ||||
d¬«       |	j%                  |
«       ŒC t'        | «       y )NrË  i¥  r•   rp   r&   rl   r‚  rÝ   )rl   r&   )ÚscaleÚsizery  T)r8   r‡   rþ   r]   rÇ  rm  )rÈ  r{   )r)   r+   Údefault_rngr3   r°   rî   rï   Únormalr{  r|  r  r   r   r,   r´  Úravelrž   r   Ú	set_titler#   )re   Ú
algorithmsÚrngr-   r.   r/   rÿ   r    r¡   r    rÈ  s              r"   Útest_all_algorithmsrØ  ®  s#  € ò >€Jä
�)‰)×
Ñ
 Ó
%€CÜ�;‰;”r—{‘{ 3¨¨RÓ0´"·+±+¸cÀ3ÈÓ2JÓK�D€A€qÜ
�‰ˆr�!‰t‹”R—V‘V˜B˜q™D“\Ñ! C§J¡J°S¸w JÓ$GÑG€AÜ�=‰=˜¤$Ô'€DØ€Dˆ�JÜ
�‰�‰�A˜DˆÓ!€Aä�\‰\˜!˜QÓ�F€A€sÜ˜SŸY™Y›[¨*Ó5ò  ‰ˆˆIØ
�‰�A�q˜! yˆÔ1Ø
�
‰
�1�a˜ i¸ˆ
Ô<Ø
�‰�YÕð ô
 Ð.Õ/r1   c                  ó  — d} t        j                  dd| «      }t        j                  dd| «      }t        j                  ||«      \  }}t        j                  |dz   |dz  z
  «      }t        j                  |dz
  dz   |dz
  dz  z
  «      }||z
  dz  }t	        j
                  «       }|j                  dd¬«      }	|	D ]J  }
|
j                  «       }|j                  |||«      }|j                  |d	d
¬«       |j                  d«       ŒL y )NrÜ   rª   rq   r«   rv   r]   rT   )Únrowsr  Tr&   )rá   rz   zSimplest default with labels)r)   r*   r3   r±   r   r   Ú
subfiguresr,   r   rK   rÕ  )rå   r-   r.   r¶   r·   r¸   r¹   ræ   r   ÚfigsÚfr    rç   s                r"   Útest_subfigure_clabelrÞ  Ä  sõ   € à€EÜ
�	‰	�$˜˜UÓ#€AÜ
�	‰	�$˜˜UÓ#€AÜ�;‰;�q˜!Ó�D€A€qÜ	�‰�!�Q‘$�˜!˜Q™$‘Ó	€BÜ	�‰�1�q‘5˜Q‘,� 1 q¡5¨Q¡,Ñ.Ó	/€BØ	ˆb‰�A‰€Aä
�*‰*‹,€CØ�>‰> ¨ˆ>Ó+€Dàò 5ˆØ�Z‰Z‹\ˆØ�Z‰Z˜˜1˜aÓ ˆØ
�	‰	�"˜T¨Bˆ	Ô/Ø
�‰Ð3Õ4ñ	5r1   ri   )ÚsolidÚdashedÚdashdotÚdottedc           	      óŒ  — d}t        j                  dd|«      }t        j                  dd|«      }t        j                  ||«      \  }}t        j                  |dz   |dz  z
  «      }t        j                  |dz
  dz   |dz
  dz  z
  «      }||z
  dz  }t	        j
                  «       \  }	}
|
j                  |||dd	¬
«      }|
j                  |dd¬«       |
j                  d«       |j                  �J ‚t	        j
                  «       \  }}|j                  |||dd	| ¬«      }|j                  |dd¬«       |j                  d| › �«       |j                  | k(  sJ ‚t	        j
                  «       \  }}|j                  |||dd	| d¬«      }|j                  |dd¬«       |j                  d| › �«       |j                  | k(  sJ ‚y )NrÜ   rª   rq   r«   rv   r]   rT   rl   rm  ©r{   r'   T©rz   rá   z0Single color - positive contours solid (default))r{   Ú
linestylesz!Single color - positive contours rá  ©r{   ræ  Únegative_linestyles)
r)   r*   r3   r±   r   r,   r   rK   rÕ  ræ  )ri   rå   r-   r.   r¶   r·   r¸   r¹   ræ   Úfig1r  ÚCS1Úfig2r  ÚCS2Úfig3r2  ÚCS3s                     r"   Útest_linestylesrï  Ø  sµ  € ð €EÜ
�	‰	�$˜˜UÓ#€AÜ
�	‰	�$˜˜UÓ#€AÜ�;‰;�q˜!Ó�D€A€qÜ	�‰��A‘�˜˜1™‘Ó	€BÜ	�‰�!�a‘%˜!‘�˜q 1™u q™jÑ(Ó	)€BØ	ˆb‰�A‰€Aô —‘“�I€Dˆ#Ø
�+‰+�a˜˜A˜q¨ˆ+Ó
-€CØ‡J�Jˆs˜Q t€JÔ,Ø‡M�MÐDÔEØ�>‰>Ð!Ð!Ð!ô —‘“�I€Dˆ#Ø
�+‰+�a˜˜A˜q¨¸ˆ+Ó
?€CØ‡J�Jˆs˜Q t€JÔ,Ø‡M�MÐ5°e°WÐ=Ô>Ø�>‰>˜UÒ"Ð"Ð"ô —‘“�I€Dˆ#Ø
�+‰+�a˜˜A˜q¨¸Ø*3ð ó 5€Cà‡J�Jˆs˜Q t€JÔ,Ø‡M�MÐ5°e°WÐ=Ô>Ø�>‰>˜UÒ"Ð"Ñ"r1   c           	      ó†  — d}t        j                  dd|«      }t        j                  dd|«      }t        j                  ||«      \  }}t        j                  |dz   |dz  z
  «      }t        j                  |dz
  dz   |dz
  dz  z
  «      }||z
  dz  }t	        j
                  «       \  }	}
|
j                  |||dd	¬
«      }|
j                  |dd¬«       |
j                  d«       |j                  dk(  sJ ‚| t        j                  d<   t	        j
                  «       \  }}|j                  |||dd	¬
«      }|j                  |dd¬«       |j                  d| › d�«       |j                  | k(  sJ ‚t	        j
                  «       \  }}|j                  |||dd	| ¬«      }|j                  |dd¬«       |j                  d| › �«       |j                  | k(  sJ ‚t	        j
                  «       \  }}|j                  |||dd	d| ¬«      }|j                  |dd¬«       |j                  d| › �«       |j                  | k(  sJ ‚y )NrÜ   rª   rq   r«   rv   r]   rT   rl   rm  rä  r'   Trå  z1Single color - negative contours dashed (default)rà  zcontour.negative_linestylez!Single color - negative contours z(using rcParams))r{   rè  rá  rç  )r)   r*   r3   r±   r   r,   r   rK   rÕ  rè  r›   )ri   rå   r-   r.   r¶   r·   r¸   r¹   ræ   ré  r  rê  rë  r  rì  rí  r2  rî  Úfig4Úax4ÚCS4s                        r"   Útest_negative_linestylesrô  ú  s6  € ð €EÜ
�	‰	�$˜˜UÓ#€AÜ
�	‰	�$˜˜UÓ#€AÜ�;‰;�q˜!Ó�D€A€qÜ	�‰��A‘�˜˜1™‘Ó	€BÜ	�‰�!�a‘%˜!‘�˜q 1™u q™jÑ(Ó	)€BØ	ˆb‰�A‰€Aô —‘“�I€Dˆ#Ø
�+‰+�a˜˜A˜q¨ˆ+Ó
-€CØ‡J�Jˆs˜Q t€JÔ,Ø‡M�MÐEÔFØ×"Ñ" hÒ.Ð.Ð.ð 27„C‡L�LÐ-Ñ.Ü—‘“�I€Dˆ#Ø
�+‰+�a˜˜A˜q¨ˆ+Ó
-€CØ‡J�Jˆs˜Q t€JÔ,Ø‡M�MÐ5°e°WØ%ð&ô 'à×"Ñ" eÒ+Ð+Ð+ô —‘“�I€Dˆ#Ø
�+‰+�a˜˜A˜q¨À%ˆ+Ó
H€CØ‡J�Jˆs˜Q t€JÔ,Ø‡M�MÐ5°e°WÐ=Ô>Ø×"Ñ" eÒ+Ð+Ð+ô —‘“�I€Dˆ#Ø
�+‰+�a˜˜A˜q¨¸Ø*/ð ó 1€Cà‡J�Jˆs˜Q t€JÔ,Ø‡M�MÐ5°e°WÐ=Ô>Ø×"Ñ" eÒ+Ð+Ñ+r1   c                  ób  — t        j                  «       j                  «       } | j                  «       }| j	                  t        j                  d«      j                  d«      «      }|j                  «        | j                  «       |k7  sJ ‚|j                  «        | j                  «       |k(  sJ ‚y )NrŒ  ri  )
r   r   r›  Úget_childrenr   r)   r*   rJ   rK   Úremove)r    Úorig_childrenrM   s      r"   Útest_contour_removerù  %  s   € Ü	�‰‹×	!Ñ	!Ó	#€BØ—O‘OÓ%€MØ	�‰”B—I‘I˜b“M×)Ñ)¨&Ó1Ó	2€BØ‡I�I„KØ�?‰?Ó Ò-Ð-Ð-Ø‡I�I„KØ�?‰?Ó Ò-Ð-Ñ-r1   c                  óÆ   — t        j                  «       \  } }ddgddgg}t        j                  t        d¬«      5  |j                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr   rT   zcontour\(\) takes from 1 to 4r:   )ræ   )r   r,   r   r<   r=   r   )r   r    r¢   s      r"   Útest_contour_no_argsrû  /  sU   € Ü�l‰l‹n�G€CˆØ�ˆF�Q˜�FÐ€DÜ	�‰”yÐ(HÔ	Iñ Ø
�
‰
�Tˆ
Ô÷÷ ñ ús   »AÁA c                  óÔ   — t        j                  «       \  } }ddgddgg}t        j                  ddgd|j                  ¬«      }|j                  ||¬«      }|j                  «       €J ‚y )Nr   rT   rÝ   )râ   )Ú	clip_path)r   r,   ÚmpatchesÚCircleÚ	transAxesr   Úget_clip_path)r   r    r¢   ÚcirclerM   s        r"   Útest_contour_clip_pathr  6  sd   € Ü�l‰l‹n�G€CˆØ�ˆF�Q˜�FÐ€DÜ�_‰_˜c 3˜Z¨¸¿¹ÔE€FØ	�‰�D FˆÓ	+€BØ×ÑÓÐ)Ð)Ñ)r1   c                  óö  — t         j                  j                  dd«      \  } }t        j                  d«      dz  j	                  d«      j                  t        «      }g d¢g d¢g d¢g}t        j                  |j                  «       «      j                  j                  «       dgk(  sJ ‚t        j                  |«      j                  j                  «       dgk(  sJ ‚t        j                  t         j                  j                  ||¬«      «      j                  j                  «       dgk(  sJ ‚t        j                  |j                  «       «      j                  j                  «       g d¢k(  sJ ‚t        j                  |«      j                  j                  «       g d¢k(  sJ ‚t        j                  t         j                  j                  ||¬«      «      j                  j                  «       g d¢k(  sJ ‚|j                  «       }t        j                  | ||j                  «       «      j                  j                  «       dgk(  sJ ‚t        j                  | ||«      j                  j                  «       dgk(  sJ ‚t        j                   | ||j                  «       «      j                  j                  «       g d¢k(  sJ ‚t        j                   | ||«      j                  j                  «       g d¢k(  sJ ‚y )	Nr]   r'   )r8   r8   )FFF)FTFrÝ   rþ   )r   rÝ   rT   )r)   r+   rI   r*   rJ   Úastyper|  r   r   ÚtolistrE   r  r   rž   rÔ  Ú
tricontourÚtricontourf)r-   r.   r/   Úms       r"   Útest_bool_autolevelr
  >  s)  € Ü�9‰9�>‰>˜!˜QÓ�D€A€qÜ	�‰�1‹˜Ñ	×"Ñ" 6Ó*×1Ñ1´$Ó7€AÚ	Ò 4Ò6KÐL€AÜ�;‰;�q—x‘x“zÓ"×)Ñ)×0Ñ0Ó2°r°dÒ:Ð:Ð:Ü�;‰;�q‹>× Ñ ×'Ñ'Ó)¨b¨TÒ1Ð1Ð1Ü�;‰;”r—u‘u—{‘{ 1¨1�{Ó-Ó.×5Ñ5×<Ñ<Ó>À2À$ÒFÐFÐFÜ�<‰<˜Ÿ™›
Ó#×*Ñ*×1Ñ1Ó3²zÒAÐAÐAÜ�<‰<˜‹?×!Ñ!×(Ñ(Ó*ªjÒ8Ð8Ð8Ü�<‰<œŸ™Ÿ™ A¨A˜Ó.Ó/×6Ñ6×=Ñ=Ó?Â:ÒMÐMÐMØ	�‰‹	€AÜ�>‰>˜!˜Q §¡£
Ó+×2Ñ2×9Ñ9Ó;À¸tÒCÐCÐCÜ�>‰>˜!˜Q Ó"×)Ñ)×0Ñ0Ó2°r°dÒ:Ð:Ð:Ü�?‰?˜1˜a §¡£Ó,×3Ñ3×:Ñ:Ó<Â
ÒJÐJÐJÜ�?‰?˜1˜a Ó#×*Ñ*×1Ñ1Ó3²zÒAÐAÑAr1   c                  ó   — t        j                  t         j                  t         j                  gt         j                  t         j                  gg«      } t        t	        j
                  | «      j                  g d¢«       y )N)	g‚vIhÂ%<½gá7ÎQ5½g‚vIhÂ%,½g [n‡½r•   g [n‡=g‚vIhÂ%,=gá7ÎQ5=g‚vIhÂ%<=)r)   r   Únanr   r   r   rE   )r-   s    r"   Útest_all_nanr  O  sN   € Ü
�‰”2—6‘6œ2Ÿ6™6Ð"¤R§V¡V¬R¯V©VÐ$4Ð5Ó6€AÜœcŸk™k¨!›n×3Ñ3ò@õAr1   c                  ó¼  — t        j                  t        j                  ddd«      t        j                  ddd«      «      \  } }t        j                  | «      t        j                  |«      z  }t        j                  | ||ddg¬«      }|j                  |j                  fD ]8  }t        |«      dk(  sJ ‚t        |d   «      dk(  sJ ‚t        |d   «      dk(  rŒ8J ‚ y )	Nr   r&   r]   rÝ   rD   rS   rT   rR   )
r)   r3   r*   rî   rï   r   r   ÚallsegsÚallkindsrU   )r-   r.   r/   rM   Úresults        r"   Útest_allsegs_allkindsr  V  s¾   € Ü�;‰;”r—y‘y  B¨Ó*¬B¯I©I°a¸¸QÓ,?Ó@�D€A€qÜ
�‰ˆq‹	”B—F‘F˜1“IÑ€Aä	�‰�Q˜˜1 a¨ XÔ	.€Bð —:‘:˜rŸ{™{Ð+ò #ˆÜ�6‹{˜aÒÐÐÜ�6˜!‘9‹~ Ò"Ð"Ð"Ü�6˜!‘9‹~ Ó"Ð"Ð"ñ#r1   c            	      ód  — t        j                  t        j                  d«      j	                  d«      «      } t        j                  t        j                  d¬«      5  | j                  }d d d «       t        j                  t        j                  d¬«      5  t        | j                  D �cg c]  }|j                  «       ‘Œ c}«       d d d «       t        j                  t        j                  d¬«      5  | j                  D �cg c]  }|j                  «       ‘Œ c}k(  sJ ‚	 d d d «       t        j                  t        j                  d¬«      5  | j                  sJ ‚	 d d d «       t        j                  t        j                  d¬«      5  d| _        d d d «       t        j                  t        j                  d¬«      5  | j                  rJ ‚	 d d d «       y # 1 sw Y   �ŒvxY wc c}w # 1 sw Y   �Œ(xY wc c}w # 1 sw Y   ŒÝxY w# 1 sw Y   Œ¬xY w# 1 sw Y   ŒƒxY w# 1 sw Y   y xY w)	NrŒ  ri  r   r:   ÚtcolorsrP  ÚantialiasedF)r   r   r)   r*   rJ   r   r   r   r   r   r   r  Úget_edgecolorrP  Úget_linewidthr  )rM   Úcollsr§   s      r"   Útest_deprecated_apisr  c  sŸ  € Ü	�‰”R—Y‘Y˜r“]×*Ñ*¨6Ó2Ó	3€BÜ	�‰”c×6Ñ6¸mÔ	Lñ Ø—‘ˆ÷ä	�‰”c×6Ñ6¸iÔ	Hñ KÜ˜2Ÿ:™:À5Ö'I¸a¨¯©Õ(9Ò'IÔJ÷Kä	�‰”c×6Ñ6¸mÔ	Lñ DØ�~‰~¸UÖ!C¸ !§/¡/Õ"3Ò!CÒCÐCÑC÷Dä	�‰”c×6Ñ6¸mÔ	Lñ Ø�~Š~Ð‰~÷ä	�‰”c×6Ñ6¸mÔ	Lñ ØˆŒ÷ä	�‰”c×6Ñ6¸mÔ	Lñ "Ø—>’>Ð!Ð!�>÷"ð "÷ñ üò (J÷Kñ Küò "D÷Dð Dú÷ð ú÷ð ú÷"ð "úsl   ÁGÂG0Â,G+ÃG0Ã7HÄG=ÄHÅHÆHÇH&ÇG(Ç+G0Ç0G:Ç=HÈHÈHÈH#È&H/)WrË   Úplatformr>   Úunittestr   Ú	contourpyÚnumpyr)   Únumpy.testingr   r   r   Ú
matplotlibr   r   r   r   r	   Úmatplotlib.colorsr
   r   r¯  Úpatchesrþ  Úmatplotlib.testing.decoratorsr   r   r   r#   r0   r6   ÚmarkÚparametrizer*   ÚemptyrB   rN   rY   rd   r�   rŒ   r¨   r»   rÚ   rê   rú   r  r  r  r  r#  r(  r8  ÚmachinerA  rI  rV  ÚbackendrZ  r`  rf  rv  r  r“  r•  ri   Úcontextr   r¹  r¿  ÚMpl2005ContourGeneratorÚMpl2014ContourGeneratorÚSerialContourGeneratorÚThreadedContourGeneratorrÊ  rÍ  rØ  rÞ  rï  rô  rù  rû  r  r
  r  r  r  rY  r1   r"   ú<module>r-     s  ðÛ Û Û 	Ý ã Û ÷Sñ Sã ß 8Ñ 8ß 1Ý %ß OÛ ò
)òòð ‡�×Ñ˜Ø€b‡i�i�ƒl�I�B—I‘I˜a“L ( "§(¡(¨7Ó"3Ð4Ø=ð?à€b‡i�i�ƒm�Y�R—Y‘Y˜r“] H B§H¡H¨WÓ$5Ð6Ø:ð<à€b‡h�hˆxÓ˜)˜"Ÿ)™) B›-¨¨¯©°'Ó):Ð;Ø;ð=à€b‡i�i�ƒm�X�R—X‘X˜hÓ'¨¨¯©°'Ó):Ð;Ø;ð=à€b‡h�hˆvÓ˜˜Ÿ™ Ó)¨8¨2¯8©8°GÓ+<Ð=Ø4ð6à€b‡h�hˆwÓ˜˜Ÿ™ &Ó)¨8¨2¯8©8°GÓ+<Ð=Ø4ð6à€b‡h�hˆyÓ˜8˜2Ÿ8™8 IÓ.°°·±¸Ó0AÐBØ.ð0à€b‡h�hˆyÓ˜8˜2Ÿ8™8 IÓ.°°·±¸Ó0CÐDØ!ð#à	€s€e€XØKðMà€cˆAˆ3�!��ÐØKðMð'+ó ñ,ó-ð,ò	 ò,ñ   Ô(ñ*ó )ð*ð ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ*Ð+¸ÀWÐRVÔWñDó Xó =ðDð ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ2Ð3Ø"¨'¸u¸gôGñ0óGó =ð0ð  ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ9Ð:ÈÔMñ0ó Nó =ð0ð@ ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ,Ð-°WÈ%ÔPñ0ó Qó =ð0ð, ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ.Ð/°wÔ?ñ0ó @ó =ð0ð4 ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ6Ð7Ø"¨'°sô<ñ0ó<ó =ð0òBð2 ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ2Ð4RÐSØ"¨ô.ñ0ó.ó =ð0ò"$òBòð ‡�×ÑÐHòAóBñ=óBð=ò,.ð& ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ.Ð/Ø"¨'Øôñ 0óó =ð 0ðF ‡�×ÑÐ,¨u°d¨mÓ<ÙØÐ¨$°gØ �× Ñ Ó"Ð&EÑE‰Øôñ0óó =ð0ð" ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ#3Ð"4Ø#˜W°$¸gôGñ0óGó =ð0ð  ‡�×ÑØIò L
óñ
4óð
4ð ‡�×Ñ�UÓñ.ó ð.ð
 ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ#=Ð">Ø#˜W°$ô8ñ	0ó8ó =ð	0ò
>ð ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ#3Ð"4Ø#˜W°$¸DôBñ0óBó =ð0ð4 ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ#FÐ"GØ#˜W°$ô8ñ0ó8ó =ð0ò"Aò,Bð ‡�×Ñ�9ÓñNó ðNò:ò.1ð  ‡�×ÑØØ�×2Ñ2Ð3Ø�×2Ñ2Ð3Ø�	×0Ñ0Ð1Ø�)×4Ñ4Ð5Øð	óñ1óð1ð ‡�×ÑØÒ=ó?ñCó?ðCð ‡�×ÑÐ,¨u°d¨mÓ<ÙÐ#;Ð"<Ø#˜W°$¸DôBñ0óBó =ð0ò&5ð( ‡�×ÑØÒ5ó7ñ#ó7ð#ð@ ‡�×ÑØÒ5ó7ñ&,ó7ð&,òR.òò*òBò"Aò
#ó"r1   