
    Q?h                     b    S SK JrJr  SSKJr  SSKJr  SSKJr  SSK	J
r
JrJr   " S S\5      rg	)
    )OptionalUnion   )CharDistributionAnalysis)CharSetProber)CodingStateMachine)LanguageFilterMachineStateProbingStatec                      ^  \ rS rSrSr\R                  4S\SS4U 4S jjjrSU 4S jjrS\	\
\4   S\4S	 jrS\4S
 jrSrU =r$ )MultiByteCharSetProber&   z
MultiByteCharSetProber
lang_filterreturnNc                 \   > [         TU ]  US9  S U l        S U l        [	        S5      U l        g )N)r        )super__init__distribution_analyzer	coding_sm	bytearray
_last_char)selfr   	__class__s     I/var/www/html/env/lib/python3.13/site-packages/chardet/mbcharsetprober.pyr   MultiByteCharSetProber.__init__+   s.    [1IM"7;#G,    c                    > [         TU ]  5         U R                  (       a  U R                  R                  5         U R                  (       a  U R                  R                  5         [	        S5      U l        g )Nr   )r   resetr   r   r   r   )r   r   s    r   r   MultiByteCharSetProber.reset1   sJ    >>NN  "%%&&,,.#G,r   byte_strc                    U R                   c   eU R                  c   e[        U5       GH:  u  p#U R                   R                  U5      nU[        R
                  :X  aI  U R                  R                  SU R                  U R                  U5        [        R                  U l          OU[        R                  :X  a  [        R                  U l          OU[        R                  :X  d  M  U R                   R!                  5       nUS:X  a7  X0R"                  S'   U R                  R%                  U R"                  U5        GM  U R                  R%                  XS-
  US-    U5        GM=     US   U R"                  S'   U R&                  [        R(                  :X  aR  U R                  R+                  5       (       a3  U R-                  5       U R.                  :  a  [        R                  U l        U R&                  $ )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   r1   MultiByteCharSetProber.feed9   s   ~~)))))555 *GA>>44T:L|111!!7%%MM	 +11|222*33|111>>==?6)-OOA&..33DOOXN..33HUQU4KXV) +, &b\::///))99;;##%(?(??*33zzr   c                 T    U R                   c   eU R                   R                  5       $ )N)r   r5   )r   s    r   r5   %MultiByteCharSetProber.get_confidence]   s)    ))555))88::r   )r   r,   r   r   )r   N)__name__
__module____qualname____firstlineno____doc__r	   NONEr   r   r   bytesr   r   r1   floatr5   __static_attributes____classcell__)r   s   @r   r   r   &   s`     6D5H5H -N -T - --"U5)#34 " "H; ; ;r   r   N)typingr   r   chardistributionr   charsetproberr   codingstatemachiner   enumsr	   r
   r   r    r   r   <module>rN      s%   < # 6 ( 2 = =9;] 9;r   