
    Ri                       d Z ddlmZ ddlZddlZddlZddl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mZ ddlmZ 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mZ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& ddl'm(Z( ddl)m*Z* ddl+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4 ddl5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z;m<Z< ddl=m>Z> ddl?m@Z@ ddlAmBZB ddlCmDZD ddlEmFZF ddlGmHZH ddlImJZJmKZK ddlLmMZMmNZN ddlOmPZP dd lQmRZR dd!lSmTZT dd"lUmVZVmWZWmXZX dd#lYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_ dd$l`maZa dd%lbmcZc er,dd&ldmeZemfZf dd'lmgZg dd(lhmiZi dd)ljmkZk dd*l)mlZl dd+lmmnZn dd,lompZp d-Zq eBj                  es      Zt ej                  d.      Zvd/dd0 fZwej                  j                  j                         j                         Z|ej                  j                  j                         j                         Z ead      j                         Zd@d1Z G d2 d3e"      ZdAd4ZdBd5ZdBd6Z	 	 	 	 	 	 	 	 	 	 	 	 dCd7ZdDd8ZdBd9ZdBd:ZdBd;ZdBd<ZdBd=ZdEd>ZdFd?Zy)GzSeveral HTML builders.    )annotationsN)Path)NoneType)TYPE_CHECKINGquote)nodes)__display_version__package_dir)version_info)bold)Builder)_CascadingStyleSheet_file_checksum_JavaScript)	BuildInfo)ENUM)Index
IndexEntry)ImageAdapter)IndexEntries)document_tocglobal_toctree_for_doc)ConfigError
ThemeError)PygmentsBridge)___)js_index)HTMLThemeFactory)logging)_StrPath)_format_rfc3339_microseconds)is_url)progress_messagestatus_iterator)_get_settingsnew_document)
copy_asset)format_date)InventoryFile)DOTFILESMatcherpatmatch)SEP_last_modified_time_relative_pathcopyfile	ensuredirrelative_uri)
HTMLWriter)HTML5Translator)IteratorSet)Any)Node)Sphinx)Config)BuildEnvironment)ExtensionMetadatazobjects.invz[
]+DOMAIN_INDEX_TYPEc                     t         t        t        t           t        t         t        t        t
           f      t        f   S N)tuplestrtyper   listr   bool     U/home/agent/.friday_env/lib/python3.12/site-packages/sphinx/builders/html/__init__.pyr?   r?   R   s7    KsD$$	%&
	 	rH   c                ,    | r| j                  dd      S y)zdConvert a locale string to a language tag (ex. en_US -> en-US).

    refs: BCP 47 (:rfc:`5646`)
    r   -N)replace)locales    rI   convert_locale_to_language_tagrN   b   s    
 ~~c3''rH   c                      e Zd ZU dZdZdZ ed      ZeZ	dZ
dZdZdZeZded<   dZdZg dZdZdZd	ZdZdZd
ZdZd
ZdZdZded<   g Zded<   dL fdZdMdZ dNdZ!dOdZ"dPdZ#dQdZ$dMdZ%dMdZ&dMdZ'dRdZ(dMdZ)dRdZ*e+dSd       Z,dPdZ-dTdZ.dUdZ/dVd Z0dWd!Z1dMd"Z2dXd#Z3dXd$Z4dMd%Z5 e6 ed&            dMd'       Z7dMd(Z8 e6 ed)            dMd*       Z9dMd+Z:dMd,Z;dMd-Z<dMd.Z=dMd/Z>dMd0Z?dMd1Z@dYd2ZAdMd3ZBdYd4ZCdMd5ZDdMd6ZEdMd7ZFdMd8ZGdMd9ZHdMd:ZIdZ fd;ZJdVd<ZKd[d=ZL	 d\	 	 	 	 	 	 	 d]d>ZMd^d?ZNd_d@ZOd`dAZPdadBZQdbdcdDZR	 dddCdCdE	 	 	 	 	 	 	 	 	 	 	 dedFZS	 	 	 	 	 	 	 	 	 	 dfdGZTdMdHZU e6 edI            dMdJ       ZVdMdKZW xZXS )gStandaloneHTMLBuilderzBuilds standalone HTML docs.htmlz!The HTML pages are in %(outdir)s.Tz.htmlr9   indexer_format)zimage/svg+xmlz	image/pngz	image/gifz
image/jpegzsearchindex.jsF rC   imgpathzlist[DOMAIN_INDEX_TYPE]domain_indicesc                   t         |   ||       t        | j                  dz        | _        t        | j                  dz        | _        t        | j                  dz        | _        t        | j                  dz        | _        g | _        g | _	        t        t        j                  j                  j                  t        j                  j                   j"                  t$        ddd      | _        y )	N_static_sources
_downloads_imagesunicodeT)output_encoding	traceback)defaults)super__init__r   outdir_static_dir_sources_dir_downloads_dir_images_dir
_css_files	_js_filesr'   docutilsreadersdoctreeReaderparsersrstParserr5   	_settings)selfappenv	__class__s      rI   r`   zStandaloneHTMLBuilder.__init__   s    c"  i 78 z!9:"4;;#=>i 78 79 -/ '$$++  '')2F	
rH   c                   | j                         | _        d| _        i | _        d| _        | j                          | j                          | j                          | j                          | j                  dd      }||| _
        | j                  dd      }||| _        n| j                  | _        | j                  dd      | _        y )NrZ   rS   file_suffixrQ   link_suffix	use_index)create_build_info
build_infoimagedir
secnumberscurrent_docnameinit_templatesinit_highlighterinit_css_filesinit_js_filesget_builder_config
out_suffixrv   rw   )rp   html_file_suffixhtml_link_suffixs      rI   initzStandaloneHTMLBuilder.init   s    002!68$&22=&I'.DO22=&I'/D#D00fErH   c                X    t        | j                  | j                  t        dh            S )NrQ   )r   configtags	frozensetrp   s    rI   rx   z'StandaloneHTMLBuilder.create_build_info   s     diiF81DEErH   c                   | j                   j                  D ]8  }t        || j                   j                  dd      }|j	                         s6|c S  t        j                  d| j                   j                  dd      }|j	                         r|S t        t        j                  ddd| j                   j                  d      }|j	                         r|S y )NLC_MESSAGESz	sphinx.jsrM   sharesphinx)	r   locale_dirsr   languageis_filer   joinpathsysprefix)rp   dir_js_files      rI   _get_translations_jsz*StandaloneHTMLBuilder._get_translations_js   s    KK++ 	D4!5!5}kRG 	
 &&dkk**M;
 ??NJJ8T[[5I5I;
 ??NrH   c              #  V  K   t        | j                  j                  t              r| j                  j                   y | j                  j                  | j                  j                  E d {    y | j                  r| j                  j
                  E d {    y d y 7 57 w)Nzdefault.css)
isinstancer   
html_stylerC   themestylesheetsr   s    rI   _get_style_filenamesz*StandaloneHTMLBuilder._get_style_filenames   sv     dkk,,c2++((([[##/{{----ZZzz----	 .-s$   A-B)/B%0*B)B'B)'B)c                Z    | j                   j                  | j                   j                  fS rA   )r   
html_themehtml_theme_optionsr   s    rI   get_theme_configz&StandaloneHTMLBuilder.get_theme_config   s!    {{%%t{{'E'EEErH   c                >   t        | j                  | j                  | j                  | j                        }| j                         \  }}|j                  |      | _        || _        | j                          | j                  j                  | | j                         y )N)confdirrq   r   registry)r    r   _appr   	_registryr   creater   theme_optionscreate_template_bridge	templatesr   )rp   theme_factory
theme_namer   s       rI   r}   z$StandaloneHTMLBuilder.init_templates   s{    (LL		;;^^	
 %)$9$9$;!
M"))*5
*##%D$**-rH   c                V   | j                   j                  | j                   j                  }n)| j                  r| j                  j                  xs d}nd}t	        d|      | _        | j                  r| j                  j                  }nd }|  |t	        d|      | _        y d | _        y )Nnoner   rQ   )r   pygments_styler   pygments_style_defaultr   highlighterpygments_style_darkdark_highlighter)rp   style
dark_styles      rI   r~   z&StandaloneHTMLBuilder.init_highlighter   s    ;;%%1KK..EZZJJ55?EE)&%8::77JJ!$26:$FD!$(D!rH   c                   g | _         | j                  dd       | j                  | j                  dddd       | j                         D ]  }| j                  |d        | j                  j
                  D ]  \  }} | j                  |fi |  | j                  dd	      D ]*  \  }}|j                  d
d        | j                  |fi | , y )Npygments.css   prioritypygments_dark.cssz(prefers-color-scheme: dark)pygments_dark_css)r   mediaid	css_filesrQ   r      )rf   add_css_filer   r   r   r   r   
setdefaultrp   filenameattrss      rI   r   z$StandaloneHTMLBuilder.init_css_files  s    .37  ,#4&	   113 	6Hh5	6  $~~77 	1OHeDh0%0	1  $66{FK 	1OHeZ-Dh0%0	1rH   c                    d|vrt        j                  d|      }t        |fi |x}| j                  vr| j                  j	                  |       y y N://rW   )	posixpathjoinr   rf   appendrp   r   kwargsassets       rI   r   z"StandaloneHTMLBuilder.add_css_file  sM      ~~i:H)(=f==EdooUOO""5) VrH   c                   g | _         | j                  dd       | j                  dd       | j                  dd       | j                  j                  D ]  \  }} | j                  |xs dfi |  | j	                  dd      D ].  \  }}|j                  d	d
        | j                  |xs dfi | 0 | j                         r| j                  d       y y )Nzdocumentation_options.jsr   r   zdoctools.jszsphinx_highlight.jsrS   js_filesrQ   r   r   translations.js)rg   add_js_filer   r   r   r   r   r   s      rI   r   z#StandaloneHTMLBuilder.init_js_files!  s    3cB5.=#~~66 	6OHeDX^5u5	6  $66z6J 	6OHeZ-DX^5u5	6 $$&./ 'rH   c                    |rd|vrt        j                  d|      }t        |fi |x}| j                  vr| j                  j	                  |       y y r   )r   r   r   rg   r   r   s       rI   r   z!StandaloneHTMLBuilder.add_js_file1  sO    X- ~~i:H 4V44ET^^KNN!!%( LrH   c                    | j                  dd      }||S t        | j                  j                        }t	        |      dk(  r|d   S t	        |      dk(  r|j                  d       |d   S y )Nmath_rendererrQ      r      mathjax)r   rE   r   html_inline_math_rendererslenremove)rp   name	rendererss      rI   math_renderer_namez(StandaloneHTMLBuilder.math_renderer_name8  st    &&?K T^^FFGI9~" |#Y1$  + |# rH   c              #  r  K   | j                   dz  }	 t        j                  |      }| j                  |k7  r|j	                  d      }	 t        j                  ||       | j                  j                  |       t        d      }t        j                  t        t        d            |z          | j                  j                  E d {    y | j"                  r{t%        | j"                  j'                         dz        }	 t)        |      }||kD  rFt        j                  t        d      t        d      z   | j"                  j+                                nd}| j                  j                  D ]  }|| j                  j.                  vrt        j1                  d	|       | 6| j3                  |      }		 t)        |	      }
	 t)        | j                  j5                  |            }t7        ||      }||
kD  r9t        j1                  d
|	t9        |
      t9        |      |t9        |             |  y # t        $ r Y w xY w7 z# t        $ r*}t        j!                  t        d      |       Y d }~d }~wt        $ r Y w xY w# t,        $ r Y ;w xY w# t        $ r d}
Y w xY w# t        $ r Y Fw xY ww)N
.buildinfoz.buildinfo.bakz9build_info mismatch, copying .buildinfo to .buildinfo.bakzbuilding [html]: z"Failed to read build info file: %ri@B zOtemplate %s has been changed since the previous build, all docs will be rebuiltr   z![build target] did not in env: %rz?[build target] target_name %r(%s), template(%s), docname %r(%s))ra   r   loadry   	with_nameshutilmovedumpr   loggerinfor   OSErrorrr   
found_docs
ValueErrorwarningr   intnewest_template_mtimer0   newest_template_name	Exceptionall_docsdebugget_output_pathdoc2pathmaxr#   )rp   build_info_pathry   build_info_backupmsgexctemplate_mtime	old_mtimedocnametarget_nametarget_mtime	doc_mtimesrcmtimes                rI   get_outdated_docsz'StandaloneHTMLBuilder.get_outdated_docsL  s}    ++4	"8J *,$3$=$=>N$O!
EKK1BCOO((9
 SC KKR(;%< = CD88....>> !E!E!G%!OPN/@	
 "I-KK017
 ;;= Nxx** 	Gdhh///@'J..w7K!2;?/0A0A'0JK	y.9l*LLY#4\B4^D4Y? "M-	?   /+  	JNN2BCSII 		4  .  ! !  s   J7I  J7	1H2 :AJ7I	7J7J B(J75JA.J'/J72	H?;J7>H??J7	JI3-J73J?J7JJ7	JJ7JJ7J$!J7#J$$J7'	J40J73J44J7c                \    | j                   j                  | j                   j                  z   S rA   )r   html_extra_pathhtml_static_pathr   s    rI   get_asset_pathsz%StandaloneHTMLBuilder.get_asset_paths  s!    {{**T[[-I-IIIrH   c                *   |ddiS t         j                  j                  d| j                        }|j	                  |       |j
                  j                  t               |j
                  j                  t               |j
                  j                  t               |j
                  j                          | j                  ||       }|j                  |       dj                  |j                        dj                  |j                        d}|S )z$Utility: Render a lone doctree node.fragmentrS   z<partial node>)r  title)rh   utilsr(   ro   r   transformeradd_transforms_READER_TRANSFORMS_PARSER_TRANSFORMS_WRITER_TRANSFORMSapply_transformscreate_translator	walkaboutr   r  r  )rp   nodedocvisitorpartss        rI   render_partialz$StandaloneHTMLBuilder.render_partial  s    <##nn))*:DNNK

4&&'9:&&'9:&&'9:((*#'#9#9#t#Dg 0 01WWW]]+
 rH   c                F   d | _         | j                  rddlm} | j                  j
                  xs | j                  j                  } || j                  || j                  j                  | j                  j                        | _         | j                  |       t        t        | j                  j                  d      | _        t        | j                  j                         | j                  _        g | _        | j                  j&                  x}rt)        |t              sd}t+        |      }nd}| j                  j,                  j/                         D ]p  }|j0                  D ]_  }|j2                   d|j2                   }|r||vr% ||      j5                         \  }	}
|	sA| j$                  j7                  |||	|
f       a r | j                  j8                  x}Et;        |xs t=        d      | j                  j                  | j                  j>                         }nd }| j                  j@                  xs d	}| j                  jB                  xs d	}tE        |      stF        jH                  jK                  |      }tE        |      stF        jH                  jK                  |      }| j                  jM                         | _'        g }| jP                  r'|j7                  d
t=        d      dt=        d      f       | j$                  D ]=  \  }}}}|jR                  s|j7                  ||jT                  d	|jR                  f       ? | jV                  jX                  D ]  \  }} | jZ                  |fi |  | jV                  j\                  D ]  \  }} | j^                  |xs d	fi |  ta        tb        je                  | jf                              | _4        ta        tb        je                  | jj                              | _6        ta        | jo                               }i d| jp                  d| j                  jr                  dtt        jw                  d	| j                  jx                        d| j                  jz                  d|d| j                  j|                  d| j                  j~                  d| j                  j~                  d| j                  j                  d| j                  j                  d| j                  j                  d| j                  j                  d| j                  j                  d| j                  j                  d| j                  j                  d| j                  j                  d| j                  j                  i d| j                  d | j                  d!| jj                  d"t        | j                  j                        d#| jf                  d$t        d%t        d&t        j                  d d' d(|d)|d*| j2                  d+g d,|d-t=        d.      | j                  jr                  z  d/|d0d| _P        | j                  r]| xj                  | j                  j                  | j                        j                         D ci c]  \  }}d1| | c}}z  c_P        | xj                  | j                  j                  z  c_P        | j                  rt        | j                         y y c c}}w )2Nr   )IndexBuilderT)r^   read_config_filesFrK   z	%b %d, %Y)r   
local_timerS   genindexzGeneral IndexIindexembeddedprojectreleaseversionlast_updated	copyright
master_docroot_docuse_opensearch	docstitle
shorttitleshow_copyrightshow_search_summaryshow_sphinx
has_sourceshow_sourcesourcelink_suffixru   rv   script_filesr   r   sphinx_versionsphinx_version_tupledocutils_version_info   stylesrellinksbuilderparentslogo_urllogo_altz
Logo of %sfavicon_urlhtml5_doctypetheme_)Yindexersearchsphinx.searchr  r   html_search_languager   rr   html_search_optionshtml_search_scorerload_indexerr'   r5   settingsdocsettingsrF   html_compact_listscompact_listsrU   html_domain_indicesr   r   domainssortedindicesr   generater   html_last_updated_fmtr*   r   html_last_updated_use_utc	html_logohtml_faviconr$   ospathbasenamecollect_relations	relationsrw   	shortname	localnamer   r   r   r   r   rE   dictfromkeysrf   _orig_css_filesrg   _orig_js_filesr   r  r  return_codes_resubr  r   r"  r$  html_use_opensearch
html_titlehtml_short_titlehtml_show_copyrighthtml_show_search_summaryhtml_show_sphinxhtml_copy_sourcehtml_show_sourcelinkhtml_sourcelink_suffixr   rv   rN   r
   r/  rh   __version_info__globalcontextr   get_optionsr   itemshtml_context
copysourcer3   rc   )rp   docnamesr  langindices_configcheck_namesdomain	index_cls
index_namecontentcollapselu_fmtr!  logofaviconr4  _content	_collapsecss_filenamer   js_filenamer3  keyvals                           rI   prepare_writingz%StandaloneHTMLBuilder.prepare_writing  s   ;;2;;33Kt{{7K7KD'//..	DL h'(!2!2d
 *.dkk.L.L)M& !![[<<<><nd3"!*>!:#((**113 !' I$*KK=)..1A!BJ"z'G (1&(9(B(B(D%GX++22&%#$	4 " kk777FD&(!K.--#{{DDDL  L {{$$*++**0bd|77##D)Dggg&&w/G33546>>OOZ?);S!G*MN:>:M:M 	6J	8Y""''''	! 	 $(>>#;#; 	5L%Dl4e4	5"&.."9"9 	9KD[.B8%8	9  $DMM$//$BC"4==#@Ad//12"
"
t{{**"
 **2t{{/B/BC"
 t{{**	"

 L"
 .."
 $++.."
 ,,"
 dkk=="
 //"
 $++66"
 dkk=="
 "4;;#G#G"
 4;;77"
 $++66"
  4;;;;!"
"  !C!C#"
$ 4??%"
& 4++'"
( DNN)"
* 6t{{7K7KL+"
, -"
. 1/"
0 #N1"
2 $X%>%>r%B3"
4 f5"
6 7"
8 tyy9"
: r;"
< ="
> ,$++*=*==?"
@ 7A"
B TC"
F :: $

 6 6t7I7I J P P R#C ##  	dkk666??d''( #s   6\
c                H   dx}}g }| j                   d   dd }| j                  j                  |      }| j                  j                  }	|rZ|d   rU	 | j                  ||d         | j                  |	|d            d   d}|j                  |d   |d   dt        d      f       |rZ|d   rU	 | j                  ||d         | j                  |	|d            d   d}|j                  |d   |d   d	t        d
      f       |r|d   rt        j                  t              5  |j                  | j                  ||d         | j                  |	|d            d   d       ddd       | j                  j                  |d         }|r|d   r|r|j                          |j                          | j                  j                  j                  |      }
|
r| j                  |
      d   nd}t        | j                  j!                  |d            t#        |      d }| j$                  j&                  r8||z   }|| j$                  j(                  k7  r|| j$                  j(                  z  }nd}| j                  j*                  j                  |      }t-        | j                  || j.                        }| j                  |      d   }||||||||||| j                  j0                  |   dkD  |dS # t        $ r d}Y [w xY w# t        $ r d}Y w xY w# 1 sw Y   xY w)z1Collect items for the template context of a page.Nr4  r   r  )linkr  Nnextr   Ppreviousr   rS   Fr  )r6  prevr  r  metabodymetatagsr4  
sourcenametocdisplay_tocpage_source_suffix)rg  rT  getrr   titlesget_relative_urir  r   r   KeyError
contextlibsuppresspopreverse
longtitlesrC   r   r   r   rc  re  metadatar   r   toc_num_entries)rp   r   r  r  r  r  r6  r4  relatedr  
title_noder  source_suffixr  r  self_tocr  s                    rI   get_doc_contextz%StandaloneHTMLBuilder.get_doc_context4  s%    t%%j1!4..$$W-wqz 11'71:F!00
1CDWM T']C6 KL wqz	 11'71:F!00
1CDWM T']C: OP
 '!*$$X.  11'71:F!00
1CDWM   nn((4G '!*  KKM XX((,,W5
<F##J/8B DHH--gu=>s7|~N ;;'' =0J B BBdkk@@@
J xx  $$W-  '499=!!(+J7   $ HH44W=A"/
 	
c     
 s3   AK3 .AL "A L3LLLLL!c                   | j                   j                  | j                         | j                   j                  | j                         | j                   j                  | j                         | j                   j                          y rA   )finish_tasksadd_taskcopy_download_filescopy_static_filescopy_extra_filesr   r   s    rI   copy_assetsz!StandaloneHTMLBuilder.copy_assets  sb    ""4#;#;<""4#9#9:""4#8#89 rH   c                   | j                   |_        | j                  j                  j	                  |i       | _        | j                  j                  j	                  |i       | _        t        | j                  |      d      | _
        t        | j                  |      d      | _        || _        | j                  ||       }|j                  |       dj                  |j                         }dj                  |j"                  dd        }| j%                  |||      }t'        |dd      |d<   | j)                  |||       y )	NrZ   rY   rS   r   _has_maths_elementsFhas_maths_elements)	event_arg)rD  rC  rr   toc_secnumbersr  r{   toc_fignumbers
fignumbersr4   get_target_urirT   dlpathr|   r  r  r   r  r  r  getattrhandle_page)rp   r   rj   r  r  
clean_metactxs          rI   	write_doczStandaloneHTMLBuilder.write_doc  s   ++((1155grB((1155grB#D$7$7$@)L"4#6#6w#?N&#'#9#9'4#H'"www''(WWW\\!"-.
""7D*=$+G5JE$R !#9rH   c                   t        | j                  |      | j                        | _        | j	                  |       | j
                  j                  j                  |      }|r|j                         nd}| j                  |||       y )NrS   )
r4   r  rz   rT   post_process_imagesrr   r  r  astext
index_page)rp   r   rj   r  r  s        rI   write_doc_serializedz*StandaloneHTMLBuilder.write_doc_serialized  si    #D$7$7$@$--P  )XX((,,W5
'1
!!#r%0rH   c                   | j                   j                  | j                         | j                   j                  | j                         | j                   j                  | j                         | j                   j                  | j
                         | j                   j                  | j                         | j                          y rA   )r  r  gen_indicesgen_pages_from_extensionsgen_additional_pagescopy_image_fileswrite_buildinfohandle_finishr   s    rI   finishzStandaloneHTMLBuilder.finish  s    ""4#3#34""4#A#AB""4#<#<=""4#8#89""4#7#78 	rH   zgenerating indicesc                \    | j                   r| j                          | j                          y rA   )rw   write_genindexwrite_domain_indicesr   s    rI   r  z!StandaloneHTMLBuilder.gen_indices  s%     >>! 	!!#rH   c                    | j                   j                  d      D ]   }|D ]  \  }}}| j                  |||        " y )Nhtml-collect-pages)eventsemitr  )rp   pagelistpagenamecontexttemplates        rI   r  z/StandaloneHTMLBuilder.gen_pages_from_extensions  sI    (()=> 	>H/7 >+'8  7H=>	>rH   zwriting additional pagesc                   | j                   j                  j                         D ]0  \  }}t        j	                  d|d       | j                  |i |       2 | j                  r*t        j	                  dd       | j                  di d       | j                   j                  rG| j                  r:t        j	                  dd       | j                  di d	| j                  d	z  
       y y y )N%s Tnonlzsearch r=  zsearch.htmlzopensearch 
opensearchzopensearch.xml)outfilename)	r   html_additional_pagesri  r   r   r  r=  r]  rb   )rp   r  r  s      rI   r  z*StandaloneHTMLBuilder.gen_additional_pages  s     #'++"C"C"I"I"K 	5HhKKxdK3Xr84	5
 ;;KK	K-Xr=9 ;;**t{{KKDK1  ,,/??	   0;*rH   c                   t        | j                        j                  |       }|D cg c]  \  }}t        d |D               }}}||| j                  j
                  d}t        j                  dd       | j                  j
                  r]| j                  d|d       | j                  d|d	       t        ||d
      D ]%  \  \  }}}||||d}| j                  d|z   |d       ' y | j                  d|d	       y c c}}w )Nc              3  F   K   | ]  \  }\  }}}d t        |      z     yw)r   N)r   ).0r   subitemss      rI   	<genexpr>z7StandaloneHTMLBuilder.write_genindex.<locals>.<genexpr>  s%     E&9a)9!XqCM!Es   !)genindexentriesgenindexcountssplit_indexz	genindex Tr  r  zgenindex-split.htmlzgenindex-allzgenindex.html)strict)r|  entriescountr  z	genindex-zgenindex-single.html)
r   rr   create_indexsumr   html_split_indexr   r   r  zip)	rp   r  _kr  indexcountsgenindexcontextr|  r  r  s	            rI   r  z$StandaloneHTMLBuilder.write_genindex  s     )66t<  (
G EWEE
 
  ();;77

 	Kd+;;''Z:OP^_oN),X{4)P Q%g&"'/	   s!2C9OPQ Z/J1
s   Dc                    | j                   D ]B  \  }}}}|j                  ||d}t        j                  d|d       | j	                  ||d       D y )N)
indextitlers  collapse_indexr  Tr  zdomainindex.html)rU   rV  r   r   r  )rp   rr  rq  rs  rt  index_contexts         rI   r  z*StandaloneHTMLBuilder.write_domain_indices  s_    8<8K8K 	L4J	7H'11""*M
 KKzK5Z8JK	LrH   c                   | j                   rt        | j                        j                  }t	        | j
                         t        | j                   t        d      dt        | j                         | j                  j                  |      D ]:  }| j                   |   }	 t        | j                  |z  | j
                  |z  d       < y y # t        $ r7}t        j                  t        d      | j                  |z  |       Y d }~zd }~ww xY w)Nzcopying images... brownstringify_funcTforcezcannot copy image file '%s': %s)imagesr   rr   get_original_image_urir3   re   r&   r   r   r   	verbosityr2   srcdirr   r   r   )rp   r  srcdesterrs        rI   r  z&StandaloneHTMLBuilder.copy_image_files  s    ;;)$((3JJNd&&'&'(DKK %%-  {{3'	c)((4/" $ ! NN<=t{{S?PRU s   (C	D-DDc                l    d	 fd} j                   j                  rt         j                         t	         j                   j                  t        d      dt         j                   j                         j                  j                  |      D ]\  }	  j                   j                   j                  |   d   z  }t        |j                         t         j                  |z  |d       ^ y y # t        $ r7}t        j                  t        d       j                  |z  |       Y d }~d }~ww xY w)
Nc                ^    t        t        |       j                        j                         S rA   )r1   r   r  as_posix)frp   s    rI   
to_relpathz=StandaloneHTMLBuilder.copy_download_files.<locals>.to_relpath  s!    !$q'4;;7@@BBrH   zcopying downloadable files... r  r  r   Tr  z$cannot copy downloadable file %r: %s)r  rC   returnrC   )rr   dlfilesr3   rd   r&   r   r   r   r  parentr2   r  r   r   r   )rp   r  r  r  r  s   `    rI   r  z)StandaloneHTMLBuilder.copy_download_files  s    	C 88d))*&  34DHH$$%%%) 	..1A1A#1Fq1IIDdkk*T[[3.DA   NNABc) s   AC33	D3<-D..D3c                   | j                   dz  }t        |dd      5 }|j                  | j                  j	                                ddd       | j
                  rP| j                   dz  }t        |dd      5 }|j                  | j
                  j	                                ddd       yy# 1 sw Y   fxY w# 1 sw Y   yxY w)z!Create a style file for pygments.r   wutf-8encodingNr   )rb   openwriter   get_stylesheetr   )rp   pyg_pathr  	dark_paths       rI   create_pygments_style_filez0StandaloneHTMLBuilder.create_pygments_style_file,  s    ##n4(C'2 	7aGGD$$3356	7   ((+>>Iiw7 @1--<<>?@ @ !	7 	7
@ @s   *B-9*B9-B69Cc                `    | j                         x}rt        || j                  dz  d       yy)z(Copy a JavaScript file for translations.r   Tr  N)r   r2   rb   )rp   r   s     rI   copy_translation_jsz)StandaloneHTMLBuilder.copy_translation_js7  s8    //1171  #44 2rH   c                Z   | j                   t        | j                   d      rP| j                   j                         D ]2  }t        |      }t	        || j
                  |j                  z  d       4 y| j                   j                         x}rt	        || j
                  dz  d       yyy)z#Copy a JavaScript file for stemmer.Nget_js_stemmer_rawcodesTr  z_stemmer.js)r<  hasattrr
  r   r2   rb   r   get_js_stemmer_rawcode)rp   jsfilejs_pathjs_stemmer_rawcodes       rI   copy_stemmer_jsz%StandaloneHTMLBuilder.copy_stemmer_js@  s    <<#t||%>?"llBBD F"6lG((7<<7" *.)L)L)NN%N*((=8" O $rH   c           
         dd}| j                   r]t        | j                   j                               D ]6  }t        t	        |d      | j
                  t        || j                  |d       8 y y )Nc                H    t        d      }t        j                  || |       y )Nz?Failed to copy a file in the theme's 'static' directory: %s: %r)r   r   r   )r   errorr   s      rI   onerrorz>StandaloneHTMLBuilder.copy_theme_static_files.<locals>.onerrorT  s    VWCNN3%0rH   staticTexcludedr  rendererr  r  r   rC   r  r   r  None)r   reversedget_theme_dirsr)   r   rb   r,   r   )rp   r  r  entrys       rI   copy_theme_static_filesz-StandaloneHTMLBuilder.copy_theme_static_filesS  sd    	1 ::!$**";";"=> 	)$$%#!^^#	 rH   c                    | j                   j                  D ]V  }|j                         r#t        j                  || j
                  d       6t        d      }t        j                  ||       X y)z+Copy static files registered by extensions.T)dirs_exist_okz.extension static directory '%s' does not existN)	r   static_dirsis_dirr   copytreerb   r   r   r   )rp   
static_dirr   s      rI   copy_static_dirsz&StandaloneHTMLBuilder.copy_static_dirsd  sV    ..44 	0J  "
D,<,<DQIJsJ/	0rH   c           
         dd}t        g | j                  j                  d      }| j                  j                  D ]5  }t	        | j
                  |z  | j                  ||| j                  |d       7 y )Nc                D    t         j                  t        d      | |       y )Nz1Failed to copy a file in html_static_file: %s: %r)r   r   r   )r   r  s     rI   r  z=StandaloneHTMLBuilder.copy_html_static_files.<locals>.onerrorn  s    NNFGSXrH   z**/.*Tr  r  )r-   r   exclude_patternsr  r)   r   rb   r   )rp   r  r  r  r  s        rI   copy_html_static_filesz,StandaloneHTMLBuilder.copy_html_static_filesm  sq    	
 CT[[99C7CD[[11 		Eu$  !		rH   c                   | j                   j                  rit        | j                   j                        sI| j                  | j                   j                  z  }t	        || j
                  |j                  z  d       y y y NTr  )r   rN  r$   r   r2   rb   r   rp   source_paths     rI   copy_html_logoz$StandaloneHTMLBuilder.copy_html_logo  sc    ;;  0E0E)F,,)>)>>K  ;#3#33 *G rH   c                   | j                   j                  rit        | j                   j                        sI| j                  | j                   j                  z  }t	        || j
                  |j                  z  d       y y y r+  )r   rO  r$   r   r2   rb   r   r,  s     rI   copy_html_faviconz'StandaloneHTMLBuilder.copy_html_favicon  sc    ;;##F4;;3K3K,L,,)A)AAK  ;#3#33 -M#rH   c                   	 t        t        d      d      5  | j                  j                  dd       | j                  j                         }| j                  )|j                  | j                  j                                | j                          | j                          | j                          | j                  |       | j                          | j                  |       | j                          | j!                          d d d        y # 1 sw Y   y xY w# t"        $ r)}t$        j'                  t        d      |       Y d }~y d }~ww xY w)Nzcopying static filesFr  Tr6  exist_okzcannot copy static file %r)r%   r   rb   mkdirrg  copyr<  updatecontext_for_searchtoolr  r  r  r  r%  r)  r.  r0  r   r   r   )rp   r  r  s      rI   r  z'StandaloneHTMLBuilder.copy_static_files  s   	B!"%;"<5I )  &&td&C ,,113<<+NN4<<#F#F#HI//1((*$$&,,W5%%'++G4##%&&(!) ) )"  	BNN2:;SAA	Bs5   D C/DD DD D 	E%E		Ec                   	 t        t        d      d      5  t        | j                  j                        }| j                  j
                  D ](  }t        | j                  |z  | j                  |d       * 	 ddd       y# 1 sw Y   yxY w# t        $ r)}t        j                  t        d      |       Y d}~yd}~ww xY w)zCopy html_extra_path files.zcopying extra filesFr  T)r  r  Nzcannot copy extra file %r)r%   r   r-   r   r(  r  r)   r   ra   r   r   r   )rp   r  
extra_pathr  s       rI   r  z&StandaloneHTMLBuilder.copy_extra_files  s    	A!"%:";%H "4;;#?#?@"&++"="= Jz1!)"	    	ANN29:C@@	As5   B A!B:B BB B 	CB<<Cc                    	 | j                   j                  | j                  dz         y # t        $ r)}t        j                  t        d      |       Y d }~y d }~ww xY w)Nr   z#Failed to write build info file: %r)ry   r   ra   r   r   r   r   )rp   r   s     rI   r  z%StandaloneHTMLBuilder.write_buildinfo  sL    	KOO  |!;< 	KNN2CDcJJ	Ks   (+ 	AAAc                R    | j                   r| j                   j                          y y rA   )r   _cleanupr   s    rI   cleanupzStandaloneHTMLBuilder.cleanup  s    ::JJ! rH   c                @   t         |   |       | j                  j                  r| j                  r|j	                  t
        j                        D ]  t        fddD              st        j                  t
        j                        r=dd   v rEd   }t        j                  ddd      }|| j                  v r1t        j                  | j                  | j                  |         |d	<   n||d	<   j                  |       |j!                          y
y
y
)zsPick the best candidate for an image and link down-scaled images to
        their high resolution version.
        c              3  &   K   | ]  }|v  
 y wrA   rG   )r  r|  r  s     rI   r  z<StandaloneHTMLBuilder.post_process_images.<locals>.<genexpr>  s     QSC4KQ   )scalewidthheightzno-scaled-linkclassesurirS   T)internalrefuriN)r_   r  r   html_scaled_image_linkfindallr	   imageanyr   r  	referencer  r   r   rT   replace_selfr   )rp   rj   rE  rL  r  rs   s       @rI   r  z)StandaloneHTMLBuilder.post_process_images  s     	#G,;;--$2M2M4 'Q4PQQ dkk5??;#tI65k!OOBTB	$++%*3..t{{SVGW*XIh'*-Ih'!!),  &'' 3N-rH   c                   | j                   J t        | j                  j                        j	                  |      }	 | j
                  | j                  z  }| j                  r=t        |d      5 }| j                   j                  || j                         d d d        n;t        |d      5 }| j                   j                  || j                         d d d        | j                   j!                  |       y # 1 sw Y   %xY w# 1 sw Y   1xY w# t        t        f$ r# |rt        j                  t        d             Y ew xY w)Nr  r  rbzcsearch index couldn't be loaded, but not all documents will be built: the index will be incomplete.)r<  setrr   r   
differencera   searchindex_filenameindexer_dumps_unicoder  r   rR   r   r   r   r   r   prune)rp   rl  keepsearch_index_pathftfbs         rI   rB  z"StandaloneHTMLBuilder.load_indexer  s   ||'''488$$%00:	 $d.G.G G))+g> ?"LL%%b$*=*=>? ? +T2 ?bLL%%b$*=*=>? 	4 ? ?? ?$ 	&	sA   2D 0'C7D ,'DD 7D <D DD /E Ec                F   | j                   |r| j                  j                  |d      }| j                  j                  j	                  |i       }d|v sd|v r(| j                   j                  ||dt        d             y | j                   j                  ||||       y y y )NF)basez	no-searchnosearchrS   )r<  rr   r   r  r  feedr(   )rp   r  rj   r  r   r  s         rI   r  z StandaloneHTMLBuilder.index_page  s    <<#xx(((>Hxx((,,Xr:Hh&**@!!(Hb,r:JK!!(HeWE ).#rH   c                    d|vrd|d<   |j                  d      dk(  r|j                  d       t        | j                  || f| j                  |d|}| j                  |      d   S )NincludehiddenFmaxdepthrS   )r   rt  r  )r  r  r   rr   r   r  )rp   r   rt  r   toctrees        rI   _get_local_toctreez(StandaloneHTMLBuilder._get_local_toctree  sv     &(&+F?#::j!R'JJz"(HHgt
*.))h
JP
 ""7+J77rH   c               H    t        | j                  || j                  z         S rA   )r   ra   r   )rp   	page_names     rI   r   z%StandaloneHTMLBuilder.get_output_path
  s    DKKT__!<==rH   c                6    t        | j                  |            S rA   )r"   r   )rp   r  s     rI   get_outfilenamez%StandaloneHTMLBuilder.get_outfilename  s    ,,X677rH   c               6   d }| j                   j                  }| j                  dd      }t        d      }|j	                         D ]P  \  }}t        ||      s|r/t        |      r$t        |      rt        j                  ||||       D|}t        |      }R |S )NsidebarsrQ   z8page %s matches two patterns in html_sidebars: %r and %r)
r   sidebar_templatesr   r   ri  r.   _has_wildcardr   r   rB   )rp   r  matchedrg  html_sidebarsr   patternpat_sidebarss           rI   _get_sidebarsz#StandaloneHTMLBuilder._get_sidebars  s     ::// //
FCKL%2%8%8%: 
	/!G\'*}W5$W-sHgwG ! .
	/ rH   c                >    t        | j                  |            |d<   y )Nrg  )rE   rn  )rp   r  r  s      rI   add_sidebarsz"StandaloneHTMLBuilder.add_sidebars&  s    t11(;<JrH   Nc                2    t        |      | j                  z   S rA   )r   rv   )rp   r   typs      rI   r  z$StandaloneHTMLBuilder.get_target_uri+  s    W~ 0 000rH   )r  r  c               V     j                   j                         }x|d<   |d<    j                  j                  |d<    j	                        }|j                  dd      d   } j                  j                  r=t        j                   j                  j                   j	                              |d<   nd |d<   d|f	 	 	 	 	 	 	 d( fd	|d
<   d) fd}||d<    fd|d<   t         j                              |d<   |j                  |       dt         |j                  t              z  xs	 dt         |d<    j                  d* fd}	|	|d<   d+ fd}
|
|d<    j                   j                   d d   j"                   j$                  d d   j'                  |||        j(                  j+                  d|||      x}r|}|d   }|d   }t-        j.                  t0              5  t3        |d       |d<   d d d        t-        j.                  t0              5  t3        |d       |d<   d d d        	  j4                  j7                  ||      }|rtQ        |      }n jS                        }tU        |jV                         	 |jY                  ||d   d!"        j\                  rk|j_                  d$      rY|d$   } j`                  |z  }|jV                  jc                  d%d%&       te         jf                  ji                        |d%'       y y y # 1 sw Y   xY w# 1 sw Y   xY w# t8        $ r" t:        j=                  t?        d             Y y t@        $ r}tC        |tD        jF                  jH                        r=|jJ                  dk(  r.t?        d      }tM        | j                  jN                  z        d t?        d       |fz  }tM        |      |d }~ww xY w# tZ        $ r+}t:        j=                  t?        d#      ||       Y d }~wd }~ww xY w),Nr  current_page_namer   #r   r   pageurlFc                    |rd| v r| S |sj                  |       } t        ||       xs d}|dk(  rj                  s|}|S )Nr   ru  )r  r4   allow_sharp_as_current_path)otheruriresourcebaseurirE  rp   s       rI   pathtoz1StandaloneHTMLBuilder.handle_page.<locals>.pathtoG  sQ    
 EX-..x8w18SCcz$"B"BJrH   r|  c                    | j                   j                  v ry| dk(  rj                  ry| dk(  xr j                  dd      S )NTr=  r  rw   rQ   )rr   r   r=  r   )r   rp   s    rI   hasdocz1StandaloneHTMLBuilder.handle_page.<locals>.hasdocX  sF    txx(((xDKK:%V$*A*A+v*VVrH   r~  c                 *     j                   fi | S rA   )ra  )r   r  rp   s    rI   <lambda>z3StandaloneHTMLBuilder.handle_page.<locals>.<lambda>a  s    *A$*A*A(*Uf*U rH   r`  rg  z...content_rootc           
        | j                   j                         D cg c]$  \  }}|| dt        j                  |d       d& }}} t	        j
                  | j                        d      }j                  dvr t        | j                        x}r|d| z  }dd	j                  t        |             d
| dS c c}}w )N="Tr   "rz  >   epubhtmlhelp?v=z<link  z href="z" />)
attributesri  rQ   escaperP  fspathr   r   r   r   rI  )	cssr|  valuer   rE  checksumra   r|  rp   s	         rI   css_tagz2StandaloneHTMLBuilder.handle_page.<locals>.css_tagj  s     #&.."6"6"8C$ %r$++e489;E 
 3<<04@C yy 44-fcllCC8CS
++CCHHVE]34GC5EEs   )Cr  c           
        t        | t              sd 	| d       dS | j                  j                  dd      }| j                  j	                         D cg c])  \  }}|dk7  r|| dt        j                  |d       d	+ }}}| j                  s)|r!d
dj                  t        |             d| dS d| dS t        j                  | j                        } 	|d      }d|v rn/
j                  dk7  r t        | j                        x}r|d| z  }|r!d
dj                  t        |             d| dS d| dS c c}}w )Nz<script src="Tr  z"></script>r  rS   r  r   r  z<script r  >z	</script>z<script>zMathJax.js?r  r  z src=")r   r   r  r  ri  rQ   r  r   r   rI  rP  r  r   r   )jsr  r|  r  r   js_filename_strrE  r  ra   r|  rp   s           rI   js_tagz1StandaloneHTMLBuilder.handle_page.<locals>.js_tag{  se   b+.&vb4'@&AMM==$$VR0D #%--"5"5"7C&=U%6 %r$++e489;E  ;;%chhve}&=%>avYOO!$y11 ii4O48C/
 f$-fbkkBB8BS
++C!#((6%="9!:&[QQ"3%{333s   .Er  html-page-contextr.  r   c                    | j                   S rA   r   )r  s    rI   r  z3StandaloneHTMLBuilder.handle_page.<locals>.<lambda>  s
    bkk rH   )r|  c                    | j                   S rA   r   )r  s    rI   r  z3StandaloneHTMLBuilder.handle_page.<locals>.<lambda>  s
     rH   za Unicode error occurred when rendering the page %s. Please make sure all config values that contain non-ASCII content are Unicode strings.z'style' is undefinedaD  The '%s' theme does not support this version of Sphinx, because it uses the 'style' field in HTML templates, which was  was deprecated in Sphinx 5.1 and removed in Sphinx 7.0. The theme must be updated to use the 'styles' field instead. See https://www.sphinx-doc.org/en/master/development/html_themes/templating.html#stylesz6An error happened in rendering the page %s.
Reason: %rxmlcharrefreplace)r   errorszerror writing file %s: %sr  Tr2  r  )ry  rC   rz  rF   r{  rC   r  rC   )r   rC   r  rF   )r  r   r  rC   )r  z_JavaScript | strr  rC   )5rg  r5  r   html_output_encodingr  rsplithtml_baseurlr   r   rE   rn  r6  r/   r  ra   rY  rf   rZ  rg   update_page_contextr  emit_firstresultr  r  AttributeErrorrI  r   renderUnicodeErrorr   r   r   r   r   jinja2
exceptionsUndefinedErrormessager   r   r   r   r3   r  
write_textr   rk  r  rc   r4  r2   rr   r   )rp   r  addctxtemplatenamer  r  r  default_baseurir~  r  r  new_templater.  r   outputr   r   output_pathr  r  source_file_pathra   r|  s   ``                   @@rI   r  z!StandaloneHTMLBuilder.handle_page.  s8      %%'5==J#12++::J--h7 *00a8;;;##&^^(($*=*=h*GC	N "C	N #*			 	 		 H	W HUIt11(;<J

6 "$C5zO,A,A#,FFTQse9N	F !I	4B H "11 //q  <iH;;77<i
 
< 
 (L +.n*=03K0@	   0 	S #);Q"RC	S
   0 	O%i5MNC	O	+^^**<=F> {+K..x8K+$$%	N""Z9L # 
 ??sww|4!,/J#00:=##))$)FTXX&&x02B$O  5?i	S 	S
	O 	O
  		NN=
   	+3 1 1 @ @AKK#99n !t{{'='=!=>DHNOS C S/s*%	+<  	NNN29:KMM	NsO   6L$)L1L= O4 $L.1L:=(O1'O1/A=O,,O14	P(= P##P(c                     y rA   rG   )rp   r  r  r  r  s        rI   r  z)StandaloneHTMLBuilder.update_page_context  s     	rH   c                    | j                   j                  | j                         | j                   j                  | j                         y rA   )r  r  dump_search_indexdump_inventoryr   s    rI   r  z#StandaloneHTMLBuilder.handle_finish  s6    ""4#9#9:""4#6#67rH   zdumping object inventoryc                h    t        j                  | j                  t        z  | j                  |        y rA   )r+   r   ra   INVENTORY_FILENAMErr   r   s    rI   r  z$StandaloneHTMLBuilder.dump_inventory  s"    4;;);;TXXtLrH   c                   | j                   y t        t        d      | j                   j                         z        5  | j                   j	                  | j
                  j                         | j                  | j                  z  }| j                  | j                   dz  }| j                  r>t        |dd      5 }| j                   j                  || j                         d d d        n;t        |d      5 }| j                   j                  || j                         d d d        t        |      j                  |       d d d        y # 1 sw Y   ,xY w# 1 sw Y   8xY w# 1 sw Y   y xY w)Nzdumping search index in %sz.tmpr  r  r  wb)r<  r%   r   labelrT  rr   r   ra   rR  rS  r  r   rR   r   rL   )rp   rV  search_index_tmprW  rX  s        rI   r  z'StandaloneHTMLBuilder.dump_search_index  s8   <<b!=>ASASAUUV 	>LLtxx001 $d.G.G G#{{0I0I/J$-OO ))*C'B ?bLL%%b$*=*=>? ? *D1 ?RLL%%b$*=*=>?!"**+<=	> 	>? ?? ?	> 	>s<   A?E"<'E
#E"8'E"E"
E	E"E	E""E+)rq   r;   rr   r=   r  r  )r  r  )r  r   )r  Path | None)r  zIterator[str])r  z'tuple[str, dict[str, str | int | bool]])r   rC   r   r9   r  r  )r  
str | None)r  z	list[str])r  zNode | Noner  zdict[str, str])rl  zSet[str]r  r  )r   rC   r  rC   r  rC   r  dict[str, Any])r   rC   rj   nodes.documentr  r  )r  r  r  r  )rj   r:   r  r  )r  rC   rj   r  r  rC   r  r  )T)r   rC   rt  rF   r   r9   r  rC   )rc  rC   r  r   )r  rC   r  r"   )r  rC   r  ztuple[str, ...])r  rC   r  r  r  r  rA   )r   rC   rr  r  r  rC   )z	page.html)r  rC   r  r  r  rC   r  r  r  r9   r  r  )
r  rC   r  rC   r  r  r  r9   r  r  )Y__name__
__module____qualname____doc__r   formatr   epilogr6   default_translator_classrk  allow_parallelr   rv   r   rR   __annotations__rS  rH  supported_image_typessupported_remote_imagessupported_data_uri_imagesrR  add_permalinksrx  r  r=  rw   download_supportrT   rU   r`   r   rx   r   r   r   r}   r~   r   r   r   r   propertyr   r   r  r  r~  r  r  r  r  r  r%   r  r  r  r  r  r  r  r  r  r  r  r%  r)  r.  r0  r  r  r  r=  r  rB  r  ra  r   re  rn  rp  r  r  r  r  r  r  __classcell__)rs   s   @rI   rP   rP   m   s   &DF34F.JNJK"NC" !U" $+N"&HFIGS.0N+0
.F4F( F.).1,*0 )  &HTJ$G)RN
`!:"1 b-./$ 0$> b345 6*K<L04	@&"0$B,AK"
'8!.F .2
8
8&*
8=@
8	
8>8,=
1 (	{P $({P{P {P 	{P !{P {P 
{Pz+.5CPS	
8 b345M 6M>rH   rP   c               ,     t         fddD              S )Nc              3  &   K   | ]  }|v  
 y wrA   rG   )r  charrl  s     rI   r  z _has_wildcard.<locals>.<genexpr>  s     14tw1r@  z*?[)rK  )rl  s   `rI   ri  ri    s    15111rH   c                   g }|j                   D ]?  }t        |t              r|j                  |i f       '	 |\  }}|j                  ||f       A ||_         y# t        $ r" t
        j                  t        d      |       Y tw xY w)z9Convert string styled html_css_files to tuple styled one.zinvalid css_file: %r, ignoredN)html_css_filesr   rC   r   r   r   r   r   )rq   r   r  r  r   r   s         rI   convert_html_css_filesr    s    79N&& 	eS!!!5"+."'%%%x&78	 +F	  r"ABEJ   A(BBc                   g }|j                   D ]?  }t        |t              r|j                  |i f       '	 |\  }}|j                  ||f       A ||_         y# t        $ r" t
        j                  t        d      |       Y tw xY w)z8Convert string styled html_js_files to tuple styled one.zinvalid js_file: %r, ignoredN)html_js_filesr   rC   r   r   r   r   r   )rq   r   r  r  r   r   s         rI   convert_html_js_filesr     s    68M%% 	eS!  %-"'%$$h%67	 )F	  r"@A5Ir  c                    |d   }|j                  d      }|rt        |      s |d|z   d      |d<   |j                  d      }|rt        |      s |d|z   d      |d<   yyy)zSet up relative resource paths.r|  r9  z_static/Tr  r7  N)r  r$   )rq   r  r  r  rj   r|  r9  r7  s           rI   setup_resource_pathsr  1  su     XF ++m,K6+.!'
[(@4!P {{:&Hx($Z(%:TJ
 )xrH   c                    | j                   j                  dk7  ry | j                   j                  }|t        d      }t	        |      || j
                  j                  vrt	        t        d      |z        y )NrQ   zEMany math_renderers are registered. But no math_renderer is selected.z"Unknown math_renderer %r is given.)r5  r  r   r   r   r   r   )rq   r   r   s      rI   validate_math_rendererr  F  sr    
{{V#;;))D|S
 #3<<:::"ABTIJJ ;rH   c                   g }|j                   D ]  }| j                  |z  j                         }|j                         rp| j                  j
                  |j
                  k(  r;|j                  | j                        r t        j                  t        d      |       |j                  |       t        j                  t        d      |        ||_         y)zCheck html_extra_paths setting.z0html_extra_path entry %r is placed inside outdirz'html_extra_path entry %r does not existN)r  r   resolveexistsra   driveis_relative_tor   r   r   r   )rq   r   r  r  r9  s        rI   validate_html_extra_pathr  T  s    O'' QkkE)224


  J$4$44--cjj9IJE  &&u-NN2GH%PQ -FrH   c                   g }|j                   D ]  }| j                  |z  j                         }|j                         rp| j                  j
                  |j
                  k(  r;|j                  | j                        r t        j                  t        d      |       |j                  |       t        j                  t        d      |        ||_         y)z Check html_static_paths setting.z1html_static_path entry %r is placed inside outdirz(html_static_path entry %r does not existN)r  r   r  r  ra   r  r  r   r   r   r   )rq   r   r  r  static_paths        rI   validate_html_static_pathr  h  s    (( R{{U*335

  K$5$55..szz:JKU !''.NN2HI5QR /FrH   c                    |j                   ro| j                  |j                   z  j                         sGt        |j                         s1t        j                  t        d      |j                          d|_         yyyy)zCheck html_logo setting.zlogo file %r does not existN)rN  r   r   r$   r   r   r   rq   r   s     rI   validate_html_logor  |  sg     	v///88:v''(r78&:J:JK ) ; 	rH   c                    |j                   ro| j                  |j                   z  j                         sGt        |j                         s1t        j                  t        d      |j                          d|_         yyyy)zCheck html_favicon setting.zfavicon file %r does not existN)rO  r   r   r$   r   r   r   r  s     rI   validate_html_faviconr    sg     	v222;;=v**+r:;V=P=PQ" , > 	rH   c                   i }|j                   j                         D ]  \  }}t        |t              s|g||<    |syt	        d      }dj                  t        t        |            }|j                   |z  }t        |||fz        )zSupport removed in Sphinx 2.NzValues in 'html_sidebars' must be a list of strings. At least one pattern has a string value: %s. Change to `html_sidebars = %r`.z, )	rk  ri  r   rC   r   r   mapreprr   )rq   r   r  rl  rm  r   bad_patternsfixeds           rI   $error_on_html_sidebars_string_valuesr    s    F!'!5!5!;!;!= -lC(+nF7O- 
	*C
 99Sv./L  6)E
c\511
22rH   c                H    |j                   rt        d      }t        |      y)zError on HTML 4.z`HTML 4 is no longer supported by Sphinx. ("html4_writer=True" detected in configuration options)N)html4_writerr   r   )r   r   r   s      rI   error_on_html_4r    s-    F
 # rH   c                \   | j                  t               | j                  dddt        t        h             | j                  dg dt        t
        t        h             | j                  di dt        t        h             | j                  dd dt        t        h             | j                  d	d
 dt        t        h             | j                  dd dt        t
        t        t        h             | j                  dd dt        t        h             | j                  dd dt        t        h             | j                  dg dt        t
        t        h             | j                  dg dt        t
        t        h             | j                  dg dt        t
        t        h             | j                  dg dt        t
        t        h             | j                  dd dt        t        h             | j                  dddt        t        h             | j                  di dt        t        h             | j                  di dt        t        h             | j                  dddt        t        t
        t        t        h             | j                  dddt        t        h             | j                  dddt        t        h             | j                  dddt        t        h             | j                  dddt        t        h             | j                  dddt        t        h             | j                  dddt        t        h             | j                  d d!dt        t        h             | j                  d"d#dt        t        h             | j                  d$d dt        t        h             | j                  d%d dt        t        h             | j                  d&ddt        t        h             | j                  d'ddt        t        h             | j                  d(ddt        t        h             | j                  d)i dt        t        h             | j                  d*d+dt        t        h             | j                  d,ddt        t        h             | j                  d-d.dt        t        h             | j                  d/d dt        t        h             | j                  d0i dt        t        h             | j                  d1d#d#t        t        h             | j                  d2ddt        t        h             | j                  d3d#dt        t        h             | j                  d4d5dt        d6d5             | j                  d7d d8t        t        t        h             | j                  d9ddt        t        h             | j                  d:       | j                  d;       | j                  d<t        d=>       | j                  d<t        d=>       | j                  d<t         d=>       | j                  d<t"        d=>       | j                  d<t$        d=>       | j                  d<t&        d=>       | j                  d<t(        d=>       | j                  d<t*        d=>       | j                  d?t,               | j                  d;t.               | j1                  d@       dAdddBS )CNr   	alabasterrQ   )typeshtml_theme_pathr   r^  c                J    t        d      | j                  | j                  fz  S )Nz%s %s documentation)r   r  r  )cs    rI   r  zsetup.<locals>.<lambda>  s    !)*aii-CC rH   r_  c                    | j                   S rA   )r^  r   s    rI   r  zsetup.<locals>.<lambda>  s
     rH   r   rN  rO  r  r  r  r  rL  rM  Frk  r  rG  Thtml_permalinkshtml_permalinks_icon   ¶html_use_indexr  rc  rd  re  z.txtr]  rS   r   r   r`  ra  rb  rj  r  r  rE  html_secnumber_suffixz. r?  r@  rA  rH  r  html_codeblock_linenos_styleinlinetablehtml_math_rendererrr   r  r  r  zconfig-initedr   r   zbuilder-initedzsphinx.ext.mathjaxbuiltin)r   parallel_read_safeparallel_write_safe)add_builderrP   add_config_valuer   rC   rE   rB   rW  rF   rP  r   r   	add_eventconnectr  r  r  r  r  r  r  r  r  r  setup_extension)rq   s    rI   setupr    s   OO)* {F)SEBRS*Biu>VW-r6D6ARSC	   8&	SVRWHX   dF)T34F*G   dF)SE:JKvYu=MN)2vYe}=UV"fItUm<TU+Ry$PU?WX*Biu>VW0$iQTPUFVW#UF)TF:K   "fItf<MN0"fItfDUVD#u56	   *D&	4&@QR/vYPSuEUV)4y$?PQ+UF)TFBST+T6D6ARS/vYPTvEVW &&	3%8H   .F)SEBRS+T6C5AQR+T6C5AQR.fItfDUV"D&	4&8I   +T6D6ARSV9dV;LMy#7G   -tV9dVCTU0$iQTPUFVW/vYPSuEUV.F)TFBST-r2Yu=MN $i6G   V9cU;KL &&Wh@W   dEC?1K   i>OP MM&'MM%& KK!7#KFKK!6KEKK!9CKHKK!:SKIKK!3cKBKK!6KEKK!EPSKTKK3K?KK "89KK#%9: ,- "# rH   )rM   r  r  r  )rl  rC   r  rF   )rq   r;   r   r<   r  r  )rq   r;   r  rC   r  rC   r  r  rj   r:   r  r  )rq   r;   r  r  )r   r;   r   r<   r  r  )rq   r;   r  r>   )r  
__future__r   r  rQ   rP  os.pathr   rer   r   pathlibr   r  r   typingr   urllib.parser   docutils.parsers.rstrh   docutils.readers.doctreedocutils.utilsjinja2.exceptionsr  r	   r   r
   r   r   r/  sphinx._cli.util.colourr   sphinx.buildersr   sphinx.builders.html._assetsr   r   r    sphinx.builders.html._build_infor   sphinx.configr   sphinx.domainsr   r   !sphinx.environment.adapters.assetr   (sphinx.environment.adapters.indexentriesr   #sphinx.environment.adapters.toctreer   r   sphinx.errorsr   r   sphinx.highlightingr   sphinx.localer   r   r>  r   sphinx.themingr    sphinx.utilr!   sphinx.util._pathlibr"   sphinx.util._timestampsr#   sphinx.util._urir$   sphinx.util.displayr%   r&   sphinx.util.docutilsr'   r(   sphinx.util.fileutilr)   sphinx.util.i18nr*   sphinx.util.inventoryr+   sphinx.util.matchingr,   r-   r.   sphinx.util.osutilr/   r0   r1   r2   r3   r4   sphinx.writers.htmlr5   sphinx.writers.html5r6   collections.abcr7   r8   r9   docutils.nodesr:   sphinx.applicationr;   r<   sphinx.environmentr=   sphinx.util.typingr>   r  	getLoggerr  r   compiler[  r?   ri   rj   rk   get_transformsr  rl   rm   rn   r  r  rN   rP   ri  r  r  r  r  r  r  r  r  r  r  r  rG   rH   rI   <module>r8     s    "   	   	  
           3 1 ( # 
 7  , : A T 1 .  " +  ) @ # A < + ( / < <  + 0-#)$34 # 			8	$"**Y'	 %%--446EEG %%))002AAC %446 [>G [>|$2+")"K	KK K 	K
 K 
K*K-(/( #3$erH   