+
    AžÀj  ã                  ó   € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHt ^ RIHt ^RIHt R	 R
 lt]P                   ! R]4       R R lt]! . ]! ^!4      O^%N^N54      P)                  4       t]! R]4      t]! R]R,           4      t]! R]R,           4      t]! R]R,           4      tR R ltR R ltR]P8                  P:                  9  d&   ]P8                  P:                  P=                  R4       R R ltR R lt R# )é    )ÚannotationsN)Úquote)Úunquote)Ú	urlencode)Úurlsplit)Ú
urlunsplit)Úiter_multi_itemsc               ó    € V ^8„  d   QhRRRR/# )é   ÚeÚUnicodeErrorÚreturnztuple[str, int]© )Úformats   "Úa/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/werkzeug/urls.pyÚ__annotate__r      s   € ÷ ñ ˜lð ¨ñ ó    c                óx   € \        V P                  V P                  V P                   RR7      pWP                  3# )zJUsed in :func:`uri_to_iri` after unquoting to re-quote any
invalid bytes.
Ú ©Úsafe)r   ÚobjectÚstartÚend)r   Úouts   & r   Ú_codec_error_url_quoter      s/   € ô �—‘˜Ÿ™ 1§5¡5Ð)°Ô
3€CØ—‘ˆ:Ðr   úwerkzeug.url_quotec               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚnameÚstrÚcharsr   zt.Callable[[str], str]r   )r   s   "r   r   r      s"   € ÷ ñ ˜Sð ¨ð Ð1Gñ r   c                óÂ   a€ RP                  R \        V4       4       4      p\        P                  ! RV R2\        P                  4      oR V3R llpRV  2Vn        V# )zÅCreate a function that unquotes all percent encoded characters except those
given. This allows working with unquoted characters if possible while not changing
the meaning of a given part of a URL.
Ú|c              3  ó<   "  € T F  p\        V4      R  x € K  	  R# 5i)Ú02XN)Úord)Ú.0Úcs   & r   Ú	<genexpr>Ú%_make_unquote_part.<locals>.<genexpr>"   s   é € Ð>±¨1œ#˜a›& ˜”³ùs   ‚z((?:%(?:z))+)c               ó    € V ^8„  d   QhRRRR/# )r   Úvaluer    r   r   )r   s   "r   r   Ú(_make_unquote_part.<locals>.__annotate__%   s   € ÷ ñ  ð ¨ñ r   c                óÞ   <€ \        SP                  V 4      4      p. pV F:  pVP                  \        VR R4      4       VP                  \	        VR4      4       K<  	  RP                  V4      # )zutf-8r   r   )ÚiterÚsplitÚappendr   ÚnextÚjoin)r,   Úpartsr   ÚpartÚpatterns   &   €r   Ú_unquote_partialÚ,_make_unquote_part.<locals>._unquote_partial%   s]   ø€ Ü�W—]‘] 5Ó)Ó*ˆØˆãˆDØ�J‰J”w˜t WÐ.BÓCÔDØ�J‰J”t˜E 2“Ö'ñ ð �w‰w�s‹|Ðr   Ú	_unquote_)r3   ÚsortedÚreÚcompileÚIÚ__name__)r   r!   Úchoicesr7   r6   s   &&  @r   Ú_make_unquote_partr@      s\   ø€ ð
 �h‰hÑ>´°u´Ó>Ó>€GÜ�jŠj˜8 G 9¨DÐ1´2·4±4Ó8€G÷ð ð #,¨D¨6Ð 2ÐÔØÐr   ÚfragmentÚqueryz&=+#Úpathz/?#Úuserz:@/?#c               ó    € V ^8„  d   QhRRRR/# )r   Úurir    r   r   )r   s   "r   r   r   =   s   € ÷ 4Eñ 4E�Cð 4E˜Cñ 4Er   c                ó  € \        V 4      p\        VP                  4      p\        VP                  4      p\        VP                  4      pVP                  '       d   \        VP                  4      pMRpRV9   d   RV R2pVP                  e   V RVP                   2pVP                  eG   \        VP                  4      pVP                  e   \        VP                  4      pV RV 2pV RV 2p\        VP                  WRW434      # )a@  Convert a URI to an IRI. All valid UTF-8 characters are unquoted,
leaving all reserved and invalid characters quoted. If the URL has
a domain, it is decoded from Punycode.

>>> uri_to_iri("http://xn--n3h.net/p%C3%A5th?q=%C3%A8ry%DF")
'http://\u2603.net/p\xe5th?q=\xe8ry%DF'

:param uri: The URI to convert.

.. versionchanged:: 3.1.9
    Empty username, password, and port 0 are preserved.

.. versionchanged:: 3.0
    Passing a tuple or bytes, and the ``charset`` and ``errors`` parameters,
    are removed.

.. versionchanged:: 2.3
    Which characters remain quoted is specific to each part of the URL.

.. versionchanged:: 0.15
    All reserved and invalid characters remain quoted. Previously,
    only some reserved characters were preserved, and invalid bytes
    were replaced instead of left quoted.

.. versionadded:: 0.6
r   Ú:Ú[Ú]Ú@)r   Ú_unquote_pathrC   Ú_unquote_queryrB   Ú_unquote_fragmentrA   ÚhostnameÚ_decode_idnaÚportÚusernameÚ_unquote_userÚpasswordr   Úscheme)rF   r4   rC   rB   rA   ÚnetlocÚauthrT   s   &       r   Ú
uri_to_irirX   =   së   € ô6 �S‹M€EÜ˜Ÿ™Ó$€DÜ˜5Ÿ;™;Ó'€EÜ  §¡Ó0€Hà‡~‡~€~Ü˜eŸn™nÓ-‰àˆà
ˆf„}Ø�V�H˜A�ˆà‡z�zÒØ�8˜1˜UŸZ™Z˜LÐ)ˆà‡~�~Ò!Ü˜UŸ^™^Ó,ˆà�>‰>Ò%Ü$ U§^¡^Ó4ˆHØ�V˜1˜X˜JÐ'ˆDà�6˜˜6˜(Ð#ˆä�u—|‘| V°5ÐCÓDÐDr   c               ó    € V ^8„  d   QhRRRR/# )r   Úirir    r   r   )r   s   "r   r   r   t   s   € ÷ 7Eñ 7E�Cð 7E˜Cñ 7Er   c                óX  € \        V 4      p\        VP                  RR7      p\        VP                  RR7      p\        VP                  RR7      pVP
                  '       d,   VP
                  P                  R4      P                  R4      pMRpRV9   d   R	V R
2pVP                  e   V RVP                   2pVP                  eK   \        VP                  RR7      pVP                  e   \        VP                  RR7      pV RV 2pV RV 2p\        VP                  WRW434      # )a?  Convert an IRI to a URI. All non-ASCII and unsafe characters are
quoted. If the URL has a domain, it is encoded to Punycode.

>>> iri_to_uri('http://\u2603.net/p\xe5th?q=\xe8ry%DF')
'http://xn--n3h.net/p%C3%A5th?q=%C3%A8ry%DF'

:param iri: The IRI to convert.

.. versionchanged:: 3.1.9
    Empty username, password, and port 0 are preserved.

.. versionchanged:: 3.0
    Passing a tuple or bytes, the ``charset`` and ``errors`` parameters,
    and the ``safe_conversion`` parameter, are removed.

.. versionchanged:: 2.3
    Which characters remain unquoted is specific to each part of the URL.

.. versionchanged:: 0.15
    All reserved characters remain unquoted. Previously, only some reserved
    characters were left unquoted.

.. versionchanged:: 0.9.6
   The ``safe_conversion`` parameter was added.

.. versionadded:: 0.6
z%!$&'()*+,/:;=@r   z%!$&'()*+,/:;=?@z%!#$&'()*+,/:;=?@ÚidnaÚasciir   rH   rI   rJ   z%!$&'()*+,;=rK   )r   r   rC   rB   rA   rO   ÚencodeÚdecoderQ   rR   rT   r   rU   )rZ   r4   rC   rB   rA   rV   rW   rT   s   &       r   Ú
iri_to_urir`   t   s  € ô8 �S‹M€Eô �—‘Ð"3Ô4€DÜ�%—+‘+Ð$6Ô7€EÜ�U—^‘^Ð*=Ô>€Hà‡~‡~€~Ø—‘×&Ñ& vÓ.×5Ñ5°gÓ>‰àˆà
ˆf„}Ø�V�H˜A�ˆà‡z�zÒØ�8˜1˜UŸZ™Z˜LÐ)ˆà‡~�~Ò!Ü�U—^‘^¨.Ô9ˆà�>‰>Ò%Ü˜UŸ^™^°.ÔAˆHØ�V˜1˜X˜JÐ'ˆDà�6˜˜6˜(Ð#ˆä�u—|‘| V°5ÐCÓDÐDr   zitms-servicesc               ó    € V ^8„  d   QhRRRR/# )r   Údomainr    r   r   )r   s   "r   r   r   µ   s   € ÷ ñ ˜ð  ñ r   c                óŽ  €  V P                  R 4      p TP                  R4      #   \         d    T u # i ; i  \         d     Mi ; i. pTP	                  R4       FV  p TP                  TP                  R4      4       K&    \         d%    TP                  TP                  R 4      4        KT  i ; i	  RP                  T4      # )r]   r\   ó   .Ú.)r^   ÚUnicodeEncodeErrorr_   ÚUnicodeDecodeErrorr0   r1   r3   )rb   Údatar4   r5   s   &   r   rP   rP   µ   sº   € ðØ�}‰}˜WÓ%ˆð
à�{‰{˜6Ó"Ð"øô ô àŠðûô ô Ùðúð €Eà—
‘
˜4Ö ˆð	/Ø�L‰L˜Ÿ™ VÓ,Ö-øÜ!ô 	/Ø�L‰L˜Ÿ™ WÓ-×.ð	/úñ !ð �8‰8�E‹?Ðs-   ‚% ”8 ¥5´5¸AÁAÁ  BÂ+B1Â0B1c               ó    € V ^8„  d   QhRRRR/# )r   rB   z1t.Mapping[str, str] | t.Iterable[tuple[str, str]]r   r    r   )r   s   "r   r   r   Î   s   € ÷ 1ñ 1ÐGð 1ÈCñ 1r   c                ór   € \        V 4       Uu. uF  q^,          f   K  VNK  	  pp\        VRR7      # u upi )é   z!$'()*,/:;?@r   )r	   r   )rB   ÚxÚitemss   &  r   Ú
_urlencodern   Î   s6   € Ü(¨Ô/ÓDÑ/�1°Qµ4�QˆQÑ/€EÐDä�U Ô0Ð0ùò Es   Ž4Ÿ4)!Ú
__future__r   Úcodecsr;   ÚtypingÚtÚurllib.parseÚurllibr   r   r   r   r   Údatastructuresr	   r   Úregister_errorr@   ÚbytesÚranger_   Ú_always_unsaferN   rM   rL   rS   rX   r`   ÚparseÚuses_netlocr1   rP   rn   r   r   r   Ú<module>r|      sñ   ðÝ "ã Û 	Û Û Ý Ý  Ý "Ý !Ý #å ,õð × Ò Ð*Ð,BÔ Cõñ2 Ð1™˜t›Ð1 dÐ1¨DÑ1Ó2×9Ñ9Ó;€Ù& z°>ÓBÐ Ù# G¨^¸fÕ-DÓE€Ù" 6¨>¸EÕ+AÓB€Ù" 6¨>¸GÕ+CÓD€õ4Eõn7Eðz ˜&Ÿ,™,×2Ñ2Ô2Ø
‡L�L×Ñ×#Ñ# OÔ4õ÷21r   