a
    ǏPf                     @   s   U d dl Z d dlZd dlZd dlZd dlmZmZ e jdfe jdfe j	dfe j
dfe jdfe jdfe jd	fgZeeeef  ed
< edZeedddZdS )    N)ListTuplezutf-8zutf-16z	utf-16-bez	utf-16-lezutf-32z	utf-32-bez	utf-32-leBOMSs   coding[:=]\s*([-\w.]+))datareturnc                 C   s   t D ],\}}| |r| t|d |  S q| ddd D ]T}|dd dkrDt|rDt|}|dusxJ | d d}| |  S qD| t	dpt
 S )	zCheck a bytes string for a BOM to correctly detect the encoding

    Fallback to locale.getpreferredencoding(False) like open() on Python3N   
   r         #asciiF)r   
startswithlendecodesplitENCODING_REsearchgroupslocalegetpreferredencodingsysgetdefaultencoding)r   bomencodinglineresult r   ]/var/www/html/python-backend/venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.pyauto_decode   s    

r   )codecsr   rer   typingr   r   BOM_UTF8	BOM_UTF16BOM_UTF16_BEBOM_UTF16_LE	BOM_UTF32BOM_UTF32_BEBOM_UTF32_LEr   bytesstr__annotations__compiler   r   r   r   r   r   <module>   s   


