XylotrechusZ
a
��Re� � @ s� d dl Z d dlmZ d dlZd dlZd dlmZ d dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZzd dlZW n ey� dZY n0 d dlZd dlZd dlZd dlZd dlZzd dlZW n ey� d dlZY n0 d dlZddlmZ ddlmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 e
�1e2�Z3e
�4d�Z5e
�4d�Z6e
�4d �Z7e
�4d
�Z8e
�4d�Z9e
�4d�Z:e
�4d
�Z;e
�4d�Z<dd� Z=dd� Z>dd� Z?dd� Z@dd� ZAd�dd�ZBdd� ZCdd� ZDdd � ZEejFd!d"� �ZGejFd#d$� �ZHejFd�d&d'��ZIG d(d)� d)eJ�ZKd*d+� ZLG d,d-� d-eJ�ZMd.d/� ZNG d0d1� d1eJ�ZOe
�4d2e
jP�ZQd3d4� ZRd�d5d6�ZSd7d8� ZTd9d:� ZUd;d<� ZVd=d>� ZWd?d@� ZXe
�4dAe
jY�ZZe
�4dB�Z[d�dCdD�Z\e
�4dE�Z]dFdG� Z^dHdI� Z_dJdK� Z`dLZadMdN� ZbdOdP� ZcG dQdR� dReJ�ZdG dSdT� dTeJ�ZeG dUdV� dVeJ�ZfdWZgd�dYdZ�Zhd[d\� Zid]ZjG d^d_� d_eJ�Zke
�4d`�Zle
�4da�Zme
�4db�Zndcdd� Zdedf� Zoe�r�ddglmpZqmrZrmsZs G dhdi� die$jt�ZtG djdk� dkeq�ZpG dldm� dmepe'�Zuejvddn� Zwewdok�rG dpdq� dqe$jx�Zxe�rG drds� dse$jy�ZyG dtdu� due%jz�Zze�r>G dvdw� dwe%j{�Z{G dxdy� dye%j|�Z|dzd{� Z}G d|d}� d}eJ�Z~G d~d� de~�ZG d�d�� d�e~�Z�G d�d�� d�e(�Z�G d�d�� d�eJ�Z�d�d�� Z�G d�d�� d�eJ�Z�d�d�� Z�d�d�� Z�d�d�� Z�d�d�d�d��Z�d�d�� Z�dS )�� N)�deque)�iglob� )�DistlibException)�string_types� text_type�shutil� raw_input�StringIO�cache_from_source�urlopen�urljoin�httplib� xmlrpclib� splittype�HTTPHandler�BaseConfigurator�valid_ident� Container�configparser�URLError�ZipFile�fsdecode�unquote�urlparsez^([\w\.-]+)\s*z^([\w\.*+-]+)\s*z^(<=?|>=?|={2,3}|[~!]=)\s*z*^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*z^or\b\s*z ^and\b\s*z(\S+)\s*z(([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)c s6 dd� �� �fdd���fdd���fdd�� � | �S ) ae
Parse a marker string and return a dictionary containing a marker expression.
The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in
the expression grammar, or strings. A string contained in quotes is to be
interpreted as a literal string, and a string not contained in quotes is a
variable (such as os_name).
c S s. t �| �}|r,|�� d }| |�� d � } n�| s:td��n�| d }|dvrVtd| ��d�|d�}| dd � } |g}| r�| d |kr��qqt| d |kr�|�|� | dd � } qtt�| �}|s�td| ��|�|�� d � | |�� d � } qtd�|�}td| ��|�|� d�|�}| dd � � � } || fS ) Nr zunexpected end of inputz'"zinvalid expression: %s� r zerror in string literal: %szunterminated string: %s)
�
IDENTIFIER�match�groups�end�SyntaxError�replace�append�STRING_CHUNK�join�lstrip)� remaining�m�result�q�oq�parts�s� r- ��/builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/distlib/util.py�
marker_varA s:
z parse_marker.<locals>.marker_varc s� | rR| d dkrR� | dd � � � �\}} | d dkr@td| ��| dd � � � } nZ�| �\}} | r�t�| �}|srq�|�� d }| |�� d � } �| �\}} |||d�}q^|}|| fS )Nr �(r �)�unterminated parenthesis: %s��op�lhs�rhs)r% r � MARKER_OPr r r )r&