
    /h                     j    d dl mZmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZmZ  G d de          Zd	S )
    )OptionalUnion   )CharDistributionAnalysis)CharSetProber)CodingStateMachine)LanguageFilterMachineStateProbingStatec                   r     e Zd ZdZej        fdeddf fdZd
 fdZdee	e
f         defdZdefd	Z xZS )MultiByteCharSetProberz 
    MultiByteCharSetProber
    lang_filterreturnNc                     t                                          |           d | _        d | _        t	          d          | _        d S )N)r        )super__init__distribution_analyzer	coding_sm	bytearray
_last_char)selfr   	__class__s     V/var/www/html/venv/lib/python3.11/site-packages/pip/_vendor/chardet/mbcharsetprober.pyr   zMultiByteCharSetProber.__init__+   s@    [111IM"7;#G,,    c                     t                                                       | j        r| j                                         | j        r| j                                         t	          d          | _        d S )Nr   )r   resetr   r   r   r   )r   r   s    r   r   zMultiByteCharSetProber.reset1   se    > 	#N  """% 	/&,,...#G,,r   byte_strc                 N   | j         J | j        J t          |          D ]\  }}| j                             |          }|t          j        k    r:| j                            d| j        | j	        |           t          j        | _         n|t          j        k    rt          j        | _         n|t          j        k    rs| j                                         }|dk    r+|| j        d<   | j                            | j        |           | j                            ||dz
  |dz            |           |d         | j        d<   | j        t          j        k    rG| j                                        r.|                                 | j        k    rt          j        | _        | j        S )Nz!%s %s prober hit error at byte %sr   r   )r   r   	enumerate
next_stater
   ERRORloggerdebugcharset_namelanguager   NOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlenr   feedstate	DETECTINGgot_enough_dataget_confidenceSHORTCUT_THRESHOLD)r   r   ibytecoding_statechar_lens         r   r.   zMultiByteCharSetProber.feed9   s   ~))))555 ** 	W 	WGAt>44T::L|111!!7%M	   +1|222*3|111>==??66)-DOA&.33DOXNNNN.33HQUQU]4KXVVV%b\:///)99;; 4##%%(???*3zr   c                 F    | j         J | j                                         S )N)r   r2   )r   s    r   r2   z%MultiByteCharSetProber.get_confidence]   s&    )555)88:::r   )r   N)__name__
__module____qualname____doc__r	   NONEr   r   r   bytesr   r   r.   floatr2   __classcell__)r   s   @r   r   r   &   s          6D5H - -N -T - - - - - -- - - - - -"U5)#34 " " " " "H; ; ; ; ; ; ; ; ;r   r   N)typingr   r   chardistributionr   charsetproberr   codingstatemachiner   enumsr	   r
   r   r    r   r   <module>rG      s   < # " " " " " " " 6 6 6 6 6 6 ( ( ( ( ( ( 2 2 2 2 2 2 = = = = = = = = = =9; 9; 9; 9; 9;] 9; 9; 9; 9; 9;r   