
    +Si                     (    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        t        d            }d}t        |      }t        d      D ]'  }|||   z   |||z     z   dz  }||   ||   c||<   ||<   ) || _        d\  | _        | _        y )N   r   )r   r   )listrangelensij)selfr   r   r   klenr   s         Y/var/www/html/leadgen/airagagent/rag_env/lib/python3.12/site-packages/pdfminer/arcfour.py__init__zArcfour.__init__   s    s3xs 	(AQqTCDM)S0AaD!A$LQqT1Q4	( !    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 )Nr      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__collections.abcr   r   r$   r   r   <module>r'      s    %   r   