§
    ‚Øj\$  ã                   óð   — d Z ddlZddlmZ ddlmZmZ ddlZddlm	Z	 ddl
mZ ddlmZmZ ddlmZ ddlZ G d	„ d
e	j        e	j        ¦  «        Z G d„ de¦  «        Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )a   
Add a ``figure-mpl`` directive that is a responsive version of ``figure``.

This implementation is very similar to ``.. figure::``, except it also allows a
``srcset=`` argument to be passed to the image tag, hence allowing responsive
resolution images.

There is no particular reason this could not be used standalone, but is meant
to be used with :doc:`/api/sphinxext_plot_directive_api`.

Note that the directory organization is a bit different than ``.. figure::``.
See the *FigureMpl* documentation below.

é    N)Úrelpath)ÚPurePathÚPath)Únodes)Ú
directives)ÚFigureÚImage)ÚExtensionErrorc                   ó   — e Zd ZdS )Ú
figmplnodeN)Ú__name__Ú
__module__Ú__qualname__© ó    úš/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/sphinxext/figmpl_directive.pyr   r      s   € € € € € Ø€Dr   r   c            	       óŽ   — e Zd ZdZdZdZdZdZej	        ej
        ej        ej        ej        ej        ej	        ej	        dœZd„ ZdS )Ú	FigureMplaž  
    Implements a directive to allow an optional hidpi image.

    Meant to be used with the *plot_srcset* configuration option in conf.py,
    and gets set in the TEMPLATE of plot_directive.py

    e.g.::

        .. figure-mpl:: plot_directive/some_plots-1.png
            :alt: bar
            :srcset: plot_directive/some_plots-1.png,
                     plot_directive/some_plots-1.2x.png 2.00x
            :class: plot-directive

    The resulting html (at ``some_plots.html``) is::

        <img src="sphx_glr_bar_001_hidpi.png"
            srcset="_images/some_plot-1.png,
                    _images/some_plots-1.2x.png 2.00x",
            alt="bar"
            class="plot_directive" />

    Note that the handling of subdirectories is different than that used by the sphinx
    figure directive::

        .. figure-mpl:: plot_directive/nestedpage/index-1.png
            :alt: bar
            :srcset: plot_directive/nestedpage/index-1.png
                     plot_directive/nestedpage/index-1.2x.png 2.00x
            :class: plot_directive

    The resulting html (at ``nestedpage/index.html``)::

        <img src="../_images/nestedpage-index-1.png"
            srcset="../_images/nestedpage-index-1.png,
                    ../_images/_images/nestedpage-index-1.2x.png 2.00x",
            alt="bar"
            class="sphx-glr-single-img" />

    where the subdirectory is included in the image name for uniqueness.
    Fé   é   )ÚaltÚheightÚwidthÚscaleÚalignÚclassÚcaptionÚsrcsetc                 ó(  — t          ¦   «         }| j        d         }| j                             dd¦  «        |d<   | j                             dd ¦  «        |d<   | j                             dd ¦  «        |d<   | j                             dd ¦  «        |d<   | j                             dd ¦  «        |d<   | j                             dd ¦  «        |d<   | j                             d	d ¦  «        |d	<   ||d
<   | j                             dd ¦  «        |d<   |gS )Nr   r   Ú r   r   r   r   r   r   Úurir   )r   Ú	argumentsÚoptionsÚget)ÚselfÚ
image_nodeÚimagenms      r   ÚrunzFigureMpl.runZ   s  € å‘\”\ˆ
à”. Ô#ˆØ œL×,Ò,¨U°BÑ7Ô7ˆ
�5ÑØ"œl×.Ò.¨w¸Ñ=Ô=ˆ
�7ÑØ"œl×.Ò.¨w¸Ñ=Ô=ˆ
�7ÑØ"œl×.Ò.¨w¸Ñ=Ô=ˆ
�7ÑØ#œ|×/Ò/°¸$Ñ?Ô?ˆ
�8ÑØ"œl×.Ò.¨w¸Ñ=Ô=ˆ
�7ÑØ $¤× 0Ò 0°¸DÑ AÔ Aˆ
�9Ñð $ˆ
�5ÑØ#œ|×/Ò/°¸$Ñ?Ô?ˆ
�8Ñàˆ|Ðr   N)r   r   r   Ú__doc__Úhas_contentÚrequired_argumentsÚoptional_argumentsÚfinal_argument_whitespacer   Ú	unchangedÚlength_or_unitlessÚ length_or_percentage_or_unitlessÚnonnegative_intr	   r   Úclass_optionÚoption_specr(   r   r   r   r   r       s‚   € € € € € ð(ð (ðT €KØÐØÐØ %ÐàÔ#ØÔ/ØÔ<ØÔ+Ø”ØÔ(ØÔ'ØÔ&ð	ð 	€Kðð ð ð ð r   r   c                 óf  — |                       d¦  «        }i }|D ]–}|                     ¦   «                               d¦  «        }t          |¦  «        dk    r|d         |d<   ŒHt          |¦  «        dk    r)|d         dd…         }|d         |t          |¦  «        <   Œ„t	          d|› d	�¦  «        ‚|S )
z
    parse srcset...
    ú,ú r   r   r   Néÿÿÿÿzsrcset argument "z" is invalid.)ÚsplitÚstripÚlenÚfloatr
   )ÚstÚentriesr   ÚentryÚsplÚmults         r   Ú_parse_srcsetNodesrA   q   s¸   € ð �hŠh�s‰mŒm€GØ€FØð Kð KˆØ�kŠk‰mŒm×!Ò! #Ñ&Ô&ˆÝˆs‰8Œ8�qŠ=ˆ=Ø˜AœˆF�1‰IˆIÝ�‰XŒX˜Š]ˆ]Ø�q”6˜#˜2˜#”;ˆDØ"% a¤&ˆF•5˜‘;”;ÑÐå Ð!I°UÐ!IÐ!IÐ!IÑJÔJÐJØ€Mr   c                 óæ  — |d         rt          |d         ¦  «        }nd }t          | j        d         ¦  «        j        }| j        j        }t          ||¦  «                             dd¦  «                             t          j	        d¦  «        }t          |¦  «        r|dz  }t          | j        j        | j        j        ¦  «        }t          |¦  «                             dd¬¦  «         |rJ|                     ¦   «         D ]4}t          ||¦  «        }||j        z   }	t#          j        |||	z  ¦  «         Œ5n8t          ||d         ¦  «        }||j        z   }	t#          j        |||	z  ¦  «         |||fS )	Nr   Úsourceú.r    ú-T)ÚparentsÚexist_okr!   )rA   r   ÚdocumentÚparentÚbuilderÚsrcdirr   ÚreplaceÚosÚsepr:   ÚoutdirÚimagedirr   ÚmkdirÚvaluesÚnameÚshutilÚcopyfile)
r%   Únoder   Ú	docsourceÚsrctopÚrelrP   ÚsrcÚabspathrS   s
             r   Ú_copy_images_figmplr\   ƒ   so  € ð ˆH„~ð Ý# D¨¤NÑ3Ô3ˆˆàˆõ ˜œ xÔ0Ñ1Ô1Ô8€Ið Œ\Ô €FÝ
�)˜VÑ
$Ô
$×
,Ò
,¨S°"Ñ
5Ô
5×
=Ò
=½b¼fÀcÑ
JÔ
J€CÝ
ˆ3�x„xð Øˆs‰
ˆõ ˜œÔ+¨T¬\Ô-BÑCÔC€Hõ 	ˆ�N„N×Ò °ÐÑ5Ô5Ð5ð ð 	2Ø—=’=‘?”?ð 	6ð 	6ˆCå˜y¨#Ñ.Ô.ˆGØ˜œÑ%ˆDÝŒO˜G X°¡_Ñ5Ô5Ð5Ð5ð		6õ ˜9 d¨5¤kÑ2Ô2ˆØ�W”\Ñ!ˆÝŒ˜ ¨D¡Ñ1Ô1Ð1à�V˜SÐ Ð r   c           	      óŒ  — t          | |¦  «        \  }}}t          | j        d         ¦  «        }t          | j        j        d¦  «        }t          ||¦  «        }t          | j        j        d¦  «        }||z  }	t          t          ||	j        ¦  «        ¦  «                             ¦   «         }
| j        j	        dk    rd|
› �}
t          |d         dd …         ¦  «        j	        }|
› d|› |› �}||d         d	œ}|}|rud
}d}| 
                    ¦   «         D ]O\  }}t          |dd …         ¦  «        j	        }|
› d|› |› �}||z  }|dk    r|dz  }n
|d|d›d�z  }||k    r|}|}ŒP|d d…         |d<   |d         �d                     |d         ¦  «        |d<   dD ]<}||         r2d|vr|› d||         › d�|d<   Œ |dxx         |› d||         › d�z  cc<   Œ=| j                             |                      |d|d         rd|d         › �nd¬¦  «        ¦  «         | j                             |                      |dd|¬¦  «         | j        |dfi |¤Žz   d z   ¦  «         |d!         rÆ| j                             |                      |d"¦  «        ¦  «         | j                             |                      |d#¦  «        ¦  «         | j                             |                      |d$d%¬¦  «        ¦  «         | j                             |d!         ¦  «         | j                             d&¦  «         | j                             d'¦  «         d S )(NrC   r    Údirhtmlz..r!   r   ú/r   )rZ   r   r7   r   z, r6   z1.2fzx, éþÿÿÿr   r   )r   r   r   Ústylez: ú;Úfigurer   zalign-zalign-center)ÚCLASSÚaz"reference internal image-reference)rd   ÚhrefÚimgz</a>
r   Ú
figcaptionÚpÚspanzcaption-textz</span></p></figcaption>
z
</figure>
)r\   r   rH   rJ   rK   r   rO   rI   Úas_posixrS   ÚitemsÚjoinÚbodyÚappendÚstarttagÚemptytag)r%   rV   rP   r   rY   rW   rX   Ú	relsourceÚdesttopÚdestÚimagerelÚnmr!   Ú	img_attrsÚmaxsrcÚmaxmultÚsrcsetstr@   rZ   Úpathra   s                        r   Úvisit_figmpl_htmlr|   ª   sè  € å/°°dÑ;Ô;Ñ€Hˆf�cõ ˜œ xÔ0Ñ1Ô1€Iõ �d”lÔ)¨2Ñ.Ô.€Få˜	 6Ñ*Ô*€Iå�t”|Ô*¨BÑ/Ô/€Gà�YÑ€Dõ � ¨$¬+Ñ6Ô6Ñ7Ô7×@Ò@ÑBÔB€HØ„|Ô˜IÒ%Ð%Ø"˜�?�?ˆõ 
�$�u”+˜a˜b˜b”/Ñ	"Ô	"Ô	'€BØÐ
!Ð
!˜Ð
!˜RÐ
!Ð
!€CØ D¨¤KÐ0Ð0€Ið €FØð ,ØˆØˆØŸš™œð 	ð 	‰IˆD�#Ý˜#˜a˜b˜bœ'Ñ"Ô"Ô'ˆBàÐ*Ð* Ð* bÐ*Ð*ˆDØ˜ÑˆHØ�qŠyˆyØ˜DÑ ��àÐ. Ð.Ð.Ð.Ð.Ñ.�à�gŠ~ˆ~Ø�Ø�øð ' s¨ sœmˆ	�(ÑàˆG„}Ð Ø ŸXšX d¨7¤mÑ4Ô4ˆ	�'ÑØ-ð Að AˆØ�Œ;ð 	AØ˜iÐ'Ð'Ø(-Ð%?Ð%?°°e´Ð%?Ð%?Ð%?�	˜'Ñ"Ð"à˜'Ð"Ð"Ô"¨Ð&@Ð&@°$°u´+Ð&@Ð&@Ð&@Ñ@Ð"Ð"Ñ"øð 	„I×ÒØ�ŠØ�(Ø.2°7¬mÐOÐ*˜4 œ=Ð*Ð*Ð*Àð 	ñ 	Qô 	QñRô Rð Rð 	„I×ÒØ�Š�d˜CÐ'KØ!ð 	ñ 	#ô 	#àˆŒ�d˜EÐ/Ð/ YÐ/Ð/ñ	0ð 	ñ	ñô ð ð
 ˆI„ð 7ØŒ	×Ò˜Ÿš t¨\Ñ:Ô:Ñ;Ô;Ð;ØŒ	×Ò˜Ÿš t¨SÑ1Ô1Ñ2Ô2Ð2ØŒ	×Ò˜Ÿš t¨V¸>˜ÑJÔJÑKÔKÐKØŒ	×Ò˜˜iœÑ)Ô)Ð)ØŒ	×ÒÐ5Ñ6Ô6Ð6Ø„I×Ò�]Ñ#Ô#Ð#Ð#Ð#r   c                 óÆ   — |d         �Ct          | |¦  «        \  }}d}t          |d¬¦  «        }t          ||         ¦  «        j        |d<   |                      |¦  «         d S )Nr   r7   )Údefaultr!   )r\   Úmaxr   rS   Úvisit_figure)r%   rV   rP   r   ry   s        r   Úvisit_figmpl_latexr�   ÿ   si   € àˆH„~Ð!Ý.¨t°TÑ:Ô:Ñˆ�&Øˆå�f bÐ)Ñ)Ô)ˆÝ˜v gœÑ/Ô/Ô4ˆˆU‰à×Ò�dÑÔÐÐÐr   c                 ó   — d S ©Nr   ©r%   rV   s     r   Údepart_figmpl_htmlr…     s   € Ø€Dr   c                 ó0   — |                       |¦  «         d S rƒ   )Údepart_figurer„   s     r   Údepart_figmpl_latexrˆ     s   € Ø×Ò�tÑÔÐÐÐr   c                 óp   — |                       t          t          t          ft          t
          f¬¦  «         d S )N)ÚhtmlÚlatex)Úadd_noder   r|   r…   r�   rˆ   )Úapps    r   Úfigurempl_addnoderŽ     s@   € Ø‡L‚L•Ý(Õ*<Ð=Ý*Õ,?Ð@ð ñ Bô Bð Bð Bð Br   c                 óz   — |                       dt          ¦  «         t          | ¦  «         ddt          j        dœ}|S )Nz
figure-mplT)Úparallel_read_safeÚparallel_write_safeÚversion)Úadd_directiver   rŽ   Ú
matplotlibÚ__version__)r�   Úmetadatas     r   Úsetupr—     sB   € Ø×Ò�l¥IÑ.Ô.Ð.Ý�cÑÔÐØ&*À4Ý%Ô1ð3ð 3€Hà€Or   )r)   rM   Úos.pathr   Úpathlibr   r   rT   Údocutilsr   Údocutils.parsers.rstr   Ú&docutils.parsers.rst.directives.imagesr   r	   Úsphinx.errorsr
   r”   ÚGeneralÚElementr   r   rA   r\   r|   r�   r…   rˆ   rŽ   r—   r   r   r   ú<module>r       s”  ððð ð 
€	€	€	Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø €€€à Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð ð	ð 	ð 	ð 	ð 	�” ¤ñ 	ô 	ð 	ðNð Nð Nð Nð N�ñ Nô Nð Nðbð ð ð$$!ð $!ð $!ðNR$ð R$ð R$ðj	ð 	ð 	ð	ð 	ð 	ðð ð ðBð Bð Bðð ð ð ð r   