File: //usr/local/lib/python3.10/dist-packages/yarl/__pycache__/_url.cpython-310.pyc
o
���g�� � @ sh d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm Z m
Z
d dlmZ d dl
mZmZmZmZmZmZ d dlmZmZmZ d dlZd dlmZmZ d d lmZ d
dlm Z m!Z!m"Z"m#Z#m$Z$m%Z% d
dl&m'Z'm(Z( d
d
l)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ d
dl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= dddddd�Z>e?e�Z@e?d�ZAe �Bde jC�ZDed�ZEejFdkr�d dl
mGZG neZGG dd� de�ZHeHjIZJG dd� de�ZKG dd� dedd�ZLdeEd eEfd!d"�ZMe
d#eNd d$fd%d&��ZOe
d#eNd d$fd'd(��ZPe
d)eNd*eNd+eeNdf d,eeNdf d-eNd.eeQdf d/eNd0eNd1eNd d$fd2d3��ZRd)eNd4eNd/eNd5eNd1eNd d$fd6d7�ZSe
eS�ZTeMG d8d$� d$��ZUd9ZVd:ZWe
eV�d;eNd eNfd<d=��aXe
eV�d-eNd eNfd>d?��aYe
eW�d-eNd@eZd eNfdAdB��a[eMdOdCdD��Z\eMd eKfdEdF��Z]eMeVeVeJeJeJdG�dHeeQdf dIeeQdf dJeeQdeHf dKeeQdeHf dLeeQdeHf d dfdMdN��Z^dS )P� N)�Mapping�Sequence)�Enum)�
_CacheInfo� lru_cache)�
ip_address)�
TYPE_CHECKING�Any� TypedDict�TypeVar�Union�overload)�SplitResult� parse_qsl�
uses_relative)� MultiDict�MultiDictProxy)�under_cached_property� )�USES_AUTHORITY�SplitURLType�make_netloc�split_netloc� split_url�unsplit_result)�normalize_path�normalize_path_segments)�Query�
QueryVariable�SimpleQuery�
get_str_query�get_str_query_from_iterable�$get_str_query_from_sequence_iterable)
�FRAGMENT_QUOTER�FRAGMENT_REQUOTER�PATH_QUOTER�
PATH_REQUOTER�PATH_SAFE_UNQUOTER�
PATH_UNQUOTER�QS_UNQUOTER�QUERY_QUOTER�QUERY_REQUOTER�QUOTER�REQUOTER�UNQUOTER�human_quote�P i� � )�http�https�ws�wss�ftpa<
# any character not in the unreserved or sub-delims sets, plus %
# (validated with the additional check for pct-encoded sequences below)
[^a-z0-9\-._~!$&'()*+,;=%]
|
# % only allowed if it is part of a pct-encoded
# sequence of 2 hex digits.
%(?![0-9a-f]{2})
�_T)� � )�Selfc @ s e Zd ZdZdZdS )�
UndefinedTypez4Singleton type for use with not set sentinel values.r N)�__name__�
__module__�__qualname__�__doc__�
_singleton� rA rA �4/usr/local/lib/python3.10/dist-packages/yarl/_url.pyr; P s r; c @ s: e Zd ZU dZeed<