File: //proc/self/root/opt/alt/python311/lib64/python3.11/__pycache__/secrets.cpython-311.pyc
�
    !A?h�  �                   �   � d Z g d�ZddlZddlZddlmZ ddlmZ  e�   �         Zej	        Z
ej        Zd� ZdZ
dd�Zdd	�Zdd
�ZdS )z�Generate cryptographically strong pseudo-random numbers suitable for
managing secrets such as account authentication, tokens, and similar.
See PEP 506 for more information.
https://peps.python.org/pep-0506/
)�choice�	randbelow�randbits�SystemRandom�token_bytes�	token_hex�
token_urlsafe�compare_digest�    N)r	   )r   c                 �`   � | dk    rt          d�  �        �t          �                    | �  �        S )z(Return a random int in the range [0, n).r
   zUpper bound must be positive.)�
ValueError�_sysrand�
_randbelow)�exclusive_upper_bounds    �./opt/alt/python311/lib64/python3.11/secrets.pyr   r      s1   � ���!�!��8�9�9�9����4�5�5�5�    �    c                 �H   � | �t           } t          �                    | �  �        S )z�Return a random byte string containing *nbytes* bytes.
    If *nbytes* is ``None`` or not supplied, a reasonable
    default is used.
    >>> token_bytes(16)  #doctest:+SKIP
    b'\xebr\x17D*t\xae\xd4\xe3S\xb6\xe2\xebP1\x8b'
    )�DEFAULT_ENTROPYr
   �	randbytes��nbytess    r   r   r   "