a
ˆåÏh ã @ sx d dl mZmZmZ d dlZddlmZmZ ddlm Z m
Z
erZd dlmZm
Z
edeƒZe d¡Zd d
„ Zdd„ ZdS )
é )Úabsolute_importÚdivisionÚprint_functionNé )Ú
TYPE_CHECKINGÚcast)ÚInvalidVersionÚVersion)ÚNewTypeÚUnionÚNormalizedNamez[-_.]+c C s t d| ¡ ¡ }td|ƒS )Nú-r )Ú_canonicalize_regexÚsubÚlowerr )ÚnameÚvalue© r úF/usr/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.pyÚcanonicalize_name s r c
C sî zt | ƒ}W n ty" | Y S 0 g }|jdkrD| d |j¡¡ | t ddd dd„ |jD ƒ¡¡¡ |j dur| d d 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 ©N©Ústr©Ú.0Úxr r r Ú