Ë
    F^(hž3  ã                  óD  — d dl mZ d dlmZ d dlZd dlZ	 ddlm	Z	 ej                  rd dlZ G d„ dej                  «      Z G d„ dej                  «      Zdd
„Zdd„Zdd„Z G d„ d	e«      Z G d„ dej.                  «      Z G d„ d«      Zdd„Zy# e
$ r	 ddlm	Z	 Y Œ‚w xY w)é    )ÚannotationsNé   )Ú_escape_innerc                  ó   — e Zd Zdd„Zy)Ú_HasHTMLc                ó   — y ©N© ©Úselfs    úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/markupsafe/__init__.pyÚ__html__z_HasHTML.__html__   ó   � ó    N©ÚreturnÚstr)Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   r   r      s   „ Ü%r   r   c                  ó   — e Zd Zdd„Zy)Ú	_TPEscapec                ó   — y r	   r
   )r   Úss     r   Ú__call__z_TPEscape.__call__   r   r   N©r   út.Anyr   ÚMarkup)r   r   r   r   r
   r   r   r   r      s   „ Ü2r   r   r   c               óÐ   — t        | «      t        u rt        t        | «      «      S t	        | d«      rt        | j                  «       «      S t        t        t        | «      «      «      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.
    r   )Útyper   r   r   Úhasattrr   ©r   s    r   Úescaper#      sN   € ô ˆAƒw”#�~Ü”m AÓ&Ó'Ð'äˆq�*ÔÜ�a—j‘j“lÓ#Ð#ä”-¤ A£Ó'Ó(Ð(r   c               ó0   — | €
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%   0   s   € ð 	€yÜ‹xˆä�!‹9Ðr   c               ó<   — 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ˆà€Hr   c                  ó2  ‡ — e Zd ZdZdZ	 d*	 	 	 	 	 	 	 d+ˆ fd„Zd,d„Zd-ˆ fd„Zd-d„Zd.ˆ fd„Z	d.ˆ fd„Z
d/ˆ fd	„Zd0ˆ fd
„Zd1ˆ fd„Z	 d2	 	 	 	 	 d3ˆ fd„Z	 d2	 	 	 	 	 d3ˆ fd„Z	 d4	 	 	 d5ˆ fd„Zd0d„Zd0d„Zed6d„«       Zd7ˆ fd„Zd,ˆ fd„Zd,ˆ fd„Zd,ˆ fd„Zd,ˆ fd„Zd8d9ˆ fd„Zd:d;ˆ fd„Zd:d;ˆ fd„Zd<d=ˆ fd„Zd<d=ˆ fd„Zd:d;ˆ fd„Zd<d=ˆ fd„Z 	 	 	 	 d>ˆ fd„Z!d?d@ˆ fd„Z"d,ˆ fd „Z#dAˆ fd!„Z$d,ˆ fd"„Z%dBˆ fd#„Z&dCˆ fd$„Z'dDˆ fd%„Z(dDˆ fd&„Z)dEd'„Z*	 	 	 	 dFd(„Z+dGd)„Z,ˆ xZ-S )Hr   a®  A string that is ready to be safely inserted into an HTML or XML
    document, either because it was escaped or because it was marked
    safe.

    Passing an object to the constructor converts it to text and wraps
    it to mark it safe without escaping. To escape the text, use the
    :meth:`escape` class method instead.

    >>> Markup("Hello, <em>World</em>!")
    Markup('Hello, <em>World</em>!')
    >>> Markup(42)
    Markup('42')
    >>> Markup.escape("Hello, <em>World</em>!")
    Markup('Hello &lt;em&gt;World&lt;/em&gt;!')

    This implements the ``__html__()`` interface that some frameworks
    use. Passing an object that implements ``__html__()`` will wrap the
    output of that method, marking it safe.

    >>> class Foo:
    ...     def __html__(self):
    ...         return '<a href="/foo">foo</a>'
    ...
    >>> Markup(Foo())
    Markup('<a href="/foo">foo</a>')

    This is a subclass of :class:`str`. It has the same methods, but
    escapes their arguments and returns a ``Markup`` instance.

    >>> Markup("<em>%s</em>") % ("foo & bar",)
    Markup('<em>foo &amp; bar</em>')
    >>> Markup("<em>Hello</em> ") + "<foo>"
    Markup('<em>Hello</em> &lt;foo&gt;')
    r
   c                ó„   •— t        |d«      r|j                  «       }|€t        ‰| �  | |«      S t        ‰| �  | |||«      S ©Nr   )r!   r   ÚsuperÚ__new__)ÚclsÚobjectÚencodingÚerrorsÚ	__class__s       €r   r-   zMarkup.__new__z   sG   ø€ ô �6˜:Ô&Ø—_‘_Ó&ˆFàÐÜ‘7‘? 3¨Ó/Ð/ä‰w‰˜s F¨H°fÓ=Ð=r   c               ó   — | S r	   r
   r   s    r   r   zMarkup.__html__…   s   € Øˆr   c               ó¢   •— t        |t        «      st        |d«      r-| j                  t        ‰| �  | j                  |«      «      «      S t        S r+   )r'   r   r!   r2   r,   Ú__add__r#   ÚNotImplemented©r   Úvaluer2   s     €r   r5   zMarkup.__add__ˆ   s=   ø€ Ü�eœSÔ!¤W¨U°JÔ%?Ø—>‘>¤%¡'¡/°$·+±+¸eÓ2DÓ"EÓFÐFäÐr   c               ó†   — t        |t        «      st        |d«      r | j                  |«      j	                  | «      S t
        S r+   )r'   r   r!   r#   r5   r6   )r   r8   s     r   Ú__radd__zMarkup.__radd__Ž   s5   € Ü�eœSÔ!¤W¨U°JÔ%?Ø—;‘;˜uÓ%×-Ñ-¨dÓ3Ð3äÐr   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   ©r2   r,   Ú__mul__r7   s     €r   r=   zMarkup.__mul__”   ó   ø€ Ø�~‰~œe™g™o¨eÓ4Ó5Ð5r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   r<   r7   s     €r   Ú__rmul__zMarkup.__rmul__—   r>   r   c               ó2  •‡ — t        |t        «      rt        ˆ fd„|D «       «      }nSt        t        |«      d«      r't        |t        «      st        |‰ j                  «      }nt        |‰ j                  «      f}‰ j                  t        ‰‰ �%  |«      «      S )Nc              3  óJ   •K  — | ]  }t        |‰j                  «      –— Œ y ­wr	   )Ú_MarkupEscapeHelperr#   )Ú.0Úxr   s     €r   ú	<genexpr>z!Markup.__mod__.<locals>.<genexpr>�   s   øè ø€ ÒMÀ!Ô-¨a°·±×=ÑMùs   ƒ #Ú__getitem__)
r'   Útupler!   r    r   rC   r#   r2   r,   Ú__mod__r7   s   ` €r   rI   zMarkup.__mod__š   sq   ù€ Ü�eœUÔ#äÓMÀuÔMÓM‰EÜ”T˜%“[ -Ô0¼ÀEÌ3Ô9Oä'¨¨t¯{©{Ó;‰Eô )¨°·±Ó<Ð>ˆEà�~‰~œe™g™o¨eÓ4Ó5Ð5r   c               óT   •— | j                   j                  › dt        ‰| �  «       › d�S )Nú(ú))r2   r   r,   Ú__repr__©r   r2   s    €r   rM   zMarkup.__repr__§   s*   ø€ Ø—.‘.×)Ñ)Ð*¨!¬E©GÑ,<Ó,>Ð+?¸qÐAÐAr   c               óh   •— | j                  t        ‰| �	  t        | j                  |«      «      «      S r	   )r2   r,   ÚjoinÚmapr#   )r   Úiterabler2   s     €r   rP   zMarkup.joinª   s&   ø€ Ø�~‰~œe™g™l¬3¨t¯{©{¸HÓ+EÓFÓGÐGr   c               óh   •— t         ‰| �  ||«      D �cg c]  }| j                  |«      ‘Œ c}S c c}w r	   )r,   Úsplitr2   ©r   ÚsepÚmaxsplitÚvr2   s       €r   rT   zMarkup.split­   s-   ø€ ô ,1©7©=¸¸hÓ+GÖH a�—‘˜qÕ!ÒHÐHùÒHó   ”/c               óh   •— t         ‰| �  ||«      D �cg c]  }| j                  |«      ‘Œ c}S c c}w r	   )r,   Úrsplitr2   rU   s       €r   r[   zMarkup.rsplit²   s-   ø€ ô ,1©7©>¸#¸xÓ+HÖI a�—‘˜qÕ!ÒIÐIùÒIrY   c               óf   •— t         ‰| �  |«      D �cg c]  }| j                  |«      ‘Œ c}S c c}w r	   )r,   Ú
splitlinesr2   )r   ÚkeependsrX   r2   s      €r   r]   zMarkup.splitlines·   s,   ø€ ô ,1©7Ñ+=¸hÓ+GÖH a�—‘˜qÕ!ÒHÐHùÒHs   “.c               ó0   — ddl m}  |t        | «      «      S )uß   Convert escaped markup back into a text string. This replaces
        HTML entities with the characters they represent.

        >>> Markup("Main &raquo; <em>About</em>").unescape()
        'Main Â» <em>About</em>'
        r   )Úunescape)Úhtmlr`   r   )r   r`   s     r   r`   zMarkup.unescape¼   s   € õ 	"áœ˜D›	Ó"Ð"r   c               óä  — t        | «      }|j                  d«      x}dk7  r>|j                  d|«      x}dk(  rn&|d| › ||dz   d › �}|j                  d«      x}dk7  rŒ>|j                  d«      x}dk7  r>|j                  d|«      x}dk(  rn&|d| › ||dz   d › �}|j                  d«      x}dk7  rŒ>d	j                  |j                  «       «      }| j	                  |«      j                  «       S )
u¼   :meth:`unescape` the markup, remove tags, and normalize
        whitespace to single spaces.

        >>> Markup("Main &raquo;	<em>About</em>").striptags()
        'Main Â» About'
        z<!--éÿÿÿÿz-->Né   ú<ú>r   ú )r   ÚfindrP   rT   r2   r`   )r   r8   ÚstartÚends       r   Ú	striptagszMarkup.striptagsÇ   s  € ô �D“	ˆð Ÿ
™
 6Ó*Ð*ˆu¨rÒ1à—z‘z %¨Ó/Ð/�°BÒ6Øà˜V˜e�}�o e¨C°!©G¨H oÐ%6Ð7ˆEð Ÿ
™
 6Ó*Ð*ˆu¨rÓ1ð Ÿ
™
 3›Ð'ˆu¨BÒ.Ø—z‘z # uÓ-Ð-�°"Ò4Øà˜V˜e�}�o e¨C°!©G¨H oÐ%6Ð7ˆEð	 Ÿ
™
 3›Ð'ˆu¨BÓ.ð —‘˜Ÿ™›Ó'ˆØ�~‰~˜eÓ$×-Ñ-Ó/Ð/r   c               óH   — t        |«      }|j                  | ur | |«      S |S )ztEscape a string. Calls :func:`escape` and ensures that for
        subclasses the correct type is returned.
        )r#   r2   )r.   r   Úrvs      r   r#   zMarkup.escapeæ   s'   € ô
 �A‹Yˆà�<‰<˜sÑ"Ù�r“7ˆNàˆ	r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   rG   )r   Úkeyr2   s     €r   rG   zMarkup.__getitem__ò   s   ø€ Ø�~‰~œe™gÑ1°#Ó6Ó7Ð7r   c               ó>   •— | j                  t        ‰| �	  «       «      S r	   )r2   r,   Ú
capitalizerN   s    €r   rq   zMarkup.capitalizeõ   s   ø€ Ø�~‰~œe™gÑ0Ó2Ó3Ð3r   c               ó>   •— | j                  t        ‰| �	  «       «      S r	   )r2   r,   ÚtitlerN   s    €r   rs   zMarkup.titleø   ó   ø€ Ø�~‰~œe™g™m›oÓ.Ð.r   c               ó>   •— | j                  t        ‰| �	  «       «      S r	   )r2   r,   ÚlowerrN   s    €r   rv   zMarkup.lowerû   rt   r   c               ó>   •— | j                  t        ‰| �	  «       «      S r	   )r2   r,   ÚupperrN   s    €r   rx   zMarkup.upperþ   rt   r   c               ób   •— | j                  t        ‰| �	  || j                  |«      |«      «      S r	   )r2   r,   Úreplacer#   )r   ÚoldÚnewÚcountr2   s       €r   rz   zMarkup.replace  s(   ø€ Ø�~‰~œe™g™o¨c°4·;±;¸sÓ3CÀUÓKÓLÐLr   c               ó`   •— | j                  t        ‰| �	  || j                  |«      «      «      S r	   )r2   r,   Úljustr#   ©r   ÚwidthÚfillcharr2   s      €r   r   zMarkup.ljust  ó&   ø€ Ø�~‰~œe™g™m¨E°4·;±;¸xÓ3HÓIÓJÐJr   c               ó`   •— | j                  t        ‰| �	  || j                  |«      «      «      S r	   )r2   r,   Úrjustr#   r€   s      €r   r…   zMarkup.rjust  rƒ   r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Úlstrip©r   Úcharsr2   s     €r   r‡   zMarkup.lstrip
  ó   ø€ Ø�~‰~œe™g™n¨UÓ3Ó4Ð4r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Úrstriprˆ   s     €r   rŒ   zMarkup.rstrip  rŠ   r   c               ó`   •— | j                  t        ‰| �	  || j                  |«      «      «      S r	   )r2   r,   Úcenterr#   r€   s      €r   rŽ   zMarkup.center  s&   ø€ Ø�~‰~œe™g™n¨U°D·K±KÀÓ4IÓJÓKÐKr   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Ústriprˆ   s     €r   r�   zMarkup.strip  ó   ø€ Ø�~‰~œe™g™m¨EÓ2Ó3Ð3r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Ú	translate)r   Útabler2   s     €r   r“   zMarkup.translate  s   ø€ ð
 �~‰~œe™gÑ/°Ó6Ó7Ð7r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Ú
expandtabs)r   Útabsizer2   s     €r   r–   zMarkup.expandtabs  s   ø€ Ø�~‰~œe™gÑ0°Ó9Ó:Ð:r   c               ó>   •— | j                  t        ‰| �	  «       «      S r	   )r2   r,   ÚswapcaserN   s    €r   r™   zMarkup.swapcase   ó   ø€ Ø�~‰~œe™gÑ.Ó0Ó1Ð1r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Úzfill)r   r�   r2   s     €r   rœ   zMarkup.zfill#  r‘   r   c               ó>   •— | j                  t        ‰| �	  «       «      S r	   )r2   r,   ÚcasefoldrN   s    €r   rž   zMarkup.casefold&  rš   r   c               ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Úremoveprefix)r   Úprefixr2   s     €r   r    zMarkup.removeprefix)  ó   ø€ Ø�~‰~œe™gÑ2°6Ó:Ó;Ð;r   c                ó@   •— | j                  t        ‰| �	  |«      «      S r	   )r2   r,   Úremovesuffix)r   Úsuffixr2   s     €r   r¤   zMarkup.removesuffix,  r¢   r   c               óp   •— t         ‰| �  |«      \  }}}| j                  } ||«       ||«       ||«      fS r	   )r,   Ú	partitionr2   ©r   rV   ÚleftÚrightr.   r2   s        €r   r§   zMarkup.partition/  s;   ø€ Ü ™7Ñ,¨SÓ1Ñˆˆc�5Ø�n‰nˆÙ�4‹y™#˜c›(¡C¨£JÐ.Ð.r   c               óp   •— t         ‰| �  |«      \  }}}| j                  } ||«       ||«       ||«      fS r	   )r,   Ú
rpartitionr2   r¨   s        €r   r¬   zMarkup.rpartition4  s;   ø€ Ü ™7Ñ-¨cÓ2Ñˆˆc�5Ø�n‰nˆÙ�4‹y™#˜c›(¡C¨£JÐ.Ð.r   c                óp   — t        | j                  «      }| j                  |j                  | ||«      «      S r	   ©ÚEscapeFormatterr#   r2   Úvformat)r   ÚargsÚkwargsÚ	formatters       r   ÚformatzMarkup.format9  s.   € Ü# D§K¡KÓ0ˆ	Ø�~‰~˜i×/Ñ/°°d¸FÓCÓDÐDr   c               óp   — t        | j                  «      }| j                  |j                  | d|«      «      S )Nr
   r®   )r   Úmappingr³   s      r   Ú
format_mapzMarkup.format_map=  s0   € ô
 $ D§K¡KÓ0ˆ	Ø�~‰~˜i×/Ñ/°°b¸'ÓBÓCÐCr   c               ó    — |rt        d«      ‚| S )Nz,Unsupported format specification for Markup.)Ú
ValueError)r   Úformat_specs     r   Ú__html_format__zMarkup.__html_format__E  s   € ÙÜÐKÓLÐLàˆr   )Ú NÚstrict)r/   r   r0   ú
str | Noner1   r   r   úte.Self)r   r¿   )r8   zstr | _HasHTMLr   r¿   )r8   út.SupportsIndexr   r¿   )r8   r   r   r¿   r   )rR   zcabc.Iterable[str | _HasHTML]r   r¿   )Nrc   )rV   r¾   rW   rÀ   r   úlist[te.Self])F)r^   Úboolr   rÁ   )r   r   r   r¿   )ro   zt.SupportsIndex | slicer   r¿   )rc   )r{   r   r|   r   r}   rÀ   r   r¿   )rg   )r�   rÀ   r‚   r   r   r¿   r	   )r‰   r¾   r   r¿   )r”   z#cabc.Mapping[int, str | int | None]r   r   )é   )r—   rÀ   r   r¿   )r�   rÀ   r   r¿   )r¡   r   r   r¿   )r¥   r   r   r¿   )rV   r   r   z tuple[te.Self, te.Self, te.Self])r±   r   r²   r   r   r¿   )r¶   zcabc.Mapping[str, t.Any]r   r¿   )rº   r   r   r¿   ).r   r   r   Ú__doc__Ú	__slots__r-   r   r5   r:   r=   r@   rI   rM   rP   rT   r[   r]   r`   rk   Úclassmethodr#   rG   rq   rs   rv   rx   rz   r   r…   r‡   rŒ   rŽ   r�   r“   r–   r™   rœ   rž   r    r¤   r§   r¬   r´   r·   r»   Ú__classcell__©r2   s   @r   r   r   T   s•  ø„ ñ!ðF €Ið MUð	>Øð	>Ø+5ð	>ØFIð	>à	õ	>óõóõ6õ6õ6õBõHð FHðIØ ðIØ3BðIà	õIð FHðJØ ðJØ3BðJà	õJð #(ðIØðIà	õIó
	#ó0ð> ò	ó ð	õ8õ4õ/õ/õ/öMöKöKö5ö5öLö4ð8à2ð8ð 
õ	8ö;õ2õ4õ2õ<õ<õ/õ
/ó
EðDà)ðDð 
ó	D÷r   c                  ó0   ‡ — e Zd ZdZdˆ fd„Zdˆ fd„Zˆ xZS )r¯   )r#   c                ó0   •— || _         t        ‰| �	  «        y r	   )r#   r,   Ú__init__)r   r#   r2   s     €r   rË   zEscapeFormatter.__init__O  s   ø€ Ø!'ˆŒÜ‰ÑÕr   c                ó  •— t        |d«      r|j                  |«      }nSt        |d«      r.|rt        d|› dt        |«      › d�«      ‚|j	                  «       }nt
        ‰| �  |t        |«      «      }t        | j                  |«      «      S )Nr»   r   zFormat specifier z given, but z{ does not define __html_format__. A class that defines __html__ must define __html_format__ to work with format specifiers.)	r!   r»   r¹   r    r   r,   Úformat_fieldr   r#   )r   r8   rº   rm   r2   s       €r   rÍ   zEscapeFormatter.format_fieldS  s�   ø€ Ü�5Ð+Ô,Ø×&Ñ& {Ó3‰BÜ�U˜JÔ'ÙÜ Ø'¨ }°LÄÀeÃÀð NGð Góð ð
 —‘Ó!‰Bô ‘Ñ% e¬S°Ó-=Ó>ˆBÜ�4—;‘;˜r“?Ó#Ð#r   )r#   r   r   ÚNone)r8   r   rº   r   r   r   )r   r   r   rÅ   rË   rÍ   rÇ   rÈ   s   @r   r¯   r¯   L  s   ø„ Ø€Iõ÷$ñ $r   r¯   c                  óD   — e Zd ZdZdZd
d„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
y	)rC   z"Helper for :meth:`Markup.__mod__`.©Úobjr#   c                ó    — || _         || _        y r	   rÐ   )r   rÑ   r#   s      r   rË   z_MarkupEscapeHelper.__init__j  s   € ØˆŒØ!'ˆ�r   c               óT   — | j                  | j                  |   | j                  «      S r	   )r2   rÑ   r#   )r   ro   s     r   rG   z_MarkupEscapeHelper.__getitem__n  s   € Ø�~‰~˜dŸh™h s™m¨T¯[©[Ó9Ð9r   c               óJ   — t        | j                  | j                  «      «      S r	   )r   r#   rÑ   r   s    r   Ú__str__z_MarkupEscapeHelper.__str__q  s   € Ü�4—;‘;˜tŸx™xÓ(Ó)Ð)r   c               ó\   — t        | j                  t        | j                  «      «      «      S r	   )r   r#   ÚreprrÑ   r   s    r   rM   z_MarkupEscapeHelper.__repr__t  s   € Ü�4—;‘;œt D§H¡H›~Ó.Ó/Ð/r   c               ó,   — t        | j                  «      S r	   )ÚintrÑ   r   s    r   Ú__int__z_MarkupEscapeHelper.__int__w  s   € Ü�4—8‘8‹}Ðr   c               ó,   — t        | j                  «      S r	   )ÚfloatrÑ   r   s    r   Ú	__float__z_MarkupEscapeHelper.__float__z  s   € Ü�T—X‘X‹Ðr   N)rÑ   r   r#   r   r   rÎ   )ro   r   r   r¿   r   )r   rÙ   )r   rÜ   )r   r   r   rÄ   rÅ   rË   rG   rÕ   rM   rÚ   rÝ   r
   r   r   rC   rC   e  s(   „ Ù,à!€Ió(ó:ó*ó0óôr   rC   c                óŽ   — | dk(  r6dd l }dd l}|j                  dd¬«       |j                  j	                  d«      S t        | «      ‚)NÚ__version__r   zŸThe '__version__' attribute is deprecated and will be removed in MarkupSafe 3.1. Use feature detection, or `importlib.metadata.version("markupsafe")`, instead.é   )Ú
stacklevelÚ
markupsafe)Úimportlib.metadataÚwarningsÚwarnÚmetadataÚversionÚAttributeError)ÚnameÚ	importlibrä   s      r   Ú__getattr__rë   ~  sP   € Øˆ}ÒÛ!Ûà�‰ðDð ð	 	ô 	
ð ×!Ñ!×)Ñ)¨,Ó7Ð7ä
˜Ó
Ðr   r   )r   zt.Any | Noner   r   )r   r   r   r   )ré   r   r   r   )Ú
__future__r   Úcollections.abcÚabcÚcabcÚstringÚtypingÚtÚ	_speedupsr   ÚImportErrorÚ_nativeÚTYPE_CHECKINGÚtyping_extensionsÚteÚProtocolr   r   r#   r%   r(   r   r   Ú	Formatterr¯   rC   rë   r
   r   r   ú<module>rû      s™   ðÝ "å Û Û ð'Ý(ð ‡?‚?Û"ô&ˆq�z‰zô &ô3�—
‘
ô 3ó)ó0ó ô(uˆSô uôp$�f×&Ñ&ô $÷2ñ ô2øðk ò 'ß&ð'ús   –B ÂBÂB