o aiÃ$ ã @ sØ d dl mZmZmZ d dlmZmZmZ d dlm Z m Z mZ d dlm Z mZmZ d dlmZmZmZ G dd„ deƒZG dd „ d eƒZG d d„ deƒZG dd „ d eƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )é )ÚEUCTW_CHAR_TO_FREQ_ORDERÚEUCTW_TABLE_SIZEÚ EUCTW_TYPICAL_DISTRIBUTION_RATIO)ÚEUCKR_CHAR_TO_FREQ_ORDERÚEUCKR_TABLE_SIZEÚ EUCKR_TYPICAL_DISTRIBUTION_RATIO)ÚGB2312_CHAR_TO_FREQ_ORDERÚGB2312_TABLE_SIZEÚ!GB2312_TYPICAL_DISTRIBUTION_RATIO)ÚBIG5_CHAR_TO_FREQ_ORDERÚBIG5_TABLE_SIZEÚBIG5_TYPICAL_DISTRIBUTION_RATIO)ÚJIS_CHAR_TO_FREQ_ORDERÚJIS_TABLE_SIZEÚJIS_TYPICAL_DISTRIBUTION_RATIOc @ sL e Zd ZdZdZdZdZdd„ Zdd„ Zd d „ Z dd„ Z d d„ Zdd„ ZdS )ÚCharDistributionAnalysisi g®Gáz®ï?g{®Gáz„?é c C s0 d | _ d | _d | _d | _d | _d | _| ¡ d S ©N)Ú_char_to_freq_orderÚ_table_sizeÚtypical_distribution_ratioÚ_doneÚ_total_charsÚ_freq_charsÚreset©Úself© r ú–/builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/chardet/chardistribution.pyÚ__init__. s z!CharDistributionAnalysis.__init__c C s d| _ d| _d| _dS )zreset analyser, clear any stateFé N)r r r r r r r r = s zCharDistributionAnalysis.resetc C sd |dkr | |¡}nd}|dkr,| jd7 _|| jk r.d| j| kr0| jd7 _dS dS dS dS )z"feed a character with known lengthé éÿÿÿÿr r i N)Ú get_orderr r r r )r ÚcharÚchar_lenÚorderr r r ÚfeedF s ûzCharDistributionAnalysis.feedc C sT | j dks| j| jkr| jS | j | jkr'| j| j | j | j }|| jk r'|S | jS )z(return confidence based on existing datar )r r ÚMINIMUM_DATA_THRESHOLDÚSURE_NOr ÚSURE_YES)r Úrr r r Úget_confidenceT s ÿ z'CharDistributionAnalysis.get_confidencec C s | j | jkS r )r ÚENOUGH_DATA_THRESHOLDr r r r Úgot_enough_datad s z(CharDistributionAnalysis.got_enough_datac C s dS )Nr" r )r Úbyte_strr r r r# i s z"CharDistributionAnalysis.get_orderN) Ú__name__Ú __module__Ú__qualname__r- r* r) r( r r r' r, r. r# r r r r r ( s r c ó$ e Zd Z‡ fdd„Zdd„ Z‡ ZS )ÚEUCTWDistributionAnalysisc ó$ t t| ƒ ¡ t| _t| _t| _d S r ) Úsuperr4 r r r r r r r r ©Ú __class__r r r r ó z"EUCTWDistributionAnalysis.__init__c C ó, |d }|dkrd|d |d d S dS )Nr éÄ é^ r é¡ r" r ©r r/ Ú first_charr r r r# x ó z#EUCTWDistributionAnalysis.get_order©r0 r1 r2 r r# Ú __classcell__r r r7 r r4 q ó r4 c r3 )ÚEUCKRDistributionAnalysisc r5 r ) r6 rD r r r r r r r r r7 r r r … r9 z"EUCKRDistributionAnalysis.__init__c C r: )Nr é° r<