�
���c�u � �n � d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm Z m
Z
mZmZm
Z
mZmZmZ ddlmZ ddlmZmZmZ eeef Zeeeef Z ede�� � Zeeegef Z G d� d e� � Z G d
� de j �� � Z G d
� de � � Z! G d� de!� � Z"dedeegef dedeegef fd�Z# G d� de!� � Z$ ej% d� � Z&dede
e fd�Z'dedefd�Z(de
e de
e dee
e e
e f fd�Z) G d� de � � Z*dS ) � N)�Callable�Dict�Iterable�Iterator�List�Optional�Pattern�Set�Tuple�TypeVar�Union� )�canonicalize_version)�
LegacyVersion�Version�parse�VersionTypeVar)�boundc � � e Zd ZdZdS )�InvalidSpecifierzH
An invalid specifier was found, users should refer to PEP 440.
N)�__name__�
__module__�__qualname__�__doc__� � �I/usr/lib/python3/dist-packages/setuptools/_vendor/packaging/specifiers.pyr r ! s � � � � � �� � � r r c �r � e Zd Zej defd�� � Zej defd�� � Zej de de
fd�� � Zej de
e
fd�� � Zej de
ddfd �� � Zej dd
ede
e
de
fd�� � Zej dd
ee de
e
dee fd�� � ZdS )�
BaseSpecifier�returnc � � dS )z�
Returns the str representation of this Specifier like object. This
should be representative of the Specifier itself.
Nr ��selfs r �__str__zBaseSpecifier.__str__( � � � � r c � � dS )zF
Returns a hash value for this Specifier like object.
Nr r" |