HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/web/hyperflight/apps/inxpress/.venv/Lib/site-packages/werkzeug/__pycache__/urls.cpython-311.pyc
�

��i����ddlmZddlZddlZddlZddlZddlmZddlm	Z	ddlm
Z
ddlmZddlmZdd	l
mZd(d�Zejde��d)d�Zeged���d�d�R�����Zede��Zededz��Zededz��Zededz��Zd*d �Zd+d"�Zd#ejjvrejj�d#��d,d%�Zd-d'�Z dS).�)�annotationsN)�quote)�unquote)�	urlencode)�urlsplit)�
urlunsplit�)�iter_multi_items�e�UnicodeError�return�tuple[str, int]c�d�t|j|j|j�d���}||jfS)zRUsed in :func:`uri_to_iri` after unquoting to re-quote any
    invalid bytes.
    ���safe)r�object�start�end)r�outs  �ID:\web\hyperflight\apps\inxpress\.venv\Lib\site-packages\werkzeug/urls.py�_codec_error_url_quoters1�������1�5��)��
3�
3�
3�C����:���werkzeug.url_quote�name�str�chars�t.Callable[[str], str]c����d�d�t|��D����}tjd|�d�tj���d
�fd�}d	|��|_|S)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.
    �|c3�8K�|]}t|��d�V��dS)�02XN)�ord)�.0�cs  r�	<genexpr>z%_make_unquote_part.<locals>.<genexpr>"s,����>�>�1�#�a�&�&���>�>�>�>�>�>rz((?:%(?:z))+)�valuerr
c���t��|����}g}|D]I}|�t|dd����|�t	|d�����Jd�|��S)Nzutf-8rr)�iter�split�appendr�next�join)r'�partsr�part�patterns    �r�_unquote_partialz,_make_unquote_part.<locals>._unquote_partial%s|����W�]�]�5�)�)�*�*�����	(�	(�D��J�J�w�t�W�.B�C�C�D�D�D��J�J�t�E�2���'�'�'�'��w�w�s�|�|�r�	_unquote_)r'rr
r)r-�sorted�re�compile�I�__name__)rr�choicesr1r0s    @r�_make_unquote_partr9s����
�h�h�>�>��u�
�
�>�>�>�>�>�G��j�1�G�1�1�1�2�4�8�8�G�������!3�D� 2� 2����r�!�%��fragment�queryz&=+#�pathz/?#�userz:@/?#�uric���t|��}t|j��}t|j��}t|j��}|jrt|j��}nd}d|vrd|�d�}|j	r|�d|j	��}|j
r=t|j
��}|jrt|j��}|�d|��}|�d|��}t|j||||f��S)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.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_pathr?�_unquote_queryr>�_unquote_fragmentr=�hostname�_decode_idna�port�username�
_unquote_user�passwordr�scheme)rAr.r?r>r=�netloc�authrOs        r�
uri_to_irirS=s��0
�S�M�M�E����$�$�D��5�;�'�'�E� ���0�0�H��~���e�n�-�-�����
�f�}���V������z�*��)�)�U�Z�)�)���~�$��U�^�,�,���>�	(�$�U�^�4�4�H��'�'�X�'�'�D��#�#�6�#�#���u�|�V�T�5�(�C�D�D�Dr�iric��t|��}t|jd���}t|jd���}t|jd���}|jr.|j�d���d��}nd}d|vrd	|�d
�}|jr|�d|j��}|j	rAt|j	d���}|j
rt|j
d���}|�d|��}|�d|��}t|j||||f��S)
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.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%!$&'()*+,/:;=@rz%!$&'()*+,/:;=?@z%!#$&'()*+,/:;=?@�idna�asciirrCrDrEz%!$&'()*+,;=rF)
rrr?r>r=rJ�encode�decoderLrMrOrrP)rTr.r?r>r=rQrRrOs        r�
iri_to_urirZqs9��2
�S�M�M�E����"3�4�4�4�D��%�+�$6�7�7�7�E��U�^�*=�>�>�>�H��~����&�&�v�.�.�5�5�g�>�>�����
�f�}���V������z�*��)�)�U�Z�)�)���~�$��U�^�.�9�9�9���>�	(��U�^�.�A�A�A�H��'�'�X�'�'�D��#�#�6�#�#���u�|�V�T�5�(�C�D�D�Drz
itms-services�domainc��	|�d��}n#t$r|cYSwxYw	|�d��S#t$rYnwxYwg}|�d��D]c}	|�|�d�����,#t$r+|�|�d����Y�`wxYwd�|��S)NrWrV�.�.)rX�UnicodeEncodeErrorrY�UnicodeDecodeErrorr*r+r-)r[�datar.r/s    rrKrK�s����}�}�W�%�%���������
�
�
�����
��{�{�6�"�"�"���
�
�
���
����
�E��
�
�4� � �/�/��	/��L�L����V�,�,�-�-�-�-��!�	/�	/�	/��L�L����W�-�-�.�.�.�.�.�	/�����8�8�E�?�?�s/��'�'�A�
A
�A
�*(B�2C�C�1t.Mapping[str, str] | t.Iterable[tuple[str, str]]c�V�d�t|��D��}t|d���S)Nc�"�g|]}|d�
|��
S)r	�)r$�xs  r�
<listcomp>z_urlencode.<locals>.<listcomp>�s!��D�D�D�1�1�Q�4�D�Q�D�D�Drz!$'()*,/:;?@r)r
r)r>�itemss  r�
_urlencoderi�s1��D�D�(��/�/�D�D�D�E��U��0�0�0�0r)rrr
r)rrrrr
r)rArr
r)rTrr
r)r[rr
r)r>rbr
r)!�
__future__r�codecsr4�typing�t�urllib.parse�urllibrrrrr�datastructuresr
r�register_errorr9�bytes�rangerY�_always_unsaferIrHrGrNrSrZ�parse�uses_netlocr+rKrirerr�<module>rws��"�"�"�"�"�"�
�
�
�
�	�	�	�	��������������� � � � � � �"�"�"�"�"�"�!�!�!�!�!�!�#�#�#�#�#�#�,�,�,�,�,�,��������*�,B�C�C�C�����2��1���t���1�d�1�D�1�1�2�2�9�9�;�;��&�&�z�>�B�B��#�#�G�^�f�-D�E�E��"�"�6�>�E�+A�B�B�
�"�"�6�>�G�+C�D�D�
�1E�1E�1E�1E�h4E�4E�4E�4E�t�&�,�2�2�5�
�L��#�#�O�4�4�4�����21�1�1�1�1�1r