U
    yc                     @   sr  d dl mZmZ ddlmZ ddlmZ dZd ZdZ	dZ
dZdZdZd	Zd
ZdZdZe	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e	e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e	e	e	e	e	e	eeeeeeeeeeeeeeeeeeeeeeeeeee	e	e	e	e	eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee	e	e	e	e	e	e	ee	e	eee	e	eee	e	e	e	e	e	e	e	e	e	e	e	e	e	eee	e	ee	ee	e	e	e	e	e	eeeeee	e	e	e	e	e	e	eeeee	e	e	e	e	e	e	e	e	e	eeeeeeeeeeeeeeeeeeeeeeeeeeef ZdZG dd deZdS )    )ListUnion   )CharSetProber)ProbingState                     	   )Qr   r   r   r   r   r   r   r   r   r   r	   r	   r	   r	   r	   r	   r	   r   r   r	   r	   r	   r	   r	   r	   r	   r   r   r	   r	   r	   r   r   r	   r	   r   r   r	   r	   r	   r   r   r   r   r   r   r	   r	   r	   r	   r	   r	   r	   r   r   r	   r   r	   r   r   r   r	   r   r   r	   r   r	   r   r   r	   r	   r   r   r   r   r   r   r   r   r   r   c                       s~   e Zd Zdd fddZdd fddZeedddZeedd	d
Ze	e
ef edddZedddZ  ZS )MacRomanProberN)returnc                    s"   t    t| _g | _|   d S )N)super__init__OTH_last_char_class_freq_counterresetself	__class__ A/tmp/pip-build-0we0fmvo/pip/pip/_vendor/chardet/macromanprober.pyr   n   s    
zMacRomanProber.__init__c                    s*   t | _dgt | _d| jd< t   d S )Nr   
   r   )r   r   FREQ_CAT_NUMr   r   r   r   r   r   r   r   t   s    
zMacRomanProber.resetc                 C   s   dS )NZMacRomanr   r   r   r   r   charset_name   s    zMacRomanProber.charset_namec                 C   s   dS )N r   r   r   r   r   language   s    zMacRomanProber.language)byte_strr   c                 C   s`   |  |}|D ]J}t| }t| jt |  }|dkr@tj| _ qZ| j|  d7  < || _q| j	S )Nr   r   )
Zremove_xml_tagsMacRoman_CharToClassMacRomanClassModelr   	CLASS_NUMr   NOT_ME_stater   state)r   r"   c
char_classfreqr   r   r   feed   s    
zMacRomanProber.feedc                 C   sX   | j tjkrdS t| j}|dk r&dn| jd | jd d  | }t|d}|d9 }|S )Ng{Gz?g        r	   r   g      4@g\(\?)r(   r   r&   sumr   max)r   total
confidencer   r   r   get_confidence   s    

zMacRomanProber.get_confidence)__name__
__module____qualname__r   r   propertystrr   r!   r   bytes	bytearrayr   r,   floatr1   __classcell__r   r   r   r   r   m   s   r   N)typingr   r   charsetproberr   enumsr   r   UDFr   ASCASSACVACOASVASOZODDr%   r#   r$   r   r   r   r   r   <module>   s   	                                                                                                                                                                                                                                '