
    }cH?             	          d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZ ddl m!Z! ddl"m#Z#m$Z$m%Z% ddl&m'Z'm(Z(m)Z) ddl*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0 ddl1m2Z2 	 ddl3m4Z4 n# e5$ r	 ddl6m4Z4 Y nw xY werddl7m8Z8 ddl9m:Z:  e'j;        e<          Z=dZ>g dZ? ed dddddd          Z@dZAd ZB ejC        d!          ZD G d" d#ejE                  ZF G d$ d%e!          ZG G d& d'ejH                  ZI G d( d)          ZJ G d* d+          ZKd,eLd-eLfd.ZMd6d0eLd1eNd-eLfd2ZO G d3 d4e+          ZPdd5lQmRZRmSZSmTZT dS )7z~Custom docutils writer for LaTeX.

Much of this code is adapted from Dave Kuhlman's "docpy" writer from his
docutils sandbox.
    N)defaultdict)path)TYPE_CHECKINGAnyDictIterableListSetTuplecast)nodeswriters)ElementNodeText)addnodeshighlighting)RemovedInSphinx70Warning)
IndexEntry)StandardDomain)SphinxError)___admonitionlabels)logging
split_into	texescape)SphinxTranslator)clean_astextget_prev_node)LaTeXRenderer)tex_replace_map)toRoman)LaTeXBuilder)Theme   )partchaptersection
subsectionsubsubsection	paragraphsubparagraphc                      dS )N\arabic r0       4lib/python3.11/site-packages/sphinx/writers/latex.py<lambda>r3   ,   s    : r1   r/   z\alphz\Alphz\romanz\Roman)arabic
loweralpha
upperalpha
lowerroman
upperroman
z

z^(.*\S)\s+\(([^()]*)\)\s*$c                       e Zd ZdZdS )collected_footnotez5Footnotes that are collected are assigned this class.N)__name__
__module____qualname____doc__r0   r1   r2   r;   r;   :   s        ????r1   r;   c                       e Zd ZdZdS )UnsupportedErrorzMarkup is unsupported in LaTeXN)r<   r=   r>   categoryr0   r1   r2   rA   rA   >   s        /HHHr1   rA   c                   t     e Zd ZU dZddddgddifddgdd	ifd
dgddifffZi Zeed<   dZd fdZ	ddZ
 xZS )LaTeXWriter)sphinxlatexzLaTeX writer options zDocument namez	--docnamedefaultzDocument classz
--docclassmanualAuthorz--authorsettings_defaultsNbuilderr$   returnc                 d    t                                                       || _        d | _        d S N)super__init__rK   theme)selfrK   	__class__s     r2   rP   zLaTeXWriter.__init__O   s+     


r1   c                     | j                             | j        | j         | j                  }| j                            |           t          t          |                                          | _        d S rN   )	rK   create_translatordocumentrQ   	walkaboutr   LaTeXTranslatorastextoutput)rR   visitors     r2   	translatezLaTeXWriter.translateT   sX    ,00djYY(((?G44;;==r1   )rK   r$   rL   N)rL   N)r<   r=   r>   	supportedsettings_specrJ   r   __annotations__rZ   rP   r\   __classcell__rS   s   @r2   rD   rD   B   s          I+R	;-)R9	L>Ix+@A	J<)R12 M
 !t   F! ! ! ! ! !
> > > > > > > >r1   rD   c                   p    e Zd ZdZdeddfdZdefdZdefdZ	defdZ
d	ed
eddfdZddededdfdZdS )TablezA table datanoderL   Nc                 Z   g | _         g | _        |                    dd          | _        |                    dg           | _        d| _        d | _        g | _        d| _        d| _	        d| _
        d | _        g | _        d| _        d| _        t          t                     | _        d| _        d S )NalignrG   classesr   F)headerbodygetrf   rg   colcountcolspec	colwidthshas_problematichas_oldproblematichas_verbatimcaptionstubscolrowr   intcellscell_idrR   rd   s     r2   rP   zTable.__init___   s    !#!	XXgy11
"&((9b"9"9 $&$"'!"& "
  2=S1A1A
r1   c                 *    | j         dk    pd| j        v S )z5True if and only if table uses longtable environment.   	longtable)rt   rg   rR   s    r2   is_longtablezTable.is_longtableu   s    x"};t| ;;r1   c                     |                                  rdS | j        rdS | j        rdS | j        s| j        rd| j        v rdS dS )zReturns the LaTeX environment name for the table.

        The class currently supports:

        * longtable
        * tabular
        * tabulary
        r{   tabulartabularycolwidths-given)r}   rp   rl   rn   rm   rg   r|   s    r2   get_table_typezTable.get_table_typey   si      		; 	9\ 	:! 	dn 	9Jdl9Z 	9:r1   c                    | j         r| j         S | j        rPd| j        v rGt          | j                  fd| j        D             }dd                    |          z  t
          z   S | j        rd| j        | j        fz  t
          z   S |                                 dk    rdd| j        z  z   d	z   t
          z   S | j	        rd| j        | j        fz  t
          z   S dd
| j        z  z   d	z   t
          z   S )zReturns a column spec of table.

        This is what LaTeX calls the 'preamble argument' of the used table environment.

        .. note:: the ``\X`` and ``T`` column type specifiers are defined in ``sphinx.sty``.
        r   c                     g | ]	}d |fz  
S )z
\X{%d}{%d}r0   ).0widthtotals     r2   
<listcomp>z%Table.get_colspec.<locals>.<listcomp>   s"    SSS56SSSr1   z{|%s|}|z{|*{%d}{\X{1}{%d}|}}r   z{|zT|}zl|)
rl   rm   rg   sumjoinCRrn   rk   r   ro   )rR   colspecsr   s     @r2   get_colspeczTable.get_colspec   s    < 	<<^ 	< 1T\ A 	<''ESSSSDNSSSHchhx000255! 	<*dmT]-KKbPP  ""j0 	<4$-/036;;$ 	<*dmT]-KKbPP4$-/036;;r1   heightr   c                     | xj         dz  c_         t          |          D ]Z}t          |          D ]H}| j        | j        |z   | j        |z   f         dk    sJ | j         | j        | j        |z   | j        |z   f<   I[dS )zsAdds a new cell to a table.

        It will be located at current position: (``self.row``, ``self.col``).
           r   N)rw   rangerv   rt   rs   )rR   r   r   rs   rt   s        r2   add_cellzTable.add_cell   s    
 	<< 	L 	LCV}} L Lz48c>48c>"BCqHHHH?C|
DHsNDHsN;<<L	L 	Lr1   rt   rs   	TableCellc                 l    	 || j         }|| j        }t          | ||          S # t          $ r Y dS w xY w)zReturns a cell object (i.e. rectangular area) containing given position.

        If no option arguments: ``row`` or ``col`` are given, the current position;
        ``self.row`` and ``self.col`` are used to get a cell object by default.
        N)rt   rs   r   
IndexError)rR   rt   rs   s      r2   cellz
Table.cell   sY    	 h hT3,,, 	 	 	44	s   "% 
33)NN)r<   r=   r>   r?   r   rP   boolr}   strr   r   ru   r   r   r0   r1   r2   rc   rc   \   s        W     ,<d < < < <    (<S < < < <.	Ls 	L3 	L4 	L 	L 	L 	L         r1   rc   c                   b    e Zd ZdZdedededdfdZedefd            Zedefd	            Z	dS )
r   zData of a cell in a table.tablert   rs   rL   Nc                    |j         ||f         dk    rt          || _        |j         ||f         | _        || _        || _        |j         | j        dz
  | j        f         | j        k    r5| xj        dz  c_        |j         | j        dz
  | j        f         | j        k    5|j         | j        | j        dz
  f         | j        k    r7| xj        dz  c_        |j         | j        | j        dz
  f         | j        k    5d S d S Nr   r   )rv   r   r   rw   rt   rs   )rR   r   rt   rs   s       r2   rP   zTableCell.__init__   s   ;Sz"a' 	
{C:. k48a<23t|C 	HHMHH k48a<23t|C 	k48TX\23t|C 	HHMHH k48TX\23t|C 	 	 	 	 	r1   c                     d}| j         j        | j        | j        |z   f         | j        k    r/|dz  }| j         j        | j        | j        |z   f         | j        k    /|S )zReturns the cell width.r   r   r   rv   rt   rs   rw   )rR   r   s     r2   r   zTableCell.width   sg     j$(U*:;<L 	QJE j$(U*:;<L 	r1   c                     d}| j         j        | j        |z   | j        f         | j        k    r/|dz  }| j         j        | j        |z   | j        f         | j        k    /|S )zReturns the cell height.r   r   r   )rR   r   s     r2   r   zTableCell.height   sg     j6 148<=M 	aKF j6 148<=M 	r1   )
r<   r=   r>   r?   rc   ru   rP   propertyr   r   r0   r1   r2   r   r      s        $$e # C D     s    X     X  r1   r   textrL   c                 .    t          j        dd|           S )z#Adjust spacing after abbreviations.z
\.(?=\s|$)z.\@)resub)r   s    r2   escape_abbrr      s    6-...r1   d   	width_strscalec                    t          j        d|           }|st          | }|                                dd         \  }}|dk    rAt	          |           |dv rd|z  }ni|dk    rd|z  }n]|d	k    rd
t	          |          dz  z  }nAt	          |          |z  dz  }|dv rd|z  }n"|dk    rd|z  }n|d	k    r	d|dz  z  }nd||fz  }|S )z4Convert `width_str` with rst length to LaTeX length.z^(\d*\.?\d*)\s*(\S*)$N   r   )rF   pxz%s\sphinxpxdimenptz%sbp%z%.3f\linewidth      Y@z%.5f\sphinxpxdimenz%.5fbpz%.5f\linewidthz%.5f%s)r   match
ValueErrorgroupsfloat)r   r   r   resamountunitamount_floats          r2   rstdim_to_latexdimr      s!   H-y99E 
C<<>>"1"%LFD| 2f: 	>%.CCT\ 	>6/CCS[ 	>#uV}}u'<=CV}}u,u4: 	2',6CCT\ 	2\)CCS[ 	2#|e';<CClD11CJr1   c            	           e Zd ZU dZded<   dZdZdej        ddddd	df fd
Z	de
e         d	dfdZd	e
e         fdZd	efdZddededed	efdZddeded	efdZded	efdZded	efdZded	efdZded	efdZdeded	efdZd	efdZded ed	efd!Zed	efd"            Zded	dfd#Zded	dfd$Zded	dfd%Z ded	dfd&Z!ded	dfd'Z"ded	dfd(Z#ded	dfd)Z$ded	dfd*Z%ded	dfd+Z&ded	dfd,Z'e&Z(e'Z)ded	dfd-Z*ded	dfd.Z+ded	dfd/Z,ded	dfd0Z-ded	dfd1Z.ded	dfd2Z/ded	dfd3Z0ded	dfd4Z1ded	dfd5Z2ded	dfd6Z3ded	dfd7Z4ded	dfd8Z5ded	dfd9Z6ded	dfd:Z7ded	dfd;Z8ded	dfd<Z9ded	dfd=Z:ded	dfd>Z;ded	dfd?Z<ded	dfd@Z=ded	dfdAZ>ded	dfdBZ?ded	dfdCZ@ded	dfdDZAded	dfdEZBded	dfdFZCded	dfdGZDded	dfdHZEded	dfdIZFded	dfdJZGded	dfdKZHded	dfdLZIded	dfdMZJded	dfdNZKded	dfdOZLded	dfdPZMded	dfdQZNded	dfdRZOded	dfdSZPded	dfdTZQded	dfdUZRded	dfdVZSded	dfdWZTded	dfdXZUded	dfdYZVded	dfdZZWded	dfd[ZXded	dfd\ZYded	dfd]ZZded	dfd^Z[ded	dfd_Z\ded	dfd`Z]ded	dfdaZ^ded	dfdbZ_ded	dfdcZ`ded	dfddZaded	dfdeZbded	dfdfZcded	dfdgZdded	dfdhZeded	dfdiZfded	dfdjZgded	dfdkZhded	dfdlZided	dfdmZjded	dfdnZkded	dfdoZlded	dfdpZmded	dfdqZnded	dfdrZoded	dfdsZpded	dfdtZqded	dfduZrded	dfdvZsded	dfdwZtded	dfdxZuded	dfdyZvded	dfdzZwded	dfd{Zxded	dfd|Zyded	dfd}Zzded	dfd~Z{ded	dfdZ|esZ}etZ~ewZexZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZddeded	efdZded	efdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdÄZded	dfdĄZded	dfdńZded	dfdƄZeZeZded	dfdǄZded	dfdȄZded	dfdɄZded	dfdʄZded	dfd˄Zded	dfd̄Zded	dfd̈́Zded	dfd΄Zded	dfdτZded	dfdЄZded	dfdфZded	dfd҄Zded	dfdӄZded	dfdԄZded	dfdՄZded	dfdքZded	dfdׄZded	dfd؄Zded	dfdلZded	dfdڄZded	dfdۄZded	dfd܄Zded	dfd݄Zded	dfdބZded	dfd߄Zded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	efdZded	efdZde d	dfdZde d	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZded	dfdZ	ded	dfdZ
ed	eeef         fd            Z xZS )rX   Nr$   rK   r   FrV   rQ   r%   rL   c                    t                                          ||           g | _        || _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        g }| j        j                                        | _        t.          d d          | _        | j        j        dk    r| j                            d           d| _        | j        j        r{	 | j                            | j        j                  | _        nP# t>          $ rC t@          !                    tE          d          | j        j        | j        j#        fz             Y nw xY w| j        j$        r| j        j%        | _%        | j%        dk    rtM          | j                  tM          t.                    k     r!| j        dk    r| xj%        | j        z  c_%        n| xj%        | j        dz
  z  c_%        tO          | j%        tM          t.                    dz
            | _%        |(                    d| j%        z             n|(                    d           | j        j$        r!| j        j)        r|(                    d	           | j        j*        d
vr.d| j        j+        vr dtX          z   dz   tX          z   dz   | j        d<   | j        j-        | _-        | j-        .                                s2t@          !                    tE          d          | j        j*                   | j/        }| j0        1                    d          r| j0        1                    dd          | j        z   dz
  }tM          | j                  tM          t.                    k     r| j        dk    r|dz  }|tM          t.                    dz
  k    r>t@          !                    tE          d                     tM          t.                    dz
  }d|z  | j        d<   te          ||          }| j        j$        r(| j        j%        dk    rte          || j%        dz
            }|| j/        k    rd|z  | j        d<   |1                    d          }|r| 3                    d|          | j        d<   | j        d         r#|(                    d| j        d         z             |r dd4                    |          z  | j        d<   | j        d         rd| j        d         z  | j        d<   | j        d          r#| j        d!xx         d| j        d          z   z  cc<   tk          j6        d"| j        j7        | j        j8        #          | _9        g | _        g | _:        g | _;        d | _<        g | _=        d | _>        g | _?        g | _@        t                      | _B        d S )$Nr   r   Fr)   r(   z+unknown %r toplevel_sectioning for class %rznumfigreset=%snonumfigreset
mathnumfig>   enjafncychapz\usepackage[Sonny]{fncychap}z&\ChNameVar{\Large\normalfont\sffamily}z'\ChTitleVar{\Large\normalfont\sffamily}z%no Babel option known for language %rtocdepthi  r   ztoo large :maxdepth:, ignored.z\setcounter{tocdepth}{%d}z\setcounter{secnumdepth}{%d}secnumdepthcontentsnamez\contentsnamemaxlistdepthzmaxlistdepth=%sz[,%s],sphinxpkgoptionssphinxsetupz\sphinxsetup{%s}extraclassoptionsclassoptionslatexlatex_engine)CrO   rP   ri   rQ   in_titlein_production_listin_footnote
in_captionin_termneeds_linetrimmingin_minipageno_latex_floatsfirst_documentthis_is_the_titleliteral_whitespacein_parsed_literalcompact_listfirst_paramin_desc_signaturerK   contextcopyelementsLATEXSECTIONNAMESsectionnamestoplevel_sectioningremovetop_sectionlevelconfiglatex_toplevel_sectioningindexr   loggerwarningr   docclassnumfignumfig_secnum_depthlenminappendmath_numfiglanguagelatex_elementsr   babelis_supported_languager   rV   rj   maxbabel_renewcommandr   r   PygmentsBridgepygments_styler   highlighter	descstacktablesnext_table_colspec	bodystackfootnote_restrictedpending_footnotescurfilestacksethandled_abbrs)	rR   rV   rK   rQ   r   minsecnumdepthr   r   rS   s	           r2   rP   zLaTeXTranslator.__init__
  s;   7+++!	
 "#"# !""#!"!& ,1133 .aaa0:)Y6 	0$$Y/// !";0 	]]%++DK,QRR %% ] ] ]r"OPP $ EtzGZ[ \ ] ] ] ] ]] ; 	9'+{'FD$'!+ 9 t())C0A,B,BB J(1,J,,0EE,,,,,0E0II,,+.t/G/23D/E/E/I,K ,K( !''(84;S(STTTT ''888; 	2$+"9 	2##L111K 4 	U$+"<<	U *I2)M)R*SUW*X)S*TDM*% \'
z//11 	1 NN2EFF;/1 1 1 )=Z(( 	; }((S99D<QQTUUH4$%%,=(>(>> $q(A#/00144 6r"BCCDDD011A5(Dx(ODM*% ::N; 	O4;#BQ#F 	O 1IA1MNNND,, 	:+J+9,:DM-(  ||N33 	R,0,C,CDTDP-R -RDM.) =( 	W##$5n8U$UVVV 	U07#((CS:T:T0TDM,-=' 	`,?$-P]B^,^DM-(=,- 	PM.)))S-1];N-O.P P))) (6w@ZDHKD\^ ^ ^"$$&#%'+*,,0 AC')'*uus   )D< <A
F	F	newbodyc                 R    | j                             | j                   || _        d S rN   )r   r   ri   )rR   r  s     r2   pushbodyzLaTeXTranslator.pushbody  s%    di(((			r1   c                 P    | j         }| j                                        | _         |S rN   )ri   r   pop)rR   ri   s     r2   popbodyzLaTeXTranslator.popbody  s#    yN&&((	r1   c                     | j                             d                    | j                  |                                 d           |                     d| j                   S )NrF   )ri   indiceszlatex.tex_t)r   updater   ri   generate_indicesrenderr|   s    r2   rY   zLaTeXTranslator.astext  s^    GGDI&&,,..
 
 	 	 	 {{=$-888r1   Tidwithdocanchorc                 j    |r| j         d         dz   |z   }|rdndd|                     |          z  z   S )N:\phantomsectionrF   
\label{%s})r   idescape)rR   r  r  r  s       r2   hypertargetzLaTeXTranslator.hypertarget  sI     	2"2&,r1B&,4"""VXHYHY8YYYr1   rd   c                 d     d                      fd|d         D                       }|rd|z   S |S )NrF   c              3   F   K   | ]}                     |d           V  dS )Fr  N)r  )r   node_idrR   s     r2   	<genexpr>z1LaTeXTranslator.hypertarget_to.<locals>.<genexpr>  s6      \\W))'%)@@\\\\\\r1   idsr  )r   )rR   rd   r  labelss   `   r2   hypertarget_tozLaTeXTranslator.hypertarget_to  sH    \\\\PTUZP[\\\\\ 	%..Mr1   c                 2    d|                      |          z  S )Nz{\hyperref[%s]{r  rR   r  s     r2   	hyperlinkzLaTeXTranslator.hyperlink  s    !DMM"$5$555r1   c                 2    d|                      |          z  S )Nz\autopageref*{%s}r!  r"  s     r2   hyperpagerefzLaTeXTranslator.hyperpageref  s    #dmmB&7&777r1   sc                 @    t          j        || j        j                  S rN   )r   escaper   r   )rR   r&  s     r2   r(  zLaTeXTranslator.escape  s    4;#;<<<r1   c                     dt          |                              t                                        dd                              d                              dd          z  S )Nz\detokenize{%s}asciibackslashreplace\r   )r   r\   r"   encodedecodereplacer"  s     r2   r  zLaTeXTranslator.idescape  sN    !CGG$5$5o$F$FF7.//wGD# 	r1   command
definitionc                     | j         d         rd| j                                        z  }d}nd}d}|d|d|d|t          z   S )Nmultilingualz\addto\captions%s{r   rF   z\renewcommand{}{)r   r   get_languager   )rR   r0  r1  prefixsuffixs        r2   r   z"LaTeXTranslator.babel_renewcommand  s]    =( 	*TZ-D-D-F-FFFFFFF/5vvwww


FFSVXXXr1   c                 B    dt           t          t          t           t                   f                  dt          dd f fd}g  j        j        }|r j        j        j	        
                                D ]}|j        D ]}|j        d|j        }t          |t                    r||vr- ||                               j        j                  \  }}|s[                    d|j        z  t&          z               |||           d                              S )Ncontent	collapsedrL   c                                         dt          z                                   dt          z              t          |           D ]\  }\  }}|dk    r                     dt          z                                   d                    |          z  t          z              |D ]}|d         s                     d                    |d                   z             |d         r1                     d	                    |d                   z                                  d
|d         d                    |d                   dt          z                                   dt          z              d S )Nz\begin{sphinxtheindex}z*\let\bigletter\sphinxstyleindexlettergroupr   z\indexspacez\bigletter{%s}   z%\item\relax\sphinxstyleindexentry{%s}   z\sphinxstyleindexextra{%s}z\sphinxstyleindexpageref{r   r  r   z\end{sphinxtheindex})r   r   	enumerater(  r-  r  )r9  r:  iletterentriesentryretrR   s         r2   generatez2LaTeXTranslator.generate_indices.<locals>.generate  s   JJ025666JJDrIJJJ(1'(:(: I I$$FGq5 4JJ~2333

,t{{6/B/BBRGHHH$ 	I 	IE 8 ! JJG#{{5844 5 6 6 6Qx Z

#@4;;uUVxCXCX#XYYYJJJ %a$--a*A*A*A*A CEG H I I I I	I JJ.344444r1   -z\renewcommand{\indexname}{%s}rF   )r	   r   r   r   r   r   latex_domain_indicesrK   envdomainsvaluesr
  name
isinstancelistrD  docnamesr   	localnamer   r   )	rR   rD  indices_configdomainindexcls	indexnamer9  r:  rC  s	   `       @r2   r  z LaTeXTranslator.generate_indices  sX   	5d5d:.>)>#?@ 	5T 	5VZ 	5 	5 	5 	5 	5 	5 	5& 9 	1,*299;; 1 1 & 
1 
1H+1;;; FI!.$77 %$N: %$)1&)9)9)B)B-*/ */&GY" ! JJ?(BTTWYYZZZHWi0000
1 wws||r1   template_name	variablesc                    t          | j        j                  }| j        j        D ]N}t	          j        | j        j        ||          }t	          j        |          r|	                    ||          c S O|	                    ||          S )Nr   )
r!   r   r   templates_pathr   r   rK   confdirexistsr  )rR   rS  rT  renderertemplate_dirtemplates         r2   r  zLaTeXTranslator.render  s     dk.FGGG K6 	< 	<Ly!5|!.0 0H{8$$ <x;;;;;< }i888r1   c                 .    | j         r| j         d         S dS )zGet current table.r  N)r   r|   s    r2   r   zLaTeXTranslator.table  s     ; 	;r?"4r1   c                    | j                             |                    dd                     | j        dk    rd| _        n<| j        dk    r1| j                            t
          dz   t
          z              d| _        d|v r-| j                            |                     d                     | j        dz
  | _        d S )NdocnamerF   r   r   z	\appendixr  z:doc)	r   r   rj   r   ri   r   r  r   sectionlevelrx   s     r2   visit_documentzLaTeXTranslator.visit_document  s      )R!8!8999!# 	%"#D A% 	%IR,.3444"$D 	7IT--f55666 1A5r1   c                     d S rN   r0   rx   s     r2   depart_documentzLaTeXTranslator.depart_document      r1   c                     | j                             |d                    | j                            t          dz   t          z              d S )Nr^  z\sphinxstepscope)r   r   ri   r   rx   s     r2   visit_start_of_filez#LaTeXTranslator.visit_start_of_file  sD      i111	11B677777r1   c                 8    | j                                          d S rN   )r   r  rx   s     r2   depart_start_of_filez$LaTeXTranslator.depart_start_of_file  s    r1   c                 r    | j         s| xj        dz  c_        | j                            t                     d S Nr   )r   r_  ri   r   	BLANKLINErx   s     r2   visit_sectionzLaTeXTranslator.visit_section  s=    % 	#"	#####r1   c                 P    t          | j        dz
  | j        dz
            | _        d S ri  )r   r_  r   rx   s     r2   depart_sectionzLaTeXTranslator.depart_section  s/     1A 5 $ 5 9; ;r1   c                 :    | j                             d           d S )Nz{\color{red}\bfseries{}ri   r   rx   s     r2   visit_problematicz!LaTeXTranslator.visit_problematic  s    	344444r1   c                 :    | j                             d           d S Nr   ro  rx   s     r2   depart_problematicz"LaTeXTranslator.depart_problematic      	r1   c                 h    d| _         | j                            t          dz   t          z              d S )Nr   z\begin{sphinxShadowBox}r   ri   r   r   rx   s     r2   visit_topiczLaTeXTranslator.visit_topic!  s1    	882=>>>>>r1   c                 X    d| _         | j                            dt          z              d S )Nr   z\end{sphinxShadowBox}rv  rx   s     r2   depart_topiczLaTeXTranslator.depart_topic%  s,    	1B677777r1   c                     d S rN   r0   rx   s     r2   visit_glossaryzLaTeXTranslator.visit_glossary+  rc  r1   c                     d S rN   r0   rx   s     r2   depart_glossaryzLaTeXTranslator.depart_glossary.  rc  r1   c                     | j                             t                     | j                             dt          z              d| _        d S )Nz\begin{productionlist}r   )ri   r   rj  r   r   rx   s     r2   visit_productionlistz$LaTeXTranslator.visit_productionlist1  sB    	###	2R7888"#r1   c                 X    | j                             dt          z              d| _        d S )Nz\end{productionlist}r   )ri   r   rj  r   rx   s     r2   depart_productionlistz%LaTeXTranslator.depart_productionlist6  s,    	09<==="#r1   c                    |d         rj|d         }| j                             |                     d|z                        | j                             d|                     |          z             d S | j                             d           d S )N	tokennamezgrammar-token-z\production{%s}{z\productioncont{)ri   r   r  r-  )rR   rd   tns      r2   visit_productionz LaTeXTranslator.visit_production:  s     	2k"BIT--.>.CDDEEEI04;;r??BCCCCCI011111r1   c                 J    | j                             dt          z              d S rr  ri   r   r   rx   s     r2   depart_productionz!LaTeXTranslator.depart_productionB  s"    	r"""""r1   c                 P    | j                             | j        d                    d S )N
transition)ri   r   r   rx   s     r2   visit_transitionz LaTeXTranslator.visit_transitionE  s%    	|455555r1   c                     d S rN   r0   rx   s     r2   depart_transitionz!LaTeXTranslator.depart_transitionH  rc  r1   c                    |j         }t          |t          j                  rt          j        t          |t          j                  r| j        rt          |j	                  dk    rNt          |j	        d         t          j
                  s)t                              t          d          |           | j        d         s/|                     |                                          | j        d<   d| _        t          j        d}t#          |                    t          j                            rJd|                     d                    t+          |                                                              z  }	 | j                            d	| j        | j                 |d
           n;# t6          $ r. | j                            d	| j        d         |d
           Y nw xY w| j                            dt:          z   |                     |j                   z              nt          |t          j                  r>| j                            d           | j                            dt:          z              nCt          |t          j                   r=| j                            d           | j                            dt:          z              nt          |t          j!                  r=| j                            d
           | j                            dt:          z              nt          |t          j"                  r| #                    g            net                              t          d          |           | j                            d           | j                            dt:          z              d| _$        d S )Nr   r   z(document title is not a single Text nodelocationtitlerF   [%s] r,  {r  r   z\sphinxstyletopictitle{z\sphinxstylesidebartitle{zJencountered title node not in section, topic, table, admonition or sidebarz\sphinxstyleothertitle{)%parentrK  r   seealsor   SkipNoder)   r   r   childrenr   r   r   r   r   r(  rY   anyfindallimager   r   splitri   r   r   r_  r   r   r   r  topicsidebar
Admonitionr   r  r   )rR   rd   r  shorts       r2   visit_titlezLaTeXTranslator.visit_titleK  ss   fh.// +	*. .. (	*% Qt}%%* 2:dmA>N>Cj4J 4J 2NN2&P#Q#Q,0 # 2 2 2}W- H .2[[-G-GDM'*)*&n$t||EK0011 Y#dkk#((<;M;M;S;S;U;U2V2V&W&WWEQI$$$$2CDDU2V2VX]X]X]%^____! Q Q QI$$$$2CB2G2G%OPPPPPQ ##C"Ht/B/B4;/O/O$OPPPP,, 	*I7888Lb)))).. 	*I9:::Lb)))) 011 	*IS!!!Lb)))),, 	*MM"NN2 6 7 7$(  * * * I7888Lb)))s   >0F/ /5G'&G'c                     d| _         t          |j        t          j                  r |                                 | j        _        d S | j                            | j	        
                                           d S Nr   )r   rK  r  r   r   r  rq   ri   r   r   r  rx   s     r2   depart_titlezLaTeXTranslator.depart_title{  sa    dk5;// 	1!%DJIT\--//00000r1   c                     t          |j        t          j                  r>| j                            d           | j                            dt          z              d S | j                            d           d S )Nz\sphinxstylesidebarsubtitle{r   rF   )rK  r  r   r  ri   r   r   r   rx   s     r2   visit_subtitlezLaTeXTranslator.visit_subtitle  sk    dk5=11 	$I<===Lb)))))L#####r1   c                 h    | j                             | j                                                   d S rN   ri   r   r   r  rx   s     r2   depart_subtitlezLaTeXTranslator.depart_subtitle  ,    	))++,,,,,r1   c                 V   | j         j        dk    rB| j                            t                     | j                            dt
          z              nA| j                            t                     | j                            dt
          z              | j        rd| j        _        d S d S )Nfootnotez&\begin{savenotes}\begin{fulllineitems}z\begin{fulllineitems}T)r   latex_show_urlsri   r   rj  r   r   rn   rx   s     r2   
visit_desczLaTeXTranslator.visit_desc  s    ;&*4 	<IY'''IFKLLLLIY'''I5:;;;: 	.)-DJ&&&	. 	.r1   c                 2   | j         r)| j                            t          dz              d| _         | j        j        dk    r,| j                            t          dz   t          z              d S | j                            t          dz   t          z              d S )N\pysigstopsignaturesFr  z"\end{fulllineitems}\end{savenotes}z\end{fulllineitems})r   ri   r   r   r   r  rj  rx   s     r2   depart_desczLaTeXTranslator.depart_desc  s    ! 	+IR"99:::%*D";&*4 	FIR"GG)STTTTTIR"889DEEEEEr1   c                     |D ]A}t          |t          j                  r%| j                            t
          dz               d S B| j                            t
          dz              d S )Nz\pysiglinewithargsret{z\pysigline{)rK  r   desc_parameterlistri   r   r   )rR   rd   childs      r2   _visit_signature_linez%LaTeXTranslator._visit_signature_line  sq     	2 	2E%!<== 	  &?!?@@@ IR.011111r1   c                 :    | j                             d           d S rr  ro  rx   s     r2   _depart_signature_linez&LaTeXTranslator._depart_signature_line  rt  r1   c                    |j         d         dk    r*|d         r"|                     |d         d                   }nd}| j                            |           | j        s)d| _        | j                            t
          dz              |                    d          s|                     |           d S | j                            t
          d	z              d S )
Nobjtypedescriber  r   rF   Tz\pysigstartsignaturesis_multilinez\pysigstartmultiline)r  r  ri   r   r   r   rj   r  )rR   rd   hypers      r2   visit_desc_signaturez$LaTeXTranslator.visit_desc_signature  s    ;y!Z/ 	DK 	$$T%[^44EEE	% 	<%)D"IR"::;;;xx'' 	;&&t,,,,,IR"99:::::r1   c                     |                     d          s|                     |           d S | j                            t          dz              d S )Nr  z\pysigstopmultiline)rj   r  ri   r   r   rx   s     r2   depart_desc_signaturez%LaTeXTranslator.depart_desc_signature  sR    xx'' 	:''-----IR"8899999r1   c                 0    |                      |           d S rN   )r  rx   s     r2   visit_desc_signature_linez)LaTeXTranslator.visit_desc_signature_line  s    ""4(((((r1   c                 0    |                      |           d S rN   )r  rx   s     r2   depart_desc_signature_linez*LaTeXTranslator.depart_desc_signature_line  s    ##D)))))r1   c                 j    | j         sJ | j                            t          dz              d| _         d S )Nr  F)r   ri   r   r   rx   s     r2   visit_desc_contentz"LaTeXTranslator.visit_desc_content  s;    %%%%	55666!&r1   c                     d S rN   r0   rx   s     r2   depart_desc_contentz#LaTeXTranslator.depart_desc_content  rc  r1   c                 :    | j                             d           d S )N\sphinxcode{\sphinxupquote{ro  rx   s     r2   visit_desc_inlinez!LaTeXTranslator.visit_desc_inline  s    	788888r1   c                 :    | j                             d           d S N}}ro  rx   s     r2   depart_desc_inlinez"LaTeXTranslator.depart_desc_inline      	r1   c                 Z    | j                             d           | xj        dz  c_        d S )N\sphinxbfcode{\sphinxupquote{r   ri   r   r   rx   s     r2   visit_desc_namezLaTeXTranslator.visit_desc_name  s3    	9:::1$r1   c                 Z    | j                             d           | xj        dz  c_        d S Nr  r   r  rx   s     r2   depart_desc_namez LaTeXTranslator.depart_desc_name  2    	1$r1   c                 Z    | j                             d           | xj        dz  c_        d S )Nr  r   r  rx   s     r2   visit_desc_addnamez"LaTeXTranslator.visit_desc_addname  s3    	78881$r1   c                 Z    | j                             d           | xj        dz  c_        d S r  r  rx   s     r2   depart_desc_addnamez#LaTeXTranslator.depart_desc_addname  r  r1   c                     d S rN   r0   rx   s     r2   visit_desc_typezLaTeXTranslator.visit_desc_type  rc  r1   c                     d S rN   r0   rx   s     r2   depart_desc_typez LaTeXTranslator.depart_desc_type  rc  r1   c                 :    | j                             d           d S )Nz{ $\rightarrow$ ro  rx   s     r2   visit_desc_returnsz"LaTeXTranslator.visit_desc_returns      	,-----r1   c                 :    | j                             d           d S rr  ro  rx   s     r2   depart_desc_returnsz#LaTeXTranslator.depart_desc_returns  r  r1   c                 H    | j                             d           d| _        d S )Nr4  r   )ri   r   r   rx   s     r2   visit_desc_parameterlistz(LaTeXTranslator.visit_desc_parameterlist  s&    	r1   c                 :    | j                             d           d S )Nr4  ro  rx   s     r2   depart_desc_parameterlistz)LaTeXTranslator.depart_desc_parameterlist  s    	r1   c                     | j         s| j                            d           nd| _         |                    d          s| j                            d           d S d S )N, r   noemph\emph{)r   ri   r   hasattrrx   s     r2   visit_desc_parameterz$LaTeXTranslator.visit_desc_parameter  sh     	!IT"""" D||H%% 	(IY'''''	( 	(r1   c                 h    |                     d          s| j                            d           d S d S )Nr  r   )r  ri   r   rx   s     r2   depart_desc_parameterz%LaTeXTranslator.depart_desc_parameter	  s<    ||H%% 	"IS!!!!!	" 	"r1   c                 :    | j                             d           d S )Nz\sphinxoptional{ro  rx   s     r2   visit_desc_optionalz#LaTeXTranslator.visit_desc_optional  r  r1   c                 :    | j                             d           d S rr  ro  rx   s     r2   depart_desc_optionalz$LaTeXTranslator.depart_desc_optional  rt  r1   c                 :    | j                             d           d S )Nr  ro  rx   s     r2   visit_desc_annotationz%LaTeXTranslator.visit_desc_annotation  s    	9:::::r1   c                 :    | j                             d           d S r  ro  rx   s     r2   depart_desc_annotationz&LaTeXTranslator.depart_desc_annotation  r  r1   c                     | j                             t                     | j                             dt          d         z  t          z              | j                             dt          z              d S )Nz\sphinxstrong{%s:}r  z\nopagebreak)ri   r   rj  r   r   rx   s     r2   visit_seealsozLaTeXTranslator.visit_seealso  s`    	###	.1A)1LLrQRRR	9455555r1   c                 D    | j                             t                     d S rN   )ri   r   rj  rx   s     r2   depart_seealsozLaTeXTranslator.depart_seealso   s    	#####r1   c                    t          |          dk    r1|                                dt          d          fv rt          j        | j                            d           | j                            dt          z              d| _	        d S )Nr   	Footnotesz\subsubsection*{r   )
r   rY   r   r   r  ri   r   r   r   r   rx   s     r2   visit_rubriczLaTeXTranslator.visit_rubric#  sw    t99> 	!dkkmmQ{^^/LL 	!. 	,---C"H%%%r1   c                 v    d| _         | j                            | j                                                   d S r  )r   ri   r   r   r  rx   s     r2   depart_rubriczLaTeXTranslator.depart_rubric*  s3    	))++,,,,,r1   c                    | xj         dz  c_         t          t          j        |d                   }| j        r0| j                            d|                                z             nQ| j                            dt          z              | j                            d|                                z             d|v r	 | j                            dt          z              d S )Nr   r   z\begin{footnote}[%s]r   referred\sphinxAtStartFootnote)	r   r   r   labelr   ri   r   rY   r   rR   rd   r  s      r2   visit_footnotezLaTeXTranslator.visit_footnote.  s    AU[$q'**! 	GI4u||~~EFFFFIS2X&&&I4u||~~EFFF 		2R788888r1   c                     | j         r| j                            d           n<| j                            dt          z              | j                            d           | xj        dz  c_        d S )Nz\end{footnote}r   r   )r   ri   r   r   r   rx   s     r2   depart_footnotezLaTeXTranslator.depart_footnote;  sr    ! 	0I.////IS2X&&&I.///Ar1   c                     t           j        rN   r   r  rx   s     r2   visit_labelzLaTeXTranslator.visit_labelC  
    nr1   c                 4    |d         | _         t          j        )Nspec)r   r   r  rx   s     r2   visit_tabular_col_specz&LaTeXTranslator.visit_tabular_col_specF  s    "&v,nr1   c                 z   t          | j                  dk    rQ| j                                        dk    r't	          | j        d         d|j        pdd          d| j        _        n?t          | j                  dk    r't	          | j        d         d|j        pdd	          | j                            t          |                     | j
        r]d
| j
        z  t          z   | j        _        d|                    dg           v r)t                              t!          d          |           d | _
        d S )Nr   r{   r  r  rF   z-: longtable does not support nesting a table.Tr   z+: deeply nested tables are not implemented.z{%s}r   rg   zGboth tabularcolumns and :widths: option are given. :widths: is ignored.r  )r   r   r   r   rA   r   linern   r   rc   r   r   rl   rj   r   infor   rx   s     r2   visit_tablezLaTeXTranslator.visit_tableJ  s_   t{q  	:z((**k9 2&&r***DIOOO=> > > .2
**! 	:""2&&&	R9: : : 	5;;'''" 	G!'$*A!AB!FDJ DHHY$;$;; GB  6 7 7AE  G G G"&r1   c                    |                      |          }| j                                        }|                     |dz   t	          | j        |                    }| j                            t                     | j                            |           | j                            t                     | j	        
                                 d S )Nz.tex_t)r   r  )r  r   r   r  dictri   r   rj  r   r   r  )rR   rd   r  
table_typer   s        r2   depart_tablezLaTeXTranslator.depart_tablea  s    $$T**Z..00
J1 tz&AAAC C	###		r1   c                     | j         xj        dz  c_        d|v r%| j         j                            |d                    d|v r.| j         j                            | j         j        dz
             d S d S )Nr   colwidthstub)r   rk   rm   r   rr   rx   s     r2   visit_colspeczLaTeXTranslator.visit_colspecl  s    
q  	:J ''Z(8999T> 	=J##DJ$7!$;<<<<<	= 	=r1   c                     d S rN   r0   rx   s     r2   depart_colspeczLaTeXTranslator.depart_colspecs  rc  r1   c                     d S rN   r0   rx   s     r2   visit_tgroupzLaTeXTranslator.visit_tgroupv  rc  r1   c                     d S rN   r0   rx   s     r2   depart_tgroupzLaTeXTranslator.depart_tgroupy  rc  r1   c                 D    |                      | j        j                   d S rN   )r  r   rh   rx   s     r2   visit_theadzLaTeXTranslator.visit_thead|  s    dj'(((((r1   c                 .    |                                   d S rN   r  rx   s     r2   depart_theadzLaTeXTranslator.depart_thead      r1   c                 D    |                      | j        j                   d S rN   )r  r   ri   rx   s     r2   visit_tbodyzLaTeXTranslator.visit_tbody  s    djo&&&&&r1   c                 .    |                                   d S rN   r&  rx   s     r2   depart_tbodyzLaTeXTranslator.depart_tbody  r(  r1   c                    d| j         _        	 | j                             | j         j        | j         j                  }|d S | j         xj        |j        z  c_        |j        r| j                            d           |j        dk    r#| j                            d|j        z             n)| j                            d|j        |j        fz             )Nr   T&r   \sphinxtablestrut{%d}z,\multicolumn{%d}{|l|}{\sphinxtablestrut{%d}})r   rs   r   rt   r   ri   r   rw   )rR   rd   r   s      r2   	visit_rowzLaTeXTranslator.visit_row  s    
	A:??4:>4:>BBD A
$*,8 *I$$S))):? AI$$%=%LMMMMI$$%T&*j$,%?&@ A A A	Ar1   c                 X     j                             dt          z               fdt           j        j                  D             } fd|D             }t          |          r j                             d           nd}|                    dg           |t          |          k     ri||         du rG||d          	                    d          } j                             d|d	z   ||z   fz             ||z  }|d	z  }|t          |          k     i j        xj
        d	z  c_
        d S )
Nz\\c                 Z    g | ]'}j                             j         j        |          (S r0   )r   r   rt   )r   r?  rR   s     r2   r   z.LaTeXTranslator.depart_row.<locals>.<listcomp>  s-    XXX33XXXr1   c                 P    g | ]"}|j         |j        z   j        j         d z   k    #S )r   )rt   r   r   )r   r   rR   s     r2   r   z.LaTeXTranslator.depart_row.<locals>.<listcomp>  s0    UUUtdh,
0BBUUUr1   z\hliner   FTz\cline{%d-%d}r   )ri   r   r   r   r   rk   allextendr   r   rt   )rR   rd   rv   
underlinedr?  js   `     r2   
depart_rowzLaTeXTranslator.depart_row  sD   	$$$XXXXU4:CV=W=WXXXUUUUuUUU
z?? 
	IY''''Aug&&&c*oo% a=D( "122,,U33AI$$%5QA%FGGGFAQ c*oo%  	
!r1   c                 8   | j         j        dk    r| j                            d           | j                             |                    dd          dz   |                    dd          dz              | j                                         }d}|j        dk    r| j        j	        rp| j         j        dk    r+| j                            d|j        z  t          z              n*| j                            d|j        z  t          z              d	t          z   }n4| j                            d
|j        z  t          z              dt          z   }|j        dk    r>| j                            d|j        |j        fz  t          z              d	t          z   |z   }|j        dk    s|j        dk    rU| j                            d|j        | j         j        fz  t          z              dt          z   dz   t          z   |z   }d| _        t          t!          |                    t$          j                                      dk    rd| j         _        t+          |j        j        t$          j                  s|j        | j         j        v rft          |          dk    r9t+          |d         t$          j                  r|                                dk    rn| j                            d           | j        r|                     g            | j                            |           d S )Nr   r.  morerowsr   morecolsrF   z\multicolumn{%d}{|l|}{%%z\multicolumn{%d}{l|}{%%}%z\sphinxstartmulticolumn{%d}%%z\sphinxstopmulticolumnz\sphinxmultirow{%d}{%d}{%%z,\begin{varwidth}[t]{\sphinxcolwidth{%d}{%d}}z\parz7\vskip-\baselineskip\vbox{\hbox{\strut}}\end{varwidth}%r   Tz\sphinxstyletheadfamily )r   rs   ri   r   r   rj   r   r   r   latex_use_latex_multicolumnr   r   rw   rk   r   r   rL  r  r   r,   ro   rK  r  theadrr   rY   r  r   )rR   rd   r   r   s       r2   visit_entryzLaTeXTranslator.visit_entry  s   :>A 	"IS!!!
DHHZ33a7*a9P9PST9TUUUz  :> 		9{6 9:>Q& SI$$%@4:%MPR%RSSSSI$$%?$*%Lr%QRRR)	  !ADJ!NQS!STTT3b8;? 	*I:dk4<=XX[]]^^^Ri')G:> 	(T[1_ 	(IL $
DJ,?@ACEF G G G| '> >@BCELMG&'D#tDLL112233q8 	1,0DJ)dk(%+66 	>48tzGW;W 	>4yyA~ >*T!Weo"F"F >4;;==\^K^ >	  !<===" 	MM"G$$$$$r1   c                    | j         rpd| _         |                                 }|r9|d         t          k    r(|                    d           |r|d         t          k    (| j                            |           | j                            | j                                                   | j        	                                }| j        xj
        |j        z  c_
        	 | j        	                                }|d S | j        xj
        |j        z  c_
        | j                            d           |j        dk    r#| j                            d|j        z             n)| j                            d|j        |j        fz             )Nr   Tr.  r   r/  z+\multicolumn{%d}{l|}{\sphinxtablestrut{%d}})r   r  r   r  ri   r5  r   r   r   r   rs   r   rw   )rR   rd   ri   r   nextcells        r2   depart_entryzLaTeXTranslator.depart_entry  s   " 	#&'D#<<>>D  47b=   47b= IT"""	))++,,,z  
$*$	Iz((H I
(.0	  %%%>Q& I I$$%=@P%PQQQQ I$$%S&.nh6F%G&H I I I	Ir1   c                    t          t          j        |d                   }t          t          t          j                 |          }| j                            t                     | j                            d                    d |D                       dz              | j                            t                     t          j	        )Nr   r  c              3   >   K   | ]}|                                 V  d S rN   rY   )r   ns     r2   r  z-LaTeXTranslator.visit_acks.<locals>.<genexpr>  s*      "B"B!188::"B"B"B"B"B"Br1   .)
r   r   bullet_listr   	list_itemri   r   rj  r   r  )rR   rd   rH  
list_itemss       r2   
visit_ackszLaTeXTranslator.visit_acks  s     5,d1g66(5?3[AA
	###	"B"Bz"B"B"BBBSHIII	###nr1   c                     | j         s"| j                            dt          z              | j        rd| j        _        d S d S )Nz\begin{itemize}Tr   ri   r   r   r   rn   rx   s     r2   visit_bullet_listz!LaTeXTranslator.visit_bullet_list  sM      	6I/"4555: 	.)-DJ&&&	. 	.r1   c                 \    | j         s$| j                            dt          z              d S d S )Nz\end{itemize}r   ri   r   r   rx   s     r2   depart_bullet_listz"LaTeXTranslator.depart_bullet_list  s9      	4I-233333	4 	4r1   c                    dt           dt          fd}dt           dt          ffddt           |                                                    z  }dt           |          dz                                             z  }t
                               ||                    }|                    dd          }|                    d	d
          }| j                            dt          z              | j                            d|d|d|d|d|dt          z              d|v r0| j                            d||d         dz
  fz  t          z              | j
        rd| j
        _        d S d S )Nrd   rL   c                     |                      dd          }d|v r,d|                      dd          t          |           z   k     rd}|S )Nenumtyper4   alpha   startr   )rj   r   )rd   rT  s     r2   get_enumtypez;LaTeXTranslator.visit_enumerated_list.<locals>.get_enumtype  sQ    xx
H55H(" $rDHHWa,@,@3t99,L'L $#Or1   c                     | dS t          | t          j                  r | j                  dz   S  | j                  S r   )rK  r   enumerated_listr  )rd   get_nested_levels    r2   r[  z?LaTeXTranslator.visit_enumerated_list.<locals>.get_nested_level  sP     5qD%"788 5''44q88''444r1   zenum%sr   r6  rF   r7  rG  z\begin{enumerate}z\sphinxsetlistlabels{r4  r<  rW  z\setcounter{%s}{%d}T)r   r   ru   r#   lowerENUMERATE_LIST_STYLErj   ri   r   r   r   rn   )	rR   rd   rX  enumenumnextstyler6  r7  r[  s	           @r2   visit_enumerated_listz%LaTeXTranslator.visit_enumerated_list  s   	w 	3 	 	 	 		57 	5s 	5 	5 	5 	5 	5 	5 '"2"24"8"899??AAAg&6&6t&<&<q&@AAGGIII$((d););<<(B''(C((	-2333	%%xxxACEF 	G 	G 	Gd? 	VI3tT']Q=N6OORTTUUU: 	.)-DJ&&&	. 	.r1   c                 J    | j                             dt          z              d S )Nz\end{enumerate}r  rx   s     r2   depart_enumerated_listz&LaTeXTranslator.depart_enumerated_list&  s$    	+b011111r1   c                 :    | j                             d           d S )Nz	\item {} ro  rx   s     r2   visit_list_itemzLaTeXTranslator.visit_list_item)  s      		&&&&&r1   c                 D    | j                             t                     d S rN   r  rx   s     r2   depart_list_itemz LaTeXTranslator.depart_list_item.      	r1   c                 t    | j                             dt          z              | j        rd| j        _        d S d S )Nz\begin{description}Tri   r   r   r   rn   rx   s     r2   visit_definition_listz%LaTeXTranslator.visit_definition_list1  sB    	/"4555: 	.)-DJ&&&	. 	.r1   c                 J    | j                             dt          z              d S )Nz\end{description}r  rx   s     r2   depart_definition_listz&LaTeXTranslator.depart_definition_list6  $    	-233333r1   c                     d S rN   r0   rx   s     r2   visit_definition_list_itemz*LaTeXTranslator.visit_definition_list_item9  rc  r1   c                     d S rN   r0   rx   s     r2   depart_definition_list_itemz+LaTeXTranslator.depart_definition_list_item<  rc  r1   c                    | xj         dz  c_         d}|                    d          r'd}|d         D ]}||                     |d          z  }|dz  }| j                            d           | j                            |           d S )	Nr   rF   r  r  Fr  r   z\sphinxlineitem{)r   rj   r  ri   r   r   )rR   rd   ctxr  s       r2   
visit_termzLaTeXTranslator.visit_term?  s    88E?? 	?$C; ? ?t'''>>>t	,---C     r1   c                     | j                             | j                                                   | xj        dz  c_        d S ri  )ri   r   r   r  r   rx   s     r2   depart_termzLaTeXTranslator.depart_termJ  s:    	))++,,,r1   c                 :    | j                             d           d S )Nz{[}ro  rx   s     r2   visit_classifierz LaTeXTranslator.visit_classifierN      	r1   c                 :    | j                             d           d S )Nz{]}ro  rx   s     r2   depart_classifierz!LaTeXTranslator.depart_classifierQ  rz  r1   c                     d S rN   r0   rx   s     r2   visit_definitionz LaTeXTranslator.visit_definitionT  rc  r1   c                 D    | j                             t                     d S rN   r  rx   s     r2   depart_definitionz!LaTeXTranslator.depart_definitionW  rh  r1   c                 t    | j                             dt          z              | j        rd| j        _        d S d S )Nz \begin{quote}\begin{description}Trj  rx   s     r2   visit_field_listz LaTeXTranslator.visit_field_listZ  sB    	<rABBB: 	.)-DJ&&&	. 	.r1   c                 J    | j                             dt          z              d S )Nz\end{description}\end{quote}r  rx   s     r2   depart_field_listz!LaTeXTranslator.depart_field_list_  s$    	82=>>>>>r1   c                     d S rN   r0   rx   s     r2   visit_fieldzLaTeXTranslator.visit_fieldb  rc  r1   c                     d S rN   r0   rx   s     r2   depart_fieldzLaTeXTranslator.depart_fielde  rc  r1   c                    |j                             |          }|dk    rt          |j         t          j                  rtt          |j         |dz
           t          j                  sLt          |j         |dz
           t          j                  s$| j                            dt          z              d S |dk    r(t          |j         t          j	        t          f          rd S | j                            t          dt          z   g           d S )Nr   r   	\noindentz\sphinxAtStartPar)r  r   rK  r   compoundr,   ri   r   r   r  footnotetextr5  )rR   rd   r   s      r2   visit_paragraphzLaTeXTranslator.visit_paragraphn  s    !!$''AI 	>*T[%.AA 	>t{5195uGG	>t{5195u~FF	> I\B./////aZ 	>Jt{U^\4RSS 	> D
 Ib"6";<=====r1   c                 D    | j                             t                     d S rN   r  rx   s     r2   depart_paragraphz LaTeXTranslator.depart_paragraph  rh  r1   c                 t    | j                             t          dz              | j        rd| j        _        d S d S )N\begin{center}Trj  rx   s     r2   visit_centeredzLaTeXTranslator.visit_centered  sB    	//000: 	.)-DJ&&&	. 	.r1   c                 J    | j                             t          dz              d S )N\end{center}r  rx   s     r2   depart_centeredzLaTeXTranslator.depart_centered  s#    	o-.....r1   c                 N   | xj         dz  c_         |d         }| j         dk    r"| j                            dt          z              | j                            d|z   dz   t          z              | j                            dt          z              | j        rd| j        _        d S d S )Nr   ncolumnsz\setlength{\multicolsep}{0pt}z\begin{multicols}{z}\raggedrightzA\begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}TrM  )rR   rd   r  s      r2   visit_hlistzLaTeXTranslator.visit_hlist  s    Q
#q  	DI=BCCC	.9<LLrQRRR	 68:; 	< 	< 	<: 	.)-DJ&&&	. 	.r1   c                 j    | xj         dz  c_         | j                            dt          z              d S )Nr   z*\end{itemize}\raggedcolumns\end{multicols}rP  rx   s     r2   depart_hlistzLaTeXTranslator.depart_hlist  s8    Q	FKLLLLLr1   c                     d S rN   r0   rx   s     r2   visit_hlistcolzLaTeXTranslator.visit_hlistcol  rc  r1   c                     d S rN   r0   rx   s     r2   depart_hlistcolzLaTeXTranslator.depart_hlistcol  s	     	r1   r   r   r   c                     	 t          ||          S # t          $ r, t                              t	          d          |           Y d S w xY w)Nz&dimension unit %s is invalid. Ignored.)r   r   r   r   r   )rR   r   r   s      r2   latex_image_lengthz"LaTeXTranslator.latex_image_length  sV    	%i777 	 	 	NN2FGGSSS44	s    2AAc                 @    t          |j        t          j                  S )z2Check whether a node represents an inline element.)rK  r  r   TextElementrx   s     r2   	is_inlinezLaTeXTranslator.is_inline  s    $+u'8999r1   c           	         g }g }g }t          |j        t          j                  }|r|                     |j                  }n|                     |          }d|v r\d|v r#|                     |d         |d                   }n|                     |d                   }|r|                    d|z             d|v r\d|v r#|                     |d         |d                   }n|                     |d                   }|r|                    d|z             d|v r0|s.|                    dt          |d                   dz  z             d|v rmd	d
ddddd}		 |                    |	||d         f         d                    |                    |	||d         f         d                    n# t          $ r Y nw xY w| j	        r*|                    d           |                    d           |s9|s7|                    t          dz              |                    t                     |                                 |d         | j        j        v r| j        j        |d                  }
n| j        rd S |d         }
|
                    d          dk    rd S | j                            |           d}|rdd                    |          z  }t'          j        |
          \  }}| j        r'|r%| j                            d|d|d|d           n$| j                            d|d|d|d           | j                            |           d S )Nr   r   zwidth=%sr   z	height=%szscale=%sr   rf   )rF   rF   )z\raisebox{-0.5\height}{r   )z\raisebox{-\height}{r   ){\hspace*{\fill}\hspace*{\fill}})r  r  )r  r   ))r   top)r   middle)r   bottom)r   center)r   left)r   rightr   r   z!{\sphinxunactivateextrasandspace r   r  uriz://r  rF   r  r   z!\lowercase{\sphinxincludegraphicsz}{{z\sphinxincludegraphicsz{{)rK  r  r   	referencer  r  r   r   KeyErrorr   r   reverserK   imagesignore_missing_imagesfindri   r5  r   r   splitextr   )rR   rd   prepostinclude_graphics_optionshas_hyperlinkr  whalign_prepostr  optionsbaseexts                 r2   visit_imagezLaTeXTranslator.visit_image  s   #% "4;@@ 	-t{33IIt,,Id? 	@$ ;++DM4=II++DM:: @(//
Q???t 	A$ <++DNDMJJ++DN;; A(//a@@@d? 	R+ R )//
38g3G3G%3O1Q R R Rd? 	 %@=I 88 M

=DM)AB1EFFFM)T']*BCAFGGGG   ! 	JJ;<<<KK 	 	JJrL()))KKOOO;$,-- 	,%d5k2CC ) u+C88E??b  	F	# 	Bsxx(@AAAGM#&&	c= 	3T 	3 I%ggtttSSS2 3 3 3 3 I%ggtttSSS2 3 3 3	s   AF- -
F:9F:c                     d S rN   r0   rx   s     r2   depart_imagezLaTeXTranslator.depart_image  rc  r1   c                 t   | j         d         }| j        rd}| j        rd|v re|                     |d                   }|rG| j                            d|z  t          z              | j                            dt          z              nD| j                            dt          z              | j                            dt          z              t          d |D                       r| j                            d           | j                            d	t          z              d S |	                    d
d          dv rd }d|v r|                     |d                   }nKt          |d         t          j                  r+d|d         v r!|                     |d         d                   }| j                            t                     | j                            d|d
         dk    rdndd|pddt          z              | j                            d           | j                            dt          z              d S | j        rF| j                            t          dz              | j                            dt          z              d S | j                            t          d|z  z   t          z              | j                            dt          z              t          d |D                       r"| j                            dt          z              | j                            dt          z              d S )Nfigure_alignHr   z!\begin{sphinxfigure-in-table}[%s]z
\centeringz\begin{sphinxfigure-in-table}c              3   J   K   | ]}t          |t          j                  V  d S rN   rK  r   rq   r   r  s     r2   r  z/LaTeXTranslator.visit_figure.<locals>.<genexpr>  .      FF:eU]33FFFFFFr1   z	\capstartz!\end{sphinxfigure-in-table}\relaxrf   rF   )r  r  r   z\begin{wrapfigure}{r  rlr4  0ptr   z\end{wrapfigure}r  r  z\begin{figure}[%s]c              3   J   K   | ]}t          |t          j                  V  d S rN   r  r  s     r2   r  z/LaTeXTranslator.visit_figure.<locals>.<genexpr>$  r  r1   z\end{figure})r   r   r   r  ri   r   r   r  r   rj   rK  r   r  rj  r   )rR   rd   rf   lengths       r2   visit_figurezLaTeXTranslator.visit_figure  s3   n- 	E: !	6$ 500g?? 9I$$%IF%RUW%WXXXI$$]R%7888	  !AB!FGGG	  !3444FFFFFFF /	  ...L Dr IJJJJJXXgr""&77 	6F$ C00g??DGU[11 Cga6H C00a1ABBIY'''I%)']g%=Fcc3FFRWY[]^ _ _ _I]+++L 3b 899999 	6IR"33444L" 455555IR"7%"??"DEEEI]R/000FFFFFFF 4	  !2333L" 455555r1   c                 h    | j                             | j                                                   d S rN   r  rx   s     r2   depart_figurezLaTeXTranslator.depart_figure(  r  r1   c                    | xj         dz  c_         t          |j        t                    r| j                            d           d S | j        r;t          |j        t          j                  r| j                            d           d S | j	        r,|j        j
        dk    r| j                            d           d S | j                            d           d S )Nr   z\sphinxSetupCaptionForVerbatim{z\captionof{figure}{figurez\sphinxfigcaption{z	\caption{)r   rK  r  captioned_literal_blockri   r   r   r   r  r   tagnamerx   s     r2   visit_captionzLaTeXTranslator.visit_caption+  s    1dk#:;; 	+I?@@@@@ 	+*T[%,"G"G 	+I344444Z 	+DK/8; 	+I233333I\*****r1   c                     | j                             d           t          |j        t          j                  r4|                     |j                  }| j                             |           | xj        dz  c_        d S )Nr   r   )ri   r   rK  r  r   r  r  r   )rR   rd   r  s      r2   depart_captionzLaTeXTranslator.depart_caption6  sm    	dk5<00 	%((55FIV$$$1r1   c                 J    | j                             t          dz              d S )Nz\begin{sphinxlegend}r  rx   s     r2   visit_legendzLaTeXTranslator.visit_legend=  s$    	5566666r1   c                 J    | j                             dt          z              d S )Nz\end{sphinxlegend}r  rx   s     r2   depart_legendzLaTeXTranslator.depart_legend@  s$    	.344444r1   c                 j    | j                             t          dz              | xj        dz  c_        d S )Nz\begin{sphinxadmonition}{note}r   ri   r   r   r   rx   s     r2   visit_admonitionz LaTeXTranslator.visit_admonitionC  s8    	??@@@!r1   c                 j    | j                             dt          z              | xj        dz  c_        d S Nz\end{sphinxadmonition}r   r  rx   s     r2   depart_admonitionz!LaTeXTranslator.depart_admonitionG  8    	2R7888!r1   c                     t           |j                 }| j                            t          d|j        d|dz              | xj        dz  c_        d S )Nz\begin{sphinxadmonition}{r4  z:}r   )r   r  ri   r   r   r   r  s      r2   _visit_named_admonitionz'LaTeXTranslator._visit_named_admonitionK  s_     .	,,,/ / 	0 	0 	0!r1   c                 j    | j                             dt          z              | xj        dz  c_        d S r  r  rx   s     r2   _depart_named_admonitionz(LaTeXTranslator._depart_named_admonitionQ  r  r1   c                     d S rN   r0   rx   s     r2   visit_versionmodifiedz%LaTeXTranslator.visit_versionmodifiedh  rc  r1   c                     d S rN   r0   rx   s     r2   depart_versionmodifiedz&LaTeXTranslator.depart_versionmodifiedk  rc  r1   c                     dt           dd f fd}}t          |t          j                  r0|                    d          }t          |t          j                  0t          t           j        j        	                    d                    }t          |t                    rd S |                    |          r|                    |          rd S dv rd S dv rd S                     d	          rMt                    }t          |t          j                  rd	         |d	         k    rn |d	                    d
         D ]} ||           d S )Nr  rL   c                    |                      d          rd S |                      d          rd S j                                      }|dk    rGt          j        |dz
           t          j                  rj                            t                     j	         }j                            
                    | |                     d S )Nzindex-z	equation-r   r   r  )
startswithr  r   rK  r   r,   ri   r   r   r   r  )r  r   r  rd   rR   s      r2   
add_targetz0LaTeXTranslator.visit_target.<locals>.add_targeto  s     }}X&&  }}[))  K%%d++Eqy %ZEAI(>PP %	  $$$ &FIT--b-@@AAAAAr1   T)ascendstdrefuri	anonymousrefidr  )r   rK  r   target	next_noder   r   rK   rG  
get_domainHYPERLINK_SUPPORT_NODESget_enumerable_node_typeget_numfig_titlerj   r    r  )rR   rd   r  r  rP  	prev_noder  s   ``     r2   visit_targetzLaTeXTranslator.visit_targetn  s   	B3 	B4 	B 	B 	B 	B 	B 	B 	B* 	EL11 	9!++4+88I EL11 	9 ndl&6&A&A%&H&HIIi!899 	F,,Y77 	F<S<ST]<^<^ 	Ft 	F$ 	F88G 	*%d++I)U_55 *$w-9U\K]:] *
4=)))u+ 	 	BJrNNNN	 	r1   c                     d S rN   r0   rx   s     r2   depart_targetzLaTeXTranslator.depart_target  rc  r1   c                     | j                             t          dz   t          z              | j                             d           d S )Nz\begin{flushright}z---r  rx   s     r2   visit_attributionz!LaTeXTranslator.visit_attribution  s?    	33b8999	r1   c                 Z    | j                             t          dz   t          z              d S )Nz\end{flushright}r  rx   s     r2   depart_attributionz"LaTeXTranslator.depart_attribution  s)    	11B677777r1   c                     dt           dt           f fddt           dt           fd}|                    dd          s j                            t                     |d         }|D ]:\  }}}}}d	}	|rd
}		 |dk    r	 fdt          dd|          D             \  }
} ||
           ||          }} j                            d|
d|d|d||	d
           n# t          $ rR  t          dd|          d                   } ||          } j                            d|d||	d           Y n(w xY w|dk    rofdt          dd|          D             \  }
} ||
           ||          }} j                            d|
d|d|d||	d|d|d|
d||	d           n|dk    rՈfdt          dd|          D             \  }
}} ||
           ||           ||          }}} j                            d	                    g d|
d|d|d|d|d||	d|d|d|d|
d|d||	d|d|d|
d|d|d||	d                     n|dk    rPfdt          dd|          D             \  }
} ||
          } j                            d|
d|d|d           n~|d k    rPfd!t          dd |          D             \  }
} ||
          } j                            d|
d|d|d           n(t          	                    t          d"          |           # t          $ r2}t          	                    t          |                     Y d }~4d }~ww xY w|                    dd          s j                            d#           t          j        )$NvaluerL   c                 :                        |           } |                     dd          } |                     dd          } |                     dd          } |                     dd          } |                     d	d
          } |                     dd          } | S )Nz\{z\sphinxleftcurlybrace{}z\}z\sphinxrightcurlybrace{}"z""@z"@!z"!r   z
\textbar{}r-  r/  )r  rR   s    r2   r(  z+LaTeXTranslator.visit_index.<locals>.escape  s    KK&&EMM%)CDDEMM%)DEEEMM#t,,EMM#t,,EMM#t,,EMM#}55ELr1   stringc                 n    t                               |           }|r|                    d          S d| z  S )Nz\\spxentry{\1}\\spxextra{\2}z\spxentry{%s})EXTRA_REr   expand)r	  r   s     r2   r`  z*LaTeXTranslator.visit_index.<locals>.style  s9    NN6**E 1||$CDDD'&00r1   inlineTrA  rF   z	|spxpagemsinglec                 &    g | ]} |          S r0   r0   r   xr(  s     r2   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  !    !U!U!U&&))!U!U!Ur1   r   z\index{r  r  r   r   r   pairc                 &    g | ]} |          S r0   r0   r  s     r2   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  s!    OOOAffQiiOOOr1   z}\index{triplec                 &    g | ]} |          S r0   r0   r  s     r2   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  r  r1   r<  r  r  seec                 &    g | ]} |          S r0   r0   r  s     r2   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  s!    NNNAffQiiNNNr1   z|see{r  r  c                 &    g | ]} |          S r0   r0   r  s     r2   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  s!    RRRAffQiiRRRr1   z!unknown index entry type %s foundz\ignorespaces )r   rj   ri   r   r   r   r   r   r   r   r   r   r  )rR   rd   r`  rA  typer	  _tidismain_keymp1p2P1P2pPp3P3errr(  s   `                  @r2   visit_indexzLaTeXTranslator.visit_index  sU   	# 	# 	 	 	 	 	 		1# 	1# 	1 	1 	1 	1 xx$'' 	!IR   y/07 (	) (	),D&$A  $)8# !RI!U!U!U!UZ8V5T5T!U!U!UB!&rEE"IIB	(((RRRRRRQSQSUVUVUV)WXXXX% I I I"F:a6#B#B1#EFF!E!HH	(((qqq!!QQQ)GHHHHHI V^ ROOOOAvv1N1NOOOFB"U2YYb		BI$$$&(bb"""bbb""aaaRRRRR&L M M M MX% R!U!U!U!UZ8V5T5T!U!U!UJBB!&rEE"IIuuRyyBBI$$4 4 4 4 4 4 4 4 4  R4 4 4 "$4 4 4 &(R4 4 4 *,4 4 4 .0R4 234 4 4 	4 4 4  R	4 4 4 "$	4 4 4 &(R	4 4 4 *,	4 4 4 .0R	4 23	4 4 4
 4 4 4
  R4 4 4
 "$4 4 4
 &(R4 4 4
 *,4 4 4
 .0R4
 234 4 4 4 45 5 5 5 U] 	RNNNNAuf1M1MNNNFBrBI$$$RRR%LMMMMY& RRRRRAy&1Q1QRRRFBrBI$$$RRR%LMMMMNN2&I#J#JDQQQ ) ) )s3xx(((((((()xx$'' 	0I.///ns?   8M%?AC M% AD<8M%;D<<H'M%%
N!/'NN!c                    |                      |          s| j                            t                     d|                    dd                                          v r,| j                            |                                           |                      |          s| j                            t                     t          j        )Nr   formatrF   )	r  ri   r   r   rj   r  rY   r   r  rx   s     r2   	visit_rawzLaTeXTranslator.visit_raw  s    ~~d## 	!IR   dhhx,,22444 	,IT[[]]+++~~d## 	!IR   nr1   c                 x   | j         sE|                    d          D ]/}| j         }| xj        |                     ||          z  c_        0|                     |          s| j                            t                     |                    dd          }|s1|                    d          rd| j        d         z   dz   |d         z   }| j         s|s| j	                            d           d S |
                    d          r| j        d         d	z   |d
d          z   }| j                            |                     |                     | j                            d           | j        j        r9| j        s2| j	                            d|                     |          z             d S | j	                            d           d S |
                    d          rr|                    d          }|dk    r|d
d          dz   }n|d
d                              dd	          }| j                            |                     |                     t%          |          rtt'          |d         t(          j                  rTd|d                             dg           v r6| j	                            d           | j                            d           d S | j                            d           | j        j        r9| j        s2| j	                            d|                     |          z             d S | j	                            d           d S t%          |          d
k    r||d         k    r|                    d          r1| j                            d|                     |          z             n0| j                            d|                     |          z             t(          j        | j                            d|                     |          z             | j	                            d           d S )Nr  r  r  rF   r  r   r  #r  r   r  z}}} (%s)z}}}z::docr   zstd-termrg   z\sphinxtermref{z\sphinxcrossref{	nolinkurlz\sphinxnolinkurl{%s}z\sphinxurl{%s}z\sphinxhref{%s}{r   )r   rj   r   ri   r  r  r   r   r   r   r  r#  r   latex_show_pagerefsr   r%  r  r/  r   rK  r   r   
encode_urir  )rR   rd   r  r  r  	hashindexs         r2   visit_referencezLaTeXTranslator.visit_reference  s   } 	Ahhuoo A A!_,		T--b-@@@			~~d## 	!IR   hhx$$ 	Dtxx(( 	D)"--3d7mCC= ,	) ,	)L#####^^C   *	)"2&,s122w6BIT^^B//000IY'''{. +++##J1B1B21F1F$FGGGGG##E*****^^C    	)IB /Ww& W__S#..IT^^B//000D		 /tAw66/$q'++i"<"<</ ##E***	  !344444	  !4555;2 /4;R /L''
T5F5Fr5J5J(JKKKKKL''.....4yyA~ )#a. )88K(( OI$$%<ts?S?S%STTTTI$$%69M9M%MNNNn$	  !4ts7K7K!KLLL##C(((((r1   c                     | j                             | j                                                   |                     |          s!| j                             t
                     d S d S rN   )ri   r   r   r  r  r   rx   s     r2   depart_referencez LaTeXTranslator.depart_reference)  s`    	))++,,,~~d## 	!IR     	! 	!r1   c                    |                     d          r| j        d         dz   |d         z   }n2|                     dd          dd                              dd          }|                     |                     dd	                                        d
d	          }d|v sd|v r{|                    dd                              dd          }t	          |                              d|                     |          z  d|                     |          z            }n(t	          |          d|                     |          z  z  }d|                     |          d|d}| j                            |           t          j
        )Nr  r  r  r  rF   r   r-  r  z%sz\%sz\{name\}z
\{number\}z{name}z{number}z\nameref{%s}\ref{%s})rJ  numberz
\hyperref[]{r   )rj   r   r/  r(  r   r*  r  ri   r   r   r  )rR   rd   r  r  r   hyperrefs         r2   visit_number_referencez&LaTeXTranslator.visit_number_reference.  s   88G 	>"2&,tG}<BB(B''+33C==BDHHWd3344<<VTJJ% 	J=E#9 	JMM+x88@@PZ[[Eu%%,,/DMMRTDUDU2U4?$--PRBSBS4S - U UDD u%%t}}R7H7H)HID+/==+<+<+<+<dddC	"""nr1   c                     d S rN   r0   rx   s     r2   visit_download_referencez(LaTeXTranslator.visit_download_referenceB  rc  r1   c                     d S rN   r0   rx   s     r2   depart_download_referencez)LaTeXTranslator.depart_download_referenceE  rc  r1   c                     d S rN   r0   rx   s     r2   visit_pending_xrefz"LaTeXTranslator.visit_pending_xrefH  rc  r1   c                     d S rN   r0   rx   s     r2   depart_pending_xrefz#LaTeXTranslator.depart_pending_xrefK  rc  r1   c                 :    | j                             d           d S )Nz\sphinxstyleemphasis{ro  rx   s     r2   visit_emphasiszLaTeXTranslator.visit_emphasisN  s    	122222r1   c                 :    | j                             d           d S rr  ro  rx   s     r2   depart_emphasiszLaTeXTranslator.depart_emphasisQ  rt  r1   c                 :    | j                             d           d S )Nz+\sphinxstyleliteralemphasis{\sphinxupquote{ro  rx   s     r2   visit_literal_emphasisz&LaTeXTranslator.visit_literal_emphasisT  s    	GHHHHHr1   c                 :    | j                             d           d S r  ro  rx   s     r2   depart_literal_emphasisz'LaTeXTranslator.depart_literal_emphasisW  r  r1   c                 :    | j                             d           d S )Nz\sphinxstylestrong{ro  rx   s     r2   visit_strongzLaTeXTranslator.visit_strongZ  s    	/00000r1   c                 :    | j                             d           d S rr  ro  rx   s     r2   depart_strongzLaTeXTranslator.depart_strong]  rt  r1   c                 :    | j                             d           d S )Nz)\sphinxstyleliteralstrong{\sphinxupquote{ro  rx   s     r2   visit_literal_strongz$LaTeXTranslator.visit_literal_strong`  s    	EFFFFFr1   c                 :    | j                             d           d S r  ro  rx   s     r2   depart_literal_strongz%LaTeXTranslator.depart_literal_strongc  r  r1   c                 v   |                                 }| j                            d           |                    d          r[|| j        vrR| j                            d|                     |d                   z             | j                            |           d S | j                            d           d S )Nz\sphinxstyleabbreviation{explanationz} (%s)r   )rY   ri   r   r  r  r   r-  add)rR   rd   abbrs      r2   visit_abbreviationz"LaTeXTranslator.visit_abbreviationf  s    {{}}	5666<<&& 	%4t7I+I 	%L4;;tM7J+K+K KLLL""4(((((L$$$$$r1   c                 h    | j                             | j                                                   d S rN   r  rx   s     r2   depart_abbreviationz#LaTeXTranslator.depart_abbreviationp  r  r1   c                 ,    |                      |          S rN   )rH  rx   s     r2   visit_manpagezLaTeXTranslator.visit_manpages  s    **4000r1   c                 ,    |                      |          S rN   )rJ  rx   s     r2   depart_manpagezLaTeXTranslator.depart_manpagev  s    ++D111r1   c                 :    | j                             d           d S )Nz\sphinxtitleref{ro  rx   s     r2   visit_title_referencez%LaTeXTranslator.visit_title_referencey  r  r1   c                 :    | j                             d           d S rr  ro  rx   s     r2   depart_title_referencez&LaTeXTranslator.depart_title_reference|  rt  r1   c                 v   t          t          t          j                 |          }d |D             }t	          d |D             t
                    }t          |          t          k    r|d t                   }| j                            t          d| 
                    |          z  z   t          z              d S )Nc              3   V   K   | ]$}t          t          j        |d                    V  %dS )r   N)r   r   r  )r   citations     r2   r  z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>  s2      KKX$u{HQK00KKKKKKr1   c              3   >   K   | ]}|                                 V  d S rN   rE  )r   r  s     r2   r  z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>  s*      @@U\\^^@@@@@@r1   )keyz!\begin{sphinxthebibliography}{%s})r   r   r   rd  r   r   MAX_CITATION_LABEL_LENGTHri   r   r   r-  )rR   rd   	citationsr  longest_labels        r2   visit_thebibliographyz%LaTeXTranslator.visit_thebibliography  s    %.1488	KKKKK@@@@@cJJJ} 99 	F)*D+D*DEM	B]334 4689 	: 	: 	: 	: 	:r1   c                 J    | j                             dt          z              d S )Nz\end{sphinxthebibliography}r  rx   s     r2   depart_thebibliographyz&LaTeXTranslator.depart_thebibliography  s$    	7"<=====r1   c           	          t          t          j        |d                   }| j                            d|                     |                                          d|d         d|d         d         d           d S )Nr   z	\bibitem[r8  r^  r  r  r   )r   r   r  ri   r   r-  rY   r  s      r2   visit_citationzLaTeXTranslator.visit_citation  s    U[$q'**	4;;u||~~3N3N3N3N37	???DKPQNNNT 	U 	U 	U 	U 	Ur1   c                     d S rN   r0   rx   s     r2   depart_citationzLaTeXTranslator.depart_citation  rc  r1   c                     | j         rd S | j                            d|d         d|d         d           t          j        )Nz\sphinxcite{r^  r  refnamer   )r   ri   r   r   r  rx   s     r2   visit_citation_referencez(LaTeXTranslator.visit_citation_reference  sG    = 	!DId9oootIWXXX. r1   c                     d S rN   r0   rx   s     r2   depart_citation_referencez)LaTeXTranslator.depart_citation_reference  rc  r1   c                    | j         r| j                            d           d S d|d         v r| j                            d           d S |                    dd           }d|d         vs|s| j                            d           d S | j        j                            |i           }| j                            |                                |||          }|	                    d	d
          }|
                                d d         }| j                            |           | j                            dt          z   dz              t          j        )Nz*\sphinxstyleliteralintitle{\sphinxupquote{kbdrg   z\sphinxkeyboard{\sphinxupquote{r   coder  )optsr  z%\begin{Verbatim}[commandchars=\\\{\}]z\sphinxcode{\sphinxupquote{%ir   r  )r   ri   r   rj   r   highlight_optionsr   highlight_blockrY   r/  rstripr   r   r  )rR   rd   langry  hlcodes        r2   visit_literalzLaTeXTranslator.visit_literal  sU   = 	IJKKKFd9o% 	I?@@@Fxx
D))i( 	 	I;<<<F{,00r::!11KKMM4dT 2 ; ;  H ?A A #&	   	rD)))nr1   c                 :    | j                             d           d S r  ro  rx   s     r2   depart_literalzLaTeXTranslator.depart_literal  r  r1   c                     t           j        rN   r  rx   s     r2   visit_footnote_referencez(LaTeXTranslator.visit_footnote_reference  r  r1   c                 :    | j                             d           d S )Nz\sphinxfootnotemark[ro  rx   s     r2   visit_footnotemarkz"LaTeXTranslator.visit_footnotemark  s    	011111r1   c                 :    | j                             d           d S )N]ro  rx   s     r2   depart_footnotemarkz#LaTeXTranslator.depart_footnotemark  rt  r1   c                 ,   t          t          j        |d                   }| j                            dt
          z              | j                            d|                                z             | j                            dt
          z              d S )Nr   r   z\begin{footnotetext}[%s]r  )r   r   r  ri   r   r   rY   r  s      r2   visit_footnotetextz"LaTeXTranslator.visit_footnotetext  sw    U[$q'**	r"""	4u||~~EFFF	2R788888r1   c                 ~    | j                             dt          z              | j                             d           d S )Nr   z \end{footnotetext}\ignorespaces r  rx   s     r2   depart_footnotetextz#LaTeXTranslator.depart_footnotetext  s9    	r"""	<=====r1   c                     d S rN   r0   rx   s     r2   visit_captioned_literal_blockz-LaTeXTranslator.visit_captioned_literal_block  rc  r1   c                     d S rN   r0   rx   s     r2   depart_captioned_literal_blockz.LaTeXTranslator.depart_captioned_literal_block  rc  r1   c                    |j         |                                k    r4| xj        dz  c_        | j                            dt
          z              d S |                     |          }t          |j        t                    r||                     |j                  z  }|r/| j
        s(| j                            t
          dz   |z   dz              |                    dd          }|                    dd          }|                    d	i           }|                    d
d          |d
<   | j        j                            |i           } | j        j        |j         |f|||d|}| j
        r9| j                            t
          dz              |                    dd          }nL| j        r/d| j        _        d| j        _        |                    dd          }n|                    dd          }|                                d d         }| j        r| j
        s|dz  }n|dz  }t+          |                    dg                     dd         }|r%| j                            t
          d|z  z              | j                            t
          |z   t
          z              |r"| j                            dt
          z              t,          j        )Nr   z\begin{sphinxalltt}z\def\sphinxLiteralBlockLabel{r   r   rG   linenosFhighlight_argsforce)ry  r  r  z\sphinxSetupCodeBlockInFootnotez\begin{Verbatim}z\begin{sphinxVerbatim}Tz\begin{sphinxVerbatimintable}iz\end{sphinxVerbatimintable}z\end{sphinxVerbatim}hl_linesr  z\fvset{hllines={, %s,}}%%z\sphinxresetverbatimhllines)	rawsourcerY   r   ri   r   r   r  rK  r  r  r   rj   r   rz  r   r{  r/  r   rn   rp   r|  r   r   r  )	rR   rd   r  r}  r  r  ry  r~  hlliness	            r2   visit_literal_blockz#LaTeXTranslator.visit_literal_block  s   >T[[]]* 0	!""a'""I3b899999((..F$+'>?? ;$--dk::: Wd. W	  &F!F!ORU!UVVV88J	22Dhhy%00G!XX&6;;N&*hhw&>&>N7#;044T2>>D5T%5+/ !/ F  C	  &H!HIII(;(AC C  C-1
**.
'(;(HJ J  (;(AC C ]]__TcT*Fz 2$"2 28811.,,Z<<==adCG N	  &BW&L!LMMMIR&[2-... F	  !?"!DEEE. r1   c                 z    | j                             t          dz   t          z              | xj        dz  c_        d S )Nz\end{sphinxalltt}r   )ri   r   r   r   rx   s     r2   depart_literal_blockz$LaTeXTranslator.depart_literal_block  s=    	22R7888!#r1   c                 :    | j                             d           d S )Nz\item[] ro  rx   s     r2   
visit_linezLaTeXTranslator.visit_line  s    	%%%%%r1   c                 D    | j                             t                     d S rN   r  rx   s     r2   depart_linezLaTeXTranslator.depart_line  rh  r1   c                 L   t          |j        t          j                  rE| j                            dt          z              | j                            dt          z              n*| j                            t          dz   t          z              | j        rd| j        _        d S d S )Nz\item[]z'\begin{DUlineblock}{\DUlineblockindent}z\begin{DUlineblock}{0em}T)	rK  r  r   
line_blockri   r   r   r   rn   rx   s     r2   visit_line_blockz LaTeXTranslator.visit_line_block  s    dk5#344 	DIZ"_---IG"LMMMMIR"==BCCC: 	.)-DJ&&&	. 	.r1   c                 J    | j                             dt          z              d S )Nz\end{DUlineblock}r  rx   s     r2   depart_line_blockz!LaTeXTranslator.depart_line_block  rn  r1   c                    d}t          |j                  dk    r5|j        d         }t          |t          j        t          j        f          rd}|s7| j                            dt          z              | j	        rd| j	        _
        d S d S d S )Nr   r   z\begin{quote}T)r   r  rK  r   rH  rZ  ri   r   r   r   rn   rR   rd   doner  s       r2   visit_block_quotez!LaTeXTranslator.visit_block_quote   s     t}" 	M!$E%%"3U5J!KLL  	2I-2333z 2-1
***	2 	22 2r1   c                     d}t          |j                  dk    r5|j        d         }t          |t          j        t          j        f          rd}|s$| j                            dt          z              d S d S )Nr   r   z\end{quote})	r   r  rK  r   rH  rZ  ri   r   r   r  s       r2   depart_block_quotez"LaTeXTranslator.depart_block_quote.  s    t}" 	M!$E%%"3U5J!KLL  	2I^b011111	2 	2r1   c                 X    | j         d         r| j                            d           d S d S )Nr  r  )r   ri   r   rx   s     r2   visit_optionzLaTeXTranslator.visit_option9  s7    < 	#IT"""""	# 	#r1   c                 0    | j         dxx         dz  cc<   d S )Nr  r   )r   rx   s     r2   depart_optionzLaTeXTranslator.depart_option>  s&    RAr1   c                 b    | j                             |                    dd                     dS )z1The delimiter between an option and its argument.	delimiterr  N)ri   r   rj   rx   s     r2   visit_option_argumentz%LaTeXTranslator.visit_option_argumentB  s,    	+s3344444r1   c                     d S rN   r0   rx   s     r2   depart_option_argumentz&LaTeXTranslator.depart_option_argumentF  rc  r1   c                 n    | j                             d           | j                            d           d S )Nz\item [r   )ri   r   r   rx   s     r2   visit_option_groupz"LaTeXTranslator.visit_option_groupI  s4    	$$$Ar1   c                 l    | j                                          | j                            d           d S )Nz] )r   r  ri   r   rx   s     r2   depart_option_groupz#LaTeXTranslator.depart_option_groupN  s2    	r1   c                 t    | j                             dt          z              | j        rd| j        _        d S d S )Nz\begin{optionlist}{3cm}Trj  rx   s     r2   visit_option_listz!LaTeXTranslator.visit_option_listR  sB    	3b8999: 	.)-DJ&&&	. 	.r1   c                 J    | j                             dt          z              d S )Nz\end{optionlist}r  rx   s     r2   depart_option_listz"LaTeXTranslator.depart_option_listW  s$    	,r122222r1   c                     d S rN   r0   rx   s     r2   visit_option_list_itemz&LaTeXTranslator.visit_option_list_itemZ  rc  r1   c                     d S rN   r0   rx   s     r2   depart_option_list_itemz'LaTeXTranslator.depart_option_list_item]  rc  r1   c                     |                                 }| j                            |                     |                     t          j        rN   )rY   ri   r   r-  r   r  )rR   rd   ostrings      r2   visit_option_stringz#LaTeXTranslator.visit_option_string`  s9    ++--	W--...nr1   c                 :    | j                             d           d S )Nr  ro  rx   s     r2   visit_descriptionz!LaTeXTranslator.visit_descriptione  rt  r1   c                     d S rN   r0   rx   s     r2   depart_descriptionz"LaTeXTranslator.depart_descriptionh  rc  r1   c                 :    | j                             d           d S )Nz	$^{\text{ro  rx   s     r2   visit_superscriptz!LaTeXTranslator.visit_superscriptk      	&&&&&r1   c                 :    | j                             d           d S Nz}}$ro  rx   s     r2   depart_superscriptz"LaTeXTranslator.depart_superscriptn  rz  r1   c                 :    | j                             d           d S )Nz	$_{\text{ro  rx   s     r2   visit_subscriptzLaTeXTranslator.visit_subscriptq  r  r1   c                 :    | j                             d           d S r  ro  rx   s     r2   depart_subscriptz LaTeXTranslator.depart_subscriptt  rz  r1   c                 x   |                     dg           }|dgfv r6| j                            d           | j                            d           d S |dgfv r6| j                            d           | j                            d           d S |dgfv r6| j                            d           | j                            d           d S |rS| j        sL| j                            d	d
                    |          z             | j                            d           d S | j                            d           d S )Nrg   menuselectionz\sphinxmenuselection{r   guilabelz\sphinxguilabel{acceleratorz\sphinxaccelerator{z\DUrole{%s}{r   rF   )rj   ri   r   r   r   r   )rR   rd   rg   s      r2   visit_inlinezLaTeXTranslator.visit_inlinew  sT   ((9b))()) 	$I5666L$$$$$*& 
	$I0111L$$$$$-)) 	$I3444L$$$$$ 	$T] 	$I_sxx/@/@@AAAL$$$$$L#####r1   c                 h    | j                             | j                                                   d S rN   r  rx   s     r2   depart_inlinezLaTeXTranslator.depart_inline  r  r1   c                     d S rN   r0   rx   s     r2   visit_generatedzLaTeXTranslator.visit_generated  rc  r1   c                     d S rN   r0   rx   s     r2   depart_generatedz LaTeXTranslator.depart_generated  rc  r1   c                     d S rN   r0   rx   s     r2   visit_compoundzLaTeXTranslator.visit_compound  rc  r1   c                     d S rN   r0   rx   s     r2   depart_compoundzLaTeXTranslator.depart_compound  rc  r1   c                 v    |                     dg           }|D ]}| j                            d|z              d S )Nrg   z
\begin{sphinxuseclass}{%s}rj   ri   r   )rR   rd   rg   cs       r2   visit_containerzLaTeXTranslator.visit_container  sQ    ((9b)) 	B 	BAI<q@AAAA	B 	Br1   c                 p    |                     dg           }|D ]}| j                            d           d S )Nrg   z
\end{sphinxuseclass}r  )rR   rd   rg   _cs       r2   depart_containerz LaTeXTranslator.depart_container  sH    ((9b)) 	8 	8BI67777	8 	8r1   c                     d S rN   r0   rx   s     r2   visit_decorationz LaTeXTranslator.visit_decoration  rc  r1   c                     d S rN   r0   rx   s     r2   depart_decorationz!LaTeXTranslator.depart_decoration  rc  r1   c                     t           j        rN   r  rx   s     r2   visit_headerzLaTeXTranslator.visit_header  r  r1   c                     t           j        rN   r  rx   s     r2   visit_footerzLaTeXTranslator.visit_footer  r  r1   c                     t           j        rN   r  rx   s     r2   visit_docinfozLaTeXTranslator.visit_docinfo  r  r1   r   c                     |                      |          }| j        r7|                    t          dt          z                                 dd          }|S )Nz~\\r  ~)r(  r   r/  r   rR   r   s     r2   r-  zLaTeXTranslator.encode  sM    {{4  " 	C <<FRK0088cBBDr1   c                     |                      |                              dd                              dd                              dd          S )Nz\textasciitilde{}r  z\sphinxhyphen{}rE  z\textquotesingle{}'r  r  s     r2   r0  zLaTeXTranslator.encode_uri  sI    
 {{4  (()=sCCG&,,G)3//	0r1   c                     |                      |                                          }| j                            |           d S rN   )r-  rY   ri   r   )rR   rd   r   s      r2   
visit_TextzLaTeXTranslator.visit_Text  s7    {{4;;==))	r1   c                     d S rN   r0   rx   s     r2   depart_TextzLaTeXTranslator.depart_Text  rc  r1   c                     t           j        rN   r  rx   s     r2   visit_commentzLaTeXTranslator.visit_comment  r  r1   c                     t           j        rN   r  rx   s     r2   
visit_metazLaTeXTranslator.visit_meta  s
    nr1   c                     d S rN   r0   rx   s     r2   visit_system_messagez$LaTeXTranslator.visit_system_message  rc  r1   c                 D    | j                             t                     d S rN   r  rx   s     r2   depart_system_messagez%LaTeXTranslator.depart_system_message  rh  r1   c                     | j         r0| j                            d|                                z             n/| j                            d|                                z             t          j        )Nz\protect\(%s\protect\)z\(%s\))r   ri   r   rY   r   r  rx   s     r2   
visit_mathzLaTeXTranslator.visit_math  s^    = 	8I6FGGGGIY6777nr1   c                    |                     d          rd|d         d|d         }nd }|                     d          rL|r| j                            d|z             | j                            |                                           nGddlm} | j                             ||                                || j        j                             t          j	        )	Nr  	equation:r^  r  nowrapr  r   )wrap_displaymath)
rj   ri   r   rY   sphinx.util.mathr  r   math_number_allr   r  )rR   rd   r  r  s       r2   visit_math_blockz LaTeXTranslator.visit_math_block  s    88G 	 	(,YgGEEE88H 	L 8	  !6777IT[[]]++++999999I--dkkmmU.2k.IK K L L Lnr1   c                    d|d         d|d         }| j         j        }|r	 d|z  }| j                            |                    |                     d S # t
          $ rR}t                              t          d          ||           | j                            d	|z             Y d }~d S d }~ww xY w| j                            d	|z             d S )
Nr  r^  r  r  r6  )r7  zInvalid math_eqref_format: %rr  z
\eqref{%s})	r   math_eqref_formatri   r   r*  r  r   r   r   )rR   rd   r  eqref_formatrefexcs         r2   visit_math_referencez$LaTeXTranslator.visit_math_reference  s    $(OOOT(^^D{4 		48!E)	  !4!4C!4!@!@AAAAA 8 8 8r"ABBC(,  . . .	  !67777777778
 I]U233333s   3A 
B5#AB00B5c                     d S rN   r0   rx   s     r2   depart_math_referencez%LaTeXTranslator.depart_math_reference  rc  r1   c                 >    t          j        dt          d           dS )z*Prepends prefix to sphinx document classesz'LaTeXWriter.docclasses() is deprecated.r   )
stacklevel)howtorH   )warningswarnr   r|   s    r2   
docclasseszLaTeXTranslator.docclasses  s+     	?.1	> 	> 	> 	>""r1   )TT)Fr   (  r<   r=   r>   rK   r_   r   r  r   rV   rP   r	   r   r  r  rY   r   r  r   r  r#  r%  r(  r  r   r  r   r  r   rc   r   r`  rb  re  rg  rk  rm  rp  rs  rw  ry  visit_sidebardepart_sidebarr{  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$  r'  r*  r,  r0  r8  r?  rB  rK  rN  rQ  ra  rc  re  rg  rk  rm  rp  rr  ru  rw  ry  r|  r~  r  r  r  r  r  visit_field_namedepart_field_namevisit_field_bodydepart_field_bodyr  r  r  r  r  r  r  r  ru   r  r  r  r  r  r  r  r  r  r  r  r  r  r  visit_attentiondepart_attentionvisit_cautiondepart_cautionvisit_dangerdepart_dangervisit_errordepart_error
visit_hintdepart_hintvisit_importantdepart_important
visit_notedepart_note	visit_tip
depart_tipvisit_warningdepart_warningr  r  r  r  r  r  r(  r+  r2  r4  r:  r<  r>  r@  rB  rD  rF  rH  rJ  rL  rN  rP  rR  rW  rY  r[  r]  r_  ra  rj  rl  rn  rp  rs  ru  r  r  r  r  r  r  r  r  r  r  r  visit_doctest_blockdepart_doctest_blockr  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-  r0  r   r  r  r  r  r  r   r  r	  r  r  r   r  r`   ra   s   @r2   rX   rX     sJ        "G^"""K!A- A-. A-A-$(A- A- A- A- A- A-FS	 d    c    
9 9 9 9 9Z Zc ZD Z ZQT Z Z Z Z
 7 D S    6C 6C 6 6 6 68s 8s 8 8 8 8= = = = = =3 3    
Y# Y3 Y3 Y Y Y Y%# % % % %N9C 9D 9S 9 9 9 9 u    X67 6t 6 6 6 6G     8 8D 8 8 8 8   T        $' $d $ $ $ $
;7 ;t ; ; ; ;5g 5$ 5 5 5 5w 4    ? ?D ? ? ? ?8 8T 8 8 8 8  M!N7 t    G     $ $T $ $ $ $
$' $d $ $ $ $2W 2 2 2 2 2#g #$ # # # #6W 6 6 6 6 6g $    . .D . . . .`1 1T 1 1 1 1$7 $t $ $ $ $-G - - - - -.w .4 . . . .F FD F F F F2' 2d 2 2 2 27 t    ; ;T ; ; ; ;:' :d : : : :)g )$ ) ) ) )*w *4 * * * *'w '4 ' ' ' '
 D    9g 9$ 9 9 9 9w 4    %G % % % % %%W % % % % %%w %4 % % % %% %D % % % %G     W     .w .4 . . . . D    W     
g $    ( (T ( ( ( ("' "d " " " ". .D . . . . T    ;' ;d ; ; ; ;7 t    
6' 6d 6 6 6 6
$7 $t $ $ $ $ T    -' -d - - - -97 9t 9 9 9 9G      D    7 t    ' 'D ' ' ' '.	 	T 	 	 	 	=' =d = = = =7 t     T    ' d    ) )D ) ) ) ) T    ' 'D ' ' ' ' T    Ag A$ A A A A&w 4    "#% #%D #% #% #% #%JI IT I I I I@w 4    .g .$ . . . .4w 44 4 4 4 4.' .d . . . .>27 2t 2 2 2 2'G ' ' ' ' '
W     .' .d . . . .
47 4t 4 4 4 4w 4     D    	!w 	!4 	! 	! 	! 	! D     W           g  $        W     g $    .W . . . . .
?g ?$ ? ? ? ? D     T     "#')>G > > > > >"W     .7 .t . . . .
/G / / / / /	. 	.D 	. 	. 	. 	.M MT M M M M7 t    G      C  c    :g :$ : : : :M MD M M M M^ T    %6 %6T %6 %6 %6 %6N-' -d - - - -	+' 	+d 	+ 	+ 	+ 	+7 t    7 7T 7 7 7 75' 5d 5 5 5 5"W " " " " ""g "$ " " " ""G " " " " ""W " " " " " .O/+M-N*L,M)K+L(J*K-O/(J*K'I)J+M-N' d    7 t    , ,T , , , ,\' d     g  $        8w 84 8 8 8 8@ @D @ @ @ @Dg $    6)G 6) 6) 6) 6) 6)p!W ! ! ! ! !
7 t    (W     g $    w 4     D    37 3t 3 3 3 3G     I7 It I I I IG     1 1T 1 1 1 1' d    G GT G G G G' d    %w %4 % % % %- -D - - - -1' 1d 1 1 1 127 2t 2 2 2 2.' .d . . . .7 t    	:' 	:d 	: 	: 	: 	:>7 >t > > > >U7 Ut U U U U
G     !W ! ! ! ! !g $    ' d    27 t    W     2w 24 2 2 2 2 D    9w 94 9 9 9 9> >D > > > >
' d    7 t    1! 1!D 1! 1! 1! 1!f$ $T $ $ $ $ ./&w &4 & & & & D    .W . . . . .4g 4$ 4 4 4 42g 2$ 2 2 2 22w 24 2 2 2 2# #T # # # #
' d    5' 5d 5 5 5 57 t    w 4    
 D    .g .$ . . . .
3w 34 3 3 3 37 t    G      D    
g $    w 4    'g '$ ' ' ' ' w  4        'G ' ' ' ' ' W          $ $T $ $ $ $"-' -d - - - -G     W     7 t    G     BG B B B B B
8W 8 8 8 8 8
W     g $    
 T     T    ' d    
3 3    0s 0s 0 0 0 0t          ' d    w 4     T    ' d    w 4    W      4 4T 4 4 4 4' d     #E#s(O # # # X# # # # #r1   rX   )r  r  r  r  )Ur?   r   r  collectionsr   osr   typingr   r   r   r   r	   r
   r   r   docutilsr   r   docutils.nodesr   r   r   sphinxr   r   sphinx.deprecationr   sphinx.domainsr   sphinx.domains.stdr   sphinx.errorsr   sphinx.localer   r   r   sphinx.utilr   r   r   sphinx.util.docutilsr   sphinx.util.nodesr   r    sphinx.util.templater!   sphinx.util.texescaper"   docutils.utils.romanr#   ImportErrorromansphinx.builders.latexr$   sphinx.builders.latex.themingr%   	getLoggerr<   r   rg  r   r]  r   rj  compiler  r  r;   rA   WriterrD   rc   r   r   r   ru   r   rX   sphinx.builders.latex.nodesr  r  r  r0   r1   r2   <module>rL     s@    
			  # # # # # #       M M M M M M M M M M M M M M M M M M M M # # # # # # # # . . . . . . . . . . ) ) ) ) ) ) ) ) 7 7 7 7 7 7 % % % % % % - - - - - - % % % % % % 1 1 1 1 1 1 1 1 1 1 6 6 6 6 6 6 6 6 6 6 1 1 1 1 1 1 9 9 9 9 9 9 9 9 . . . . . . 1 1 1 1 1 1,,,,,,,     4222222333333 
	8	$	$ C C C "{#5#51;5=5=5>5>$% $%& &  
	2:344@ @ @ @ @ @ @ @0 0 0 0 0{ 0 0 0> > > > >'. > > >4` ` ` ` ` ` ` `F               F/c /c / / / /
 # c C    8C# C# C# C# C#& C# C# C#P8           s   B B! B!