
    af                         	 d dl mZ d dl mZ eZd
S # e$ rI 	 e n# e$ r eZY nw xY wd dlmZ  G d de	          Z G d de	          Z
 G d d	e	          ZddZY d
S w xY w)    )XorMaskerNull)createXorMasker)arrayc                   ,    e Zd ZdZddZd Zd Zd ZdS )r   _ptrNc                     d| _         d S Nr   r   selfmasks     N/var/www/html/env/lib/python3.11/site-packages/autobahn/websocket/xormasker.py__init__zXorMaskerNull.__init__8       DIII    c                     | j         S Nr   r   s    r   pointerzXorMaskerNull.pointer;   
    9r   c                     d| _         d S r
   r   r   s    r   resetzXorMaskerNull.reset>   r   r   c                 @    | xj         t          |          z  c_         |S r   )r   len)r   datas     r   processzXorMaskerNull.processA   s    IIT"IIKr   r   __name__
__module____qualname__	__slots__r   r   r   r    r   r   r   r   3   sZ        		 	 	 		 	 		 	 		 	 	 	 	r   r   c                   *    e Zd ZdZd Zd Zd Zd ZdS )XorMaskerSimple)r   _mskc                 h    t          |          dk    sJ d| _        t          d|          | _        d S )N   r   B)r   r   r   r%   r   s     r   r   zXorMaskerSimple.__init__I   s1    t99>>>>DIc4((DIIIr   c                     | j         S r   r   r   s    r   r   zXorMaskerSimple.pointerN   r   r   c                     d| _         d S r
   r   r   s    r   r   zXorMaskerSimple.resetQ   r   r   c                     t          |          }t          d|          }t          |          D ]5}||xx         | j        | j        dz           z  cc<   | xj        dz  c_        6|                                S )Nr(         )r   r   xranger%   r   tobytes)r   r   dlenpayloadks        r   r   zXorMaskerSimple.processT   su    t99DC&&GD\\  


di	A66


		Q			??$$$r   Nr   r"   r   r   r$   r$   E   sU        $		) 	) 	)
	 	 		 	 		% 	% 	% 	% 	%r   r$   c                   *    e Zd ZdZd Zd Zd Zd ZdS )XorMaskerShifted1)r   	_mskarrayc                 :   t          |          dk    sJ d| _        t          d          t          d          t          d          t          d          g| _        t	          d          D ]}| j        d                             ||dz                      | j        d                             ||dz   dz                      | j        d                             ||dz   dz                      | j        d                             ||dz   dz                      d S )Nr'   r   r(   r,   r-      )r   r   r   r5   r.   append)r   r   js      r   r   zXorMaskerShifted1.__init__`   s   t99>>>>DI#Cjj%**eCjj%**MDNAYY < <q!((a!e555q!((q1uk):;;;q!((q1uk):;;;q!((q1uk):;;;;	< <r   c                     | j         S r   r   r   s    r   r   zXorMaskerShifted1.pointerj   r   r   c                     d| _         d S r
   r   r   s    r   r   zXorMaskerShifted1.resetm   r   r   c                    t          |          }t          d|          }| j        | j        dz           }t	          |          D ]}||xx         ||dz           z  cc<   | xj        |z  c_        |                                S )Nr(   r,   )r   r   r5   r   r.   r/   )r   r   r0   r1   mskr2   s         r   r   zXorMaskerShifted1.processp   s    t99DC&&G.Q/CD\\ ) )


c!a%j(



IIII??$$$r   Nr   r"   r   r   r4   r4   \   sU        )		< 	< 	<	 	 		 	 		% 	% 	% 	% 	%r   r4   Nc                 N    ||dk     rt          |           S t          |           S )N   )r$   r4   )r   lengths     r   create_xor_maskerrA   y   s+    >Vc\\"4((($T***r   r   )wsaccel.xormaskr   r   rA   ImportErrorr.   	NameErrorranger   objectr$   r4   r"   r   r   <module>rG      sD  8a+ .-----//////' Y+ Y+ Y+
    
        $% % % % %& % % %.% % % % %F % % %:+ + + + + + +kY+s*    A A %A %7A A 