
    giS                    X    d dl mZ d dlZd dlmZ d dlmZ d dlmZ  G d d          Z	dS )    )annotationsN)render_dispatch)HTMLRenderer)MarkdownRendererc                  v   e Zd Z ej        dej                  Z ej        dej                  Z ee	          d             Z
e
                    e          d             Z
 ee	          d             Ze                    e          d             Z ee	          d             Z ee	          d	             Z ee	          d
             Ze                    e          d             Z ee	          d             Ze                    e          d             Z ee	          d             Ze                    e          d             Z ee	          d             Ze                    e          d             Z ee	          d             Ze                    e          d             ZdS )GFMRendererMixinzD<(title|textarea|style|xmp|iframe|noembed|noframes|script|plaintext))flagszN(?<!^)( *)<(title|textarea|style|xmp|iframe|noembed|noframes|script|plaintext)c                    |                      |          }d}t          |d          r|                    |j        rdnd|          }|j        r|S d| dS )Nz'<input{} disabled="" type="checkbox">{}checkedz checked="" z<p></p>
)render_childrenhasattrformatr   _tight)selfelementchildrentemplates       n/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/marko/ext/gfm/renderer.pyrender_paragraphz!GFMRendererMixin.render_paragraph   sq    ''00<7I&& 	!(8b( H > 	*O)))))    c                    |                      |          }t          |d          rd|j        rdnd d| }| j        |z   dz   }| j        | _        |S )Nr   [x ]
)r   r   r   _prefix_second_prefix)r   r   paralines       r   r   z!GFMRendererMixin.render_paragraph"   sh    ##G,,7I&& 	@?go6ss3????D|d"T)*r   c                4    d|                      |           dS )Nz<del>z</del>r   r   r   s     r   render_strikethroughz%GFMRendererMixin.render_strikethrough+   s!    <t++G44<<<<r   c                4    d|                      |           dS )Nz~~r$   r%   s     r   r&   z%GFMRendererMixin.render_strikethrough/   s!    5D((115555r   c                B    | j                             d|j                  S )Nz&lt;\1)	tagfiltersubr   r%   s     r   render_inline_htmlz#GFMRendererMixin.render_inline_html3   s    ~!!)W-=>>>r   c                B    | j                             d|j                  S )Nz\1&lt;\2)tagfilter_no_openr*   bodyr%   s     r   render_html_blockz"GFMRendererMixin.render_html_block7   s    %))+w|DDDr   c                     |j         ^}}d                     |           d}d}|r4d                    d                     fd|D                                 }d| | dS )Nz<thead>
z</thead>r   z
<tbody>
{}</tbody>c              3  B   K   | ]}                     |          V  d S Nrender).0rowr   s     r   	<genexpr>z0GFMRendererMixin.render_table.<locals>.<genexpr>B   s/      99SC((999999r   z<table>
z</table>)r   r4   r   join)r   r   headr.   theadertbodys   `     r   render_tablezGFMRendererMixin.render_table;   s    &t9dkk$//999 	+229999D99999 E 473E3333r   c                N   g }|j         ^}}|                    |                     |                     |                    dd                    |j                   d           |D ]*}|                    |                     |                     +d                    |          S )N|  |  |
r   )r   appendr4   r8   
delimiters)r   r   linesr9   r.   r6   s         r   r<   zGFMRendererMixin.render_tableF   s    &tT[[&&'''>%**W%788>>>??? 	+ 	+CLLS))****wwu~~r   c                4    d|                      |           dS )Nz<tr>
z</tr>
r$   r%   s     r   render_table_rowz!GFMRendererMixin.render_table_rowP   s!    >,,W55>>>>r   c                X     dd                      fd|j        D                        dS )Nr>   r?   c              3  B   K   | ]}                     |          V  d S r2   r3   )r5   cellr   s     r   r7   z4GFMRendererMixin.render_table_row.<locals>.<genexpr>V   s/      NNTt{{400NNNNNNr   r@   )r8   r   r%   s   ` r   rE   z!GFMRendererMixin.render_table_rowT   s8    TEJJNNNNW=MNNNNNTTTTr   c                    |j         rdnd}d}|j        rd|j         d}d                    ||                     |          |          S )Nthtdr   z align=""z!<{tag}{align}>{children}</{tag}>
)tagr   align)headerrN   r   r   )r   r   rM   rN   s       r   render_table_cellz"GFMRendererMixin.render_table_cellX   se    n.dd$= 	0/w}///E3::d227;;5 ; 
 
 	
r   c                T    |                      |                              dd          S )N|z\|)r   replacer%   s     r   rP   z"GFMRendererMixin.render_table_cellb   s&    ##G,,44S%@@@r   c                ,    |                      |          S r2   )render_linkr%   s     r   
render_urlzGFMRendererMixin.render_urlf   s    (((r   c                    |j         S r2   )destr%   s     r   rV   zGFMRendererMixin.render_urlj   s
    |r   c                    |                      |j                  }|                     |          }d|j                                         d|                                 d| dS )Nz<blockquote class="alert alert-z">
<p>r   z</blockquote>
)escape_html
alert_typer   lowertitle)r   r   rO   r   s       r   render_alertzGFMRendererMixin.render_alertn   s    !!'"455''00Bg.@.F.F.H.H B B,,..B B(0B B B	
r   c                V   g }|                     | j        d|j         dz              |                     dd          5  |j        D ]*}|                     |                     |                     +	 d d d            n# 1 swxY w Y   | j        | _        d                    |          S )Nz> [!z]
z> r   )rA   r   r[   	containerr   r4   r    r8   )r   r   rC   childs       r   r^   zGFMRendererMixin.render_alertw   s    T\$B7+=$B$B$BBCCC^^D$'' 	1 	1 ) 1 1T[[//00001	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 *wwu~~s   3A??BBN)__name__
__module____qualname__recompileIr)   r-   r   r   r   dispatchr   r&   r+   r/   r<   rE   rP   rV   r^    r   r   r   r      s       
Od  I #
Yd  
 _\""
* 
* #"
* /00  10 _\""= = #"= ""#3446 6 546 _\""? ? #"? _\""E E #"E _\""4 4 #"4 +,,  -, _\""? ? #"? /00U U 10U _\""
 
 #"
  011A A 21A _\"") ) #") )**  +* _\""
 
 #"
 +,,  -,  r   r   )

__future__r   re   marko.helpersr   marko.html_rendererr   marko.md_rendererr   r   ri   r   r   <module>rn      s    " " " " " " 				 ) ) ) ) ) ) , , , , , , . . . . . .t t t t t t t t t tr   