� ��^is� � �� � d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlm Z mZ ddlmZ ddlmZmZ ddlmZmZmZmZ dd lmZmZmZmZmZmZm Z g d �Z! ej" e#� � Z$dZ%dZ&d eddde%dfZ'dZ( G d� de)� � Z* G d� de)� � Z+ G d� de)� � Z, G d� de,� � Z- G d� de-� � Z. G d� de-� � Z/e.Z0e/Z1 G d� d e)� � Z2d&d"�Z3d#� Z4d$� Z5d%� Z6dS )'zPEP 376 implementation.� )�unicode_literalsN� )�DistlibException� resources)�StringIO)� get_scheme�UnsupportedVersionError)�Metadata�METADATA_FILENAME�WHEEL_METADATA_FILENAME�LEGACY_METADATA_FILENAME)�parse_requirement�cached_property�parse_name_and_version�read_exports� write_exports� CSVReader� CSVWriter)�Distribution�BaseInstalledDistribution�InstalledDistribution�EggInfoDistribution�DistributionPathzpydist-exports.jsonzpydist-commands.json� INSTALLER�RECORD� REQUESTED� RESOURCES�SHAREDz .dist-infoc �$ � e Zd ZdZd� Zd� Zd� ZdS )�_CachezL A simple cache mapping names and .dist-info paths to distributions c �0 � i | _ i | _ d| _ dS )zZ Initialise an instance. There is normally one for each DistributionPath. FN)�name�path� generated��selfs ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/distlib/database.py�__init__z_Cache.__init__1 s � � �� ��� ������ c �x � | j � � � | j � � � d| _ dS )zC Clear the cache, setting it to its initial state. FN)r" �clearr# r$ r% s r' r+ z_Cache.clear9 s3 � � � ������� ����������r) c � � |j | j vrD|| j |j <