o
    3Ih3                     @  s>   d dl mZ ddlmZmZ dd	d
ZdddZdddZdS )    )annotations   )	DelimiterStateInlinestater   silentboolreturnc                 C  s   | j }| j| }|rdS |dvrdS | | j |dk}t|jD ]$}| ddd}||_| jt	t
||jt| jd d|j|jd	 q |  j |j7  _ d
S )zIInsert each marker as a separate text token, and add it to delimiter listF)_*r   text r   r   )markerlengthtokenendopencloseT)possrc
scanDelimsranger   pushcontent
delimitersappendr   ordlentokenscan_open	can_close)r   r   startr   scannedr
   r    r$   a/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/markdown_it/rules_inline/emphasis.pytokenize   s,   
r&   r   list[Delimiter]Nonec                 C  s  t |d }|dkr|| }|jdkr|jdkr|d8 }q|jdkr'|d8 }q||j }|dko^||d  j|jd ko^||d  j|jko^||d  j|jd ko^||jd  j|jd k}t|j}| j|j }|rndnd|_|rudnd	|_d|_|r|| n||_	d
|_
| j|j }|rdnd|_|rdnd	|_d|_|r|| n||_	d
|_
|rd
| j||d  j _
d
| j||jd  j _
|d8 }|d8 }|dks
d S d S )Nr   r   _   *   r   strong_openem_openstrongemr   strong_closeem_close)r   r   r   r   chrr   typetagnestingmarkupr   )r   r   i
startDelimendDelimisStrongchr   r$   r$   r%   _postProcess(   sL   



r;   c                 C  s6   t | | j | jD ]}|rd|v rt | |d  q	dS )z>Walk through delimiter list and replace text tokens with tags.r   N)r;   r   tokens_meta)r   r   r$   r$   r%   postProcess`   s   
r=   N)r   r   r   r   r	   r   )r   r   r   r'   r	   r(   )r   r   r	   r(   )
__future__r   state_inliner   r   r&   r;   r=   r$   r$   r$   r%   <module>   s
   

 8