관리-도구
편집 파일: compat.cpython-38.pyc
U ��.e�� � @ sB d dl mZ d dlZd dlZd dlZzd dlZW n ek rH dZY nX ejd dk �r~d dlmZ e fZ eZd dl mZ d dlZd dlZddlmZ d dlmZmZmZmZmZ d d lmZmZmZm Z m!Z!m"Z"m#Z# d d� Zd dl$Z$d dl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- e�r&d d l$m.Z. d dl/Z/d dl0Z0d dl1Z2d dl3m3Z3 d dl4Z4e5Z5d dl6m7Z8 d dl6m9Z: da;dd� Z<�nd dl=mZ e>fZ e>Zd dl=m?Z d dlZd dlZd dlZd dl@mZmZmZm<Z<mZmZmZmZm#Z# d dlAm&Z&mZm%Z%m Z m!Z!m)Z)m*Z*m+Z+m,Z,m-Z- e�r&d d lAm.Z. d dlBm(Z(m'Z'm"Z" d dlCmDZ/ d dlAmEZ$ d dlFmDZ0 d dl2Z2d dlGm3Z3 d dlHmIZ4 eJZ5d dl6m:Z: e8Z8zd dlmKZKmLZL W n8 ek �r� G dd� deM�ZLdddd�ZNdd� ZKY nX zd dl mOZP W n& ek �r G d d!� d!eQ�ZPY nX zd d"lmRZR W n, ek �rT ejSejTB dfd#d$�ZRY nX d d%lUmVZW eXeWd&��rteWZVn,d d'lUmYZZ G d(d)� d)eZ�ZYG d*d+� d+eW�ZVzd d,l[m\Z\ W n ek �r� d-d.� Z\Y nX zd dl]Z]W n" ek �r� dd/lm]Z] Y nX ze^Z^W n* e_k �r2 d d0l`maZa d1d2� Z^Y nX zejbZbejcZcW nH edk �r� e�e� �pbd3Zfefd4k�rtd5Zgnd6Zgd7d8� Zbd9d:� ZcY nX zd d;lhmiZi W nH ek �r� d d<ljmkZkmlZl d dlZe�md=�Znd>d?� Zod@dA� ZiY nX zd dBlpmqZq W n" ek �r d dBlrmqZq Y nX ejddC� dDk �r:e3� jsZsnd dElpmsZs zd dFl`mtZt W nd ek �r� d dGl`muZu zd dHlvmwZx W n ek �r� dedJdK�ZxY nX G dLdM� dMeu�ZtY nX zd dNlymzZz W nH ek �r zd dNl{mzZz W n ek �r dfdOdP�ZzY nX Y nX zd dQl`m|Z| W n� ek �r� zd dRl}m~Z W n" ek �rj d dRl�m~Z Y nX zd dSl�m�Z�m�Z�m�Z� W n ek �r� Y nX G dTdU� dUe��Z|Y nX zd dVl�m�Z�m�Z� W nv ek �r< e�mdWej��Z�dXdY� Z�G dZd[� d[e��Z�dgd\d]�Z�G d^d_� d_e��Z�G d`da� dae��Z�G dbdc� dceQ�Z�Y nX dS )h� )�absolute_importN� )�StringIO)�FileType� )�shutil)�urlparse� urlunparse�urljoin�urlsplit� urlunsplit)�urlretrieve�quote�unquote�url2pathname�pathname2url�ContentTooShortError� splittypec C s t | t�r| �d�} t| �S )N�utf-8)� isinstance�unicode�encode�_quote)�s� r �>/usr/lib/python3.8/site-packages/pip/_vendor/distlib/compat.pyr s r ) �Request�urlopen�URLError� HTTPError�HTTPBasicAuthHandler�HTTPPasswordMgr�HTTPHandler�HTTPRedirectHandler�build_opener)�HTTPSHandler)� HTMLParser)�ifilter)�ifilterfalsec C s<