Your IP : 216.73.216.213
�
N�Xym � �V � d dl mZmZmZ d dlZd dlZd dlZd dlZddlm Z m
Z
ddlmZm
Z
mZ G d� de� � Z G d� d e
ej e� � � � Z G d
� de� � Z G d� d
e� � Zd� Z G d� de� � Z ej d� � Zd� Zd� Z G d� de� � ZdS )� )�absolute_import�division�print_functionN� )�string_types�with_metaclass)�Version�
LegacyVersion�parsec � � e Zd ZdZdS )�InvalidSpecifierzH
An invalid specifier was found, users should refer to PEP 440.
N)�__name__�
__module__�__qualname__�__doc__� � �G/opt/alt/python311/lib/python3.11/site-packages/packaging/specifiers.pyr
r
s � � � � � �� � � r r
c � � e Zd Zej d� � � Zej d� � � Zej d� � � Zej d� � � Zej d� � � Z
e
j d� � � Z
ej d
d�� � Zej d
d �� � Z
dS )�
BaseSpecifierc � � 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 s r �__hash__zBaseSpecifier.__hash__ r r c � � dS )zq
Returns a boolean representing whether or not the two Specifier like
objects are equal.
Nr �r �others r �__eq__zBaseSpecifier.__eq__$ r r c � � dS )zu
Returns a boolean representing whether or not the two Specifier like
objects are not equal.
Nr r s r �__ne__zBaseSpecifier.__ne__+ r r c � � dS )zg
Returns whether or not pre-releases as a whole are allowed by this
specifier.
Nr r s r �prereleaseszBaseSpecifier.prereleases2 r r c � � dS )zd
Sets whether or not pre-releases as a whole are allowed by this
specifier.
Nr �r �values r r% zBaseSpecifier.prereleases9 r r Nc � � dS )zR
Determines if the given item is contained within this specifier.
Nr �r �itemr% s r �containszBaseSpecifier.contains@ r r c � � dS )z�
Takes an iterable of items and filters them so that only items which
are contained within this specifier are allowed in it.
Nr )r �iterabler% s r �filterzBaseSpecifier.filterF r r �N)r r r �abc�abstractmethodr r r! r# �abstractpropertyr% �setterr, r/ r r r r r s � � � � � ���� � ��� ��� � ���
��� � ��� ��� � ��� ��� � ��� ��� � ��� ��� � � ���
��� � � ��� � r r c � � e Zd Zi Zdd�Zd� Zd� Zd� Zd� Zd� Z d � Z
d
� Zed� � � Z
ed� � � Zed
� � � Zej d� � � Zd� Zdd�Zdd�ZdS )�_IndividualSpecifier� Nc �6 � | j � |� � }|s"t d� |� � � � �|� d� � � � � |� d� � � � � f| _ || _ d S )NzInvalid specifier: '{0}'�operator�version)�_regex�searchr
�format�group�strip�_spec�_prereleases)r �specr% �matchs r �__init__z_IndividualSpecifier.__init__R s� � ���"�"�4�(�(��� L�"�#=�#D�#D�T�#J�#J�K�K�K�
�K�K�
�#�#�)�)�+�+��K�K� �"�"�(�(�*�*�
��
� (����r c � � | j �d� | j � � nd}d� | j j t | � � |� � S )N�, prereleases={0!r}r7 z<{0}({1!r}{2})>)rA r= r% � __class__r �str�r �pres r �__repr__z_IndividualSpecifier.__repr___ s\ � � � �,�
"�(�(��)9�:�:�:�� � !�'�'��N�#���I�I��
�
�
r c � � dj | j � S )Nz{0}{1})r= r@ r s r r z_IndividualSpecifier.__str__l s � ��x���
�+�+r c �* � t | j � � S r0 )�hashr@ r s r r z_IndividualSpecifier.__hash__o s � ��D�J���r c �� � t |t � � r. | � |� � }n3# t $ r
t cY S w xY wt || j � � st S | j |j k S r0 ��
isinstancer rG r
�NotImplementedr@ r s r r! z_IndividualSpecifier.__eq__r �| � ��e�\�*�*� "�
&����u�-�-����#�
&�
&�
&�%�%�%�%�
&�����E�4�>�2�2� "�!�!��z�U�[�(�(� �- �A� Ac �� � t |t � � r. | � |� � }n3# t $ r
t cY S w xY wt || j � � st S | j |j k S r0 rP r s r r# z_IndividualSpecifier.__ne__} rS rT c �^ � t | d� | j | � � � � S )Nz_compare_{0})�getattrr= �
_operators)r �ops r �
_get_operatorz"_IndividualSpecifier._get_operator� s'