
    @[h\                     n    d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ  G d de
          Zd	S )
   )EUCJPDistributionAnalysis)CodingStateMachine)MachineStateProbingState)EUCJPContextAnalysis)MultiByteCharSetProber)EUCJP_SM_MODELc                   `     e Zd Z fdZ fdZed             Zed             Zd Zd Z	 xZ
S )EUCJPProberc                     t                                                       t          t                    | _        t                      | _        t                      | _        | 	                                 d S N)
super__init__r   r	   	coding_smr   distribution_analyzerr   context_analyzerresetself	__class__s    n/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/pip/_vendor/chardet/eucjpprober.pyr   zEUCJPProber.__init__%   sU    +N;;%>%@%@" 4 6 6

    c                 z    t                                                       | j                                         d S r   )r   r   r   r   s    r   r   zEUCJPProber.reset,   s/    ##%%%%%r   c                     dS )NzEUC-JP r   s    r   charset_namezEUCJPProber.charset_name0   s    xr   c                     dS )NJapaneser   r   s    r   languagezEUCJPProber.language4   s    zr   c                    t          |          D ]Z\  }}| j                            |          }|t          j        k    r:| j                            d| j        | j        |           t          j
        | _         n|t          j        k    rt          j        | _         n|t          j        k    r| j                                        }|dk    rL|| j        d<   | j                            | j        |           | j                            | j        |           | j                            ||dz
  |dz            |           | 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 %s    r   )	enumerater   
next_stater   ERRORloggerdebugr   r    r   NOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlen
_last_charr   feedr   state	DETECTINGgot_enough_dataget_confidenceSHORTCUT_THRESHOLD)r   byte_stribytecoding_statechar_lens         r   r0   zEUCJPProber.feed8   s    ** 	W 	WGAt>44T::L|111!!7%M	   +1|222*3|111>==??66)-DOA&)..tIII.33DOXNNNN)..xAA/FQQQ.33HQUQU]4KXVVV%b\:///$4466 4##%%(???*3zr   c                     | j                                         }| j                                        }t          ||          S r   )r   r4   r   max)r   context_confdistrib_confs      r   r4   zEUCJPProber.get_confidence\   s:    ,;;==1@@BB<...r   )__name__
__module____qualname__r   r   propertyr   r    r0   r4   __classcell__)r   s   @r   r   r   $   s            & & & & &   X   X" " "H/ / / / / / /r   r   N)chardistributionr   codingstatemachiner   enumsr   r   jpcntxr   mbcharsetproberr   mbcssmr	   r   r   r   r   <module>rJ      s   8 8 7 7 7 7 7 2 2 2 2 2 2 - - - - - - - - ( ( ( ( ( ( 3 3 3 3 3 3 " " " " " ";/ ;/ ;/ ;/ ;/( ;/ ;/ ;/ ;/ ;/r   