o
    viAf                     @  s  d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZ d dlmZ dd	lmZ dd
lmZ ddlmZ ddlmZmZmZmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z#m$Z$ ddl%m&Z& ddl'm(Z(m)Z) G dd dZ*G dd de*Z+G dd de*Z,G dd de,Z-eG dd dZ.G dd de,Z/G d d! d!e,Z0G d"d# d#e,Z1G d$d% d%e*Z2G d&d' d'e*Z3G d(d) d)e*Z4G d*d+ d+e*Z5G d,d- d-e*Z6G d.d/ d/e*Z7G d0d1 d1e*Z8G d2d3 d3e,Z9G d4d5 d5e,Z:G d6d7 d7e,Z;G d8d9 d9Z<G d:d; d;eZ=e>d<krd dl?Z?d dlZe?j@d=d>ZAeAjBd?d@dAdB eAjBdCdDdEdFddGdH eAjBdIdJdKdLdMdN eAjBdOdPdQddQdN eAjBdRdSdTdFdUdV eAjBdWdXeCdYddZd[ eAjBd\d]d^dFd_dV eAjBd`dadbdFdcdV eAD ZEd ddlFmZ eEjGdekrejHI ZJneKeEjGdfdgZLeLI ZJW d   n	1 sw   Y  e=eJeEjMrdhndieEjNeEjOeEjPdjZQeEjRrd dlSZSd dlTZTeSU ZVeeVeEjWeEjXdkZeYeQ eTZeV[  dS eeEjWeEjXdldmZeYeQ dS dS )n    )annotationsN)	dataclass)ClassVarIterableget_args)
MarkdownIt)Token)Table   )box)
loop_first)Stack)ConsoleConsoleOptionsJustifyMethodRenderResult)Renderables)JupyterMixin)Rule)Segment)Style
StyleStack)Syntax)TextTextTypec                   @  sZ   e Zd ZU dZded< ed"d	d
Zd#ddZd$ddZd#ddZ	d%ddZ
d&dd Zd!S )'MarkdownElementTzClassVar[bool]new_linemarkdownMarkdowntokenr   returnc                 C  s   |  S )zFactory to create markdown element,

        Args:
            markdown (Markdown): The parent Markdown object.
            token (Token): A node from markdown-it.

        Returns:
            MarkdownElement: A new markdown element
         clsr   r   r!   r!   L/home/air/biblejyuku/back/venv/lib/python3.10/site-packages/rich/markdown.pycreate   s   zMarkdownElement.createcontextMarkdownContextNonec                 C     dS )zuCalled when the node is entered.

        Args:
            context (MarkdownContext): The markdown context.
        Nr!   selfr&   r!   r!   r$   on_enter)       zMarkdownElement.on_entertextr   c                 C  r)   )zpCalled when text is parsed.

        Args:
            context (MarkdownContext): The markdown context.
        Nr!   r+   r&   r.   r!   r!   r$   on_text0   r-   zMarkdownElement.on_textc                 C  r)   )zwCalled when the parser leaves the element.

        Args:
            context (MarkdownContext): [description]
        Nr!   r*   r!   r!   r$   on_leave7   r-   zMarkdownElement.on_leavechildboolc                 C  r)   )a|  Called when a child element is closed.

        This method allows a parent element to take over rendering of its children.

        Args:
            context (MarkdownContext): The markdown context.
            child (MarkdownElement): The child markdown element.

        Returns:
            bool: Return True to render the element, or False to not render the element.
        Tr!   r+   r&   r2   r!   r!   r$   on_child_close>   s   zMarkdownElement.on_child_closeconsoler   optionsr   r   c                 C  r)   )Nr!   r!   r+   r6   r7   r!   r!   r$   __rich_console__L   s   z MarkdownElement.__rich_console__Nr   r   r   r   r    r   r&   r'   r    r(   r&   r'   r.   r   r    r(   r&   r'   r2   r   r    r3   r6   r   r7   r   r    r   )__name__
__module____qualname__r   __annotations__classmethodr%   r,   r0   r1   r5   r9   r!   r!   r!   r$   r      s   
 



r   c                   @  s   e Zd ZdZdS )UnknownElementzAn unknown element.

    Hopefully there will be no unknown elements, and we will have a MarkdownElement for
    everything in the document.

    N)r?   r@   rA   __doc__r!   r!   r!   r$   rD   R   s    rD   c                   @  s2   e Zd ZdZdZdddZdddZdddZdS )TextElementz)Base class for elements that render text.noner&   r'   r    r(   c                 C  s   | | j| _tdd| _d S Nleftjustify)enter_style
style_namestyler   r.   r*   r!   r!   r$   r,   `   s   zTextElement.on_enterr.   r   c                 C  s(   | j |t|tr|j d S d  d S N)r.   append
isinstancestrcurrent_styler/   r!   r!   r$   r0   d   s   (zTextElement.on_textc                 C  s   |   d S rO   )leave_styler*   r!   r!   r$   r1   g      zTextElement.on_leaveNr;   r<   )r?   r@   rA   rE   rM   r,   r0   r1   r!   r!   r!   r$   rF   [   s    

rF   c                   @  s@   e Zd ZU dZdZded< edd
dZdddZdddZ	dS )	ParagraphzA Paragraph.zmarkdown.paragraphr   rK   r   r   r   r   r    c                 C  s   | |j pddS rH   rJ   r"   r!   r!   r$   r%   q   s   zParagraph.creater(   c                 C  s
   || _ d S rO   rJ   r+   rK   r!   r!   r$   __init__u      
zParagraph.__init__r6   r   r7   r   r   c                 c  s    | j | j_ | jV  d S rO   )rK   r.   r8   r!   r!   r$   r9   x   s   
zParagraph.__rich_console__N)r   r   r   r   r    rV   rK   r   r    r(   r>   )
r?   r@   rA   rE   rM   rB   rC   r%   rX   r9   r!   r!   r!   r$   rV   k   s   
 
rV   c                   @  s&   e Zd ZU dZded< dZded< dS )HeadingFormatrI   r   rK    rR   rN   N)r?   r@   rA   rK   rB   rN   r!   r!   r!   r$   r[      s   
 r[   c                      s`   e Zd ZU dZdddddddZded< edddZdddZd  fddZ	d!ddZ
  ZS )"Headingz
A heading.centerrI   )h1h2h3h4h5h6z"ClassVar[dict[str, JustifyMethod]]LEVEL_ALIGNr   r   r   r   r    c                 C  s
   | |j S rO   )tagr"   r!   r!   r$   r%      s   
zHeading.creater&   r'   r(   c                 C  s   t  | _|| j d S rO   )r   r.   rL   rM   r*   r!   r!   r$   r,      s   zHeading.on_enterrf   rR   c                   s    || _ d| | _t   d S )N	markdown.)rf   rM   superrX   )r+   rf   	__class__r!   r$   rX      s   zHeading.__init__r6   r   r7   r   r   c                 c  s,    | j  }| j| jd}||_|V  d S )NrI   )r.   copyre   getrf   rK   )r+   r6   r7   r.   heading_justifyr!   r!   r$   r9      s
   

zHeading.__rich_console__)r   r   r   r   r    r]   r;   )rf   rR   r    r(   r>   )r?   r@   rA   rE   re   rB   rC   r%   r,   rX   r9   __classcell__r!   r!   ri   r$   r]      s   
 	
r]   c                   @  s6   e Zd ZdZdZeddd	ZdddZdddZdS )	CodeBlockz&A code block with syntax highlighting.zmarkdown.code_blockr   r   r   r   r    c                 C  s(   |j pd}|dd }| |pd|jS )Nr\    r   r.   )info	partition
code_theme)r#   r   r   	node_info
lexer_namer!   r!   r$   r%      s   
zCodeBlock.createru   rR   themer(   c                 C  s   || _ || _d S rO   )ru   rv   )r+   ru   rv   r!   r!   r$   rX         
zCodeBlock.__init__r6   r   r7   r   r   c                 c  s0    t | j }t|| j| jddd}|V  d S )NTr
   )rv   	word_wrappadding)rR   r.   rstripr   ru   rv   )r+   r6   r7   codesyntaxr!   r!   r$   r9      s   
zCodeBlock.__rich_console__N)r   r   r   r   r    ro   )ru   rR   rv   rR   r    r(   r>   )	r?   r@   rA   rE   rM   rC   r%   rX   r9   r!   r!   r!   r$   ro      s    
ro   c                   @  s2   e Zd ZdZdZdddZdddZdddZdS )
BlockQuotezA block quote.zmarkdown.block_quoter    r(   c                 C     t  | _d S rO   r   elementsr+   r!   r!   r$   rX      rU   zBlockQuote.__init__r&   r'   r2   r   r3   c                 C     | j | dS NFr   rP   r4   r!   r!   r$   r5         zBlockQuote.on_child_closer6   r   r7   r   r   c           	      c  sd    |j |jd d}|j| j|| jd}| j}td}td|}|D ]}|V  |E d H  |V  q"d S )N   widthrN   
u   ▌ )update	max_widthrender_linesr   rN   r   )	r+   r6   r7   render_optionslinesrN   r   ry   liner!   r!   r$   r9      s   

zBlockQuote.__rich_console__Nr    r(   r=   r>   )r?   r@   rA   rE   rM   rX   r5   r9   r!   r!   r!   r$   r}      s    

r}   c                   @  s   e Zd ZdZdZdd	d
ZdS )HorizontalRulez%A horizontal rule to divide sections.Fr6   r   r7   r   r    r   c                 c  s*    |j ddd}t|ddV  t V  d S )Nzmarkdown.hrrG   default-)rN   
characters)	get_styler   r   )r+   r6   r7   rN   r!   r!   r$   r9      s   zHorizontalRule.__rich_console__Nr>   )r?   r@   rA   rE   r   r9   r!   r!   r!   r$   r      s    r   c                   @  s.   e Zd ZdZdddZdddZdddZdS )TableElementz.MarkdownElement corresponding to `table_open`.r    r(   c                 C  s   d | _ d | _d S rO   )headerbodyr   r!   r!   r$   rX      rw   zTableElement.__init__r&   r'   r2   r   r3   c                 C  s0   t |tr
|| _dS t |tr|| _dS td)Nz Couldn't process markdown table.F)rQ   TableHeaderElementr   TableBodyElementr   RuntimeErrorr4   r!   r!   r$   r5      s   

zTableElement.on_child_closer6   r   r7   r   r   c                 c  s    t tjddddd}| jd ur-| jjd ur-| jjjD ]}|j }|d |	| q| j
d urF| j
jD ]}dd |jD }|j|  q6|V  d S )NFzmarkdown.table.borderT)r   pad_edgerN   	show_edgecollapse_paddingzmarkdown.table.headerc                 S  s   g | ]}|j qS r!   )content).0elementr!   r!   r$   
<listcomp>
  s    z1TableElement.__rich_console__.<locals>.<listcomp>)r	   r   SIMPLEr   rowcellsr   rk   stylize
add_columnr   rowsadd_row)r+   r6   r7   tablecolumnheadingr   row_contentr!   r!   r$   r9      s$   



zTableElement.__rich_console__Nr   r=   r>   )r?   r@   rA   rE   rX   r5   r9   r!   r!   r!   r$   r      s
    

	r   c                   @  $   e Zd ZdZdddZdddZdS )r   z@MarkdownElement corresponding to `thead_open` and `thead_close`.r    r(   c                 C  s
   d | _ d S rO   )r   r   r!   r!   r$   rX     rY   zTableHeaderElement.__init__r&   r'   r2   r   r3   c                 C  s   t |tsJ || _dS r   )rQ   TableRowElementr   r4   r!   r!   r$   r5     s   z!TableHeaderElement.on_child_closeNr   r=   r?   r@   rA   rE   rX   r5   r!   r!   r!   r$   r         
r   c                   @  r   )r   z@MarkdownElement corresponding to `tbody_open` and `tbody_close`.r    r(   c                 C  
   g | _ d S rO   )r   r   r!   r!   r$   rX     rY   zTableBodyElement.__init__r&   r'   r2   r   r3   c                 C     t |tsJ | j| dS r   )rQ   r   r   rP   r4   r!   r!   r$   r5   "     zTableBodyElement.on_child_closeNr   r=   r   r!   r!   r!   r$   r     r   r   c                   @  r   )r   z:MarkdownElement corresponding to `tr_open` and `tr_close`.r    r(   c                 C  r   rO   )r   r   r!   r!   r$   rX   +  rY   zTableRowElement.__init__r&   r'   r2   r   r3   c                 C  r   r   )rQ   TableDataElementr   rP   r4   r!   r!   r$   r5   .  r   zTableRowElement.on_child_closeNr   r=   r   r!   r!   r!   r$   r   (  r   r   c                   @  s2   e Zd ZdZeddd	ZdddZdddZdS )r   z[MarkdownElement corresponding to `td_open` and `td_close`
    and `th_open` and `th_close`.r   r   r   r   r    r   c                 C  s\   t |jdp	d}d|v rd}nd|v rd}n	d|v rd}nd	}|ttv s)J | |d
S )NrN   r\   ztext-align:rightrightztext-align:centerr^   ztext-align:leftrI   r   rJ   )rR   attrsrl   r   r   )r#   r   r   rN   rK   r!   r!   r$   r%   8  s   
zTableDataElement.createrK   r   r(   c                 C  s   t d|d| _|| _d S )Nr\   rJ   )r   r   rK   rW   r!   r!   r$   rX   I  s   
zTableDataElement.__init__r&   r'   r.   r   c                 C  s2   t |tr	t|n|}||j | j| d S rO   )rQ   rR   r   r   rS   r   append_textr/   r!   r!   r$   r0   M  s   zTableDataElement.on_textNr:   rZ   r<   )r?   r@   rA   rE   rC   r%   rX   r0   r!   r!   r!   r$   r   4  s    
r   c                   @  s<   e Zd ZdZedddZd ddZd!ddZd"ddZdS )#ListElementzA list element.r   r   r   r   r    c                 C  s   | |j t|jddS )Nstartr
   )typeintr   rl   r"   r!   r!   r$   r%   V  s   zListElement.create	list_typerR   
list_start
int | Noner(   c                 C  s   g | _ || _|| _d S rO   )itemsr   r   )r+   r   r   r!   r!   r$   rX   Z  s   
zListElement.__init__r&   r'   r2   r   r3   c                 C  r   r   )rQ   ListItemr   rP   r4   r!   r!   r$   r5   _  r   zListElement.on_child_closer6   r   r7   r   r   c                 c  s    | j dkr| jD ]}|||E d H  q	d S | jd u rdn| j}|t| j }t| jD ]\}}||||| |E d H  q-d S )Nbullet_list_openr
   )r   r   render_bulletr   len	enumeraterender_number)r+   r6   r7   itemnumberlast_numberindexr!   r!   r$   r9   d  s   

zListElement.__rich_console__N)r   r   r   r   r    r   )r   rR   r   r   r    r(   r=   r>   )	r?   r@   rA   rE   rC   r%   rX   r5   r9   r!   r!   r!   r$   r   S  s    

r   c                   @  s<   e Zd ZdZdZdddZdddZdddZdddZdS )r   zAn item in a list.zmarkdown.itemr    r(   c                 C  r~   rO   r   r   r!   r!   r$   rX   x  rU   zListItem.__init__r&   r'   r2   r   r3   c                 C  r   r   r   r4   r!   r!   r$   r5   {  r   zListItem.on_child_closer6   r   r7   r   r   c                 c  s    |j |jd d}|j| j|| jd}|jddd}td|}td|}td	}t|D ]\}	}
|	r5|n|V  |
E d H  |V  q-d S )
N   r   r   zmarkdown.item.bulletrG   r   u    • z   r   )r   r   r   r   rN   r   r   r   )r+   r6   r7   r   r   bullet_stylebulletry   r   firstr   r!   r!   r$   r     s   


zListItem.render_bulletr   r   r   c                 c  s    t t|d }|j|j| d}|j| j|| jd}|jddd}td}	td| |}
t| 	|d	 d |}t
|D ]\}}|rG|n|
V  |E d H  |	V  q?d S )
N   r   r   zmarkdown.item.numberrG   r   r   rp   r
   )r   rR   r   r   r   r   rN   r   r   rjustr   )r+   r6   r7   r   r   number_widthr   r   number_styler   ry   numeralr   r   r!   r!   r$   r     s   
zListItem.render_numberNr   r=   r>   )
r6   r   r7   r   r   r   r   r   r    r   )	r?   r@   rA   rE   rM   rX   r5   r   r   r!   r!   r!   r$   r   s  s    


r   c                   @  s$   e Zd ZedddZdddZdS )Linkr   r   r   r   r    r   c                 C  s   |j dd}| |jt|S )Nhref#)r   rl   r   rR   )r#   r   r   urlr!   r!   r$   r%     s   zLink.creater.   rR   r   c                 C  s   t || _|| _d S rO   )r   r.   r   )r+   r.   r   r!   r!   r$   rX     s   

zLink.__init__Nr:   )r.   rR   r   rR   )r?   r@   rA   rC   r%   rX   r!   r!   r!   r$   r     s    r   c                      sL   e Zd ZdZdZedd	d
Zd fddZd fddZd ddZ	  Z
S )!	ImageItemz#Renders a placeholder for an image.Fr   r   r   r   r    r   c                 C  s   | t |jdd|jS )zFactory to create markdown element,

        Args:
            markdown (Markdown): The parent Markdown object.
            token (Any): A token from markdown-it.

        Returns:
            MarkdownElement: A new markdown element
        srcr\   )rR   r   rl   
hyperlinksr"   r!   r!   r$   r%     s   zImageItem.createdestinationrR   r   r3   r(   c                   s    || _ || _d | _t   d S rO   )r   r   linkrh   rX   )r+   r   r   ri   r!   r$   rX     s   zImageItem.__init__r&   r'   c                   s&   |j j| _tdd| _t | d S rH   )rS   r   r   r.   rh   r,   r*   ri   r!   r$   r,     s   
zImageItem.on_enterr6   r   r7   r   r   c                 c  sf    t | jp	| jp	d d}| jpt| jdddd }| jr%|| tj	d|ddd}|V  d S )	Nr   /r
   u   🌆 rp   r\   )end)
r   r   r   r.   r   striprsplitr   r   assemble)r+   r6   r7   
link_styletitler.   r!   r!   r$   r9     s   "

zImageItem.__rich_console__r:   )r   rR   r   r3   r    r(   r;   r>   )r?   r@   rA   rE   r   rC   r%   rX   r,   r9   rn   r!   r!   ri   r$   r     s    r   c                   @  sL   e Zd ZdZ		ddddZed ddZd!ddZd"ddZd ddZ	dS )#r'   z!Manages the console render state.Nmonokair6   r   r7   r   rN   r   inline_code_lexer
str | Noneinline_code_themerR   r    r(   c                 C  sD   || _ || _t|| _t | _d | _|d ur td||d| _d S d S )Nr\   )rv   )r6   r7   r   style_stackr   stack_syntaxr   )r+   r6   r7   rN   r   r   r!   r!   r$   rX     s   
zMarkdownContext.__init__c                 C  s   | j jS )z>Current style which is the product of all styles on the stack.)r   currentr   r!   r!   r$   rS     s   zMarkdownContext.current_styler.   	node_typec                 C  s\   |dv r$| j dur$| j |}|  | jj| tj|| jj	d dS | jj| | dS )z#Called when the parser visits text.>   fencecode_inlineNr   )
r   	highlightrz   r   topr0   r   r   r   r   )r+   r.   r   highlight_textr!   r!   r$   r0     s   zMarkdownContext.on_textrM   str | Stylec                 C  s"   | j j|dd}| j| | jS )zEnter a style context.rG   r   )r6   r   r   pushrS   )r+   rM   rN   r!   r!   r$   rL     s   zMarkdownContext.enter_stylec                 C  s   | j  }|S )zLeave a style context.)r   pop)r+   rN   r!   r!   r$   rT     s   
zMarkdownContext.leave_style)Nr   )r6   r   r7   r   rN   r   r   r   r   rR   r    r(   )r    r   )r.   rR   r   rR   r    r(   )rM   r   r    r   )
r?   r@   rA   rE   rX   propertyrS   r0   rL   rT   r!   r!   r!   r$   r'     s    

r'   c                   @  s   e Zd ZU dZi dedededededede	d	e	d
e
dededededededeZded< h dZ						d4d5d'd(Zd6d+d,Zd7d2d3ZdS )8r   a  A Markdown renderable.

    Args:
        markup (str): A string containing markdown.
        code_theme (str, optional): Pygments theme for code blocks. Defaults to "monokai". See https://pygments.org/styles/ for code themes.
        justify (JustifyMethod, optional): Justify value for paragraphs. Defaults to None.
        style (Union[str, Style], optional): Optional style to apply to markdown.
        hyperlinks (bool, optional): Enable hyperlinks. Defaults to ``True``.
        inline_code_lexer: (str, optional): Lexer to use if inline code highlighting is
            enabled. Defaults to None.
        inline_code_theme: (Optional[str], optional): Pygments theme for inline code
            highlighting, or None for no highlighting. Defaults to None.
    paragraph_openheading_openr   
code_blockblockquote_openhrr   ordered_list_openlist_item_openimage
table_open
tbody_open
thead_opentr_opentd_openth_openz*ClassVar[dict[str, type[MarkdownElement]]]r   >   semr{   strongr   NrG   TmarkuprR   rs   rK   JustifyMethod | NonerN   r   r   r3   r   r   r   r    r(   c           	      C  sP   t  dd}|| _||| _|| _|| _|| _|| _|| _	|p$|| _
d S )Nstrikethroughr   )r   enabler  parseparsedrs   rK   rN   r   r   r   )	r+   r  rs   rK   rN   r   r   r   parserr!   r!   r$   rX   $  s   
zMarkdown.__init__tokensIterable[Token]c                 c  sL    |D ] }|j dk}|jdk}|jr |s |s | |jE dH  q|V  qdS )zFlattens the token stream.r   imgN)r   rf   children_flatten_tokens)r+   r  r   is_fenceis_imager!   r!   r$   r  8  s   

zMarkdown._flatten_tokensr6   r   r7   r   r   c                 c  s   |j | jdd}|jdd}t|||| j| jd}| j}| j}d}t	 }| 
|D ]}	|	j}
|	j}|	jdk}|	jdk}|	jd	k}|
d
krO||	j|
 q+|
dkrZ|d|
 q+|
dkre|d|
 q+|
dkrt|	jdd}| jr|j ddd}|t|d7 }|| q+|jt| |	 q+|
dkr| jr|  q+|j }t|tsJ |j ddd}|| ||jj|
 |  |d|
 |j ddd}|| ||j|
 |  |d|
 q+||v r#|
dkr#|
dkr#|r|d|  q+|r|  q+|d|  |	jr||	j|
 |  q+| j |	jp,t!}|| |	}|s9|rD|j| |"| |rq|j }|j p\|jo\|jj#$||}|rp|rf|V  |%||j&E dH  n?|r|j  |	j}|dur||| |j p|jo|jj#$||}|r|r|
dkr|V  |%||j&E dH  |s|r|'| |j(}q+dS )zRender markdown to the console.rG   r   N)height)r   r   Fr
   r   r   r.   	hardbreakr   	softbreakrp   	link_openr   r\   zmarkdown.link_urlr   
link_closezmarkdown.linkz ()r   r   rg   inline))r   rN   r   r'   r   r   r  inlinesr   r   r  r   rf   nestingr0   r   rR   r   rl   r   r   rL   r   r   r   r%   rT   r   rQ   r.   plainr   r   rD   r,   r   r5   renderr7   r1   r   )r+   r6   r7   rN   r&   r  inline_style_tagsr   _new_line_segmentr   r   rf   enteringexitingself_closingr   r   r   link_url_styleelement_classshould_renderr.   r!   r!   r$   r9   B  s   


















zMarkdown.__rich_console__)r   NrG   TNN)r  rR   rs   rR   rK   r  rN   r   r   r3   r   r   r   r   r    r(   )r  r  r    r  r>   )r?   r@   rA   rE   rV   r]   ro   r}   r   r   r   r   r   r   r   r   r   r   rB   r   rX   r  r9   r!   r!   r!   r$   r      sZ   
 	


r   __main__z(Render Markdown to the console with Rich)descriptionpathPATHz%path to markdown file, or - for stdin)metavarhelpz-cz--force-colorforce_color
store_truezforce color for non-terminals)destactionr   r1  z-tz--code-themers   r   zpygments code theme)r4  r   r1  z-iz--inline-code-lexerr   z-yz--hyperlinksr   zenable hyperlinks)r4  r5  r1  z-wz--widthr   z*width of output (default will auto-detect))r   r4  r   r1  z-jz	--justifyrK   zenable full text justifyz-pz--pagepagezuse pager to scroll output)r   r   zutf-8)encodingfullrI   )rK   rs   r   r   )fileforce_terminalr   T)r:  r   record)\
__future__r   sysdataclassesr   typingr   r   r   markdown_itr   markdown_it.tokenr   
rich.tabler	   r\   r   _loopr   _stackr   r6   r   r   r   r   
containersr   jupyterr   ruler   segmentr   rN   r   r   r|   r   r.   r   r   r   rD   rF   rV   r[   r]   ro   r}   r   r   r   r   r   r   r   r   r   r   r'   r   r?   argparseArgumentParserr  add_argumentr   
parse_argsargsrich.consoler.  stdinreadmarkdown_bodyopenmarkdown_filerK   rs   r   r   r   r6  iopydocStringIOfileior2  r   printpagergetvaluer!   r!   r!   r$   <module>   s   9	") *(0 
;



