3
Q'ícË ã @ sj d dl Z d dlZd dlZe jdfe jdfe jdfe jdfe jdfe jdfe j dfgZ
ejd Zd
d Z
dS )é NÚutf8Úutf16zutf16-bezutf16-leÚutf32zutf32-bezutf32-les coding[:=]\s*([-\w.]+)c C s x0t D ](\}}| j|r| t|d
j|S qW xV| jddd
D ]@}|dd
dkrFtj|rFtj|j d jd}| j|S qFW | jtj dS ) zCheck 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ÚlocaleÚgetpreferredencoding)ÚdataÚbomÚencodingÚline© r ú1/tmp/pip-build-l_bcah40/pip/pip/utils/encoding.pyÚauto_decode s
r )Úcodecsr ÚreÚBOM_UTF8Ú BOM_UTF16ÚBOM_UTF16_BEÚBOM_UTF16_LEÚ BOM_UTF32ÚBOM_UTF32_BEÚBOM_UTF32_LEr