a
ˆåÏhRM ã @ sÌ d Z ddlmZ ddlmZ ddlmZmZ ddlmZmZm Z m
Z
ddlmZm
Z
ddlmZmZ ddlmZ dd lmZ dd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
lZdd
l Z dd
l!Z!dd
l"Z"dd
l#Z#dd
l$Z$dd
l%Z%dd
l&Z&ddl'm(Z(m)Z) ddl*m+Z+ dd
l*m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6 ddl/m7Z7m8Z8 ddl9m:Z: ddl;mZ>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ dd
l;Z;ejKde;jLd g d¢ZMdd„ ZNdd„ ZOdd„ ZPdd„ ZQd d!„ ZRG d"d#„ d#e,ƒZSd$d%„ ZTd&d'„ ZUd(d)„ ZVd*d+„ ZWd,d-„ ZXG d.d/„ d/eBƒZYG d0d1„ d1eYƒZZej[ \d2d3¡d4kr„eZZYd5d6„ Z]d7d8„ Z^d9d:„ Z_d;d<„ Z`did=d>„Zad?d@„ ZbdAdB„ ZcdCejdv rÐecZendDdE„ ZedjdGdH„ZfdIdJ„ ZgdKdL„ ZhdMdN„ ZizddOlmjZk W n ely& dPdQ„ ZkY n0 dRdS„ ZjG dTdU„ dUemƒZnen o¡ ZpG dVdW„ dWenƒZqG dXdY„ dYƒZrG dZd[„ d[erƒZsG d\d]„ d]esƒZterjuZuerjvZvd^d_„ Zwd`da„ Zxdbe^fdcdd„Zydedf„ ZzG dgdh„ dhe+ƒZ{d
S )ka%
Easy Install
------------
A tool for doing automatic download/extract/build of distutils-based Python
packages. For detailed documentation, see the accompanying EasyInstall.txt
file, or visit the `EasyInstall home page`__.
__ https://setuptools.readthedocs.io/en/latest/easy_install.html
é )Úglob)Úget_platform)Úconvert_pathÚ
subst_vars)ÚDistutilsArgErrorÚDistutilsOptionErrorÚDistutilsErrorÚDistutilsPlatformError)ÚINSTALL_SCHEMESÚSCHEME_KEYS)ÚlogÚdir_util)Ú
first_line_re)Úfind_executableN)Úget_config_varsÚget_path)ÚSetuptoolsDeprecationWarning)ÚCommand)Ú run_setup)Úsetopt)Úunpack_archive)ÚPackageIndexÚparse_requirement_argÚ
URL_SCHEME)Ú bdist_eggÚegg_info)ÚWheel)Úyield_linesÚnormalize_pathÚresource_stringÚensure_directoryÚget_distributionÚfind_distributionsÚEnvironmentÚRequirementÚDistributionÚPathMetadataÚEggMetadataÚ
WorkingSetÚDistributionNotFoundÚVersionConflictÚDEVELOP_DISTÚdefault)Úcategory)ÚsamefileÚeasy_installÚPthDistributionsÚextract_wininst_cfgÚget_exe_prefixesc C s t d¡dkS )NÚPé )ÚstructÚcalcsize© r7 r7 úC/usr/lib/python3.9/site-packages/setuptools/command/easy_install.pyÚis_64bitJ s r9 c C sj t j | ¡ot j |¡}tt jdƒo&|}|r:t j | |¡S t j t j | ¡¡}t j t j |¡¡}||kS )z
Determine if two paths reference the same file.
Augments os.path.samefile to work on Windows and
suppresses errors if the path doesn't exist.
r. )ÚosÚpathÚexistsÚhasattrr. ÚnormpathÚnormcase)Zp1Zp2Z
both_existZuse_samefileZnorm_p1Znorm_p2r7 r7 r8 r. N s r. c C s
| d¡S )NÚutf8)Úencode©Úsr7 r7 r8 Ú _to_bytes^ s rD c C s* z| d¡ W dS ty$ Y dS 0 d S )NÚasciiTF)rA ÚUnicodeErrorrB r7 r7 r8 Úisasciib s
rG c C s t | ¡ ¡ dd¡S )NÚ
z; )ÚtextwrapÚdedentÚstripÚreplace)Útextr7 r7 r8 Ú
_one_linerj s rN c @ sx e Zd ZdZdZdZdddddd d
ddd
ddddddddddddddej fgZg d¢Z ddiZ
eZdd „ Z
d!d"„ Zd#d$„ Zed%d&„ ƒZd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ ZdŽd1d2„Zd3d4„ Zd5d6„ Zd7d8„ Ze d9¡ ¡ Ze d:¡ ¡ Ze d;¡ ¡ Z d