Ë гÿ|¬ þËãó2—dZddlZddlZddlmZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlmZddlmZddlmZddlmZmZmZdd lmZmZdd lmZdd lmZdd l m!Z!ejDjGejDjIe%«d «Z&iZ'e(ejDjGejDjIe%«d««5Z)e*e)jW«e'«ddd«e'dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3d\Z4Z5dZ6Gd„de7«Z8d„Z9dwd„Z:d„Z;d„Zd!„Z?d"„Z@d#„ZAifd$„ZB dxd%„ZC dyd&„ZDe jŠfd'„ZFd(„ZGd)„ZHifd*„ZIdzd+„ZJdwd,„ZKGd-„d.«ZLGd/„d0e7«ZMGd1„d2«ZNGd3„d4«ZOGd5„d6«ZPGd7„d8«ZQGd9„d:«ZRGd;„d«ZTGd?„d@«ZUGdA„dB«ZVGdC„dDeU«ZWGdE„dFeV«ZXGdG„dHeU«ZYGdI„dJeV«ZZGdK„dLeU«Z[GdM„dNeV«Z\GdO„dPeU«Z]GdQ„dReV«Z^GdS„dT«Z_GdU„dV«Z`GdW„dX«ZadYjÅdZ«ZcGd[„d\«ZdGd]„d^ed«ZeGd_„d`«Zfda„ZgGdb„dc«Zhdd„ZiGde„df«ZjGdg„dheU«ZkGdi„djeV«Zldkemde jÜfdl„ZodapdmZqeraseM«ateh«auee«avef«awetætètêtì«aeX«axeZ«aye\«azel«a{e^«a|e_«a}ea«a~e8«at<�jZ€dnemddfdo„Z�dp„Z‚dq„Zƒd{dr„Z„dwds„Z…dt„Z†dwdu„Z‡erdvk(re‡«yy#1swY�Œ‘xYw)|aO asciidoc - converts an AsciiDoc text file to HTML or DocBook Copyright (C) 2002-2013 Stuart Rackham. Copyright (C) 2013-2022 AsciiDoc Contributors. Free use of this software is granted under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. éN)Ú lru_cache)Ú OrderedDicté)Úutils)Úparse_attributes)Úparse_table_span_specÚCellÚColumn)ÚAttrDictÚInsensitiveDict)Ú EAsciiDoc)ÚMessage)ÚPluginÚ resourcesz__metadata__.pyÚ __version__)ééÚhtmlÚarticle) ÚspecialcharactersÚquotesÚ specialwordsÚ replacementsÚ attributesÚmacrosÚcalloutsÚnormalÚverbatimÚnoneÚ replacements2Ú replacements3)rrrrrrr )rrz [^\W\d][-\w]*)Ú,Ú+z có"—eZdZdZdZd„Zdd„Zy)ÚTracez˜ Used in conjunction with the 'trace' attribute to generate diagnostic output. There is a single global instance of this class named trace. ) rrrrrrrr r!có.—d|_d|_d|_y)NÚTr)Úname_reÚlinenosÚoffset©Úselfs ú6/usr/lib/python3.12/site-packages/asciidoc/asciidoc.pyÚ__init__zTrace.__init__Zs€ØˆŒ ؈Œ ؈� óNcóB—tjjd«}|dk(rdj|j«}||_|j �Ít j|d|j|j¬«}||k7rštj|j |«rytj|«rdj|«}|€ |d|zz }n2tj|«rdj|«}|d |›d |›d�z }t j|«yyyy) aQ Print trace message if tracing is on and the trace 'name' matches the document 'trace' attribute (treated as a regexp). 'before' is the source text before substitution; 'after' text is the source text after substitution. The 'before' and 'after' messages are only printed if they differ. ÚtraceÚsubsÚ|NzTRACE: ©r*Ú z %s z <<< z >>> )ÚdocumentrÚgetÚjoinÚ SUBS_NAMESr(ÚmessageÚformatr)r*ÚreÚmatchrÚis_arrayÚstderr)r,ÚnameÚbeforeÚafterr(Úmsgs r-Ú__call__zTrace.__call___së€ô×%Ñ%×)Ñ)¨'Ó2ˆØ �fÒ Ø—h‘h˜tŸ™Ó/ˆG؈Œ Ø �<‰<Ð #Ü—.‘.  y°$·,±,ÀtÇ{Á{�.ÓSˆCØ˜Š¤2§8¡8¨D¯L©L¸$Ô#?Ü—>‘> &Ô)Ø!ŸY™Y vÓ.�FØ�=ؘ8 fÑ,Ñ,‘Cä—~‘~ eÔ,Ø $§ ¡ ¨%Ó 0˜Ù²VºUÐCÑC�CÜ—‘˜sÕ#ð$@ˆð $r/©N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r9r.rD©r/r-r%r%Qs„ñð4€Jòô $r/r%có"—tjSrE)r6ÚsaferJr/r-rLrLys €Ü �=‰=Ðr/có*—|€Ltjdk(r t« Stjj tj«}n|dk(rd}t« xs2t j||«xst j|t«S)Núr'Ú.) r6ÚinfilerLÚosÚpathÚdirnamerÚfile_inÚCONF_DIR)ÚfnameÚ directorys r-Ú is_safe_filerX}st€ðÐÜ �?‰?˜iÒ 'Ü“v�:Ð Ü—G‘G—O‘O¤H§O¡OÓ4‰ Ø �bŠØˆ ä ‹Fˆ ò 'Ü � ‰ �e˜YÓ'ò 'ä � ‰ �eœXÓ&ðr/có—tjj|«s=tjjtjj ||««}t ||«st jd|z«y|S)zo Return file name which must reside in the parent file directory. Return None if file is not safe. zinclude file: %sN)rQrRÚisabsÚnormpathr8rXr:Úunsafe)rVÚ parentdirs r-Ú safe_filenamer^�s]€ô �7‰7�=‰=˜Ô ô—‘× Ñ ¤§¡§¡¨i¸Ó!?Ó@ˆÜ ˜˜yÔ )Ü�‰Ð)¨EÑ1Ô2ØØ €Lr/cóz—d„} i}tj|«}|j|«y#t$rYywxYw)zÒUpdate a attrs dictionary with name="value" attributes from the s string. Returns False if invalid syntax. Example: attrs: 'star="sun",planet="earth"' dict: {'planet':'earth', 'star':'sun'} có—|SrErJ)Úkeywordss r-Úfz!parse_named_attributes..f£s€Øˆr/TF)rÚ get_kwargsÚupdateÚ Exception)ÚsÚattrsrbÚds r-Úparse_named_attributesriœsA€òðØ ˆÜ × Ñ ˜QÓ ˆØ � ‰ �QŒØøÜ òÙðús …(.® :¹:Úreturncóz— ttj|««}|S#t$rt d|z«‚wxYw)zXParse comma separated string of Python literals. Return a tuple of of parsed values.zmalformed list: )ÚtuplerÚ parse_to_listrer )rfÚresults r-Ú parse_listro¯sE€ð0Ü”u×*Ñ*¨1Ó-Ó.ˆð €Møô ò0ÜÐ*¨QÑ.Ó/Ð/ð0ús‚"¢:cóº—g}|rMtjd|«D]4}|r||vs t|«st|›d|›�«‚|j |«Œ6t |«S)aParse comma separated string of unquoted option names and return as a tuple of valid options. 'allowed' is a list of allowed option values. If allowed=() then all legitimate names are allowed. 'errmsg' is an error message prefix if an illegal option error is thrown.ú\s*,\s*ú: )r<ÚsplitÚis_namer Úappendrl)ÚoptionsÚallowedÚerrmsgrnrfs r-Ú parse_optionsry¹sY€ð €FÙÜ—‘˜* gÖ.ˆAÙ˜A WÑ,´W¸Q´ZܪF±AÐ 6Ó7Ð7Ø �M‰M˜!Õ ð/ô �‹=Ðr/cóF—tjdtzdz|«duS)zwReturn True if s is valid attribute, macro or tag name (starts with alpha containing alphanumeric and dashes only).Ú^Ú$N)r<r=ÚNAME_RE©rfs r-rtrtÇs#€ô �8‰8�Dœ7‘N TÑ)¨1Ó -°TÐ 9Ð9r/có^—ttjj««}|D�]ÿ}|j d«}|dk7r|dk7r|dk7r|d|}||dzd}n|x}}tj|}|sŒL|ddk(rP|dd}t j dt j|«zd zd zt j|«zd z«}nJt j d t j|«zd zd zt j|«zd z«}d} |j||«} | s�Œ|| j«dk(r>|d| j«|| j«dzdz}| j«dz}n¥i} t| jd«| «tj|| «\} } | jd«| z| jd«z| z} |d| j«| z|| j«dz}| j«t| «z}�Œ|S)z@Quoted text is marked up and the resulting text is returned.r3éÿÿÿÿz||NrrÚ#z*(?ms)(^|.)(\[(?P[^[\]]+?)\])?(?:Ú)z(?P.+?)(?:z1(?ms)(^|[^\w;:}])(\[(?P[^[\]]+?)\])?(?:z(?P\S|\S.*?\S)(?:z )(?=\W|$)Ú\ÚattrlistÚcontent)ÚlistÚconfigrÚkeysÚfindr<ÚcompileÚescapeÚsearchÚstartrÚgroupÚtagÚendÚlen)ÚtextrˆÚqÚiÚlqÚrqr�ÚreoÚposÚmor„ÚstagÚetagrfs r-Ú subs_quotesrœÍs4€ô ”— ‘ ×"Ñ"Ó$Ó %€DÜ ˆØ �F‰F�3‹KˆØ �Š7�q˜C’x A¨¢IØ�2�A�ˆBØ�1�q‘5�6�‰BàˆKˆB�Ü�m‰m˜AÑˆÙØ à ˆq‰6�SŠ=Ø�a�b�'ˆCä—*‘*ð$Ü&(§i¡i°£mñ4Ø6:ñ;à3ñ4ä68·i±iÀ³mñDàFJñKóL‰Cô—*‘*ð$Ü&(§i¡i°£mñ4Ø6:ñ;à:ñ;ä=?¿Y¹YÀr»]ñKàMYñZó[ˆCðˆØØ—‘˜D #Ó&ˆBÙÙØ�B—H‘H“JÑ 4Ò'à˜K˜RŸX™X›ZÐ(¨4°·±³ ¸Q±°Ð+@Ñ@�à—h‘h“j 1‘n‘à�Ü  §¡¨*Ó!5°xÔ@Ü#ŸZ™Z¨¨XÓ6‘ ��dØ—H‘H˜Q“K $Ñ&¨¯©°)Ó)<Ñ<¸tÑC�ؘK˜RŸX™X›ZÐ(¨1Ñ,¨t°B·F±F³H°I¨Ñ>�Ø—h‘h“j¤3 q£6Ñ)�ñð3ðR €Kr/cóè—|sddgSt||«}|stjd|z«ddgS|jd«}t |«dk(r|dgzSt |«dk(r|St d|z«‚)zkPerform attribute substitution and split tag string returning start, end tag tuple (c.f. Config.tag()).Nz.tag '%s' dropped: contains undefined attributer3rézmalformed tag: %s)Ú subs_attrsr:Úwarningrsr‘r )r�Údictrfrns r-Úsubs_tagr¢ýsƒ€ñ Ø�dˆ|ÐÜ�3˜Ó€AÙ Ü�‰ÐJÈSÑPÔQØ�dˆ|ÐØ �W‰W�S‹\€FÜ ˆ6ƒ{�aÒØ˜˜‰ÐÜ ˆV‹˜Ò ؈ äÐ+¨cÑ1Ó2Ð2r/cóJ—|rtjd|«}ntjd|«}|rN|jd«rW|d|jd«}|r|j dd«}||j d«d}n|r|r|}|ddk(r|dd}d}nd }ny|r-t j«}�8t j|«}n"j«}�|j«}|sy|�1|r*t|j««D]\} } | |k(sŒ || =Œ|||<||fS) aòParse name=value entry to dictionary 'dict'. Return tuple (name,value) or None if illegal entry. If name= then value is set to ''. If name and allow_name_only=True then value is set to ''. If name! and allow_name_only=True then value is set to None. Leading and trailing white space is striped from 'name' and 'value'. 'name' can contain any printable characters. If the '=' delimiter character is allowed in the 'name' then it must be escaped with a backslash and escape_delimiter must be True. If 'unquote' is True leading and trailing double-quotes are stripped from 'name' and 'value'. If unique_values' is True then dictionary entries with the same value are removed before the parsed entry is added.z (?:[^\\](=))z(=)rNú\=Ú=r€Ú!r') r<rŒrŽr�Úreplacer�rÚ strip_quotesÚstripr†Úitems) Úentryr¡ÚunquoteÚ unique_valuesÚallow_name_onlyÚescape_delimiterr™r@ÚvalueÚkÚvs r-Ú parse_entryr³s-€ñÜ �Y‰Y�¨Ó .‰ä �Y‰Y�v˜uÓ %ˆÙ Ø �8‰8�AŒ;ؘ˜"Ÿ(™( 1›+Ð&ˆDÙØ—|‘| E¨3Ó/�ؘ"Ÿ&™& ›)˜*Ð%‰EÙ ™UØˆØ �‰8�sŠ?ؘ˜�9ˆD؉Eà‰EàÙÜ×!Ñ! $Ó'ˆØ Ð Ü×&Ñ& uÓ-‰Eà�z‰z‹|ˆØ Ð Ø—K‘K“MˆEÙ ØØ Ð٠ܘTŸZ™Z›\Ö*‘��1ؘ“:ؘQ™ð+ðˆˆT‰ Ø �ˆ;Ðr/c ó~—tj|«}|D]#}|sŒt||||||«rŒtd|z«‚y)zsParse name=value entries from from lines of text in 'entries' into dictionary 'dict'. Blank lines are skipped.zmalformed section entry: %sN)r‡Úexpand_templatesr³r )Úentriesr¡r¬r­r®r¯r«s r-Ú parse_entriesr·DsH€ô×%Ñ% gÓ.€GÛˆÚ œ U¨D°'¸=Ø%4Ð6FõHäÐ9¸EÑAÓBÐ Bñr/có6—|jd|›dtj›�«t|j ««D]¹\}}t |«}|j dd«}t|«t|j««k7rd|zdz}|r-t|«t|j««k7rd|zdz}|€Œ‚|dz|z}|ddk(rd |z}|j|›tj›�«Œ»|jtj«y) z[Write parameters in 'dict' as in configuration file section format with section 'name'.Ú[Ú]r¥r¤Ú"Nrr�rƒ) ÚwriteÚwriterÚnewliner†rªÚstrr§r‘r©)r@r¡rbr±r²rfs r-Ú dump_sectionrÀOsã€ð‡G‚GšœfŸnšnÐ -Ô.Ü�T—Z‘Z“\Ö"‰ˆˆ1Ü �‹FˆØ �I‰I�c˜5Ó !ˆä ˆq‹6”S˜Ÿ™›“^Ò #Ø�a‘˜#‘ ˆAÙ ”�Q“œ3˜qŸw™w›y›>Ò)Ø�a‘˜#‘ ˆAØ ˆ9à à�C‘˜!‘ ˆAØ ˆQ‰4�3Š;Ø�q‘ˆAØ �‰™!œVŸ^š^Ð,Õ-ð#ð ‡G�GŒF�N‰NÕr/có‚—t|j««D]#\}}t|«std|z«‚|||<Œ%y)zFUpdate 'attrs' dictionary with parsed attributes in dictionary 'dict'.zillegal attribute name: %sN)r†rªrtr )rgr¡r±r²s r-Ú update_attrsrÂfs<€ä�T—Z‘Z“\Ö"‰ˆˆ1Ü�qŒzÜÐ8¸1Ñ<Ó=Ð =؈ˆaŠñ#r/cóT—t|vr<|jt«D]#}|j|j««€Œ#yyt|vr<|jt«D]#}|j|j««�Œ#yy|j|j««duS)a9 Check if the sequence of attributes is defined in dictionary 'dic'. Valid 'attrs' sequence syntax: Return True if single attribute is defined. ,,... Return True if one or more attributes are defined. ++... Return True if all the attributes are defined. NTF)ÚORrsr7r©ÚAND)rgÚdicÚas r-Úis_attr_definedrÈns‹€ô ˆU�{Ø—‘œR–ˆAØ�w‰w�q—w‘w“yÓ!Ñ-Ùð!ðÜ �‰Ø—‘œSÖ!ˆAØ�w‰w�q—w‘w“yÓ!Ñ)Ùð"ðà�w‰w�u—{‘{“}Ó%¨TÐ1Ð1r/có´—d„}|r|j«s|St||«}|stjd|z«gS|j«}t j d|«}|s.t j d|«}|st j d|«}|j d«j«}d}tjj|«sc|jd«}tjjd «} | r ||| |«}|s_tr||t|«}|sI||t|«}n:tjj|«r|}ntj!d |z«|rd |zd z|j d «z}|rA|j#d «rd tjd›d|›�}n|j#d«rd|z}tj%d|z«tj&dk(rt j(dd|«} t+j,|dt*j.t*j.¬«} | j1tj2j5|«j7d««dj9d«} | r;| jCtj2«D�cgc]}|jE«‘Œ} }ng} | jG«} | rtj!d|| fz«|r| stj!d|z«| S#t:$r't=d|›dt?j@«d›�«‚wxYwcc}w)z• Run 'lines' through the 'filter_cmd' shell command and return the result. The 'attrs' dictionary contains additional filter attributes. có—|rCtjj|d||«}tjj|«r|Stjj|d|«}tjj|«r|Sy)zxFind filter file 'fname' with style name 'name' in directory 'dir'. Return found file path or None if not found.ÚfiltersN)rQrRr8Úisfile)r@ÚdirÚfilterrns r-Ú findfilterz filter_lines..findfilter‹sb€ñ Ü—W‘W—\‘\ # y°$¸Ó?ˆFÜ�w‰w�~‰~˜fÔ%Ø� Ü—‘—‘˜c 9¨fÓ5ˆÜ �7‰7�>‰>˜&Ô !؈MØr/z)undefined filter attribute in command: %sz^"(?P[^"]+)"(?P.*)$z^'(?P[^']+)'(?P.*)$z^(?P\S+)(?P.*)$ÚcmdNÚstyleÚdocdirzfilter not found: %sr»Útailz.pyÚpythonz" z.rbzruby z filtering: Úntú "([^ ]+?)"ú\1T)ÚshellÚstdinÚstdoutúutf-8rzfilter error: rrrz*filter non-zero exit code: %s: returned %dzno output from filter: %s)$r©rŸr:Úerrorr<r=rŽrQrRrSr7r6rÚUSER_DIRrUrÌr ÚendswithÚverboser@ÚsubÚ subprocessÚPopenÚPIPEÚ communicateÚlinesepr8ÚencodeÚdecoderer ÚsysÚexc_inforsÚrstripÚwait)Ú filter_cmdÚlinesrgrÏrfr™rÐÚfoundÚ filternamerhÚpÚoutputrnÚ filter_statuss r-Ú filter_linesró†sÇ€ò ñ ˜Z×-Ñ-Ô/؈ ä�:˜uÓ%€AÙ Ü� ‰ ÐAÀJÑNÔO؈ Ø—‘“€Jô �‰Ð3°ZÓ @€BÙ ä �X‰XÐ7¸Ó DˆÙä—‘Ð7¸ÓDˆBØ �(‰(�5‹/× Ñ Ó !€CØ €EÜ �7‰7�?‰?˜3Ô à—Y‘Y˜wÓ'ˆ Ü × Ñ × #Ñ # HÓ -ˆÙ Ù˜z¨1¨cÓ2ˆEÙÝÙ" :¬x¸Ó=�ÙÙ" :¬x¸Ó=‘ä �7‰7�>‰>˜#Ô Ø‰Eä �O‰OÐ2°SÑ8Ô 9٠ؘ5‘[ 3Ñ&¨¯©°&Ó)9Ñ9ˆ Ù Ø �<‰<˜Õ Ü&.×&9Ñ&9¸(Ó&CÙ&0ð2‰Jà �\‰\˜%Ô Ø  :Ñ-ˆJä ‡O�O�M JÑ.Ô/Ü ‡w�w�$‚ô—V‘V˜M¨5°*Ó=ˆ ðRÜ × Ñ ˜Z¨tÜ#-§?¡?¼:¿?¹?ô Lˆà—‘œrŸz™zŸ™¨uÓ5×<Ñ<¸WÓEÓFÀqÑI×PÑPÐQXÓYˆñØ&,§l¡l´2·:±:Ô&>Ó?Ñ&> �!—(‘(•*Ð&>ˆÑ?àˆØ—F‘F“H€MÙÜ�‰ÐDÈ ÐTaÐGbÑbÔcÙ ‘VÜ�‰Ð3°jÑ@ÔAØ €Møô òRݲ*¼c¿l¹l»nÈQÒ>OÐPÓQÐQðRüò@sÈBL"Ê<MÌ"0McóØ —|r |›d|›d�}d}nd|›d|›d�}tj}|dvr#|rd|z}nd |z}tj|«y |r+t |«}|€tjd |›d |›�«y |}|d k7rtj d|z«t «r|dvrtj|«y d }|dvr) t|«}|durd}n|durd }n |� t|«}�nå|dv�rPd}tj«\} } tj| « |} | d| zz} |dk(r| dz} tjdk(rt!j"dd| «} tj d| z«tj$| «rtjd|z« tj&j)| «r4t+| d¬«5} | D�cgc]}|j-«‘Œ} }d d d «ng} |j1 «}tj&j)| «�r§tj2| «�n�|d!v�r_t!j4d"|«}|j7d#«}|j7d$«}|r?t!j4d%|«s)t9|«d&kDrtj|›d'|›�«y t;|«stjd(|z«y t<j>jA|«}|rvt!j4d%|«s)t9|«d&kDrtj|›d)|›�«y t!j4d%|«r|d*z}nd+|z} tt|««}n|r|}nd-}|t<j>|<|�|||<|d.k(�r0d}�n,|d/vr¡t!j4d0|«}|j7d#«}|j7d1«}|€d}|jCd2«r|d d3}d }t;|«stjd(|z«n|�|||<|d4k7r|t<j>|<|€d }�n‹d}�n‡|d5k(rÏtj&jE|«stjd6|z«�nItG|«stj|«�n't+|d¬«5} | D�cgc]}|j-«‘Œ}}d d d «|r "%s"rúz 2>&1rÕrÖr×z shelling: %sz%s: non-zero exit statusrÛ©Úencodingz%s: temp file read error)rþrÿz"^(?P[^:]*?)(:(?P.*))?$ÚattrÚseedú^\d+$rz: illegal counter seed: z%s: illegal attribute namez: illegal counter value: z+1zchr(ord("%s")+1)z: evaluation error: Ú1rÿ)rrz#^(?P[^:]*?)(:(?P.*))?$r°r¦r€rrüz%s: file does not existrz%s: template does not exist)rùrûÚ)-r½r¾r:r rŸrßrLr\rør¿reÚtempfileÚmkstemprQÚcloser@r<ràÚsystemrRrÌÚopenrêr r8Úremover=rŽr‘rtr6rr7rÞÚexistsrXÚ expandtabsÚreaderÚtabsizer‡rýÚsectionsrurÚ passthroughs)r@ÚargsÚis_macrorgÚsyntaxÚ separatorrCrfrnÚfdÚtmprÐrbrír™rrr°ÚexprÚlines r-r r Üs%€ñÚ#¢TÐ*ˆØ‰ ðò#¢DÐ)ˆÜ—N‘Nˆ Ø ðRñRá Ø1°DÑ8‰Cà5¸Ñ<ˆCÜ�‰˜ÔØÙÜ �tÓ ˆØ ˆ9Ü �OŠOÊÉdÐSÔ TØØˆØ ˆzÒÜ�‰Ð(¨6Ñ1Ô2Ü „v�$Ð5Ñ5Ü�‰�vÔØØ €FØ Ð Ñ ð =ܘ$“ZˆFؘ‰~ؘؑ5‘Ø‘ØÐ#ܘV›�ùð Ð(Ò (؈Ü×"Ñ"Ó$‰ˆˆCÜ �‰�Œ ð ØˆCؘ S™Ñ)ˆCØ�vŠ~ؘG‘m�Ü�w‰w˜$Šô—f‘f˜]¨E°3Ó7�Ü �O‰O˜N¨SÑ0Ô 1Ü�y‰y˜Œ~Ü—‘Ð :¸VÑ CÔDð EÜ—7‘7—>‘> #Ô&ܘc¨GÕ4¸Ù56Ó 7±Q° §¡¥°Q˜Ð 7÷5Ð4ð�Eð—^‘^ EÓ*ˆFä�w‰w�~‰~˜cÕ"Ü— ‘ ˜#–Ø Ð(Ò (Ü �X‰XÐ;¸TÓ BˆØ�x‰x˜ÓˆØ�x‰x˜ÓˆÙ œŸ™ (¨DÔ1´c¸$³iÀ!²mÜ �O‰OºfÁdÐKÔ LØÜ�tŒ}Ü �O‰OÐ8¸6ÑAÔ BØÜ×#Ñ#×'Ñ'¨Ó-ˆÙ Ü—8‘8˜H eÔ,´°U³¸a²Ü—‘Ú7=¹uÐEôðÜ�x‰x˜ %Ô(ؘt‘|‘à)¨EÑ1�ð MÜœT $›Z›‘ñØ‘à�Ø$*Œ×јDÑ!Ø Ð Ø ˆE�$‰KØ �:Ó ØŠFØ �Ñ Ü �X‰XÐ<¸dÓ CˆØ�x‰x˜ÓˆØ—‘˜Ó!ˆØ ˆ=؈EØ �=‰=˜Ô ؘ˜�9ˆD؈EÜ�tŒ}Ü �O‰OÐ8¸6ÑAÕ BàÐ Ø#��d‘ Ø�vŠ~Ø,1”×#Ñ# DÑ)Ø ˆ=ØŠFàŠFØ �Ò Ü�w‰w�~‰~˜dÔ#Ü �O‰OÐ5¸Ñ>Ö ?ܘdÔ#Ü �N‰N˜6Ö "ä�d WÕ-°Ù./Ó0©a¨˜!Ÿ(™(�*¨a�Ð0÷.áÜ# FÓ+�Ø"Ÿ™¨Ó/�Ø×*Ñ*¬6¯>©>Ó:‘à‘Ø �Ò Ø—‘¤§¡°Ñ 5Ó6‰Ø �Ò Ø ”v—‘Ñ &Ü �O‰OÐ9¸FÑBÕ CàˆFÜŸ™¨Ô-�Ü! $Ó'�ØÑ#Ø—M‘M $Õ'ð.ô—^‘^×(Ñ(¨Ó0‰FàˆuÙ �$Ð+Ñ+Ü×Ñ×"Ñ" 6Ô*Øœ#œc¤&×"5Ñ"5Ó6¸Ñ:Ó;Ñ;¸fÑDˆØ €Møôkò =Ü �O‰OÐ2°VÑ;Ö <ð =üò,!8÷5Ñ4ûôò EÜÐ :¸VÑ CÓDÐDð Eûô�w‰w�~‰~˜cÔ"Ü— ‘ ˜#•ð#ûô2ò MÜ—‘ºfÁdÐ K×Lð MüòN1÷.Ñ-ús‘Ã&X"ÄBY6Æ#,YÇYÇY Ç+YÇ- YÇ8Y6Í$Z0Ò6[Ò;[Ó[Ø"!YÙYÙ YÙYÙYÙY3Ù3Y6Ù67Z-Ú0#[Û[Û[Û[)c óÌ —d„}t|«tk(rd}|g}nd}|€tj}n¤i}t tjj ««D]!\}}t jd|«rŒ|||<Œ#t |j ««D]*\}}|€||=Œ tt|««}|€||=Œ&|||<Œ,|j|«g}|D�]Þ}|jdd«}|jdd «}t jd «} d } | j|| «} | sn…|j| jd ««} | €| j«} nQt| «} |d| j!«| z|| j«dz}| j!«t#| «z} Œšt jd «} t jdt$zt&zdz«}| |fD�]]} d } |jdd«}| j|| «} | sŒ.| j«}| jd «}| |k(rÏt$|vrt$}nt&}|j)|«D� cgc]#} | j+«sŒ| j+«‘Œ%}} |D]1}t jd|«rŒt,j/d|z«Œ3|t$k(r|D]}|j|«€Œd}n4d}n0|D]}|j|«�Œd}nd}n|j|«}| jd«}||| j!««}|| j!d«|dz }d}|€?|dk(r|} �n‰|dk(rd} �n€|dk(r|} �nw|dk(r|} �nn|dk(r|} �ne|dvr|} �n]Jd|z«‚|dk(r|} �nJ|dk(r|} �nA|dk(rd} �n8|dk(r|} �n/|dk(r|} �n&|dv�rt j(d|«}t#|«dvrt,j/d|z«d} nãt1j2d |d zd!z«st,j/d"|z«d} nª|D� cgc]} | jd#d$«‘Œ}} t jd |d zd!z|«}|d%k(r|r|d} n_t#|«d&k(r|d'} nKd} nH|r%t#|«d'k(r|d} n2|ddk(r|} n'|d} n!t#|«d'k(r|} n|d'} n Jd|z«‚t| «} |d| j!«| z||dz}|jdd«}| j!«t#| «z} �ŒYt jd(|«}|rt5d)|«�Œ t jd*«t jd+«g}d}|D]Õ} d } | j|| «} | sn·| jd,«}| jd-«}|jdd«}|jd d.«}t7|||¬/«} |�|d0vr|j|«| €d}nG|d| j!«| z|| j«dz}| j!«t#| «z} ŒÌ|sŒÕn|r�Œª|jdd«}|jd d.«}|j9|«�Œá|r|rd1j;|«Syt=|«Scc} wcc} w)2aìSubstitute 'lines' of text with attributes from the global document.attributes dictionary and from 'dictionary' ('dictionary' entries take precedence). Return a tuple of the substituted lines. 'lines' containing undefined attributes are deleted. If 'lines' is a string then return a string. - Attribute references are substituted in the following order: simple, conditional, system. - Attribute references inside 'dictionary' entry values are substituted. cóœ—||dk(sJ‚d}|}||dD]5}|t|«k(r|S|dk(r|dz}n |dk(r|dz }|dz}|dk(sŒ4|S|S)zMReturn index following end brace that matches brace at start in text.rõrNrr÷)r‘)r’r�ÚnrnÚcs r-Ú end_bracezsubs_attrs..end_brace�s‡€ð�E‰{˜cÒ!Ð!Ð!Ø ˆØˆØ�e�f“ˆAØœ˜T›Ò"Øðˆ ð�CŠxؘ‘E‘Ø�c’ؘ‘E�ؘa‘ZˆFØ�A‹vØØˆ ððˆ r/TFNrz\{z{\z\}z}\z&(?s)\{(?P[^\\\W][-\w]*?)\}(?!\\)rr@zL(?s)\{(?P[^\\\W][-\w]*?)(?P\=|\?|!|#|%|@|\$)(?P.*?)\}(?!\\)z(?s)\{(?P[^\\\W][-\wz2]*?)(?P\=|\?|!|#|%|@|\$)(?P.*?)\}(?!\\)z^[^\\\W][-\w]*$zillegal attribute syntax: %sr'Úopr°rz{zzzzz}r¥Ú?r¦r�Ú%)Ú@r|zillegal attribute: %sz(?eval):(?P.*?)\}(?!\\)z6(?s)\{(?P[^\\\W][-\w]*?):(?P.*?)\}(?!\\)rÚactionr÷)rg)rþrÿrrr5)Útyper¿r6rr†rªr<r=rŸrdr§rŠrŒr7rŽr�r�r‘rÄrÅrsr©r:rÜrÚis_rer1r rur8rl)ríÚ dictionaryr"Ú string_resultrgr±r²rnrr—r˜r™rfÚreo1Úreo2rr@ÚsepÚnamesr Úlvalr#r�ÚrvalÚ UNDEFINEDÚre_moÚskippedÚreosrr's r-rŸrŸ�sö€òô$ ˆEƒ{”cÒØˆ Ø�‰àˆ ØÐÜ×#Ñ#‰ðˆÜœ×,Ñ,×2Ñ2Ó4Ö5‰DˆAˆqÜ—8‘8˜H aÕ(Ø��a’ð6ô˜×)Ñ)Ó+Ö,‰DˆAˆq؈yؘq‘Mäœs 1›vÓ&�Ø�9Ø" 1™ à$%�J˜q’Mð-ð � ‰ �ZÔ à €F܈à�|‰|˜E 5Ó)ˆØ�|‰|˜E 5Ó)ˆô�j‰jÐBÓCˆØˆØØ—‘˜D #Ó&ˆBÙØØ— ‘ ˜"Ÿ(™( 6Ó*Ó+ˆA؈yØ—f‘f“h‘䘓F�ؘK˜RŸX™X›ZÐ(¨1Ñ,¨t°B·F±F³H°I¨Ñ>�Ø—h‘h“j¤3 q£6Ñ)�ðô�z‰zð &ó ˆô �z‰zØ )¬BÑ .´Ñ 4ð8&ñ &ó ˆð ˜$”<ˆC؈CØØ—|‘| E¨5Ó1�Ø—Z‘Z  cÓ*�ÙØØ—x‘x“z�Ø—x‘x Ó'�ؘ$’;ܘT‘zÜ ™ä!˜Ø04· ± ¸3´ÓM±¨1À1Ç7Á7Å9˜QŸW™W�Y°�EÐMÛ"˜Ü!Ÿx™xÐ(:¸AÕ>Ü#ŸM™MÐ*HÈ4Ñ*OÕPð#ðœb’yã!&˜AØ$Ÿy™y¨›|Ñ7Ø') Ù %ð"'ð $(™Dó"'˜AØ$Ÿy™y¨›|Ñ3Ø'+ Ù %ð"'ð $&™Dà Ÿ9™9 T›?�DØ—X‘X˜d“^�á  b§h¡h£jÓ1�ؘBŸH™H WÓ-¨c°A©gÐ6�Ø%� Ø�<ؘS’yØ šØ˜sšØšØ˜sšØ šØ˜sšØ%šØ˜sšØ šØ˜zÑ)Ø%šàDÐ&=ÀÑ&DÓD˜uà˜S’yØ šØ˜sšØ šØ˜sšØšØ˜sšØ šØ˜sšØ%šØ˜zÒ)ÜŸH™H [°$Ó7˜Ü˜q›6¨Ñ/Ü#ŸM™MÐ*HÈ4Ñ*OÔPØ "™AÜ!&§¡¨S°1°Q±4©Z¸#Ñ-=Ô!>Ü#ŸM™MÐ*HÈ4Ñ*OÔPØ "™Aá@AÓ BÁ¸1 §¡¨5°#Õ!6À˜AÐ BÜ$&§H¡H¨S°1°Q±4©Z¸#Ñ-=¸tÓ$D˜EØ! SšyÙ#(Ø()¨!©¡Aä'*¨1£v°¢{Ø,-¨a©D©à,.©á#(Ü'*¨1£v°¢{Ø,-¨a©D©Ø)*¨1©°ªØ,5©à,-¨a©D©ä'*¨1£v°¢{Ø,5©à,-¨a©D©àDÐ&=ÀÑ&DÓD˜uܘ“F�ؘK˜RŸX™X›ZÐ(¨1Ñ,¨t°C°D¨zÑ9�Ø—|‘| E¨5Ó1�Ø—h‘h“j¤3 q£6Ñ)�ñMð ôT—)‘)Ð;¸TÓBˆÙ Ü �. $Ô 'Ù ô �J‰JÐFÓ GÜ �J‰JÐPÓ Qð ˆðˆÛˆC؈CØØ—Z‘Z  cÓ*�ÙØØ—x‘x Ó'�ØŸ™ (Ó+�Ø—|‘| E¨5Ó1�Ø—|‘| E¨3Ó/�ܘ6 4¨zÔ:�ØÐ)¨fÐ8^Ñ.^à—L‘L Ô,Ø�9à"�GØØ˜K˜RŸX™X›ZÐ(¨1Ñ,¨t°B·F±F³H°I¨Ñ>�Ø—h‘h“j¤3 q£6Ñ)�ð#ò$Ùð+ó,ð—<‘<  uÓ-ˆDØ—<‘<  sÓ+ˆDØ �M‰M˜$Ö ð_ñ`Ù Ø—9‘9˜VÓ$Ð $àä�V‹}ÐùòQNùò|!CsÉ.[Ê[Ñ[!có†—eZdZdZdZdZd„Zd„Zed„«Z ed„«Z ed„«Z ed„«Z ed „«Z ed d „«Zy) ÚLexz>Lexical analysis routines. Static methods and attributes only.Ncó—td«‚©Nzno class instances allowed©ÚAssertionErrorr+s r-r.z Lex.__init__xó€ÜÐ9Ó:Ð:r/có—|SrErJr+s r-Ú__iter__z Lex.__iter__{s€Øˆ r/có0—dt_dt_yrE)r7Ú prev_elementÚ prev_cursorrJr/r-Ú reset_classzLex.reset_class~s€àŒÔØŒ�r/có4—tj«tj«rytjr1tj tj k(rtjStj«rt}�nmtj«rt}�nQtj«rtj«st}�n!tj«r%tj«dk(rt}nït}nètj«rtj }nÃt"j«rt"j }nžt$j«rt$j }nytj«rtj }nTt&j«rt&j }n/t(j«s t+d«‚t(j }tj t_|t_|S)a'Returns class of next element on the input (None if EOF). The reader is assumed to be at the first line following a previous element, end of file or line one. Exits with the reader pointing to the first line of the next element or EOF (leading blank lines are skipped).NÚfloatzparagraph expected)rÚskip_blank_linesÚeofr7r@rAÚcursorÚAttributeEntryÚisnextÚ AttributeListÚ BlockTitleÚ tables_OLDÚTitlerÑÚ FloatingTitlerÚcurrentÚlistsÚblocksÚtablesÚ paragraphsr ©rns r-Ú next_elementzLex.next_elementƒs>€ô ×ÑÔ!Ü �:‰:Œ<Øô × Ò ¤§¡´6·=±=Ò @Ü×#Ñ#Ð #Ü × Ñ Ô "Ü#ŠFÜ × !Ñ !Ô #Ü"ŠFÜ × Ñ Ô ¬×):Ñ):Ô)<ÜŠFÜ �\‰\Œ^Ü×"Ñ"Ó$¨Ò/Ü&‘ä‘Ü �]‰]Œ_Ü—^‘^‰FÜ �\‰\Œ^Ü—]‘]‰FÜ �]‰]Œ_Ü—^‘^‰FÜ × Ñ Ô Ü×'Ñ'‰FÜ �]‰]Œ_Ü—^‘^‰Fä×$Ñ$Ô&ÜÐ 4Ó5Ð5Ü×'Ñ'ˆFä Ÿ-™-ŒŒØ!ŒÔ؈ r/cóž—t|«dk(r>|ddk(rd}|S|ddk(rtj}|S|ddk(rtj}|S)z Translate composite subs values.rrrrJrr)r‘r‡Ú subsnormalÚ subsverbatim)rvs r-Úcanonical_subszLex.canonical_subs®sf€ô ˆw‹<˜1Ò Ø�q‰z˜VÒ#Ø�ð ˆð ˜‘˜xÒ'Ü ×+Ñ+�ðˆð˜‘˜zÒ)Ü ×-Ñ-�؈r/có"—|s|Stjjd«�d}|}tj |«}|D]Í}|dk(rt j |«}nž|dk(r t|«}n�|dk(r t|«}n||dk(rt j|«}na|dvrt j||«}nF|dk(rtj|«}n+|d k(rtj|d ¬ «}ntd |z«‚t|||«|rŒÌ|S|S) zAPerform substitution specified in 'options' (in 'options' order).Ú plaintext)rrrrr)rr r!rrT)rzillegal substitution option: %s)r6rr7r7rYr‡Úsubs_specialcharsrŸrœÚsubs_specialwordsÚsubs_replacementsrr2r r1)rfrvrnÚos r-Úsubs_1z Lex.subs_1ºs€ñ؈HÜ × Ñ × "Ñ " ;Ó /Ð ;Ø,ˆG؈Ü×$Ñ$ WÓ-ˆÛˆAØÐ'Ò'Ü×1Ñ1°&Ó9‘Ø�lÒ"Ü# FÓ+‘Ø�h’Ü$ VÓ,‘Ø�nÒ$Ü×1Ñ1°&Ó9‘ØÐHÑHÜ×1Ñ1°&¸!Ó<‘Ø�h’ÜŸ™ VÓ,‘Ø�j’ÜŸ™ V°d˜Ó;‘äÐ AÀAÑ EÓFÐFÜ �!�Q˜Ô ÚØØˆ ð)ð(ˆ r/có|—|r|s|Stj|«}dj|«}d|vrtj |«}|D]J}|dk(r,t |j d««}dj|«}Œ4tj||f«}ŒLd|vrtj|«}|j«S)zePerform inline processing specified by 'options' (in 'options' order) on sequence of 'lines'.r5rr) r7rYr8rÚextract_passthroughsrŸrsr`Úrestore_passthroughsÚ splitlines)rírvÚparar_s r-r2zLex.subsÙs²€ñ™G؈LÜ×$Ñ$ WÓ-ˆà�y‰y˜ÓˆØ �wÑ Ü×.Ñ.¨tÓ4ˆDÛˆAØ�LÒ ô# 4§:¡:¨dÓ#3Ó4�Ø—y‘y Ó'‘ä—z‘z $¨¨Ó-‘ðð �wÑ Ü×.Ñ.¨tÓ4ˆDØ�‰Ó Ð r/cóò—t|«}t|d«}|D].}tjd|«j «}||ksŒ-|}Œ0t t|««D]}d|z|||dz||<Œ|S)zbUtility routine that sets the left margin to 'margin' space in a block of non-blank lines.rz\SÚ N)r†r‘r<rŒr�Úrange)ríÚmarginÚwidthrfr”s r-Ú set_marginzLex.set_marginðs€€ô �U“ ˆÜ�E˜!‘H“ ˆÛˆAÜ— ‘ ˜% Ó#×)Ñ)Ó+ˆAØ�5‹yØ‘ðô ”s˜5“zÖ"ˆAؘV‘| e¨A¡h¨u¨vÐ&6Ñ6ˆE�!ŠHð#àˆ r/)r)rFrGrHrIr@rAr.r>Ú staticmethodrBrUrYr`r2rkrJr/r-r7r7ss’„ÙHØ€LØ€Kò;òðñóððñ(óð(ðTñ óð ðñóðð<ñ!óð!ð,ò óñ r/r7cóŒ—eZdZd„Zd„Zeee«Zd„Zd„Zeee«Z d„Z dd„Z d„Z d „Z edd „«Zd „Zd „Zd „Zd„Zy)ÚDocumentcó8—|jjd«S©NÚdoctype©rr7r+s r-Ú getdoctypezDocument.getdoctypeó€Ø�‰×"Ñ" 9Ó-Ð-r/có"—||jd<yrp)r)r,rqs r-Ú setdoctypezDocument.setdoctype s€Ø%,ˆ�‰˜ Ò"r/có8—|jjd«S)NÚbackendrrr+s r-Ú getbackendzDocument.getbackendrtr/cód—|r|jjd|z|«}||jd<y)Nzbackend-alias-rxrr)r,rxs r-Ú setbackendzDocument.setbackends/€Ù Ø—o‘o×)Ñ)Ð*:¸WÑ*DÀgÓNˆGØ%,ˆ�‰˜ Ò"r/cóv—d|_d|_t«|_d|_d|_d|_d|_y©NrF)rPÚoutfiler rÚlevelÚ has_errorsÚ has_warningsrLr+s r-r.zDocument.__init__s7€ØˆŒ ؈Œ Ü)Ó+ˆŒØˆŒ ؈ŒØ!ˆÔ؈� r/NcóÀ—tj«}tj|«\|jd<|jd<d|jd<t|jd<t |jd<t |jd<tjrd|jd <|r|jj|«|jjtj«|rtj|«tjtj«tj|jd <|j��¼|jrStjj!|j«r*tjj#|j«}n&|jd k(rtj«}nd }|r2tj|«\|jd <|jd<|jd k7rô|j|jd<tjj%|j«|jd<|j|jd<tjj%|j«|jd<tjj'tjj)|j««d|jd<|j*�r>|j*dk7rä|j*|jd<tjj%|j*«|jd<|jd k(rVtjj'tjj)|j*««d|jd<tjj'|j*«ddd }n&tj,rtj,dd }nd}|r"||jd<d|jd|z<y y y )zD Set implicit attributes and attributes in 'attrs'. Ú localdateÚ localtimeÚasciidoczasciidoc-modulezasciidoc-versionúasciidoc-confdirzuser-dirr'rßr¾NrNÚdocdateÚdoctimerPÚindirÚdocfilerÒrÚdocnameúr~ÚoutdirrÚfiletypez filetype-)ÚtimerÚ date_time_strrÚVERSIONrUrÝr‡rßrdÚ cmd_attrsÚload_miscellaneousr¾rPrQrRrÚgetmtimerSÚsplitextÚbasenamer~Ú outfilesuffix)r,rgÚtÚexts r-Úupdate_attributeszDocument.update_attributes!s€ô �I‰I‹KˆÜEJ×EXÑEXÐYZÓE[ÑBˆ�‰˜ Ñ$ d§o¡o°kÑ&BØ-7ˆ�‰Ð)Ñ*Ü.5ˆ�‰Ð*Ñ+Ü.6ˆ�‰Ð*Ñ+Ü&.ˆ�‰˜ Ñ#Ü �>Š>Ø)+ˆD�O‰O˜IÑ &á Ø �O‰O× "Ñ " 5Ô )à �‰×Ñœv×/Ñ/Ô0á Ü × %Ñ % eÔ ,Ü×!Ñ!¤&×"2Ñ"2Ô3Ü%+§^¡^ˆ�‰˜ Ñ"à �;‰;Ñ "Ø�{Š{œrŸw™wŸ~™~¨d¯k©kÔ:Ü—G‘G×$Ñ$ T§[¡[Ó1‘Ø—‘  Ò)Ü—I‘I“K‘à�ÙÜIN×I\ÑI\Ð]^ÓI_ÑF�—‘  Ñ*¨D¯O©O¸IÑ,FØ�{‰{˜iÒ'Ø,0¯K©K�—‘ Ñ)Ü+-¯7©7¯?©?¸4¿;¹;Ó+G�—‘ Ñ(Ø-1¯[©[�—‘  Ñ*Ü,.¯G©G¯O©O¸D¿K¹KÓ,H�—‘ Ñ)Ü-/¯W©W×-=Ñ-=Ü—G‘G×$Ñ$ T§[¡[Ó1ó.3Ø34ñ.6�—‘  Ñ*à �<‹<Ø�|‰|˜zÒ)Ø-1¯\©\�—‘  Ñ*Ü,.¯G©G¯O©O¸D¿L¹LÓ,I�—‘ Ñ)Ø—;‘; )Ò+Ü13·±×1AÑ1AÜŸ™×(Ñ(¨¯©Ó6ó28Ø89ñ2;�D—O‘O IÑ.ä—g‘g×&Ñ& t§|¡|Ó4°QÑ7¸¸Ð;‘Ü×%Ò%Ü×*Ñ*¨1¨2Ð.‘à�ÙØ.1�—‘  Ñ+Ø57�—‘  ¨cÑ 1Ò2ðð r/có—|jjd«}|€d}nd|zdz}tj|«r||jd<y|€tj d|zd¬«ytj d |z«y) z3 Load language configuration file. ÚlangNz lang-en.confzlang-ú.confzmissing conf file: %sT©Úhaltzmissing language conf file: %s)rr7r‡Úload_from_dirsr:rÜr )r,rœÚfilenames r-Ú load_langzDocument.load_langXsy€ð�‰×"Ñ" 6Ó*ˆØ ˆ<Ø%‰Hà ‘~¨Ñ/ˆHÜ × Ñ  Ô *Ø&*ˆD�O‰O˜FÒ #àˆ|ä— ‘ Ð5¸Ñ@Àt� ÕLä—‘Ð @À8Ñ KÕLr/cóä—|jj|«€9|jj|«�|j||j|<yy|j||j|<y)zl Ensures the 'old' name of an attribute that was renamed to 'new' is still honored. Nrr)r,ÚoldÚnews r-Úset_deprecated_attributez!Document.set_deprecated_attributejsc€ð �?‰?× Ñ ˜sÓ #Ð +Ø�‰×"Ñ" 3Ó'Ð3Ø'+§¡°sÑ';�—‘ Ò$ð4ð$(§?¡?°3Ñ#7ˆD�O‰O˜CÒ r/có~—d}d}|�s5d}|rtj«s|Stj«r>dtjj vr"d}d}tjj «|rtj«s|Stj«r?tjjdk(r"d}d}tjj «|sXtj«rd}d}tj «tj«rd}d}tj «|s�Œ5|S)z± Returns True if one or more attributes or comments were consumed. If 'noblanks' is True then consummation halts if a blank line is encountered. FTÚskipÚcomment) rÚ read_nextrQrIrOrvÚ translaterr@rHrJ)Ú comments_onlyÚnoblanksrnÚfinisheds r-Úconsume_attributes_and_commentsz(Document.consume_attributes_and_commentsus÷€ðˆØˆÚ؈HÙ¤× 0Ñ 0Ô 2Ø� Ü�}‰}Œ 6¬V¯^©^×-CÑ-CÑ#CØ�Ø �Ü—‘×(Ñ(Ô*Ù¤× 0Ñ 0Ô 2Ø� Ü�}‰}Œ¤6§>¡>×#6Ñ#6¸)Ò#CØ�Ø �Ü—‘×(Ñ(Ô*Ù Ü!×(Ñ(Ô*Ø!�FØ$�HÜ"×,Ñ,Ô.Ü ×'Ñ'Ô)Ø!�FØ$�HÜ!×+Ñ+Ô-ó-ð.ˆ r/cóÆ—|jdk(sJ‚|j«|�||_n|j€ t|_tj «xr,tjdk(xrt j«dk7}|jdk(r|stjdd¬«|rtj«|jjtj«|j!dd«|j!d d «|�||_|�||_n)|j"€ t$|_n|j"|_|jd vsJd «‚|S) al Parses header, sets corresponding document attributes and finalizes document doctype and backend properties. Returns False if the document does not have a header. 'doctype' and 'backend' are the doctype and backend option values passed on the command-line, None if no command-line option was not specified. rrDÚmanpagez#manpage document title is mandatoryTržÚrevisionÚ revnumberÚdateÚrevdate)rr±Úbookúillegal document type)rr¯rqÚDEFAULT_DOCTYPErMrIrJrÑr:rÜÚHeaderÚparserrdr‡r’r¦rxÚDEFAULT_BACKEND)r,rqrxÚ has_headers r-Ú parse_headerzDocument.parse_header—s%€ð�z‰z˜QŠÐˆà ×,Ñ,Ô.Ø Ð à"ˆD�LØ �\‰\Ð !ä*ˆDŒLä—l‘l“nÒ^¬¯©¸Ñ)9Ò^¼m×>QÑ>QÓ>SÐW^Ñ>^ˆ Ø �<‰<˜9Ò $©ZÜ �M‰MÐ?ÀdˆMÔ KÙ Ü �L‰LŒNà �‰×Ñœv×/Ñ/Ô0à ×%Ñ% j°+Ô>à ×%Ñ% f¨iÔ8Ø Ð à"ˆDŒLØ Ð à"ˆD�LØ �\‰\Ð !ä*ˆD�Lð Ÿ<™<ˆDŒLØ�|‰|Ð=Ñ=ÐVÐ?VÓVÐ=ØÐr/có —|jdk(�rÓtj«turtj d«�n¢tj «tjdk7rtj d«ttj«t«stj d«tjd«}dj|«}tjd|«}|stj d«|jd «j!«|j"d <|jd «j!«|j"d <|j"d j%d «D�cgc]}|j!«‘Œ}}t'|«d kDrtj)d «t+|«D]\}}||j"d|dzz<Œ|�rhtj-|j"d«|j"d<t.j0r-t.j3di«}t4j7|d¬«d|j"vr |j"d=|j9«|jdvrvtj«tu�r#t.j;d«\} } t4j7| d¬«t<j?«t4j7| d¬«nÈ|jdk(r¹dt.j@vr§t4j7t.j3di«d¬«n{|jC«t.j0r-t.j3di«}t4j7|d¬«tj«turt<j?«tjE«sNtj«tur tGd«‚t<j «tjE«sŒNt<jId«t.j0r.t.j3di«} t4j7| d¬«yycc}w)Nr±zname section expectedrz%name section title must be at level 1zmalformed name section bodyz^$rgz+^(?P.*?)\s+-\s+(?P.*)$ÚmannameÚ manpurposer"é ztoo many manpage namesz manname%dÚdoctitleÚheader©r1Útitle)rr¶Úpreamblez preamble openzpreamble closer@zsection title expectedrÚfooter)%rqr7rUrMr:rÜr«rÚ isinstanceÚ ParagraphrÚ read_untilr8r<r=rŽr©rrsr‘r Ú enumerateÚdosubsr‡Ú header_footerÚ subs_sectionr½r¼r¯Ú section2tagsÚSectionÚtranslate_bodyrÚprocess_author_namesrFr Úsetlevel) r,r¼rírfr™r/r”r@Úhdrršr›Úftrs r-r«zDocument.translateÄs>€Ø �<‰<˜9Ó $ä×ÑÓ!¬Ñ.Ü— ‘ Ð5Ö6ä—‘Ô!Ü—;‘; !Ò#Ü—M‘MÐ"IÔJÜ!¤#×"2Ñ"2Ó"4´iÔ@Ü—M‘MÐ"?Ô@Ü×)Ñ)¨%Ó0�Ø—H‘H˜U“O�Ü—X‘XÐLÈaÓP�ÙÜ—M‘MÐ"?Ô@Ø-/¯X©X°iÓ-@×-FÑ-FÓ-H�—‘  Ñ*Ø02·±¸Ó0F×0LÑ0LÓ0N�—‘  Ñ-Ø,0¯O©O¸IÑ,F×,LÑ,LÈSÔ,QÓRÑ,Q q˜Ÿ™�Ð,Q�ÐRÜ�u“: ’>Ü—O‘OÐ$<Ô=Ü(¨Ö/‘G�A�tØ=A�D—O‘O K°1°q±5Ñ$9Ò:ð 0â ä*/¯,©,°t·±ÀzÑ7RÓ*SˆD�O‰O˜JÑ 'Ü×#Ò#Ü×)Ñ)¨(°BÓ7�Ü— ‘ ˜S¨� Ô1ؘ$Ÿ/™/Ñ)Ø—O‘O GÐ,Ø × 0Ñ 0Ô 2Ø�|‰|Ð2Ñ2ô×#Ñ#Ó%¬UÒ2Ü!'×!4Ñ!4°ZÓ!@‘J�D˜$Ü—L‘L ¨_�LÔ=Ü×*Ñ*Ô,Ü—L‘L Ð-=�LÕ>Ø—‘ Ò*¨v¼¿¹Ñ/HÜ— ‘ œV×0Ñ0°¸Ó<ÀF� ÕKà × %Ñ %Ô 'Ü×#Ò#Ü×)Ñ)¨(°BÓ7�Ü— ‘ ˜S¨� Ô1Ü×ÑÓ!¬Ñ.Ü×&Ñ&Ô(ä—*‘*”,Ü×ÑÓ!¬Ñ.ÜÐ 8Ó9Ð9Ü × Ñ Ô ô—*‘*•,ô ×јÔä × Ò Ü×%Ñ% h°Ó3ˆCÜ �L‰L˜ HˆLÕ -ð ùòMSsÆRcóú—|j}|j«}tjd|«}|s|r||d<y|j d«}|j d«r#|j d«}|j d«}nd}|j d«}|j dd«}|r|j dd«}|r|j dd«}|j d «}|r||d<|r||d <|r||d <|r||d <y) z) Return False if the author is malformed.z]^(?P[^<>\s]+)(\s+(?P[^<>\s]+))?(\s+(?P[^<>\s]+))?(\s+<(?P\S+)>)?$Ú firstnameNÚname1Úname3Úname2Ú_rgÚemailÚ middlenameÚlastname)rr©r<r=rŽr§)r,rfrgr™r×rÝrÞrÜs r-Ú parse_authorzDocument.parse_authors €à—‘ˆØ �G‰G‹IˆÜ �X‰Xð1ð34ó5ˆñáØ%&��kÑ"Ø Ø—H‘H˜WÓ%ˆ Ø �8‰8�GÔ ØŸ™ 'Ó*ˆJØ—x‘x Ó(‰HàˆJØ—x‘x Ó(ˆHØ×%Ñ% c¨3Ó/ˆ Ù Ø#×+Ñ+¨C°Ó5ˆJÙ Ø×'Ñ'¨¨SÓ1ˆHØ—‘˜Ó!ˆÙ Ø!*ˆE�+Ñ Ù Ø",ˆE�,Ñ Ù Ø (ˆE�*Ñ Ù Ø"ˆE�'‰NØr/cóÚ—|j}|jdd«}|jdd«}|jdd«}|jd«}|jd«}|r=|s;|s9|s7|j|«|jdd«|d<|j «y |s1|›d|›d|›�}|j «}t jd d|«}|s!|d d |d d z|d d z}|j«}|||||g}t|«D]*\}} tj| «} t| «} | ||<Œ,|\}}}}}|r||d<|r||d<|r||d<|r||d<|r||d<|rd|d <y y ) z1 Calculate any missing author related attributes.r×r'rÝrÞÚauthorÚauthorinitialsrÛrgNz\s+rÚauthored) rr7rßr§rÒr©r<ràÚupperrËr‡r\rŸ) r,rgr×rÝrÞráÚinitialsr/r”r²s r-rÒzDocument.process_author_names$s™€à—‘ˆØ—I‘I˜k¨2Ó.ˆ Ø—Y‘Y˜|¨RÓ0ˆ Ø—9‘9˜Z¨Ó,ˆØ—‘˜8Ó$ˆØ—9‘9Ð-Ó.ˆÙ ™9© ±hØ × Ñ ˜fÔ %Ø$Ÿn™n¨S°#Ó6ˆE�(‰OØ × %Ñ %Ô 'Ø ÙÚ#,ªj¹(ÐCˆFØ—\‘\“^ˆFÜ—V‘V˜F C¨Ó0ˆFÙØ! " 1˜ ¨ °2°A¨Ñ6¸À"À1¸ÑEˆHØ—~‘~Ó'ˆHؘJ¨°&¸(ÐCˆÜ˜eÖ$‰DˆAˆqÜ×(Ñ(¨Ó+ˆAܘ1“ ˆA؈E�!ŠHð%ð=BÑ9ˆ �:˜x¨°Ù Ø!*ˆE�+Ñ Ù Ø",ˆE�,Ñ Ù Ø (ˆE�*Ñ Ù Ø$ˆE�(‰OÙ Ø&.ˆEÐ"Ñ #Ù Ø "ˆE�*Ò ð r/rE)FF)rFrGrHrsrvÚpropertyrqryr{rxr.ršr¢r¦rlr¯r½r«rßrÒrJr/r-rnrnsr„ò.ò-á�z :Ó.€Gò.ò-ñ�z :Ó.€Gòó58ònMò$ 8ðòóðòB+òZ:.òx"óH%#r/rncó.—eZdZdZdZdZd„Zed„«Zy)r¹ú#Static methods and attributes only.zC^(\D*(?P.*?),)?(?P.*?)(:\s*(?P.*))?$zM^\$Id: \S+ (?P\S+) (?P\S+) \S+ (?P\S+) (\S+ )?\$$có—td«‚r9r:r+s r-r.zHeader.__init__Qr<r/có—tj«turtjdk(sJ‚tj }tj d¬«tj d|d<tjd¬«tj«}d}|rútj«}tjtj|«}|sªtj|«tjd¬«tj«rktj«}t!|«}|rJtjtj|«}|s$tjtj"|«}tjd¬«|j%d«}|r$tjtj|«}|�rU|j'd«}|r|j)«|d<|j+«j%d«}|rd |vrtj|«|j+«j%d «}|�¡|g}tj«rOtjd¬«rn8|j-tj««tj«rŒOtj/|d g«}d j1|«j)«}||d <|j'd «}|r|j)«|d <n |s|r|d|d <tj3«tj4dk(r½tjd|d«}|st6j9d«y|j'd«j)«}t!|«}|€t6j9d«||j;«k(r|j=«}||d<|j'd«j)«|d<yy)NrT)ÚskipsubsrÅrÂ)r­r³rár×Ú revremarkrr5rµr‡r±z'^(?P.*)\((?P.*)\)$zmalformed manpage titleÚmantitlez$undefined attribute in manpage titleÚ manvolnum)r7rUrMrr6rr«r¯rrªÚreadr<r=r¹Ú RCS_ID_RErßrŸÚ REV_LINE_REr7rŽr©Ú groupdictrur2r8rÒrqr:rÜräÚlower)rgrfr™r³rárìrµrís r-rºz Header.parseTs)€ä×ÑÓ!¤UÑ*¬u¯{©{¸aÒ/?Ð?Ð?Ü×#Ñ#ˆä �‰ ˆÔ&Ü!×,Ñ,¨WÑ5ˆˆjÑÜ×0Ñ0¸$Ð0Ô?Ü × Ñ Ó ˆØ ˆÙ ô— ‘ “ ˆAÜ—‘œ&×*Ñ*¨AÓ.ˆBÙÜ×%Ñ% aÔ(Ü×8Ñ8À$Ð8ÔGÜ×#Ñ#Ô%ôŸ ™ › �AÜ" 1› �AÙÜŸX™X¤f×&6Ñ&6¸Ó:˜Ù!Ü!#§¡¬&×*<Ñ*<¸aÓ!@˜BÜ × 4Ñ 4¸dÐ 4Ô CØ �I‰I�kÓ "ˆÙ Ü—‘œ&×*Ñ*¨AÓ.ˆBÚ ØŸ™ Ó-ˆIÙØ%.§_¡_Ó%6��kÑ"Ø—\‘\“^×'Ñ'¨Ó1ˆFÙ˜+¨UÑ2Ü×%Ñ% fÔ-ØŸ ™ ›×*Ñ*¨;Ó7ˆIØÐ$Ø&˜K� ä×&Ñ&Ô(Ü×?Ñ?ÈÐ?ÔNØØ×$Ñ$¤V§[¡[£]Ô3ô×&Ñ&Õ(ô ŸH™H Y°° Ó;� Ø ŸI™I iÓ0×6Ñ6Ó8� Ø%.��kÑ"Ø—h‘h˜yÓ)ˆGÙØ#*§=¡=£?��iÒ Ù™ià#(¨Ñ#3��iÑ Ü×%Ñ%Ô'Ü × Ñ ˜yÒ (ä—‘ÐDØ  Ñ+ó-ˆBáÜ— ‘ Ð7Õ8àŸ8™8 JÓ/×5Ñ5Ó7�Ü% hÓ/�ØÐ#Ü—M‘MÐ"HÔIà˜xŸ~™~Ó/Ò/Ø'Ÿ~™~Ó/�HØ$,��jÑ!Ø%'§X¡X¨kÓ%:×%@Ñ%@Ó%B��kÒ"ð )r/N) rFrGrHrIrñrðr.rlrºrJr/r-r¹r¹Ls,„Ù-ØX€KØ`€Iò;ðñFCóñFCr/r¹có^—eZdZdZdZdZdZdZdZiZ d„Z e d„«Z e d„«Z e d„«Zy)rHrèNcó—td«‚r9r:r+s r-r.zAttributeEntry.__init__§r<r/cóˆ—dt_dt_dt_dt_dt_it_yrE)rHÚpatternr2r@rÚr°rrJr/r-rBzAttributeEntry.reset_classªs2€à!%ŒÔØ"ŒÔØ"ŒÔØ#ŒÔØ#ŒÔØ$&ŒÕ!r/có—d}tjsAtjj d«}|st j d«|t_tj«}|r¡tjtj|«}|r{|jd«t_ |jd«t_ |jd«xsdt_tjj«t_d}|S) NFzattributeentry-patternz3[attributes] missing 'attributeentry-pattern' entryÚattrnameÚ attrname2Ú attrvaluer'T)rHr÷r6rr7r:rÜrrªr<r=rŽr@rÚr°r©)rnÚpatrr™s r-rIzAttributeEntry.isnext³s€àˆÜ×%Ò%Ü×%Ñ%×)Ñ)Ð*BÓCˆCÙÜ— ‘ ÐSÔTØ%(ŒNÔ "Ü×ÑÓ!ˆÙ ä—‘œ.×0Ñ0°$Ó7ˆBÙØ&(§h¡h¨zÓ&:”Ô#Ø')§x¡x° Ó'<”Ô$Ø')§x¡x° Ó'<Ò'BÀ”Ô$Ü'5×';Ñ';×'AÑ'AÓ'C”Ô$Ø�؈ r/cóV—tj«tusJ‚t}tj «|j j d«rhtj«snS|j ddtj «j«z|_|j j d«rŒh|j�×|jdk7rŸi}|jdvr-|jddk(r|jg||j<n)|j›d|j ›�g||j<tj|«tjtj«y|j gtj|j<y|jddk(r|jdd|_ d|_t!j"dd|j«j%«|_ |jtj&vr|jdvry|j ��t!j(d |j «}|r-|j+d «|_|j+d «|_n%t.j0j3d d «|_t5|j,t6d«|_tj-|j f|j,«|_t8j:j=|j «|_|j t.j0|j<n7|jt.j0vrt.j0|j=|j |j0|j<y)Nz +r€r')rÚ miscellaneousr¦r¥z[^\w\-_])r1Únumberedz%^pass:(?P.*)\[(?P.*)\]$rgr°zattributeentry-subszspecialcharacters,attributeszillegal substitution option)r7rUrHrrïr°rÞrªr©rÚr@r‡Ú load_sectionsr“Ú conf_attrsrr<ràrór’r=rŽr2r6rr7ryÚ SUBS_OPTIONSr½r¾r8)rÚsectionr™s r-r«zAttributeEntry.translateÇs™€ä×ÑÓ!¤^Ñ3Ð3Ð3܈Ü� ‰ Œ Ø�j‰j×!Ñ! $Ô'Ü×#Ñ#Ô%ØØŸ™ C R˜¬6¯;©;«=×+>Ñ+>Ó+@Ñ@ˆDŒJð�j‰j×!Ñ! $Õ'ð �:‰:Ð !à�z‰z˜RÒà�à—9‘9Ð ?Ñ?ÀDÇJÁJÈrÁNÐVYÒDYØ*.¯*©*¨�G˜DŸI™IÒ&à59·Z³ZÀÇÂÐ*LÐ)M�G˜DŸI™IÑ&Ü×$Ñ$ WÔ-Ü×)Ñ)¬&×*;Ñ*;Õ<ð/3¯j©j¨\”—‘ § ¡ Ò*ð�y‰y˜‰} Ò#à ŸI™I c r˜N�” Ø!�” 䟙˜{¨B°· ± Ó:×@Ñ@ÓBˆDŒIà�y‰yœF×,Ñ,Ñ,ØŸ ™ Ð)>Ñ>Øà�z‰zÑ%Ü—X‘XÐFÈÏ É ÓS�Ùà "§¡¨Ó 1�D”IØ!#§¡¨'Ó!2�D•Jô!)× 3Ñ 3× 7Ñ 7Ð8MØ8Vó!X�D”Iä)¨$¯)©)´\Ø*GóI�” ä ŸX™X t§z¡z m°T·Y±YÓ?�” Ü#Ÿ^™^×0Ñ0°·±Ó<�” Ø15·±”×#Ñ# D§I¡IÒ.Ø—‘œh×1Ñ1Ñ1Ü×'Ñ'¨¯ © Ð2Ø)-¯©ˆD�O‰O˜DŸI™IÒ &r/)rFrGrHrIr÷r2r@rÚr°rr.rlrBrIr«rJr/r-rHrHžsd„Ù-Ø€GØ €DØ €DØ €EØ €EØ€Jò;ðñ'óð'ðñóðð&ñ64óñ64r/rHcó–—eZdZdZdZdZiZd„Zed„«Z ed„«Z ed„«Z ed„«Z ed„«Z ed „«Zeifd „«Zy) rJrèNcó—td«‚r9r:r+s r-r.zAttributeList.__init__r<r/cóF—dt_dt_it_yrE)rJr÷r=rgrJr/r-rBzAttributeList.reset_class s€à $Œ ÔØ"Œ ÔØ Œ Õr/cóŠ—dtjvrtjd«tjdt_y)Nzattributelist-patternz2[attributes] missing 'attributelist-pattern' entry)r6rr:rÜrJr÷rJr/r-Ú initializezAttributeList.initializes1€à "¬(×*=Ñ*=Ñ =Ü �M‰MÐNÔ OÜ (× 3Ñ 3Ð4KÑ LŒ Õr/cóœ—d}tj«}|r3tjtj |«}|r |t_d}|S)NFT)rrªr<r=rJr÷©rnrr™s r-rIzAttributeList.isnextsC€àˆÜ×ÑÓ!ˆÙ Ü—‘œ-×/Ñ/°Ó6ˆBÙØ&(” Ô#Ø�؈ r/cóº—tj«tusJ‚tj «i}tj j «}t|j««D];\}}|€Œ |dk(rt|«}|sŒt||«Œ)|tj|<Œ=tj|«tjj|«y)Nr„)r7rUrJrrïr=ròr†rªrŸrrgr2rd)rgrhr±r²s r-r«zAttributeList.translate!s©€ä×ÑÓ!¤]Ñ2Ð2Ð2Ü� ‰ Œ ØˆÜ × Ñ × )Ñ )Ó +ˆÜ˜Ÿ™›–O‰DˆAˆq؉}ؘ ’?Ü" 1› �AÚÜ(¨¨EÕ2à-.”M×'Ñ'¨Ò*ð$ô ×ј5Ô!Ü×Ñ×"Ñ" 5Õ)r/cóú—tjd«}t|j««D]J\}}|j t |««sŒ!t j|ddtj«||<ŒLy)z3Substitute single quoted attribute values normally.z^'.*'$rr€N) r<rŠr†rªr=r¿r7r`r‡rW)rgr—r±r²s r-r2zAttributeList.subs2s[€ô�j‰j˜Ó#ˆÜ˜Ÿ™›Ö'‰DˆAˆqØ�y‰yœ˜Q›Õ ÜŸ:™: a¨¨" g¬v×/@Ñ/@ÓA��a’ñ(r/có‚—tjjd«xstjjd«S)NrÑr)rJrgr7rJr/r-rÑzAttributeList.style:s/€ä×"Ñ"×&Ñ& wÓ/ÒO´=×3FÑ3F×3JÑ3JÈ3Ó3OÐOr/có—tjrO|jtj«it_d|vr t|ddd«}|D] }d||dz<Œ yyy)zsd€ô × Ò Ø �H‰H”]×(Ñ(Ô )Ø"$ŒMÔ à˜A‰~Ü'¨¨)© °bÐ:OÓP�Û%�FØ,.�A�f˜yÑ(Ò)ñ&ðð r/)rFrGrHrIr÷r=rgr.rlrBrrIr«r2rÑrrJr/r-rJrJs®„Ù-Ø€GØ €EØ €Eò;ðñ!óð!ð ñMóðMð ñóððñ*óð*ð ñBóðBðñPóðPðØò /óñ /r/rJcób—eZdZdZdZdZd„Zed„«Zed„«Z ed„«Z eifd„«Z y)rKrèNcó—td«‚r9r:r+s r-r.zBlockTitle.__init__Pr<r/có0—dt_dt_yrE)rKrÅr÷rJr/r-rBzBlockTitle.reset_classSs€àŒ ÔØ!Œ Õr/cóº—d}tj«}|rBtjtj |«}|r|j d«t_d}|S)NFrÅT)rrªr<r=rKr÷rŽrÅr s r-rIzBlockTitle.isnextXsL€àˆÜ×ÑÓ!ˆÙ Ü—‘œ*×,Ñ,¨dÓ3ˆBÙØ#%§8¡8¨GÓ#4” Ô Ø�؈ r/cóž—tj«tusJ‚tj «t j stjt _tj tjft j «}tjj|«}|stjd«|t_ y)Nzblank block title)r7rUrKrrïrMr2r‡rWrÅr½r¾r8r:r r~s r-r«zBlockTitle.translatecs€ä×ÑÓ!¤ZÑ/Ð/Ð/Ü� ‰ Œ ä�zŠzÜ×*Ñ*ŒEŒJÜ �H‰H”j×&Ñ&Ð(¬%¯*©*Ó 5ˆÜ �N‰N× Ñ  Ó "ˆÙÜ �O‰OÐ/Ô 0ØŒ Õr/cób—tjrtj|d<dt_yy)z>If there is a title add it to dictionary 'd' then reset title.rÅN)rKrÅ)rhs r-rzBlockTitle.consumeps)€ô × Ò Ü#×)Ñ)ˆAˆg‰JØ#ŒJÕ ð r/) rFrGrHrIrÅr÷r.rlrBrIr«rrJr/r-rKrKKsg„Ù-Ø €EØ€Gò;ðñ"óð"ðñóððñ óð ðØò$óñ$r/rKcóà—eZdZdZdZdZdZdZiZdZ dge e«zZ iZ dZ d„Zed„«Zedd„«Zed „«Zed „«Zed „«Zed „«Zed „«Zed„«Zed„«Zy)rMzLProcesses Header and Section titles. Static methods and attributes only.)z==z--z~~z^^z++rJNrcó—td«‚r9r:r+s r-r.zTitle.__init__†r<r/cóê—dt_dt_dt_it_dt_dgt tj«zt_it_ dt_ y)NrJr) rMr2r÷rrÚsectnamer‘Ú underlinesÚsection_numbersÚ dump_dictÚ linecountrJr/r-rBzTitle.reset_class‰sN€àŒŒ ØŒŒ ØŒŒ ØŒÔØŒŒØ!" ¤c¬%×*:Ñ*:Ó&;Ñ ;ŒÔØŒŒØŒ�r/cóH—tj«ttfvsJ‚t tj «D]}t j«Œtj«|s8tjtjd«tjd<yy)zsParse the Title.attributes and Title.level from the reader. The real work has already been done by parse().rÅN) r7rUrMrNrhr rrïÚ setsectnamerÌr)rër”s r-r«zTitle.translate”st€ô×ÑÓ!¤e¬]Ð%;Ñ;Ð;Ð;ä”u—‘Ö'ˆAÜ �K‰K�Mð(ä ×ÑÔÙÜ(-¯ © ´U×5EÑ5EÀgÑ5NÓ(OŒE× Ñ ˜WÒ %ðr/có—tjstjt_tj|ftj«}t j j|«}|stjd«|S)z. Perform title substitutions. zblank section title) rMr2r‡rWr7r½r¾r8r:r )rÅs r-rÌz Title.dosubs sW€ô �zŠzÜ×*Ñ*ŒEŒJÜ—‘˜%˜¤5§:¡:Ó.ˆÜ—‘×#Ñ# EÓ*ˆÙÜ �O‰OÐ1Ô 2؈ r/cóV—tjd«}tj|«S)Nrž)rÚ read_aheadrMrº)rís r-rIz Title.isnext­s!€ä×!Ñ! !Ó$ˆÜ�{‰{˜5Ó!Ð!r/cóú—t|«dk(ryt|d«dk(ryd}tttj««D]y}d|z}|tjvsŒt j tj||d«}|sŒH|j«t_|t_ dt_ d}n|�sBtjsyt|«dkry|dd\}}tj|«}t|«}|dkry|ddtjvry|dz |cxkr|dzksn|dz t|«cxkr|dzksyy|dd|dzdzz} || d|k7ryt jd |«syt j tj|«}|rZ|j«t_ttj«j!|dd«t_ dt_ d}|r€d tjvr+t"j%d «|dtjd <ttjj'««D]\}} | �Œ tj|=Œ txjt)t*jj-d d ««z c_ t/tj«tjd<|S#YŒ0xYw)z$Parse title at start of lines tuple.rFzsect%srTržNrz\wrÅz#[titles] entry has no groupÚ leveloffsetÚ0r��)r‘���rh��rM��r��r��r<���r=���rò��r���r��r ��r÷��r���Ú column_widthrŒ���r†���Úindexr:���r ���rª���Úintr6���r7���r¿���) rí���rn���r��r±���r™���rÅ��ÚulÚ title_lenÚul_lenrf���r²���s ��� r-���rº��z Title.parse²��s���€�ô� ˆu‹:˜Š?ØÜ ˆu�Q‰x‹=˜AÒ ØàˆÜœ3œu×/Ñ/Ó0Ö1ˆEؘ5Ñ ˆAØ”E—O‘OÒ#Ü—X‘XœeŸo™o¨aÑ0°%¸±(Ó;�ÚØ')§|¡|£~”EÔ$Ø"'”E”KØ&'”E”OØ!�FÙð�2ò�ä—=’=ØÜ�5‹z˜AŠ~ØØ˜b˜q˜ ‰IˆE�2Ü×*Ñ*¨5Ó1ˆIܘ“WˆFؘŠzØà�"�1ˆvœU×-Ñ-Ñ-Øà˜A‘X  Ô4¨F°1©HÔ4¸&À¹(ÄSÈÃZÔ:ZÐRXÐYZÑRZÒ:ZØð�;[Øà�2�A�˜6 A™:¨!Ñ+Ñ,ˆAØ�Q�w˜�ZÒØô�—9‘9˜U EÔ*Øä—‘œ%Ÿ-™-¨Ó/ˆBÙØ#%§<¡<£>”Ô Ü"¤5×#3Ñ#3Ó4×:Ñ:¸2¸b¸q¸6ÓB”” Ø"#””Ø�á Øœe×.Ñ.Ñ.Ü—‘Ð EÔFØ,1°!©H”× Ñ  Ñ)ÜœU×-Ñ-×3Ñ3Ó5Ö6‘��1Ø‘9Ü×(Ñ(¨Ñ+ð�7ð Ü �KŠKœ3œx×2Ñ2×6Ñ6°}ÀcÓJÓKÑ K�Kô�%(¬¯ © Ó$4Œ×јÑ!؈ øð Ù ús ���Ê A�K6�Ë6K:c�����������������óv��—�d|�v�r‹d} �t��������|�d���«������}t��������|«������t��������t��������j ������������������«������k7��r t��������|«������‚|D�]��}t��������|«������dk7��sŒt��������|«������‚�t ��������|«������t��������_��������|�d���t��������j������������������d<���d|�v�r3t��������|�d���t��������d«������t��������_ ��������|�d���t��������j������������������d<���d|�v�rE|�d���}|rt��������j������������������|«������s t��������d«������‚|t��������_ ��������|t��������j������������������d<���d|�v�rE|�d���}|rt��������j������������������|«������s t��������d «������‚|t��������_ ��������|t��������j������������������d<���d D�]D��}||�v�sŒ|�|���}|rt��������j������������������|«������st��������d |z��«������‚|t��������j������������������|<���ŒF�y #�t��������$�r �t��������|«������‚w�xY�w) z6Load and validate [titles] section entries dictionary.r��z#malformed [titles] underlines entryrž���r2���zillegal [titles] subs entryÚ sectiontitlez%malformed [titles] sectiontitle entryÚ blocktitlez#malformed [titles] blocktitle entry)Úsect0Úsect1Úsect2Úsect3Úsect4zmalformed [titles] %s entryN)ro���re���r ���r‘���rM��r��rl���r��ry���r��r2���r���r)��r÷��rK��)r¶���rx���r��rf���rü��r±���s��� r-���Úloadz Title.loadõ��s£��€�ð� ˜7Ñ "Ø:ˆFð (Ü'¨° Ñ(=Ó>� ô��:‹¤#¤e×&6Ñ&6Ó"7Ò7Ü Ó'Ð'Û�Ü�q“6˜Q“;Ü# FÓ+Ð+ð� ô� % ZÓ0ŒEÔ Ø,3°LÑ,AŒE�O‰O˜LÑ )Ø �WÑ Ü& w¨v¡¼ Ø'DóFŒEŒJà&-¨f¡oŒE�O‰O˜FÑ #Ø ˜WÑ $ؘ.Ñ)ˆCÙœeŸk™k¨#Ô.ÜÐ GÓHÐHØŒEŒMØ.1ŒE�O‰O˜NÑ +Ø ˜7Ñ "ؘ,Ñ'ˆCÙœeŸk™k¨#Ô.ÜÐ EÓFÐFØ!$ŒJÔ Ø,/ŒE�O‰O˜LÑ )ã>ˆAØ�GŠ|ؘa‘j�Ù¤%§+¡+¨cÔ"2Ü#Ð$AÀAÑ$EÓFÐFØ%(”—‘ Ò"ñ �?øô5�ò� (Ü Ó'Ð'ð (ús ���ˆF#�Æ#F8c������������������ó8���—�t��������dt��������j������������������«�������y�)NÚtitles)rÀ���rM��r��rJ���r/���r-���Údumpz Title.dump ��s���€�ä�XœuŸ™Õ/r/���c������������������ó¬��—�t���������j������������������j������������������d«������}�|�r|�dk7��r |�t��������_��������ydt���������j������������������v�rt���������j������������������d���t��������_��������yt ��������t ��������j������������������j������������������«�������«������D�]­��\��}}t��������j������������������|t��������j������������������d���«������}|sŒ0|j������������������«�������j������������������d«������}|�"|j������������������«�������t��������j������������������d<���n/|j������������������«�������j������������������«�������t��������j������������������d<���|t��������_���������y�dt��������j������������������z��t��������_��������y)zá Set Title section name: If the first positional or 'template' attribute is set use it, next search for section title in [specialsections], if not found use default 'sect<level>' name. r��rD��r��rÅ��Nzsect%d)rJ��rg���r7���rM��r��r†���r‡���Úspecialsectionsrª���r<���r=���r���rò��r©���rŽ���r��)r��rü��Úsectr™���rÅ��s��� r-���r"��zTitle.setsectname$��sù���€�ô�!×&Ñ&×*Ñ*¨3Ó/ˆÙ ˜ GÒ+Ø%ŒE�NØ œ=×.Ñ.Ñ .Ü*×0Ñ0°Ñ<ŒE�Nä!¤&×"8Ñ"8×">Ñ">Ó"@ÖA‘ ��TÜ—X‘X˜c¤5×#3Ñ#3°GÑ#<Ó=�ÚØŸL™L›N×.Ñ.¨wÓ7�EØÐ(Ø49·K±K³Mœ×(Ñ(¨Ò1à46·H±H³J×4DÑ4DÓ4Fœ×(Ñ(¨Ñ1Ø%)”E”NÙð�Bð�"*¬E¯K©KÑ!7”•r/���c�����������������ó"��—�d}t��������t��������t��������j������������������«������«������D�]g��}t��������j������������������|���}|dk(��rŒ||�k��rd||fz��}Œ)||�k(��r!d||dz���fz��}|dz���t��������j������������������|<���ŒO||�kD��sŒUdt��������j������������������|<���Œi�|S�)zMReturn next section number at section 'level' formatted like 1.2.3.4.r'���r���z%s%d.r���)rh��r‘���rM��r��)r��ÚnumberÚlr ��s��� r-���Ú getnumberzTitle.getnumber?��s����€�ð�ˆÜ”sœ5×0Ñ0Ó1Ö2ˆAÜ×%Ñ% aÑ(ˆAØ�AŠvØØ�U’Ø  F¨A ;Ñ.‘Ø�e’Ø  F¨A°©E ?Ñ2�Ø+,¨q©5”×%Ñ% aÒ(Ø�U“à+,”×%Ñ% aÒ(ð�3ð�ˆ r/���©F)rF���rG���rH���rI���r��r2���r÷��r��r���r��r‘���r��r��r ��r.���rl��rB��r«��rÌ��rI��rº��r7��r:��r"��rA��rJ���r/���r-���rM��rM��x��s���„�ñ ð�0€JØ €DØ€GØ €EØ€JØ€HØ�c™C  ›OÑ+€OØ€IØ€Iò;ð�ñó�ðð�ò Pó�ð Pð�ñ ó�ð ð�ñ"ó�ð"ð�ñ@ó�ð@ðD�ñ%)ó�ð%)ðT�ñ0ó�ð0ð�ñ8ó�ð8ð4�ñó�ñr/���rM��c�������������������ó0���—�e�Zd�ZdZed„�«�������Zed„�«�������Zy)rN��z*Floated titles are translated differently.c������������������ó\���—�t���������j������������������«�������xr�t��������j������������������«�������dk(��S�)NrD��)rM��rI��rJ��rÑ���rJ���r/���r-���rI��zFloatingTitle.isnextV��s!���€�ä�|‰|‹~ÒB¤-×"5Ñ"5Ó"7¸7Ñ"BÐBr/���c������������������ó¨��—�t���������j������������������«�������t��������u�sJ�‚t��������j ������������������«��������t ��������j ������������������«��������t��������j������������������t��������j������������������«�������d}�|�t��������j������������������v�r?t��������j������������������|�t��������j������������������«������\��}}t��������j������������������|d¬«�������y�t��������j!������������������d|�z��«�������y�)NÚ floatingtitlezfloating titlerÄ��úmissing template section: [%s])r7��rU��rN��rM��r«��rÐ��Úset_idrJ��r��r���r‡���r��rÏ��r½���r¼���r:���r ���)r��rš���r›���s��� r-���r«��zFloatingTitle.translateZ��s‘���€�ä×ÑÓ!¤]Ñ2Ð2Ð2Ü �‰ÔÜ�‰ÔÜ×Ñœe×.Ñ.Ô/Ø"ˆØ ”v—‘Ñ &Ü×,Ñ,¨X´u×7GÑ7GÓH‰JˆD�$Ü �L‰L˜Ð%5ˆLÕ 6ä �O‰OÐ<¸xÑGÕ Hr/���N)rF���rG���rH���rI���rl��rI��r«��rJ���r/���r-���rN��rN��S��s/���„�Ù4àñCó�ðCð�ñ Ió�ñ Ir/���rN��c�������������������ó’���—�e�Zd�ZdZg�Zg�Zd„�Zed„�«�������Zed„�«�������Z ed„�«�������Z ed„�«�������Z ed„�«�������Z ed„�«�������Z eefd „«�������Zy ) rÐ��rè��c�����������������ó���—�t��������d«������‚r9��r:��r+���s��� r-���r.���zSection.__init__m��r<��r/���c������������������ó0���—�g�t���������_��������g�t���������_��������y�rE���)rÐ��ÚendtagsÚidsrJ���r/���r-���rB��zSection.reset_classp��s���€�àŒŒØŒ� r/���c�����������������óF���—�t���������j������������������j������������������|�|f«�������y)zSave section end.N)rÐ��rL��ru���)r��r›���s��� r-���ÚsavetagzSection.savetagu��s���€�ô� �‰×Ñ  t˜}Õ-r/���c�����������������ó,��—�t���������j������������������ryt���������j������������������d���d���|�k\��r`t��������j������������������t���������j������������������j ������������������«�������d���d¬«�������t���������j������������������rt���������j������������������d���d���|�k\��rŒ`|�t ��������_��������y)zASet document level and write open section close tags up to level.r€���r���r���z section closerÄ��N)rÐ��rL��r½���r¼���Úpopr6���r��)r��s��� r-���rÓ��zSection.setlevelz��sg���€�ô��oŠo¤'§/¡/°"Ñ"5°aÑ"8¸EÒ"AÜ �L‰LœŸ™×,Ñ,Ó.¨qÑ1¸ˆLÔ Iô��oŠo¤'§/¡/°"Ñ"5°aÑ"8¸EÓ"AàŒ�r/���c�����������������ó��—�t��������j������������������dd|�«������j������������������d«������j������������������«�������}dt��������j ������������������v�r �ddlm}��||«������}t��������j ������������������j������������������d d«������}||z���}d } �|d k(��r|}nd ||fz��}|t��������j������������������vr!t��������j������������������j������������������|«�������|S�|}|d z ��}ŒJ#�t��������$�r8�t��������j������������������d|«������j������������������dd«������j������������������d«������}Y�Œ²w�xY�w) ac�� The normalized value of the id attribute is an NCName according to the 'Namespaces in XML' Recommendation: NCName ::= NCNameStartChar NCNameChar* NCNameChar ::= NameChar - ':' NCNameStartChar ::= Letter | '_' NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' z\W+rÛ��z ascii-idsr���)ÚtransÚNFKDÚasciiÚignoreÚidprefixr���z%s_%d)r<���rà���r©���ró��r6���r���rS��Ú ImportErrorÚ unicodedataÚ normalizeræ���rç���r7���rÐ��rM��ru���)rÅ��Úbase_idrS��rW��r”���Úids��� r-���Úgen_idzSection.gen_id���s��€�ô�—&‘&˜  eÓ,×2Ñ2°3Ó7×=Ñ=Ó?ˆØ œ(×-Ñ-Ñ -ð kÝ'Ù ›.�ô �×&Ñ&×*Ñ*¨:°sÓ;ˆØ˜WÑ$ˆØ ˆØØ�AŠvؑࠨ˜|Ñ+�ØœŸ™Ñ$Ü— ‘ ×"Ñ" 2Ô&Ø� à�Ø �‰FˆAð�øô�ò� kÜ%×/Ñ/°¸Ó@×GÑGÈÐQYÓZ×aÑaÐbiÓj’ð kús���ÁC�Ã>D ÄD c������������������óØ���—�t���������j������������������j������������������d«�������Kdt��������j������������������vr8t ��������j ������������������t��������j������������������d���«������t��������j������������������d<���y�y�y�)NÚsectidsr\��rÅ��)r6���r���r7���rJ��rg���rÐ��r]��rM��rJ���r/���r-���rH��zSection.set_id¦��sU���€�ä×"Ñ"×&Ñ& yÓ1Ð9ؤ × 3Ñ 3Ñ3ä(/¯©´u×7GÑ7GÈÑ7PÓ(QŒM× Ñ  Ò %ð�4ð�:r/���c������������������ó†��—�t���������j������������������«�������t��������u�sJ�‚t��������j������������������}�t��������j ������������������«��������t��������j ������������������dk(��r(t ��������j������������������dk7��rt��������j������������������d«�������t��������j ������������������t ��������j ������������������kD��r.dt ��������j������������������v�r|�dv�rt��������j������������������d|�z��«�������t��������j ������������������t ��������j ������������������dz���kD��rwt ��������j������������������dk(��r+t ��������j ������������������dk(��rt��������j ������������������dk(��r|�d v�rn9t��������j������������������d t ��������j ������������������dz���t��������j ������������������fz��«�������t��������j������������������«��������t��������j������������������t��������j ������������������«�������d t ��������j������������������v�r5t��������j������������������t ��������j ������������������«������t��������j������������������d <���nd t��������j������������������d <���t ��������j#������������������t��������j������������������«�������t$��������j'������������������t��������j������������������t��������j������������������«������\��}}t��������j)������������������t��������j ������������������|«�������t*��������j-������������������|dt��������j ������������������t��������j������������������d���fz��¬«�������t��������j/������������������«��������y�)Nr���r¶��z/only book doctypes can contain level 0 sectionszbasebackend-docbook)ÚcolophonÚabstractÚ dedicationÚglossaryÚ bibliographyz&%s section cannot contain sub-sectionsr���rž���)ÚprefaceÚappendixz>section title out of sequence: expected level %d, got level %drÿ��Úsectnumr'���zsection open: level %d: %srÅ��rÄ��)r7��rU��rM��r��r«��r��r6���rq��r:���rÜ���r���r ���rÐ��rH��rÓ��rA��rJ��r��r‡���rÏ��rO��r½���r¼���rÑ��)Ú prev_sectnamerš���r›���s��� r-���r«��zSection.translate­��sä��€�ä×ÑÓ!¤UÑ*Ð*Ð*ÜŸ™ˆ Ü �‰ÔÜ �;‰;˜!Ò ¤× 0Ñ 0°FÒ :Ü �M‰MÐKÔ LÜ �;‰;œŸ™Ò 'Ø)¬X×-@Ñ-@Ñ@Ø!ð�&Pñ�Pä �M‰MÐBÀ]ÑRÔ SÜ �;‰;œŸ™¨!Ñ+Ò +ô�×Ñ 6Ò)Ü Ÿ™¨!Ò+ÜŸ ™  qÒ(Ø%Ð)@Ñ@Øä—‘ð�!Bä#+§>¡>°AÑ#5´u·{±{Ð"Cñ!Dô�Eô� �‰ÔÜ×ÑœŸ™Ô%Ø œ×,Ñ,Ñ ,Ü*/¯/©/¼(¿.¹.Ó*IŒE× Ñ ˜YÒ 'à*,ŒE× Ñ ˜YÑ 'Ü×Ñœe×.Ñ.Ô/Ü×(Ñ(¬¯©¼×9IÑ9IÓJ‰ ˆˆdÜ�‰œŸ ™  TÔ*Ü� ‰ �TÐ!=Ü"'§+¡+¬u×/?Ñ/?ÀÑ/HÐ!Iñ"Jˆ ô� Kä×ÑÕ r/���c�����������������óÌ��—�d}t���������j������������������«�������}d}|rc||�ur_t��������|�t��������«������r|t��������u�rt ��������j ������������������d«�������|dz ��}|j������������������«��������t���������j������������������«�������}d}|r||�urŒ_|r%|r#t��������j������������������t��������j������������������kD��rd}|r>t��������j������������������dk(��r*t��������j������������������dk7��rt ��������j ������������������d«�������y�y�y�y�) NTr���z.section title not permitted in delimited blockr���FÚdocbookr*��zempty section is not valid) r7��rU��rÈ��ÚDelimitedBlockrM��r:���rÜ���r«��r��r6���rx��r��)Ú terminatorÚisemptyÚnextÚcnts��� r-���rÑ��zSection.translate_bodyÒ��sÅ���€�àˆÜ×ÑÓ!ˆØˆÙ�t :Ñ-ܘ*¤nÔ5¸$Ä%¹-Ü— ‘ ÐNÔOØ �1‰HˆCØ �N‰NÔ Ü×#Ñ#Ó%ˆD؈Gñ ��t :Ò-ñ� ‘G¤§ ¡ ¬h¯n©nÒ <؈Gá Ü×Ñ 9Ò,´·±À7Ò1JÜ— ‘ Ð:Õ;ð�2KÐ,ð� r/���N)rF���rG���rH���rI���rL��rM��r.���rl��rB��rO��rÓ��r]��rH��r«��rM��rÑ��rJ���r/���r-���rÐ��rÐ��h��s§���„�Ù-Ø€GØ €Cò;ð�ñó�ðð�ñ.ó�ð.ð�ñó�ðð �ñ"ó�ð"ðH�ñRó�ðRð �ñ"!ó�ð"!ðH�Ø"'ò�<ó�ñ<r/���rÐ��c�������������������óˆ���—�e�Zd�Zg�Zd„�Zed„�«�������Zd„�Zdd„Zd„�Z d„�Z dd„Z dd „Z dd „Z d „�Zd „�Zd „�Zd„�Zdd„Zd„�Zg�fd„Zy)Ú AbstractBlockc�����������������ó��—�d|�_���������d�|�_��������d�|�_��������d�|�_��������d�|�_��������d�|�_��������d|�_��������d�|�_��������d|�_��������d�|�_ ��������d|�_ ��������d�|�_ ��������t��������«�������|�_ ��������i�|�_��������d|�_��������d�|�_��������d�|�_��������y�)N) Ú delimiterrv���r2���ÚpresubsÚpostsubsÚposattrsrÑ���z.*-styler��rÎ���rJ���)r��rv���ru��rv��rÎ���)Ú CONF_ENTRIESr����Údefnamert��Ú delimiter_reor��rv���ru��rv��rÎ���rw��rÑ���r���Ústylesr���Ú PARAM_NAMESÚ parametersr™���r+���s��� r-���r.���zAbstractBlock.__init__ê��sƒ���€�ðTˆÔàˆŒ ؈Œ àˆŒØ!ˆÔ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ Ü!“mˆŒ ð �ˆŒàSˆÔ؈Œàˆ�r/���c������������������ó���—�g�t���������_��������y�rE���)rr��Ú blocknamesrJ���r/���r-���rB��zAbstractBlock.reset_class��s ���€�à#%Œ Õ r/���c�����������������ó~���—�|�j�������������������j������������������d«������}|dk(��r |�j�������������������S�|�j�������������������|dz���d�S�)z> Return the text following the first dash in the section name.Ú-r€���r���N)ry��r‰���)r,���r”���s��� r-���Ú short_namezAbstractBlock.short_name ��s<���€�à �L‰L× Ñ ˜cÓ "ˆØ �Š7Ø—<‘<Ð à—<‘<  A¡ Ð'Ð 'r/���Nc�����������������óR���—�t���������j������������������d|�j������������������›d|›�||«�������y�)Nr¹���ú] )r:���rÜ���ry��)r,���rC���rG��rŸ��s��� r-���rÜ���zAbstractBlock.error��s���€�Ü� Š  4§<£<±Ð5°v¸tÕDr/���c�����������������ób���—�|�j�������������������D�] ��}t��������j������������������d|z���dz���|«������sŒ �y�y)zNReturn True if param matches an allowed configuration file entry name.r{���r|���TF)rx��r<���r=���)r,���Úparamrf���s��� r-���Ú is_conf_entryzAbstractBlock.is_conf_entry��s2���€�ð�×"Ô"ˆAÜ�x‰x˜˜a™ #™  uÕ-Ùð�#ð�r/���c�����������������ó:���—�||�_���������|�j������������������||�d¬«�������y)z:Update block definition from section 'entries' dictionary.T)ÚallN)ry��Úupdate_parameters)r,���ry��r¶���s��� r-���r7��zAbstractBlock.load��s���€�àˆŒ Ø ×јw¨°$ÐÕ7r/���c�����������������ó��—�|xs �|�j�������������������}d|�j������������������z��}d„�}t��������|j������������������«�������«������D��]N��\��}}t ��������j ������������������d|«������st ��������|«������st��������|||fz��«������‚|dk(��r&t ��������|«������st��������|||fz��«������‚�||||«�������Œc|dk(��r �||||«�������Œs|dk(��rct��������|t��������«������rHt��������|d|||fz��«������}t��������t��������|j������������������«������j������������������t��������|«������«������«������}�||||«�������ŒÛ|dv�r9|d k(��rd }t��������|t��������«������rt��������|t��������|||fz��«������}�||||«��������Œ|d k(��r3|r!t!��������j"������������������|«������r �||||«��������Œ@t��������|||fz��«������‚|d k(��r't ��������|«������r �||||«��������Œlt��������|||fz��«������‚|d k(��rt��������|d|||fz��«������}�||||«��������ŒŸt ��������j ������������������d|«������}|r||st��������|||fz��«������‚|j%������������������d «������} t ��������| «������st��������|||fz��«������‚i�} t'��������|| «������st��������|||fz��«������‚d | v�r | d ���| d <���| d =�| |�j(������������������| <����Œ3|s||�j*������������������v�s�ŒE�||||«��������ŒQ�y)zà Parse processing parameters from src dictionary to dst object. dst defaults to self.parameters. If all is True then copy src entries that aren't parameter names. z[%s] malformed entry %%s: %%sc�����������������óJ���—�t��������|�t��������«������r||�|<���y�t��������|�||«�������y�rE���)rÈ��r¡���Úsetattr)Úobjr±���r²���s��� r-���Úcopyz-AbstractBlock.update_parameters.<locals>.copy,��s!���€�ܘ#œtÔ$Ø��A’䘘Q Õ"r/���z\d+r��rÎ���rv���rJ���)r2���ru��rv��r2���ru��rt��rÑ���rw��z^(?P<style>.*)-style$N)r}��ry��r†���rª���r<���r=���rt���r ���rÈ��r¿���ry���rl���r���rv���Úunionr��r���r)��rŽ���ri���r{��r|��) r,���ÚsrcÚdstr‰��rC���r���r±���r²���r™���rÑ���rh���s ��� r-���rŠ��zAbstractBlock.update_parameters#��sy��€�ð �Ò$�T—_‘_ˆØ-°· ± Ñ<ˆò #ô �˜Ÿ™›×%‰DˆAˆqÜ—8‘8˜F AÔ&¬w°q¬zÜ  q¨! f¡ Ó-Ð-Ø�JŠÜ˜q”zÜ# C¨1¨a¨&¡LÓ1Ð1Ù�S˜!˜Q•Ø�h’Ù�S˜!˜Q•Ø�i’ܘa¤Ô%Ü% a¨¨S°A°q°6©\Ó:�Aäœc #§+¡+Ó.×4Ñ4´S¸³VÓ<Ó=�AÙ�S˜!˜Q•ØÐ5Ñ5à˜’;Ø!�Aܘa¤Ô%Ü% a¬°s¸aÀ¸V±|ÓD�AÙ�S˜!˜Q–Ø�kÒ!ÙœŸ™ QœÙ˜˜a –Oä# C¨1¨a¨&¡LÓ1Ð1Ø�g’ܘ1”:Ù˜˜a –Oä# C¨1¨a¨&¡LÓ1Ð1Ø�j’Ü! ! R¨°°1¨v©Ó6�Ù�S˜!˜Q–ä—X‘XÐ6¸Ó:�ÙÙÜ'¨¨q°!¨f© Ó5Ð5ØŸH™H WÓ-�EÜ" 5œ>Ü'¨¨q°!¨f© Ó5Ð5Ø�AÜ1°!°QÔ7Ü'¨¨q°!¨f© Ó5Ð5Ø ‘{à'(¨¡y˜˜)™ ؘf˜IØ)*�D—K‘K Ó&Ù˜A ×!1Ñ!1Ó1Ù˜˜a –Oñi�&r/���c�����������������óT���—�|r ||v�r||���S�||�j�������������������v�r|�j�������������������|���S�y)zŽ Return named processing parameter from params dictionary. If the parameter is not in params look in self.parameters. N)r}��)r,���r@���Úparamss��� r-���Ú get_paramzAbstractBlock.get_paramg��s5���€�ñ � �d˜f‘nؘ$‘<Ð Ø �T—_‘_Ñ $Ø—?‘? 4Ñ(Ð (àr/���c�����������������óR���—�|�j������������������d|«������}|�j������������������d|«������}||fS�)z!Return (presubs, postsubs) tuple.ru��rv��)r•��)r,���r”��ru��rv��s��� r-���Úget_subszAbstractBlock.get_subss��s-���€�à—.‘. ¨FÓ3ˆØ—>‘> *¨fÓ5ˆØ˜Ð"Ð"r/���c�����������������ó��—�d„�}�|d|�j�������������������z���dz���«�������|�j������������������d«������r�|d|�j������������������z���«�������|�j������������������r�|d|�j������������������z���«�������|�j������������������r$�|ddj ������������������|�j������������������«������z���«�������|�j ������������������rU|�j������������������r%�|d dj ������������������|�j ������������������«������z���«�������n$�|d dj ������������������|�j ������������������«������z���«�������|�j������������������r$�|d dj ������������������|�j������������������«������z���«�������|�j������������������r�|d |�j������������������z���«�������|�j������������������r$�|d dj ������������������|�j������������������«������z���«�������|�j������������������r�|d|�j������������������z���«�������|�j������������������rjt��������|�j������������������j������������������«�������«������D�]C��\��}}d}t��������|j������������������«�������«������D�]��\��}}||›d|›d�z ��}Œ��||›d|dd�›�«�������ŒE�yy)z!Write block definition to stdout.c�����������������ód���—�t���������j������������������j������������������|�›t��������j������������������›�«������S�rE���©rè���rÚ���r¼���r½���r¾���r~���s��� r-���Ú<lambda>z$AbstractBlock.dump.<locals>.<lambda>{��ó���€�œ#Ÿ*™*×*Ñ*±Q¼¿ºÐ+GÔHr/���r¹���rº���rt��z delimiter=z template=zoptions=r"���zpresubs=zsubs=z postsubs=úfilter=z posattrs=zstyle=r'���r¥���z-style=Nr€���)ry��r‡��rt��r��rv���r8���ru��rv��rÎ���rw��rÑ���r{��r†���rª���)r,���r¼���rÑ���rh���rf���r±���r²���s��� r-���r:��zAbstractBlock.dumpy��s”��€�áHˆÙ ˆc�D—L‘LÑ  3Ñ&Ô'Ø × Ñ ˜kÔ *Ù �, §¡Ñ/Ô 0Ø �=Š=Ù �+ § ¡ Ñ-Ô .Ø �<Š<Ù �*˜sŸx™x¨¯ © Ó5Ñ5Ô 6Ø �<Š<Ø�}Š}Ù�j 3§8¡8¨D¯L©LÓ#9Ñ9Õ:á�g §¡¨¯©Ó 6Ñ6Ô7Ø �=Š=Ù �+ §¡¨¯©Ó 7Ñ7Ô 8Ø �;Š;Ù �)˜dŸk™kÑ)Ô *Ø �=Š=Ù �+ §¡¨¯©Ó 7Ñ7Ô 8Ø �:Š:Ù �(˜TŸZ™ZÑ'Ô (Ø �;Š;Ü  §¡×!2Ñ!2Ó!4Ö5‘��qØ�Ü  §¡£žO‘D�A�qØ¢QªÐ*Ñ*‘Að�,á¢u¨a°°©fÐ5Õ6ñ �6ð� r/���c����������� ������óh��—�|�j������������������d«������r$|�j������������������st��������d|�j������������������z��«������‚|�j������������������r¨t ��������|�j������������������«������st��������d|�j������������������z��«������‚|�j������������������|�j ������������������vrct��������|�t��������«������sSt��������j������������������d|�j������������������›d|�j������������������›dt��������|�j ������������������j������������������«�������«������›�«�������d}t��������|�j ������������������j������������������«�������«������D�]]��\��}}|j������������������d«������}|r@|t��������j ������������������vr.t#��������j$������������������d |«������st��������j������������������d |z��«�������|rŒ\d }Œ_�|�j������������������d«������r³d |�j&������������������vr¤|�j(������������������ra|�j(������������������t��������j ������������������vrDt#��������j$������������������d |�j(������������������«������s#t��������j������������������d |�j(������������������z��«�������yyy|s4t��������|�t��������«������s#t��������j������������������d |�j������������������z��«�������yyyyy)z@Validate block after the complete configuration has been loaded.rt��z[%s] missing delimiterúillegal style name: %sr¹���z] 'z' style not in Tr��z{.+}rG��Fr¨��zmissing styles templates: [%s]N)r‡��rt��r ���ry��rÑ���rt���r{��rÈ��ÚListr:���r ���r†���rˆ���rª���r7���r‡���r��r<���rŒ���rv���r��)r,���Úall_styles_have_templater±���r²���r˜��s��� r-���ÚvalidatezAbstractBlock.validate—��s¯��€�à × Ñ ˜kÔ *°4·>²>ÜÐ4°t·|±|ÑCÓDÐ DØ �:Š:ܘ4Ÿ:™:Ô&ÜÐ 8¸4¿:¹:Ñ EÓFÐFØ�z‰z §¡Ñ,Ü! $¬Ô-Ü—O’OØŸ ›  d§j£j´$°t·{±{×7GÑ7GÓ7IÔ2Jð%Lô�Mð�$(РܘŸ™×*Ñ*Ó,Ö-‰DˆAˆqØ—‘�jÓ!ˆAÙ�QœfŸo™oÑ-ä—y‘y ¨!Ô,Ü—O‘OÐ$DÀqÑ$HÔIÚØ+0Ñ(ð�.ð� × Ñ ˜jÔ )¨f¸D¿L¹LÑ.HØ�}Š}Ø—=‘=¬¯©Ñ7äŸ9™9 W¨d¯m©mÔ<ÜŸ™Ð(HØ*.¯-©-ñ)8õ�9ð�=ð�8ñ �.Ü! $¬Ô-Ü—O‘OÐ$DÀtÇ|Á|Ñ$SÕTð�.ð�.ð�/IÐ )r/���c�����������������ó*��—�d}t���������j������������������«��������t���������j������������������«�������rh|�j������������������s$t ��������j ������������������|�j ������������������«������|�_��������|�j������������������j������������������t���������j������������������«�������«������}|r ||�_��������d}|S�)z/Check if this block is next in document reader.FT) r��rE��rª��rz��r<���rŠ���rt��r=���r™���)r,���rn���r™���s��� r-���rI��zAbstractBlock.isnext¹��sp���€�àˆÜ×ÑÔ!Ü × Ñ Ô Ø×%Ò%ä%'§Z¡Z°·±Ó%?�Ô"Ø×#Ñ#×)Ñ)¬&×*:Ñ*:Ó*<Ó=ˆBÙØ�”Ø�؈ r/���c�����������������ó˜���—�|�j�������������������st��������j������������������|�_���������t��������j������������������rt��������j������������������dd�|�_��������yy)z%Translate block from document reader.N)ru��r‡���rW��r��rG��r����r+���s��� r-���r«��zAbstractBlock.translateÇ��s2���€�à�|Š|Ü!×,Ñ,ˆDŒLÜ �=Š=ÜŸ™¡qÐ)ˆD�Jð� r/���c�����������������óì���—�|€8|�j�������������������j������������������d|�j������������������«�������«������j������������������«�������}t ��������d|«�������|�j ������������������j ������������������|«�������|t��������j�������������������d<���y)z{ On block entry set the 'blockname' attribute. Only applies to delimited blocks, lists and tables. NrÑ���zpush blocknameÚ blockname)r���r7���r‚��ró��r1���r��ru���r6���©r,���r¦��s��� r-���Úpush_blocknamezAbstractBlock.push_blocknameÎ��s]���€�ð � Ð ØŸ™×+Ñ+¨G°T·_±_Ó5FÓG×MÑMÓOˆIÜ Ð  Ô*Ø �‰×јyÔ)Ø+4Œ×јKÒ(r/���c�����������������ó��—�t��������|�j������������������«������dkD��sJ�‚|�j������������������j������������������«�������}t��������d|«�������t��������|�j������������������«������dk(��rdt��������j ������������������d<���y|�j������������������d���t��������j ������������������d<���y)z‹ On block exits restore previous (parent) 'blockname' attribute or un-define it if we're no longer inside a block. r���z pop blocknameNr¦��r€���)r‘���r��rQ��r1���r6���r���r§��s��� r-���Ú pop_blocknamezAbstractBlock.pop_blocknameÙ��sq���€�ô ��4—?‘?Ó# aÒ'Ð'Ð'Ø—O‘O×'Ñ'Ó)ˆ Ü ˆo˜yÔ)Ü ˆt�‰Ó  1Ò $Ø/3ŒH× Ñ   Ò ,à/3¯©¸rÑ/BŒH× Ñ   Ò ,r/���c�����������������óð��‡�—�ˆ�fd„}t��������‰�j������������������«������|z���}i�‰�_��������‰�j������������������r‰�j������������������‰�j������������������d<���‰�j������������������j ������������������|«�������t ��������«�������‰�_��������|D�]��}t��������‰�|«������‰�j ������������������|<���Œ�‰�j������������������}|r$|d���dk(��r‰�j������������������j������������������d«������}nd}|s&‰�j������������������j������������������d‰�j������������������«������}|�rt��������|«������s%t��������j������������������d|z��«�������‰�j������������������}nO|‰�j������������������vrAt��������‰�t��������«������s1t��������j!������������������d‰�j"������������������›d|›�«�������‰�j������������������}|‰�j������������������v�rw|‰�j������������������d<���t��������‰�j������������������|���j%������������������«�������«������D�]?��\��}}|d k(��r|}Œ||v�r|‰�j ������������������|<���Œ"|‰�j������������������vsŒ1|‰�j������������������|<���ŒA�t'��������|«������D�]H��\��} }t)��������| d z���«������‰�j������������������v�sŒ!‰�j������������������t)��������| d z���«���������‰�j������������������|<���ŒJ�‰�j+������������������|«��������|d «��������|d «��������|d «�������y)aö�� Use the current block's attribute list (attrs dictionary) to build a dictionary of block processing parameters (self.parameters) and tag substitution attributes (self.attributes). 1. Copy the default parameters (self.*) to self.parameters. self.parameters are used internally to render the current block. Optional params array of additional parameters. 2. Copy attrs to self.attributes. self.attributes are used for template and tag substitution in the current block. 3. If a style attribute was specified update self.parameters with the corresponding style parameters; if there are any style parameters remaining add them to self.attributes (existing attribute list entries take precedence). 4. Set named positional attributes in self.attributes if self.posattrs was specified. 5. Finally self.parameters is updated with any corresponding parameters specified in attrs. c�����������������óÎ���•—�t��������j������������������‰j������������������|����«������sBt��������j ������������������d|�›d‰j������������������|����›�«�������t ��������‰|�«������‰j������������������|�<���y�y�)Nz malformed z parameter: )r���r>���r}��r:���rÜ���Úgetattr)r†��r,���s��� €r-���Úcheck_array_parameterz=AbstractBlock.merge_attributes.<locals>.check_array_parameter� ��sM���ø€�ä—>‘> $§/¡/°%Ñ"8Ô9Ü— ’ ºeÀTÇ_Á_ÐUZÒE[Ð\Ô]ä)0°°uÓ)=�—‘ Ò&ð�:r/���rÑ���r���r��NrŸ��zmissing style: [z]: rw��r���rv���ru��rv��)r†���r|��r���rÑ���rd���r ���r}��r­��rw��r7���rt���r:���rÜ���r{��rÈ��r ��r ���ry��rª���rË��r¿���rŠ��) r,���rg���r”��r®��r@���rw��rÑ���r±���r²���r”���s ���` r-���Úmerge_attributeszAbstractBlock.merge_attributesæ��s ��ø€�ô4 >ô��d×&Ñ&Ó'¨&Ñ0ˆØˆŒØ �:Š:à'+§z¡zˆD�O‰O˜GÑ $Ø �‰×јuÔ%ô�#›*ˆŒÛˆDÜ$+¨D°$Ó$7ˆD�O‰O˜DÒ !ð�ð�—=‘=ˆÙ ˜ ™  wÒ.à—O‘O×'Ñ'¨Ó,‰EàˆEÙà—O‘O×'Ñ'¨°·±Ó<ˆEÚ Ü˜5”>Ü— ‘ Ð6¸Ñ>Ô?ØŸ ™ ‘à˜dŸk™kÑ)´*¸TÄ4Ô2HÜ—’¸T¿\»\É5Ð QÔRØŸ ™ �ؘŸ ™ Ñ#Ø+0�—‘ Ñ(Ü  §¡¨UÑ!3×!9Ñ!9Ó!;Ö<‘D�A�qؘJ’Ø#$™Ø˜f™Ø-.˜Ÿ™¨Ò*Ø $§/¡/Ò1à-.˜Ÿ™¨Ò*ð�=ô�˜hÖ'‰DˆAˆqÜ�1�q‘5‹z˜TŸ_™_Ò,Ø%)§_¡_´S¸¸Q¹³ZÑ%@�—‘ Ò"ð�(ð� ×јuÔ%Ù˜iÔ(Ù˜iÔ(Ù˜jÕ)r/���)NFrE���)rF���rG���rH���r��r.���rl��rB��r‚��rÜ���r‡��r7��rŠ��r•��r—��r:��r¢��rI��r«��r¨��rª��r¯��rJ���r/���r-���rr��rr��ç��sr���„�Ø€Jòð:�ñ&ó�ð&ò(óEòò8ó B$óH ó#ò 7ò< UòD ò*ó 5ò Cð�.0ô�P*r/���rr��c�������������������ó6���—�e�Zd�ZdZdZdZd„�Zd„�Zd„�Zd„�Z d„�Z y) ÚAbstractBlockszList of block definitions.r'���Nc�����������������ó<���—�d�|�_���������g�|�_��������d�|�_��������d�|�_��������y�rE���)rO��rQ��ÚdefaultÚ delimitersr+���s��� r-���r.���zAbstractBlocks.__init__> ��s���€�؈Œ ؈Œ ؈Œ ؈�r/���c����������� ������óà��—�t��������|j������������������«�������«������D�]§��}t��������j������������������d|�j������������������z���dz���|«������sŒ*i�}t ��������|j ������������������|d«������|«�������|�j������������������D�]��}|j������������������|k(��sŒ�n,�|�j������������������«�������}|�j������������������j������������������|«������� �|j������������������||«�������Œ©�y#�t��������$�r}t��������d|›dt��������|«������›�«������‚d}~ww�xY�w)z1Load block definition from 'sections' dictionary.r{���z.+$rJ���r¹���r„��N)r†���rˆ���r<���r=���ÚPREFIXr·���r7���rQ��ry��Ú BLOCK_TYPEru���r7��r ���r¿���)r,���r��r±���rh���ÚbÚes��� r-���r7��zAbstractBlocks.loadD ��sÁ���€�ä�h—m‘m“oÖ&ˆAÜ�x‰x˜˜tŸ{™{Ñ*¨VÑ3°QÕ7Ø�ܘhŸl™l¨1¨bÓ1°1Ô5ØŸœ�AØ—y‘y A“~Ùð�%ð�Ÿ™Ó)�AØ—K‘K×&Ñ& qÔ)ð=Ø—F‘F˜1˜a•Lñ�'øô�!ò�=Ý#²´C¸´FÐ$;Ó<Ð<ûð=ús���Â0Cà C-ÃC(Ã(C-c�����������������óF���—�|�j�������������������D�]��}|j������������������«��������Œ�y�rE���)rQ��r:��©r,���r¸��s��� r-���r:��zAbstractBlocks.dumpU ��s���€�Ø—”ˆAØ �F‰F�Hñ�r/���c�����������������óX���—�|�j�������������������D�]��}|j������������������«�������sŒ||�_���������y�y)NTF)rQ��rI��rO��r»��s��� r-���rI��zAbstractBlocks.isnextY ��s(���€�Ø—”ˆAØ�x‰x�zØ �” Ùð�ð�r/���c�����������������ó��—�g�}|�j�������������������D�]T��}|j������������������|�j������������������u�sJ�‚|j������������������«��������|j������������������sŒ:|j ������������������|j������������������«�������ŒV�t ��������j������������������|«������|�_��������y)zValidate the block definitions.N) rQ��Ú __class__r·��r¢��rt��ru���r���Úre_joinr´��)r,���r´��r¸��s��� r-���r¢��zAbstractBlocks.validate` ��sa���€�ð�ˆ Ø—”ˆAØ—;‘; $§/¡/Ñ1Ð 1Ð1Ø �J‰JŒLØ�{‹{Ø×!Ñ! !§+¡+Õ.ð �ô � Ÿ-™-¨ Ó3ˆ�r/���) rF���rG���rH���rI���r¶��r·��r.���r7��r:��rI��r¢��rJ���r/���r-���r±��r±��9 ��s(���„�Ù$Ø €FØ€Jòò =ò"òó 4r/���r±��c�������������������ó*���—�e�Zd�Zd„�Zd„�Zd„�Zd„�Zd„�Zy)rÉ��c�����������������ó<���—�t���������j������������������|�«�������d�|�_��������y�rE���)rr��r.���r’���r+���s��� r-���r.���zParagraph.__init__m ��s���€�Ü×јtÔ$؈� r/���c�����������������ó2���—�t���������j������������������|�||«�������y�rE���©rr��r7��©r,���r@���r¶���s��� r-���r7��zParagraph.loadq ��ó���€�Ü×ј4  wÕ/r/���c�����������������óD���—�t���������j������������������|�«�������d„�}�|d«�������y�)Nc�����������������ód���—�t���������j������������������j������������������|�›t��������j������������������›�«������S�rE���rš��r~���s��� r-���r›��z Paragraph.dump.<locals>.<lambda>v ��rœ��r/���r'���©rr��r:��©r,���r¼���s��� r-���r:��zParagraph.dumpt ��ó���€�Ü×ј4Ô ÙHˆÙ ˆb� r/���c�����������������ó����—�t���������j������������������|�«������}|r.|�j������������������j������������������«�������j ������������������d«������|�_��������|S�)Nr’���)rr��rI��r™���rò��r7���r’���©r,���rn���s��� r-���rI��zParagraph.isnexty ��s9���€�Ü×%Ñ% dÓ+ˆÙ ØŸ™×)Ñ)Ó+×/Ñ/°Ó7ˆDŒI؈ r/���c�����������������óž��—�t���������j������������������|�«�������|�j������������������j������������������«�������j ������������������«�������}d|v�r|d=�t ��������j ������������������|«�������t��������j ������������������|«�������|�j������������������|«�������t��������j������������������«��������t��������j������������������t��������j������������������«������}d|�j������������������j������������������v�ry�|�j ������������������gt#��������|«������z���}|�j������������������j$������������������}|�j������������������j&������������������}t(��������j*������������������j-������������������d«������€t.��������j1������������������|«������}t.��������j3������������������||«������}|�j������������������j4������������������}t7��������||«������}t8��������j;������������������||�j*������������������d¬«������d���}|�j������������������j<������������������r+t?��������|�j������������������j<������������������||�j*������������������«������}t.��������j3������������������||«������}t8��������j;������������������||�j*������������������d¬«������d���}t@��������jC������������������tE��������jF������������������|||«������d ¬ «�������y�) Nr’���r¨��r[��T©Úskipendr���©Ú skipstartr���Ú paragraphrÄ��)$rr��r«��r™���rò��r���rK��r��rJ��r¯��r��rï��rÊ��rS��Ú terminatorsr}��rv���r’���r†���ru��rv��r6���r���r7���r7��rk��r2���r��rŸ���r‡���rÏ��rÎ���ró���r½���r¼���r���Ú dovetail_tags)r,���rg���Úbodyru��rv��r��rš���r›���s��� r-���r«��zParagraph.translate ��s±��€�Ü×Ñ Ô%Ø—‘×!Ñ!Ó#×(Ñ(Ó*ˆØ �U‰?Ø�f� Ü×ј5Ô!Ü×јeÔ$Ø ×јeÔ$Ü� ‰ Œ Ü× Ñ ¤×!7Ñ!7Ó8ˆØ �T—_‘_×,Ñ,Ñ ,Ø Ø— ‘ ˆ{œT $›ZÑ'ˆØ—/‘/×)Ñ)ˆØ—?‘?×+Ñ+ˆÜ × Ñ × "Ñ " ;Ó /Ð 7Ü—>‘> $Ó'ˆDä�x‰x˜˜gÓ&ˆØ—?‘?×+Ñ+ˆÜ˜h¨Ó.ˆÜ×"Ñ" 8¨T¯_©_ÀdÐ"ÓKÈAÑNˆØ �?‰?× !Ò !Ü §¡× 6Ñ 6¸¸d¿o¹oÓNˆDÜ�x‰x˜˜hÓ'ˆÜ×"Ñ" 8¨T¯_©_ÈÐ"ÓMÈaÑPˆä� ‰ ”U×(Ñ(¨¨t°TÓ:À+ˆ ÕNr/���N©rF���rG���rH���r.���r7��r:��rI��r«��rJ���r/���r-���rÉ��rÉ��l ��s���„�òò0òò ó Or/���rÉ��c�������������������ó0���—�e�Zd�ZdZeZdZd„�Zd„�Zd„�Z d„�Z y)Ú ParagraphszList of paragraph definitions.zparadef-c�����������������ó<���—�t���������j������������������|�«�������d�|�_��������y�rE���)r±��r.���rÓ��r+���s��� r-���r.���zParagraphs.__init__¢ ��s���€�Ü×Ñ Ô%؈Õr/���c�����������������óJ��—�t��������j������������������d«������t��������j������������������t��������j������������������«������t��������j������������������t��������j ������������������«������t��������j������������������t ��������j ������������������«������t��������j������������������t��������j ������������������«������g|�_��������y�©Nz^\+$|^$) r<���rŠ���rJ��r÷��rQ��r´��rR��rL��rÓ��r+���s��� r-���r��zParagraphs.initialize¦ ��s`���€�ä �J‰J�zÓ "Ü �J‰J”}×,Ñ,Ó -Ü �J‰J”v×(Ñ(Ó )Ü �J‰J”v×(Ñ(Ó )Ü �J‰J”z×,Ñ,Ó -ð  ˆÕr/���c�����������������ó0���—�t���������j������������������|�|«�������y�rE���©r±��r7��©r,���r��s��� r-���r7��zParagraphs.load¯ ��ó���€�Ü×јD (Õ+r/���c�����������������ó���—�t���������j������������������|�«�������|�j������������������D�]P��}|j������������������dk(��sŒ|�j������������������j ������������������|«�������||�_��������|�j������������������j ������������������|«��������y��t��������d«������‚)Nzparadef-defaultz"missing section: [paradef-default])r±��r¢��rQ��ry��ru���r³��r��r ���r»��s��� r-���r¢��zParagraphs.validate² ��sg���€�Ü×Ñ Ô%à—”ˆAØ�y‰yÐ-Ó-Ø— ‘ ×"Ñ" 1Ô%Ø �” Ø— ‘ ×"Ñ" 1Ô%Ùð �ô�Ð@ÓAÐ Ar/���N) rF���rG���rH���rI���rÉ��r·��r¶��r.���r��r7��r¢��rJ���r/���r-���rØ��rØ��� ��s$���„�Ù(Ø€JØ €Fò ò ò,ó Br/���rØ��c�������������������ól���—�e�Zd�ZdZd„�Zd„�Zd„�Zd„�Zd„�Zd„�Z d„�Z e d „�«�������Z e d „�«�������Z d „�Zd „�Zd „�Zy)r ��)ÚarabicÚ loweralphaÚ upperalphaÚ lowerromanÚ upperromanc�����������������ó���—�t���������j������������������|�«�������|�xj������������������dz ��c_��������|�xj������������������dz ��c_��������d�|�_��������d�|�_��������d�|�_��������d�|�_��������d�|�_��������d�|�_ ��������d�|�_��������d�|�_ ��������d�|�_ ��������y�)N)r(��Útags)rè��) rr��r.���rx��r|��r(��rè��r����Úlabelr’���r*��ÚordinalÚ number_styler+���s��� r-���r.���z List.__init__ ��ss���€�Ü×јtÔ$Ø ×ÒÐ-Ñ-ÕØ ×Ò˜IÑ%ÕàˆŒ ؈Œ àˆŒØˆŒ ؈Œ ؈Œ ؈Œ ؈Œ Ø ˆÕr/���c�����������������ó2���—�t���������j������������������|�||«�������y�rE���rÃ��rÄ��s��� r-���r7��z List.loadÒ ��rÅ��r/���c�����������������ó˜���—�t���������j������������������|�«�������d„�}�|d|�j������������������z���«��������|d|�j������������������z���«��������|d«�������y�)Nc�����������������ód���—�t���������j������������������j������������������|�›t��������j������������������›�«������S�rE���rš��r~���s��� r-���r›��zList.dump.<locals>.<lambda>× ��rœ��r/���ztype=ztags=r'���)rr��r:��r(��rè��rÉ��s��� r-���r:��z List.dumpÕ ��s>���€�Ü×ј4Ô ÙHˆÙ ˆg˜Ÿ ™ Ñ!Ô"Ù ˆg˜Ÿ ™ Ñ!Ô"Ù ˆb� r/���c�����������������ó*��—�t���������j������������������|�«�������|�j������������������g}|t��������|�j������������������j ������������������«�������«������D��cg�c] ��}d|v�sŒ|d���‘Œ�c}z ��}|D�]+��}|t ��������j������������������vsŒ|�j������������������d|z��d¬«�������Œ-�y�c�c}w�)Nrè��zmissing section: [listtags-%s]Trž��)rr��r¢��rè��r†���r{��ÚvaluesrP��rÜ���©r,���rè��rf���r˜��s��� r-���r¢��z List.validateÜ ��s„���€�Ü×јtÔ$Ø— ‘ ˆ{ˆØ ¤D¨¯©×);Ñ);Ó)=Ô$>ÓNÑ$>˜qÀ&ÈAÂ+��6“Ð$>ÑNÑNˆÛˆAØœŸ ™ Ò"Ø— ‘ Ð;¸aÑ?Àd� ÕKñ�ùò�Os ���Á BÁBc�����������������óH��—�t���������j������������������|�«������}|rŠ|�j������������������j������������������«�������j ������������������d«������|�_��������|�j������������������j������������������«�������j ������������������d«������|�_��������|�j������������������j������������������«�������j ������������������d«������|�_��������|S�)Nré��r’���r*��)rr��rI��r™���rò��r7���ré��r’���r*��rÌ��s��� r-���rI��z List.isnextä ��sw���€�Ü×%Ñ% dÓ+ˆÙ ØŸ™×*Ñ*Ó,×0Ñ0°Ó9ˆDŒJØŸ™×)Ñ)Ó+×/Ñ/°Ó7ˆDŒIØŸ™×*Ñ*Ó,×0Ñ0°Ó9ˆDŒJ؈ r/���c�����������������óô��—�|�j�������������������dk(��sJ�‚t��������|�j������������������j������������������|�j������������������«������}t��������|�j������������������j ������������������|�j������������������«������}t ��������j������������������|d���d¬«�������t ��������j������������������|d���d¬«�������t��������j������������������«�������|�u�r…t��������j������������������«��������t ��������j������������������|�j������������������j������������������|�j ������������������g|�j������������������|�j������������������d¬«�������|�j������������������rnt��������j������������������«�������|�u�rŒ…t ��������j������������������|d���d¬«�������|�j!������������������«��������t ��������j������������������|d���d ¬«�������y�) NÚlabeledr���zlist entry openrÄ��zlist label openz list termr���zlist label closezlist entry close)r(��r¢���r����r«���r���ré��r½���r¼���r7��rU��r��rï��Ú write_tagÚtermru��r’���Útranslate_item)r,���ÚentrytagÚlabeltags��� r-���Útranslate_entryzList.translate_entryì ��s��€�Ø�y‰y˜IÒ%Ð%Ð%ܘDŸH™HŸN™N¨D¯O©OÓ<ˆÜ˜DŸH™HŸN™N¨D¯O©OÓ<ˆÜ� ‰ �X˜a‘[Ð(9ˆ Ô:Ü� ‰ �X˜a‘[Ð(9ˆ Ô:ä×ÑÓ  DÑ(Ü �K‰KŒMÜ × Ñ ˜TŸX™XŸ]™]¨T¯Z©Z¨LØ!Ÿ\™\¨4¯?©?À+ð� ô� Oà�yŠyØô �×ÑÓ  DÒ(ô � � ‰ �X˜a‘[Ð(:ˆ Ô;à ×ÑÔÜ� ‰ �X˜a‘[Ð(:ˆ Õ;r/���c�����������������óî��—�|�j�������������������dk(��r,t��������j������������������|�j������������������«������|�j������������������d<���t ��������|�j ������������������j������������������|�j������������������«������}t��������j������������������|d���d¬«�������t��������j������������������t��������j������������������«������}|�j������������������r|�j������������������gt��������|«������z���}|rBt��������j!������������������|�j ������������������j������������������||�j"������������������|�j������������������d¬«������� �t��������j%������������������«�������dk(��}|rt��������j'������������������«��������t(��������j+������������������«�������t,��������t.��������fv�rCt(��������j+������������������«�������j1������������������«��������t(��������j+������������������«�������t,��������t.��������fv�rŒC|st,��������j2������������������rn¬t(��������j+������������������«�������}|t��������j4������������������v�rn…t7��������|t8��������«������r|j1������������������«��������nbt7��������|t:��������«������rd |j<������������������v�r|j1������������������«��������n3|r0|t>��������u�rt@��������jC������������������d d¬ «�������|j1������������������«��������nn�ŒOt��������j������������������|d ���d ¬«�������y�)NÚcalloutÚcoidsr���zlist item openrÄ��z list textTr#���Ú listelementz§ion title not allowed in list itemrž��r���zlist item close)"r(��Ú calloutmapÚ calloutidsrê��r���r¢���r����Úitemr½���r¼���r��rÊ��rP��rÓ��r’���r†���rõ��ru��rª��rï��r7��rU��rK��rJ��r«��rÅ��r��rÈ��r ��rÉ��rv���rM��r:���rÜ���)r,���Úitemtagr’���Ú continuationro��s��� r-���r÷��zList.translate_itemþ ��sÀ��€�Ø �9‰9˜ Ò !Ü'1×'<Ñ'<¸T¿\¹\Ó'JˆD�O‰O˜GÑ $ܘ4Ÿ8™8Ÿ=™=¨$¯/©/Ó:ˆÜ� ‰ �W˜Q‘ZÐ'7ˆ Ô8ä× Ñ ¤×!2Ñ!2Ó3ˆØ �9Š9Ø—I‘I�;¤ d£Ñ+ˆDÙ Ü × Ñ ˜TŸX™XŸ]™]¨D°$·,±,ÀÇÁÐWbÐ Ô càÜ!×+Ñ+Ó-°Ñ4ˆLÙÜ— ‘ ” Ü×"Ñ"Ó$¬´]Ð(CÑCä× Ñ Ó"×,Ñ,Ô.ô�×"Ñ"Ó$¬´]Ð(CÒCñ� ¤J×$4Ò$4àÜ×#Ñ#Ó%ˆDØ”u—z‘zÑ!ØÜ˜D¤$Ô'Ø—‘Õ Ü˜D¤)Ô,°À$Ç,Á,Ñ1NØ—‘Õ Ùàœ5‘=Ü—M‘MÐ"JÐQU�MÔVØ—‘Õ àñ/�ô0� � ‰ �W˜Q‘ZÐ'8ˆ Õ9r/���c�����������������ó ��—�t��������j������������������d|�«������rd}|S�t��������j������������������d|�«������rd}|S�t��������j������������������d|�«������rd}|S�t��������j������������������d|�«������rd}|S�t��������j������������������d |�«������rd }|S�J�‚) zoReturn the numbered list style ('arabic'...) of the list item index. Return None if unrecognized style.z ^\d+[\.>]$râ��z ^[ivx]+\)$rå��z ^[IVX]+\)$ræ��z ^[a-z]\.$rã��z ^[A-Z]\.$rä��)r<���r=���)r*��rÑ���s��� r-���Ú calc_stylezList.calc_style$ ��s•���€�ô� �8‰8�M 5Ô )؈Eð�ˆ ô��X‰X�m UÔ +Ø ˆEð�ˆ ô��X‰X�m UÔ +Ø ˆEð�ˆ ô ��X‰X�l EÔ *Ø ˆEð �ˆ ô ��X‰X�l EÔ *Ø ˆEð�ˆ ð� �5r/���c�����������������óú���—�d„�}|�dd�}�|dk(��r t��������|�«������}|S�|dk(��r �||�«������}|S�|dk(��r �||�«������}|S�|dk(��rt��������|�«������t��������d«������z ��d z���}|S�|d k(��rt��������|�«������t��������d «������z ��d z���}|S�J�‚) z\Return the ordinal number of (1...) of the list item index for the given list style.c�����������������óÌ���—�|�j������������������«�������}�ddddœ}d}t��������t��������|�«������«������D�]4��}||�|������}|dz���t��������|�«������k��r||�|dz���������|kD��r||z��}Œ0||z ��}Œ6�|S�)Nr���r���é ���)r”���r²���Úxr���)ró��rh��r‘���)ÚromanÚdigitsrn���r”���Údigits��� r-���Ú roman_to_intz%List.calc_index.<locals>.roman_to_int: ��s|���€�Ø—K‘K“MˆEØ 1¨2Ñ.ˆF؈FÜœ3˜u›:Ö&�ؘu Q™xÑ(�à�q‘5œ3˜u›:Ò%¨&°°q¸1±u±Ñ*>ÀÒ*Fؘe‘O‘Fà˜e‘O‘Fð �'ð�ˆMr/���Nr€���râ��rå��ræ��rã��rÇ���r���rä��ÚA)r+��Úord)r*��rÑ���r ��rê��s��� r-���Ú calc_indexzList.calc_index6 ��s¹���€�ò ð��c�r� ˆØ �HÒ Ü˜%“jˆGð�ˆð��lÒ "Ù" 5Ó)ˆGð�ˆð��lÒ "Ù" 5Ó)ˆGð�ˆð ��lÒ "ܘ%“j¤3 s£8Ñ+¨aÑ/ˆGð �ˆð ��lÒ "ܘ%“j¤3 s£8Ñ+¨aÑ/ˆGð�ˆð� �5r/���c�����������������ó†��—�|�j�������������������dv�sJ�‚|�j������������������r¥|�j������������������|�j������������������«������}||�j������������������k7��r't��������j ������������������d|�j������������������›d|›�d¬«�������|�j ������������������|�j������������������|«������}||�j������������������k7��r(t��������j ������������������d|�j������������������›d|›�d¬«�������yyy)zºCheck calculated self.ordinal (1,2,...) against the item number in the document (self.index) and check the number style is the same as the first item (self.number_style).©rÿ��rü��zlist item style: expected z got r���r4���zlist item index: expected N)r(��r*��r��rë��r:���r ���r��rê��)r,���rÑ���rê��s��� r-���Ú check_indexzList.check_indexU ��s ���€�ð��y‰yÐ3Ñ3Ð3Ð3Ø �:Š:Ø—O‘O D§J¡JÓ/ˆEؘ×)Ñ)Ò)Ü—’È×IZÓIZÑ\aÐ bÐkl�ÔmØ—o‘o d§j¡j°%Ó8ˆGؘ$Ÿ,™,Ò&Ü—’ÈÏËÑW^Ð _Ðhi�Õjð�'ð � r/���c�����������������ó.��—�t��������t��������j������������������«������}|�j������������������dk7��r|j ������������������g�d¢«������}|j ������������������t ��������|�j ������������������j������������������«�������«������«������}|r&|�j������������������ddj������������������|«������z��d¬«�������yy)z, Check that all necessary tags are present. rô��)r«���ré��rö��zmissing tag(s): %sr"���Trž��N) r���ÚListsÚTAGSr(��Ú differencer†���r����rˆ���rÜ���r8���)r,���rè��Úmissings��� r-���Ú check_tagszList.check_tagsb ��sn���€�ä”5—:‘:‹ˆØ �9‰9˜ Ò !Ø—?‘?Ò#=Ó>ˆDØ—/‘/¤$ t§x¡x§}¡}£Ó"7Ó8ˆÙ Ø �J‰JÐ+¨c¯h©h°wÓ.?Ñ?ÀdˆJÕ Kð� r/���c�����������������ón ��—�t���������j������������������|�«�������|�j������������������«�������dv�r&t��������j ������������������d|�j������������������«�������z��«�������t ��������j ������������������j������������������|�«�������|�j������������������j������������������«�������j������������������«�������}dD�] ��}||v�sŒ||=�Œ �|�j������������������r|�j������������������|�j������������������«������|d<���t��������j������������������|«�������t��������j������������������|«�������|�j!������������������|dg«�������|�j#������������������«��������|�j$������������������dv�rz|�j&������������������j)������������������d«������|�_��������|�j*������������������|�j,������������������vrBt��������j/������������������d|�j*������������������z��«�������|�j0������������������x|�j&������������������d<���|�_��������t ��������j2������������������|�j4������������������j2���������������������|�_��������|�j9������������������«��������d|�j&������������������v�r’t;��������|�j&������������������d���«������}t=��������j>������������������d |«������}|rNtA��������|jC������������������d «������«������}t;��������|«������|�j&������������������d <���t;��������d |z ��«������|�j&������������������d <���n|�j/������������������d|z��«�������tE��������|�j6������������������jF������������������|�j&������������������«������\��}}|rtH��������jK������������������|d¬«�������d|�_&��������tN��������jQ������������������«�������|�u�rût��������jR������������������së|�xjL������������������d z ��c_&��������t;��������|�jL������������������«������tT��������j&������������������d<���|�j$������������������dv�r|�jW������������������«��������|�j$������������������dv�r%tX��������j[������������������«��������|�j]������������������«��������n8|�j$������������������dk(��r|�j_������������������«��������nta��������d|�jb������������������z��«������‚tN��������jQ������������������«�������|�u�rt��������jR������������������sŒë|rtH��������jK������������������|d¬«�������|�j$������������������dk(��r3td��������jg������������������|�jL������������������«�������td��������ji������������������«��������t ��������j ������������������jk������������������«��������tm��������t ��������j ������������������«������r7t;��������t ��������j ������������������d���jL������������������«������tT��������j&������������������d<���|�jo������������������«��������y�)N)re��rd��Úqandazold %s list syntax)ré��r’���r*��rÑ���rè��r��zillegal numbered list style: %srj��z ^(\d{1,2})%?$r���Ú labelwidthéd���Ú itemwidthz#illegal attribute value: width="%s"z list openrÄ��r���Ú listindex)Úbulletedrÿ��rü��rô��zillegal [%s] list typez list closerü��r€���)8rr��r«��r‚��r:���Ú deprecatedrP��r��ru���r™���rò��r���r*��r��rK��r��rJ��r¯��r¨��r(��r���r7���rë��Ú NUMBER_STYLESrÜ���rÑ���rè��r}��r����r��r¿���r<���r=���r+��rŽ���r¢���r†���r½���r¼���rê��r7��rU��rÅ��r6���r��r��rï��r÷��rú��r;��ry��rÿ��r¢��Ú listcloserQ��r‘���rª��)r,���rg���r±���r²���r™���r��rš���r›���s��� r-���r«��zList.translatek ��sh��€�Ü×Ñ Ô%Ø �?‰?Ó Ð EÑ EÜ × Ñ Ð3°d·o±oÓ6GÑGÔ HÜ � ‰ ×ј$ÔØ—‘×!Ñ!Ó#×(Ñ(Ó*ˆÛ+ˆAØ�EŠzؘ!‘Hð�,ð� �:Š:à!Ÿ_™_¨T¯Z©ZÓ8ˆE�'‰NÜ×ј5Ô!Ü×јeÔ$Ø ×јe f XÔ.Ø ×ÑÔØ �9‰9Ð/Ñ /Ø $§¡× 3Ñ 3°GÓ <ˆDÔ Ø× Ñ ¨×(:Ñ(:Ñ:Ü— ‘ Ð?À$×BSÑBSÑSÔTà?C¿z¹zÐI�—‘ Ñ(¨4Ô+<Ü—:‘:˜dŸo™o×2Ñ2Ñ3ˆŒØ �‰ÔØ �d—o‘oÑ %ä�D—O‘O GÑ,Ó-ˆAÜ—‘Ð*¨AÓ.ˆBÙÜ  §¡¨!£Ó-� Ü03°J³�—‘  Ñ-Ü/2°3¸Ñ3CÓ/D�—‘  Ò,à— ‘ Ð@À1ÑDÔEܘdŸh™hŸm™m¨T¯_©_Ó=‰ ˆˆdÙ Ü �L‰L˜ [ˆLÔ 1؈Œ ä×ÑÓ  DÑ(´×1AÒ1AØ �LŠL˜AÑ �LÜ/2°4·<±<Ó/@ŒH× Ñ   Ñ ,Ø�y‰yÐ3Ñ3Ø× Ñ Ô"Ø�y‰yÐ?Ñ?Ü— ‘ ” Ø×#Ñ#Õ%Ø—‘˜iÒ'Ø×$Ñ$Õ&ä$Ð%=ÀÇ Á Ñ%LÓMÐMô�×ÑÓ  DÑ(´×1AÓ1Añ� Ü �L‰L˜ \ˆLÔ 2Ø �9‰9˜ Ò !Ü × Ñ  § ¡ Ô -Ü × Ñ Ô "Ü � ‰ �‰ÔÜ Œu�z‰zŒ?Ü/2´5·:±:¸b±>×3IÑ3IÓ/JŒH× Ñ   Ñ ,Ø ×ÑÕr/���N)rF���rG���rH���r"��r.���r7��r:��r¢��rI��rú��r÷��rl��r��r��r��r��r«��rJ���r/���r-���r ��r ��¿ ��se���„�ØV€Mò!ò 0òòLòò<ò$$:ðL�ñó�ðð"�ñó�ðò< kòLó;r/���r ��c�������������������óD���—�e�Zd�ZdZeZdZdZdZd„�Z d„�Z d„�Z d„�Z d „�Z d „�Zy ) r��zList of List objects.zlistdef-)r ��rÿ��rô��rü��)r†���r«���r��r’���ré��rö��c�����������������óX���—�t���������j������������������|�«�������g�|�_��������i�|�_��������d�|�_��������y�rE���)r±��r.���r��rè��rÓ��r+���s��� r-���r.���zLists.__init__° ��s&���€�Ü×Ñ Ô%؈Œ ؈Œ ؈Õr/���c�����������������óŽ��—�t��������j������������������d«������t��������j������������������t��������j������������������«������t��������j������������������t��������j ������������������«������t��������j������������������t ��������j ������������������«������t��������j������������������t��������j ������������������«������t��������j������������������t��������j ������������������«������g|�_ ��������y�rÛ��) r<���rŠ���rJ��r÷��rP��r´��rQ��rR��rL��rÓ��r+���s��� r-���r��zLists.initialize¶ ��sr���€�ä �J‰J�zÓ "Ü �J‰J”}×,Ñ,Ó -Ü �J‰J”u×'Ñ'Ó (Ü �J‰J”v×(Ñ(Ó )Ü �J‰J”v×(Ñ(Ó )Ü �J‰J”z×,Ñ,Ó -ð  ˆÕr/���c�����������������óR���—�t���������j������������������|�|«�������|�j������������������|«�������y�rE���©r±��r7��Ú load_tagsrÞ��s��� r-���r7��z Lists.loadÀ ��ó���€�Ü×јD (Ô+Ø �‰�xÕ r/���c�����������������óÊ��—�t��������|j������������������«�������«������D�]Ç��}t��������j������������������d|«������}|sŒ|j ������������������d«������}||�j ������������������v�r|�j ������������������|���}n t ��������«�������}t��������|j������������������|d«������|«�������t��������|j������������������«�������«������D�],��}||�j������������������vsŒt��������j������������������d|›d|›�«�������Œ.�||�j ������������������|<���ŒÉ�y)zB Load listtags-* conf file sections to self.tags. z^listtags-(?P<name>\w+)$r@���rJ���r¹���z] contains illegal list tag: N© r†���rˆ���r<���r=���rŽ���rè��r ���r·���r7���r��r:���r ���©r,���r��r��r™���r@���rh���r±���s��� r-���r)��zLists.load_tagsÄ ��s²���€�ô�˜HŸM™M›OÖ,ˆGÜ—‘Ð5°wÓ?ˆBÚØ—x‘x Ó'�ؘ4Ÿ9™9Ñ$ØŸ ™  $™‘Aä › �AܘhŸl™l¨7°BÓ7¸Ô;ܘaŸf™f›hž�AØ § ¡ Ò)ÜŸšÒPWÑYZÐ([Õ\ð�(ð�#$�— ‘ ˜$’ñ�-r/���c�����������������óØ���—�t���������j������������������|�«�������|�j������������������D�]F��}|j������������������t��������j ������������������vrt ��������d|j������������������z��«������‚|j������������������«��������ŒH�y�)Nz[%s] illegal type)r±��r¢��rQ��r(��r��ÚTYPESr ���ry��r»��s��� r-���r¢��zLists.validateÖ ��sL���€�Ü×Ñ Ô%Ø—”ˆAà�v‰vœUŸ[™[Ñ(ÜÐ 3°a·i±iÑ ?Ó@Ð@Ø �J‰J�Lñ �r/���c�����������������ó¢���—�t���������j������������������|�«�������t��������|�j������������������j ������������������«�������«������D�]��\��}}t ��������d|z���|«�������Œ�y�)Nz listtags-©r±��r:��r†���rè��rª���rÀ���©r,���r±���r²���s��� r-���r:��z Lists.dumpÞ ��s<���€�Ü×јDÔ!ܘŸ™Ÿ™Ó*Ö+‰DˆAˆqÜ ˜ q™¨!Õ ,ñ�,r/���N)rF���rG���rH���rI���r ��r·��r¶��r/��r��r.���r��r7��r)��r¢��r:��rJ���r/���r-���r��r��© ��s7���„�ÙØ€JØ €FØ :€EØ =€Dò ò  ò!ò$ò$ó-r/���r��c�������������������ó*���—�e�Zd�Zd„�Zd„�Zd„�Zd„�Zd„�Zy)rl��c�����������������ó.���—�t���������j������������������|�«�������y�rE���)rr��r.���r+���s��� r-���r.���zDelimitedBlock.__init__å ��s���€�Ü×јtÕ$r/���c�����������������ó2���—�t���������j������������������|�||«�������y�rE���rÃ��rÄ��s��� r-���r7��zDelimitedBlock.loadè ��rÅ��r/���c�����������������óD���—�t���������j������������������|�«�������d„�}�|d«�������y�)Nc�����������������ód���—�t���������j������������������j������������������|�›t��������j������������������›�«������S�rE���rš��r~���s��� r-���r›��z%DelimitedBlock.dump.<locals>.<lambda>í ��rœ��r/���r'���rÈ��rÉ��s��� r-���r:��zDelimitedBlock.dumpë ��rÊ��r/���c�����������������ó,���—�t���������j������������������|�«������S�rE���©rr��rI��r+���s��� r-���rI��zDelimitedBlock.isnextð ��ó���€�Ü×#Ñ# DÓ)Ð)r/���c�����������������óÒ��—�t���������j������������������|�«�������t��������j������������������«��������|�j ������������������t ��������j ������������������«�������d|�j������������������j������������������vr3t��������j������������������|�j������������������«�������t ��������j������������������«��������d|�j������������������v�r3t��������|�j������������������d���dd«������}|D�]��}d|�j������������������|dz���<���Œ�|�j������������������«��������|�j������������������j������������������}d|v�r#t��������j������������������|�j������������������d¬«��������nOt!��������«�������rG|�j"������������������d k(��r8t$��������j'������������������d «�������t��������j������������������|�j������������������d¬«��������nþ|�j������������������j(������������������}t+��������||�j������������������«������}|�j-������������������«�������d z���}d |v�rnt.��������j1������������������||�j������������������«������\��}}t2��������j5������������������||d z���¬«�������t6��������j9������������������|�«�������t2��������j5������������������||dz���¬«��������n0t.��������j1������������������||�j������������������d¬«������d���}t��������j������������������|�j������������������d¬«������}|�j������������������j:������������������}|�j������������������j<������������������} t>��������jA������������������||«������}|�j������������������jB������������������r+tE��������|�j������������������jB������������������||�j������������������«������}t>��������jA������������������|| «������}t.��������j1������������������||�j������������������d¬«������d���}t2��������j5������������������tG��������jH������������������|||«������|¬«�������tK��������|�j-������������������«�������dz���|«�������t��������jM������������������«�������r|�jO������������������d|�jP������������������«�������n6t��������j������������������«�������} tS��������jT������������������|�j������������������| «������sJ�‚|�jW������������������«��������y�)Nr¨��rv���rJ���r��r'���r��T)Ú same_filezblockdef-backendz Backend Blockz blockÚ sectionbodyz openrÄ��z closerÎ��r���rÐ��r���z block closeúmissing closing delimiter),rr��r«��r��rï��r¯��rJ��rg���r}��rv���rK��r��r���ry���r¨��rÊ��rt��rL���ry��r:���r\���r��rŸ���r‚��r‡���rÏ��r½���r¼���rÐ��rÑ��ru��rv��r7��r2���rÎ���ró���r���rÔ��r1���rF��rÜ���r����r<���r=���rª��) r,���rv���r��r��r@���rš���r›���rÕ��ru��rv��rt��s ��� r-���r«��zDelimitedBlock.translateó ��s×��€�Ü×Ñ Ô%Ü� ‰ Œ Ø ×Ñœm×1Ñ1Ô2Ø ˜Ÿ™×0Ñ0Ñ 0Ü × Ñ ˜tŸ™Ô /Ü × !Ñ !Ô #Ø ˜Ÿ™Ñ 'Ü# D§O¡O°IÑ$>ÀÐDYÓZˆGÛ!�Ø68�—‘ ¨Ñ 2Ò3ð�"à ×ÑÔØ—/‘/×)Ñ)ˆØ �WÑ Ü × Ñ ˜dŸn™n¸Ð Ö =Ü ŒV˜Ÿ ™ Ð(:Ò:Ü �N‰N˜?Ô +Ü × Ñ ˜dŸn™n¸Ð Ö =à—‘×/Ñ/ˆHÜ! (¨D¯O©OÓ<ˆHØ—?‘?Ó$ xÑ/ˆDØ Ñ'ä#×0Ñ0°¸4¿?¹?ÓK‘ ��dÜ— ‘ ˜T¨°©� Ô8Ü×&Ñ& tÔ,Ü— ‘ ˜T¨°©� Ö9ä×*Ñ*¨8°T·_±_ÈdÐ*ÓSÐTUÑV�Ü×(Ñ(¨¯©À4Ð(ÓH�ØŸ/™/×1Ñ1�ØŸ?™?×3Ñ3�Ü—x‘x  gÓ.�Ø—?‘?×)Ò)Ü'¨¯©×(>Ñ(>ÀÀdÇoÁoÓV�DÜ—x‘x  hÓ/�ä×*Ñ*¨8°T·_±_ÐPTÐ*ÓUÐVWÑX�Ü— ‘ œU×0Ñ0°°t¸TÓBÈ$� ÔOÜ �$—/‘/Ó# nÑ4°dÔ ;Ü �:‰:Œ<Ø �J‰JÐ2°D·J±JÕ ?äŸ ™ › ˆIÜ—8‘8˜DŸN™N¨IÔ6Ð 6Ð6Ø ×ÑÕr/���NrÖ��rJ���r/���r-���rl��rl��ä ��s���„�ò%ò0òò *ó.r/���rl��c�������������������ó*���—�e�Zd�ZdZeZdZd„�Zd„�Zd„�Z y)ÚDelimitedBlockszList of delimited blocks.z blockdef-c�����������������ó.���—�t���������j������������������|�«�������y�rE���©r±��r.���r+���s��� r-���r.���zDelimitedBlocks.__init__) ��ó���€�Ü×Ñ Õ%r/���c�����������������ó0���—�t���������j������������������|�|«�������y)z/Update blocks defined in 'sections' dictionary.NrÝ��rÞ��s��� r-���r7��zDelimitedBlocks.load, ��s���€�ä×јD (Õ+r/���c�����������������ó.���—�t���������j������������������|�«�������y�rE���)r±��r¢��r+���s��� r-���r¢��zDelimitedBlocks.validate0 ��rC��r/���N) rF���rG���rH���rI���rl��r·��r¶��r.���r7��r¢��rJ���r/���r-���r@��r@��$ ��s���„�Ù#Ø€JØ €Fò&ò,ó&r/���r@��c�������������������ó¦���—�e�Zd�ZdZ�eddd¬«������Zd„�Zd„�Zd„�Zd „�Z d „�Z d „�Z d „�Z d „�Z d„�Zd„�Zdd„Zd„�Zd„�Zdedej*������������������e���fd„Zd„�Zy)ÚTable)ÚpsvÚcsvÚdsvr"���z:|\nzS((?<!\S)((?P<span>[\d.]+)(?P<op>[*+]))?(?P<align>[<\^>.]{,3})?(?P<style>[a-z])?)?\|)rI��rJ��rH��c�����������������óº���—�t���������j������������������|�«�������|�xj������������������dz ��c_��������d|�_��������d�|�_��������d�|�_��������d�|�_��������d�|�_��������g�|�_��������g�|�_ ��������y�)N)r;���rè��r��rH��) rr��r.���rx��r;���r��rè��ÚabswidthÚpcwidthÚrowsÚcolumnsr+���s��� r-���r.���zTable.__init__= ��sS���€�Ü×јtÔ$Ø ×ÒÐ<Ñ<ÕàˆŒ ؈ŒØˆŒ àˆŒ ؈Œ ؈Œ ؈� r/���c�����������������ó2���—�t���������j������������������|�||«�������y�rE���rÃ��rÄ��s��� r-���r7��z Table.loadJ ��rÅ��r/���c�����������������ón���—�t���������j������������������|�«�������d„�}�|d|�j������������������z���«��������|d«�������y�)Nc�����������������ód���—�t���������j������������������j������������������|�›t��������j������������������›�«������S�rE���rš��r~���s��� r-���r›��zTable.dump.<locals>.<lambda>O ��rœ��r/���úformat=r'���)rr��r:��r;���rÉ��s��� r-���r:��z Table.dumpM ��s-���€�Ü×ј4Ô ÙHˆÙ ˆi˜$Ÿ+™+Ñ%Ô&Ù ˆb� r/���c�����������������óÂ��—�t���������j������������������|�«�������|�j������������������t��������j������������������vr |�j ������������������d|�j������������������z��d¬«�������|�j ������������������xs�d|�_��������|�j ������������������g}|t��������|�j������������������j������������������«�������«������D��cg�c] ��}d|v�sŒ|d���‘Œ�c}z ��}|D�]+��}|t��������j ������������������vsŒ|�j ������������������d|z��d¬«�������Œ-�|�j������������������r+t��������j������������������d|�j������������������z���dz���«������|�_ ��������y�t��������j������������������€|�j ������������������d«�������y�t��������j ������������������€|�j ������������������d «�������y�y�c�c}w�) Nzillegal format=%sTrž��r³��rè��zmissing section: [tabletags-%s]r»���z(missing [miscellaneous] entry: pagewidthz(missing [miscellaneous] entry: pageunits)rr��r¢��r;���rG��ÚFORMATSrÜ���rè��r†���r{��rð��rR��r��ÚastÚ literal_evalr‡���Ú pagewidthÚ pageunitsrñ��s��� r-���r¢��zTable.validateS ��s ��€�Ü×јtÔ$Ø �;‰;œeŸm™mÑ +Ø �J‰JÐ*¨T¯[©[Ñ8¸tˆJÔ DØ—I‘IÒ* ˆŒ Ø— ‘ ˆ{ˆØ ¤D¨¯©×);Ñ);Ó)=Ô$>ÓNÑ$>˜qÀ&ÈAÂ+��6“Ð$>ÑNÑNˆÛˆAØœŸ ™ Ò#Ø— ‘ Ð<¸qÑ@Àt� ÕLð�ð� �>Š>ä ×-Ñ-¨c°D·N±NÑ.BÀSÑ.HÓIˆD�Nô�× Ñ Ð %Ø �J‰JÐAÕ BÜ × Ñ Ð %Ø �J‰JÐAÕ Bð�&ùò�Os ��� EÂ$Ec�����������������óä��—�|�j�������������������}|�j������������������}|�j������������������}t��������t��������j ������������������«������}d}t ��������|�j������������������j������������������«�������«������D�]â��\��}}|dk(��r)||�j������������������vr|�j������������������d|›d|›�«�������Œ1|}Œ4|dk(��r-|t��������j������������������vr|�j������������������d|›d|›�«�������Œc|}Œf|dk(��r|}Œn|dk(��sŒtt��������j������������������d|«������rt��������|d d �«������d kD��r|�j������������������d|›d|›�«�������Œ³t��������|d d �«������d z ��t��������j ������������������z��}t��������|d d �«������}Œä�|st��������j ������������������|���}|d k(��r%t#��������|«������d kD��r@|�j������������������d|z��«�������d}n)t%��������j&������������������|«������s|�j������������������d|z��«�������||�j(������������������_���������||�j(������������������_��������||�j(������������������_��������||�_��������||�_��������y )z$Validate and parse table attributes.g������Y@r;���zillegal r¥���rè��r��rj��z ^\d{1,3}%$Nr€���r��rI��r���zillegal csv separator=%sr"���z(illegal regular expression: separator=%s)r;���rè��r��rD��r‡���rX��r†���r���rª���rU��rÜ���rR��r<���r=���r+��rG��Ú SEPARATORSr‘���r���r)��r}��rL��rM��)r,���r;���rè��r��rL��rM��r±���r²���s��� r-���Úvalidate_attributeszTable.validate_attributesg ��s§��€�ð�—‘ˆØ�y‰yˆØ—N‘Nˆ Üœ×)Ñ)Ó*ˆØˆÜ˜Ÿ™×.Ñ.Ó0Ö1‰DˆAˆqØ�HŠ}ؘDŸL™LÑ(Ø—J’J²!±QÐ7Õ8à‘FØ�f’ØœFŸK™KÑ'Ø—J’J²!±QÐ7Õ8à‘DØ�kÒ!Ø‘ Ø�g“Ü—x‘x  ¨qÔ1´S¸¸3¸B¸³[À3Ò5FØ—J’J²!±QÐ7Õ8ä$ Q s¨ V›}¨sÑ2´V×5EÑ5EÑE�HÜ# A c r F›m‘Gð%�2ñ(�Ü×(Ñ(¨Ñ0ˆIØ �UŠ?Ü�9‹~ Ò!Ø— ‘ Ð5¸ ÑAÔBØ‘ ä—;‘;˜yÔ)Ø— ‘ ÐEÈ ÑQÔRØ!'ˆ�‰ÔØ#ˆ�‰ÔØ$-ˆ�‰Ô!Ø ˆŒ ؈� r/���c�����������������óx���—�|�j������������������d|«������}|r|t��������j������������������v�sJ�‚t��������j������������������|���S�)Nrè��)r•��rR��rè��)r,���r”��rè��s��� r-���Úget_tagszTable.get_tags’ ��s5���€�Ø�~‰~˜f fÓ-ˆÙ˜¤§ ¡ Ñ+Ð,Ð+Ü�{‰{˜4Ñ Ð r/���c�����������������óê���—�|€yt��������|�j������������������j������������������«�������«������}|j������������������«��������|D�]$��}|j ������������������|«������sŒ|�j������������������|���c�S��|�j ������������������d|z��«�������y)zN Return the style dictionary whose name starts with 'prefix'. Nzmissing style: %s*)r†���r{��rˆ���ÚsortÚ startswithrÜ���)r,���Úprefixr/��r@���s��� r-���Ú get_stylezTable.get_style— ��sh���€�ð� ˆ>ØÜ�T—[‘[×%Ñ%Ó'Ó(ˆØ � ‰ Œ ÛˆDØ�‰˜vÕ&Ø—{‘{ 4Ñ(Ò(ð�ð� �J‰JÐ+¨fÑ4Ô 5Ør/���c����������� ������óŽ ��—�d}d}t��������j������������������|«������}t��������j������������������|«������}t��������|«������}t��������j������������������d|«������r=t ��������t ��������|«������«������D�]%��}|�j ������������������j������������������t��������«�������«�������Œ'�nÿt��������j������������������d|«������D�]æ��} |j������������������| «������} | s|j������������������| «������} | rŸt ��������| j������������������«�������j������������������d«������xs�d«������} t ��������| «������D�]d��}|�j ������������������j������������������t��������| j������������������d«������| j������������������d«������|�j������������������| j������������������d «������«������«������«�������Œf�ŒÈ|�j������������������d | z��|�j������������������«�������Œè�|�j ������������������D�]v��} | j ������������������xs'�|xs#�t"��������j$������������������j������������������d «������xs�d | _��������| j&������������������xs'�|xs#�t"��������j$������������������j������������������d «������xs�d| _��������Œx�d} d} d}|�j ������������������D�]Z��} | j(������������������sŒ| j(������������������d���dk(��r| t ��������| j(������������������dd�«������z ��} n|t ��������| j(������������������«������z ��}| dz ��} Œ\�| dkD��r$|dkD��r|�j������������������d|z��|�j������������������«�������| dkD��}| t+��������|�j ������������������«������k��r‘| dk��rŒ|r1t-��������d| z ��«������t-��������t+��������|�j ������������������«������| z ��«������z ��}nd}|�j ������������������D�]H��} | j(������������������rŒ|r"t��������t ��������|«������«������dz���| _��������| |z ��} Œ4t��������|«������| _��������||z ��}ŒJ�d} |�j ������������������D�]î��} |rt-��������| j(������������������dd�«������| _��������n t-��������| j(������������������«������|z ��dz��| _��������|�j0������������������| j.������������������dz ��z��| _��������t2��������j4������������������dv�r)dt7��������j8������������������| j0������������������d«������z��| _��������n'dt7��������j8������������������| j0������������������«������z��| _��������| | j.������������������z ��} t ��������| j.������������������«������| _��������Œð�t7��������j8������������������| «������dkD��r |�j������������������d|z��|�j������������������«�������yt7��������j8������������������| «������dk��r |�j������������������d|z��|�j������������������«�������yy)zk Build list of column objects from table 'cols', 'halign' and 'valign' attributes. zQ^((?P<count>\d+)\*)?(?P<align>[<\^>.]{,3})?(?P<width>\d+%?)?(?P<style>[a-z]\w*)?$zQ^((?P<count>\d+)\*)?(?P<width>\d+%?)?(?P<align>[<\^>.]{,3})?(?P<style>[a-z]\w*)?$r��rq���Úcountr���rj��ÚalignrÑ���zillegal column spec: %sÚhalignÚleftÚvalignÚtopr���r€���r%��Nz)mixed percent and proportional widths: %sr��)ÚcmÚmmÚinÚemz%.2frž���z%dztotal width exceeds 100%%: %sztotal width less than 100%%: %s)r<���rŠ���r¿���r=���rh��r+��rO��ru���r ���rs���rò��r7���rŽ���rc��rÜ���r����rg��r6���r���ri��rj��r‘���rD��rM��rL��r‡���rY��r���Úpy2round)r,���Úcolsrg��ri��ÚCOLS_RE1ÚCOLS_RE2r,��r-��r”���Úcolr™���re��r ��ÚpercentsÚpropsÚpcunitsrj��s��� r-���Ú parse_colszTable.parse_cols¦ ��sÚ��€�ð �hˆàgˆÜ�z‰z˜(Ó#ˆÜ�z‰z˜(Ó#ˆÜ�4‹yˆÜ �8‰8�H˜dÔ #Üœ3˜t›9Ö%�Ø— ‘ ×#Ñ#¤F£HÕ-ñ�&ô�—x‘x  ¨DÖ1�Ø—Z‘Z “_�ÙØŸ™ C›�BÙÜ § ¡ £× 2Ñ 2°7Ó ;Ò @¸qÓA�EÜ" 5ž\˜ØŸ ™ ×+Ñ+Ü" 2§8¡8¨GÓ#4°b·h±h¸wÓ6GØ#'§>¡>°"·(±(¸7Ó2CÓ#DóFõñ�*ð �—J‘JÐ8¸3Ñ>ÀÇ Á ÕKð�2ð�—<”<ˆCØŸ™Ò\ vÒ\´×1DÑ1D×1HÑ1HÈÓ1RÒ\ÐV\ˆCŒJØŸ™Ò[ vÒ[´×1DÑ1D×1HÑ1HÈÓ1RÒ[ÐV[ˆC�Jð� ð� ˆØˆØˆØ—<”<ˆCØ�y‹yØ—9‘9˜R‘= CÒ'ؤ C§I¡I¨c¨r NÓ 3Ñ3‘HàœS §¡›^Ñ+�EØ�Q‘‘ð � ð� �aŠ<˜E AšIØ �J‰JÐBÀTÑIÈ4Ï:É:Ô VؘQ‘,ˆà Œs�4—<‘<Ó Ò  X°¢^Ùܘc H™nÓ-´´c¸$¿,¹,Ó6GÈ!Ñ6KÓ0LÑL‘à�Ø—|”|�Ø—y“yÙÜ$'¬¨E« £O°cÑ$9˜œ Ø  EÑ)™ä$'¨£J˜œ Ø ™™ð�$ð�ˆØ—<”<ˆCÙÜ# C§I¡I¨c¨r NÓ3�• ä$ S§Y¡YÓ/°%Ñ7¸3Ñ>�” ØŸ=™=¨C¯K©K¸#Ñ,=Ñ>ˆCŒLÜ×ÑÐ#;Ñ;Ø%¬¯©°s·|±|ÀQÓ(GÑG�• à#¤e§n¡n°S·\±\Ó&BÑB�” Ø ˜Ÿ ™ Ñ #ˆHܘcŸk™kÓ*ˆC�Kð� ô� �>‰>˜(Ó # cÒ )Ø �J‰JÐ6¸Ñ=¸t¿z¹zÕ JÜ �^‰^˜HÓ %¨Ò +Ø �J‰JÐ8¸4Ñ?ÀÇÁÕ Lð�,r/���c�����������������óZ��—�g�}d}|�j�������������������D�]é��}|�j������������������|j������������������«������j������������������}|r»|j������������������|�j ������������������d<���|j ������������������|�j ������������������d<���|j������������������|�j ������������������d<���|j������������������|�j ������������������d<���t��������|«������|�j ������������������d<���t��������||�j ������������������«������}|st��������j������������������d«�������n|j������������������|«�������|dz ��}Œë�|r-t��������j������������������j!������������������|«������|�j ������������������d<���y y ) zB Generate column related substitution attributes. r���rg��ri��Ú colabswidthÚ colpcwidthÚ colnumberú-colspec dropped: contains undefined attributeÚcolspecsN)rO��r^��rÑ���Úcolspecrg��r���ri��rL��rM��r¿���rŸ���r:���r ���ru���r½���r¾���r8���)r,���rp��r”���rs��r~��rf���s��� r-���Úbuild_colspecszTable.build_colspecsö ��sì���€�ð�ˆØ ˆØ—<”<ˆCØ—m‘m C§I¡IÓ.×6Ñ6ˆGÙØ,/¯J©J�—‘ Ñ)Ø,/¯J©J�—‘ Ñ)Ø14·±�—‘  Ñ.Ø03· ± �—‘  Ñ-Ü/2°1«v�—‘  Ñ,ܘw¨¯©Ó8�ÙÜ—O‘OÐ$SÕTà—K‘K ”NØ �‰F‰Að� ñ� Ü*0¯.©.×*=Ñ*=¸dÓ*CˆD�O‰O˜JÒ 'ð� r/���c�����������������óh��—�i�}|�j�������������������j������������������dv��rt��������|�j������������������«������}|�j ������������������|«������}d}d}g�}d} �|j ������������������|«������xr�||���j ������������������|«������} | r| } nk|t��������|«������k\��rnÜ||���} |dz ��}| j ������������������dkD��rCt��������d| j ������������������«������D�]*��} || z���|vri�||| z���<���| j������������������«�������||| z������|<���Œ,�|| j������������������z ��}||k��r|j������������������| «�������||k\��r$|�j������������������j������������������|«�������|dz ��}g�}d}Œæ|�j�������������������j������������������dk(��r|�j������������������|«������|�_ ��������n �t��������|�j������������������«������D�]<��\��}}d} |D�]��} | j������������������rŒd} �n�| sŒ"t��������j!������������������d|dz���z��«�������Œ>�t��������|�j������������������«������D�]e��\��}}d} |D�]��} | | j������������������z ��} Œ�|dk(��r| }| k��rt��������j!������������������d|dz���z��«�������| |kD��sŒKt��������j!������������������d |dz���z��«�������Œg�y ) zr Parse the table source text into self.rows (a list of rows, each row is a list of Cells. )rH��rJ��r���Tr���rI��Fztable row %d: empty spanned rowz'table row %d: does not span all columnsz"table row %d: exceeds columns spanN)r}��r;���r‘���rO��Ú parse_psv_dsvr7���Úvspanrh��Ú clone_reserveÚspanru���rN��Ú parse_csvrË��Úreservedr:���r ���)r,���r’���r†��ÚcolcountÚ parsed_cellsÚriÚciÚrowr”���ÚresvÚcellÚjÚemptyÚrow_spanÚ header_spans��� r-���Ú parse_rowszTable.parse_rows ��s?��€�ð �ˆØ �?‰?× !Ñ ! ^Ò 3ܘ4Ÿ<™<Ó(ˆHØ×-Ñ-¨dÓ3ˆL؈B؈B؈C؈AØØ—|‘| BÓ'Ò@¨H°R©L×,<Ñ,<¸RÓ,@�Ùð� ‘DàœC  Ó-Ò-ØØ'¨™?�Dؘ‘F�AØ—z‘z A’~ô�"' q¨$¯*©*Ö!5˜AØ! A™v¨XÑ5Ø35 ¨¨a©Ñ 0Ø37×3EÑ3EÓ3G˜H R¨!¡VÑ,¨RÒ0ð�"6ð��d—i‘i‘�ؘ’>Ø—J‘J˜tÔ$ؘ’>Ø—I‘I×$Ñ$ SÔ)ؘ!‘G�BØ�CØ�Bð5�ð6��_‰_× #Ñ # uÒ ,ØŸ™ tÓ,ˆD�Iàä  §¡Ö+‰GˆB�؈EÛ�Ø—}“}Ø!�EÙð�ò�Ü—‘Ð AÀRÈ!ÁVÑ LÕMð�,ô�! §¡Ö+‰GˆB�؈HÛ�ؘDŸI™IÑ%‘ð�à�QŠwØ&� ؘ+Ò%Ü—‘Ð IÈRÐRSÉVÑ TÔUؘ+Ó%Ü—‘Ð DÈÈQÉÑ OÕPñ�,r/���c�����������������ó ��—�t���������j������������������|�j������������������j���������������������}|dk(��r |j������������������}n|dk(��r |j������������������}n |j ������������������}g�}t ��������||�j������������������«������\��}}|D�]9��}|j������������������|«�������||�j������������������||«������z ��}|j������������������|«�������Œ;�t��������j������������������j������������������|«������S�)zt Return a string of output markup from a list of rows, each row is a list of raw data text. rÃ��rÇ��) rR��rè��r}��ÚheadrowÚfootrowÚbodyrowr¢���r���ru���Úsubs_rowr½���r¾���r8���) r,���rN��Úrowtyperè��Úrtagrn���rš���r›���r‹��s ��� r-���Ú subs_rowszTable.subs_rowsN ��s®���€�ô ��{‰{˜4Ÿ?™?×/Ñ/Ñ0ˆØ �hÒ Ø—<‘<‰DØ ˜Ò Ø—<‘<‰Dà—<‘<ˆD؈ܘd D§O¡OÓ4‰ ˆˆdÛˆCØ �M‰M˜$Ô Ø �d—m‘m C¨Ó1Ñ 1ˆFØ �M‰M˜$Õ ð�ô��~‰~×"Ñ" 6Ó*Ð*r/���c����������� ������óæ��—�g�}d}|D��]f��}|j�������������������r||j������������������z ��}Œ |t��������|�j������������������«������k\��r�|S�|�j������������������|���}|j������������������xs �|j������������������|�j ������������������d<���|j ������������������xs �|j ������������������|�j ������������������d<���|j������������������|�j ������������������d<���|j������������������|�j ������������������d<���t��������|dz���«������|�j ������������������d<���t��������|j������������������«������|�j ������������������d<���|�j ������������������d���|�j ������������������d <���t��������||j������������������z���«������|�j ������������������d <���t��������|j������������������«������|�j ������������������d <���t��������|j������������������dz ��«������|�j ������������������d <���|t��������|�j������������������«������dz ��kD��rd }n |j������������������}|dk(��r |j������������������}n|j������������������xs �|j������������������}|�j������������������|«������} |�j������������������|«������\��} } |g}t��������j!������������������|| «������}t#��������|�j%������������������d|«������||�j ������������������«������}t��������j!������������������|| «������}|dk7��rŽ| j&������������������} | r€t)��������| |�j ������������������«������\��} }dj+������������������|«������j-������������������«�������}g�}t/��������j0������������������d|«������D�]-��}|t3��������j4������������������| g|j1������������������d«������|g«������z ��}Œ/�|dk(��r | j6������������������}n|dk(��r | j8������������������}n | j:������������������}t)��������||�j ������������������«������\��} }|t3��������j4������������������| g||g«������z���}||j������������������z ��}�Œi�|S�)z{ Substitute the list of Cells using the data tag. Returns a list of marked up table cell elements. r���rg��ri��ry��rz��r���r{��ÚcolspanÚcolstartÚcolendÚrowspanÚmorerowsr'���rÃ��rÎ���r5���z\n{2,}rÇ��)r†��r„��r‘���rO��rg��r���ri��rL��rM��r¿���r‚��ÚdatarÑ���r^��r—��r7��r2���ró���r•��rÒ��r¢���r8���r©���r<���rs���r���rÔ��ÚheaddataÚfootdataÚbodydata)r,���r‹��r˜��rn���r”���r���rs��r¡��Úcolstylerè��ru��rv��Úptagrš���r›���r’���re��Údtags��� r-���r—��zTable.subs_rowb ��så��€�ð �ˆØ ˆÜˆDØ�}Š}à�T—Y‘Y‘�ØØ”C˜Ÿ ™ Ó%Ò%Øð^�ˆ ð]�—,‘,˜q‘/ˆCØ(,¯ © Ò(A°s·z±zˆD�O‰O˜HÑ %Ø(,¯ © Ò(A°s·z±zˆD�O‰O˜HÑ %Ø-0¯\©\ˆD�O‰O˜MÑ *Ø,/¯K©KˆD�O‰O˜LÑ )Ü+.¨q°1©u«:ˆD�O‰O˜KÑ (Ü),¨T¯Y©Y«ˆD�O‰O˜IÑ &Ø*.¯/©/¸+Ñ*FˆD�O‰O˜JÑ 'Ü(+¨A°· ± ©MÓ(:ˆD�O‰O˜HÑ %Ü),¨T¯Z©Z«ˆD�O‰O˜IÑ &Ü*-¨d¯j©j¸1©nÓ*=ˆD�O‰O˜JÑ 'à”3�t—|‘|Ó$ qÑ(Ò(Ø‘à—y‘y�ؘ(Ò"àŸ:™:‘ð� Ÿ:™:Ò2¨¯©�Ø—=‘= Ó*ˆDØ $§ ¡ ¨hÓ 7Ñ ˆG�XØ�6ˆDÜ—8‘8˜D 'Ó*ˆDÜ §¡¨x¸Ó BØ $ d§o¡oó7ˆDä—8‘8˜D (Ó+ˆDؘ(Ò"Ø—~‘~�ÙÜ!)¨$°·±Ó!@‘J�D˜$ØŸ9™9 T›?×0Ñ0Ó2�DØ�DÜ "§¡¨°DÖ 9˜Ø¤× 3Ñ 3°T°F¸D¿J¹JÀtÓ<LÈtÈfÓ UÑU™ð�!:à˜(Ò"Ø—}‘}‘ؘHÒ$Ø—}‘}‘à—}‘}�Ü! $¨¯©Ó8‰JˆD�$Øœe×1Ñ1°4°&¸$ÀÀÓGÑGˆFØ �—‘‰NŠAði�ðj�ˆ r/���c����������� ������ób��—�g�}t��������j������������������t��������j������������������t��������j ������������������|«������«������|�j ������������������j������������������d¬«������} �|D�]*��}|j������������������|D��cg�c] ��}t��������|«������‘Œ�c}«�������Œ,� �|S�c�c}w�#�t��������$�r�|�j������������������dz��«�������Y�|S�w�xY�w)zm Parse the table source text and return a list of rows, each row is a list of Cells. T)rt��Úskipinitialspaceúcsv parse error: %s) rI��r��ÚioÚStringIOÚDEFAULT_NEWLINEr8���r}��r��ru���r ���re���rÜ���)r,���r’���rN��Úrdrr‹��r¡��s��� r-���r…��zTable.parse_csv  ��s����€�ð �ˆÜ�j‰jœŸ™¤_×%9Ñ%9¸$Ó%?Ó@Ø#'§?¡?×#<Ñ#<ÈtôUˆð 4Û�Ø— ‘ ±CÓ8±C¨DœT $�Z°CÑ8Õ9ñ�ð�ˆ ùò�9øÜò� 4Ø �J‰JÐ,¨sÑ2Õ 3؈ ð 4ús$���ÁB �Á*B Á< B �ÂB � B.Â-B.r’���rj���c�����������������ó”��‡�‡ —�g�Š ˆ ˆ�fd„}dj������������������|«������}d‰�j������������������j������������������z���}‰�j������������������j������������������}d}d}d}d}d} d} t ��������j ������������������||«������D�]í��} | ||| j ������������������«��������z ��} | j������������������d«������r| dd�| j������������������«�������z���} n��|| |||| «�������| j������������������«�������j������������������d «������}| j������������������«�������j������������������d «������}| j������������������«�������j������������������d «������}| j������������������«�������j������������������d «������} | r‰�j������������������| «������} d} | j������������������«�������}Œï�| ||d�z ��} �|| |||| «�������|d k(��rR‰ d���j������������������j������������������«�������dk7��r!‰�j������������������d|z��‰�j ������������������«�������‰ S�‰ j!������������������d«�������‰ S�)zf Parse list of PSV or DSV table source text lines and return a list of Cells. c����������� ������óü���•—�|xs�d}|dk(��r<t��������|«������d���}t��������|«������D�]��}‰j������������������t��������|�d||«������«�������Œ!�y�|dk(��r‰j������������������t��������|�|||«������«�������y�‰j ������������������d«�������y�)Nr#���Ú*r���r��zillegal table cell operator)r���rh��ru���r ���rÜ���) r¡��Ú span_specr#��Ú align_specrÑ���r„��r”���Úcellsr,���s ��� €€r-���Ú append_cellz(Table.parse_psv_dsv.<locals>.append_cellµ ��sr���ø€�Ø’�sˆBØ�SŠyÜ,¨YÓ7¸Ñ:�ܘtž�AØ—L‘L¤ d¨C°¸UÓ!CÕDñ�%à�s’Ø— ‘ œT $¨ °:¸uÓEÕFà— ‘ Ð8Õ9r/���r5���z(?ms)r���Nr'���rƒ���r€���r„��r#��rf��rÑ���rH��zmissing leading separator: %s)r8���r}��r��r;���r<���Úfinditerr����rÞ���rŽ���rò��r7���rc��r����r¡��r©���rÜ���rQ��) r,���r’���rµ��r��r;���r����r„��r#��rf��rÑ���r¡��r™���r´��s ���` @r-���r���zTable.parse_psv_dsv¯ ��s©��ù€�ð �ˆõ :ð��y‰y˜‹ˆØ˜dŸo™o×7Ñ7Ñ7ˆ Ø—‘×'Ñ'ˆØˆØˆØ ˆØˆØˆØˆÜ—+‘+˜i¨Ö.ˆBØ �D˜˜rŸx™x›zÐ*Ñ *ˆDØ�}‰}˜TÔ"ؘC˜R�y 2§8¡8£:Ñ-‘á˜D $¨¨E°5Ô9Ø—|‘|“~×)Ñ)¨&Ó1�Ø—\‘\“^×'Ñ'¨Ó-�ØŸ ™ ›×*Ñ*¨7Ó3�ØŸ ™ ›×*Ñ*¨7Ó3�ÙØ ŸN™N¨5Ó1�EØ�Ø—F‘F“H‰Eð�/ð� ��U�V� шÙ�D˜$  E¨5Ô1à �UŠ?Ø�Q‰x�}‰}×"Ñ"Ó$¨Ò*Ø— ‘ Ð:¸YÑFÈÏ É ÔSð�ˆ ð�— ‘ ˜!” ؈ r/���c�����������������óÄ ��—�t���������j������������������|�«�������t��������j������������������«��������g�|�_��������g�|�_��������i�}t ��������j������������������|«�������t��������j������������������|«�������|�j������������������|«�������|�j������������������«��������t��������j������������������|�j������������������d<���t��������j������������������|�j������������������d<���t��������|�j ������������������«������|�j������������������d<���t��������|�j"������������������«������|�j������������������d<���t��������j%������������������|�j&������������������«������}t��������j)������������������«�������r|�j+������������������d|�j,������������������«�������n6t��������j������������������«�������}t/��������j0������������������|�j&������������������|«������sJ�‚t3��������|«������dk(��r#t4��������j7������������������d|�j8������������������z��«�������y�|�j;������������������d«�������|j=������������������d «������}|so|�j>������������������j@������������������d k(��r,|d���jC������������������|�j>������������������jD������������������«������d z���}n*d}|�jG������������������|d�d �«������D�]��}||jH������������������z ��}Œ�|�jK������������������||j=������������������d «������|j=������������������d «������«�������t3��������|�j������������������«������|�j������������������d<���|�jM������������������«��������|�jO������������������|«�������tQ��������t3��������|�j ������������������«������«������|�j������������������d<���d�x}x}}|�j>������������������jR������������������D�]��} d|�j������������������| dz���<���Œ�|�j ������������������rZd|�j>������������������jR������������������v�rB|�jU������������������|�j ������������������dd �d«������}d|�j������������������d<���|�j ������������������d d��|�_��������|�j ������������������rZd|�j>������������������jR������������������v�rB|�jU������������������|�j ������������������dd��d«������}d|�j������������������d<���|�j ������������������d�d�|�_��������|�j ������������������r*|�jU������������������|�j ������������������«������}d|�j������������������d<���tW��������t��������jX������������������|�j>������������������jZ���������������������|�j������������������«������} t\��������j^������������������ja������������������| «������} |r| jc������������������d|d «������} |r| jc������������������d|d «������} |r| jc������������������d|d «������} t\��������je������������������| d¬«�������|�jg������������������«��������y�)NrX��rY��Ú tableabswidthÚ tablepcwidthr>��r���z[%s] table is emptyÚtablerp��rI��r���rg��ri��r‡��Úrowcountr'���r��rÃ��ú headrowsÚheadrowsrÇ��r€���ú footrowsÚfootrowsú bodyrowsÚbodyrowsrÄ��)4rr��r«��r��rï��rO��rN��rK��r��rJ��r¯��r\��r‡���rX��r���rY��r+��rL��rM��rÊ��rt��rF��rÜ���r����r<���r=���r‘���r:���r ���ry��r¨��r7���r}��r;���re��r��r���r„��rw��r��r’��r¿���rv���rš��rŸ���r��r��r½���r¾���r8���r§���r¼���rª��) r,���rg���r’���rt��rp��r���r½��r¿��rÁ��r��rº��s ��� r-���r«��zTable.translateá ��s¶��€�Ü×Ñ Ô%Ü� ‰ Œ àˆŒ ؈Œ ؈Ü×ј5Ô!ä×јeÔ$Ø ×јeÔ$Ø × Ñ Ô"ä'-×'7Ñ'7ˆ�‰˜ Ñ$Ü'-×'7Ñ'7ˆ�‰˜ Ñ$Ü+.¨t¯}©}Ó+=ˆ�‰˜Ñ(Ü*-¨d¯l©lÓ*;ˆ�‰˜Ñ'ä× Ñ  §¡Ó0ˆÜ �:‰:Œ<Ø �J‰JÐ2°D·J±JÕ ?äŸ ™ › ˆIÜ—8‘8˜DŸN™N¨IÔ6Ð 6Ð6Ü ˆt‹9˜Š>Ü �O‰OÐ1°D·L±LÑ@Ô AØ Ø ×јGÔ$Ø�y‰y˜Ó ˆÙà�‰×%Ñ%¨Ò.ؘA‘w—}‘} T§_¡_×%>Ñ%>Ó?À!ÑC‘à�Ø ×.Ñ.¨t°B°Q¨xÖ8�DؘDŸI™IÑ%‘Dð�9à �‰˜˜eŸi™i¨Ó1°5·9±9¸XÓ3FÔGä&)¨$¯,©,Ó&7ˆ�‰˜ Ñ#Ø ×ÑÔØ �‰˜Ôä&)¬#¨d¯i©i«.Ó&9ˆ�‰˜ Ñ#ð�*.Ð-ˆÐ-�8˜hØ—o‘o×-Ô-ˆFØ24ˆD�O‰O˜F YÑ.Ò /ð�.à �9Š9˜ T§_¡_×%<Ñ%<Ñ<Ø—~‘~ d§i¡i°°! n°hÓ?ˆHØ*<ˆD�O‰O˜JÑ 'ØŸ ™  ! "˜ ˆDŒIØ �9Š9˜ T§_¡_×%<Ñ%<Ñ<Ø—~‘~ d§i¡i°° n°hÓ?ˆHØ*<ˆD�O‰O˜JÑ 'ØŸ ™  # 2˜ˆDŒIØ �9Š9Ø—~‘~ d§i¡iÓ0ˆHØ*<ˆD�O‰O˜JÑ 'Üœ6Ÿ?™?¨4¯?©?×+CÑ+CÑDØŸ?™?ó,ˆä—‘×#Ñ# EÓ*ˆñ� Ø—M‘MÐ"4°hÀÓBˆEÙ Ø—M‘MÐ"4°hÀÓBˆEÙ Ø—M‘MÐ"4°hÀÓBˆEÜ� ‰ �U 'ˆ Ô*Ø ×ÑÕr/���N)rÕ��)rF���rG���rH���rU��r¡���r[��r.���r7��r:��r¢��r\��r^��rc��rw��r��r’��rš��r—��r…��r¿���Útypingr ��r ���r���r«��rJ���r/���r-���rG��rG��4 ��s‡���„�Ø#€GÙØ Ø à bô €Jò ò0òò Cò()òV!ò òNMò`Dò.?QóB+ò(<ò| ð0 #ð�0¨&¯+©+°dÑ*;ó�0ódMr/���rG��c�������������������ó:���—�e�Zd�ZdZeZdZdZd„�Zd„�Z d„�Z d„�Z d„�Z y ) ÚTablesúList of tables.z tabledef-)r~��r”��r•��r–��r¢��r£��r¤��rÒ��c�����������������ó<���—�t���������j������������������|�«�������i�|�_��������y�rE���)r±��r.���rè��r+���s��� r-���r.���zTables.__init__7 ��s���€�Ü×Ñ Ô%àˆ� r/���c�����������������óR���—�t���������j������������������|�|«�������|�j������������������|«�������y�rE���r(��rÞ��s��� r-���r7��z Tables.load< ��r*��r/���c�����������������óÊ��—�t��������|j������������������«�������«������D�]Ç��}t��������j������������������d|«������}|sŒ|j ������������������d«������}||�j ������������������v�r|�j ������������������|���}n t ��������«�������}t��������|j������������������|d«������|«�������t��������|j������������������«�������«������D�],��}||�j������������������vsŒt��������j������������������d|›d|›�«�������Œ.�||�j ������������������|<���ŒÉ�y)zC Load tabletags-* conf file sections to self.tags. z^tabletags-(?P<name>\w+)$r@���rJ���r¹���z] contains illegal table tag: Nr,��r-��s��� r-���r)��zTables.load_tags@ ��s²���€�ô�˜HŸM™M›OÖ,ˆGÜ—‘Ð6¸Ó@ˆBÚØ—x‘x Ó'�ؘ4Ÿ9™9Ñ$ØŸ ™  $™‘Aä › �AܘhŸl™l¨7°BÓ7¸Ô;ܘaŸf™f›hž�AØ § ¡ Ò)ÜŸšÒQXÑZ[Ð(\Õ]ð�(ð�#$�— ‘ ˜$’ñ�-r/���c�����������������ó°��—�t���������j������������������|�«�������t��������t��������|�j������������������«������«������D�]/��}|�j������������������|���j ������������������dk(��sŒ |�j������������������|���}�n �t ��������d«������‚|�j������������������D�]B��}||usŒ|j������������������€|j������������������|_��������|j�������������������Œ2|j������������������|_��������ŒD�d|�j������������������vr t ��������d«������‚|�j������������������d���}dD�]��}||vsŒt ��������d|z��«������‚�t��������|�j������������������j������������������«�������«������D�]ð��}||usŒ|j������������������€|j������������������|_ ��������|j������������������€|j������������������|_ ��������|j������������������€|j������������������|_��������|j������������������€|j������������������|_��������|j ������������������€|j ������������������|_��������|j"������������������€|j"������������������|_��������|j$������������������€|j$������������������|_��������|j&�������������������Œà|j&������������������|_��������Œò�t��������|�j������������������j������������������«�������«������D�]w��}|j������������������s|j������������������|_ ��������|j������������������s|j������������������|_��������|j ������������������s|j$������������������|_��������|j"������������������rŒg|j$������������������|_��������Œy�|�j������������������D�]��}|j������������������«��������Œ�y�)Nztabledef-defaultz#missing section: [tabledef-default]r³��z$missing section: [tabletags-default])r–��r¤��rÒ��z%missing [tabletags-default] entry: %s)r±��r¢��rh��r‘���rQ��ry��r ���r;���r��rè��r†���rð��r~��r”��r•��r–��r¢��r£��r¤��rÒ��)r,���r”���r³��r¸��r����r˜��s��� r-���r¢��zTables.validateR ��s?��€�Ü×Ñ Ô%ä”s˜4Ÿ;™;Ó'Ö(ˆAØ�{‰{˜1‰~×%Ñ%Ð);Ó;ØŸ+™+ a™.�Ùð�)ô �ÐAÓBÐ Bà—”ˆAØ˜ÒØ—8‘8Ð#Ø&Ÿ~™~�A”HØ—:‘:Ñ%Ø!(×!1Ñ!1�A•Jð �ð� ˜DŸI™IÑ %ÜÐBÓCÐ CØ—)‘)˜IÑ&ˆÛ7ˆCؘ'Ò!ÜÐ GÈ#Ñ MÓNÐNð�8ô��d—i‘i×&Ñ&Ó(Ö)ˆAØ˜ÒØ—9‘9Ð$Ø '§¡�A”IØ—9‘9Ð$Ø '§¡�A”IØ—9‘9Ð$Ø '§¡�A”IØ—9‘9Ð$Ø '§¡�A”IØ—:‘:Ð%Ø!(×!1Ñ!1�A”JØ—:‘:Ð%Ø!(×!1Ñ!1�A”JØ—:‘:Ð%Ø!(×!1Ñ!1�A”JØ—;‘;Ñ&Ø")×"3Ñ"3�A•Kð#�*ô&��d—i‘i×&Ñ&Ó(Ö)ˆAØ—9’9ØŸI™I�” Ø—9’9ØŸI™I�” Ø—:’:ØŸZ™Z�” Ø—:“:ØŸZ™Z�• ð�*ð�—”ˆAØ �J‰J�Lñ�r/���c�����������������ó¢���—�t���������j������������������|�«�������t��������|�j������������������j ������������������«�������«������D�]��\��}}t ��������d|z���|«�������Œ�y�)Nz tabletags-r1��r2��s��� r-���r:��z Tables.dump‰ ��s=���€�Ü×јDÔ!ܘŸ™Ÿ™Ó*Ö+‰DˆAˆqÜ ˜¨Ñ)¨1Õ -ñ�,r/���N) rF���rG���rH���rI���rG��r·��r¶��r��r.���r7��r)��r¢��r:��rJ���r/���r-���rÄ��rÄ��1 ��s.���„�ÙØ€JØ €FØ h€Dòò !ò$ò$5ón.r/���rÄ��c�������������������ób���—�e�Zd�ZdZd„�Zd„�Zd„�Zd„�Zdd„Zd„�Z �e d¬ «������d „�«�������Z dd „Z d „�Z y )ÚMacroszD^(?P<name>[\\]?\w(\w|-)*?)::(?P<target>\S*?)(\[(?P<attrlist>.*?)\])$c�����������������óð���—�g�|�_���������d�|�_��������g�|�_��������t��������«�������}|�j������������������|_��������d|_��������t��������j������������������|j ������������������«������|_ ��������|�j�������������������j������������������|«�������y�©Nr#���) r���rO��r��ÚMacroÚSYS_REr÷��rb��r<���rŠ���r—���ru���©r,���Úms��� r-���r.���zMacros.__init__” ��sW���€�؈Œ ؈Œ ؈Ôä ‹GˆØ—K‘KˆŒ ؈ŒÜ— ‘ ˜1Ÿ9™9Ó%ˆŒØ � ‰ ×ј1Õr/���c�����������������ó��—�|D��]��}t��������«�������}|j������������������|«�������|j������������������€ht��������|�j������������������«������D�]-��\��}}|j ������������������|j ������������������k(��sŒ |�j������������������|=��Œo�t ��������j������������������d|j ������������������z��«�������Œ“|�j������������������D�]K��}|j ������������������|j ������������������k(��sŒt ��������j������������������d|j������������������›|j������������������›�«��������Œì�|�j������������������j������������������|«��������Œ �y�)Nz"unable to delete missing macro: %szmacro redefinition: ) rÏ��r7��r@���rË��r���r÷��r:���r ���rß���rb��ru���)r,���r¶���r«���rÒ��r”���Úm2s��� r-���r7��z Macros.loadŸ ��sÇ���€�܈EÜ“ˆAØ �F‰F�5ŒMØ�v‰vˆ~ä& t§{¡{Ö3‘E�A�rØ—z‘z Q§Y¡YÓ.Ø ŸK™K¨˜NÙð�4ô �—O‘OÐ$HÈ1Ï9É9Ñ$TÕUð�Ÿ+œ+�BØ—z‘z Q§Y¡YÓ.ÜŸšÀaÇhÂhÐPQ×PVÒPVÐ(WÔXÙð�&ð �—K‘K×&Ñ& qÖ)ñ%�r/���c�����������������ó0��—�d„�}�|d«�������|�j�������������������dd��D�]q��}|j������������������j������������������dd«������›d|j������������������›|j������������������›�}|j �������������������$|ddj ������������������|j ������������������«������z���dz���z ��}�||«�������Œs��|d «�������y�) Nc�����������������ód���—�t���������j������������������j������������������|�›t��������j������������������›�«������S�rE���rš��r~���s��� r-���r›��zMacros.dump.<locals>.<lambda>µ ��rœ��r/���z[macros]r���r¥���r¤���r¹���r"���rº���r'���)r���r÷��r§���rb��r@���Úsubslistr8���)r,���r¼���rÒ��Úmacros��� r-���r:��z Macros.dump´ ��sƒ���€�ÙHˆÙ ˆjÔà—‘˜Q˜R“ˆAà!"§¡×!2Ñ!2°3¸Õ!>ÀÇÂÈ!Ï&Ê&ÐQˆEØ�z‰zÐ%ؘ˜sŸx™x¨¯ © Ó3Ñ3°cÑ9Ñ9�Ù �%�Lð �!ñ � ˆb� r/���c�����������������ó¢���—�t���������j������������������r?|�j������������������D�]/��}|j������������������sŒ|j������������������dk7��sŒ |j ������������������«��������Œ1�y�y�rÎ��)r‡���rß���r���r@���rb��Ú section_namerÑ��s��� r-���r¢��zMacros.validateÀ ��s7���€�ä �>Š>Ø—[”[�Ø—6“6˜aŸh™h¨#›oØ—N‘NÕ$ñ�!ð� r/���c�����������������ó”���—�|}|�j�������������������D�]6��}|j������������������|k(��sŒ||j������������������dk7��z ��sŒ&|j������������������|«������}Œ8�|S�)Nrü��)r���rb��r@���r2���)r,���r’���rb��r���rn���rÒ��s��� r-���r2���z Macros.subsÇ ��sH���€�ð�ˆØ—”ˆAØ�x‰x˜6Ó!ؘqŸv™v¨Ñ2Ó3ØŸV™V F›^‘Fð�ð�ˆ r/���c�����������������óæ���—�t���������j������������������«��������t���������j������������������«�������}|rG|�j������������������D�]8��}|j������������������dk(��sŒ|j ������������������j ������������������|«������sŒ/||�_��������|c�S��y)z7Return matching macro if block macro is next on reader.r����F)r��rE��rª��r���rb��r—���r=���rO��)r,���r��rÒ��s��� r-���rI��z Macros.isnextÑ ��sY���€�ä×ÑÔ!Ü×ÑÓ!ˆÙ Ø—[”[�Ø—8‘8˜s“?Ø—u‘u—{‘{ 4Õ(Ø'(˜œ Ø šð �!ð �r/���i���)Úmaxsizec�����������������óú���—�|�j�������������������D�]l��}|j������������������|k(��sŒ|j������������������j������������������|«������}|sŒ1|j������������������|k(��r|c�S�t ��������j������������������||j ������������������d«������«������sŒj|c�S��y)z[Return re match object matching 'text' with macro type 'prefix', macro name 'name'.r@���N)r���rb��r—���r=���r@���r<���rŽ���)r,���rb��r@���r’���rÒ��r™���s��� r-���r=���z Macros.matchÝ ��sd���€�ð�—”ˆAØ�x‰x˜6Ó!Ø—U‘U—[‘[ Ó&�ÚØ—v‘v ’~Ø!š Ü—x‘x  b§h¡h¨vÓ&6Õ7Ø!š ð�ð�r/���c�����������������ó°���—�g�|�_���������|�j������������������D�]?��}|j������������������«�������sŒ|j������������������|k(��sŒ$|j ������������������||�j�������������������«������}ŒA�|S�)zN Extract the passthrough text and replace with temporary placeholders.)r��r���Úhas_passthroughrb��Úsubs_passthroughs)r,���r’���rb��rÒ��s��� r-���rb��zMacros.extract_passthroughsë ��sP���€�ð�ˆÔØ—”ˆAØ× Ñ Õ" q§x¡x°6Ó'9Ø×*Ñ*¨4°×1BÑ1BÓC‘ð�ð�ˆ r/���c�����������������óœ���—�t��������|�j������������������«������D�]3��\��}}|j������������������dt��������|«������z���dz���|�j������������������|���«������}Œ5�|S�)zD Replace passthough placeholders with the original passthrough text.r ��)rË��r��r§���r¿���)r,���r’���r”���r²���s��� r-���rc��zMacros.restore_passthroughsô ��sH���€�ä˜d×/Ñ/Ö0‰DˆAˆqØ—<‘< ¬¨Q«¡°&Ñ 8¸$×:KÑ:KÈAÑ:NÓO‰Dð�1àˆ r/���N)r'���F©r'���)rF���rG���rH���rÐ��r.���r7��r:��r¢��r2���rI��r���r=���rb��rc��rJ���r/���r-���rÌ��rÌ��� ��sJ���„�ð)€Fò ò*ò* ò%óò ñ��tÔñ ó�ð óór/���rÌ��c�������������������ó8���—�e�Zd�Zd„�Zd„�Zd d„Zd„�Zd„�Zd„�Zd„�Z y) rÏ��c�����������������óJ���—�d�|�_���������d|�_��������d|�_��������d�|�_��������g�|�_��������y�©Nr'���)r÷��r@���rb��r—���r×��r+���s��� r-���r.���zMacro.__init__ü ��s%���€�؈Œ ؈Œ ؈Œ ؈ŒØˆ� r/���c�����������������ó>���—�|�j�������������������j������������������d«������dk\��S�)Nz (?P<passtext>r���)r÷��r‰���r+���s��� r-���rà��zMacro.has_passthrough��s���€�Ø�|‰|× Ñ Ð!1Ó2°aÑ7Ð7r/���Nc�����������������óð���—�|�j�������������������dk7��sJ�‚|s|�j������������������sJ�‚|�j������������������}|�j�������������������dk(��rd}nd}||z���t��������j������������������v�r||z���S�t��������j ������������������d||z���z��«�������y)zqReturn macro markup template section name based on macro name and prefix. Return None section not found.r#���r����z -blockmacroz -inlinemacrozmissing macro section: [%s]N)rb��r@���r‡���r��r:���r ���)r,���r@���Úsuffixs��� r-���rÚ��zMacro.section_name��sw���€�ð��{‰{˜cÒ!Ð!Ð!ÙØ—9’9Ð �9Ø—9‘9ˆDØ �;‰;˜#Ò Ø"‰Fà#ˆFØ �&‰=œFŸO™OÑ +ؘ&‘=Ð ä �O‰OÐ9¸TÀF¹]ÑKÔ LØr/���c�����������������ó ��—�t��������|«������}|€d�|�_��������||�_��������y�t��������j������������������|d���«������st ��������d|d���z��«������‚|\��}}|r|d���dv�r |d���|dd��}}nd}t ��������j������������������d|«������}|j������������������d«������}|rt��������|«������st ��������d|z��«������‚|j������������������d «������}|�t��������|t��������d |z��«������}||�_��������t ��������j������������������|«������|�_ ��������||�_��������||�_��������|xs�g�|�_��������y�) Nr���z$illegal macro regular expression: %s)r#���r����r���r'���z(^(?P<name>[^[]*)(\[(?P<subslist>.*)\])?$r@���z'illegal section name in macro entry: %sr×��zillegal subs in macro entry: %s)r³���r@���r÷��r���r)��r ���r<���r=���rŽ���rt���ry���r��rŠ���r—���rb��r×��)r,���r«���r¹��r÷��r@���rb��r™���r×��s��� r-���r7��z Macro.load��s��€�Ü ˜Ó ˆØ ˆ9àˆDŒIØ ˆDŒLØ Ü�{‰{˜1˜Q™4Ô ÜÐBÀQÀqÁTÑIÓJÐ J؉ ˆ�Ù �D˜‘G˜zÑ)Ø ™7 D¨¨ H�D‰FàˆFä �X‰XÐAÀ4Ó HˆØ�x‰x˜ÓˆÙ œ œ ÜÐEÈÑMÓNÐ NØ—8‘8˜JÓ'ˆØ Ð ä$ X¬|Ð=^ÐafÑ=fÓgˆH؈Œ Ü—:‘:˜gÓ&ˆŒØˆŒ ؈Œ Ø š Bˆ� r/���c�����������������óF���‡�—�ˆ�fd„}‰�j�������������������j������������������||«������S�)Nc�����������������ó¬��•—�|�j������������������«�������d���dk(��r|�j������������������«�������dd�S�|�j������������������«�������}t��������|j������������������«�������«������D�] ��\��}}|�Œ ||=�Œ �‰ j������������������r ‰ j������������������}n6d|vr-t ��������j ������������������d|�j������������������j������������������z��«�������y|d���}‰ j������������������|«������}|sy‰ j������������������dk(��r9‰ j������������������d k7��r*t��������j������������������|«�������t��������j������������������|«�������d |v�r‹|d ���d v�r|d =�n€‰ j������������������dk(��r|d ���j������������������d d «������|d <���t��������|d ���|«�������d|v�r"t!��������|d���dd|z��«������}|D�] ��}d||dz���<���Œ �‰ j������������������dk(��rt��������j#������������������|«�������|dk(��r&t%��������|d���«������}t&��������j)������������������|«������|d<���|dk(��r d|v�r|d���|d<���t*��������j,������������������dk(��r0d|v�r,|d���r'd|vr|d���|d<���t.��������j1������������������|d���«������|d<���|j3������������������d«������} | rt5��������d«������|d<���t.��������j7������������������||«������} t9��������| «������dk(��rd} nTt9��������| «������dk(��r| d���} n@‰ j������������������dk(��r t:��������j<������������������j?������������������| «������} ndj?������������������| «������} | r| j������������������t5��������d«������| «������} | S�)z­Function called to perform macro substitution. Uses matched macro regular expression object and returns string containing the substituted macro body.r���rƒ���r���Nr@���zmissing macro name group: %sr'���r����r©��r„���ræ��ú\]rº���rv���rJ���z%s: illegal option namer��rü��r*��ÚcoidÚimager��ÚaltÚlatexÚtargetr(��r5���) rŽ���rò��r†���rª���r@���r:���r ���r<���r÷��rÚ��rb��rJ��r��rK��r§���r���ry���r2���r+��rÿ��Úaddr6���rx��r‡���Úsubs_specialchars_reverser7���ÚchrrÎ��r‘���r½���r¾���r8���) r™���rh���r±���r²���r@���rÚ��rv���r��r��Úa0rÕ��rn���r,���s ��� €r-���Ú subs_funczMacro.subs.<locals>.subs_func5��s¬��ø€�ð ��x‰x‹z˜!‰} Ò$Ø—x‘x“z ! "�~Ð%Ø— ‘ “ˆAä˜QŸW™W›Yž‘��1Ø‘9ؘ!™ð�(ð��yŠyØ—y‘y‘à ‘?Ü—O‘OÐ$BÀRÇUÁUÇ]Á]Ñ$RÔSØØ˜‘y�Ø×,Ñ,¨TÓ2ˆLÙØð��{‰{˜cÒ! d§i¡i°9Ò&<Ü×%Ñ% aÔ(Ü×"Ñ" 1Ô%à˜Q‰Ø�Z‘= JÑ.ؘ*™ à—{‘{ bÒ(à()¨*© ×(=Ñ(=¸eÀSÓ(I˜˜*™ Ü$ Q z¡]°AÔ6à  A‘~Ü"/°°)± ¸bÐB[Ð^bÑBbÓ"c˜Û&-˜FØ46˜A˜f yÑ0Ò1ð�'.ð�—{‘{ cÒ)Ü%×*Ñ*¨1Ô-Ø�yÒ Ü  '¡ ›O� Ü&ŸN™N¨9Ó5��&‘ à�wŠ 3¨!¡8ؘS™6��%‘ä×Ñ 7Ò*¨x¸1©}ÀÀ8ÂØ˜a‘<ؘx™[�A�c‘FÜ$×>Ñ>¸qÀ¹{ÓK��(‘ ð�—‘�s“ˆBÙܘQ›��#‘Ü×&Ñ& |°QÓ7ˆDÜ�4‹y˜AŠ~Ø‘Ü�T“˜a’ؘa™‘à—;‘; #Ò%Ü#Ÿ^™^×0Ñ0°Ó6‘Fð�"ŸY™Y t›_�FÙØŸ™¬¨A«°Ó3�؈Mr/���©r—���rà���)r,���r’���r÷��s���` r-���r2���z Macro.subs4��s!���ø€�ôN ð`��x‰x�|‰|˜I tÓ,Ð,r/���c�����������������óp��—�|�j�������������������dk(��sJ�‚t��������j������������������«�������}|}|�j������������������«�������rt��������j ������������������|d«������}t ��������|«������}|r\|�j������������������|«������}|�j������������������«�������rt��������j������������������|«������}|r#t��������d||«�������t��������j������������������|«�������yyy)z Block macro translation.r����z macro blockN) rb��r��rï��rà��r���rb��rŸ���r2���rc��r1���r½���r¼���)r,���rf���rA���s��� r-���r«��zMacro.translate‡��s›���€�à�{‰{˜cÒ!Ð!Ð!Ü �K‰K‹MˆØˆØ × Ñ Ô !Ü×+Ñ+¨A¨sÓ3ˆAÜ �q‹MˆÙ Ø— ‘ ˜!“ ˆAØ×#Ñ#Ô%Ü×/Ñ/°Ó2�ÙÜ�m V¨QÔ/Ü— ‘ ˜Q•ð�ð � r/���c�����������������óN���‡�‡‡—�ˆˆ�ˆfd„}‰�j�������������������j������������������|‰«������S�)z™ Replace macro attribute lists in text with placeholders. Substitute and append the passthrough attribute lists to the passthroughs list.c�����������������ó¦��•—�|�j������������������«�������d���dk(��r|�j������������������«�������S�|�j������������������«�������}d|vr8t��������j������������������d|j ������������������dd«������z��«�������|�j������������������«�������S�|d���}t ��������j ������������������d|«������r%t��������j������������������d«�������|�j������������������«�������S�|j ������������������d «������rQ|d ���j������������������d «������r(t��������j������������������d |�j������������������«�������z��d ¬ «�������t��������|d ���t��������d«������}n ‰j������������������}t��������j������������������||«������}|€d}‰j������������������dk(��r|j������������������dd«������}‰j!������������������|«�������‰|�j#������������������«�������|�j#������������������d«�������dz���t%��������t'��������‰«������dz ��«������z���dz���‰|�j)������������������d«������|�j)������������������«��������z���}|S�)z´Function called to perform inline macro substitution. Uses matched macro regular expression object and returns string containing the substituted macro body.r���rƒ���Úpasstextz,passthrough macro %s: missing passtext groupr@���r'���z\d+znested inline passthroughr×��rö���z!block macro cannot occur here: %sTrž��z%illegal passthrough macro subs optionrí��rº���r ��r���)rŽ���rò��r:���r ���r7���r<���rŒ���ra��rÜ���ry���r��r×��r7��r`��rb��r§���ru���r����r¿���r‘���r����)r™���rh���rü��r×��rn���r��r,���r’���s��� €€€r-���r÷��z*Macro.subs_passthroughs.<locals>.subs_func›��sž��ø€�ð ��x‰x‹z˜!‰} Ò$Ø—x‘x“zÐ!Ø— ‘ “ˆAØ Ñ"Ü—‘Ð NÐQR×QVÑQVÐW]Ð_aÓQbÑ bÔcØ—x‘x“zÐ!ؘ‘}ˆHÜ�y‰y˜¨Ô2Ü—‘Ð ;Ô<Ø—x‘x“zÐ!Ø�u‰u�ZÔ Ø�Z‘=×+Ñ+¨CÔ0Ü—M‘MÐ"EÈÏÉË Ñ"RÐY]�MÔ^Ü(¨¨:©¼ ÐFmÓn‘àŸ=™=�Ü—z‘z (¨HÓ5ˆHØÐØ�Ø�{‰{˜bÒ à#×+Ñ+¨E°3Ó7�Ø × Ñ  Ô )ð��R—X‘X“Z §¡¨Ó 4Ð5ØñÜœS Ó.°Ñ2Ó3ñ4Ø6<ñ=à�R—V‘V˜JÓ'¨¯©«Ð1ñ2ð� ð �ˆMr/���rø��)r,���r’���r��r÷��s���``` r-���rá��zMacro.subs_passthroughs—��s ���ú€�ö" ðH��x‰x�|‰|˜I tÓ,Ð,r/���rE���) rF���rG���rH���r.���rà��rÚ��r7��r2���r«��rá��rJ���r/���r-���rÏ��rÏ��û ��s'���„�òò8óò"'ò:Q-òf ó (-r/���rÏ��c�������������������ó:���—�e�Zd�Zd„�Zd„�Zd„�Zed„�«�������Zd„�Zd„�Z y)Ú CalloutMapc�����������������ó.���—�i�|�_���������d|�_��������d|�_��������y�)Nr���r���)ÚcomapÚ calloutindexÚ listnumberr+���s��� r-���r.���zCalloutMap.__init__Ã��s���€�؈Œ ØˆÔØˆ�r/���c�����������������óJ���—�|�xj�������������������dz ��c_���������d|�_��������i�|�_��������y�)Nr���r���)r��r��r���r+���s��� r-���r#��zCalloutMap.listcloseÈ��s���€�à �Š˜1Ñ�ØˆÔØˆ� r/���c�����������������ó��—�|�xj�������������������dz ��c_���������||�j������������������vr|�j�������������������g|�j������������������|<���n(|�j������������������|���j������������������|�j�������������������«�������|�j������������������|�j������������������|�j�������������������«������S�©Nr���)r��r���ru���Ú calloutidr��)r,���r��s��� r-���ró��zCalloutMap.addÎ��sn���€�à ×Ò˜QÑÕà ˜DŸJ™JÑ &Ø%)×%6Ñ%6Ð$7ˆD�J‰J�yÒ !à �J‰J�yÑ !× (Ñ (¨×):Ñ):Ô ;Ø�~‰~˜dŸo™o¨t×/@Ñ/@ÓAÐAr/���c�����������������ó���—�d|�|fz��S�)NzCO%d-%drJ���)r��r��s��� r-���r��zCalloutMap.calloutidØ��s���€�à˜J¨ Ð5Ñ5Ð5r/���c�����������������óò���—�||�j�������������������v�rHd}|�j�������������������|���D�]$��}|d|�j������������������|�j������������������|«������z���z ��}Œ&�|j������������������«�������S�t��������j ������������������dt ��������|«������z���«�������y)Nr'���rg��zno callouts refer to list item )r���r��r��r©���r:���r ���r¿���)r,���r��rn���Úcoindexs��� r-���r���zCalloutMap.calloutidsÜ��si���€�à ˜Ÿ ™ Ñ "؈FØŸ:™: iÔ0�ؘ# §¡¨t¯©ÀÓ HÑHÑH‘ð�1à—<‘<“>Ð !ä �O‰OÐ=ÄÀIÃÑNÔ OØr/���c�����������������ó¢���—�t��������|�j������������������j������������������«�������«������D�])��}||kD��sŒ t��������j ������������������dt ��������|«������z���«�������Œ+�y�)Nz)callout refers to non-existent list item )r†���r���rˆ���r:���r ���r¿���)r,���Ú maxlistindexr��s��� r-���r¢��zCalloutMap.validateç��s;���€�ä˜dŸj™jŸo™oÓ/Ö0ˆIؘ<Ó'Ü—‘Ð KÌcÐR[ËnÑ \Õ]ñ�1r/���N) rF���rG���rH���r.���r#��ró��rl��r��r���r¢��rJ���r/���r-���rþ��rþ��Â��s1���„�òò ò Bð�ñ6ó�ð6ò ó^r/���rþ��s���rÛ���c�������������������óL���—�e�Zd�ZdZdZd„�Zd„�Zd„�Zd„�Zd„�Z d d„Z d „�Z d „�Z d „�Z y )ÚReader1z›Line oriented AsciiDoc input file reader. Processes include and conditional inclusion system macros. Tabs are expanded and lines are right trimmed.r��c�����������������óº���—�d�|�_���������d�|�_��������g�|�_��������d�|�_��������d|�_��������d�|�_��������d|�_��������d�|�_��������d|�_��������d|�_ ��������d�|�_ ��������d�|�_ ��������d�|�_ ��������y�)Né���r���r��) rb���rV���ro��rG��r��ÚparentÚ_linenoÚ line_rangesÚ current_depthÚ max_depthÚbomrP���r‰��r+���s��� r-���r.���zReader1.__init__ü��s_���€�؈ŒØˆŒ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ ØˆÔØˆÔ؈ŒØˆŒØˆŒ ؈� r/���c�����������������ó¸��—�||�_���������t��������j������������������d|z���«�������|dk(��r$t��������j������������������|�_��������d�|�_��������d�|�_��������n>t��������|dd¬«������|�_��������||�_��������t��������j������������������j������������������|«������|�_��������|�j ������������������t��������j������������������d<���|�j������������������t��������j������������������d<���d|�_��������g�|�_��������|�j!������������������«�������r||�j"������������������d ���j%������������������t&��������«������r7|�j"������������������d ���t)��������t&��������«������d��|�j"������������������d <���t&��������|�_��������|�j-������������������|�j"������������������«�������d�|�_��������y�y�) Nz reading: rN���ÚrrÛ���r��rP���r‰��r���rž���)rV���r:���rß���rè���rÙ���rb���rP���r‰��r��rQ���rR���rS���r6���r���r��ro��rï��rG��ra��ÚUTF8_BOMr‘���r��Úunread)r,���rV���s��� r-���r��z Reader1.open ��sþ���€�؈Œ Ü�‰˜  eÑ+Ô,Ø �IÒ Ü—Y‘YˆDŒF؈DŒK؈D�Jä˜% ¨wÔ7ˆDŒF؈DŒKÜŸ™Ÿ™¨Ó/ˆDŒJØ(,¯ © Œ×јHÑ%Ø'+§z¡zŒ×јGÑ$؈Œ ؈Œ à �9‰9Œ;Ø�{‰{˜1‰~×(Ñ(¬Ô2Ø!%§¡¨Q¡´´H³ °Ð!?�— ‘ ˜A‘Ü#�”Ø �K‰K˜Ÿ ™ Ô $؈D�Kð � r/���c�����������������óF���—�|�j�������������������j������������������«��������g�|�_��������y)z4Used by class methods to close nested include files.N)rb���r ��ro��r+���s��� r-���Ú closefilezReader1.closefile"��s���€�à �‰� ‰ ŒØˆ� r/���c�����������������óD���—�|�j������������������«��������|�j������������������«��������y�rE���)r��r.���r+���s��� r-���r ��z Reader1.close'��s���€�Ø �‰ÔØ � ‰ �r/���c�����������������óv��—� �|�j�������������������j������������������«�������}|r|�j������������������dz���|�_��������n �|S�|�j�������������������v|�j������������������D�]f��}t ��������|«������dk(��r|�j������������������|d���k(��r� �|S�t ��������|«������dk(��sŒ6|d���|�j������������������k��sŒI|d���dk(��s|�j������������������|d���k��sŒd� �|S��Œ· �|S�)Nr���r���rž���r€���)rb���Úreadliner��r��r‘���)r,���rf���Ú line_ranges��� r-���r��zReader1.readline+��sé���€�ØØ—‘—‘Ó!ˆAÙØ#Ÿ|™|¨aÑ/�• àð�ˆð�×ÑÐ+Ø"&×"2Ô"2�Jܘ:“¨!Ò+°· ± À È1Á Ò0MØð �ð�ˆô�˜Z›¨AÓ-°*¸Q±-À4Ç<Á<Ó2OÐU_Ð`aÑUbÐfhÒUhÐlp×lxÑlxð��}Gð��HIñ��}Jó��mJØð�ð�ˆð�#3ð �ð�؈r/���c�����������������ó¶ ��—�t��������|�j������������������«������|�j������������������k��r´|�j������������������«�������}|r¢|�j������������������dk7��r|j ������������������|�j������������������«������}|j ������������������«�������}|�j������������������j������������������|�j������������������|�j������������������|g«�������t��������|�j������������������«������|�j������������������kD��rn|�j������������������«�������}|rŒ¢t��������|�j������������������«������dkD���rÙ|�j������������������d���|�_ ��������|�j������������������d=�|�j������������������d���}t��������j������������������dd|«������}|�r�|�sŠi�}t��������|j������������������d«������|«�������|j������������������dd«������}|�j ������������������|�j"������������������k\��rt$��������j'������������������d«�������|S�t)��������|j������������������d «������«������}|st*��������j-������������������|�«������S�|�j������������������d k7���rut.��������j0������������������j3������������������t.��������j0������������������j5������������������|«������«������}t7��������|t.��������j0������������������j9������������������|�j������������������«������«������}|st*��������j-������������������|�«������S�t.��������j0������������������j;������������������|«������s/|rt$��������j'������������������d |z��«�������t*��������j-������������������|�«������S�|j������������������d «������d k(��r�t<��������j>������������������s{|t<��������j@������������������vrdt$��������jC������������������d|z���d¬«�������tE��������|d¬«������5�}|D��cg�c]��}|j ������������������«�������‘Œ�c}t<��������j@������������������|<���ddd«�������d|z��S�d|z��S�|S�t+��������«�������} tG��������jH������������������| |�«�������| |�_%��������d|v�r' �tM��������|d���«������} | dk\��s tO��������d«������‚| |�_��������nt<��������j������������������|�_��������d|v�r3 �tM��������|d���«������} | dk\��s tO��������d«������‚|�j ������������������| z���|�_��������d|v�r �d|d���v�r|d���jS������������������d«������} n|d���jS������������������d«������} tU��������t��������| «������«������D�]0��} | | ���jS������������������d«������D�� cg�c] ��} tM��������| «������‘Œ�c} | | <���Œ2�| |�_+��������t$��������jC������������������d!|z���d¬«�������|�jE������������������|«�������|�j ������������������dz���|�_��������t*��������j-������������������|�«������}|S�t*��������jY������������������|�«������st*��������j-������������������|�«������}|S�d}|S�c�c}w�#�1�sw�Y���d|z��S�xY�w#�tN��������$�r �tQ��������d«������‚w�xY�w#�tN��������$�r �tQ��������d«������‚w�xY�wc�c} w�#�tN��������$�r �tQ��������d «������‚w�xY�w)"zÏRead next line. Return None if EOF. Expand tabs. Strip trailing white space. Maintain self.next read ahead buffer. If skip=True then conditional exclusion is active (ifdef and ifndef macros).r���rž���r#���z ^include[1]?$r„���ÚwarningsTzmaximum include depth exceededrò��rN���zinclude file not found: %sr@���rý���z include1: F©r)���rÛ���r��Nz {include1:%s}r��znot >= 0z&illegal include macro tabsize argumentÚdepthr���znot >= 1z'include macro: illegal 'depth' argumentrí���Ú;r"���z..z'include macro: illegal 'lines' argumentz include: )-r‘���ro��ÚREAD_BUFFER_MINr��r��r��rê���ru���rV���r��rG��r���r=���r���rŽ���r7���r��r��r:���r ���rŸ���r ��rï��rQ���rR���Ú expandvarsÚ expanduserr^���rS���rÌ���r‡���Údumpingrý���rß���r��r���Úassignr��r+��Ú ValueErrorr ���rs���rh��r��rF��)r,���r¨��rf���rn���r™���rg���r!��rV���rb���r��ÚvalÚrangesÚidxr ��s��� r-���rï��z Reader1.read@��s™��€�ô � ˆt�y‰y‹>˜T×1Ñ1Ò 1Ø— ‘ “ˆAÙØ—<‘< 1Ò$ØŸ ™  T§\¡\Ó2�AØ—H‘H“J�Ø— ‘ × Ñ  $§*¡*¨d¯l©l¸AÐ!>Ô?Ü�t—y‘y“> D×$8Ñ$8Ò8ØØ—M‘M“O�ò�ô� ˆt�y‰y‹>˜AÓ ØŸ)™) A™,ˆDŒKØ— ‘ ˜!� Ø—[‘[ ‘^ˆFä—‘˜cÐ#3°VÓ<ˆBÚš$à�Ü  §¡¨*Ó!5°uÔ=Ø Ÿ9™9 Z°Ó6�à×%Ñ%¨¯©Ò7Ü—O‘OÐ$DÔEØ!�Mä" 2§8¡8¨HÓ#5Ó6�ÙÜ"Ÿ<™<¨Ó-Ð-Ø—:‘: Ó*ÜŸG™G×.Ñ.¬r¯w©w×/AÑ/AÀ%Ó/HÓI�EÜ)¨%´·±·±ÀÇÁÓ1LÓM�EÙ Ü&Ÿ|™|¨DÓ1Ð1ÜŸ7™7Ÿ>™>¨%Ô0Ù#Ü#ŸO™OÐ,HÈ5Ñ,PÔQÜ&Ÿ|™|¨DÓ1Ð1Ø—x‘x Ó'¨:Ò5Ü%Ÿ~š~Ø$¬F¯O©OÑ;Ü '§¡° ¸uÑ0DÈe Ô Tô�&*¨%¸'Õ%BÀaÙRSÓ=TÑRSÈQ¸a¿h¹h½jÐRSÑ=T¤F§O¡O°EÑ$:÷�&Cà#2°UÑ#:Ð: ?°UÑ#:Ð:ð�$*˜Mä ›�Ü— ‘ ˜V TÔ*Ø$�” à Ñ%ðRÜ! %¨ Ñ"2Ó3˜Ø" ašxÜ",¨ZÓ"8Ð8Ø'*˜� ô�$*§>¡>�D”LؘeÑ#ðSÜ! %¨¡.Ó1˜Ø" ašxÜ",¨ZÓ"8Ð8Ø)-×);Ñ);¸cÑ)A˜œð�˜eÑ#ð SØ %¨¡.Ñ0Ø%*¨7¡^×%9Ñ%9¸#Ó%>™Fà%*¨7¡^×%9Ñ%9¸#Ó%>˜FÜ#(¬¨V«Ö#5˜CØ;AÀ#¹;×;LÑ;LÈTÔ;RÓ*SÑ;R°a¬3¨q­6Ð;RÑ*S˜F 3šKð�$6à+1˜Ô(ô�—‘  ¨eÑ 3¸U�ÔCØ— ‘ ˜%Ô Ø%)×%7Ñ%7¸!Ñ%;�Ô"Ü Ÿ™ dÓ+�ð �ˆ ô �—;‘;˜tÔ$Ü Ÿ™ dÓ+�ð�ˆ ð��؈ ùòe�>U÷�&Cà#2°UÑ#:Ð:ûô �&ò�RÜ'Ð(PÓQÐQðRûô�&ò�SÜ'Ð(QÓRÐRðSüò�+Tøä%ò�SÜ'Ð(QÓRÐRðSúsU���ÌS>ÌS9Ì*S>Í>%T�Î>2T&�Ï5AU�ÑT>Ñ$U�Ó9S>Ó>T ÔT#Ô&T;Ô>U�ÕUc�����������������óL��—�t��������|�j������������������«������dk(��rŒ|�j������������������r|�j������������������«��������t ��������j ������������������|�|�j������������������«�������|�j ������������������t��������j������������������d<���|�j������������������t��������j������������������d<���t��������j������������������|�«������S�yy)z)Returns True if all lines have been read.r���rP���r‰��TF) r‘���ro��r��r��r���r)��rP���r6���r���r‰��r ��rF��r+���s��� r-���rF��z Reader1.eof§��sr���€�ä ˆt�y‰y‹>˜QÒ à�{Š{Ø—‘Ô Ü— ‘ ˜T 4§;¡;Ô/Ø04· ± ”×#Ñ# HÑ-Ø/3¯z©z”×#Ñ# GÑ,Ü—{‘{ 4Ó(Ð(ààr/���c�����������������óR���—�t���������j������������������|�«������ry|�j������������������d���d���S�)z.Like read() but does not advance file pointer.Nr���rž���)r ��rF��ro��r+���s��� r-���rª��zReader1.read_next¶��s#���€�ä �;‰;�tÔ Øà—9‘9˜Q‘< ‘?Ð "r/���c�����������������óD���—�|sJ�‚|�j�������������������j������������������d|«�������y)z�Push the line (filename,linenumber,linetext) tuple back into the read buffer. Note that it's up to the caller to restore the previous cursor.r���N)ro��Úinsert)r,���rG��s��� r-���r��zReader1.unread½��s���€�ñ�ˆ ˆvØ � ‰ ×ј˜FÕ#r/���NrB��)rF���rG���rH���rI���r%��r.���r��r��r ��r��rï��rF��rª��r��rJ���r/���r-���r ��r ��õ��s=���„�ñð�€Oò òò.ò òó*eòN ò#ó$r/���r ��c�������������������óV���—�e�Zd�ZdZd„�Zd„�Zd„�Zd„�Zd„�Zd d„Z d d„Z e d „�«�������Z d d „Z y )ÚReaderzU Wraps (well, sought of) Reader1 class and implements conditional text inclusion.c�����������������óf���—�t���������j������������������|�«�������d|�_��������d|�_��������d|�_��������d|�_��������y�)Nr���Fr'���r€���)r ��r.���r#��r¨��ÚskipnameÚskiptor+���s��� r-���r.���zReader.__init__È��s,���€�Ü×Ñ˜ÔØˆŒ ؈Œ ؈Œ ؈� r/���c�����������������ó’���—�t���������j������������������|�|�j������������������«������}|€$|�j������������������rt��������d|�j������������������z��«������‚|S�)Nzmissing endif::%s[])r ��rï��r¨��r ���r5��rÌ��s��� r-���Ú read_superzReader.read_superÏ��s;���€�Ü—‘˜d D§I¡IÓ.ˆØ ˆ>˜dŸišiÜÐ1°D·M±MÑAÓBÐ B؈ r/���c����������� ������ó��—�|�j������������������«�������}|€y�|�j�������������������r9t��������j������������������dd|«������}|rÿ|j ������������������d«������}|j ������������������d«������}|j ������������������d«������}|dk(��rq|�xj ������������������dz��c_��������|�j ������������������dk��rt ��������d |z��«������‚|�j ������������������|�j������������������k(��r|d |�_��������|rs|�j������������������|k7��rdt ��������d |z��«������‚|d v�r(|st ��������d |z��«������‚|s@|�xj ������������������dz ��c_��������n*|d k(��r%|st ��������d|z��«������‚|�xj ������������������dz ��c_��������|�j������������������«�������}|€y�|�j������������������r�Œ9t��������j������������������dd|«������}|�ro|j ������������������d«������}|j ������������������d«������}|j ������������������d«������}|dk(��r|�j ������������������dz ��|�_���������n|s|d v�rt ��������d |z��«������‚t��������|t��������j������������������«������}|dk(��r|r|r›|S�| �|�_��������n�|dk(��r|r|s‡|S�||�_��������n}|d k(��rxt��������«�������r t��������j������������������d«�������t ��������d«������‚|st ��������d|z��«������‚d }t��������|«������}|r' �t!��������|«������}t��������j'������������������d|›d|›�«�������| �|�_��������|r|d k(��r8|�j������������������r|�j ������������������|�_��������||�_��������|�j ������������������dz���|�_��������|�j)������������������«�������}|rXt��������j������������������dd|«������}|r?|j ������������������d«������} |j ������������������d«������} t+��������| | d¬«������}||�j,������������������d<���|rt��������j������������������dd|«������r|dd��}|S�#�t"��������$�r}t ��������d|›dt%��������|«������›�«������‚d�}~ww�xY�w)Nr#���zifdef|ifndef|ifeval|endifr@���rò��r„���Úendifr���r���zmismatched macro: %sF)ÚifdefÚifndefzmissing macro target: %sÚifevalzmissing ifeval condition: %sr;��r<��zifeval invalidzifeval invalid safe documentz#error evaluating ifeval condition: rr���zifeval: z eval|sys|sys2T)r��rž���zA\\eval|\\sys|\\sys2|\\ifdef|\\ifndef|\\endif|\\include|\\include1)r8��r¨��r���r=���rŽ���r#��r ���r6��r5��rÈ���r6���r���rL���r:���r\���rŸ���rø���re���r¿���rß���rï��r ��rG��) r,���rn���r™���r@���rò��r„���ÚdefinedÚcondr¹��r'��rÐ���s ��� r-���rï��z Reader.readÕ��sF��€�Ø—‘Ó"ˆØ ˆ>ØØ�i‹iÜ—‘˜cÐ#?ÀÓHˆBÙØ—x‘x Ó'�ØŸ™ (Ó+�ØŸ8™8 JÓ/�ؘ7’?Ø—J’J !‘O•JØ—z‘z A’~Ü'Ð(>ÀÑ(GÓHÐHØ—z‘z T§[¡[Ò0Ø$)˜œ Ù! d§m¡m°vÒ&=Ü"+Ð,BÀVÑ,KÓ"LÐLàÐ2Ñ2Ù%Ü"+Ð,FÈÑ,OÓ"PÐPÙ'Ø ŸJšJ¨!™OžJØ Ò)Ù'Ü"+Ð,JÈVÑ,SÓ"TÐTØŸ š  a™� Ø—_‘_Ó&ˆF؈~Øð5��iŒiô6��\‰\˜#Ð;¸VÓ DˆÚ Ø—8‘8˜FÓ#ˆDØ—X‘X˜hÓ'ˆFØ—x‘x  Ó+ˆHØ�wŠØ!ŸZ™Z¨!™^�– á $Ð*=Ñ"=Ü#Ð$>ÀÑ$GÓHÐHÜ)¨&´(×2EÑ2EÓF�ؘ7’?ÙÙ"Ø#+˜Oà(/ K˜� ؘXÒ%ÙÙ&Ø#+˜Oà$+˜� ؘXÒ%Ü”vÜŸ™Ð'7Ô8Ü'Ð(FÓGÐGÙ#Ü'Ð(FÈÑ(OÓPÐPØ �DÜ)¨(Ó3�HÙðlÜ#'¨£>˜Dô� ŸšºHÁdÐ(KÔLØ$( �D”IÙ 4¨8Ò#3Ø—y’yØ&*§j¡j˜œ Ø(.˜œ Ø!%§¡¨a¡�D”JØ—Y‘Y“[ˆFÙ ä—‘˜cÐ#3°VÓ<ˆBÙØŸ™ &Ó)�Ø—h‘h˜zÓ*�Ü ¨°dÔ;�Ø!'�— ‘ ˜A‘Ù ä�|‰|˜CÐ!eÐgmÔnØ  ˜�؈ øô-� )ò�lÝ"+Ò[aÔcfÐghÔciÐ,jÓ"kÐkûðlús���É& M�Í NÍ&N�Î�Nc�����������������ó&���—�|�j������������������«�������d�u�S�rE���)rª��r+���s��� r-���rF��z Reader.eof.��s���€�Ø�~‰~Ó 4Ð'Ð'r/���c�����������������ó†���—�|�j�������������������}|�j������������������«�������}|�"|�j������������������|�j�������������������«�������||�_���������|S�rE���)rG��rï��r��)r,���Ú save_cursorrn���s��� r-���rª��zReader.read_next1��s8���€�Ø—k‘kˆ Ø—‘“ˆØ Ð Ø �K‰K˜Ÿ ™ Ô $Ø%ˆDŒK؈ r/���c�����������������ó´���—�g�}d}||k��rE|�j������������������«�������s5|j������������������|�j������������������«�������«�������||k��r|�j������������������«�������sŒ5t��������|«������S�)z$Return tuple containing count lines.r���)rF��ru���rï��rl���)r,���re��rn���r”���s��� r-���Ú read_lineszReader.read_lines9��sH���€�àˆØ ˆØ�%Ši §¡¤ Ø �M‰M˜$Ÿ)™)›+Ô &ð��%Ši §¡¥ ä�V‹}Ðr/���c�����������������ó€��—�g�}g�}|�j�������������������} �d}||k��re|�j������������������«�������sU|j������������������|�j������������������«�������«�������|j������������������|�j�������������������«�������|dz���}||k��r|�j������������������«�������sŒU|r"|�j ������������������|j ������������������«�������«�������|rŒ"||�_���������t ��������|«������S�#�||�_���������w�xY�w)z;Same as read_lines() but does not advance the file pointer.r���r���)rG��rF��ru���rï��r��rQ��rl���)r,���re��rn���ÚputbackrB��r”���s��� r-���r%��zReader.read_aheadA��s¤���€�àˆØˆØ—k‘kˆ ð &؈AØ�e’) D§H¡H¤JØ— ‘ ˜dŸi™i›kÔ*Ø—‘˜tŸ{™{Ô+ؘ‘E�ð��e’) D§H¡H¥Jñ�Ø— ‘ ˜GŸK™K›MÔ*ò�ð�&ˆDŒKÜ�V‹}Ðøð�&ˆD�Kús���’A+B4�Á>#B4�Â4 B=c������������������ó.���—�t���������j������������������d«�������y�)Nz\s*\S+)r��rÊ��rJ���r/���r-���rE��zReader.skip_blank_linesR��s���€�ä×ј)Õ$r/���c�����������������ó��—�|r|�j�������������������d���}g�}t��������|t��������«������s*t��������|t��������«������rt ��������j ������������������|«������g}n|g}|�j ������������������«�������s™|�j�������������������}|�j������������������«�������}|r|�j�������������������d���k(��rG|D�]B��}|j������������������|«������sŒ|�j������������������|�j�������������������«�������||�_���������t��������|«������c�S��|j������������������|«�������|�j ������������������«�������sŒ™t��������|«������S�)aN��Like read() but reads lines up to (but not including) the first line that matches the terminator regular expression, regular expression object or list of regular expression objects. If same_file is True then the terminating pattern must occur in the file the was being read when the routine was called.r���) rG��rÈ��r†���r¿���r<���rŠ���rF��rï��r=���r��rl���ru���)r,���rÓ��r<��rV���rn���rB��rf���r—���s��� r-���rÊ��zReader.read_untilV��sÏ���€�ñ � Ø—K‘K ‘NˆE؈ܘ+¤tÔ,ܘ+¤sÔ+Ü!Ÿz™z¨+Ó6Ð7‘ à*˜m� Ø—(‘(”*ØŸ+™+ˆKØ— ‘ “ ˆAÙ ¨¯©°Q©Ò 7Û&�CØ—y‘y •|ØŸ ™  D§K¡KÔ0Ø&1˜œ Ü$ V›}Ò,ð �'ð � �M‰M˜!Ô ð�—(‘(•*ô��V‹}Ðr/���N)r���rB��)rF���rG���rH���rI���r.���r8��rï��rF��rª��rD��r%��rl��rE��rÊ��rJ���r/���r-���r3��r3��Å��sE���„�ñòòò Wòr(òóóð"�ñ%ó�ð%ôr/���r3��c�������������������ó:���—�e�Zd�ZdZd„�Zd d„Zd„�Zd d„Zd„�Zd d„Z y) ÚWriterzWrites lines to output file.c�����������������óR���—�t���������|�_��������d�|�_��������d�|�_��������d|�_��������d|�_��������y�r}��)r­��r¾���rb���rV���Ú lines_outrE��r+���s��� r-���r.���zWriter.__init__s��s&���€�Ü&ˆŒ ؈ŒØˆŒ ؈ŒØ %ˆÕr/���Nc�����������������ó��—�||�_���������|dk(��rt��������j������������������|�_��������nt ��������|ddd¬«������|�_��������t ��������j ������������������dt��������j�������������������z���d«�������|r|�j������������������j������������������|«�������d|�_ ��������y ) zg bom is optional byte order mark. http://en.wikipedia.org/wiki/Byte-order_mark rŒ��zw+rÛ���r'���)r��r¾���z writing: Fr���N) rV���rè���rÚ���rb���r��r:���rß���r½���r¼���rL��)r,���rV���r��s��� r-���r��z Writer.openz��sa���€�ð �ˆŒ Ø �JÒ Ü—Z‘ZˆD�Fä˜% °ÀÔDˆDŒFÜ�‰˜ ¤f§l¡lÑ2°EÔ:Ù Ø �F‰F�L‰L˜Ô ؈�r/���c�����������������óX���—�|�j�������������������dk7��r|�j������������������j������������������«��������y�y�)NrŒ��)rV���rb���r ��r+���s��� r-���r ��z Writer.close‰��s ���€�Ø �:‰:˜Ò #Ø �F‰F�L‰L�Nð� $r/���c�����������������óî���—�|�j�������������������r|rg|j������������������«�������rV|�j������������������j������������������t ��������j ������������������dd|«������xs�d|�j ������������������z���«�������|�j������������������dz���|�_��������y�y�y�)Nz \\({[a-zA-Z0-9_][a-zA-Z0-9_\-]*)r×���r'���r���)rE��r©���rb���r¼���r<���rà���r¾���rL��)r,���r��s��� r-���Ú write_linezWriter.write_line���s]���€�Ø×%Ò%©t¸4¿:¹:¼<à �F‰F�L‰Lœ"Ÿ&™&Ð!DÀeÈTÓRÒXÐVXÐ\`×\hÑ\hÑhÔ iØ!Ÿ^™^¨aÑ/ˆD�Nð�<H¨tr/���c�����������������óD��—�d|v�r t��������|«������dkD��rt��������|d���|d���«�������t��������|«������dk(��r%|�j������������������«��������|�j������������������dz���|�_��������y|D�]D��}t ��������j ������������������|«������r|D�]��}|�j������������������|«�������Œ�Œ1|€Œ4|�j������������������|«�������ŒF�y)zøIterates arguments, writes tuple and list arguments one line per element, else writes argument as single line. If no arguments writes blank line. If argument is None nothing is written. self.newline is appended to each line.r1���r���r���N)r‘���r1���rP��rL��r���r>���)r,���r��ÚkwargsÚargrf���s��� r-���r¼���z Writer.write“��sŠ���€�ð � �fÑ ¤ T£¨Q¢Ü �&˜‘/ 4¨¡7Ô +Ü ˆt‹9˜Š>Ø �O‰OÔ Ø!Ÿ^™^¨aÑ/ˆD�Nã�Ü—>‘> #Ô&Û ˜ØŸ™¨Õ*ñ�!à‘_Ø—O‘O CÕ(ñ �r/���c�������������� ���ó��—�|€t���������j������������������}t��������||«������\��}}t��������j ������������������||«������}d|v�rt ��������|d���|g|z���|gz���«�������|r|�j ������������������|«�������|r|�j ������������������|«�������|r|�j ������������������|«�������yy)zxWrite content enveloped by tag. Substitutions specified in the 'subs' list are perform on the 'content'.Nr1���)r‡���rW��r¢���r7��r2���r1���r¼���)r,���r����r…���r2���rh���rR��rš���r›���s��� r-���rõ��zWriter.write_tag¥��sŠ���€�ð� ˆ<Ü×$Ñ$ˆDܘc 1Ó%‰ ˆˆdÜ—(‘(˜7 DÓ)ˆØ �fÑ Ü �&˜‘/ D 6¨GÑ#3°t°fÑ#<Ô =Ù Ø �J‰J�tÔ Ù Ø �J‰J�wÔ Ù Ø �J‰J�tÕ ð� r/���rE���©NN) rF���rG���rH���rI���r.���r��r ��rP��r¼���rõ��rJ���r/���r-���rJ��rJ��q��s#���„�Ù&ò&ó òó0ò )ô$r/���rJ��c�����������������óf��—�|�j�������������������j������������������}t��������j������������������|���}|t��������j������������������vrt ��������d|z��«������‚|�j ������������������«�������d���dk(��r|�j ������������������«�������dd�S�i�}|�j ������������������«�������|d<���|j������������������|�j������������������«�������«�������t��������|j������������������«�������«������D�] ��\��}}|�Œ ||=�Œ �t��������t��������j������������������|���|«������}t��������|«������dk(��rd}|S�t��������|«������dk(��r|d���}|S�t��������j������������������j������������������|«������}|S�)zLSpecial word substitution function called by Config.subs_specialwords().z"missing special word template [%s]r���rƒ���r���NÚwordsr'���)r<���r÷��r‡���r���r��r ���rŽ���rd���rò��r†���rª���rŸ���r‘���r½���r¾���r8���)r™���Úwordr��r��r±���r²���rí���rn���s��� r-���Ú_subs_specialwordsrY��º��s��€�ð� �5‰5�=‰=€DÜ×"Ñ" 4Ñ(€HØ”v—‘Ñ&ÜÐ<¸xÑGÓHÐHØ ‡x�xƒz�!�}˜ÒØ�x‰x‹z˜!˜"ˆ~ÐØ €DØ—H‘H“J€Dˆ�M؇K�K�— ‘ “Ôä�T—Z‘Z“\Ö"‰ˆˆ1Ø ‰9Ø�Q‘ð�#ô� ”v—‘ xÑ0°$Ó 7€EÜ ˆ5ƒz�Q‚؈ð � €Mô � ˆU‹�qŠØ�q‘ˆð� €Mô�—‘×$Ñ$ UÓ+ˆØ €Mr/���c�������������������ó��—�e�Zd�ZdZdZd„�Zed„�«�������Zdg�g�fd„Zd"d„Z ed„�«�������Z d"d „Z dg�fd „Z d"d „Z d"d „Zd „�Zd„�Zd„�Zd„�Zd„�Zd„�Zd„�Zd„�Zd"d„Zd„�Zd#d„Zed„�«�������Zd#d„Zd„�Zd„�Zd„�Zd„�Zd„�Z d„�Z!i�d d fd!„Z"y)$ÚConfigz'Methods to process configuration files.)rè��rþ��r���r���r���r���r���r���r9��z paradef-.+z listdef-.+z blockdef-.+z tabledef-.+z tabletags-.+z listtags-.+zreplacements[23]zold_tabledef-.+c�����������������óØ��—�t��������«�������|�_��������d|�_��������d|�_��������d|�_��������d|�_��������t ��������|�_��������d�|�_��������d�|�_ ��������d|�_ ��������t��������|�_ ��������t��������|�_��������i�|�_��������i�|�_��������i�|�_��������t��������«�������|�_��������t��������«�������|�_��������t��������«�������|�_��������i�|�_��������t��������«�������|�_��������d|�_��������i�|�_��������i�|�_��������g�|�_��������i�|�_��������d|�_��������g�|�_��������y�)NFTr��éF���r'���)r���r��rß���rÍ��r��Ú textwidthr­��r¾���rX��rY��r—��Ú SUBS_NORMALrW��Ú SUBS_VERBATIMrX��rè��Ú specialcharsr���r���r ���r!���r<��r���rV���r��r’��Úloadedrý���r(��rË���r+���s��� r-���r.���zConfig.__init__Ü��sË���€�Ü#› ˆŒ àˆŒ Ø!ˆÔàˆŒ ؈ŒÜ&ˆŒ ؈ŒØˆŒØˆÔÜ%ˆŒÜ)ˆÔàˆŒ ØˆÔØˆÔÜ'›MˆÔÜ(›]ˆÔÜ(›]ˆÔØ!ˆÔÜ!“mˆŒ ؈Œ ؈ŒØˆŒØˆŒ ؈Œ ؈Œ ؈� r/���c������������������ód��—�t���������j������������������dd�t��������k��r1t��������j ������������������dt��������z��«�������t��������j ������������������d«�������t ��������j������������������«�������at���������Kt��������j������������������j������������������t��������d«������at��������j������������������j������������������t��������«������sdayyy)z¤ Check Python version and locate the executable and configuration files directory. cmd is the asciidoc command or asciidoc.py path. Nrž���z'FAILED: Python %d.%d or better requiredr���z .asciidoc) rè���Ú version_infoÚMIN_PYTHON_VERSIONr:���r?���Úexitr���ÚuserdirrÝ���rQ���rR���r8���ÚisdirrJ���r/���r-���Úinitz Config.initû��s|���€�ô� × Ñ ˜B˜QÐ Ô"4Ò 4Ü �N‰NÐDÔGYÑYÔ ZÜ �H‰H�QŒKä—=‘=“?ˆÜ Ð Ü—w‘w—|‘|¤H¨kÓ:ˆHÜ—7‘7—=‘=¤Ô*Ø‘ð�+ð� r/���Nc�����������������ón��‡�‡ ‡ —�ˆ ˆ ˆ�fd„}|r t���������j������������������j������������������||«������}t���������j������������������j������������������|«������syt���������j������������������j ������������������|«������‰�j ������������������v�ryt ��������«�������}dt��������_��������|j������������������|«�������dt��������_��������|‰�_ ��������t��������j������������������d«������}t��������«�������Š dg�c}Š |j������������������«�������s”|j������������������«�������} | r | d���dk(��rŒ+| dd �d k(��r| d d�} | j!������������������«�������} |j#������������������t%��������| «������«������} | r�||«�������| d���j'������������������«�������}g�Š n‰ j)������������������| «�������|j������������������«�������sŒ”�||«�������|j+������������������«��������|rt-��������‰ «������t-��������|«������z ��D�]��} ‰ | =�Œ�|rt-��������‰ «������t-��������|«������z��D�]��} ‰ | =�Œ�i�} ‰�j/������������������‰ | «�������|s8‰�j ������������������j)������������������t���������j������������������j ������������������|«������«�������t0��������j3������������������| «�������y) a=�� Loads sections dictionary with sections from file fname. Existing sections are overlaid. The 'include' list contains the section names to be loaded. The 'exclude' list contains section names not to be loaded. Return False if no file was found in any of the locations. c�����������������óÞ���•—�|�rj‰rg|�‰v�r4‰j������������������|�«������r#dj������������������‰«������r‰|�xx���‰z ��cc<���y‰|�=�y|�j������������������d«������r|�‰v�r‰|�xx���‰z ��cc<���y‰‰|�<���y‰‰|�<���yyy)z+ Update section in sections with contents. r'���r#���N)Úentries_sectionr8���ra��)r��Úcontentsr��r,���s��� €€€r-���Úupdate_sectionz(Config.load_file.<locals>.update_section��s„���ø€�á™8ؘhÑ&¨4×+?Ñ+?ÀÔ+HØ—w‘w˜xÔ(à  Ó)¨XÑ5Ô)à$ WÑ-à×)Ñ)¨#Ô.à" hÑ.Ø$ WÓ-°Ñ9Ô-à08˜H WÒ-ð�-5˜ Ò)ð!�$ˆwr/���FTNz&^\[(?P<section>\+?[^\W\d][\w-]*)\]\s*$r'���r���r����rž���z\#r���)rQ���rR���r8���rÌ���Úrealpathrb��r3��r:���r)���r��rV���r<���rŠ���r���rF��rï��rê���Úfindallr¿���ró��ru���r ��r���r���r6���rš��)r,���rV���rÍ���rü���Úexcludern��r®��r—���r��rf���rî���rg���rm��r��s���` @@r-���Ú load_filezConfig.load_file ��sÌ��ú€�ö 5ñ&� Ü—G‘G—L‘L  eÓ,ˆEä�w‰w�~‰~˜eÔ$Øô� �7‰7× Ñ ˜EÓ " d§k¡kÑ 1ØÜ‹hˆØŒŒØ �‰�ŒØŒŒØˆŒ Ü�j‰jÐBÓCˆÜ“=ˆØ Ðˆ�Ø—'‘'”)Ø—‘“ ˆAÙ�Q�q‘T˜S’[ØØ��!ˆu˜Š~Ø�a�b�E�Ø—‘“ ˆAØ—K‘K¤ A£Ó'ˆEÙÙ˜wÔ'Ø ™(Ÿ.™.Ó*�Ø‘à—‘ Ô"ð�—'‘'•)ñ� �wÔØ � ‰ Œ ٠ܘ“]¤S¨£\Ô1�ؘQ‘Kð�2á ܘ“]¤S¨£\Ô1�ؘQ‘Kð�2àˆØ ×ј8 UÔ+Ùà �K‰K× Ñ œrŸw™w×/Ñ/°Ó6Ô 7Ü×"Ñ" 5Ô)Ør/���c�����������������ór��—�t��������|j������������������«�������«������D�]E��}t��������t��������||���«������dz ��dd«������D�]$��}||���|���s||���|=�Œ|�j ������������������|«������rŒ$�ŒE�ŒG�t��������|j ������������������«�������«������D�]`��\��}}|j ������������������d«������r;|dd�}||�j������������������v�r|�j������������������|xx���|z ��cc<���ŒB||�j������������������|<���ŒR||�j������������������|<���Œb�|�j������������������«��������i�}t��������|j������������������dd«������|dd¬«�������t��������|j������������������d d«������|dd¬«�������t��������|�j������������������|«�������|�|j������������������|«�������i�}t��������|j������������������d d«������|«�������t��������j������������������|«�������t��������|j������������������d d«������|�j ������������������d ¬ «�������t��������|j������������������dd«������|�j"������������������«�������|�j%������������������«��������|�j'������������������«��������|�j'������������������d«�������|�j'������������������d«�������|�j)������������������«��������t*��������j������������������|«�������t,��������j������������������|«�������t.��������j������������������|«�������t0��������j������������������|«�������t2��������j������������������|«�������t4��������j������������������|j������������������dd«������«�������y)z¦ Loads sections dictionary. Each dictionary entry contains a list of lines. Updates 'attrs' with parsed [attributes] section entries. r���r€���r#���Nrþ��rJ���T)r¬���r®���r���r9��r���F)r¯���r���r ���r!���r���)r†���rˆ���rh��r‘���rl��rª���ra��r��Ú parse_tagsr·���r7���rÂ���r��rd���rM��r7��ra��r���Úparse_specialwordsÚparse_replacementsÚparse_specialsectionsrS��rP��rQ��rL��rR��r���)r,���r��rg���r±���r”���r²���rh���s��� r-���r���zConfig.load_sectionsV��s&��€�ô��h—m‘m“oÖ&ˆAÜœ3˜x¨™{Ó+¨aÑ/°°RÖ8�Ø ‘{ 1’~Ø  ™  A™Ø×-Ñ-¨aÕ0Ùñ �9ð�'ô�˜Ÿ™Ó)Ö*‰DˆAˆqØ�|‰|˜CÔ à�a�b�E�ؘŸ ™ Ñ%Ø—M‘M !Ó$¨Ñ)Ô$à'(�D—M‘M !Ò$ð�$%�— ‘ ˜aÒ ð�+ð� �‰Ôà ˆÜ�h—l‘l ?°BÓ7¸ÀDÐZ^Õ_Ü�h—l‘l <°Ó4°aÀÐW[Õ\Ü�T—_‘_ aÔ(Ø Ð Ø �L‰L˜ŒOØ ˆÜ�h—l‘l 8¨RÓ0°!Ô4Ü � ‰ �1Œ Ü�h—l‘lÐ#6¸Ó;¸T×=NÑ=NÐafÕgÜ�h—l‘l 8¨RÓ0°$·+±+Ô>Ø ×ÑÔ!Ø ×ÑÔ!Ø ×Ñ Ô0Ø ×Ñ Ô0Ø ×"Ñ"Ô$Ü�‰˜Ô!Ü � ‰ �8ÔÜ� ‰ �HÔÜ�‰˜Ô!Ü� ‰ �HÔÜ� ‰ �H—L‘L ¨2Ó.Õ/r/���c������������������ój���—�g�}�|�j������������������t��������«�������t���������|�j������������������t��������«�������|�S�)zB Return list of well known paths with conf files. )ru���rU���rÝ���rT��s��� r-���Ú get_load_dirszConfig.get_load_dirsˆ��s,���€�ð �ˆà� ‰ ”hÔä Ð Ø �M‰Mœ(Ô #؈ r/���c�����������������óÞ���—�g�}|€|�j������������������«�������}|D�]S��}t��������j������������������j������������������||«������}t��������j������������������j ������������������|«������sŒC|j ������������������|«�������ŒU�|S�)zš Find conf files from dirs list. Return list of found file paths. Return empty list if not found in any of the locations. )ry��rQ���rR���r8���rÌ���ru���)r,���r¡��Údirsrn���rh���rb���s��� r-���Ú find_in_dirszConfig.find_in_dirs•��s]���€�ð �ˆØ ˆ<Ø×%Ñ%Ó'ˆDÛˆAÜ—‘— ‘ ˜Q Ó)ˆAÜ�w‰w�~‰~˜aÕ Ø— ‘ ˜aÕ ð�ð�ˆ r/���c�����������������óp���—�d}|�j������������������||«������D�]��}|�j������������������||¬«������sŒ|dz ��}Œ�|dk7��S�)z© Load conf file from dirs list. If dirs not specified try all the well known locations. Return False if no file was successfully loaded. r���©rü���r���)r|��rr��)r,���r¡��r{��rü���re��rb���s��� r-���r ��zConfig.load_from_dirs¤��sE���€�ð �ˆØ×"Ñ" 8¨TÖ2ˆAØ�~‰~˜a¨ˆ~Õ1ؘ‘ ‘ð�3ð�˜‰zÐr/���c�����������������óR��—�d}|€|�j������������������«�������}t��������j������������������dz���}t��������j������������������dz���t��������j������������������z���dz���}|D��cg�c]1��}t��������j ������������������j ������������������|dt��������j������������������«������‘Œ3�c}D�]F��}|�j������������������||«������r t��������j ������������������j ������������������||«������}|�j������������������||«�������ŒH�|sK|D�]F��}|�j������������������||«������r t��������j ������������������j ������������������||«������}|�j������������������||«�������ŒH�|S�c�c}w�)zï Load the backend configuration files from dirs list. If dirs not specified try all the well known locations. If a <backend>.conf file was found return it's full path name, if not found return None. Nr���r���Úbackends)ry��r6���rx��rq��rQ���rR���r8���rr��)r,���r{��rn���ÚconfÚconf2rh���s��� r-���Ú load_backendzConfig.load_backend°��sù���€�ð�ˆØ ˆ<Ø×%Ñ%Ó'ˆDÜ×Ñ 'Ñ)ˆÜ× Ñ  3Ñ&¬×)9Ñ)9Ñ9¸GÑCˆáIMÓNÉÀA”"—'‘'—,‘,˜q *¬h×.>Ñ.>Õ?ÈÔNˆAØ�~‰~˜d AÔ&ÜŸ™Ÿ™ a¨Ó.�Ø �N‰N˜5 !Õ $ð�Oñ�ã�Ø—>‘> $¨Ô*ÜŸW™WŸ\™\¨!¨TÓ2�FØ—‘˜u aÕ(ð�ð�ˆ ùò�Os���Á6D$c�����������������óÌ��—�|€|�j������������������«�������}|D�]Í��}t��������j������������������j������������������|d«������}t��������j������������������|«������D�]“��\��}}}|t ��������|«������d�j ������������������t��������j������������������j������������������«������}t ��������|«������dkD��xr�|d���|�j������������������v�}d|vs|sŒd|D�]+��} t��������j������������������d| «������sŒ|�j������������������| |«�������Œ-�Œ•�ŒÏ�y)a€�� Load filter configuration files from 'filters' directory in dirs list. If dirs not specified try all the well known locations. Suppress loading if a file named __noautoload__ is in same directory as the conf file unless the filter has been specified with the --filter command-line option (in which case it is loaded unconditionally). NrË���r���Ú__noautoload__z ^.+\.conf$) ry��rQ���rR���r8���Úwalkr‘���rs���r.��rË���r<���r=���rr��) r,���r{��rh���Ú filtersdirÚdirpathÚdirnamesÚ filenamesÚsubdirsÚ filter_optrb���s ��� r-���Ú load_filterszConfig.load_filtersÉ��sÄ���€�ð� ˆ<Ø×%Ñ%Ó'ˆDÛˆA䟙Ÿ™ a¨Ó3ˆJÜ02·±¸ Ö0CÑ,�˜ 9Ø!¤# j£/Ð"2Ð3×9Ñ9¼"¿'¹'¿+¹+ÓF�ä  ›\¨AÑ-ÒL°'¸!±*ÀÇ Á Ð2L� Ø#¨9Ñ4º Û&˜ÜŸ8™8 M°1Õ5Ø ŸN™N¨1¨gÕ6ñ�'ñ �1Dñ�r/���c�����������������óÖ���—�|�j������������������«�������D��cg�c]"��}t��������j������������������j������������������|g|¢­Ž�‘Œ$�c}D�]%��}t��������j������������������j ������������������|«������sŒ#|c�S��yc�c}w�)z� Return path of configuration directory. Try all the well known locations. Return None if directory not found. N)ry��rQ���rR���r8���rh��)r,���r‰��rh���s��� r-���Úfind_config_dirzConfig.find_config_dirß��s[���€�ð �7;×6HÑ6HÔ6JÓKÑ6J°”"—'‘'—,‘,˜qÐ, 8Ô,Ð6JÔKˆAÜ�w‰w�}‰}˜QÕØ’ð�Lð�ùò�Ls���“'A&c�����������������ó¾��—�t���������j������������������j������������������d«������}|r¼dt���������j������������������vr©|�j������������������d|«������}|rz|t���������j������������������d<���t��������j ������������������j ������������������|d«������}dt���������j������������������v�r4t��������j ������������������j������������������|«������r|t���������j������������������d<���y�y�y�t��������j������������������d|z��d¬ «�������y�y�y�) NÚthemeÚthemedirÚthemesÚiconsúdata-uriÚiconsdirzmissing theme: %sFr"��) r6���r���r7���r���rQ���rR���r8���rh��r:���r ���)r,���r‘��r’��r–��s��� r-���Úset_theme_attributeszConfig.set_theme_attributesê��s¶���€�Ü×#Ñ#×'Ñ'¨Ó0ˆÙ �Z¤x×':Ñ':Ñ:Ø×+Ñ+¨H°eÓ<ˆHÙØ2:”×#Ñ# JÑ/ÜŸ7™7Ÿ<™<¨°'Ó:�ؤ×!4Ñ!4Ñ4¼¿¹¿¹ÀxÔ9PØ6>”H×'Ñ'¨ Ò3ð�:QÐ4ô�—‘Ð 3°eÑ ;ÀU�ÕKð�;ˆ5r/���c����������� ������óÈ��‡�—�ˆ�fd„}�|d|d«��������|d|d«�������d|v�r �t��������|d���«������}|‰�_��������d|v�r |d���‰�_��������d |v�r |d ���‰�_��������d |v�r#t ��������j������������������d |d ���z���d z���«������‰�_��������d |v�r%t��������|d ���t��������d d›dd ›d|d ���›�«������‰�_ ��������d|v�r&t��������|d���t��������d d›dd›d|d���›�«������‰�_ ��������yy#�t��������$�r �t��������d«������‚w�xY�w)z<Set miscellaneous configuration entries from dictionary 'd'.c�����������������ó¶���•—�|�|v�r9 �t��������||����«������}||k\��st��������dt��������|«������z���«������‚t��������‰|�|«�������y�y�#�t��������$�r�t ��������d|�z��«������‚w�xY�w)Nznot >= z illegal [miscellaneous] %s entry)r+��r*��r¿���r���r ���)r@���rh���Ú min_valuer+��r,���s��� €r-���Ú set_if_int_gez0Config.load_miscellaneous.<locals>.set_if_int_geø��sn���ø€�Ø�q‰yðOܘa ™g›,�CØ )Ò+Ü(¨´S¸³^Ñ)CÓDÐDܘD $¨Õ,ð �øô �"ò�OÜ#Ð$FÈÑ$MÓNÐNðOús ���‡7A��Á�Ar��r���r^��r���rX��z'illegal [miscellaneous] pagewidth entryrY��r—��r¾���r»���rW��ú illegal [rþ��r„��rr���rX��N) rD��rX��r*��r ���rY��r—��rV��rW��r¾���ry���r��rW��rX��)r,���rh���r›��r+��s���` r-���r“��zConfig.load_miscellaneousö��s��ø€�ô Oñ� �i  AÔ&Ù�k 1 aÔ(à ˜!Ñ ð KܘA˜k™NÓ+�Ø!$�”ð� ˜!Ñ Ø˜{™^ˆDŒNØ ˜aÑ Ø!" ?Ñ!3ˆDÔ Ø ˜‰>ä×+Ñ+¨C°!°I±,Ñ,>ÀÑ,DÓEˆDŒLØ ˜1Ñ Ü+¨A¨l©O½\ÚETÒVbÐdeÐfrÒdsÐ,tóvˆDŒOà ˜QÑ Ü -¨a°Ñ.?ÅÚ1@Â.ÐRSÐTbÒRcðPeó�!fˆDÕ ð� øô�ò� KÜÐ IÓJÐJð Kús ��� C �à C!c�����������������ó���—�dt���������_��������|�j������������������r|�j������������������rt��������s t ��������d«������‚t ��������|�j������������������j������������������«�������«������D�]��}t��������|«������dk7��sŒt ��������d|z��«������‚�t ��������|�j������������������j������������������«�������«������D�]B��}t��������|«������st ��������d|z��«������‚||�j������������������vsŒ+t���������j������������������d|z��«�������ŒD�t ��������|�j������������������j������������������«�������«������dd�D�]X��}|�j������������������|���}|s|�j������������������|=�Œ"|d���d k(��r|dd�}||�j������������������vsŒ>t���������j������������������d |›d |›�«�������ŒZ�t ��������|�j������������������j!������������������«�������«������D�]<��\��}}|s|�j������������������|=�Œ||�j������������������vsŒ%t���������j������������������d |z��«�������Œ>�t"��������j%������������������«��������t��������j%������������������«��������t&��������j%������������������«��������t(��������j%������������������«��������t*��������j%������������������«��������t,��������j%������������������«��������dt���������_��������y) zpCheck the configuration for internal consistency. Called after all configuration files have been loaded.Fzincomplete configuration filesr���z2[specialcharacters] must be a single character: %szillegal special word name: %sz missing special word macro: [%s]Nr���r����z [quotes] z missing tag definition: z%missing specialsections section: [%s])r:���r)���ra��rè��rP��r ���r†���rˆ���r‘���r���rð��rt���r��r ���r���r<��rª���rS��r¢��rQ��rL��rR��r���)r,���r±���rØ��r“���r����r²���s��� r-���r¢��zConfig.validate��sÈ��€�ð� ŒŒà× Ò ¨¯ ª ½ÜÐ<Ó=Ð =ä�d×'Ñ'×,Ñ,Ó.Ö/ˆAÜ�1‹v˜‹{ÜÐ TÐWXÑ XÓYÐYð�0ô�˜$×+Ñ+×2Ñ2Ó4Ö5ˆEܘ5”>ÜÐ ?À%Ñ GÓHÐHؘDŸM™MÒ)Ü—‘Ð BÀUÑ JÕKð �6ô ��d—k‘k×&Ñ&Ó(Ó)©!Ó,ˆAØ—+‘+˜a‘.ˆCÙØ—K‘K ‘Nà�q‘6˜S’=ؘa˜b˜'�CؘdŸi™iÒ'Ü—O’OÒPQÑSVÐ$WÕXð�-ô�˜×-Ñ-×3Ñ3Ó5Ö6‰DˆAˆqÙØ×(Ñ(¨Ñ+ؘ$Ÿ-™-Ò'Ü—‘Ð GÈ!Ñ KÕLð �7ô � ×ÑÔÜ �‰ÔÜ�‰ÔÜ×ÑÔÜ�‰ÔÜ�‰ÔØŒ�r/���c�����������������óV���—�|�j�������������������D�]��}t��������j������������������||«������sŒ�y�y)zc Return True if conf file section contains entries, not a markup template. TF)ÚENTRIES_SECTIONSr<���r=���)r,���rÚ��r@���s��� r-���rl��zConfig.entries_sectionB��s*���€�ð �×)Ô)ˆDÜ�x‰x˜˜lÕ+Ùð�*ð�r/���c����������� ������óP��—�d}|dz���t���������j������������������z���}|dt��������›dt��������j������������������›dt��������j ������������������›dt���������j������������������›�z���}t ��������j������������������t ��������j������������������t ��������j ������������������«�������«������«������}|d|›t���������j������������������›�z���}|dz���t���������j������������������z���}t��������j������������������j������������������|«�������i�}|j������������������|�j������������������«�������|j������������������|�j������������������«�������t��������d|«�������t ��������j#������������������«��������t��������d |�j$������������������«�������t��������d |�j&������������������«�������i�}t)��������|�j*������������������j-������������������«�������«������D�] ��\��}}||v�r||���›d |›d �||<���Œd |z��||<���Œ"�t��������d|«�������t��������d|�j.������������������«�������t��������d|�j0������������������«�������t��������d|�j2������������������«�������t��������d|�j4������������������«�������i�}t)��������|�j6������������������j-������������������«�������«������D�] ��\��}}d|z��||<���Œ�t��������d|«�������t8��������j#������������������«��������t:��������j#������������������«��������t<��������j#������������������«��������t>��������j#������������������«��������t@��������j#������������������«��������tB��������j#������������������«��������t)��������|�jD������������������jG������������������«�������«������D�]¹��}|�jI������������������|«������rŒt��������j������������������j������������������d|›dt���������j������������������›�«�������|�jD������������������|���D�]3��}t��������j������������������j������������������|›t���������j������������������›�«�������Œ5�t��������j������������������j������������������t���������j������������������«�������Œ»�y)zDump configuration to stdout.r'���r����z# Generated by AsciiDoc z for rg��rO���z# r���r���r���z "r»���z"%s"r���r���r ���r!���r<��z%s|%srè��r¹���rº���N)%r½���r¾���r‘��r6���rx��rq��r���Úasctimer„��rè���rÚ���r¼���rd���r��r’��rÀ���rM��r:��r���ra��r†���r���rª���r���r ���r!���r<��rè��rS��rP��rQ��rL��rR��r���r��rˆ���rl��)r,���rÔ��r˜��rh���r±���r²���r��s��� r-���r:��z Config.dumpL��s‡��€�ð�ˆØ�C‰iœ&Ÿ.™.Ñ(ˆÙÞ ”h×&Ó&¬×(8Ó(8¼&¿.º.ðJñ�Jˆä �L‰LœŸ™¬¯ © « Ó4Ó 5ˆÙ¡¤6§>¢>Ð2Ñ2ˆØ�C‰iœ&Ÿ.™.Ñ(ˆÜ � ‰ ×јÔð� ˆØ �‰�—‘Ô!Ø �‰�—‘Ô Ü�\ 1Ô%Ü � ‰ Œ Ü�X˜tŸ{™{Ô+ÜÐ(¨$×*;Ñ*;Ô<Ø ˆÜ˜×*Ñ*×0Ñ0Ó2Ö3‰DˆAˆqØ�A‰vØ$% a£Dª!Ð,��!’à ‘z��!’ð �4ô � �^ QÔ'Ü�^ T×%6Ñ%6Ô7Ü�_ d×&8Ñ&8Ô9Ü�_ d×&8Ñ&8Ô9ÜÐ&¨×(<Ñ(<Ô=Ø ˆÜ˜Ÿ™Ÿ™Ó*Ö+‰DˆAˆqؘQ‘;ˆAˆaŠDð�,ä�V˜QÔÜ�‰ÔÜ � ‰ Œ Ü� ‰ Œ Ü�‰ÔÜ� ‰ Œ Ü� ‰ Œ ä�d—m‘m×(Ñ(Ó*Ö+ˆAØ×'Ñ'¨Õ*Ü— ‘ × Ò ªQ´·²Ð!?Ô@Ø ŸM™M¨!Ô,�DÜ—J‘J×$Ñ$©t´V·^²^Ð%DÕEð�-ä— ‘ × Ñ ¤§¡Õ0ñ �,r/���c�����������������ó‚���—�||�j�������������������v�rt��������|�j�������������������|���|«������S�t��������j������������������d|z��«�������y)z•Section attribute substitution using attributes from document.attributes and 'd'. Lines containing undefined attributes are deleted.úmissing section: [%s]rJ���)r��rŸ���r:���r ���)r,���r��rh���s��� r-���rÎ��zConfig.subs_section~��s;���€�ð� �d—m‘mÑ #ܘdŸm™m¨GÑ4°aÓ8Ð 8ä �O‰OÐ3°gÑ=Ô >Ør/���c�����������������ó¨��—�i�}t��������|�j������������������j������������������dd«������|«�������t��������|j ������������������«�������«������D�]Ž��\��}}|€||�j ������������������v�sŒ|�j ������������������|=�Œ%|dk(��rd|�j ������������������|<���Œ:t ��������j������������������d|«������}|r0|j������������������d«������|j������������������d«������f|�j ������������������|<���Œ‚t��������d |z��«������‚�y) z7Parse [tags] section entries into self.tags dictionary.rè��rJ���Nr'���rU��ú(?P<stag>.*)\|(?P<etag>.*)rš���r›���z[tag] %s value malformed) r·���r��r7���r†���rª���rè��r<���r=���rŽ���r ���)r,���rh���r±���r²���r™���s��� r-���rt��zConfig.parse_tagsˆ��s²���€�à ˆÜ�d—m‘m×'Ñ'¨°Ó3°QÔ7ܘŸ™›–O‰DˆAˆq؈yؘŸ ™ ’>ØŸ ™  !™ Ø�b’Ø+�— ‘ ˜!’ ä—X‘XÐ;¸QÓ?�ÙØ$&§H¡H¨VÓ$4°b·h±h¸vÓ6FÐ#G�D—I‘I˜a’Lä#Ð$>ÀÑ$BÓCÐCñ�$r/���c�����������������ó²���—�||�j�������������������vrt��������d|z��«������‚|�j�������������������|���\��}}|�|r t��������||«������}|r t��������||«������}|€d}|€d}||fS�)zòReturns (starttag,endtag) tuple named name from configuration file [tags] section. Raise error if not found. If a dictionary 'd' is passed then merge with document attributes and perform attribute substitution on tags.zmissing tag: %sr'���)rè��r ���rŸ���)r,���r@���rh���rš���r›���s��� r-���r����z Config.tag™��ss���€�ð � �t—y‘yÑ ÜÐ-°Ñ4Ó5Ð 5Ø—Y‘Y˜t‘_‰ ˆˆdØ ˆ=áÜ! $¨Ó*�ÙÜ! $¨Ó*�Ø ˆ<؈DØ ˆ<؈DØ�dˆ|Ðr/���c�����������������óf��—�i�}t��������|�j������������������j������������������dd«������|d¬«�������t��������|j ������������������«�������«������D�]k��\��}}t ��������j ������������������|«������}t ��������j������������������|«������st��������d|z��«������‚|€||�j������������������v�sŒO|�j������������������|=�Œ]||�j������������������|<���Œm�y)zAParse specialsections section to self.specialsections dictionary.r<��rJ���T©r¬���z=[specialsections] entry is not a valid regular expression: %sN) r·���r��r7���r†���rª���r���r¨���r)��r ���r<��)r,���rh���rü��r��s��� r-���rw��zConfig.parse_specialsections­��sŸ���€�ð� ˆÜ�d—m‘m×'Ñ'Ð(9¸2Ó>ÀÈ4ÕPÜ! !§'¡'£)ž_‰MˆC�Ü×$Ñ$ SÓ)ˆCÜ—;‘;˜sÔ#ÜÐ _ÐbeÑ eÓfÐfØÐؘ$×.Ñ.Ò.Ø×,Ñ,¨SÑ1à,4�×$Ñ$ SÒ)ñ�-r/���c����������� ������ó ��—�t��������«�������}t��������|�j������������������j������������������|d«������|d¬«�������t ��������|j ������������������«�������«������D�]@��\��}}|�j ������������������||t��������|�|«������«������rŒ$t��������d|›d|�j������������������›d|›�«������‚�y)z=Parse replacements section into self.replacements dictionary.rJ���Tr¨��r¹���z ] entry in ú$ is not a valid regular expression: N) r���r·���r��r7���r†���rª���Úset_replacementr­��r ���rV���)r,���r=��rh���rü��Úreps��� r-���rv��zConfig.parse_replacements½��sw���€�ä ‹MˆÜ�d—m‘m×'Ñ'¨¨bÓ1°1¸dÕCܘQŸW™W›Yž‰HˆC�Ø×'Ñ'¨¨S´'¸$ÀÓ2EÕFÝÚ<@À$Ç*Ã*Écð!Só�Tð�Tñ�(r/���c�����������������óž���—�t��������j������������������|�«������}�t��������j������������������|�«������sy|€|�|v�r||�=�yt��������j������������������|«������||�<���y)z7Add pattern and replacement to replacements dictionary.FT)r���r¨���r)��)rü��r¬��r���s��� r-���r«��zConfig.set_replacementÆ��sW���€�ô�× Ñ  Ó%ˆÜ�{‰{˜3ÔØØ ˆ;Ø�lÑ"Ø  Ð%ð�ô�!&× 2Ñ 2°3Ó 7ˆL˜Ñ Ør/���c�����������������óŽ���—�|}t��������t��������|�|«������j������������������«�������«������D�]��\��}}t��������j������������������|||«������}Œ�|S�)z2Substitute patterns from self.replacements in 's'.)r†���r­��rª���r<���rà���)r,���rf���r=��rn���rü��r¬��s��� r-���r^��zConfig.subs_replacementsÓ��sA���€�àˆÜœW T¨4Ó0×6Ñ6Ó8Ö9‰HˆC�Ü—V‘V˜C  fÓ-‰Fð�:àˆ r/���c�����������������ót��—�t��������j������������������d«������}|�j������������������j������������������dd«������D��]��}t ��������|«������}|st ��������d|�j ������������������›d|›�«������‚|\��}}t��������|«������st ��������d|�j ������������������›d|›�«������‚|€?t��������|�j������������������j������������������«�������«������D�]��\��}}||k(��sŒ |�j������������������|=�Œ�Œ˜|j������������������|«������}|D�]V��} t��������j������������������| «������} t��������j������������������| «������st ��������d|�j ������������������›d | ›�«������‚||�j������������������| <���ŒX��Œ�y) z>Parse special words section into self.specialwords dictionary.z(?:\s|^)(".+?"|[^"\s]+)(?=\s|$)r���rJ���z[specialwords] entry in z is malformed: z[specialwords] name in z is illegal: Nrª��)r<���rŠ���r��r7���r³���r ���rV���rt���r†���r���rª���rp��r���r¨���r)��) r,���r—���r��r¹��r@���Úwordlistr±���r²���rW��rX��s ��� r-���ru��zConfig.parse_specialwordsÚ��s��€�ä�j‰jÐ;Ó<ˆØ—M‘M×%Ñ% n°b×9ˆDܘDÓ!ˆAÙÝÐQU×Q[ÓQ[Ñ]aÐ bÓcÐc؉NˆD�(ܘ4”=ÝÈdÏjËjÑZ^Ð _Ó`Ð`ØÐä  ×!2Ñ!2×!8Ñ!8Ó!:Ö;‘D�A�qؘD“yØ ×-Ñ-¨aÑ0ñ�<ð�Ÿ ™  HÓ-�Û!�DÜ ×-Ñ-¨dÓ3�DÜ Ÿ;™; tÔ,Ý'ØSW×S]ÓS]Ñ_cð)eó�fð�fà.2�D×%Ñ% dÒ+ò �"ñ�:r/���c�����������������óX���—� �d}|D�]!��}||�j�������������������j������������������||«������z���}Œ#�|S�)z5Perform special character substitution on string 's'.r'���)ra��r7���)r,���rf���rn���Úchs��� r-���r\��zConfig.subs_specialcharsò��s;���€�ð Oð�ˆÛˆBؘd×/Ñ/×3Ñ3°B¸Ó;Ñ;‰Fð�àˆ r/���c�����������������ó„���—�|}t��������|�j������������������j������������������«�������«������D�]��\��}}|j������������������||«������}Œ�|S�)z=Perform reverse special character substitution on string 's'.)r†���ra��rª���r§���)r,���rf���rn���r±���r²���s��� r-���rô��z Config.subs_specialchars_reverseý��s>���€�àˆÜ˜×*Ñ*×0Ñ0Ó2Ö3‰DˆAˆqØ—^‘^ A qÓ)‰Fð�4àˆ r/���c�����������������ó����—�|}t��������|�j������������������j������������������«�������«������D�]��}t��������j������������������|t ��������|«������}Œ�|S�)zhSearch for word patterns from self.specialwords in 's' and substitute using corresponding macro.)r†���r���rˆ���r<���rà���rY��)r,���rf���rn���rX��s��� r-���r]��zConfig.subs_specialwords��s?���€�ð�ˆÜ˜×*Ñ*×/Ñ/Ó1Ö2ˆDÜ—V‘V˜DÔ"4°fÓ=‰Fð�3àˆ r/���c�����������������óB��—�g�}|D�]—��}t���������j������������������dd|«������}|rk|j������������������d«������}||�j������������������v�r"||�j ������������������|�j������������������|���«������z ��}Œ]t ��������j ������������������d|z��«�������|j������������������|«�������Œ‡|j������������������|«�������Œ™�|S�)z<Expand any template::[] macros in a list of section entries.r#���r��r„���r£��)r���r=���rŽ���r��rµ���r:���r ���ru���)r,���r¶���rn���r��r™���rf���s��� r-���rµ���zConfig.expand_templates ��s����€�àˆÛˆDÜ—‘˜c ;°Ó5ˆBÙØ—H‘H˜ZÓ(�ؘŸ ™ Ñ%ؘd×3Ñ3°D·M±MÀ!Ñ4DÓEÑE‘Fä—O‘OÐ$;¸aÑ$?Ô@Ø—M‘M $Õ'à— ‘ ˜dÕ#ð�ð�ˆ r/���c�����������������ó–���—�t��������|�j������������������j������������������«�������«������D�]#��\��}}|�j������������������|«������|�j������������������|<���Œ%�y�rE���)r†���r��rª���rµ���r2��s��� r-���Úexpand_all_templateszConfig.expand_all_templates��s;���€�ܘŸ™×,Ñ,Ó.Ö/‰DˆAˆqØ#×4Ñ4°QÓ7ˆD�M‰M˜!Ò ñ�0r/���Fc�����������������ó��—�|€J�‚||�j�������������������v�r|�j�������������������|���}nt��������j������������������d|z��«�������d}g�}g�}d}|D�]¤��} |r�t��������j������������������d| «������} | re| j ������������������d«������r |j ������������������| j ������������������d«������«�������| j ������������������d«������r |j ������������������| j ������������������d«������«�������d}Œ‚|j ������������������| «�������Œ”|j ������������������| «�������Œ¦�|j������������������d«������} | rt��������d «������|d<���|s t��������||«������}|s t��������||«������}| rU|D�� cg�c]��} | j������������������t��������d «������| «������‘Œ�}} |D�� cg�c]��} | j������������������t��������d «������| «������‘Œ�}} | |d<���||fS�c�c} w�c�c} w�) zôPerform attribute substitution on 'section' using document attributes plus 'd' attributes. Return tuple (stag,etag) containing pre and post | placeholder tags. 'skipstart' and 'skipend' are used to suppress substitution.r£��rJ���Tr¥��rš���r›���FrÅ��r���) r��r:���r ���r<���r=���rŽ���ru���r7���rõ��rŸ���r§���) r,���r��rh���rÑ��rÏ��rÕ��rš���r›���Úin_stagrf���r™���rÅ��r ��s ��� r-���rÏ��zConfig.section2tags ��so��€�ð �Ð"Ð"Ð"Ø �d—m‘mÑ #Ø—=‘= Ñ)‰Dä �O‰OÐ3°gÑ=Ô >؈DàˆØˆØˆÛˆAÙÜ—X‘XÐ;¸QÓ?�ÙØ—x‘x Ô'ØŸ ™  B§H¡H¨VÓ$4Ô5Ø—x‘x Ô'ØŸ ™  B§H¡H¨VÓ$4Ô5Ø#‘Gà—K‘K •Nà— ‘ ˜A•ð�ð�—‘�g“ˆÙ ܘQ›ˆAˆg‰JÙܘd AÓ&ˆDÙܘd AÓ&ˆDá Ù6:Ó;±d°�A—I‘Iœc !›f eÕ,°dˆDÐ;Ù6:Ó;±d°�A—I‘Iœc !›f eÕ,°dˆDÐ;؈Aˆg‰JØ�dˆ|Ðùò�<ùÚ;s ���Ä/"FÅ"F rE���)r���)#rF���rG���rH���rI���rŸ��r.���rl��ri��rr��r���ry��r|��r ��rƒ��r���r���r—��r“��r¢��rl��r:��rÎ��rt��r����rw��rv��r«��r^��ru��r\��rô��r]��rµ���r·��rÏ��rJ���r/���r-���r[��r[��Ô��sï���„�Ù1ðaÐò ð>�ñ ó�ð ð �$(°¸Ró�HóT00ðd�ñ ó�ð ó ð�-1¸"ó� óó27ò, ò Lò!fòF'òRò01òdòDó"ò(5ó Tð�ñ ó�ð óò3ò0 òòòò 8ð�')°EÀ5ô�*r/���r[��c�����������������óÈ���—�g�}d}d}|�D�]C��}|r|d���dk(��r ||dd�z���}d}Œ|r|j������������������||z���«�������d}d}Œ3|j������������������|«�������ŒE�|r|j������������������|«�������|S�)zfReturn a list in which lines terminated with the backslash line continuation character are joined.r'���Fr€���rƒ���NT)ru���)rí���rn���rf���r��r��s��� r-���Újoin_lines_OLDr»��R��s����€�ð�€FØ €AØ€LÛˆÙ �D˜‘H Ò$Ø�D˜˜"�I‘ ˆA؈LØ Ù Ø �M‰M˜!˜d™(Ô #؈AØ ‰Là �M‰M˜$Õ ð�ñ�Ø� ‰ �aÔØ €Mr/���c�������������������ó���—�e�Zd�ZdZd„�Zy)Ú Column_OLDz Table column.c�����������������ó.���—�d�|�_���������d�|�_��������d�|�_��������y�rE���)ÚcolalignÚ rulerwidthÚcolwidthr+���s��� r-���r.���zColumn_OLD.__init__j��s���€�؈Œ ؈ŒØˆ� r/���N)rF���rG���rH���rI���r.���rJ���r/���r-���r½��r½��h��s ���„�Ùór/���r½��c�������������������ó~���—�e�Zd�ZdZddddœZdZd„�Zd„�Zd „�Zd „�Z d „�Z d „�Z d „�Z d„�Z d„�Zd„�Zd„�Zed„�«�������Zd„�Zd„�Zy)Ú Table_OLDz(`|'|\.)rh��ÚrightÚcenter)Ú`Ú'rO���)ÚfixedrI��rJ��c�����������������ó��—�t���������j������������������|�«�������|�xj������������������dz ��c_��������d�|�_��������d�|�_��������d�|�_��������d�|�_��������d�|�_��������d�|�_��������d�|�_ ��������d�|�_ ��������d�|�_ ��������d�|�_ ��������d|�_ ��������d�|�_��������g�|�_��������d|�_��������y�)N) r��Úfillcharr;���r~��r”��r•��r–��r¢��r£��r¤��Fr'���)rr��r.���rx��rÊ��r;���r~��r”��r•��r–��r¢��r£��r¤��Ú underlineÚ isnumericÚ tablewidthrO��Ú check_msgr+���s��� r-���r.���zTable_OLD.__init__u��sŠ���€�Ü×јtÔ$Ø ×Òð�6ñ� 6Õð�ˆŒ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ àˆŒØˆŒØˆŒØˆŒ àˆ�r/���c�����������������óÜ��—�t���������j������������������|�||«������� �t��������|j������������������«�������«������D�]¸��\��}}|dk(��r&|rt ��������|«������dk(��r||�_��������Œ#t ��������d|z��«������‚|dk(��r(|t��������j������������������v�r||�_ ��������ŒPt ��������d|z��«������‚|dk(��r||�_ ��������Œk|dk(��r||�_ ��������Œx|dk(��r||�_ ��������Œ…|d k(��r||�_ ��������Œ’|d k(��r||�_��������ŒŸ|d k(��r||�_��������Œ¬|d k(��sŒ²||�_��������Œº�y�) NrÊ��r���zmalformed table fillchar: %sr;���zillegal table format: %sr~��r”��r•��r–��r¢��r£��r¤��)rr��r7��r†���rª���r‘���rÊ��r ���rÃ��rU��r;���r~��r”��r•��r–��r¢��r£��r¤��)r,���r@���r¶���r±���r²���s��� r-���r7��zTable_OLD.loadŒ��së���€�Ü×ј4  wÔ/ØHܘŸ™›Ö)‰DˆAˆqØ�JŠÙœ˜Q› 1šØ$%�D•Mä#Ð$BÀQÑ$FÓGÐGØ�h’Øœ ×)Ñ)Ñ)Ø"#�D•Kä#Ð$>ÀÑ$BÓCÐCØ�i’Ø �• Ø�i’Ø �• Ø�i’Ø �• Ø�i’Ø �• Ø�j’Ø !�• Ø�j’Ø !�• Ø�j“Ø !�• ñ1�*r/���c�����������������ó6��—�t���������j������������������|�«�������d„�}�|d|�j������������������z���«��������|d|�j������������������z���«�������|�j������������������r�|d|�j������������������z���«�������|�j ������������������r�|d|�j ������������������z���«�������|�j ������������������r�|d|�j ������������������z���«��������|d|�j������������������z���«�������|�j������������������r�|d|�j������������������z���«�������|�j������������������r�|d |�j������������������z���«��������|d |�j������������������z���«��������|d «�������y�) Nc�����������������ód���—�t���������j������������������j������������������|�›t��������j������������������›�«������S�rE���rš��r~���s��� r-���r›��z Table_OLD.dump.<locals>.<lambda>«��rœ��r/���z fillchar=rS��zcolspec=zheadrow=zfootrow=zbodyrow=z headdata=z footdata=z bodydata=r'���) rr��r:��rÊ��r;���r~��r”��r•��r–��r¢��r£��r¤��rÉ��s��� r-���r:��zTable_OLD.dump©��sØ���€�Ü×ј4Ô ÙHˆÙ ˆk˜DŸM™MÑ)Ô*Ù ˆi˜$Ÿ+™+Ñ%Ô&Ø �<Š<Ù �*˜tŸ|™|Ñ+Ô ,Ø �<Š<Ù �*˜tŸ|™|Ñ+Ô ,Ø �<Š<Ù �*˜tŸ|™|Ñ+Ô ,Ù ˆj˜4Ÿ<™<Ñ'Ô(Ø �=Š=Ù �+ § ¡ Ñ-Ô .Ø �=Š=Ù �+ § ¡ Ñ-Ô .Ù ˆk˜DŸM™MÑ)Ô*Ù ˆb� r/���c�����������������ó¾��—�t���������j������������������|�«������� �t��������j������������������€d|�_��������y�t��������j ������������������€d|�_��������y�t��������j ������������������€d|�_��������y�|�j������������������€d|�_��������y�|�j������������������€d|�_��������y�|�j������������������€d|�_��������y�|�j������������������€d|�_��������y�|�j������������������€d|�_��������y�|�j������������������€d |�_��������y�d |�_��������y�) Nz'missing [miscellaneous] textwidth entryz'missing [miscellaneous] pagewidth entryz'missing [miscellaneous] pageunits entryzmissing headrow entryzmissing footrow entryzmissing bodyrow entryzmissing headdata entryzmissing footdata entryzmissing bodydata entryr'���) rr��r¢��r‡���r^��rÎ��rX��rY��r”��r•��r–��r¢��r£��r¤��r+���s��� r-���r¢��zTable_OLD.validate¼��s¿���€�Ü×јtÔ$ð +ô� × Ñ Ð #ØFˆD�NÜ × Ñ Ð %ØFˆD�NÜ × Ñ Ð %ØFˆD�NØ �\‰\Ð !Ø4ˆD�NØ �\‰\Ð !Ø4ˆD�NØ �\‰\Ð !Ø4ˆD�NØ �]‰]Ð "Ø5ˆD�NØ �]‰]Ð "Ø5ˆD�NØ �]‰]Ð "Ø5ˆD�Nð� ˆD�Nr/���c�����������������ó,���—�t���������j������������������|�«������S�rE���r9��r+���s��� r-���rI��zTable_OLD.isnext×��r:��r/���c�����������������ó��—�t��������j������������������|�j������������������«������}t��������j������������������d|z���dz���|«������}|r\|j ������������������d«������}t ��������|j ������������������d«������«������|�_��������t��������t ��������|�j ������������������«������«������|�j������������������d<���nd|�_��������d|�j������������������d<���|d���|�j������������������k7��rd|�_ ��������n0|dd�|�j������������������t��������|dd�«������z��k(��rd|�_ ��������nd |�_ ��������d |z���d z���|�_ ��������t��������j������������������|�j������������������|«������dd�}t��������d t��������|«������d«������D�]×��}t��������«�������}|�j ������������������||������|_��������||dz������}|�j������������������rKt��������j$������������������|d z���d|«������}|dk(��rd|_��������n^ �t)��������|«������}|d kD��s t+��������d«������‚||_��������n:t��������j������������������d |z���d z���|«������s t-��������d«������‚t��������|«������dz���|_��������|�j.������������������j1������������������|«�������ŒÙ�|�j������������������rL|�j.������������������d ���j&������������������€d} |�j.������������������D�]!��}|j&������������������€ |_��������|j&������������������} Œ#�yy#�t*��������$�r �t-��������d«������‚w�xY�w)z:Parse ruler calculating underline and ruler column widths.z^(.*z +)([\d\.]+)$r���rž���rÍ��Nz100.0TFr{���z{3,}$r���z+$r'���znot > 0zmalformed ruler: bad widthz"malformed ruler: illegal fillchars)r<���r‹���rÊ��r=���rŽ���rD��rÍ��r¿���r���rÌ��r‘���rË��rs���ÚCOL_STOPrh��r½��Ú ALIGNMENTSr¿��rà���rÀ��r+��r*��r ���rO��ru���) r,���ÚrulerÚfcr™���Úsplitsr”���r!��rf���r+��Ú prevwidths ��� r-���Ú parse_rulerzTable_OLD.parse_rulerÚ��s9��€�ä �Y‰Y�t—}‘}Ó %ˆä �X‰X�g ‘l _Ñ4°eÓ <ˆÙ Ø—H‘H˜Q“KˆEÜ# B§H¡H¨Q£KÓ0ˆDŒOÜ,/´°d·o±oÓ0FÓ,GˆD�O‰O˜LÒ )à"ˆDŒOØ,3ˆD�O‰O˜LÑ )à �‰8�t—}‘}Ò $à!ˆD�NØ �1�2ˆY˜$Ÿ-™-¬#¨e°A°B¨i«.Ñ8Ò 8à!ˆD�Nà"ˆDŒNà ™ XÑ-ˆŒÜ—‘˜$Ÿ-™-¨Ó/°°Ð3ˆä�qœ#˜f›+ qÖ)ˆAÜ“ ˆAØŸ™¨°©Ñ3ˆAŒJØ�q˜1‘u‘ ˆAØ�~Š~ä—F‘F˜2 ™: r¨1Ó-�ؘ’7Ø#'�A•LðFÜ! !›f˜Ø" QšwÜ",¨YÓ"7Ð7Ø'*˜� ô�—x‘x  r¡ ¨EÑ 1°1Ô5Ü#Ð$HÓIÐIÜ" 1›v¨™z�” Ø �L‰L× Ñ  Õ "ð+�*ð.� �>Š>Ø�|‰|˜A‰×)Ñ)Ð1Ø� Ø—\”\�Ø—<‘<Ð'Ø#,�A”LØŸL™L‘ ñ�"ð� øô�&ò�FÜ'Ð(DÓEÐEðFús ���Æ "I3É3Jc�����������������ó0��—�t��������|�j������������������«������|�j������������������d<���d}|�j������������������D�]��}||j������������������z���}Œ�|dk��r t ��������d«������‚|�j������������������D�]¸��}t ��������|j������������������«������}|�j ������������������dk(��r&|�j������������������€|t��������j������������������z ��}n ||z ��}n||z ��}|t��������j������������������z��|_ ��������|�j������������������€Œw|j������������������|�j������������������z��|_ ��������|�j������������������dkD��sŒ¥|j������������������dz ��|_ ��������Œº�|�j������������������rïg�}d}|�j������������������D�]¯��}|dz ��}|j������������������|�j������������������d<���t��������t��������|j������������������«������«������|�j������������������d <���t��������|dz���«������|�j������������������d <���t!��������|�j������������������|�j������������������«������}|st"��������j%������������������d «�������ŒŸ|j'������������������|«�������Œ±�t(��������j*������������������j-������������������|«������|�j������������������d <���yy) zˆGenerate colwidths and colspecs. This can only be done after the table arguments have been parsed since we use the table format.rp��r���zzero width tablerÈ��Nr���r��r¿��rÁ��r{��r|��r}��)r‘���rO��r���rÀ��r ���rD��r;���rÍ��r‡���r^��rX��rÁ��r~��r¿��r¿���r+��rŸ���r:���r ���ru���r½���r¾���r8���)r,���Ú totalwidthr!��rj��Ú colfractionrp��r”���rf���s��� r-���r��zTable_OLD.build_colspecs��sµ��€�ô�#& d§l¡lÓ"3ˆ�‰˜Ñàˆ Ø—”ˆAØ# a§l¡lÑ2‰Jð�à ˜Š?ÜÐ.Ó/Ð /à—”ˆAä˜!Ÿ,™,Ó'ˆEØ�{‰{˜gÒ%Ø—?‘?Ð*à"'¬&×*:Ñ*:Ñ":‘Kð�#(¨*Ñ"4‘Kð�$ jÑ0� Ø$¤v×'7Ñ'7Ñ7ˆAŒJØ�‰Ñ*ØŸZ™Z¨$¯/©/Ñ9�” Ø—?‘? QÓ&Ø!"§¡¨cÑ!1�A•Jð#�ð&� �<Š<؈D؈AØ—\”\�Ø�Q‘�Ø./¯j©j�—‘  Ñ+Ü.1´#°a·j±j³/Ó.B�—‘  Ñ+Ü/2°1°q±5«z�—‘  Ñ,ܘtŸ|™|¨T¯_©_Ó=�ÙÜ—O‘OÐ$SÕTà—K‘K •Nð�"ô�+1¯.©.×*=Ñ*=¸dÓ*CˆD�O‰O˜JÒ 'ð� r/���c�����������������ó8��—�t��������j������������������|�j������������������«������}d}|j������������������||���«������s|dz���}|j������������������||���«������sŒ|dk(��r t ��������d«������‚|t ��������|«������k\��rt ��������d|�j ������������������z��«������‚t��������|d|�«������||dz���d�fS�)z»Return a two item tuple containing a list of lines up to but not including the next underline (continued lines are joined ) and the tuple of all lines after the underline.r���r���zmissing table rowsúclosing [%s] underline expectedN)r<���rŠ���rË��r=���r ���r‘���ry��r»��)r,���rN��r—���r”���s��� r-���Ú split_rowszTable_OLD.split_rows?��s™���€�ô��j‰j˜Ÿ™Ó(ˆØ ˆØ—)‘)˜D ™GÔ$Ø�A‘ˆAð�—)‘)˜D ™GÕ$à �Š6ÜÐ0Ó1Ð 1Ø ”�D“ Š>ÜÐ=ÀÇ Á ÑLÓMÐ Mܘt B Q˜xÓ(¨$¨q°1©u¨v¨,Ð7Ð7r/���c�����������������ó¸��—�g�}|�j�������������������dk(��r|�j������������������|«������}nC|�j�������������������dk(��r|�j������������������|«������}n"|�j�������������������dk(��r|�j������������������|«������}n �t ��������||�j ������������������«������\��}}|D�]U��}|j ������������������d|z���«�������|�j������������������||«������D�]��}|j ������������������d|z���«�������Œ�|j ������������������d|z���«�������ŒW�|S�)z`Parse rows list using the row and data tags. Returns a substituted list of output lines.rÈ��rI��rJ��z z )r;���Ú parse_fixedr…��Ú parse_dsvr¢���r���ru���r—��) r,���rN��r™��r§��rn���rš���r›���r‹��r¡��s ��� r-���r’��zTable_OLD.parse_rowsM��sÈ���€�ð�ˆð� �;‰;˜'Ò !Ø×#Ñ# DÓ)‰DØ �[‰[˜EÒ !Ø—>‘> $Ó'‰DØ �[‰[˜EÒ !Ø—>‘> $Ó'‰Dàä˜d D§O¡OÓ4‰ ˆˆdÛˆCØ �M‰M˜$ ™+Ô &ØŸ ™  c¨4Ö0�Ø— ‘ ˜f t™mÕ,ð�1à �M‰M˜$ ™+Õ &ð �ð �ˆ r/���c�����������������ó4��—�g�}t��������|«������t��������|�j������������������«������k��rt��������j������������������d«�������t��������|«������t��������|�j������������������«������kD��rt��������j������������������d«�������t ��������t��������|�j������������������«������«������D��]��}|t��������|«������dz ��kD��rd}n||���}|�j������������������|���}|j ������������������|�j ������������������d<���t��������t��������|j������������������«������«������|�j ������������������d<���t��������|dz���«������|�j ������������������d<���t��������||�j ������������������«������\��}}|�j������������������«�������d���} d | v�r)t��������j������������������d d |«������}|j������������������d «������}n|g}||gz���t��������j!������������������|| «������z���|gz���}�Œ �|S�) z‚Substitute the list of source row data elements using the data tag. Returns a substituted list of output table data items.z'fewer row data items then table columnsz&more row data items than table columnsr���r'���r¿��rÁ��r{��r���r ���z(?m)\nz +\nr5���)r‘���rO��r:���r ���rh��r¿��r���r¿���r+��rÁ��r¢���r—��r<���rà���rs���r7��r2���) r,���r¡��r§��rn���r”���rh���r!��rš���r›���r2���s ��� r-���r—��zTable_OLD.subs_rowd��sP��€�ð�ˆÜ ˆt‹9”s˜4Ÿ<™<Ó(Ò (Ü �O‰OÐEÔ FÜ ˆt‹9”s˜4Ÿ<™<Ó(Ò (Ü �O‰OÐDÔ EÜ”s˜4Ÿ<™<Ó(×)ˆAØ”3�t“9˜q‘=Ò Ø‘à˜‘G�Ø— ‘ ˜Q‘ˆAØ*+¯*©*ˆD�O‰O˜JÑ 'Ü*-¬c°!·*±*«oÓ*>ˆD�O‰O˜JÑ 'Ü+.¨q°1©u«:ˆD�O‰O˜KÑ (Ü! $¨¯©Ó8‰JˆD�$ð �—=‘=“? 1Ñ%ˆDØ $Ñ&ä—F‘F˜9 g¨qÓ1�Ø—G‘G˜D“M‘à�C�ؘt˜f‘_¤s§x¡x°°4Ó'8Ñ8¸D¸6ÑAŠFð+�*ð,�ˆ r/���c�����������������ó2��—�g�}|D�]���}g�}d}|�j�������������������D�]i��}||j������������������z���}||�j�������������������d���u�r#|j������������������||d�j������������������«�������«�������n"|j������������������|||�j������������������«�������«�������|}Œk�|j������������������|«�������Œ‘�|S�)úvParse the list of source table rows. Each row item in the returned list contains a list of cell data elements.r���r€���N)rO��rÀ��ru���r©���)r,���rN��rn���r‹��r¡��r����r!��r����s��� r-���rã��zTable_OLD.parse_fixed„��sœ���€�ð�ˆÛˆC؈D؈EØ—\”\�ؘaŸl™lÑ*�ؘŸ ™  RÑ(Ñ(ð�—K‘K  E F  × 1Ñ 1Ó 3Õ4à—K‘K  E¨# × 4Ñ 4Ó 6Ô7Ø‘ð�"ð� �M‰M˜$Õ ð�ð�ˆ r/���c�����������������óî���—�g�}t��������j������������������t��������j������������������t��������j ������������������|�«������«������d¬«������} �|D�]��}|j ������������������|«�������Œ� �|S�#�t��������$�r�t��������dz��«������‚w�xY�w)rç��T)r©��rª��) rI��r��r«��r¬��r­��r8���ru���re���r ���)rN��rn���r®��r‹��s��� r-���r…��zTable_OLD.parse_csv˜��sr���€�ð�ˆÜ�j‰jœŸ™¤_×%9Ñ%9¸$Ó%?Ó@ÐSWÔXˆð 9Û�Ø— ‘ ˜cÕ"ñ�ð�ˆ øô�ò� 9ÜÐ1°CÑ7Ó8Ð 8ð 9ús ���ÁA�ÁA4c�����������������ó¨��—�|�j�������������������j������������������dd«������}t��������j������������������d|z���dz���«������}t ��������|«������dk7��rt ��������d|z��«������‚g�}|D�]r��}|dk(��rŒ t��������j������������������d|j ������������������dd«������z���dz���«������}|j������������������|«������}|D��cg�c]��}|j������������������«�������‘Œ�}}|j������������������|«�������Œt�|S�c�c}w�)rç��r��rö���r»���r���zmalformed dsv separator: %sr'���z\") r���r7���rV��rW��r‘���r ���r§���rs���r©���ru���)r,���rN��r��rn���r‹��r¡��rf���s��� r-���rä��zTable_OLD.parse_dsv¥��sÐ���€�ð�—O‘O×'Ñ'¨ °SÓ9ˆ Ü×$Ñ$ S¨9¡_°sÑ%:Ó;ˆ Ü ˆy‹>˜QÒ ÜÐ9¸IÑEÓFÐ Fð�ˆÛˆCà�bŠyØä×"Ñ" 3¨¯©°S¸%Ó)@Ñ#@À3Ñ#FÓGˆCØ—9‘9˜YÓ'ˆDÙ'+Ó,¡t !�A—G‘G•I tˆDÐ,Ø �M‰M˜$Õ ð�ð�ˆ ùò�-s���Â!Cc����������� ������ó$ ��—�t���������j������������������d«�������t��������j������������������|�«�������d�|�_��������g�|�_��������i�}t ��������j������������������|«�������t��������t��������j������������������«������|d<���t��������j������������������|d<���t��������j������������������|«�������t��������|j������������������«�������«������D�]X��\��}}|dk(��r4||�j������������������vrt!��������d|�j"������������������›d|›d|›�«������‚||�_��������Œ?|dk(��sŒE �t'��������|d���«������|�_��������ŒZ�|�j-������������������|«�������t.��������j1������������������«�������}t3��������j4������������������|�j6������������������|«������sJ�‚|�j9������������������|«�������g�} �t.��������j;������������������«�������}t=��������|«������d kD��r(t3��������j4������������������|�j������������������|d ���«������r|d v�rn>|€t!��������d |�j"������������������z��«������‚|j?������������������t.��������j1������������������«�������«�������Œˆt��������t=��������|«������«������|�j@������������������d <���|�jB������������������r0t���������jE������������������d|�j"������������������›d|�jB������������������›�«�������y�|�jG������������������d«�������|�jI������������������«��������g�x}}|�jK������������������|«������\��} }|r,| }|�jK������������������|«������\��} }|r|�jK������������������|«������\��}}|rU|�jM������������������||�jN������������������|�jP������������������«������}tR��������jT������������������jW������������������|«������}d|�j@������������������d<���|rU|�jM������������������||�jX������������������|�jZ������������������«������}tR��������jT������������������jW������������������|«������}d|�j@������������������d<���|�jM������������������| |�j\������������������|�j^������������������«������} tR��������jT������������������jW������������������| «������} d|�j@������������������d<���ta��������t��������jb������������������|�jd���������������������|�j@������������������«������}tR��������jT������������������jW������������������|«������}|r|jg������������������d|d«������}|r|jg������������������d|d«������}|jg������������������d| d«������}tR��������ji������������������|d¬«�������|�jk������������������«��������y�#�t*��������$�r�t!��������d|�j"������������������›d|›d|›�«������‚w�xY�w)Nzold tables syntaxrX��rY��r;���rœ��r„��rr���rÍ��r���r€���)r'���Nrà��rN��z skipping [z ] table: rº��r¼��r½��r¾��r¿��rÀ��rÁ��r���rÄ��)6r:���r!��rr��r«��rË��rO��rK��r��r¿���r‡���rX��rY��rJ��r†���rª���rU��r ���ry��r;���rD��rÍ��re���r¯��r��rï��r<���r=���rt��rÛ��rª��r‘���ru���r���rÎ��r ���r¨��r��rá��r’��r”��r¢��r½���r¾���r8���r•��r£��r–��r¤��rŸ���r��r��r§���r¼���rª��) r,���rg���r±���r²���r×��rº��r��r½��r¿��rÁ��s ��� r-���r«��zTable_OLD.translateº��s¢��€�Ü×ÑÐ.Ô/Ü×Ñ Ô%àˆŒØˆŒ ؈Ü×ј5Ô!ä ¤×!1Ñ!1Ó2ˆˆkÑÜ#×-Ñ-ˆˆkÑä×јeÔ$䘟™›Ö'‰DˆAˆqØ�HŠ}ؘDŸL™LÑ(Ý#¸T¿\»\Ê1ÉaÐ$PÓQÐQØ�• Ø�lÓ"ðRÜ&+¨E°,Ñ,?Ó&@�D•Oð�(ð� ×јeÔ$ä— ‘ “ ˆÜ�x‰x˜Ÿ™¨Ô.Ð.Ð.Ø ×јÔàˆØÜ×#Ñ#Ó%ˆDä�5‹z˜AŠ~¤"§(¡(¨4¯>©>¸5À¹9Ô"Eؘ:Ñ%ØØˆ|ÜÐ AÀDÇLÁLÑ PÓQÐQØ �L‰LœŸ™›Ô 'ð�ô�#&¤c¨%£j£/ˆ�‰˜ÑØ �>Š>Ü �OŠO¸¿»ÀtÇ~Â~ÐVÔ WØ Ø ×јGÔ$à ×ÑÔð�!Ð ˆ�8ØŸ/™/¨%Ó0‰ˆ�%٠؈HØ"Ÿo™o¨eÓ4‰OˆH�eÙØ"&§/¡/°%Ó"8‘�˜%Ù Ø—‘ x°·±¸t¿}¹}ÓMˆHÜ—~‘~×*Ñ*¨8Ó4ˆHØ*<ˆD�O‰O˜JÑ 'Ù Ø—‘ x°·±¸t¿}¹}ÓMˆHÜ—~‘~×*Ñ*¨8Ó4ˆHØ*<ˆD�O‰O˜JÑ 'Ø—?‘? 8¨T¯\©\¸4¿=¹=ÓIˆÜ—>‘>×&Ñ& xÓ0ˆØ&8ˆ�‰˜ Ñ#Üœ6Ÿ?™?¨4¯=©=Ñ9¸4¿?¹?ÓKˆÜ—‘×#Ñ# EÓ*ˆñ� Ø—M‘MÐ"4°hÀÓBˆEÙ Ø—M‘MÐ"4°hÀÓBˆEØ— ‘ Ð0°(¸AÓ>ˆÜ� ‰ �U 'ˆ Ô*Ø ×ÑÕøô{�!ò�RÝ#¸T¿\»\Ê1ÉaÐ$PÓQÐQðRús ���Ã3Q'Ñ'(RN)rF���rG���rH���rÕ��rÖ��rU��r.���r7��r:��r¢��rI��rÛ��r��rá��r’��r—��rã��rl��r…��rä��r«��rJ���r/���r-���rÃ��rÃ��p��sr���„�Ø€HØ G°(Ñ;€JØ%€Gòò."ò:ò& ò6*ò6)òp+DòZ 8òò.ò@ð(�ñ ó�ð òó*Sr/���rÃ��c�������������������ó*���—�e�Zd�ZdZeZdZd„�Zd„�Zd„�Z y)Ú Tables_OLDrÅ��z old_tabledef-c�����������������ó.���—�t���������j������������������|�«�������y�rE���rB��r+���s��� r-���r.���zTables_OLD.__init__��rC��r/���c�����������������ó0���—�t���������j������������������|�|«�������y�rE���rÝ��rÞ��s��� r-���r7��zTables_OLD.load��rß��r/���c�����������������ó��—�t��������t��������|�j������������������«������«������D�]/��}|�j������������������|���j������������������dk(��sŒ |�j������������������|���}�n �t ��������d«������‚|j ������������������€d|_��������|�j������������������D��],��}||usŒ |j������������������€|j������������������|_��������|j ������������������€|j ������������������|_��������|j������������������€|j������������������|_��������|j������������������€|j������������������|_ ��������|j������������������€|j������������������|_ ��������|j������������������€|j������������������|_ ��������|j������������������€|j������������������|_ ��������|j������������������€|j������������������|_ ��������|j������������������€|j������������������|_��������|j��������������������Œ|j������������������|_���������Œ/�|�j������������������D�]>��}|j������������������rt��������|j������������������«������dk7��sŒ(t ��������d|j������������������z��«������‚�g�}|�j������������������D�]ù��}dt ��������j"������������������z���dz���t%��������j&������������������|j������������������«������z���dz���d z���t%��������j&������������������|j������������������«������z���d z���d z���|_��������|j+������������������|j(������������������«�������|j������������������s|j������������������|_ ��������|j������������������s|j������������������|_ ��������|j������������������s|j������������������|_ ��������|j������������������rŒé|j������������������|_��������Œû�t-��������j.������������������|«������|�_��������|�j������������������D�]_��}|j3������������������«��������t4��������j6������������������sŒ$|j8������������������sŒ1t:��������j=������������������d |j������������������›d |j8������������������›�«�������Œa�y�)Nzold_tabledef-defaultz'missing section: [OLD_tabledef-default]rÈ��r���z [%s] missing or illegal fillcharz^(z(\d*|z*)z)+r#���z ([\d\.]*)$r¹���z] table definition: )rh��r‘���rQ��ry��r ���r;���r2���rÊ��r��r~��r”��r•��r–��r¢��r£��r¤��rÃ��rÕ��r<���r‹���rt��ru���r���r¿��r´��r¢��r‡���rß���rÎ��r:���r ���)r,���r”���r³��r¸��r´��s��� r-���r¢��zTables_OLD.validate��s¼��€�ô�”s˜4Ÿ;™;Ó'Ö(ˆAØ�{‰{˜1‰~×%Ñ%Ð)?Ó?ØŸ+™+ a™.�Ùð�)ô �ÐEÓFÐ Fà �>‰>Ð !Ø"ˆGŒLà—•ˆAØ˜ÒØ—:‘:Ð%Ø!(×!1Ñ!1�A”JØ—8‘8Ð#Ø&Ÿ~™~�A”HØ—:‘:Ð%Ø!(×!1Ñ!1�A”JØ—9‘9Ð$Ø '§¡�A”IØ—9‘9Ð$Ø '§¡�A”IØ—9‘9Ð$Ø '§¡�A”IØ—9‘9Ð$Ø '§¡�A”IØ—:‘:Ð%Ø!(×!1Ñ!1�A”JØ—:‘:Ð%Ø!(×!1Ñ!1�A”JØ—:‘:Ò%Ø!(×!1Ñ!1�A–Jð+�ð.�—”ˆAØ—:’:¤ Q§Z¡Z£°AÓ!5ÜÐ BÀQÇYÁYÑ NÓOÐOð�ð�ˆ Ø—”ˆAð� ¤)×"4Ñ"4Ñ4ØñÜŸY™Y q§z¡zÓ2ñ3Ø5:ñ;àñô�—)‘)˜AŸJ™JÓ'ñ(ð�+/ñ/ð� ñ  ˆAŒKð � × Ñ ˜aŸk™kÔ *Ø—9’9ØŸI™I�” Ø—9’9ØŸI™I�” Ø—:’:ØŸZ™Z�” Ø—:“:ØŸZ™Z�• ð!�ô"� Ÿ-™-¨ Ó3ˆŒà—”ˆAØ �J‰JŒLÜ�~‹~Ø—;“;Ü—O’OÀ1Ç9Ã9ÈaÏkÊkÐ$ZÕ[ñ �r/���N) rF���rG���rH���rI���rÃ��r·��r¶��r.���r7��r¢��rJ���r/���r-���rì��rì����s ���„�ÙØ€JØ €Fò&ò,ó@\r/���rì��rC���c�����������������óX���—�t���������j������������������|�«�������t��������j������������������d«�������y�r��)r:���r?���rè���rf��©rC���s��� r-���Údierò��a��s���€�Ü ‡N�N�3Ô܇H�HˆQ…Kr/���z help.confr@���c�����������������ó:���—�|�a�t��������j������������������t���������«�������y�rE���)ÚAPPLICATION_CALLERr:���Ú set_caller)r@���s��� r-���rõ��rõ��„��s���€�àÐÜ ×ÑÔ)Õ*r/���c������������������ó ��—�t��������«�������at��������«�������at ��������«�������at ��������«�������at��������t��������t��������t��������t ��������«������a t��������«�������a t��������«�������at��������«�������at#��������«�������at'��������«�������at+��������«�������at/��������«�������at3��������«�������at6��������j9������������������«��������t:��������j9������������������«��������t<��������j9������������������«��������t>��������j9������������������«��������t@��������j9������������������«��������tB��������j9������������������«��������y�rE���)"rn��r6���r[��r‡���r3��r��rJ��r½���r���rô��r:���rØ��rS��r��rP��r@��rQ��rì��rL��rÄ��rR��rÌ��r���rþ��rÿ��r%���r1���r7��rB��rH��rM��rK��rÐ��rr��rJ���r/���r-���Úreset_asciidocr÷��Š��s°���€�ô �‹z€HÜ ‹X€FÜ ‹X€FÜ ‹X€FÜÔ(¬(´F¼FÓC€GÜ“€JÜ ‹G€EÜ Ó €FÜ“€JÜ ‹X€FÜ ‹X€FÜ“€JÜ ‹G€Eä‡O�OÔÜ×ÑÔ Ü ×ÑÔÜ×ÑÔÜ ×ÑÔÜ×ÑÕr/���c�����������������ó’��‡—�g�g�fˆfd„ } �t���������j������������������t��������j������������������d<���t��������j ������������������D�]&��}t��������j ������������������d|«������rŒt��������d|z��«������‚�|dvr t��������d«������‚|D�]3��}|dk(��r dt��������_��������|d k(��r d t��������_ ��������|d k(��sŒ)dt��������_ ��������Œ5�t��������j������������������«��������d |vr�t��������j������������������d dg¬«������s t��������d«������‚�|dg¬«�������t��������j������������������d «�������|dk7��rEt��������j������������������j������������������|«������} t��������j!������������������d | g�d¢¬«�������n �|g�d¢¬«�������t��������j������������������«��������|dk7��r-t��������j������������������j#������������������|«������st��������d|z��«������‚|t��������_��������t&��������j)������������������«��������t��������j*������������������t,��������_��������t,��������j/������������������|«�������t��������j1������������������||�«������} dt��������j������������������dt��������j2������������������z���<���t��������j5������������������«��������d |vrgt��������j6������������������dz���}t��������j9������������������«�������} | st��������d|z��«������‚t��������j������������������j������������������| «������t��������j������������������d<���dt��������j������������������dt��������j6������������������z���<���dt��������j������������������t��������j6������������������dz���t��������j2������������������z���<���g�} d |vr÷t��������j;������������������«��������t��������j=������������������«��������|dk7��rÊt��������j!������������������d  «�������t��������j9������������������| g«�������t��������j;������������������| g«�������t��������j������������������j?������������������|«������d���}|dz���|dz���t��������j6������������������z���dz���fD��cg�c]#��}t��������j������������������j#������������������|«������r|‘Œ%�} }| D�]��}t��������j!������������������|«�������Œ��|«��������d} | ‰z���D�] ��}| d|z��z ��} Œ �i�}|jA������������������tB��������j������������������«�������|jA������������������t��������jD������������������«�������d|v�r|d=�tG��������|jI������������������«�������«������D�]��\��}}|r | d|›d|›d �z ��} Œ| d!|z��z ��} Œ�| t��������j������������������d"<���|€yt��������j������������������j?������������������|«������d���d$z���t��������j6������������������z���}t��������jJ������������������r3t��������j������������������j?������������������|«������d���t��������jJ������������������z���}|t��������_&��������t��������j������������������jA������������������tB��������j������������������«�������t��������j������������������«��������d%t��������j������������������v�rrt��������j������������������jO������������������t��������j������������������d&���«������sBt��������j������������������jQ������������������t��������j������������������d'���d(«������t��������j������������������d&<���t��������jS������������������«��������t��������jU������������������«��������t��������j������������������jW������������������d)«������r0tX��������jZ������������������j]������������������t��������j������������������d)���«�������t^��������j)������������������«��������t`��������j)������������������«��������t��������j������������������rt��������jc������������������«��������y#t��������jd������������������tf��������_2�������� �tf��������j/������������������|t,��������jh������������������«������� �t��������jk������������������| «�������tf��������jm������������������«�������� �t,��������jo������������������«��������y#c�c}w�#�tf��������jm������������������«��������w�xY�w#�t,��������jo������������������«��������w�xY�w#�tp��������$��rY}|r9|d*k7��r4t��������j������������������j#������������������|«������rt��������jr������������������|«�������tu��������|tv��������«������s‚�d+}t,��������jx������������������rtz��������j}������������������d|«������}tu��������|t��������«������r#tz��������j������������������|›t���������|«������›�«�������n“t‚��������d,k(��rgtz��������j������������������|d-z���«�������tz��������j������������������d.«�������t…��������j†������������������t���������j~������������������¬/«�������tz��������j������������������d.«�������n#tz��������j������������������|›d0t���������|«������›�«�������t��������jˆ������������������d1«�������Y�d#}~y#d#}~ww�xY�w)2z°Convert AsciiDoc document to DocBook document of type doctype The AsciiDoc document is read from file object src the translated DocBook file written to file object dst.c�����������������ór��•—�t���������j������������������j������������������dd«������}|j������������������d«������D��cg�c]#��}|j ������������������«�������sŒ|j ������������������«�������‘Œ%�}}|‰z ��}|rM|D�]G��}t ��������j ������������������j������������������|«������rt��������j������������������||�|¬«�������Œ;t��������d|z��«������‚�y�y�c�c}w�)Nz conf-filesr'���r3���)rü���rq��zmissing configuration file: %s) r6���r���r7���rs���r©���rQ���rR���rÌ���r‡���rr��r ���)rü���rq��Úfilesrb���Úconfiless��� €r-���Úload_conffilesz asciidoc.<locals>.load_conffiles©��s ���ø€�ä×#Ñ#×'Ñ'¨ °bÓ9ˆØ$)§K¡K°Ô$4ÓBÑ$4˜q¸¿¹½ �—‘•Ð$4ˆÐBØ �ш٠Û�Ü—7‘7—>‘> !Ô$Ü×$Ñ$ Q°ÀÐ$ÕIä#Ð$DÀqÑ$HÓIÐIñ �ð� ùò�Cs ���µB4Á B4rÔ���rË���zmissing filter: %s)Nr���r±��r¶��r·��ú-cTú-sFú-vú-ez asciidoc.confr���r~��z(configuration file asciidoc.conf missingrN���)r���r9��ra��zinput file %s missingr'���zdoctype-r���zmissing backend conf file: %szbackend-confdirzbackend-r���r���z --conf-file "%s"rÅ��z --attribute "r¥���r»���z --attribute "%s"z asciidoc-argsNrO���r•��r–��r†��r”��r¦��rŒ��zFAILED: Ú__main__zunexpected error:z<------------------------------------------------------------©Úfilezunexpected error: r���)Erè���Ú executabler6���r���r‡���rË���r���r ���r(��rÍ��rß���rš��r ��rQ���rR���rS���rr��rÌ���rP���rJ��r��r��r��r��r½��rq��r—��rx��rƒ��r���r¢��r•��rd���rH��r’��r†���rª���r—��r~��rh��r8���r·��r¢��r7���rr��r��ru���rS��rP��r:��r¾���r½���r��r«��r ��r��Ú BaseExceptionÚunlinkrÈ��re���rG��r:���r;���r?���r¿���rô��Ú tracebackÚ print_excrf��)rx��rq��rû��rP���r~��rv���rü��rb���r_��r‰��r¼��ÚconffileÚ doc_conffilesr��rg���r±���r²���r¹��rC���s��� ` r-���r…��r…��¥��sŒ��ø€�ð� "¨2õ� JðUÜ(+¯©Œ×јHÑ%Ü—”ˆAÜ×)Ñ)¨)°QÕ7ÜÐ 4°qÑ 8Ó9Ð9ð� ð� Ð>Ñ >ÜÐ3Ó4Ð 4ãˆAØ�DŠyØ!%””Ø�DŠyØ',”Ô$Ø�D‹yØ!%”•ð �ô� ×"Ñ"Ô$Ø �wÑ ô�×(Ñ(¨À<À.Ð(ÔQÜÐ JÓKÐKÙ  L >Õ 2Ü × !Ñ ! /Ô 2ؘÒ"ÜŸ™Ÿ™¨Ó/�Ü× Ñ  °%ÒAiÐ Õjá Ò#KÕ LÜ×"Ñ"Ô$à �YÒ Ü—7‘7—>‘> &Ô)ÜÐ 7¸&Ñ @ÓAÐAØ ŒŒÜ× Ñ Ô"䟙ŒŒÜ� ‰ �FÔÜ×*Ñ*¨7°GÓ<ˆ à=?Œ×јJ¬×)9Ñ)9Ñ9Ñ:Ü×#Ñ#Ô%à �wÑ Ü× Ñ  7Ñ*ˆAÜ×*Ñ*Ó,ˆHÙÜÐ ?À!Ñ CÓDÐDÜ57·W±W·_±_ÀXÓ5NŒH× Ñ Ð 1Ñ 2à=?Œ×јJ¬×)9Ñ)9Ñ9Ñ:ØIKŒ×ÑœH×,Ñ,¨sÑ2´X×5EÑ5EÑEÑF؈ Ø �wÑ ä × Ñ Ô !Ü × Ñ Ô Ø˜Ò"ä× Ñ  °%Ô8Ü×#Ñ# U GÔ,Ü×#Ñ# U GÔ,ä—G‘G×$Ñ$ VÓ,¨QÑ/�à ! G¡ ¨Q°©W´x×7GÑ7GÑ-GÈ'Ñ-QÑRó!ÙR˜!Ü—w‘w—~‘~ aÔ(ò�ÐRð�ð�!ó�'�AÜ×$Ñ$ QÕ'ð�'áÔàˆà Ô)ˆAØ Ð'¨!Ñ+Ñ +‰Dð�*ð�ˆØ � ‰ ”^×.Ñ.Ô/Ø � ‰ ”V×%Ñ%Ô&Ø �eÑ Ø�g�ܘŸ™›Ö'‰DˆAˆqÙÙ²!²QÐ7Ñ7‘àÐ+¨aÑ/Ñ/‘ð �(ð �04Œ×јOÑ,à ˆ?Ü—g‘g×&Ñ& vÓ.¨qÑ1°CÑ7¼(×:JÑ:JÑJˆGÜ×#Ò#äŸ'™'×*Ñ*¨7Ó3°AÑ6¼×9MÑ9MÑM�Ø"ŒÔä×Ñ×"Ñ"¤>×#<Ñ#<Ô=Ü×"Ñ"Ô$à œ×,Ñ,Ñ ,´R·W±W·]±]Ä8×CVÑCVÐWaÑCbÔ5cÜ.0¯g©g¯l©l¼8×;NÑ;NÐOaÑ;bÐdkÓ.lŒH× Ñ   Ñ +ô� ×#Ñ#Ô%ä�‰Ôä × Ñ × "Ñ " ;Ô /Ü × $Ñ $× +Ñ +¬H×,?Ñ,?À Ñ,LÔ MÜ×ÑÔÜ ×ÑÔÜ �>Š>Ü �K‰K�Mä#Ÿ^™^ŒFŒNð #Ü— ‘ ˜G¤V§Z¡ZÔ0ð#Ü×&Ñ& zÔ2ä—L‘L•Nä× Ñ Õ"ùò!øôz�—L‘L•Nûä× Ñ Õ"ûÜ ó�á �w *Ò,´·±·±ÀÔ1HÜ �I‰I�gÔ Ü˜!œYÔ'Ø àˆÜ �=Š=Ü—.‘.  SÓ)ˆCÜ �aœÔ #Ü �N‰N¡S¬#¨a¬&Ð1Õ 2ä! ZÒ/Ü—‘˜sÐ%8Ñ8Ô9Ü—‘˜xÔ(Ü×#Ñ#¬¯©Õ4Ü—‘˜xÕ(ä—‘º3ÄÀAÄÐGÔHÜ �‰�� ‰ ûð)úsp���‹A ]#�ÁA]#�ÂL ]#�Î,(\,ÏK]#�Ú.]#�Û$] �Û-\1�Ü] �Ü]#�Ü,]#�Ü1]Ý] �Ý ] Ý ]#�Ý# cÝ-Ecãcc�����������������óf���—�|�rt���������j������������������|�«�������t��������dt��������j������������������«�������y�)Nr³��)r:���r?���Ú show_helprè���rñ��s��� r-���Úusager ��L��s���€�Ù Ü�‰�sÔÜ ˆiœŸ™Õ$r/���c����������� ������óÚ��—�|€t���������j������������������}t��������j������������������j ������������������d«������}|r|dk7��r d|z���dz���}nt ��������}t��������j ������������������|«�������t��������t��������j������������������«������dk(��rt ��������}t��������j ������������������|«�������t��������t��������j������������������«������dk(��r*t��������j������������������d«�������t��������j������������������d«�������d}t��������j������������������D�]D��}t��������j������������������t��������j������������������|�«������|«������sŒ-|dz ��}t��������j������������������|���}ŒF�|dk(��r‚|�d k7��rt��������j������������������d |�›d |›�«�������t��������j������������������d d j������������������t!��������t��������j������������������j#������������������«�������«������«������z��«�������t��������j������������������d«�������y|dkD��rt��������j������������������d|�z��«�������yD�]��}t%��������||¬«�������Œ�y)z"Print help topic to file object f.Nrœ��Úenzhelp-r���r���zno help topics foundr���Útopicszhelp topic not found: [z] in zavailable help topics: %sz, zambiguous help topic: %sr��)rè���rÚ���r‡���r’��r7���Ú HELP_FILEr ��r‘���r��r:���r?���rf��r<���r=���r‹���r8���r†���rˆ���Úprint)Útopicrb���rœ��Ú help_filer ��r±���rí���r��s��� r-���r ��r ��R��se��€�à€yÜ �J‰Jˆä × Ñ × Ñ  Ó '€DÙ �˜’ ؘd‘N WÑ,‰ äˆ ä ×ј)Ô$Ü Œ6�?‰?Ó˜qÒ äˆ Ü×јiÔ(Ü Œ6�?‰?Ó˜qÒ Ü�‰Ð-Ô.Ü �‰�Œ Ø €AÜ �_Œ_ˆÜ �8‰8”B—I‘I˜eÓ$ aÕ (Ø �‰FˆAÜ—O‘O AÑ&‰Eð�ð� ˆA‚vØ �HÒ Ü �NŠNÂÉ ÐRÔ SÜ�‰Ð2°T·Y±Y¼tÄFÇOÁO×DXÑDXÓDZÓ?[Ó5\Ñ\Ô]Ü �‰�� Ø ˆQŠÜ�‰Ð1°EÑ9Õ:ãˆDÜ �$˜QÖ ñ�r/���c�����������������óL��—�t��������«��������t��������j������������������«��������t��������|«������dkD��r t ��������d«�������t ��������j ������������������d«�������d}d}g�}d}g�}d}|D��]|��\��} } | dv�rd}| dk(��r dt��������_��������| dk(��r dt��������_��������| d k(��r't��������d t��������z��«�������t ��������j ������������������d «�������| d v�r| }| d v�r|j������������������d«�������| dv�r| }| dv�r|j������������������d«�������| dv�r|j������������������| «�������| dk(��rt��������j������������������j������������������| «�������| dv�rd} d} | dk(��rd} d| z���} | dv�rkt��������| d¬«������} | s#t ��������d| z��«�������t ��������j ������������������d«�������| \��} } | r| d���dk(��r| dd�t��������j������������������| <���n| t��������j������������������| <���| dv�r| }| dv�r|j������������������d «�������| d!v�s�Œl|j������������������d"«��������Œ�|r=t��������|«������d k(��r t!��������d#«�������nt!��������|d���«�������t ��������j ������������������d «�������t��������|«������d k(��r-t��������|«������d k(��rt ��������«��������t ��������j ������������������d «�������t��������|«������d k(��r t ��������d$«�������t ��������j ������������������d«�������t ��������j"������������������t ��������j$������������������}} �|d ���}|d%k(��rd&}n=t'��������|t(��������«������r t*��������j,������������������j/������������������|«������}n |t ��������_��������d&}|d%k(��rd'}nGt'��������|t(��������«������r t*��������j,������������������j/������������������|«������}n|€|d&k(��rd'}n |t ��������_��������d'}t1��������||||||«�������t��������j2������������������rt ��������j ������������������d«�������| |ct ��������_��������t ��������_��������y#�| |ct ��������_��������t ��������_��������w�xY�w)(aÐ�� Execute asciidoc with command-line options and arguments. cmd is asciidoc command or asciidoc.py path. opts and args conform to values returned by getopt.getopt(). Raises SystemExit if an error occurs. Doctests: 1. Check execution: >>> infile = io.StringIO('Hello *{author}*') >>> outfile = io.StringIO() >>> opts = [] >>> opts.append(('--backend','html4')) >>> opts.append(('--no-header-footer',None)) >>> opts.append(('--attribute','author=Joe Bloggs')) >>> opts.append(('--out-file',outfile)) >>> execute(__file__, opts, [infile]) >>> print(outfile.getvalue()) <p>Hello <strong>Joe Bloggs</strong></p> >>> r���zToo many argumentsNF)z--helpz-hTz--unsafez--safez --versionz asciidoc %sr���)ú-bú --backend)rý��z --dump-confrý��)z-dz --doctype)r���z --no-confr���)z-fz --conf-fileú--filter)z-nz--section-numbersú-arÿ��ú--themeútheme=)r��z --attribute)r®���zIllegal -a option: %sr€���r&��)z-oz --out-file)rþ��z--no-header-footerrþ��)rÿ��ú --verboserÿ��r³��zNo source file specifiedr���rN���rŒ��)r÷��r‡���ri��r‘���r ��rè���rf��r6���rL���r��r‘��ru���rË���r³���r���r’��r ��rÙ���rÚ���rÈ��r¿���rQ���rR���Úabspathr…��r€��)rÐ���Úoptsr��rx��rq��rû��r~��rv���Ú help_optionr_��r²���r¹��r±���rÙ���rÚ���rP���s��� r-���Úexecuter ��w��s>��€�ô2�ÔÜ ‡K�K„MÜ ˆ4ƒy�1‚}Ü Ð"Ô#Ü �‰�Œ Ø€GØ€GØ€HØ€GØ€GØ€K܉ˆˆ1Ø Ð Ñ ØˆKà � Š?Ø!ŒHŒMØ �Š=Ø ŒHŒMØ � Ò Ü �=¤7Ñ*Ô ,Ü �H‰H�QŒKØ Ð#Ñ #؈GØ Ð%Ñ %Ø �N‰N˜4Ô Ø Ð#Ñ #؈GØ Ð#Ñ #Ø �N‰N˜4Ô Ø Ð%Ñ %Ø �O‰O˜AÔ Ø � Š?Ü �N‰N× !Ñ ! !Ô $Ø Ð+Ñ +؈A؈AØ � Š>؈Aؘ1‘ ˆAØ Ð%Ñ %ܘA¨tÔ4ˆAÙÜÐ-°Ñ1Ô2Ü—‘˜” ؉DˆAˆqá�Q�r‘U˜c’\Ø)*¨3¨B¨”×#Ñ# AÒ&à&'”× Ñ  Ñ#Ø Ð$Ñ $؈GØ Ð,Ñ ,Ø �N‰N˜4Ô Ø Ð#Ó #Ø �N‰N˜4Ö ð[�ñ\�Ü ˆt‹9˜Š>Ü �iÕ ä �d˜2‘hÔ Ü �‰�Œ Ü ˆ4ƒy�A‚~œ#˜d›) qš.Ü ŒÜ �‰�Œ Ü ˆ4ƒy�A‚~Ü Ð(Ô)Ü �‰�Œ Ü—I‘IœsŸz™zˆ6€Eð.Ø�a‘ˆØ �SŠ=؉FÜ ˜¤Ô $Ü—W‘W—_‘_ VÓ,‰FàŒCŒI؈FØ �cŠ>Ø ‰GÜ ˜¤Ô %Ü—g‘g—o‘o gÓ.‰GØ ˆ_ؘÒ"Ø$‘à ŒCŒJØ ˆGä�˜' 8¨V°W¸gÔFÜ × Ò Ü �H‰H�QŒKà % vÐŒŒ ”3•:ø  vÐŒŒ ”3•:ús ���Ê$CN �Î N#c�����������������ód��—�t��������d«�������|�€t��������j������������������}� �t��������j������������������|�dd��dg�d¢«������\��}}D��cg�c]��}|d���‘Œ �}}d|v�rwdd�l}|j������������������|j������������������z���}|j������������������|¬«������\��}}|dk(��r+t ��������j ������������������d «�������t��������j������������������d«�������nt��������j������������������d«�������d} d } |D�]0��\��} } | d v�sŒ | d k(��rd } | dd��} | } | t��������j������������������vrŒ,| dz ��} Œ2�| dkD��r t��������d«�������| dk(��rš st��������d| z��«�������| t��������j������������������vrt��������d| ›d| ›�«�������t��������j!������������������«��������t#��������t%��������ddg«������t%��������|«������z��«������t��������_��������t��������| t ��������t��������«������}�t)��������|| «������«�������y� �t+��������|�d���|«�������y�#�t��������j������������������$�r.�t ��������j ������������������d«�������t��������j������������������d«�������Y��ŒÇw�xY�wc�c}w�#�t,��������$�r�t��������j������������������d«�������Y�y�w�xY�w)Nr��r���za:b:cd:ef:hno:svw:)z attribute=zbackend=z conf-file=zdoctype=z dump-confÚhelpzno-confzno-header-footerz out-file=zsection-numbersrß���ÚversionrL���r\���Údoctestr���r��zillegal command optionsr���z --doctest)Ú optionflagszAll doctests passedr'���)r��r��r��r��r��r��rž���z>--backend, --filter and --theme options are mutually exclusivezmissing --%s commandz illegal --z command: rÿ��r��)rõ��rè���ÚargvÚgetoptÚ GetoptErrorr:���r?���rf��r$��ÚNORMALIZE_WHITESPACEÚELLIPSISÚtestmodr���ÚCMDSrò��r‡���ri��Úboolr���rß���r­��r ��ÚKeyboardInterrupt)r&��r��r��ÚoptÚ opt_namesr$��rv���ÚfailuresÚtriesre��Ú plugin_typer_��r²���rÐ���Úplugins��� r-���Úclir5��ñ��sÿ��€�܈zÔØ €|Ü�x‰xˆð ä—]‘] 4¨¨ 8Ð-Aò$DóE‰ ˆˆdñ�$(Ó(¡4˜C��Q“ 4€IÐ(Ø�iÑãØ×.Ñ.°×1AÑ1AÑAˆØ!Ÿ/™/°g˜/Ó>‰ˆ�%Ø �qŠ=Ü �N‰NÐ0Ô 1Ü �H‰H�Q�Kä �H‰H�QŒKà €EØ€KÛ‰ˆˆ1Ø Ð:Ò :Ø�DŠyØ�ؘA˜B˜%ˆK؈CØœ&Ÿ+™+Ñ%ØØ �Q‰J‰Eð�ð� ˆq‚yÜ Ð LÔMØ �‚záÜ Ð&¨Ñ4Ô 5Ø ”f—k‘kÑ !Ý ªk¹3Ð?Ô @Ü� ‰ Œ Üœc 4¨Ð"5Ó6¼¸Y»ÑGÓHŒŒÜ˜ ¤W¬fÓ5ˆØŒ�˜Ó˜TÕ"ð Ü �D˜‘G˜T 4Õ (øôS� × Ñ ò�Ü�‰Ð0Ô1Ü �‰�� ðüò�)øôN�!ò� Ü �H‰H�QŽKð ús)���ŸG�Á H Æ4H�Ç=HÈHÈH/È.H/r��rE���)NFFFT)FFFT)FNrã��)ˆrI���rV��rI��Ú functoolsr���r'��r«��rQ���r<���rá���rè���r ��r���rÂ��r��rY��Ú collectionsr���r'���r���rg���r���Ú blocks.tabler���r ���r ���r ���r ���Ú exceptionsr ���r:���r���r4��r���rR���r8���rS���Ú__file__rU���ÚMETADATAr��rb���Úexecrï��r‘��re��r»��r¸��r��r_��r`��r}���rÄ���rÅ���r­��Úobjectr%���rL���rX���r^���ri���ÚTuplero���ry���rt���rœ���r¢���r³���r·���rÚ���rÀ���rÂ���rÈ���ró���r ��rŸ���r7��rn��r¹��rH��rJ��rK��rM��rN��rÐ��rr��r±��rÉ��rØ��r ��r��rl��r@��rG��rÄ��rÌ��rÏ��rþ��rç���r��r ��r3��rJ��rY��r[��r»��r½��rÃ��rì��r¿���ÚNoReturnrò��rÝ���r��rF���rô��r6���r‡���r��r½���rS��rP��rQ��rL��rR��r���rÿ��r1���Úmessagesrõ��r÷��r…��r ��r ��r ��r5��rJ���r/���r-���Ú<module>rA�����s1��ðñ ó(� Û� Ý�Û� Û� Û� Û� Û�Û� Û�Û� Û� Û�Û�å�#õ�Ý�#ß�=Ñ�=ß�2Ý�!Ý�Ý�à �7‰7�<‰<˜Ÿ™Ÿ™¨Ó1°;Ó ?€Ø €Ù ˆ"�'‰'�,‰,�r—w‘w—‘ xÓ0Ð2CÓ DÔEÈÙˆ�‰‹�8Ô÷�Fð� �=Ñ !€àÐ�ð �€Ø€ðF€ ðJ€ à1€ à €Ø �€€CØ€ô %$ˆFô�%$òPó ò òð&�V—\‘\ó�ò ò:ò -ð`�ó�3ð$�@EØ8<ó2ðj�?DØ:>óCð� #Ÿz™zó�ò.ò2ð0�+-ó�SólbóJo÷dKñ�KôdD#ˆvô�D#÷N OCñ�OC÷d`4ñ�`4÷FG/ñ�G/÷T*$ñ�*$÷ZXñ�XôvI�Eô�I÷*|<ñ�|<÷~O*ñ�O*÷d 04ñ�04ôf.O� ô�.OôbB�ô�BôDgˆ=ô�gôT8-ˆNô�8-ôv=�]ô�=ô@ &�nô� &ô zˆMô�zôz[.ˆ^ô�[.÷|iñ�i÷XD-ñ�D-÷N)^ñ�)^ð`� × !Ñ ! 'Ó *€÷M$ñ�M$ô`iˆWô�i÷XCñ�CòR÷4v ñ�v ò|÷,ñ�ô]� ô�]ô@ K\�ô�K\ðbˆSð��V—_‘_ó�ð� €Ø € ØÐ�ñ� ‹:€Ù ‹€Ù ‹€Ù ‹€Ù Ô$¤h´¼Ó ?€Ù ‹\€ Ù ‹€Ù Ó €Ù ‹\€ Ù ‹€Ù ‹€Ù ‹\€ Ù ‹€ô� × Ò €ð+�Sð�+˜Tó�+ò  ò6dóN%ó ! òJw.ót7ðt� ˆzÒÙ…Eð�÷qw�FÑEús ���Ã%N Î N