ó
    "njFA  ã                  ó¨  • S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SS	KJr  SS
KJr  SSKJr  SSKrSSKrSSKJs  Jr  \R*                  S-   \R,                  -   r\R*                  S-   \R,                  -   r\R2                  " S5      r " S S\5      r " S S\5      r " S S\5      r " S S\
5      r " S S\
5      r " S S\5      r S r!g)zŠ
Adds footnote handling to Python-Markdown.

See the [documentation](https://Python-Markdown.github.io/extensions/footnotes)
for details.
é    )Úannotationsé   )Ú	Extensioné   )ÚBlockProcessor)ÚInlineProcessor)ÚTreeprocessor)ÚPostprocessor)Úutil)ÚOrderedDictNÚzz1337820767766393qqÚqq3936677670287331zzz(fnref)(\d+)c                  ó’   ^ • \ rS rSrSrU 4S jrS rSS jrSSS jjr    SS jr	SS jr
SS	 jrSS
 jrSSS jjrSS jrSrU =r$ )ÚFootnoteExtensioné&   zFootnote Extension. c                ó¶   >• SS/SS/SS/SS/S	S
/SS/S.U l          [        TU ]  " S0 UD6  SU l        0 U l        [        5       U l        U R                  5         g)zSetup configs. z///Footnotes Go Here///z1The text string that marks where the footnotes goFz9Avoid name collisions across multiple calls to `reset()`.z&#8617;zCThe text string that links from the footnote to the reader's place.ú{}zCThe text string that links from the reader's place to the footnote.z$Jump back to footnote %d in the textznThe text string used for the title HTML attribute of the backlink. %d will be replaced by the footnote number.Ú:zFootnote separator.)ÚPLACE_MARKERÚ
UNIQUE_IDSÚBACKLINK_TEXTÚSUPERSCRIPT_TEXTÚBACKLINK_TITLEÚ	SEPARATORr   N© )ÚconfigÚsuperÚ__init__Úunique_prefixÚ
found_refsÚsetÚ	used_refsÚreset)ÚselfÚkwargsÚ	__class__s     €Ú?/usr/lib/python3/dist-packages/markdown/extensions/footnotes.pyr   ÚFootnoteExtension.__init__)   s”   ø€ ð
 *Ð+^ðð ÐRðð Ð`ðð Ð[ð!ð 7ð>ðð Ð*ðñ%
ˆŒð, 	/Ü‰ÒÑ"˜6Ò"ð ˆÔØ*,ˆŒÜ#&£5ˆŒà�
‰
�ó    c                óè  • UR                  U 5        UR                  U l        Xl        UR                  R                  R	                  [        U 5      SS5        SnUR                  R	                  [        X 5      SS5        UR                  R	                  [        U 5      SS5        UR                  R	                  [        U 5      SS5        UR                  R	                  [        U 5      SS5        g	)
zAdd pieces to Markdown. Úfootnoteé   z\[\^([^\]]*)\]é¯   é2   zfootnote-duplicateé   é   N)ÚregisterExtensionÚparserÚmdÚblockprocessorsÚregisterÚFootnoteBlockProcessorÚinlinePatternsÚFootnoteInlineProcessorÚtreeprocessorsÚFootnoteTreeprocessorÚFootnotePostTreeprocessorÚpostprocessorsÚFootnotePostprocessor)r$   r3   ÚFOOTNOTE_REs      r'   ÚextendMarkdownÚ FootnoteExtension.extendMarkdownL   sË   € à
×Ñ˜TÔ"Ø—i‘iˆŒØŒà
�	‰	×!Ñ!×*Ñ*Ô+AÀ$Ó+GÈÐUWÔXð (ˆØ
×Ñ×"Ñ"Ô#:¸;Ó#MÈzÐ[^Ô_ð 	×Ñ×"Ñ"Ô#8¸Ó#>À
ÈBÔOð 	×Ñ×"Ñ"Ô#<¸TÓ#BÐDXÐZ\Ô]ð 	×Ñ×"Ñ"Ô#8¸Ó#>À
ÈBÕOr)   c                óx   • [        5       U l        U =R                  S-  sl        0 U l        [	        5       U l        g)z=Clear footnotes on reset, and prepare for distinct document. r   N)r   Ú	footnotesr   r    r!   r"   ©r$   s    r'   r#   ÚFootnoteExtension.resete   s,   € ä0;³ˆŒØ×Ò˜aÑÕØˆŒÜ›ˆ�r)   c                ó.  • U(       d  U$ UnXR                   ;   a¨  UR                  U R                  5       S5      u  pE[        R	                  U5      nU(       aB  SUR                  S5      [        UR                  S5      5      S-   U R                  5       U4-  nOSUSU R                  5       U4-  nXR                   ;   a  M¨  U R                   R                  U5        X0R                  ;   a  U R                  U==   S-  ss'   U$ SU R                  U'   U$ )z0Get a unique reference if there are duplicates. r   ú%s%d%s%sr   )	r"   ÚsplitÚget_separatorÚ	RE_REF_IDÚmatchÚgroupÚintÚaddr    )r$   Ú	referenceÚfoundÚoriginal_refÚrefÚrestÚms          r'   Ú
unique_refÚFootnoteExtension.unique_refl   sô   € æØÐà ˆØŸ>™>Ó)Ø!Ÿ™¨×(:Ñ(:Ó(<¸aÓ@‰IˆCÜ—‘ Ó$ˆAÞØ&¨!¯'©'°!«*´c¸!¿'¹'À!»*³oÀaÑ6GÈ×I[ÑI[ÓI]Ð_cÐ)dÑd‘	à&¨#¨q°$×2DÑ2DÓ2FÈÐ)MÑM�	ð Ÿ>™>Õ)ð 	�‰×Ñ˜9Ô%ØŸ?™?Ó*Ø�O‰O˜LÓ)¨QÑ.Ó)ð Ðð -.ˆD�O‰O˜LÑ)ØÐr)   c                ó(   ^ ^• UU 4S jmT" U5      nU$ )z?Return ElementTree Element that contains Footnote placeholder. c                óJ  >• U  Hœ  nUR                   (       a4  UR                   R                  TR                  S5      5      S:”  a  XS4s  $ UR                  (       a4  UR                  R                  TR                  S5      5      S:”  a  XS4s  $ T" U5      nUc  Mš  Us  $    g )Nr   éÿÿÿÿTF)ÚtextÚfindÚ	getConfigÚtail)ÚelementÚchildÚ	child_resÚfinderr$   s      €€r'   r`   Ú:FootnoteExtension.findFootnotesPlaceholder.<locals>.finder…   s‡   ø€ Û �Ø—:—:Ø—z‘z—‘ t§~¡~°nÓ'EÓFÈÓKØ$¨tÐ3Ò3Ø—:—:Ø—z‘z—‘ t§~¡~°nÓ'EÓFÈÓKØ$¨uÐ4Ò4Ù" 5›M�	ØÓ(Ø$Ò$ñ !ð r)   r   )r$   ÚrootÚresr`   s   `  @r'   ÚfindFootnotesPlaceholderÚ*FootnoteExtension.findFootnotesPlaceholder�   s   ù€ ö	ñ �T‹lˆØˆ
r)   c                ó    • X R                   U'   g)z&Store a footnote for later retrieval. N©rB   )r$   ÚidrY   s      r'   ÚsetFootnoteÚFootnoteExtension.setFootnote•   s   € à!�‰�rÒr)   c                ó$   • U R                  S5      $ )zGet the footnote separator. r   )r[   rC   s    r'   rH   ÚFootnoteExtension.get_separator™   s   € à�~‰~˜kÓ*Ð*r)   c                ó®   • U R                  S5      (       a   SU R                  5       U R                  U4-  $ SR                  U R                  5       U5      $ )zReturn footnote link id. r   z	fn%s%d-%szfn{}{})r[   rH   r   Úformat)r$   rh   s     r'   ÚmakeFootnoteIdÚ FootnoteExtension.makeFootnoteId�   sL   € à�>‰>˜,×'Ñ'Ø $×"4Ñ"4Ó"6¸×8JÑ8JÈBÐ!OÑOÐOà—?‘? 4×#5Ñ#5Ó#7¸Ó<Ð<r)   c                óî   • U R                  S5      (       a0  U R                  SU R                  5       U R                  U4-  U5      $ U R                  SR	                  U R                  5       U5      U5      $ )zReturn footnote back-link id. r   zfnref%s%d-%sz	fnref{}{})r[   rT   rH   r   rn   )r$   rh   rO   s      r'   ÚmakeFootnoteRefIdÚ#FootnoteExtension.makeFootnoteRefId¤   sg   € à�>‰>˜,×'Ñ'Ø—?‘? >°T×5GÑ5GÓ5IÈ4×K]ÑK]Ð_aÐ4bÑ#bÐdiÓjÐjà—?‘? ;×#5Ñ#5°d×6HÑ6HÓ6JÈBÓ#OÐQVÓWÐWr)   c                óÜ  • [        U R                  R                  5       5      (       d  g[        R                  " S5      nUR                  SS5        [        R                  " US5        [        R                  " US5      n[        R                  " S5      nU R                  S5      R                  SS	5      n[        U R                  R                  5       S
S9 GHŽ  u  pg[        R                  " US5      nUR                  SU R                  U5      5        U R                  R                  X@R                  U   5        [        U5       H%  n	UR                  U	5        UR                  U	5        M'     [        R                  " S5      n
U
R                  SSU R                  U5      -   5        U
R                  SS5        U
R                  SUR!                  U5      5        ["        U
l        ['        U5      (       d  GM%  US   nUR(                  S:X  a,  UR$                  [*        -   Ul        UR                  U
5        GMf  [        R                  " US5      nUR                  U
5        GM‘     U$ )z.Return `div` of footnotes as `etree` Element. NÚdivÚclassr+   ÚhrÚolr   z%dr   r   )ÚstartÚlirh   ÚaÚhrefÚ#úfootnote-backrefÚtitlerX   Úp)ÚlistrB   ÚkeysÚetreeÚElementr!   Ú
SubElementr[   ÚreplaceÚ	enumeratero   r2   Ú
parseChunkÚappendÚremoverr   rn   ÚFN_BACKLINK_TEXTrY   ÚlenÚtagÚNBSP_PLACEHOLDER)r$   rb   ru   rx   Úsurrogate_parentÚbacklink_titleÚindexrh   rz   ÚelÚbacklinkÚnoder€   s                r'   ÚmakeFootnotesDivÚ"FootnoteExtension.makeFootnotesDiv«   sß  € ô �D—N‘N×'Ñ'Ó)×*Ñ*Øä�mŠm˜EÓ"ˆØ�‰�˜Ô$Ü×Ò˜˜dÔ#Ü×Ò˜c 4Ó(ˆÜ Ÿ=š=¨Ó/Ðð Ÿ™Ð(8Ó9×AÑAÀ$ÈÓMˆä" 4§>¡>×#6Ñ#6Ó#8ÀÕB‰IˆEÜ×!Ò! " dÓ+ˆBØ�F‰F�4˜×,Ñ,¨RÓ0Ô1ð �K‰K×"Ñ"Ð#3·^±^ÀBÑ5GÔHÜÐ+Ö,�Ø—	‘	˜"”Ø ×'Ñ'¨Ö+ñ -ô —}’} SÓ)ˆHØ�L‰L˜  t×'=Ñ'=¸bÓ'AÑ!AÔBØ�L‰L˜Ð"4Ô5Ø�L‰LØØ×%Ñ% eÓ,ôô -ˆHŒMä�2�wŒwØ˜"‘v�Ø—8‘8˜s“?Ø $§	¡	Ô,<Ñ <�D”IØ—K‘K ×)ä×(Ò(¨¨SÓ1�AØ—H‘H˜X×&ñ5 Cð6 ˆ
r)   )r   rB   r    r3   r2   r   r"   )ÚreturnÚNone)F)rN   ÚstrrO   Úboolr—   r™   )rb   úetree.Elementr—   z0tuple[etree.Element, etree.Element, bool] | None)rh   r™   rY   r™   r—   r˜   )r—   r™   )rh   r™   r—   r™   )rh   r™   rO   rš   r—   r™   )rb   r›   r—   zetree.Element | None)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r?   r#   rT   rd   ri   rH   ro   rr   r•   Ú__static_attributes__Ú__classcell__©r&   s   @r'   r   r   &   sP   ø† Ùõ!òFPô2öð*Ø!ðà	9ôô("ô+ô=öX÷*ò *r)   r   c                  ó’   ^ • \ rS rSrSr\R                  " S\R                  5      rS
U 4S jjr	SS jr
SS jrSS jrSS jrS	rU =r$ )r6   éØ   z6Find all footnote references and store for later use. z!^[ ]{0,3}\[\^([^\]]*)\]:[ ]*(.*)$c                óD   >• [         TU ]  UR                  5        Xl        g ©N)r   r   r2   rB   )r$   rB   r&   s     €r'   r   ÚFootnoteBlockProcessor.__init__Ý   s   ø€ Ü‰Ñ˜×)Ñ)Ô*Ø"�r)   c                ó   • g)NTr   )r$   ÚparentÚblocks      r'   ÚtestÚFootnoteBlockProcessor.testá   s   € Ør)   c                ó(  • UR                  S5      nU R                  R                  U5      nU(       GaÌ  UR                  S5      nUR                  S5      /nX4R	                  5       S R                  S5      nU R                  R                  U5      nU(       a|  USUR                  5        R                  S5      n	SR                  US   U R                  U	5      /5      R                  S5      US'   UR                  SXxR                  5       S 5        OWSR                  US   U R                  U5      /5      R                  S5      US'   UR                  U R                  U5      5        SR                  U5      n
U R                  R                  XZR                  5       5        USUR                  5        R                  5       (       a2  UR                  SUSUR                  5        R                  S5      5        gUR                  SU5        g)	z,Find, set, and remove footnote definitions. r   r   r   NÚ
z

TF)ÚpopÚREÚsearchrK   ÚendÚlstripry   ÚrstripÚjoinÚdetabÚinsertÚstripÚextendÚdetectTabbedrB   ri   )r$   rª   Úblocksr«   rS   rh   Ú	fn_blocksÚtherestÚm2Úbeforer+   s              r'   ÚrunÚFootnoteBlockProcessor.runä   s£  € à—
‘
˜1“ˆØ�G‰G�N‰N˜5Ó!ˆßØ—‘˜“ˆBØŸ™ ›˜ˆIð ŸE™E›G˜H�o×,Ñ,¨TÓ2ˆGØ—‘—‘ Ó(ˆBÞð !  "§(¡(£*Ð-×4Ñ4°TÓ:�Ø#Ÿy™y¨)°A©,¸¿
¹
À6Ó8JÐ)KÓL×SÑSÐTXÓY�	˜!‘à—‘˜a ¯©«¨Ð!5Õ6ð  $Ÿy™y¨)°A©,¸¿
¹
À7Ó8KÐ)LÓM×SÑSÐTXÓY�	˜!‘ð × Ñ  ×!2Ñ!2°6Ó!:Ô;à—{‘{ 9Ó-ˆHØ�N‰N×&Ñ& r¯?©?Ó+<Ô=à�Z�a—g‘g“iÐ ×&Ñ&×(Ñ(à—‘˜a  z¨¯©«	Ð!2×!9Ñ!9¸$Ó!?Ô@Øà�‰�a˜ÔØr)   c                óØ  • / nU(       aà  US   R                  S5      (       a»  UR                  S5      nU R                  R                  U5      nU(       ag  USUR	                  5        R                  S5      nUR                  U R                  U5      5        UR                  SX4R	                  5       S 5         U$ UR                  U R                  U5      5        O U$ U(       a  Mà  U$ )zyFind indented text and remove indent before further processing.

Returns:
    A list of blocks with indentation removed.
r   ú    Nr¯   )	Ú
startswithr°   r±   r²   ry   rµ   r‰   r·   r¸   )r$   r¼   r½   r«   rS   rÀ   s         r'   r»   Ú#FootnoteBlockProcessor.detectTabbed  sÐ   € ð ˆ	ÞØ�a‰y×#Ñ# E×*Ñ*ØŸ
™
 1›�à—G‘G—N‘N 5Ó)�Þð # : A§G¡G£IÐ.×5Ñ5°dÓ;�FØ×$Ñ$ T§Z¡Z°Ó%7Ô8à—M‘M ! U¯7©7«9¨:Ð%6Ô7àð Ðð	 ×$Ñ$ T§Z¡Z°Ó%6Õ7ð ØÐ÷) ˆfð( Ðr)   c                ó¬   • UR                  S5      n[        U5       H$  u  p4UR                  S5      (       d  M  USS X#'   M&     SR                  U5      $ )zwRemove one level of indent from a block.

Preserve lazily indented blocks by only removing indent from indented lines.
r¯   rÄ   é   N)rG   r‡   rÅ   r¶   )r$   r«   ÚlinesÚiÚlines        r'   r·   ÚFootnoteBlockProcessor.detab%  sP   € ð
 —‘˜DÓ!ˆÜ  Ö'‰GˆAØ�‰˜u×%Ó%Ø  ˜8�“ñ (ð �y‰y˜ÓÐr)   rg   ©rB   r   )rª   r›   r«   r™   r—   rš   )rª   r›   r¼   ú	list[str]r—   rš   )r¼   rÎ   r—   rÎ   )r«   r™   r—   r™   )rœ   r�   rž   rŸ   r    ÚreÚcompileÚ	MULTILINEr±   r   r¬   rÁ   r»   r·   r¡   r¢   r£   s   @r'   r6   r6   Ø   s:   ø† ÙAà	�ŠÐ8¸"¿,¹,Ó	G€B÷#ôô"ôH÷:	 ò 	 r)   r6   c                  ó:   ^ • \ rS rSrSrSU 4S jjrSS jrSrU =r$ )r8   i1  zB`InlineProcessor` for footnote markers in a document's body text. c                ó0   >• [         TU ]  U5        X l        g r§   )r   r   rB   )r$   ÚpatternrB   r&   s      €r'   r   Ú FootnoteInlineProcessor.__init__4  s   ø€ Ü‰Ñ˜Ô!Ø"�r)   c                óÀ  • UR                  S5      nX0R                  R                  R                  5       ;   Ga%  [        R                  " S5      n[        R
                  " US5      nUR                  SU R                  R                  USS95        UR                  SSU R                  R                  U5      -   5        UR                  S	S
5        U R                  R                  S5      R                  [        U R                  R                  R                  5       5      R                  U5      S-   5      Ul        XAR                  S5      UR                  S5      4$ g)Nr   Úsupr{   rh   T)rO   r|   r}   rv   zfootnote-refr   r   )NNN)rK   rB   r‚   rƒ   r„   r…   r!   rr   ro   r[   rn   r�   r‘   rY   ry   r³   )r$   rS   Údatarh   r×   r{   s         r'   ÚhandleMatchÚ#FootnoteInlineProcessor.handleMatch8  s  € Ø�W‰W�Q‹ZˆØ—‘×)Ñ)×.Ñ.Ó0Ô0Ü—-’- Ó&ˆCÜ× Ò   cÓ*ˆAØ�G‰G�D˜$Ÿ.™.×:Ñ:¸2ÀTÐ:ÐJÔKØ�E‰E�&˜# §¡× =Ñ =¸bÓ AÑAÔBØ�E‰E�'˜>Ô*Ø—^‘^×-Ñ-Ð.@ÓA×HÑHÜ�T—^‘^×-Ñ-×2Ñ2Ó4Ó5×;Ñ;¸BÓ?À!ÑCóˆAŒFð Ÿ™ ›
 A§E¡E¨!£HÐ,Ð,à#r)   rg   )rÔ   r™   rB   r   )rS   zre.Match[str]rØ   r™   r—   z3tuple[etree.Element | None, int | None, int | None])	rœ   r�   rž   rŸ   r    r   rÙ   r¡   r¢   r£   s   @r'   r8   r8   1  s   ø† ÙM÷#÷$ò $r)   r8   c                  óJ   • \ rS rSrSrS
S jrSS jrSS jrSS jrSS jr	Sr
g	)r;   iH  z$Amend footnote div with duplicates. c                ó   • Xl         g r§   rg   ©r$   rB   s     r'   r   Ú"FootnotePostTreeprocessor.__init__K  ó   € Ø"�r)   c                ó>  • UR                  S5       GH  nUR                  R                  SS5      S:X  d  M&  UR                  S   R                  U R                  R                  5       S5      u  pE/ n[        SUS-   5       Hl  n[        R                  " U5      nSXGU R                  R                  5       U4-  UR                  S'   UR                  U5        U =R                  S-  sl
        Mn     [        U5      S	   n	U H  nU	R                  U5        M       g
   g
)zEAdjust current `li` and add the duplicates: `fnref2`, `fnref3`, etc. r{   rv   Ú r~   r|   r   r   rF   rX   N)ÚiterÚattribÚgetrG   rB   rH   ÚrangeÚcopyÚdeepcopyr‰   Úoffsetr�   )
r$   rz   Ú
duplicatesÚlinkrQ   rR   Úlinksr‘   Úsib_linkr’   s
             r'   Úadd_duplicatesÚ(FootnotePostTreeprocessor.add_duplicatesN  sê   € à—G‘G˜C—LˆDà�{‰{�‰˜w¨Ó+Ð/AÕAØ ŸK™K¨Ñ/×5Ñ5°d·n±n×6RÑ6RÓ6TÐVWÓX‘	�ð �Ü" 1 j°1¡nÖ5�EÜ#Ÿ}š}¨TÓ2�HØ.8¸CÈÏÉ×HdÑHdÓHfÐhlÐ;mÑ.m�H—O‘O FÑ+Ø—L‘L Ô*Ø—K’K 1Ñ$—Kñ	 6ô ˜"“X˜b‘\�Û!�DØ—I‘I˜d–Oñ "áò! !r)   c                ó.  • UR                   R                  SS5      R                  U R                  R	                  5       S5      u  p#SR                  X R                  R	                  5       U5      nU R                  R                  R                  US5      $ )z2Get the number of duplicate refs of the footnote. rh   rá   r   z	{}ref{}{}r   )rã   rä   rG   rB   rH   rn   r    )r$   rz   ÚfnrR   Úlink_ids        r'   Úget_num_duplicatesÚ,FootnotePostTreeprocessor.get_num_duplicatesb  so   € à—9‘9—=‘=  rÓ*×0Ñ0°·±×1MÑ1MÓ1OÐQRÓS‰ˆØ×$Ñ$ R¯©×)EÑ)EÓ)GÈÓNˆØ�~‰~×(Ñ(×,Ñ,¨W°aÓ8Ð8r)   c                ó|   • [        U5       H-  nU R                  U5      nUS:”  d  M  U R                  X#5        M/     g)z<Find duplicate footnotes and format and add the duplicates. r   N)r�   rò   rí   )r$   rª   rz   Úcounts       r'   Úhandle_duplicatesÚ+FootnotePostTreeprocessor.handle_duplicatesh  s7   € ä�v–,ˆBð ×+Ñ+¨BÓ/ˆEØ�q�yØ×#Ñ# BÖ.ò r)   c                óÚ   • SU l         UR                  S5       HO  nUR                  R                  SS5      S:X  d  M%  UR                  S5       H  nU R	                  U5          MM     MQ     g)z<Crawl the footnote div and add missing duplicate footnotes. r   ru   rv   rá   r+   rx   N)rè   râ   rã   rä   rö   )r$   rb   ru   rx   s       r'   rÁ   ÚFootnotePostTreeprocessor.runq  sX   € àˆŒØ—9‘9˜UÖ#ˆCØ�z‰z�~‰~˜g rÓ*¨jÕ8ð Ÿ(™( 4ž.�BØ×*Ñ*¨2Ô.Úó )ò	 $r)   )rB   rè   NrÍ   )rz   r›   ré   rL   r—   r˜   )rz   r›   r—   rL   )rª   r›   r—   r˜   ©rb   r›   r—   r˜   )rœ   r�   rž   rŸ   r    r   rí   rò   rö   rÁ   r¡   r   r)   r'   r;   r;   H  s   † Ù/ô#ôô(9ô/÷	r)   r;   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	r:   i}  z2Build and append footnote div to end of document. c                ó   • Xl         g r§   rg   rÝ   s     r'   r   ÚFootnoteTreeprocessor.__init__€  rß   r)   c                ót  • U R                   R                  U5      nUbš  U R                   R                  U5      nU(       af  Uu  pEn[        U5      R	                  U5      nU(       a#  UR                  U5        UR                  Xr5        g UR                  US-   U5        S Ul        g UR                  U5        g g )Nr   )	rB   r•   rd   r�   r‘   rŠ   r¸   r\   r‰   )r$   rb   ÚfootnotesDivÚresultr^   rª   ÚisTextÚinds           r'   rÁ   ÚFootnoteTreeprocessor.runƒ  s–   € Ø—~‘~×6Ñ6°tÓ<ˆØÑ#Ø—^‘^×<Ñ<¸TÓBˆFÞØ(.Ñ%�˜vÜ˜6“l×(Ñ(¨Ó/�ÞØ—M‘M %Ô(Ø—M‘M #Õ4à—M‘M #¨¡'¨<Ô8Ø!%�E•Jà—‘˜LÕ)ð $r)   rg   NrÍ   rú   ©rœ   r�   rž   rŸ   r    r   rÁ   r¡   r   r)   r'   r:   r:   }  s   † Ù=ô#÷*r)   r:   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	r=   i”  z)Replace placeholders with html entities. c                ó   • Xl         g r§   rg   rÝ   s     r'   r   ÚFootnotePostprocessor.__init__–  rß   r)   c                óŒ   • UR                  [        U R                  R                  S5      5      nUR                  [        S5      $ )Nr   z&#160;)r†   r‹   rB   r[   rŽ   )r$   rY   s     r'   rÁ   ÚFootnotePostprocessor.run™  s8   € Ø�|‰|Ü˜dŸn™n×6Ñ6°ÓGó
ˆð �|‰|Ô,¨hÓ7Ð7r)   rg   NrÍ   )rY   r™   r—   r™   r  r   r)   r'   r=   r=   ”  s   † Ù4ô#÷8r)   r=   c                 ó   • [        S0 U D6$ )z.Return an instance of the `FootnoteExtension` r   )r   )r%   s    r'   ÚmakeExtensionr     s   € äÑ&˜vÑ&Ð&r)   )"r    Ú
__future__r   rá   r   r4   r   Úinlinepatternsr   r9   r	   r<   r
   r   Úcollectionsr   rÏ   ræ   Úxml.etree.ElementTreerƒ   ÚElementTreeÚSTXÚETXr‹   rŽ   rÐ   rI   r   r6   r8   r;   r:   r=   r  r   r)   r'   Ú<module>r     sÄ   ðñõ #å Ý ,Ý ,Ý *Ý *Ý Ý #Û 	Û ß %Ð %à—8‘8Ð4Ñ4°t·x±xÑ?Ð Ø—8‘8Ð4Ñ4°t·x±xÑ?Ð Ø�JŠJ�Ó'€	ôo˜	ô oôdV ˜^ô V ôr$˜oô $ô.2 ô 2ôj*˜Mô *ô.	8˜Mô 	8ó'r)   