File: //usr/local/lib/python3.10/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-310.pyc
o
��i� � @ s� d dl Z d dlmZmZmZmZmZmZ d dlm Z m
Z
mZ d dlm
Z
er2d dl mZ d dlmZ dZg d�ZG d d
� d
�ZG dd� de�ZdS )
� N)�
TYPE_CHECKING�BinaryIO�Dict�Iterable�List�Optional)�HashMismatch�HashMissing�InstallationError)�read_chunks)�_Hash)�NoReturn�sha256)r �sha384�sha512c @ s� e Zd ZdZd$deeeee f ddfdd�Zd%dd �Z e
defd
d��Zded
ede
fdd�Zdee ddfdd�Zdeedf ddfdd�Zdeddfdd�Zdeddfdd�Zde
fdd�Zdede
fd d!�Zdefd"d#�ZdS )&�HasheszaA wrapper that builds multiple hashes at once and checks them against
known-good values
N�hashes�returnc C s4 i }|dur|� � D ]
\}}t|�||<