o
    [hK                     @   s2   d Z ddlZg dZdd Zedkre  dS dS )zFpasslib.utils.scrypt._gen_files - meta script that generates _salsa.py    N) )   r         )   r   r   	   )r   r   r      )r   r   r      )r         r   )r   r   r	   r   )r
   r   r   r   )r	   r
   r   r   )   
      r   )   r   r   r   )r   r   r   r   )r   r   r   r   )         r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r
   r   r   r   )r   r
   r   r   )r   r   r
   r   )r   r   r   r   )r   r	   r   r   )r   r   r	   r   )r   r   r   r   )r	   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   c                  C   s  t jt jtd} t| d}|j}dd tdD }d}d}d}d	d
d tdD }d	|}t||d}	|d|	  t	t
D ](\}
\} }}}|dt|
||| || || ||  dd| > d |d| d
  qC|d tdD ]}
||d|
|
|
f   qt|d|	  d S )Nz	_salsa.pywc                 S   s   g | ]}d | qS )zv%d .0ir   r   b/var/www/html/pro-man-master/venv/lib/python3.10/site-packages/passlib/crypto/scrypt/_gen_files.py
<listcomp>S   s    zmain.<locals>.<listcomp>   z    z        z            z, c                 s   s    | ]}d | V  qdS )zb%dNr   r   r   r   r   	<genexpr>X   s    zmain.<locals>.<genexpr>)VLISTTLISTa  """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:
z        # 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)

r
       )
idxis1is2itsrc1src2dstrmaskrot1rot2z        i += 1

zb%d = (b%d + v%d) & 0xffffffff
z
    return %(TLIST)s

#=================================================================
# eof
#=================================================================
)ospathjoindirname__file__filewriterangedict	enumerate
_SALSA_OPS)targetfhr.   VNAMESPADPAD2PAD3r   r   kwdsr   source1source2rotater   r   r   mainN   sD   


r=   __main__)__doc__r(   r2   r=   __name__r   r   r   r   <module>   s    AG
