§
    ïyIf±  ã                   ó~   — d dl ZddlmZ dej        defd„Zdej        ej                 defd„Zdej        defd„Z	dS )	é    Né   )ÚMarkupÚsÚreturnc                 ód  — t          | d¦  «        r!t          |                      ¦   «         ¦  «        S t          t          | ¦  «                             dd¦  «                             dd¦  «                             dd¦  «                             dd	¦  «                             d
d¦  «        ¦  «        S )a¾  Replace the characters ``&``, ``<``, ``>``, ``'``, and ``"`` in
    the string with HTML-safe sequences. Use this if you need to display
    text that might contain such characters in HTML.

    If the object has an ``__html__`` method, it is called and the
    return value is assumed to already be safe for HTML.

    :param s: An object to be converted to a string and escaped.
    :return: A :class:`Markup` string with the escaped text.
    Ú__html__ú&z&amp;ú>z&gt;ú<z&lt;ú'z&#39;ú"z&#34;)Úhasattrr   r   ÚstrÚreplace©r   s    úF/var/www/piapp/venv/lib/python3.11/site-packages/markupsafe/_native.pyÚescaper      s’   € õ ˆq�*ÑÔð $Ý�a—j’j‘l”lÑ#Ô#Ð#åÝˆA‰Œß	Š��gÑ	Ô	ß	Š��fÑ	Ô	ß	Š��fÑ	Ô	ß	Š��gÑ	Ô	ß	Š��gÑ	Ô	ñô ð ó    c                 ó@   — | €t          ¦   «         S t          | ¦  «        S )a  Like :func:`escape` but treats ``None`` as the empty string.
    Useful with optional values, as otherwise you get the string
    ``'None'`` when the value is ``None``.

    >>> escape(None)
    Markup('None')
    >>> escape_silent(None)
    Markup('')
    )r   r   r   s    r   Úescape_silentr      s   € ð 	€yÝ‰xŒxˆå�!‰9Œ9Ðr   c                 óN   — t          | t          ¦  «        st          | ¦  «        S | S )a¨  Convert an object to a string if it isn't already. This preserves
    a :class:`Markup` string rather than converting it back to a basic
    string, so it will still be marked as safe and won't be escaped
    again.

    >>> value = escape("<User 1>")
    >>> value
    Markup('&lt;User 1&gt;')
    >>> escape(str(value))
    Markup('&amp;lt;User 1&amp;gt;')
    >>> escape(soft_str(value))
    Markup('&lt;User 1&gt;')
    )Ú
isinstancer   r   s    r   Úsoft_strr   .   s&   € õ �a�ÑÔð Ý�1‰vŒvˆà€Hr   )
ÚtypingÚtÚ r   ÚAnyr   ÚOptionalr   r   r   © r   r   ú<module>r       s    ðØ Ð Ð Ð à Ð Ð Ð Ð Ð ðˆaŒeð ˜ð ð ð ð ð0�Q”Z ¤Ô&ð ¨6ð ð ð ð ð �”ð ˜#ð ð ð ð ð ð r   