R`iu 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 fdZ# G d de! Z$ ejJ d Z&dede e fdZ'dedefdZ(de e de e dee e e e f fdZ) G d de Z*y) N)CallableDictIterableIteratorListOptionalPatternSetTupleTypeVarUnion )canonicalize_version) LegacyVersionVersionparseVersionTypeVar)boundc e Zd ZdZy)InvalidSpecifierzH An invalid specifier was found, users should refer to PEP 440. N)__name__ __module____qualname____doc__ /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.pyr r ! s r r c n 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 Zy) BaseSpecifierreturnc y)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 y)zF Returns a hash value for this Specifier like object. Nr r" s r __hash__zBaseSpecifier.__hash__/ r% r otherc y)zq Returns a boolean representing whether or not the two Specifier like objects are equal. Nr r# r( s r __eq__zBaseSpecifier.__eq__5 r% r c y)zg Returns whether or not pre-releases as a whole are allowed by this specifier. Nr r" s r prereleaseszBaseSpecifier.prereleases<