a
XC?hë ã @ s2 d dl Zzd dlZW n. eyB ejdkr6edƒ‚nedƒ‚Y n0 d dlZd dlZd dl m
Z d dlm
Z ejej d Zeƒ ZG dd „ d ed d
ƒƒZd%ddœdd
„Zd&dd„Zg Zddœdd„Zeddddƒ eddddƒ dD ](Zedde ddeeƒ dd�rä �qqäeddd d!ƒ ed"dd#d$ƒ [[dS )'é NZwin32z,The crypt module is not supported on Windowsz;The required _crypt module was not built as part of CPython)ÚSystemRandom)Ú
namedtuplez./c @ s e Zd Zdd„ ZdS )Ú_Methodc C s d | j¡S )Nz)ÚformatÚname)Úself© r ú*/opt/alt/python39/lib64/python3.9/crypt.pyÚ__repr__ s z_Method.__repr__N)Ú__name__Ú
__module__Ú__qualname__r
r r r r r s r z name ident salt_chars total_size©Úroundsc C sB | d u rt d } |d ur4t|tƒs4t|jj› d�ƒ‚| js@d}nd| j› d�}| jrÂ| jd dkrÂ|d u rpd}n@t |d ¡}|d|> kr’tdƒ‚d | kr¦d
ks°n tdƒ‚||d›d�7 }n^| jd
v �r|d u�r d| krìdksön tdƒ‚|d|› d�7 }n|d u�r t| › d�ƒ‚|d dd„ t
| jƒD ƒ¡7 }|S )Nr z+ object cannot be interpreted as an integerÚ ú$Ú2é é zrounds must be a power of 2é é z%rounds out of the range 2**4 to 2**31Z02d)Ú5Ú6iè iÿÉš;z+rounds out of the range 1000 to 999_999_999zrounds=z$ doesn't support the rounds argumentc s s | ]}t t¡V qd S ©N)Ú_srZchoiceÚ
_saltchars)Ú.0Úcharr r r Ú B ó zmksalt..)ÚmethodsÚ
isinstanceÚintÚ TypeErrorÚ __class__r ZidentÚ
bit_lengthÚ
ValueErrorÚjoinÚrangeZ
salt_chars)Úmethodr ÚsZ
log_roundsr r r Úmksalt s2
r+ c C s&