Ë
    ÚÍ:j  ã                  óæ  — d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	 ddl
Z
ddlZddlmZ  e«       Z G d„ d«      Z G d„ d	e«      Z ej(                   ej*                  «       «      Zd
„ Z G d„ de«      Zd„ Zd„ Zd„ Zeg df   Zej<                  Zee	eef   gdf   Z eeedge	edf   f   Z!eddœ	 	 	 	 	 	 	 dd„«       Z"dZ#ejH                  dkD  rddl%m&Z& ddl%m'Z' ddl%m(Z( ddl%m)Z) e#dz  Z#yy)zbgRPC's experimental APIs.

These APIs are subject to be removed during any minor version release.
é    )ÚannotationsN)ÚCallableÚOptionalÚUnion)Úcygrpcc                  ó   — e Zd ZdZdZy)ÚChannelOptionszÌIndicates a channel option unique to gRPC Python.

    This enumeration is part of an EXPERIMENTAL API.

    Attributes:
      SingleThreadedUnaryStream: Perform unary-stream RPCs on a single thread.
    ÚSingleThreadedUnaryStreamN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   © ó    úo/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/grpc/experimental/__init__.pyr	   r	       s   „ ñð !<Ñr   r	   c                  ó   — e Zd ZdZy)Ú
UsageErrorzDRaised by the gRPC library to indicate usage not allowed by the API.N©r   r   r   r   r   r   r   r   r   ,   s   „ ÚNr   r   c                 ó   — t         S )zeCreates a ChannelCredentials for use with an insecure channel.

    THIS IS AN EXPERIMENTAL API.
    )Ú_insecure_channel_credentialsr   r   r   Úinsecure_channel_credentialsr   7   s
   € ô
 )Ð(r   c                  ó   — e Zd ZdZy)ÚExperimentalApiWarningz&A warning that an API is experimental.Nr   r   r   r   r   r   ?   s   „ Ú0r   r   c                ó¦   — | t         vrIt         j                  | «       dj                  | «      dz   }t        j                  |t
        d|z   ¬«       y y )Nz8'{}' is an experimental API. It is subject to change or z5removal between minor releases. Proceed with caution.é   )Ú
stacklevel)Ú_EXPERIMENTAL_APIS_USEDÚaddÚformatÚwarningsÚwarnr   )Úapi_nameÚstack_offsetÚmsgs      r   Ú_warn_experimentalr%   C   sX   € ØÔ.Ñ.Ü×#Ñ# HÔ-àF×MÑMØóð FñFð 	ô 	�‰�cÔ1¸aÀ,Ñ>NÖOð /r   c                óB   ‡ — t        j                  ‰ «      ˆ fd„«       }|S )Nc                 ó@   •— t        ‰j                  d«        ‰| i |¤ŽS )Né   )r%   r   )ÚargsÚkwargsÚfs     €r   Ú_wrapperz"experimental_api.<locals>._wrapperP   s!   ø€ ä˜1Ÿ:™: qÔ)Ù�$Ð!˜&Ñ!Ð!r   )Ú	functoolsÚwraps)r+   r,   s   ` r   Úexperimental_apir/   O   s%   ø€ Ü‡_�_�QÓó"ó ð"ð €Or   c                ó`  — |sy|j                   sP|j                  s"|j                   | |j                  «      ¬«      S |j                   | |j                  «      ¬«      S |j                  s"|j                   | |j
                  «      ¬«      S |j                   | |j                  «      ¬«      S )aí  Wraps the server method handler function.

    The server implementation requires all server handlers being wrapped as
    RpcMethodHandler objects. This helper function ease the pain of writing
    server handler wrappers.

    Args:
        wrapper: A wrapper function that takes in a method handler behavior
          (the actual function) and returns a wrapped function.
        handler: A RpcMethodHandler object to be wrapped.

    Returns:
        A newly created RpcMethodHandler.
    N©Úunary_unary©Úunary_stream©Ústream_unary©Ústream_stream)Úrequest_streamingÚresponse_streamingÚ_replacer2   r4   r6   r8   )ÚwrapperÚhandlers     r   Úwrap_server_method_handlerr>   X   s£   € ñ Øà×$Ò$Ø×)Ò)ð ×#Ñ#±¸×8KÑ8KÓ0LÐ#ÓMÐMØ×Ñ©W°W×5IÑ5IÓ-JÐÓKÐKØ×%Ò%Ø×Ñ©W°W×5IÑ5IÓ-JÐÓKÐKØ×Ñ©'°'×2GÑ2GÓ*HÐÓIÐIr   ÚPrivateKeySignOnCompleteÚPrivateKeySignCancel)Úroot_certificatesc                óX   — t        j                  t        j                  |d|| «      «      S )a�  Creates a ChannelCredentials for use with an SSL-enabled Channel with a custom signer.

    THIS IS AN EXPERIMENTAL API.
    This API will be removed in a future version and combined with `grpc.ssl_channel_credentials`.

    Args:
      private_key_sign_fn: a function with the signature of
        `CustomPrivateKeySign`. This function can return synchronously or
        asynchronously.  To return synchronously, return the signed bytes.  To
        return asynchronously, return a callable matching the
        `PrivateKeySignCancel` signature.This can be a no-op if no cancellation is
        needed. In the async case, this function must return this callable
        quickly, then call the passed in `PrivateKeySignOnComplete` when the async
        signing operation is complete to trigger gRPC to continue the handshake.
      root_certificates: The PEM-encoded root certificates as a byte string,
        or None to retrieve them from a default location chosen by gRPC
        runtime.
      certificate_chain: The PEM-encoded certificate chain as a byte string
        to use

    Returns:
      A ChannelCredentials for use with an SSL-enabled Channel.
    N)ÚgrpcÚChannelCredentialsÚ_cygrpcÚSSLChannelCredentials)Úprivate_key_sign_fnrA   Úcertificate_chains      r   Ú*ssl_channel_credentials_with_custom_signerrI   ‡   s0   € ô< ×"Ñ"Ü×%Ñ%Ø˜tÐ%6Ð8Kó	
óð r   )r	   r   r   r   rI   r>   )é   é   r7   r5   r3   r1   )r8   r6   r4   r2   )rG   z'CustomPrivateKeySign'rA   zOptional[bytes]rH   ÚbytesÚreturnzgrpc.ChannelCredentials)*r   Ú
__future__r   Úcopyr-   ÚsysÚtypingr   r   r   r    rC   Úgrpc._cythonr   rE   Úsetr   r	   Ú	Exceptionr   rD   Úchannel_credentials_insecurer   r   ÚWarningr   r%   r/   r>   r@   ÚPrivateKeySignatureAlgorithmrL   r?   ÚCustomPrivateKeySignrI   Ú__all__Úversion_infoÚgrpc._simple_stubsr8   r6   r4   r2   r   r   r   ú<module>r\      sm  ðñõ #ã Û Û 
ß ,Ñ ,Û ã Ý *á›%Ð ÷	<ñ 	<ôO�ô Oð !8 × 7Ñ 7Ø(€G×(Ñ(Ó*ó!Ð ò
)ô1˜Wô 1ò	PòòJð>    D Ñ)Ð Ø&×CÑCÐ Ø# U¨5°)Ð+;Ñ%<Ð$=¸tÐ$CÑDÐ ð  àØ$Ø"ðð
 
ˆ%Ð'Ð
'Ñ(ð*ñÐ ð ð *.ñ!à/ð!ð 'ð!ð ð	!ð
 ò!ó ð!ðH€ð ×Ñ�fÒÝ0Ý/Ý/Ý.àð ñ �Gð r   