§
    ¢”jÊ  ã                   óò  — d dl mZmZmZmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZ  e¦   «         dk    rddlmZmZmZ n
ddlmZmZmZ g d	¢Zd
Zd
dgZedk     r ej        ¦   «           ej         e
¦   «         ¦  «         dZedk    r[ ej         e
¦   «         d                     d¦  «        ¦  «        r- ej         e
¦   «         d                     d¦  «        ¦  «         ndZd„ Zdd„Zd„ Z G d„ d¦  «        Z dS )é    )Úunicode_literalsÚdivisionÚabsolute_importÚprint_functioné   )Úffi)Úbuffer_from_bytesÚbyte_string_from_bufferÚnull)Ústr_clsÚcffié   )Ú	libcryptoÚversionÚversion_info)Úhandle_openssl_errorr   Úlibcrypto_legacy_supportÚlibcrypto_versionÚlibcrypto_version_infoÚLibcryptoConstÚpeek_openssl_errorzutf-8Úcp1252)r   r   T)é   ÚlegacyÚasciiFc                 óÐ   — 	 t          | t          ¦  «        S # t          $ r3 t          D ](}	 t          | |d¬¦  «        c cY S # t          $ r Y Œ%w xY wY nw xY wt          | d¬¦  «        S )NÚstrict)ÚerrorsÚreplace)r   Ú	_encodingÚUnicodeDecodeErrorÚ_fallback_encodings)ÚvalueÚencodings     úk/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/oscrypto/_openssl/_libcrypto.pyÚ_try_decoder&   5   s¨   € ð
Ý�u�iÑ(Ô(Ð(øõ ð ð ð Ý+ð 	ð 	ˆHðÝ˜u h°xÐ@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@øÝ&ð ð ð Ø�ðøøøð	ð 	ðøøøõ �5 Ð+Ñ+Ô+Ð+s1   ‚ —A«A¼AÁ
AÁAÁAÁAÁANc                 óà   — | dk    rdS |€t           }t          j        ¦   «         }t          d¦  «        }t          j        ||¦  «         t          |¦  «        } |t          |¦  «        ¦  «        ‚)ah  
    Checks if an error occurred, and if so throws an OSError containing the
    last OpenSSL error message

    :param result:
        An integer result code - 1 or greater indicates success

    :param exception_class:
        The exception class to use for the exception if an error occurred

    :raises:
        OSError - when an OpenSSL error occurs
    r   Néx   )ÚOSErrorr   ÚERR_get_errorr	   ÚERR_error_stringr
   r&   )ÚresultÚexception_classÚ	error_numÚbufferÚerror_strings        r%   r   r   F   sr   € ð �‚z€zØˆàÐÝ!ˆåÔ'Ñ)Ô)€IÝ˜sÑ#Ô#€FÝÔ˜y¨&Ñ1Ô1Ð1õ +¨6Ñ2Ô2€Là
ˆ/�+ lÑ3Ô3Ñ
4Ô
4Ð4ó    c                  ó  — t          j        ¦   «         } t          dk     r=t          | dz	  dz  ¦  «        }t          | dz	  dz  ¦  «        }t          | dz  ¦  «        }n)t          | dz	  dz  ¦  «        }d}t          | dz  ¦  «        }|||fS )	z—
    Peeks into the error stack and pulls out the lib, func and reason

    :return:
        A three-element tuple of integers (lib, func, reason)
    )r   r   é   éÿ   é   iÿ  é   r   iÿÿ )r   ÚERR_peek_errorr   Úint)ÚerrorÚlibÚfuncÚreasons       r%   r   r   e   s–   € õ Ô$Ñ&Ô&€EÝ Ò&Ð&Ý�5˜B‘; $Ñ&Ñ'Ô'ˆÝ�E˜R‘K 5Ñ(Ñ)Ô)ˆÝ�U˜U‘]Ñ#Ô#ˆˆå�5˜B‘; $Ñ&Ñ'Ô'ˆàˆÝ�U˜XÑ%Ñ&Ô&ˆà��vÐÐr1   c                   óR   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZd	Zd
ZdZdZdZdZdZdS )r   r   r   r   é   éÿÿÿÿi  é   i  é   é   iŸ  iË  iÌ  r   N)Ú__name__Ú
__module__Ú__qualname__ÚEVP_CTRL_SET_RC2_KEY_BITSÚSSLEAY_VERSIONÚRSA_PKCS1_PADDINGÚRSA_NO_PADDINGÚRSA_PKCS1_OAEP_PADDINGÚEVP_MD_CTX_FLAG_PSS_MDLENÚEVP_PKEY_CTRL_RSA_PADDINGÚRSA_PKCS1_PSS_PADDINGÚEVP_PKEY_CTRL_RSA_PSS_SALTLENÚEVP_PKEY_RSAÚEVP_PKEY_OP_SIGNÚEVP_PKEY_OP_VERIFYÚNID_X9_62_prime256v1ÚNID_secp384r1ÚNID_secp521r1ÚOPENSSL_EC_NAMED_CURVEÚDH_GENERATOR_2© r1   r%   r   r   {   sr   € € € € € Ø !Ðà€NàÐØ€NØÐð !#Ðð !'ÐØÐØ$*Ð!Ø€LØÐØÐàÐØ€MØ€MàÐà€N€N€Nr1   r   )N)!Ú
__future__r   r   r   r   Ú r   Ú_ffir	   r
   r   Ú_typesr   Ú_libcrypto_cffir   r   r   r   r   Ú_libcrypto_ctypesÚ__all__r    r"   ÚERR_load_crypto_stringsÚOPENSSL_configr   ÚOSSL_PROVIDER_availableÚencodeÚOSSL_PROVIDER_loadr&   r   r   r   rW   r1   r%   ú<module>rd      s  ðà RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rà Ð Ð Ð Ð Ð Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ Ð Ð Ð Ð Ð à€3�5„5ˆF‚?€?ðð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ðð ð €ð €	Ø Ð)Ð ð ˜FÒ"Ð"Ø%€IÔ%Ñ'Ô'Ð'Ø €	Ô ˜˜™œÑ  Ô  Ð  ð  Ð Ø˜UÒ"Ð"Ø(€yÔ(¨¨©¬°·²ÀÑ1IÔ1IÑJÔJð )Ø$ˆ	Ô$ T T¡V¤V¨X¯_ª_¸WÑ-EÔ-EÑFÔFÐFÐFà#(Ð ð,ð ,ð ,ð"5ð 5ð 5ð 5ð>ð ð ð,ð ð ð ð ñ ô ð ð ð r1   