§
    W¼h&  ã                  óv   — d dl mZ d dlZd dlmZ d dlmZ d dlmZ erd dl	m
Z
  G d„ dej        ¬	¦  «        ZdS )
é    )ÚannotationsN)ÚTYPE_CHECKING)ÚBaseDistribution)ÚInstallRequirement)ÚBuildEnvironmentInstallerc                  óŠ   ‡ — e Zd ZdZdˆ fd„Zej        dd„¦   «         Zej        dd
„¦   «         Z	ej        dd„¦   «         Z
ˆ xZS )ÚAbstractDistributiona¦  A base class for handling installable artifacts.

    The requirements for anything installable are as follows:

     - we must be able to determine the requirement name
       (or we can't correctly handle the non-upgrade case).

     - for packages with setup requirements, we must also be able
       to determine their requirements without installing additional
       packages (for the same reason as run-time dependencies)

     - we must be able to create a Distribution object exposing the
       above metadata.

     - if we need to do work in the build tracker, we must be able to generate a unique
       string to identify the requirement in the build tracker.
    Úreqr   ÚreturnÚNonec                óV   •— t          ¦   «                              ¦   «          || _        d S ©N)ÚsuperÚ__init__r
   )Úselfr
   Ú	__class__s     €úr/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/distributions/base.pyr   zAbstractDistribution.__init__    s$   ø€ Ý‰Œ×ÒÑÔÐØˆŒˆˆó    ú
str | Nonec                ó   — t          ¦   «         ‚)zÖA string that uniquely identifies this requirement to the build tracker.

        If None, then this dist has no work to do in the build tracker, and
        ``.prepare_distribution_metadata()`` will not be called.©ÚNotImplementedError©r   s    r   Úbuild_tracker_idz%AbstractDistribution.build_tracker_id$   s   € õ "Ñ#Ô#Ð#r   r   c                ó   — t          ¦   «         ‚r   r   r   s    r   Úget_metadata_distributionz.AbstractDistribution.get_metadata_distribution,   s   € å!Ñ#Ô#Ð#r   Úbuild_env_installerr   Úbuild_isolationÚboolÚcheck_build_depsc                ó   — t          ¦   «         ‚r   r   )r   r   r   r    s       r   Úprepare_distribution_metadataz2AbstractDistribution.prepare_distribution_metadata0   s   € õ "Ñ#Ô#Ð#r   )r
   r   r   r   )r   r   )r   r   )r   r   r   r   r    r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚabcÚabstractpropertyr   Úabstractmethodr   r"   Ú__classcell__)r   s   @r   r	   r	      s³   ø€ € € € € ðð ð$ð ð ð ð ð ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð $ð $ð $ð $r   r	   )Ú	metaclass)Ú
__future__r   r'   Útypingr   Úpip._internal.metadata.baser   Úpip._internal.reqr   Úpip._internal.build_envr   ÚABCMetar	   © r   r   ú<module>r3      s¬   ðØ "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø  Ð  Ð  Ð  Ð  Ð  à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0àð BØAÐAÐAÐAÐAÐAð*$ð *$ð *$ð *$ð *$ S¤[ð *$ñ *$ô *$ð *$ð *$ð *$r   