
    c                         d dl Z d dlmZ d dlmZmZ d dlmZ defdZdede	d	e	d
e
fdZdede	d	e	d
e
fdZdede	d	e	d
e
fdZd Zd ZdS )    N)
MarkdownIt)
escapeHtmlisSpace)
StateBlockmdc                 t   | j         j                            ddt          dg di           | j         j                            ddt          dg di           | j         j                            ddt
          dg di           |                     dt                     |                     dt                     dS )	zYParse MyST targets (``(name)=``), blockquotes (``% comment``) and block breaks (``+++``).
blockquotemyst_line_commentalt)	paragraph	referencer	   listfootnote_defhrmyst_block_breakmyst_targetN)	blockrulerbeforeline_commentblock_breaktargetadd_render_rulerender_myst_targetrender_myst_line_comment)r   s    Alib/python3.11/site-packages/mdit_py_plugins/myst_blocks/index.pymyst_block_pluginr      s    HN	PPPQ	   HN	PPPQ	   HN	PPPQ	   }&8999*,DEEEEE    state	startLineendLinesilentc                    | j         |         | j        |         z   }| j        |         }| j        |         | j        z
  dk    rdS | j        |         dk    rdS |rdS |                     ddd          }|                    dd	           | j        |d
z   |                                         |_	        d|_
        t          j        |d
z             D ]z}||k    r nq| j         |         | j        |         z   }| j        |         }| j        |         dk    r n6|xj	        d| j        |d
z   |                                         z   z  c_	        {|| _        ||g|_        dS )N   F%Tr
    r   classzmyst-line-comment   
)bMarkstShifteMarkssCount	blkIndentsrcpushattrSetrstripcontentmarkup	itertoolscountlinemap)r   r    r!   r"   posmaximumtokennextLines           r   r   r       s|   
,y
!EL$;
;Cl9%G |I0A5 uy~ u tJJ*B22E	MM'.///IcAg/07799EMEL OIM22 F Fw 	El8$u|H'==,x(9S>S  	E	#'G*; < C C E EEEEJH%EI4r   c                 ^   | j         |         | j        |         z   }| j        |         }| j        |         | j        z
  dk    rdS | j        |         }|dz  }|dk    rdS d}||k     r9| j        |         }||k    rt          |          sn||k    r|dz  }|dz  }||k     9|dk     rdS |rdS |dz   | _        |                     ddd	          }	|		                    d
d           | j
        ||                                         |	_        || j        g|	_        t          |          |z  |	_        dS )Nr$   Fr(   +      Tr   r   r   r'   z
myst-block)r*   r+   r,   r-   r.   srcCharCoder   r7   r0   r1   r/   stripr3   r8   chrr4   )
r   r    r!   r"   r9   r:   markercntchr;   s
             r   r   r   E   sq   
,y
!EL$;
;Cl9%G |I0A5 us#F1HC ~ u C
- s#< 	 	< 	1HCq -  Qw u tQEJJJ)433E	MM'<(((Ic'k*0022EMEJ'EIv;;$EL4r   c                    | j         |         | j        |         z   }| j        |         }| j        |         | j        z
  dk    rdS | j        ||                                         }|                    d          sdS |                    d          sdS |dd         sdS |rdS |dz   | _	        | 
                    dd	d
          }|                    dd           |dd         |_        || j	        g|_        dS )Nr$   F(z)=r(   Tr   r&   r   r'   myst-target)r*   r+   r,   r-   r.   r/   rA   
startswithendswithr7   r0   r1   r3   r8   )r   r    r!   r"   r9   r:   textr;   s           r   r   r   q   s   
,y
!EL$;
;Cl9%G |I0A5 u9S[!''))D??3 u== u": u tQEJJJ}b!,,E	MM'=)))2JEMEJ'EI4r   c                 D    ||         j         }d}d| d| d}d| d| dS )NrI   z
<a href="#z">(z)=</a>z<div class="z">z</div>)r3   )selftokensidxoptionsenvlabel
class_namer   s           r   r   r      sD    3KEJ1%11E111F6*666666r   c                     d                     d ||         j                            d          D                       }dt          |           dS )Nr)   c              3   >   K   | ]}|                                 V  d S )N)lstrip).0r7   s     r   	<genexpr>z+render_myst_line_comment.<locals>.<genexpr>   s*      RR$RRRRRRr   z<!-- z -->)joinr3   splitr   )rN   rO   rP   rQ   rR   r3   s         r   r   r      sP    iiRR&+2E2K2KD2Q2QRRRRRG,:g&&,,,,r   )r5   markdown_itr   markdown_it.common.utilsr   r   markdown_it.rules_blockr   r   intboolr   r   r   r   r    r   r   <module>rb      s'       " " " " " " 8 8 8 8 8 8 8 8 . . . . . .F* F F F F0"
 "s "S "$ " " " "J)z )c )C ) ) ) ) )X*  s D    <7 7 7- - - - -r   