o
    h!                     @   s*   d Z ddlmZ dgZG dd deZdS )zpasslib.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.
    )BlowfishEnginer   c                   @   s   e Zd Zdd Zdd ZdS )r   c                 C   s  | j \}}}}}}}	}
}}}}}}}}}}| j\}}}}||N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d? d@  A ||d@   d@ |A N }||A |fS )zBblowfish encipher a single 64-bit block encoded as two 32-bit ints                PS)selflrp0p1p2p3p4p5p6p7p8p9p10p11p12p13p14p15p16p17S0S1S2S3 r$   d/var/www/html/aiguide_backend/venv/lib/python3.10/site-packages/passlib/crypto/_blowfish/unrolled.pyencipher   s   ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
zBlowfishEngine.encipherc                 C   sj-  | j | j}}|\}}}}|d |d A }|d |d A }	|d |d A }
|d |d A }|d |d A }|d |d A }|d |d A }|d |d A }|d	 |d	 A }|d
 |d
 A }|d |d A }|d |d A }|d |d A }|d |d A }|d |d A }|d |d A }|d |d A }|d |d A }|d}}|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}	\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}
}\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}\}}||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \}}\}}||	|
|||||||||||||||f|dd< |D ]I}d}|dk r||N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |	A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |
A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }|||d?  ||d? d@   ||d	? d@  A ||d@   d@ |A N }||A |f \||< ||d < \}}|d7 }|dk srqhdS )z*unrolled version of blowfish key expansionr                        r   	   
                  r      r   r   r   N   r   )r   	key_wordsr	   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   boxjr$   r$   r%   expandY   s$	  
	,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,


,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
$
zBlowfishEngine.expandN)__name__
__module____qualname__r&   r:   r$   r$   r$   r%   r      s    DN)__doc__passlib.crypto._blowfish.baser   _BlowfishEngine__all__r$   r$   r$   r%   <module>   s
    
