ó
    «óhÀ3  ã                  óX  • S SK Jr  S SKJr  S SKrS SKr SSKJ	r	  \R                  (       a  S SKr " S S\R                  5      r " S S\R                  5      rSS
 jrSS jrSS jr " S S	\5      r " S S\R.                  5      r " S S5      rSS jrg! \
 a	    SSKJ	r	   NŒf = f)é    )ÚannotationsNé   )Ú_escape_innerc                  ó   • \ rS rSrSS jrSrg)Ú_HasHTMLé   c               ó   • g ©N© ©Úselfs    ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/markupsafe/__init__.pyÚ__html__Ú_HasHTML.__html__   s   €  #ó    r   N©ÚreturnÚstr)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__r   r   r   r   r      s   † ß%r   r   c                  ó   • \ rS rSrSS jrSrg)Ú	_TPEscapeé   c               ó   • g r
   r   )r   Úss     r   Ú__call__Ú_TPEscape.__call__   s   € ¨sr   r   N©r   út.Anyr   ÚMarkup)r   r   r   r   r   r   r   r   r   r   r      s   † ß2r   r   r#   c               óÜ   • [        U 5      [        L a  [        [        U 5      5      $ [	        U S5      (       a  [        U R                  5       5      $ [        [        [        U 5      5      5      $ )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(      sQ   € ô ˆAƒw”#‚~Ü”m AÓ&Ó'Ð'äˆq�*×ÑÜ�a—j‘j“lÓ#Ð#ä”-¤ A£Ó'Ó(Ð(r   c               ó2   • U c
  [        5       $ [        U 5      $ )zå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               óF   • [        U [        5      (       d  [        U 5      $ U $ )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                  óÞ  ^ • \ rS rSrSrSr S+       S,U 4S jjjrS-S jrS.U 4S jjrS.S jr	S/U 4S jjr
S/U 4S	 jjrS0U 4S
 jjrS1U 4S jjrS2U 4S jjr S3     S4U 4S jjjr S3     S4U 4S jjjr S5   S6U 4S jjjrS1S jrS1S jr\S7S j5       rS8U 4S jjrS-U 4S jjrS-U 4S jjrS-U 4S jjrS-U 4S jjrS9S:U 4S jjjrS;S<U 4S jjjrS;S<U 4S jjjrS=S>U 4S jjjrS=S>U 4S jjjrS;S<U 4S jjjr S=S>U 4S jjjr!    S?U 4S jjr"S@SAU 4S  jjjr#S-U 4S! jjr$SBU 4S" jjr%S-U 4S# jjr&SCU 4S$ jjr'SDU 4S% jjr(SEU 4S& jjr)SEU 4S' jjr*SFS( jr+    SGS) jr,SHS* jr-Sr.U =r/$ )Ir#   éT   aB  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                óŠ   >• [        US5      (       a  UR                  5       nUc  [        TU ]  X5      $ [        TU ]  XX#5      $ ©Nr   )r&   r   ÚsuperÚ__new__)ÚclsÚobjectÚencodingÚerrorsÚ	__class__s       €r   r3   ÚMarkup.__new__z   sD   ø€ ô �6˜:×&Ñ&Ø—_‘_Ó&ˆFàÑÜ‘7‘? 3Ó/Ð/ä‰w‰˜s¨HÓ=Ð=r   c               ó   • U $ r
   r   r   s    r   r   ÚMarkup.__html__…   s   € Øˆr   c               ó¶   >• [        U[        5      (       d  [        US5      (       a-  U R                  [        TU ]  U R                  U5      5      5      $ [        $ r1   )r,   r   r&   r8   r2   Ú__add__r(   ÚNotImplemented©r   Úvaluer8   s     €r   r=   ÚMarkup.__add__ˆ   sC   ø€ Ü�eœS×!Ñ!¤W¨U°J×%?Ñ%?Ø—>‘>¤%¡'¡/°$·+±+¸eÓ2DÓ"EÓFÐFäÐr   c               óš   • [        U[        5      (       d  [        US5      (       a   U R                  U5      R	                  U 5      $ [
        $ r1   )r,   r   r&   r(   r=   r>   )r   r@   s     r   Ú__radd__ÚMarkup.__radd__Ž   s;   € Ü�eœS×!Ñ!¤W¨U°J×%?Ñ%?Ø—;‘;˜uÓ%×-Ñ-¨dÓ3Ð3äÐr   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   ©r8   r2   Ú__mul__r?   s     €r   rG   ÚMarkup.__mul__”   ó   ø€ Ø�~‰~œe™g™o¨eÓ4Ó5Ð5r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   rF   r?   s     €r   Ú__rmul__ÚMarkup.__rmul__—   rI   r   c               óR  >^ • [        U[        5      (       a  [        U 4S jU 5       5      nO][        [        U5      S5      (       a,  [        U[        5      (       d  [        UT R                  5      nO[        UT R                  5      4nT R                  [        TT ]%  U5      5      $ )Nc              3  óP   >#   • U  H  n[        UTR                  5      v •  M     g 7fr
   )Ú_MarkupEscapeHelperr(   )Ú.0Úxr   s     €r   Ú	<genexpr>Ú!Markup.__mod__.<locals>.<genexpr>�   s    øé € ÐMÂuÀ!Ô-¨a°·±×=Ð=Âuùs   ƒ#&Ú__getitem__)
r,   Útupler&   r%   r   rO   r(   r8   r2   Ú__mod__r?   s   ` €r   rV   ÚMarkup.__mod__š   sz   ù€ Ü�eœU×#Ñ#äÔMÁuÓMÓM‰EÜ”T˜%“[ -×0Ñ0¼ÀEÌ3×9OÑ9Oä'¨¨t¯{©{Ó;‰Eô )¨°·±Ó<Ð>ˆEà�~‰~œe™g™o¨eÓ4Ó5Ð5r   c               óT   >• U R                   R                   S[        TU ]  5        S3$ )NÚ(Ú))r8   r   r2   Ú__repr__©r   r8   s    €r   r[   ÚMarkup.__repr__§   s*   ø€ Ø—.‘.×)Ñ)Ð*¨!¬E©GÑ,<Ó,>Ð+?¸qÐAÐAr   c               óh   >• U R                  [        TU ]	  [        U R                  U5      5      5      $ r
   )r8   r2   ÚjoinÚmapr(   )r   Úiterabler8   s     €r   r_   ÚMarkup.joinª   s&   ø€ Ø�~‰~œe™g™l¬3¨t¯{©{¸HÓ+EÓFÓGÐGr   c               ój   >• [         TU ]  X5       Vs/ s H  o0R                  U5      PM     sn$ s  snf r
   )r2   Úsplitr8   ©r   ÚsepÚmaxsplitÚvr8   s       €r   rd   ÚMarkup.split­   s/   ø€ ô ,1©7©=¸Ô+GÓHÒ+G a—‘˜qÖ!Ñ+GÑHÐHùÒHó   “0c               ój   >• [         TU ]  X5       Vs/ s H  o0R                  U5      PM     sn$ s  snf r
   )r2   Úrsplitr8   re   s       €r   rl   ÚMarkup.rsplit²   s/   ø€ ô ,1©7©>¸#Ô+HÓIÒ+H a—‘˜qÖ!Ñ+HÑIÐIùÒIrj   c               ój   >• [         TU ]  U5       Vs/ s H  o R                  U5      PM     sn$ s  snf r
   )r2   Ú
splitlinesr8   )r   Úkeependsrh   r8   s      €r   ro   ÚMarkup.splitlines·   s0   ø€ ô ,1©7Ñ+=¸hÔ+GÓHÒ+G a—‘˜qÖ!Ñ+GÑHÐHùÒHrj   c               ó0   • SSK Jn  U" [        U 5      5      $ )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)Úhtmlrs   r   )r   rs   s     r   rs   ÚMarkup.unescape¼   s   € õ 	"áœ˜D›	Ó"Ð"r   c               óð  • [        U 5      nUR                  S5      =nS:w  a@  UR                  SU5      =nS:X  a  O'USU  XS-   S  3nUR                  S5      =nS:w  a  M@  UR                  S5      =nS:w  a@  UR                  SU5      =nS:X  a  O'USU  XS-   S  3nUR                  S5      =nS:w  a  M@  S	R                  UR                  5       5      nU R	                  U5      R                  5       $ )
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   Úfindr_   rd   r8   rs   )r   r@   ÚstartÚends       r   Ú	striptagsÚMarkup.striptagsÇ   s  € ô �D“	ˆð Ÿ
™
 6Ó*Ð*ˆu¨rÓ1à—z‘z %¨Ó/Ð/�°BÓ6Øà˜V˜e�}�o e°!©G¨IÐ&6Ð%7Ð8ˆEð Ÿ
™
 6Ó*Ð*ˆu¨rÕ1ð Ÿ
™
 3›Ð'ˆu¨BÓ.Ø—z‘z # uÓ-Ð-�°"Ó4Øà˜V˜e�}�o e°!©G¨IÐ&6Ð%7Ð8ˆEð	 Ÿ
™
 3›Ð'ˆu¨BÕ.ð —‘˜Ÿ™›Ó'ˆØ�~‰~˜eÓ$×-Ñ-Ó/Ð/r   c               óJ   • [        U5      nUR                  U La  U " U5      $ U$ )zdEscape a string. Calls :func:`escape` and ensures that for
subclasses the correct type is returned.
)r(   r8   )r4   r   Úrvs      r   r(   ÚMarkup.escapeæ   s'   € ô
 �A‹Yˆà�<‰<˜sÒ"Ù�r“7ˆNàˆ	r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   rT   )r   Úkeyr8   s     €r   rT   ÚMarkup.__getitem__ò   s   ø€ Ø�~‰~œe™gÑ1°#Ó6Ó7Ð7r   c               ó>   >• U R                  [        TU ]	  5       5      $ r
   )r8   r2   Ú
capitalizer\   s    €r   rˆ   ÚMarkup.capitalizeõ   s   ø€ Ø�~‰~œe™gÑ0Ó2Ó3Ð3r   c               ó>   >• U R                  [        TU ]	  5       5      $ r
   )r8   r2   Útitler\   s    €r   r‹   ÚMarkup.titleø   ó   ø€ Ø�~‰~œe™g™m›oÓ.Ð.r   c               ó>   >• U R                  [        TU ]	  5       5      $ r
   )r8   r2   Úlowerr\   s    €r   r�   ÚMarkup.lowerû   r�   r   c               ó>   >• U R                  [        TU ]	  5       5      $ r
   )r8   r2   Úupperr\   s    €r   r’   ÚMarkup.upperþ   r�   r   c               ó`   >• U R                  [        TU ]	  XR                  U5      U5      5      $ r
   )r8   r2   Úreplacer(   )r   ÚoldÚnewÚcountr8   s       €r   r•   ÚMarkup.replace  s&   ø€ Ø�~‰~œe™g™o¨c·;±;¸sÓ3CÀUÓKÓLÐLr   c               ó^   >• U R                  [        TU ]	  XR                  U5      5      5      $ r
   )r8   r2   Úljustr(   ©r   ÚwidthÚfillcharr8   s      €r   r›   ÚMarkup.ljust  ó$   ø€ Ø�~‰~œe™g™m¨E·;±;¸xÓ3HÓIÓJÐJr   c               ó^   >• U R                  [        TU ]	  XR                  U5      5      5      $ r
   )r8   r2   Úrjustr(   rœ   s      €r   r¢   ÚMarkup.rjust  r    r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Úlstrip©r   Úcharsr8   s     €r   r¥   ÚMarkup.lstrip
  ó   ø€ Ø�~‰~œe™g™n¨UÓ3Ó4Ð4r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Úrstripr¦   s     €r   r«   ÚMarkup.rstrip  r©   r   c               ó^   >• U R                  [        TU ]	  XR                  U5      5      5      $ r
   )r8   r2   Úcenterr(   rœ   s      €r   r®   ÚMarkup.center  s$   ø€ Ø�~‰~œe™g™n¨U·K±KÀÓ4IÓJÓKÐKr   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Ústripr¦   s     €r   r±   ÚMarkup.strip  ó   ø€ Ø�~‰~œe™g™m¨EÓ2Ó3Ð3r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Ú	translate)r   Útabler8   s     €r   rµ   ÚMarkup.translate  s   ø€ ð
 �~‰~œe™gÑ/°Ó6Ó7Ð7r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Ú
expandtabs)r   Útabsizer8   s     €r   r¹   ÚMarkup.expandtabs  s   ø€ Ø�~‰~œe™gÑ0°Ó9Ó:Ð:r   c               ó>   >• U R                  [        TU ]	  5       5      $ r
   )r8   r2   Úswapcaser\   s    €r   r½   ÚMarkup.swapcase   ó   ø€ Ø�~‰~œe™gÑ.Ó0Ó1Ð1r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Úzfill)r   r�   r8   s     €r   rÁ   ÚMarkup.zfill#  r³   r   c               ó>   >• U R                  [        TU ]	  5       5      $ r
   )r8   r2   Úcasefoldr\   s    €r   rÄ   ÚMarkup.casefold&  r¿   r   c               ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Úremoveprefix)r   Úprefixr8   s     €r   rÇ   ÚMarkup.removeprefix)  ó   ø€ Ø�~‰~œe™gÑ2°6Ó:Ó;Ð;r   c                ó@   >• U R                  [        TU ]	  U5      5      $ r
   )r8   r2   Úremovesuffix)r   Úsuffixr8   s     €r   rÌ   ÚMarkup.removesuffix,  rÊ   r   c               ón   >• [         TU ]  U5      u  p!nU R                  nU" U5      U" U5      U" U5      4$ r
   )r2   Ú	partitionr8   ©r   rf   ÚleftÚrightr4   r8   s        €r   rÐ   ÚMarkup.partition/  s9   ø€ Ü ™7Ñ,¨SÓ1Ñˆ�5Ø�n‰nˆÙ�4‹y™#˜c›(¡C¨£JÐ.Ð.r   c               ón   >• [         TU ]  U5      u  p!nU R                  nU" U5      U" U5      U" U5      4$ r
   )r2   Ú
rpartitionr8   rÑ   s        €r   rÖ   ÚMarkup.rpartition4  s9   ø€ Ü ™7Ñ-¨cÓ2Ñˆ�5Ø�n‰nˆÙ�4‹y™#˜c›(¡C¨£JÐ.Ð.r   c                ón   • [        U R                  5      nU R                  UR                  XU5      5      $ r
   ©ÚEscapeFormatterr(   r8   Úvformat)r   ÚargsÚkwargsÚ	formatters       r   ÚformatÚMarkup.format9  s,   € Ü# D§K¡KÓ0ˆ	Ø�~‰~˜i×/Ñ/°¸FÓCÓDÐDr   c               óp   • [        U R                  5      nU R                  UR                  U SU5      5      $ )Nr   rÙ   )r   ÚmappingrÞ   s      r   Ú
format_mapÚMarkup.format_map=  s0   € ô
 $ D§K¡KÓ0ˆ	Ø�~‰~˜i×/Ñ/°°b¸'ÓBÓCÐCr   c               ó*   • U(       a  [        S5      eU $ )Nz,Unsupported format specification for Markup.)Ú
ValueError)r   Úformat_specs     r   Ú__html_format__ÚMarkup.__html_format__E  s   € ÞÜÐKÓLÐLàˆr   )Ú NÚstrict)r5   r"   r6   ú
str | Noner7   r   r   úte.Self)r   rí   )r@   zstr | _HasHTMLr   rí   )r@   út.SupportsIndexr   rí   )r@   r"   r   rí   r   )ra   zcabc.Iterable[str | _HasHTML]r   rí   )Nrw   )rf   rì   rg   rî   r   úlist[te.Self])F)rp   Úboolr   rï   )r   r"   r   rí   )r…   zt.SupportsIndex | slicer   rí   )rw   )r–   r   r—   r   r˜   rî   r   rí   )r{   )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í   )rf   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í   )0r   r   r   r   Ú__doc__Ú	__slots__r3   r   r=   rC   rG   rK   rV   r[   r_   rd   rl   ro   rs   r   Úclassmethodr(   rT   rˆ   r‹   r�   r’   r•   r›   r¢   r¥   r«   r®   r±   rµ   r¹   r½   rÁ   rÄ   rÇ   rÌ   rÐ   rÖ   rß   rã   rè   r   Ú__classcell__©r8   s   @r   r#   r#   T   sÝ  ø† ñ!ðF €Ið MUð	>Øð	>Ø+5ð	>ØFIð	>à	÷	>ð 	>ô÷ô÷6÷6÷6÷B÷Hð FHðIØ ðIØ3BðIà	÷Ið Ið FHðJØ ðJØ3BðJà	÷Jð Jð #(ðIØðIà	÷Ið Iô
	#ô0ð> ó	ó ð	÷8÷4÷/÷/÷/÷Mñ M÷Kñ K÷Kñ K÷5ñ 5÷5ñ 5÷Lñ L÷4ñ 4ð8à2ð8ð 
÷	8÷;ñ ;÷2÷4÷2÷<÷<÷/÷
/ô
EðDà)ðDð 
ô	D÷ò r   c                  ó@   ^ • \ rS rSrSrSU 4S jjrSU 4S jjrSrU =r$ )rÚ   iL  )r(   c                ó.   >• Xl         [        TU ]	  5         g r
   )r(   r2   Ú__init__)r   r(   r8   s     €r   rù   ÚEscapeFormatter.__init__O  s   ø€ Ø!'ŒÜ‰ÑÕr   c                ó8  >• [        US5      (       a  UR                  U5      nO][        US5      (       a3  U(       a  [        SU S[        U5       S35      eUR	                  5       nO[
        TU ]  U[        U5      5      n[        U R                  U5      5      $ )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   r2   Úformat_fieldr   r(   )r   r@   rç   r‚   r8   s       €r   rü   Ú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)r@   r"   rç   r   r   r   )	r   r   r   r   ró   rù   rü   r   rõ   rö   s   @r   rÚ   rÚ   L  s   ø† Ø€I÷÷$õ $r   rÚ   c                  óX   • \ rS rSrSrSrSS jrSS jrSS jrSS jr	SS jr
SS	 jrS
rg)rO   ie  z"Helper for :meth:`Markup.__mod__`.©Úobjr(   c                ó   • Xl         X l        g r
   r   )r   r  r(   s      r   rù   Ú_MarkupEscapeHelper.__init__j  s   € ØŒØ!'�r   c               óT   • U R                  U R                  U   U R                  5      $ r
   )r8   r  r(   )r   r…   s     r   rT   Ú_MarkupEscapeHelper.__getitem__n  s   € Ø�~‰~˜dŸh™h s™m¨T¯[©[Ó9Ð9r   c               óJ   • [        U R                  U R                  5      5      $ r
   )r   r(   r  r   s    r   Ú__str__Ú_MarkupEscapeHelper.__str__q  s   € Ü�4—;‘;˜tŸx™xÓ(Ó)Ð)r   c               ó\   • [        U R                  [        U R                  5      5      5      $ r
   )r   r(   Úreprr  r   s    r   r[   Ú_MarkupEscapeHelper.__repr__t  s   € Ü�4—;‘;œt D§H¡H›~Ó.Ó/Ð/r   c               ó,   • [        U R                  5      $ r
   )Úintr  r   s    r   Ú__int__Ú_MarkupEscapeHelper.__int__w  s   € Ü�4—8‘8‹}Ðr   c               ó,   • [        U R                  5      $ r
   )Úfloatr  r   s    r   Ú	__float__Ú_MarkupEscapeHelper.__float__z  s   € Ü�T—X‘X‹Ðr   )r(   r  N)r  r"   r(   r   r   rþ   )r…   r"   r   rí   r   )r   r  )r   r  )r   r   r   r   rò   ró   rù   rT   r  r[   r  r  r   r   r   r   rO   rO   e  s(   † Ù,à!€Iô(ô:ô*ô0ô÷r   rO   c                ó”   • U S:X  a8  SS K nSS KnUR                  S[        SS9  UR                  R                  S5      $ [        U 5      e)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ÚDeprecationWarningÚmetadataÚversionÚAttributeError)ÚnameÚ	importlibr  s      r   Ú__getattr__r"  ~  sS   € Øˆ}ÓÛ!Ûà�‰ð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Ú   rO   r"  r   r   r   Ú<module>r2     s™   ðÝ "å Û Û ð'Ý(ð ‡?‡?Û"ô&ˆq�z‰zô &ô3�—
‘
ô 3ô)ô0ô ô(uˆSô uôp$�f×&Ñ&ô $÷2ñ õ2øðk ó 'ß&ð'ús   –B ÂB)Â(B)