�
�
5Xc@s9dZddlmZdgZdefd��YZdS(s�passlib.crypto._blowfish.unrolled - unrolled loop implementation of bcrypt,
autogenerated by _gen_files.py
currently this override the encipher() and expand() methods
with optimized versions, and leaves the other base.py methods alone.
i����(tBlowfishEngineRcBseZd�Zd�ZRS(cCs�|j\}}}}}}} }
}}}
}}}}}}}|j\}}}}||N}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@| AN}|||d?||d?d@||d?d@A||d@d@|
AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|
AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}|||d?||d?d@||d?d@A||d@d@|AN}||A|fS(sBblowfish encipher a single 64-bit block encoded as two 32-bit intsiii�iI����(tPtS(tselftltrtp0tp1tp2tp3tp4tp5tp6tp7tp8tp9tp10tp11tp12tp13tp14tp15tp16tp17tS0tS1tS2tS3((sE/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/unrolled.pytenciphersH?
................cCsQ/|j|j}}|\}}}}|d|dA}|d|dA} |d|dA}
|d|dA}|d|dA}|d|dA}
|d|dA}|d|dA}|d |d A}|d
|d
A}|d|dA}|d|dA}|d
|d
A}|d|dA}|d|dA}|d|dA}|d|dA}|d|dA}|d}}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}} \}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}
}\}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}}
\}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}}\}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}}\}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}}\}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}}\}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}}\}}||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\}}\}}|| |
|||
||||||||||||f|(x�|D]�}d}x�|dkrH/||N}|||d?||d?d@||d ?d@A||d@d@| AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|
AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}|||d?||d?d@||d ?d@A||d@d@|AN}||A|f\||<||d<\}}|d7}q�*Wq�*WdS(s*unrolled version of blowfish key expansioniiiiiiiiii i
iii
iiiiii�I����iN(RR(Rt key_wordsRRRRRRRRRR R
RRR
RRRRRRRRRRRRtboxtj((sE/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/unrolled.pytexpandYs�
................
................
................
................
................
................
................
................
................
................,(t__name__t
__module__RR (((sE/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/unrolled.pyRs DN(t__doc__tpasslib.crypto._blowfish.baseRt_BlowfishEnginet__all__(((sE/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/unrolled.pyts