a
(Re @ sx d dl mZmZmZ d dlZddlmZmZ ddlm Z m
Z
erZd dlmZm
Z
edeZedZd d
Zdd ZdS )
)absolute_importdivisionprint_functionN )
TYPE_CHECKINGcast)InvalidVersionVersion)NewTypeUnionNormalizedNamez[-_.]+c C s t d| }td|S )N-r )_canonicalize_regexsublowerr )namevalue r /builddir/build/BUILDROOT/alt-python39-setuptools-58.3.0-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.pycanonicalize_name s r c
C s zt | }W n ty" | Y S 0 g }|jdkrD|d|j |tddddd |jD |j dur|dd d |j D |j
dur|d
|j
|jdur|d|j |jdur|d|j d|S )
z
This is very similar to Version.__str__, but has one subtle difference
with the way it handles the release segment.
r z{0}!z(\.0)+$ .c s s | ]}t |V qd S Nstr.0xr r r