
    iKj                     ,   d dl mZmZmZ ddlmZ erddlmZmZ ddl	m
Z
 ddlmZ g dZdez   d	z   Zd
ez   dz   Zdddee   dddee   fdZdddedefdZdddee   dddee   fdZdddedefdZdddee   dddee   fdZdddedefdZdddee   dddefdZdddedefdZdddee   dddefdZdddedefdZdddee   ddded edee   fd!Zd"ed#ed edee   fd$Zd"ed#edefd%Zdddee   dddedef
d&Z d-d(Z!d-d)Z"d-d*Z#d-d+Z$d-d,Z%y').    )TYPE_CHECKINGMatchOptional   )PREVENT_BACKSLASH)BaseRendererInlineState)InlineParser)Markdown)strikethroughmarkinsertsuperscript	subscriptz\^(?:z\\\^|\S|\\ )+?\^z~(?:z\\~|\S|\\ )+?~inliner
   mstater	   returnc                      t        | ||dd      S )Nr   z~~_parse_to_endr   r   r   s      k/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/mistune/plugins/formatting.pyparse_strikethroughr      s    E?DAA    rendererr   textc                     d|z   dz   S )Nz<del>z</del> r   r   s     r   render_strikethroughr!          T>H$$r   c                      t        | ||dd      S )Nr   z==r   r   s      r   
parse_markr$      s    E6488r   c                     d|z   dz   S )Nz<mark>z</mark>r   r    s     r   render_markr&      s    d?Y&&r   c                      t        | ||dd      S )Nr   z^^r   r   s      r   parse_insertr(       s    E8T::r   c                     d|z   dz   S )Nz<ins>z</ins>r   r    s     r   render_insertr*   $   r"   r   c                     t        | ||d      S )Nr   _parse_scriptr   s      r   parse_superscriptr.   (   s    E=99r   c                     d|z   dz   S )Nz<sup>z</sup>r   r    s     r   render_superscriptr0   ,   r"   r   c                     t        | ||d      S )Nr   r,   r   s      r   parse_subscriptr2   0   s    E;77r   c                     d|z   dz   S )Nz<sub>z</sub>r   r    s     r   render_subscriptr4   4   r"   r   tok_typemarkerc                     |j                         }t        |j                  ||      }|y |j                  ||dz
   }|j                         }||_        | j	                  |      }	|j                  ||	d       |S )Nr   typechildren)end_find_end_markersrccopyrenderappend_token)
r   r   r   r5   r6   posend_posr   	new_stater:   s
             r   r   r   8   su     %%'Cuyy#v6G99S7Q;'D

IIM}}Y'H	h?@Nr   r=   rA   c                    |d   }t        |      }| j                  ||      }|dk7  r||z   }|t        |       k  r0| |   |k(  r(| j                  ||      s| j                  ||dz         }H||kD  rO| |dz
     }||k(  xr' ||dz   k\  xr | |dz
     dk(  xr t        | |dz
         }|j	                         s||k7  s|r|S | j                  ||dz         }|dk7  ry )Nr      r   \)lenfind
startswith_has_odd_backslashesisspace)	r=   rA   r6   c
marker_lenr;   
marker_endprevescaped_marker_befores	            r   r<   r<   K   s   q	AVJ
((63
C
):%
C S_%9#..QWYcBd((637+C9sQw<D	pcS1WnpS1W1EpNbcfhknohoNpJp " LLNtqy5J!!hhvsQw' ) r   c                 j    d}|dz  }|dk\  r | |   dk(  r|dz  }|dz  }|dk\  r	| |   dk(  r|dz  dk(  S )Nr   rF   rG   r   r   )r=   rA   counts      r   rK   rK   a   sX    E1HC
(s3x4'
q (s3x4' 19>r   c                     |j                  d      }|j                         }|dd j                  dd      |_        | j	                  |      }|j                  ||d       |j                         S )Nr   rF   rE   z\  r8   )groupr>   replacer=   r?   r@   r;   )r   r   r   r5   r   rC   r:   s          r   r-   r-   j   s`    771:D

I2J&&uc2IM}}Y'H	h?@557Nr   Nc                     | j                   j                  ddt        d       | j                  r;| j                  j                  dk(  r!| j                  j                  dt
               yyy)aI  A mistune plugin to support strikethrough. Spec defined by
    GitHub flavored Markdown and commonly used by many parsers:

    .. code-block:: text

        ~~This was mistaken text~~

    It will be converted into HTML:

    .. code-block:: html

        <del>This was mistaken text</del>

    :param md: Markdown instance
    r   z~~(?=[^\s~])linkbeforehtmlN)r   registerr   r   NAMEr!   mds    r   r   r   s   s]      II	   
{{r{{''61
_.BC 2{r   c                     | j                   j                  ddt        d       | j                  r;| j                  j                  dk(  r!| j                  j                  dt
               yyy)zA mistune plugin to add ``<mark>`` tag. Spec defined at
    https://facelessuser.github.io/pymdown-extensions/extensions/mark/:

    .. code-block:: text

        ==mark me== ==mark \=\= equal==

    :param md: Markdown instance
    r   z==(?=[^\s=])rY   rZ   r\   N)r   r]   r$   r   r^   r&   r_   s    r   r   r      s\     II	   
{{r{{''61
V[1 2{r   c                     | j                   j                  ddt        d       | j                  r;| j                  j                  dk(  r!| j                  j                  dt
               yyy)zA mistune plugin to add ``<ins>`` tag. Spec defined at
    https://facelessuser.github.io/pymdown-extensions/extensions/caret/#insert:

    .. code-block:: text

        ^^insert me^^

    :param md: Markdown instance
    r   z\^\^(?=[^\s\^])rY   rZ   r\   N)r   r]   r(   r   r^   r*   r_   s    r   r   r      s\     II	   
{{r{{''61
X}5 2{r   c                     | j                   j                  dt        t        d       | j                  r;| j                  j
                  dk(  r!| j                  j                  dt               yyy)zA mistune plugin to add ``<sup>`` tag. Spec defined at
    https://pandoc.org/MANUAL.html#superscripts-and-subscripts:

    .. code-block:: text

        2^10^ is 1024.

    :param md: Markdown instance
    r   	linebreakrZ   r\   N)r   r]   SUPERSCRIPT_PATTERNr.   r   r^   r0   r_   s    r   r   r      sV     II}&9;LU`a	{{r{{''61
],>? 2{r   c                     | j                   j                  dt        t        d       | j                  r;| j                  j
                  dk(  r!| j                  j                  dt               yyy)zA mistune plugin to add ``<sub>`` tag. Spec defined at
    https://pandoc.org/MANUAL.html#superscripts-and-subscripts:

    .. code-block:: text

        H~2~O is a liquid.

    :param md: Markdown instance
    r   rd   rZ   r\   N)r   r]   SUBSCRIPT_PATTERNr2   r   r^   r4   r_   s    r   r   r      sT     II{$5{[	{{r{{''61
[*:; 2{r   )r`   r   r   N)&typingr   r   r   helpersr   corer   r	   inline_parserr
   markdownr   __all__re   rg   strintr   r!   r$   r&   r(   r*   r.   r0   r2   r4   r   r<   boolrK   r-   r   r   r   r   r   r   r   r   <module>rq      se   1 1 '0,#
I!225HH //2CC B B5: Bm BX`adXe B%> % % %9~ 9%* 9] 9xX[} 9'. ' ' '; ;E#J ;} ;QYZ]Q^ ;%N %# %# %:n :s :M :VY :% %s %s %8N 8uSz 8- 8TW 8%~ %S %S %Sz  	
  c]&# C  # ,c   . U3Z  Y\ ad D42(6(@<r   