Ë
    Ÿ2Úi?  ã                  ó¨  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 dd	lmZ dd
lmZ ddlmZ ddlZddlZddlmc mZ ej*                  dz   ej,                  z   Zej*                  dz   ej,                  z   Z ej2                  d«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de
«      Z G d„ de
«      Z G d„ de«      Z d„ Z!y)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                  ód   ‡ — e Zd ZdZˆ fd„Zd„ Zdd„Zddd„Zd„ Zdd„Z	d„ Z
d	„ Zddd
„Zd„ Zˆ xZS )ÚFootnoteExtensionz Footnote Extension. c                ó´   •— ddgddgddgddgd	d
gddgdœ| _         	 t        ‰| �  di |¤Ž d| _        i | _        t        «       | _        | j                  «        y)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     €úT/var/www/html/acx/venv/lib/python3.12/site-packages/markdown/extensions/footnotes.pyr   zFootnoteExtension.__init__)   s”   ø€ ð
 *Ð+^ðð ÐRðð Ð`ðð Ð[ð!ð 7ð>ðð Ð*ðñ%
ˆŒð, 	/Ü‰ÑÑ"˜6Ò"ð ˆÔØˆŒÜ›ˆŒà�
‰
�ó    c                óì  — |j                  | «       |j                  | _        || _        |j                  j                  j	                  t        | «      dd«       d}|j                  j	                  t        || «      dd«       |j                  j	                  t        | «      dd«       |j                  j	                  t        | «      dd«       |j                  j	                  t        | «      dd«       y	)
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#   r1   ÚFOOTNOTE_REs      r&   ÚextendMarkdownz FootnoteExtension.extendMarkdownL   sÏ   € à
×Ñ˜TÔ"Ø—i‘iˆŒØˆŒà
�	‰	×!Ñ!×*Ñ*Ô+AÀ$Ó+GÈÐUWÔXð (ˆØ
×Ñ×"Ñ"Ô#:¸;ÈÓ#MÈzÐ[^Ô_ð 	×Ñ×"Ñ"Ô#8¸Ó#>À
ÈBÔOð 	×Ñ×"Ñ"Ô#<¸TÓ#BÐDXÐZ\Ô]ð 	×Ñ×"Ñ"Ô#8¸Ó#>À
ÈBÕOr'   c                óx   — t        «       | _        | xj                  dz  c_        i | _        t	        «       | _        y)z> Clear footnotes on reset, and prepare for distinct document. r   N)r   Ú	footnotesr   r   r    r!   ©r#   s    r&   r"   zFootnoteExtension.resete   s,   € ä0;³ˆŒØ×Ò˜aÑÕØˆŒÜ›ˆ�r'   c                ó  — |s|S |}|| j                   v r¢|j                  | j                  «       d«      \  }}t        j	                  |«      }|rBd|j                  d«      t        |j                  d«      «      dz   | j                  «       |fz  }nd|d| j                  «       |fz  }|| j                   v rŒ¢| j                   j                  |«       || j                  v r| j                  |xx   dz  cc<   |S d| j                  |<   |S )z1 Get 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_refzFootnoteExtension.unique_refl   sü   € áØÐà ˆØ˜4Ÿ>™>Ñ)Ø!Ÿ™¨×(:Ñ(:Ó(<¸aÓ@‰IˆC�Ü—‘ Ó$ˆAÙØ&¨!¯'©'°!«*´c¸!¿'¹'À!»*³oÀaÑ6GÈ×I[ÑI[ÓI]Ð_cÐ)dÑd‘	à&¨#¨q°$×2DÑ2DÓ2FÈÐ)MÑM�	ð ˜4Ÿ>™>Ò)ð 	�‰×Ñ˜9Ô%Ø˜4Ÿ?™?Ñ*Ø�O‰O˜LÓ)¨QÑ.Ó)ð Ðð -.ˆD�O‰O˜LÑ)ØÐr'   c                ó&   ‡ ‡— ˆˆ fd„Š ‰|«      }|S )z@ Return ElementTree Element that contains Footnote placeholder. c                ó0  •— | D ]�  }|j                   r4|j                   j                  ‰j                  d«      «      dkD  r|| dfc S |j                  r4|j                  j                  ‰j                  d«      «      dkD  r|| dfc S  ‰|«      }|€ŒŽ|c S  y )Nr   éÿÿÿÿTF)ÚtextÚfindÚ	getConfigÚtail)ÚelementÚchildÚ	child_resÚfinderr#   s      €€r&   r[   z:FootnoteExtension.findFootnotesPlaceholder.<locals>.finderƒ   s�   ø€ Ø ò 	%�Ø—:’:Ø—z‘z—‘ t§~¡~°nÓ'EÓFÈÒKØ$ g¨tÐ3Ò3Ø—:’:Ø—z‘z—‘ t§~¡~°nÓ'EÓFÈÒKØ$ g¨uÐ4Ò4Ù" 5›M�	ØÑ(Ø$Ò$ð	%ð r'   r   )r#   ÚrootÚresr[   s   `  @r&   ÚfindFootnotesPlaceholderz*FootnoteExtension.findFootnotesPlaceholder�   s   ù€ õ	ñ �T‹lˆØˆ
r'   c                ó"   — || j                   |<   y)z' Store a footnote for later retrieval. N©r?   )r#   ÚidrT   s      r&   ÚsetFootnotezFootnoteExtension.setFootnote“   s   € à!ˆ�‰�rÒr'   c                ó$   — | j                  d«      S )z Get the footnote separator. r   )rV   r@   s    r&   rD   zFootnoteExtension.get_separator—   s   € à�~‰~˜kÓ*Ð*r'   c                ó¤   — | j                  d«      r d| j                  «       | j                  |fz  S dj                  | j                  «       |«      S )z Return footnote link id. r   z	fn%s%d-%szfn{}{})rV   rD   r   Úformat)r#   ra   s     r&   ÚmakeFootnoteIdz FootnoteExtension.makeFootnoteId›   sI   € à�>‰>˜,Ô'Ø $×"4Ñ"4Ó"6¸×8JÑ8JÈBÐ!OÑOÐOà—?‘? 4×#5Ñ#5Ó#7¸Ó<Ð<r'   c                óä   — | j                  d«      r0| j                  d| j                  «       | j                  |fz  |«      S | j                  dj	                  | j                  «       |«      |«      S )z Return footnote back-link id. r   zfnref%s%d-%sz	fnref{}{})rV   rP   rD   r   re   )r#   ra   rK   s      r&   ÚmakeFootnoteRefIdz#FootnoteExtension.makeFootnoteRefId¢   sd   € à�>‰>˜,Ô'Ø—?‘? >°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                ó¶  — t        | j                  j                  «       «      syt        j                  d«      }|j                  dd«       t        j                  |d«       t        j                  |d«      }t        j                  d«      }| j                  d«      j                  dd	«      }t        | j                  j                  «       d
¬«      D �]‚  \  }}t        j                  |d«      }|j                  d| j                  |«      «       | j                  j                  || j                  |   «       t        |«      D ]$  }	|j                  |	«       |j                  |	«       Œ& t        j                  d«      }
|
j                  dd| j                  |«      z   «       |
j                  dd«       |
j                  d|j!                  |«      «       t"        |
_        t'        |«      s�Œ|d   }|j(                  dk(  r+|j$                  t*        z   |_        |j                  |
«       �Œ\t        j                  |d«      }|j                  |
«       �Œ… |S )z/ Return `div` of footnotes as `etree` Element. NÚdivÚclassr)   ÚhrÚolr   z%dr   r   )ÚstartÚlira   ÚaÚhrefú#úfootnote-backrefÚtitlerS   Úp)Úlistr?   ÚkeysÚetreeÚElementr    Ú
SubElementrV   ÚreplaceÚ	enumeraterf   r0   Ú
parseChunkÚappendÚremoverh   re   ÚFN_BACKLINK_TEXTrT   ÚlenÚtagÚNBSP_PLACEHOLDER)r#   r\   rj   rm   Úsurrogate_parentÚbacklink_titleÚindexra   ro   ÚelÚbacklinkÚnoderu   s                r&   ÚmakeFootnotesDivz"FootnoteExtension.makeFootnotesDiv©   sç  € ô �D—N‘N×'Ñ'Ó)Ô*Øä�m‰m˜EÓ"ˆØ�‰�˜Ô$Ü×Ñ˜˜dÔ#Ü×Ñ˜c 4Ó(ˆÜ Ÿ=™=¨Ó/Ðð Ÿ™Ð(8Ó9×AÑAÀ$ÈÓMˆä" 4§>¡>×#6Ñ#6Ó#8ÀÔBó 	'‰IˆE�2Ü×!Ñ! " dÓ+ˆBØ�F‰F�4˜×,Ñ,¨RÓ0Ô1ð �K‰K×"Ñ"Ð#3°T·^±^ÀBÑ5GÔHÜÐ+Ó,ò ,�Ø—	‘	˜"”Ø ×'Ñ'¨Õ+ð,ô —}‘} SÓ)ˆHØ�L‰L˜  t×'=Ñ'=¸bÓ'AÑ!AÔBØ�L‰L˜Ð"4Ô5Ø�L‰LØØ×%Ñ% eÓ,ôô -ˆHŒMä�2ŽwØ˜"‘v�Ø—8‘8˜s’?Ø $§	¡	Ô,<Ñ <�D”IØ—K‘K Ö)ä×(Ñ(¨¨SÓ1�AØ—H‘H˜XÖ&ð5	'ð6 ˆ
r'   ©ÚreturnÚNone)F)rK   Úbool)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r=   r"   rP   r^   rb   rD   rf   rh   rŠ   Ú__classcell__©r%   s   @r&   r   r   &   s;   ø„ Ùô!òFPó2ôò*ó$"ò+ò=ôXö*r'   r   c                  óv   ‡ — e Zd ZdZ ej
                  dej                  «      Zˆ fd„Zd„ Z	d„ Z
dd„Zd„ Zˆ xZS )	r4   z7 Find all footnote references and store for later use. z!^[ ]{0,3}\[\^([^\]]*)\]:[ ]*(.*)$c                óF   •— t         ‰| �  |j                  «       || _        y ©N)r   r   r0   r?   )r#   r?   r%   s     €r&   r   zFootnoteBlockProcessor.__init__Û   s   ø€ Ü‰Ñ˜×)Ñ)Ô*Ø"ˆ�r'   c                 ó   — y)NTr   )r#   ÚparentÚblocks      r&   ÚtestzFootnoteBlockProcessor.testß   s   € Ør'   c                ó  — |j                  d«      }| j                  j                  |«      }|�rÅ|j                  d«      }|j                  d«      g}||j	                  «       d j                  d«      }| j                  j                  |«      }|r}|d|j                  «        j                  d«      }	dj                  |d   | j                  |	«      g«      j                  d«      |d<   |j                  d||j                  «       d «       nWdj                  |d   | j                  |«      g«      j                  d«      |d<   |j                  | j                  |«      «       dj                  |«      }
| j                  j                  ||
j                  «       «       |d|j                  «        j                  «       r2|j                  d|d|j                  «        j                  d«      «       y|j                  d|«       y)	z- Find, set, and remove footnote definitions. r   r   r   Nú
z

TF)ÚpopÚREÚsearchrG   ÚendÚlstriprn   ÚrstripÚjoinÚdetabÚinsertÚstripÚextendÚdetectTabbedr?   rb   )r#   r™   Úblocksrš   rO   ra   Ú	fn_blocksÚtherestÚm2Úbeforer)   s              r&   ÚrunzFootnoteBlockProcessor.runâ   s¦  € à—
‘
˜1“ˆØ�G‰G�N‰N˜5Ó!ˆÚØ—‘˜“ˆBØŸ™ ›˜ˆIð ˜AŸ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¨8¯?©?Ó+<Ô=à�Z�a—g‘g“iÐ ×&Ñ&Ô(à—‘˜a  z¨¯©«	Ð!2×!9Ñ!9¸$Ó!?Ô@Øà�‰�a˜ÔØr'   c                ó°  — g }|rÑ|d   j                  d«      r·|j                  d«      }| j                  j                  |«      }|rh|d|j	                  «        j                  d«      }|j                  | j                  |«      «       |j                  d||j	                  «       d «       	 |S |j                  | j                  |«      «       n	 |S |rŒÑ|S )z’ Find indented text and remove indent before further processing.

        Returns:
            A list of blocks with indentation removed.
        r   ú    Nr�   )	Ú
startswithrž   rŸ   r    rn   r£   r~   r¥   r¦   )r#   rª   r«   rš   rO   r®   s         r&   r©   z#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¨1¯7©7«9¨:Ð%6Ô7àð Ðð	 ×$Ñ$ T§Z¡Z°Ó%6Õ7ð ØÐò) ð( Ðr'   c                ó    — |j                  d«      }t        |«      D ]  \  }}|j                  d«      sŒ|dd ||<   Œ! dj                  |«      S )zˆ Remove one level of indent from a block.

        Preserve lazily indented blocks by only removing indent from indented lines.
        r�   r±   é   N)rC   r|   r²   r¤   )r#   rš   ÚlinesÚiÚlines        r&   r¥   zFootnoteBlockProcessor.detab#  sV   € ð
 —‘˜DÓ!ˆÜ  Ó'ò 	$‰GˆAˆtØ�‰˜uÕ%Ø  ˜8��a’ð	$ð �y‰y˜ÓÐr'   )rŒ   z	list[str])r�   r�   r‘   r’   ÚreÚcompileÚ	MULTILINErŸ   r   r›   r¯   r©   r¥   r“   r”   s   @r&   r4   r4   Ö   s7   ø„ ÙAà	ˆ�‰Ð8¸"¿,¹,Ó	G€Bô#òò"óHö:	 r'   r4   c                  ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )r6   zC `InlineProcessor` for footnote markers in a document's body text. c                ó2   •— t         ‰| �  |«       || _        y r—   )r   r   r?   )r#   Úpatternr?   r%   s      €r&   r   z FootnoteInlineProcessor.__init__2  s   ø€ Ü‰Ñ˜Ô!Ø"ˆ�r'   c                óÂ  — |j                  d«      }|| j                  j                  j                  «       v �r't        j                  d«      }t        j
                  |d«      }|j                  d| j                  j                  |d¬«      «       |j                  dd| j                  j                  |«      z   «       |j                  d	d
«       | j                  j                  d«      j                  t        | j                  j                  j                  «       «      j                  |«      dz   «      |_        ||j                  d«      |j                  d«      fS y)Nr   Úsuprp   ra   T)rK   rq   rr   rk   zfootnote-refr   r   )NNN)rG   r?   rw   rx   ry   rz   r    rh   rf   rV   re   rv   r†   rT   rn   r¡   )r#   rO   Údatara   r¿   rp   s         r&   ÚhandleMatchz#FootnoteInlineProcessor.handleMatch6  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'   )r�   r�   r‘   r’   r   rÁ   r“   r”   s   @r&   r6   r6   /  s   ø„ ÙMô#ö$r'   r6   c                  ó2   — e Zd ZdZd„ Zdd„Zd„ Zdd„Zd„ Zy)	r9   z% Amend footnote div with duplicates. c                ó   — || _         y r—   r`   ©r#   r?   s     r&   r   z"FootnotePostTreeprocessor.__init__I  ó	   € Ø"ˆ�r'   c                ó2  — |j                  d«      D �]  }|j                  j                  dd«      dk(  sŒ$|j                  d   j                  | j                  j                  «       d«      \  }}g }t        d|dz   «      D ]k  }t        j                  |«      }d||| j                  j                  «       |fz  |j                  d<   |j                  |«       | xj                  dz  c_
        Œm t        |«      d	   }	|D ]  }|	j                  |«       Œ  y
 y
)zF Adjust current `li` and add the duplicates: `fnref2`, `fnref3`, etc. rp   rk   Ú rs   rq   r   r   rB   rS   N)ÚiterÚattribÚgetrC   r?   rD   ÚrangeÚcopyÚdeepcopyr~   Úoffsetrv   )
r#   ro   Ú
duplicatesÚlinkrM   rN   Úlinksr†   Úsib_linkr‡   s
             r&   Úadd_duplicatesz(FootnotePostTreeprocessor.add_duplicatesL  sý   € à—G‘G˜C“Ló 	ˆDà�{‰{�‰˜w¨Ó+Ð/AÓAØ ŸK™K¨Ñ/×5Ñ5°d·n±n×6RÑ6RÓ6TÐVWÓX‘	��Tð �Ü" 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ð	%ô ˜"“X˜b‘\�Ø!ò $�DØ—I‘I˜d•Oð$áñ!	r'   c                ó2  — |j                   j                  dd«      j                  | j                  j	                  «       d«      \  }}dj                  || j                  j	                  «       |«      }| j                  j                  j                  |d«      S )z3 Get the number of duplicate refs of the footnote. ra   rÇ   r   z	{}ref{}{}r   )rÉ   rÊ   rC   r?   rD   re   r   )r#   ro   ÚfnrN   Úlink_ids        r&   Úget_num_duplicatesz,FootnotePostTreeprocessor.get_num_duplicates`  ss   € à—9‘9—=‘=  rÓ*×0Ñ0°·±×1MÑ1MÓ1OÐQRÓS‰ˆˆDØ×$Ñ$ R¨¯©×)EÑ)EÓ)GÈÓNˆØ�~‰~×(Ñ(×,Ñ,¨W°aÓ8Ð8r'   c                óv   — t        |«      D ]+  }| j                  |«      }|dkD  sŒ| j                  ||«       Œ- y)z= Find duplicate footnotes and format and add the duplicates. r   N)rv   r×   rÓ   )r#   r™   ro   Úcounts       r&   Úhandle_duplicatesz+FootnotePostTreeprocessor.handle_duplicatesf  s>   € ä�v“,ò 	/ˆBð ×+Ñ+¨BÓ/ˆEØ�q‹yØ×#Ñ# B¨Õ.ñ	/r'   c                óÎ   — d| _         |j                  d«      D ]J  }|j                  j                  dd«      dk(  sŒ#|j                  d«      D ]  }| j	                  |«        ŒJ ŒL y)z= Crawl the footnote div and add missing duplicate footnotes. r   rj   rk   rÇ   r)   rm   N)rÎ   rÈ   rÉ   rÊ   rÚ   )r#   r\   rj   rm   s       r&   r¯   zFootnotePostTreeprocessor.runo  sb   € àˆŒØ—9‘9˜UÓ#ò 	ˆCØ�z‰z�~‰~˜g rÓ*¨jÓ8ð Ÿ(™( 4›.ò �BØ×*Ñ*¨2Ô.Ùññ		r'   Nr‹   )	r�   r�   r‘   r’   r   rÓ   r×   rÚ   r¯   r   r'   r&   r9   r9   F  s   „ Ù/ò#óò(9ó/ó	r'   r9   c                  ó   — e Zd ZdZd„ Zd„ Zy)r8   z3 Build and append footnote div to end of document. c                ó   — || _         y r—   r`   rÄ   s     r&   r   zFootnoteTreeprocessor.__init__~  rÅ   r'   c                ób  — | j                   j                  |«      }|�’| j                   j                  |«      }|rc|\  }}}t        |«      j	                  |«      }|r$|j                  |«       |j                  ||«       y |j                  |dz   |«       d |_        y |j                  |«       y y )Nr   )	r?   rŠ   r^   rv   r†   r   r¦   rW   r~   )r#   r\   ÚfootnotesDivÚresultrY   r™   ÚisTextÚinds           r&   r¯   zFootnoteTreeprocessor.run�  sš   € Ø—~‘~×6Ñ6°tÓ<ˆØÐ#Ø—^‘^×<Ñ<¸TÓBˆFÙØ(.Ñ%��v˜vÜ˜6“l×(Ñ(¨Ó/�ÙØ—M‘M %Ô(Ø—M‘M # |Õ4à—M‘M #¨¡'¨<Ô8Ø!%�E•Jà—‘˜LÕ)ð $r'   N©r�   r�   r‘   r’   r   r¯   r   r'   r&   r8   r8   {  s   „ Ù=ò#ó*r'   r8   c                  ó   — e Zd ZdZd„ Zd„ Zy)r;   z* Replace placeholders with html entities. c                ó   — || _         y r—   r`   rÄ   s     r&   r   zFootnotePostprocessor.__init__”  rÅ   r'   c                óŒ   — |j                  t        | j                  j                  d«      «      }|j                  t        d«      S )Nr   z&#160;)r{   r€   r?   rV   rƒ   )r#   rT   s     r&   r¯   zFootnotePostprocessor.run—  s8   € Ø�|‰|Ü˜dŸn™n×6Ñ6°ÓGó
ˆð �|‰|Ô,¨hÓ7Ð7r'   Nrã   r   r'   r&   r;   r;   ’  s   „ Ù4ò#ó8r'   r;   c                 ó   — t        di | ¤ŽS )z/ Return an instance of the `FootnoteExtension` r   )r   )r$   s    r&   ÚmakeExtensionrè   ž  s   € äÑ&˜vÑ&Ð&r'   )"r’   Ú
__future__r   rÇ   r   r2   r   Úinlinepatternsr   r7   r	   r:   r
   r   Úcollectionsr   r¸   rÌ   Úxml.etree.ElementTreerx   ÚElementTreeÚSTXÚETXr€   rƒ   r¹   rE   r   r4   r6   r9   r8   r;   rè   r   r'   r&   ú<module>rð      sÆ   ðñõ #å Ý ,Ý ,Ý *Ý *Ý Ý #Û 	Û ß %Ð %à—8‘8Ð4Ñ4°t·x±xÑ?Ð Ø—8‘8Ð4Ñ4°t·x±xÑ?Ð ØˆB�J‰J�Ó'€	ôm˜	ô mô`V ˜^ô V ôr$˜oô $ô.2 ô 2ôj*˜Mô *ô.	8˜Mô 	8ó'r'   