5Xc#@sdZddlZddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5g ZdZedkrendS(6sFpasslib.utils.scrypt._gen_files - meta script that generates _salsa.pyiNiii iii i iiiii iiiii cCstjjtjjtd}t|d}|j}gtdD]}d|^qF}d}d}d }d jd tdD}d j|} td | d |} |d | xt t D]\} \}} } }|dtd| d| d| d|d|| d|| d||ddd|>dd|dd| qW|dx/tdD]!} ||d| | | fqhW|d| dS(!Ns _salsa.pytwisv%dt iii s, css|]}d|VqdS(sb%dN((t.0ti((sD/usr/lib/python2.7/site-packages/passlib/crypto/scrypt/_gen_files.pys XstVLISTtTLISTs"""passlib.utils.scrypt._salsa - salsa 20/8 core, autogenerated by _gen_salsa.py""" #================================================================= # salsa function #================================================================= def salsa20(input): """apply the salsa20/8 core to the provided input :args input: input list containing 16 32-bit integers :returns: result list containing 16 32-bit integers """ %(TLIST)s = input %(VLIST)s = \ %(TLIST)s i = 0 while i < 4: s # salsa op %(idx)d: [%(it)d] ^= ([%(is1)d]+[%(is2)d])<<<%(rot1)d t = (%(src1)s + %(src2)s) & 0xffffffff %(dst)s ^= ((t & 0x%(rmask)08x) << %(rot1)d) | (t >> %(rot2)d) tidxtis1tis2tittsrc1tsrc2tdsttrmaskii trot1trot2s i += 1 sb%d = (b%d + v%d) & 0xffffffff s return %(TLIST)s #================================================================= # eof #================================================================= s s s ( tostpathtjointdirnamet__file__tfiletwritetrangetdictt enumeratet _SALSA_OPS(ttargettfhRRtVNAMEStPADtPAD2tPAD3RRtkwdsRtsource1tsource2trotate((sD/usr/lib/python2.7/site-packages/passlib/crypto/scrypt/_gen_files.pytmainNs<! #  %    t__main__(iii i(iiii (i iii (ii ii(i iii(i i ii (ii i i (iii i(ii ii(iii i (iiii (i iii(iii i(iiii (i iii (ii ii(iiii(iiii (iiii (iiii(iiii(iiii (iiii (iiii(i i i i(ii i i (i ii i (i i ii(i iii(i i ii (ii i i (iii i(t__doc__RRR%t__name__(((sD/usr/lib/python2.7/site-packages/passlib/crypto/scrypt/_gen_files.pytsH   G