U
.e. @ s d dl mZmZmZ d dlZd dlZd dlZddlmZ ddddd gZ e
d
ddd
dddgZdd ZG dd de
ZG dd deZG dd deZedejZddddddZdd Zdd ZdZG d d deZd!d" Zed#Zd$d% Zd&d' ZdS )( )absolute_importdivisionprint_functionN )InfinityparseVersion
LegacyVersionInvalidVersionVERSION_PATTERN_Versionepochreleasedevprepostlocalc C s, z
t | W S tk
r& t| Y S X dS )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.
N)r r
r )version r A/usr/lib/python3.8/site-packages/pip/_vendor/packaging/version.pyr s
c @ s e Zd ZdZdS )r
zF
An invalid version was found, users should refer to PEP 440.
N)__name__
__module____qualname____doc__r r r r r
! s c @ sL e Zd Zdd Zdd Zdd Zdd Zd d
Zdd Zd
d Z dd Z
dS )_BaseVersionc C s
t | jS N)hash_keyselfr r r __hash__( s z_BaseVersion.__hash__c C s | |dd S )Nc S s | |k S r r sor r r