
    j                    ^    U d Z ddlmZ ddlmZ dZded<    eddh          Zd	ed
<   ddZ	dS )z*Stage 1a: BOM (Byte Order Mark) detection.    )annotations)DetectionResult))     utf-32)     r   )s   ﻿z	utf-8-sig)s   utf-16)s   r   ztuple[tuple[bytes, str], ...]_BOMSr   r   zfrozenset[bytes]_UTF32_BOMSdatabytesreturnDetectionResult | Nonec                    t           D ]`\  }}|                     |          rF|t          v r)t          |           t          |          z
  }|dz  dk    rLt	          |dd          c S adS )zCheck for a byte order mark at the start of *data*.

    :param data: The raw byte data to examine.
    :returns: A :class:`DetectionResult` with confidence 1.0, or ``None``.
       r   g      ?N)encoding
confidencelanguage)r	   
startswithr
   lenr   )r   	bom_bytesr   payload_lens       ^/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/chardet/pipeline/bom.py
detect_bomr      s      % 
U 
U	8??9%% 		U
 K''!$ii#i..8?a''"HtTTTTTT		U 4    N)r   r   r   r   )
__doc__
__future__r   chardet.pipeliner   r	   __annotations__	frozensetr
   r    r   r   <module>r!      s    0 0 0 " " " " " " , , , , , ,(     !*	+>@S*T U U U U U U     r   