shell bypass 403
U
��.e& � @ s� d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl mZ
ddlmZ ddl
mZ ddlmZ ddlmZ dd lmZ er�dd
lmZmZmZmZmZ e�d�Zdd
� Zdd� Ze�d�Z e�!� �"� dkr�e
�#� Z ze�$� Z%W n e&k
�r ej'Z%Y nX e�r`ej(�)ej*d�Z+ej(�)e%d�Z,ej(�-e+��s�ej(�)ej*d�Z+ej(�)e%d�Z,nJej(�)ej*d�Z+ej(�)e%d�Z,ejdd� dk�r�ej*dd� dk�r�dZ+ddd�Z.dS )z7Locations where we look for configs, install stuff, etc� )�absolute_importN)� sysconfig)�SCHEME_KEYS)�appdirs)�WINDOWS)�MYPY_CHECK_RUNNING)�running_under_virtualenv)�Any�Union�Dict�List�OptionalZpipc C s dj tj� S )ze
Return the major-minor version of the current Python as a string, e.g.
"3.7" or "3.10".
z{}.{})�format�sys�version_info� r r �;/usr/lib/python3.8/site-packages/pip/_internal/locations.py�get_major_minor_version s r c C sZ t � rtj�tjd�} n6ztj�t�� d�} W n tk
rL t�d� Y nX tj� | �S )N�srcz=The folder you are executing pip from can no longer be found.)
r �os�path�joinr �prefix�getcwd�OSError�exit�abspath)Z
src_prefixr r r �get_src_prefix( s �
r �purelibZpypyZScripts�bin� �darwin� z/System/Library/z/usr/local/binFc C s� ddl m} i }|r ddgi}ni }d| i} | �|� || �}
|
�� |
jddd�}|d k s`t�|rx|rxtd
�||���|r�|r�td�||���|p�|j|_|s�|r�d|_|p�|j|_|p�|j |_ |p�|j
|_
|�� tD ]}t
|d
| �||<