HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/rich/__pycache__/markdown.cpython-310.pyc
o

;j�g�@s�ddlmZddlZddlmZddlmZmZmZddl	m
Z
ddlmZddl
mZdd	lmZdd
lmZddlmZddlmZmZmZmZdd
lmZddlmZddlmZddl m!Z!ddl"m#Z#m$Z$ddl%m&Z&ddl'm(Z(m)Z)Gdd�d�Z*Gdd�de*�Z+Gdd�de*�Z,Gdd�de,�Z-eGdd�d��Z.Gdd�de,�Z/Gd d!�d!e,�Z0Gd"d#�d#e,�Z1Gd$d%�d%e*�Z2Gd&d'�d'e*�Z3Gd(d)�d)e*�Z4Gd*d+�d+e*�Z5Gd,d-�d-e*�Z6Gd.d/�d/e*�Z7Gd0d1�d1e*�Z8Gd2d3�d3e,�Z9Gd4d5�d5e,�Z:Gd6d7�d7e,�Z;Gd8d9�d9�Z<Gd:d;�d;e�Z=e>d<k�r�ddl?Z?ddlZe?j@d=d>�ZAeAjBd?d@dAdB�eAjBdCdDdEdFddGdH�eAjBdIdJdKdLdMdN�eAjBdOdPdQddQdN�eAjBdRdSdTdFdUdV�eAjBdWdXeCdYddZd[�eAjBd\d]d^dFd_dV�eAjBd`dadbdFdcdV�eA�D�ZEdddlFmZeEjGdek�r�ejH�I�ZJneKeEjGdfdg��ZLeL�I�ZJWd�n	1�s�wYe=eJeEjM�r�dhndieEjNeEjOeEjPdj�ZQeEjR�r�ddlSZSddlTZTeS�U�ZVeeVeEjWeEjXdk�Ze�YeQ�eT�ZeV�[��dSeeEjWeEjXdldm�Ze�YeQ�dSdS)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@sZeZdZUdZded<ed"d	d
��Zd#dd�Zd$dd�Zd#dd�Z	d%dd�Z
d&dd �Zd!S)'�MarkdownElementTzClassVar[bool]�new_line�markdown�Markdown�tokenr�returncCs|�S)z�Factory to create markdown element,

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

        Returns:
            MarkdownElement: A new markdown element
        ���clsrrr!r!�A/opt/saltstack/salt/lib/python3.10/site-packages/rich/markdown.py�createszMarkdownElement.create�context�MarkdownContext�NonecC�dS)zuCalled when the node is entered.

        Args:
            context (MarkdownContext): The markdown context.
        Nr!��selfr&r!r!r$�on_enter)�zMarkdownElement.on_enter�textrcCr))zpCalled when text is parsed.

        Args:
            context (MarkdownContext): The markdown context.
        Nr!�r+r&r.r!r!r$�on_text0r-zMarkdownElement.on_textcCr))zwCalled when the parser leaves the element.

        Args:
            context (MarkdownContext): [description]
        Nr!r*r!r!r$�on_leave7r-zMarkdownElement.on_leave�child�boolcCr))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&r2r!r!r$�on_child_close>szMarkdownElement.on_child_close�consoler�optionsrrcCr))Nr!r!�r+r6r7r!r!r$�__rich_console__Lsz MarkdownElement.__rich_console__N�rrrrr r�r&r'r r(�r&r'r.rr r(�r&r'r2rr r3�r6rr7rr r)�__name__�
__module__�__qualname__r�__annotations__�classmethodr%r,r0r1r5r9r!r!r!r$rs




rc@seZdZdZdS)�UnknownElementz�An 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$rDRsrDc@s2eZdZdZdZddd�Zddd�Zdd
d�ZdS)�TextElementz)Base class for elements that render text.�noner&r'r r(cCs|�|j�|_tdd�|_dS�N�left��justify)�enter_style�
style_name�stylerr.r*r!r!r$r,`szTextElement.on_enterr.rcCs(|j�|t|t�r|j�dSd�dS�N)r.�append�
isinstance�str�
current_styler/r!r!r$r0ds(zTextElement.on_textcCs|��dSrO)�leave_styler*r!r!r$r1g�zTextElement.on_leaveNr;r<)r?r@rArErMr,r0r1r!r!r!r$rF[s

rFc@s@eZdZUdZdZded<edd
d��Zdd
d�Zddd�Z	dS)�	ParagraphzA Paragraph.zmarkdown.paragraphrrKrrrrr cCs||jpdd�SrHrJr"r!r!r$r%qszParagraph.creater(cCs
||_dSrOrJ�r+rKr!r!r$�__init__u�
zParagraph.__init__r6rr7rrccs�|j|j_|jVdSrO)rKr.r8r!r!r$r9xs�
zParagraph.__rich_console__N)rrrrr rV�rKrr r(r>)
r?r@rArErMrBrCr%rXr9r!r!r!r$rVks

rVc@s&eZdZUdZded<dZded<dS)�
HeadingFormatrIrrK�rRrNN)r?r@rArKrBrNr!r!r!r$r[s
r[cs`eZdZUdZddddddd�Zded<eddd
��Zddd�Zd �fdd�Z	d!dd�Z
�ZS)"�Headingz
A heading.�centerrI)Zh1Zh2Zh3Zh4Zh5Zh6z"ClassVar[dict[str, JustifyMethod]]�LEVEL_ALIGNrrrrr cCs
||j�SrO)�tagr"r!r!r$r%�s
zHeading.creater&r'r(cCst�|_|�|j�dSrO)rr.rLrMr*r!r!r$r,�szHeading.on_enterr`rRcs ||_d|��|_t���dS)N�	markdown.)r`rM�superrX)r+r`��	__class__r!r$rX�szHeading.__init__r6rr7rrccs,�|j��}|j�|jd�}||_|VdS)NrI)r.�copyr_�getr`rK)r+r6r7r.Zheading_justifyr!r!r$r9�s
�

zHeading.__rich_console__)rrrrr r]r;)r`rRr r(r>)r?r@rArEr_rBrCr%r,rXr9�
__classcell__r!r!rcr$r]�s
�	
r]c@s6eZdZdZdZeddd	��Zddd�Zddd�ZdS)�	CodeBlockz&A code block with syntax highlighting.zmarkdown.code_blockrrrrr cCs(|jpd}|�d�d}||pd|j�S)Nr\� rr.)�info�	partition�
code_theme)r#rrZ	node_info�
lexer_namer!r!r$r%�s
zCodeBlock.creatermrR�themer(cCs||_||_dSrO)rmrn)r+rmrnr!r!r$rX��
zCodeBlock.__init__r6rr7rrccs0�t|j���}t||j|jddd�}|VdS)NTr
)rnZ	word_wrap�padding)rRr.�rstriprrmrn)r+r6r7�code�syntaxr!r!r$r9�s��
zCodeBlock.__rich_console__N)rrrrr rh)rmrRrnrRr r(r>)	r?r@rArErMrCr%rXr9r!r!r!r$rh�s
rhc@s2eZdZdZdZddd�Zddd
�Zddd�ZdS)�
BlockQuotezA block quote.zmarkdown.block_quoter r(cC�t�|_dSrO�r�elements�r+r!r!r$rX�rUzBlockQuote.__init__r&r'r2rr3cC�|j�|�dS�NF�rwrPr4r!r!r$r5��zBlockQuote.on_child_closer6rr7rrc	csd�|j|jdd�}|j|j||jd�}|j}td�}td|�}|D]
}|V|EdH|Vq"dS)N���width�rN�
u▌ )�update�	max_width�render_linesrwrNr)	r+r6r7�render_options�linesrNrrp�liner!r!r$r9�s�

�zBlockQuote.__rich_console__N�r r(r=r>)r?r@rArErMrXr5r9r!r!r!r$rt�s

rtc@seZdZdZdZdd	d
�ZdS)
�HorizontalRulez%A horizontal rule to divide sections.Fr6rr7rr rccs*�|jddd�}t|dd�Vt�VdS)Nzmarkdown.hrrG��default�-)rNZ
characters)�	get_stylerr)r+r6r7rNr!r!r$r9�s�zHorizontalRule.__rich_console__Nr>)r?r@rArErr9r!r!r!r$r��sr�c@s.eZdZdZddd�Zddd�Zddd�ZdS)�TableElementz.MarkdownElement corresponding to `table_open`.r r(cCsd|_d|_dSrO)�header�bodyrxr!r!r$rX�rozTableElement.__init__r&r'r2rr3cCs0t|t�r
||_dSt|t�r||_dStd��)Nz Couldn't process markdown table.F)rQ�TableHeaderElementr��TableBodyElementr��RuntimeErrorr4r!r!r$r5�s

��zTableElement.on_child_closer6rr7rrccs��ttjddddd�}|jdur-|jjdur-|jjjD]}|j��}|�d�|�	|�q|j
durF|j
jD]}dd�|jD�}|j|�q6|VdS)NFzmarkdown.table.borderT)rZpad_edgerNZ	show_edgeZcollapse_paddingzmarkdown.table.headercSsg|]}|j�qSr!)�content)�.0�elementr!r!r$�
<listcomp>
sz1TableElement.__rich_console__.<locals>.<listcomp>)
r	rZSIMPLEr��row�cellsr�re�stylizeZ
add_columnr��rowsZadd_row)r+r6r7�table�column�headingr�Zrow_contentr!r!r$r9�s$��



zTableElement.__rich_console__Nr�r=r>)r?r@rArErXr5r9r!r!r!r$r��s


	r�c@�$eZdZdZddd�Zddd�Zd
S)r�z@MarkdownElement corresponding to `thead_open` and `thead_close`.r r(cCs
d|_dSrO)r�rxr!r!r$rXrYzTableHeaderElement.__init__r&r'r2rr3cCst|t�sJ�||_dSrz)rQ�TableRowElementr�r4r!r!r$r5sz!TableHeaderElement.on_child_closeNr�r=�r?r@rArErXr5r!r!r!r$r��
r�c@r�)r�z@MarkdownElement corresponding to `tbody_open` and `tbody_close`.r r(cC�
g|_dSrO)r�rxr!r!r$rXrYzTableBodyElement.__init__r&r'r2rr3cC�t|t�sJ�|j�|�dSrz)rQr�r�rPr4r!r!r$r5"�zTableBodyElement.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(cCr�rO)r�rxr!r!r$rX+rYzTableRowElement.__init__r&r'r2rr3cCr�rz)rQ�TableDataElementr�rPr4r!r!r$r5.r�zTableRowElement.on_child_closeNr�r=r�r!r!r!r$r�(r�r�c@s2eZdZdZeddd	��Zdd
d�Zddd�ZdS)r�z[MarkdownElement corresponding to `td_open` and `td_close`
    and `th_open` and `th_close`.rrrrr rcCs\t|j�d��p	d}d|vrd}nd|vrd}n	d|vrd}nd	}|tt�vs)J�||d
�S)NrNr\ztext-align:right�rightztext-align:centerr^ztext-align:leftrIr�rJ)rR�attrsrfrr)r#rrrNrKr!r!r$r%8s
zTableDataElement.createrKrr(cCstd|d�|_||_dS)Nr\rJ)rr�rKrWr!r!r$rXIs
zTableDataElement.__init__r&r'r.rcCs.t|t�r|j�||j�dS|j�|�dSrO)rQrRr�rPrSZappend_textr/r!r!r$r0Ms
zTableDataElement.on_textNr:rZr<)r?r@rArErCr%rXr0r!r!r!r$r�4s
r�c@s<eZdZdZeddd��Zd dd�Zd!dd�Zd"dd�ZdS)#�ListElementzA list element.rrrrr cCs||jt|j�dd���S)N�startr
)�type�intr�rfr"r!r!r$r%WszListElement.create�	list_typerR�
list_start�
int | Noner(cCsg|_||_||_dSrO)�itemsr�r�)r+r�r�r!r!r$rX[s
zListElement.__init__r&r'r2rr3cCr�rz)rQ�ListItemr�rPr4r!r!r$r5`r�zListElement.on_child_closer6rr7rrccs��|jdkr|jD]}|�||�EdHq	dS|jdurdn|j}|t|j�}t|j�D]\}}|�|||||�EdHq-dS)N�bullet_list_openr
)r�r��
render_bulletr��len�	enumerate�
render_number)r+r6r7�item�number�last_number�indexr!r!r$r9es�

���zListElement.__rich_console__N)rrrrr r�)r�rRr�r�r r(r=r>)	r?r@rArErCr%rXr5r9r!r!r!r$r�Ts

r�c@s<eZdZdZdZddd�Zddd
�Zddd�Zddd�ZdS)r�zAn item in a list.z
markdown.itemr r(cCrurOrvrxr!r!r$rXyrUzListItem.__init__r&r'r2rr3cCryrzr{r4r!r!r$r5|r|zListItem.on_child_closer6rr7rrccs��|j|jdd�}|j|j||jd�}|jddd�}td|�}td|�}td	�}t|�D]\}	}
|	r5|n|V|
EdH|Vq-dS)
N�r~r�zmarkdown.item.bulletrGr�u • z   r�)r�r�r�rwrNr�rr)r+r6r7r�r�Zbullet_styleZbulletrpr�firstr�r!r!r$r��s�


�zListItem.render_bulletr�r�r�ccs��tt|��d}|j|j|d�}|j|j||jd�}|jddd�}td�}	td||�}
t|��	|d	�d|�}t
|�D]\}}
|rG|n|
V|
EdH|	Vq?dS)
N�r~r�zmarkdown.item.numberrGr�r�rir
)r�rRr�r�r�rwrNr�r�rjustr)r+r6r7r�r�Znumber_widthr�r�Znumber_stylerrpZnumeralr�r�r!r!r$r��s�
�zListItem.render_numberNr�r=r>)
r6rr7rr�r�r�r�r r)	r?r@rArErMrXr5r�r�r!r!r!r$r�ts



r�c@s$eZdZeddd��Zddd
�ZdS)�Linkrrrrr rcCs|j�dd�}||jt|��S)N�href�#)r�rfr�rR)r#rr�urlr!r!r$r%�szLink.creater.rRr�cCst|�|_||_dSrO)rr.r�)r+r.r�r!r!r$rX�s

z
Link.__init__Nr:)r.rRr�rR)r?r@rArCr%rXr!r!r!r$r��sr�csLeZdZdZdZedd	d
��Zd�fdd�Zd�fdd�Zd dd�Z	�Z
S)!�	ImageItemz#Renders a placeholder for an image.Frrrrr rcCs|t|j�dd��|j�S)z�Factory 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\)rRr�rf�
hyperlinksr"r!r!r$r%�szImageItem.create�destinationrRr�r3r(cs ||_||_d|_t���dSrO)r�r��linkrbrX)r+r�r�rcr!r$rX�szImageItem.__init__r&r'cs&|jj|_tdd�|_t��|�dSrH)rSr�rr.rbr,r*rcr!r$r,�s
zImageItem.on_enterr6rr7rrccsf�t|jp	|jp	dd�}|jpt|j�d��dd�d�}|jr%|�|�tj	d|ddd�}|VdS)	N�r��/r
���u🌆 rir\)�end)
rr�r�r.r�strip�rsplitr�r��assemble)r+r6r7�
link_style�titler.r!r!r$r9�s�"

zImageItem.__rich_console__r:)r�rRr�r3r r(r;r>)r?r@rArErrCr%rXr,r9rgr!r!rcr$r��sr�c@sLeZdZdZ		dddd�Zed dd��Zd!dd�Zd"dd�Zd dd�Z	dS)#r'z!Manages the console render state.N�monokair6rr7rrNr�inline_code_lexer�
str | None�inline_code_themerRr r(cCsD||_||_t|�|_t�|_d|_|dur td||d�|_dSdS)Nr\)rn)r6r7r�style_stackr
�stack�_syntaxr)r+r6r7rNr�r�r!r!r$rX�s
�zMarkdownContext.__init__cCs|jjS)z>Current style which is the product of all styles on the stack.)r��currentrxr!r!r$rS�szMarkdownContext.current_styler.�	node_typecCs\|dvr$|jdur$|j�|�}|��|jj�|tj||jj	d��dS|jj�||�dS)z#Called when the parser visits text.>Zcode_inline�fenceNr�)
r�Z	highlightrqr��topr0rr�r�r�)r+r.r�Zhighlight_textr!r!r$r0�s�zMarkdownContext.on_textrM�str | StylecCs"|jj|dd�}|j�|�|jS)zEnter a style context.rGr�)r6r�r��pushrS)r+rMrNr!r!r$rL�szMarkdownContext.enter_stylecCs|j��}|S)zLeave a style context.)r��pop)r+rNr!r!r$rT�s
zMarkdownContext.leave_style)Nr�)r6rr7rrNrr�r�r�rRr r()r r)r.rRr�rRr r()rMr�r r)
r?r@rArErX�propertyrSr0rLrTr!r!r!r$r'�s�

r'c@s�eZdZUdZide�de�de�de�de�de�de	�d	e	�d
e
�de�de�d
e
�de�de�de�de�Zded<hd�Z						d4d5d'd(�Zd6d+d,�Zd7d2d3�ZdS)8ra�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.
    Zparagraph_openZheading_openr��
code_blockZblockquote_open�hrr�Zordered_list_openZlist_item_openZimageZ
table_openZ
tbody_openZ
thead_openZtr_openZtd_openZth_openz*ClassVar[dict[str, type[MarkdownElement]]]rw>�srrZstrongZemr�NrGT�markuprRrlrK�JustifyMethod | NonerNr�r�r3r�r�r�r r(c	CsPt��d��d�}||_|�|�|_||_||_||_||_||_	|p$||_
dS)NZ
strikethroughr�)r�enabler��parse�parsedrlrKrNr�r�r�)	r+r�rlrKrNr�r�r��parserr!r!r$rX%s
zMarkdown.__init__�tokens�Iterable[Token]ccsL�|D] }|jdk}|jdk}|jr |s |s |�|j�EdHq|VqdS)zFlattens the token stream.r�ZimgN)r�r`�children�_flatten_tokens)r+r�rZis_fenceZis_imager!r!r$r�9s�

�zMarkdown._flatten_tokensr6rr7rrccs��|j|jdd�}|jdd�}t||||j|jd�}|j}|j}d}t�	�}|�
|�D�]�}	|	j}
|	j}|	j
dk}|	j
dk}
|	j
d	k}|
d
krO|�|	j|
�q+|
dkrZ|�d|
�q+|
d
kre|�d|
�q+|
dkr�t|	j�dd��}|jr�|jddd�}|t|d�7}|�|�q+|j�t�||	��q+|
dkr�|	jdkr�|jddd�}|�|�q+|	jdkr�|��q+q+|
dk�r
|jr�|��q+|j��}t|t�s�J�|jddd�}|�|�|�|jj|
�|��|�d|
�|jddd�}|�|�|�|j|
�|��|�d|
�q+||v�rE|
dk�rE|
dk�rE|�r%|�d|���q+|
�r-|��q+|�d|���|	j�r@|�|	j|
�|��q+|j �|	j��pNt!}|�||	�}|�s[|�rf|j�|�|�"|�|
�r�|j��}|j�p~|j�o~|jj#�$||�}|�r�|�r�|V|�%||j&�EdHn?|�r�|j��|	j}|du�r�|�||�|j�p�|j�o�|jj#�$||�}|�r�|�r�|
d k�r�|V|�%||j&�EdH|
�s�|�r�|�'|�|j(}q+dS)!zRender markdown to the console.rGr�N)�height)r�r�Fr
r�rr.Z	hardbreakr�Z	softbreakriZ	link_openr�r\zmarkdown.link_urlr�Zhtml_inlinez<kbd>zmarkdown.kbdZboldz</kbd>Z
link_closez
markdown.linkz (�)r�r�ra�inline))r�rNr�r'r�r�r��inlinesrr�r�r�r`Znestingr0r�rRr�rfr�rrLr�r�r�r%rTr�rQr.�plainr�rwrDr,r�r5Zrenderr7r1r)r+r6r7rNr&r�Zinline_style_tagsrZ_new_line_segmentrr�r`ZenteringZexitingZself_closingr�r�Z	kbd_styler�Zlink_url_styleZ
element_classZ
should_renderr.r!r!r$r9Cs���









�








��


�
��zMarkdown.__rich_console__)r�NrGTNN)r�rRrlrRrKr�rNr�r�r3r�r�r�r�r r()r�r�r r�r>)r?r@rArErVr]rhrtr�r�r�r�r�r�r�r�r�rwrBr�rXr�r9r!r!r!r$rsZ
��������	�
���
�����

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_truezforce color for non-terminals)�dest�actionr�r�z-tz--code-themerlr�zpygments code theme)r�r�r�z-iz--inline-code-lexerr�z-yz--hyperlinksr�zenable hyperlinks)r�r�r�z-wz--widthrz*width of output (default will auto-detect))r�r�r�r�z-jz	--justifyrKzenable full text justifyz-pz--page�pagezuse pager to scroll output)rr�zutf-8)�encoding�fullrI)rKrlr�r�)�file�force_terminalrT)rr�record)\�
__future__r�sysZdataclassesr�typingrrrZmarkdown_itrZmarkdown_it.tokenrZ
rich.tabler	r\rZ_looprZ_stackr
r6rrrrZ
containersrZjupyterrZrulerZsegmentrrNrrrsrr.rrrrDrFrVr[r]rhrtr�r�r�r�r�r�r�r�r�r�r'rr?�argparse�ArgumentParserr��add_argumentr��
parse_args�argsZrich.consoler��stdin�readZ
markdown_body�openZ
markdown_filerKrlr�r�rr��io�pydoc�StringIOZfileior�r�printZpager�getvaluer!r!r!r$�<module>s9	"
)  *(0
C���������
��
�

��