shell bypass 403
�
f�� � �� � d dl mZ d dlZd dlZd dlZd dlmZ d dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlZddlmZmZ ddlmZmZmZmZmZ ddlmZ ddlmZmZmZ dd l m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* dd
l+m,Z,m-Z- e j\ e/� Z0da1 e2ed� rdZ3n2ejh jk d
� rdZ3nejh dk( rdZ3ndZ3 ejl d� Z7e7sdejp dd z Z7de7z Z9e3e7z Z: e*� jw dd� jw dd� Z< ejl d� Z=e=r6e=jk d� r%e=jw dd� j} d� d Z=nd� Z? e?� Z=[? ej� dej� ej� z � ZC ej� dej� ej� z � ZD ej� d� ZE ej� d� ZFd ZGd!ZHe
j� d"k( rd#� ZJnd$� ZJejp d d%k rd dlKZKn
dZKd dlLZMd dlNZMd&� ZOd'� ZP G d(� d)eQ� ZR eR� ZS G d*� d+eQ� ZTd,� ZUd-� ZV eV� ZW[Vd/d.�ZXy)0� )�unicode_literalsN)�message_from_file� )�__version__�DistlibException)� sysconfig�ZipFile�fsdecode� text_type�filter)�InstalledDistribution)�Metadata�WHEEL_METADATA_FILENAME�LEGACY_METADATA_FILENAME)
�FileOperator�convert_path� CSVReader� CSVWriter�Cache�cached_property�get_cache_base�read_exports�tempdir�get_platform)�NormalizedVersion�UnsupportedVersionError�pypy_version_info�pp�java�jy�cli�ip�cp�py_version_nodotz%s%s� �py�-�_�.�SOABIzcpython-c � � dt g} t j d� r| j d� t dk( r�t
j d d }|dk rqt j d� }|�d}|r| j d� |d k r@t j d
� }|dk( s|�$t
j dk( r| j d
� dj | � S )Nr# �Py_DEBUG�dr% )� � �
WITH_PYMALLOCT�m)r. r. �Py_UNICODE_SIZE� i�� �u� ) �
VER_SUFFIXr �get_config_var�append�
IMP_PREFIX�sys�version_info�
maxunicode�join)�parts�vi�wpm�uss �D/usr/local/python-3.12/lib/python3.12/site-packages/distlib/wheel.py�_derive_abirC ; s� � ��z�"���#�#�J�/��L�L�������!�!�"�1�%�B��F�{��.�.��?���;��C���L�L��%���;�"�1�1�2C�D�B��Q�w�2�:�#�.�.�H�2L����S�)��w�w�u�~�� zz
(?P<nm>[^-]+)
-(?P<vn>\d+[^-]*)
(-(?P<bn>\d+[^-]*))?
-(?P<py>\w+\d+(\.\w+\d+)*)
-(?P<bi>\w+)
-(?P<ar>\w+(\.\w+)*)
\.whl$
z7
(?P<nm>[^-]+)
-(?P<vn>\d+[^-]*)
(-(?P<bn>\d+[^-]*))?$
s
\s*#![^\r\n]*s ^(\s*#!("[^"]+"|\S+))\s+(.*)$s #!pythons #!pythonw�/c � � | S �N� ��os rB �<lambda>rK h s � �� rD c �B � | j t j d� S )NrE )�replace�os�seprI s rB rK rK j s � ����2�6�6�3�/� rD r. c � � t r%t j � D � cg c] } | d �� c} S t j j S c c} w )Nr )�imp�get_suffixes� importlib� machinery�EXTENSION_SUFFIXES)�ss rB �
_get_suffixesrW t s: � �
�!�.�.�0�1���!��1�1��"�"�5�5�5�� 2s �Ac � � t rt j | |� S t j j | |� }t j j |� }|t j | <