
    i                        d dl mZ d dlmZmZmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZ e
rd dlmZ eeef         Z	  G d de          Z G d	 d
e          Z G d de          ZddZdS )    )annotations)CallableIterableMutableMapping)r   )Path)TYPE_CHECKINGAny	TypedDictcast)NotRequiredc                      e Zd ZU dZded<   	 ded<   	 ded<   	 ded<   	 ded	<   	 ded
<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   dS )OptionsTypezOptions for parsing.int
maxNestingboolhtmllinkifytypographerstrquotesxhtmlOutbreaks
langPrefix%Callable[[str, str, str], str] | None	highlightzNotRequired[bool]store_labels	tasklistsalertstasklists_editablestrikethrough_single_tildeN__name__
__module____qualname____doc____annotations__     X/home/piyush/.hermes/hermes-agent/venv/lib/python3.11/site-packages/markdown_it/utils.pyr   r      s         OOO/JJJ%MMM;.KKKNNN0LLL3OOO04444>#### !   @=))))[1111PPr(   r   c                  *    e Zd ZU dZded<   	 ded<   dS )
PresetTypez%Preset configuration for markdown-it.r   optionsz3MutableMapping[str, MutableMapping[str, list[str]]]
componentsNr!   r'   r(   r)   r+   r+   6   s3         //CCCC//r(   r+   c                  \   e Zd ZdZd)dZd*d
Zd+dZd,dZd-dZd.dZ	d/dZ
d/dZed.d            Zej        d0d            Zed1d            Zej        d2d            Zed1d            Zej        d2d            Zed1d            Zej        d2d            Zed/d            Zej        d3d            Zed1d            Zej        d2d             Zed1d!            Zej        d2d"            Zed/d#            Zej        d3d$            Zed4d&            Zej        d5d'            Zd(S )6OptionsDictzMA dictionary, with attribute access to core markdownit configuration options.r,   r   returnNonec                T    t          t          t          |                    | _        d S N)r   r   dict_options)selfr,   s     r)   __init__zOptionsDict.__init__E   s    [$w--88r(   keyr   r	   c                    | j         |         S r3   r5   r6   r8   s     r)   __getitem__zOptionsDict.__getitem__H   s    }S!!r(   valuec                    || j         |<   d S r3   r:   )r6   r8   r=   s      r)   __setitem__zOptionsDict.__setitem__K   s    "cr(   c                    | j         |= d S r3   r:   r;   s     r)   __delitem__zOptionsDict.__delitem__N   s    M#r(   Iterable[str]c                *    t          | j                  S r3   )iterr5   r6   s    r)   __iter__zOptionsDict.__iter__Q       DM"""r(   r   c                *    t          | j                  S r3   )lenr5   rE   s    r)   __len__zOptionsDict.__len__T       4=!!!r(   c                *    t          | j                  S r3   )reprr5   rE   s    r)   __repr__zOptionsDict.__repr__W   rG   r(   c                *    t          | j                  S r3   )r   r5   rE   s    r)   __str__zOptionsDict.__str__Z   rK   r(   c                    | j         d         S )z%Internal protection, recursion limit.r   r:   rE   s    r)   r   zOptionsDict.maxNesting]        }\**r(   c                    || j         d<   d S )Nr   r:   r6   r=   s     r)   r   zOptionsDict.maxNestingb       &+l###r(   r   c                    | j         d         S )zEnable HTML tags in source.r   r:   rE   s    r)   r   zOptionsDict.htmlf   s     }V$$r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.htmlk   s     %fr(   c                    | j         d         S )z1Enable autoconversion of URL-like texts to links.r   r:   rE   s    r)   r   zOptionsDict.linkifyo   s     }Y''r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.linkifyt   s    #(i   r(   c                    | j         d         S )z$Enable smartquotes and replacements.r   r:   rE   s    r)   r   zOptionsDict.typographerx   s     }]++r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.typographer}   s    ',m$$$r(   c                    | j         d         S )zQuote characters.r   r:   rE   s    r)   r   zOptionsDict.quotes        }X&&r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.quotes       "'hr(   c                    | j         d         S )z&Use '/' to close single tags (<br />).r   r:   rE   s    r)   r   zOptionsDict.xhtmlOut   s     }Z((r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.xhtmlOut   s    $)j!!!r(   c                    | j         d         S )z)Convert newlines in paragraphs into <br>.r   r:   rE   s    r)   r   zOptionsDict.breaks   r]   r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.breaks   r_   r(   c                    | j         d         S )z&CSS language prefix for fenced blocks.r   r:   rE   s    r)   r   zOptionsDict.langPrefix   rR   r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.langPrefix   rU   r(   r   c                    | j         d         S )zEHighlighter function: (content, langName, langAttrs) -> escaped HTML.r   r:   rE   s    r)   r   zOptionsDict.highlight   s     }[))r(   c                    || j         d<   d S )Nr   r:   rT   s     r)   r   zOptionsDict.highlight   s    %*k"""r(   N)r,   r   r0   r1   )r8   r   r0   r	   )r8   r   r=   r	   r0   r1   )r8   r   r0   r1   )r0   rB   )r0   r   )r0   r   )r=   r   r0   r1   )r0   r   )r=   r   r0   r1   )r=   r   r0   r1   )r0   r   )r=   r   r0   r1   )r"   r#   r$   r%   r7   r<   r?   rA   rF   rJ   rN   rP   propertyr   setterr   r   r   r   r   r   r   r   r'   r(   r)   r/   r/   ?   s       WW
9 9 9 9" " " "# # # #   # # # #" " " "# # # #" " " " + + + X+ , , , , % % % X% 
[& & & [& ( ( ( X( ^) ) ) ^) , , , X, - - - - ' ' ' X' ]( ( ( ]( ) ) ) X) _* * * _* ' ' ' X' ]( ( ( ]( + + + X+ , , , , * * * X* + + + + + +r(   r/   path
str | Pathr0   list[list[Any]]c                ~   t          |                               d          }g }d}d}|                    d          }t          t	          |                    D ]}||                                         dk    r|dk    r5|                    |||dz
                                           g           d}n|dk    r<|d                             d	                    ||dz   |                              d
}nA|d
k    r;|d                             d	                    ||dz   |                              d}|}|S )Nzutf-8)encodingr   T)keepends.       )	r   	read_text
splitlinesrangerI   rstripappendstripjoin)rj   texttestssectionlast_poslinesis          r)   read_fixture_filer      s>   ::11DEGHOOTO**E3u::  8??##!||aq1u!3!3!5!56777Ab	  x!|a/?)@!A!ABBBAb	  x!|a/?)@!A!ABBBHLr(   N)rj   rk   r0   rl   )
__future__r   collections.abcr   r   r   MutableMappingABCpathlibr   typingr   r	   r
   r   typing_extensionsr   r   EnvTyper   r+   r/   r   r'   r(   r)   <module>r      s[   " " " " " " > > > > > > > > > > ? ? ? ? ? ?       6 6 6 6 6 6 6 6 6 6 6 6 .------ c
"
!Q !Q !Q !Q !Q) !Q !Q !QH0 0 0 0 0 0 0 0m+ m+ m+ m+ m+# m+ m+ m+`     r(   