
    zi                    (   d 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
Z
ddlZddlmZmZmZ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mZmZ  G d
 dej                  Z G d dej                  Z G d dej                   Z!dS )z,common definitions for Docutils HTML writers    N)unquote)url2pathname)frontend	languagesnodesutilswriters) length_or_percentage_or_unitless)PIL)
writer_aux)unichar2texpick_math_environment	math2htmllatex2mathmltex2mathml_externc                       e Zd ZdZ	 ddddgddifdd	gd
dej        dfddgddej        dfddgdej        dfddgddej        dfddgdddfdd gd!                                d"d#d$fd%d&gd'd(gd(d)d*d+fd,d-gg d.d/d)d$fd0d1gd2dej        dfd3d4gd5ddfd6d7gd2dej        dfd8d9gd:ddfd;d<gd=d>ifd?d@gd=dAifdBdCgdDdej        dfdEdFgdGddfdHdIgdej        dJfffZdKdLiZ	dMZ
dNZdOZ fdPZdQ ZdR ZdS ZdT Z xZS )UWriter)htmlxhtmlzHTML Writer OptionsNzFSpecify the template file (UTF-8 encoded). (default: writer dependent)z
--templatemetavarz<file>zhComma separated list of stylesheet URLs. Overrides previous --stylesheet and --stylesheet-path settings.z--stylesheetz<URL[,URL,...]>stylesheet_path)r   	overrides	validatorzComma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the --stylesheet-dirs. With --link-stylesheet, the path is rewritten relative to the output HTML file. (default: writer dependent)z--stylesheet-pathz<file[,file,...]>
stylesheetzComma-separated list of directories where stylesheets are found. Used by --stylesheet-path when expanding relative path arguments. (default: writer dependent)z--stylesheet-dirsz<dir[,dir,...]>)r   r   zvEmbed the stylesheet(s) in the output HTML file.  The stylesheet files must be accessible during processing. (default)z--embed-stylesheet   
store_true)defaultactionr   z3Link to the stylesheet(s) in the output HTML file. z--link-stylesheetembed_stylesheetstore_false)destr   z}Specify the initial header level. Does not affect document title & subtitle (see --no-doc-title).(default: writer dependent).z--initial-header-levelz1 2 3 4 5 62z<level>)choicesr   r   zYFormat for footnote references: one of "superscript" or "brackets". (default: "brackets")z--footnote-referencessuperscriptbracketsz<format>trim_footnote_reference_space)r#   r   r   r   zyFormat for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none". (default: "dash")z--attributiondashparenthesesparensnoner(   zgRemove extra vertical whitespace between items of "simple" bullet lists and enumerated lists. (default)z--compact-listsTz3Disable compact simple bullet and enumerated lists.z--no-compact-listscompact_listszORemove extra vertical whitespace between items of simple field lists. (default)z--compact-field-listsz#Disable compact simple field lists.z--no-compact-field-listscompact_field_listszAdded to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align-right, colwidths-auto, colwidths-grid.z--table-styler    zmMath output format (one of "MathML", "HTML", "MathJax", or "LaTeX") and option(s). (default: "HTML math.css")z--math-outputzHTML math.csszPrepend an XML declaration. z--xml-declarationFzOmit the XML declaration.z--no-xml-declarationxml_declarationzyObfuscate email addresses to confuse harvesters while still keeping email links usable with standards-compliant browsers.z--cloak-email-addresses)r   r   output_encoding_error_handlerxmlcharrefreplacezhtml base writer)r	   zhtml writers)head_prefixheadr   body_prefixbody_pre_docinfodocinfobodybody_suffixtitlesubtitleheaderfootermetafragmenthtml_prolog	html_head
html_titlehtml_subtitle	html_bodyc                 `    t                                                      t          j        gz   S N)superget_transformsr   Admonitions)self	__class__s    f/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/docutils/writers/_html_base.pyrG   zWriter.get_transforms   s$    ww%%'':+A*BBB    c           	          |                      | j                  x| _        }| j                            |           | j        D ]!}t          | |t          ||                     "|                                 | _        d S rE   )	translator_classdocumentvisitor	walkaboutvisitor_attributessetattrgetattrapply_templateoutput)rI   rP   attrs      rK   	translatezWriter.translate   s|    !%!6!6t}!E!EEw(((+ 	8 	8DD$ 6 67777))++rL   c                     t          | j        j        j        d          5 }|                                }d d d            n# 1 swxY w Y   |                                 }||z  S )Nutf-8encoding)openrO   settingstemplatereadinterpolation_dict)rI   fpr_   subss       rK   rU   zWriter.apply_template   s    $-(1GDDD 	!wwyyH	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!&&(($s   AA	Ac                     i }| j         j        }| j        D ];}d                    t	          | |                                        d          ||<   <|j        |d<   t          j        |d<   |S )Nr.   
r\   version)	rO   r^   rR   joinrT   rstripoutput_encodingdocutils__version__)rI   rc   r^   rW   s       rK   ra   zWriter.interpolation_dict   sr    =)+ 	C 	CDt!4!455<<TBBDJJ#3Z".YrL   c                     t           j                            |            | j        D ]-}d                    t          | |                    | j        |<   .d S Nr.   )r	   r   assemble_partsrR   rg   rT   parts)rI   parts     rK   rn   zWriter.assemble_parts   sY    %%d++++ 	< 	<D!wwwtT':':;;DJt	< 	<rL   )__name__
__module____qualname__	supportedr   validate_comma_separated_listvalidate_booleansplitsettings_specsettings_defaultsconfig_sectionconfig_section_dependenciesrR   rG   rX   rU   ra   rn   __classcell__)rJ   s   @rK   r   r   %   s*       !I' 	(.h

!L
'6G >@ @
A
(
 
) >@ @
A( 
' >@ @	
AB
 < 13 3
4
 @
%
?
?
A) $
$#))++! !	
"."
#$j1j 79 9
: 
???5 5	
62
l 13 3
4
 @
 "m
<
<
>"
#l 13 3
4
 0%
&(M
B
B
D, 
b/
' 
o
&	
(
 )
| 13 3
4 &!
"$
>
>
@J$
%!0I
J
J
LgW	[
Mz 9:MN'N"=C C C C C, , ,    < < < < < < <rL   r   c                      e Zd ZdZdZeZdZdZdej	         dZ
ddd	Zd
ZdZ	 dZdZ ej        d          Z ej        d          ZdZ ed          d ed          d ed          d ed          d ed          diZ	 d Zd Zd Zd Zd Z ej        d           fd!Zdd#Zdd&Zdd'Zdd)Z d* Z!d+ Z"d, Z#d- Z$d. Z%d/ Z&d0 Z'd1 Z(d2 Z)dd3Z*d4d5d5d6d7Z+d8 Z,d9 Z-d: Z.d; Z/d< Z0d= Z1d> Z2d? Z3d@ Z4dA Z5dB Z6dC Z7dD Z8dE Z9dF Z:dG Z;dH Z<dI Z=dJ Z>dK Z?dL Z@dM ZA ej        dN          jB        fdOZCdP ZDdQ ZEdR ZFdS ZGdT ZHdU ZIdV ZJdW ZKdX ZLdY ZMdZ ZNd[ ZOd\ ZPd] ZQd^ ZRd_ ZSd` ZTda ZUdb ZVdc ZWdd ZXde ZYddgZZdh Z[di Z\dj Z]dk Z^dl Z_dm Z`dn Zado Zbdp Zcdq Zddr Zeds Zfdt Zgdu Zhdv Zidw Zjdx Zkdy Zldz Zmd{ Znd| Zod} Zpd~ Zqd Zrd Zsd Ztd Zud Zvd Zwd Zxd Zyd Zzd Z{d Z|d Z}d Z~d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdddddZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zdʄ Zd˄ Zd̄ Zd̈́ Zd΄ Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Zdل Zdڄ Zdۄ Zd܄ Zd݄ Zdބ Zd߄ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd"S )HTMLTranslatorai  
    Generic Docutils to HTML translator.

    See the `html4css1` and `html5_polyglot` writers for full featured
    HTML writers.

    .. IMPORTANT::
      The `visit_*` and `depart_*` methods use a
      heterogeneous stack, `self.context`.
      When subclassing, make sure to be consistent in its use!

      Examples for robust coding:

      a) Override both `visit_*` and `depart_*` methods, don't call the
         parent functions.

      b) Extend both and unconditionally call the parent functions::

           def visit_example(self, node):
               if foo:
                   self.body.append('<div class="foo">')
               html4css1.HTMLTranslator.visit_example(self, node)

           def depart_example(self, node):
               html4css1.HTMLTranslator.depart_example(self, node)
               if foo:
                   self.body.append('</div>')

      c) Extend both, calling the parent functions under the same
         conditions::

           def visit_example(self, node):
               if foo:
                   self.body.append('<div class="foo">
')
               else: # call the parent method
                   _html_base.HTMLTranslator.visit_example(self, node)

           def depart_example(self, node):
               if foo:
                   self.body.append('</div>
')
               else: # call the parent method
                   _html_base.HTMLTranslator.depart_example(self, node)

      d) Extend one method (call the parent), but don't otherwise use the
         `self.context` stack::

           def depart_example(self, node):
               _html_base.HTMLTranslator.depart_example(self, node)
               if foo:
                   # implementation-specific code
                   # that does not use `self.context`
                   self.body.append('</div>
')

      This way, changes in stack use will not bite you.
    z<!DOCTYPE html>
zW<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="%(lang)s" lang="%(lang)s">
<head>
z<meta charset="%s" />
z)<meta name="generator" content="Docutils z': https://docutils.sourceforge.io/" />
divrO   )tagnameCLASSz2<script type="text/javascript" src="%s"></script>
z-file:/usr/share/javascript/mathjax/MathJax.jsz4<link rel="stylesheet" href="%s" type="text/css" />
z%<style type="text/css">

%s
</style>
z[^ \n]+| +|\nz.+\W\W.+|[-?].+lang&z&amp;<z&lt;"z&quot;>z&gt;@&#64;c                     t           j                             |           |j        x _        }t	          j        |j        |j                   _        t          |j
                   _
        t          |dd            _        t          |dd           du r*t          j        dt          d            j        d _        t          |dd           du rt          j        d	t          d            j        d
 _        |j                                         _         j        dd           _         j        d                                          _        g  _        dg _        g  _        dg _        g  _        g  _        g  _        g  _        g  _        g  _        g  _         j        g _         g  _!        g  _"        g  _#         j$        g _%         fdtM          j'        |          D              _(        g  _)        g  _*        |j+        r] j        ,                    tM          j+        |j-                              j!        ,                    tM          j+        d                     |j-        rE|j-                                        dk    r( j%        .                    d j        |j-        z             g  _/        	 d _0        g  _1        d _2        d _3        d _4        d _5        d _6        d _7        d _8        d _9        g  _:        d S )Nimage_loadingembed_imagesTzeThe configuration setting "embed_images" will be removed in Docutils 2.0. Use "image_loading: embed".   )
stacklevelembedFzdThe configuration setting "embed_images" will be removed in Docutils 2.0. Use "image_loading: link".linkr   r   z</head>
<body>
z</body>
</html>
c                 :    g | ]}                     |          S  )stylesheet_call).0pathrI   s     rK   
<listcomp>z+HTMLTranslator.__init__.<locals>.<listcomp>G  s=     L L L#  //55 L L LrL   z%sunicode);r   NodeVisitor__init__r^   r   get_languagelanguage_codereporterlanguageintinitial_header_levelrT   r   warningswarnFutureWarningmath_outputrw   math_output_optionslowerr7   r4   r5   r8   r6   r<   r>   r3   r2   r;   rC   content_typer@   r?   rB   rA   	generatorr=   r   get_stylesheet_listr   r9   r:   r/   appendri   insertcontextsection_levelcolspecs	compact_pcompact_simplecompact_field_list
in_docinfo
in_sidebarin_document_title	in_mailtoauthor_in_authorsmath_header)rI   rO   r^   s   `  rK   r   zHTMLTranslator.__init__  s@   ""4222#+#44!.$2H4EG G$'(E$F$F!$XEE8^T22d::M 8 (A7 7 7 7 !)%,"8^T22e;;M 7 (A7 7 7 7 %!'D#/5577#'#3ABB#7 +A.4466 	/0 "01	+,^$	L L L L','@'J'JL L L
# 	-##%h&>??A A A##%d++- - -$ 	N(..00I==IQ 1H4L LMMM 	
 #"'!"!&rL   c                     d                     | j        | j        z   | j        z   | j        z   | j        z   | j        z   | j        z   | j        z             S rm   )	rg   r2   r3   r   r4   r5   r6   r7   r8   rI   s    rK   astextzHTMLTranslator.astexth  sg    wwt'$)3)+/+;<./15> # &*%56 7 7 	7rL   c                 T    t          |          }|                    | j                  S )z-Encode special characters in `text` & return.)strrX   special_characters)rI   texts     rK   encodezHTMLTranslator.encoden  s$    
 4yy~~d5666rL   c                 .    |                     dd          S )z*Try to hide a mailto: URL from harvesters.r   %40replace)rI   uris     rK   cloak_mailtozHTMLTranslator.cloak_mailtov  s    
 {{3&&&rL   c                 Z    |                     dd          }|                     dd          S )z;Try to hide the link text of a email link from harversters.r   z<span>&#64;</span>.z<span>&#46;</span>r   )rI   addrs     rK   cloak_emailzHTMLTranslator.cloak_email}  s-     ||G%9::||C!5666rL   z[
	]c                     |                      |                    d|                    }| j        r8| j        j        r,|                    dd          }|                    dd          }|S )z6Cleanse, HTML encode, and return attribute value text. r   z&#37;&#52;&#48;r   z&#46;)r   subr   r^   cloak_email_addressesr   )rI   r   
whitespaceencodeds       rK   attvalzHTMLTranslator.attval  se     ++jnnS$7788> 	4dmA 	4ooe->??Gooc733GrL   Nc                    |t          | j        j                  }| j        j        r	 t	          |d          5 }|                                }ddd           n# 1 swxY w Y   | j        j                            |           n@# t          $ r3}d| }| j	        j
                            |           d|z  cY d}~S d}~ww xY w| j        |z  S |rt          j        | j        j        |          }| j        |                     |          z  S )z8Return code to reference or embed stylesheet file `path`NrZ   r[   zCannot embed stylesheet: z<--- %s --->
)boolr^   r   r   r]   r`   record_dependenciesaddOSErrorrO   r   errorembedded_stylesheetr   relative_path_destinationstylesheet_linkr   )rI   r   adjust_pathfcontenterrmsgs          rK   r   zHTMLTranslator.stylesheet_call  sg   t}<==K=) 
	6<$111 'QffhhG' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 155d;;;;  . . .7#77&,,S111'#-------. +g55 	I&t}'A4HHD#dkk$&7&777s@   B AB AB "A#B 
C(B>8C>Cre   Fc           
      l   |                                 }g }i }|                                D ]\  }}	|	||                                 <   |                    dg           }
g }|                    dg           |                    dd                                          z   D ]]}|                    d          r |j        |dd                    0|                                r||
vr|
                    |           ^|r|d         || j        <   dt          |t          j                  rfd	|
D             }
|
rd
                    |
          |d<   d|vsJ |                    dg           }|                    |                    dg                      |rl|d         |d<   |dd         D ]V}|s1t          |t          j        t          j        t          j        f          r|                    d|z             N|d|z  z  }Wt!          |                                          }|g}|D ]\  }}	|	J t          |	t"                    r`d |	D             }|                    |                                 d|                     d
                    |                    d           ~|                    |                                 d|                     t'          |	                    d           |rd}nd}d                    |          dd
                    |          |dz   |z   S )z
        Construct and return a start tag given a node (id & class attributes
        are extracted), tag name, and optional attributes.
        classesclassr.   z	language-	   Nr   )colwidths-autocolwidths-givencolwidths-gridc                     g | ]}|v|	S r   r   )r   clsinternals     rK   r   z+HTMLTranslator.starttag.<locals>.<listcomp>  s#    EEEsH1D1Ds1D1D1DrL   r   ididsr   z<span id="%s"></span>c                 ,    g | ]}t          |          S r   )r   )r   vs     rK   r   z+HTMLTranslator.starttag.<locals>.<listcomp>  s    000Q#a&&000rL   z="r   z /r   r   )r   itemspopgetrw   
startswithr   striplang_attribute
isinstancer   tablerg   extend
Sequentialr6   sortedlistr   r   )rI   noder   suffixempty
attributesprefixattsnamevaluer   r   r   r   r   attlistro   valuesinfixr   s                      @rK   starttagzHTMLTranslator.starttag  s   
 --//'--// 	' 	'MT5!&D((9b))	88Ir**TXXgr-B-B-H-H-J-JJ 	$ 	$C~~k** $ 	 QRR)))) $G!3!3s### 	5(1!D$%JdEK(( 	FEEEEgEEEG 	.HHW--DM4hhub!!

488E2&&''' 	;QDJ!""g ; ;  ;Jte.>.3m.3k.; < < ; MM"9B">???? 5::FF&&	" 
	D 
	DKD% $$$%&& D00%000$**,,,,*.++chhv6F6F*G*G*G*GI J J J J $**,,,,*.++c%jj*A*A*A*AC D D D D 	EEEwwvSXXe___eee!DDvMMrL   c                 &     | j         |||fddi|S )z1Construct and return an XML-compatible empty tag.r   T)r  )rI   r   r   r   r   s        rK   emptytagzHTMLTranslator.emptytag  s%    t}T7FMM$M*MMMrL   r   c                     d |D             }	 ||         }n# t           $ r Y dS w xY w|d                             |           dS )z
        Set class `class_` on the visible child no. index of `node`.
        Do nothing if node has fewer children than `index`.
        c                 F    g | ]}t          |t          j                  |S r   r   r   	Invisible)r   ns     rK   r   z5HTMLTranslator.set_class_on_child.<locals>.<listcomp>  s)    JJJ!:a+I+IJAJJJrL   Nr   )
IndexErrorr   )rI   r   class_indexchildrenchilds         rK   set_class_on_childz!HTMLTranslator.set_class_on_child  si    
 KJtJJJ	UOEE 	 	 	FF	i'''''s    
%%c                     |                                 }|                     |          }| j        r!| j        j        r|                     |          }| j                            |           d S rE   )r   r   r   r^   r   r   r7   r   )rI   r   r   r   s       rK   
visit_TextzHTMLTranslator.visit_Text  se    {{}}++d##> 	0dmA 	0&&w//G	!!!!!rL   c                     d S rE   r   rI   r   s     rK   depart_TextzHTMLTranslator.depart_Text      rL   c                 d    | j                             |                     |dd                     d S )Nabbrr.   r7   r   r  r  s     rK   visit_abbreviationz!HTMLTranslator.visit_abbreviation  s.    	tVR8899999rL   c                 :    | j                             d           d S )Nz</abbr>r7   r   r  s     rK   depart_abbreviationz"HTMLTranslator.depart_abbreviation      	#####rL   c                 d    | j                             |                     |dd                     d S )Nacronymr.   r  r  s     rK   visit_acronymzHTMLTranslator.visit_acronym  s.    	tY;;<<<<<rL   c                 :    | j                             d           d S )Nz
</acronym>r  r  s     rK   depart_acronymzHTMLTranslator.depart_acronym
      	&&&&&rL   c                     |                      |dd           | j                            |                     |ddd                     d S )NaddressFr=   prer.   r   r   )visit_docinfo_itemr7   r   r  r  s     rK   visit_addresszHTMLTranslator.visit_address  sf    ie<<<	tU.0	 ' C C 	D 	D 	D 	D 	DrL   c                 b    | j                             d           |                                  d S N
</pre>
)r7   r   depart_docinfo_itemr  s     rK   depart_addresszHTMLTranslator.depart_address  s0    	&&&  """""rL   c                 h    | j                             |                     |ddg                     d S )Naside
admonitionr   r  r  s     rK   visit_admonitionzHTMLTranslator.visit_admonition  s2    	tW|nMMNNNNNrL   c                 :    | j                             d           d S N	</aside>
r  r  s     rK   depart_admonitionz HTMLTranslator.depart_admonition  r$  rL   )u   —r.   )())r.   r.   r'   c                     | j         | j        j                 \  }}| j                            |           | j                            |                     |d|d                     d S )Npattributionr   )attribution_formatsr^   r>  r   r   r7   r  )rI   r   r   r   s       rK   visit_attributionz HTMLTranslator.visit_attribution!  sn    1$-2KLF###	MM$V=MAA	C 	C 	C 	C 	CrL   c                 n    | j                             | j                                        dz              d S N</p>
r7   r   r   r   r  s     rK   depart_attributionz!HTMLTranslator.depart_attribution'  s1    	))++h677777rL   c                     t          |j        t          j                  s|                     |d           | j                            d           d S )Nauthorz<p>)r   parentr   authorsr*  r7   r   r  s     rK   visit_authorzHTMLTranslator.visit_author*  sJ    $+u}55 	4##D(333	rL   c                     | j                             d           t          |j        t          j                  r| j                             d           d S |                                  d S )N</p>re   )r7   r   r   rI  r   rJ  r/  r  s     rK   depart_authorzHTMLTranslator.depart_author/  sb    	   dk5=11 	'IT"""""$$&&&&&rL   c                 2    |                      |d           d S )NrJ  r*  r  s     rK   visit_authorszHTMLTranslator.visit_authors6  s    i00000rL   c                 .    |                                   d S rE   r/  r  s     rK   depart_authorszHTMLTranslator.depart_authors9        """""rL   c                 b    | j                             |                     |d                     d S )N
blockquoter  r  s     rK   visit_block_quotez HTMLTranslator.visit_block_quote<  s,    	t\::;;;;;rL   c                 :    | j                             d           d S )Nz</blockquote>
r  r  s     rK   depart_block_quotez!HTMLTranslator.depart_block_quote?  s    	*+++++rL   c                     t          | j                  }	 |                    |           dS # t          j        $ r Y dS w xY w)z7Check for a simple list that can be rendered compactly.TF)SimpleListCheckerrO   walkr   	NodeFound)rI   r   rP   s      rK   check_simple_listz HTMLTranslator.check_simple_listB  sU    #DM22	IIg 4  	 	 	55	s   - A A c                 N   d|d         v rdS d|d         v rdS t          |t          j        t          j        f          r| j        j        sdS t          |t          j        t          j        f          r| j        j        sdS d|j	        d         v rdS | 
                    |          S )Ncompactr   Tr]   Fcontents)r   r   
field_listdefinition_listr^   r-   enumerated_listbullet_listr,   rI  r_  r  s     rK   is_compactablezHTMLTranslator.is_compactableS  s    Y''4T)_$$5te.0EFGG 	M5	5te3U5FGHH 	M/	5Y///4%%d+++rL   c                    i }| j         }| j                            | j         | j        f           d | _        |                     |          | _         | j         r|sd|d<   | j                             | j        |dfi |           d S )Nsimpler   ul)r   r   r   r   rg  r7   r  )rI   r   r   old_compact_simples       rK   visit_bullet_listz HTMLTranslator.visit_bullet_listf  s    !0T0$.ABBB"11$77 	%'9 	%$DM	tT::T::;;;;;rL   c                     | j                                         \  | _        | _        | j                            d           d S )Nz</ul>
)r   r   r   r   r7   r   r  s     rK   depart_bullet_listz!HTMLTranslator.depart_bullet_listp  s;    .2l.>.>.@.@+T^	#####rL   c                 h    | j                             |                     |ddd                     d S )Nr=  r.   captionr?  r  r  s     rK   visit_captionzHTMLTranslator.visit_captiont  s2    	tS"IFFGGGGGrL   c                 :    | j                             d           d S rC  r  r  s     rK   depart_captionzHTMLTranslator.depart_captionw      	"""""rL   c                    t          |                                t          |                    s| j                            d           | j                            |                     |d|j        gd                     d S )Nz(<div role="list" class="citation-list">
r   zdoc-biblioentryr   role)r   previous_siblingtyper7   r   r  r   r  s     rK   visit_citationzHTMLTranslator.visit_citation{  s     $//114::>> 	JIHIII	tUT\N,= ' ? ? 	@ 	@ 	@ 	@ 	@rL   c                     | j                             d           t          |                    dd          t	          |                    s| j                             d           d S d S )N</div>
FTdescendsiblingsr7   r   r   	next_nodery  r  s     rK   depart_citationzHTMLTranslator.depart_citation  sk    	$$$$...FFt**& & 	)IZ(((((	) 	)rL   c           
          d}d|v r||d         z  }nd|v r|| j         j        |d                  z  }| j                            |                     |dd|dgd                     d S )	N#refidrefnamea[zcitation-referencezdoc-biblioref)r   hrefr   rw  )rO   nameidsr7   r   r  )rI   r   r  s      rK   visit_citation_referencez'HTMLTranslator.visit_citation_reference  s    d??DM!DD$DM)$y/::D 		tS40D/E,; ' = = 	> 	> 	> 	> 	>rL   c                 :    | j                             d           d S )Nz]</a>r  r  s     rK   depart_citation_referencez(HTMLTranslator.depart_citation_reference      	!!!!!rL   c                 h    | j                             |                     |ddd                     d S )Nspanr.   
classifierr?  r  r  s     rK   visit_classifierzHTMLTranslator.visit_classifier  s2    	tVR|LLMMMMMrL   c                 :    | j                             d           d S N</span>r  r  s     rK   depart_classifierz HTMLTranslator.depart_classifier  r  rL   c                     | j                             |           |j        j                            |j                            d                     d S )Nstub)r   r   rI  stubsr   r   r  s     rK   visit_colspeczHTMLTranslator.visit_colspec  sG    T"""  !4!4V!<!<=====rL   c           
      6   t          |                    dd          t          j                  rd S d|j        j        d         v s"d| j        j        vrd|j        j        d         vrd S | j                            | 	                    |d                     t          d	 | j        D                       }| j        D ]A}|d
         |z  }| j                            |                     |dd|d                     B| j                            d           d S )NFTr}  r   r   r   r   colgroupc              3   &   K   | ]}|d          V  dS )colwidthNr   )r   r   s     rK   	<genexpr>z0HTMLTranslator.depart_colspec.<locals>.<genexpr>  s'      EEt$z*EEEEEErL   r  colzwidth: z.1%)stylez</colgroup>
)r   r  r   colspecrI  r^   table_styler7   r   r  sumr   r  )rI   r   total_widthr  s       rK   depart_colspeczHTMLTranslator.depart_colspec  s;   dnnUTnBBm% % 	Ft{1)<<<DM$===!);I)FFFF	tZ88999EEt}EEEEEM 	L 	LDJ'+5HIT]]41I81I1I1I + K K L L L L	)))))rL   z-(?=-)c                     | j                             d |d|                                          z             t          j        )z%Escape double-dashes in comment text.z<!-- %s -->
z- )r7   r   r   r   SkipNode)rI   r   r   s      rK   visit_commentzHTMLTranslator.visit_comment  s;     		33tT[[]]+C+CCDDDnrL   c                 f    | j                             |                     |dd                     d S )Nr   compoundr?  r  r  s     rK   visit_compoundzHTMLTranslator.visit_compound  s0    	tU*EEFFFFFrL   c                 :    | j                             d           d S Nr|  r  r  s     rK   depart_compoundzHTMLTranslator.depart_compound      	$$$$$rL   c                 f    | j                             |                     |dd                     d S )Nr   zdocutils containerr?  r  r  s     rK   visit_containerzHTMLTranslator.visit_container  sI    	tU-A ' C C 	D 	D 	D 	D 	DrL   c                 :    | j                             d           d S r  r  r  s     rK   depart_containerzHTMLTranslator.depart_container  r  rL   c                 6    |                      |dd           d S )NcontactFr'  rP  r  s     rK   visit_contactzHTMLTranslator.visit_contact  #    ie<<<<<rL   c                 .    |                                   d S rE   rS  r  s     rK   depart_contactzHTMLTranslator.depart_contact  rU  rL   c                 2    |                      |d           d S )N	copyrightrP  r  s     rK   visit_copyrightzHTMLTranslator.visit_copyright  s    k22222rL   c                 .    |                                   d S rE   rS  r  s     rK   depart_copyrightzHTMLTranslator.depart_copyright  rU  rL   c                 2    |                      |d           d S )NdaterP  r  s     rK   
visit_datezHTMLTranslator.visit_date  s    f-----rL   c                 .    |                                   d S rE   rS  r  s     rK   depart_datezHTMLTranslator.depart_date  rU  rL   c                     d S rE   r   r  s     rK   visit_decorationzHTMLTranslator.visit_decoration  r  rL   c                     d S rE   r   r  s     rK   depart_decorationz HTMLTranslator.depart_decoration  r  rL   c                     d|j         j         d         v r| j                            d           d S | j                            d           | j                            |                     |dd                     d S )Ndetailsr   z</summary>
z</dt>
ddr.   rI  r7   r   r  r  s     rK   visit_definitionzHTMLTranslator.visit_definition  su    *9555I^,,,,,IY'''IT]]4r::;;;;;rL   c                 f    d|j         j         d         vr| j                            d           d S d S )Nr  r   </dd>
rI  r7   r   r  s     rK   depart_definitionz HTMLTranslator.depart_definition  s;    DK.y999IY''''' :9rL   c                    d|d         v r0| j                             |                     |d                     d S |                     |          rdgng }| j                             |                     |d|                     d S )Nr  r   r   ri  dlr4  )r7   r   r  rg  rI   r   r   s      rK   visit_definition_listz$HTMLTranslator.visit_definition_list  s    Y''IT]]47788888$($7$7$=$=Exjj2GIT]]4w]GGHHHHHrL   c                     d|d         v r| j                             d           d S | j                             d           d S )Nr  r   r|  </dl>
r  r  s     rK   depart_definition_listz%HTMLTranslator.depart_definition_list  sI    Y''IZ(((((IY'''''rL   c                     d|j         d         v r?i }d|j         d         v rd|d<   | j                             | j        |dfi |           d S d S )Nr  r   r]   r  rI   r   r   s      rK   visit_definition_list_itemz)HTMLTranslator.visit_definition_list_item  sn    I...DY///%VI]T]4CCdCCDDDDD	 /.rL   c                 \    d|j         d         v r| j                            d           d S d S )Nr  r   z</details>
r  r  s     rK   depart_definition_list_itemz*HTMLTranslator.depart_definition_list_item  s8    I...I^,,,,, /.rL   c                 d    | j                             |                     |dd                     d S )Nr  r.   r  r  s     rK   visit_descriptionz HTMLTranslator.visit_description
  .    	tT26677777rL   c                 :    | j                             d           d S Nr  r  r  s     rK   depart_descriptionz!HTMLTranslator.depart_description  r  rL   c                    | j                             t          | j                             dg}|                     |          r|                    d           | j                            |                     |d|                     d S )Nr6   ri  r  r4  )r   r   lenr7   rg  r  r  s      rK   visit_docinfozHTMLTranslator.visit_docinfo  s}    C	NN++++t$$ 	%NN8$$$	tT7CCDDDDDrL   c                     | j                             d           | j                                        }| j         |d          | _        g | _         d S Nr  )r7   r   r   r   r6   )rI   r   starts      rK   depart_docinfozHTMLTranslator.depart_docinfo  sH    	###  ""y(			rL   Tc           	      Z   |rF| j                             d| d|                     |                                           d           | j                            d| d| j        j        |          d           | j                            |                     |dd|	                     d S )
Nz<meta name="z" content="z" />
z<dt class="">"<span class="colon">:</span></dt>
r  r.   r?  )r=   r   r   r   r7   r   labelsr  )rI   r   r   r=   s       rK   r*  z!HTMLTranslator.visit_docinfo_item  s     	MI LD L L)-T[[]])C)CL L L M M M	 ?t ? ?t}/CD/I ? ? ? 	@ 	@ 	@	tT2TBBCCCCCrL   c                 :    | j                             d           d S r  r  r   s    rK   r/  z"HTMLTranslator.depart_docinfo_item%  r  rL   c           	      l    | j                             |                     |ddg d                     d S )Nr(  r.   )codepythondoctest)r   r   r  r  s     rK   visit_doctest_blockz"HTMLTranslator.visit_doctest_block(  sQ    	tU2/L/L/L ' N N 	O 	O 	O 	O 	OrL   c                 :    | j                             d           d S r-  r  r  s     rK   depart_doctest_blockz#HTMLTranslator.depart_doctest_block,  r$  rL   c                     |                     d          p&t          j                            |d                   pd}| j                            d|                     |           d           d S )Nr9   sourcezuntitled Docutils documentz<title>z	</title>
)r   osr   basenamer3   r   r   )rI   r   r9   s      rK   visit_documentzHTMLTranslator.visit_document/  sm    '"" 1bg&6&6tH~&F&F 10 		A4;;u#5#5AAABBBBBrL   c                    | j                             | j        | j        d| j        j        iz  g           | j                            | j                   | j        d d          | j	        z   | _	        dd
                    | j                  v r| j	                            d           | j        rJ| j        dk    r | j	                            | j                   n| j                            | j                   | j                            | j	        dd                     | j                             | j        |fi | j                   | j                            dd| j        d	          d
           | j                            | j                   | j                            | j        dd          | j        z   | j        z   | j        z   | j        d d         z              | j        rJ dt5          | j                               d S )Nr   zname="dcterms.r.   z=<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>mathjaxr   r   z</r   z>
zlen(context) = )r2   r   doctypehead_prefix_templater^   r   r?   r   r=   r3   rg   r   r   r   r@   r4   r  documenttag_argsr8   r   r>   r7   rC   r5   r6   r   r  r  s     rK   depart_documentzHTMLTranslator.depart_document4  s   !%!:"($-*E!F"G!H 	I 	I 	I 	---IaaaL49,	rwwty1111I C D D D 	99,,	  !12222&&t'7888dim,,,d L Ld6K L LMMM#M(=i(H#M#M#MNNNTY'''d.qrr2T5JJ $-/3y9 $ 0" 56 	7 	7 	7 <FF!F3t|3D3D!F!FFFFFFrL   c                 d    | j                             |                     |dd                     d S )Nemr.   r  r  s     rK   visit_emphasiszHTMLTranslator.visit_emphasisL  r  rL   c                 :    | j                             d           d S )Nz</em>r  r  s     rK   depart_emphasiszHTMLTranslator.depart_emphasisO  r  rL   c                 ~   dg i}t          |j        j        t          j                  r|d                             d           |j        j        j        j        |j        j                 r|d                             d           |d         rd}nd}|j        xj        dz  c_        d|v r|d         dz   |d<   d	|v r)|d	         dz   |d
<   |j        xj        |d	         z  c_        | j                             | j        ||dfi |           | j	                            d|
                                z             d S )Nr   r3   r  thtdr   morerowsrowspanmorecolscolspanr.   </%s>
)r   rI  r   theadr   r  columnr7   r  r   r   )rI   r   r   r   s       rK   visit_entryzHTMLTranslator.visit_entryR  sM   2dk(%+66 	+O""6***;$*4;+=> 	+O""6***	? 	GGGa":.2DO":.2DOK$z"22	tWbAADAABBBI788888rL   c                 h    | j                             | j                                                   d S rE   rE  r  s     rK   depart_entryzHTMLTranslator.depart_entryf  ,    	))++,,,,,rL   c                 $   dg i}d|v r|d         |d<   d|v r!|d                              |d                    |                     |          r|d                              d           | j                              | j        |dfi |           d S )Nr   r  enumtyperi  ol)r   rg  r7   r  r  s      rK   visit_enumerated_listz$HTMLTranslator.visit_enumerated_listi  s    2d?? MDMO""4
#3444t$$ 	-O""8,,,	tT::T::;;;;;rL   c                 :    | j                             d           d S )Nz</ol>
r  r  s     rK   depart_enumerated_listz%HTMLTranslator.depart_enumerated_lists  r  rL   c                    i }|                     dg           }t          |          D ]d\  }}|                    d          rJ	 t          |dd          d          }n# t          $ r Y  n$w xY wd|z  |d<   |                    |            ne|                    d           |                     |          r|                    d           | j                             | j	        |d	fi |           d S )
Nr   zfield-indent-   pxz--field-indent: %s;r  z
field-listri  r  )

setdefault	enumerater   r
   
ValueErrorr   r   rg  r7   r  )rI   r   r   r   ir   indent_lengths          rK   visit_field_listzHTMLTranslator.visit_field_listv  s%   //)R00(( 		 		FAs~~o.. $D8;BCC$%H %HMM!   EE 5 EWA 	|$$$t$$ 	%NN8$$$	tT::T::;;;;;s   A
A*)A*c                 :    | j                             d           d S r  r  r  s     rK   depart_field_listz HTMLTranslator.depart_field_list  r  rL   c                     d S rE   r   r  s     rK   visit_fieldzHTMLTranslator.visit_field  r  rL   c                     d S rE   r   r  s     rK   depart_fieldzHTMLTranslator.depart_field  r  rL   c           	      ~    | j                             |                     |dd|j        d                              d S )Ndtr.   r   r4  )r7   r   r  rI  r  s     rK   visit_field_namezHTMLTranslator.visit_field_name  sR    	tT2/3{9/E ' G G 	H 	H 	H 	H 	HrL   c                 :    | j                             d           d S )Nr  r  r  s     rK   depart_field_namez HTMLTranslator.depart_field_name  s    	>?????rL   c           	          | j                             |                     |dd|j        d                              |j        s| j                             d           d S d S )Nr  r.   r   r4  z<p></p>)r7   r   r  rI  r  r  s     rK   visit_field_bodyzHTMLTranslator.visit_field_body  sx    	tT2/3{9/E ' G G 	H 	H 	H } 	(IY'''''	( 	(rL   c                 :    | j                             d           d S r  r  r  s     rK   depart_field_bodyz HTMLTranslator.depart_field_body  r  rL   c                     ddi}|                     d          rd|d         z  |d<   |                     d          r|dxx         d|d         z   z  cc<   | j                             | j        |dfi |           d S )	Nr   figurewidthz	width: %sr  alignz align-r   )r   r7   r   r  r  s      rK   visit_figurezHTMLTranslator.visit_figure  s    "88G 	8'$w-7DM88G 	7MMMYg66MMM	tU;;d;;<<<<<rL   c                 :    | j                             d           d S r  r  r  s     rK   depart_figurezHTMLTranslator.depart_figure  r  rL   c                 ^    | j                             t          | j                             d S rE   r   r   r  r7   r  s     rK   visit_footerzHTMLTranslator.visit_footer  &    C	NN+++++rL   c                 :   | j                                         }|                     |dd          dg}|                    | j        |d                     |                    d           | j                            |           || j        d d<   | j        |d = d S )Nr   r<   r?  z<hr class="footer" />
z
</div>
r   )r   r   r  r   r7   r   r<   r8   )rI   r   r  r<   s       rK   depart_footerzHTMLTranslator.depart_footer  s      ""--e8-<<+-di'(((l###6"""%!IeffrL   c                 (   | j         j        }t          |                                t	          |                    s| j                            d| d           | j                            |                     |d|j        |gd                     d S )Nz<aside class="footnote-list z">
r2  zdoc-footnoterv  )	r^   footnote_referencesr   rx  ry  r7   r   r  r   )rI   r   label_styles      rK   visit_footnotezHTMLTranslator.visit_footnote  s     m7$//114::>> 	OIMKMMMNNN	tW04k/J,: ' < < 	= 	= 	= 	= 	=rL   c                     | j                             d           t          |                    dd          t	          |                    s| j                             d           d S d S )Nr8  FTr}  r  r  s     rK   depart_footnotezHTMLTranslator.depart_footnote  sk    	&&&$...FFt**& & 	+I\*****	+ 	+rL   c           
          d|d         z   }d| j         j        g}| j                            |                     |dd|d|                     | j                            d           d S )	Nr  r  zfootnote-referencer  r.   zdoc-noteref)r   r   rw  r  !<span class="fn-bracket">[</span>)r^   rB  r7   r   r  )rI   r   r  r   s       rK   visit_footnote_referencez'HTMLTranslator.visit_footnote_reference  s}    T']"')JK	tSW,9 ' F F 	G 	G 	G	<=====rL   c                 n    | j                             d           | j                             d           d S )Nz!<span class="fn-bracket">]</span></a>r  r  s     rK   depart_footnote_referencez(HTMLTranslator.depart_footnote_reference  s5    	<===	     rL   c                     d|d         v rc|                                                     d          }| j                            d|                     |          z             t
          j        d S )Nsectnumr       z <span class="sectnum">%s </span>)r   rh   r7   r   r   r   r  )rI   r   rN  s      rK   visit_generatedzHTMLTranslator.visit_generated  so    Y''kkmm**400GI?#{{7334 5 5 5 .  ('rL   c                     d S rE   r   r  s     rK   depart_generatedzHTMLTranslator.depart_generated  r  rL   c                 ^    | j                             t          | j                             d S rE   r<  r  s     rK   visit_headerzHTMLTranslator.visit_header  r>  rL   c                 T   | j                                         }|                     |dd          g}|                    | j        |d                     |                    d           | j                            |           | j                            |           | j        |d = d S )Nr   r;   r?  z
<hr class="header"/>
</div>
)r   r   r  r   r7   r   r4   r;   )rI   r   r  r;   s       rK   depart_headerzHTMLTranslator.depart_header  s      ""--e8-<<=di'(((8999'''6"""IeffrL   c                 (   i }|d         }t          j        |          d         }d|v r|d         |d<   d|v r|d         |d<   d|v rVt          rd|vsd|vr| j        j        rt          |          }	 t          j                            |          5 }|j        }d d d            n# 1 swxY w Y   | j        j	        
                    |                    dd                     d|vrd|d         z  |d<   d|vrd|d	         z  |d<   ~n# t          t          f$ r Y nw xY wd
D ]z}||v rtt          j        d||                   }	|	sJ t!          |	                    d	                    t!          |d                   dz  z  |	                    d          ||<   {g }
d
D ]U}||v rOt          j        d||                   r||xx         dz  cc<   |
                    |d||         d           ||= V|
rd                    |
          |d<   t)          |j        t,          j                  sCt)          |j        t,          j                  r't)          |j        j        t,          j                  sd}nd}d|v rd|d         z  |d<   | j        dk    r	 t          t          |          d          5 }|                                }d d d            n# 1 swxY w Y   | j        j	        
                    t7          |                     t9          j        |                                          }d|d|}nQ# t          $ r4}| j        j         !                    d|d|j"                   Y d }~nd }~ww xY w| j        dk    rd|d<   |d k    r5||d!<    | j#        |d"dfd#|i||$                    d$|          z   d%z   |z   }n1|$                    d$|d                   |d$<    | j%        |d&|fd'|i|}| j&                            |           d S )(Nr   r   r6  heightscale\/z%dpxr   )r6  rX  z([0-9.]+)(\S*)$d      z	^[0-9.]+$r  z: ;r   r  r.   re   r7  align-%sr   r   rbzdata:z;base64,zCannot embed image lazyloadingzapplication/x-shockwave-flashry  objectdataaltz	</object>imgsrc)'	mimetypes
guess_typer   r^   file_insertion_enabledr   Imager]   sizer   r   r   r   UnicodeEncodeErrorrematchfloatgroupr   rg   r   rI  r   TextElement	referencer   r`   unquote_urlbase64	b64encodedecoderO   r   r   strerrorr  r   r  r7   )rI   r   r   r   mimetype	imagepathrf  imgsizeatt_namero  r  r   	imagefile	imagedatadata64r   tags                    rK   visit_imagezHTMLTranslator.visit_image  sU   5k',,Q/d?? MDMt!(^DNd?? ,,0D0DM8 1E(--		22 +c"%(+ + + + + + + + + + + + + + +
 M599!))$446 6 6d**(.(;Wt++)/'!*)<X  !34   D . ( (t##H%7hHHE LLLekk!nn--tG}1E1E1KLLA&(DN ) 	# 	#H48L$x.99 +NNNd*NNN(((DNNNCDDDN 	,HHUOODMt{E$566 	4;88	"4;#5u7HII	 FFFd??&g6DM((?,s++T22 1i ) 0 0I1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 155k#6F6FGGG
  ))44;;==-5XXvv>  D D D&,,,03S\\.C D D D D D D D DD 6))$DO666#DL 4=xFF#FFFXXeS))*,78:@ACC ((5$u+66DK$-eVEEEEEC	sr   3D
 B&D
 &B**D
 -B*.D
 
DDL; 4K	L; KL; KL; ;
M9*M44M9c                     d S rE   r   r  s     rK   depart_imagezHTMLTranslator.depart_image@  r  rL   c                 d    | j                             |                     |dd                     d S )Nr  r.   r  r  s     rK   visit_inlinezHTMLTranslator.visit_inlineC  .    	tVR8899999rL   c                 :    | j                             d           d S r  r  r  s     rK   depart_inlinezHTMLTranslator.depart_inlineF  r  rL   c                 0   | j                             d           | j                             d           | j        j        rS|j                            dg           }t          |          dk    r'| j                             d|d         z             d S d S d S )Nz<span class="label">rH  backrefsr   z"<a role="doc-backlink" href="#%s">r   )r7   r   r^   footnote_backlinksrI  r   r  )rI   r   r  s      rK   visit_labelzHTMLTranslator.visit_labelJ  s    	/000	<====+ 	?{z266H8}}!!	   "02:1+"> ? ? ? ? ?	? 	?!!rL   c                    g }| j         j        r|j                            d|          }t	          |          dk    r| j                            d           | j                            d           t	          |          dk    rLd t          |d          D             }| j                            dd                    |          z             d S d S )Nr  r   rK  z)<span class="fn-bracket">]</span></span>
c                 &    g | ]\  }}d |d|dS )z<a role="doc-backlink" href="#r  rK  r   )r   r"  refs      rK   r   z/HTMLTranslator.depart_label.<locals>.<listcomp>\  sC     A A A%a HKssAAAN A A ArL   z#<span class="backrefs">(%s)</span>
,)	r^   r  rI  r   r  r7   r   r   rg   )rI   r   r  	backlinkss       rK   depart_labelzHTMLTranslator.depart_labelT  s    =+ 	={z8<<Hx==AIV$$$	EFFFx==1A A)28Q)?)?A A AIIC"xx	223 4 4 4 4 4 rL   c                 f    | j                             |                     |dd                     d S )Nr   legendr?  r  r  s     rK   visit_legendzHTMLTranslator.visit_legenda  s0    	tU(CCDDDDDrL   c                 :    | j                             d           d S r  r  r  s     rK   depart_legendzHTMLTranslator.depart_legendd  r  rL   c                     | j                             |                     |ddd                     t          |          s| j                             d           d S d S )Nr   r.   liner)  z<br />)r7   r   r  r  r  s     rK   
visit_linezHTMLTranslator.visit_lineg  s`    	tU2VLLMMM4yy 	'IX&&&&&	' 	'rL   c                 :    | j                             d           d S r  r  r  s     rK   depart_linezHTMLTranslator.depart_linel  r  rL   c                 f    | j                             |                     |dd                     d S )Nr   z
line-blockr?  r  r  s     rK   visit_line_blockzHTMLTranslator.visit_line_blocko  s0    	tU,GGHHHHHrL   c                 :    | j                             d           d S r  r  r  s     rK   depart_line_blockz HTMLTranslator.depart_line_blockr  r  rL   c                 d    | j                             |                     |dd                     d S )Nlir.   r  r  s     rK   visit_list_itemzHTMLTranslator.visit_list_itemu  r  rL   c                 :    | j                             d           d S )Nz</li>
r  r  s     rK   depart_list_itemzHTMLTranslator.depart_list_itemx  r  rL   c                 ^   |d         }d|v rY|                     |                    d                     | j                            |                     |dd                     d S | j                            |                     |ddd                     |                                }t          |j        t          j	                  s|
                    dd          }| j                            |          D ]}|                                rK| j                            |          r1| j                            d	|                     |          z             a| j                            |                     |                     | j                            d
           t          j        )Nr   r  r.   r  zdocutils literalr?  re   r   z<span class="pre">%s</span>r  )r   r  r7   r   r  r   r   rI  r   literal_blockr   words_and_spacesfindallr   in_word_wrap_pointsearchr   r  )rI   r   r   r   tokens        rK   visit_literalzHTMLTranslator.visit_literal|  s   y/WKKf--...IT]]4<<===F	MM$2DMEE	G 	G 	G{{}}$+u':;; 	+<<c**D *22488 	5 	5E{{}} 5!8!?!?!F!F 5	  !>#';;u#5#5"6 7 7 7 7 	  U!3!34444	###nrL   c                 :    | j                             d           d S )N</code>r  r  s     rK   depart_literalzHTMLTranslator.depart_literal  s    	#####rL   c                     | j                             |                     |ddd                     d|d         v r| j                             d           d S d S )Nr(  r.   literal-blockr?  r  r   z<code>r  r  s     rK   visit_literal_blockz"HTMLTranslator.visit_literal_block  s_    	tUBoNNOOOT)_$$IX&&&&& %$rL   c                     d|d         v r| j                             d           | j                             d           d S )Nr  r   r  z</pre>
r  r  s     rK   depart_literal_blockz#HTMLTranslator.depart_literal_block  sC    T)_$$IY'''	$$$$$rL   )r   r  formula)r(  ttmath)r   r.   r.   )r   r  r  r   latexmathmlr  r.   c           
           j          j        vr/ j        j                            d j          d           d _          j         j                  |dk             } j         j                  d         }ddddd	}| j                  |dk             } j         d
k    r j        r j        d         dk    rd }|                                                    t          j	                  }|r	 ||||fz  }n# t          $ r ||z  }Y nw xY w j         dv r                     |          } j         dk    rz j        ss	  j        d          _        n/# t          $ r"  j        j                            d           Y nw xY wd j        vr xj        dz  c_         j         j        z  g _        n j         dk    rj j        r8 j        s1 fd j        d                             d          D              _        |dk    t$          j        _        t%          j        |          }n j         d
k    rd j        v r j         _         j         _        d                     j                                                  }	 |dk    r t7          j        | j        j                  }n|dk    r t7          j        | j        j                  }n|dk    r#t7          j        ||  j        j                  }n`|dk    r!t7          j        | j        j                  }n9|stA          j!        ||           }n j        j                            d           ns# tD          $ r tE          d          tF          $ rM}	 j        j                            |	|          }
 $                    |
            j%        &                     '                    |d                       j%        &                    d                    |	j(                              j%        &                    d!            j%        &                     '                    |d"d#$                      j%        &                                         |                      j%        &                    d%            )                    |
           tT          j+        d }	~	ww xY w|rA j%        &                     '                    ||d&tY          |          z  |'                      j%        &                    |           |r j%        &                    d&           |r j%        &                    d(|z             |r j%        &                    d&           tT          j+        ))Nzmath-output format "z'" not supported falling back to "latex"r  r.   r]  )z$%s$\begin{%s}
%s
\end{%s})NN)z\(%s\)r  r  r  r   	blahtexml)r  r  r  z@No MathJax URL specified, using local fallback (see config.html)?z?config=TeX-AMS_CHTMLr   c                 x    g | ]6}                     t          j        |j        j                  d           7S )T)r   )r   r   find_file_in_dirsr^   stylesheet_dirs)r   srI   s     rK   r   z-HTMLTranslator.visit_math.<locals>.<listcomp>  s^     $E $E $E  %)$8$8+At}/LMM $ %9 %& %& $E $E $ErL   r  zXHTML 1r   latexmlttm)inliner   pandoc)r   )r  z3option "%s" not supported with math-output "MathML"zis "latexmlmath" in your PATH?)	base_noder=  rD  r(  r  r?  r.  re   r)  </%s>)-r   	math_tagsrO   r   r   r   r   rX   r   uni2tex_table	TypeErrorr   r   mathjax_urlr  warningmathjax_scriptrw   r   DocumentParametersdisplaymoder  doctype_mathmlcontent_type_mathmlr   rg   r   r   r  r  r  r  r   
tex2mathmlr   SyntaxErrorvisit_system_messager7   r   r  argsdepart_system_messager   r  r   )rI   r   math_envr  clsargwrapperswrapper	math_code	converterr   err_nodes   `          rK   
visit_mathzHTMLTranslator.visit_math  sY    4>11M"((*t'7 * * *+ + +  'DnT-.x2~> 01!4 C)DH  4+,X^<((- ),Q/;>>GKKMM++K,EFF	 	00#xH&EE		 0 0 0#i/			0 333I..Iy((1A(D#'#;A#>   D D D&.. 0C D D D D DD $***  $;;   $ 3d6F FGD''' E0@ E$E $E $E $E "5a8>>sCC$E $E $E 
 9ABI(4!+I66II))DL((#2$($<!!9::@@BBI#%	)) 1 9$-t}/E!G !GII%'' 1 5$-t}/E!G !GII+-- 1 ;$-08L-1]-C!E !E !EII (** 1 8$--1]-C!E !E !EII # N , 7$-8|!F !F !FII M*00 2M N N N @ @ @>??? % % %=177t7LL))(333	  tS!9!9:::	  #(!3!3444	  ***	  tU5D "/ "F "F G G G	  Y!7!7888	  ...**8444n$%  	:IT]]426tH~~2E17 + 9 9 : : : 		### 	#IT""" 	,IWs]+++ 	#IT"""ns>   *C3 3DD9E )E87E8:CM #S4ER<<Sc                     d S rE   r   r  s     rK   depart_mathzHTMLTranslator.depart_math  r  rL   c                 v    t          |                                          }|                     ||           d S )N)r  )r   r   r  )rI   r   r  s      rK   visit_math_blockzHTMLTranslator.visit_math_block   s3    (77x00000rL   c                     d S rE   r   r  s     rK   depart_math_blockz HTMLTranslator.depart_math_block$  r  rL   c                 x    | j                              | j        |dfi |                                           d S )Nr=   )r=   r   r  non_default_attributesr  s     rK   
visit_metazHTMLTranslator.visit_meta)  s\    	tV H H)-)D)D)F)FH H 	I 	I 	I 	I 	IrL   c                     d S rE   r   r  s     rK   depart_metazHTMLTranslator.depart_meta-  r  rL   c                 h    | j                             |                     |ddd                     d S )Nr  r.   optionr?  r  r  s     rK   visit_optionzHTMLTranslator.visit_option0  s2    	tVRxHHIIIIIrL   c                     | j                             d           t          |                    dd          t          j                  r| j                             d           d S d S )Nr  FTr}  , )r7   r   r   r  r   r  r  s     rK   depart_optionzHTMLTranslator.depart_option3  sg    	###dnnUTnBBl$ $ 	#IT"""""	# 	#rL   c                     | j                             |                    dd                     | j                             |                     |dd                     d S )N	delimiterr   varr.   )r7   r   r   r  r  s     rK   visit_option_argumentz$HTMLTranslator.visit_option_argument9  sR    	+s33444	tUB7788888rL   c                 :    | j                             d           d S )Nz</var>r  r  s     rK   depart_option_argumentz%HTMLTranslator.depart_option_argument=  rt  rL   c                     | j                             |                     |dd                     | j                             d           d S )Nr,  r.   z<kbd>r  r  s     rK   visit_option_groupz!HTMLTranslator.visit_option_group@  sD    	tT266777	!!!!!rL   c                 :    | j                             d           d S )Nz</kbd></dt>
r  r  s     rK   depart_option_groupz"HTMLTranslator.depart_option_groupD  s    	)))))rL   c                 f    | j                             |                     |dd                     d S )Nr  zoption-listr?  r  r  s     rK   visit_option_listz HTMLTranslator.visit_option_listG  s;    	MM$MM::	< 	< 	< 	< 	<rL   c                 :    | j                             d           d S r  r  r  s     rK   depart_option_listz!HTMLTranslator.depart_option_listK  r  rL   c                     d S rE   r   r  s     rK   visit_option_list_itemz%HTMLTranslator.visit_option_list_itemN  r  rL   c                     d S rE   r   r  s     rK   depart_option_list_itemz&HTMLTranslator.depart_option_list_itemQ  r  rL   c                     d S rE   r   r  s     rK   visit_option_stringz"HTMLTranslator.visit_option_stringT  r  rL   c                     d S rE   r   r  s     rK   depart_option_stringz#HTMLTranslator.depart_option_stringW  r  rL   c                 2    |                      |d           d S )NorganizationrP  r  s     rK   visit_organizationz!HTMLTranslator.visit_organizationZ  s    n55555rL   c                 .    |                                   d S rE   rS  r  s     rK   depart_organizationz"HTMLTranslator.depart_organization]  rU  rL   c                 d    | j                             |                     |dd                     d S )Nr=  r.   r  r  s     rK   visit_paragraphzHTMLTranslator.visit_paragrapho  s.    	tS"5566666rL   c                     | j                             d           t          |j        t          j        t          j        f          rt          |j                  dk    s| j                             d           d S d S )NrM  r   re   )r7   r   r   rI  r   	list_itementryr  r  s     rK   depart_paragraphzHTMLTranslator.depart_paragraphr  sn    	   4;%+(FGG 	#%%**IT""""" +*rL   c                 B   |                     d          r>| j                            d|d         z             | j                            d           n| j                            d           | j                            |                     |ddd                     d S )Nr  z<a href="#%s">rK  r.   r  problematicr?  )hasattrr7   r   r   r  r  s     rK   visit_problematicz HTMLTranslator.visit_problematicx  s    <<   	$I-W=>>>L''''L###	tVR}MMNNNNNrL   c                     | j                             d           | j                             | j                                                   d S r  rE  r  s     rK   depart_problematicz!HTMLTranslator.depart_problematic  sB    	###	))++,,,,,rL   c                    d|                     dd                                          v rt          |j        t          j                  rd}nd}|d         r0| j                            |                     ||d                     | j                            |	                                           |d         r| j                            d|z             t          j
        )	Nr   formatr.   r  r   r   r   r  )r   rw   r   rI  r   rr  r7   r   r  r   r  )rI   r   r   s      rK   	visit_rawzHTMLTranslator.visit_raw  s    TXXh++113333$+u'899   I J	  tWR!H!HIIIIT[[]]+++I 4	  7!2333nrL   c                    ddi}d|v rh|d         |d<   | j         j        r@|d                             d          r%|                     |d                   |d<   d| _        |dxx         dz  cc<   n,d|v s
J d	            d
|d         z   |d<   |dxx         dz  cc<   t          |          dk    r0t          |d         t          j                  r|dxx         dz  cc<   t          |j	        t          j
                  sEt          |          dk    r t          |d         t          j                  sJ |dxx         dz  cc<   | j                             | j        |ddfi |           d S )Nr   rs  refurir  zmailto:Tz	 externalr  z3References must have "refuri" or "refid" attribute.r  z	 internalr   r   z image-referencer  r.   )r^   r   r   r   r   r  r   r   imagerI  rr  r7   r   r  r  s      rK   visit_referencezHTMLTranslator.visit_reference  s   %t>DL3 &L++I66&#00f>>V!%MMM[(MMMMd???H #??g.DLMMM[(MMMt99>>ja%+>>>MMM//MMM$+u'899 	0t99>>ja%+&F&F>>>MMM//MMM	tS"====>>>>>rL   c                     | j                             d           t          |j        t          j                  s| j                             d           d| _        d S )NrK  re   F)r7   r   r   rI  r   rr  r   r  s     rK   depart_referencezHTMLTranslator.depart_reference  sP    	   $+u'899 	#IT"""rL   c                 6    |                      |dd           d S )NrevisionFr'  rP  r  s     rK   visit_revisionzHTMLTranslator.visit_revision  s#    ju=====rL   c                 .    |                                   d S rE   rS  r  s     rK   depart_revisionzHTMLTranslator.depart_revision  rU  rL   c                 r    | j                             |                     |dd                     d|_        d S )Ntrr.   r   )r7   r   r  r  r  s     rK   	visit_rowzHTMLTranslator.visit_row  s3    	tT266777rL   c                 :    | j                             d           d S )Nz</tr>
r  r  s     rK   
depart_rowzHTMLTranslator.depart_row  r  rL   c                 h    | j                             |                     |ddd                     d S )Nr=  r.   rubricr?  r  r  s     rK   visit_rubriczHTMLTranslator.visit_rubric  s2    	tS"HEEFFFFFrL   c                 :    | j                             d           d S rC  r  r  s     rK   depart_rubriczHTMLTranslator.depart_rubric  rt  rL   c                     | xj         dz  c_         | j                            |                     |dd                     d S )Nr   r   sectionr?  )r   r7   r   r  r  s     rK   visit_sectionzHTMLTranslator.visit_section  sO    a	MM$YM77	9 	9 	9 	9 	9rL   c                 Z    | xj         dz  c_         | j                            d           d S )Nr   r|  )r   r7   r   r  s     rK   depart_sectionzHTMLTranslator.depart_section  s2    a	$$$$$rL   c                 t    | j                             |                     |dd                     d| _        d S )Nr   sidebarr?  T)r7   r   r  r   r  s     rK   visit_sidebarzHTMLTranslator.visit_sidebar  s<    	MM$YM77	9 	9 	9rL   c                 H    | j                             d           d| _        d S )Nr|  F)r7   r   r   r  s     rK   depart_sidebarzHTMLTranslator.depart_sidebar  s#    	$$$rL   c                 6    |                      |dd           d S )NstatusFr'  rP  r  s     rK   visit_statuszHTMLTranslator.visit_status  s#    hU;;;;;rL   c                 .    |                                   d S rE   rS  r  s     rK   depart_statuszHTMLTranslator.depart_status  rU  rL   c                 d    | j                             |                     |dd                     d S )Nstrongr.   r  r  s     rK   visit_strongzHTMLTranslator.visit_strong  s.    	tXr::;;;;;rL   c                 :    | j                             d           d S )Nz	</strong>r  r  s     rK   depart_strongzHTMLTranslator.depart_strong  s    	%%%%%rL   c                 d    | j                             |                     |dd                     d S )Nr   r.   r  r  s     rK   visit_subscriptzHTMLTranslator.visit_subscript  .    	tUB7788888rL   c                 :    | j                             d           d S )Nz</sub>r  r  s     rK   depart_subscriptzHTMLTranslator.depart_subscript  rt  rL   c                     t           j        )zInternal only.r   r  r  s     rK   visit_substitution_definitionz,HTMLTranslator.visit_substitution_definition  
    nrL   c                 0    |                      |           d S rE   )unimplemented_visitr  s     rK   visit_substitution_referencez+HTMLTranslator.visit_substitution_reference  s      &&&&&rL   c                 p   t          |j        t          j                  rdg}nat          |j        t          j                  r dg}t          | j                  dz   | _        n"t          |j        t          j                  rdg}| j        	                    | 
                    |dd|                     d S )Nzsidebar-subtitler:   r   zsection-subtitler=  r.   r4  )r   rI  r   r8  rO   r  r7   r   r3  r   r  r  s      rK   visit_subtitlezHTMLTranslator.visit_subtitle  s    dk5=11 	+)*GGU^44 	+!lG%(^^a%7D""U]33 	+)*G	tS"gFFGGGGGrL   c                 L   | j                             d           t          |j        t          j                  rj| j         | j        d         | _        d| _        | j        	                    | j                    | j
        	                    | j                    | j         d d = d S d S )NrD  r  r   )r7   r   r   rI  r   rO   r   r:   r5   r   rB   r  s     rK   depart_subtitlezHTMLTranslator.depart_subtitle  s    	"""dk5>22 	 Id&<R&?@DM%&D"!((333%%di000	!!!	 	rL   c                 d    | j                             |                     |dd                     d S )Nsupr.   r  r  s     rK   visit_superscriptz HTMLTranslator.visit_superscript  rH  rL   c                 :    | j                             d           d S )Nz</sup>r  r  s     rK   depart_superscriptz!HTMLTranslator.depart_superscript  rt  rL   c                 ~   | j                             |                     |dd                     | j                             d           d}t          |d                   ri|d         }t          |          dk    rd|d	         z  }nBd}g }|D ]#}|                    d
|d|d           |dz  }$dd                    |          z  }|                    d          rd|d         z  }nd}| j                             d|d         d|d         d|                     |d                   d|d|d           d S )Nr2  zsystem-messager?  z <p class="system-message-title">r.   r  r   z%; <em><a href="#%s">backlink</a></em>r   z
<a href="#r  rK  z; <em>backlinks: %s</em>r  r  z	, line %szSystem Message: ry  r[  levelz! (<span class="docutils literal">r  r  r;  rD  )r7   r   r  r  rg   r  r   )rI   r   backref_textr  r"  r  backrefr  s           rK   r  z#HTMLTranslator.visit_system_message	  s   	tW<LMMNNN	;<<<tJ   	8J'H8}}!! G"*1+!. 	'  G$$$www%JKKKFAA :"&))I"6"6!7<< 	f-DDD	 LLL$w--- KKX7777|||M 	N 	N 	N 	N 	NrL   c                 :    | j                             d           d S r7  r  r  s     rK   r  z$HTMLTranslator.depart_system_message#  r$  rL   c                 4   d| j         j                            dd                                          i}d|v r$|d                             d|d         z             d|v rd|d         z  |d<    | j        |d	fi |}| j                            |           d S )
Nr   r  r   r7  r_  r6  z
width: %s;r  r   )r^   r  r   rw   r   r  r7   )rI   r   r   r  s       rK   visit_tablezHTMLTranslator.visit_table&  s    4=4<<S#FFLLNNOd??O"":W#=>>>d??(4=8DMdmD'22T22	rL   c                 :    | j                             d           d S )Nz	</table>
r  r  s     rK   depart_tablezHTMLTranslator.depart_table/  r$  rL   c                     d|vrUd|vrQd|vrM| j                             |                     |ddd                     | j                            d           d S | j                            d           d S )	Nr  r  r  r  r.   targetr?  r  )r7   r   r  r   r  s     rK   visit_targetzHTMLTranslator.visit_target2  s    D  4''T))IT]]48]LLMMML	*****L#####rL   c                 h    | j                             | j                                                   d S rE   rE  r  s     rK   depart_targetzHTMLTranslator.depart_target;  r  rL   c                 b    | j                             |                     |d                     d S )Ntbodyr  r  s     rK   visit_tbodyzHTMLTranslator.visit_tbody?  ,    	tW5566666rL   c                 :    | j                             d           d S )Nz	</tbody>
r  r  s     rK   depart_tbodyzHTMLTranslator.depart_tbodyB  r$  rL   c           
      "   d|j         j         d         v r2| j                            |                     |dd                     d S | j                            |                     |dd|j         d         |j         d                              d S )	Nr  r   summaryr.   r  r,  r   )r   r   r   r  r  s     rK   
visit_termzHTMLTranslator.visit_termE  s    *9555IT]]42]FFGGGGG IT]]4b37;y3I/3{5/A + C C D D D D DrL   c                     d S rE   r   r  s     rK   depart_termzHTMLTranslator.depart_termN  s	     	rL   c                 "    g | _         g |_        d S rE   )r   r  r  s     rK   visit_tgroupzHTMLTranslator.visit_tgroupS  s    


rL   c                     d S rE   r   r  s     rK   depart_tgroupzHTMLTranslator.depart_tgroupW  r  rL   c                 b    | j                             |                     |d                     d S )Nr  r  r  s     rK   visit_theadzHTMLTranslator.visit_theadZ  rl  rL   c                 :    | j                             d           d S )Nz	</thead>
r  r  s     rK   depart_theadzHTMLTranslator.depart_thead]  r$  rL   c                 J   i }| j         | j        z   dz
  }dt          |d          z  }|dk    r||d<    | j        ||dfi |}|                    d          rDi }d|d<   d	|d
<   d|d         z   |d<   | | j        t          j                    ddfi |z  }d|z  }nd|z  }||fS )Nr   zh%i   z
aria-levelr.   r  ztoc-backrefr   zdoc-backlinkrw  r  r  r  z
</a></%s>
r  )r   r   minr  r  r   rs  )rI   r   r   h_levelr   	start_tag	close_tags          rK   section_title_tagsz!HTMLTranslator.section_title_tags`  s    $t'@@1D#gq//)Q;;!(D!DM$<<t<<	<<   	,D)DM)DLg.DLu'8'8#rJJTJJJI%/II!G+I)##rL   c                 J   d}t          |j        t          j                  r3| j                            |                     |ddd                     nt          |j        t          j                  r3| j                            |                     |ddd                     nbt          |j        t          j                  r3| j                            |                     |ddd                     nt          |j        t          j	                  r2| j                            |                     |dd                     d	}nt          |j        t          j
                  rM| j                            |                     |d
dd                     d}t          | j                  | _        nSt          |j        t          j                  sJ |                     |          \  }}| j                            |           | j                            |           d S )NrD  r=  r.   ztopic-titler?  zsidebar-titlezadmonition-titlerp  z</caption>
h1r9   z</h1>
)r   rI  r   topicr7   r   r  r8  
Admonitionr   rO   r  r   r3  r  r   )rI   r   r  r  s       rK   visit_titlezHTMLTranslator.visit_titles  s   	dk5;// 	(IdC=AAC C C CU]33 	(IdC?CCE E E EU%566 	(I--c25G-HHJ J J JU[11 	(I--i446 6 6&IIU^44 	(IT]]4r]IIJJJ!I%(^^D""dk5=99999#'#:#:4#@#@ IyIY'''I&&&&&rL   c                 J   | j                             | j                                                   | j        rj| j         | j        d         | _        d| _        | j                            | j                    | j                            | j                    | j         d d = d S d S )Nr  r   )	r7   r   r   r   r   r9   r5   r   rA   r  s     rK   depart_titlezHTMLTranslator.depart_title  s    	))++,,,! 	4#9"#<=DJ%&D"!((333O""49---	!!!	 	rL   c                 d    | j                             |                     |dd                     d S )Nciter.   r  r  s     rK   visit_title_referencez$HTMLTranslator.visit_title_reference  r  rL   c                 :    | j                             d           d S )Nz</cite>r  r  s     rK   depart_title_referencez%HTMLTranslator.depart_title_reference  r  rL   c                 f    | j                             |                     |dd                     d S )Nr   r  r?  r  r  s     rK   visit_topiczHTMLTranslator.visit_topic  s0    	tU'BBCCCCCrL   c                 :    | j                             d           d S r  r  r  s     rK   depart_topiczHTMLTranslator.depart_topic  r  rL   c                 f    | j                             |                     |dd                     d S )Nhrrj   r?  )r7   r   r  r  s     rK   visit_transitionzHTMLTranslator.visit_transition  s0    	tTDDEEEEErL   c                     d S rE   r   r  s     rK   depart_transitionz HTMLTranslator.depart_transition  r  rL   c                 6    |                      |dd           d S )Nrf   Fr'  rP  r  s     rK   visit_versionzHTMLTranslator.visit_version  r  rL   c                 .    |                                   d S rE   rS  r  s     rK   depart_versionzHTMLTranslator.depart_version  rU  rL   c                 :    t          d|j        j        z            )Nz$visiting unimplemented node type: %s)NotImplementedErrorrJ   rq   r  s     rK   rP  z"HTMLTranslator.unimplemented_visit  s$    !"H$(N$;#< = = 	=rL   rE   )re   F)re   )r   )T)r.   )rq   rr   rs   __doc__r  r  r   r   rj   rk   r   r  r  r  r   r   rn  compiler  r  r   ordr   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r!  r#  r+  r0  r5  r9  r@  rA  rF  rK  rN  rQ  rT  rX  rZ  r_  rg  rl  rn  rq  rs  rz  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  r  r  r  r  r  r  r  r  r  r$  r&  r(  r*  r-  r/  r1  r3  r8  r:  r=  r@  rD  rF  rI  rL  rP  rR  rT  rV  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  r  r  r  r
  r  r  r  r  r  r  r   r"  r%  r'  r*  r,  r/  r1  r4  r6  r9  r;  r>  r@  rC  rE  rG  rJ  rM  rQ  rS  rU  rX  rZ  r  r  ra  rc  rf  rh  rk  rn  rq  rs  ru  rw  ry  r{  r  r  r  r  r  r  r  r  r  r  r  rP  r   rL   rK   r~   r~      s       6 6p "GNN,L	1H4H 	1 	1 	1  $):>> KNAK NOE!rz"233#$677N#c((G#c((F#c((H#c((F#c((G	 NM M M^7 7 77 7 7' ' '7 7 7 %"*^44   8 8 8 8*@N @N @N @NDN N N N
( 
( 
( 
(" " "  : : :$ $ $= = =' ' 'D D D
# # #O O O' ' ' ' $2*4%/#+- -
C C C8 8 8     
' ' '1 1 1# # #< < <, , ,  ", , ,&< < <$ $ $H H H# # #@ @ @) ) )
> 
> 
>" " "N N N$ $ $> > >
* * *$ %"*X..2   G G G% % %D D D% % %= = =# # #3 3 3# # #. . .# # #    < < <( ( (I I I( ( (E E E- - -8 8 8$ $ $E E E  D D D D$ $ $O O O' ' 'C C C
G G G08 8 8" " "9 9 9(- - -< < <$ $ $< < <$$ $ $    H H H@ @ @( ( ($ $ $= = =% % %, , ,  	= 	= 	=+ + +> > >! ! !
! ! !  , , ,  N N N`  : : :$ $ $? ? ?4 4 4E E E% % %' ' '
% % %I I I% % %8 8 8$ $ $  0$ $ $' ' '
% % % 4/*3 Il l l l\  1 1 1  
I I I  J J J# # #9 9 9# # #" " "* * *< < <$ $ $        6 6 6# # #$7 7 7# # #O O O- - -  ? ? ?*  > > ># # #  $ $ $G G G# # #9 9 9
% % %
  
     < < <# # #< < <& & &9 9 9# # #  ' ' 'H H H  9 9 9# # #N N N4' ' '  ' ' '$ $ $- - -7 7 7' ' 'D D D  
    7 7 7' ' '$ $ $&' ' '8  : : :$ $ $D D D% % %F F F  = = =# # #= = = = =rL   r~   c                       e Zd ZdZd Zd Zd Zd ZeZeZ	eZ
eZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZ eZ!eZ"dS )r\  a  
    Raise `nodes.NodeFound` if non-simple list item is encountered.

    Here "simple" means a list item containing nothing other than a single
    paragraph, a simple list, or a paragraph followed by a simple list.

    This version also checks for simple field lists and docinfo.
    c                     t           j        rE   )r   r^  r  s     rK   default_visitzSimpleListChecker.default_visit  s
    orL   c                    d |j         D             }|rt          |d         t          j                  rtt          |d         t          j                  s@t          |d         t          j                  s t          |d         t          j                  r|                                 t          |          dk    rd S t          j	        )Nc                 F    g | ]}t          |t          j                  |S r   r  )r   r  s     rK   r   z5SimpleListChecker.visit_list_item.<locals>.<listcomp>  s8     ? ? ?e%eU_==?E ? ? ?rL   r   r  r   )
r  r   r   	paragraphrf  re  rc  r   r  r^  )rI   r   r  s      rK   r  z!SimpleListChecker.visit_list_item  s    ? ?t} ? ? ? 	HQKAA 	HRL%*;<<	x|U-BCC	 x|U-=>>	 LLNNNx==AF/!rL   c                     d S rE   r   r  s     rK   	pass_nodezSimpleListChecker.pass_node  r  rL   c                     t           j        rE   rL  r  s     rK   ignore_nodezSimpleListChecker.ignore_node  rN  rL   N)#rq   rr   rs   r  r  r  r  r  r  r  rl  r  r  rK  rQ  r+  r  r  r  r
  r>  r  r  r  rq  r  r  r$  r(  r1  r-  r  rM  rf  visit_pendingr   rL   rK   r\  r\    s           " " "    
 J!O "%M L#M#MM!OJ$L#M &!*J & !K&"  M$/!LMMMrL   r\  )"r  ru  rh  r  os.pathrn  urllib.requestr   rt  r   r   rj   r   r   r   r   r	   docutils.parsers.rst.directivesr
   &docutils.parsers.rst.directives.imagesr   docutils.transformsr   docutils.utils.mathr   r   r   r   r   r   r   r~   GenericNodeVisitorr\  r   rL   rK   <module>r     s  " 3 2      				  				 1 1 1 1 1 1 ' ' ' ' ' '   ? ? ? ? ? ? ? ? ? ? ? ? ? ? L L L L L L 6 6 6 6 6 6 * * * * * *M M M M M M M M M M M M M MJ< J< J< J< J<W^ J< J< J<Z@= @= @= @= @=U& @= @= @=F0H  H  H  H  H 0 H  H  H  H  H rL   