
    *,h
                     Z    d dl mZ ddlmZ ddlmZ ddlmZmZ ddl	m
Z
  G d de      Zy	)
    )Union   )CharSetProber)CodingStateMachine)MachineStateProbingState)UTF8_SM_MODELc                        e Zd ZdZd
 fdZd
 fdZedefd       Zedefd       Z	de
eef   defdZdefd	Z xZS )
UTF8Proberg      ?returnc                 x    t         |           t        t              | _        d| _        | j                          y Nr   )super__init__r   r	   	coding_sm_num_mb_charsresetself	__class__s    `/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pip/_vendor/chardet/utf8prober.pyr   zUTF8Prober.__init__'   s+    +M:

    c                 d    t         |           | j                  j                          d| _        y r   )r   r   r   r   r   s    r   r   zUTF8Prober.reset-   s$    r   c                      y)Nzutf-8 r   s    r   charset_namezUTF8Prober.charset_name2   s    r   c                      y)N r   r   s    r   languagezUTF8Prober.language6   s    r   byte_strc                 2   |D ]  }| j                   j                  |      }|t        j                  k(  rt        j
                  | _         ns|t        j                  k(  rt        j                  | _         nI|t        j                  k(  s| j                   j                         dk\  s| xj                  dz  c_         | j                  t        j                  k(  r2| j                         | j                  kD  rt        j                  | _        | j                  S )N   r   )r   
next_stater   ERRORr   NOT_ME_stateITS_MEFOUND_ITSTARTget_current_charlenr   state	DETECTINGget_confidenceSHORTCUT_THRESHOLD)r   r!   ccoding_states       r   feedzUTF8Prober.feed:   s     
	,A>>44Q7L|111*11|222*33|111>>5571<&&!+&
	, ::///""$t'>'>>*33zzr   c                 j    d}| j                   dk  r!|| j                  | j                   z  z  }d|z
  S |S )NgGz?   g      ?)r   ONE_CHAR_PROB)r   unlikes     r   r.   zUTF8Prober.get_confidenceM   s?    !d(($*<*<<<F<r   )r   N)__name__
__module____qualname__r5   r   r   propertystrr   r    r   bytes	bytearrayr   r2   floatr.   __classcell__)r   s   @r   r   r   $   sq    M
 c   #  U5)#34  & r   r   N)typingr   charsetproberr   codingstatemachiner   enumsr   r   mbcssmr	   r   r   r   r   <module>rE      s"   8  ( 2 - !. .r   