+
    '(j                     f    ^ RI Ht ^ RIHtHtHtHtHtHtH	t	H
t
 ^ RIHt  ! R R]4      tRR ltR# )	    )bord)load_pycryptodome_raw_libVoidPointerSmartPointercreate_string_bufferget_raw_bufferc_size_tc_uint8_ptrc_ubyte)_raw_keccak_libc                   N   a  ] tR t^)t o RtRtR
R ltR tR tR t	R
R lt
R	tV tR# )SHAKE256_XOFzA SHAKE256 hash object.
Do not instantiate directly.
Use the :func:`new` function.

:ivar oid: ASN.1 Object ID
:vartype oid: string
z2.16.840.1.101.3.4.2.12Nc                j   \        4       p\        P                  ! VP                  4       \	        ^@4      \        ^4      4      pV'       d   \        RV,          4      h\        VP                  4       \        P                  4      V n
        RV n        ^V n        V'       d   V P                  V4       R# R# )@   z%Error %d while instantiating SHAKE256FN)r   r   keccak_init
address_ofr	   r   
ValueErrorr   getkeccak_destroy_state_is_squeezing_paddingupdate)selfdatastateresults   &&  I/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/Hash/SHAKE256.py__init__SHAKE256_XOF.__init__5   s     ,,U-=-=-?-5b\-4R[: D%& ' '"599;#2#A#AC"KK     c           	     
   V P                   '       d   \        R4      h\        P                  ! V P                  P                  4       \        V4      \        \        V4      4      4      pV'       d   \        RV,          4      hV # )zContinue hashing of a message by consuming the next chunk of data.

Args:
    data (byte string/byte array/memoryview): The next chunk of the message being hashed.
z/You cannot call 'update' after the first 'read'z&Error %d while updating SHAKE256 state)
r   	TypeErrorr   keccak_absorbr   r   r
   r	   lenr   )r   r   r   s   && r   r   SHAKE256_XOF.updateE   sp     MNN ..t{{/@/:4/@/7D	/BD E%& ' 'r!   c                
   RV n         \        V4      p\        P                  ! V P                  P                  4       V\        V4      \        V P                  4      4      pV'       d   \        RV,          4      h\        V4      # )a   
Compute the next piece of XOF output.

.. note::
    You cannot use :meth:`update` anymore after the first call to
    :meth:`read`.

Args:
    length (integer): the amount of bytes this method must return

:return: the next piece of XOF output (of the given length)
:rtype: byte string
Tz'Error %d while extracting from SHAKE256)r   r   r   keccak_squeezer   r   r	   r   r   r   r   )r   lengthbfrr   s   &&  r   readSHAKE256_XOF.readW   su     ""6* //0A03080@070FH F%& ' ' c""r!   c                    V P                  4       p\        P                  ! V P                  P	                  4       VP                  P	                  4       4      pV'       d   \        RV,          4      hV# )zReturn a copy ("clone") of the hash object.

The copy will have the same internal state as the original hash
object.

:return: A hash object of the same type
zError %d while copying SHAKE256)newr   keccak_copyr   r   r   )r   cloner   s   &  r   copySHAKE256_XOF.copyr   sV     
 ,,T[[__->-2\\-=-=-?A>GHHr!   c                &    \        V 4      ! VR 7      # )r   )type)r   r   s   &&r   r.   SHAKE256_XOF.new   s    Dzt$$r!   )r   r   r   N)__name__
__module____qualname____firstlineno____doc__oidr   r   r+   r1   r.   __static_attributes____classdictcell__)__classdict__s   @r   r   r   )   s/      $C $#6 % %r!   r   Nc                    \        V R7      # )zReturn a fresh instance of a SHAKE256 object.

Args:
   data (bytes/bytearray/memoryview):
    The very first chunk of the message to hash.
    It is equivalent to an early call to :meth:`update`.
    Optional.

:Return: A :class:`SHAKE256_XOF` object
r4   )r   r4   s   &r   r.   r.      s     T""r!   r7   )Crypto.Util.py3compatr   Crypto.Util._raw_apir   r   r   r   r   r	   r
   r   Crypto.Hash.keccakr   objectr   r.    r!   r   <module>rG      s2   > '8 8 8 /Z%6 Z%z#r!   