o
    DDi%                  
   @   s   d dl Z ddlmZ ddlmZ e eZdededefd	d
Z	dededefddZ
dededdfddZdededededef
ddZdS )    N   )
isStrSpace   )
StateBlockstate	startLinereturnc                 C   sx   | j | | j|  }| j| }z| j| }W n
 ty    Y dS w |d7 }|dvr+dS ||k r:| j| }t|s:dS |S )Nr   )*-+)bMarkstShifteMarkssrc
IndexErrorr   )r   r   posmaximummarkerch r   U/var/www/Datamplify/venv/lib/python3.10/site-packages/markdown_it/rules_block/list.pyskipBulletListMarker   s   

r   c                 C   s   | j | | j|  }|}| j| }|d |krdS | j| }|d7 }t|}|dk s.|dkr0dS 	 ||kr7dS | j| }|d7 }t|}|dkrU|dkrU|| dkrTdS q0|dv rZndS ||k rk| j| }t|skdS |S )Nr   r	   0   9   T
   )).)r   r   r   r   ordr   )r   r   startr   r   r   ch_ordr   r   r   skipOrderedListMarker%   s8   



r!   idxc                 C   s   | j d }|d }t| jd }||k r@| j| j |kr6| j| jdkr6d| j|d  _d| j| _|d7 }|d7 }||k sd S d S )Nr   paragraph_openTr   )levellentokenstypehidden)r   r"   r$   ilengthr   r   r   markTightParagraphsX   s   
 r+   endLinesilentc           !      C   s  t d| ||| d}d}| |rdS | jdkr-| j| | j dkr-| j| | jk r-dS |r>| jdkr>| j| | jkr>d}t| |}|dkrgd}| j| | j	|  }t
| j||d  }	|rf|	dkrfdS nt| |}|dkrsd}ndS |r| || j| krdS | j|d  }
|rdS t| j}|r| dd	d}|	dkrd
|	i|_n| ddd}|dg |_}|
|_|}d}| jjjd}| j}d| _||k r>|}| j| }| j| | | j| | j	|    }}||k r| j| }|dkr|d|| j|  d  7 }n|dkr|d7 }nn|d7 }||k s|}||kr!dn|| }|dkr,d}|| }| ddd}|
|_|dg |_}|rN| j||d  |_| j}| j	| }| j| }| j}| j| _|| _d| _|| j|  | j	|< || j|< ||kr| |d rt| jd || _n	| jj| || | jr|rd}| j| dko| | jd }| j| _|| _|| j	|< || j|< || _| ddd}|
|_| j }}||d< ||krna| j| }| j| | jk rnR| |rnKd}|D ]} | | ||drd} nq|rn3|r$t| |}|dk rn%| j| | j	|  }nt| |}|dk r/n|
| j|d  kr:n||k s|rI| dd	d}n| ddd}|
|_||d< || _|| _|ret | | dS )Nzentering list: %s, %s, %s, %sFTr      	paragraphr   ordered_list_openolr   bullet_list_openullist	 list_item_openlir   list_item_closer	   ordered_list_closebullet_list_close)!LOGGERdebugis_code_block
listIndentsCount	blkIndent
parentTyper!   r   r   intr   r   
skipSpacesr   r%   r&   pushattrsmapmarkupmdblockrulergetRulesbsCountinfotightisEmptyminlinetokenizer+   )!r   r   r,   r-   isTerminatingParagraphrO   posAfterMarker	isOrderedr   markerValue
markerChar
listTokIdxtoken	listLinesnextLineprevEmptyEndterminatorRulesoldParentTyper   r   initialoffsetr   contentStartindentAfterMarkerindent	itemLinesoldTight	oldTShift	oldSCountoldListIndent	terminateterminatorRuler   r   r   
list_blocke   s  

	
















 








  
rl   )loggingcommon.utilsr   state_blockr   	getLogger__name__r<   rC   r   r!   r+   boolrl   r   r   r   r   <module>   s   
3"