B
    ÿ‹dôÎ  ã               @   st  d Z ddlZddl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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#m$Z$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- erddl.m/Z/ e' 0e1¡Z2dZ3de d Z4eeej5 dœdd„Z6de7ee7 e7dœdd„Z8G dd„ dej9ƒZ:G dd„ de)ƒZ;dS )z#Custom docutils writer for Texinfo.é    N)Úpath)ÚTYPE_CHECKINGÚAnyÚDictÚIterableÚIteratorÚListÚOptionalÚPatternÚSetÚTupleÚUnionÚcast)ÚnodesÚwriters)ÚElementÚNodeÚText)Ú__display_version__Úaddnodes)Ú
IndexEntry)ÚIndexDomain)ÚExtensionError)Ú_Ú__Úadmonitionlabels)Úlogging)ÚSphinxTranslator)Úformat_date)Úcollected_footnote)ÚTexinfoBuilderzn@quotation
%(project)s %(release)s, %(date)s

%(author)s

Copyright @copyright{} %(copyright)s
@end quotation
z‰\input texinfo   @c -*-texinfo-*-
@c %%**start of header
@setfilename %(filename)s
@documentencoding UTF-8
@ifinfo
@*Generated by Sphinx aÍ  .@*
@end ifinfo
@settitle %(title)s
@defindex ge
@paragraphindent %(paragraphindent)s
@exampleindent %(exampleindent)s
@finalout
%(direntry)s
@c %%**end of header

@copying
%(copying)s
@end copying

@titlepage
@title %(title)s
@insertcopying
@end titlepage
@contents

@c %%** start of user preamble
%(preamble)s
@c %%** end of user preamble

@ifnottex
@node Top
@top %(title)s
@insertcopying
@end ifnottex

@c %%**start of body
%(body)s
@c %%**end of body
@bye
)ÚsectionÚreturnc             C   sJ   g }x@| D ]8}t |tjƒr(| |¡ q
q
t |tjƒr
| t|ƒ¡ q
W |S )z7Return a list of subsections for the given ``section``.)Ú
isinstancer   r!   Úappendr   ÚextendÚfind_subsections)r!   ÚresultÚchild© r)   úc/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/sphinx/writers/texinfo.pyr&   R   s    

r&   )ÚsÚsepr"   c             C   sL   |   |¡}x2t|ƒD ]&\}}tdd„ |D ƒƒr| ¡ ||< qW |pDd |¡S )z_Like string.capwords() but does not capitalize words that already
    contain a capital letter.c             s   s   | ]}|  ¡ V  qd S )N)Úislower)Ú.0Úxr)   r)   r*   ú	<genexpr>c   s    z!smart_capwords.<locals>.<genexpr>ú )ÚsplitÚ	enumerateÚallÚ
capitalizeÚjoin)r+   r,   ÚwordsÚiÚwordr)   r)   r*   Úsmart_capwords^   s
    
r:   c            
       sÎ   e Zd ZU dZ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ddgddifffZeeeeeee	e e
eef f df f ed< i Ze
ed< dZee ed< dZdddœ‡ fdd„Zddœdd„Z‡  ZS )ÚTexinfoWriterz0Texinfo writer for generating Texinfo documents.)ÚtexinfoÚtexizTexinfo Specific OptionsNzName of the Info filez--texinfo-filenameÚdefaultÚ z	Dir entryz--texinfo-dir-entryÚDescriptionz--texinfo-dir-descriptionZCategoryz--texinfo-dir-categoryZMiscellaneous.Úsettings_specÚsettings_defaultsÚoutput)rC   Úfragmentr    )Úbuilderr"   c                s   t ƒ  ¡  || _d S )N)ÚsuperÚ__init__rE   )ÚselfrE   )Ú	__class__r)   r*   rG   z   s    
zTexinfoWriter.__init__)r"   c             C   s\   | j  | j| j ¡}tt|ƒ| _| j |¡ | j ¡  x"| jD ]}t	| |t
| j|ƒƒ q<W d S )N)rE   Zcreate_translatorÚdocumentr   ÚTexinfoTranslatorÚvisitorÚ	walkaboutÚfinishÚvisitor_attributesÚsetattrÚgetattr)rH   rL   Úattrr)   r)   r*   Ú	translate~   s    
zTexinfoWriter.translate)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	supportedrA   r   Ústrr   r   r   Ú__annotations__rB   rC   r	   rO   rG   rS   Ú__classcell__r)   r)   )rI   r*   r;   h   s   
<r;   c                   sn  e Zd ZU dZded< dddddddddddddœZejddd	œ‡ fd
d„Zddœdd„Z	ddœdd„Z
ddœdd„Zddœdd„Zddœdd„Zeedœdd„Zeedœdd„Zeedœdd„Zeedœdd„Zddœd d!„Zeeeed"œd#d$„Ze d%¡fee edd&œd'd(„Zedd)œd*d+„Zeed,œd-d.„Zddœd/d0„Zeeeeee e!f  f d1œd2d3„Z"eed4œd5d6„Z#ee$dd7œd8d9„Z%eee$dd:œd;d<„Z&edd1œd=d>„Z'edd1œd?d@„Z(e)dd1œdAdB„Z*e)dd1œdCdD„Z+edd1œdEdF„Z,edd1œdGdH„Z-dIZ.dJZ/edd1œdKdL„Z0edd1œdMdN„Z1edd1œdOdP„Z2edd1œdQdR„Z3edd1œdSdT„Z4edd1œdUdV„Z5edd1œdWdX„Z6edd1œdYdZ„Z7edd1œd[d\„Z8edd1œd]d^„Z9edd1œd_d`„Z:edd1œdadb„Z;edd1œdcdd„Z<edd1œdedf„Z=edd1œdgdh„Z>edd1œdidj„Z?e@e dd1œdkdl„ZAe@e dd1œdmdn„ZBeAZCeBZDedd1œdodp„ZEedd1œdqdr„ZFedd1œdsdt„ZGedd1œdudv„ZHedd1œdwdx„ZIedd1œdydz„ZJedd1œd{d|„ZKedd1œd}d~„ZLee!d1œdd€„ZMedd1œdd‚„ZNedd1œdƒd„„ZOedd1œd…d†„ZPedd1œd‡dˆ„ZQedd1œd‰dŠ„ZRedd1œd‹dŒ„ZSedd1œddŽ„ZTedd1œdd„ZUedd1œd‘d’„ZVedd1œd“d”„ZWedd1œd•d–„ZXedd1œd—d˜„ZYedd1œd™dš„ZZedd1œd›dœ„Z[edd1œddž„Z\edd1œdŸd „Z]edd1œd¡d¢„Z^edd1œd£d¤„Z_edd1œd¥d¦„Z`edd1œd§d¨„Zaedd1œd©dª„Zbedd1œd«d¬„Zcedd1œd­d®„Zdedd1œd¯d°„Zeedd1œd±d²„Zfedd1œd³d´„Zgedd1œdµd¶„Zhedd1œd·d¸„Ziedd1œd¹dº„Zjedd1œd»d¼„Zkedd1œd½d¾„Zledd1œd¿dÀ„Zmedd1œdÁdÂ„Znedd1œdÃdÄ„Zoedd1œdÅdÆ„Zpedd1œdÇdÈ„Zqedd1œdÉdÊ„Zredd1œdËdÌ„Zsedd1œdÍdÎ„Ztedd1œdÏdÐ„Zuedd1œdÑdÒ„Zvedd1œdÓdÔ„Zwedd1œdÕdÖ„Zxedd1œd×dØ„Zyedd1œdÙdÚ„Zzedd1œdÛdÜ„Z{edd1œdÝdÞ„Z|edd1œdßdà„Z}edd1œdádâ„Z~edd1œdãdä„Zedd1œdådæ„Z€edd1œdçdè„Zedd1œdédê„Z‚edd1œdëdì„Zƒedd1œdídî„Z„edd1œdïdð„Z…edd1œdñdò„Z†edd1œdódô„Z‡edd1œdõdö„Zˆedd1œd÷dø„Z‰edd1œdùdú„ZŠedd1œdûdü„Z‹edd1œdýdþ„ZŒedd1œdÿd „Zedd1œdd„ZŽedd1œdd„Zedd1œdd„Zedd1œdd„Z‘dÔeedd	œd
d„Z’edd1œdd„Z“edd1œdd„Z”e“Z•e”Z–e“Z—e”Z˜e“Z™e”Zše“Z›e”Zœe“Ze”Zže“ZŸe”Z e“Z¡e”Z¢e“Z£e”Z¤e“Z¥e”Z¦edd1œdd„Z§edd1œdd„Z¨edd1œdd„Z©edd1œdd„Zªedd1œdd„Z«edd1œdd„Z¬edd1œdd„Z­edd1œdd„Z®edd1œd d!„Z¯edd1œd"d#„Z°edd1œd$d%„Z±edd1œd&d'„Z²edd1œd(d)„Z³edd1œd*d+„Z´edd1œd,d-„Zµedd1œd.d/„Z¶edd1œd0d1„Z·edd1œd2d3„Z¸edd1œd4d5„Z¹edd1œd6d7„Zºedd1œd8d9„Z»edd1œd:d;„Z¼edd1œd<d=„Z½edd1œd>d?„Z¾edd1œd@dA„Z¿edd1œdBdC„ZÀedd1œdDdE„ZÁedd1œdFdG„ZÂedd1œdHdI„ZÃedd1œdJdK„ZÄedd1œdLdM„ZÅedd1œdNdO„ZÆedd1œdPdQ„ZÇedd1œdRdS„ZÈedd1œdTdU„ZÉedd1œdVdW„ZÊedd1œdXdY„ZËe$dd1œdZd[„ZÌedd1œd\d]„ZÍedd1œd^d_„ZÎedd1œd`da„ZÏedd1œdbdc„ZÐedd1œddde„ZÑedd1œdfdg„ZÒedd1œdhdi„ZÓedd1œdjdk„ZÔedd1œdldm„ZÕedd1œdndo„ZÖedd1œdpdq„Z×edd1œdrds„ZØedd1œdtdu„ZÙedd1œdvdw„ZÚedd1œdxdy„ZÛedd1œdzd{„ZÜedd1œd|d}„ZÝedd1œd~d„ZÞedd1œd€d„Zßeàjádd1œd‚dƒ„Zâeàjádd1œd„d…„Zãedd1œd†d‡„Zäedd1œdˆd‰„Zåedd1œdŠd‹„Zæedd1œdŒd„Zçedd1œdŽd„Zèedd1œdd‘„Zéedd1œd’d“„Zêedd1œd”d•„Zëedd1œd–d—„Zìedd1œd˜d™„Zíedd1œdšd›„Zîedd1œdœd„Zïedd1œdždŸ„Zðedd1œd d¡„Zñedd1œd¢d£„Zòedd1œd¤d¥„Zóedd1œd¦d§„Zôedd1œd¨d©„Zõedd1œdªd«„Zöedd1œd¬d­„Z÷edd1œd®d¯„Zøedd1œd°d±„Zùedd1œd²d³„Zúedd1œd´dµ„Zûedd1œd¶d·„Züedd1œd¸d¹„Zýedd1œdºd»„Zþedd1œd¼d½„Zÿedd1œd¾d¿„Z edd1œdÀdÁ„Zedd1œdÂdÃ„Zedd1œdÄdÅ„Zedd1œdÆdÇ„Zedd1œdÈdÉ„Zedd1œdÊdË„Zedd1œdÌdÍ„Zedd1œdÎdÏ„Zedd1œdÐdÑ„Z	edd1œdÒdÓ„Z
‡  ZS (Õ  rK   Fr    rE   r?   é   r   )ÚauthorÚbodyÚcopyingÚdateÚdirentryZexampleindentÚfilenameZparagraphindentÚpreambleÚprojectÚreleaseÚtitleN)rJ   rE   r"   c                sÆ   t ƒ  ||¡ |  ¡  tƒ | _tƒ | _g | _i | _i | _i | _	i | _
|  ¡  |  ¡  |  ¡  |  ¡  g | _g | _g | _d | _d| _d| _tƒ | _d| _d| _g | _g | _d| _d| _tƒ | _g | _d S )Nr   F)rF   rG   Úinit_settingsÚsetÚwritten_idsÚreferenced_idsÚindicesÚ	short_idsÚ
node_namesÚ
node_menusÚrellinksÚcollect_indicesÚcollect_node_namesÚcollect_node_menusÚcollect_rellinksr^   ÚcontextÚdescsÚprevious_sectionÚsection_levelÚ
seen_titleÚnext_section_idsÚescape_newlinesÚescape_hyphensÚcurfilestackÚfootnotestackÚin_footnoteÚin_sampÚhandled_abbrsÚ	colwidths)rH   rJ   rE   )rI   r)   r*   rG   ›   s8    zTexinfoTranslator.__init__)r"   c             C   sÊ   | j d kr|  d¡ xN| jD ]D}|\}}t|g| j|  ƒ}| j d| ¡ | j d||f ¡ qW x2| jr–| j ¡ }|| j	krf| j d|df ¡ qfW |  
¡  d | j¡| _| j| jd< t| j | _d S )NÚTopz
@node %s,%s,%s,%s
z@unnumbered %s

%s
z@anchor{%s}@w{%s}
z                              r?   r^   )rv   Úadd_menurk   Útuplero   r^   r$   rj   Úpopri   Ú
ensure_eolr6   rD   ÚelementsÚTEMPLATErC   )rH   ÚindexÚnameÚcontentÚpointersÚrr)   r)   r*   rN   ½   s    



zTexinfoTranslator.finishc             C   sx  | j  ¡  }| _| | jj| jj| jj|  | j	j
¡|  | j	j¡|  | j	j¡|  | j	jppt| j	jpftdƒ| j	jd¡dœ¡ | jj}|s¤| j tj¡}|r | ¡ nd}|  |¡p°d|d< |d s| j d¡pÎd|d< |d d	d … d
krü|d d d	… |d< |d  d7  < | jjrZ|  |  | jj¡d|d  |  | jj¡¡}d|  | jj¡|f |d< t| |d< | | jj¡ d S )Nz	%b %d, %Y)Úlanguage)rf   r]   rb   re   rd   Ú	copyrightr`   z
<untitled>rf   rb   ÚsourceZuntitledéüÿÿÿ)z.txtz.rstz.infoz(%s)z*@dircategory %s
@direntry
%s@end direntry
ra   r_   ) Údefault_elementsÚcopyr‡   ÚupdateÚsettingsrf   r]   Ztexinfo_filenameÚescapeÚconfigre   rd   r   Útodayr   Z	today_fmtr   rŽ   rJ   Ú	next_noder   ÚastextÚ	escape_idÚgetZtexinfo_dir_entryÚformat_menu_entryÚescape_menuÚ
escape_argZtexinfo_dir_descriptionZtexinfo_dir_categoryÚCOPYINGZtexinfo_elements)rH   r‡   rf   Z
title_nodeÚentryr)   r)   r*   rg   Ò   s<    


zTexinfoTranslator.init_settingsc                s   t t dœ‡fdd„‰ dˆjd< ˆ dƒ ˆ dƒ ‡ fdd„ˆjD ƒˆ_xFˆj tj¡D ]4}ttj| tj	¡ƒ}|rx| 
¡ nd	}ˆ |ƒ|d< qTW d
S )zeGenerates a unique id for each section.

        Assigns the attribute ``node_name`` to each section.)rŠ   r"   c                sf   ˆ   | ¡}d\}}x0|| ˆ jks0|| ˆ jkrB|d7 }d| }qW ||7 }ˆ j |¡ | ˆ j|< |S )N)é   r?   r¢   z<%s>)r›   ri   rm   Úadd)rŠ   Znode_idZnthÚsuffix)rH   r)   r*   Úadd_node_name  s    

z;TexinfoTranslator.collect_node_names.<locals>.add_node_namer‚   Ú	node_nameÚtopc                s   g | ]\}}ˆ |ƒ|f‘qS r)   r)   )r.   rŠ   r‹   )r¥   r)   r*   ú
<listcomp>  s   z8TexinfoTranslator.collect_node_names.<locals>.<listcomp>z
<untitled>N)rY   rJ   rk   Úfindallr   r!   r   ZTextElementr™   ZTitularrš   )rH   r!   rf   rŠ   r)   )r¥   rH   r*   rq   ü   s    

z$TexinfoTranslator.collect_node_namesc       	      C   s
  | j }| jg}| | j tj¡¡ x>|D ]6}d|kr<|d s@t‚dd„ t|ƒD ƒ}|||d < q(W | j tj	¡}|rz|j
n| j}t|tjtjfƒs˜| j}|| jk	rÜ||d  }||d dd… 7 }||d< ||d = d|d< x(| jD ]\}}g ||< |d  |¡ qäW dS )z1Collect the menu entries for each "node" section.r¦   c             S   s   g | ]}|d  ‘qS )r¦   r)   )r.   r+   r)   r)   r*   r¨   !  s    z8TexinfoTranslator.collect_node_menus.<locals>.<listcomp>r‚   r¢   N)rn   rJ   r%   r©   r   r!   ÚAssertionErrorr&   r™   rf   Úparentr#   rk   r$   )	rH   rn   ÚtargetsÚnodeÚentriesrf   r§   rŠ   Ú_contentr)   r)   r*   rr     s(    


z$TexinfoTranslator.collect_node_menusc             C   s  | j }| j}x|D ]}dddg||< qW x.| ¡ D ]"\}}x|D ]}||| d< q@W q2W xj| ¡ D ]^\}}xTt|ƒD ]H\}}|dkr˜||d  || d< |t|ƒd krt||d  || d< qtW qbW y|d d }W n tk
rè   Y nX ||d d< d|| d< dS )z@Collect the relative links (next, previous, up) for each "node".r?   é   r   r¢   r‚   N)ro   rn   Úitemsr3   ÚlenÚ
IndexError)rH   ro   rn   Úidr®   Úer8   Úfirstr)   r)   r*   rs   3  s&    

z"TexinfoTranslator.collect_rellinks)r+   r"   c             C   s@   |  dd¡}|  dd¡}|  dd¡}|  dd¡}|  d	d
¡}|S )z8Return a string with Texinfo command characters escaped.ú@z@@Ú{z@{Ú}z@}z``z`@w{`}z''z'@w{'})Úreplace)rH   r+   r)   r)   r*   r–   T  s    zTexinfoTranslator.escapec             C   s,   |   |¡}| dd¡}d | ¡ ¡ ¡ }|S )zVReturn an escaped string suitable for use as an argument
        to a Texinfo command.ú,z@comma{}r1   )r–   rº   r6   r2   Ústrip)rH   r+   r)   r)   r*   rŸ   ^  s    
zTexinfoTranslator.escape_argc             C   sR   d}x|D ]}|  |d¡}q
W t d|¡r6|  dd¡}d | ¡ ¡ ¡ }|  |¡S )z=Return an escaped string suitable for node names and anchors.z,:()r1   z[^ .]Ú.)rº   ÚreÚsearchr6   r2   r¼   r–   )rH   r+   Z	bad_charsÚbcr)   r)   r*   r›   h  s    
zTexinfoTranslator.escape_idc             C   s,   |   |¡}| dd¡}d | ¡ ¡ ¡ }|S )z3Return an escaped string suitable for menu entries.ú:ú;r1   )rŸ   rº   r6   r2   r¼   )rH   r+   r)   r)   r*   rž   s  s    
zTexinfoTranslator.escape_menuc             C   s,   | j r(| j d dd… dkr(| j  d¡ dS )z7Ensure the last line in body is terminated by new line.éÿÿÿÿNÚ
)r^   r$   )rH   r)   r)   r*   r†   z  s    zTexinfoTranslator.ensure_eol)rŠ   r¦   Údescr"   c                sn   ||krd|f }nd||f }t dt|ƒd d fƒ‰ d ‡ fdd„tj|dˆ  d	D ƒ¡}|| ¡  d S )
Nz* %s:: z
* %s: %s. é   r\   éN   rÄ   c             3   s   | ]}d ˆ  | V  qdS )r1   Nr)   )r.   Úl)Úoffsetr)   r*   r0   …  s    z6TexinfoTranslator.format_menu_entry.<locals>.<genexpr>)Úwidth)Úmaxr²   r6   ÚtextwrapÚwrapr¼   )rH   rŠ   r¦   rÅ   r+   Zwdescr)   )rÉ   r*   r     s    z#TexinfoTranslator.format_menu_entryz
\s+---?\s+)r®   Úregr"   c          	   C   sŒ   x†|D ]~}| j | }y| |d¡}W n tk
r>   |g}Y nX t|ƒdkrV|\}}nd}|  |¡}|  |¡}| j |  |||¡¡ qW d S )Nr¢   r°   r?   )	rm   r2   Ú	TypeErrorr²   rž   r–   r^   r$   r   )rH   r®   rÎ   r¡   rŠ   ÚpartsrÅ   r)   r)   r*   Úadd_menu_entries‰  s    




z"TexinfoTranslator.add_menu_entries)r¦   r"   c                sž   ˆj | }|sd S ˆj d¡ ˆ |¡ |dksFˆj |d  rFˆjjrVˆj d¡ d S td dœ‡ ‡fdd„‰ ˆj d¡ x|D ]}ˆ |ƒ q~W ˆj d	¡ d S )
Nz
@menu
r‚   r   z
@end menu
)rŠ   r"   c                sR   ˆj |  }|sd S ˆj dˆ ˆj|  ¡ ¡ ˆ |¡ x|D ]}ˆ |ƒ q>W d S )Nz
%s

)rn   r^   r$   r–   rm   rÑ   )rŠ   r®   Zsubentry)Ú_add_detailed_menurH   r)   r*   rÒ   §  s    


z6TexinfoTranslator.add_menu.<locals>._add_detailed_menuz0
@detailmenu
 --- The Detailed Node Listing ---
z
@end detailmenu
@end menu
)rn   r^   r$   rÑ   r—   Ztexinfo_no_detailmenurY   )rH   r¦   r®   r¡   r)   )rÒ   rH   r*   rƒ   ›  s    

	
zTexinfoTranslator.add_menu)Ú	width_strr"   c             C   sX   t  d|¡}|s|S |}| ¡ d d… \}}|r8|dkr<dS |dkrTdt|ƒd  }|S )Nz(\d*\.?\d*)\s*(\S*)r°   Zpxr?   ú%z%d.0ptgDIíêº@)r¾   ÚmatchÚgroupsÚfloat)rH   rÓ   rÕ   ÚresÚamountÚunitr)   r)   r*   Útex_image_length·  s    z"TexinfoTranslator.tex_image_lengthc       	         sü   t ttt t f  ttdœ‡ fdd„}ˆ jj}|r²x~ˆ jjj	 
¡ D ]l}xf|jD ]\}d|j|jf }t|tƒrv||krvqN||ƒ ˆ jj¡\}}|s’qNˆ j |j|||ƒf¡ qNW qBW ttˆ jj d¡ƒ}x0ˆ jjD ]$}|j| rÐˆ j tdƒdf¡ P qÐW d S )N)r‹   Ú	collapsedr"   c       
         s’   dg}xv| D ]n\}}xd|D ]\}|d s(qˆ   |d ¡}ˆ  d|d |d f ¡}ˆ  |d ¡}ˆ  |||¡}	| |	¡ qW qW | d¡ d |¡S )	Nz
@menu
é   r   z%s:%sr°   é   z
@end menu
r?   )rž   Úget_short_idrŸ   r   r$   r6   )
r‹   rÜ   ÚretZ_letterr®   r¡   rŠ   ÚsidrÅ   Úme)rH   r)   r*   ÚgenerateÇ  s    

z3TexinfoTranslator.collect_indices.<locals>.generatez%s-%sr‰   ÚIndexz
@printindex ge
)r   r   rY   r   Úboolr—   Ztexinfo_domain_indicesrE   ÚenvÚdomainsÚvaluesrk   rŠ   r#   Úlistrã   Zdocnamesr$   Ú	localnamer   r   Ú
get_domainr®   r   )	rH   rã   Zindices_configÚdomainZindexclsZ	indexnamer‹   rÜ   Údocnamer)   )rH   r*   rp   Æ  s(    &


z!TexinfoTranslator.collect_indices)r­   r"   c                sf   t ttj dœ‡ fdd„‰ i }xBˆ |ƒD ]6}ttj|d ƒ}| ¡  ¡ }td|j	žŽ dg||< q(W |S )N)Únr"   c             3   sR   t | tjƒr| V  n:x8| jD ].}t |tjƒr0qqt |tjƒrˆ |ƒE d H  qW d S )N)r#   r   ÚfootnoteÚchildrenr   Zstart_of_filer   )rî   Úc)Úfootnotes_underr)   r*   rò   î  s    z<TexinfoTranslator.collect_footnotes.<locals>.footnotes_underr   r?   F)r?   )
r   r   r   rï   r   Úlabelrš   r¼   r   rð   )rH   r­   ZfnotesÚfnró   Únumr)   )rò   r*   Úcollect_footnotesí  s    	z#TexinfoTranslator.collect_footnotes)r´   r"   c             C   sH   y| j | }W n4 tk
rB   tt| j ƒƒdd… }|| j |< Y nX |S )z-Return a shorter 'id' associated with ``id``.r°   N)rl   ÚKeyErrorÚhexr²   )rH   r´   rá   r)   r)   r*   rß      s    zTexinfoTranslator.get_short_id)r´   r­   r"   c             C   sp   |  d¡rd S | jd d | }|  |¡}|  |¡}x6||fD ]*}|| jkr>| j d| ¡ | j |¡ q>W d S )Nzindex-rÃ   rÁ   z@anchor{%s})Ú
startswithr|   r›   rß   ri   r^   r$   r£   )rH   r´   r­   Zeidrá   r)   r)   r*   Ú
add_anchor  s    



zTexinfoTranslator.add_anchor)r´   rŠ   r­   r"   c             C   s`   |   |¡}|  |¡}| jjrP| j d||f ¡ | j |¡ | j |  |¡¡ n| j |¡ d S )Nz@ref{%s,,%s})	rž   rß   r—   Ztexinfo_cross_referencesr^   r$   rj   r£   r›   )rH   r´   rŠ   r­   rá   r)   r)   r*   Úadd_xref  s    

zTexinfoTranslator.add_xrefc             C   s>   | j  |  |¡¡ | j | dd¡¡ d|kr:|  d|¡ d S )Nrí   r?   z:doc)r}   r$   rö   r|   rœ   rú   )rH   r­   r)   r)   r*   Úvisit_document"  s    z TexinfoTranslator.visit_documentc             C   s   | j  ¡  | j ¡  d S )N)r}   r…   r|   )rH   r­   r)   r)   r*   Údepart_document(  s    
z!TexinfoTranslator.depart_documentc             C   sB   |   | ¡ ¡}| jr | dd¡}| jr2| dd¡}| j |¡ d S )NrÄ   r1   ú-z@w{-})r–   rš   rz   rº   r{   r^   r$   )rH   r­   r+   r)   r)   r*   Ú
visit_Text,  s    zTexinfoTranslator.visit_Textc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_Text5  s    zTexinfoTranslator.depart_Textc             C   s¶   | j  | dg ¡¡ | jsd S | jr6|  | jd ¡ n
|  d¡ |d }t|g| j|  ƒ}| j 	d| ¡ xt
| j ƒD ]}|  ||¡ qxW | j  ¡  ttj|ƒ| _|  jd7  _d S )NÚidsr¦   r‚   z
@node %s,%s,%s,%s
r¢   )ry   r”   rœ   rx   rv   rƒ   r„   ro   r^   r$   Úsortedrú   Úclearr   r   r!   rw   )rH   r­   r¦   rŒ   r´   r)   r)   r*   Úvisit_section8  s    

zTexinfoTranslator.visit_sectionc             C   s   |  j d8  _ d S )Nr¢   )rw   )rH   r­   r)   r)   r*   Údepart_sectionK  s    z TexinfoTranslator.depart_section)z@unnumberedz@chapterz@sectionz@subsectionz@subsubsection)z@headingz@subheadingz@subsubheadingc             C   s´   | j sd| _ tj‚|j}t|tjƒr(d S t|tjtjtjfƒrFtj‚njt|tj	ƒspt
jtdƒ|d |  |¡ n@y| j| j }W n tk
rž   | jd }Y nX | j d| ¡ d S )NTzJencountered title node not in section, topic, table, admonition or sidebar)ÚlocationrÃ   z
%s )rx   r   ÚSkipNoder«   r#   ÚtableZ
AdmonitionZsidebarZtopicr!   ÚloggerÚwarningr   Úvisit_rubricÚheadingsrw   r³   r^   r$   )rH   r­   r«   Úheadingr)   r)   r*   Úvisit_title\  s"    
zTexinfoTranslator.visit_titlec             C   s   | j  d¡ d S )Nz

)r^   r$   )rH   r­   r)   r)   r*   Údepart_titleq  s    zTexinfoTranslator.depart_titlec             C   sx   t |ƒdkr&| ¡ dtdƒfkr&tj‚y| j| j }W n tk
rT   | jd }Y nX | j 	d| ¡ |  j
d7  _
d S )Nr¢   Z	FootnotesrÃ   z
%s )r²   rš   r   r   r  Úrubricsrw   r³   r^   r$   rz   )rH   r­   Zrubricr)   r)   r*   r  t  s     zTexinfoTranslator.visit_rubricc             C   s   |  j d8  _ | j d¡ d S )Nr¢   z

)rz   r^   r$   )rH   r­   r)   r)   r*   Údepart_rubric~  s    zTexinfoTranslator.depart_rubricc             C   s   | j  d¡ d S )Nz

@noindent
)r^   r$   )rH   r­   r)   r)   r*   Úvisit_subtitle‚  s    z TexinfoTranslator.visit_subtitlec             C   s   | j  d¡ d S )Nz

)r^   r$   )rH   r­   r)   r)   r*   Údepart_subtitle…  s    z!TexinfoTranslator.depart_subtitlec          	   C   sì   |j  |¡}y~y|j |d  }W n, tk
rL   |j j |j j  |j ¡ }Y nX t|tjƒrˆ| d¡rt| j |d ¡ | j 	|d ¡ d S W n tt
fk
r¢   Y nX d|kr°d S | d¡rÊ|  |d |¡ x|d D ]}|  ||¡ qÔW d S )Nr¢   Úrefidr  Úrefuri)r«   r‰   r³   r#   r   r!   rœ   ry   r£   r”   ÚAttributeErrorrú   )rH   r­   ZparindexÚnextr´   r)   r)   r*   Úvisit_targetŠ  s&    

zTexinfoTranslator.visit_targetc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_target¢  s    zTexinfoTranslator.depart_targetc             C   s¤  t |jtjtjfƒrd S t |d tjƒr,d S | d| ¡ ¡ 	¡ }| dd¡}|st| d¡rtd| j
d  d |d  }|s|d S | d	¡rØ|  |d
d … ¡}|  |¡}|r®||krÀ| j d| ¡ n| j d||f ¡ nÂ| d¡r| j
d d |dd …  }|  |||¡ nŠ| d¡rh| d¡}|dkrB|dd … d }n|dd …  dd¡}|  |||¡ n2| d¡rü|dd …  dd¡}|  |¡}d}d|kr°| dd¡\}}|  |¡}|  |¡}||krä| j d||f ¡ n| j d|||f ¡ nž|  |¡}|  |¡}| jj}| jr$d}|r4||krF| j d| ¡ nT|dkrf| j d||f ¡ n4|dkr†| j d||f ¡ n| j d||f ¡ tj‚d S )Nr   rŠ   r  r?   r  rÔ   rÃ   ú#zmailto:é   z
@email{%s}z@email{%s,%s}rÁ   r¢   z::doczinfo:é   r   r1   r‚   z@ref{%s,,,%s}z@ref{%s,,%s,%s}Úinlinez@indicateurl{%s}z@uref{%s,%s}Únoz@uref{%s,,%s}z%s@footnote{%s})r#   r«   r   rf   r   Z	desc_typeÚimagerœ   rš   r¼   r|   rù   rŸ   r^   r$   rû   Úfindrº   r2   r›   rž   r—   Ztexinfo_show_urlsr~   r  )rH   r­   rŠ   Úurir´   Z	hashindexZ	show_urlsr)   r)   r*   Úvisit_reference¥  sb    












z!TexinfoTranslator.visit_referencec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_referenceä  s    z"TexinfoTranslator.depart_referencec             C   s&   t  | dd¡¡}|  |¡ t j‚d S )Nrf   r  )r   r   rœ   rÿ   r  )rH   r­   Útextr)   r)   r*   Úvisit_number_referenceç  s    
z(TexinfoTranslator.visit_number_referencec             C   s(   |  ¡ }| j d|  |¡ ¡ tj‚d S )Nz	@cite{%s})rš   r^   r$   rŸ   r   r  )rH   r­   r$  r)   r)   r*   Úvisit_title_referenceì  s    z'TexinfoTranslator.visit_title_referencec             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Úvisit_paragraphó  s    z!TexinfoTranslator.visit_paragraphc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Údepart_paragraphö  s    z"TexinfoTranslator.depart_paragraphc             C   s   | j  d¡ d S )Nz
@quotation
)r^   r$   )rH   r­   r)   r)   r*   Úvisit_block_quoteù  s    z#TexinfoTranslator.visit_block_quotec             C   s   |   ¡  | j d¡ d S )Nz@end quotation
)r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_block_quoteü  s    z$TexinfoTranslator.depart_block_quotec             C   s   | j  d¡ d S )Nz

@example
)r^   r$   )rH   r­   r)   r)   r*   Úvisit_literal_block   s    z%TexinfoTranslator.visit_literal_blockc             C   s   |   ¡  | j d¡ d S )Nz@end example
)r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_literal_block  s    z&TexinfoTranslator.depart_literal_blockc             C   s*   t |jtjƒs| j d¡ | j d¡ d S )Nz

z	@display
)r#   r«   r   Ú
line_blockr^   r$   )rH   r­   r)   r)   r*   Úvisit_line_block
  s    z"TexinfoTranslator.visit_line_blockc             C   s*   | j  d¡ t|jtjƒs&| j  d¡ d S )Nz@end display
z

)r^   r$   r#   r«   r   r-  )rH   r­   r)   r)   r*   Údepart_line_block  s    z#TexinfoTranslator.depart_line_blockc             C   s   |  j d7  _ d S )Nr¢   )rz   )rH   r­   r)   r)   r*   Ú
visit_line  s    zTexinfoTranslator.visit_linec             C   s   | j  d¡ |  jd8  _d S )Nz@w{ }
r¢   )r^   r$   rz   )rH   r­   r)   r)   r*   Údepart_line  s    zTexinfoTranslator.depart_linec             C   s   | j  d¡ d S )Nú`)r^   r$   )rH   r­   r)   r)   r*   Úvisit_strong  s    zTexinfoTranslator.visit_strongc             C   s   | j  d¡ d S )Nú')r^   r$   )rH   r­   r)   r)   r*   Údepart_strong   s    zTexinfoTranslator.depart_strongc             C   s<   | j r | j d¡ | j d¡ n| j d¡ | j d¡ d S )Nz@var{r¹   r2  r4  )r   r^   r$   rt   )rH   r­   r)   r)   r*   Úvisit_emphasis#  s
    z TexinfoTranslator.visit_emphasisc             C   s   | j  | j ¡ ¡ d S )N)r^   r$   rt   r…   )rH   r­   r)   r)   r*   Údepart_emphasis+  s    z!TexinfoTranslator.depart_emphasisc             C   s   d|d kS )NZsampÚclassesr)   )rH   r­   r)   r)   r*   Úis_samp.  s    zTexinfoTranslator.is_sampc             C   s(   |   |¡r|  jd7  _| j d¡ d S )Nr¢   z@code{)r9  r   r^   r$   )rH   r­   r)   r)   r*   Úvisit_literal1  s    
zTexinfoTranslator.visit_literalc             C   s(   |   |¡r|  jd8  _| j d¡ d S )Nr¢   r¹   )r9  r   r^   r$   )rH   r­   r)   r)   r*   Údepart_literal6  s    
z TexinfoTranslator.depart_literalc             C   s   | j  d¡ d S )Nz@w{^)r^   r$   )rH   r­   r)   r)   r*   Úvisit_superscript;  s    z#TexinfoTranslator.visit_superscriptc             C   s   | j  d¡ d S )Nr¹   )r^   r$   )rH   r­   r)   r)   r*   Údepart_superscript>  s    z$TexinfoTranslator.depart_superscriptc             C   s   | j  d¡ d S )Nz@w{[)r^   r$   )rH   r­   r)   r)   r*   Úvisit_subscriptA  s    z!TexinfoTranslator.visit_subscriptc             C   s   | j  d¡ d S )Nz]})r^   r$   )rH   r­   r)   r)   r*   Údepart_subscriptD  s    z"TexinfoTranslator.depart_subscriptc             C   s
   t j‚d S )N)r   r  )rH   r­   r)   r)   r*   Úvisit_footnoteI  s    z TexinfoTranslator.visit_footnotec             C   s   |  j d7  _ | j d¡ d S )Nr¢   z
@footnote{)r~   r^   r$   )rH   r­   r)   r)   r*   Úvisit_collected_footnoteL  s    z*TexinfoTranslator.visit_collected_footnotec             C   s   | j  d¡ |  jd8  _d S )Nr¹   r¢   )r^   r$   r~   )rH   r­   r)   r)   r*   Údepart_collected_footnoteP  s    z+TexinfoTranslator.depart_collected_footnotec          
   C   sf   |  ¡  ¡ }y| jd | \}}W n. ttfk
rP } ztj|‚W d d }~X Y nX | | ¡ tj‚d S )NrÃ   )	rš   r¼   r}   r÷   r³   r   r  rM   ZSkipChildren)rH   r­   rõ   ZfootnodeÚusedÚexcr)   r)   r*   Úvisit_footnote_referenceT  s    
z*TexinfoTranslator.visit_footnote_referencec             C   s>   | j  d¡ x| d¡D ]}|  ||¡ qW |  jd7  _d S )NrÄ   r  r¢   )r^   r$   rœ   rú   rz   )rH   r­   r´   r)   r)   r*   Úvisit_citation^  s    z TexinfoTranslator.visit_citationc             C   s   |  j d8  _ d S )Nr¢   )rz   )rH   r­   r)   r)   r*   Údepart_citationd  s    z!TexinfoTranslator.depart_citationc             C   s   | j  d¡ d S )Nz@w{[)r^   r$   )rH   r­   r)   r)   r*   Úvisit_citation_referenceg  s    z*TexinfoTranslator.visit_citation_referencec             C   s   | j  d¡ d S )Nz]})r^   r$   )rH   r­   r)   r)   r*   Údepart_citation_referencej  s    z+TexinfoTranslator.depart_citation_referencec             C   s    |  dd¡}| j d| ¡ d S )NÚbulletÚ*z

@itemize %s
)rœ   r^   r$   )rH   r­   rJ  r)   r)   r*   Úvisit_bullet_listo  s    z#TexinfoTranslator.visit_bullet_listc             C   s   |   ¡  | j d¡ d S )Nz@end itemize
)r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_bullet_lists  s    z$TexinfoTranslator.depart_bullet_listc             C   s@   |  dd¡}ddddœ}|  d|  |d¡¡}| j d| ¡ d S )	NZenumtypeÚarabicr?   ÚaÚA)rN  Z
loweralphaZ
upperalphaÚstartz

@enumerate %s
)rœ   r^   r$   )rH   r­   ÚenumZstartersrQ  r)   r)   r*   Úvisit_enumerated_listw  s    z'TexinfoTranslator.visit_enumerated_listc             C   s   |   ¡  | j d¡ d S )Nz@end enumerate
)r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_enumerated_list€  s    z(TexinfoTranslator.depart_enumerated_listc             C   s   | j  d¡ d S )Nz
@item )r^   r$   )rH   r­   r)   r)   r*   Úvisit_list_item„  s    z!TexinfoTranslator.visit_list_itemc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_list_item‡  s    z"TexinfoTranslator.depart_list_itemc             C   s   | j  d¡ d S )Nz

@table @option
)r^   r$   )rH   r­   r)   r)   r*   Úvisit_option_listŒ  s    z#TexinfoTranslator.visit_option_listc             C   s   |   ¡  | j d¡ d S )Nz@end table
)r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_option_list  s    z$TexinfoTranslator.depart_option_listc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_option_list_item“  s    z(TexinfoTranslator.visit_option_list_itemc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_option_list_item–  s    z)TexinfoTranslator.depart_option_list_itemc             C   s
   d| _ d S )Nz@item)Ú	at_item_x)rH   r­   r)   r)   r*   Úvisit_option_group™  s    z$TexinfoTranslator.visit_option_groupc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_option_groupœ  s    z%TexinfoTranslator.depart_option_groupc             C   s*   |  j d7  _ | j d| j ¡ d| _d S )Nr¢   z
%s z@itemx)r{   r^   r$   r[  )rH   r­   r)   r)   r*   Úvisit_optionŸ  s    zTexinfoTranslator.visit_optionc             C   s   |  j d8  _ d S )Nr¢   )r{   )rH   r­   r)   r)   r*   Údepart_option¤  s    zTexinfoTranslator.depart_optionc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_option_string§  s    z%TexinfoTranslator.visit_option_stringc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_option_stringª  s    z&TexinfoTranslator.depart_option_stringc             C   s   | j  | dd¡¡ d S )NÚ	delimiterr1   )r^   r$   rœ   )rH   r­   r)   r)   r*   Úvisit_option_argument­  s    z'TexinfoTranslator.visit_option_argumentc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_option_argument°  s    z(TexinfoTranslator.depart_option_argumentc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Úvisit_description³  s    z#TexinfoTranslator.visit_descriptionc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_description¶  s    z$TexinfoTranslator.depart_descriptionc             C   s   | j  d¡ d S )Nz

@table @asis
)r^   r$   )rH   r­   r)   r)   r*   Úvisit_definition_list»  s    z'TexinfoTranslator.visit_definition_listc             C   s   |   ¡  | j d¡ d S )Nz@end table
)r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_definition_list¾  s    z(TexinfoTranslator.depart_definition_listc             C   s
   d| _ d S )Nz@item)r[  )rH   r­   r)   r)   r*   Úvisit_definition_list_itemÂ  s    z,TexinfoTranslator.visit_definition_list_itemc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_definition_list_itemÅ  s    z-TexinfoTranslator.depart_definition_list_itemc             C   sx   x|  d¡D ]}|  ||¡ qW x:|d d … D ]*}t|tjtjfƒr.| | ¡ | |¡ q.W | j	 
d| j ¡ d| _d S )Nr  z
%s z@itemx)rœ   rú   r#   r   r‰   r   ÚtargetrM   Úremover^   r$   r[  )rH   r­   r´   rî   r)   r)   r*   Ú
visit_termÈ  s    
zTexinfoTranslator.visit_termc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_termÓ  s    zTexinfoTranslator.depart_termc             C   s   | j  d¡ d S )Nz : )r^   r$   )rH   r­   r)   r)   r*   Úvisit_classifierÖ  s    z"TexinfoTranslator.visit_classifierc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_classifierÙ  s    z#TexinfoTranslator.depart_classifierc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Úvisit_definitionÜ  s    z"TexinfoTranslator.visit_definitionc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_definitionß  s    z#TexinfoTranslator.depart_definitionc             C   s
   d| _ d S )Nz@item)Ú	entry_sep)rH   r­   r)   r)   r*   Úvisit_tableä  s    zTexinfoTranslator.visit_tablec             C   s   | j  d¡ d S )Nz
@end multitable

)r^   r$   )rH   r­   r)   r)   r*   Údepart_tableç  s    zTexinfoTranslator.depart_tablec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_tabular_col_specê  s    z(TexinfoTranslator.visit_tabular_col_specc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_tabular_col_specí  s    z)TexinfoTranslator.depart_tabular_col_specc             C   s\   | j  |d ¡ t| j ƒ| jkr$d S | j d¡ x&| j D ]}| j dd|d   ¡ q8W d S )NÚcolwidthz

@multitable z{%s} r/   r°   )r   r$   r²   Ún_colsr^   )rH   r­   rî   r)   r)   r*   Úvisit_colspecð  s    zTexinfoTranslator.visit_colspecc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_colspecø  s    z TexinfoTranslator.depart_colspecc             C   s   g | _ |d | _d S )NÚcols)r   ry  )rH   r­   r)   r)   r*   Úvisit_tgroupû  s    zTexinfoTranslator.visit_tgroupc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_tgroupÿ  s    zTexinfoTranslator.depart_tgroupc             C   s
   d| _ d S )Nz	@headitem)rs  )rH   r­   r)   r)   r*   Úvisit_thead  s    zTexinfoTranslator.visit_theadc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_thead  s    zTexinfoTranslator.depart_theadc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_tbody  s    zTexinfoTranslator.visit_tbodyc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_tbody  s    zTexinfoTranslator.depart_tbodyc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Ú	visit_row  s    zTexinfoTranslator.visit_rowc             C   s
   d| _ d S )Nz@item)rs  )rH   r­   r)   r)   r*   Ú
depart_row  s    zTexinfoTranslator.depart_rowc             C   s   | j  d| j ¡ d| _d S )Nz
%s
z@tab)r^   r$   rs  )rH   r­   r)   r)   r*   Úvisit_entry  s    zTexinfoTranslator.visit_entryc             C   s*   x$t | dd¡ƒD ]}| j d¡ qW d S )NZmorecolsr   z
@tab
)Úrangerœ   r^   r$   )rH   r­   Z_ir)   r)   r*   Údepart_entry  s    zTexinfoTranslator.depart_entryc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_field_list  s    z"TexinfoTranslator.visit_field_listc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_field_list!  s    z#TexinfoTranslator.depart_field_listc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Úvisit_field$  s    zTexinfoTranslator.visit_fieldc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Údepart_field'  s    zTexinfoTranslator.depart_fieldc             C   s   |   ¡  | j d¡ d S )Nz@*)r†   r^   r$   )rH   r­   r)   r)   r*   Úvisit_field_name*  s    z"TexinfoTranslator.visit_field_namec             C   s   | j  d¡ d S )Nz: )r^   r$   )rH   r­   r)   r)   r*   Údepart_field_name.  s    z#TexinfoTranslator.depart_field_namec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_field_body1  s    z"TexinfoTranslator.visit_field_bodyc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_field_body4  s    z#TexinfoTranslator.depart_field_body)r­   rŠ   r"   c             C   s6   |s"t tj|d ƒ}|  | ¡ ¡}| j d| ¡ d S )Nr   z
@cartouche
@quotation %s )r   r   rf   r–   rš   r^   r$   )rH   r­   rŠ   rf   r)   r)   r*   Úvisit_admonition9  s    z"TexinfoTranslator.visit_admonitionc             C   s   t |j }| j d| ¡ d S )Nz
@cartouche
@quotation %s )r   Útagnamer^   r$   )rH   r­   ró   r)   r)   r*   Ú_visit_named_admonition?  s    
z)TexinfoTranslator._visit_named_admonitionc             C   s   |   ¡  | j d¡ d S )Nz@end quotation
@end cartouche
)r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_admonitionC  s    z#TexinfoTranslator.depart_admonitionc             C   s
   t j‚d S )N)r   r  )rH   r­   r)   r)   r*   Úvisit_docinfo]  s    zTexinfoTranslator.visit_docinfoc             C   s
   t j‚d S )N)r   r  )rH   r­   r)   r)   r*   Úvisit_generated`  s    z!TexinfoTranslator.visit_generatedc             C   s
   t j‚d S )N)r   r  )rH   r­   r)   r)   r*   Úvisit_headerc  s    zTexinfoTranslator.visit_headerc             C   s
   t j‚d S )N)r   r  )rH   r­   r)   r)   r*   Úvisit_footerf  s    zTexinfoTranslator.visit_footerc             C   s   |  d¡r| j d¡ d S )NÚliteral_blockz

@float LiteralBlock
)rœ   r^   r$   )rH   r­   r)   r)   r*   Úvisit_containeri  s    
z!TexinfoTranslator.visit_containerc             C   s   |  d¡r| j d¡ d S )Nr˜  z
@end float

)rœ   r^   r$   )rH   r­   r)   r)   r*   Údepart_containerm  s    
z"TexinfoTranslator.depart_containerc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_decorationq  s    z"TexinfoTranslator.visit_decorationc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_decorationt  s    z#TexinfoTranslator.depart_decorationc             C   sX   d|  dg ¡krtj‚ttj|d ƒ}|  |¡ | j d|  | 	¡ ¡ ¡ |  
|¡ d S )NÚcontentsr8  r   z%s
)rœ   r   r  r   rf   r  r^   r$   r–   rš   r  )rH   r­   rf   r)   r)   r*   Úvisit_topicw  s    
zTexinfoTranslator.visit_topicc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_topic€  s    zTexinfoTranslator.depart_topicc             C   s   | j  dd ¡ d S )Nz

%s

ZB__________________________________________________________________)r^   r$   )rH   r­   r)   r)   r*   Úvisit_transitionƒ  s    z"TexinfoTranslator.visit_transitionc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_transition†  s    z#TexinfoTranslator.depart_transitionc             C   s   | j  d¡ d S )Nz

@center --- )r^   r$   )rH   r­   r)   r)   r*   Úvisit_attribution‰  s    z#TexinfoTranslator.visit_attributionc             C   s   | j  d¡ d S )Nz

)r^   r$   )rH   r­   r)   r)   r*   Údepart_attributionŒ  s    z$TexinfoTranslator.depart_attributionc             C   s:   |  dd¡ ¡ }d|ks d|kr0| j | ¡ ¡ tj‚d S )NÚformatr?   r<   r=   )rœ   r2   r^   r$   rš   r   r  )rH   r­   r¤  r)   r)   r*   Ú	visit_raw  s    zTexinfoTranslator.visit_rawc             C   s   | j  d¡ d S )Nz

@float Figure
)r^   r$   )rH   r­   r)   r)   r*   Úvisit_figure•  s    zTexinfoTranslator.visit_figurec             C   s   | j  d¡ d S )Nz
@end float

)r^   r$   )rH   r­   r)   r)   r*   Údepart_figure˜  s    zTexinfoTranslator.depart_figurec             C   sL   t |jtjƒs(t |jtjƒr6|j d¡r6| j d¡ ntj	t
dƒ|d d S )Nr˜  z

@caption{zcaption not inside a figure.)r  )r#   r«   r   ÚfigureÚ	containerrœ   r^   r$   r	  r
  r   )rH   r­   r)   r)   r*   Úvisit_caption›  s    
zTexinfoTranslator.visit_captionc             C   s8   t |jtjƒs(t |jtjƒr4|j d¡r4| j d¡ d S )Nr˜  z}
)r#   r«   r   r¨  r©  rœ   r^   r$   )rH   r­   r)   r)   r*   Údepart_caption¤  s    z TexinfoTranslator.depart_captionc       	   
   C   sÊ   |d | j jkr"| j j|d  }n| jr,d S |d }| d¡dkrFd S t |¡\}}|  | dd¡¡}|  | dd¡¡}|  | dd¡¡}d| j	d	 d d
… |f }| j
 d|||||dd … f ¡ d S )Nr!  z://rÃ   rÊ   r?   ÚheightÚaltz%s-figures/%srb   éûÿÿÿz
@image{%s,%s,%s,%s,%s}
r¢   )rE   ZimagesÚignore_missing_imagesr   r   ÚsplitextrÛ   rœ   rŸ   r‡   r^   r$   )	rH   r­   r!  rŠ   ÚextrÊ   r¬  r­  rb   r)   r)   r*   Úvisit_imageª  s    zTexinfoTranslator.visit_imagec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_image¾  s    zTexinfoTranslator.depart_imagec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_compoundÁ  s    z TexinfoTranslator.visit_compoundc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_compoundÄ  s    z!TexinfoTranslator.depart_compoundc             C   s   |   |¡ d S )N)rž  )rH   r­   r)   r)   r*   Úvisit_sidebarÇ  s    zTexinfoTranslator.visit_sidebarc             C   s   |   |¡ d S )N)rŸ  )rH   r­   r)   r)   r*   Údepart_sidebarÊ  s    z TexinfoTranslator.depart_sidebarc             C   s   | j rtj‚n| j d¡ d S )Nz@w{()r~   r   r  r^   r$   )rH   r­   r)   r)   r*   Úvisit_labelÍ  s    zTexinfoTranslator.visit_labelc             C   s   | j  d¡ d S )Nz)} )r^   r$   )rH   r­   r)   r)   r*   Údepart_labelÔ  s    zTexinfoTranslator.depart_labelc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_legend×  s    zTexinfoTranslator.visit_legendc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_legendÚ  s    zTexinfoTranslator.depart_legendc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_substitution_referenceÝ  s    z.TexinfoTranslator.visit_substitution_referencec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_substitution_referenceà  s    z/TexinfoTranslator.depart_substitution_referencec             C   s
   t j‚d S )N)r   r  )rH   r­   r)   r)   r*   Úvisit_substitution_definitionã  s    z/TexinfoTranslator.visit_substitution_definitionc             C   s   | j  d| ¡  ¡ tj‚d S )Nz.
@verbatim
<SYSTEM MESSAGE: %s>
@end verbatim
)r^   r$   rš   r   r  )rH   r­   r)   r)   r*   Úvisit_system_messageæ  s    z&TexinfoTranslator.visit_system_messagec             C   s<   | j  d¡ x$| ¡  ¡ D ]}| j  d| ¡ qW tj‚d S )NrÄ   z@c %s
)r^   r$   rš   Ú
splitlinesr   r  )rH   r­   Úliner)   r)   r*   Úvisit_commentì  s    zTexinfoTranslator.visit_commentc             C   s   | j  d¡ d S )Nz>>)r^   r$   )rH   r­   r)   r)   r*   Úvisit_problematicò  s    z#TexinfoTranslator.visit_problematicc             C   s   | j  d¡ d S )Nz<<)r^   r$   )rH   r­   r)   r)   r*   Údepart_problematicõ  s    z$TexinfoTranslator.depart_problematicc             C   s   t jtdƒ||d d S )Nzunimplemented node type: %r)r  )r	  r
  r   )rH   r­   r)   r)   r*   Úunimplemented_visitø  s    z%TexinfoTranslator.unimplemented_visitc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úunknown_departureü  s    z#TexinfoTranslator.unknown_departurec             C   sâ   |   d ¡ g }tttj |ƒ}x|D ]}| |d ¡ q$W tdd„ |D ƒƒ}x€|D ]x}|d r’x| d¡D ]}|  ||¡ qjW |d  	|¡d }ndd|  }| j
 |  |¡¡ | j
 |  | ¡ d ¡¡ qRW |  d ¡ tj‚d S )	NZ	tokennamec             s   s   | ]}t |ƒV  qd S )N)r²   )r.   rŠ   r)   r)   r*   r0     s    z9TexinfoTranslator.visit_productionlist.<locals>.<genexpr>r  z ::=z%s    r1   rÄ   )r+  r   r   r   Ú
productionr$   rË   rœ   rú   Úljustr^   r–   rš   r,  r   r  )rH   r­   ÚnamesZproductionlistrÇ  Úmaxlenr´   r+   r)   r)   r*   Úvisit_productionlist  s     



z&TexinfoTranslator.visit_productionlistc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_production  s    z"TexinfoTranslator.visit_productionc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_production  s    z#TexinfoTranslator.depart_productionc             C   s   | j  d¡ d S )Nz@code{)r^   r$   )rH   r­   r)   r)   r*   Úvisit_literal_emphasis  s    z(TexinfoTranslator.visit_literal_emphasisc             C   s   | j  d¡ d S )Nr¹   )r^   r$   )rH   r­   r)   r)   r*   Údepart_literal_emphasis  s    z)TexinfoTranslator.depart_literal_emphasisc             C   s   | j  d¡ d S )Nz@code{)r^   r$   )rH   r­   r)   r)   r*   Úvisit_literal_strong   s    z&TexinfoTranslator.visit_literal_strongc             C   s   | j  d¡ d S )Nr¹   )r^   r$   )rH   r­   r)   r)   r*   Údepart_literal_strong#  s    z'TexinfoTranslator.depart_literal_strongc             C   sb   t |jtjƒr|  ¡  n| j d¡ x8|d D ],}|\}}}}}|  |¡}| j d| ¡ q.W d S )NrÄ   r®   z@geindex %s
)r#   r«   r   Z	paragraphr†   r^   r$   rž   )rH   r­   r¡   Útypr$  ÚtidZtext2Úkey_r)   r)   r*   Úvisit_index&  s    

zTexinfoTranslator.visit_indexc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Úvisit_versionmodified1  s    z'TexinfoTranslator.visit_versionmodifiedc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Údepart_versionmodified4  s    z(TexinfoTranslator.depart_versionmodifiedc             C   s2   | j  d¡ | j |d ¡ | j |  |¡¡ d S )Nz:docrí   )ry   r£   r|   r$   r}   rö   )rH   r­   r)   r)   r*   Úvisit_start_of_file7  s    z%TexinfoTranslator.visit_start_of_filec             C   s   | j  ¡  | j ¡  d S )N)r|   r…   r}   )rH   r­   r)   r)   r*   Údepart_start_of_file=  s    
z&TexinfoTranslator.depart_start_of_filec             C   s(   |   | ¡ ¡}| j d| ¡ tj‚d S )Nz

@center %s

)rŸ   rš   r^   r$   r   r  )rH   r­   Útxtr)   r)   r*   Úvisit_centeredA  s    z TexinfoTranslator.visit_centeredc             C   s   | j  dtd  ¡ d S )Nz

@subsubheading %s

Zseealso)r^   r$   r   )rH   r­   r)   r)   r*   Úvisit_seealsoF  s    zTexinfoTranslator.visit_seealsoc             C   s   | j  d¡ d S )NrÄ   )r^   r$   )rH   r­   r)   r)   r*   Údepart_seealsoJ  s    z TexinfoTranslator.depart_seealsoc             C   s
   t j‚d S )N)r   r  )rH   r­   r)   r)   r*   Ú
visit_metaM  s    zTexinfoTranslator.visit_metac             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_glossaryP  s    z TexinfoTranslator.visit_glossaryc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_glossaryS  s    z!TexinfoTranslator.depart_glossaryc             C   sb   t tj|d ƒ}t ttj |ƒ}| j d¡ | j d dd„ |D ƒ¡d ¡ | j d¡ tj‚d S )Nr   z

z, c             s   s   | ]}|  ¡ V  qd S )N)rš   )r.   rî   r)   r)   r*   r0   Z  s    z/TexinfoTranslator.visit_acks.<locals>.<genexpr>r½   )	r   r   Úbullet_listr   Z	list_itemr^   r$   r6   r  )rH   r­   rá  Z
list_itemsr)   r)   r*   Ú
visit_acksV  s     zTexinfoTranslator.visit_acksc             C   s   | j  |¡ d| _d S )Nz@deffn)ru   r$   Ú	at_deffnx)rH   r­   r)   r)   r*   Ú
visit_desce  s    zTexinfoTranslator.visit_descc             C   s"   | j  ¡  |  ¡  | j d¡ d S )Nz@end deffn
)ru   r…   r†   r^   r$   )rH   r­   r)   r)   r*   Údepart_desci  s    
zTexinfoTranslator.depart_descc          	   C   sÆ   |  j d7  _ |jd }|dkr@x| d¡D ]}|  ||¡ q,W y4| jj |jd ¡}| |j| | j	j
|jk¡}W n ttfk
r   |}Y nX |  t|ƒ¡}| j d| j|f ¡ d| _|| _d S )Nr¢   ÚobjtypeZdescriber  rì   z	
%s {%s} z@deffnx)r{   r«   rœ   rú   rE   ræ   rë   Zget_type_nameZobject_typesr—   Zprimary_domainrŠ   r÷   r   rŸ   r:   r^   r$   rã  Údesc_type_name)rH   r­   ræ  r´   rì   rŠ   Úcategoryr)   r)   r*   Úvisit_desc_signaturen  s    

z&TexinfoTranslator.visit_desc_signaturec             C   s$   | j  d¡ |  jd8  _d | _d S )NrÄ   r¢   )r^   r$   r{   rç  )rH   r­   r)   r)   r*   Údepart_desc_signature  s    z'TexinfoTranslator.depart_desc_signaturec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_desc_signature_line†  s    z+TexinfoTranslator.visit_desc_signature_linec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_signature_line‰  s    z,TexinfoTranslator.depart_desc_signature_linec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_desc_contentŒ  s    z$TexinfoTranslator.visit_desc_contentc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_content  s    z%TexinfoTranslator.depart_desc_contentc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_desc_inline’  s    z#TexinfoTranslator.visit_desc_inlinec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_inline•  s    z$TexinfoTranslator.depart_desc_inlinec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_desc_name›  s    z!TexinfoTranslator.visit_desc_namec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_namež  s    z"TexinfoTranslator.depart_desc_namec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_desc_addname¡  s    z$TexinfoTranslator.visit_desc_addnamec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_addname¤  s    z%TexinfoTranslator.depart_desc_addnamec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_desc_type§  s    z!TexinfoTranslator.visit_desc_typec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_typeª  s    z"TexinfoTranslator.depart_desc_typec             C   s   | j  d¡ d S )Nz -> )r^   r$   )rH   r­   r)   r)   r*   Úvisit_desc_returns­  s    z$TexinfoTranslator.visit_desc_returnsc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_returns°  s    z%TexinfoTranslator.depart_desc_returnsc             C   s   | j  d¡ d| _d S )Nz (r¢   )r^   r$   Úfirst_param)rH   r­   r)   r)   r*   Úvisit_desc_parameterlist³  s    z*TexinfoTranslator.visit_desc_parameterlistc             C   s   | j  d¡ d S )Nú))r^   r$   )rH   r­   r)   r)   r*   Údepart_desc_parameterlist·  s    z+TexinfoTranslator.depart_desc_parameterlistc             C   sJ   | j s| j d¡ nd| _ |  | ¡ ¡}| dd¡}| j |¡ tj‚d S )Nz, r   õ   Â z@w{ })rù  r^   r$   r–   rš   rº   r   r  )rH   r­   r$  r)   r)   r*   Úvisit_desc_parameterº  s    z&TexinfoTranslator.visit_desc_parameterc             C   s   | j  d¡ d S )Nú[)r^   r$   )rH   r­   r)   r)   r*   Úvisit_desc_optionalÅ  s    z%TexinfoTranslator.visit_desc_optionalc             C   s   | j  d¡ d S )Nú])r^   r$   )rH   r­   r)   r)   r*   Údepart_desc_optionalÈ  s    z&TexinfoTranslator.depart_desc_optionalc             C   sB   |  ¡  ¡ }| jr$|| jd d ks8| jr>|| j ¡ kr>tj‚d S )NrÃ   ræ  )rš   r¼   ru   rç  r2   r   r  )rH   r­   rÚ  r)   r)   r*   Úvisit_desc_annotationË  s    z'TexinfoTranslator.visit_desc_annotationc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_desc_annotationÖ  s    z(TexinfoTranslator.depart_desc_annotationc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_inlineÛ  s    zTexinfoTranslator.visit_inlinec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_inlineÞ  s    zTexinfoTranslator.depart_inlinec             C   s`   |  ¡ }| j d¡ | d¡rP|| jkrP| j d|  |d ¡ ¡ | j |¡ n| j d¡ d S )Nz@abbr{Zexplanationz,%s}r¹   )rš   r^   r$   Úhasattrr€   rt   rŸ   r£   )rH   r­   Zabbrr)   r)   r*   Úvisit_abbreviationá  s    z$TexinfoTranslator.visit_abbreviationc             C   s   | j  | j ¡ ¡ d S )N)r^   r$   rt   r…   )rH   r­   r)   r)   r*   Údepart_abbreviationê  s    z%TexinfoTranslator.depart_abbreviationc             C   s
   |   |¡S )N)rÎ  )rH   r­   r)   r)   r*   Úvisit_manpageí  s    zTexinfoTranslator.visit_manpagec             C   s
   |   |¡S )N)rÏ  )rH   r­   r)   r)   r*   Údepart_manpageð  s    z TexinfoTranslator.depart_manpagec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_download_referenceó  s    z*TexinfoTranslator.visit_download_referencec             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_download_referenceö  s    z+TexinfoTranslator.depart_download_referencec             C   s   |   |¡ d S )N)rL  )rH   r­   r)   r)   r*   Úvisit_hlistù  s    zTexinfoTranslator.visit_hlistc             C   s   |   |¡ d S )N)rM  )rH   r­   r)   r)   r*   Údepart_hlistü  s    zTexinfoTranslator.depart_hlistc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_hlistcolÿ  s    z TexinfoTranslator.visit_hlistcolc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_hlistcol  s    z!TexinfoTranslator.depart_hlistcolc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Úvisit_pending_xref  s    z$TexinfoTranslator.visit_pending_xrefc             C   s   d S )Nr)   )rH   r­   r)   r)   r*   Údepart_pending_xref  s    z%TexinfoTranslator.depart_pending_xrefc             C   s(   | j  d|  | ¡ ¡ d ¡ tj‚d S )Nz@math{r¹   )r^   r$   rŸ   rš   r   r  )rH   r­   r)   r)   r*   Ú
visit_math  s    zTexinfoTranslator.visit_mathc             C   s>   |  d¡r|  |d |¡ | j d|  | ¡ ¡ ¡ tj‚d S )Nró   z

@example
%s
@end example

)rœ   rú   r^   r$   rŸ   rš   r   r  )rH   r­   r)   r)   r*   Úvisit_math_block  s
    
z"TexinfoTranslator.visit_math_block)r?   (  rT   rU   rV   r¯  rZ   r’   r   rJ   rG   rN   rg   rq   rr   rs   rY   r–   rŸ   r›   rž   r†   r   r¾   Úcompiler   r
   rÑ   rƒ   rÛ   rp   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,  Zvisit_doctest_blockZdepart_doctest_blockr.  r/  r0  r1  r3  r5  r6  r7  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rE  rF  rG  rH  rI  rL  rM  rS  rT  rU  rV  rW  rX  rY  rZ  r\  r]  r^  r_  r`  ra  rc  rd  re  rf  rg  rh  ri  rj  rm  rn  ro  rp  rq  rr  rt  ru  rv  rw  rz  r{  r}  r~  r  r€  r  r‚  rƒ  r„  r…  r‡  rˆ  r‰  rŠ  r‹  rŒ  r  rŽ  r  r  r’  r“  Zvisit_attentionZdepart_attentionZvisit_cautionZdepart_cautionZvisit_dangerZdepart_dangerZvisit_errorZdepart_errorZ
visit_hintZdepart_hintZvisit_importantZdepart_importantZ
visit_noteZdepart_noteZ	visit_tipZ
depart_tipZvisit_warningZdepart_warningr”  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   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)   )rI   r*   rK   ‡   s  
"*!


'$	
?
				rK   )N)<rW   r¾   rÌ   Úosr   Útypingr   r   r   r   r   r   r	   r
   r   r   r   r   Zdocutilsr   r   Zdocutils.nodesr   r   r   Zsphinxr   r   Zsphinx.domainsr   Zsphinx.domains.indexr   Zsphinx.errorsr   Zsphinx.localer   r   r   Zsphinx.utilr   Zsphinx.util.docutilsr   Zsphinx.util.i18nr   Zsphinx.writers.latexr   Zsphinx.builders.texinfor    Ú	getLoggerrT   r	  r    rˆ   r!   r&   rY   r:   ÚWriterr;   rK   r)   r)   r)   r*   Ú<module>   s2   8
"
