§
    ‚Øjo~  ã                   óð  — 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
 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mZ d dlZd„ Zd	„ Zej          !                    d
 ej"        d¦  «         ej"        d¦  «         ej#        d¦  «        fdf ej"        d¦  «         ej"        d¦  «         ej#        d¦  «        fdf ej#        d¦  «         ej"        d¦  «         ej#        d¦  «        fdf ej"        d¦  «         ej#        d¦  «         ej#        d¦  «        fdf ej#        d¦  «         ej#        d¦  «         ej#        d¦  «        fdf ej#        d¦  «         ej#        d¦  «         ej#        d¦  «        fdf ej#        d¦  «         ej#        d¦  «         ej#        d¦  «        fdf ej#        d¦  «         ej#        d¦  «         ej#        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„ ¦   «         Z' edgdd ¬!¦  «        d"„ ¦   «         Z(d#„ Z) ed$gdd ¬!¦  «        d%„ ¦   «         Z* ed&gdd' ej+        ¦   «         d(k    rd nd)¬*¦  «        d+„ ¦   «         Z, ed,gdd ¬!¦  «        d-„ ¦   «         Z-ej          !                    d.g d/¢¦  «        d0„ ¦   «         Z. ed1gd d2¬3¦  «        d4„ ¦   «         Z/ej          !                    d5g d6¢¦  «        d7„ ¦   «         Z0 ed8gd ¬9¦  «        d:„ ¦   «         Z1 ed;gdd  eej2        j2        ¦  «        j3        d<k     rd=n ej+        ¦   «         d(k    rd nd>¬*¦  «        d?„ ¦   «         Z4d@„ Z5dA„ Z6 edBdCgdd'dD¬*¦  «        dE„ ¦   «         Z7dF„ Z8dG„ Z9dH„ Z:ej          !                    dIg dJ¢¦  «        dK„ ¦   «         Z;dL„ Z< edMgdd dN¬*¦  «        dO„ ¦   «         Z= edPgdd  ej+        ¦   «         d(k    rdQndR¬*¦  «        dS„ ¦   «         Z> edTgdd ¬!¦  «        dU„ ¦   «         Z?ej          !                    dVg dW¢¦  «        dX„ ¦   «         Z@ej          A                    dY¦  «        dZ„ ¦   «         ZB ed[gdd'¬!¦  «        d\„ ¦   «         ZCd]„ ZD ed^gdd'd_¬*¦  «        d`„ ¦   «         ZE edagdd'¬!¦  «        db„ ¦   «         ZFdc„ ZGdd„ ZHejI         J                    de¦  «        df„ ¦   «         ZKdg„ ZLdh„ ZMej          !                    didjejN        fdkejO        fdlejP        fdmejQ        fdng¦  «        do„ ¦   «         ZRej          !                    dpg dq¢¦  «        dr„ ¦   «         ZS edsgdd'dt¬*¦  «        du„ ¦   «         ZTdv„ ZUej          !                    dwg dx¢¦  «        dy„ ¦   «         ZVej          !                    dwg dx¢¦  «        dz„ ¦   «         ZWd{„ ZXd|„ ZYd}„ ZZd~„ Z[d„ Z\d€„ Z]d�„ Z^ ed‚gdƒd„id ¬…¦  «        d†„ ¦   «         Z_ e¦   «         d‡„ ¦   «         Z`dˆ„ Zad‰„ ZbdS )Šé    N)Úmock)Úassert_array_almost_equalÚassert_array_almost_equal_nulp)ÚpyplotÚ
rc_contextÚticker)ÚLogNormÚ
same_color)Úcheck_figures_equalÚimage_comparison)Úparsec                  óî   — t          j        d¦  «        } t          j        d¦  «        }t           j                             d¦  «        }t          j        ¦   «         \  }}|                     | ||¦  «         d S ©Né
   é	   ©r   r   )ÚnpÚarangeÚrandomÚpltÚsubplotsÚcontour)ÚxÚyÚzÚfigÚaxs        ú’/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_contour.pyÚtest_contour_shape_1d_validr      s\   € å
Œ	�"‰Œ€AÝ
Œ	�!‰Œ€AÝ
Œ	×Ò˜Ñ!Ô!€AåŒl‰nŒn�G€CˆØ‡J‚Jˆq�!�QÑÔÐÐÐó    c                  ó  — t          j        d¦  «        } t          j        d¦  «        }t          j        | |¦  «        \  }}t           j                             d¦  «        }t	          j        ¦   «         \  }}|                     |||¦  «         d S r   )r   r   Úmeshgridr   r   r   r   )r   r   ÚxgÚygr   r   r   s          r   Útest_contour_shape_2d_validr%      sq   € å
Œ	�"‰Œ€AÝ
Œ	�!‰Œ€AÝŒ[˜˜AÑÔ�F€BˆÝ
Œ	×Ò˜Ñ!Ô!€AåŒl‰nŒn�G€CˆØ‡J‚Jˆr�2�qÑÔÐÐÐr    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)é   r(   r(   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 ¦  «         d S # 1 swxY w Y   d S )N©Úmatch)r   r   ÚpytestÚraisesÚ	TypeErrorÚreÚescaper   )ÚargsÚmessager   r   s       r   Útest_contour_shape_errorr3   '   s¥   € õ. Œl‰nŒn�G€CˆÝ	Œ•y­¬	°'Ñ(:Ô(:Ð	;Ñ	;Ô	;ð ð ØˆŒ
�DÐÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁAÁA Á#A c                  ó–  — t          j        ¦   «         \  } }|                     t          j                             dd¦  «        g ¬¦  «         |                     t          j        d¦  «                             d¦  «        dg¬¦  «        }|                     |ddi¬¦  «         |                     t          j	        d¦  «        ¦  «         d S )Nr   ©ÚlevelséQ   r'   éd   z%1.2f)Úfmt)
r   r   r   r   r   Úrandr   ÚreshapeÚclabelÚones©r   r   Úcss      r   Útest_contour_no_valid_levelsr@   C   sž   € ÝŒl‰nŒn�G€Cˆà‡J‚J�rŒy�~Š~˜a Ñ#Ô#¨B€JÑ/Ô/Ð/à	�Š•B”I˜b‘M”M×)Ò)¨&Ñ1Ô1¸3¸%ˆÑ	@Ô	@€Bà‡I‚Iˆb�s˜G�n€IÑ%Ô%Ð%à‡J‚J�rŒw�v‰ŒÑÔÐÐÐr    c                  óV  — t          j        d¦  «                             d¦  «        } t          j        ¦   «         \  }}|                     | d¦  «        }t          |j        ¦  «        dk    sJ ‚|                     | d¬¦  «        }|j        |j        k                         ¦   «         sJ ‚d S )Né   ©r(   é   é   é   r5   )	r   r   r;   r   r   r   Úlenr6   Úall)r   r   r   Úcs1Úcs2s        r   Útest_contour_NlevelsrK   O   s–   € õ 	Œ	�"‰Œ×Ò˜fÑ%Ô%€AÝŒl‰nŒn�G€CˆØ
�*Š*�Q˜Ñ
Ô
€CÝˆsŒz‰?Œ?˜QÒÐÐÐØ
�*Š*�Q˜qˆ*Ñ
!Ô
!€CØŒJ˜#œ*Ò$×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r    c                 ó  — |                       ¦   «                              ddgddgg¦  «        }|                      ¦   «                              ddgddgg¦  «        }|                     |                     ¦   «         ¦  «         d S )Nr   rF   é   )r   r   Ú	set_pathsÚ	get_paths)Úfig_testÚfig_refÚcs_testÚcs_refs       r   Útest_contour_set_pathsrT   Z   s€   € à×ÒÑ!Ô!×)Ò)¨A¨q¨6°A°q°6Ð*:Ñ;Ô;€GØ×ÒÑÔ×'Ò'¨!¨Q¨°!°Q°Ð(8Ñ9Ô9€Fà×Ò�f×&Ò&Ñ(Ô(Ñ)Ô)Ð)Ð)Ð)r    Úcontour_manual_labelsTÚmpl20)Úremove_textÚstylec                  ó  — 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          j	        g d¢¦  «        }t          j
        ||¬¦  «         t          j	        g d	¢¦  «        }t          j
        ||d
d¬¦  «         d S )Nr   r   rM   )é   rM   éÈ   )ÚfigsizeÚdpi))ç      ð?ç      @)r^   çš™™™™™@)r^   ç      @©Úmanual))ç       @r_   )rd   r`   )rd   ra   Úsmall)ÚrÚg)rc   ÚfontsizeÚcolors)r   r"   r   ÚmaxÚdstackÚabsr   Úfigurer   Úarrayr<   )r   r   r   r?   Úptss        r   Útest_contour_manual_labelsrp   b   sã   € åŒ;•r”y  BÑ'Ô'­¬°1°bÑ)9Ô)9Ñ:Ô:�D€A€qÝ
Œ�rŒy�#˜a™&œ&¥# a¡&¤&Ð)Ñ*Ô*¨AÑ.Ô.€Aå„J�v 3Ð'Ñ'Ô'Ð'Ý	Œ�Q˜˜1Ñ	Ô	€Bå
Œ(Ð7Ð7Ð7Ñ
8Ô
8€CÝ„Jˆr˜#ÐÑÔÐÝ
Œ(Ð7Ð7Ð7Ñ
8Ô
8€CÝ„Jˆr˜#¨¸
ÐCÑCÔCÐCÐCÐCr    c                  óR  — t          j        dd¦  «        } t          j        dd¦  «        }t          j        | |¦  «        \  }}|dz  dz  |dz  z  dz
  }t          j        |||ddg¬¦  «        }d}t          j        ||g¬	¦  «        }|d                              ¦   «         d
k    sJ ‚d S )Niöÿÿÿr   rM   rF   r   r8   r5   )gÍÌÌÌÌÌô?rF   rb   Ú0)r   Úlinspacer"   r   r   r<   Úget_text)r   r   ÚXÚYÚZÚcontoursÚpointÚclabelss           r   Útest_contour_manual_movetor{   p   sµ   € Ý
Œ�C˜ÑÔ€AÝ
Œ�C˜ÑÔ€AåŒ;�q˜!ÑÔ�D€A€qà	ˆ1‰ˆq‰�1�a‘4‰˜!Ñ€AåŒ{˜1˜a ¨A¨s¨8Ð4Ñ4Ô4€Hð €EÝŒj˜¨5¨'Ð2Ñ2Ô2€Gð �1Œ:×ÒÑ Ô  CÒ'Ð'Ð'Ð'Ð'Ð'r    z!contour_disconnected_segments.pngc                  ód  — 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¬¦  «        }|                     d	g¬
¦  «         d S )NéÿÿÿÿrF   y              5@ç{®Gáz„?ç333333Ó?rM   é   r5   )çš™™™™™É?çš™™™™™¹?rb   )r   ÚmgridÚsqrtr   rm   r   r<   )r   r   r   r?   s       r   Ú-test_contour_label_with_disconnected_segmentsr…   ƒ   s¿   € õ Œ8�B�q˜�H˜b  3˜hÐ&Ô'�D€A€qØ	�BŒG�D˜A ™G¨™>Ñ)¨A°©FÑ2Ñ3Ô3Ñ3€AØˆ�RŒW�T˜Q ™W¨™NÑ*¨Q°!©VÑ3Ñ4Ô4Ñ	4Ñ4€Aå„J�L„L€LÝ	Œ�Q˜˜1 a SÐ	)Ñ	)Ô	)€BØ‡I‚I�j�\€IÑ"Ô"Ð"Ð"Ð"r    z$contour_manual_colors_and_levels.pngÚ_classic_testÚx86_64g;ßO�—n’?)rW   rX   Útolc                  óê  — dt           j        d<   t          j        dd¦  «        \  } }t          j        d¦  «                             dd¦  «        }g d¢}g d¢}t          |j        ¦  «        D ]†\  }}|dz  d	k    }g d
¢|dz           }|r2|dv rdnd }	|dv rdnd }
|                     |||	|
…         ||¬¦  «        }n!| 	                    ||d d…         ||¬¦  «        }t          j
        ||¬¦  «         Œ‡d S )NFúpcolormesh.snaprM   rD   rB   r(   )ÚredÚyellowÚpinkÚblueÚblack)rM   rD   é   r   ç        )ÚneitherÚminrj   Úboth)rj   r’   rF   )r“   r’   r}   )ri   r6   Úextend©r   )r   ÚrcParamsr   r   r   r;   Ú	enumerateÚflatÚcontourfr   Úcolorbar)Ú_ÚaxsÚdatari   r6   Úir   Úfilledr•   Úfirst_colorÚ
last_colorÚcs               r   Ú$test_given_colors_levels_and_extendsr¤   �   sC  € ð
 ',…C„LÐ"Ñ#åŒ\˜!˜QÑÔ�F€A€såŒ9�R‰=Œ=× Ò   AÑ&Ô&€Dà7Ð7Ð7€FØˆ]ˆ]€Få˜3œ8Ñ$Ô$ð ð ‰ˆˆ2Ø�Q‘˜"’ˆØ2Ð2Ð2°1¸±6Ô:ˆàð 
	9ð  &Ð);Ð;Ð;˜!˜!ÀˆKØ%Ð);Ð;Ð;˜˜ÀˆJØ—’˜D¨°¸JÐ0FÔ)GØ#)°&ð ñ :ô :ˆAˆAð —
’
˜4¨¨s°¨s¬Ø"(°ð ñ 9ô 9ˆAõ 	Œ�Q˜2ÐÑÔÐÐð!ð r    zcontourf_hatch_colors.pngc                  ó    — t          j        ¦   «         \  } }|                     ddgddggg d¢d¬¦  «        }|                     g d¢¦  «         d S )Nr   rF   rM   )ú-ú/ú\z//Úgray)ÚhatchesÚcmap)rŽ   ÚgreyrŒ   r‹   )r   r   rš   Úset_edgecolors)r   r   Úcfs      r   Útest_hatch_colorsr¯   °   s]   € åŒl‰nŒn�G€CˆØ	�Š�q˜!�f˜q !˜fÐ%Ð/EÐ/EÐ/EÈFˆÑ	SÔ	S€BØ×ÒÐ7Ð7Ð7Ñ8Ô8Ð8Ð8Ð8r    zcolor, extend))Údarkredr’   )r°   r”   ))rf   ç      à?r’   ))r‚   r�   r±   r   r’   c                 óÎ   — ddgddgg}t          j        ¦   «         \  }}g d¢}|                     ||| |¬¦  «        }|                     ¦   «         D ]}t	          || ¦  «        sJ ‚Œd S )Nr   rF   rM   )r±   ç      è?rF   g      ô?ç      ø?©r6   ri   r•   )r   r   r   Úget_edgecolorsr
   )Úcolorr•   r   rœ   r   r6   r?   r£   s           r   Útest_single_color_and_extendr¸   ·   s‡   € ð
 ˆQˆ�!�Q�Ð€AåŒL‰NŒN�E€A€rØ&Ð&Ð&€FØ	�Š�A˜f¨U¸6ˆÑ	BÔ	B€BØ×ÒÑ Ô ð $ð $ˆÝ˜!˜UÑ#Ô#Ð#Ð#Ð#Ð#ð$ð $r    zcontour_log_locator.svgF)rX   rW   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   }	|                     |	t          j        ¦   «         ¬	¦  «        }
t          |
j
        t          j        d
t          j        dd¦  «        ¦  «        ¦  «         |                      |
|¬¦  «        }t          |j                             ¦   «         |
j
        ¦  «         d S )Nr8   ç      Àr_   ç       Àrd   rM   r   é2   ©Úlocatorç      $@iúÿÿÿr(   r–   )r   r   r   rs   r"   Úexprš   r   Ú
LogLocatorr   r6   Úpowerr   r›   r   Ú
get_yticks)r   r   ÚNr   r   ru   rv   ÚZ1ÚZ2rž   r£   Úcbs               r   Útest_log_locator_levelsrÈ   Å   s&  € õ Œl‰nŒ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Ñ"5Ô"5ˆÑ6Ô6€AÝ˜aœh­¬°µr´yÀÀQÑ7GÔ7GÑ(HÔ(HÑIÔIÐIØ	�Š�a˜BˆÑ	Ô	€BÝ˜bœe×.Ò.Ñ0Ô0°!´(Ñ;Ô;Ð;Ð;Ð;r    Ún_levels)rM   r(   rD   rE   rZ   c                 ó  — t           j        ddd…ddd…f         \  }}t          j        t          j        |¦  «        t          j        |¦  «        z  ¦  «        }t          j        ¦   «         \  }}|                     |||t          ¦   «         | ¬¦  «        }| 	                    ||¬¦  «         |j
        }|||                     ¦   «         k    ||                     ¦   «         k    z           }t          |¦  «        | dz   k    sJ ‚d S )NrF   r   r‚   )Únormr6   r–   )r   rƒ   rl   ÚsinrÀ   r   r   r   r	   r›   r6   rj   r“   rG   )	rÉ   r   r   rž   r   r   Úimr6   Úvisible_levelss	            r   Útest_lognorm_levelsrÏ   Ú   sÞ   € åŒ8�A�b˜�H˜a  3˜hÐ&Ô'�D€A€qÝŒ6•"”&˜‘)”)�BœF 1™IœIÑ%Ñ&Ô&€DåŒl‰nŒn�G€CˆØ	�Š�A�q˜$¥W¡Y¤Y°xˆÑ	@Ô	@€BØ‡L‚L�˜€LÑÔÐàŒY€FØ˜V t§x¢x¡z¤zÒ1°fÀÇÂÁ
Ä
Ò6JÑKÔL€Nåˆ~ÑÔ (¨Q¡,Ò.Ð.Ð.Ð.Ð.Ð.r    zcontour_datetime_axis.png)rX   c                  ó2  ‡— t          j        ¦   «         } |                      ddd¬¦  «         t          j        ddd¦  «        Št	          j        ˆfd„t          d¦  «        D ¦   «         ¦  «        }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        |||¦  «         |                      ¦   «         D ]C}|                     ¦   «         D ],}|                     d¦  «         |                     d¦  «         Œ-ŒDd S )Ngš™™™™™Ù?g\�Âõ(\ï?ç333333Ã?)ÚhspaceÚtopÚbottomiÝ  rF   c                 ó@   •— g | ]}‰t          j        |¬ ¦  «        z   ‘ŒS ))Údays)ÚdatetimeÚ	timedelta)Ú.0ÚdÚbases     €r   ú
<listcomp>z.test_contour_datetime_axis.<locals>.<listcomp>î   s,   ø€ ÐGÐGÐG¸�$�Ô+°Ð3Ñ3Ô3Ñ3ÐGÐGÐGr    é   éÝ   éÞ   r   )Úaxiséß   éà   Úrighté   )r   rm   Úsubplots_adjustr×   r   rn   Úranger   r"   Úsubplotr   rš   ÚrepeatÚnewaxisÚget_axesÚget_xticklabelsÚset_haÚset_rotation)	r   r   r   Úz1Úz2r   r   ÚlabelrÛ   s	           @r   Útest_contour_datetime_axisrñ   é   sÝ  ø€ å
Œ*‰,Œ,€CØ×Ò˜s¨°SÐÑ9Ô9Ð9ÝÔ˜T 1 aÑ(Ô(€DÝ
ŒÐGÐGÐGÐG½UÀ2¹Y¼YÐGÑGÔGÑHÔH€AÝ
Œ	�"‰Œ€AÝŒ[�œ 2™œ­¬	°"©¬Ñ6Ô6�F€BˆØ
ˆR‰€AÝ„K�ÑÔÐÝ„K��1�aÑÔÐÝ„K�ÑÔÐÝ„L��A�qÑÔÐÝ
Œ	�!•B”J”- ¨!Ð,Ñ,Ô,€AÝ
Œ	�!�A�A�A•r”z�MÔ" B¨QÐ/Ñ/Ô/€AÝ„K�ÑÔÐÝ„K��1�aÑÔÐÝ„K�ÑÔÐÝ„L��A�qÑÔÐØ�lŠl‰nŒnð #ð #ˆØ×'Ò'Ñ)Ô)ð 	#ð 	#ˆEØ�LŠL˜Ñ!Ô!Ð!Ø×Ò˜rÑ"Ô"Ð"Ð"ð	#ð#ð #r    z!contour_test_label_transforms.pngrM   rF   g{®Gázt?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¦  «        \  }}	|	                     |||¦  «        }
g d¢}g d¢}|
                     ¦   «          |D ]\  }}|
 	                    ||dd ¬¦  «         Œ|D ]\  }}|
 	                    ||dd¬¦  «         Œd S )Nçš™™™™™™?rº   r_   r»   rd   rM   rF   r´   r±   r¿   ))éØ   é±   )ig  i"  )i	  i–  ))éþÿÿÿr±   )r   g      ø¿)gffffff@rF   T)ÚinlineÚ	transformF)
r   r   r"   rÀ   Úpir   r   r   r<   Úadd_label_near)Údeltar   r   ru   rv   rÅ   rÆ   rw   r   r   ÚCSÚ
disp_unitsÚ
data_unitss                r   Útest_labelsrÿ     s‹  € ð €EÝ
Œ	�$˜˜UÑ#Ô#€AÝ
Œ	�$˜˜UÑ#Ô#€AÝŒ;�q˜!ÑÔ�D€A€qÝ	Œ�!�Q‘$˜˜A™‘+� Ñ"Ñ	#Ô	# q­2¬5¡yÑ	1€BÝ
Œ&�Q˜‘U˜c‘M AÑ%¨!¨a©%°3©¸Ñ(:Ñ:Ð;¸aÑ?Ñ
@Ô
@Ø�rŒu‰9�s‰?˜SÑ ñ"€Bð 	��R‘Ñ€AåŒl˜1˜aÑ Ô �G€CˆØ	�Š�A�q˜!Ñ	Ô	€BØ5Ð5Ð5€JØ0Ð0Ð0€Jà‡I‚I�K„K€Kàð =ð =‰ˆˆ1Ø
×Ò˜!˜Q t°tÐÑ<Ô<Ð<Ð<àð >ð >‰ˆˆ1Ø
×Ò˜!˜Q t°uÐÑ=Ô=Ð=Ð=ð>ð >r    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   }|                     |||¦  «        }t          j
                             |d	|j        ¬
¦  «        5 }|                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d„ |j        D ¦   «         }	d|	v sJ ‚d S )Nr8   )r]   rM   r¼   r³   r�   rD   r±   Ú"_split_path_and_get_label_rotation)Úwrapsr   )rh   c                 ó*   — g | ]}|d          d         ‘ŒS )r   rF   © )rÙ   Úcargss     r   rÜ   z,test_label_contour_start.<locals>.<listcomp>7  s    € ÐDÐDÐD˜EˆE�!ŒH�QŒKÐDÐDÐDr    r   )r   r   r   rs   rù   r"   rÌ   Úcosr   r   ÚpatchÚobjectr  r<   Úcall_args_list)
rœ   r   ÚlatsÚlonsÚwaveÚmeanrž   r?   Úmocked_splitterÚidxss
             r   Útest_label_contour_startr  "  s’  € õ ŒL˜SÐ!Ñ!Ô!�E€A€rÝ”+�rœu˜f q™j­"¬%°!©)°RÑ8Ô8Ð8€Dˆ4Ý”˜T 4Ñ(Ô(�J€Dˆ$Ø•2”6˜!˜d™(Ñ#Ô# qÑ(Ñ)­B¬F°1°t±8Ñ,<Ô,<Ñ<€DØ•”˜˜D™Ñ!Ô!Ñ!¥b¤f¨Q°©XÑ&6Ô&6¸1Ñ%<¸qÑ%@ÑA€DØ�$‰;€Dà	�Š�D˜$ Ñ	%Ô	%€Bå	Œ×	Ò	ØÐ4ØÔ7ð 
ñ 
9ô 
9ð à<Kà
�	Š	˜1ˆ	ÑÔÐð	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð EÐD _Ô%CÐDÑDÔD€DØ�ˆ9ˆ9ˆ9ˆ9ˆ9ˆ9s   ÄD7Ä7D;Ä>D;c                  óv  — t          j        t          j        d¦  «        t          j        d¦  «        ¦  «        \  } }t          j        ¦   «         \  }}|                     | || |z   ¦  «        }t          j        t          j	        ¦  «        5  | 
                    |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )r   r"   r   r   r   rš   r,   ÚwarnsÚmplÚMatplotlibDeprecationWarningr<   )ru   rv   rœ   r   r?   s        r   Ú%test_clabel_raises_on_filled_contoursr  ;  sÕ   € ÝŒ;•r”y ‘}”}¥b¤i°¡m¤mÑ4Ô4�D€A€qÝŒL‰NŒN�E€A€rØ	�Š�Q˜˜1˜q™5Ñ	!Ô	!€Bå	Œ•cÔ6Ñ	7Ô	7ð ð Ø
�	Š	�"‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB.Â.B2Â5B2zcontour_corner_mask_False.pngzcontour_corner_mask_True.pngg®Gázþ?c                  ó^  — d} d}d}t           j                             dg¦  «         t          j        t          j        dd| ¦  «        t          j        dd| ¦  «        ¦  «        \  }}t          j        d|z  ¦  «        t          j        d|z  ¦  «        z  |t           j                             | | ¦  «        z  z   }t           j                             | | ¦  «        |k    }t           j         	                    ||¬	¦  «        }d
D ]+}t          j        ¦   «          t          j        ||¬¦  «         Œ,d S )Né<   çffffffî?r^   rF   r   rd   r€   r�   ©Úmask)FT©Úcorner_mask)r   r   Úseedr"   rs   r  rÌ   r:   Úmarn   r   rm   rš   )ÚnÚ
mask_levelÚ	noise_ampr   r   r   r  r  s           r   Útest_corner_maskr"  D  s  € ð 	€AØ€JØ€IÝ„I‡N‚N�A�3ÑÔÐÝŒ;•r”{ 1 c¨1Ñ-Ô-­r¬{¸1¸cÀ1Ñ/EÔ/EÑFÔF�D€A€qÝ
Œˆq�‰s‰Œ•B”F˜1˜Q™3‘K”KÑ )­B¬I¯NªN¸1¸aÑ,@Ô,@Ñ"@Ñ@€AÝŒ9�>Š>˜!˜QÑÔ :Ò-€DÝ
Œ�Š�A˜DˆÑ!Ô!€Aà$ð 1ð 1ˆÝŒ
‰ŒˆÝŒ�Q KÐ0Ñ0Ô0Ð0Ð0ð1ð 1r    c                  óÎ   — ddgddgg} t          j        ¦   «          t          j        t          ¦  «        5  t          j        | ddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‚   r   r±   çffffffæ?r^   r‘   )r   rm   r,   r-   Ú
ValueErrorrš   )r   s    r   Útest_contourf_decreasing_levelsr&  U  s©   € à
ˆsˆ�c˜3�ZÐ €AÝ„J�L„L€LÝ	Œ•zÑ	"Ô	"ð $ð $ÝŒ�Q˜˜c˜
Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   µAÁAÁ!Ac                  óþ   — t          j        d¦  «                             d¦  «        } t          j        dd¬¦  «        }t          j        | |¬¦  «        }t          |j        t          j        ddd¦  «        ¦  «         d S )	NrB   rC   rD   T)ÚnbinsÚ	symmetricr½   iôÿÿÿrE   )	r   r   r;   r   ÚMaxNLocatorrš   r   r6   rs   )r   r¾   r?   s      r   Útest_contourf_symmetric_locatorr+  ]  sk   € å
Œ	�"‰Œ×Ò˜fÑ%Ô%€AÝŒo A°Ð6Ñ6Ô6€GÝ	Œ�a Ð	)Ñ	)Ô	)€BÝ˜bœi­¬°S¸"¸aÑ)@Ô)@ÑAÔAÐAÐAÐAr    c                  ó*  — t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  } }t          j        | |¦  «        }t	          j        ¦   «          t	          j        | ||¦  «        }t	          j        |¦  «         d S )Nrö   rM   rD   )r   r"   rs   Úhypotr   rm   r   r<   )r   r   rf   r?   s       r   Útest_circular_contour_warningr.  e  sq   € åŒ;•r”{ 2 q¨!Ñ,Ô,­b¬k¸"¸aÀÑ.CÔ.CÑDÔD�D€A€qÝ
Œ��A‰Œ€AÝ„J�L„L€LÝ	Œ�Q˜˜1Ñ	Ô	€BÝ„Jˆr�N„N€N€N€Nr    z-use_clabeltext, contour_zorder, clabel_zorder))Té{   éÒ  )Fr/  r0  )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|z   }
n|}
|	D ]}| 
                    ¦   «         |
k    sJ ‚Œd S )Nr   r   rM   )Úzorder)r2  Úuse_clabeltext)r   r"   r   rj   rk   rl   r   r   r   r<   Ú
get_zorder)r3  Úcontour_zorderÚclabel_zorderr   r   r   r   r   r?   rz   Úexpected_clabel_zorderr<   s               r   Útest_clabel_zorderr8  n  sî   € õ Œ;•r”y  BÑ'Ô'­¬°1°bÑ)9Ô)9Ñ:Ô:�D€A€qÝ
Œ�rŒy�#˜a™&œ&¥# a¡&¤&Ð)Ñ*Ô*¨AÑ.Ô.€AåŒl‰nŒn�G€CˆØ	�Š�A�q˜! NˆÑ	3Ô	3€BØ�iŠi˜}¸^ˆiÑLÔL€GàÐØ!" >Ñ!1ÐÐà!.Ðàð =ð =ˆØ× Ò Ñ"Ô"Ð&<Ò<Ð<Ð<Ð<Ð<ð=ð =r    c                  ó2  — t          j        ddd¦  «        x} }t          j        | |¦  «        \  }}t          j        |dz   |dz  z
  ¦  «        }t	          j        ¦   «         \  }}|                     |||g d¢¬¦  «        }|                     |d¬¦  «         d S )	Nrº   g®Gáz@çš™™™™™©?rM   )r~   r�   r±   gš™™™™™é?r5   r8   )Úinline_spacing)r   r   r"   rÀ   r   r   r   r<   )r   r   ru   rv   rw   r   r   Ú
contoursets           r   Útest_clabel_with_large_spacingr=  ‚  s™   € õ ŒI�d˜D $Ñ'Ô'Ð'€AˆÝŒ;�q˜!ÑÔ�D€A€qÝ
Œ��1‘ˆu�q˜!‘t‰|ÑÔ€AåŒl‰nŒn�G€CˆØ—’˜A˜q !Ð,?Ð,?Ð,?�Ñ@Ô@€JØ‡I‚Iˆj¨€IÑ-Ô-Ð-Ð-Ð-r    zcontour_log_extension.pngg´Èv¾Ÿ÷?c                  óÂ  — dt           j        d<   t          j        ddd¬¦  «        \  } \  }}}|                      dd¬	¦  «         t	          j        d
dd¦  «        }t	          j        d|¦  «                             dd¦  «        }t	          j        dd¦  «        }t	          j        d|¦  «        }| 	                    |t          |                     ¦   «         |                     ¦   «         ¬¦  «        t          j                             dt	          j        ddd¦  «        z  ¦  «        ¬¦  «        }| 	                    ||t          |                     ¦   «         |                     ¦   «         ¬¦  «        d¬¦  «        }	| 	                    ||t          |                     ¦   «         |                     ¦   «         ¬¦  «        d¬¦  «        }
t          j        ||¬¦  «        }|j                             ¦   «         dk    sJ ‚t          j        |	|¬¦  «        }t'          |j                             ¦   «         t	          j        d¦  «        ¦  «         t          j        |
|¬¦  «        }d S )NFrŠ   rF   r(   )r   rE   ©r\   r:  r  )Úleftrã   g      Àg      #@i°  r   rä   é(   g      Àg      @r¿   )ÚvminÚvmaxiøÿÿÿrB   rM   )rË   r¾   r’   )r6   rË   r•   r”   r–   )g:Œ0âŽyE>g    _ B)ç-Cëâ6?g    €„.A)r   r—   r   rå   r   rs   rÂ   r;   r   rš   r	   r“   rj   r  r   ÚFixedLocatorr›   r   Úget_ylimr   rn   )r   Úax1Úax2Úax3Údata_exprž   Ú
levels_expr6   Úc1Úc2Úc3rÇ   s               r   Útest_contourf_log_extensionrO  •  s  € ð
 ',…C„LÐ"Ñ#õ œ<¨¨1°gÐ>Ñ>Ô>Ñ€C‰ˆ#ˆs�CØ×Ò˜T¨ÐÑ.Ô.Ð.õ Œ{˜4  dÑ+Ô+€HÝŒ8�B˜Ñ!Ô!×)Ò)¨"¨bÑ1Ô1€Då”˜3 Ñ#Ô#€JÝŒX�c˜:Ñ&Ô&€Fð
 
�Š�dÝ"¨¯ª©
¬
¸¿º¹¼ÐDÑDÔDÝ!œj×5Ò5°c½2¼9ÀRÈÈQÑ;OÔ;OÑ6OÑPÔPð 
ñ 
Rô 
R€Bð 
�Š�d 6Ý"¨¯
ª
©¬¸6¿:º:¹<¼<ÐHÑHÔHØ&ð 
ñ 
(ô 
(€Bð 
�Š�d 6Ý"¨¯
ª
©¬¸6¿:º:¹<¼<ÐHÑHÔHØ#ð 
ñ 
%ô 
%€Bõ 
Œ�b˜SÐ	!Ñ	!Ô	!€BØŒ5�>Š>ÑÔ˜|Ò+Ð+Ð+Ð+Ý	Œ�b˜SÐ	!Ñ	!Ô	!€BÝ" 2¤5§>¢>Ñ#3Ô#3µR´X¸kÑ5JÔ5JÑKÔKÐKÝ	Œ�b˜SÐ	!Ñ	!Ô	!€B€B€Br    zcontour_addlines.pngg¸…ëQ¸ž?rÑ   c                  óÖ  — dt           j        d<   t          j        ¦   «         \  } }t          j                             d¦  «         t          j                             dd¦  «        dz  }|                     |¦  «        }|                     |dz   ¦  «        }|  	                    |¦  «        }| 
                    |¦  «         t          |j                             ¦   «         ddgd	¦  «         d S )
NFrŠ   i,N,r   i'  iè  gdÌ]KÈ“\@g6«>W'zÃ@r(   )r   r—   r   r   r   r  r:   Ú
pcolormeshr   r›   Ú	add_linesr   r   rF  )r   r   ru   ÚpcmÚcontrÇ   s         r   Útest_contour_addlinesrU  ¼  sÀ   € ð ',…C„LÐ"Ñ#åŒl‰nŒn�G€CˆÝ„I‡N‚N�8ÑÔÐÝ
Œ	�Š�r˜2ÑÔ˜uÑ$€AØ
�-Š-˜Ñ
Ô
€Cà�:Š:�a˜‘fÑÔ€DØ	�Š�cÑ	Ô	€BØ‡L‚L�ÑÔÐÝ˜bœeŸnšnÑ.Ô.°¸:Ð0FÈÑJÔJÐJÐJÐJr    zcontour_uneven.pngc                  óˆ  — dt           j        d<   t          j        d¦  «                             dd¦  «        } t          j        dd¦  «        \  }}|d         }|                     | g d	¢¬
¦  «        }|                     ||d¬¦  «         |d         }|                     | g d	¢¬
¦  «        }|                     ||d¬¦  «         d S )NFrŠ   é   rD   rZ   rF   rM   r   )rM   rD   rZ   r   rÝ   r5   Úproportional)r   ÚspacingÚuniform)r   r—   r   r   r;   r   rš   r›   )r   r   r�   r   r?   s        r   Útest_contour_unevenr[  Ï  sÃ   € ð ',…C„LÐ"Ñ#å
Œ	�"‰Œ×Ò˜a Ñ#Ô#€AÝŒ|˜A˜qÑ!Ô!�H€CˆØ	ˆQŒ€BØ	�Š�QÐ0Ð0Ð0ˆÑ	1Ô	1€BØ‡L‚L�˜ N€LÑ3Ô3Ð3Ø	ˆQŒ€BØ	�Š�QÐ0Ð0Ð0ˆÑ	1Ô	1€BØ‡L‚L�˜ I€LÑ.Ô.Ð.Ð.Ð.r    zCrc_lines_linewidth, rc_contour_linewidth, call_linewidths, expected))ç®Gáz®ó?NNr\  )r\  çö(\�Âõ@Nr]  )r\  r]  ç®Gáz@r^  c                 óJ  — t          | |dœ¬¦  «        5  t          j        ¦   «         \  }}t          j        d¦  «                             dd¦  «        }|                     ||¬¦  «        }|                     ¦   «         d         |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )N)zlines.linewidthzcontour.linewidth)ÚrcrB   rD   r(   )Ú
linewidthsr   )r   r   r   r   r   r;   r   Úget_linewidths)Úrc_lines_linewidthÚrc_contour_linewidthÚcall_linewidthsÚexpectedr   r   ru   r?   s           r   Útest_contour_linewidthrg  Þ  sø   € õ 
Ð+=Ø-AðCð Cð 
Dñ 
Dô 
Dð 2ð 2å”,‘.”.‰ˆˆRÝŒI�c‰NŒN×"Ò" 1 aÑ(Ô(ˆØ�ZŠZ˜ oˆZÑ6Ô6ˆØ× Ò Ñ"Ô" 1Ô%¨Ò1Ð1Ð1Ð1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s   ”A6BÂBÂBÚpdfc                  ó^   — t          j        t          j        ddgddgg¦  «        ¦  «         d S )NrF   rM   r(   rD   )r   r<   r   r  r    r   Útest_label_nonaggrj  ï  s1   € õ „J�sŒ{˜Q ˜F Q¨ FÐ+Ñ,Ô,Ñ-Ô-Ð-Ð-Ð-r    zcontour_closed_line_loop.pngc                  óà   — g d¢g d¢g d¢g d¢g} t          j        d¬¦  «        \  }}|                     | dgdgd¬	¦  «         |                     d
d¦  «         |                     d
d¦  «         d S )N)r   r   r   )r   rM   r   )rM   rF   rM   )rM   rM   r?  r±   rÝ   r$  )ra  Úalphagš™™™™™¹¿gÍÌÌÌÌÌ @gÍÌÌÌÌÌ@)r   r   r   Úset_xlimÚset_ylim)r   r   r   s      r   Útest_contour_closed_line_loopro  õ  s„   € ð 
ˆˆ�I�I�I˜y˜y˜y¨)¨)¨)Ð4€AåŒl 6Ð*Ñ*Ô*�G€CˆØ‡J‚Jˆq�3�% R D°€JÑ4Ô4Ð4Ø‡K‚K��cÑÔÐØ‡K‚K��cÑÔÐÐÐr    c                  óD  — t          j        ddgddg¦  «        \  } }| |z   }t          j        ¦   «         \  }}|                     | ||¦  «        }|                     | ||¦  «        }|j        |j        k    sJ ‚|                     ||¦  «        }|j        |j        k    sJ ‚d S )Nr‘   r^   )r   r"   r   r   rš   r   Ú_contour_generator)r   r   r   r   r   Úqcs1Úqcs2Úqcs3s           r   Útest_quadcontourset_reuseru    sª   € õ Œ;˜˜S�z C¨ :Ñ.Ô.�D€A€qØ	ˆA‰€AÝŒl‰nŒn�G€CˆØ�;Š;�q˜!˜QÑÔ€DØ�:Š:�a˜˜AÑÔ€DØÔ" dÔ&=Ò=Ð=Ð=Ð=Ø�:Š:�d˜AÑÔ€DØÔ" dÔ&=Ò=Ð=Ð=Ð=Ð=Ð=r    zcontour_manual.pngg{®Gázì?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¬¦  «         d S )Nr   )Ú
ContourSet©rD   rD   r?  ÚviridisrM   rF   r(   rD   ©r   rF   rM   T)r    r«   rf   Úk)ra  ri   r€   rE   rZ   )
rF   rM   rM   rM   éO   rF   rM   rM   rM   r|  )ri   ra  )Úmatplotlib.contourrw  r   r   )
rw  r   r   r«   Úlines0Úlines1Úfilled01Úfilled12ÚsegsÚkindss
             r   Útest_contour_manualr„    sÌ  € ð .Ð-Ð-Ð-Ð-Ð-åŒ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à€Jˆr�9�9�9˜x¨Ð2¸4ÀdÐKÑKÔKÐKØ€Jˆr�A�q�6˜F FÐ+¸À3ÈÀ*ÐMÑMÔMÐMð �ˆV�a˜�V˜a ˜V a¨ V¨a°¨VØ�ˆV�a˜�V˜a ˜V a¨ V¨a°¨Vð5ð 6€Dà-Ð-Ð-Ð.€EØ€Jˆr�A�q�6˜D˜6 E 7°4¸dÐCÑCÔCÐCØ€Jˆr�A�3˜˜  °ÀÐBÑBÔBÐBÐBÐBr    z%contour_line_start_on_corner_edge.pngc                  óÜ  — 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                             ||¬¦  «        }|                     |||d	¬¦  «        }|  	                    |¦  «        }| 
                    |||d	d¬¦  «        }|                     |¦  «         d S )N)rZ   rE   r?  )r   rF   rM   r(   rD   rz  g333333ó?rM   rF   ©ÚdtypeT)rF   rF   )rF   r(   r  r  r{  )r  ri   )r   r   r   r"   Ú
zeros_likeÚboolr  rn   rš   r›   r   rR  )	r   r   r   r   r   r  r    ÚcbarÚliness	            r   Ú&test_contour_line_start_on_corner_edgerŒ  (  sð   € õ Œl 6Ð*Ñ*Ô*�G€CˆåŒ;���¨	¨	¨	Ñ2Ô2�D€A€qØˆq�1‰u�q‰jÑ˜A ™E A™:Ñ%€AÝŒ=˜¥$Ð'Ñ'Ô'€DØ"Ð"€Dˆ�J��d‘Ý
Œ�Š�A˜DˆÑ!Ô!€Aà�[Š[˜˜A˜q¨dˆ[Ñ3Ô3€FØ�<Š<˜ÑÔ€DØ�JŠJ�q˜!˜Q¨D¸ˆJÑ=Ô=€EØ‡N‚N�5ÑÔÐÐÐr    c                  ó&  — t          j        d¦  «        } t          j        t           j         t          j        | dz
  dz  d¦  «        dz  z  ¦  «        }t          j        |d¦  «        }|                     ddd¬	¦  «        }d
}t          ||¦  «         |                     ddd¬	¦  «        }d}t          ||¦  «         |                     ddd¬	¦  «        }d}t          ||¦  «         |                     dddd¬¦  «        }d}t          ||¦  «         d S )N©é   r�  rE   rM   r   ç      9@r   rF   F©Úpixel)rF   r   é!   çYÄ°Ã˜tÿ?r”  gbž•´âÛý?r�   )rF   r   rE   gŸ‘�`3@gDl°p’fù?gö—Ý“‡…á?)r(   r   é   gÍ°QÖo&þ?g�hW!å@g|ïoÐ^}Œ?©rE   r€   ©Úindicesr’  )rE   r   é   gA*ÅŽ@g      @g÷�ð½¿AÙ?)	r   r˜  rÀ   rù   Úsumr   r   Úfind_nearest_contourr   )ÚxyÚimgr?   Únearest_contourÚexpected_nearests        r   Útest_find_nearest_contourr   9  s  € Ý	Œ�HÑ	Ô	€BÝ
Œ&•"”%��2œ6 2¨¡6¨A¡+¨qÑ1Ô1°%Ñ7Ñ8Ñ
9Ô
9€CÝ	Œ�S˜"Ñ	Ô	€Bà×-Ò-¨a°¸%Ð-Ñ@Ô@€OØ?ÐÝ˜oÐ/?Ñ@Ô@Ð@à×-Ò-¨a°¸%Ð-Ñ@Ô@€OØ>ÐÝ˜oÐ/?Ñ@Ô@Ð@à×-Ò-¨a°¸%Ð-Ñ@Ô@€OØ?ÐÝ˜oÐ/?Ñ@Ô@Ð@à×-Ò-¨a°¸FÈ%Ð-ÑPÔP€OØ:ÐÝ˜oÐ/?Ñ@Ô@Ð@Ð@Ð@r    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  | 
                    d	d	d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  | 
                    d	ddd
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  | 
                    dddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrŽ  rE   rM   r   r�  r   z'Method does not support filled contoursr*   rF   Fr‘  r–  r—  )rM   r€   T)r   r˜  rÀ   rù   rš  r   rš   r,   r-   r%  r›  )rœ  r�  r?   s      r   Ú#test_find_nearest_contour_no_filledr¢  O  s!  € Ý	Œ�HÑ	Ô	€BÝ
Œ&•"”%��2œ6 2¨¡6¨A¡+¨qÑ1Ô1°%Ñ7Ñ8Ñ
9Ô
9€CÝ	Œ�c˜2Ñ	Ô	€Bå	Œ•zÐ)RÐ	SÑ	SÔ	Sð 3ð 3Ø
×Ò  1¨EÐÑ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ 
Œ•zÐ)RÐ	SÑ	SÔ	Sð Dð DØ
×Ò  2¨v¸UÐÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dõ 
Œ•zÐ)RÐ	SÑ	SÔ	Sð Bð BØ
×Ò  1¨f¸DÐÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bs6   ÂB(Â(B,Â/B,ÃC4Ã4C8Ã;C8ÄEÅEÅEÚdefaultc                  ó,  — t          j        ¦   «                              ¦   «         } t          j        t	          j        ddd¦  «                             dd¦  «        g d¢¬¦  «        }|                      |¦  «         d„ | j        D ¦   «         h d£k    sJ ‚d S )	Ng�íµ ÷Æ°>rD  r8   r   )gñhãˆµøÄ>gñhãˆµøä>gñhãˆµø?r5   c                 ó6   — h | ]}|                      ¦   «         ’ŒS r  )rt   )rÙ   Útexts     r   ú	<setcomp>z<test_contour_autolabel_beyond_powerlimits.<locals>.<setcomp>e  s    € Ð1Ð1Ð1 ˆD�MŠM‰OŒOÐ1Ð1Ð1r    >   ú0.25ú1.00ú4.00)	r   rm   Úadd_subplotr   r   Ú	geomspacer;   r<   Útexts)r   r?   s     r   Ú)test_contour_autolabel_beyond_powerlimitsr®  ^  s•   € å	Œ‰Œ×	!Ò	!Ñ	#Ô	#€BÝ	Œ•R”\ $¨¨cÑ2Ô2×:Ò:¸2¸rÑBÔBØ0Ð0Ð0ð
2ñ 
2ô 
2€Bà‡I‚Iˆb�M„M€Mà1Ð1¨¬Ð1Ñ1Ô1Ð5MÐ5MÐ5MÒMÐMÐMÐMÐMÐMr    c                  óè  ‡— ddl mŠ t          j        dd¦  «        } |                      dd¦  «        }| |z  }t          j        |g d¢g d¢d¬	¦  «        }|j                             d
d¬¦  «        |_        | 	                    ¦   «          | 
                    ¦   «         \  }}|g d¢k    sJ ‚d}t          ˆfd„|D ¦   «         ¦  «        sJ ‚t          d„ t          ||¦  «        D ¦   «         ¦  «        sJ ‚d S )Nr   )Ú	RectanglerF   r   r}   ©r   rä   r¼   )ú#FFFF00ú#FF00FFz#00FFFFr”   rµ   r‹   rŽ   )ÚoverÚunder)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   ó8   •K  — | ]}t          |‰¦  «        V — Œd S ©N)Ú
isinstance)rÙ   Úar°  s     €r   ú	<genexpr>z0test_contourf_legend_elements.<locals>.<genexpr>y  s-   øè è € Ð9Ð9¨A�z˜!˜YÑ'Ô'Ð9Ð9Ð9Ð9Ð9Ð9r    c              3   ó`   K  — | ])\  }}t          |                     ¦   «         |¦  «        V — Œ*d S r·  )r
   Úget_facecolor©rÙ   r¹  r£   s      r   rº  z0test_contourf_legend_elements.<locals>.<genexpr>z  sN   è è € ð :ð :Ù�1�aõ ˜!Ÿ/š/Ñ+Ô+¨QÑ/Ô/ð :ð :ð :ð :ð :ð :r    )Úmatplotlib.patchesr°  r   r   r;   r   rš   r«   Úwith_extremesÚchangedÚlegend_elementsrH   Úzip)r   r   Úhr?   ÚartistsÚlabelsÚexpected_colorsr°  s          @r   Útest_contourf_legend_elementsrÇ  h  sN  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ý
Œ	�!�RÑÔ€AØ	�	Š	�"�aÑÔ€AØ	ˆA‰€Aå	Œ�a   Ø>Ð>Ð>Ø#ð
%ñ 
%ô 
%€Bð Œg×#Ò#¨°fÐ#Ñ=Ô=€B„GØ‡J‚J�L„L€LØ×(Ò(Ñ*Ô*�O€GˆVØð 'ð 'ð 'ò 'ð 'ð 'ð 'ð <€OÝÐ9Ð9Ð9Ð9°Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ýð :ð :Ý˜w¨Ñ8Ô8ð:ñ :ô :ñ :ô :ð :ð :ð :ð :ð :r    c                  ól  — t          j        dd¦  «        } |                      dd¦  «        }| |z  }g d¢}t          j        |g d¢|d¬¦  «        }|                     ¦   «         \  }}|g d¢k    sJ ‚t          d	„ |D ¦   «         ¦  «        sJ ‚t          d
„ t          ||¦  «        D ¦   «         ¦  «        sJ ‚d S )NrF   r   r}   )rŽ   z#00FF00r‹   r±  r”   rµ   )z
$x = 10.0$z
$x = 30.0$z
$x = 50.0$c              3   óT   K  — | ]#}t          |t          j        j        ¦  «        V — Œ$d S r·  )r¸  r  r‹  ÚLine2D)rÙ   r¹  s     r   rº  z/test_contour_legend_elements.<locals>.<genexpr>‰  s1   è è € Ð@Ð@°1�z˜!�SœYÔ-Ñ.Ô.Ð@Ð@Ð@Ð@Ð@Ð@r    c              3   ó`   K  — | ])\  }}t          |                     ¦   «         |¦  «        V — Œ*d S r·  )r
   Ú	get_colorr½  s      r   rº  z/test_contour_legend_elements.<locals>.<genexpr>Š  sL   è è € ð 1ð 1Ù�1�aõ ˜!Ÿ+š+™-œ-¨Ñ+Ô+ð 1ð 1ð 1ð 1ð 1ð 1r    )r   r   r;   r   r   rÁ  rH   rÂ  )r   r   rÃ  ri   r?   rÄ  rÅ  s          r   Útest_contour_legend_elementsrÍ  ~  sü   € Ý
Œ	�!�RÑÔ€AØ	�	Š	�"�aÑÔ€AØ	ˆA‰€Aà'Ð'Ð'€FÝ	Œ�Q˜|˜|˜|Ø"Ø"ð
$ñ 
$ô 
$€Bð ×(Ò(Ñ*Ô*�O€GˆVØÐ?Ð?Ð?Ò?Ð?Ð?Ð?ÝÐ@Ð@¸Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ýð 1ð 1Ý˜w¨Ñ/Ô/ð1ñ 1ô 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1r    zalgorithm, klassÚmpl2005Úmpl2014ÚserialÚthreaded)ÚinvalidNc                 ó,  — t          j        ddgddgg¦  «        }|�/t          j        || ¬¦  «        }t	          |j        |¦  «        sJ ‚d S t          j        t          ¦  «        5  t          j        || ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr^   rd   r_   ç      @©Ú	algorithm)	r   rn   r   rš   r¸  rq  r,   r-   r%  )rÖ  Úklassr   r?   s       r   Útest_algorithm_namerØ  Ž  sâ   € õ 	Œ�3˜�*˜s C˜jÐ)Ñ*Ô*€AØÐÝŒ\˜! yÐ1Ñ1Ô1ˆÝ˜"Ô/°Ñ7Ô7Ð7Ð7Ð7Ð7Ð7åŒ]�:Ñ&Ô&ð 	1ð 	1ÝŒL˜ iÐ0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   Á%B	Â	BÂBrÖ  ©rÎ  rÏ  rÐ  rÑ  c                 ó8  — t          j        ddgddgg¦  «        }t          j        || d¬¦  «         | dk    rt          j        || d¬¦  «         d S t	          j        t          ¦  «        5  t          j        || d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr^   rd   r_   rÔ  F)rÖ  r  rÎ  T)r   rn   r   rš   r,   r-   r%  )rÖ  r   s     r   Ú#test_algorithm_supports_corner_maskrÛ  Ÿ  s  € õ 	Œ�3˜�*˜s C˜jÐ)Ñ*Ô*€Aõ „L�˜i°UÐ;Ñ;Ô;Ð;ð �IÒÐÝŒ�Q )¸Ð>Ñ>Ô>Ð>Ð>Ð>åŒ]�:Ñ&Ô&ð 	Cð 	CÝŒL˜ i¸TÐBÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cs   Á*BÂBÂBzcontour_all_algorithms.pngg¸…ëQ¸®?c                  óì  — g d¢} t           j                             d¦  «        }t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  }}t          j        d|z  ¦  «        t          j        d|z  ¦  «        z  |                     dd	¬
¦  «        z   }t          j        |t          ¬¦  «        }d|d<   t           j
                             ||¬¦  «        }t          j        dd¦  «        \  }}t          |                     ¦   «         | ¦  «        D ]M\  }}	|                     ||||	¬¦  «         |                     ||||	d¬¦  «         |                     |	¦  «         ŒNd S )NrÙ  i¥  r‘   r^   r   rZ   r�  r±   )rZ   r   )ÚscaleÚsizer†  T)r(   r€   r  rM   rÕ  r{  )rÖ  ri   )r   r   Údefault_rngr"   rs   rÌ   r  Únormalrˆ  r‰  r  rn   r   r   rÂ  Úravelrš   r   Ú	set_title)
Ú
algorithmsÚrngr   r   r   r  rœ   r�   r   rÖ  s
             r   Útest_all_algorithmsrå  ¯  sO  € ð >Ð=Ð=€Jå
Œ)×
Ò
 Ñ
%Ô
%€CÝŒ;•r”{ 3¨¨RÑ0Ô0µ"´+¸cÀ3ÈÑ2JÔ2JÑKÔK�D€A€qÝ
Œˆr�!‰t‰Œ•R”V˜B˜q™D‘\”\Ñ! C§J¢J°S¸w JÑ$GÔ$GÑG€AÝŒ=˜¥$Ð'Ñ'Ô'€DØ€Dˆ�JÝ
Œ�Š�A˜DˆÑ!Ô!€AåŒ\˜!˜QÑÔ�F€A€sÝ˜SŸYšY™[œ[¨*Ñ5Ô5ð  ð  ‰ˆˆIØ
�Š�A�q˜! yˆÑ1Ô1Ð1Ø
�
Š
�1�a˜ i¸ˆ
Ñ<Ô<Ð<Ø
�Š�YÑÔÐÐð ð  r    c                  ó4  — 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        ¦   «         }|                     dd¬¦  «        }	|	D ]Z}
|
                     ¦   «         }|                     |||¦  «        }| 	                    |d	d
¬¦  «         | 
                    d¦  «         Œ[d S )Nró   rº   r_   r»   rd   rM   rF   )ÚnrowsÚncolsTr   )r÷   rh   zSimplest default with labels)r   r   r"   rÀ   r   rm   Ú
subfiguresr   r   r<   râ  )rû   r   r   ru   rv   rÅ   rÆ   rw   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ð 5ˆØ�ZŠZ‰\Œ\ˆØ�ZŠZ˜˜1˜aÑ Ô ˆØ
�	Š	�"˜T¨Bˆ	Ñ/Ô/Ð/Ø
�ŠÐ3Ñ4Ô4Ð4Ð4ð	5ð 5r    rX   )Ú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        ¦   «         \  }	}
|
                     |||dd	¬
¦  «        }|
                     |dd¬¦  «         |
                     d¦  «         |j	        �J ‚t	          j        ¦   «         \  }}|                     |||dd	| ¬¦  «        }|                     |dd¬¦  «         |                     d| › �¦  «         |j	        | k    sJ ‚t	          j        ¦   «         \  }}|                     |||dd	| d¬¦  «        }|                     |dd¬¦  «         |                     d| › �¦  «         |j	        | k    sJ ‚d S )Nró   rº   r_   r»   rd   rM   rF   rZ   r{  ©ri   r   T©rh   r÷   z0Single color - positive contours solid (default))ri   Ú
linestylesz!Single color - positive contours rï  ©ri   rô  Únegative_linestyles)
r   r   r"   rÀ   r   r   r   r<   râ  rô  )rX   rû   r   r   ru   rv   rÅ   rÆ   rw   Úfig1rG  ÚCS1Úfig2rH  ÚCS2Úfig3rI  Ú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ÔEÐEØŒ>Ð!Ð!Ð!õ ”‘”�I€Dˆ#Ø
�+Š+�a˜˜A˜q¨¸ˆ+Ñ
?Ô
?€CØ‡J‚Jˆs˜Q t€JÑ,Ô,Ð,Ø‡M‚MÐ=°eÐ=Ð=Ñ>Ô>Ð>ØŒ>˜UÒ"Ð"Ð"Ð"õ ”‘”�I€Dˆ#Ø
�+Š+�a˜˜A˜q¨¸Ø*3ð ñ 5ô 5€Cà‡J‚Jˆs˜Q t€JÑ,Ô,Ð,Ø‡M‚MÐ=°eÐ=Ð=Ñ>Ô>Ð>ØŒ>˜UÒ"Ð"Ð"Ð"Ð"Ð"r    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        ¦   «         \  }	}
|
                     |||dd	¬
¦  «        }|
                     |dd¬¦  «         |
                     d¦  «         |j	        dk    sJ ‚| t          j
        d<   t	          j        ¦   «         \  }}|                     |||dd	¬
¦  «        }|                     |dd¬¦  «         |                     d| › d�¦  «         |j	        | k    sJ ‚t	          j        ¦   «         \  }}|                     |||dd	| ¬¦  «        }|                     |dd¬¦  «         |                     d| › �¦  «         |j	        | k    sJ ‚t	          j        ¦   «         \  }}|                     |||dd	d| ¬¦  «        }|                     |dd¬¦  «         |                     d| › �¦  «         |j	        | k    sJ ‚d S )Nró   rº   r_   r»   rd   rM   rF   rZ   r{  rò  r   Tró  z1Single color - negative contours dashed (default)rî  zcontour.negative_linestylez!Single color - negative contours z(using rcParams))ri   rö  rï  rõ  )r   r   r"   rÀ   r   r   r   r<   râ  rö  r—   )rX   rû   r   r   ru   rv   rÅ   rÆ   rw   r÷  rG  rø  rù  rH  rú  rû  rI  rü  Úfig4Úax4ÚCS4s                        r   Útest_negative_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ÐEÑFÔFÐFØÔ" hÒ.Ð.Ð.Ð.ð 27…C„LÐ-Ñ.Ý”‘”�I€Dˆ#Ø
�+Š+�a˜˜A˜q¨ˆ+Ñ
-Ô
-€CØ‡J‚Jˆs˜Q t€JÑ,Ô,Ð,Ø‡M‚Mð &°eð &ð &ð &ñ 'ô 'ð 'àÔ" eÒ+Ð+Ð+Ð+õ ”‘”�I€Dˆ#Ø
�+Š+�a˜˜A˜q¨À%ˆ+Ñ
HÔ
H€CØ‡J‚Jˆs˜Q t€JÑ,Ô,Ð,Ø‡M‚MÐ=°eÐ=Ð=Ñ>Ô>Ð>ØÔ" eÒ+Ð+Ð+Ð+õ ”‘”�I€Dˆ#Ø
�+Š+�a˜˜A˜q¨¸Ø*/ð ñ 1ô 1€Cà‡J‚Jˆs˜Q t€JÑ,Ô,Ð,Ø‡M‚MÐ=°eÐ=Ð=Ñ>Ô>Ð>ØÔ" eÒ+Ð+Ð+Ð+Ð+Ð+r    c                  ó¤  — t          j        ¦   «                              ¦   «         } |                      ¦   «         }|                      t          j        d¦  «                             d¦  «        ¦  «        }|                     ¦   «          |                      ¦   «         |k    sJ ‚| 	                    ¦   «          |                      ¦   «         |k    sJ ‚d S )Nr™  rx  )
r   rm   r«  Úget_childrenr   r   r   r;   r<   Úremove)r   Úorig_childrenr?   s      r   Útest_contour_remover  #  s¥   € Ý	Œ‰Œ×	!Ò	!Ñ	#Ô	#€BØ—O’OÑ%Ô%€MØ	�Š•B”I˜b‘M”M×)Ò)¨&Ñ1Ô1Ñ	2Ô	2€BØ‡I‚I�K„K€KØ�?Š?ÑÔ Ò-Ð-Ð-Ð-Ø‡I‚I�K„K€KØ�?Š?ÑÔ Ò-Ð-Ð-Ð-Ð-Ð-r    c                  ó°  — t          j        ¦   «                              ¦   «         } |                      t	          j        d¦  «                             d¦  «        ¦  «        }|                     ¦   «         }|d                              ¦   «          t          j
        t          d¬¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr™  rx  r   z!Some labels were manually removedr*   )r   rm   r«  r   r   r   r;   r<   r  r,   r  ÚUserWarning)r   r?   rÅ  s      r   Útest_contour_remove_with_labelsr
  -  sê   € Ý	Œ‰Œ×	!Ò	!Ñ	#Ô	#€BØ	�Š•B”I˜b‘M”M×)Ò)¨&Ñ1Ô1Ñ	2Ô	2€BØ�YŠY‰[Œ[€FØ
ˆ1„I×ÒÑÔÐÝ	Œ•kÐ)LÐ	MÑ	MÔ	Mð ð Ø
�	Š	‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â)CÃCÃCc                  óÖ   — t          j        ¦   «         \  } }ddgddgg}t          j        t          d¬¦  «        5  |                     |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rF   zcontour\(\) takes from 1 to 4r*   )rw   )r   r   r,   r-   r.   r   )r   r   rž   s      r   Útest_contour_no_argsr  6  s±   € ÝŒl‰nŒn�G€CˆØ�ˆF�Q˜�FÐ€DÝ	Œ•yÐ(HÐ	IÑ	IÔ	Ið ð Ø
�
Š
�Tˆ
ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ºAÁA"Á%A"c                  óØ   — t          j        ¦   «         \  } }ddgddgg}t          j        ddgd|j        ¬¦  «        }|                     ||¬¦  «        }|                     ¦   «         €J ‚d S )Nr   rF   r±   ©rø   )Ú	clip_path)r   r   ÚmpatchesÚCircleÚ	transAxesr   Úget_clip_path©r   r   rž   Úcircler?   s        r   Útest_contour_clip_pathr  =  sr   € ÝŒl‰nŒn�G€CˆØ�ˆF�Q˜�FÐ€DÝŒ_˜c 3˜Z¨¸¼ÐEÑEÔE€FØ	�Š�D FˆÑ	+Ô	+€BØ×ÒÑÔÐ)Ð)Ð)Ð)Ð)r    c                  ó  — t           j                             dd¦  «        \  } }t          j        d¦  «        dz                       d¦  «                             t          ¦  «        }g d¢g d¢g d¢g}t          j        | 	                    ¦   «         ¦  «        j
         	                    ¦   «         dgk    sJ ‚t          j        |¦  «        j
         	                    ¦   «         dgk    sJ ‚t          j        t           j                             ||¬¦  «        ¦  «        j
         	                    ¦   «         dgk    sJ ‚t          j        | 	                    ¦   «         ¦  «        j
         	                    ¦   «         g d¢k    sJ ‚t          j        |¦  «        j
         	                    ¦   «         g d¢k    sJ ‚t          j        t           j                             ||¬¦  «        ¦  «        j
         	                    ¦   «         g d¢k    sJ ‚|                     ¦   «         }t          j        | || 	                    ¦   «         ¦  «        j
         	                    ¦   «         dgk    sJ ‚t          j        | ||¦  «        j
         	                    ¦   «         dgk    sJ ‚t          j        | || 	                    ¦   «         ¦  «        j
         	                    ¦   «         g d¢k    sJ ‚t          j        | ||¦  «        j
         	                    ¦   «         g d¢k    sJ ‚d S )	NrM   r   )r(   r(   )FFF)FTFr±   r  )r   r±   rF   )r   r   r:   r   r;   Úastyper‰  r   r   Útolistr6   r  rn   rš   rá  Ú
tricontourÚtricontourf)r   r   r   Úms       r   Útest_bool_autolevelr  E  sŽ  € ÝŒ9�>Š>˜!˜QÑÔ�D€A€qÝ	Œ�1‰Œ˜Ñ	×"Ò" 6Ñ*Ô*×1Ò1µ$Ñ7Ô7€AØ	Ð	Ð	Ð 4Ð 4Ð 4Ð6KÐ6KÐ6KÐL€AÝŒ;�q—x’x‘z”zÑ"Ô"Ô)×0Ò0Ñ2Ô2°r°dÒ:Ð:Ð:Ð:ÝŒ;�q‰>Œ>Ô ×'Ò'Ñ)Ô)¨b¨TÒ1Ð1Ð1Ð1ÝŒ;•r”u—{’{ 1¨1�{Ñ-Ô-Ñ.Ô.Ô5×<Ò<Ñ>Ô>À2À$ÒFÐFÐFÐFÝŒ<˜Ÿš™
œ
Ñ#Ô#Ô*×1Ò1Ñ3Ô3°z°z°zÒAÐAÐAÐAÝŒ<˜‰?Œ?Ô!×(Ò(Ñ*Ô*¨j¨j¨jÒ8Ð8Ð8Ð8ÝŒ<�œŸš A¨A˜Ñ.Ô.Ñ/Ô/Ô6×=Ò=Ñ?Ô?À:À:À:ÒMÐMÐMÐMØ	�Š‰	Œ	€AÝŒ>˜!˜Q §¢¡
¤
Ñ+Ô+Ô2×9Ò9Ñ;Ô;À¸tÒCÐCÐCÐCÝŒ>˜!˜Q Ñ"Ô"Ô)×0Ò0Ñ2Ô2°r°dÒ:Ð:Ð:Ð:ÝŒ?˜1˜a §¢¡¤Ñ,Ô,Ô3×:Ò:Ñ<Ô<À
À
À
ÒJÐJÐJÐJÝŒ?˜1˜a Ñ#Ô#Ô*×1Ò1Ñ3Ô3°z°z°zÒAÐAÐAÐAÐAÐAr    c                  óÜ   — t          j        t           j        t           j        gt           j        t           j        gg¦  «        } t          t	          j        | ¦  «        j        g d¢¦  «         d S )N)	g‚vIhÂ%<½gá7ÎQ5½g‚vIhÂ%,½g [n‡½r‘   g [n‡=g‚vIhÂ%,=gá7ÎQ5=g‚vIhÂ%<=)r   rn   Únanr   r   r   r6   )r   s    r   Útest_all_nanr   V  sh   € Ý
Œ•2”6�2œ6Ð"¥R¤V­R¬VÐ$4Ð5Ñ6Ô6€AÝ�cœk¨!™nœnÔ3ð@ð @ð @ñAô Að Að Að Ar    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 ]M}t          |¦  «        dk    sJ ‚t          |d         ¦  «        dk    sJ ‚t          |d         ¦  «        dk    sJ ‚ŒNd S )	Nr   r   rM   r±   r5   rE   rF   rD   )
r   r"   r   rÌ   r  r   r   ÚallsegsÚallkindsrG   )r   r   r   r?   Úresults        r   Útest_allsegs_allkindsr%  ]  sÝ   € ÝŒ;•r”y  B¨Ñ*Ô*­B¬I°a¸¸QÑ,?Ô,?Ñ@Ô@�D€A€qÝ
Œˆq‰	Œ	•B”F˜1‘I”IÑ€Aå	Œ�Q˜˜1 a¨ XÐ	.Ñ	.Ô	.€Bð ”:˜rœ{Ð+ð #ð #ˆÝ�6‰{Œ{˜aÒÐÐÐÝ�6˜!”9‰~Œ~ Ò"Ð"Ð"Ð"Ý�6˜!”9‰~Œ~ Ò"Ð"Ð"Ð"Ð"ð#ð #r    zcontour_rasterization.pdfr]   é   )Úsavefig_kwargrX   c                  óÀ   — t          j        ¦   «         \  } }ddgddgg}t          j        ddgd|j        ¬¦  «        }|                     ||d¬¦  «        }|j        sJ ‚d S )Nr   rF   r±   r  T)r  Ú
rasterized)r   r   r  r  r  rš   Ú_rasterizedr  s        r   Útest_contourf_rasterizer+  j  sk   € õ Œl‰nŒn�G€CˆØ�ˆF�Q˜�FÐ€DÝŒ_˜c 3˜Z¨¸¼ÐEÑEÔE€FØ	�Š�T V¸ˆÑ	=Ô	=€BØŒ>ÐÐˆ>ÐÐr    c                 óþ   — t          j        d¦  «                             d¦  «        dz  }|                      ¦   «                              |d¬¦  «         |                     ¦   «                              |d¬¦  «         d S )Nr8   r&   rM   ú:)Ú	linestylerð  )rô  )r   r   r;   r«  r   )rP   rQ   rž   s      r   Útest_contour_aliasesr/  t  sr   € åŒ9�S‰>Œ>×!Ò! (Ñ+Ô+¨qÑ0€DØ×ÒÑÔ×"Ò" 4°3Ð"Ñ7Ô7Ð7Ø×ÒÑÔ×!Ò! $°8Ð!Ñ<Ô<Ð<Ð<Ð<r    c                  óê   — t          j        t          ¦  «        5  t          j        ¦   «                              ¦   «                              ddgddggd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rF   rM   r(   rf   )r·   )r,   r-   r.   r   rm   r«  r   r  r    r   Útest_contour_singular_colorr1  {  sÂ   € Ý	Œ•yÑ	!Ô	!ð Hð HÝŒ
‰Œ× Ò Ñ"Ô"×*Ò*¨Q°¨F°Q¸°FÐ+;À3Ð*ÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Hs   šAA(Á(A,Á/A,c                  ó¤   — t          j        ¦   «         \  } }|                     ddgddggg d¢¬¦  «        }|                     |dgdg¬	¦  «         d S )
NrF   rM   r(   rD   )r´   ç      @g      @r5   r3  )r±   r±   )r6   rc   )r   r   r   r<   r>   s      r   Útest_clabel_manual_subsetr4  €  sY   € ÝŒl‰nŒn�G€CˆØ	�Š�a˜�V˜a ˜VÐ$¨_¨_¨_ˆÑ	=Ô	=€Bà‡I‚Iˆb˜#˜¨
 |€IÑ4Ô4Ð4Ð4Ð4r    )cr×   Úplatformr/   Úunittestr   Ú	contourpyÚnumpyr   Únumpy.testingr   r   Ú
matplotlibr  r   r   r   r   Úmatplotlib.colorsr	   r
   r¾  Úpatchesr  Úmatplotlib.testing.decoratorsr   r   Úpackaging.versionr   Úparse_versionr,   r   r%   ÚmarkÚparametrizer   Úemptyr3   r@   rK   rT   rp   r{   r…   Úmachiner¤   r¯   r¸   rÈ   rÏ   rñ   ÚversionÚmajorrÿ   r  r  r"  r&  r+  r.  r8  r=  rO  rU  r[  rg  Úbackendrj  ro  ru  r„  rŒ  r   r¢  rX   Úcontextr®  rÇ  rÍ  ÚMpl2005ContourGeneratorÚMpl2014ContourGeneratorÚSerialContourGeneratorÚThreadedContourGeneratorrØ  rÛ  rå  rì  rý  r  r  r
  r  r  r  r   r%  r+  r/  r1  r4  r  r    r   ú<module>rL     sˆ  ðØ €€€Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ Ð Ð Ð Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø %Ð %Ð %Ð %Ð %Ð %Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø €€€ðð ð ðð ð ð „×Ò˜Ø€b„i��l„l�I�B”I˜a‘L”L ( "¤(¨7Ñ"3Ô"3Ð4Ø=ð?à€b„i��m„m�Y�R”Y˜r‘]”] H B¤H¨WÑ$5Ô$5Ð6Ø:ð<à€b„hˆxÑÔ˜)˜"œ) B™-œ-¨¨¬°'Ñ):Ô):Ð;Ø;ð=à€b„i��m„m�X�R”X˜hÑ'Ô'¨¨¬°'Ñ):Ô):Ð;Ø;ð=à€b„hˆvÑÔ˜˜œ Ñ)Ô)¨8¨2¬8°GÑ+<Ô+<Ð=Ø4ð6à€b„hˆwÑÔ˜˜œ &Ñ)Ô)¨8¨2¬8°GÑ+<Ô+<Ð=Ø4ð6à€b„hˆyÑÔ˜8˜2œ8 IÑ.Ô.°°´¸Ñ0AÔ0AÐBØ.ð0à€b„hˆyÑÔ˜8˜2œ8 IÑ.Ô.°°´¸Ñ0CÔ0CÐDØ!ð#à	€s€e€XØKðMà€cˆAˆ3�!��ÐØKðMð'+ñ ô ð,ð ñ-ô ð,ð	 ð 	 ð 	 ð,ð ,ð ,ð ÐÑÔð*ð *ñ Ôð*ð ÐÐ*Ð+¸ÀWÐMÑMÔMð
Dð 
Dñ NÔMð
Dð(ð (ð (ð& ÐÐ6Ð7Ø"¨'ð3ñ 3ô 3ð#ð #ñ3ô 3ð#ð ÐÐ9Ð:ÈØ'Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸uðFñ Fô Fðð ñFô Fðð< ÐÐ.Ð/¸TÈÐQÑQÔQð9ð 9ñ RÔQð9ð „×Ò˜ð +Nð +Nð +Nñ Oô Oð$ð $ñ	Oô Oð$ð ÐÐ,Ð-°WÈ%ÐPÑPÔPð<ð <ñ QÔPð<ð( „×Ò˜ _ _ _Ñ5Ô5ð/ð /ñ 6Ô5ð/ð ÐÐ.Ð/°wÐ?Ñ?Ô?ð#ð #ñ @Ô?ð#ð0 ÐÐ6Ð7Ø"¨'Ø(˜=¨¬Ô);Ñ<Ô<ÔBÀQÒFÐF�a�aØ'�xÔ'Ñ)Ô)¨XÒ5Ð5�!�!¸5ðBñ Bô Bð>ð >ñ	Bô Bð>ð8ð ð ð2ð ð ð ÐÐ2Ð4RÐSØ"¨/¸tðEñ Eô Eð1ð 1ñEô Eð1ð$ð $ð $ðBð Bð Bðð ð ð „×ÒÐHðAð Að AñBô Bð=ð =ñBô Bð=ð".ð .ð .ð& ÐÐ.Ð/Ø"¨'Øðñ ô ð!"ð !"ñô ð!"ðH ÐÐ)Ð*¸ÀGØ.˜hÔ.Ñ0Ô0°HÒ<Ð<�d�dÀ$ðHñ Hô HðKð Kñ	Hô HðKð ÐÐ'Ð(°dÀ'ÐJÑJÔJð/ð /ñ KÔJð/ð „×ÒØIð L
ð L
ð L
ñô ð2ð 2ñô ð2ð „×Ò�UÑÔð.ð .ñ Ôð.ð
 ÐÐ1Ð2ÀØ'ð)ñ )ô )ðð ñ)ô )ðð
>ð 
>ð 
>ð ÐÐ'Ð(°dÀ/Øðñ ô ðCð Cñô ðCð0 ÐÐ:Ð;ÈØ'ð)ñ )ô )ðð ñ)ô )ððAð Að Að,Bð Bð Bð „×Ò�9ÑÔðNð Nñ ÔðNð:ð :ð :ð,1ð 1ð 1ð  „×ÒØØ�Ô2Ð3Ø�Ô2Ð3Ø�	Ô0Ð1Ø�)Ô4Ð5Øð	ñô ð1ð 1ñô ð1ð „×ÒØÐ=Ð=Ð=ñ?ô ?ðCð Cñ?ô ?ðCð ÐÐ/Ð0¸dØ'¨Tð3ñ 3ô 3ð ð  ñ3ô 3ð ð"5ð 5ð 5ð( „×ÒØÐ5Ð5Ð5ñ7ô 7ð#ð #ñ7ô 7ð#ð@ „×ÒØÐ5Ð5Ð5ñ7ô 7ð&,ð &,ñ7ô 7ð&,ðR.ð .ð .ðð ð ðð ð ð*ð *ð *ðBð Bð Bð"Að Að Að
#ð 
#ð 
#ð ÐÐ.Ð/ÀÀr¸{Øð!ñ !ô !ðð ñ!ô !ðð ÐÑÔð=ð =ñ Ôð=ðHð Hð Hð
5ð 5ð 5ð 5ð 5r    