ó
    û¦Ög°  ã                  ó,  • % S SK Jr  S SKrS SKJrJr  S SKrS SKr\(       a  S SKJ	r
  S\S'    \R                  R                  5       R                  rSS jrSS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jr      SS jrg! \ a    S r N?f = f)é    )ÚannotationsN)ÚTYPE_CHECKINGÚCallable)ÚElementTreezCallable[[str], str]Ú	_unescapec                ó   • U $ ©N© )Úss    Ú8/usr/lib/python3/dist-packages/mkdocs/utils/rendering.pyÚ<lambda>r      s   € ™!ó    c                ó˜   • [         R                  " U 5      n [        U 5        [        U 5        [	        U 5        [        [        X5      5      $ r	   )ÚcopyÚdeepcopyÚ_remove_anchorlinkÚ_remove_fnrefsÚ_extract_alt_textsÚ_strip_tagsÚ_render_inner_html)ÚelÚmds     r   Úget_heading_textr      s9   € Ü	�Š�rÓ	€BÜ�rÔÜ�2ÔÜ�rÔÜÔ)¨"Ó1Ó2Ð2r   c                óø  • U R                  S5      =nS:w  aV  U R                  SU5      =nS:w  a>  U SU XS-   S -   n U R                  S5      =nS:w  a  U R                  SU5      =nS:w  a  M>  U R                  S5      =nS:w  aV  U R                  SU5      =nS:w  a>  U SU XS-   S -   n U R                  S5      =nS:w  a  U R                  SU5      =nS:w  a  M>  S	R                  U R                  5       5      n U $ )
zJStrip HTML tags and return plain text. Note: HTML entities are unaffected.z<!--éÿÿÿÿz-->Né   Ú<Ú>é   Ú )ÚfindÚjoinÚsplit)ÚtextÚstartÚends      r   r   r      s  € ð —I‘I˜fÓ%Ð%ˆ5¨"Ó
,¸¿¹À5È%Ó9PÐ2P°#ÐUWÓ1WØ�F�Uˆ|˜d¨¡7 9˜oÑ-ˆð —I‘I˜fÓ%Ð%ˆ5¨"Ó
,¸¿¹À5È%Ó9PÐ2P°#ÐUWÕ1Wð —I‘I˜c“NÐ"ˆ5 rÓ
)°d·i±iÀÀUÓ6KÐ/K¨sÐPRÓ.RØ�F�Uˆ|˜d¨¡7 9˜oÑ-ˆð —I‘I˜c“NÐ"ˆ5 rÓ
)°d·i±iÀÀUÓ6KÐ/K¨sÐPRÕ.Rð �8‰8�D—J‘J“LÓ!€DØ€Kr   c                óô   • UR                  U 5      n[        U5      nUR                  S5      S-   nUR                  S5      nX#U R	                  5       nUR
                   H  nUR                  U5      nM     U$ )Nr   r   r   )Ú
serializerr   ÚindexÚrindexÚstripÚpostprocessorsÚrun)r   r   r$   r%   r&   Úpps         r   r   r   ,   so   € à�=‰=˜Ó€DÜ�T‹?€Dð �J‰J�s‹O˜aÑ€EØ
�+‰+�cÓ
€CØ�cˆ?× Ñ Ó"€Dà×ÔˆØ�v‰v�d‹|Šñ  à€Kr   c                ó„   • [        U 5      S:”  a1  U S   R                  S:X  a  U S   R                  S5      S:X  a  U S	 gggg)z-Drop anchorlink from the element, if present.r   r   ÚaÚclassÚ
headerlinkN)ÚlenÚtagÚget©r   s    r   r   r   ;   sB   € ä
ˆ2ƒw�ƒ{�r˜"‘v—z‘z SÓ(¨R°©V¯Z©Z¸Ó-@ÀLÓ-PØˆr‰Fð .QÐ(€{r   c                óT   • U R                  S5       H  n[        U[        5        M     g)z@Remove footnote references from the element, if any are present.z.//sup[@id]/..N)ÚfindallÚ_replace_elements_with_textÚ_predicate_for_fnrefs©ÚrootÚparents     r   r   r   A   s!   € à—,‘,Ð/Ö0ˆÜ# FÔ,AÖBò 1r   c                ór   • U R                   S:X  a'  U R                  SS5      R                  S5      (       a  gg )NÚsupÚidÚ Úfnref)r4   r5   Ú
startswithr6   s    r   r:   r:   G   s.   € Ø	‡v�v�ƒ˜2Ÿ6™6 $¨Ó+×6Ñ6°w×?Ñ?ØØr   c                óT   • U R                  S5       H  n[        U[        5        M     g)zHFor images that have an `alt` attribute, replace them with this content.z.//img[@alt]/..N)r8   r9   Ú_predicate_for_alt_textsr;   s     r   r   r   M   s!   € à—,‘,Ð0Ö1ˆÜ# FÔ,DÖEò 2r   c                óX   • U R                   S:X  a  U R                  S5      =n(       a  U$ g )NÚimgÚalt)r4   r5   )r   rH   s     r   rE   rE   S   s'   € Ø	‡v�v�ƒ 2§6¡6¨%£=Ð0˜CÕ0Øˆ
Ør   c                ó6  • Sn[        U 5       Hc  nU" U5      nUb-  XCR                  =(       d    S-   U-   nU R                  U5        M;  U(       d  MD  UR                  =(       d    SU-   Ul        SnMe     U(       a  U R                  =(       d    SU-   U l        gg)zYFor each child element, if matched, replace it with the text returned from the predicate.rA   N)ÚreversedÚtailÚremover$   )r=   Ú	predicateÚ
carry_textÚchildÚnew_texts        r   r9   r9   Y   sˆ   € ð €JÜ˜&Ö!ˆá˜UÓ#ˆØÑØ!§Z¡Z×%5°2Ñ6¸ÑCˆJØ�M‰M˜%Ö ßˆZØŸ*™*×*¨¨jÑ8ˆEŒJØŠJñ "ö Ø—{‘{×( b¨JÑ6ˆ�ð r   )r   úetree.Elementr   zmarkdown.MarkdownÚreturnÚstr)r$   rS   rR   rS   )r   rQ   rR   ÚNone)r<   rQ   rR   rT   )r   rQ   rR   z
str | None)r=   rQ   rM   z%Callable[[etree.Element], str | None]rR   rT   )Ú
__future__r   r   Útypingr   r   ÚmarkdownÚmarkdown.treeprocessorsÚ	xml.etreer   ÚetreeÚ__annotations__ÚtreeprocessorsÚUnescapeTreeprocessorÚunescaper   ÚAttributeErrorr   r   r   r   r   r:   r   rE   r9   r
   r   r   Ú<module>r`      sŸ   ðÞ "ã ß *ã Û æÝ.ð  Ó ðØ×'Ñ'×=Ñ=Ó?×HÑH€Iô3ôôôôCôôFôð7Øð7Ø&Kð7à	õ7øðS ó Ù‚Iðús   ¯$B Â	BÂB