�
�]�c�
� �h � d dl Z d dlZd dlZd dlmZmZmZmZmZ d dl m
Z
eeee j
f Z e
� � Zej Zej Ze� d�� � Zdedefd�Zd ee defd
�Zdee deegef fd�Zd
edefd�Zd
edefd�Z e� � ZdZdededefd�ZdS )� N)�Any�Callable�NoReturn�Type�Union)�BindingF)�should_clear_after_alloc�charp�returnc �d � | sdS t � | � � � d� � S )z�
Get a native string type representing of the given CFFI ``char*`` object.
:param charp: A C-style string represented using CFFI.
:return: :class:`str`
� �utf-8)�ffi�string�decode)r
s �//usr/lib/python3/dist-packages/OpenSSL/_util.py�textr s1 � � � ��r��:�:�e���#�#�G�,�,�,� �exception_typec �n � g } t � � � }|dk rn�|� t t � |� � � � t t � |� � � � t t � |� � � � f� � �� | |� � �)ac
Convert an OpenSSL library failure into a Python exception.
When a call to the native OpenSSL library fails, this is usually signalled
by the return value, and an error code is stored in an error queue
associated with the current thread. The err library provides functions to
obtain these error codes and textual error messages.
Tr )�lib�
ERR_get_error�appendr �ERR_lib_error_string�ERR_func_error_string�ERR_reason_error_string)r �errors�errors r �exception_from_error_queuer " |