Ë
    íÍ:j\U  ã                   ó:  — d dl Z d dl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 d dlmZmZ d dlm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d„ Zd„ Zd„ Zej8                  j;                  dd ej<                  dz  ej<                  dz  ej<                  dz  g«      ej8                  j;                  dd dg«      d„ «       «       Zd„ Z  edgddd¬«      d„ «       Z! e
g d ¢¬!«      d"„ «       Z" e
g d ¢¬!«      d#„ «       Z# ed$gdd¬	«      d%„ «       Z$ ed&gdd¬	«      d'„ «       Z%d(„ Z&d)„ Z' ed*gdd¬	«      d+„ «       Z( ed,gdd¬	«      d-„ «       Z) ed.gd/¬0«      d1„ «       Z*d2„ Z+d3„ Z,y)4é    N)Úassert_array_almost_equalÚassert_array_equal)Úcheck_figures_equalÚimage_comparisonÚremove_ticks_and_titles)ÚpatchesÚ
transforms)ÚPathÚclippingTÚ_classic_test)Úremove_textÚstylec                  óþ   — t        j                  ddd«      } t        j                  dt         j                  z  | z  «      }t	        j
                  «       \  }}|j                  | |d¬«       |j                  dd«       y )	Nç        ç       @ç{®Gáz„?é   ç      ð?)Ú	linewidthgš™™™™™É¿gìQ¸…ëÑ¿)ÚnpÚarangeÚsinÚpiÚpltÚsubplotsÚplotÚset_ylim)ÚtÚsÚfigÚaxs       úy/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_simplification.pyÚtest_clippingr#      s]   € ä
�	‰	�#�s˜DÓ!€AÜ
�‰ˆq”—‘‰w�q‰yÓ€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq˜C€GÔ Ø‡K�K��uÕó    ÚoverflowÚx86_64gyé&1¬|?)r   r   Útolc                  óä   — t        j                  g d¢«      } t        j                  t        | «      «      }t	        j
                  «       \  }}|j                  | |«       |j                  dd«       y )N)r   r   ç      @g     jAr   é   )r   Úarrayr   Úlenr   r   r   Úset_xlim©ÚxÚyr    r!   s       r"   Útest_overflowr1      sO   € ô 	�‰Ò'Ó(€AÜ
�	‰	”#�a“&Ó€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq„MØ‡K�K��1Õr$   Úclipping_diamondc                  óú   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  «       \  }}|j	                  | |«       |j                  dd«       |j                  dd«       y )N)r   r   r   ç      ð¿r   )r   r   r4   r   r   g333333ã¿g333333ã?)r   r+   r   r   r   r-   r   r.   s       r"   Útest_diamondr5   *   sX   € ä
�‰Ò+Ó,€AÜ
�‰Ò+Ó,€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq„MØ‡K�K��cÔØ‡K�K��cÕr$   c                  óò  — t        g d¢«      } | j                  d¬«      }t        |j                  dg«       |j                  t         j
                  gk(  sJ ‚t        g d¢t         j                  t         j                  t         j                  g«      } | j                  d¬«      }t        |j                  dg«       |j                  t         j
                  gk(  sJ ‚t        g d¢t         j                  t         j                  t         j                  g«      } | j                  «       }| j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y )N)©r   r   ©é   r   ©r   r9   )é
   r;   é   r<   ©Úclipr7   )r7   r8   )r   é   )	r
   Úcleanedr   ÚverticesÚcodesÚSTOPÚMOVETOÚLINETOÚCURVE3)ÚpathÚ
simplifiedÚsimplified_clippeds      r"   Útest_clipping_out_of_boundsrJ   5   s  € äÒ(Ó)€DØ—‘Ð#3�Ó4€JÜ�z×*Ñ*¨V¨HÔ5Ø×Ñ¤§	¡	˜{Ò*Ð*Ð*ô Ò(Ü—‘œdŸk™k¬4¯;©;Ð7ó9€Dà—‘Ð#3�Ó4€JÜ�z×*Ñ*¨V¨HÔ5Ø×Ñ¤§	¡	˜{Ò*Ð*Ð*ô Ò(Ü—‘œdŸk™k¬4¯;©;Ð7ó9€Dà—‘“€JØŸ™Ð+;˜Ó<ÐÜ�z×*Ñ*Ð,>×,GÑ,GÔHÜ�z×'Ñ'Ð);×)AÑ)AÕBr$   c                  óÚ  — t         j                  j                  d«       t         j                  j                  d¬«      dz  } t	        j
                  «       \  }}|j                  | dd¬«      }|j                  j                  «        |d   j                  «       }|d   j                  «       }|j                  |«      }|j                  d¬	«      }|j                  j                  d
k(  sJ ‚y )Nr   éPÃ  ©Úsizeé2   Úroundr   ©Úsolid_joinstyler   T©Úsimplifyi¨c  )r   ÚrandomÚseedÚuniformr   r   r   ÚcanvasÚdrawÚget_pathÚget_transformÚtransform_pathr@   rA   rN   ©r/   r    r!   Úp1rG   Ú	transformrH   s          r"   Ú
test_noiser`   L   s½   € Ü‡I�I‡N�N�1ÔÜ
�	‰	×Ñ˜uÐÓ%¨Ñ*€Aä�l‰l‹n�G€CˆØ	�‰� G°sˆÓ	;€Bð ‡J�J‡O�OÔØˆa‰5�>‰>Ó€DØ�1‘×#Ñ#Ó%€IØ×#Ñ# DÓ)€DØ—‘ t�Ó,€Jà×Ñ×#Ñ# uÒ,Ð,Ñ,r$   c                  ób  — d„ } g d¢}g d¢} | ||«      }t        ddgddgddgddgg|j                  d d	…d d …f   «       g d¢}g d
¢} | ||«      }t        ddgddgddgddgg|j                  d d	…d d …f   «       g d¢}g d¢} | ||«      }t        ddgddgddgddgddgg|j                  d d	…d d …f   «       g d¢}g d¢} | ||«      }t        ddgddgddgg|j                  d d	…d d …f   «       g d¢}g d¢} | ||«      }t        ddgddgddgddgg|j                  d d	…d d …f   «       y )Nc                 ó(  — t        j                  «       \  }}|j                  | |«      }|d   j                  «       }|d   j	                  «       }|j                  |«      }|j                  d¬«      }|j                  «       j                  |«      }|S )Nr   TrS   )r   r   r   rZ   r[   r\   r@   Úinverted)r/   r0   r    r!   r^   rG   r_   rH   s           r"   Ú_get_simplifiedz9test_antiparallel_simplification.<locals>._get_simplified^   s�   € Ü—,‘,“.‰ˆˆRØ�W‰W�Q˜‹]ˆà�!‰u�~‰~ÓˆØ�q‘E×'Ñ'Ó)ˆ	Ø×'Ñ'¨Ó-ˆØ—\‘\¨4�\Ó0ˆ
Ø×'Ñ'Ó)×8Ñ8¸ÓDˆ
àÐr$   )r   r   r   r   r   r9   )ç      à?r9   éÿÿÿÿr9   r   re   r   re   r4   r   r   éþÿÿÿ)re   r9   rf   r9   rg   re   g       À)re   r9   rf   r9   r   re   )re   r9   r   r9   r?   re   r)   )re   r9   r   r9   r9   re   )r   rA   )rd   r/   r0   rH   s       r"   Ú test_antiparallel_simplificationrh   ]   s¿  € ò
ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " C˜yØ " B˜xØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9ô	;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " C˜yØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9ô	;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " C˜yØ " B˜xØ " C˜yð	*ð
 )×1Ñ1°#°2°#²q°&Ñ9ô;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9ô;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " B˜xØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9õ	;r$   Úangleé   r?   r   Úoffsetre   c                 ó*  — d}t         j                  j                  d«       t         j                  j                  d«      |z
  |z  }d|d<   d|d<   t        j                  | «      |z  }t        j
                  | «      |z  }|dd  j                  «       }|dd  j                  «       }|dd  j                  «       }|dd  j                  «       }	|dkD  r%t        ddg||g||	g|d   |d   gddggg d¢¬«      }
n!t        ddg||g|d   |d   gddggg d	¢¬«      }
t        t        j                  ||g«      j                  «      }|j                  d
¬«      }t        |
j                  |j                  «       t        |
j                  |j                  «       y )Né   i!N,é   r   r9   rf   )r9   r   r   r   r   )rB   )r9   r   r   r   TrS   )r   rU   rV   Úrandr   ÚcosÚmaxÚminr
   ÚvstackÚTr@   r   rA   r   rB   )ri   rk   ÚscaleÚvert_offsetsr/   r0   Úx_maxÚx_minÚy_maxÚy_minÚ
p_expectedÚpÚp2s                r"   Útest_angled_antiparallelr~   ¬   s‹  € ð €EÜ‡I�I‡N�N�8Ôô —I‘I—N‘N 2Ó&¨Ñ/°5Ñ8€Là€L��Oà€L��Oä
�‰ˆu‹˜Ñ$€AÜ
�‰ˆu‹˜Ñ$€Að ˆaˆbˆE�I‰I‹K€EØˆaˆbˆE�I‰I‹K€EàˆaˆbˆE�I‰I‹K€EØˆaˆbˆE�I‰I‹K€Eà�‚zÜ˜A˜q˜6Ø! 5˜>Ø! 5˜>Ø˜b™E 1 R¡5˜>Ø˜q˜6ð	#ò
 !0ô1‰
ô ˜A˜q˜6Ø! 5˜>Ø˜b™E 1 R¡5˜>Ø˜q˜6ð#ò !-ô	.ˆ
ô 	ŒR�Y‰Y˜˜1�vÓ× Ñ Ó!€AØ	
�‰˜DˆÓ	!€Bä˜j×1Ñ1Ø Ÿk™kô+ä�z×'Ñ'¨¯©Õ2r$   c                  óR  — t         j                  j                  d«       t        j                  t        j                  dt         j
                  dz  d«      «      t         j                  j                  d¬«      dz  z   } t        j                  «       \  }}|j                  | dd¬«      }|j                  j                  «        |d   j                  «       }|d   j                  «       }|j                  |«      }|j                  d¬	«      }|j                   j"                  d
k(  sJ ‚y )Nr   r   rL   rM   r   rP   rQ   TrS   i˜b  )r   rU   rV   r   Úlinspacer   rW   r   r   r   rX   rY   rZ   r[   r\   r@   rA   rN   r]   s          r"   Útest_sine_plus_noiser�   Ú   så   € Ü‡I�I‡N�N�1ÔÜ	�‰”—‘˜AœrŸu™u s™{¨EÓ2Ó	3Ü	�‰×	Ñ	 Ð	Ó	&¨Ñ	-ñ
.€Aô �l‰l‹n�G€CˆØ	�‰� G°sˆÓ	;€Bð ‡J�J‡O�OÔØˆa‰5�>‰>Ó€DØ�1‘×#Ñ#Ó%€IØ×#Ñ# DÓ)€DØ—‘ t�Ó,€Jà×Ñ×#Ñ# uÒ,Ð,Ñ,r$   Úsimplify_curvegœÄ °rh‘?c                  óþ  — t        j                  t        dddt        j                  dfddddgt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      d¬«      } t        j                  «       \  }}|j                  | «       |j                  d	d
«       |j                  d	d
«       y )Nr7   ©r9   r   ©r9   r9   r9   )r   r   ©r   r   Únone)Úfcr   r   )r   Ú	PathPatchr
   r   ÚnanrD   rF   Ú	CLOSEPOLYr   r   Ú	add_patchr-   r   )Úpp1r    r!   s      r"   Útest_simplify_curverŽ   ì   s¯   € ô ×
Ñ
Üˆf�f˜f¤r§v¡v¨q k°6¸6À6Øðä�k‰kœ4Ÿ;™;¬¯©´T·[±[Ä$Ç+Á+Ü�k‰kœ4Ÿ;™;¬¯©ð8ó	9ð ô€Cô �l‰l‹n�G€CˆØ‡L�L�ÔØ‡K�K��1ÔØ‡K�K��1Õr$   )ÚpngÚpdfÚsvg)Ú
extensionsc                 óÌ  — | j                  dd«      j                  «       }|j                  dd«      j                  «       }t        dt        j                  gddgddgddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        dt        j                  gddgddgddgdt        j                  ggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        dt        j                  gddgddgddgddgddgddgddgdt        j                  gddgg
t        j
                  t        j                  t        j                  t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  g
«      }|d   j                  t        j                  |d¬«      «       t        dt        j                  gddgddgddgdt        j                  gddgddgddgdt        j                  gddgg
t        j
                  t        j                  t        j                  t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  g
«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       g |j                  ¢|j                  ¢D ]  }|j                  d
d
¬«       Œ t        | «       t        |«       y )Nr   éýÿÿÿr?   r   r‡   ©Ú	facecolorrg   r9   rf   )g      Àg      @)ÚxlimÚylim)r   Úflattenr
   r   rŠ   rD   rE   r‹   rŒ   r   r‰   rF   ÚCURVE4ÚflatÚsetr   )Úfig_testÚfig_refÚax_testÚax_refrG   r!   s         r"   Útest_closed_path_nan_removalr¡   ü   s5	  € à×Ñ  1Ó%×-Ñ-Ó/€GØ×Ñ˜a Ó#×+Ñ+Ó-€Fô Ø
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"°b°Ð:Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^ÐLóN€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"´b·f±f°Ð>Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIóK€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(Ð;Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^ÐLóN€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(Ð;Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIóK€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"°b°Ø
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(ð	<ä	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^ð	MóN€Dð
 ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"´b·f±f°Ø
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(ð	<ä	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ð	JóK€Dð
 ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—n‘nð	&ó'€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—n‘nð	&ó'€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F Q¨ F¨Q´·±¨K¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F Q¨ F¨Q´·±¨K¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBð ,�—‘Ð+˜vŸ{™{Ð+ò 3ˆØ
�‰�K kˆÕ2ð3ä˜HÔ%Ü˜GÕ$r$   c           
      óª  — g }t        d«      D ]  }d|z  dz   }ddgddgddgddgd|dz  z
  dgd|dz  z
  |g|dz  |g|dz  dgg}t        j                  ||d¬«      }t        j                  ||d d…d d …f   f«      }|j	                  |«       Œ� t        j
                  t        |d   «      t        j                  «      }t        j                  |d<   t        j                  |d	<   t        j                  |t        |«      «      }t        j                  |«      }| j                  d
«       t        ||«      }| j                  t        j                  |d¬«      «       |j                  d
«       |j!                  «       }t        j                  ||t        j                  k(  <   t        ||«      }|j                  t        j                  |d¬«      «       y )Né   gš™™™™™¹?g      à¿g      ø?r9   r   r   )Úaxisrf   )rm   rm   r‡   r•   )Úranger   ÚrollÚconcatenateÚappendÚfullr,   r
   rE   rD   r‹   ÚtileÚset_size_inchesÚ
add_artistr   r‰   Úcopy)r�   rž   rA   r¦   rk   ÚpatternrB   rG   s           r"   Útest_closed_path_clippingr¯   h  s¨  € à€HÜ�a“ò !ˆØ�t‘˜cÑ!ˆð �3ˆK˜$ ˜¨¨T {°S¸#°Jà�˜!‘‰^˜SÐ! A¨°©
¡N°FÐ#;Ø�a‰Z˜Ð  6¨A¡:¨sÐ"3ð	
ˆô —'‘'˜' 4¨aÔ0ˆÜ—.‘. '¨7°2°A°2²q°5©>Ð!:Ó;ˆà�‰˜Õ ð!ô& �G‰G”C˜ ™Ó$¤d§k¡kÓ2€EÜ�{‰{€Eˆ!�HÜ—‘€Eˆ"�IÜ�G‰G�Eœ3˜x›=Ó)€EÜ�~‰~˜hÓ'€Hà×Ñ˜VÔ$Ü�˜%Ó €DØ×Ñœ×)Ñ)¨$¸&ÔAÔBð ×Ñ˜FÔ#Ø�J‰J‹L€EÜ%)§[¡[€Eˆ%”4—>‘>Ñ
!Ñ"Ü�˜%Ó €DØ×Ñ”w×(Ñ(¨¸Ô@ÕAr$   Úhatch_simplifyc            	      óÌ   — t        j                  «       \  } }|j                  t        j                  ddddd¬«      «       |j	                  dd«       |j                  dd«       y )Nr7   r9   Fú/)ÚfillÚhatchgÍÌÌÌÌÌÜ?gš™™™™™á?)r   r   rŒ   Ú	Rectangler-   r   )r    r!   s     r"   Ú
test_hatchr¶   ‘  sJ   € ä�l‰l‹n�G€CˆØ‡L�L”—‘˜v q¨!°%¸sÔCÔDØ‡K�K��dÔØ‡K�K��dÕr$   Ú	fft_peaksc                  óX  — t        j                  «       \  } }t        j                  d«      }|j	                  t        t        j                  j                  t        j                  dt        j                  z  dz  |z  «      t        j                  t        |«      «      z  «      «      «      }| j                  j                  «        |d   j                  «       }|d   j                  «       }|j                  |«      }|j!                  d¬«      }|j"                  j$                  dk(  sJ ‚y )Ni   r   r   r   TrS   é$   )r   r   r   r   r   ÚabsÚfftr   r   Úblackmanr,   rX   rY   rZ   r[   r\   r@   rA   rN   )r    r!   r   r^   rG   r_   rH   s          r"   Útest_fft_peaksr½   ™  sÖ   € ä�l‰l‹n�G€CˆÜ
�	‰	�%Ó€AØ	�‰””R—V‘V—Z‘Z¤§¡ q¬¯©¡w¨s¡{°1¡}Ó 5´b·k±kÄ#ÀaÃ&Ó6IÑ IÓJÓKÓ	L€Bð ‡J�J‡O�OÔØˆa‰5�>‰>Ó€DØ�1‘×#Ñ#Ó%€IØ×#Ñ# DÓ)€DØ—‘ t�Ó,€Jà×Ñ×#Ñ# rÒ)Ð)Ñ)r$   c                  óf  — d} t        j                  t        j                  | «      d¬«      }|j	                  t        |«      dz  df«      }t        |«      }|j                  t        j                  «       d¬«      }t        |«      }t        |«      dk(  sJ ‚|d   d   t        j                  k(  sJ ‚y )	NsÌ  
ZwAAAAku+v9UAQAA+Tj6/z8CAADpQ/r/KAMAANlO+v8QBAAAyVn6//UEAAC6ZPr/2gUAAKpv+v+8
BgAAm3r6/50HAACLhfr/ewgAAHyQ+v9ZCQAAbZv6/zQKAABepvr/DgsAAE+x+v/lCwAAQLz6/7wM
AAAxx/r/kA0AACPS+v9jDgAAFN36/zQPAAAF6Pr/AxAAAPfy+v/QEAAA6f36/5wRAADbCPv/ZhIA
AMwT+/8uEwAAvh77//UTAACwKfv/uRQAAKM0+/98FQAAlT/7/z0WAACHSvv//RYAAHlV+/+7FwAA
bGD7/3cYAABea/v/MRkAAFF2+//pGQAARIH7/6AaAAA3jPv/VRsAACmX+/8JHAAAHKL7/7ocAAAP
rfv/ah0AAAO4+/8YHgAA9sL7/8QeAADpzfv/bx8AANzY+/8YIAAA0OP7/78gAADD7vv/ZCEAALf5
+/8IIgAAqwT8/6kiAACeD/z/SiMAAJIa/P/oIwAAhiX8/4QkAAB6MPz/HyUAAG47/P+4JQAAYkb8
/1AmAABWUfz/5SYAAEpc/P95JwAAPmf8/wsoAAAzcvz/nCgAACd9/P8qKQAAHIj8/7cpAAAQk/z/
QyoAAAWe/P/MKgAA+aj8/1QrAADus/z/2isAAOO+/P9eLAAA2Mn8/+AsAADM1Pz/YS0AAMHf/P/g
LQAAtur8/10uAACr9fz/2C4AAKEA/f9SLwAAlgv9/8ovAACLFv3/QDAAAIAh/f+1MAAAdSz9/ycx
AABrN/3/mDEAAGBC/f8IMgAAVk39/3UyAABLWP3/4TIAAEFj/f9LMwAANm79/7MzAAAsef3/GjQA
ACKE/f9+NAAAF4/9/+E0AAANmv3/QzUAAAOl/f+iNQAA+a/9/wA2AADvuv3/XDYAAOXF/f+2NgAA
29D9/w83AADR2/3/ZjcAAMfm/f+7NwAAvfH9/w44AACz/P3/XzgAAKkH/v+vOAAAnxL+//04AACW
Hf7/SjkAAIwo/v+UOQAAgjP+/905AAB5Pv7/JDoAAG9J/v9pOgAAZVT+/606AABcX/7/7zoAAFJq
/v8vOwAASXX+/207AAA/gP7/qjsAADaL/v/lOwAALZb+/x48AAAjof7/VTwAABqs/v+LPAAAELf+
/788AAAHwv7/8TwAAP7M/v8hPQAA9df+/1A9AADr4v7/fT0AAOLt/v+oPQAA2fj+/9E9AADQA///
+T0AAMYO//8fPgAAvRn//0M+AAC0JP//ZT4AAKsv//+GPgAAojr//6U+AACZRf//wj4AAJBQ///d
PgAAh1v///c+AAB+Zv//Dz8AAHRx//8lPwAAa3z//zk/AABih///TD8AAFmS//9dPwAAUJ3//2w/
AABHqP//ej8AAD6z//+FPwAANb7//48/AAAsyf//lz8AACPU//+ePwAAGt///6M/AAAR6v//pj8A
AAj1//+nPwAA/////w==z<i4)Údtyper   )r   r   ç      Y@rÀ   r=   r9   r   )r   Ú
frombufferÚbase64ÚdecodebytesÚreshaper,   r
   Úiter_segmentsr	   ÚIdentityTransformÚlistrD   )ÚdataÚvertsrG   Úsegss       r"   Útest_start_with_movetorË   ©  s    € ð€Dô, �M‰Mœ&×,Ñ,¨TÓ2¸%Ô@€EØ�M‰Mœ3˜u›:¨™?¨AÐ.Ó/€EÜ�‹;€DØ×Ñœj×:Ñ:Ó<Ø#;ð ó =€Dä�‹:€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�1‰:œŸ™Ò$Ð$Ñ$r$   c                 ó¬  — dt         j                  d<   t        j                  d«      }t        j                  j                  d«      }t        j                  |d<   t        j                  «       \  }}|j                  ||«       t        j                  t        «      5  |j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY w)NFzpath.simplifyi€„ iè  )r   ÚrcParamsr   r   rU   ro   rŠ   r   r   ÚpytestÚraisesÚOverflowErrorÚsavefigÚioÚBytesIO)Úhigh_memoryÚxxÚyyr    r!   s        r"   Ú(test_throw_rendering_complexity_exceededr×   Ë  sŒ   € Ø$)„C‡L�L�Ñ!Ü	�‰�9Ó	€BÜ	�‰�‰˜	Ó	"€BÜ�v‰v€B€t�Hä�l‰l‹n�G€CˆØ‡G�GˆB�„OÜ	�‰”}Ó	%ñ "Ø�‰”B—J‘J“LÔ!÷"÷ "ñ "ús   Â$C
Ã
CÚclipper_edgec                  óð  — d} t        j                  d¬«      }|j                  dddd¬«       |j                  ddd¬	«      }|j	                  | «       |j
                  j                  t        j                  d
«      «       |j                  j                  t        j                  d
«      «       |j
                  j                  d«       |j                  j                  d«       |j                  dd«       y )N)
r   r9   r   r   r   r?   r   rj   r   rm   r:   )Úfigsizer   )ÚleftÚbottomÚwspaceÚhspace)r   r   r   r   )r   rm   F)r˜   Úautoscale_onr9   rÜ   rÛ   rm   é	   )r   ÚfigureÚsubplots_adjustÚadd_axesr   ÚxaxisÚset_major_locatorÚMultipleLocatorÚyaxisÚset_ticks_positionr-   )Údatr    r!   s      r"   Útest_clipperrê   ×  s¸   € à
(€CÜ
�*‰*˜VÔ
$€CØ×Ñ˜Q q°¸1ÐÔ=à	�‰Ð&¨VÀ%ˆÓ	H€BØ‡G�GˆC„LØ‡H�H×Ñœs×2Ñ2°1Ó5Ô6Ø‡H�H×Ñœs×2Ñ2°1Ó5Ô6Ø‡H�H×Ñ Ô)Ø‡H�H×Ñ Ô'à‡K�K��1Õr$   Úpara_equal_perpc                  ó  — t        j                  g d¢dgdz  z   «      } t        j                  g d¢dgdz  z   «      }t        j                  «       \  }}|j	                  | dz   |dz   «       |j	                  | dz   |dz   d«       y )N)r   r9   r   r9   r   rf   r   r9   r9   é€   )r9   r9   r   r9   r   rf   r   r   r   Úro)r   r+   r   r   r   r.   s       r"   Útest_para_equal_perprï   ç  ss   € ä
�‰Ò*¨a¨S°3©YÑ6Ó7€AÜ
�‰Ò*¨a¨S°3©YÑ6Ó7€Aä�l‰l‹n�G€CˆØ‡G�GˆA�‰E�1�q‘5ÔØ‡G�GˆA�‰E�1�q‘5˜$Õr$   Úclipping_with_nansÚmpl20)r   c                  óþ   — t        j                  ddd«      } t        j                  | «      }t         j                  | d d d…<   t	        j
                  «       \  }}|j                  | |«       |j                  dd«       y )Nr   g…ëQ¸@i¸  éd   g      Ð¿g      Ð?)r   r€   r   rŠ   r   r   r   r   r.   s       r"   Útest_clipping_with_nansrô   ñ  s\   € ä
�‰�A�x Ó&€AÜ
�‰ˆq‹	€AÜ�v‰v€A�eˆ€e�Hä�l‰l‹n�G€CˆØ‡G�GˆAˆq„MØ‡K�K��tÕr$   c                  óô  — t        ddggdz  «      } t        | j                  g d¢¬«      «      }|g k(  sJ ‚t        ddgddggd	d
g«      } t        | j                  g d¢¬«      «      }|D ��cg c]  \  }}t        |«      |f‘Œ c}}ddgd	fddgd
fgk(  sJ ‚t        ddggd	g«      } t        | j                  g d¢¬«      «      }|D ��cg c]  \  }}t        |«      |f‘Œ c}}ddgd	fgk(  sJ ‚y c c}}w c c}}w )NgêŒ 9Y>)Frm   )r   r   ró   ró   r=   rO   é(   éK   éA   r9   r   )r
   rÇ   rÅ   )r|   rH   r/   r0   s       r"   Útest_clipping_fullrù   ü  s  € Üˆt�Tˆlˆ^˜aÑÓ €AÜ�a—o‘oÒ+;�oÓ<Ó=€JØ˜ÒÐÐäˆr�2ˆh˜˜R˜Ð! A q 6Ó*€AÜ�a—o‘oÒ+;�oÓ<Ó=€JØ&0×1™d˜a Œd�1‹g�qŠ\Ó1Ø�2ˆh˜ˆ]˜b "˜X q˜MÐ*ò+ð ,ð +ô 	ˆr�2ˆhˆZ˜!˜Ó€AÜ�a—o‘oÒ+;�oÓ<Ó=€JØ&0×1™d˜a Œd�1‹g�qŠ\Ó1Ø�2ˆh˜ˆ]ˆOòð ñ ùó 2ùó
 2s   Á,C.ÃC4c                  ó
  — t        dddt        j                  t        j                  fgt         j                  t         j                  t         j                  t         j
                  g«      t        g d¢t         j                  t         j                  t         j                  t         j
                  g«      g} t        g d¢t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  g«      }| D ]T  }|j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       ŒV t        dddt        j                  t        j                  fdd	d
t        j                  t        j                  fgt         j                  t         j                  t         j                  t         j
                  t         j                  t         j                  t         j                  t         j
                  g«      }t        g d¢t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  g
«      }|j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       t        dddt        j                  t        j                  fdd
dddg	t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  g	«      }t        dddt        j                  t        j                  fdd
ddddg
t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  g
«      }|j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y )Nr…   r:   r†   )r…   r:   r†   )rö   rO   )r…   r:   r†   r…   r…   r7   TrS   ©rf   r   ©rg   r   ©rg   r9   )
r…   r:   r†   r…   rû   rü   rý   rû   rû   r7   r„   )r9   rf   )r   rf   )rf   rf   )rf   r9   )r   rf   r7   )r
   r   rŠ   rD   rE   r‹   rC   r@   r   rA   rB   )ÚpathsÚexpected_pathrG   Úsimplified_paths       r"   Útest_simplify_closepolyr    s.  € ô �6˜6 6¬B¯F©F´B·F±FÐ+;Ð<Ü—;‘;¤§¡¬T¯[©[¼$¿.¹.ÐIóKäÒ4Ü—;‘;¤§¡¬T¯[©[¼$¿.¹.ÐIóKðL€Eô ÒIÜŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§y¡yð2ó3€Mð ò GˆØŸ,™,°˜,Ó5ˆÜ˜=×1Ñ1°?×3KÑ3KÔLÜ˜=×.Ñ.°×0EÑ0EÕFðGô �˜ ¬"¯&©&´"·&±&Ð)9Ø˜' 7¬R¯V©V´R·V±VÐ,<ð>ä—‘œdŸk™k¬4¯;©;¼¿¹Ü—‘œdŸk™k¬4¯;©;¼¿¹ðHóI€Dô ò OäŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§y¡yð2ó3€Mð —l‘l¨D�lÓ1€OÜ�}×-Ñ-¨×/GÑ/GÔHÜ�}×*Ñ*¨O×,AÑ,AÔBô �˜ 'Ü—&‘&œ"Ÿ&™&Ð! 8¨W°gØ˜ð"ô —‘œdŸk™k¬4¯;©;Ü—‘œdŸk™k¬4¯;©;¼¿¹Ü—‘¤§¡ð.ó/€Dô ˜& '¨7ÜŸ6™6¤2§6¡6Ð*¨H°g¸wØ! 7¨Fð4ô Ÿ+™+¤t§{¡{´D·K±KÜŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§{¡{´D·I±Ið?ó@€Mð —l‘l¨D�lÓ1€OÜ�}×-Ñ-¨×/GÑ/GÔHÜ�}×*Ñ*¨O×,AÑ,AÕBr$   )-rÂ   rÒ   ÚplatformÚnumpyr   Únumpy.testingr   r   rÎ   Úmatplotlib.testing.decoratorsr   r   r   Úmatplotlib.pyplotÚpyplotr   Ú
matplotlibr   r	   Úmatplotlib.pathr
   r#   Úmachiner1   r5   rJ   r`   rh   ÚmarkÚparametrizer   r~   r�   rŽ   r¡   r¯   r¶   r½   rË   r×   rê   rï   rô   rù   r  © r$   r"   ú<module>r     s>  ðÛ Û 	Û ã ß Gã ÷Dñ Då ç *Ý  ñ �:�,¨D¸ÔHñó Iðñ �:�,¨D¸Ø+˜8×+Ñ+Ó-°Ò9‘a¸uôFñóFðñ Ð%Ð&°DÀÔPñó QðòCò.-ò"G;ð^ ‡�×Ñ˜ 1 b§e¡e¨A¡g¨r¯u©u°Q©w¸¿¹¸a¹Ð"@ÓAØ‡�×Ñ˜ A r 7Ó+ñ)3ó ,ó Bð)3òX-ñ$ Ð#Ð$°$¸oØôñóðñ Ò 5Ô6ñh%ó 7ðh%ñV Ò 5Ô6ñ%Bó 7ð%BñP Ð#Ð$°$¸oÔNñó Oðñ �;�-¨T¸ÔIñ*ó Jð*ò%òD	"ñ �>Ð"°¸OÔLñó Mðñ Ð$Ð%°4¸ÔOñ ó Pð ñ Ð'Ð(°Ô8ñó 9ðòó 0Cr$   