
    gK                     :    S r SSKr/ SQrS r\S:X  a  \" 5         gg)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                     [         R                  R                  [         R                  R                  [        5      S5      n [        U S5      nUR                  n[        S5       Vs/ s H  nSU-  PM
     nnSnSnSnSR                  S	 [        S5       5       5      nSR                  U5      n	[        U	US
9n
U" SU
-  5        [        [        5       H4  u  nu  ppU" S[        XXXL   XM   X@   SSU-
  -  S-
  USU-
  S9
-  5        M6     U" S5        [        S5       H  nU" USXU4-  -   5        M     U" SU
-  5        g s  snf )Nz	_salsa.pyw   zv%dz    z        z            z, c              3   ,   #    U  H
  nS U-  v   M     g7f)zb%dN ).0is     Y/home/matz/Project1/venv/lib/python3.13/site-packages/passlib/crypto/scrypt/_gen_files.py	<genexpr>main.<locals>.<genexpr>X   s     3Aeais   )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fhr0   r   VNAMESPADPAD2PAD3r   r   kwdsr    source1source2rotates                  r   mainr?   N   sm   WW\\"''//(3[AF	fc	BHHE!&r+AeaiF+
CDDII3r33EIIfED
 
 & ' * 4=Z3H//fw 
 G__N2f9~q Y 	 4I  
  
 Ryc6##FFG  
   s ,s   'E__main__)__doc__r*   r4   r?   __name__r       r   <module>rD      s0    L
 
?
BEN zF rC   