OwlCyberSecurity - MANAGER
Edit File: candidates.cpython-38.pyc
U ʗReJ � @ s� 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( er�d dl)m*Z* e �+e,�Z-e d Z.e ed�Z/e%ee. d�dd�Z0eeed�dd�Z1eeed�dd�Z2eeed�dd�Z3G dd� de%�Z4G dd � d e4�Z5G d!d"� d"e4�Z6G d#d$� d$e%�Z7G d%d&� d&e%�Z8G d'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 C s t ttf}t| |�r| S dS )z%The runtime version of BaseCandidate.N)r r r! � isinstance)r"