o
    Ìn~b^  ã                   @   s$   d dl mZ d dlmZ dd„ ZdS )é   )Ú	cSHAKE256)Ú	TupleHashc                  K   s¢   |   dd¡}|   dd¡}d||fvrtdƒ‚d||fkrd}|dur+|dk r*tdƒ‚n|dk s3|d r7td	ƒ‚|d }|   d
d¡}| rKtdt| ƒ ƒ‚t|t|ƒS )aî  Create a new TupleHash256 object.

    Args:
       digest_bytes (integer):
        Optional. The size of the digest, in bytes.
        Default is 64. Minimum is 8.
       digest_bits (integer):
        Optional and alternative to ``digest_bytes``.
        The size of the digest, in bits (and in steps of 8).
        Default is 512. Minimum is 64.
       custom (bytes):
        Optional.
        A customization bytestring (``S`` in SP 800-185).

    :Return: A :class:`TupleHash` object
    Údigest_bytesNÚdigest_bitsz*Only one digest parameter must be provided)NNé@   é   z!'digest_bytes' must be at least 8z0'digest_bytes' must be at least 64 in steps of 8Úcustomó    zUnknown parameters: )ÚpopÚ	TypeErrorÚ
ValueErrorÚstrr   r   )Úkwargsr   r   r   © r   úG/usr/local/lib/python3.10/dist-packages/Cryptodome/Hash/TupleHash256.pyÚnew#   s"   ÿr   N)Ú r   ZTupleHash128r   r   r   r   r   r   Ú<module>   s   