o
    ÈÝgÍ  ã                   @  sp   d Z ddlmZ ddlmZ ddlmZmZ ddlZG dd	„ d	eƒZ	G d
d„ deƒZ
G dd„ deƒZdd„ ZdS )z¤
Modify the behavior of Lists in Python-Markdown to act in a sane manor.

See [documentation](https://Python-Markdown.github.io/extensions/sane_lists)
for details.
é    )Úannotationsé   )Ú	Extensioné   )ÚOListProcessorÚUListProcessorNc                      s.   e Zd ZdZdgZ	 dZ	 ‡ fdd„Z‡  ZS )ÚSaneOListProcessorzK Override `SIBLING_TAGS` to not include `ul` and set `LAZY_OL` to `False`. ÚolFc                   ó&   t ƒ  |¡ t d| jd  ¡| _d S )Nz^[ ]{0,%d}((\d+\.))[ ]+(.*)r   ©ÚsuperÚ__init__ÚreÚcompileÚ
tab_lengthÚCHILD_RE©ÚselfÚparser©Ú	__class__© úU/var/www/html/gwz/venv/lib/python3.10/site-packages/markdown/extensions/sane_lists.pyr   %   ó   ÿzSaneOListProcessor.__init__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚSIBLING_TAGSÚLAZY_OLr   Ú__classcell__r   r   r   r   r      s    r   c                      s(   e Zd ZdZdgZ	 ‡ fdd„Z‡  ZS )ÚSaneUListProcessorz. Override `SIBLING_TAGS` to not include `ol`. Úulc                   r
   )Nz^[ ]{0,%d}(([*+-]))[ ]+(.*)r   r   r   r   r   r   r   1   r   zSaneUListProcessor.__init__)r   r   r   r   r   r   r    r   r   r   r   r!   +   s
    r!   c                   @  s   e Zd ZdZdd„ ZdS )ÚSaneListExtensionz Add sane lists to Markdown. c                 C  s4   |j j t|j ƒdd¡ |j j t|j ƒdd¡ dS )z Override existing Processors. Úolisté(   Úulisté   N)r   ÚblockprocessorsÚregisterr   r!   )r   Úmdr   r   r   ÚextendMarkdown:   s   z SaneListExtension.extendMarkdownN)r   r   r   r   r+   r   r   r   r   r#   7   s    r#   c                  K  s   t di | ¤ŽS )Nr   )r#   )Úkwargsr   r   r   ÚmakeExtension@   s   r-   )r   Ú
__future__r   Ú r   r(   r   r   r   r   r!   r#   r-   r   r   r   r   Ú<module>   s   	