ʺh+dZdZddlZddlZddlmZmZmZddl m Z ddl m Z m Z Gddej jZGd d ej jZGd d ej jZdS) a/ Simple HyperText Markup Language document tree Writer. The output conforms to the XHTML version 1.0 Transitional DTD (*almost* strict). The output contains a minimum of formatting information. The cascading style sheet "html4css1.css" is required for proper viewing with a modern graphical browser. reStructuredTextN)frontendnodeswriters) _html_base)PIL url2pathnamec heZdZdZ dgZdejeje ejej ejeje dgZ ej ejeje dZ e jejjjde zdge dd fd d ezd gd de jedfdd e zdgde je dfddgddddfddgdde jdfZed d!d"d#gd$de jd%fd&d'gd$de jd%fffzZd(Zd)Zd*S)+Writer)htmlhtml4 html4css1xhtmlxhtml10z html4css1.css.html5_polyglotz template.txtz-Template file. (UTF-8 encoded, default: "%s")z --templatez)defaultmetavarzComma 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: "%s"),z--stylesheet-pathz stylesheet)r overrides validatorrzComma-separated list of directories where stylesheets are found. Used by --stylesheet-path when expanding relative path arguments. (default: "%s")z--stylesheet-dirsz)rrrzySpecify the initial header level. Does not affect document title & subtitle (see --no-doc-title). (default: 1 for "

")z--initial-header-levelz 1 2 3 4 5 61z)choicesrrz&Prepend an XML declaration (default). z--xml-declarationT store_true)ractionr)templatestylesheet_pathstylesheet_dirsinitial_header_levelxml_declarationzHTML4 Writer OptionszSpecify the maximum width (in characters) for one-column field names. Longer field names will span an entire row of the table used to render the field list. Default is 14 characters. Use 0 for "no limit".z--field-name-limit)rrrzSpecify the maximum width (in characters) for options in option lists. Longer options will span an entire row of the table used to render the option list. Default is 14 characters. Use 0 for "no limit".z--option-limitzhtml4css1 writerc,i|_t|_dSN)partsHTMLTranslatortranslator_classselfs /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/docutils/writers/html4css1/__init__.py__init__zWriter.__init__cs .N)__name__ __module__ __qualname__ supporteddefault_stylesheetsospathabspathdirname__file__joindefault_stylesheet_dirsdefault_templaterfilter_settings_specrrr settings_specvalidate_comma_separated_listsplitvalidate_booleanvalidate_nonnegative_intconfig_sectionr,r-r+r r skBI'*+"!wrwx/H/HII!wrw||#%7??27??83L3L#M#M#30505 6 6! w|| 1122NDD2H1!/ ;>N N N(X > >@  !$)< = =  > ! !+,"@+ - - . )+.884K+L+L M! !)"@/ 1 1 2 M % &%++--#! # # $ 5 ! "3 5 56=# # # MH"  " Y 9 ; ;  < "  Y 9 ; ;  < %  M((N/////r-r ceZdZdZdZdZdZejj Z de d<dddd d Z d Z d Z d ZdZdjdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Z d!Z!d"Z"d#Z#d$Z$d%Z%d&Z&d'Z'd(Z(d)Z)dkd+Z*d,Z+d-Z,d.Z-d/Z.d0Z/d1Z0d2Z1d3Z2d4Z3d5Z4d6Z5d7Z6d8Z7d9Z8d:Z9d;Z:d<Z;d=ZZ=d?Z>d@Z?dAdBdCZ@dDZAdEZBdFZCdGZDdHZEdIZFdJZGdKZHdLZIdMZJdNZKdOZLdPZMdQZNdRZOdSZPdTZQdUZRdVZSdWZTdXZUdYZVdZZWd[ZXd\ZYd]ZZd^Z[d_Z\d`Z]daZ^dbZ_dcZ`ddZadeZbdfZcdgZddhZediZfdS)lr'aH The html4css1 writer has been optimized to produce visually compact lists (less vertical whitespace). HTML's mixed content models allow list items to contain "
  • body elements

  • " or "
  • just text
  • " or even "
  • text

    and body elements

    combined
  • ", each with different effects. It would be best to stick with strict body elements in list items, but they affect vertical spacing in older browsers (although they really shouldn't). The html5_polyglot writer solves this using CSS2. Here is an outline of the optimization: - Check for and omit

    tags in "simple" lists: list items contain either a single paragraph, a nested simple list, or a paragraph followed by a nested simple list. This means that this list can be compact: - Item 1. - Item 2. But this list cannot be compact: - Item 1. This second paragraph forces space between list items. - Item 2. - In non-list contexts, omit

    tags on a paragraph if that paragraph is the only child of its parent (footnotes & citations are allowed a label first). - Regardless of the above, in definitions, table cells, field bodies, option descriptions, and list items, mark the first child with 'class="first"' and the last child with 'class="last"'. The stylesheet sets the margins (top & bottom respectively) to 0 for these elements. The ``no_compact_lists`` setting (``--no-compact-lists`` command-line option) disables list whitespace optimization. zz zC zO  )z—r")())r"r")dash parenthesesparensnonecb||dd||dddS)Nfirstrlast)set_class_on_childr*nodes r+set_first_lastzHTMLTranslator.set_first_lasts8 gq111 fb11111r-c||dd|j||dddS)NaddressF)metapreCLASS)visit_docinfo_itembodyappendstarttagrQs r+ visit_addresszHTMLTranslator.visit_addresssK ie<<< tU)DDEEEEEr-cb|jd|dSNz )r[r\depart_docinfo_itemrQs r+depart_addresszHTMLTranslator.depart_addresss0 &&&   """""r-c|ddd|j||d||dS)Nclassesr admonitiondiv)insertr[r\r]rSrQs r+visit_admonitionzHTMLTranslator.visit_admonitionsZ Yq,/// tU33444 D!!!!!r-Nc:|jddSN r[r\rQs r+depart_admonitionz HTMLTranslator.depart_admonition $$$$$r-ct|jtjr%|jr|jddSdS||ddS)Nz
    author) isinstanceparentrauthorsauthor_in_authorsr[r\rZrQs r+ visit_authorzHTMLTranslator.visit_authorsg dk5= 1 1 4% -   ,,,,, - -  # #D( 3 3 3 3 3r-c~t|jtjr d|_dS|dS)NT)rqrrrrsrtrarQs r+ depart_authorzHTMLTranslator.depart_authors> dk5= 1 1 '%)D " " "  $ $ & & & & &r-c@||dd|_dS)NrsF)rZrtrQs r+ visit_authorszHTMLTranslator.visit_authorss& i000!&r-c.|dSr%)rarQs r+depart_authorszHTMLTranslator.depart_authorss   """""r-c|j||jj|jddS)Nstub)colspecsr\rrstubs attributesgetrQs r+ visit_colspeczHTMLTranslator.visit_colspecsG T"""   !4!4V!z0HTMLTranslator.depart_colspec..s'EEt$z*EEEEEEr-colgrouprgY@g?colz%i%%)widthz )rq next_nodercolspecrrsettings table_stylesumr~r[r\r]intemptytag)r*rR total_widthrs r+depart_colspeczHTMLTranslator.depart_colspecsG dnnUTnBBm % %  F  29 = = = DM$===%T[-? -JJJ FEEt}EEEEE  tZ88999M E ED4 +e3kACGHHH I  T]]417(1B+DD E E E E )))))r-cd|dvp@|jjo4d|dvo*|jp#d|jdvp||S)Ncompactrdopencontents)r compact_listscompact_simplerrcheck_simple_listrQs r+is_compactablezHTMLTranslator.is_compactableshT)_,;M/:d9o5:,9&$+i*@@9!22488  r[r\r]footnote_backrefsrQs r+visit_citationzHTMLTranslator.visit_citation tW-@-36'CC D D D   ! ! ! t$$$$$r-c:|jddSNz rlrQs r+depart_citationzHTMLTranslator.depart_citation+ 0 1 1 1 1 1r-c d}d|vr ||dz }nd|vr||jj|dz }|j||dd|dgdS)N#refidrefnamea[zcitation-reference)suffixhrefrd)documentnameidsr[r\r])r*rRrs r+visit_citation_referencez'HTMLTranslator.visit_citation_references d?? DM !DD $   DM)$y/: :D tS40D/E'GG H H H H Hr-c:|jddS)Nz]rlrQs r+depart_citation_referencez(HTMLTranslator.depart_citation_reference !!!!!r-c|jd|j||ddddS)Nz- : spanr" classifierrXr[r\r]rQs r+visit_classifierzHTMLTranslator.visit_classifiersI HIII tVR|LLMMMMMr-c:|jddS)NrlrQs r+depart_classifierz HTMLTranslator.depart_classifier #####r-cd|j||ddt|dkrj|ddd|ddd |ddD]}|dd dSdS) NrfcompoundrXrrdzcompound-firstrOz compound-lastzcompound-middler[r\r]len)r*rRchilds r+visit_compoundzHTMLTranslator.visit_compounds tU*EEFFF t99q== GI  % %&6 7 7 7 HY  & & 7 7 7ad ; ;i ''(9:::: = ; ;r-c:|jddSrjrlrQs r+depart_compoundzHTMLTranslator.depart_compound#rnr-c|jd|j||dd||dS)Nz ddr"r[r\r]rSrQs r+visit_definitionzHTMLTranslator.visit_definition'sX ### tT266777 D!!!!!r-c:|jddS)Nz rlrQs r+depart_definitionz HTMLTranslator.depart_definition,rr-cf|j||dddS)NdldocutilsrXrrQs r+visit_definition_listz$HTMLTranslator.visit_definition_list0s0 tTDDEEEEEr-c:|jddS)Nz rlrQs r+depart_definition_listz%HTMLTranslator.depart_definition_list3rr-cdSr%rBrQs r+visit_definition_list_itemz)HTMLTranslator.visit_definition_list_item7 r-cdSr%rBrQs r+depart_definition_list_itemz*HTMLTranslator.depart_definition_list_item:rr-c|j||dd||dS)Ntdr"rrQs r+visit_descriptionz HTMLTranslator.visit_description>sB tT266777 D!!!!!r-c:|jddS)NzrlrQs r+depart_descriptionz!HTMLTranslator.depart_descriptionBrr-c |jt|j|j||dddd|jdd|_dS)NrdocinforrKrzR T)contextr\rr[r] in_docinforQs r+ visit_docinfozHTMLTranslator.visit_docinfoFs C NN+++ tW-6-36'CC D D D 2 3 3 3r-c|jdd|_|j}|j|d|_g|_dS)N F)r[r\rrpopr)r*rRstarts r+depart_docinfozHTMLTranslator.depart_docinfoPsP /000   ""y(  r-Tc||rHd|d||d}|j||j||dd|jd|jj|zt|rt|dtj r!|ddd t|d tj r%|d dd dSdSdS) Nz trr"z&%s: rrdrMrOrN) attvalastextrVr\r[r]languagelabelsrrqrElement)r*rRnamerVmeta_tags r+rZz!HTMLTranslator.visit_docinfo_itemWs6  ' '$$ DKKMM : : : : rlr)s r+raz"HTMLTranslator.depart_docinfo_itemes (((((r-cf|j||dddS)NrWz doctest-blockrXrrQs r+visit_doctest_blockz"HTMLTranslator.visit_doctest_blocki0 tU/JJKKKKKr-c:|jddSr`rlrQs r+depart_doctest_blockz#HTMLTranslator.depart_doctest_blockl &&&&&r-ctjj||t |dkr|jd||dS)NrrD)rrr' visit_entryrr[r\rSrQs r+rzHTMLTranslator.visit_entryps])55dDAAA t99>> I  X & & & D!!!!!r-ch|j|jdSr%r[r\rrrQs r+ depart_entryzHTMLTranslator.depart_entryv, ))++,,,,,r-ci}d|vr |d|d<d|vr |d|d<|j}|j|j|jfd|_|||_|jr0|s.|dddz|d<|j|j|dfi|dS)z The 'start' attribute does not conform to HTML 4.01's strict.dtd, but cannot be emulated in CSS1 (HTML 5 reincludes it). renumtypeclassNr"z simpleol) rrr\ compact_prrstripr[r])r*rRattsold_compact_simples r+visit_enumerated_listz$HTMLTranslator.visit_enumerated_listzs  d?? MDM    ,DM"0 T0$.ABBB"11$77   H'9 H!XXgr22Y>EEGGDM tT::T::;;;;;r-c|j\|_|_|jddS)Nz )rrrrr[r\rQs r+depart_enumerated_listz%HTMLTranslator.depart_enumerated_lists;.2l.>.>.@.@+T^ #####r-ch|j||ddddS)Nrr"fieldrXrrQs r+ visit_fieldzHTMLTranslator.visit_fields2 tT2WEEFFFFFr-c:|jddSN rlrQs r+ depart_fieldzHTMLTranslator.depart_fieldrr-c|j||ddd||dd|j}|jsRt |jtjs3|j |t|jdz kr||dd dSdS) Nrr"z field-bodyrXrMrrrNrO) r[r\r]rPrrcompact_field_listrqrrindexr)r*rRrs r+visit_field_bodyzHTMLTranslator.visit_field_bodys tT2\JJKKK gq111   # 6%, 66 6|!!%((C ,=,=,AAA  # #D&" 5 5 5 5 5 BAr-c:|jddS)Nz rlrQs r+depart_field_bodyz HTMLTranslator.depart_field_bodyrr-c |j|j|jfd|_d|dvrd|_n|jjrd|dvrd|_|jr|D]}|d}t |tjsJd|D}t|dksHt|dkr,t |dtj tj fs d |_n|j | |d d d d |j ddS)NrrdTrrOcFg|]}t|tj|SrB)rqr Invisiblerns r+ z3HTMLTranslator.visit_field_list..s?CCC!#-a#A#ACACCCr-rrFrrrKzdocutils field-list)rrrYzK )rr\rrrcompact_field_listsrqr field_bodyr paragraph line_blockr[r])r*rRrr"childrens r+visit_field_listzHTMLTranslator.visit_field_lists T4dnEFFF Y ' '&*D # #m/ +Y//&*D #  "   "2Y !*e.>?????CCzCCCH **x==A--&x{(-9I'JLL./4D+E tWF-3-B'DD E E E 2 3 3 3 3 3r-c|jd|j\|_|_dSNr)r[r\rrrrrQs r+depart_field_listz HTMLTranslator.depart_field_lists: /00026,2B2B2D2D/r-c i}|jrd|d<nd|d<|jjrqt||jjkrBd|d<|jd||jddd zd zn|jd|j |j|d dfi|dS) Nz docinfo-namerz field-namecolspanrrr"rrXz th) rrfield_name_limitrrrr\r]rrr[r*rRr s r+visit_field_namezHTMLTranslator.visit_field_names ? )*DMM(DM M * $DKKMM""T]%CCCDO L   "&-- T26=#0#?#?!?#4!4 5 5 5 5 L   # # # tT2>>>>?????r-c|jd|j|jdS)Nz:rrQs r+depart_field_namez HTMLTranslator.depart_field_namesB """ ))++,,,,,r-c |j||dddd|jd||dS)Nrzdocutils footnoterrKrrrrQs r+visit_footnotezHTMLTranslator.visit_footnoterr-cg}|d}|jjr|rt|dkrX|jd|jd|jd|dznt |dD]!\}}|d|d|d"|jd d |z|xjddgz c_n,|jd|xjddgz c_t|dkrF|s!|dd d |d d ddSdS)Nbackrefsrr"z!rzz(%s) , rdrMrOrN)rfootnote_backlinksrrr\ enumerater8)r*rR backlinksr6ibackrefs r+rz HTMLTranslator.footnote_backrefss  # = + % %8}}!! ##B''' ##F+++ ##$G&.qk%23333%.h$:$:55LQ$$$(/&45555 ##$4tyy7K7K$KLLL R( L   # # # LLRH $LL t99q== 3Q "))'222 HY  & &v . . . . . =r-c:|jddSrrlrQs r+depart_footnotezHTMLTranslator.depart_footnoterr-c &d|dz}|jj}|dkrd}|jdn$|dksJd}|jd|j||d |d | dS) Nrrbracketsr] superscriptzrzfootnote-reference)rYr)rfootnote_referencesrr\r[r])r*rRrformatrs r+visit_footnote_referencez'HTMLTranslator.visit_footnote_referencesT']"2 Z  F L   $ $ $ $]****F L   ) ) ) tS&-A'NN O O O O Or-cn|j|jdzdS)Nr7rrQs r+depart_footnote_referencez(HTMLTranslator.depart_footnote_references1 ))++f455555r-cdSr%rBrQs r+visit_generatedzHTMLTranslator.visit_generatedrr-z image/svg+xmlzapplication/x-shockwave-flash)z.svgz.swfci}|d}tj|d}||jvr||d<|j||d<n||d<|d||d<d|vr |d|d<d|vr |d|d<d |vrUt rd|vsd|vr|jjrt|} t j |5}|j }dddn #1swxYwY|jj |d d d|vrd |d z|d<d|vrd |dz|d<n#t t"f$rYnwxYwdD]z}||vrtt%jd||} | sJt)| dt)|d dz z| d||<{g} dD]U}||vrOt%jd||r||xxdz cc<| |d||d||=V| rd| |d<t1|jt4jsCt1|jt4jr't1|jjt4jsd} nd} d|vrd|dz|d<||jvrG|j|j|ddfi||d|zdz| zdS|j|j|d| fi|dS) Nurirdatatypesrcaltrheightscale\/z%dpxr)rrSz([0-9.]+)(\S*)$dr+z ^[0-9.]+$pxz: ; styler" alignalign-%srobjectz img) r3r4splitextlowerobject_image_typesrrrfile_insertion_enabledr Imagersizerecord_dependenciesaddreplaceOSErrorUnicodeEncodeErrorrematchfloatgroupr\r8rqrrr TextElement referencer[r]r) r*rRr rNext imagepathr`img_sizeatt_namermr[rs r+ visit_imagezHTMLTranslator.visit_image"s-5kgs##A&,,.. $) ) )DL237DLLDK((5#..DK d?? MDM t  !(^DN d?? >,,0D0DM81E(--  > 22,c#&8,,,,,,,,,,,,,,, M599!))$44666d**(.!(<W t++)/(1+)=X !34D. ( (t##H%7hHHE LL5ekk!nn--tG}1E1E1KLL A&(DN) # #H48L$x.99+NNNd*NNN (((DNNNCDDDN  ,HHUOODM t{E$5 6 6 4;88 "4;#5u7HII FFF d??&g6DM $) ) ) I  ]T]42FFFF#xxs3346ABDJK L L L L L I  ]T]4GG$GG H H H H Hs6 E#,D4 E#DE#DE##E76E7cdSr%rBrQs r+ depart_imagezHTMLTranslator.depart_imagebrr-c |j||dd|jzddS)Nrz%s[labelrX)r[r\r]rrrQs r+ visit_labelzHTMLTranslator.visit_labelgsW tT54<;K;K;M;M3M-4'66 7 7 7 7 7r-c|jd|jd|jdS)NrCz rrQs r+ depart_labelzHTMLTranslator.depart_labelksK NT\--//NN$,:J:J:L:LNNOOOOOr-c|j||ddt|r#|ddddSdS)Nlir"rrdrMrrQs r+visit_list_itemzHTMLTranslator.visit_list_itemosc tT266777 t99 / GI  % %g . . . . . / /r-c:|jddS)Nz rlrQs r+depart_list_itemzHTMLTranslator.depart_list_itemtrr-cb|d}d|vr@d|D|d<|j||dddS|j||ddd|}|j|D]}|ry|j|r1|jd| |za|j| ||d vr|j||jd t|d z zd z|jd tj )Nrdcodecg|] }|dk| S)rrB)rclss r+r z0HTMLTranslator.visit_literal..~sGGGssr-r"ttzdocutils literalrXz%s)r\rZrDrrZ) r[r\r]rwords_and_spacesfindallrin_word_wrap_pointsearchencoderrSkipNode)r*rRrdtexttokens r+ visit_literalzHTMLTranslator.visit_literalysy/ W  GGgGGGDO I  T]]4<< = = = F  MM$b0BM C C E E E{{}}*22488 D DE{{}} D*11%889I$$%B'+{{5'9'9&:;;;;I$$T[[%7%78888+%%   ''''   SZZ!^!rlrQs r+depart_literalzHTMLTranslator.depart_literals #####r-cf|j||dddS)NrWz literal-blockrXrrQs r+visit_literal_blockz"HTMLTranslator.visit_literal_blockrr-c:|jddSr`rlrQs r+depart_literal_blockz#HTMLTranslator.depart_literal_blockrr-ci}|jjrOt||jjkr d|d<|jdn|jd|j|j|dfddi||jd|jd dS) Nr+r,z  r"rrYz option-groupzr)r option_limitrrrr\r[r]r/s r+visit_option_groupz!HTMLTranslator.visit_option_groups M & $DKKMM""T]%???DO L   < = = = = L   # # #  DM$ C CN Cd C C E E E !!! Ar-c|j|jd|j|jdS)Nz )rrr[r\rQs r+depart_option_groupz"HTMLTranslator.depart_option_groupsV  ))) ))++,,,,,r-c |j||dddd|jddS)Nrzdocutils option-listrrKrzH rrQs r+visit_option_listz HTMLTranslator.visit_option_listsi mmD'1G"(88 9 9 9 2 3 3 3 3 3r-c:|jddSr(rlrQs r+depart_option_listz!HTMLTranslator.depart_option_lists /00000r-cd|j||dddS)Nrr"rrQs r+visit_option_list_itemz%HTMLTranslator.visit_option_list_items. tT26677777r-c:|jddSrrlrQs r+depart_option_list_itemz&HTMLTranslator.depart_option_list_itemrr-cBt|jtjst|jtjrdS|D]/\}}||r|dkr |gdgdgddgfvsdS0t|jdtj}|jj|dD]%}t|tj r||urndStd|jD}|j s|j s |j r|dkrd SdS) zU Determine if the

    tags around paragraph ``node`` can be omitted. FrdrMrNrNc^g|]*}t|tjtjf(|+SrB)rqrrrzrs r+r z>HTMLTranslator.should_be_compact_paragraph..sC0001: -5;77[)%&&1  E%11 }}5500 00011   & ~ "/1"4"44ur-c||r|jddS|j||dd|jddS)Nr"p

    )rrr\r[r]rQs r+visit_paragraphzHTMLTranslator.visit_paragraphsv  + +D 1 1 * L   # # # # # I  T]]4b99 : : : L   ) ) ) ) )r-ch|j|jdSr%rrQs r+depart_paragraphzHTMLTranslator.depart_paragraphrr-c|j||dd||d|_dS)NrfsidebarrXT)r[r\r]rS in_sidebarrQs r+ visit_sidebarzHTMLTranslator.visit_sidebarsP  MM$YM 7 7 9 9 9 D!!!r-cH|jdd|_dS)NrkF)r[r\rrQs r+depart_sidebarzHTMLTranslator.depart_sidebars# $$$r-ct|jtjr3|j||ddddS|j||dddS)Nrr" subscriptrXsubrqrrr literal_blockr[r\r]rQs r+visit_subscriptzHTMLTranslator.visit_subscripts dk5#6 7 7 = I  T]]41<+>> ? ? ? ? ? I  T]]4;; < < < < rqrrrrr[r\rQs r+depart_subscriptzHTMLTranslator.depart_subscriptQ dk5#6 7 7 ' I  Y ' ' ' ' ' I  X & & & & &r-c $t|jtjrM|j||ddd|jddSt|jtjrf|j||ddd|jdt|j|_ dSt|jtj rd |j |j zd z z}|j|||dd |id dd z|jd |zdSdS)Nrr"zsidebar-subtitlerXrh2subtitlez

    zh%srzsection-subtitlerz )rqrrrrr[r\r]rrrin_document_titlesection section_levelr )r*rRtags r+visit_subtitlezHTMLTranslator.visit_subtitle s dk5= 1 1 8 I  T]]4b1C+EE F F F L   ) ) ) ) )  U^ 4 4 8 I  T]]4r]LL M M M L   * * *%(^^D " " "  U] 3 3 84-0IIAMNC I   dC3E FF--FB6H-IIJ K K K L   03 6 7 7 7 7 7  8 8r-cJ|j|j|jrj|j|jd|_d|_|j|j|j|j|jdd=dSdS)NrOr) r[r\rrrrbody_pre_docinfoextend html_subtitlerQs r+depart_subtitlezHTMLTranslator.depart_subtitles ))++,,,  !  Id&+@@ A A A A A I  T]]4;; < < < < r"r6rz%; backlinkrz sourcerrGr)r[r\r]rr8hasattrr)r*rR backref_textr6r=r<r>rs r+visit_system_messagez#HTMLTranslator.visit_system_message3s tU:JKKLLL ;<<< tJ 8J'H8}}!! G"*1+!.  'G$$$www%JKKKFAA :"&))I"6"6!7 <<   f-DDD  LLL$w--- KKX7777|||M N N N N Nr-c:|jddSrjrlrQs r+depart_system_messagez$HTMLTranslator.depart_system_messageMrnr-c V|j|jd|_ddi}d|jjg}d|vr|d|dzd|vrd|dz|d <|j|j|d fd d |i|dS) NTborderrrr]r^rz width: %sr[rrYrZ)rr\rrrr[r]r8)r*rRr rds r+ visit_tablezHTMLTranslator.visit_tableQs DN+++!}t}89 d?? NN:W 5 6 6 6 d??'$w-7DM  DM$ I Isxx/@/@ ID I I K K K K Kr-cv|j|_|jddS)Nz )rrrr[r\rQs r+ depart_tablezHTMLTranslator.depart_table]s3))++ &&&&&r-cf|j||dddS)NtbodytopvalignrrQs r+ visit_tbodyzHTMLTranslator.visit_tbodybs0 tWUCCDDDDDr-c:|jddS)Nz rlrQs r+ depart_tbodyzHTMLTranslator.depart_tbodyerr-c |j||dd|jd|jddS)Ndtr"rdids)rdr)r[r\r]rrrQs r+ visit_termzHTMLTranslator.visit_termisZ tT2/3{9/E+/;u+='?? @ @ @ @ @r-cdSr%rBrQs r+ depart_termzHTMLTranslator.depart_termnrr-cf|j||dddS)NtheadbottomrrrQs r+ visit_theadzHTMLTranslator.visit_theadrs0 tWXFFGGGGGr-c:|jddS)Nz rlrQs r+ depart_theadzHTMLTranslator.depart_theadurr-cg}|j|jzdz }t|jdkr:t |jdt jr|d|dkr|d|zdt|dz}| ||d|}| dr.i}d |d <d |dz|d <||j id dfi|z }d|z}nd|z}||fS)Nrr+z with-subtitlezh%ir")rdrz toc-backrefrrrrz z ) rr rrrrqrrr\minr]r)r*rRrdh_leveltagname start_tagr  close_tags r+section_title_tagsz!HTMLTranslator.section_title_tagszs$t'@@1D    ! !4;q>5>:: " NN? + + + Q;; NN57? + + +#gq//)MM$WMEE <<  ,D)DMg.DL r3;;d;; ;I%/II!G+I)##r-r%)T)gr.r/r0__doc__doctype content_typecontent_type_mathmlrr'special_characterscopyattribution_formatsrSr^rbrhrmrurwryr{rrrrrrrrrrrrrrrrrrrrrrZrarrrrr r rrrrr&r)r0r2r4rr@rHrJrLrcrvrxr{r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrBr-r+r'r'hs((\ H >> ***(<<<%%%111HHH"""NNN$$$;;;%%%""" $$$FFF$$$      """""" 3 3 3 3)))LLL'''""" ---<<<($$$ GGG$$$ 6 6 6$$$3336EEE@@@"--- %%%///4111 O O O666   #2"ACC>I>I>I@   777PPP/// $$$ <$$$ LLL'''   --- 333111888$$$ >***---    ==='''888 ==='''NNN4%%% K K K''' EEE'''@@@    HHH''' $$$$$r-r'c*eZdZdZdZdZdZdZdS)SimpleListCheckerz 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. cg}|jD]1}t|tjs||2|rtt|dtjrTt|dtjs t|dtjr|t|dkrdStj )NrrOr) r%rqrrr\r# bullet_listenumerated_listrr NodeFound)r*rRr%rs r+rz!SimpleListChecker.visit_list_items] ' 'EeU_55 '&&&  HQKAA HRL%*;<< x|U-BCC  LLNNN x==A   F/ !r-ctjr%)rrrQs r+rz!SimpleListChecker.visit_paragraphs nr-ctjr%rr rQs r+rz'SimpleListChecker.visit_definition_list or-ctjr%rrQs r+rzSimpleListChecker.visit_docinforr-N)r.r/r0rrrrrrBr-r+rrsZ " " "(r-r)r __docformat__os.pathr3rlrrrrdocutils.writersrdocutils.writers._html_baserr r r'rrBr-r+rs #  ----------''''''99999999L/L/L/L/L/W  &L/L/L/^d $d $d $d $d $W'6d $d $d $N$$$$$*<$$$$$r-