B dn+DC•ã@s¤ddlZddlmZy ddlZWnek r<dZdZYn Xe ej ƒZddl Ze dd„e dƒDƒƒZe dd„e dƒDƒƒZdZGdd„dƒZd d d „Zd d „ZdS)éN)Ú_compare_digestccs|]}|dAVqdS)é\N©)Ú.0Úxrrú'/opt/alt/python37/lib/python3.7/hmac.pyú sréccs|]}|dAVqdS)é6Nr)rrrrrrsc@sNeZdZdZddd„Zedd„ƒZdd„Zd d „Zd d „Z d d„Z dd„Z dS)ÚHMACé@NcsVt|ttfƒs tdt|ƒjƒ‚ˆdkr=rzHMAC.__init__..cs ˆ |¡S)N)r)r)rrrr?rÚ block_sizeéz:block_size of %d seems too small; using our default of %d.z    r cCs t|||ƒS)N)r )r1r2rrrrrŽs rcsâtdk r(tˆtƒr(ˆtkr(t ||ˆ¡Stˆƒr6ˆ}n(tˆtƒrPd‡fdd„ }nd ‡fdd„ }|ƒ}|ƒ}t|ddƒ}t|ƒ|krŽ||ƒ ¡}|d|t|ƒ}|  |  t ¡¡|  |  t ¡¡|  |¡|  | ¡¡| ¡S) Nrcs t ˆ|¡S)N)rr)r)r*rrr®rzdigest..cs ˆ |¡S)N)r)r)r*rrr°rrr r)r)r) Ú _hashopensslrr"Ú_openssl_md_methsZ hmac_digestr Úgetattrr)r*r,r-r/r.)r1r2r*r!r$r#r'r)r*rr*œs&      r*)NN)ÚwarningsrÚ _operatorrZcompare_digestrr?Ú ImportErrorr@Ú frozensetZopenssl_md_meth_namesZhashlibrÚranger.r/r%r rr*rrrrÚs    t