a
    Oc?                     @   s   d dl Z h dZh dZh dZe de jZg Zdd Zd4dd	Z	d
d Z
d5ddZdd Zdd Zd6d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d$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ ZG d0d1 d1ZG d2d3 d3ZdS )7    N>   
 	>   u    u    u   　u    r   r   u    r      u    r   u    u    u    u    u    u    u    u    r       u    r   u    u    >    /*"{%`$],-[>;}!&~)<'.#+\(_?@^=:|z-(?<!\\|`)(?:\\\\)*(`+)(?!`)(.+?)(?<!`)\1(?!`)c                 C   s  g }g }d}d }d}d}d}t | }	|t| k r|	d ur||	 kr|d urv|t||s`|n|d |  d }d}t|	 |	 }t | |}	q&| | }
|
dkr|sd}|d7 }q&|d ur|
|ks|r|t||s|n|d |  d }|d u r|
dks|
dkr|s|
}|}|s|
dkrh|sH|t||d |  n|t|d |d |  d}nB|
d	krxd}n2|
d
krt| ||||}t | |}	n
|rd}nd}|d7 }q&|r|t|||  t	| d || |S )NFr      r%   Tr   r'   r   r   r   )
code_patternsearchlenstartappend	Delimiter_code_matchesendfind_link_imageprocess_emphasis)stringroot
delimitersmatchesescapedZin_delimiter_runZin_imager2   iZ
code_matchc r@   M/var/www/html/megastudio/lib/python3.9/site-packages/mistletoe/core_tokens.pyfind_core_tokens   s`    

$



rB   c                 C   s   t |d }|d d d D ]}|jdv r|js@|| |  S t| |||}|rt| ||| || |jdkrt||d | d   S || |  S |d8 }q|S )Nr.   )r   ![r   )	r1   typeactiveremovematch_link_imager8   r3   deactivate_delimitersr6   )r9   offsetr;   r<   r:   r>   	delimitermatchr@   r@   rA   r7   G   s"    





r7   c              	   C   s  |}|}t ||}|d ur|| }|jd dkr6|n|}t|||}	|	d ur@||	 }
|jdkrp|
jdkrpdnd}|
j| }|j| }t|||| || | || ||  f}|dkrdnd|_|| ||	d |= |||	 d 8 }|
j|dds||
 |d8 }|j|d	ds0|| |d8 }|dk rd}nL|dkrR|d nd }|jd dkrl|}n|}|j	s|| n|d7 }t ||}q||d = d S )
Nr   r      r.   StrongZEmphasisF)leftT)
next_closerrE   matching_openernumberr6   r2   MatchObjr3   rG   open)r9   Zstack_bottomr;   r<   Zstar_bottomZunderscore_bottomcurr_poscloserbottomZopen_posopenernr2   r6   rL   r@   r@   rA   r8   d   sD    




*



r8   c                 C   s  |j dk}|j}||j }|}| || }t| |drt| |d }	|	d ur|	\}
}}t| |}	|	d ur|	\}}}t| |}|t| k r| | dkr|d }t|||||f|
||f|||f}|sdnd|_ |S t| |drt	| |d |}|r>|\}	\}}|	d }t|||||fdd|fdd|f}|s4dnd|_ |S t
||}|rt| |d d	r|\}}|d
 }t|||||fdd|fdd|f}|sdnd|_ |S d S t
||}|r |\}}|d }t|||||fdd|fdd|f}|sdnd|_ |S d S )NrD   r&   r.   r   LinkZImager   rC   r      )rE   r2   rR   followsmatch_link_destmatch_link_titleshift_whitespacer1   rS   match_link_labelis_link_label)r9   rJ   rK   r:   imager2   Z
text_startZtext_endtext
match_infoZ
dest_startZdest_enddestZtitle_startZ	title_endtitleZparen_indexr6   rL   resultrefr@   r@   rA   rH      sv    







rH   c                 C   s  t | |d }|t| krd S | | dkrd}t| |d d  |d dD ]n\}}|dkrd|sdd}qJ|dks|dks|dkr|s d S |d	kr|s||d | |d | f  S |rJd}qJd S d}d}t| |d  |dD ]\}}|dkr|sd}nh|tv r||| || f  S |sB|d
kr.|d7 }n|dkr\|d8 }nt|rR d S |r\d}|dkr||| || f  S qd S d S )Nr.   r    Fr2   r%   Tr   r   r   r&   r   r   )r_   r1   	enumerate
whitespaceis_control_char)r9   rJ   r=   r>   r?   countr@   r@   rA   r]      sD    $





r]   c                 C   s   t | |}|t| krd S | | dkr0||dfS | | dkrBd}n(| | dkrTd}n| | dkrfd}nd S d}t| |d d  |d dD ]L\}}|d	kr|sd
}q||kr|s||d | |d | f  S |rd}qd S )Nr    r   r!   r&   Fr.   ri   r%   T)r_   r1   rj   )r9   rJ   closingr=   r>   r?   r@   r@   rA   r^      s*    

$r^   c                 C   s   d}d}d}t | |d  |dD ]\}}|dkr:|s:d}q |dkr\|s\|dkrT|}q d S q |dkr|s|}| |d | }||d |f}	| d	kr|jt|d }
|
d ur|	|
f  S  d S  d S |r d}q d S )
NrC   Fri   r%   Tr   r   r.   rn   )rj   strip	footnotesgetnormalize_label)r9   rJ   r:   r2   r6   r=   r>   r?   labelrd   rh   r@   r@   rA   r`     s.    r`   c                 C   sl   d}| D ]8}|dkr|sd}q|dks.|dkr8|s8 d S |rd}q|   dkrh|sVdS |jt| d S d S )NFr%   Tr   r   rn   )rp   rq   rr   rs   )rc   r:   r=   r?   r@   r@   rA   ra   *  s    ra   c                 C   s   d |   S Nr   )joinsplitcasefold)rc   r@   r@   rA   rs   :  s    rs   c                 C   s>   t || d  | pddD ] \}}t|dr|jr|  S qd S )Nr   ri   close)rj   hasattrry   )rU   r;   r>   rK   r@   r@   rA   rP   >  s     
rP   c                 C   s^   | dkrZ||  }| d }|| d |d D ].}t |drP|jrP||rP|  S |d8 }q*d S )Nr   r.   rC   rT   )rz   rT   	closed_by)rU   r;   rW   Zcurr_delimiterindexrK   r@   r@   rA   rQ   E  s    

rQ   c                 C   sF   ||  dkrt | ||S t| ||}t | ||oD| pD|oDt| |tS Nr   )is_left_delimiteris_right_delimiterpreceded_bypunctuation)r2   r6   r9   Zis_rightr@   r@   rA   	is_openerR  s    r   c                 C   sF   ||  dkrt | ||S t| ||}t | ||oD| pD|oDt||tS r}   )r   r~   succeeded_byr   )r2   r6   r9   Zis_leftr@   r@   rA   	is_closer[  s    r   c                 C   s4   t ||t o2t ||t p2t| |tp2t| |tS N)r   unicode_whitespacer   r   r2   r6   r9   r@   r@   rA   r~   d  s    

r~   c                 C   s4   t | |t o2t | |t p2t||tp2t||tS r   )r   r   r   r   r   r@   r@   rA   r   k  s    

r   c                 C   s    | dkr|| d  nd}||v S )Nr   r.   r   r@   )r2   r9   charsetZpreceding_charr@   r@   rA   r   r  s    r   c                 C   s    | t |k r||  nd}||v S ru   r1   )r6   r9   r   Zsucceeding_charr@   r@   rA   r   w  s    r   c                 C   s   t | dk pt | dkS )N       )ord)charr@   r@   rA   rl   |  s    rl   c                 C   s    |d t | k o| |d  |kS )Nr.   r   )r9   r|   r   r@   r@   rA   r\     s    r\   c                 C   s6   t | |d  |dD ]\}}|tvr|  S qt| S )Nri   )rj   rk   r1   )r9   r|   r>   r?   r@   r@   rA   r_     s    
r_   c                 C   s&   | d | D ]}|j |krd|_qd S )NF)rE   rF   )r;   r|   Zdelimiter_typerK   r@   r@   rA   rI     s    
rI   c                   @   s.   e Zd Zdd ZdddZdd Zdd	 Zd
S )r4   c                 C   sV   ||| | _ || | _d| _|| _|| _| j drRt|||| _t|||| _	d S )NTr   r'   )
rE   rR   rF   r2   r6   
startswithr   rT   r   ry   )selfr2   r6   r9   r@   r@   rA   __init__  s    
zDelimiter.__init__Tc                 C   sr   | j | dkrdS |rD| j| | _| j| j | _ | j|d  | _dS | j| | _| j| j | _ | jd | | _dS )Nr   FT)rR   r2   r6   rE   )r   rY   rO   r@   r@   rA   rG     s    zDelimiter.removec                 C   sB   | j d |j d kp>| jr | js,|jo>|jo>| j|j d dk S )Nr   r[   )rE   rT   ry   rR   )r   otherr@   r@   rA   r{     s    zDelimiter.closed_byc                 C   s<   | j ds dt| j | jS dt| j | j| j| jS )Nr   z<Delimiter type={} active={}>z.<Delimiter type={} active={} open={} close={}>)rE   r   formatreprrF   rT   ry   r   r@   r@   rA   __repr__  s    zDelimiter.__repr__N)T)__name__
__module____qualname__r   rG   r{   r   r@   r@   r@   rA   r4     s   

r4   c                   @   s:   e Zd Zdd ZdddZdddZddd	Zd
d ZdS )rS   c                 G   s   || _ || _|| _d S r   )_start_endfields)r   r2   r6   r   r@   r@   rA   r     s    zMatchObj.__init__r   c                 C   s    |dkr| j S | j|d  d S Nr   r.   )r   r   r   rY   r@   r@   rA   r2     s    zMatchObj.startc                 C   s    |dkr| j S | j|d  d S r   )r   r   r   r@   r@   rA   r6     s    zMatchObj.endc                 C   s0   |dkrd dd | jD S | j|d  d S )Nr   rn   c                 S   s   g | ]}|d  qS )rM   r@   ).0fieldr@   r@   rA   
<listcomp>      z"MatchObj.group.<locals>.<listcomp>r.   rM   )rv   r   r   r@   r@   rA   group  s    zMatchObj.groupc                 C   s   d | j| j| jS )Nz$<MatchObj fields={} start={} end={}>)r   r   r   r   r   r@   r@   rA   r     s    zMatchObj.__repr__N)r   )r   )r   )r   r   r   r   r2   r6   r   r   r@   r@   r@   rA   rS     s
   


rS   )N)N)N)rerk   r   r   compileDOTALLr/   r5   rB   r7   r8   rH   r]   r^   r`   ra   rs   rP   rQ   r   r   r~   r   r   r   rl   r\   r_   rI   r4   rS   r@   r@   r@   rA   <module>   s8   5
*
B&
		$