a
    Sic                     @   s   d dl mZ d dl mZmZmZ d dlZddgZdZedej	Z
zeeZW n ey`   Y n0 dd	 Zd
d Zdd Zdd Zdd ZdddZdd Zdd ZdS )    )ProcessingInstruction)CommentElementTreeQNameNto_html_stringto_xhtml_string)areabasebasefontbrcolframehrimginputisindexlinkmetaparamz)&(?!(?:\#[0-9]+|\#x[0-9a-f]+|[0-9a-z]+);)c                 C   s   t d| t| jd S )Nzcannot serialize {!r} (type {}))	TypeErrorformattype__name__text r   P/var/www/html/django/DPS/env/lib/python3.9/site-packages/markdown/serializers.py_raise_serialization_error8   s    r   c              	   C   sf   zBd| v rt d| } d| v r*| dd} d| v r>| dd} | W S  ttfy`   t|  Y n0 d S )N&&amp;<&lt;>&gt;RE_AMPsubreplacer   AttributeErrorr   r   r   r   r   _escape_cdata>   s    r)   c              	   C   s   zjd| v rt d| } d| v r*| dd} d| v r>| dd} d| v rR| dd} d	| v rf| d	d
} | W S  ttfy   t|  Y n0 d S )Nr   r   r    r!   r"   r#   "&quot;
z&#10;r$   r   r   r   r   _escape_attribP   s    r-   c              	   C   sz   zVd| v rt d| } d| v r*| dd} d| v r>| dd} d| v rR| dd} | W S  ttfyt   t|  Y n0 d S )	Nr   r   r    r!   r"   r#   r*   r+   r$   r   r   r   r   _escape_attrib_htmlc   s    r.   c           
      C   s  |j }|j}|tu r(| dt|  n|tu rD| dt|  n|d u rv|r\| t| |D ]}t| || q`nrd }t|tr|jd d dkr|jdd  dd\}}nt	d| d|  |
 }|rHt|}|D ]f\}}	t|tr|j}t|	tr|	j}	nt|	}	||	kr6|dkr6| d	|	  q| d
||	 q|r^| dt|  |dkr| tv r| d nh| d |r| dv r| | n| t| |D ]}t| || q| tvr| d| d  |jr| t|j d S )Nz	<!--%s-->z<?%s?>   {}z QName objects must define a tag.r    htmlz %sz {}="{}"z xmlns="%s"xhtmlz />r"   )scriptstylez</)tagr   r   r)   r   _serialize_html
isinstancer   split
ValueErroritemssortedr.   r   r-   lower
HTML_EMPTYtail)
writeelemr   r6   r   eZnamespace_urir;   kvr   r   r   r7   t   sX    



r7   r2   c                 C   s,   | d usJ g }|j }t|| | d|S )N )appendr7   join)rootr   datar@   r   r   r   _write_html   s
    rJ   c                 C   s   t t|  ddS )Nr2   r   rJ   r   getrootelementr   r   r   r      s    c                 C   s   t t|  ddS )Nr3   rK   rL   rN   r   r   r   r      s    )r2   )xml.etree.ElementTreer   r   r   r   re__all__r>   compileIr%   set	NameErrorr   r)   r-   r.   r7   rJ   r   r   r   r   r   r   <module>(   s"   9
