§
    ‚Øj4  ã                   óÎ  — d dl Z d dlZd dlmZ d dlmZ d dlmZ	 d„ Z
 edgd ej        ¦   «         dk    rd nd¬¦  «        d	„ ¦   «         Z ed
gd¬¦  «        d„ ¦   «         Z edgd¬¦  «        d„ ¦   «         Zd„ Z edgd ed¬¦  «        d ej        ¦   «         dk    rd nd¬¦  «        d„ ¦   «         Z edgd ed¬¦  «        d ej        ¦   «         dk    rd nd¬¦  «        d„ ¦   «         Z edgdd¬¦  «        d„ ¦   «         Z edgdd ej        ¦   «         dk    rd nd¬ ¦  «        d!„ ¦   «         Z ed"gdd ej        ¦   «         dk    rd nd#¬ ¦  «        d$„ ¦   «         Zd%„ ZdS )&é    N)Úimage_comparisonc                 ód   — |                       ddd|z   fddt          |dd¬¦  «        ¬¦  «         d S )	NÚ ç      à?©r   r   é   ÚbÚk)Ú
arrowstyleÚfcÚec)ÚxyÚxytextÚsizeÚ
arrowprops)ÚannotateÚdict)ÚaxÚtÚrs      ú˜/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_arrow_patches.pyÚ
draw_arrowr      sP   € Ø‡K‚K�˜˜S 1™W�~¨j¸rÝ¨1Ø#&¨3ð0ñ 0ô 0ð ñ 1ô 1ð 1ð 1ð 1ó    zfancyarrow_test_image.pngÚ_classic_testÚx86_64gú~j¼t“ˆ?)ÚstyleÚtolc            	      ó�  — g d¢} ddt           j                             ¦   «         g}t          j        t          |¦  «        t          | ¦  «        ddt          d¬¦  «        ¬¦  «        \  }}t          | ¦  «        D ]L\  }}t          |¦  «        D ]7\  }}|||f         }t          |||¦  «         | 	                    dd¬	¦  «         Œ8ŒMd S )
N)çš™™™™™Ù?ç333333Ó?çš™™™™™É?çš™™™™™¹?r   ÚfancyÚsimpleF)é   g      @é   )Úaspect)ÚsqueezeÚfigsizeÚ
subplot_kw)Ú	labelleftÚlabelbottom)
ÚmpatchesÚ
ArrowStyleÚFancyÚpltÚsubplotsÚlenr   Ú	enumerater   Útick_params)	r   r   ÚfigÚaxsÚi_rÚr1Úi_tÚt1r   s	            r   Útest_fancyarrowr;      sá   € ð 	 ÐÐ€AØ	�(�HÔ/×5Ò5Ñ7Ô7Ð8€AåŒ|�C ™FœF¥C¨¡F¤F°EØ$,½ÀQ¸¹¼ðIñ Iô I�H€Cˆõ ˜Q‘<”<ð ?ð ?‰ˆˆRÝ  ‘|”|ð 	?ð 	?‰GˆC�Ø�S˜#�X”ˆBÝ�r˜2˜rÑ"Ô"Ð"Ø�NŠN U¸ˆNÑ>Ô>Ð>Ð>ð	?ð?ð ?r   zboxarrow_test_image.pngÚmpl20)r   c                  ój  — t           j                             ¦   «         } t          | ¦  «        }d}||z  dz   }t	          j        d|dz  f¬¦  «        }d}t          t          | ¦  «        ¦  «        D ]B\  }}|                     d||z
  |z  dz
  |z  |d||j	        t          |dd	¬
¦  «        ¬¦  «         ŒCd S )Ng333333ó?r   gUUUUUU@ç      ø?©r)   ç™™™™™™5@ÚcenterÚwr
   ©Úboxstyler   r   )Úhar   Ú	transformÚbbox)r-   ÚBoxStyleÚ
get_stylesr2   r0   Úfigurer3   ÚsortedÚtextÚtransFigurer   )ÚstylesÚnÚspacingÚ	figheightr5   ÚfontsizeÚiÚ	stylenames           r   Útest_boxarrowrU      sß   € õ Ô×)Ò)Ñ+Ô+€FåˆF‰Œ€AØ€Gà�W‘˜rÑ!€IÝ
Œ*˜g y°3¡Ð7Ð
8Ñ
8Ô
8€Cà€Hå!¥&¨¡.¤.Ñ1Ô1ð @ð @‰ˆˆ9Ø�Š�˜˜A™ Ñ(¨3Ñ.°	Ñ9¸9ØØØœ?Ý I°#¸#Ð>Ñ>Ô>ð	 	ñ 	@ô 	@ð 	@ð 	@ð@ð @r   z"boxarrow_adjustment_test_image.pngc                  óâ  — g d¢} ddgddgddgddgd	d
gd	dgg}d}d}t          | ¦  «        }t          |¦  «        }||z  }||z  dz   }t          j        |dz  |dz  f¬¦  «        }d}	t          | ¦  «        D ]x\  }
}t          |¦  «        D ]c\  }}|                     ||
z
  |z  dz
  |z  ||z
  |z  dz
  |z  |dd|	|j        t          |› d|d         › d|d         › �dd¬¦  «        ¬¦  «         ŒdŒyd S )N)ÚlarrowÚrarrowÚdarrowr>   éZ   éª   g      è?r   r   iöÿÿÿé   i¦ÿÿÿiñÿÿÿg      @gš™™™™™ù?r?   r@   rA   z, head_width=r   z!,                     head_angle=r&   rB   r
   rC   )rE   Úvar   rF   rG   )r2   r0   rJ   r3   rL   rM   r   )rN   ÚcasesÚspacing_horizontalÚspacing_verticalÚmrO   ÚfigwidthrQ   r5   rR   rS   rT   ÚjÚcases                 r   Útest_boxarrow_adjustmentre   4   sŒ  € ð ,Ð+Ð+€Fð 
ˆbˆ	Ø	ˆcˆ
Ø	ˆrˆ
Ø	ˆcˆ
Ø	
ˆCˆØ	
ˆCˆð€Eð ÐØÐõ 	ˆF‰Œ€AÝˆE‰
Œ
€AàÐ&Ñ&€HØÐ%Ñ%¨Ñ+€Iå
Œ*˜h¨™n¨i¸#©oÐ>Ð
?Ñ
?Ô
?€Cà€Hå! &Ñ)Ô)ð 	<ð 	<‰ˆˆ9Ý  Ñ'Ô'ð 	<ð 	<‰GˆAˆtà�HŠHØ�a‘%Ð-Ñ-°Ñ3°xÑ?Ø�a‘%Ð+Ñ+¨cÑ1°YÑ>Ø˜h¨8Ø¨¬Ý ið $*ð $*¸dÀ1¼gð $*ð $*Ø $ Q¤ð$*ð $*Ø.1°cð;ñ ;ô ;ð ñ <ô <ð <ð <ð	<ð	<ð 	<r   c            	      ó  — t          j        ddd¬¦  «        } |                      ¦   «         }|                     dd¦  «         |                     dd¦  «         |                     t          j        ddd	d
d¬¦  «        ¦  «         | S )zý
    Convenience function that prepares and returns a FancyArrowPatch. It aims
    at being used to test that the size of the arrow head does not depend on
    the DPI value of the exported picture.

    NB: this function *is not* a test in itself!
    Úfancyarrow_dpi_cor_test)é   é   é2   )r)   Údpir   r&   )r    r   )çš™™™™™é?g333333ã?ri   ú->éd   )ÚposAÚposBÚlwr   Úmutation_scale)r0   rJ   Úadd_subplotÚset_xlimÚset_ylimÚ	add_patchr-   ÚFancyArrowPatch)Úfig2r   s     r   Ú!__prepare_fancyarrow_dpi_cor_testry   ^   s‘   € õ Œ:Ð/¸ÀRÐHÑHÔH€DØ	×	Ò	Ñ	Ô	€BØ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐØ‡L‚L•Ô)¨zÀ
Ø-.¸4Ø9<ð>ñ >ô >ñ ?ô ?ð ?ð €Kr   zfancyarrow_dpi_cor_100dpi.pngTrn   )rk   g{®Gáz”?)Úremove_textÚsavefig_kwargr   r   c                  ó"   — t          ¦   «          dS )a   
    Check the export of a FancyArrowPatch @ 100 DPI. FancyArrowPatch is
    instantiated through a dedicated function because another similar test
    checks a similar export but with a different DPI value.

    Remark: test only a rasterized format.
    N©ry   © r   r   Útest_fancyarrow_dpi_cor_100dpir   p   s   € õ &Ñ'Ô'Ð'Ð'Ð'r   zfancyarrow_dpi_cor_200dpi.pngéÈ   c                  ó"   — t          ¦   «          dS )z
    As test_fancyarrow_dpi_cor_100dpi, but exports @ 200 DPI. The relative size
    of the arrow head should be the same.
    Nr}   r~   r   r   Útest_fancyarrow_dpi_cor_200dpir‚      s   € õ &Ñ'Ô'Ð'Ð'Ð'r   zfancyarrow_dash.pngÚdefault)rz   r   c            
      óö   — t          j        ¦   «         \  } }t          j        dddddddd¬	¦  «        }t          j        dddd
dddd¬	¦  «        }|                     |¦  «         |                     |¦  «         d S )N)r   r   r   z-|>zangle3,angleA=0,angleB=90g      $@r\   Údashedr
   )r   Úconnectionstylerr   Ú	linewidthÚ	linestyleÚcolorÚangle3Údotted)r0   r1   r-   rw   rv   )r5   r   ÚeÚe2s       r   Útest_fancyarrow_dashrŽ   ‹   s–   € åŒl‰nŒn�G€CˆÝÔ  ¨Ø,1Ø1LØ04Ø+,Ø+3Ø'*ð	,ñ 	,ô 	,€Aõ 
Ô	! &¨*Ø-2Ø2:Ø15Ø,-Ø,4Ø(+ð
-ñ 
-ô 
-€Bð ‡L‚L��O„O€OØ‡L‚L�ÑÔÐÐÐr   zarrow_styles.png)r   rz   r   c                  óH  — t           j                             ¦   «         } t          | ¦  «        }t	          j        d¬¦  «        \  }}|                     dd¦  «         |                     d|¦  «         |                     dddd¬¦  «         t          t          | ¦  «        ¦  «        D ]H\  }}t          j        d|dz  d	z  z   |fd
|dz  d	z  z   |f|d¬¦  «        }|                     |¦  «         ŒIt          g d¢¦  «        D ] \  }}|}|d         dk    r|dz  }|d         dk    r|dz  }t          ddg¦  «        D ]e\  }}	|                     dt          |	¦  «        ¦  «        }
t          j        dd|z  |z   fdd|z  |z   f|
d¬¦  «        }|                     |¦  «         ŒfŒ¡d S )N)r%   r%   r?   r   r&   éÿÿÿÿ)ÚleftÚrightÚbottomÚtopr"   r\   gš™™™™™©?gÍÌÌÌÌÌÜ?é   )r   rr   )z]-[z]-z-[z|-|ú-z,angleA=ANGLEz,angleB=ANGLEiâÿÿÿé<   ÚANGLEgš™™™™™á?gÍÌÌÌÌÌì?)r-   r.   rI   r2   r0   r1   rt   ru   Úsubplots_adjustr3   rK   rw   rv   ÚreplaceÚstr)rN   rO   r5   r   rS   rT   Úpatchr   rc   Úangler   s              r   Útest_arrow_stylesrž       sï  € õ Ô ×+Ò+Ñ-Ô-€FåˆF‰Œ€AÝŒl 6Ð*Ñ*Ô*�G€CˆØ‡K‚K��1ÑÔÐØ‡K‚K��AÑÔÐØ×Ò˜Q a°°qÐÑ9Ô9Ð9å!¥&¨¡.¤.Ñ1Ô1ð ð ‰ˆˆ9ÝÔ(¨#°°Q±¸±Ñ*<¸aÐ)@Ø*.°!°a±%¸±Ñ*=¸qÐ)AØ4=Ø8:ð<ñ <ô <ˆð 	�Š�UÑÔÐÐå!Ð"<Ð"<Ð"<Ñ=Ô=ð  ð  ‰ˆˆ9ØˆØ�QŒ<˜3ÒÐØ�_Ñ$ˆEØ�RŒ=˜CÒÐØ�_Ñ$ˆEå! 3¨ )Ñ,Ô,ð 	 ð 	 ‰HˆAˆuØŸš wµ°E±
´
Ñ;Ô;ˆJÝÔ,¨d°A°a±C¸!±G¨_¸sÀAÀaÁCÈ!ÁG¸nØ8BØ<>ð@ñ @ô @ˆEð �LŠL˜ÑÔÐÐð	 ð ð  r   zconnection_styles.pngg9´Èv¾ŸŠ?c                  ó–  — t           j                             ¦   «         } t          | ¦  «        }t	          j        d¬¦  «        \  }}|                     dd¦  «         |                     d|¦  «         t          t          | ¦  «        ¦  «        D ]:\  }}t          j
        d|fd|dz   fd	|d
¬¦  «        }|                     |¦  «         Œ;d S )N)é   é
   r?   r   r&   r�   r"   rl   r   rm   r•   )r   r†   rr   )r-   ÚConnectionStylerI   r2   r0   r1   rt   ru   r3   rK   rw   rv   )rN   rO   r5   r   rS   rT   rœ   s          r   Útest_connection_stylesr£   Á   sÓ   € õ Ô%×0Ò0Ñ2Ô2€FåˆF‰Œ€AÝŒl 7Ð+Ñ+Ô+�G€CˆØ‡K‚K��1ÑÔÐØ‡K‚K��AÑÔÐå!¥&¨¡.¤.Ñ1Ô1ð ð ‰ˆˆ9ÝÔ(¨#¨q¨°C¸¸S¹°>Ø48Ø9BØ8:ð<ñ <ô <ˆð 	�Š�UÑÔÐÐðð r   c                  óà  — t           j                             dd¬¦  «        } t          j        dd| ¬¦  «        }t	          j        t          ¦  «        5  t          j        ¦   «          	                    |¦  «         d d d ¦  «         n# 1 swxY w Y   t           j                             dd¬¦  «        }t          j        dd|¬¦  «        }t          j        ¦   «          	                    |¦  «         d S )Né   r€   )ÚangleAÚangleB)r!   r!   r   )r†   gÍÌÌÌÌüh@)
r-   r¢   ÚAngle3rw   ÚpytestÚraisesÚ
ValueErrorr0   Úgcarv   )Úconn_style_1Úp1Úconn_style_2Úp2s       r   Útest_invalid_intersectionr±   Ó   s  € ÝÔ+×2Ò2¸"ÀSÐ2ÑIÔI€LÝ	Ô	! (¨HØ2>ð
@ñ 
@ô 
@€Bå	Œ•zÑ	"Ô	"ð  ð  ÝŒ‰	Œ	×Ò˜BÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ Ô+×2Ò2¸"ÀUÐ2ÑKÔK€LÝ	Ô	! (¨HØ2>ð
@ñ 
@ô 
@€Bå„G�I„I×Ò˜ÑÔÐÐÐs   Á'BÂB	ÂB	)r©   ÚplatformÚmatplotlib.pyplotÚpyplotr0   Úmatplotlib.testing.decoratorsr   Úmatplotlib.patchesÚpatchesr-   r   Úmachiner;   rU   re   ry   r   r   r‚   rŽ   rž   r£   r±   r~   r   r   ú<module>r¹      sû  ðØ €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ø %Ð %Ð %Ð %Ð %Ð %ð1ð 1ð 1ð ÐÐ.Ð/°Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸uðFñ Fô Fð?ð ?ñFô Fð?ð ÐÐ,Ð-°WÐ=Ñ=Ô=ð@ð @ñ >Ô=ð@ð( ÐÐ7Ð8ÀÐHÑHÔHð&<ð &<ñ IÔHð&<ðRð ð ð$ ÐÐ2Ð3ÀØ $ ¨ ¡¤°_Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸tðEñ Eô Eð	(ð 	(ñEô Eð	(ð ÐÐ2Ð3ÀØ $ ¨ ¡¤°_Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸tðEñ Eô Eð(ð (ñEô Eð(ð ÐÐ(Ð)°tÀ9ÐMÑMÔMðð ñ NÔMðð( ÐÐ%Ð&¨gÀ4Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸tðEñ Eô Eð ð  ñEô Eð ð> ÐÐ*Ð+°7ÈØ+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸uðFñ Fô Fðð ñFô Fðð 
ð 
ð 
ð 
ð 
r   