403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/site-packages/docutils/writers/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/site-packages/docutils/writers/__pycache__/_html_base.cpython-39.pyc
a

OԼaa�@sdZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZddlmZddlmZmZmZmZmZejd	kr�dd
lmZndd
lmZejd	kr�e Z!Gdd�de
j"�Z"Gd
d�dej#�Z$Gdd�dej%�Z&dS)z,common definitions for Docutils HTML writers�N)�frontend�	languages�nodes�utils�writers)� length_or_percentage_or_unitless)�PIL)�
SafeString)�
writer_aux)�unichar2tex�pick_math_environment�	math2html�latex2mathml�tex2mathml_extern)�r)�url2pathnamec@s�eZdZdZddddgddifdd	gd
dejd�fd
dgddejd�fddgdejd�fddgddejd�fddgddd�fdd gd!��d"d#d$�fd%d&gd'd(gd(d)d*d+�fd,d-ggd.�d/d)d$�fd0d1gd2dejd�fd3d4gd5dd�fd6d7gd2dejd�fd8d9gd:dd�fd;d<gd=d>ifd?d@gd=dAifdBdCgdDdejd�fdEdFgdGdd�fdHdIgdejdJ�fffZdKdLiZ	dMZ
dNZdOZdPdQ�Z
dRdS�ZdTdU�ZdVdW�ZdXdY�ZdS)Z�Writer)�htmlZxhtmlzHTML 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�	validatorz�Comma 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,...]>�
stylesheetz�Comma-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,...]>)rrzvEmbed the stylesheet(s) in the output HTML file.  The stylesheet files must be accessible during processing. (default)z--embed-stylesheet��
store_true)�default�actionrz3Link to the stylesheet(s) in the output HTML file. z--link-stylesheet�embed_stylesheet�store_false)�destrz}Specify the initial header level. Does not affect document title & subtitle (see --no-doc-title).(default: writer dependent).z--initial-header-levelz1 2 3 4 5 6�2z<level>)�choicesrrzYFormat for footnote references: one of "superscript" or "brackets". (default: "brackets")z--footnote-referencesZsuperscriptZbracketsz<format>Ztrim_footnote_reference_space)r!rrrzyFormat for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none". (default: "dash")z
--attribution��dashZparenthesesZparensZnoner#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_listsz�Added 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.csszPrepend an XML declaration. z--xml-declarationFzOmit 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)rrZoutput_encoding_error_handler�xmlcharrefreplacezhtml writers)r)�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_bodycCstj�|�tjgS�N)rr�get_transformsr
ZAdmonitions��self�r?�?/usr/lib/python3.9/site-packages/docutils/writers/_html_base.pyr<�szWriter.get_transformscCsJ|�|j�|_}|j�|�|jD]}t||t||��q$|��|_dSr;)	Ztranslator_class�document�visitorZ	walkabout�visitor_attributes�setattr�getattr�apply_template�output)r>rB�attrr?r?r@�	translate�s

zWriter.translatecCs6t|jjjd�}t|��d�}|��|��}||S)N�rb�utf-8)�openrA�settings�template�unicode�read�close�interpolation_dict)r>Z
template_filerN�subsr?r?r@rF�s
zWriter.apply_templatecCsJi}|jj}|jD]}d�t||���d�||<q|j|d<tj|d<|S)Nr&�
�encoding�version)	rArMrC�joinrE�rstrip�output_encoding�docutils�__version__)r>rSrMrHr?r?r@rR�s


zWriter.interpolation_dictcCs2tj�|�|jD]}d�t||��|j|<qdS�Nr&)rr�assemble_partsrCrWrE�parts)r>�partr?r?r@r]�s
zWriter.assemble_parts)�__name__�
__module__�__qualname__Z	supportedrZvalidate_comma_separated_listZvalidate_boolean�splitZ
settings_specZsettings_defaultsZconfig_sectionZconfig_section_dependenciesrCr<rIrFrRr]r?r?r?r@r-s����������������������������
��Z	rc
@seZdZdZdZdZeZdZdZdZ	dZ
dZd	Zd
Z
e�d�Ze�dej�Zd
Zed�ded�ded�ded�ded�diZdd�Zdd�Zdd�Zdd�Zd d!�Ze�d"�fd#d$�Z�d�d&d'�Z�d�d*d+�Z�d�d,d-�Z�d�d/d0�Zd1d2�Z d3d4�Z!d5d6�Z"d7d8�Z#d9d:�Z$d;d<�Z%d=d>�Z&d?d@�Z'dAdB�Z(�d�dCdD�Z)dEdFdFdGdH�Z*dIdJ�Z+dKdL�Z,dMdN�Z-dOdP�Z.dQdR�Z/dSdT�Z0dUdV�Z1dWdX�Z2dYdZ�Z3d[d\�Z4d]d^�Z5d_d`�Z6dadb�Z7dcdd�Z8dedf�Z9dgdh�Z:didj�Z;dkdl�Z<dmdn�Z=dodp�Z>dqdr�Z?dsdt�Z@e�du�jAfdvdw�ZBdxdy�ZCdzd{�ZDd|d}�ZEd~d�ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNd�d��ZOd�d��ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZX�d�d�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d��Z`d�d��Zad�d��Zbd�d��Zcd�d��Zdd�d��Zed�d��Zfd�d„Zgd�dĄZhd�dƄZid�dȄZjd�dʄZkd�d̄Zld�d΄Zmd�dЄZnd�d҄Zod�dԄZpd�dքZqd�d؄Zrd�dڄZsd�d܄Ztd�dބZud�d�Zvd�d�Zwd�d�Zxd�d�Zyd�d�Zzd�d�Z{d�d�Z|d�d�Z}d�d�Z~d�d�Zd�d�Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d�d��Z�d��d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d	�d
�d�d�d
�Z��d��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d�Z��d�d �Z��d!�d"�Z��d#�d$�Z��d%�d&�Z��d'�d(�Z��d)�d*�Z��d+�d,�Z��d-�d.�Z��d/�d0�Z��d1�d2�Z��d3�d4�Z��d5�d6�Z��d7�d8�Z��d9�d:�Z��d;�d<�Z��d=�d>�Z��d?�d@�Z��dA�dB�Z��dC�dD�Z��dE�dF�Z��dG�dH�Z��dI�dJ�Z��dK�dL�Z��dM�dN�Z��dO�dP�Z��dQ�dR�Z��dS�dT�Z��dU�dV�Z��dW�dX�Z��dY�dZ�Z��d[�d\�Z��d]�d^�Z��d_�d`�Z��da�db�Z��dc�dd�Z��de�df�Z��dg�dh�Z��di�dj�Z��dk�dl�Z��dm�dn�Z��do�dp�Z��dq�dr�Z��ds�dt�Z��du�dv�Z��dw�dx�Z��dy�dz�Z��d{�d|�Zd}�d~�ZÐd�d��ZĐd��d��ZŐd��d��ZƐd��d��Zǐd��d��ZȐd��d��Zɐd��d��Zʐd��d��Zːd��d��Z̐d��d��Z͐d��d��Zΐd��d��Zϐd��d��ZАd��d��Zѐd��d��ZҐd��d��ZӐd��d��ZԐd��d��ZՐd��d��Z֐d��d��Z�d%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%<?xml version="1.0" encoding="%s" ?>
z<!DOCTYPE html>
zW<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="%(lang)s" lang="%(lang)s">
<head>
z<meta charset="%s"/>
zR<meta name="generator" content="Docutils %s: http://docutils.sourceforge.net/" />
z2<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;cs�tj��|�|j�_}|j}t�||j��_�j	t
jg�_g�_
g�_|jrt�j
��j|j��j��j��jdd��_�fdd�t�|�D��_dg�_g�_g�_g�_g�_dg�_d�_t|j��_t|dd��_ t|dd�du�rt!j"d	t#d
d��j dk�rd�_ t|dd�d
u�r<t!j"dt#d
d��j dk�rNd�_ |j$�%��_$�j$dd��_&�j$d�'��_$g�_(g�_)d�_*d
�_+d
�_,d
�_-d
�_.g�_/g�_0g�_1g�_2�j3g�_4g�_5g�_6g�_7d�_8d
�_9d
�_:g�_;dS)Ncsg|]}��|��qSr?)�stylesheet_call)�.0�pathr=r?r@�
<listcomp>-s�z+HTMLTranslator.__init__.<locals>.<listcomp>z</head>
<body>
z</body>
</html>
r�
image_loadingZembed_imagesTzeThe configuration setting "embed_images" will be removed in Docutils 1.2. Use "image_loading: embed".�)�
stacklevel�embedFzdThe configuration setting "embed_images" will be removed in Docutils 1.2. Use "image_loading: link".�linkr)<r�NodeVisitor�__init__rM�
language_coderZget_language�reporter�language�	generatorrZr[r4r)r6r'�appendrYr*rZget_stylesheet_listrr+r,r-r.r5r/�
section_level�int�initial_header_levelrErp�warnings�warn�
FutureWarning�math_outputrc�math_output_options�lower�context�colspecs�	compact_p�compact_simpleZcompact_field_listZ
in_docinfo�
in_sidebarr0r1r2r3�content_typer7r8r9r:�in_document_title�	in_mailtoZauthor_in_authors�math_header)r>rArMZlcoder?r=r@rvsv
�
���
zHTMLTranslator.__init__cCs6d�|j|j|j|j|j|j|j|j�Sr\)	rWr)r*rr+r,r-r.r/r=r?r?r@�astextes������zHTMLTranslator.astextcCst|�}|�|j�S)z-Encode special characters in `text` & return.)rOrI�special_characters)r>�textr?r?r@�encodekszHTMLTranslator.encodecCs|�dd�S)z*Try to hide a mailto: URL from harvesters.rj�%40��replace)r>�urir?r?r@�cloak_mailtosszHTMLTranslator.cloak_mailtocCs|�dd�}|�dd�}|S)z;Try to hide the link text of a email link from harversters.rkz<span>&#64;</span>�.z<span>&#46;</span>r�)r>Zaddrr?r?r@�cloak_emailzszHTMLTranslator.cloak_emailz[

	]cCs<|�|�d|��}|jr8|jjr8|�dd�}|�dd�}|S)z6Cleanse, HTML encode, and return attribute value text.� r�z&#37;&#52;&#48;r�z&#46;)r��subr�rM�cloak_email_addressesr�)r>r�Z
whitespace�encodedr?r?r@�attval�s
zHTMLTranslator.attvalNc
Cs�|durt|jj�}|jjr�z&tjj|dd���}|jj�	|�WnLt
y�}z4d|t|j�f}|j
j�|�d|WYd}~Sd}~00|j|S|r�t�|jj|�}|j|�|�S)z8Return code to reference or embed stylesheet file `path`NrK)�source_pathrUz!Cannot embed stylesheet '%r': %s.z
<--- %s --->
)�boolrMrrrZ�ioZ	FileInputrP�record_dependencies�add�IOErrorr	�strerrorrArx�error�embedded_stylesheetr�
relative_pathZ_destination�stylesheet_linkr�)r>rn�adjust_pathZcontent�err�msgr?r?r@rl�s$�

�
zHTMLTranslator.stylesheet_callrTFc
s6|��}g}i}|��D]\}}	|	||��<q|�dg�}
g}|�dg�|�dd���D]<}|�d�r||�|dd��qZ|��rZ||
vrZ|
�|�qZ|r�|d||j<d�t	|t
j�ṙfd	d
�|
D�}
|
r�d�|
�|d<d|vs�J�|�d
g�}
|
�
|�d
g��|
�rx|
d|d<|
dd�D]P}|�sXt	|t
jt
jt
jt
jt
jt
jt
jf��rh|�d|�n|d|7}�q&t|���}|g}|D]v\}}	|	du�s�J�t	|	t��r�dd
�|	D�}|�d|��|�d�|��f�n |�d|��|�t|	��f��q�|�rd}nd}d�|�dd�|�|f|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-gridcsg|]}|�vr|�qSr?r?)rm�cls�Zinternalr?r@ro��z+HTMLTranslator.starttag.<locals>.<listcomp>r��id�idsrz<span id="%s"></span>cSsg|]}t|��qSr?)rO)rm�vr?r?r@ro�r�z%s="%s"z /z<%s%s>)r��items�pop�getrc�
startswithr{�strip�lang_attribute�
isinstancer�tablerW�extend�bullet_listr-�definition_list�enumerated_list�
field_listZoption_list�sorted�listr�rO)r>�node�tagname�suffix�empty�
attributes�prefix�atts�name�valuer�rr�r�r�Zattlistr^�valuesZinfixr?r�r@�starttag�sd 

���
�zHTMLTranslator.starttagcKs|j|||fddi|��S)z1Construct and return an XML-compatible empty tag.r�T)r�)r>r�r�r�r�r?r?r@�emptytag�szHTMLTranslator.emptytagrcCsBdd�|D�}z||}Wnty.YdS0|d�|�dS)z�
        Set class `class_` on the visible child no. index of `node`.
        Do nothing if node has fewer children than `index`.
        cSsg|]}t|tj�s|�qSr?�r�rZ	Invisible)rm�nr?r?r@ro�r�z5HTMLTranslator.set_class_on_child.<locals>.<listcomp>Nr�)�
IndexErrorr{)r>r��class_�index�children�childr?r?r@�set_class_on_child�sz!HTMLTranslator.set_class_on_childcCs:|��}|�|�}|jr*|jjr*|�|�}|j�|�dSr;)r�r�r�rMr�r�r.r{)r>r�r�r�r?r?r@�
visit_Text�s


zHTMLTranslator.visit_TextcCsdSr;r?�r>r�r?r?r@�depart_Text�szHTMLTranslator.depart_TextcCs|j�|�|dd��dS)NZabbrr&�r.r{r�r�r?r?r@�visit_abbreviation�sz!HTMLTranslator.visit_abbreviationcCs|j�d�dS)Nz</abbr>�r.r{r�r?r?r@�depart_abbreviationsz"HTMLTranslator.depart_abbreviationcCs|j�|�|dd��dS)NZacronymr&r�r�r?r?r@�
visit_acronymszHTMLTranslator.visit_acronymcCs|j�d�dS)Nz
</acronym>r�r�r?r?r@�depart_acronym
szHTMLTranslator.depart_acronymcCs.|j|ddd�|j�|j|dddd��dS)NZaddressF�r4�prer&�r��CLASS)�visit_docinfo_itemr.r{r�r�r?r?r@�
visit_address
s�zHTMLTranslator.visit_addresscCs|j�d�|��dS�N�
</pre>
)r.r{�depart_docinfo_itemr�r?r?r@�depart_addressszHTMLTranslator.depart_addresscCs|j�|j|ddgd��dS)N�asideZ
admonition�r�r�r�r?r?r@�visit_admonitionszHTMLTranslator.visit_admonitioncCs|j�d�dS�Nz	</aside>
r�r�r?r?r@�depart_admonitionsz HTMLTranslator.depart_admonition)u—r&)�(�))r&r&r"cCs<|j|jj\}}|j�|�|j�|j|d|dd��dS)N�p�attribution�r�)�attribution_formatsrMr�r�r{r.r�)r>r�r�r�r?r?r@�visit_attribution!s
�z HTMLTranslator.visit_attributioncCs|j�|j��d�dS�N�</p>
�r.r{r�r�r�r?r?r@�depart_attribution'sz!HTMLTranslator.depart_attributioncCs*t|jtj�s|�|d�|j�d�dS)NZauthorz<p>)r��parentr�authorsr�r.r{r�r?r?r@�visit_author*szHTMLTranslator.visit_authorcCs4|j�d�t|jtj�r(|j�d�n|��dS)N�</p>rT)r.r{r�r�rr�r�r�r?r?r@�
depart_author/szHTMLTranslator.depart_authorcCs|�|d�dS)Nr��r�r�r?r?r@�
visit_authors6szHTMLTranslator.visit_authorscCs|��dSr;�r�r�r?r?r@�depart_authors9szHTMLTranslator.depart_authorscCs|j�|�|d��dS)NZ
blockquoter�r�r?r?r@�visit_block_quote<sz HTMLTranslator.visit_block_quotecCs|j�d�dS)Nz</blockquote>
r�r�r?r?r@�depart_block_quote?sz!HTMLTranslator.depart_block_quotecCs8t|j�}z|�|�Wntjy.YdS0dSdS)z7Check for a simple list that can be rendered compactly.FTN)�SimpleListCheckerrA�walkr�	NodeFound)r>r�rBr?r?r@�check_simple_listBs
z HTMLTranslator.check_simple_listcCsxd|dvrdSd|dvr dSt|tjtjf�r>|jjs>dSt|tjtjf�r\|jjs\dSd|j	dvrndS|�
|�S)NZcompactr�TrLF�contents)r�rr�r�rMr%r�r�r$r�rr�r?r?r@�is_compactableSs��zHTMLTranslator.is_compactablecCsbi}|j}|j�|j|jf�d|_|�|�|_|jrB|sBd|d<|j�|j|dfi|���dS)N�simpler�Zul)r�r�r{r�rr.r�)r>r�r�Zold_compact_simpler?r?r@�visit_bullet_listfs
z HTMLTranslator.visit_bullet_listcCs"|j��\|_|_|j�d�dS)Nz</ul>
)r�r�r�r�r.r{r�r?r?r@�depart_bullet_listpsz!HTMLTranslator.depart_bullet_listcCs|j�|j|dddd��dS)Nr�r&�captionr�r�r�r?r?r@�
visit_captiontszHTMLTranslator.visit_captioncCs|j�d�dSr�r�r�r?r?r@�depart_captionwszHTMLTranslator.depart_captioncCs@t|��t|��s|j�d�|j�|j|d|jgdd��dS)Nz(<div role="list" class="citation-list">
�divzdoc-biblioentry�r��role)r�Zprevious_sibling�typer.r{r�r�r�r?r?r@�visit_citation{s
�zHTMLTranslator.visit_citationcCs8|j�d�|jddd�}t|t|��s4|j�d�dS)N�</div>
FT�ZdescendZsiblings)r.r{�	next_noder�r)r>r�rr?r?r@�depart_citation�szHTMLTranslator.depart_citationc
CsZd}d|vr||d7}nd|vr6||jj|d7}|j�|j|dd|dgdd��dS)	N�#�refid�refname�a�[zcitation-referencez
doc-biblioref)r��hrefr�r)rAZnameidsr.r{r�)r>r�r#r?r?r@�visit_citation_reference�s�z'HTMLTranslator.visit_citation_referencecCs|j�d�dS)Nz]</a>r�r�r?r?r@�depart_citation_reference�sz(HTMLTranslator.depart_citation_referencecCs|j�|j|dddd��dS)N�spanr&Z
classifierr�r�r�r?r?r@�visit_classifier�szHTMLTranslator.visit_classifiercCs|j�d�dS�N�</span>r�r�r?r?r@�depart_classifier�sz HTMLTranslator.depart_classifiercCs&|j�|�|jj�|j�d��dS)N�stub)r�r{r��stubsr�r�r�r?r?r@�
visit_colspec�szHTMLTranslator.visit_colspeccCs�t|jddd�tj�rdSd|jjdvsFd|jjvrJd|jjdvrJdStdd	�|jD��}|j	�
|�|d
��|jD]8}t|dd|d
�}|j	�
|j
|dd|d��qx|j	�
d�dS)NFTrr�r�r�r�css|]}|dVqdS)�colwidthNr?)rmr�r?r?r@�	<genexpr>�r�z0HTMLTranslator.depart_colspec.<locals>.<genexpr>Zcolgroupr.gY@g�?�colzwidth: %i%%)�stylez</colgroup>
)r�rrZcolspecr�rM�table_style�sumr�r.r{r�r}r�)r>r�Ztotal_widthr.r?r?r@�depart_colspec�s$�
��
�
zHTMLTranslator.depart_colspecz-(?=-)cCs$|j�d|d|����tj�dS)z%Escape double-dashes in comment text.z<!-- %s -->
z- N)r.r{r�r�SkipNode)r>r�r�r?r?r@�
visit_comment�szHTMLTranslator.visit_commentcCs|j�|j|ddd��dS)NrZcompoundr�r�r�r?r?r@�visit_compound�szHTMLTranslator.visit_compoundcCs|j�d�dS�Nrr�r�r?r?r@�depart_compound�szHTMLTranslator.depart_compoundcCs|j�|j|ddd��dS)Nrzdocutils containerr�r�r�r?r?r@�visit_container�szHTMLTranslator.visit_containercCs|j�d�dSr8r�r�r?r?r@�depart_container�szHTMLTranslator.depart_containercCs|j|ddd�dS)NZcontactFr�rr�r?r?r@�
visit_contact�szHTMLTranslator.visit_contactcCs|��dSr;rr�r?r?r@�depart_contact�szHTMLTranslator.depart_contactcCs|�|d�dS)N�	copyrightrr�r?r?r@�visit_copyright�szHTMLTranslator.visit_copyrightcCs|��dSr;rr�r?r?r@�depart_copyright�szHTMLTranslator.depart_copyrightcCs|�|d�dS)N�daterr�r?r?r@�
visit_date�szHTMLTranslator.visit_datecCs|��dSr;rr�r?r?r@�depart_date�szHTMLTranslator.depart_datecCsdSr;r?r�r?r?r@�visit_decoration�szHTMLTranslator.visit_decorationcCsdSr;r?r�r?r?r@�depart_decoration�sz HTMLTranslator.depart_decorationcCsDd|jjdvr|j�d�n"|j�d�|j�|�|dd��dS)N�detailsr�z</summary>
z</dt>
�ddr&�r�r.r{r�r�r?r?r@�visit_definition�szHTMLTranslator.visit_definitioncCs d|jjdvr|j�d�dS)NrFr��</dd>
�r�r.r{r�r?r?r@�depart_definition�sz HTMLTranslator.depart_definitioncCs<d|dvr8|�|�rdgng}|j�|j|d|d��dS)NrFr�r�dlr�)rr.r{r��r>r�r�r?r?r@�visit_definition_list�sz$HTMLTranslator.visit_definition_listcCsd|dvr|j�d�dS)NrFr��</dl>
r�r�r?r?r@�depart_definition_list�sz%HTMLTranslator.depart_definition_listcCsHd|jdvrDi}d|jdvr(d|d<|j�|j|dfi|���dS)NrFr�rLrH�r>r�r�r?r?r@�visit_definition_list_item�s
z)HTMLTranslator.visit_definition_list_itemcCsd|jdvr|j�d�dS)NrFr�z</details>
rKr�r?r?r@�depart_definition_list_itemsz*HTMLTranslator.depart_definition_list_itemcCs|j�|�|dd��dS)NrGr&r�r�r?r?r@�visit_descriptionsz HTMLTranslator.visit_descriptioncCs|j�d�dS�NrJr�r�r?r?r@�depart_descriptionsz!HTMLTranslator.depart_descriptioncCsH|j�t|j��dg}|�|�r,|�d�|j�|j|d|d��dS)Nr-rrMr�)r�r{�lenr.rr�rNr?r?r@�
visit_docinfos


zHTMLTranslator.visit_docinfocCs0|j�d�|j��}|j|d�|_g|_dS�NrP)r.r{r�r�r-)r>r��startr?r?r@�depart_docinfos
zHTMLTranslator.depart_docinfoTcCs^|r$d||�|���f}|�|�|j�d||jj|f�|j�|j|dd|d��dS)Nz <meta name="%s" content="%s" />
z3<dt class="%s">%s<span class="colon">:</span></dt>
rGr&r�)r�r��add_metar.r{ry�labelsr�)r>r�r�r4Zmeta_tagr?r?r@r�s�
��z!HTMLTranslator.visit_docinfo_itemcCs|j�d�dSrVr�r=r?r?r@r�"sz"HTMLTranslator.depart_docinfo_itemcCs"|j�|j|ddgd�d��dS)Nr�r&)�codeZpythonZdoctest)r�r�r�r�r?r?r@�visit_doctest_block%s�z"HTMLTranslator.visit_doctest_blockcCs|j�d�dSr�r�r�r?r?r@�depart_doctest_block)sz#HTMLTranslator.depart_doctest_blockcCs:|�dd�ptj�|d�pd}|j�d|�|��dS)Nr0r&�sourcezdocutils document without titlez<title>%s</title>
)r��osrn�basenamer*r{r�)r>r�r0r?r?r@�visit_document,s�zHTMLTranslator.visit_documentcCsF|j�|j|jd|jjig�|j�|j�|j�	d|j
|jj�|j�	d|j
|jj�dd�
|j�vrz|j�d�|jr�|jdkr�|j�|j�n|j�|j�|j�|jdd��|j�|j|dd	d
��|j�	dd�|j�|j�|j�|jdd�|j|j|j|jdd��|j�rBJd
t|j���dS)Nrerzname="dcterms.r&z=<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>�mathjaxrrrAr�r���zlen(context) = %s)r)r��doctype�head_prefix_templaterMrwr6r{r4�insertr�rYr*rWr�r�rr7r+r�r/r5r.r:r,r-r�rXr�r?r?r@�depart_document1s8

���
���zHTMLTranslator.depart_documentcCs|j�|�|dd��dS)NZemr&r�r�r?r?r@�visit_emphasisJszHTMLTranslator.visit_emphasiscCs|j�d�dS)Nz</em>r�r�r?r?r@�depart_emphasisMszHTMLTranslator.depart_emphasiscCs�dgi}t|jjtj�r&|d�d�|jjjj|jjrH|d�d�|drVd}nd}|jjd7_d|vr�|dd|d<d	|vr�|d	d|d
<|jj|d	7_|j�|j||dfi|���|j	�d|�
��dS)
Nr�r*r+�thZtdrZmorerowsZrowspanZmorecolsZcolspanr&�</%s>
)r�r�r�theadr{r,�columnr.r�r�r�)r>r�r�r�r?r?r@�visit_entryPs zHTMLTranslator.visit_entrycCs|j�|j���dSr;r�r�r?r?r@�depart_entrydszHTMLTranslator.depart_entrycCsndgi}d|vr|d|d<d|vr6|d�|d�|�|�rN|d�d�|j�|j|dfi|���dS)Nr�r[ZenumtyperZol)r{rr.r�rRr?r?r@�visit_enumerated_listgs
z$HTMLTranslator.visit_enumerated_listcCs|j�d�dS)Nz</ol>
r�r�r?r?r@�depart_enumerated_listqsz%HTMLTranslator.depart_enumerated_listc	Cs�i}|�dg�}t|�D]\\}}|�d�rzt|dd�d�}WntyXYqvYn0d||d<|�|�qvq|�d�|�|�r�|�d�|j�|j	|d	fi|���dS)
Nr�z
field-indent-�
�pxz--field-indent: %s;r1z
field-listrrM)
�
setdefault�	enumerater�r�
ValueErrorr�r{rr.r�)r>r�r�r��ir�Z
indent_lengthr?r?r@�visit_field_listts"
�



zHTMLTranslator.visit_field_listcCs|j�d�dSrZr�r�r?r?r@�depart_field_list�sz HTMLTranslator.depart_field_listcCsdSr;r?r�r?r?r@�visit_field�szHTMLTranslator.visit_fieldcCsdSr;r?r�r?r?r@�depart_field�szHTMLTranslator.depart_fieldcCs$|j�|j|dd|jdd��dS)N�dtr&r�r�)r.r{r�r�r�r?r?r@�visit_field_name�s�zHTMLTranslator.visit_field_namecCs|j�d�dS)Nz"<span class="colon">:</span></dt>
r�r�r?r?r@�depart_field_name�sz HTMLTranslator.depart_field_namecCs6|j�|j|dd|jdd��|js2|j�d�dS)NrGr&r�r�z<p></p>)r.r{r�r�r�r�r?r?r@�visit_field_body�s
�zHTMLTranslator.visit_field_bodycCs|j�d�dSrVr�r�r?r?r@�depart_field_body�sz HTMLTranslator.depart_field_bodycCsdddi}|�d�r"d|d|d<|�d�rD|dd|d7<|j�|j|dfi|���dS)	Nr�Zfigure�widthz	width: %sr1�alignz align-r)r�r.r{r�rRr?r?r@�visit_figure�s

zHTMLTranslator.visit_figurecCs|j�d�dSr8r�r�r?r?r@�
depart_figure�szHTMLTranslator.depart_figurecCs|j�t|j��dSr;�r�r{rXr.r�r?r?r@�visit_footer�szHTMLTranslator.visit_footercCsf|j��}|j|ddd�dg}|�|j|d��|�d�|j�|�||jdd�<|j|d�=dS)Nrr3r�z<hr class="footer" />
z
</div>
r)r�r�r�r�r.r{r3r/)r>r�r[r3r?r?r@�
depart_footer�s
�
zHTMLTranslator.depart_footercCs,|j|jjg}|j�|j|d|dd��dS)Nr�Znoter)r�rM�footnote_referencesr.r{r�rNr?r?r@�visit_footnote�s�zHTMLTranslator.visit_footnotecCs|j�d�dSr�r�r�r?r?r@�depart_footnote�szHTMLTranslator.depart_footnotec
CsFd|d}d|jjg}|j�|j|dd|d|d��|j�d�dS)	Nrrzfootnote-referencer!r&zdoc-noteref)r�r�rr#�!<span class="fn-bracket">[</span>)rMr�r.r{r�)r>r�r#r�r?r?r@�visit_footnote_reference�s�z'HTMLTranslator.visit_footnote_referencecCs|j�d�|j�d�dS)Nz!<span class="fn-bracket">]</span>�</a>r�r�r?r?r@�depart_footnote_reference�sz(HTMLTranslator.depart_footnote_referencecCs:d|dvr6|���d�}|j�d|�|��tj�dS)N�sectnumr�� z <span class="sectnum">%s </span>)r�rXr.r{r�rr5)r>r�r�r?r?r@�visit_generated�s�zHTMLTranslator.visit_generatedcCsdSr;r?r�r?r?r@�depart_generated�szHTMLTranslator.depart_generatedcCs|j�t|j��dSr;r�r�r?r?r@�visit_header�szHTMLTranslator.visit_headercCsb|j��}|j|ddd�g}|�|j|d��|�d�|j�|�|j�|�|j|d�=dS)Nrr2r�z
<hr class="header"/>
</div>
)r�r�r�r�r.r{r+r2)r>r�r[r2r?r?r@�
depart_header�s

zHTMLTranslator.depart_headerc
Cs�i}|d}t�|�d}d|vr.|d|d<d|vrB|d|d<d|v�rJtr�d|vr`d|vs�|jjr�t|�}ztj�|�t	�
���}Wnttfy�YnN0|jj
�|�dd��d|vr�d|jd|d<d|vr�d|jd	|d<~d
D]V}||vr�t�d||�}|�sJ�dt|�d	��t|d�d
|�d�f||<q�g}	d
D]N}||v�rRt�d||��r�||d7<|	�d|||f�||=�qR|	�r�d�|	�|d<t|jtj��s�t|jtj��r�t|jjtj��s�d}
nd}
d|v�rd|d|d<|jdk�r�d}|�s&d}|jj�s4d}z<tt|�d��}|��}
Wd�n1�sd0YWn,t�y�}z|j}WYd}~n
d}~00|�r�|jj �!d||f�n0|jj
�|�dd��t"�#|
��$�}d||f}n|jdk�rd|d <|d!k�rD||d"<|j%|d#dfd$|i|��|�&d%|�d&|
}n.|�&d%|d�|d%<|j'|d'|
fd(|i|��}|j(�|�dS))Nr�rr��heightZscale�\�/z%dpxr)r�r�z([0-9.]+)(\S*)$z%s%s�d�z	^[0-9.]+$rwz%s: %s;r�r1r&rTr��align-%sr�rszunknown MIME typezfile insertion disabled.rJzCannot embed image %r: %szdata:%s;base64,%sZlazyZloadingzapplication/x-shockwave-flashr�object�dataZaltz	</object>�img�src))�	mimetypesZ
guess_typerrMZfile_insertion_enabledrZImagerLr��sys�getfilesystemencodingr��UnicodeEncodeErrorr�r�r��size�re�match�float�groupr{rWr�r�r�TextElement�	referencerprPr�rArxr��base64Z	b64encode�decoder�r�r�r.)r>r�r�r�ZmimetypeZ	imagepathr�Zatt_namer�r1r��err_msgZ	imagefileZ	imagedatar�Zdata64�tagr?r?r@�visit_image�s�
��
�
�

��

,
�
�

���zHTMLTranslator.visit_imagecCsdSr;r?r�r?r?r@�depart_image?szHTMLTranslator.depart_imagecCs|j�|�|dd��dS)Nr&r&r�r�r?r?r@�visit_inlineBszHTMLTranslator.visit_inlinecCs|j�d�dSr(r�r�r?r?r@�
depart_inlineEszHTMLTranslator.depart_inlinecCsR|j�d�|j�d�|jjrN|j�dg�}t|�dkrN|j�d|d�dS)Nz<span class="label">r��backrefsrz"<a role="doc-backlink" href="#%s">r)r.r{rM�footnote_backlinksr�r�rX)r>r�r�r?r?r@�visit_labelIs�zHTMLTranslator.visit_labelcCsxg}|jjr|j�d|�}t|�dkr2|j�d�|j�d�t|�dkrtdd�t|d�D�}|j�dd�|��dS)	Nr�rr�z)<span class="fn-bracket">]</span></span>
cSsg|]\}}d||f�qS)z(<a role="doc-backlink" href="#%s">%s</a>r?)rmr{�refr?r?r@ro[s�z/HTMLTranslator.depart_label.<locals>.<listcomp>z#<span class="backrefs">(%s)</span>
�,)	rMr�r�r�rXr.r{ryrW)r>r�r��	backlinksr?r?r@�depart_labelSs��zHTMLTranslator.depart_labelcCs|j�|j|ddd��dS)NrZlegendr�r�r�r?r?r@�visit_legend`szHTMLTranslator.visit_legendcCs|j�d�dSr8r�r�r?r?r@�
depart_legendcszHTMLTranslator.depart_legendcCs2|j�|j|dddd��t|�s.|j�d�dS)Nrr&�liner�z<br />)r.r{r�rXr�r?r?r@�
visit_linefszHTMLTranslator.visit_linecCs|j�d�dSr8r�r�r?r?r@�depart_linekszHTMLTranslator.depart_linecCs|j�|j|ddd��dS)Nrz
line-blockr�r�r�r?r?r@�visit_line_blocknszHTMLTranslator.visit_line_blockcCs|j�d�dSr8r�r�r?r?r@�depart_line_blockqsz HTMLTranslator.depart_line_blockcCs|j�|�|dd��dS)NZlir&r�r�r?r?r@�visit_list_itemtszHTMLTranslator.visit_list_itemcCs|j�d�dS)Nz</li>
r�r�r?r?r@�depart_list_itemwszHTMLTranslator.depart_list_itemcCs�|d}d|vr:|�|�d��|j�|�|dd��dS|j�|j|dddd��|��}t|jtj	�sv|�
dd�}|j�|�D]B}|�
�r�|j�|�r�|j�d	|�|��q�|j�|�|��q�|j�d
�tj�dS)Nr�r_r&r&zdocutils literalr�rTr�z<span class="pre">%s</span>r))r�r�r.r{r�r�r�r�rZ
literal_blockr��words_and_spaces�findallr��in_word_wrap_point�searchr�r5)r>r�r�r��tokenr?r?r@�
visit_literal{s&��zHTMLTranslator.visit_literalcCs|j�d�dS)N�</code>r�r�r?r?r@�depart_literal�szHTMLTranslator.depart_literalcCs6|j�|j|dddd��d|dvr2|j�d�dS)Nr�r&�
literal-blockr�r_r�z<code>r�r�r?r?r@�visit_literal_block�sz"HTMLTranslator.visit_literal_blockcCs(d|dvr|j�d�|j�d�dS)Nr_r�r�z</pre>
r�r�r?r?r@�depart_literal_block�sz#HTMLTranslator.depart_literal_block)rr&r&)rr&Zformula)rr&�math)r��ttr���mathmlrrf�latexr&c
s��j�jvr&�jj�d�j�d�_�j�j|dk}�j�jd}ddddd�}|�j|dk}�jd	kr��jr��jd
dkr�d}|���tj	�}|r�z||||f}Wnt
y�||}Yn0�jdvr��|�}�jd
k�rX�j�sXz�jd
�_
Wn"t�y(�jj�d�Yn0d�j
v�rD�j
d7_
�j�j
g�_�n�jdk�r��j�r��j�s��fdd��jd
�d�D��_|dktj_t�|�}�n��jd	k�rBd�jv�rֈj�_�j�_d��j���}z�|dk�rt�|�jj�}nd|dk�r t�|�jj�}nH|dk�rBtj||�jjd�}n&|�sZtj ||d�}n�jj�d�Wn�t!�y�t!d��Yn�t"�y@}	z��jjj|	|d�}
��#|
��j$�%��&|d���j$�%d�|	j'���j$�%d��j$�%�j&|d d!d"���j$�%��|���j$�%d#���(|
�t)j*�WYd}	~	n
d}	~	00|�rj�j$�%�j&||d$t+|�|d%���j$�%|�|�r��j$�%d$�|�r��j$�%d&|�|�r��j$�%d$�t)j*�dS)'Nz=math-output format "%s" not supported falling back to "latex"r�r&r�)z$%s$�\begin{%s}
%s
\end{%s})z\(%s\)r�)NNr�r�r�	blahtexml)r�rfrfz@No MathJax URL specified, using local fallback (see config.html)�?z?config=TeX-AMS_CHTMLrcs&g|]}�jt�|�jj�dd��qS)T)r�)rlrZfind_file_in_dirsrMZstylesheet_dirs)rm�sr=r?r@ro�s
��z-HTMLTranslator.visit_math.<locals>.<listcomp>r�zXHTML 1r��latexml�ttm)�inlinerx)r�z3option "%s" not supported with math-output "MathML"zis "latexmlmath" in your PATH?)Z	base_noder�r�r�r�r�r�rTr��</%s>),r��	math_tagsrArxr�r�r�rIrZ
uni2tex_table�	TypeErrorr�r��mathjax_urlr�Zwarning�mathjax_scriptrcr
ZDocumentParametersZdisplaymoderh�doctype_mathmlZcontent_type_mathmlr�rWr�rr�r�r�rZ
tex2mathml�OSError�SyntaxError�visit_system_messager.r{r��args�depart_system_messagerr5r�)r>r��math_envr�ZclsargZwrappers�wrapperZ	math_codeZ	converterr�Zerr_noder?r=r@�
visit_math�s�����


�
�
�
��
�

�zHTMLTranslator.visit_mathcCsdSr;r?r�r?r?r@�depart_mathszHTMLTranslator.depart_mathcCst|���}|j||d�dS)N)r�)rr�r�)r>r�r�r?r?r@�visit_math_blockszHTMLTranslator.visit_math_blockcCsdSr;r?r�r?r?r@�depart_math_blocksz HTMLTranslator.depart_math_blockcCs&|j|dfi|����}|�|�dS)Nr4)r�Znon_default_attributesr])r>r�r4r?r?r@�
visit_metaszHTMLTranslator.visit_metacCsdSr;r?r�r?r?r@�depart_meta#szHTMLTranslator.depart_metacCs|j�|�|j�|�dSr;)r4r{r*)r>r�r?r?r@r]&szHTMLTranslator.add_metacCs|j�|j|dddd��dS)Nr&r&�optionr�r�r�r?r?r@�visit_option*szHTMLTranslator.visit_optioncCs2|j�d�t|jddd�tj�r.|j�d�dS)Nr)FTr�, )r.r{r�rrr�r�r?r?r@�
depart_option-s
�zHTMLTranslator.depart_optioncCs.|j�|�dd��|j�|�|dd��dS)NZ	delimiterr��varr&)r.r{r�r�r�r?r?r@�visit_option_argument3sz$HTMLTranslator.visit_option_argumentcCs|j�d�dS)Nz</var>r�r�r?r?r@�depart_option_argument7sz%HTMLTranslator.depart_option_argumentcCs&|j�|�|dd��|j�d�dS)Nr�r&z<kbd>r�r�r?r?r@�visit_option_group:sz!HTMLTranslator.visit_option_groupcCs|j�d�dS)Nz</kbd></dt>
r�r�r?r?r@�depart_option_group>sz"HTMLTranslator.depart_option_groupcCs|j�|j|ddd��dS)NrMzoption-listr�r�r�r?r?r@�visit_option_listAs�z HTMLTranslator.visit_option_listcCs|j�d�dSrZr�r�r?r?r@�depart_option_listEsz!HTMLTranslator.depart_option_listcCsdSr;r?r�r?r?r@�visit_option_list_itemHsz%HTMLTranslator.visit_option_list_itemcCsdSr;r?r�r?r?r@�depart_option_list_itemKsz&HTMLTranslator.depart_option_list_itemcCsdSr;r?r�r?r?r@�visit_option_stringNsz"HTMLTranslator.visit_option_stringcCsdSr;r?r�r?r?r@�depart_option_stringQsz#HTMLTranslator.depart_option_stringcCs|�|d�dS)NZorganizationrr�r?r?r@�visit_organizationTsz!HTMLTranslator.visit_organizationcCs|��dSr;rr�r?r?r@�depart_organizationWsz"HTMLTranslator.depart_organizationcCs|j�|�|dd��dS)Nr�r&r�r�r?r?r@�visit_paragraphiszHTMLTranslator.visit_paragraphcCs>|j�d�t|jtjtjf�r.t|j�dks:|j�d�dS)NrrrT)r.r{r�r�rZ	list_item�entryrXr�r?r?r@�depart_paragraphls
�zHTMLTranslator.depart_paragraphcCsV|�d�r,|j�d|d�|j�d�n|j�d�|j�|j|dddd��dS)Nrz<a href="#%s">r�r&r&Zproblematicr�)�hasattrr.r{r�r�r�r?r?r@�visit_problematicrs

z HTMLTranslator.visit_problematiccCs"|j�d�|j�|j���dSr(r�r�r?r?r@�depart_problematiczsz!HTMLTranslator.depart_problematiccCs~d|�dd���vrtt|jtj�r(d}nd}|drL|j�|j||dd��|j�|�	��|drt|j�d|�tj
�dS)	Nr�formatr&r&rr�)r�r�)r�rcr�r�rr�r.r{r�r�r5)r>r�r�r?r?r@�	visit_raw~szHTMLTranslator.visit_rawcCsddi}d|vr\|d|d<|jjrJ|d�d�rJ|�|d�|d<d|_|dd7<n0d|vslJd	��d
|d|d<|dd7<t|�dkr�t|d
tj�r�|dd7<t|j	tj
�s�t|�dkr�t|d
tj�s�J�|dd7<|j�|j
|ddfi|���dS)Nr�r��refurir#zmailto:Tz	 externalrz3References must have "refuri" or "refid" attribute.rz	 internalrrz image-referencer!r&)rMr�r�r�r�rXr�rZimager�r�r.r{r�rRr?r?r@�visit_reference�s(�
� zHTMLTranslator.visit_referencecCs0|j�d�t|jtj�s&|j�d�d|_dS)Nr�rTF)r.r{r�r�rr�r�r�r?r?r@�depart_reference�szHTMLTranslator.depart_referencecCs|j|ddd�dS)NZrevisionFr�rr�r?r?r@�visit_revision�szHTMLTranslator.visit_revisioncCs|��dSr;rr�r?r?r@�depart_revision�szHTMLTranslator.depart_revisioncCs |j�|�|dd��d|_dS)N�trr&r)r.r{r�rqr�r?r?r@�	visit_row�szHTMLTranslator.visit_rowcCs|j�d�dS)Nz</tr>
r�r�r?r?r@�
depart_row�szHTMLTranslator.depart_rowcCs|j�|j|dddd��dS)Nr�r&Zrubricr�r�r�r?r?r@�visit_rubric�szHTMLTranslator.visit_rubriccCs|j�d�dSr�r�r�r?r?r@�
depart_rubric�szHTMLTranslator.depart_rubriccCs*|jd7_|j�|j|ddd��dS)Nrr�sectionr�)r|r.r{r�r�r?r?r@�
visit_section�s�zHTMLTranslator.visit_sectioncCs|jd8_|j�d�dS)Nrr)r|r.r{r�r?r?r@�depart_section�szHTMLTranslator.depart_sectioncCs"|j�|j|ddd��d|_dS)Nr�sidebarr�T)r.r{r�r�r�r?r?r@�
visit_sidebar�s�zHTMLTranslator.visit_sidebarcCs|j�d�d|_dS)NrF)r.r{r�r�r?r?r@�depart_sidebar�szHTMLTranslator.depart_sidebarcCs|j|ddd�dS)N�statusFr�rr�r?r?r@�visit_status�szHTMLTranslator.visit_statuscCs|��dSr;rr�r?r?r@�
depart_status�szHTMLTranslator.depart_statuscCs|j�|�|dd��dS)NZstrongr&r�r�r?r?r@�visit_strong�szHTMLTranslator.visit_strongcCs|j�d�dS)Nz	</strong>r�r�r?r?r@�
depart_strong�szHTMLTranslator.depart_strongcCs|j�|�|dd��dS)Nr�r&r�r�r?r?r@�visit_subscript�szHTMLTranslator.visit_subscriptcCs|j�d�dS)Nz</sub>r�r�r?r?r@�depart_subscript�szHTMLTranslator.depart_subscriptcCs
tj�dS)zInternal only.N�rr5r�r?r?r@�visit_substitution_definition�sz,HTMLTranslator.visit_substitution_definitioncCs|�|�dSr;)�unimplemented_visitr�r?r?r@�visit_substitution_reference�sz+HTMLTranslator.visit_substitution_referencecCsnt|jtj�rdg}n:t|jtj�r<dg}t|j�d|_nt|jtj�rPdg}|j�	|j
|dd|d��dS)Nzsidebar-subtitler1rzsection-subtitler�r&r�)r�r�rrrArXr.r�rr{r�rNr?r?r@�visit_subtitle�szHTMLTranslator.visit_subtitlecCs^|j�d�t|jtj�rZ|j|jd�|_d|_|j�	|j�|j
�	|j�|jdd�=dS)Nr�rgr)r.r{r�r�rrAr�r1r,r�r9r�r?r?r@�depart_subtitle�szHTMLTranslator.depart_subtitlecCs|j�|�|dd��dS)N�supr&r�r�r?r?r@�visit_superscript�sz HTMLTranslator.visit_superscriptcCs|j�d�dS)Nz</sup>r�r�r?r?r@�depart_superscriptsz!HTMLTranslator.depart_superscriptc	Cs�|j�|j|ddd��|j�d�d}t|d�r�|d}t|�dkrVd|d	}n:d}g}|D]}|�d
||f�|d7}qbdd�|�}|�d
�r�d|d
}nd}|j�d|d|d|�|d�||f�dS)Nr�zsystem-messager�z <p class="system-message-title">r&r�rz%; <em><a href="#%s">backlink</a></em>rz<a href="#%s">%s</a>z; <em>backlinks: %s</em>r�r�z	, line %szISystem Message: %s/%s (<span class="docutils literal">%s</span>%s)%s</p>
r�levelrb)r.r{r�rXrWrr�)r>r�Zbackref_textr�r{r�Zbackrefr�r?r?r@r�s2�
�
��z#HTMLTranslator.visit_system_messagecCs|j�d�dSr�r�r�r?r?r@r�sz$HTMLTranslator.depart_system_messagecCsrd|jj�dd���i}d|vr6|d�d|d�d|vrNd|d|d<|j|d	fi|��}|j�|�dS)
Nr�r�r�r�r�r�z
width: %s;r1r�)rMr2r�rcr{r�r.)r>r�r�r�r?r?r@�visit_table szHTMLTranslator.visit_tablecCs|j�d�dS)Nz	</table>
r�r�r?r?r@�depart_table)szHTMLTranslator.depart_tablecCsPd|vs@d|vs@d|vs@|j�|j|dddd��|j�d�n|j�d�dS)	Nr	rr r&r&�targetr�r))r.r{r�r�r�r?r?r@�visit_target,s�zHTMLTranslator.visit_targetcCs|j�|j���dSr;r�r�r?r?r@�
depart_target4szHTMLTranslator.depart_targetcCs|j�|�|d��dS)NZtbodyr�r�r?r?r@�visit_tbody8szHTMLTranslator.visit_tbodycCs|j�d�dS)Nz	</tbody>
r�r�r?r?r@�depart_tbody;szHTMLTranslator.depart_tbodyc	CsTd|jjdvr(|j�|�|dd��n(|j�|j|dd|jd|jdd��dS)NrFr�Zsummaryr&r�r�)r�r�rHr�r?r?r@�
visit_term>s�zHTMLTranslator.visit_termcCsdSr;r?r�r?r?r@�depart_termGszHTMLTranslator.depart_termcCsg|_g|_dSr;)r�r,r�r?r?r@�visit_tgroupLszHTMLTranslator.visit_tgroupcCsdSr;r?r�r?r?r@�
depart_tgroupPszHTMLTranslator.depart_tgroupcCs|j�|�|d��dS)Nrpr�r�r?r?r@�visit_theadSszHTMLTranslator.visit_theadcCs|j�d�dS)Nz	</thead>
r�r�r?r?r@�depart_theadVszHTMLTranslator.depart_theadcCs�i}|j|jd}dt|d�}|dkr2||d<|j||dfi|��}|�d�r�i}d|d<d	|d
<d|d|d<||jt��d
dfi|��7}d|}nd|}||fS)Nrzh%i�z
aria-levelr&rztoc-backrefr�zdoc-backlinkrrr#r!z
</a></%s>
ro)r|r~�minr�rrr�)r>r�r�Zh_levelr��	start_tag�	close_tagr?r?r@�section_title_tagsYs

z!HTMLTranslator.section_title_tagscCs"d}t|jtj�r.|j�|j|dddd��n�t|jtj�rX|j�|j|dddd��n�t|jtj�r�|j�|j|dddd��n�t|jtj	�r�|j�|�|dd��d	}nft|jtj
�r�|j�|j|d
ddd��d}t|j�|_n,t|jtj
�s�J�|�|�\}}|j�|�|j�|�dS)
Nr�r�r&ztopic-titler�z
sidebar-titlezadmonition-titlerz</caption>
Zh1r0z</h1>
)r�r�r�topicr.r{r�rZ
Admonitionr�rArXr�rr;r�)r>r�r:r9r?r?r@�visit_titlels4����zHTMLTranslator.visit_titlecCs\|j�|j���|jrX|j|jd�|_d|_|j�|j�|j�|j�|jdd�=dS)Nrgr)	r.r{r�r�r�r0r,r�r8r�r?r?r@�depart_title�szHTMLTranslator.depart_titlecCs|j�|�|dd��dS)NZciter&r�r�r?r?r@�visit_title_reference�sz$HTMLTranslator.visit_title_referencecCs|j�d�dS)Nz</cite>r�r�r?r?r@�depart_title_reference�sz%HTMLTranslator.depart_title_referencecCs|j�|j|ddd��dS)Nrr<r�r�r�r?r?r@�visit_topic�szHTMLTranslator.visit_topiccCs|j�d�dSr8r�r�r?r?r@�depart_topic�szHTMLTranslator.depart_topiccCs|j�|j|ddd��dS)N�hrrZr�)r.r{r�r�r?r?r@�visit_transition�szHTMLTranslator.visit_transitioncCsdSr;r?r�r?r?r@�depart_transition�sz HTMLTranslator.depart_transitioncCs|j|ddd�dS)NrVFr�rr�r?r?r@�
visit_version�szHTMLTranslator.visit_versioncCs|��dSr;rr�r?r?r@�depart_version�szHTMLTranslator.depart_versioncCstd|jj��dS)Nz$visiting unimplemented node type: %s)�NotImplementedError�	__class__r`r�r?r?r@r"�s�z"HTMLTranslator.unimplemented_visit)N)rTF)rT)r)N)T)r&)�r`rarb�__doc__r'rhr�rir�rzr�r�r�r�r��compiler��Ur�r��ordr�rvr�r�r�r�r�rlr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrrrrrr$r%r'r*r-r4r�r6r7r9r:r;r<r=r?r@rBrCrDrErIrLrOrQrSrTrUrWrYr\r�r�r`rarerkrlrmrrrsrtrur|r}r~rr�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�r�r�r�rrrrrrr
rrr
rrrrrrrrrrrrrrr!r#r$r%r'r(r�r�r*r+r-r.r/r0r1r2r3r4r5r6r;r=r>r?r@rArBrDrErFrGr"r?r?r?r@rd�s�8
�	G	�

D�
	
�


		X


�f
				rdc@s�eZdZdZdd�Zdd�Zdd�Zdd	�ZeZeZ	eZ
eZeZeZ
eZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZ eZ!eZ"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.
    cCs
tj�dSr;)rrr�r?r?r@�
default_visit�szSimpleListChecker.default_visitcCsvdd�|jD�}|r\t|dtj�r\t|dtj�sTt|dtj�sTt|dtj�r\|��t|�dkrldStj	�dS)NcSsg|]}t|tj�s|�qSr?r�)rmr�r?r?r@ro�s�z5SimpleListChecker.visit_list_item.<locals>.<listcomp>rrgr)
r�r�rZ	paragraphr�r�r�r�rXr)r>r�r�r?r?r@r��s���z!SimpleListChecker.visit_list_itemcCsdSr;r?r�r?r?r@�	pass_node�szSimpleListChecker.pass_nodecCs
tj�dSr;r r�r?r?r@�ignore_node�szSimpleListChecker.ignore_nodeN)#r`rarbrJrNr�rOrPr�rrrtrYrrr�r<r?rBr�rrFrOrSr1r'rIr|r~r�r�r6r!r-Z
visit_pendingr?r?r?r@r	�s@	
r	)'rJr�r�rcZos.pathr�r�rrZrrrrrZdocutils.parsers.rst.directivesrZ&docutils.parsers.rst.directives.imagesrZdocutils.utils.error_reportingr	Zdocutils.transformsr
Zdocutils.utils.mathrrr
rr�version_infoZurllib.requestrZurllib�strrOrrurdZGenericNodeVisitorr	r?r?r?r@�<module>sD



Youez - 2016 - github.com/yon3zu
LinuXploit