Ë
    íÍ:j1Ù  ã                   ó¤  — d dl m Z  d dlZd dlZd dlZd dlZd dlmZ d dlZd dl	m
Z
mZ d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZm Z m!Z! d dlm"Z" d dl#m$Z$m%Z%  ejL                  dd	g¬
«      d„ «       Z'd„ Z( e%dgd¬«      d„ «       Z) e%dgd¬«      d„ «       Z* e%dgd¬«      d„ «       Z+ e%dgd¬«      d„ «       Z, e%dgd¬«      d„ «       Z- e%dgd¬«      d„ «       Z. e%dgd¬«      d„ «       Z/ e%dgd¬«      d„ «       Z0 e%dgd¬«      d „ «       Z1 e%d!gd¬«      d"„ «       Z2 e%g d#¢d¬«      d$„ «       Z3 e%d%gd¬«      d&„ «       Z4d'„ Z5d(„ Z6d)„ Z7d*„ Z8d+„ Z9ejt                  jw                  d«       e$«       d,„ «       «       Z<d-„ Z=d.„ Z> e%d/gd0d1 ej~                  «       d2k(  rd nd3¬4«      d5„ «       Z@d6„ ZA e%d7gd0d¬8«      d9„ «       ZB e$«       d:„ «       ZC e%d;gd0d1¬8«      d<„ «       ZD e%d=gd0d1¬8«      d>„ «       ZEd?„ ZFd@„ ZGdA„ ZHdB„ ZIdC„ ZJdD„ ZK e%dEgd0d1¬8«      dF„ «       ZLdG„ ZMejt                  jw                  dH«      dI„ «       ZNdJ„ ZOej                   j£                  dKg dL¢«      dM„ «       ZRejt                  jw                  dH«      dN„ «       ZSejt                  jw                  dH«      dO„ «       ZT e%dPgd¬«      dQ„ «       ZU e%dRgd0dH¬8«      dS„ «       ZVdT„ ZWdU„ ZXdV„ ZYdW„ ZZ e$«       ej                   j£                  dXi dYdZig«      d[„ «       «       Z[ej                   j£                  d\d]d^d_ddd`gdaz  dbfdcdddegdddffg«      dg„ «       Z\dh„ Z]di„ Z^dj„ Z_ej                   j£                  dkdldmg«      dn„ «       Z`do„ Zadp„ Zbdq„ Zcdr„ Zdds„ Zedt„ Zfdu„ Zgdv„ Zhejt                  jw                  dH«      dw„ «       Zidx„ Zjdy„ Zkdz„ Zld{„ Zmd|„ Znd}„ Zo e%d~gd0d¬8«      d„ «       Zp e$«       d€„ «       Zqd�„ Zrej                   j£                  d‚dƒd„d…gg«       e$«       d†„ «       «       Zs e$g d‡¢¬ˆ«      d‰„ «       ZtdŠ„ Zud‹„ Zvej                   j£                  dŒg d�¢«      dŽ„ «       Zwd�„ Zxy)�é    )ÚdatetimeN)ÚSimpleNamespace)Úassert_array_equalÚassert_array_almost_equal)Ú
CollectionÚLineCollectionÚEventCollectionÚPolyCollection)ÚFillBetweenPolyCollection)Úcheck_figures_equalÚimage_comparisonÚ
pcolormeshÚpcolor)Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    úv/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_collections.pyÚpcfuncr      s   € à�=‰=Ðó    c            
      ó€  — t        j                  g d¢«      } t        j                  g d¢«      }d}d}d}d}g d¢}d}d	}t        | |||||||¬
«      }	t        j                  «       \  }
}|j                  |	«       |j                  d«       | ||||||||dœ	}|j                  dd«       |j                  dd«       ||	|fS )z,Generate the initial collection and plot it.)ç        ç      ð?ç       @ç      @g      @g       @g      *@g      5@)g      A@g     €K@g     @V@Ú
horizontalé   ç      à?é   ©r   r   r   r   ÚsolidT)ÚorientationÚ
lineoffsetÚ
linelengthÚ	linewidthÚcolorÚ	linestyleÚantialiasedzEventCollection: default)	Ú	positionsÚextra_positionsr#   r$   r%   r&   r'   r(   r)   éÿÿÿÿé   r   )	ÚnpÚarrayr	   ÚpltÚsubplotsÚadd_collectionÚ	set_titleÚset_xlimÚset_ylim)r*   r+   r#   r$   r%   r&   r'   r(   r)   ÚcollÚfigÚaxÚpropss                r   Úgenerate_EventCollection_plotr:      sÛ   € ä—‘Ò;Ó<€IÜ—h‘hšÓ/€OØ€KØ€JØ€JØ€IÚ€EØ€IØ€Kä˜9Ø'2Ø&0Ø&0Ø%.Ø!&Ø%.Ø'2ô€Dô �l‰l‹n�G€CˆØ×Ñ�dÔØ‡L�LÐ+Ô,Ø#Ø /Ø'Ø%Ø%Ø#ØØ#Ø'ñ	€Eð ‡K�K��BÔØ‡K�K��1ÔØˆt�Uˆ?Ðr   z!EventCollection_plot__default.pngÚmpl20)Ústylec                  ó*  — t        «       \  } }}t        ||d   |d   |d   |d   «       t        j                  j	                  |d   |j                  «       «       |d   |j                  «       k(  sJ ‚|j                  «       sJ ‚|d   |j                  «       k(  sJ ‚|d   |j                  «       k(  sJ ‚|j                  «       dgk(  sJ ‚|j                  «       g|j                  «       ¢D ]%  }t        j                  j	                  ||d   «       Œ' y )Nr*   r%   r$   r#   ©r   Nr'   )r:   Úcheck_segmentsr.   Útestingr   Úget_positionsÚget_orientationÚis_horizontalÚget_linelengthÚget_lineoffsetÚget_linestyleÚ	get_colorÚ
get_colors)Ú_r6   r9   r'   s       r   Ú test__EventCollection__get_propsrJ   E   s  € ä2Ó4�N€A€tˆUä�4Ø˜Ñ%Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ô ‡J�J×!Ñ! %¨Ñ"4°d×6HÑ6HÓ6JÔKà�Ñ 4×#7Ñ#7Ó#9Ò9Ð9Ð9à×ÑÔÐÐà�Ñ $×"5Ñ"5Ó"7Ò7Ð7Ð7à�Ñ $×"5Ñ"5Ó"7Ò7Ð7Ð7à×ÑÓ I ;Ò.Ð.Ð.à—.‘.Ó"Ð7 T§_¡_Ó%6Ð7ò =ˆÜ
�
‰
×%Ñ% e¨U°7©^Õ<ñ=r   z'EventCollection_plot__set_positions.pngc                  óN  — t        «       \  } }}t        j                  |d   |d   g«      }|j                  |«       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd«       y )	Nr*   r+   r%   r$   r#   zEventCollection: set_positionsr,   éZ   )
r:   r.   ÚhstackÚset_positionsr@   r   rA   r?   r3   r4   ©Úspltr6   r9   Únew_positionss       r   Ú$test__EventCollection__set_positionsrR   _   s›   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1°5Ð9JÑ3KÐLÓM€MØ×Ñ�}Ô%Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4˜Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô)ð 	‡N�NÐ3Ô4Ø‡M�M�"�bÕr   z'EventCollection_plot__add_positions.pngc                  ó   — t        «       \  } }}t        j                  |d   |d   d   g«      }|j                  «        |j	                  |d   d   «       |j                  «        t        j
                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr*   r+   r   r%   r$   r#   zEventCollection: add_positionsr,   é#   )r:   r.   rM   Úswitch_orientationÚadd_positionsr@   r   rA   r?   r3   r4   rO   s       r   Ú$test__EventCollection__add_positionsrW   m   sÉ   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸Ñ:ð<ó =€Mà×ÑÔØ×Ñ�uÐ.Ñ/°Ñ2Ô3Ø×ÑÔÜ‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ3Ô4Ø‡M�M�"�bÕr   z*EventCollection_plot__append_positions.pngc                  ó`  — t        «       \  } }}t        j                  |d   |d   d   g«      }|j                  |d   d   «       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr*   r+   r    r%   r$   r#   z!EventCollection: append_positionsr,   rL   )
r:   r.   rM   Úappend_positionsr@   r   rA   r?   r3   r4   rO   s       r   Ú'test__EventCollection__append_positionsrZ      s±   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸Ñ:ð<ó =€Mà×Ñ˜%Ð 1Ñ2°1Ñ5Ô6Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ6Ô7Ø‡M�M�"�bÕr   z*EventCollection_plot__extend_positions.pngc                  ó`  — t        «       \  } }}t        j                  |d   |d   dd  g«      }|j                  |d   dd  «       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr*   r+   r   r%   r$   r#   z!EventCollection: extend_positionsr,   rL   )
r:   r.   rM   Úextend_positionsr@   r   rA   r?   r3   r4   rO   s       r   Ú'test__EventCollection__extend_positionsr]   �   sµ   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸¸Ð;ð=ó >€Mà×Ñ˜%Ð 1Ñ2°1°2Ð6Ô7Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ6Ô7Ø‡M�M�"�bÕr   z,EventCollection_plot__switch_orientation.pngc                  óF  — t        «       \  } }}d}|j                  «        ||j                  «       k(  sJ ‚|j                  «       rJ ‚|j	                  «       }t        |||d   |d   |«       | j                  d«       | j                  dd«       | j                  dd«       y )	NÚverticalr%   r$   z#EventCollection: switch_orientationr,   r-   r   r    )	r:   rU   rB   rC   rA   r?   r3   r5   r4   )rP   r6   r9   Únew_orientationrQ   s        r   Ú)test__EventCollection__switch_orientationra   Ÿ   s£   € ä5Ó7Ñ€Dˆ$�Ø €OØ×ÑÔØ˜d×2Ñ2Ó4Ò4Ð4Ð4Ø×!Ñ!Ô#Ð#Ð#Ø×&Ñ&Ó(€MÜ�4Ø Ø˜Ñ&Ø˜Ñ&¨ô9ð 	‡N�NÐ8Ô9Ø‡M�M�"�bÔØ‡M�M�!�QÕr   z0EventCollection_plot__switch_orientation__2x.pngc                  ól  — t        «       \  } }}|j                  «        |j                  «        |j                  «       }|d   |j                  «       k(  sJ ‚|j	                  «       sJ ‚t
        j                  j                  |d   |«       t        |||d   |d   |d   «       | j                  d«       y)zc
    Check that calling switch_orientation twice sets the orientation back to
    the default.
    r#   r*   r%   r$   z&EventCollection: switch_orientation 2xN)
r:   rU   rA   rB   rC   r.   r@   r   r?   r3   rO   s       r   Ú,test__EventCollection__switch_orientation_2xrc   °   s´   € ô 6Ó7Ñ€Dˆ$�Ø×ÑÔØ×ÑÔØ×&Ñ&Ó(€MØ�Ñ 4×#7Ñ#7Ó#9Ò9Ð9Ð9Ø×ÑÔÐÐÜ‡J�J×!Ñ! %¨Ñ"4°mÔDÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ;Õ<r   z)EventCollection_plot__set_orientation.pngc                  ó.  — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚|j                  «       rJ ‚t	        ||d   |d   |d   |«       | j                  d«       | j                  dd«       | j                  dd	«       y )
Nr_   r*   r%   r$   z EventCollection: set_orientationr,   r-   r   r    )r:   Úset_orientationrB   rC   r?   r3   r5   r4   )rP   r6   r9   r`   s       r   Ú&test__EventCollection__set_orientationrf   Å   s�   € ä5Ó7Ñ€Dˆ$�Ø €OØ×Ñ˜Ô)Ø˜d×2Ñ2Ó4Ò4Ð4Ð4Ø×!Ñ!Ô#Ð#Ð#Ü�4Ø˜Ñ%Ø˜Ñ&Ø˜Ñ&Ø"ô	$ð
 	‡N�NÐ5Ô6Ø‡M�M�"�bÔØ‡M�M�!�QÕr   z(EventCollection_plot__set_linelength.pngc                  óæ   — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚t        ||d   ||d   |d   «       | j	                  d«       | j                  dd«       y )Né   r*   r$   r#   zEventCollection: set_linelengthiìÿÿÿé   )r:   Úset_linelengthrD   r?   r3   r5   )rP   r6   r9   Únew_linelengths       r   Ú%test__EventCollection__set_linelengthrl   Ö   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø!Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�#�rÕr   z(EventCollection_plot__set_lineoffset.pngc                  óæ   — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚t        ||d   |d   ||d   «       | j	                  d«       | j                  dd«       y )Ng      Àr*   r%   r#   zEventCollection: set_lineoffsetiúÿÿÿéüÿÿÿ)r:   Úset_lineoffsetrE   r?   r3   r5   )rP   r6   r9   Únew_lineoffsets       r   Ú%test__EventCollection__set_lineoffsetrq   å   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø˜Ñ&Ø!Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�"�bÕr   )ú'EventCollection_plot__set_linestyle.pngrr   z'EventCollection_plot__set_linewidth.pngc                  óâ   — dddddgfgfdddddgfgfdfD ]W  \  } }}t        «       \  }}} |j                  d	i | |i¤Ž t        j                  || «      |k(  sJ ‚|j	                  d| › �«       ŒY y )
Nr(   Údashedr   gš™™™™™@çš™™™™™	@)r   )gš™™™™™@gš™™™™™ù?)r&   é   rv   zEventCollection: set_© )r:   Úsetr0   Úgetpr3   )ÚpropÚvalueÚexpectedrP   r6   rI   s         r   Útest__EventCollection__set_propr}   ô   s›   € ð ˜( a¨#¨s¨ _Ð$5Ð6à˜/¨Q°°c°
¨OÐ+<Ð=Øð	"ò 	7Ñˆˆe�Xô 6Ó7‰ˆˆd�AØˆ�‰Ñ!�D˜%�=Ò!Ü�x‰x˜˜dÓ# xÒ/Ð/Ð/Ø�‰Ð.¨t¨fÐ5Õ6ñ	7r   z#EventCollection_plot__set_color.pngc                  ó  — t        «       \  } }}t        j                  g d¢«      }|j                  |«       |j	                  «       g|j                  «       ¢D ]"  }t        j                  j                  ||«       Œ$ | j                  d«       y )N)r   r   r   r   zEventCollection: set_color)	r:   r.   r/   Ú	set_colorrG   rH   r@   r   r3   )rP   r6   rI   Ú	new_colorr'   s        r   Ú test__EventCollection__set_colorr�     sp   € ä1Ó3�M€Dˆ$�Ü—‘šÓ&€IØ‡N�N�9ÔØ—.‘.Ó"Ð7 T§_¡_Ó%6Ð7ò 8ˆÜ
�
‰
×%Ñ% e¨YÕ7ð8à‡N�NÐ/Õ0r   c                 ón  — | j                  «       }|j                  «       dk(  s|j                  «       dk(  s|€d}d}n#|j                  «       dk(  rd}d}nt        d«      ‚t        |«      D ]G  \  }}	|	d|f   ||dz  z   k(  sJ ‚|	d|f   ||dz  z
  k(  sJ ‚|	d|f   ||   k(  sJ ‚|	d|f   ||   k(  rŒGJ ‚ y)	zp
    Test helper checking that all values in the segment are correct, given a
    particular set of inputs.
    r   ÚnoneNr   r   r_   z.orientation must be 'horizontal' or 'vertical'r    )Úget_segmentsÚlowerÚ
ValueErrorÚ	enumerate)
r6   r*   r%   r$   r#   ÚsegmentsÚpos1Úpos2ÚiÚsegments
             r   r?   r?     sú   € ð
 × Ñ Ó"€HØ×ÑÓ˜|Ò+Ø× Ñ Ó" fÒ,°Ð0CàˆØ‰Ø	×	Ñ	Ó	 
Ò	*àˆØ‰äÐIÓJÐJô   Ó)ò 0‰
ˆˆ7Ø�q˜$�wÑ :°
¸Q±Ñ#>Ò>Ð>Ð>Ø�q˜$�wÑ :°
¸Q±Ñ#>Ò>Ð>Ð>Ø�q˜$�wÑ 9¨Q¡<Ò/Ð/Ð/Ø�q˜$�wÑ 9¨Q¡<Ó/Ð/Ð/ñ	0r   c                  óF  — t        j                  d«      j                  d«      } t        j                  | t        j                  d«      ¬«      }|j                  d«      dk(  sJ ‚|j                  t        j                  d«      dz   «       |j                  d«      dk(  sJ ‚y )Né   )é   é   r    r�   )r/   r    gUUUUUUå?rv   )r.   ÚarangeÚreshapeÚmcollectionsr   ÚnormÚ	set_array)Úlinesr6   s     r   Útest_collection_norm_autoscaler—   *  sy   € ä�I‰I�b‹M×!Ñ! )Ó,€EÜ×&Ñ& u´B·I±I¸a³LÔA€DØ�9‰9�Q‹<˜5Ò Ð Ð à‡N�N”2—9‘9˜Q“< !Ñ#Ô$Ø�9‰9�Q‹<˜5Ò Ð Ñ r   c                  óü   — t        j                  g «      } | j                  t        j                  «       «      }t        |j                  «       t        j                  j                  «       j                  «       «       y r   )	r“   ÚPathCollectionÚget_datalimÚmtransformsÚIdentityTransformr   Ú
get_pointsÚBboxÚnull)ÚcolÚcol_data_lims     r   Útest_null_collection_datalimr¢   4  sW   € Ü
×
%Ñ
% bÓ
)€CØ—?‘?¤;×#@Ñ#@Ó#BÓC€LÜ�|×.Ñ.Ó0Ü"×'Ñ'×,Ñ,Ó.×9Ñ9Ó;õ=r   c                  ór  — t        j                  «       } t        j                  t	        j
                  ddg«      g«      }| j                  |«       |j                  t        j                  «       «      }t        |j                  «       t        j                  j                  «       j                  «       «       y )N©r   r   )r   r   )r0   Úaxesr“   r™   ÚmpathÚPathr2   rš   r›   rœ   r   r�   rž   rŸ   )r8   r6   Úcoll_data_lims      r   Útest_no_offsets_datalimr©   ;  s…   € ô 
�‰‹€BÜ×&Ñ&¬¯
©
°F¸FÐ3CÓ(DÐ'EÓF€DØ×Ñ�dÔØ×$Ñ$¤[×%BÑ%BÓ%DÓE€MÜ�}×/Ñ/Ó1Ü"×'Ñ'×,Ñ,Ó.×9Ñ9Ó;õ=r   c                  ó  — t        j                  «        t        j                  «       } | j                  ddgddg«       | j                  j
                  }| j                  g g «       | j                  j
                  |k(  sJ ‚y )Nr   r   )r0   Úfigurer¥   ÚscatterÚdataLimÚbounds)r8   r®   s     r   Útest_add_collectionr¯   F  sc   € ô ‡J�J„LÜ	�‰‹€BØ‡J�J��1ˆv˜˜1�vÔØ�Z‰Z×Ñ€FØ‡J�Jˆr�2ÔØ�:‰:×Ñ Ò&Ð&Ñ&r   c                 óª  — g d¢}g d¢}t        j                  ||«      \  }}|j                  «       }|j                  «       }| j                  «       }|j	                  d«       |j                  d«       d|_        |j                  ||«       |j                  «       }|j	                  d«       |j                  d«       |j                  ||dd¬«       y )N)g¥+ócÒ>gë®`8�F×>gq�[€;uÝ>gƒy7½/¤â>gÖÿ9Ì—ç>gWÇ!Üí>gÄ-–Iåò>g\p5ê÷>gd‘jDþ>g—y¹´K'?gÈ~Í+»=?gFEAL ®?g��|™0j?gÇ÷GKe’?gÞ�´=B?)r   çš™™™™™¹?g²�ï§ÆKÇ?gsh‘í|?Õ?g‡ÙÎ÷Sã?gš™™™™™ñ?r   g…ëQ¸@g�Âõ(\�@g333333(@g      6@gÍÌÌÌÌÌC@g33333ÓQ@Úlogr   ÚoÚ )ÚmarkerÚls)	r.   ÚmeshgridÚflattenr1   Ú
set_xscaleÚ
set_yscaleÚmarginsr¬   Úplot)Úfig_testÚfig_refÚx_valsÚy_valsÚxÚyÚax_testÚax_refs           r   Útest_collection_log_datalimrÅ   Q  sº   € òJ€Fò€Fô �;‰;�v˜vÓ&�D€A€qØ	�	‰	‹€AØ	�	‰	‹€Aà×ÑÓ!€GØ×Ñ�uÔØ×Ñ�uÔØ€G„OØ‡O�O�A�qÔà×ÑÓ€FØ
×Ñ�eÔØ
×Ñ�eÔØ
‡K�K��1˜S R€KÕ(r   c                  óL  — t        j                  «       } t        j                  d«      t        j                  d«      }}t        j                  ddd«      j                  dd«      x}}t        j                  ||||«      }|j                  | j                  «      j                  dk(  sJ ‚t        j                  «        t        j                  «       } t        j                  ddd«      }t        j                  dd	d«      }t        j                  ||«      \  }}t        j                  «       j                  d
d«      | j                  z   }t        j                  ||t        j                  |«      t        j                   |«      |¬«       | j"                  j                  dk(  sJ ‚y )Né   é
   r   éP   )r   r   g      @g      "@éûÿÿÿri   éþÿÿÿr�   é   é    ©Ú	transform)g      4@g      >@g      .@g      @)r0   r¥   r.   r‘   Úlinspacer’   Úquiverrš   Ú	transDatar®   r«   r·   r›   ÚAffine2DÚ	translateÚsinÚcosr­   )r8   rÁ   rÂ   ÚuÚvÚqÚtranss          r   Útest_quiver_limitsrÛ   k  s-  € Ü	�‰‹€BÜ�9‰9�Q‹<œŸ™ 2›€q€AÜ�K‰K˜˜2˜rÓ"×*Ñ*¨2¨qÓ1Ð1€AˆÜ�
‰
�1�a˜˜AÓ€AØ�=‰=˜Ÿ™Ó&×-Ñ-Ð1AÒAÐAÐAä‡J�J„LÜ	�‰‹€BÜ
�‰�B˜˜BÓ€AÜ
�‰�B˜˜2Ó€AÜ�;‰;�q˜!Ó�D€A€qÜ× Ñ Ó"×,Ñ,¨R°Ó4°r·|±|ÑC€EÜ‡J�Jˆq�!”R—V‘V˜A“Y¤§¡ q£	°UÕ;Ø�:‰:×ÑÐ 7Ò7Ð7Ñ7r   c                  óà  — t        j                  «       } t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}t        j                  «       j                  dd«      | j                  z   }t        j                  ||t        j                  |«      t        j                  |«      |¬«       t        | j                  j                  d	d
¬«       y )NrÊ   rÈ   ri   rË   r�   rÌ   rÍ   rÎ   )ri   é   rh   é   r   ©Údecimal)r0   r¥   r.   rÐ   r·   r›   rÓ   rÔ   rÒ   ÚbarbsrÕ   rÖ   r   r­   r®   )r8   rÁ   rÂ   rÚ   s       r   Útest_barb_limitsrâ   |  s¨   € Ü	�‰‹€BÜ
�‰�B˜˜BÓ€AÜ
�‰�B˜˜2Ó€AÜ�;‰;�q˜!Ó�D€A€qÜ× Ñ Ó"×,Ñ,¨R°Ó4°r·|±|ÑC€EÜ‡I�Iˆa�”B—F‘F˜1“IœrŸv™v a›y°EÕ:ô ˜bŸj™j×/Ñ/°Ø&'ö)r   z EllipseCollection_test_image.pngTÚ_classic_testÚx86_64g/Ý$�•?)Úremove_textr<   Útolc            	      óð  — t        j                  «       \  } }t        j                  d«      }t        j                  d«      }t        j                  ||«      \  }}t        j
                  |j                  «       |j                  «       f«      j                  }||d   z  }||d   z  }t        j                  |«      dz  }	t        j                  |||	d||j                  d¬«      }
|j                  |
«       y )Nr�   r�   r,   ri   rÁ   rƒ   )ÚunitsÚoffsetsÚoffset_transformÚ
facecolors)r0   r1   r.   r‘   r·   ÚvstackÚravelÚTÚ	ones_liker“   ÚEllipseCollectionrÒ   r2   )r7   r8   rÁ   rÂ   ÚXÚYÚXYÚwwÚhhÚaaÚecs              r   Útest_EllipseCollectionrø   Š  sÇ   € ô
 �l‰l‹n�G€CˆÜ
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ�;‰;�q˜!Ó�D€A€qÜ	�‰�A—G‘G“I˜qŸw™w›yÐ)Ó	*×	,Ñ	,€Bà	
ˆQˆr‰U‰€BØ	
ˆQˆr‰U‰€BÜ	�‰�bÓ	˜BÑ	€Bä	×	'Ñ	'Ø
ˆB�˜# r¸B¿L¹LØô
€Bð ×Ñ�bÕr   c                  óÚ  — t         j                  j                  d«      } d}d}d}| j                  d«      dz  }t        j                  «       \  }}t        j                  ||||d|j                  ¬«      }t        |j                  t        j                  |«      j                  «       d	z  «       t        |j                  t        j                  |«      j                  «       d	z  «       t        |j                  t        j                  |«      j                  «       «       t        |j                  «       |«       t        |j!                  «       |«       t        |j#                  «       |«       |j%                  |«       |j'                  d
d«       |j)                  d
d«       | j                  d«      dz  }| j                  d«      dz  }	| j                  d«      dz  }
|j+                  ||	|
¬«       t        |j                  «       |j                  «       «       t        |j!                  «       |	j                  «       «       t        |j#                  «       |
j                  «       «       y )Nr   )r    )r�   )é-   )rÈ   r    rÈ   rÁ   )ÚwidthsÚheightsÚanglesré   rè   rê   r   rË   é   r    r�   é´   )rû   rü   rý   )r.   ÚrandomÚdefault_rngr0   r1   r“   rð   rÒ   r   Ú_widthsr/   rí   Ú_heightsÚ_anglesÚdeg2radÚ
get_widthsÚget_heightsÚ
get_anglesr2   r4   r5   rx   )Úrngrû   rü   rý   ré   r7   r8   r÷   Ú
new_widthsÚnew_heightsÚ
new_angless              r   Ú$test_EllipseCollection_setter_getterr  Ÿ  sË  € ä
�)‰)×
Ñ
 Ó
"€Cà€FØ€GØ€FØ�j‰j˜Ó! BÑ&€Gä�l‰l‹n�G€Cˆä	×	'Ñ	'ØØØØØØŸ™ô

€Bô ˜bŸj™j¬"¯(©(°6Ó*:×*@Ñ*@Ó*BÀSÑ*HÔIÜ˜bŸk™k¬2¯8©8°GÓ+<×+BÑ+BÓ+DÀsÑ+JÔKÜ˜bŸj™j¬"¯*©*°VÓ*<×*BÑ*BÓ*DÔEä˜bŸm™m›o¨vÔ6Ü˜bŸn™nÓ.°Ô8Ü˜bŸm™m›o¨vÔ6à×Ñ�bÔØ‡K�K��BÔØ‡K�K��BÔà—‘˜GÓ$ qÑ(€JØ—*‘*˜WÓ%¨Ñ)€KØ—‘˜GÓ$ sÑ*€Jà‡F�F�* k¸*€FÔEä˜bŸm™m›o¨z×/?Ñ/?Ó/AÔBÜ˜bŸn™nÓ.°×0AÑ0AÓ0CÔDÜ˜bŸm™m›o¨z×/?Ñ/?Ó/AÕBr   zpolycollection_close.png)rå   r<   c                  óî  — ddl m}  dt        j                  d<   ddgddgddgddggddgddgddgddggddgddgd	dgddggddgddgd	dgd	dggg}t        j                  «       }|j                   | |«      «      }g d
¢}t        t        d«      «      }t        j                  |t        |«      z  d¬«      }|j                  d«       g }g }t        ||«      D ]A  \  }	}
|j                  |	gt        |«      z  «       |j                  |
gt        |«      z  «       ŒC |j                  |«       |j                  ||d¬«       |j!                  dd«       |j#                  dd«       |j%                  dd«       y )Nr   )ÚAxes3DTzaxes3d.automarginr   r   r   r   ç      @)ÚrÚgÚbrÂ   Úkrv   ç      Ð?©r&   gffffffæ?rÂ   )ÚzsÚzdirr�   r�   )Úmpl_toolkits.mplot3dr  r0   ÚrcParamsr«   Úadd_axesÚlistÚranger“   r
   ÚlenÚ	set_alphaÚzipÚextendr   Úadd_collection3dÚ
set_xlim3dÚ
set_zlim3dÚ
set_ylim3d)r  Ú	vertsQuadr7   r8   ÚcolorsÚzposÚpolyr  ÚcsÚzÚcs              r   Útest_polycollection_closer-  Ê  s‹  € å+Ø(,„C‡L�LÐ$Ñ%ð ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0ð	2€Iô �*‰*‹,€CØ	�‰‘f˜S“kÓ	"€Bâ&€FÜ”�a“‹>€Dä×&Ñ&Ø”C˜“IÑ¨ô/€Dà‡N�N�3Ôð 
€BØ	€BÜ�D˜&Ó!ò (‰ˆˆ1Ø
�	‰	�1�#œ˜I›Ñ&Ô'Ø
�	‰	�1�#œ˜I›Ñ&Õ'ð(ð 	‡N�N�2Ôà×Ñ˜ ¨#ÐÔ.ð ‡M�M�!�QÔØ‡M�M�!�QÔØ‡M�M�!�QÕr   c                 ó  — t        j                  t        t        j                  t        j
                  ddd«      t        j
                  ddd«      t        j
                  ddd«      «      «      «      j                  \  }}}||z   }| j                  dd¬«      }|j                  ||||dd¬	«      }| j                  j                  «        |j                  d
«       |j                  dd¬«      }|j                  ||||dd
¬	«       y )Nr   rv   r   éo   Ú3d)Ú
projectioné(   Újet)r,  ÚsÚcmapÚviridis)r.   r/   r  Ú	itertoolsÚproductr‘   rî   Úadd_subplotr¬   ÚcanvasÚdrawÚset_cmap)	r½   r¾   rÁ   rÂ   r+  r,  rÃ   Úsc_testrÄ   s	            r   Útest_scalarmap_change_cmapr>  ð  sï   € ô �h‰h”tœI×-Ñ-Ü
�	‰	�!�Q˜ÓÜ
�	‰	�!�Q˜ÓÜ
�	‰	�!�Q˜Óóó ó ÷ 	
‰ñ	 €A€qˆ!ð
 	
ˆA‰€Að ×"Ñ" 3°4Ð"Ó8€GØ�o‰o˜a  A¨¨b°uˆoÓ=€GØ‡O�O×ÑÔØ×Ñ�YÔð × Ñ  °Ð Ó6€FØ
‡N�N�1�a˜˜a 2¨I€NÕ6r   z regularpolycollection_rotate.pngc                  óÆ  — t         j                  d d…d d…f   \  } }t        j                  | j                  «       |j                  «       g«      }t        j                  ddt         j
                  z  t        |«      «      }t        j                  «       \  }}t        ||«      D ];  \  }}t        j                  dd||g|j                  ¬«      }|j                  |«       Œ= y )NrÈ   r   r    r�   )éd   )ÚsizesÚrotationré   rê   )r.   ÚmgridÚ	transposer¸   rÐ   Úpir  r0   r1   r   r“   ÚRegularPolyCollectionrÒ   r2   )	ÚxxÚyyÚ	xy_pointsÚ	rotationsr7   r8   ÚxyÚalphar    s	            r   Ú!test_regularpolycollection_rotaterM    sº   € ô �X‰X�c�r�c˜3˜B˜3�hÑ�F€BˆÜ—‘˜bŸj™j›l¨B¯J©J«LÐ9Ó:€IÜ—‘˜A˜q¤§¡™w¬¨I«Ó7€Iä�l‰l‹n�G€CˆÜ˜ IÓ.ò ‰	ˆˆEÜ×0Ñ0Ø�V eØ�D¨2¯<©<ô9ˆð 	×Ñ˜#Õñ	r   zregularpolycollection_scale.pngc                  ó  —  G d„ dt         j                  «      } t        j                  «       \  }}dg}t        j
                  dz  g} | |||j                  ¬«      }|j                  |«       |j                  g d¢«       y )Nc                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ú:test_regularpolycollection_scale.<locals>.SquareCollectionc                 óJ   •— t        ‰| �  ddt        j                  dz  i|¤Ž y )NrB  r  )r�   )ÚsuperÚ__init__r.   rE  )ÚselfÚkwargsÚ	__class__s     €r   rS  zCtest_regularpolycollection_scale.<locals>.SquareCollection.__init__  s    ø€ Ü‰GÑÑ<¬¯©¨r©Ð<°VÓ<r   c                 ó`  — | j                   }d|j                  d¬«      j                  z  }||j                  j                  z  |j
                  j                  z  }||j                  j                  z  |j
                  j                  z  }t        j                  «       j                  ||«      S )z4Return transform scaling circle areas to data space.g      R@T)Úroot)
r¥   Ú
get_figureÚdpiÚbboxÚwidthÚviewLimÚheightr›   rÓ   Úscale)rT  r8   Ú
pts2pixelsÚscale_xÚscale_ys        r   Úget_transformzHtest_regularpolycollection_scale.<locals>.SquareCollection.get_transform  s„   € à—‘ˆBà §¡°4 Ó 8× <Ñ <Ñ<ˆJà  2§7¡7§=¡=Ñ0°2·:±:×3CÑ3CÑCˆGØ  2§7¡7§>¡>Ñ1°B·J±J×4EÑ4EÑEˆGÜ×'Ñ'Ó)×/Ñ/°¸ÓAÐAr   )Ú__name__Ú
__module__Ú__qualname__rS  rc  Ú__classcell__)rV  s   @r   ÚSquareCollectionrP    s   ø„ ô	=ö	Br   rh  r¤   r    )rA  ré   rê   )r,   r   r,   r   )	r“   rF  r0   r1   r.   rE  rÒ   r2   Úaxis)rh  r7   r8   rK  Úcircle_areasÚsquaress         r   Ú test_regularpolycollection_scalerl    sm   € ô
Bœ<×=Ñ=ô Bô �l‰l‹n�G€Cˆà
ˆ€Bä—E‘E˜A‘I�;€LÙØ B¸¿¹ôG€Gà×Ñ�gÔØ‡G�GŠNÕr   c                  ó*  — t        j                  «       \  } }|j                  dgdgdgd¬«      }| j                  t	        j
                  «       | j                  ¬«       t        dd¬«      }|j                  |«      \  }}|sJ ‚t        |d	   dg«       y )
Nr   iè  T)Úpicker)rZ  iE  éð   )rÁ   rÂ   Úind)
r0   r1   r¬   ÚsavefigÚioÚBytesIOrZ  r   Úcontainsr   )r7   r8   r    Úmouse_eventÚfoundÚindicess         r   Útest_pickingrx  3  s|   € Ü�l‰l‹n�G€CˆØ
�*‰*�a�S˜1˜# ˜v¨dˆ*Ó
3€CØ‡K�K”—
‘
“ #§'¡'€KÔ*Ü! C¨3Ô/€KØ—\‘\ +Ó.�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÕ+r   c                  óD  — t        j                  d«      } | d d …d f   | d d d …f   z  }t        j                  «       \  }}|j	                  |«      }|j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      \  }	}
|	sJ ‚t        |
d   dg«       d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      \  }	}
|	sJ ‚t        |
d   dg«       y )Nr�   ©r   r   ©ÚxdataÚydatarÁ   rÂ   rp  r   ©ç      ø?r  rv   )r.   r‘   r0   r1   r   Údraw_without_renderingrc  rÏ   r   rt  r   )rÁ   rñ   r7   r8   Úmeshr|  r}  rÂ   ru  rv  rw  s              r   Útest_quadmesh_containsr‚  =  s  € Ü
�	‰	�!‹€AØ	Š!ˆTˆ'‰
�Q�tšQ�w‘ZÑ€Aä�l‰l‹n�G€CˆØ�=‰=˜Ó€DØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€KØ—]‘] ;Ó/�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÔ+à�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€KØ—]‘] ;Ó/�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÕ+r   c                  óX  — ddgddgg} ddgddgg}t        j                  «       \  }}|j                  | |dgg«      }|j                  «        g d¢}|D ]U  }|\  }}}	|j	                  «       j                  ||f«      \  } }t        ||| |¬«      }
|j                  |
«      \  }}||	u rŒUJ ‚ y )Nr   r,   r   ))ç      à¿r  T)r   r  F)r   r  T)r   g      Ð¿Tr{  )r0   r1   r   r€  rc  rÏ   r   rt  )rÁ   rÂ   r7   r8   r�  ÚpointsÚpointr|  r}  r|   ru  rv  rw  s                r   Útest_quadmesh_contains_concaver‡  S  sÌ   € à
ˆRˆ�1�a�&Ð€AØ
ˆQˆ�!�R�Ð€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜A  ˜uÓ%€DØ×ÑÔ ò€Fð
 ò !ˆØ!&Ñˆˆu�hØ×!Ñ!Ó#×-Ñ-¨u°e¨nÓ=‰ˆˆ1Ü%¨E¸À!ÀqÔIˆØŸ™ {Ó3‰ˆˆwØ˜Ò Ð Ð ñ!r   c                  óü  — t        j                  d«      } | d d …d f   | d d d …f   z  }t        j                  «       \  }}|j	                  |«      }d |_        |j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      �J ‚|j                  t        j                  |j                  «      «       t        |j                  |«      dg«       y )Nr�   rz  r{  r   )r.   r‘   r0   r1   r   Ú_Ar€  rc  rÏ   r   Úget_cursor_datar•   ÚonesÚshaper   )	rÁ   rñ   r7   r8   r�  r|  r}  rÂ   ru  s	            r   Útest_quadmesh_cursor_datar�  h  sÜ   € Ü
�	‰	�!‹€AØ	Š!ˆTˆ'‰
�Q�tšQ�w‘ZÑ€Aä�l‰l‹n�G€CˆØ�=‰=˜Ó€Dà€D„GØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€Kà×Ñ Ó,Ð4Ð4Ð4ð 	‡N�N”2—7‘7˜1Ÿ7™7Ó#Ô$Ü�t×+Ñ+¨KÓ8¸1¸#Õ>r   c                  ór  — g d¢} t        j                  «       \  }}|j                  | | t        j                  d«      «      }|j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }t        |j                  |«      t        j                  d«      «       y )N)r   r    r   r    ©r�   r�   r~  r{  é	   )r0   r1   r   r.   r‹  r€  rc  rÏ   r   r   rŠ  )rÁ   r7   r8   r�  r|  r}  rÂ   ru  s           r   Ú)test_quadmesh_cursor_data_multiple_pointsr‘  |  s“   € Ú€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w v›Ó/€DØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€Kä�t×+Ñ+¨KÓ8¼"¿'¹'À!»*ÕEr   c                  ól   — t        j                  g d¢g d¢dddgf¬«       t        j                  «        y )N©r   r   r    r   r   )r(   )r0   r¬   r;  rw   r   r   Útest_linestyle_single_dashesr”  ˆ  s#   € Ü‡K�K’	š9°°b¸"°X°Õ?Ü‡H�H…Jr   zsize_in_xy.pngc                  óþ   — t        j                  «       \  } }d\  }}}d}ddg}t        j                  |||d||j                  ¬«      }|j                  |«       |j                  dd«       |j                  dd«       y )N)©rÈ   rÈ   rÈ   r   r–  )rh   rh   rK  )rè   ré   rê   r   rÝ   )r0   r1   r“   rð   rÒ   r2   r4   r5   )r7   r8   rû   rü   rý   ÚcoordsÚes          r   Útest_size_in_xyr™  �  sz   € ä�l‰l‹n�G€Cˆà-Ñ€FˆG�VØ€FØ˜Ð!€FÜ×&Ñ&Ø�˜ tØ¨¯©ô	7€Að ×Ñ�aÔà‡K�K��2ÔØ‡K�K��2Õr   c                 ó0  — g d¢}| j                  g d¢|¬«      x}}| j                  g d¢|¬«      }| j                  g d¢|¬«      }| j                  g d¢|¬«      }t        |¬«       t        |¬«       t        |¬	«       t        |¬
«       t        |¬«       y )N)é   rþ   é   )ÚredÚblueÚgreen)Úindex©r   r    r�   )r"   rt   Údashdot)TFT)Ú
edgecolors)rë   )Ú
linewidths)Ú
linestyles)Úantialiaseds)ÚSeriesr   )Úpdr   r÷   ÚfcÚlwr¶   rö   s          r   Útest_pandas_indexingr«  ž  s�   € ò €EØ�i‰iÒ0¸ˆiÓ>Ð>€BˆØ	�‰’9 EˆÓ	*€BØ	�‰Ò1¸ˆÓ	?€BØ	�‰Ò&¨eˆÓ	4€Bä˜"ÕÜ˜"ÕÜ˜"ÕÜ˜"ÕÜ˜BÖr   Údefaultc                  ó‚  — t        j                  g «      } | j                  ddg«       | j                  g d¢«       | j	                  «       dgdz  k(  sJ ‚| j                  «       g d¢dz  k(  sJ ‚| j                  g d¢«       | j	                  «       dgdz  k(  sJ ‚| j                  «       g d¢k(  j                  «       sJ ‚y )Nú-r¡  r>   rÞ   r    )r®  r®  r®  r�   )r“   r™   Úset_linestylesÚset_linewidthsÚget_linestylesÚget_linewidthsÚall©r    s    r   Útest_lslw_bcastrµ  ¯  sµ   € ä
×
%Ñ
% bÓ
)€CØ×Ñ˜˜S�zÔ"Ø×Ñ’yÔ!à×ÑÓ I ;°¡?Ò2Ð2Ð2Ø×ÑÓ¢9¨q¡=Ò0Ð0Ð0à×Ñ’Ô'Ø×ÑÓ I ;°¡?Ò2Ð2Ð2Ø×ÑÓ ¢IÑ-×2Ñ2Ô4Ð4Ñ4r   c                  óš   — t        «       } t        j                  t        d¬«      5  | j	                  d«       d d d «       y # 1 sw Y   y xY w)Nz"Do not know how to convert 'fuzzy'©ÚmatchÚfuzzy)r   ÚpytestÚraisesr†   Úset_linestyle©r,  s    r   Útest_set_wrong_linestyler¾  ½  s9   € Ü‹€AÜ	�‰”zÐ)MÔ	Nñ !Ø	�‰˜Ô ÷!÷ !ñ !ús   ¦AÁA
r¶   )r´   ú rƒ   c                 óÒ   — t        j                  d«       t        j                  «       \  }}|j                  ddgddg| ¬«       |j	                  t        j                  «       «       y )NÚpdfr   r   )r¶   )r0   Úswitch_backendr1   r¬   rq  rr  rs  )r¶   r7   r8   s      r   Ú test_scatter_empty_linestyle_pdfrÃ  Ã  sM   € ô
 ×Ñ�uÔÜ�l‰l‹n�G€CˆØ‡J�J��1ˆv˜˜1�v "€JÔ%Ø‡K�K”—
‘
“Õr   c                  óö   — t        j                  g «      } | j                  «       �J ‚t        j                  g d¬«      } | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )NÚround)ÚcapstyleÚbutt)r“   r™   Úget_capstyleÚset_capstyler´  s    r   Útest_capstylerÊ  Î  su   € ä
×
%Ñ
% bÓ
)€CØ×ÑÓÐ%Ð%Ð%Ü
×
%Ñ
% b°7Ô
;€CØ×ÑÓ Ò(Ð(Ð(Ø×Ñ�VÔØ×ÑÓ Ò'Ð'Ñ'r   c                  óö   — t        j                  g «      } | j                  «       �J ‚t        j                  g d¬«      } | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )NrÅ  )Ú	joinstyleÚmiter)r“   r™   Úget_joinstyleÚset_joinstyler´  s    r   Útest_joinstylerÐ  Ø  su   € ä
×
%Ñ
% bÓ
)€CØ×ÑÓÐ&Ð&Ð&Ü
×
%Ñ
% b°GÔ
<€CØ×ÑÓ 'Ò)Ð)Ð)Ø×Ñ�gÔØ×ÑÓ 'Ò)Ð)Ñ)r   zcap_and_joinstyle.pngc                  ó  — t        j                  «       \  } }|j                  ddg«       |j                  ddg«       t	        j
                  g d¢«      }t	        j
                  dgdgdgg«      t	        j
                  g d¢g«      z   }t	        j                  d	«      }||d d …d d …d
f<   ||d d …d d …df<   t        |g d¢¬«      }|j                  d«       |j                  d«       |j                  |«       |j                  d«       y )Nr„  r  ç      @)r   r   r   r   r   r   )r   r   r   )r�   r�   r    r   r   )rÈ   rh   ri   r  rÅ  rÍ  z2Line collection with customized caps and joinstyle)r0   r1   r4   r5   r.   r/   Úzerosr   rÉ  rÏ  r2   r3   )r7   r8   rÁ   ÚysÚsegsÚline_segmentss         r   Útest_cap_and_joinstyle_imager×  â  sÚ   € ä�l‰l‹n�G€CˆØ‡K�K��s�ÔØ‡K�K��s�Ôä
�‰’Ó!€AÜ	�‰�C�5˜3˜% # Ð'Ó	(¬2¯8©8²_Ð4EÓ+FÑ	F€Bä�8‰8�IÓ€DØ€DŠŠAˆqˆ�MØ€DŠŠAˆqˆ�MÜ" 4²<Ô@€MØ×Ñ˜wÔ'Ø×Ñ Ô(à×Ñ�mÔ$Ø‡L�LÐEÕFr   zscatter_post_alpha.pngc                  ó²   — t        j                  «       \  } }|j                  t        d«      t        d«      t        d«      ¬«      }|j	                  d«       y )Nrv   r½  r±   )r0   r1   r¬   r  r  )r7   r8   Úscs      r   Útest_scatter_post_alpharÚ  ö  s?   € ô �l‰l‹n�G€CˆØ	�‰”E˜!“Hœe A›h¬%°«(ˆÓ	3€BØ‡L�L�Õr   c                  óB  — t        j                  d«      } | dz  }t        j                  d«      \  }\  }}|j	                  | | | |¬«      }|j	                  | | | ¬«      }|j                  |«       t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       t        j                  d«      \  }\  }}|j	                  | | g d¢|¬«      }|j	                  | | d|¬«      }t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       t        j                  d«      \  }\  }}|j	                  | | g d¢¬	«      }|j                  |«       |j	                  | | d¬	«      }|j                  |«       t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       y )
Nrv   r    )r,  rL  r½  r,   )r  r  r  r,  Úm)r'   rL  r  )r'   )	r.   r‘   r0   r1   r¬   r  r;  r   Úget_facecolors)rÁ   rL  r7   Úax0Úax1Úsc0Úsc1s          r   Útest_scatter_alpha_arrayrâ  þ  s¾  € Ü
�	‰	�!‹€AØ�‰E€Eä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜˜a uˆ+Ó
-€CØ
�+‰+�a˜˜aˆ+Ó
 €CØ‡M�M�%ÔÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:ä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜Ò";À5ˆ+Ó
I€CØ
�+‰+�a˜ #¨Uˆ+Ó
3€CÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:ä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜Ò";ˆ+Ó
<€CØ‡M�M�%ÔØ
�+‰+�a˜ #ˆ+Ó
&€CØ‡M�M�%ÔÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÕ:r   c            	      óÂ  — t         j                  j                  d«       t         j                  j                  dd«      \  } }t         j                  j                  d«      }t         j                  j	                  ddd¬«      }t         j                  j	                  ddd¬«      }t        j                  «       \  }}|j                  | |||dd	d¬
«      }|j                  d¬«      \  }}t        |«      dk(  sJ ‚|g d¢k(  sJ ‚t        j                  |D �	cg c]  }	|	j                  «       ‘Œ c}	«      }
|j                  t        j                  d«      dz  «      }t        |
|«       |j                  ||d¬«      }|j                  d¬«      \  }}t        |«      dk(  sJ ‚|j                  ||d¬«      }|j                  ddd¬«      \  }}t!        d„ |D «       «      sJ ‚t!        d„ |D «       «      sJ ‚|j                  ||d¬«      }|j                  dddd„ ¬«      \  }}|D �	cg c]  }	|	j#                  «       ‘Œ }}	t        j$                  t        j                  |t&        «      dz  «      }t)        ||«       |j                  ||d¬«      }t*        j,                  j/                  ddg d¢¬«      }|j                  |¬«      \  }}t        |«      t        |«      k(  sJ ‚g d ¢}|j                  |dd¬!«      \  }}|D �cg c]  }t'        |«      ‘Œ c}|dd  k(  sJ ‚||||fD ]  }|j1                  |«       Œ |j2                  j5                  «        y c c}	w c c}	w c c}w )"Né!N,r    rÈ   r   rv   )Úsizei,  r3  r³   )r,  r4  r5  rµ   r¤  z{x:g})Úfmt)Ú0Ú1Ú2Ú3Ú4r�   r   )Úlocr�  )ÚnumrA  r   r�  )rz   rL  r'   c              3   óB   K  — | ]  }|j                  «       d k(  –— Œ y­w)r   N)Ú	get_alpha©Ú.0Úlines     r   ú	<genexpr>z6test_pathcollection_legend_elements.<locals>.<genexpr>2  s   è ø€ Ò5¨4ˆt�~‰~Ó 3Õ&Ñ5ùó   ‚c              3   óB   K  — | ]  }|j                  «       d k(  –— Œ y­w)r�  N)Úget_markerfacecolorrð  s     r   ró  z6test_pathcollection_legend_elements.<locals>.<genexpr>3  s   è ø€ ÒA°tˆt×'Ñ'Ó)¨UÕ2ÑAùrô  z{x:.2f}c                 ó   — d| z  S )Nr    rw   )rÁ   s    r   ú<lambda>z5test_pathcollection_legend_elements.<locals>.<lambda>7  s
   € ¨Q¨q©S€ r   )rz   rí  ræ  Úfuncr�   rÇ   )r   r    rÒ  r�   rv   rÞ   rÇ   rÈ   )ÚnbinsÚmin_n_ticksÚsteps)r,   r   g33333³K@i  )rí  rz   ræ  )r.   r   ÚseedÚrandÚrandintr0   r1   r¬   Úlegend_elementsr  r/   rG   r5  r‘   r   Úlegendr³  Úget_markersizeÚsqrtÚfloatr   ÚmplÚtickerÚMaxNLocatorÚ
add_artistr:  r;  )rÁ   rÂ   r,  r4  r7   r8   rÙ  ÚhÚlrò  r'  Úcolors2Úl1Úh2Úlab2Úl2Úl3ÚactsizesÚlabeledsizesÚl4rì  Úh5Úlab5ÚlevelsÚh6Úlab6s                             r   Ú#test_pathcollection_legend_elementsr    s  € Ü‡I�I‡N�N�8ÔÜ�9‰9�>‰>˜!˜RÓ �D€A€qÜ
�	‰	�‰�rÓ€AÜ
�	‰	×Ñ˜!˜Q RÐÓ(€AÜ
�	‰	×Ñ˜"˜c¨ÐÓ+€Aä�l‰l‹n�G€CˆØ	�‰�A�q˜A ¨°sÀqˆÓ	I€Bà×Ñ 'ÐÓ*�D€A€qÜˆq‹6�QŠ;Ðˆ;ØÒ)Ò)Ð)Ð)Ü�X‰X°AÖ6¨D�t—~‘~Õ'Ò6Ó7€FØ�g‰g”b—i‘i “l 1‘nÓ%€GÜ�v˜wÔ'Ø	�‰�1�a˜QˆÓ	€Bà×!Ñ! aÐ!Ó(�H€BˆÜˆr‹7�aŠ<Ðˆ<Ø	�‰�2�t ˆÓ	#€Bà×Ñ 7°#¸UÐÓC�D€A€qÜÑ5°1Ô5Ô5Ð5Ð5ÜÑA¸qÔAÔAÐAÐAØ	�‰�1�a˜QˆÓ	€Bà×Ñ 7°°yÙ#0ð ó 2�D€A€qà23Ö4¨$�×#Ñ#Õ%Ð4€HÐ4Ü—7‘7œ2Ÿ8™8 A¤uÓ-°Ñ1Ó2€LÜ˜h¨Ô5Ø	�‰�1�a˜QˆÓ	€Bä
�*‰*×
 Ñ
  q°cÚ'Bð !ó D€Cà×!Ñ! cÐ!Ó*�H€BˆÜˆr‹7”c˜"“gÒÐÐâ€FØ×!Ñ! f°7ÀÐ!ÓH�H€BˆØ"Ö#˜ŒE�!�HÒ# v¨a¨b zÒ1Ð1Ð1à�"�b˜"Ðò ˆØ
�‰�aÕðð ‡J�J‡O�OÕùòC 7ùò  5ùò $s   ÄMÈ$MË>Mc                  ó²   — t        j                  g d¢«      } t        | «      }t         j                  j	                  | t        j                  g d¢«      «       y )N)r�   r    r   rÈ   )r.   r/   r	   r@   r   )Úarrr6   s     r   Útest_EventCollection_nosortr  L  s7   € ä
�(‰(’=Ó
!€CÜ˜3Ó€DÜ‡J�J×!Ñ! #¤r§x¡x²Ó'>Õ?r   c                  óþ  — t        j                  dt         j                  ¬«      j                  ddd«      } t	        | «      }t	        t        | «      «      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  |j                  «      D ]]  \  }}t        j                  |j                  |j                  «      sJ ‚t        j                  |j                  |j                  «      rŒ]J ‚ t        j                  dt        ¬«      }| D �cg c]  }t        d„ |D «       «      ‘Œ c}|d d  t	        |«      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  |j                  «      D ]]  \  }}t        j                  |j                  |j                  «      sJ ‚t        j                  |j                  |j                  «      rŒ]J ‚ y c c}w )NrÉ   ©ÚdtyperÈ   r�   r    c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   )Útuple)rñ  rÂ   s     r   ró  z2test_collection_set_verts_array.<locals>.<genexpr>]  s   è ø€ Ò0¨œE !ŸHÑ0ùs   ‚)r.   r‘   Údoubler’   r
   r  r  Ú_pathsr   Úarray_equalÚ	_verticesÚ_codesÚemptyÚobjectr!  )	ÚvertsÚcol_arrÚcol_listÚapÚlpÚverts_tuplerÁ   Úcol_arr_tupleÚatps	            r   Útest_collection_set_verts_arrayr1  S  sv  € Ü�I‰I�b¤§	¡	Ô*×2Ñ2°2°q¸!Ó<€EÜ˜UÓ#€GÜœd 5›kÓ*€HÜˆw�~‰~Ó¤# h§o¡oÓ"6Ò6Ð6Ð6Ü�g—n‘n h§o¡oÓ6ò 4‰ˆˆBÜ�~‰~˜bŸl™l¨B¯L©LÔ9Ð9Ð9Ü�~‰~˜bŸi™i¨¯©Õ3Ð3Ð3ð4ô —(‘(˜2¤VÔ,€KØ:?Ö@°Q”eÑ0¨aÔ0Õ0Ò@€K‘€NÜ" ;Ó/€MÜˆw�~‰~Ó¤# m×&:Ñ&:Ó";Ò;Ð;Ð;Ü�w—~‘~ }×';Ñ';Ó<ò 5‰ˆˆCÜ�~‰~˜bŸl™l¨C¯M©MÔ:Ð:Ð:Ü�~‰~˜bŸi™i¨¯©Õ4Ð4Ð4ñ5ùò As   Ä"G:rU  ÚstepÚprec                 ó  — t        j                  dd«      }t        j                  |«      }|dz   } |j                  «       j                  |||fi |¤Ž  | j                  «       j                  |ddfi |¤Ž}|j                  |||«       y )Nr   é   çš™™™™™É?r,   g333333ó?)r.   rÐ   rÕ   r1   Úfill_betweenÚset_data)r½   r¾   rU  ÚtÚf1Úf2r6   s          r   Ú*test_fill_between_poly_collection_set_datar<  e  s€   € ô 	�‰�A�rÓ€AÜ	�‰�‹€BØ	ˆc‰€Bà#€G×ÑÓ×#Ñ# A r¨2Ñ8°Ò8à+ˆ8×ÑÓ×+Ñ+¨A¨r°3ÑA¸&ÑA€DØ‡M�M�!�R˜Õr   )Út_directionr:  rŒ  ÚwhereÚmsg)r+  NNNz't_direction must be 'x' or 'y', got 'z')rÁ   N)r,   r   Nz'x' is not 1-dimensionalrÁ   Fr�   z0where size \(3\) does not match 'x' size \(\d+\)rÂ   r   r    z5'y' has size \d+, but 'x1' has an unequal size of \d+c                 ó4  — t        j                  dd«      }|€t        j                  |«      nt        j                  |«      }|dz   }|r |j                  |Ž }t        j                  t        |¬«      5  t        | ||||¬«       d d d «       y # 1 sw Y   y xY w)Nr   r5  r6  r·  )r>  )	r.   rÐ   rÕ   Úasarrayr’   rº  r»  r†   r   )r=  r:  rŒ  r>  r?  r9  r;  s          r   Ú'test_fill_between_poly_collection_raiserB  r  s‚   € ô 	�‰�A�rÓ€AØ�jŒ�‰�Œ¤b§j¡j°£n€BØ	ˆc‰€BÙØˆA�I‰I�uÐˆÜ	�‰”z¨Ô	-ñ GÜ! +¨q°"°bÀÕF÷G÷ Gñ Gús   Á4BÂBc                  óH  — g t        d«      ¢} t        «       }|j                  | «       t        j                  t
        d¬«      5  |j                  d«       d d d «       d| d<   t        j                  | |j                  «       «      j                  «       sJ ‚y # 1 sw Y   ŒCxY w)NrÈ   z^Image data of dtyper·  Úwrong_inputrú   rv   )
r  r   r•   rº  r»  Ú	TypeErrorr.   Ú	not_equalÚ	get_arrayÚany)Úvalsr,  s     r   Útest_collection_set_arrayrJ  ‚  s„   € ØŒU�2‹Yˆ<€Dô 	‹€AØ‡K�K�Ôô 
�‰”yÐ(>Ô	?ñ #Ø	�‰�MÔ"÷#ð €Dˆ�GÜ�<‰<˜˜aŸk™k›mÓ,×0Ñ0Ô2Ð2Ñ2÷#ð #ús   ÁBÂB!c                  ód  — t        j                  «       \  } }|j                  g d¢g d¢«       t        j                  j                  |j                  j                  |j                  j                  fd«       |j                  j                  |j                  j                  }}g d¢}|D �cg c]  }t        j                  |dg|dgg«      ‘Œ }}t        j                  |j                  |j                  «      }|j!                  t#        ||¬«      «       t        j                  j                  |j                  j                  |j                  j                  fd«       t        j                  j                  |j                  j                  |j                  j                  f||f«       y c c}w )	N)r    r�   r�   )çš™™™™™Ù?ç333333ã?r   )r    r�   ©r   r    r�   r�   rv   r   r   rÎ   )r   rv   )r0   r1   r¼   r.   r@   Úassert_allcloser­   ÚxminÚxmaxÚyminÚymaxr/   r›   Úblended_transform_factoryrÒ   Ú	transAxesr2   r   )Úfr8   Ú	data_yminÚ	data_ymaxrÁ   ÚxiÚvertical_linesrÚ   s           r   Útest_blended_collection_autolimr[  ’  s$  € Ü�L‰L‹N�E€A€rð ‡G�GŠI’Ô'Ü‡J�J×Ñ §
¡
§¡°·±·±ÐAÀ6ÔJØŸ:™:Ÿ?™?¨B¯J©J¯O©Oˆy€Iò 	€AØ=>Ö?°r”b—h‘h  Q ¨"¨a¨Ð1Õ2Ð?€NÐ?Ü×1Ñ1°"·,±,ÀÇÁÓM€EØ×Ñ”n ^¸uÔEÔFô ‡J�J×Ñ §
¡
§¡°·±·±ÐAÀ6ÔJä‡J�J×Ñ §
¡
§¡°·±·±ÐAØ )¨9Ð5õ7ùò @s   Â,"F-c                  ó  — t        j                  «       \  } }|j                  dd«       t        j                  j                  |j                  «       ddg«       t        j                  j                  |j                  «       ddg«       y )Nr   g¸…ëQ¸®¿g¸…ëQ¸®?)r0   r1   r¬   r.   r@   rO  Úget_ylimÚget_xlim)r7   r8   s     r   Útest_singleton_autolimr_  §  s[   € Ü�l‰l‹n�G€CˆØ‡J�Jˆq�!ÔÜ‡J�J×Ñ˜rŸ{™{›}¨u°d¨mÔ<Ü‡J�J×Ñ˜rŸ{™{›}¨u°d¨mÕ<r   ztransform, expected)rÒ   )r„  g      @)rU  )gffffff@ru   c                 óJ  — t        j                  «       \  }}|j                  ddt        || «      ¬«       |j                  dd«       t        j
                  j                  |j                  «       |«       t        j
                  j                  |j                  «       |«       y )Nr   rÎ   r�   )	r0   r1   r¬   Úgetattrr.   r@   rO  r]  r^  )rÏ   r|   r7   r8   s       r   Útest_autolim_with_zerosrb  ®  sn   € ô �l‰l‹n�G€CˆØ‡J�Jˆq�!œw r¨9Ó5€JÔ6Ø‡J�Jˆq�!ÔÜ‡J�J×Ñ˜rŸ{™{›}¨hÔ7Ü‡J�J×Ñ˜rŸ{™{›}¨hÕ7r   c                 óÒ  — t        j                  d«      }t        j                  d«      }t         j                  j                  d«      }t        j                  «       \  }} t        || «      |||«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |j                  dd«      «       d d d «       t        j                  d«      j                  d	«      }t        j                  t        t        j                  d
«      ¬«      5  |j                  |«       d d d «       t        j                  t        t        j                  d«      ¬«      5  |j                  |j                  «       «       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  d«      }t         j                  j                  d«      }t        j                  «       \  }}|j                  |||d¬«      }y # 1 sw Y   �ŒYxY w# 1 sw Y   �ŒúxY w# 1 sw Y   �Œ±xY w# 1 sw Y   �ŒaxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÀxY w)Nr›  rÇ   )é   rÈ   zuFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (10, 7)r·  rÈ   rd  é6   )rÞ   r�  ztFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (6, 9)zsFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (54,))r�  rÞ   r�   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 3))r�  rÞ   r�   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 4))rd  rÈ   r    zxFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (7, 10, 2)Úgouraud©Úshading)r.   r‘   r   r0   r1   ra  rº  r»  r†   ÚreÚescaper•   r’   rí   r‹  r   )r   rÁ   rÂ   r+  r7   r8   r6   s          r   Ú"test_quadmesh_set_array_validationrk  ¾  s¡  € Ü
�	‰	�"‹€AÜ
�	‰	�!‹€AÜ
�	‰	×Ñ˜Ó!€AÜ�l‰l‹n�G€CˆØŒ7�2�vÓ˜q ! QÓ'€Dä	�‰”z¬¯©ðHó*Iô 
Jñ )ð 	�‰�q—y‘y  QÓ'Ô(÷)ô
 	�	‰	�"‹×Ñ˜fÓ%€AÜ	�‰”z¬¯©ðGó*Hô 
Iñ ð 	�‰�qÔ÷ô 
�‰”z¬¯©ðFó*Gô 
Hñ "ð 	�‰�q—w‘w“yÔ!÷"ô 	�‰�	Ó€AÜ	�‰”z¬¯©ðJó*Kô 
Lñ ð 	�‰�qÔ÷ô
 	�‰�	Ó€AÜ	�‰”z¬¯©ðJó*Kô 
Lñ ð 	�‰�qÔ÷ô
 	�‰�
Ó€AÜ	�‰”z¬¯©ðKó*Lô 
Mñ ð 	�‰�qÔ÷ô
 	�	‰	�"‹€AÜ
�	‰	�!‹€AÜ
�	‰	×Ñ˜Ó!€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜A˜q¨)ˆ=Ó4�D÷M)ñ )ú÷ñ ú÷"ñ "ú÷ñ ú÷ñ ú÷ð úsH   Â#"LÄL)Å' L6ÇMÈ/MÊMÌL&Ì)L3Ì6M ÍMÍMÍM&c                  ó®  — t        j                  g d¢g d¢«      \  } }| |z  d d…d d…f   }t        j                  | ||«      }|j	                  «        |j                  «       dd …d d …f   }t         j                  j                  | dk(  |dk(  z  | «      } t        j                  | ||«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t         j                  j                  | dk(  |dk(  z  |«      }t        j                  | ||«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t         j                  j                  | d d…d d…f   dk(  |d d…d d…f   dk(  z  |«      }t        j                  |«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t        j                  d«      j                  d«      }|j                  |«       |j	                  «        t        |j                  «       «      dk(  sJ ‚t         j                  j                  |d	«      }|j                  |«       |j	                  «        t        |j                  «       «      d
k(  sJ ‚y )Nr“  )r   r   r    r�   r,   r   r   rv   rÞ   )r�   r    r    r�   )r.   r·   r0   r   Úupdate_scalarmappableÚget_facecolorÚmaÚmasked_wherer   r  Ú	get_pathsr   r‘   r’   r•   Úmasked_less)rG  rH  ÚzzÚquadmeshÚquadmesh_fcÚpolymeshs         r   Ú'test_polyquadmesh_masked_vertices_arrayrw  î  st  € Ü�[‰[š¢LÓ1�F€Bˆà
ˆR‰%��"��c�r�c�Ñ	€BÜ�~‰~˜b " bÓ)€HØ×"Ñ"Ô$Ø×(Ñ(Ó*¨1©2ªq¨5Ñ1€Kä	�‰×	Ñ	˜R 1™W¨¨q©Ñ1°2Ó	6€BÜ�z‰z˜"˜b "Ó%€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô 
�‰×	Ñ	˜R 1™W¨¨q©Ñ1°2Ó	6€BÜ�z‰z˜"˜b "Ó%€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô 
�‰×	Ñ	˜R    S b S ™\¨QÑ.°2°c°r°c¸3¸B¸3°h±<À1Ñ3DÑEÀrÓ	J€BÜ�z‰z˜"‹~€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô
 
�‰�1‹×	Ñ	˜fÓ	%€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä	�‰×	Ñ	˜2˜qÓ	!€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ñ)r   c                 ó@  — g d¢}g d¢}t        j                  d¬«      }t        j                  ||«      \  }} t        t        | «      |||«      }t        j
                  |j                  |j                  g«      j                  }t        |j                  «       |«       y )Nr“  )r    r�   rÞ   )r    r    )rŒ  )	r.   r‹  r·   ra  r0   Ústackrî   r   Úget_coordinates)r   rÁ   rÂ   r+  rG  rH  r6   r—  s           r   Útest_quadmesh_get_coordinatesr{    sz   € Ú€AÚ€AÜ
�‰�fÔ€AÜ�[‰[˜˜AÓ�F€BˆØŒ7”3˜Ó  B¨Ó*€Dô �X‰X�r—t‘t˜RŸT™T�lÓ#×%Ñ%€FÜ�t×+Ñ+Ó-¨vÕ6r   c                  ó(  — t        j                  d«      } t        j                  d«      }t        j                  d«      j                  d«      }t        j                  «       \  }}|j                  | |t        j                  |j                  «      «      }|j                  |«       |j                  j                  «        t        j                  |j                  «       |«      sJ ‚|j                  t        j                  d«      «       |j                  j                  «        t        j                  |j                  «       t        j                  d«      «      sJ ‚t        j                  d«      j                  d«      }t        j                  «       \  }}|j                  | |t        j                  |j                  «      d¬«      }|j                  |«       |j                  j                  «        t        j                  |j                  «       |«      sJ ‚|j                  t        j                  d«      «       |j                  j                  «        t        j                  |j                  «       t        j                  d«      «      sJ ‚y )Nr�   r�  r�  r5  )r�   r�   rf  rg  )r.   r‘   r’   r0   r1   r   r‹  rŒ  r•   r:  r;  r$  rG  )rÁ   rÂ   r+  r7   r8   r6   s         r   Útest_quadmesh_set_arrayr}  *  s¤  € Ü
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�	‰	�!‹×Ñ˜VÓ$€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w q§w¡wÓ/Ó0€Dà‡N�N�1ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¨AÔ.Ð.Ð.ð 	‡N�N”2—7‘7˜1“:ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¬B¯G©G°A«JÔ7Ð7Ð7ä
�	‰	�"‹×Ñ˜fÓ%€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w q§w¡wÓ/¸ˆ=ÓC€Dà‡N�N�1ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¨AÔ.Ð.Ð.ð 	‡N�N”2—7‘7˜2“;ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¬B¯G©G°B«KÔ8Ð8Ñ8r   c                 ó2  — t        j                  «       \  }}t        j                  d   }t        j                  j                  dd¬«      } t        || «      dgg||¬«      }|j                  j                  «        t        j                  |j                  «       dd d …f    | |d«      «      «      sJ ‚d\  |_        |_        |j                  j                  «        t        j                  |j                  «       dd d …f    | |d«      «      «      sJ ‚y )NÚplasmar   r   )ÚvminÚvmax)r5  r”   )r   r    )r0   r1   r  Ú	colormapsr'  Ú	Normalizera  r:  r;  r.   r$  rÝ  r€  r�  )r   r7   r8   r5  r”   r6   s         r   Útest_quadmesh_vmin_vmaxr„  H  sÛ   € ä�l‰l‹n�G€CˆÜ�=‰=˜Ñ"€DÜ�:‰:×Ñ Q¨QÐÓ/€DØŒ7�2�vÓ  ˜u¨4°dÔ;€DØ‡J�J‡O�OÔÜ�>‰>˜$×-Ñ-Ó/°²1°Ñ5±t¹DÀ»G³}ÔEÐEÐEð  Ñ€D„IˆtŒyØ‡J�J‡O�OÔÜ�>‰>˜$×-Ñ-Ó/°²1°Ñ5±t¹DÀ»G³}ÔEÐEÑEr   c                 ó–  — t        j                  d«      }t        j                  d«      }t        j                  d«      j                  d«      }||j                  «       z  }|j	                  «       }t        j                  d«      \  }\  }} t        || «      ||||¬«      }	 t        || «      |||«      }
|
j                  |«       t        j                  «        t        |	j                  «       d d …df   |«       t        |
j                  «       d d …df   |«       t        j                  d«      \  }\  }} t        || «      ||||¬«      }	 t        || «      |||«      }
|
j                  |«       t        j                  «        t        |	j                  «       d d …df   |«       t        |
j                  «       d d …df   |«       y )Nr�   r�  r�  r    )rL  r,   )r.   r‘   r’   Úmaxrí   r0   r1   ra  r  r;  r   rÝ  )r   rÁ   rÂ   r+  rL  Ú
alpha_flatr7   rÞ  rß  Úcoll1Úcoll2s              r   Útest_quadmesh_alpha_arrayrŠ  X  sr  € Ü
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�	‰	�!‹×Ñ˜VÓ$€AØ�—‘“‰K€EØ—‘“€Jä—l‘l 1“o�O€C‰ˆ#ˆsØ ŒG�C˜Ó   A q°Ô6€EØ ŒG�C˜Ó   A qÓ)€EØ	‡O�O�EÔÜ‡H�H„JÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAä—l‘l 1“o�O€C‰ˆ#ˆsØ ŒG�C˜Ó   A q°Ô6€EØ ŒG�C˜Ó   A qÓ)€EØ	‡O�O�EÔÜ‡H�H„JÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÕAr   c                 ó@  — t        j                  «       \  }} t        || «      t        j                  d«      j                  d«      «      }t        j                  t        d¬«      5  |j                  ddg«       |j                  «        d d d «       y # 1 sw Y   y xY w)Nrþ   )r�   r�   z^Data array shaper·  r   rM  )r0   r1   ra  r.   r‘   r’   rº  r»  r†   r  rm  )r   r7   r8   Úpcs       r   Útest_alpha_validationr�  p  sw   € ä�l‰l‹n�G€CˆØ	Œ��VÓ	œRŸY™Y r›]×2Ñ2°6Ó:Ó	;€BÜ	�‰”zÐ)<Ô	=ñ #Ø
�‰�c˜3�ZÔ Ø
× Ñ Ô"÷#÷ #ñ #ús   Á'$BÂBc                  ó.  — t         j                  j                  d«       t         j                  j                  d«      } t         j                  j                  d«      }dt         j                  j                  d«      z
  }d|z  }g d¢}t        j                  «       \  }}|j                  | ||¬«      }|j                  d|d„ ¬	«      \  }}	|D �
cg c]  }
|
j                  «       ‘Œ }}
|D �
cg c]
  }
d|
d
z  z  ‘Œ }}
t        ||d¬«       yc c}
w c c}
w )z|
    Ensure legend markers scale appropriately when label and size are
    inversely related.
    Here label = 5 / size
    rä  é2   r   rv   )r6  rL  rM  gš™™™™™é?©r4  rA  c                 ó   — d| z  S )Nrv   rw   r�  s    r   rø  z=test_legend_inverse_size_label_relationship.<locals>.<lambda>Š  s
   € °Q¸±U€ r   )rz   rí  rù  r    rß   N)	r.   r   rý  r0   r1   r¬   r   r  r   )rñ   rò   ÚCÚSÚlegend_sizesr7   r8   rÙ  ÚhandlesÚlabelsrÁ   Úhandle_sizess               r   Ú+test_legend_inverse_size_label_relationshipr˜  y  só   € ô ‡I�I‡N�N�8ÔÜ
�	‰	×Ñ˜Ó€AÜ
�	‰	×Ñ˜Ó€AØ	ŒB�I‰I×Ñ˜RÓ Ñ €AØ	ˆA‰€Aâ'€LÜ�l‰l‹n�G€CˆØ	�‰�A�q˜AˆÓ	€BØ×(Ñ(Ø˜©?ð )ó �O€GˆVð
 18Ö8¨1�A×$Ñ$Õ&Ð8€LÐ8Ø&2Ö3 �A˜˜1™“HÐ3€LÐ3ä˜l¨LÀ!ÖDùò 9ùÚ3s   ÃDÃ-Dc                 óÆ  — t        t        | «      } t        j                  d«      j	                  dd«      } | |dd¬«      }|j                  «        t        j                  |j                  «       «      } |j                  «       |j                  |j                  «       «      «      }t        j                  |j                  «       d«      sJ ‚ | |«      }|j                  d«       |j                  d«       |j                  «        t        j                  |j!                  «       d«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j#                  d«       |j                  «        t        j                  |j                  «       g d	¢g«      sJ ‚|j#                  d «       |j                  «        t        j                  |j                  «       g d¢g«      sJ ‚|j                  d «       |j                  «        t        j$                  |j                  «       |«      sJ ‚|j                  d «       |j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       d«      sJ ‚|j'                  d «       |j                  «        t        j                  |j                  «       d«      sJ ‚t        j                  |j!                  «       |«      sJ ‚|j'                  |«       |j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       d«      sJ ‚ | |d
d¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚ | |d
t        j(                  d«      ¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j'                  d «       |j                  «        t        j                  |j!                  «       t        j(                  d«      «      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚ | |d
t        j(                  d«      ¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j'                  d «       |j                  «        t        j                  |j!                  «       t        j(                  d«      «      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚y )Nrþ   r�   r�   r�  rƒ   )r£  rë   r!   r   )r   r   r   r   )r   r   r   )r   r   r   )rþ   r�   )rþ   r�   )ra  r0   r.   r‘   r’   rm  ÚmcolorsÚto_rgba_arrayÚ_get_default_facecolorÚget_cmapr”   rí   Ú
same_colorÚget_edgecolorÚset_facecolorÚset_edgecolorrn  r  r$  r•   r‹  )r   r+  rŒ  Úface_defaultÚmappeds        r   Útest_color_logicr¤  ”  s‘  € ä”S˜&Ó!€FÜ
�	‰	�"‹×Ñ˜a Ó#€Aá	�˜e°Ô	7€BØ×ÑÔä×(Ñ(¨×)BÑ)BÓ)DÓE€LØˆR�[‰[‹]˜2Ÿ7™7 1§7¡7£9Ó-Ó.€Fä×Ñ˜b×.Ñ.Ó0°%Ô8Ð8Ð8á	�‹€BØ×Ñ�VÔØ×Ñ�UÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAØ‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0²>Ð2BÔCÐCÐCØ‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà×Ñ�TÔØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ø×Ñ�TÔØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9à‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9Ü×Ñ˜b×.Ñ.Ó0°,Ô?Ð?Ð?à‡L�L�„OØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9á	�˜i°IÔ	>€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAá	�˜i´B·G±G¸GÓ4DÔ	E€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0´"·'±'¸'Ó2BÔCÐCÐCÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAá	�˜i´B·G±G¸GÓ4DÔ	E€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0´"·'±'¸'Ó2BÔCÐCÐCÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÑAr   c                  ó†  — t        d dddg d¢¬«      } | j                  «       d   dk(  sJ ‚t        j                  | j	                  «       d«      sJ ‚| j                  «       dk(  sJ ‚t        j                  | j                  «       g d¢g«      sJ ‚t        d d ¬«      } t        j                  | j                  «       d«      sJ ‚y )	Ngš™™™™™@r  r�   )r   r   r   r   )r&   Ú	edgecolorÚzorderrë   r   )Ú	facecolorrƒ   )r   Úget_linewidthrš  rž  rŸ  Ú
get_zorderrn  )Úlcs    r   Útest_LineCollection_argsr¬  Ú  s´   € Ü	˜¨°sØ ª\ô
;€Bà×ÑÓ˜aÑ  CÒ'Ð'Ð'Ü×Ñ˜b×.Ñ.Ó0°#Ô6Ð6Ð6Ø�=‰=‹?˜aÒÐÐÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAô 
˜¨Ô	-€BÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ñ9r   c                 óÈ  — t        j                  d«      j                  dd«      } t        t        | «      |«      }|j                  |j                  «       «       |j                  «        |j                  |«       |j                  «        t        j                  dt         j                  ¬«      j                  ddd«      }|j                  |«       |j                  «        y )Nrþ   r�   r�   é$   r  )	r.   r‘   r’   ra  r0   r•   rí   rm  Úuint8)r   r+  rŒ  s      r   Útest_array_dimensionsr°  è  sž   € ä
�	‰	�"‹×Ñ˜a Ó#€AØ	Œ”�fÓ	˜aÓ	 €Bà‡L�L�—‘“ÔØ×ÑÔà‡L�L�„OØ×ÑÔä
�	‰	�"œBŸH™HÔ%×-Ñ-¨a°°AÓ6€AØ‡L�L�„OØ×ÑÕr   c                  óÞ   — t        j                  t        j                  ddd«      d«      j                  } t	        | g«      }|j                  «       \  }t        j                  | |k(  «      sJ ‚y )Nr   r   é   )r    r   )r.   ÚtilerÐ   rî   r   r„   r³  )rˆ   r«  Úreadbacks      r   Útest_get_segmentsrµ  ø  sV   € Ü�w‰w”r—{‘{ 1 a¨Ó-¨vÓ6×8Ñ8€HÜ	˜˜
Ó	#€Bà—‘Ó!�I€Hä�6‰6�(˜hÑ&Ô'Ð'Ñ'r   c                  ó˜  — t        j                  «       } dg}t        j                  |¬«      }t        j                  |d¬«      }t        j                  |¬«      }|j	                  d«       |j                  | «      j                  }|j                  | «      j                  }|j                  | «      j                  }||k7  sJ ‚||k(  sJ ‚y )Nr    )rA  r–  )rA  ré   )r›   rœ   r“   ÚCircleCollectionÚset_offsetsrš   r®   )ÚidentityrA  rŸ   ÚinitÚlateÚnull_boundsÚinit_boundsÚlate_boundss           r   Útest_set_offsets_later¿    s¹   € Ü×,Ñ,Ó.€HØˆC€Eä×(Ñ(¨uÔ5€Dä×(Ñ(¨u¸hÔG€Dä×(Ñ(¨uÔ5€DØ×Ñ�XÔð ×"Ñ" 8Ó,×3Ñ3€KØ×"Ñ" 8Ó,×3Ñ3€KØ×"Ñ" 8Ó,×3Ñ3€Kð ˜+Ò%Ð%Ð%Ø˜+Ò%Ð%Ñ%r   c                  ó  — t        j                  «       j                  dd«      } t        j                  | ¬«      }t        j                  «       }|j                  | «       | |j                  «       cxk(  r|j                  «       k(  sJ ‚ J ‚y )Nr    )rê   )r›   rÓ   Úskewr“   r   Úset_offset_transformÚget_offset_transform)rÁ  rº  r»  s      r   Útest_set_offset_transformrÄ    st   € Ü×ÑÓ!×&Ñ& q¨!Ó,€DÜ×"Ñ"°DÔ9€Dä×"Ñ"Ó$€DØ×Ñ˜dÔ#à�4×,Ñ,Ó.ÔM°$×2KÑ2KÓ2MÒMÐMÑMÐMÑMr   c                  óÀ  — t        j                  ddd«      } t        j                  | «      }| t        j                  dd«      z  t        j                  d«      z   }t        j                  ||«      }|j                  «       }|j                  t        t        ||«      «      «       t         j                  j                  ||j                  «       «       t        j                  «       \  }}|j                  ||«      }|j                  «       }|j                  t        t        ||«      «      «       t         j                  j                  ||j                  «       «       y )Nr   rÈ   rv   rŽ   r	  z
2021-11-29)r.   rÐ   rÕ   Útimedelta64Ú
datetime64r0   r¬   Úget_offsetsr¸  r  r   r@   rO  r1   )rÁ   rÂ   ÚdrÙ  Úoff0r7   r8   s          r   Útest_set_offset_unitsrË     sñ   € ô 	�‰�A�r˜1Ó€AÜ
�‰ˆq‹	€AØ	ŒB�N‰N˜2˜sÓ#Ñ#¤b§m¡m°LÓ&AÑA€Aä	�‰�Q˜Ó	€BØ�>‰>Ó€DØ‡N�N”4œ˜A˜q›	“?Ô#Ü‡J�J×Ñ˜t R§^¡^Ó%5Ô6ô �l‰l‹n�G€CˆØ	�‰�A�qÓ	€BØ�>‰>Ó€DØ‡N�N”4œ˜A˜q›	“?Ô#Ü‡J�J×Ñ˜t R§^¡^Ó%5Õ6r   ztest_check_masked_offsets.pngc                  ó:  — t        dddddd«      t        dddddd«      t        dddddd«      t        dddddd	«      t        dddddd
«      g} t        j                  j                  g d¢g d¢¬«      }t	        j
                  «       \  }}|j                  | |«       y )Niæ  rþ   rh   r�   é1   é4   é5   re  é7   é8   rN  )r   r   r   r   r   ©Úmask)r   r.   ro  r/   r0   r1   r¬   )Ú
unmasked_xÚmasked_yr7   r8   s       r   Útest_check_masked_offsetsrÖ  4  sš   € ô
 	��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)ð€Jô �u‰u�{‰{š?²ˆ{ÓA€Hä�l‰l‹n�G€CˆØ‡J�Jˆz˜8Õ$r   c                 óò  — t         j                  j                  g d¢g d¢¬«      }t        j                  dd«      }|j	                  «       }|j                  ||«      }|j                  t         j                  j                  ||g«      «       |j                  g «       |j                  g «       | j	                  «       }|j                  g d¢g d¢«       |j                  g «       |j                  g «       y )NrN  ©r   r   r   r   r   rÒ  r   rÞ   )r   r    rv   )
r.   ro  r/   r‘   r9  r¬   r¸  Úcolumn_stackÚ
set_xticksÚ
set_yticks)r¾   r½   rÁ   rÂ   rÃ   ÚscatrÄ   s          r   Útest_masked_set_offsetsrÝ  F  sº   € ä
�‰�‰’Oª/ˆÓ:€AÜ
�	‰	�!�Q‹€Aà×"Ñ"Ó$€GØ�?‰?˜1˜aÓ €DØ×Ñ”R—U‘U×'Ñ'¨¨A¨Ó/Ô0Ø×Ñ�rÔØ×Ñ�rÔà× Ñ Ó"€FØ
‡N�N’9šiÔ(Ø
×Ñ�bÔØ
×Ñ�bÕr   c                  ó  — t         j                  j                  g d¢g d¢¬«      } t        j                  dd«      }t	        j
                  «       \  }}|j                  | |«      }t         j                  j                  | |g«      }|j                  |«       t        |j                  «       t        |«      «      sJ ‚t        j                  | |g«      }|j                  |«       t        |j                  «       t        |«      «      sJ ‚y )NrN  rØ  rÒ  r   rÞ   )r.   ro  r/   r‘   r0   r1   r¬   rÙ  r¸  Ú
isinstancerÈ  Útype)rÁ   rÂ   r7   r8   rÜ  Úmasked_offsetsÚunmasked_offsetss          r   Útest_check_offsets_dtyperã  W  sË   € ä
�‰�‰’Oª/ˆÓ:€AÜ
�	‰	�!�Q‹€Aä�l‰l‹n�G€CˆØ�:‰:�a˜Ó€DÜ—U‘U×'Ñ'¨¨A¨Ó/€NØ×Ñ�^Ô$Ü�d×&Ñ&Ó(¬$¨~Ó*>Ô?Ð?Ð?ä—‘¨¨1 vÓ.ÐØ×ÑÐ%Ô&Ü�d×&Ñ&Ó(¬$Ð/?Ó*@ÔAÐAÑAr   ÚgapcolorÚoranger  r  c           
      óÀ  — | j                  d«      }|j                  d«      }||fD ]&  }|j                  dd«       |j                  dd«       Œ( t        dd«      }g d¢}|j	                  |ddd||d¬«       t        |t        «      r|g}t        |t        j                  |«      t        j                  |«      «      D ]  \  }}}	|j                  |ddd|	|d¬«       Œ  y )	Nr/  r   rÞ   r   )ú:r®  z--ri   r   )r&   r(   rä  rL  )r9  r4   r5   r  Úvlinesrß  Ústrr   r7  ÚcycleÚaxvline)
r½   r¾   rä  rÃ   rÄ   r8   rÁ   r¥  Úgcolr¶   s
             r   Útest_striped_linesrí  g  sé   € ð ×"Ñ" 3Ó'€GØ× Ñ  Ó%€Fà˜Ðò ˆØ
�‰�A�qÔØ
�‰�A�qÕðô 	ˆa�‹€AÚ!€Jà‡N�N�1�a˜ b°JÈØð ô ô �(œCÔ Ø�:ˆä˜1œiŸo™o¨hÓ7Ü$Ÿ?™?¨:Ó6ó8ò V‰ˆˆ4�à�‰�q˜!˜Q¨"¸ÀTÐQTˆÕUñVr   )ÚpngrÁ  ÚsvgÚeps)Ú
extensionsc                 ó¢  — | j                  «       }|j                  «       }d}g d¢g d¢g}t        |d¬«      }|j                  |«       t        j                  d|i«      5  t        |d¬«      }d d d «       |j                  |«       |j                  «       |j                  «       |j                  «       cxk(  r|k(  sJ ‚ J ‚y # 1 sw Y   ŒXxY w)Nr   ))r±   r±   )r±   rL  )rL  rL  )rL  r±   ))rM  rM  )rM  çÍÌÌÌÌÌì?)ró  ró  )ró  rM  rÁ   ©Úhatchzhatch.linewidth)r9  r
   Úset_hatch_linewidthr  Ú
rc_contextr2   Úget_hatch_linewidth)r½   r¾   rÃ   rÄ   rª  ÚpolygonsÚrefÚtests           r   Útest_hatch_linewidthrü    sÊ   € à×"Ñ"Ó$€GØ× Ñ Ó"€Fà	€Bò 	9Ú8ð€Hô ˜¨Ô
-€CØ×Ñ˜BÔä	�‰Ð*¨BÐ/Ó	0ñ 3Ü˜h¨cÔ2ˆ÷3ð ×Ñ˜#ÔØ×Ñ˜4Ô à×#Ñ#Ó%¨×)@Ñ)@Ó)BÔHÀbÒHÐHÑHÐHÑH÷3ð 3ús   Á CÃCc                  ó¨  — ddl m}  t        j                  j	                  «       }g d¢}g d¢}t        j                  ddi«      5   | |gd||¬«      }t        |j                  «       t
        j                  j                  |«      «        | |gd¬	«      }|j                  |«       t        |j                  «       t
        j                  j                  |«      «       |j                  |«       t        |j                  «       t
        j                  j                  |«      «        | |gd¬	«      }|j                  |«       t        |j                  «       t
        j                  j                  |«      «       |j                  |«       t        |j                  «       t
        j                  j                  |«      «       d d d «       y # 1 sw Y   y xY w)
Nr   ©r™   ©Úpurpler�  rŸ  Úyellow©rå  Úcyanrž  Úmagentaúhatch.colorÚedgeú//©rõ  r¦  Ú
hatchcolorrô  )Úmatplotlib.collectionsr™   r¦   r§   Úunit_rectangler  r÷  r   Úget_hatchcolorr'  r›  r¡  Úset_hatchcolor©r™   Úpathr£  Úhatchcolorsr    s        r   Ú(test_collection_hatchcolor_inherit_logicr  –  sc  € Ý5Ü�:‰:×$Ñ$Ó&€Dâ5€JÚ7€KÜ	�‰˜¨Ð/Ó	0ñ Xá˜d˜V¨4Ø(2¸{ôLˆä˜3×-Ñ-Ó/´·±×1IÑ1IÈ+Ó1VÔWñ ˜d˜V¨4Ô0ˆØ×Ñ˜*Ô%Ü˜3×-Ñ-Ó/´·±×1IÑ1IÈ*Ó1UÔVØ×Ñ˜;Ô'Ü˜3×-Ñ-Ó/´·±×1IÑ1IÈ+Ó1VÔWñ ˜d˜V¨4Ô0ˆØ×Ñ˜;Ô'Ü˜3×-Ñ-Ó/´·±×1IÑ1IÈ+Ó1VÔWØ×Ñ˜*Ô%Ü˜3×-Ñ-Ó/´·±×1IÑ1IÈ+Ó1VÔW÷%X÷ Xñ Xús   ÁE;GÇGc                  ó˜  — ddl m}  t        j                  j	                  «       }g d¢}g d¢}t        j                  ddi«      5   | |gd|¬«      }d d d «       t        j                  «       t
        j                  j                  |«      «       t        j                  ddi«      5   | |gd||¬	«      }d d d «       t        |j                  «       t
        j                  j                  |«      «       t        j                  ddi«      5   | |gd¬
«      }t        |j                  «       t
        j                  j                  d«      «       |j                  |«       t        |j                  «       t
        j                  j                  d«      «       d d d «       t        j                  ddi«      5   | |gd|¬«      }d d d «       t        |j                  «       t
        j                  j                  |«      «        | |gd|d¬	«      }t        |j                  «       t
        j                  j                  |«      «        | |gd¬
«      }t        |j                  «       t
        j                  j                  t
        j                  d   «      «       y # 1 sw Y   �ŒJxY w# 1 sw Y   �ŒóxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÿxY w)Nr   rþ  rÿ  r  r  rŸ  r  ©rõ  r	  r  rô  r  )rõ  r¦  zpatch.edgecolor)r
  r™   r¦   r§   r  r  r÷  r   r  r'  r›  r¡  r  r  s        r   Ú)test_collection_hatchcolor_fallback_logicr  ±  sA  € Ý5Ü�:‰:×$Ñ$Ó&€Dâ5€JÚ7€Kô 
�‰˜¨Ð0Ó	1ñ IÙ˜d˜V¨4¸KÔHˆ÷Iä�s×)Ñ)Ó+¬S¯Z©Z×-EÑ-EÀkÓ-RÔSä	�‰˜¨Ð0Ó	1ñ KÙ˜d˜V¨4Ø'1¸kôKˆ÷Kô �s×)Ñ)Ó+¬S¯Z©Z×-EÑ-EÀkÓ-RÔSô 
�‰˜¨Ð0Ó	1ñ TÙ˜d˜V¨4Ô0ˆÜ˜3×-Ñ-Ó/´·±×1IÑ1IÈ'Ó1RÔSØ×Ñ˜*Ô%Ü˜3×-Ñ-Ó/´·±×1IÑ1IÈ'Ó1RÔS÷	Tô 
�‰˜¨Ð/Ó	0ñ GÙ˜d˜V¨4¸:ÔFˆ÷Gä�s×)Ñ)Ó+¬S¯Z©Z×-EÑ-EÀjÓ-QÔRá
˜$˜ t°zÈfÔ
U€CÜ�s×)Ñ)Ó+¬S¯Z©Z×-EÑ-EÀjÓ-QÔRñ ˜$˜ tÔ
,€CÜ�s×)Ñ)Ó+Ü—z‘z×/Ñ/´·±Ð=NÑ0OÓPõR÷;Iñ Iú÷Kñ Kú÷Tñ Tú÷Gð Gús1   ÁJÂ'J&ÄBJ3Æ5K ÊJ#Ê&J0Ê3J=Ë K	Úbackend)ÚaggrÁ  rï  Úpsc                 óÂ  — ddl m} t        j                  j	                  «       }t        j                  | «       t        j                  «       \  }}|j                  «       } ||gd¬«      }|j                  |«       |j                  «       }t        j                  «       }|j                  «       }	|j                  «       }
|j                  «       }|j!                  «       }|j#                  «       }|j%                  «       }|j'                  «       }|j)                  «       }|j+                  «       }|j-                  «       }d}|j/                  |||	|
|||||||||«       y )Nr   rþ  r  rô  Úscreen)r
  r™   r¦   r§   r  r0   rÂ  r1   Ú_get_rendererr2   Únew_gcr›   rœ   rq  Úget_transformsrÈ  rÃ  rn  rŸ  r©  rF   Úget_antialiasedÚget_urlsÚdraw_path_collection)r  r™   r  r7   r8   Úrendererr    ÚgcrÏ   ÚpathsÚ
transformsré   Ú
offset_trfrë   r£  r¤  r¥  r¦  ÚurlsÚoffset_positions                       r   Ú'test_draw_path_collection_no_hatchcolorr'  Û  s,  € å5Ü�:‰:×$Ñ$Ó&€Dä×Ñ�wÔÜ�l‰l‹n�G€CˆØ× Ñ Ó"€Há
˜$˜ tÔ
,€CØ×Ñ�cÔà	�‰Ó	€BÜ×-Ñ-Ó/€IØ�M‰M‹O€EØ×#Ñ#Ó%€JØ�o‰oÓ€GØ×)Ñ)Ó+€JØ×"Ñ"Ó$€JØ×"Ñ"Ó$€JØ×"Ñ"Ó$€JØ×"Ñ"Ó$€JØ×&Ñ&Ó(€LØ�<‰<‹>€DØ€Oà×!Ñ!Ø
ˆI�u˜j¨'°:Ø�J 
¨JØ�d˜Oõr   c                 ó@  — t        j                  «       \  }}|j                  }|j                  «       }d„ }| j	                  |d|«       ddlm} t        j                  j                  «       } ||gdd¬«      }|j                  |«       t        j                  «        y )Nc                  ó   — y r   rw   )rT  r!  Úmaster_transformr"  Úall_transformsré   Úoffset_transrë   r£  r¤  r¥  r¦  r%  r&  s                 r   Úmock_draw_path_collectionzTtest_third_party_backend_hatchcolors_arg_fallback.<locals>.mock_draw_path_collection  s   € ð 	r   r  r   rþ  r  r�  r  )r0   r1   r:  Úget_rendererÚsetattrr
  r™   r¦   r§   r  r2   r;  )	Úmonkeypatchr7   r8   r:  r   r-  r™   r  r6   s	            r   Ú1test_third_party_backend_hatchcolors_arg_fallbackr1  ü  s�   € Ü�l‰l‹n�G€CˆØ�Z‰Z€FØ×"Ñ"Ó$€Hòð ×Ñ˜Ð"8Ð:SÔTõ 6Ü�:‰:×$Ñ$Ó&€DÙ˜4˜&¨¸Ô?€Dà×Ñ�dÔä‡H�H…Jr   )yr   rr  r7  Úplatformri  Útypesr   Únumpyr.   Únumpy.testingr   r   rº  Ú
matplotlibr  Úmatplotlib.pyplotÚpyplotr0   r
  Úcollectionsr“   Úmatplotlib.colorsr'  rš  Úmatplotlib.pathr  r¦   Úmatplotlib.transformsr#  r›   r   r   r	   r
   r   Úmatplotlib.testing.decoratorsr   r   Úfixturer   r:   rJ   rR   rW   rZ   r]   ra   rc   rf   rl   rq   r}   r�   r?   r—   r¢   r©   r¯   r<   ÚcontextrÅ   rÛ   râ   Úmachinerø   r  r-  r>  rM  rl  rx  r‚  r‡  r�  r‘  r”  r™  r«  rµ  r¾  ÚmarkÚparametrizerÃ  rÊ  rÐ  r×  rÚ  râ  r  r  r1  r<  rB  rJ  r[  r_  rb  rk  rw  r{  r}  r„  rŠ  r�  r˜  r¤  r¬  r°  rµ  r¿  rÄ  rË  rÖ  rÝ  rã  rí  rü  r  r  r'  r1  rw   r   r   ú<module>rC     sV  ðÝ Û 	Û Û Û 	Ý !ã ß GÛ ã Ý Ý -Ý #Ý Ý +÷Eó Eå <ß Oð €‡�˜ hÐ/Ô0ñó 1ðò%ñP Ð6Ð7¸wÔGñ=ó Hð=ñ2 Ð<Ð=ÀWÔMñ
ó Nð
ñ Ð<Ð=ÀWÔMñó Nðñ" Ð?Ð@ÈÔPñó Qðñ Ð?Ð@ÈÔPñó Qðñ ÐAÐBÈ'ÔRñó Sðñ  ÐEÐFÈgÔVñ=ó Wð=ñ( Ð>Ð?ÀwÔOñó Pðñ  Ð=Ð>ÀgÔNñó Oðñ Ð=Ð>ÀgÔNñó Oðñ ò ð 
ô	ñ

7óð

7ñ Ð8Ð9ÀÔIñ1ó Jð1ò0ò4!ò=ò=ò'ð ‡�×Ñ�7ÓÙÓñ)ó ó ð)ò08ò")ñ Ð5Ð6ÀDØ'Ø+˜8×+Ñ+Ó-°Ò9‘a¸uôFñóFðò$(CñV Ð-Ð.¸DÈÔPñ"ó Qð"ñJ Óñ7ó ð7ñ* Ð5Ð6ÀDØ'ô)ñ
ó)ð
ñ Ð4Ð5À4Ø'ô)ñó)ðò8,ò,ò,!ò*?ò(	Fòñ
 Ð#Ð$°$¸oÔNñó Oðò  ð" ‡�×Ñ�9Óñ
5ó ð
5ò!ð ‡�×Ñ˜Ò0Ó1ñó 2ðð ‡�×Ñ�9Óñ(ó ð(ð ‡�×Ñ�9Óñ*ó ð*ñ Ð*Ð+°7Ô;ñGó <ðGñ& Ð+Ð,Ø"¨)ô5ñó5ðò;ò:.òb@ò5ñ$ ÓØ‡�×Ñ˜ B¨°¨Ð#8Ó9ñó :ó ðð ‡�×ÑÐGØGØ;Øˆ$��u�g ‘kÐ#VÐWØˆ1ˆaˆ&�$˜ÐVÐWð	Jó ñGóðGò3ò 7ò*=ð ‡�×ÑÐ.ØØð1ó ñ	8ó	ð	8ò-5ò`-*ò`	7ò9ò<Fò Bò0#òEð6 ‡�×Ñ�9ÓñBBó ðBBòJ:òò (ò&ò*Nò7ñ( Ð2Ð3ÀÈWÔUñ%ó Vð%ñ" Óñó ðò Bð  ‡�×Ñ˜ h°°c°
Ð%;Ó<ÙÓñVó ó =ðVñ, Ò <Ô=ñIó >ðIò,Xò6'RðT ‡�×Ñ˜Ò$?Ó@ñó Aðó@r   