HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/qrcode/__pycache__/util.cpython-36.pyc
3

2۞V<�.@sRddlZddlZddlZddlmZddlmZmZd}Zd~Z	dZ
d�Zede	de
d	ed	iZed
e	de
dediZ
ed
e	de
ded
iZejd�Zejejd�eje�ejd��Zdddd�Zgddgddgddgddgddgdddgdddgdddgddd gddd!gdd"d#gddd$gdddd%gddd&d'gddd d(gddd!d)gddd*d+gddd#d,gddd$d-gddd d.d/gddd d(d0gddd!d)d1gddd!d2d3gdd"d#d4d5gddd#d,d6gddd$d-d7gddd d(d0d8gddd!d)d1d9gddd:d)d;d<gddd*d+d=d>gddd?d,d@dAgddd#d,d6dBgddd$d-d7dCgddd!d)d1d9dDgddd dEd1dFdGgddd!d2d3dHdIgdd"d#d4d5dJdKgddd!d+d5dAdLgddd#d,d6dBdMgg(Zd�Zd�Zd�ZdOZdPZdQdR�ZdSdT�ed�D�ZdUdV�ZdWdX�ZdYdZ�Zd[d\�Z d]d^�Z!d_d`�Z"dadb�Z#dcdd�Z$dedf�Z%dgdh�Z&didj�Z'dkdl�Z(d�dmdn�Z)dodp�Z*dqdr�Z+dsdt�Z,Gdudv�dv�Z-Gdwdx�dx�Z.dydz�Z/d{d|�Z0dS)��N)�xrange)�base�
exceptions����
�	������
z-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:z^[z]*\Z��)rrr������"�&��*�.��2�6� �:�>�B�0�F�J�N�8�R�V�Z�H�^�b�f�P�j�T�n�r�v�z�~�4�h��l��<�p�����L������������cCs|jS)N)�
data_count)�block�rP�/usr/lib/python3.6/util.py�<lambda>`srRcs*g|]"�dg�fdd�tdd�D��qS)rc	s&g|]}dttttj|�����qS)r
)�sum�map�_data_countr�	rs_blocks)�.0�version)�error_correctionrPrQ�
<listcomp>bsz<listcomp>.<listcomp>r�))r)rWrP)rYrQrZbsrZcCsJ|d>}x0t|�tt�dkr8|tt|�tt�>N}q
W|d>|BtAS)Nrr)�	BCH_digit�G15�G15_MASK)�data�drPrPrQ�
BCH_type_infohsracCsF|d>}x0t|�tt�dkr8|tt|�tt�>N}q
W|d>|BS)Nrr)r\�G18)r_r`rPrPrQ�BCH_type_numberpsrccCs&d}x|dkr |d7}|dL}qW|S)NrrrP)r_ZdigitrPrPrQr\ws

r\cCst|dS)Nr)�PATTERN_POSITION_TABLE)rXrPrPrQ�pattern_positionsrecCs�|dkrdd�S|dkr dd�S|dkr0dd�S|dkr@d	d�S|d
krPdd�S|dkr`d
d�S|dkrpdd�S|dkr�dd�Std|��dS)z>
    Return the mask function for the given mask pattern.
    rcSs||ddkS)NrrrP)�i�jrPrPrQrR�szmask_func.<locals>.<lambda>rcSs|ddkS)NrrrP)rfrgrPrPrQrR�srcSs|ddkS)NrrrP)rfrgrPrPrQrR�srcSs||ddkS)NrrrP)rfrgrPrPrQrR�srcSs$tj|d�tj|d�ddkS)Nrrr)�math�floor)rfrgrPrPrQrR�srKcSs||d||ddkS)NrrrrP)rfrgrPrPrQrR�srcSs ||d||dddkS)NrrrrP)rfrgrPrPrQrR�srcSs ||d||dddkS)NrrrrP)rfrgrPrPrQrR�szBad mask pattern: N)�	TypeError)�patternrPrPrQ�	mask_func�s"rlcCs |dkrtS|dkrtStSdS)Nr�)�MODE_SIZE_SMALL�MODE_SIZE_MEDIUM�MODE_SIZE_LARGE)rXrPrPrQ�mode_sizes_for_version�s
rqcCsD|ttttfkrtd|��|dks,|dkr8td|��t|�|S)NzInvalid mode (%s)r�(z*Invalid version (was %s, expected 1 to 40))�MODE_NUMBER�MODE_ALPHA_NUM�MODE_8BIT_BYTE�
MODE_KANJIrj�
ValueErrorrq)�moderXrPrPrQ�length_in_bits�s
rycCsDt|�}d}t||�}|t||�7}|t||�7}|t||�7}|S)Nr)�len�_lost_point_level1�_lost_point_level2�_lost_point_level3�_lost_point_level4)�modules�
modules_count�
lost_pointrPrPrQr��s
r�cCs
d}t|�}d}d}d	}d}d}d}	x�|D]�}
|
dkr<|}n|
|dkrN|}n|}x�|D]�}d}
||
|}|dkrz|}n||dkr�|}n|	}xT|D]L}|
|}|dkr�d}nd}x,||D] }|||||kr�|
d7}
q�Wq�W|
dkrX|d|
d7}qXWq*W|S)NrrrKr)rr���)r�rr�)r�rr�rr�r)r�r�r��r�rr��r�)r�r�r��r�rrr��r�r)r�r�)r)rr�r��
modules_rangeZrow_range_firstZrow_range_lastZrow_range_standardZcol_range_firstZcol_range_lastZcol_range_standard�rowZ	row_range�colZ	sameCountZdarkZ	col_range�r�
row_offsetZcol_idx�crPrPrQr{�sB


r{c	Cs�d}t|d�}x�|D]�}||}||d}xp|D]h}d}||rL|d7}||r\|d7}||drp|d7}||dr�|d7}|dks�|dkr4|d7}q4WqW|S)Nrrrr)r)	rr�r�r�r��this_rowZnext_rowr��countrPrPrQr|�s$

r|cCs0t|d�}d}x�t|�D]v}||}xh|D]`}||r,||dr,||dr,||dr,||dr,||dr,||dr,|d7}q,WqWx�t|�D]�}x�|D]|}|||r�||d|r�||d|r�||d|r�||d|r�||d|r�||d|r�|d7}q�Wq�W|S)	NrrrrrrrKrr)r)rr�Zmodules_range_shortr�r�r�r�rPrPrQr}	s0

r}cCsdt|�}d}x2|D]*}||}x|D]}||r$|d7}q$WqWtd|||d�d}|dS)Nrr�drrKr)r�abs)rr�r�Z
dark_countr�r�r�ZratiorPrPrQr~'s

r~ccs�t|�}tjd�tj|�jd�tjd�}tjtjd�|�}t||�}tjtjd�tjt	�tjd�|�}x\|D]T\}}|r�t
|tdd�Vqxx4t||�D]&\}}	|r�t}
nt
}
t
|	|
dd�Vq�WqxWd	S)
z�
    An iterator returning QRData chunks optimized to the data content.

    :param minimum: The minimum number of bytes in a row to split as a chunk.
    �{�asciiz,}z\d�[�]F)rx�
check_dataN)�
to_bytestring�six�b�	text_type�encode�re�compile�_optimal_split�escape�	ALPHA_NUM�QRDatarsrtru)r_ZminimumZ	re_repeatZnum_patternZnum_bitsZ
alpha_patternZis_num�chunkZis_alphaZ	sub_chunkrxrPrPrQ�optimal_data_chunks5s$
$r�ccstx`|r`tj||�}|sP|j�|j�}}|r@d|d|�fVd|||�fV||d�}qW|rpd|fVdS)NFT)r��search�start�end)r_rk�matchr�r�rPrPrQr�Nsr�cCs t|tj�stj|�jd�}|S)z^
    Convert data to a (utf-8 encoded) byte-string if it isn't a byte-string
    already.
    zutf-8)�
isinstancer�Zbinary_typer�r�)r_rPrPrQr�\sr�cCs|j�rtStj|�rtStS)z<
    Calculate the optimal mode for this chunk of data.
    )�isdigitrs�RE_ALPHA_NUMr�rtru)r_rPrPrQ�optimal_modefs

r�c@s2eZdZdZddd�Zdd�Zdd	�Zd
d�ZdS)
r�zS
    Data held in a QR compatible format.

    Doesn't currently handle KANJI.
    NTcCsh|rt|�}|dkr t|�|_n>||_|tttfkr@td|��|r^|t|�kr^tdj|���||_	dS)zg
        If ``mode`` isn't provided, the most compact QR data type possible is
        chosen.
        NzInvalid mode (%s)z0Provided data can not be represented in mode {0})
r�r�rxrsrtrurjrw�formatr_)�selfr_rxr�rPrPrQ�__init__xszQRData.__init__cCs
t|j�S)N)rzr_)r�rPrPrQ�__len__�szQRData.__len__cCs|jtkrVxHtdt|j�d�D]2}|j||d�}tt|�}|jt|�|�qWn�|jtkr�x�tdt|j�d�D]^}|j||d�}t|�dkr�|jt	j
|d�dt	j
|d�d�qt|jt	j
|�d�qtWn8tjr�|j}ndd	�|jD�}x|D]}|j|d
�q�WdS)Nrrrr�-rrcSsg|]}t|��qSrP)�ord)rWr�rPrPrQrZ�sz QRData.write.<locals>.<listcomp>r
)
rxrsrrzr_�
NUMBER_LENGTH�put�intrtr��findr�ZPY3)r��bufferrf�chars�
bit_lengthr_r�rPrPrQ�write�s$


zQRData.writecCs
t|j�S)N)�reprr_)r�rPrPrQ�__repr__�szQRData.__repr__)NT)�__name__�
__module__�__qualname__�__doc__r�r�r�r�rPrPrPrQr�qs

r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�	BitBuffercCsg|_d|_dS)Nr)r��length)r�rPrPrQr��szBitBuffer.__init__cCsdjdd�|jD��S)N�.cSsg|]}t|��qSrP)�str)rW�nrPrPrQrZ�sz&BitBuffer.__repr__.<locals>.<listcomp>)�joinr�)r�rPrPrQr��szBitBuffer.__repr__cCs,tj|d�}|j|d|d?d@dkS)Nr
rr)rhrir�)r��index�	buf_indexrPrPrQ�get�sz
BitBuffer.getcCs4x.t|�D]"}|j|||d?d@dk�q
WdS)Nr)�range�put_bit)r�Znumr�rfrPrPrQr��sz
BitBuffer.putcCs|jS)N)r�)r�rPrPrQr��szBitBuffer.__len__cCsV|jd}t|j�|kr$|jjd�|rD|j|d|jd?O<|jd7_dS)Nr
rrCr)r�rzr��append)r��bitr�rPrPrQr��s
zBitBuffer.put_bitN)	r�r�r�r�r�r�r�r�r�rPrPrPrQr��sr�cCs`d}d}d}dgt|�}dgt|�}�xXtt|��D�]F}||j}||j|}	t||�}t||	�}dg|||<x2tt||��D]}
d|j|
|@|||
<q�W||7}tjdgd�}x*t|	�D]}
|tjdtj|
�gd�}q�Wtj||t|�d�}||}
dgt|�d||<xZtt||��D]F}
|
t|
�t||�}|dk�rn|
||||
<nd|||
<�q6Wq8Wd}x|D]}||j7}�q�Wdg|}d}xTt|�D]H}
x@tt|��D]0}|
t||�k�r�|||
||<|d7}�q�W�q�WxTt|�D]H}
x@tt|��D]0}|
t||�k�r"|||
||<|d7}�q"W�qW|S)Nr�r)	rzr�rNZtotal_count�maxr�rZ
PolynomialZgexp)r�rV�offsetZ
maxDcCountZ
maxEcCountZdcdataZecdatar�ZdcCountZecCountrfZrsPolyZrawPolyZmodPolyZmodIndexZtotalCodeCountZrs_blockr_r�rPrPrQ�create_bytes�sR





r�cCsBt�}x<|D]4}|j|jd�|jt|�t|j|��|j|�qWtj||�}d}x|D]}||jd7}qZWt|�|kr�t	j
dt|�|f��x(tt|t|�d��D]}|j
d�q�Wt|�d}	|	r�xtd|	�D]}|j
d�q�W|t|�d}
x:t|
�D].}|ddk�r&|jtd�n|jtd��qWt||�S)Nrrr
z:Code length overflow. Data size (%s) > size available (%s)Fr)r�r�rxrzryr�rrVrNrZDataOverflowErrorr��minr��PAD0�PAD1r�)rXrYZ	data_listr�r_rVZ	bit_limitrOrfZdelimitZ
bytes_to_fillrPrPrQ�create_datas2

r�rrrr
i�iri r
i0ri4ri6ri7iiiiiiir�iri ri$ri%i@iiPiiTr
iTriT)r)1r�rhr�Z	six.movesrZqrcoderrrsrtrurvrnrorpr�r�r�r�r�r�rdr]rbr^r�r�rUZBIT_LIMIT_TABLErarcr\rerlrqryr�r{r|r}r~r�r�r�r�r�r�r�r�rPrPrPrQ�<module>s�
$






	
5

<=