
    -Ph                       d dl mZ d dlZd dl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mZ d dlmZ d dlmZmZmZmZ d d	lmZ erd d
lmZ d dlmZmZ  G d de          ZdZdZ ej         ej        e                     Z! ee"d          Z#dZ$ G d de          Z% G d de%          Z& G d de%          Z'ddZ(dS )    )annotationsN)path)TYPE_CHECKING)ENV_PICKLE_FILENAMESphinx)	BuildInfoStandaloneHTMLBuilder)get_translation)SEPcopyfile	ensurediros_path)jsonimpl)Sequence)AnyProtocolc                  .    e Zd ZddZdd
ZddZddZdS )SerialisingImplementationobjr   fileargskwargsreturnNonec                    d S N )selfr   r   r   r   s        f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinxcontrib/serializinghtml/__init__.pydumpzSerialisingImplementation.dump             str | bytesc                    d S r   r   )r   r   r   r   s       r   dumpszSerialisingImplementation.dumps   r!   r"   c                    d S r   r   )r   r   r   r   s       r   loadzSerialisingImplementation.load   r!   r"   datac                    d S r   r   )r   r(   r   r   s       r   loadszSerialisingImplementation.loads   r!   r"   N)
r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r#   )r   r   r   r   r   r   r   r   )r(   r   r   r   r   r   r   r   )__name__
__module____qualname__r    r%   r'   r*   r   r"   r   r   r      s@        SSSSPPPPHHHHIIIIIIr"   r   z2.0.0)   r   r   console
last_buildc                       e Zd ZU dZded<   dZdZded<   dZd	ed
<   g dZd"dZ	d#d$dZ
d%dZ	 	 d&d'd Zd" fd!Z xZS )(SerializingHTMLBuilderzA
    An abstract builder that serializes the generated HTML.
    r   implementationFr   zSequence[Any]additional_dump_args strglobalcontext_filename)zimage/svg+xmlz	image/pngz	image/gifz
image/jpegr   r   c                R   t          | j        | j                  | _        d| _        d| _        d | _        d | _        |                                  | 	                                 | 
                                 |                                  |                     dd          | _        d S )N_imagesr5   	use_indexhtml)r   configtags
build_infoimagedircurrent_docnametheme	templatesinit_templatesinit_highlighterinit_css_filesinit_js_filesget_builder_configr:   )r   s    r   initzSerializingHTMLBuilder.init8   s    #DK;;!!
00fEEr"   Ndocnametyp
str | Nonec                t    |dk    rdS |                     t          dz             r
|d d         S |t          z   S )Nindexr5   )endswithr   )r   rI   rJ   s      r   get_target_uriz%SerializingHTMLBuilder.get_target_uriD   sD    g2C'M** 	 3B3<}r"   contextdict[str, Any]filenamestr | os.PathLike[str]c                   |                                 }d|v rd |d         D             |d<   d|v rd |d         D             |d<   | j        rFt          |dd          5 } | j        j        ||g| j        R   d d d            d S # 1 swxY w Y   d S t          |d          5 } | j        j        ||g| j        R   d d d            d S # 1 swxY w Y   d S )	N	css_filesc                    g | ]	}|j         
S r   rS   ).0csss     r   
<listcomp>z7SerializingHTMLBuilder.dump_context.<locals>.<listcomp>N   s    #Q#Q#QSCL#Q#Q#Qr"   script_filesc                    g | ]	}|j         
S r   rX   )rY   jss     r   r[   z7SerializingHTMLBuilder.dump_context.<locals>.<listcomp>P   s    &U&U&Urr{&U&U&Ur"   wzutf-8)encodingwb)copyimplementation_dumps_unicodeopenr3   r    r4   )r   rQ   rS   ftfbs        r   dump_contextz#SerializingHTMLBuilder.dump_contextK   s   ,,..'!!#Q#QGK<P#Q#Q#QGK W$$&U&UW^=T&U&U&UGN#, 	Rhg666 R"(#("Qt7PQQQQR R R R R R R R R R R R R R R R R R h%% R(#("Qt7PQQQQR R R R R R R R R R R R R R R R R Rs$    BBB$CCC	page.htmlpagenamectxtemplatenameoutfilename	event_argr   c                   ||d<   |                     dd            |                     ||           |s/t          j        | j        t          |          | j        z             }| j                            d||||           t          |          D ]%}t          ||         t          j                  r||= &t          t          j        |                     |                     ||           |                    d          ryt          j        | j        dt          |d                             }t          t          j        |                     t#          | j                            |          |           d S d S )Ncurrent_page_namepathtoc                    | S r   r   )ps    r   <lambda>z4SerializingHTMLBuilder.handle_page.<locals>.<lambda>[   s    1 r"   zhtml-page-context
sourcename_sources)
setdefaultadd_sidebarsr   joinoutdirr   
out_suffixappemitlist
isinstancetypesFunctionTyper   dirnamerg   getr   envdoc2path)r   ri   rj   rk   rl   rm   keysource_names           r   handle_pagez"SerializingHTMLBuilder.handle_pageX   sw   #+ x---(C((( 	I)DK$+H$5$5$GI IK
 	)8\3	RRR 99 	 	C#c(E$677 H$,{++,,,#{+++ 77<   	?)DK$+C,=$>$>@ @Kdl;//000TX&&x00+>>>>>		? 	?r"   c                   t          j        | j        | j                  }|                     | j        |           t                                                       t          t          j        | j	        t                    t          j        | j        t                               t          t          j        | j        t                    d                                           d S )Nr_   )r   rx   ry   r7   rg   globalcontextsuperhandle_finishr   
doctreedirr   rd   LAST_BUILD_FILENAMEclose)r   rl   	__class__s     r   r   z$SerializingHTMLBuilder.handle_finishv   s    iT-HII$,k::: 	 	4?,?@@4;(;<<	> 	> 	>
 	TYt{$788#>>DDFFFFFr"   )r   r   r   )rI   r6   rJ   rK   r   r6   )rQ   rR   rS   rT   r   r   )rh   NN)ri   r6   rj   rR   rk   r6   rl   rK   rm   r   r   r   )r+   r,   r-   __doc____annotations__rc   r4   r7   supported_image_typesrH   rP   rg   r   r   __classcell__)r   s   @r   r2   r2   &   s          .---#( *,,,,, #%$$$$8 8 8
F 
F 
F 
F    R R R R S^EI? ? ? ? ?<G G G G G G G G G Gr"   r2   c                  d    e Zd ZU dZdZ ed          ZeZdZ	ej
        fZded<   eZdZdZdZd	Zd
S )PickleHTMLBuilderzD
    A Builder that dumps the generated HTML into pickle files.
    picklez3You can now process the pickle files in %(outdir)s.Fz
tuple[Any]r4   z.fpicklezglobalcontext.picklezsearchindex.pickleN)r+   r,   r-   r   name__epilogr   r3   rc   HIGHEST_PROTOCOLr4   r   indexer_formatindexer_dumps_unicoderz   r7   searchindex_filenamer   r"   r   r   r      sr           DREFFFN#( (.(?'AAAAAN!J3/r"   r   c                  H    e Zd ZdZdZ ed          ZeZdZ	eZ
dZdZdZdZdS )	JSONHTMLBuilderzB
    A builder that dumps the generated HTML into JSON files.
    jsonz1You can now process the JSON files in %(outdir)s.Tz.fjsonzglobalcontext.jsonzsearchindex.jsonN)r+   r,   r-   r   r   r   r   r   r3   rc   r   r   rz   r7   r   r   r"   r   r   r      sX          DRCDDFN#' N J1-r"   r   r{   r   r   rR   c                :   |                      d           |                     d           |                     t                     |                     t                     |                     t          t          j        t          d                     t          dddS )Nz5.0zsphinx.builders.htmllocalesT)versionparallel_read_safeparallel_write_safe)require_sphinxsetup_extensionadd_builderr   r   add_message_catalogr+   r   rx   package_dir__version__)r{   s    r   setupr      s    u.///OOO$$$OO%&&&HdiY&G&GHHH "#  r"   )r{   r   r   rR   ))
__future__r   osr   r   r   typingr   sphinx.applicationr   r   sphinx.builders.htmlr   r	   sphinx.localer
   sphinx.util.osutilr   r   r   r   sphinxcontrib.serializinghtmlr   collections.abcr   r   r   r   r   __version_info__abspathr   __file__r   r+   r   r   r2   r   r   r   r   r"   r   <module>r      s&   " " " " " " 				                     : : : : : : : : A A A A A A A A ) ) ) ) ) ) @ @ @ @ @ @ @ @ @ @ @ @ 2 2 2 2 2 2 J(((((($$$$$$$$J J J J JH J J J  dl<4<1122_Xy)) # _G _G _G _G _G2 _G _G _GD0 0 0 0 0. 0 0 0". . . . ., . . .      r"   