XylotrechusZ
U
��.e( � @ s� d dl Z d dlZd dlZd dlZd dlmZ erDd dlmZmZm Z e j
dfe jdfe jdfe j
dfe jdfe jd fe jd
fgZe�d�Zdd
� ZdS )� N)�MYPY_CHECK_RUNNING)�List�Tuple�Textzutf-8zutf-16z utf-16-bez utf-16-lezutf-32z utf-32-bez utf-32-les coding[:=]\s*([-\w.]+)c C s� t D ],\}}| �|�r| t|�d� �|� S q| �d�dd� D ]D}|dd� dkrDt�|�rDt�|��� d �d�}| �|� S qD| �t� d�p�t
�� �S ) z�Check a bytes string for a BOM to correctly detect the encoding
Fallback to locale.getpreferredencoding(False) like open() on Python3N�
� r � � #�asciiF)�BOMS�
startswith�len�decode�split�ENCODING_RE�search�groups�localeZgetpreferredencoding�sys�getdefaultencoding)�dataZbom�encoding�line� r �@/usr/lib/python3.8/site-packages/pip/_internal/utils/encoding.py�auto_decode s
�r )�codecsr �rer Zpip._internal.utils.typingr �typingr r r �BOM_UTF8� BOM_UTF16�BOM_UTF16_BE�BOM_UTF16_LE� BOM_UTF32�BOM_UTF32_BE�BOM_UTF32_LEr �compiler r r r r r �<module> s �