
    Q?h                     n    S SK JrJr  SSKJr  SSKJr  SSKJrJ	r	J
r
  SSKJrJrJrJr   " S S\5      rg	)
    )OptionalUnion   )CharSetProber)CodingStateMachine)LanguageFilterMachineStateProbingState)HZ_SM_MODELISO2022CN_SM_MODELISO2022JP_SM_MODELISO2022KR_SM_MODELc                      ^  \ 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 j5       r\	S\
\   4S	 j5       rS\4S
 jrS\\\4   S\4S jrSrU =r$ )EscCharSetProber)   z
This CharSetProber uses a "code scheme" approach for detecting encodings,
whereby easily recognizable escape or shift sequences are relied on to
identify these encodings.
lang_filterreturnNc                   > [         TU ]  US9  / U l        U R                  [        R
                  -  (       aP  U R                  R                  [        [        5      5        U R                  R                  [        [        5      5        U R                  [        R                  -  (       a(  U R                  R                  [        [        5      5        U R                  [        R                  -  (       a(  U R                  R                  [        [        5      5        SU l        S U l        S U l        ["        R$                  U l        U R)                  5         g )N)r   r   )super__init__	coding_smr   r   CHINESE_SIMPLIFIEDappendr   r   r   JAPANESEr   KOREANr   active_sm_count_detected_charset_detected_languager
   	DETECTING_statereset)selfr   	__class__s     C/var/www/html/env/lib/python3.13/site-packages/chardet/escprober.pyr   EscCharSetProber.__init__0   s    [1n???NN!!"4["ABNN!!"45G"HIn555NN!!"45G"HIn333NN!!"45G"HI 0415",,

    c                    > [         TU ]  5         U R                   H  nSUl        UR                  5         M     [	        U R                  5      U l        S U l        S U l        g )NT)r   r!   r   activelenr   r   r   )r"   r   r#   s     r$   r!   EscCharSetProber.reset@   sO    I#IOO (  #4>>2!%"&r&   c                     U R                   $ Nr   r"   s    r$   charset_nameEscCharSetProber.charset_nameI   s    %%%r&   c                     U R                   $ r,   )r   r.   s    r$   languageEscCharSetProber.languageM   s    &&&r&   c                 ,    U R                   (       a  S$ S$ )NgGz?g        r-   r.   s    r$   get_confidenceEscCharSetProber.get_confidenceQ   s    --t747r&   byte_strc                 *   U GH  nU R                    H  nUR                  (       d  M  UR                  U5      nU[        R                  :X  aS  SUl        U =R
                  S-  sl        U R
                  S::  a%  [        R                  U l        U R                  s  s  $ M  U[        R                  :X  d  M  [        R                  U l        UR                  5       U l        UR                  U l        U R                  s  s  $    GM     U R                  $ )NFr   r   )r   r(   
next_stater	   ERRORr   r
   NOT_MEr    stateITS_MEFOUND_ITget_coding_state_machiner   r2   r   )r"   r7   cr   coding_states        r$   feedEscCharSetProber.feedT   s    A!^^	 ''(33A6<#5#55',I$((A-(++q0&2&9&9#zz) 1 "\%8%88"."7"7DK-6-O-O-QD*.7.@.@D+::% , " zzr&   )r   r   r    r   r   )r   N)__name__
__module____qualname____firstlineno____doc__r   NONEr   r!   propertyr   strr/   r2   floatr5   r   bytes	bytearrayr
   rB   __static_attributes____classcell__)r#   s   @r$   r   r   )   s     6D5H5H N T   ' &hsm & & '(3- ' '8 8U5)#34   r&   r   N)typingr   r   charsetproberr   codingstatemachiner   enumsr   r	   r
   escsmr   r   r   r   r    r&   r$   <module>rW      s,   8 # ( 2 = = =} =r&   