U
    ShK                     @  s   d dl mZ d dlZddlmZmZ ddlmZ edZ	edZ
d	d
ddddZdddddZd	d
d
dddddZdS )    )annotationsN   )	charStrAt
isStrSpace   )
StateBlockz^:?-+:?$z^\||\|$r   intstr)statelinereturnc                 C  s,   | j | | j|  }| j| }| j|| S )N)bMarkstShifteMarkssrc)r
   r   posmaximum r   P/root/rtd-docs/venv/lib/python3.8/site-packages/markdown_it/rules_block/table.pygetLine   s    
r   z	list[str])stringr   c                 C  s   g }d}t | }d}d}d}t| |}||k r|dkrv|s^||| ||   d}|d }n|| ||d  7 }|}|dk}|d7 }t| |}q&||| |d    |S )Nr   F |r   \)lenr   append)r   resultr   maxZ	isEscapedZlastPoscurrentchr   r   r   escapedSplit   s(    

r    bool)r
   	startLineendLinesilentr   c              	   C  s  d }|d |krdS |d }| j | | jk r0dS | |r>dS | j| | j|  }|| j| krddS | j| }|d7 }|dkrdS || j| krdS | j| }|d7 }|dkrt|sdS |dkrt|rdS || j| k r| j| }	|	dkrt|	sdS |d7 }qt| |d }
|
	d}g }t
t|D ]}||  }|sl|dks.|t|d krfq.n dS t|s~ dS t|t|d dkr|t|ddkrd	nd
 n&t|ddkr|d n
|d q.t| | }
d|
krdS | |rdS t|
}|r2|d dkr2|d |rN|d dkrN|  t|}|dksn|t|krrdS |r|dS | j}d| _| jjjd}| ddd}|dg |_}| ddd}||d g|_| ddd}||d g|_t
t|D ]n}| ddd}|| r&dd||  i|_| ddd}||d g|_||  |_g |_| ddd}q| ddd}| ddd}|d }||k rb| j | | jk rqbd}t
t|D ]$}|| | ||drd} qq|rqbt| | }
|
sqb| |rqbt|
}|r:|d dkr:|d |rV|d dkrV|  ||d kr| ddd}|d dg |_}| ddd}||d g|_t
|D ]}| d d!d}|| rdd||  i|_| ddd}||d g|_z || r
||  nd|_W n tk
r.   d|_Y nX g |_| d"d!d}q| ddd}|d7 }q|r~| d#dd}||d< | d$dd}||d< || _|| _dS )%Nr   Fr   )r   -:r%   r   r   r&   centerrightleftr   TtableZ
blockquoteZ
table_openZ
thead_openZtheadZtr_opentrZth_openthstyleztext-align:inlineZth_closeZtr_closeZthead_closeZ
tbody_openZtbodyZtd_opentdZtd_closeZtbody_closeZtable_close)ZsCountZ	blkIndentZis_code_blockr   r   r   r   r   r   splitranger   stripheaderLineResearchr   r   r    popZ
parentTypemdblockZrulerZgetRulespushmapattrscontentchildren
IndexErrorr   )r
   r"   r#   r$   Z
tbodyLinesZnextLiner   Zfirst_chZ	second_chr   ZlineTextcolumnsZalignsitZcolumnCountZoldParentTypeZterminatorRulestokenZ
tableLines	terminater   r   r   r+   4   s    





 






 r+   )
__future__r   reZcommon.utilsr   r   Zstate_blockr   compiler4   ZenclosingPipesRer   r    r+   r   r   r   r   <module>   s   

