Edit File: candidates.cpython-311.pyc
� Q�dJ � �: � d dl Z d dlZd dlmZmZmZmZmZmZm Z m Z d dlmZm Z d dlmZ d dlmZmZmZ d dlmZ d dlmZmZ d dlmZ d d lmZmZ d d lmZ d dl m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( erd dl)m*Z* e j+ e,� � Z-e d Z. e ed� � Z/de%dee. fd�Z0dededefd�Z1dededefd�Z2dededefd�Z3 G d� de%� � Z4 G d� de4� � Z5 G d� d e4� � Z6 G d!� d"e%� � Z7 G d#� d$e%� � Z8 G d%� d&e%� � Z9dS )'� N)� TYPE_CHECKING�Any� FrozenSet�Iterable�Optional�Tuple�Union�cast)�NormalizedName�canonicalize_name)�Version)� HashError�InstallationSubprocessError�MetadataInconsistent)�BaseDistribution)�Link�links_equivalent)�Wheel)�install_req_from_editable�install_req_from_line)�InstallRequirement)�direct_url_from_link)�normalize_version_info� )� Candidate�CandidateVersion�Requirement�format_name)�Factory)�AlreadyInstalledCandidate�EditableCandidate� LinkCandidatez<Python from Requires-Python>� candidate�returnc �R � t t t f}t | |� � r| S dS )z%The runtime version of BaseCandidate.N)r r! r"