
    ;3h                     (    d Z ddlmZ  G d d      Zy)zPython implementation of Arcfour encryption algorithm.
See https://en.wikipedia.org/wiki/RC4
This code is in the public domain.

    )Sequencec                   :    e Zd Zdee   ddfdZdedefdZexZZ	y)ArcfourkeyreturnNc                     t        d      D cg c]  }| }}d}t        |      }t        d      D ]'  }|||   z   |||z     z   dz  }||   ||   c||<   ||<   ) || _        d\  | _        | _        y c c}w )N   r   )r   r   )rangelensij)selfr   r   r   r   klens         P/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/pdfminer/arcfour.py__init__zArcfour.__init__   s    c
#1Q##3xs 	(AQqTCDM)S0AaD!A$LQqT1Q4	( ! $s   	A2datac                    | j                   | j                  }}| j                  }d}t        |      D ]I  }|dz   dz  }|||   z   dz  }||   ||   c||<   ||<   |||   ||   z   dz     }|t	        ||z  f      z  }K ||c| _         | _        |S )N       r	   )r   r   r   iterbytes)r   r   r   r   r   rcks           r   processzArcfour.process   s    &&$&&AFFd 	!AQ#AQqTS AaD!A$LQqT1Q41Q4!A$;#%&AAx A	! qr   )
__name__
__module____qualname__r   intr   r   r   encryptdecrypt r   r   r   r   
   s8    	"HSM 	"d 	"E e   Ggr   r   N)__doc__typingr   r   r#   r   r   <module>r&      s       r   