a ze[@sddlZz ddlZWn&ey:dZdZddlmZYn0e ej ZejZddl Ze dde dDZe dde dDZdZGdddZdd d Zd d ZdS)N)_compare_digestccs|]}|dAVqdS)\N.0xrr8/opt/bitninja-python-dojo/embedded/lib/python3.9/hmac.py r ccs|]}|dAVqdS)6Nrrrrrr r c@sveZdZdZdZdddZeddZed d Zed d Z ed dZ ddZ ddZ ddZ ddZddZdS)HMAC@) _digest_cons_inner_outer block_size digest_sizeNcsFt|ttfs tdt|js,tdtr<|_n,ttrXd fdd |_ndfdd |_||_ ||_ |j j |_ t |j dr|j j }|dkrtd ||jftd |j}ntd |jtd |j}||_ t||kr||}||d }|j |t|j |t|durB||dS)Nz,key: expected bytes or bytearray, but got %rz'Missing required parameter 'digestmod'.r cs t|SN_hashlibnewd digestmodrr=r zHMAC.__init__..cs |Srrrrrrr?r rz:block_size of %d seems too small; using our default of %d.zr2rArEr0rFrrrrr s  9       r rcCs t|||Sr)r )r7r8rrrrrsrcstdur(ttr(tvr(t||Str6}n(ttrPdfdd }nd fdd }|}|}t|dd}t||kr||}|d|t|}| | t | | t | || ||S) Nr cs t|Srrrr0rrrr zdigest..cs |SrrrrKrrrr rrr!)r )r ) _hashopensslr"r)_openssl_md_methsZ hmac_digestr(getattrr/r0r2r3r5r4)r7r8r0r<r=r>r-rrKrr0s,      r0)Nr)warningsr+rrL ImportErrorrM _operatorrZcompare_digest frozensetZopenssl_md_meth_namesZhashlibr#ranger4r5rr rr0rrrrs   ~