
    OfcU                     >    d dl mZ d dlmZmZ  G d de          ZdS )   )CharSetProber)ProbingStateMachineStatec                   f     e Zd ZdZd	 fd	Z fdZed             Zed             Zd Z	d Z
 xZS )
MultiByteCharSetProberz 
    MultiByteCharSetProber
    Nc                     t          t          |                               |           d | _        d | _        ddg| _        d S )N)lang_filter    )superr   __init__distribution_analyzer	coding_sm
_last_char)selfr	   	__class__s     7lib/python3.11/site-packages/chardet/mbcharsetprober.pyr   zMultiByteCharSetProber.__init__'   sC    $d++444MMM%)"a&    c                     t          t          |                                            | j        r| j                                         | j        r| j                                         ddg| _        d S )Nr
   )r   r   resetr   r   r   )r   r   s    r   r   zMultiByteCharSetProber.reset-   sm    $d++11333> 	#N  """% 	/&,,...a&r   c                     t           NNotImplementedErrorr   s    r   charset_namez#MultiByteCharSetProber.charset_name5       !!r   c                     t           r   r   r   s    r   languagezMultiByteCharSetProber.language9   r   r   c                 V   t          t          |                    D ]}| j                            ||                   }|t          j        k    r:| j                            d| j        | j	        |           t          j        | _         n|t          j        k    rt          j        | _         n|t          j        k    ry| j                                        }|dk    r1|d         | 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   )rangelenr   
next_stater   ERRORloggerdebugr   r   r   NOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlenr   r   feedstate	DETECTINGgot_enough_dataget_confidenceSHORTCUT_THRESHOLD)r   byte_stricoding_statechar_lens        r   r-   zMultiByteCharSetProber.feed=   s   s8}}%% 	> 	>A>44Xa[AAL|11 >!!"E"&"3T]AG G G*1!44 
>*3!33 >>==??6 >)1!DOA&.33DOXNNNN.33HQU1q5[4I4<> > > &b\:// 	4*::<< 4((**T-DD4*3zr   c                 4    | j                                         S r   )r   r1   r   s    r   r1   z%MultiByteCharSetProber.get_confidenceZ   s    )88:::r   r   )__name__
__module____qualname____doc__r   r   propertyr   r   r-   r1   __classcell__)r   s   @r   r   r   "   s         ! ! ! ! ! !! ! ! ! ! " " X" " " X"  :; ; ; ; ; ; ;r   r   N)charsetproberr   enumsr   r   r    r   r   <module>rA      se   < ) ( ( ( ( ( - - - - - - - -9; 9; 9; 9; 9;] 9; 9; 9; 9; 9;r   