
    yd>                         d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 ddlmZ ddlmZ ddlmZ d	 Zd
 Zd Zd Zd Zd Z G d de          ZdS )    N)log)DistutilsError)partial   )_reqs)Wheel)SetuptoolsDeprecationWarningc                     t          | t                    r|                                 S t          | t          t          f          sJ | S )z8Ensure find-links option end-up being a list of strings.)
isinstancestrsplittuplelist)
find_linkss    4lib/python3.11/site-packages/setuptools/installer.py_fixup_find_linksr      sF    *c"" "!!!j5$-00000    c                 r    t                                            t          |            t          | |          S )zLFetch an egg needed for building.

    Use pip/wheel to fetch/build a wheel.)_DeprecatedInstalleremit_warn_wheel_not_available_fetch_build_egg_no_warn)distreqs     r   fetch_build_eggr      s4     d####D#...r   c                 4   dd l }t                              d           t          |            |j                            t          j        ||j                  t          t          |           d          }|D ]} |j                            | d           |S )Nr      )
stacklevelT)	installerreplace_conflicting)replace)pkg_resourcesr   r   r   working_setresolver   parseRequirementr   r   add)r   requiresr"   resolved_distss       r   _fetch_build_eggsr*       s    +++d###".66Hm7882D99  7  N
  : :!%%dD%9999r   c           	      D   dd l }t          |          }|                     d          }d|v rt          d          dt          j        vodt          j        v}dt          j        v rd }nd|v r|d         d	         }nd }d
|v r#t          |d
         d	                   d d          ng }| j        r|                    | j                   t          j	        
                    |                                           }|                                }|                    |          D ]}	|	|v r|                    |	          r|	c S  t          j                    5 }
t"          j        dddddd|
g}|r|                    d           ||                    d|f           |pg D ]}|                    d|f           |                    |j        pt+          |                     	 t-          j        |           n4# t,          j        $ r"}t          t+          |                    |d }~ww xY wt3          t5          j        t          j	                            |
d                    d                   }t          j	                            ||                                          }|                    |           |                    |t          j	                            |d                    }|j                             ||          } | cd d d            S # 1 swxY w Y   d S )Nr   easy_installallow_hostszQthe `allow-hosts` option is not supported when using pip to install requirements.	PIP_QUIETPIP_VERBOSEPIP_INDEX_URL	index_urlr   r   z-mpipz--disable-pip-version-checkwheelz	--no-depsz-wz--quietz--index-urlz--find-linksz*.whlzEGG-INFO)metadata)!r"   strip_markerget_option_dictr   osenvironr   dependency_linksextendpathrealpathget_egg_cache_dirEnvironmentfind_distributionscan_addtempfileTemporaryDirectorysys
executableappendurlr   
subprocess
check_callCalledProcessErrorr   globjoinegg_nameinstall_as_eggPathMetadataDistributionfrom_filename)r   r   r"   optsquietr1   r   eggs_direnvironmentegg_disttmpdircmdlinker3   dist_locationdist_metadatas                    r   r   r   0   s    s

C //D G H H 	Hrz)Mm2:.ME"*$$					%a(			7Ct7K7K$|,Q/0033   1$/000w 6 6 8 899H++--K!44X>>  s??{228<<?OOO		$	&	& &ND%)[&	
  	"JJy!!! JJy1222$" 	/ 	/DJJ-.... 	

37&c#hh'''	0!#&&&&, 	0 	0 	0 Q((a/	0diVW = =>>qABBXu~~/?/?@@]+++%2227<<zBBD D)77M 8 3 39                 s8   BL"G76L7H(H##H((C LLLc                 j    ddl }|j                            t          |                     } d| _        | S )z
    Return a new requirement without the environment marker to avoid
    calling pip with something like `babel; extra == "i18n"`, which
    would always be ignored.
    r   N)r"   r&   r%   r   marker)r   r"   s     r   r5   r5   m   s:      
#
)
)#c((
3
3CCJJr   c                     dd l }	 |                    d           d S # |j        $ r$ |                     dt          j                   Y d S w xY w)Nr   r3   z,WARNING: The wheel package is not available.)r"   get_distributionDistributionNotFoundannouncer   WARN)r   r"   s     r   r   r   {   sp    P&&w/////- P P PDchOOOOOOPs    *A
Ac                       e Zd ZdZdZdS )r   z9setuptools.installer and fetch_build_eggs are deprecated.z
    Requirements should be satisfied by a PEP 517 installer.
    If you are using pip, you can try `pip install --use-pep517`.
    N)__name__
__module____qualname___SUMMARY_DETAILS r   r   r   r      s        JHHHHr   r   )rJ   r7   rG   rC   rA   	distutilsr   distutils.errorsr   	functoolsr    r   r3   r   warningsr	   r   r   r*   r   r5   r   r   ri   r   r   <module>ro      s4    				     



        + + + + + +                   2 2 2 2 2 2  / / /   : : :z  P P P    7     r   