Ë
    øÿæi€c  ã                   óÞ  — d Z ddlZddl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mZmZmZmZ ddlZddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ) ejT                  e+«      Z, G d„ dejZ                  «      Z.dedej^                  de.fd „Z0 G d!„ d"«      Z1 G d#„ d$ejd                  «      Z3 G d%„ d&e1ee    «      Z4 G d'„ d(e1«      Z5 G d)„ d*e1«      Z6 G d+„ d,e4e1ejn                  «      Z7 G d-„ d.e5e1ejp                  «      Z8 G d/„ d0e6e4e1ejr                  «      Z9 G d1„ d2e6e5e1ejt                  «      Z:y)3z6Invocation-side implementation of gRPC Asyncio Python.é    N)Úpartial)ÚAnyÚAsyncIteratorÚ	GeneratorÚGenericÚOptionalÚTupleÚUnion)Ú_common)Úcygrpcé   )Ú
_base_call)ÚMetadata)ÚDeserializingFunction)ÚDoneCallbackType)ÚEOFType)ÚMetadataType)ÚMetadatumType)ÚRequestIterableType)ÚRequestType)ÚResponseType)ÚSerializingFunction)ÚAioRpcErrorÚCallÚUnaryStreamCallÚUnaryUnaryCallz!Locally cancelled by application!z"Cancelled upon garbage collection!zRPC already finished.z0RPC is half closed after calling "done_writing".zBThe iterator and read/write APIs may not be mixed on a single RPC.z?<{} of RPC that terminated with:
	status = {}
	details = "{}"
>zZ<{} of RPC that terminated with:
	status = {}
	details = "{}"
	debug_error_string = "{}"
>c                   óB  ‡ — e Zd ZU dZej
                  ed<   ee   ed<   ee	   ed<   ee	   ed<   ee   ed<   	 	 ddej
                  d	e	d
e	dee   dee   ddfˆ fd„Z
dej
                  fd„Zdee   fd„Zde	fd„Zde	fd„Zdefd„Zdefd„Zdefd„Zdefd„Zd„ Zˆ xZS )r   zÙAn implementation of RpcError to be used by the asynchronous API.

    Raised RpcError is a snapshot of the final status of the RPC, values are
    determined. Hence, its methods no longer needs to be coroutines.
    Ú_codeÚ_detailsÚ_initial_metadataÚ_trailing_metadataÚ_debug_error_stringNÚcodeÚinitial_metadataÚtrailing_metadataÚdetailsÚdebug_error_stringÚreturnc                 óh   •— t         ‰| �  «        || _        || _        || _        || _        || _        y)a–  Constructor.

        Args:
          code: The status code with which the RPC has been finalized.
          initial_metadata: Optional initial metadata that could be sent by the
            Server.
          trailing_metadata: Optional metadata that could be sent by the Server.
          details: Optional details explaining the reason of the error.
          debug_error_string: Optional string
        N)ÚsuperÚ__init__r   r   r    r!   r"   )Úselfr#   r$   r%   r&   r'   Ú	__class__s         €úc/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/grpc/aio/_call.pyr+   zAioRpcError.__init__V   s6   ø€ ô$ 	‰ÑÔØˆŒ
ØˆŒØ!1ˆÔØ"3ˆÔØ#5ˆÕ ó    c                 ó   — | j                   S )ztAccesses the status code sent by the server.

        Returns:
          The `grpc.StatusCode` status code.
        )r   ©r,   s    r.   r#   zAioRpcError.codeo   s   € ð �z‰zÐr/   c                 ó   — | j                   S )zkAccesses the details sent by the server.

        Returns:
          The description of the error.
        )r   r1   s    r.   r&   zAioRpcError.detailsw   s   € ð �}‰}Ðr/   c                 ó   — | j                   S )zuAccesses the initial metadata sent by the server.

        Returns:
          The initial metadata received.
        )r    r1   s    r.   r$   zAioRpcError.initial_metadata   s   € ð ×%Ñ%Ð%r/   c                 ó   — | j                   S )zwAccesses the trailing metadata sent by the server.

        Returns:
          The trailing metadata received.
        )r!   r1   s    r.   r%   zAioRpcError.trailing_metadata‡   s   € ð ×&Ñ&Ð&r/   c                 ó   — | j                   S )zyAccesses the debug error string sent by the server.

        Returns:
          The debug error string received.
        )r"   r1   s    r.   r'   zAioRpcError.debug_error_string�   s   € ð ×'Ñ'Ð'r/   c                 ó–   — t         j                  | j                  j                  | j                  | j
                  | j                  «      S )z-Assembles the error string for the RPC error.)Ú_NON_OK_CALL_REPRESENTATIONÚformatr-   Ú__name__r   r   r"   r1   s    r.   Ú_reprzAioRpcError._repr—   s9   € ä*×1Ñ1Ø�N‰N×#Ñ#Ø�J‰JØ�M‰MØ×$Ñ$ó	
ð 	
r/   c                 ó"   — | j                  «       S ©N©r:   r1   s    r.   Ú__repr__zAioRpcError.__repr__    ó   € Ø�z‰z‹|Ðr/   c                 ó"   — | j                  «       S r<   r=   r1   s    r.   Ú__str__zAioRpcError.__str__£   r?   r/   c                 óŠ   — t        | «      | j                  | j                  | j                  | j                  | j
                  ffS r<   )Útyper   r    r!   r   r"   r1   s    r.   Ú
__reduce__zAioRpcError.__reduce__¦   sA   € ä�‹Jà—
‘
Ø×&Ñ&Ø×'Ñ'Ø—‘Ø×(Ñ(ðð	
ð 		
r/   )NN)r9   Ú
__module__Ú__qualname__Ú__doc__ÚgrpcÚ
StatusCodeÚ__annotations__r   Ústrr   r+   r#   r&   r$   r%   r'   r:   r>   rA   rD   Ú__classcell__©r-   s   @r.   r   r   I   sþ   ø… ñð �?‰?ÓØ�s‰mÓØ Ñ)Ó)Ø  Ñ*Ó*Ø! #™Ó&ð "&Ø,0ñ6à�o‰oð6ð #ð6ð $ð	6ð
 ˜#‘ð6ð % S™Mð6ð 
õ6ð2�d—o‘oó ð˜ #™ó ð& (ó &ð' 8ó 'ð( Có (ð
�só 
ð˜#ó ð˜ó ö

r/   r   r$   Ústatusr(   c                 ó   — t        t        j                  |j                  «          t	        j
                  | «      t	        j                  |j                  «       «      |j                  «       |j                  «       ¬«      S )N)r&   r'   )
r   r   Ú!CYGRPC_STATUS_CODE_TO_STATUS_CODEr#   r   Ú_createÚ
from_tupler%   r&   r'   )r$   rN   s     r.   Ú_create_rpc_errorrS   ³   sa   € ô Ü×1Ñ1°&·+±+³-Ñ@Ü×ÑÐ)Ó*Ü×Ñ˜F×4Ñ4Ó6Ó7Ø—‘Ó Ø!×4Ñ4Ó6ôð r/   c                   óÎ  — e Zd ZU dZej
                  ed<   ej                  ed<   e	j                  ed<   eedf   ed<   ee   ed<   ee   ed<   d	e	j                  d
edee   dee   dej
                  ddfd„Zd#d„Zdefd„Zdedefd„Zdefd„Zdefd„Zdeddfd„Zdee   fd„Zdefd„Zdefd„Zdej                  fd„Zdefd„Z defd„Z!d#d„Z"defd „Z#defd!„Z$defd"„Z%y)$r   zyBase implementation of client RPC Call object.

    Implements logic around final status, metadata and cancellation.
    Ú_loopr   Ú_cython_call.Ú	_metadataÚ_request_serializerÚ_response_deserializerÚcython_callÚmetadataÚrequest_serializerÚresponse_deserializerÚloopr(   Nc                 ó\   — || _         || _        t        |«      | _        || _        || _        y r<   )rU   rV   ÚtuplerW   rX   rY   )r,   rZ   r[   r\   r]   r^   s         r.   r+   zCall.__init__Í   s.   € ð ˆŒ
Ø'ˆÔÜ˜x›ˆŒØ#5ˆÔ Ø&;ˆÕ#r/   c                 ó~   — t        | d«      r1| j                  j                  «       s| j                  t        «       y y y )NrV   )ÚhasattrrV   ÚdoneÚ_cancelÚ_GC_CANCELLATION_DETAILSr1   s    r.   Ú__del__zCall.__del__Û   s3   € ä�4˜Ô(°×1BÑ1B×1GÑ1GÔ1IØ�L‰LÔ1Õ2ð 2JÐ(r/   c                 ó6   — | j                   j                  «       S r<   )rV   Ú	cancelledr1   s    r.   rh   zCall.cancelledà   s   € Ø× Ñ ×*Ñ*Ó,Ð,r/   r&   c                 óp   — | j                   j                  «       s| j                   j                  |«       yy)z0Forwards the application cancellation reasoning.TF)rV   rc   Úcancel)r,   r&   s     r.   rd   zCall._cancelã   s.   € à× Ñ ×%Ñ%Ô'Ø×Ñ×$Ñ$ WÔ-ØØr/   c                 ó,   — | j                  t        «      S r<   )rd   Ú_LOCAL_CANCELLATION_DETAILSr1   s    r.   rj   zCall.cancelê   s   € Ø�|‰|Ô7Ó8Ð8r/   c                 ó6   — | j                   j                  «       S r<   )rV   rc   r1   s    r.   rc   z	Call.doneí   s   € Ø× Ñ ×%Ñ%Ó'Ð'r/   Úcallbackc                 óR   — t        || «      }| j                  j                  |«       y r<   )r   rV   Úadd_done_callback)r,   rn   Úcbs      r.   rp   zCall.add_done_callbackð   s"   € Ü�X˜tÓ$ˆØ×Ñ×+Ñ+¨BÕ/r/   c                 ó6   — | j                   j                  «       S r<   )rV   Útime_remainingr1   s    r.   rs   zCall.time_remainingô   s   € Ø× Ñ ×/Ñ/Ó1Ð1r/   c              ƒ   ó|   K  — | j                   j                  «       ƒ d {  –—† }t        j                  |«      S 7 Œ­wr<   )rV   r$   r   rR   ©r,   Úraw_metadata_tuples     r.   r$   zCall.initial_metadata÷   s6   è ø€ Ø#'×#4Ñ#4×#EÑ#EÓ#G×GÐÜ×"Ñ"Ð#5Ó6Ð6ð Hús   ‚< :¡<c              ƒ   ó°   K  — | j                   j                  «       ƒ d {  –—† j                  «       }|s
t        «       S t        j                  |«      S 7 Œ3­wr<   )rV   rN   r%   r   rR   ru   s     r.   r%   zCall.trailing_metadataû   sM   è ø€ à×#Ñ#×*Ñ*Ó,×,ß
Ñ
Ó
ð 	ñ "Ü“:ÐÜ×"Ñ"Ð#5Ó6Ð6ð	 -ús   ‚A A¡4Ac              ƒ   ó”   K  — | j                   j                  «       ƒ d {  –—† j                  «       }t        j                  |   S 7 Œ%­wr<   )rV   rN   r#   r   rP   )r,   Úcygrpc_codes     r.   r#   z	Call.code  s<   è ø€ Ø!×.Ñ.×5Ñ5Ó7×7×=Ñ=Ó?ˆÜ×8Ñ8¸ÑEÐEð 8ús   ‚A A¡&Ac              ƒ   ón   K  — | j                   j                  «       ƒ d {  –—† j                  «       S 7 Œ­wr<   )rV   rN   r&   r1   s    r.   r&   zCall.details  s*   è ø€ Ø×'Ñ'×.Ñ.Ó0×0×9Ñ9Ó;Ð;Ð0úó   ‚5 3¡5c              ƒ   ón   K  — | j                   j                  «       ƒ d {  –—† j                  «       S 7 Œ­wr<   )rV   rN   r'   r1   s    r.   r'   zCall.debug_error_string
  s*   è ø€ Ø×'Ñ'×.Ñ.Ó0×0×DÑDÓFÐFÐ0úr{   c              ƒ   ób  K  — | j                   j                  «       rt        j                  «       ‚| j	                  «       ƒ d {  –—† }|t
        j                  j                  k7  rBt        | j                  «       ƒ d {  –—† | j                   j                  «       ƒ d {  –—† «      ‚y 7 Œd7 Œ,7 Œ­wr<   )rV   Úis_locally_cancelledÚasyncioÚCancelledErrorr#   rH   rI   ÚOKrS   r$   rN   )r,   r#   s     r.   Ú_raise_for_statuszCall._raise_for_status  sŒ   è ø€ Ø×Ñ×1Ñ1Ô3Ü×(Ñ(Ó*Ð*Ø—Y‘Y“[× ˆØ”4—?‘?×%Ñ%Ò%Ü#Ø×+Ñ+Ó-×-Ø×'Ñ'×.Ñ.Ó0×0óð ð &ð !øð .øØ0ús6   ‚AB/ÁB)Á9B/Á>B+Á? B/ÂB-
Â 
B/Â+B/Â-B/c                 ó,   — t        | j                  «      S r<   )ÚreprrV   r1   s    r.   r:   z
Call._repr  s   € Ü�D×%Ñ%Ó&Ð&r/   c                 ó"   — | j                  «       S r<   r=   r1   s    r.   r>   zCall.__repr__  r?   r/   c                 ó"   — | j                  «       S r<   r=   r1   s    r.   rA   zCall.__str__  r?   r/   ©r(   N)&r9   rE   rF   rG   r   ÚAbstractEventLooprJ   rH   rI   r   Ú_AioCallr	   r   r   r   r   r   r+   rf   Úboolrh   rK   rd   rj   rc   r   rp   Úfloatrs   r$   r%   r#   r&   r'   r‚   r:   r>   rA   © r/   r.   r   r   À   ss  … ñð
 ×$Ñ$Ó$Ø�?‰?ÓØ—/‘/Ó!Ø�] CÐ'Ñ(Ó(Ø!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ð<à—_‘_ð<ð ð<ð %Ð%8Ñ9ð	<ð
  (Ð(=Ñ>ð<ð ×'Ñ'ð<ð 
ó<ó3ð
-˜4ó -ð˜sð  tó ð9˜ó 9ð(�dó (ð0Ð*:ð 0¸tó 0ð2 ¨¡ó 2ð7¨ó 7ð7¨ó 7ðF˜DŸO™Oó Fð<˜só <ðG¨#ó Góð'�só 'ð˜#ó ð˜ô r/   r   c                   ó   — e Zd ZdZdZdZy)Ú	_APIStyler   r   é   N)r9   rE   rF   ÚUNKNOWNÚASYNC_GENERATORÚREADER_WRITERrŒ   r/   r.   rŽ   rŽ   !  s   „ Ø€GØ€OØ�Mr/   rŽ   c                   ó|   ‡ — e Zd ZU ej                  ed<   dej                  fd„Zdefˆ fd„Zde	e
def   fd„Zˆ xZS )Ú_UnaryResponseMixinÚ_call_responseÚresponse_taskc                 ó   — || _         y r<   )r•   )r,   r–   s     r.   Ú_init_unary_response_mixinz._UnaryResponseMixin._init_unary_response_mixin*  s
   € Ø+ˆÕr/   r(   c                 óX   •— t         ‰| �  «       r| j                  j                  «        yy©NTF)r*   rj   r•   ©r,   r-   s    €r.   rj   z_UnaryResponseMixin.cancel-  s%   ø€ Ü‰7‰>ÔØ×Ñ×&Ñ&Ô(ØØr/   Nc              #   ó”  K  — 	 | j                   E d{  –—† }|t
        j                  u rb| j                  j                  «       rt        j                  «       ‚t        | j                  j                  | j                  j                  «      ‚|S 7 Œz# t        j                  $ r" | j                  «       s| j	                  «        ‚ w xY w­w)z+Wait till the ongoing RPC request finishes.N)r•   r   r€   rh   rj   r   ÚEOFrV   r~   rS   r    Ú_status)r,   Úresponses     r.   Ú	__await__z_UnaryResponseMixin.__await__3  s«   è ø€ ð		Ø"&×"5Ñ"5×5ˆHð ”v—z‘zÑ!Ø× Ñ ×5Ñ5Ô7Ü×,Ñ,Ó.Ð.ä'Ø×%Ñ%×7Ñ7Ø×%Ñ%×-Ñ-óð ð
 ˆOð1 6ùÜ×%Ñ%ò 	ð
 —>‘>Ô#Ø—‘”Øð	üs,   ‚C„B “B”B ˜A6CÂB Â5CÃC)r9   rE   rF   r   ÚTaskrJ   r˜   rŠ   rj   r   r   r   r    rL   rM   s   @r.   r”   r”   '  sA   ø… Ø—L‘LÓ ð,¸¿¹ó ,ð˜õ ð˜9 S¨$°Ð%<Ñ=÷ r/   r”   c                   óÊ   ‡ — e Zd ZU ee   ed<   ej                  ed<   eed<   dej                  fd„Z	defd„Z
defˆ fd	„Zdefd
„Zdee   fd„Zdefd„Zdeeef   fd„Zˆ xZS )Ú_StreamResponseMixinÚ_message_aiterÚ_preparationÚ_response_styleÚpreparationc                 óJ   — d | _         || _        t        j                  | _        y r<   )r¤   r¥   rŽ   r�   r¦   )r,   r§   s     r.   Ú_init_stream_response_mixinz0_StreamResponseMixin._init_stream_response_mixinV  s    € Ø"ˆÔØ'ˆÔÜ(×0Ñ0ˆÕr/   Ústylec                 óš   — | j                   t        j                  u r|| _         y | j                   |urt        j                  t
        «      ‚y r<   )r¦   rŽ   r�   r   Ú
UsageErrorÚ_API_STYLE_ERROR©r,   rª   s     r.   Ú_update_response_stylez+_StreamResponseMixin._update_response_style[  sC   € Ø×Ñ¤9×#4Ñ#4Ñ4Ø#(ˆDÕ Ø×!Ñ!¨Ñ.Ü×#Ñ#Ô$4Ó5Ð5ð /r/   r(   c                 óX   •— t         ‰| �  «       r| j                  j                  «        yyrš   )r*   rj   r¥   r›   s    €r.   rj   z_StreamResponseMixin.cancela  s%   ø€ Ü‰7‰>ÔØ×Ñ×$Ñ$Ô&ØØr/   c                óü   K  — | j                  «       ƒ d {  –—† }|t        j                  ur0|­–— | j                  «       ƒ d {  –—† }|t        j                  urŒ0| j                  «       ƒ d {  –—†  y 7 Œ_7 Œ27 Œ	­wr<   )Ú_readr   r�   r‚   )r,   Úmessages     r.   Ú_fetch_stream_responsesz,_StreamResponseMixin._fetch_stream_responsesg  sf   è ø€ ØŸ
™
›×$ˆØœVŸZ™ZÑ'Ø‹MØ ŸJ™J›L×(ˆGð œVŸZ™ZÒ'ð
 ×$Ñ$Ó&×&Ñ&ð %øð )øð 	'ús9   ‚A<–A6—.A<ÁA8ÁA<ÁA<Á0A:Á1A<Á8A<Á:A<c                 óš   — | j                  t        j                  «       | j                  €| j	                  «       | _        | j                  S r<   )r¯   rŽ   r‘   r¤   r´   r1   s    r.   Ú	__aiter__z_StreamResponseMixin.__aiter__p  s?   € Ø×#Ñ#¤I×$=Ñ$=Ô>Ø×ÑÐ&Ø"&×">Ñ">Ó"@ˆDÔØ×"Ñ"Ð"r/   c              ƒ   ót  K  — | j                   ƒ d {  –—†  	 | j                  j                  «       ƒ d {  –—† }|t        j                  u rt        j                  S t        j                  || j                  «      S 7 Œi7 ŒH# t        j                  $ r" | j                  «       s| j                  «        ‚ w xY w­wr<   )r¥   rV   Úreceive_serialized_messager   r€   rh   rj   r   r�   r   ÚdeserializerY   )r,   Úraw_responses     r.   r²   z_StreamResponseMixin._readv  s˜   è ø€ à×Ñ×Ðð	Ø!%×!2Ñ!2×!MÑ!MÓ!O×OˆLð œ6Ÿ:™:Ñ%Ü—:‘:ÐÜ×"Ñ" <°×1LÑ1LÓMÐMð 	 øð PùÜ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üs6   ‚B8’A<“B8˜B  µA>¶B  ºAB8Á>B  Â 5B5Â5B8c              ƒ   óL  K  — | j                  «       r(| j                  «       ƒ d {  –—†  t        j                  S | j	                  t
        j                  «       | j                  «       ƒ d {  –—† }|t        j                  u r| j                  «       ƒ d {  –—†  |S 7 Œw7 Œ27 Œ
­wr<   )rc   r‚   r   r�   r¯   rŽ   r’   r²   )r,   Úresponse_messages     r.   Úreadz_StreamResponseMixin.read†  sƒ   è ø€ Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ð*Ü—:‘:ÐØ×#Ñ#¤I×$;Ñ$;Ô<à!%§¡£×-ÐàœvŸz™zÑ)à×(Ñ(Ó*×*Ð*ØÐð +øð .øð +ús4   ‚$B$¦B§AB$Á-B Á.)B$ÂB"ÂB$Â B$Â"B$)r9   rE   rF   r   r   rJ   r   r¡   rŽ   r©   r¯   rŠ   rj   r´   r¶   r²   r
   r   r½   rL   rM   s   @r.   r£   r£   Q  s‡   ø… Ø! ,Ñ/Ó/Ø—,‘,ÓØÓð1°w·|±|ó 1ð
6¨Ió 6ð˜õ ð'¨|ó 'ð#˜=¨Ñ6ó #ðN˜\ó Nð  ˜E '¨<Ð"7Ñ8÷  r/   r£   c                   óè   ‡ — e Zd ZU ej                  ed<   eed<   eej                     ed<   e	ed<   dee
   fd„Zde	fd„Zd	efˆ fd
„Zd„ Zde
d	dfd„Zded	dfd„Zdd„Zded	dfd„Zdd„Zdd„Zˆ xZS )Ú_StreamRequestMixinÚ_metadata_sentÚ_done_writing_flagÚ_async_request_pollerÚ_request_styleÚrequest_iteratorc                 ó
  — t        j                  «       | _        d| _        |�E| j                  j                  | j                  |«      «      | _        t        j                  | _
        y d | _        t        j                  | _
        y )NF)r   ÚEventrÀ   rÁ   rU   Úcreate_taskÚ_consume_request_iteratorrÂ   rŽ   r‘   rÃ   r’   )r,   rÄ   s     r.   Ú_init_stream_request_mixinz._StreamRequestMixin._init_stream_request_mixinš  sn   € ô &Ÿm™m›oˆÔØ"'ˆÔð Ð'Ø)-¯©×)?Ñ)?Ø×.Ñ.Ð/?Ó@ó*ˆDÔ&ô #,×";Ñ";ˆDÕà)-ˆDÔ&Ü"+×"9Ñ"9ˆDÕr/   rª   c                 óR   — | j                   |urt        j                  t        «      ‚y r<   )rÃ   r   r¬   r­   r®   s     r.   Ú_raise_for_different_stylez._StreamRequestMixin._raise_for_different_styleª  s'   € Ø×Ñ eÑ+Ü×#Ñ#Ô$4Ó5Ð5ð ,r/   r(   c                 óp   •— t         ‰| �  «       r'| j                  �| j                  j                  «        yyrš   )r*   rj   rÂ   r›   s    €r.   rj   z_StreamRequestMixin.cancel®  s1   ø€ Ü‰7‰>ÔØ×)Ñ)Ð5Ø×*Ñ*×1Ñ1Ô3ØØr/   c                 ó8   — | j                   j                  «        y r<   )rÀ   Úsetr1   s    r.   Ú_metadata_sent_observerz+_StreamRequestMixin._metadata_sent_observerµ  s   € Ø×Ñ×ÑÕ!r/   Nc              ƒ   óT  K  — 	 t        j                  |«      st        |d«      r&|2 3 d {  –—† }	 | j                  |«      ƒ d {  –—†  Œ$|D ]  }	 | j                  |«      ƒ d {  –—†  Œ | j                  «       ƒ d {  –—†  y 7 ŒY7 ŒA# t        $ r!}t
        j                  d|«       Y d }~ y d }~ww xY w6 ŒL7 ŒR# t        $ r!}t
        j                  d|«       Y d }~ y d }~ww xY w7 Œg#  t
        j                  dt        j                  «       «       | j                  «        Y y xY w­w)Nr¶   z2Exception while consuming the request_iterator: %sz,Client request_iterator raised exception:
%s)ÚinspectÚ
isasyncgenrb   Ú_writer   Ú_LOGGERÚdebugÚ_done_writingÚ	tracebackÚ
format_excrj   )r,   rÄ   ÚrequestÚ	rpc_errors       r.   rÈ   z-_StreamRequestMixin._consume_request_iterator¸  s  è ø€ ð'	Ü×!Ñ!Ð"2Ô3´wØ  +ô8ñ &6÷ ˜'ð
Ø"Ÿk™k¨'Ó2×2Ñ2ó  0�Gð
Ø"Ÿk™k¨'Ó2×2Ñ2ð  0ð ×$Ñ$Ó&×&Ñ&ð5øà2ùÜ&ò ÜŸ™ð!8ð &ôõ ûðúñ &6ð 3ùÜ&ò ÜŸ™ð!8ð &ôõ ûðúð 'ùð	ô �M‰MØ?Ü×$Ñ$Ó&ôð �K‰KŽMüsÅ   ‚D(„#C) §B6«B¬B6¯C) ±B	ÁBÁB	Á
C) ÁB:Á%B8Á&B:Á*C) Á?C'Â C) ÂD(ÂB6ÂB	Â		B3ÂB.Â(C) Â-D(Â.B3Â3C) Â8B:Â:	C$ÃCÃC) ÃD(ÃC$Ã$C) Ã):D%Ä#D(rÙ   c              ƒ   ó$  K  — | j                  «       rt        j                  t        «      ‚| j                  rt        j                  t
        «      ‚| j                  j                  «       sJ| j                  j                  «       ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  t        j                  || j                  «      }	 | j                  j                  |«      ƒ d {  –—†  y 7 Œq7 ŒK7 Œ	# t        j                   $ rG}| j                  j#                  t%        |«      «       | j                  «       ƒ d {  –—†7   Y d }~y d }~wt        j&                  $ r" | j)                  «       s| j+                  «        ‚ w xY w­wr<   )rc   r   ÚInvalidStateErrorÚ_RPC_ALREADY_FINISHED_DETAILSrÁ   Ú_RPC_HALF_CLOSED_DETAILSrÀ   Úis_setÚwaitr‚   r   Ú	serializerX   rV   Úsend_serialized_messager   ÚInternalErrorÚset_internal_errorrK   r€   rh   rj   )r,   rÙ   Úserialized_requestÚerrs       r.   rÓ   z_StreamRequestMixin._writeä  s0  è ø€ Ø�9‰9Œ;Ü×+Ñ+Ô,IÓJÐJØ×"Ò"Ü×+Ñ+Ô,DÓEÐEØ×"Ñ"×)Ñ)Ô+Ø×%Ñ%×*Ñ*Ó,×,Ð,Ø�y‰yŒ{Ø×,Ñ,Ó.×.Ð.ä$×.Ñ.Ø�T×-Ñ-ó
Ðð	Ø×#Ñ#×;Ñ;Ð<NÓO×OÑOð -øà.øð PùÜ×#Ñ#ò 	+Ø×Ñ×0Ñ0´°S³Ô:Ø×(Ñ(Ó*×*Ö*ûÜ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üsl   ‚BFÂC:Â	'FÂ0C<Â1$FÃD  Ã4C>Ã5D  Ã9FÃ<FÃ>D  Ä FÄ7EÅ
EÅEÅFÅ8FÆFc              ƒ   ó  K  — | j                  «       ry | j                  s+d| _        	 | j                  j                  «       ƒ d {  –—†  y y 7 Œ# t        j
                  $ r" | j                  «       s| j                  «        ‚ w xY w­w)NT)rc   rÁ   rV   Úsend_receive_closer   r€   rh   rj   r1   s    r.   rÖ   z!_StreamRequestMixin._done_writingû  st   è ø€ Ø�9‰9Œ;àØ×&Ò&à&*ˆDÔ#ðØ×'Ñ'×:Ñ:Ó<×<Ñ<ð	 'ð =ùÜ×)Ñ)ò Ø—~‘~Ô'Ø—K‘K”MØðüs.   ‚%B¨A ÁAÁA Á
BÁA Á5BÂBc              ƒ   ó€   K  — | j                  t        j                  «       | j                  |«      ƒ d {  –—†  y 7 Œ­wr<   )rË   rŽ   r’   rÓ   )r,   rÙ   s     r.   Úwritez_StreamRequestMixin.write	  s,   è ø€ Ø×'Ñ'¬	×(?Ñ(?Ô@Ø�k‰k˜'Ó"×"Ò"ús   ‚4>¶<·>c              ƒ   ó~   K  — | j                  t        j                  «       | j                  «       ƒ d{  –—†  y7 Œ­w)zUSignal peer that client is done writing.

        This method is idempotent.
        N)rË   rŽ   r’   rÖ   r1   s    r.   Údone_writingz _StreamRequestMixin.done_writing  s.   è ø€ ð
 	×'Ñ'¬	×(?Ñ(?Ô@Ø× Ñ Ó"×"Ò"ús   ‚3=µ;¶=c              ƒ   óª   K  — | j                   j                  «       ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  y y 7 Œ.7 Œ­wr<   )rÀ   rà   rc   r‚   r1   s    r.   Úwait_for_connectionz'_StreamRequestMixin.wait_for_connection  sG   è ø€ Ø×!Ñ!×&Ñ&Ó(×(Ð(Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ñ*ð ð 	)øà*ús!   ‚A A¡'AÁAÁ	AÁAr‡   )r9   rE   rF   r   rÆ   rJ   rŠ   r   r¡   rŽ   r   rÉ   rË   rj   rÏ   rÈ   r   rÓ   rÖ   rê   rì   rî   rL   rM   s   @r.   r¿   r¿   ”  s£   ø… Ø—M‘MÓ!ØÓØ# G§L¡LÑ1Ó1ØÓð:Ø (Ð)<Ñ =ó:ð 6°	ó 6ð˜õ ò"ð*Ø 3ð*à	ó*ðX Kð °Dó ó.ð# ;ð #°4ó #ó#÷+r/   r¿   c                   óè   ‡ — e Zd ZU dZeed<   ej                  ed<   dedee	   de
deej                     dee   d	ej                  d
edee   dee   dej&                  ddfˆ fd„Zdefd„Zdd„Zˆ xZS )r   z}Object for managing unary-unary RPC calls.

    Returned when an instance of `UnaryUnaryMultiCallable` object is called.
    Ú_requestÚ_invocation_taskrÙ   Údeadliner[   ÚcredentialsÚwait_for_readyÚchannelÚmethodr\   r]   r^   r(   Nc                 ó  •— t         ‰| �  |j                  ||||«      |||	|
«       || _        t	        j
                  «       | _        |
j                  | j                  «       «      | _	        | j                  | j                  «       y r<   )r*   r+   Úcallrð   r   Úbuild_census_contextÚ_contextrÇ   Ú_invokerñ   r˜   ©r,   rÙ   rò   r[   ró   rô   rõ   rö   r\   r]   r^   r-   s              €r.   r+   zUnaryUnaryCall.__init__%  sv   ø€ ô 	‰ÑØ�L‰L˜ ¨;¸ÓGØØØ!Øô	
ð  ˆŒÜ×3Ñ3Ó5ˆŒØ $× 0Ñ 0°·±³Ó @ˆÔØ×'Ñ'¨×(=Ñ(=Õ>r/   c              ƒ   óÜ  K  — t        j                  | j                  | j                  «      }	 | j                  j                  || j                  | j                  «      ƒ d {  –—† }| j                  j                  «       r t        j                  | j                  «      S t        j                   S 7 ŒN# t        j                  $ r# | j                  «       s| j                  «        Y Œ�w xY w­wr<   )r   rá   rð   rX   rV   Úunary_unaryrW   rú   r   r€   rh   rj   Úis_okr¹   rY   r   r�   )r,   rå   Úserialized_responses      r.   rû   zUnaryUnaryCall._invoke>  sÃ   è ø€ Ü$×.Ñ.Ø�M‰M˜4×3Ñ3ó
Ðð	Ø(,×(9Ñ(9×(EÑ(EØ" D§N¡N°D·M±Mó)÷ #Ðð ×Ñ×"Ñ"Ô$Ü×&Ñ&Ø# T×%@Ñ%@óð ô �z‰zÐð#ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”ùð	üs;   ‚+C,®4B3 Á"B1Á#B3 Á'A
C,Â1B3 Â33C)Ã&C,Ã(C)Ã)C,c              ƒ   óŽ   K  — | j                   ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  y y 7 Œ.7 Œ­wr<   )rñ   rc   r‚   r1   s    r.   rî   z"UnaryUnaryCall.wait_for_connectionT  s>   è ø€ Ø×#Ñ#×#Ð#Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ñ*ð ð 	$øà*úó   ‚A’A“'AºA»AÁAr‡   )r9   rE   rF   rG   r   rJ   r   r¡   r   r‹   r   rH   ÚCallCredentialsrŠ   r   Ú
AioChannelÚbytesr   r   rˆ   r+   r   rû   rî   rL   rM   s   @r.   r   r     sÇ   ø… ñð
 ÓØ—l‘lÓ"ð?àð?ð ˜5‘/ð?ð ð	?ð
 ˜d×2Ñ2Ñ3ð?ð ! ™ð?ð ×"Ñ"ð?ð ð?ð %Ð%8Ñ9ð?ð  (Ð(=Ñ>ð?ð ×'Ñ'ð?ð 
õ?ð2˜|ó ÷,+r/   r   c                   óè   ‡ — e Zd ZU dZeed<   ej                  ed<   dedee	   de
deej                     dee   d	ej                  d
edee   dee   dej&                  ddfˆ fd„Zdefd„Zdd„Zˆ xZS )r   zObject for managing unary-stream RPC calls.

    Returned when an instance of `UnaryStreamMultiCallable` object is called.
    rð   Ú_send_unary_request_taskrÙ   rò   r[   ró   rô   rõ   rö   r\   r]   r^   r(   Nc                 ó  •— t         ‰| �  |j                  ||||«      |||	|
«       || _        t	        j
                  «       | _        |
j                  | j                  «       «      | _	        | j                  | j                  «       y r<   )r*   r+   rø   rð   r   rù   rú   rÇ   Ú_send_unary_requestr  r©   rü   s              €r.   r+   zUnaryStreamCall.__init__d  s~   ø€ ô 	‰ÑØ�L‰L˜ ¨;¸ÓGØØØ!Øô	
ð  ˆŒÜ×3Ñ3Ó5ˆŒØ(,×(8Ñ(8Ø×$Ñ$Ó&ó)
ˆÔ%ð 	×(Ñ(¨×)FÑ)FÕGr/   c              ƒ   óH  K  — t        j                  | j                  | j                  «      }	 | j                  j                  || j                  | j                  «      ƒ d {  –—†  y 7 Œ# t        j                  $ r" | j                  «       s| j                  «        ‚ w xY w­wr<   )r   rá   rð   rX   rV   Úinitiate_unary_streamrW   rú   r   r€   rh   rj   )r,   rå   s     r.   r	  z#UnaryStreamCall._send_unary_request  s„   è ø€ Ü$×.Ñ.Ø�M‰M˜4×3Ñ3ó
Ðð	Ø×#Ñ#×9Ñ9Ø" D§N¡N°D·M±Mó÷ ò ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üs.   ‚+B"®4A* Á"A(Á#A* Á'B"Á(A* Á*5BÂB"c              ƒ   óŽ   K  — | j                   ƒ d {  –—†  | j                  «       r| j                  «       ƒ d {  –—†  y y 7 Œ.7 Œ­wr<   )r  rc   r‚   r1   s    r.   rî   z#UnaryStreamCall.wait_for_connectionŒ  s>   è ø€ Ø×+Ñ+×+Ð+Ø�9‰9Œ;Ø×(Ñ(Ó*×*Ñ*ð ð 	,øà*úr  r‡   )r9   rE   rF   rG   r   rJ   r   r¡   r   r‹   r   rH   r  rŠ   r   r  r  r   r   rˆ   r+   r   r	  rî   rL   rM   s   @r.   r   r   Z  sÓ   ø… ñð
 ÓØ%Ÿl™lÓ*ðHàðHð ˜5‘/ðHð ð	Hð
 ˜d×2Ñ2Ñ3ðHð ! ™ðHð ×"Ñ"ðHð ðHð %Ð%8Ñ9ðHð  (Ð(=Ñ>ðHð ×'Ñ'ðHð 
õHð6¨<ó ÷+r/   r   c                   ó¼   ‡ — e Zd ZdZdee   dee   dedeej                     dee
   dej                  ded	ee   d
ee   dej"                  ddfˆ fd„Zdefd„Zˆ xZS )ÚStreamUnaryCallzObject for managing stream-unary RPC calls.

    Returned when an instance of `StreamUnaryMultiCallable` object is called.
    rÄ   rò   r[   ró   rô   rõ   rö   r\   r]   r^   r(   Nc                 ó   •— t         ‰| �  |j                  ||||«      |||	|
«       t        j                  «       | _        | j                  |«       | j                  |
j                  | j                  «       «      «       y r<   )
r*   r+   rø   r   rù   rú   rÉ   r˜   rÇ   Ú_conduct_rpc©r,   rÄ   rò   r[   ró   rô   rõ   rö   r\   r]   r^   r-   s              €r.   r+   zStreamUnaryCall.__init__œ  ss   ø€ ô 	‰ÑØ�L‰L˜ ¨;¸ÓGØØØ!Øô	
ô ×3Ñ3Ó5ˆŒØ×'Ñ'Ð(8Ô9Ø×'Ñ'¨×(8Ñ(8¸×9JÑ9JÓ9LÓ(MÕNr/   c              ƒ   óš  K  — 	 | j                   j                  | j                  | j                  | j                  «      ƒ d {  –—† }| j                   j                  «       r t        j                  || j                  «      S t        j                  S 7 ŒN# t
        j                  $ r" | j                  «       s| j                  «        ‚ w xY w­wr<   )rV   Ústream_unaryrW   rÏ   rú   r   r€   rh   rj   rÿ   r   r¹   rY   r   r�   )r,   r   s     r.   r  zStreamUnaryCall._conduct_rpcµ  s«   è ø€ ð	Ø(,×(9Ñ(9×(FÑ(FØ—‘ × <Ñ <¸d¿m¹mó)÷ #Ðð ×Ñ×"Ñ"Ô$Ü×&Ñ&Ø# T×%@Ñ%@óð ô �z‰zÐð#ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘”Øð	üs/   ‚C„>B ÁBÁB ÁA
CÂB Â5CÃC)r9   rE   rF   rG   r   r   r‹   r   rH   r  rŠ   r   r  r  r   r   r   rˆ   r+   r   r  rL   rM   s   @r.   r  r  “  sÂ   ø„ ñðOà"Ð#6Ñ7ðOð ˜5‘/ðOð ð	Oð
 ˜d×2Ñ2Ñ3ðOð ! ™ðOð ×"Ñ"ðOð ðOð %Ð%8Ñ9ðOð  (Ð(=Ñ>ðOð ×'Ñ'ðOð 
õOð2 L÷ r/   r  c                   óÖ   ‡ — e Zd ZU dZej
                  ed<   dee   dee	   de
deej                     dee   dej                  d	ed
ee   dee   dej&                  ddfˆ fd„Zd„ Zˆ xZS )ÚStreamStreamCallz�Object for managing stream-stream RPC calls.

    Returned when an instance of `StreamStreamMultiCallable` object is called.
    Ú_initializerrÄ   rò   r[   ró   rô   rõ   rö   r\   r]   r^   r(   Nc                 ó6  •— t         ‰| �  |j                  ||||«      |||	|
«       t        j                  «       | _        | j                  j                  | j                  «       «      | _	        | j                  |«       | j                  | j                  «       y r<   )r*   r+   rø   r   rù   rú   rU   rÇ   Ú_prepare_rpcr  rÉ   r©   r  s              €r.   r+   zStreamStreamCall.__init__Ñ  s…   ø€ ô 	‰ÑØ�L‰L˜ ¨;¸ÓGØØØ!Øô	
ô ×3Ñ3Ó5ˆŒØ ŸJ™J×2Ñ2°4×3DÑ3DÓ3FÓGˆÔØ×'Ñ'Ð(8Ô9Ø×(Ñ(¨×):Ñ):Õ;r/   c              ƒ   ó  K  — 	 | j                   j                  | j                  | j                  | j                  «      ƒ d{  –—†  y7 Œ# t
        j                  $ r% | j                  «       s| j                  «        Y yY yw xY w­w)z©Prepares the RPC for receiving/sending messages.

        All other operations around the stream should only happen after the
        completion of this method.
        N)	rV   Úinitiate_stream_streamrW   rÏ   rú   r   r€   rh   rj   r1   s    r.   r  zStreamStreamCall._prepare_rpcê  sl   è ø€ ð	Ø×#Ñ#×:Ñ:Ø—‘ × <Ñ <¸d¿m¹mó÷ ò ùô ×%Ñ%ò 	Ø—>‘>Ô#Ø—‘–ñ $ð	üs:   ‚B„>A
 ÁAÁA
 ÁBÁA
 Á
3BÁ=BÂBÂB)r9   rE   rF   rG   r   r¡   rJ   r   r   r‹   r   rH   r  rŠ   r   r  r  r   r   rˆ   r+   r  rL   rM   s   @r.   r  r  Æ  s»   ø… ñð
 —,‘,Óð<à"Ð#6Ñ7ð<ð ˜5‘/ð<ð ð	<ð
 ˜d×2Ñ2Ñ3ð<ð ! ™ð<ð ×"Ñ"ð<ð ð<ð %Ð%8Ñ9ð<ð  (Ð(=Ñ>ð<ð ×'Ñ'ð<ð 
õ<ö2r/   r  );rG   r   ÚenumÚ	functoolsr   rÑ   Úloggingr×   Útypingr   r   r   r   r   r	   r
   rH   r   Úgrpc._cythonr   Ú r   rW   r   Ú_typingr   r   r   r   r   r   r   r   r   Ú__all__rl   re   rÝ   rÞ   r­   Ú_OK_CALL_REPRESENTATIONr7   Ú	getLoggerr9   rÔ   ÚRpcErrorr   ÚAioRpcStatusrS   r   ÚIntEnumrŽ   r”   r£   r¿   r   r   r  r  rŒ   r/   r.   Ú<module>r(     s‘  ðñ =ã Û Ý Û Û Û ÷÷ ñ ó Ý Ý å Ý Ý *Ý %Ý Ý !Ý "Ý (Ý  Ý !Ý (à
D€àAÐ Ø?Ð Ø 7Ð ØMÐ àHð ð
 Kð ð
ð ð ˆ'×
Ñ
˜HÓ
%€ôg
�$—-‘-ô g
ðT
Ø"ð
à×Ñð
ð ó
÷^ñ ^ôB�—‘ô ô'˜$ ¨Ñ 5ô 'ôT@ ˜4ô @ ôFD+˜$ô D+ôN<+Ð(¨$°
×0IÑ0Iô <+ô~5+Ð*¨D°*×2LÑ2Lô 5+ôr0ØÐ,¨d°J×4NÑ4Nô0ôf0ØÐ-¨t°Z×5PÑ5Põ0r/   