R`i8 d dl Z d dlZd dlZd dlZd dlmZmZmZmZm Z m Z mZ ddlm Z mZmZmZ g dZeeef Zeee eef f Zeeeef Zeee eee eef e eef f df f Ze ee edf eeeef Ze ee edf f Zeeeef eeef gef Z e j8 dg d Zd ed ed fdZ G d de Z G d d Z! G d de! Z" ejF dejH Z%ddddddZ&ded ee fdZ'd ed efdZ(dZ) G d de! Z*dedeee+e f d ee eef fd Z, ejF d! Z-d"ed ee fd#Z.d$ed%e edf d&ee eef d'ee eef d(ee eef d"ee e d efd)Z/y)* N)CallableIteratorListOptionalSupportsIntTupleUnion )InfinityInfinityTypeNegativeInfinityNegativeInfinityType)parseVersion LegacyVersionInvalidVersionVERSION_PATTERN._Version)epochreleasedevprepostlocalversionreturn)r r c N t | S # t $ r t | cY S w xY w)z Parse the given version string and return either a :class:`Version` object or a :class:`LegacyVersion` object depending on if the given version is a valid PEP 440 version or a legacy version. )r r r )r s /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/packaging/version.pyr r * s, &w &W%%&s $$c e Zd ZdZy)r zF An invalid version was found, users should refer to PEP 440. N)__name__ __module____qualname____doc__ r r r 6 s r% r c e Zd ZU eeef ed<