o
    Ù­jô  ã                   @  s8   d Z ddlmZ ddlmZmZ ddd„Zddd„ZdS )z7Balance paired characters (*, _, etc) in inline tokens.é    )Úannotationsé   )Ú	DelimiterÚStateInlineÚstater   Ú
delimitersúlist[Delimiter]ÚreturnÚNonec                 C  s  |sdS i }t |ƒ}d}d}g }d}||k �r	|| }| d¡ || j|jks/||jd kr1|}|j}|jp8d|_|jsB|d7 }q|j|vrNg d¢||j< ||j |jrWdnd|jd   }	|||  d }
|
}|
|	krè||
 }|j|jkr€|
||
 d 8 }
qi|jrÜ|jdk rÜd}|js�|jrª|j|j d dkrª|jd dks¨|jd dkrªd}|sÜ|
dkrÀ||
d  jsÀ||
d  d }nd}||
 | ||< |||
< d|_||_d|_d	}d}n|
||
 d 8 }
|
|	ksm|d	krÿ|||j |jrödnd|jpûdd  < |d7 }||k sdS dS )
zBFor each opening emphasis-like marker find a matching closing one.Nr   éþÿÿÿr   )éÿÿÿÿr   r   r   r   r   é   FTr   )ÚlenÚappendÚmarkerÚtokenÚlengthÚcloseÚopenÚend)r   r   ÚopenersBottomÚmaximumÚ	headerIdxÚlastTokenIdxÚjumpsÚ	closerIdxÚcloserÚminOpenerIdxÚ	openerIdxÚnewMinOpenerIdxÚopenerÚ
isOddMatchÚlastJump© r#   úc/var/www/html/CropPilot/venv/lib/python3.10/site-packages/markdown_it/rules_inline/balance_pairs.pyÚprocessDelimiters   sz   


ÿ
ÿÿÐ2
þÿ™r%   c                 C  sb   | j }t| j ƒ}t| | jƒ d}||k r/|| }|r%d|v r%t| |d ƒ |d7 }||k sd S d S )Nr   r   r   )Útokens_metar   r%   r   )r   r&   r   ÚcurrÚ	curr_metar#   r#   r$   Ú
link_pairs   s   
ür)   N)r   r   r   r   r	   r
   )r   r   r	   r
   )Ú__doc__Ú
__future__r   Ústate_inliner   r   r%   r)   r#   r#   r#   r$   Ú<module>   s
    
w