§
    g˜ºh	= ã                   ó"
  — d Z ddlZddlZddlZddlZddl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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dl$Z ej%        e&¦  «        Z'd (                    ej)        ¦  «        Z*dZ+ ej,        d¦  «        duZ-ej.        j/        ej.        j0        ej.        j1        ej.        j2        ej.        j3        ej.        j4        fZ5ej.        j/        ej.        j0        ej.        j1        ej.        j2        ej.        j4        fZ6ej.        j/        ej.        j2        ej.        j3        ej.        j4        fZ7ej.        j/        ej.        j2        ej.        j4        fZ8dZ9dZ:dZ;dee<         dee<         fd„Z=deej>                 dee?         de?fd„Z@ G d„ deA¦  «        ZBdeBdej>        de?ddfd „ZCd!ejD        deBd"ee         dee          fd#„ZEdeBd"ee         de#fd$„ZFd%edeBd&eejG        ejH        f         d'e"d(ee#         ddfd)„ZId*e?d+eBde?fd,„ZJ G d-„ d.ejK        ejL        ejM        ¦  «        ZN G d/„ d0ejK        ejO        ¦  «        ZP G d1„ d2ePejL        ejM        ¦  «        ZQ G d3„ d4ePejL        ejM        ¦  «        ZRd5e
dee<         d'e"deee<         eeS         eejK                 f         fd6„ZTdeBd&ejH        d7eUd8ee<         dee!ee!ejL        f         f         f
d9„ZVd:ee         d;eWdeeejX                          fd<„ZYd:ee         d;eWdeeeejX                 ee#         f                  fd=„ZZd>ee<         dee<         fd?„Z[ G d@„ dAej\        ¦  «        Z] G dB„ dCej^        ¦  «        Z_ G dD„ dEej^        ¦  «        Z` G dF„ dGeja        ¦  «        Zb G dH„ dIejc        ¦  «        Zd G dJ„ dKeW¦  «        Ze G dL„ dMeA¦  «        ZfdefddfdN„ZgdeffdO„Zh G dP„ dQeA¦  «        Zideideeejj        gdf                  fdR„ZkdeidSejj        dTeeejj        gdf                  ddfdU„ZldeidVeeejj        gdf                  ddfdW„ZmdeidXejn        dYeUddfdZ„Zodeid[eejj        gdf         d\eUddfd]„Zpdeid[eejj        gdf         ddfd^„Zqd_ee         d`eejr                 dee         fda„Zsdbee         deee         ee         f         fdc„Zt G dd„ deejn        ¦  «        ZndS )fz.Invocation-side implementation of gRPC Python.é    N)
ÚAnyÚCallableÚDictÚIteratorÚListÚOptionalÚSequenceÚSetÚTupleÚUnion)Ú_common)Ú_compression)Ú_grpcio_metadata)Ú_observability)Úcygrpc)ÚChannelArgumentType)ÚDeserializingFunction)ÚIntegratedCallFactory)ÚMetadataType)ÚNullaryCallbackType)ÚResponseType)ÚSerializingFunction)ÚUserTagzgrpc-python/{}Ú!GRPC_SINGLE_THREADED_UNARY_STREAMz0Exception calling channel subscription callback!z?<{} of RPC that terminated with:
	status = {}
	details = "{}"
>zZ<{} of RPC that terminated with:
	status = {}
	details = "{}"
	debug_error_string = "{}"
>ÚtimeoutÚreturnc                 ó6   — | €d nt          j         ¦   «         | z   S ©N)Útime©r   s    úU/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/grpc/_channel.pyÚ	_deadliner"   m   s   € Ø�?ˆ4ˆ4­¬	©¬°gÑ(=Ð=ó    Úunknown_cygrpc_codeÚdetailsc                 ó.   — d                      | |¦  «        S )Nz,Server sent unknown code {} and details "{}")Úformat)r$   r%   s     r!   Ú_unknown_code_detailsr(   q   s!   € ð :×@Ò@Ø˜Wñô ð r#   c                   óÆ  — e Zd ZU ej        ed<   eej                 ed<   e	e
         ed<   eed<   e	e
         ed<   e	ej                 ed<   e	e         ed<   e	e         ed<   eed	<   ee         ed
<   e	e         ed<   e	e         ed<   e	e         ed<   e	e         ed<   e	e         ed<   deej                 de	e
         de	e
         de	ej                 de	e         f
d„Zd„ ZdS )Ú	_RPCStateÚ	conditionÚdueÚinitial_metadataÚresponseÚtrailing_metadataÚcoder%   Údebug_error_stringÚ	cancelledÚ	callbacksÚ
fork_epochÚrpc_start_timeÚrpc_end_timeÚmethodÚtargetc                 ó6  — t          j        ¦   «         | _        t          |¦  «        | _        || _        d | _        || _        || _        || _	        d | _
        d | _        d | _        d | _        d | _        d| _        g | _        t#          j        ¦   «         | _        d S ©NF)Ú	threadingÚ	Conditionr+   Úsetr,   r-   r.   r/   r0   r%   r1   r5   r6   r7   r8   r2   r3   r   Úget_fork_epochr4   )Úselfr,   r-   r/   r0   r%   s         r!   Ú__init__z_RPCState.__init__Š   s”   € õ #Ô,Ñ.Ô.ˆŒõ �s‘8”8ˆŒØ 0ˆÔØˆŒØ!2ˆÔØˆŒ	ØˆŒØ"&ˆÔð #ˆÔØ ˆÔØˆŒØˆŒð ˆŒØˆŒÝ Ô/Ñ1Ô1ˆŒˆˆr#   c                 ó6   — t          j        ¦   «         | _        d S r   )r;   r<   r+   ©r?   s    r!   Úreset_postfork_childz_RPCState.reset_postfork_child²   s   € Ý"Ô,Ñ.Ô.ˆŒˆˆr#   N)Ú__name__Ú
__module__Ú__qualname__r;   r<   Ú__annotations__r
   r   ÚOperationTyper   r   r   ÚgrpcÚ
StatusCodeÚstrÚboolr   r   ÚintÚfloatr	   r@   rC   © r#   r!   r*   r*   y   ss  € € € € € € ØÔ"Ð"Ð"Ñ"Ø	ˆVÔ!Ô	"Ð"Ð"Ñ"Ø˜|Ô,Ð,Ð,Ñ,Ø€M€M�MØ Ô-Ð-Ð-Ñ-Ø
�4”?Ô
#Ð#Ð#Ñ#Ø�cŒ]ÐÐÑØ  œÐ%Ð%Ñ%Ø€O€O�OØÐ'Ô(Ð(Ð(Ñ(Ø˜”ÐÐÑØ˜U”OÐ#Ð#Ñ#Ø˜5”/Ð!Ð!Ñ!Ø�SŒMÐÐÑØ�SŒMÐÐÑð&2à�fÔ*Ô+ð&2ð # <Ô0ð&2ð $ LÔ1ð	&2ð
 �t”Ô'ð&2ð ˜#”ð&2ð &2ð &2ð &2ðP/ð /ð /ð /ð /r#   r*   Ústater0   c                 ó^   — | j         €%|| _         || _        | j        €d| _        d| _        d S d S ©NrO   )r0   r%   r-   r/   )rP   r0   r%   s      r!   Ú_abortrS   ¶   s?   € Ø„zÐØˆŒ
ØˆŒØÔ!Ð)Ø%'ˆEÔ"Ø"$ˆÔÐÐð Ðr#   ÚeventÚresponse_deserializerc                 ó  — g }| j         D �]ú}|                     ¦   «         }|j                             |¦  «         |t          j        j        k    r|                     ¦   «         |_        Œ`|t          j        j        k    rX| 	                    ¦   «         }|�At          j        ||¦  «        }|€#d}t          |t          j        j        |¦  «         ŒÅ||_        ŒÍ|t          j        j        k    �r|                     ¦   «         |_        |j        €ªt          j                             |                     ¦   «         ¦  «        }	|	€>t          j        j        |_        t/          |	|                     ¦   «         ¦  «        |_        n9|	|_        |                     ¦   «         |_        |                     ¦   «         |_        t7          j        ¦   «         |_        t=          j        |¦  «         |                      |j!        ¦  «         d |_!        �Œü|S )Nz!Exception deserializing response!)"Úbatch_operationsÚtyper,   Úremover   rH   Úreceive_initial_metadatar-   Úreceive_messageÚmessager   ÚdeserializerS   rI   rJ   ÚINTERNALr.   Úreceive_status_on_clientr/   r0   Ú!CYGRPC_STATUS_CODE_TO_STATUS_CODEÚgetÚUNKNOWNr(   r%   Úerror_stringr1   r   Úperf_counterr6   r   Úmaybe_record_rpc_latencyÚextendr3   )
rT   rP   rU   r3   Úbatch_operationÚoperation_typeÚserialized_responser.   r%   r0   s
             r!   Ú_handle_eventrj   ¿   sÛ  € ð
 €IØ Ô1ð "#ñ "#ˆØ(×-Ò-Ñ/Ô/ˆØŒ	×Ò˜Ñ(Ô(Ð(Ø�VÔ1ÔJÒJÐJØ%4×%EÒ%EÑ%GÔ%GˆEÔ"Ð"Ø�vÔ3ÔCÒCÐCØ"1×"9Ò"9Ñ";Ô";ÐØ"Ð.Ý"Ô.Ø'Ð)>ñô �ð Ð#ØA�GÝ˜5¥$¤/Ô":¸GÑDÔDÐDÐDà%-�E”NøØ�vÔ3ÔLÒLÑLØ&5×&GÒ&GÑ&IÔ&IˆEÔ#ØŒzÐ!ÝÔ@×DÒDØ#×(Ò(Ñ*Ô*ñô �ð �<Ý!%¤Ô!8�E”JÝ$9Ø˜o×5Ò5Ñ7Ô7ñ%ô %�E”M�Mð "&�E”JØ$3×$;Ò$;Ñ$=Ô$=�E”MØ/>×/KÒ/KÑ/MÔ/M�EÔ,Ý!%Ô!2Ñ!4Ô!4ˆEÔÝÔ3°EÑ:Ô:Ð:Ø×Ò˜Uœ_Ñ-Ô-Ð-Ø"ˆEŒOùØÐr#   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc           	      óš  •— ‰j         5  t          | ‰‰¦  «        }‰j                              ¦   «          ‰j         }d d d ¦  «         n# 1 swxY w Y   |D ]Y}	  |¦   «          Œ# t          $ r?}t          j        dt          |j        ¦  «        t          |¦  «        ¦  «         Y d }~ŒRd }~ww xY w|o‰j	        t          j        ¦   «         k    S )NzException in callback %s: %s)r+   rj   Ú
notify_allr,   Ú	ExceptionÚloggingÚerrorÚreprÚfuncr4   r   r>   )rT   r3   ÚdoneÚcallbackÚerU   rP   s        €€r!   Úhandle_eventz$_event_handler.<locals>.handle_eventî   s5  ø€ ØŒ_ð 	!ð 	!Ý% e¨UÐ4IÑJÔJˆIØŒO×&Ò&Ñ(Ô(Ð(Ø”y�=ˆDð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð "ð 	ð 	ˆHðØ�‘
”
�
�
øÝð ð ð õ ”Ø2µD¸¼Ñ4GÔ4GÍÈaÉÌñô ð ð ð ð ð ð øøøøðøøøð ÐC˜Ô(­FÔ,AÑ,CÔ,CÒCÐCs)   ‰3AÁAÁAÁ
A#Á#
B,Á-5B'Â'B,rO   )rP   rU   rv   s   `` r!   Ú_event_handlerrw   ë   s0   øø€ ðDð Dð Dð Dð Dð Dð  Ðr#   Úrequest_iteratorÚcallÚrequest_serializerÚevent_handlerc                 óž   ‡ ‡‡‡‡— ˆˆˆ ˆˆfd„}t          j        |¬¦  «        }|                     d¦  «         |                     ¦   «          dS )z'Consume a request supplied by the user.c            	      óÊ  •— 	 d} 	 t          j        ¦   «          t          ‰
¦  «        }nÂ# t          $ r Y | st          j        ¦   «          �nmt
          $ r” t          j        ¦   «          d} t          j        j        }d}t           
                    |¦  «         ‰                     t          j        |         |¦  «         t          ‰||¦  «         Y | st          j        ¦   «          d S d S w xY w	 | st          j        ¦   «          n# | st          j        ¦   «          w w xY wt          j        |‰¦  «        }‰j        5  ‰j        �€N‰j        �sF|€Xt          j        j        }d}‰                     t          j        |         |¦  «         t          ‰||¦  «         	 d d d ¦  «         d S ‰j                             t           j        j        ¦  «         t          j        |t2          ¦  «        f}‰                     |‰	¦  «        }|s7‰j                             t           j        j        ¦  «         	 d d d ¦  «         d S ˆfd„}t          j        ‰j        j        |t;          j        t           j        ‰¦  «        ¬¦  «         ‰j        �	 d d d ¦  «         d S n	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y   �Œµ‰j        5  ‰j        €„‰j                             t           j        j         ¦  «         t          j!        t2          ¦  «        f}‰                     |‰	¦  «        }|s)‰j                             t           j        j         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTFzException iterating requests!úException serializing request!c                  óF   •— ‰ j         d upt          j        j        ‰ j        vS r   )r0   r   rH   Úsend_messager,   )rP   s   €r!   Ú_donezJ_consume_request_iterator.<locals>.consume_request_iterator.<locals>._done=  s*   ø€ à %¤
°$Ð 6ð !1Ý#)Ô#7Ô#DØ',¤yð$1ðr#   )Úspin_cb)"r   Úenter_user_request_generatorÚnextÚStopIterationÚ"return_from_user_request_generatorrn   rI   rJ   rb   Ú_LOGGERÚ	exceptionÚcancelr   Ú!STATUS_CODE_TO_CYGRPC_STATUS_CODErS   Ú	serializer+   r0   r2   r^   r,   ÚaddrH   r€   ÚSendMessageOperationÚ_EMPTY_FLAGSÚoperaterY   ÚwaitÚ	functoolsÚpartialÚblock_if_fork_in_progressÚsend_close_from_clientÚSendCloseFromClientOperation)Ú*return_from_user_request_generator_invokedÚrequestr0   r%   Úserialized_requestÚ
operationsÚ	operatingr�   ry   r{   rx   rz   rP   s           €€€€€r!   Úconsume_request_iteratorz;_consume_request_iterator.<locals>.consume_request_iterator  s­  ø€ ð?	Ø9>Ð6ð@åÔ3Ñ5Ô5Ð5ÝÐ/Ñ0Ô0��øÝ ð ð ð Øð Bð @ÝÔ=Ñ?Ô?Ð?ùõ ð 
ð 
ð 
ÝÔ9Ñ;Ô;Ð;Ø=AÐ:Ý”Ô.�Ø9�Ý×!Ò! 'Ñ*Ô*Ð*Ø—’ÝÔ=¸dÔCÀWñô ð õ �u˜d GÑ,Ô,Ð,ØàAð @ÝÔ=Ñ?Ô?Ð?Ð?Ð?ð@ð @ð
øøøð ð Bð @ÝÔ=Ñ?Ô?Ð?øøð Bð @ÝÔ=Ñ?Ô?Ð?Ð?ð@øøøå!(Ô!2°7Ð<NÑ!OÔ!OÐØ”ð (ð (Ø”:Ñ%¨e¬oÑ%Ø)Ð1Ý#œÔ7˜Ø"B˜ØŸšÝ#ÔEÀdÔKØ#ñô ð õ ˜u d¨GÑ4Ô4Ð4Øð(ð (ð (ñ (ô (ð (ð (ð (ð œ	Ÿš¥fÔ&:Ô&GÑHÔHÐHå"Ô7Ø 2µLñô ð&˜
ð
 %)§L¢L°¸]Ñ$KÔ$K˜	Ø(ð #Ø!œI×,Ò,­VÔ-AÔ-NÑOÔOÐOØ"ð+(ð (ð (ñ (ô (ð (ð (ð (ð.ð ð ð ð õ  œØ!œOÔ0Ø!Ý$-Ô$5Ý &Ô @À%ñ%ô %ðñ ô ð ð !œ:Ð1Ø"ðM(ð (ð (ñ (ô (ð (ð (ð (ðJ 2ð ðQ(ð (ð (ñ (ô (ð (ð (ð (ðJ 2ðK(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ñ/?	ð@ Œ_ð 
	ð 
	ØŒzÐ!Ø”	—’�fÔ2ÔIÑJÔJÐJåÔ7½ÑEÔEð�
ð !ŸLšL¨°]ÑCÔC�	Ø ð Ø”I×$Ò$ÝÔ,ÔCñô ð ð
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	øøøð 
	ð 
	ð 
	ð 
	ð 
	ð 
	sl   †") ¨D ©
C(³D ÁBC(ÃD Ã'C(Ã(D ÄDÄ9AJ+Æ$BJ+È7AJ+ÊJ+Ê+J/Ê2J/Ê?BMÍMÍM©r8   TN©r   ÚForkManagedThreadÚ	setDaemonÚstart)rx   rP   ry   rz   r{   r›   Úconsumption_threads   `````  r!   Ú_consume_request_iteratorr¢     s‰   øøøøø€ ðMð Mð Mð Mð Mð Mð Mð Mð Mõ^  Ô1Ø'ðñ ô Ðð × Ò  Ñ&Ô&Ð&Ø×ÒÑÔÐÐÐr#   Ú
class_nameÚ	rpc_statec                 ó€  — |j         5  |j        €!d                     | ¦  «        cddd¦  «         S |j        t          j        j        u r2t                               | |j        |j        ¦  «        cddd¦  «         S t                               | |j        |j        |j	        ¦  «        cddd¦  «         S # 1 swxY w Y   dS )z Calculates error string for RPC.Nz<{} object>)
r+   r0   r'   rI   rJ   ÚOKÚ_OK_RENDEZVOUS_REPR_FORMATr%   Ú_NON_OK_RENDEZVOUS_REPR_FORMATr1   )r£   r¤   s     r!   Ú_rpc_state_stringr©   b  s4  € à	Ô	ð ð ØŒ>Ð!Ø ×'Ò'¨
Ñ3Ô3ðð ð ð ñ ô ð ð ð Œ^�tœÔ1Ð1Ð1Ý-×4Ò4Ø˜IœN¨IÔ,=ñô ð	ð ð ð ñ ô ð ð õ 2×8Ò8ØØ”ØÔ!ØÔ,ñ	ô ðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s   ˆB3±=B3Á;+B3Â3B7Â:B7c                   óÂ  — e Zd ZU dZeed<   defd„Zdee         fd„Z	dee         fd„Z
deej                 fd„Zdee         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efd„Z	 ddee         defd„Z	 ddee         dee         fd„Z	 ddee         deej                 fd„Z 	 dde!ej"        gdf         dee         ddfd„Z#dS )Ú_InactiveRpcErrorzÐAn RPC error not tied to the execution of a particular RPC.

    The RPC represented by the state object must not be in-progress or
    cancelled.

    Attributes:
      _state: An instance of _RPCState.
    Ú_staterP   c           
      ó–  — |j         5  t          dt          j        |j        ¦  «        t          j        |j        ¦  «        |j        t          j        |j        ¦  «        ¦  «        | _        t          j        |j	        ¦  «        | j        _	        t          j        |j
        ¦  «        | j        _
        d d d ¦  «         d S # 1 swxY w Y   d S rR   )r+   r*   ÚcopyÚdeepcopyr-   r/   r0   r%   r¬   r.   r1   ©r?   rP   s     r!   r@   z_InactiveRpcError.__init__€  sù   € ØŒ_ð 		Qð 		QÝ#ØÝ”˜eÔ4Ñ5Ô5Ý”˜eÔ5Ñ6Ô6Ø”
Ý”˜eœmÑ,Ô,ñô ˆDŒKõ $(¤9¨U¬^Ñ#<Ô#<ˆDŒKÔ Ý-1¬Y°uÔ7OÑ-PÔ-PˆDŒKÔ*ð		Qð 		Qð 		Qñ 		Qô 		Qð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qøøøð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qs   ˆB)B>Â>CÃCr   c                 ó   — | j         j        S r   ©r¬   r-   rB   s    r!   r-   z"_InactiveRpcError.initial_metadataŒ  s   € ØŒ{Ô+Ð+r#   c                 ó   — | j         j        S r   ©r¬   r/   rB   s    r!   r/   z#_InactiveRpcError.trailing_metadata�  s   € ØŒ{Ô,Ð,r#   c                 ó   — | j         j        S r   ©r¬   r0   rB   s    r!   r0   z_InactiveRpcError.code’  s   € ØŒ{ÔÐr#   c                 ó>   — t          j        | j        j        ¦  «        S r   )r   Údecoder¬   r%   rB   s    r!   r%   z_InactiveRpcError.details•  s   € ÝŒ~˜dœkÔ1Ñ2Ô2Ð2r#   c                 ó>   — t          j        | j        j        ¦  «        S r   )r   r¸   r¬   r1   rB   s    r!   r1   z$_InactiveRpcError.debug_error_string˜  s   € ÝŒ~˜dœkÔ<Ñ=Ô=Ð=r#   c                 ó@   — t          | j        j        | j        ¦  «        S r   ©r©   Ú	__class__rD   r¬   rB   s    r!   Ú_reprz_InactiveRpcError._repr›  ó   € Ý  ¤Ô!8¸$¼+ÑFÔFÐFr#   c                 ó*   — |                       ¦   «         S r   ©r½   rB   s    r!   Ú__repr__z_InactiveRpcError.__repr__ž  ó   € Ø�zŠz‰|Œ|Ðr#   c                 ó*   — |                       ¦   «         S r   rÀ   rB   s    r!   Ú__str__z_InactiveRpcError.__str__¡  rÂ   r#   c                 ó   — dS )zSee grpc.Future.cancel.FrO   rB   s    r!   r‰   z_InactiveRpcError.cancel¤  ó   € àˆur#   c                 ó   — dS )zSee grpc.Future.cancelled.FrO   rB   s    r!   r2   z_InactiveRpcError.cancelled¨  rÆ   r#   c                 ó   — dS )zSee grpc.Future.running.FrO   rB   s    r!   Úrunningz_InactiveRpcError.running¬  rÆ   r#   c                 ó   — dS )zSee grpc.Future.done.TrO   rB   s    r!   rs   z_InactiveRpcError.done°  s   € àˆtr#   Nr   c                 ó   — | ‚)zSee grpc.Future.result.rO   ©r?   r   s     r!   Úresultz_InactiveRpcError.result´  s	   € ð ˆ
r#   c                 ó   — | S )zSee grpc.Future.exception.rO   rÌ   s     r!   rˆ   z_InactiveRpcError.exceptionº  s	   € ð ˆr#   c                 ód   — 	 | ‚# t           j        $ r t          j        ¦   «         d         cY S w xY w)zSee grpc.Future.traceback.é   )rI   ÚRpcErrorÚsysÚexc_inforÌ   s     r!   Ú	tracebackz_InactiveRpcError.tracebackÀ  s@   € ð	%ØˆJøÝŒ}ð 	%ð 	%ð 	%Ý”<‘>”> !Ô$Ð$Ð$Ð$ð	%øøøs   ‚ „(/®/Úfnc                 ó   —  || ¦  «         dS )z"See grpc.Future.add_done_callback.NrO   )r?   rÕ   r   s      r!   Úadd_done_callbackz#_InactiveRpcError.add_done_callbackÉ  s   € ð 	ˆˆ4‰Œˆˆˆr#   r   )$rD   rE   rF   Ú__doc__r*   rG   r@   r   r   r-   r/   rI   rJ   r0   rK   r%   r1   r½   rÁ   rÄ   rL   r‰   r2   rÉ   rs   rN   r   rÍ   rn   rˆ   ÚtypesÚTracebackTyperÔ   r   ÚFuturer×   rO   r#   r!   r«   r«   t  sŸ  € € € € € € ðð ð ÐÐÑð
Q˜ið 
Qð 
Qð 
Qð 
Qð, (¨<Ô"8ð ,ð ,ð ,ð ,ð- 8¨LÔ#9ð -ð -ð -ð -ð �h˜tœÔ/ð  ð  ð  ð  ð3˜ #œð 3ð 3ð 3ð 3ð> H¨S¤Mð >ð >ð >ð >ðG�sð Gð Gð Gð Gð˜#ð ð ð ð ð˜ð ð ð ð ð˜ð ð ð ð ð˜4ð ð ð ð ð˜ð ð ð ð ð�dð ð ð ð ð
 *.ðð Ø ”ðà	ðð ð ð ð *.ðð Ø ”ðà	�)Ô	ðð ð ð ð *.ð%ð %Ø ”ð%à	�%Ô%Ô	&ð%ð %ð %ð %ð $(ðð à�d”k�] DÐ(Ô)ðð ˜%”ðð 
ð	ð ð ð ð ð r#   r«   c            	       ór  ‡ — e Zd ZU dZeed<   eej        ej	        f         ed<   e
e         ed<   e
e         ed<   dedeej        ej	        f         de
e         d	e
e         fˆ fd
„Zdefd„Zde
e         fd„Zdefd„Zdedefd„Zd„ Zd„ Zd„ Zd„ Zde
e         fd„Zdefd„Zdefd„Zdefd„Zdd„Zˆ xZS )Ú_Rendezvousaå  An RPC iterator.

    Attributes:
      _state: An instance of _RPCState.
      _call: An instance of SegregatedCall or IntegratedCall.
        In either case, the _call object is expected to have operate, cancel,
        and next_event methods.
      _response_deserializer: A callable taking bytes and return a Python
        object.
      _deadline: A float representing the deadline of the RPC in seconds. Or
        possibly None, to represent an RPC with no deadline at all.
    r¬   Ú_callÚ_response_deserializerr"   rP   ry   rU   Údeadlinec                 óŽ   •— t          t          | ¦  «                             ¦   «          || _        || _        || _        || _        d S r   )ÚsuperrÝ   r@   r¬   rÞ   rß   r"   )r?   rP   ry   rU   rà   r¼   s        €r!   r@   z_Rendezvous.__init__å  sB   ø€ õ 	�k˜4Ñ Ô ×)Ò)Ñ+Ô+Ð+ØˆŒØˆŒ
Ø&;ˆÔ#Ø!ˆŒˆˆr#   r   c                 ój   — | j         j        5  | j         j        du cddd¦  «         S # 1 swxY w Y   dS )zSee grpc.RpcContext.is_activeN©r¬   r+   r0   rB   s    r!   Ú	is_activez_Rendezvous.is_activeò  s~   € àŒ[Ô"ð 	,ð 	,Ø”;Ô# tÐ+ð	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ó   �(¨,¯,c                 óÊ   — | j         j        5  | j        €	 ddd¦  «         dS t          | j        t	          j        ¦   «         z
  d¦  «        cddd¦  «         S # 1 swxY w Y   dS )z"See grpc.RpcContext.time_remainingNr   )r¬   r+   r"   Úmaxr   rB   s    r!   Útime_remainingz_Rendezvous.time_remaining÷  sÀ   € àŒ[Ô"ð 	<ð 	<ØŒ~Ð%Øð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<õ ˜4œ>­D¬I©K¬KÑ7¸Ñ;Ô;ð		<ð 	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   �	A£(AÁAÁAc                 ó‚  — | j         j        5  | j         j        €Œt          j        j        }d}| j                             t          j	        |         |¦  «         d| j         _
        t          | j         ||¦  «         | j         j                             ¦   «          	 ddd¦  «         dS 	 ddd¦  «         dS # 1 swxY w Y   dS )zSee grpc.RpcContext.cancelNz!Locally cancelled by application!TF)r¬   r+   r0   rI   rJ   Ú	CANCELLEDrÞ   r‰   r   rŠ   r2   rS   rm   )r?   r0   r%   s      r!   r‰   z_Rendezvous.cancelÿ  s  € àŒ[Ô"ð 	ð 	ØŒ{ÔÐ'Ý”Ô0�Ø=�Ø”
×!Ò!ÝÔ=¸dÔCÀWñô ð ð )-�”Ô%Ý�t”{ D¨'Ñ2Ô2Ð2Ø”Ô%×0Ò0Ñ2Ô2Ð2Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   �BB4Â&B4Â4B8Â;B8rt   c                 óÄ   — | j         j        5  | j         j        €	 ddd¦  «         dS | j         j                             |¦  «         	 ddd¦  «         dS # 1 swxY w Y   dS )z See grpc.RpcContext.add_callbackNFT)r¬   r+   r3   Úappend©r?   rt   s     r!   Úadd_callbackz_Rendezvous.add_callback  sÅ   € àŒ[Ô"ð 	ð 	ØŒ{Ô$Ð,Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð ”Ô%×,Ò,¨XÑ6Ô6Ð6Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   �A¨ AÁAÁAc                 ó   — | S r   rO   rB   s    r!   Ú__iter__z_Rendezvous.__iter__  ó   € Øˆr#   c                 ó*   — |                       ¦   «         S r   ©Ú_nextrB   s    r!   r„   z_Rendezvous.next  rÂ   r#   c                 ó*   — |                       ¦   «         S r   rô   rB   s    r!   Ú__next__z_Rendezvous.__next__  rÂ   r#   c                 ó   — t          ¦   «         ‚r   ©ÚNotImplementedErrorrB   s    r!   rõ   z_Rendezvous._next!  ó   € Ý!Ñ#Ô#Ð#r#   c                 ó   — t          ¦   «         ‚r   rù   rB   s    r!   r1   z_Rendezvous.debug_error_string$  rû   r#   c                 ó@   — t          | j        j        | j        ¦  «        S r   r»   rB   s    r!   r½   z_Rendezvous._repr'  r¾   r#   c                 ó*   — |                       ¦   «         S r   rÀ   rB   s    r!   rÁ   z_Rendezvous.__repr__*  rÂ   r#   c                 ó*   — |                       ¦   «         S r   rÀ   rB   s    r!   rÄ   z_Rendezvous.__str__-  rÂ   r#   Nc                 óˆ  — | j         j        5  | j         j        €�t          j        j        | j         _        d| j         _        d| j         _        | j         	                    t          j        | j         j                 | j         j        ¦  «         | j         j                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nz"Cancelled upon garbage collection!T)r¬   r+   r0   rI   rJ   rë   r%   r2   rÞ   r‰   r   rŠ   rm   rB   s    r!   Ú__del__z_Rendezvous.__del__0  sê   € ØŒ[Ô"ð 		3ð 		3ØŒ{ÔÐ'Ý#'¤?Ô#<�”Ô Ø&J�”Ô#Ø(,�”Ô%Ø”
×!Ò!ÝÔ=¸d¼kÔ>NÔOØ”KÔ'ñô ð ð ”Ô%×0Ò0Ñ2Ô2Ð2ð		3ð 		3ð 		3ñ 		3ô 		3ð 		3ð 		3ð 		3ð 		3ð 		3ð 		3ð 		3øøøð 		3ð 		3ð 		3ð 		3ð 		3ð 		3s   �BB7Â7B;Â>B;©r   N)rD   rE   rF   rØ   r*   rG   r   r   ÚSegregatedCallÚIntegratedCallr   r   rN   r@   rL   rå   ré   r‰   r   rï   rñ   r„   r÷   rõ   rK   r1   r½   rÁ   rÄ   r  Ú__classcell__©r¼   s   @r!   rÝ   rÝ   Ò  s  ø€ € € € € € ðð ð ÐÐÑØ�Ô&¨Ô(=Ð=Ô>Ð>Ð>Ñ>Ø$Ð%:Ô;Ð;Ð;Ñ;Ø˜ŒÐÐÑð"àð"ð �FÔ)¨6Ô+@Ð@ÔAð"ð  (Ð(=Ô>ð	"ð
 ˜5”/ð"ð "ð "ð "ð "ð "ð,˜4ð ,ð ,ð ,ð ,ð
< ¨¤ð <ð <ð <ð <ð˜ð ð ð ð ð Ð%8ð ¸Tð ð ð ð ðð ð ðð ð ðð ð ð$ð $ð $ð$ H¨S¤Mð $ð $ð $ð $ðG�sð Gð Gð Gð Gð˜#ð ð ð ð ð˜ð ð ð ð ð
3ð 
3ð 
3ð 
3ð 
3ð 
3ð 
3ð 
3r#   rÝ   c                   ó´  — e Zd ZU dZeed<   defd„Zdefd„Zdefd„Z	defd„Z
dd	ee         defd
„Zdd	ee         dee         fd„Z	 dd	ee         deej                 fd„Zdeej        gdf         ddfd„Zdee         fd„Zdee         fd„Zdeej                 fd„Zdee         fd„Zdeej                  fd„Z!defd„Z"defd„Z#dee         fd„Z$dS )Ú_SingleThreadedRendezvousaN  An RPC iterator operating entirely on a single thread.

    The __next__ method of _SingleThreadedRendezvous does not depend on the
    existence of any other thread, including the "channel spin thread".
    However, this means that its interface is entirely synchronous. So this
    class cannot completely fulfill the grpc.Future interface. The result,
    exception, and traceback methods will never block and will instead raise
    an exception if calling the method would result in blocking.

    This means that these methods are safe to call from add_done_callback
    handlers.
    r¬   r   c                 ó   — | j         j        d uS r   r¶   rB   s    r!   Ú_is_completez&_SingleThreadedRendezvous._is_completeO  ó   € ØŒ{Ô tÐ+Ð+r#   c                 óf   — | j         j        5  | j         j        cd d d ¦  «         S # 1 swxY w Y   d S r   ©r¬   r+   r2   rB   s    r!   r2   z#_SingleThreadedRendezvous.cancelledR  óy   € ØŒ[Ô"ð 	)ð 	)Ø”;Ô(ð	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ó   �&¦*­*c                 ój   — | j         j        5  | j         j        d u cd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rÉ   z!_SingleThreadedRendezvous.runningV  ó~   € ØŒ[Ô"ð 	,ð 	,Ø”;Ô# tÐ+ð	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ræ   c                 ój   — | j         j        5  | j         j        d ucd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rs   z_SingleThreadedRendezvous.doneZ  ó~   € ØŒ[Ô"ð 	0ð 	0Ø”;Ô#¨4Ð/ð	0ð 	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ræ   Nr   c                 óJ  — ~| j         j        5  |                      ¦   «         st          j                             d¦  «        ‚| j         j        t          j        j        u r| j         j	        cddd¦  «         S | j         j
        rt          j        ¦   «         ‚| ‚# 1 swxY w Y   dS )a9  Returns the result of the computation or raises its exception.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zJ_SingleThreadedRendezvous only supports result() when the RPC is complete.N)r¬   r+   r
  rI   ÚexperimentalÚ
UsageErrorr0   rJ   r¦   r.   r2   ÚFutureCancelledErrorrÌ   s     r!   rÍ   z _SingleThreadedRendezvous.result^  sì   € ð ØŒ[Ô"ð 	ð 	Ø×$Ò$Ñ&Ô&ð ÝÔ'×2Ò2ð(ñô ð ð Œ{Ô¥4¤?Ô#5Ð5Ð5Ø”{Ô+ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð ”Ô&ð ÝÔ/Ñ1Ô1Ð1à�
ð	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ŽABÁ7!BÂBÂBc                 óN  — ~| j         j        5  |                      ¦   «         st          j                             d¦  «        ‚| j         j        t          j        j        u r	 ddd¦  «         dS | j         j	        rt          j
        ¦   «         ‚| cddd¦  «         S # 1 swxY w Y   dS )a*  Return the exception raised by the computation.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zM_SingleThreadedRendezvous only supports exception() when the RPC is complete.N)r¬   r+   r
  rI   r  r  r0   rJ   r¦   r2   r  rÌ   s     r!   rˆ   z#_SingleThreadedRendezvous.exceptionu  s  € ð ØŒ[Ô"ð 	ð 	Ø×$Ò$Ñ&Ô&ð ÝÔ'×2Ò2ð,ñô ð ð Œ{Ô¥4¤?Ô#5Ð5Ð5Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð ”Ô&ð ÝÔ/Ñ1Ô1Ð1àð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ŽABÁ- BÂBÂ!Bc                 ó¬  — ~| j         j        5  |                      ¦   «         st          j                             d¦  «        ‚| j         j        t          j        j        u r	 ddd¦  «         dS | j         j	        rt          j
        ¦   «         ‚	 | ‚# t          j        $ r( t          j        ¦   «         d         cY cddd¦  «         S w xY w# 1 swxY w Y   dS )a;  Access the traceback of the exception raised by the computation.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zM_SingleThreadedRendezvous only supports traceback() when the RPC is complete.NrÐ   )r¬   r+   r
  rI   r  r  r0   rJ   r¦   r2   r  rÑ   rÒ   rÓ   rÌ   s     r!   rÔ   z#_SingleThreadedRendezvous.tracebackŒ  sE  € ð ØŒ[Ô"ð 	-ð 	-Ø×$Ò$Ñ&Ô&ð ÝÔ'×2Ò2ð,ñô ð ð Œ{Ô¥4¤?Ô#5Ð5Ð5Øð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð ”Ô&ð -ÝÔ/Ñ1Ô1Ð1ð-Ø�JøÝ”}ð -ð -ð -Ýœ<™>œ>¨!Ô,Ð,Ð,ð	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð-øøøð	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s6   ŽAC	Á-C	ÂBÂ(CÂ7C	ÃCÃC	Ã	CÃCrÕ   c                 óþ   — | j         j        5  | j         j        €@| j         j                             t          j        || ¦  «        ¦  «         	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y    || ¦  «         d S r   ©r¬   r+   r0   r3   rí   r‘   r’   ©r?   rÕ   s     r!   r×   z+_SingleThreadedRendezvous.add_done_callback¨  óÔ   € ØŒ[Ô"ð 	ð 	ØŒ{ÔÐ'Ø”Ô%×,Ò,­YÔ->¸rÀ4Ñ-HÔ-HÑIÔIÐIØð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	Ø'ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 	ˆˆ4‰Œˆˆˆó   �A A'Á'A+Á.A+c                 ó¾   — | j         j        5  | j         j        € |                      ¦   «          | j         j        ® | j         j        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.initial_metadataN)r¬   r+   r-   Ú_consume_next_eventrB   s    r!   r-   z*_SingleThreadedRendezvous.initial_metadata°  s¥   € àŒ[Ô"ð 	0ð 	0ð ”+Ô.Ð6Ø×(Ò(Ñ*Ô*Ð*ð ”+Ô.Ð6à”;Ô/ð	0ð 	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   �8AÁAÁAc                 ó¼   — | j         j        5  | j         j        €t          j                             d¦  «        ‚| j         j        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.trailing_metadataNz4Cannot get trailing metadata until RPC is completed.)r¬   r+   r/   rI   r  r  rB   s    r!   r/   z+_SingleThreadedRendezvous.trailing_metadata¹  s¤   € àŒ[Ô"ð 	1ð 	1ØŒ{Ô,Ð4ÝÔ'×2Ò2ØJñô ð ð ”;Ô0ð	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ó   �7AÁAÁAc                 ó¼   — | j         j        5  | j         j        €t          j                             d¦  «        ‚| j         j        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.codeNz'Cannot get code until RPC is completed.)r¬   r+   r0   rI   r  r  rB   s    r!   r0   z_SingleThreadedRendezvous.codeÂ  s¤   € àŒ[Ô"ð 	$ð 	$ØŒ{ÔÐ'ÝÔ'×2Ò2Ø=ñô ð ð ”;Ô#ð	$ð 	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r$  c                 óà   — | j         j        5  | j         j        €t          j                             d¦  «        ‚t          j        | j         j        ¦  «        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.detailsNz*Cannot get details until RPC is completed.)r¬   r+   r%   rI   r  r  r   r¸   rB   s    r!   r%   z!_SingleThreadedRendezvous.detailsË  s®   € àŒ[Ô"ð 	7ð 	7ØŒ{Ô"Ð*ÝÔ'×2Ò2Ø@ñô ð õ ”> $¤+Ô"5Ñ6Ô6ð	7ð 	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ó   �A	A#Á#A'Á*A'c                 óÖ   — | j                              ¦   «         }| j        j        5  t	          || j        | j        ¦  «        }|D ]} |¦   «          Œ	 d d d ¦  «         n# 1 swxY w Y   |S r   )rÞ   Ú
next_eventr¬   r+   rj   rß   )r?   rT   r3   rt   s       r!   r!  z-_SingleThreadedRendezvous._consume_next_eventÔ  s¼   € Ø”
×%Ò%Ñ'Ô'ˆØŒ[Ô"ð 	ð 	Ý%Ø�t”{ DÔ$?ñô ˆIð &ð ð �ð �‘
”
�
�
ðð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆs   ¦+AÁA"Á%A"c                 ó†  — 	 |                       ¦   «          | j        j        5  | j        j        �&| j        j        }d | j        _        |cd d d ¦  «         S t          j        j        | j        j        vr9| j        j        t          j
        j        u rt          ¦   «         ‚| j        j        �| ‚d d d ¦  «         n# 1 swxY w Y   ŒÁr   )r!  r¬   r+   r.   r   rH   r[   r,   r0   rI   rJ   r¦   r…   )r?   r.   s     r!   Ú_next_responsez(_SingleThreadedRendezvous._next_responseà  s  € ð	#Ø×$Ò$Ñ&Ô&Ð&Ø”Ô&ð #ð #Ø”;Ô'Ð3Ø#œ{Ô3�HØ+/�D”KÔ(Ø#ð	#ð #ð #ð #ñ #ô #ð #ð #õ Ô(Ô8ÀÄÄÐOÐOà”{Ô'­4¬?Ô+=Ð=Ð=Ý+™oœoÐ-ØœÔ)Ð5Ø"˜
ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð	#s   ¢&B7ÁAB7Â7B;Â>B;c                 ó  — | j         j        5  | j         j        €’| j         j                             t
          j        j        ¦  «         | j         	                    t          j
        t          ¦  «        fd ¦  «        }|s.| j         j                             t
          j        j        ¦  «         n-| j         j        t          j        j        u rt!          ¦   «         ‚| ‚d d d ¦  «         n# 1 swxY w Y   |                      ¦   «         S r   )r¬   r+   r0   r,   rŒ   r   rH   r[   rÞ   r�   ÚReceiveMessageOperationrŽ   rY   rI   rJ   r¦   r…   r-  )r?   rš   s     r!   rõ   z_SingleThreadedRendezvous._nextð  s  € ØŒ[Ô"ð 	ð 	ØŒ{ÔÐ'ð ””×#Ò#¥FÔ$8Ô$HÑIÔIÐIØ œJ×.Ò.ÝÔ3µLÑAÔAÐCÀTñô �	ð !ð QØ”K”O×*Ò*­6Ô+?Ô+OÑPÔPÐPøØ”Ô!¥T¤_Ô%7Ð7Ð7Ý#‘o”oÐ%à�
ð-	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð. ×"Ò"Ñ$Ô$Ð$s   �CC%Ã%C)Ã,C)c                 óà   — | j         j        5  | j         j        €t          j                             d¦  «        ‚t          j        | j         j        ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nz5Cannot get debug error string until RPC is completed.)r¬   r+   r1   rI   r  r  r   r¸   rB   s    r!   r1   z,_SingleThreadedRendezvous.debug_error_string
  sÂ   € ØŒ[Ô"ð 	Bð 	BØŒ{Ô-Ð5ÝÔ'×2Ò2ØKñô ð õ ”> $¤+Ô"@ÑAÔAð	Bð 	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Br)  r   )%rD   rE   rF   rØ   r*   rG   rL   r
  r2   rÉ   rs   r   rN   r   rÍ   rn   rˆ   rÙ   rÚ   rÔ   r   rI   rÛ   r×   r   r-   r/   rJ   r0   rK   r%   r   Ú	BaseEventr!  r-  rõ   r1   rO   r#   r!   r  r  =  s_  € € € € € € ðð ð ÐÐÑð,˜dð ,ð ,ð ,ð ,ð)˜4ð )ð )ð )ð )ð,˜ð ,ð ,ð ,ð ,ð0�dð 0ð 0ð 0ð 0ðð ˜h uœoð ¸ð ð ð ð ð.ð  ¨%¤ð ¸HÀYÔ<Oð ð ð ð ð0 *.ð-ð -Ø ”ð-à	�%Ô%Ô	&ð-ð -ð -ð -ð8 H¨d¬k¨]¸DÐ-@Ô$Að Àdð ð ð ð ð0 (¨<Ô"8ð 0ð 0ð 0ð 0ð1 8¨LÔ#9ð 1ð 1ð 1ð 1ð$�h˜tœÔ/ð $ð $ð $ð $ð7˜ #œð 7ð 7ð 7ð 7ð
 X¨fÔ.>Ô%?ð 
ð 
ð 
ð 
ð# ð #ð #ð #ð #ð %�sð %ð %ð %ð %ð4B H¨S¤Mð Bð Bð Bð Bð Bð Br#   r  c                   ó†  — e Zd ZU dZeed<   dee         fd„Zdee         fd„Z	dee
j                 fd„Zdee         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dee         defd„Zddee         dee         fd„Z	 ddee         deej                 fd„Zdee
j        gdf         ddfd„Zdefd„Z dS )Ú_MultiThreadedRendezvousa¤  An RPC iterator that depends on a channel spin thread.

    This iterator relies upon a per-channel thread running in the background,
    dequeueing events from the completion queue, and notifying threads waiting
    on the threading.Condition object in the _RPCState object.

    This extra thread allows _MultiThreadedRendezvous to fulfill the grpc.Future interface
    and to mediate a bidirection streaming RPC.
    r¬   r   c                 óº   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         ‰ j         j        cddd¦  «         S # 1 swxY w Y   dS )r   c                  ó    •— ‰ j         j        d uS r   r²   rB   s   €r!   r�   z8_MultiThreadedRendezvous.initial_metadata.<locals>._done&  s   ø€ Ø”{Ô3¸4Ð?Ð?r#   N)r¬   r+   r   r�   r-   ©r?   r�   s   ` r!   r-   z)_MultiThreadedRendezvous.initial_metadata"  s´   ø€ àŒ[Ô"ð 	0ð 	0ð@ð @ð @ð @ð @õ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ø”;Ô/ð	0ð 	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ó   Ž5AÁAÁAc                 óº   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         ‰ j         j        cddd¦  «         S # 1 swxY w Y   dS )r#  c                  ó    •— ‰ j         j        d uS r   r´   rB   s   €r!   r�   z9_MultiThreadedRendezvous.trailing_metadata.<locals>._done0  s   ø€ Ø”{Ô4¸DÐ@Ð@r#   N)r¬   r+   r   r�   r/   r6  s   ` r!   r/   z*_MultiThreadedRendezvous.trailing_metadata,  s´   ø€ àŒ[Ô"ð 	1ð 	1ðAð Að Að Að Aõ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ø”;Ô0ð	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1r7  c                 óº   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         ‰ j         j        cddd¦  «         S # 1 swxY w Y   dS )r&  c                  ó    •— ‰ j         j        d uS r   r¶   rB   s   €r!   r�   z,_MultiThreadedRendezvous.code.<locals>._done:  s   ø€ Ø”{Ô'¨tÐ3Ð3r#   N)r¬   r+   r   r�   r0   r6  s   ` r!   r0   z_MultiThreadedRendezvous.code6  s¯   ø€ àŒ[Ô"ð 	$ð 	$ð4ð 4ð 4ð 4ð 4õ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ø”;Ô#ð	$ð 	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r7  c                 óÞ   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         t          j        ‰ j         j        ¦  «        cddd¦  «         S # 1 swxY w Y   dS )r(  c                  ó    •— ‰ j         j        d uS r   )r¬   r%   rB   s   €r!   r�   z/_MultiThreadedRendezvous.details.<locals>._doneD  s   ø€ Ø”{Ô*°$Ð6Ð6r#   N)r¬   r+   r   r�   r¸   r%   r6  s   ` r!   r%   z _MultiThreadedRendezvous.details@  s¹   ø€ àŒ[Ô"ð 	7ð 	7ð7ð 7ð 7ð 7ð 7õ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ý”> $¤+Ô"5Ñ6Ô6ð	7ð 	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ó   ŽAA"Á"A&Á)A&c                 óÞ   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         t          j        ‰ j         j        ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nc                  ó    •— ‰ j         j        d uS r   )r¬   r1   rB   s   €r!   r�   z:_MultiThreadedRendezvous.debug_error_string.<locals>._doneM  s   ø€ Ø”{Ô5¸TÐAÐAr#   )r¬   r+   r   r�   r¸   r1   r6  s   ` r!   r1   z+_MultiThreadedRendezvous.debug_error_stringJ  sÒ   ø€ ØŒ[Ô"ð 	Bð 	BðBð Bð Bð Bð Bõ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ý”> $¤+Ô"@ÑAÔAð	Bð 	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Br>  c                 óf   — | j         j        5  | j         j        cd d d ¦  «         S # 1 swxY w Y   d S r   r  rB   s    r!   r2   z"_MultiThreadedRendezvous.cancelledS  r  r  c                 ój   — | j         j        5  | j         j        d u cd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rÉ   z _MultiThreadedRendezvous.runningW  r  ræ   c                 ój   — | j         j        5  | j         j        d ucd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rs   z_MultiThreadedRendezvous.done[  r  ræ   c                 ó   — | j         j        d uS r   r¶   rB   s    r!   r
  z%_MultiThreadedRendezvous._is_complete_  r  r#   Nr   c                 ób  — | j         j        5  t          j        | j         j        j        | j        |¬¦  «        }|rt          j        ¦   «         ‚| j         j        t
          j        j	        u r| j         j
        cddd¦  «         S | j         j        rt          j        ¦   «         ‚| ‚# 1 swxY w Y   dS )z‚Returns the result of the computation or raises its exception.

        See grpc.Future.result for the full API contract.
        r    N)r¬   r+   r   r�   r
  rI   ÚFutureTimeoutErrorr0   rJ   r¦   r.   r2   r  ©r?   r   Ú	timed_outs      r!   rÍ   z_MultiThreadedRendezvous.resultb  sô   € ð
 Œ[Ô"ð 	ð 	ÝœØ”Ô%Ô*¨DÔ,=Àwðñ ô ˆIð ð ÝÔ-Ñ/Ô/Ð/à”;Ô#¥t¤Ô'9Ð9Ð9Øœ;Ô/ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð ”[Ô*ð ÝÔ3Ñ5Ô5Ð5à�Jð	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   �A)B$Â!B$Â$B(Â+B(c                 óf  — | j         j        5  t          j        | j         j        j        | j        |¬¦  «        }|rt          j        ¦   «         ‚| j         j        t
          j        j	        u r	 ddd¦  «         dS | j         j
        rt          j        ¦   «         ‚| cddd¦  «         S # 1 swxY w Y   dS )zvReturn the exception raised by the computation.

        See grpc.Future.exception for the full API contract.
        r    N)r¬   r+   r   r�   r
  rI   rF  r0   rJ   r¦   r2   r  rG  s      r!   rˆ   z"_MultiThreadedRendezvous.exceptionu  s  € ð
 Œ[Ô"ð 	 ð 	 ÝœØ”Ô%Ô*¨DÔ,=Àwðñ ô ˆIð ð  ÝÔ-Ñ/Ô/Ð/à”;Ô#¥t¤Ô'9Ð9Ð9Øð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð ”[Ô*ð  ÝÔ3Ñ5Ô5Ð5àð	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   �AB&Á9 B&Â&B*Â-B*c                 óÄ  — | j         j        5  t          j        | j         j        j        | j        |¬¦  «        }|rt          j        ¦   «         ‚| j         j        t
          j        j	        u r	 ddd¦  «         dS | j         j
        rt          j        ¦   «         ‚	 | ‚# t
          j        $ r( t          j        ¦   «         d         cY cddd¦  «         S w xY w# 1 swxY w Y   dS )z‡Access the traceback of the exception raised by the computation.

        See grpc.future.traceback for the full API contract.
        r    NrÐ   )r¬   r+   r   r�   r
  rI   rF  r0   rJ   r¦   r2   r  rÑ   rÒ   rÓ   rG  s      r!   rÔ   z"_MultiThreadedRendezvous.tracebackˆ  sM  € ð Œ[Ô"ð 	1ð 	1ÝœØ”Ô%Ô*¨DÔ,=Àwðñ ô ˆIð ð 1ÝÔ-Ñ/Ô/Ð/à”;Ô#¥t¤Ô'9Ð9Ð9Øð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð ”[Ô*ð 1ÝÔ3Ñ5Ô5Ð5ð1Ø"˜
øÝœ=ð 1ð 1ð 1Ý"œ|™~œ~¨aÔ0Ð0Ð0ð	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð1øøøð	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s6   �ACÁ9CÂBÂ(CÃCÃCÃCÃCÃCrÕ   c                 óþ   — | j         j        5  | j         j        €@| j         j                             t          j        || ¦  «        ¦  «         	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y    || ¦  «         d S r   r  r  s     r!   r×   z*_MultiThreadedRendezvous.add_done_callback   r  r  c                 ó~  ‡ — ‰ j         j        5  ‰ j         j        €¬t          ‰ j         ‰ j        ¦  «        }‰ j         j                             t          j        j	        ¦  «         ‰ j
                             t          j        t          ¦  «        f|¦  «        }|s.‰ j         j                             t          j        j	        ¦  «         n-‰ j         j        t          j        j        u rt%          ¦   «         ‚‰ ‚ˆ fd„}t'          j        ‰ j         j        j        |¦  «         ‰ j         j        �&‰ j         j        }d ‰ j         _        |cd d d ¦  «         S t          j        j	        ‰ j         j        vr9‰ j         j        t          j        j        u rt%          ¦   «         ‚‰ j         j        �‰ ‚d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  óv   •— ‰ j         j        d up*t          j        j        ‰ j         j        vo‰ j         j        d uS r   )r¬   r.   r   rH   r[   r,   r0   rB   s   €r!   Ú_response_readyz7_MultiThreadedRendezvous._next.<locals>._response_readyº  s>   ø€ Ø”{Ô+°4Ð7ð ÝÔ(Ô8ÀÄÄÐOð 5ØœÔ(°Ð4ðr#   )r¬   r+   r0   rw   rß   r,   rŒ   r   rH   r[   rÞ   r�   r/  rŽ   rY   rI   rJ   r¦   r…   r   r�   r.   )r?   r{   rš   rN  r.   s   `    r!   rõ   z_MultiThreadedRendezvous._next¨  sõ  ø€ ØŒ[Ô"ð  	ð  	ØŒ{ÔÐ'Ý .Ø”K Ô!<ñ!ô !�ð ””×#Ò#¥FÔ$8Ô$HÑIÔIÐIØ œJ×.Ò.ÝÔ3µLÑAÔAÐCØ!ñô �	ð !ð QØ”K”O×*Ò*­6Ô+?Ô+OÑPÔPÐPøØ”Ô!¥T¤_Ô%7Ð7Ð7Ý#‘o”oÐ%à�
ðð ð ð ð õ ŒL˜œÔ.Ô3°_ÑEÔEÐEØŒ{Ô#Ð/Øœ;Ô/�Ø'+�”Ô$Øð7 	ð  	ð  	ð  	ñ  	ô  	ð  	ð  	õ8 Ô%Ô5¸T¼[¼_ÐLÐLØ”;Ô#¥t¤Ô'9Ð9Ð9Ý'™/œ/Ð)Ø”[Ô%Ð1Ø�JðA 	ð  	ð  	ñ  	ô  	ð  	ð  	ð  	ð  	ð  	ð  	ð  	øøøð  	ð  	ð  	ð  	ð  	ð  	s   ŽD4F2ÅAF2Æ2F6Æ9F6r   )!rD   rE   rF   rØ   r*   rG   r   r   r-   r/   rI   rJ   r0   rK   r%   r1   rL   r2   rÉ   rs   r
  rN   r   rÍ   rn   rˆ   rÙ   rÚ   rÔ   r   rÛ   r×   rõ   rO   r#   r!   r3  r3    s  € € € € € € ðð ð ÐÐÑð0 (¨<Ô"8ð 0ð 0ð 0ð 0ð1 8¨LÔ#9ð 1ð 1ð 1ð 1ð$�h˜tœÔ/ð $ð $ð $ð $ð7˜ #œð 7ð 7ð 7ð 7ðB H¨S¤Mð Bð Bð Bð Bð)˜4ð )ð )ð )ð )ð,˜ð ,ð ,ð ,ð ,ð0�dð 0ð 0ð 0ð 0ð,˜dð ,ð ,ð ,ð ,ðð ˜h uœoð ¸ð ð ð ð ð& ð   ¨%¤ð  ¸HÀYÔ<Oð  ð  ð  ð  ð( *.ð1ð 1Ø ”ð1à	�%Ô%Ô	&ð1ð 1ð 1ð 1ð0 H¨d¬k¨]¸DÐ-@Ô$Að Àdð ð ð ð ð!�sð !ð !ð !ð !ð !ð !r#   r3  r—   c                 óÄ   — t          |¦  «        }t          j        | |¦  «        }|€6t          dddt          j        j        d¦  «        }t          |¦  «        }|d |fS ||d fS )NrO   r~   )r"   r   r‹   r*   rI   rJ   r^   r«   )r—   r   rz   rà   r˜   rP   rp   s          r!   Ú_start_unary_requestrP  Ì  sx   € õ
 ˜Ñ!Ô!€HÝ Ô*¨7Ð4FÑGÔGÐØÐ!ÝØØØÝŒOÔ$Ø,ñ
ô 
ˆõ " %Ñ(Ô(ˆØ˜˜uÐ$Ð$àÐ+¨TÐ1Ð1r#   Ú	with_callrà   c                 ó˜   — | j         t          j        j        u r$|rt	          | |d |¦  «        }| j        |fS | j        S t          | ¦  «        ‚r   )r0   rI   rJ   r¦   r3  r.   r«   )rP   ry   rQ  rà   Ú
rendezvouss        r!   Ú_end_unary_response_blockingrT  á  sT   € ð „z•T”_Ô'Ð'Ð'Øð 	"Ý1°%¸¸tÀXÑNÔNˆJØ”> :Ð-Ð-à”>Ð!å Ñ&Ô&Ð&r#   ÚmetadataÚinitial_metadata_flagsc                 óÂ   — t          j        | |¦  «        t          j        t          ¦  «        t          j        t          ¦  «        ft          j        t          ¦  «        ffS r   )r   ÚSendInitialMetadataOperationr/  rŽ   ÚReceiveStatusOnClientOperationÚReceiveInitialMetadataOperation©rU  rV  s     r!   Ú#_stream_unary_invocation_operationsr\  ñ  sZ   € õ
 Ô/ØÐ0ñô õ Ô*­<Ñ8Ô8ÝÔ1µ,Ñ?Ô?ð	
õ 
Ô	/µÑ	=Ô	=Ð?ð	ð 	r#   c                 óP   — t          d„ t          | |¦  «        D ¦   «         ¦  «        S )Nc              3   ó   K  — | ]}|d fV — Œ	d S r   rO   )Ú.0r™   s     r!   ú	<genexpr>z?_stream_unary_invocation_operations_and_tags.<locals>.<genexpr>  s@   è è € ð ð ð
 ð Øð	
ðð ð ð ð ð r#   )Útupler\  r[  s     r!   Ú,_stream_unary_invocation_operations_and_tagsrb     sD   € õ ð ð õ
 >ØÐ,ñ
ô 
ðñ ô ñ ô ð r#   Úuser_deadlinec                 ól   — t          j        ¦   «         }|€| €d S |�| €|S | �|€| S t          || ¦  «        S r   )r   Úget_deadline_from_contextÚmin)rc  Úparent_deadlines     r!   Ú_determine_deadlinerh    sR   € ÝÔ6Ñ8Ô8€OØÐ =Ð#8ØˆtØ	Ð	$¨Ð)>ØÐØ	Ð	" Ð'>ØÐå�? MÑ2Ô2Ð2r#   c                   óÚ  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dedededee	         dee
         dee         fd„Zdedee         dee         dee         deej                 deee         eeej                          ee         eej                 f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 de fd„Z!dS )Ú_UnaryUnaryMultiCallableÚ_channelÚ_managed_callÚ_methodÚ_targetÚ_request_serializerrß   Ú_contextÚ_registered_call_handle©rk  rl  rm  rn  ro  rß   rp  ÚchannelÚmanaged_callr7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   ©
rk  rl  rm  rn  ro  rß   r   Úbuild_census_contextrp  rq  ©r?   rs  rt  r7   r8   rz   rU   rq  s           r!   r@   z!_UnaryUnaryMultiCallable.__init__/  óO   € ð  ˆŒØ)ˆÔØˆŒØˆŒØ#5ˆÔ Ø&;ˆÔ#ÝÔ3Ñ5Ô5ˆŒØ'>ˆÔ$Ð$Ð$r#   r—   r   rU  Úwait_for_readyÚcompressionr   c                 ó  — t          ||| j        ¦  «        \  }}}t          ¦   «                              |¦  «        }	t	          j        ||¦  «        }
|€d d d |fS t          t          d d d d ¦  «        }t          j	        |
|	¦  «        t          j
        |t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        f}|||d fS r   )rP  ro  Ú_InitialMetadataFlagsÚwith_wait_for_readyr   Úaugment_metadatar*   Ú_UNARY_UNARY_INITIAL_DUEr   rX  r�   rŽ   r•   rZ  r/  rY  )r?   r—   r   rU  rz  r{  rà   r˜   rS  rV  Úaugmented_metadatarP   r™   s                r!   Ú_preparez!_UnaryUnaryMultiCallable._prepareB  s  € õ 4HØ�W˜dÔ6ñ4
ô 4
Ñ0ˆÐ$ jõ "7Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðð Ð%Ø˜˜t ZÐ/Ð/åÕ6¸¸dÀDÈ$ÑOÔOˆEåÔ3Ø&Ð(>ñô õ Ô+Ð,>ÅÑMÔMÝÔ3µLÑAÔAÝÔ6µ|ÑDÔDÝÔ.­|Ñ<Ô<ÝÔ5µlÑCÔCð	ˆJð ˜* h°Ð4Ð4r#   NÚcredentialsc                 óü  — |                       |||||¦  «        \  }}}	}
|€|
‚t          j        ¦   «         |_        t	          j        | j        ¦  «        |_        t	          j        | j        ¦  «        |_	        | j
                             t          j        j        | j        d t          |	¦  «        ||€d n|j        |d ff| j        | j        ¦	  «	        }|                     ¦   «         }t)          ||| j        ¦  «         ||fS r   )r‚  r   rd   r5   r   r¸   rm  r7   rn  r8   rk  Úsegregated_callr   ÚPropagationConstantsÚGRPC_PROPAGATE_DEFAULTSrh  Ú_credentialsrp  rq  r+  rj   rß   )r?   r—   r   rU  rƒ  rz  r{  rP   r™   rà   rS  ry   rT   s                r!   Ú	_blockingz"_UnaryUnaryMultiCallable._blockingh  s  € ð 37·-²-Ø�W˜h¨¸ñ3
ô 3
Ñ/ˆˆz˜8 Zð ˆ=ØÐå#'Ô#4Ñ#6Ô#6ˆEÔ Ý"œ>¨$¬,Ñ7Ô7ˆEŒLÝ"œ>¨$¬,Ñ7Ô7ˆEŒLØ”=×0Ò0ÝÔ+ÔCØ”ØÝ# HÑ-Ô-ØØ#Ð+��°Ô1Ið #Øððð ”ØÔ,ñô ˆDð  —O’OÑ%Ô%ˆEÝ˜% ¨Ô(CÑDÔDÐDØ˜$�;Ðr#   c                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S r:   ©r‰  rT  ©	r?   r—   r   rU  rƒ  rz  r{  rP   ry   s	            r!   Ú__call__z!_UnaryUnaryMultiCallable.__call__Ž  s>   € ð —n’nØ�W˜h¨°^À[ñ
ô 
‰ˆˆtõ ,¨E°4¸ÀÑEÔEÐEr#   c                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S ©NTr‹  rŒ  s	            r!   rQ  z"_UnaryUnaryMultiCallable.with_callœ  s>   € ð —n’nØ�W˜h¨°^À[ñ
ô 
‰ˆˆtõ ,¨E°4¸¸tÑDÔDÐDr#   c                 óÒ  — |                       |||||¦  «        \  }}}	}
|€|
‚t          || j        ¦  «        }t          j        ¦   «         |_        t          j        | j        ¦  «        |_	        t          j        | j
        ¦  «        |_        |                      t          j        j        | j        d |	||€d n|j        |f|| j        | j        ¦
  «
        }t'          ||| j        |	¦  «        S r   )r‚  rw   rß   r   rd   r5   r   r¸   rm  r7   rn  r8   rl  r   r†  r‡  rˆ  rp  rq  r3  )r?   r—   r   rU  rƒ  rz  r{  rP   r™   rà   rS  r{   ry   s                r!   Úfuturez_UnaryUnaryMultiCallable.futureª  sï   € ð 37·-²-Ø�W˜h¨¸ñ3
ô 3
Ñ/ˆˆz˜8 Zð ˆ=ØÐå*¨5°$Ô2MÑNÔNˆMÝ#'Ô#4Ñ#6Ô#6ˆEÔ Ý"œ>¨$¬,Ñ7Ô7ˆEŒLÝ"œ>¨$¬,Ñ7Ô7ˆEŒLØ×%Ò%ÝÔ+ÔCØ”ØØØØ#Ð+��°Ô1IØ�ØØ”ØÔ,ñô ˆDõ ,Ø�t˜TÔ8¸(ñô ð r#   ©NNNNN)"rD   rE   rF   r   ÚChannelrG   r   Úbytesr   r   r   r   rM   Ú	__slots__r@   rN   r   rL   rI   ÚCompressionr   r*   r	   Ú	OperationrÑ   r‚  ÚCallCredentialsr  r‰  r�  ÚCallrQ  r3  r‘  rO   r#   r!   rj  rj    sî  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ô9ð?ð  (Ð(=Ô>ð?ð "*¨#¤ð?ð ?ð ?ð ?ð&$5àð$5ð ˜%”ð$5ð ˜<Ô(ð	$5ð
 ! œð$5ð ˜dÔ.Ô/ð$5ð 
Ø�ÔØ�˜&Ô*Ô+Ô,Ø�ŒØ�”Ôð	!ô
ð$5ð $5ð $5ð $5ðR $(Ø+/Ø6:Ø)-Ø26ð$ð $àð$ð ˜%”ð$ð ˜<Ô(ð	$ð
 ˜dÔ2Ô3ð$ð ! œð$ð ˜dÔ.Ô/ð$ð 
ˆy˜&Ô/Ð/Ô	0ð$ð $ð $ð $ðR $(Ø+/Ø6:Ø)-Ø26ðFð FàðFð ˜%”ðFð ˜<Ô(ð	Fð
 ˜dÔ2Ô3ðFð ! œðFð ˜dÔ.Ô/ðFð 
ðFð Fð Fð Fð" $(Ø+/Ø6:Ø)-Ø26ðEð EàðEð ˜%”ðEð ˜<Ô(ð	Eð
 ˜dÔ2Ô3ðEð ! œðEð ˜dÔ.Ô/ðEð 
ˆs�D”Iˆ~Ô	ðEð Eð Eð Eð" $(Ø+/Ø6:Ø)-Ø26ð!ð !àð!ð ˜%”ð!ð ˜<Ô(ð	!ð
 ˜dÔ2Ô3ð!ð ! œð!ð ˜dÔ.Ô/ð!ð 
"ð!ð !ð !ð !ð !ð !r#   rj  c                   óB  — e Zd ZU ej        ed<   eed<   eed<   ee         ed<   ee	         ed<   e
ed<   ee         ed<   g d¢Zd	ej        d
ededede	dee         fd„Z	 	 	 	 	 dde
dee         dee         deej                 dee         deej                 defd„ZdS )Ú'_SingleThreadedUnaryStreamMultiCallablerk  rm  rn  ro  rß   rp  rq  )rk  rm  rn  ro  rß   rp  rs  r7   r8   rz   rU   c                 óŠ   — || _         || _        || _        || _        || _        t          j        ¦   «         | _        || _        d S r   )	rk  rm  rn  ro  rß   r   rw  rp  rq  )r?   rs  r7   r8   rz   rU   rq  s          r!   r@   z0_SingleThreadedUnaryStreamMultiCallable.__init__á  sG   € ð  ˆŒØˆŒØˆŒØ#5ˆÔ Ø&;ˆÔ#ÝÔ3Ñ5Ô5ˆŒØ'>ˆÔ$Ð$Ð$r#   Nr—   r   rU  rƒ  rz  r{  r   c                 ó  — t          |¦  «        }t          j        || j        ¦  «        }|€1t	          dddt
          j        j        d¦  «        }	t          |	¦  «        ‚t	          t          d d d d ¦  «        }	|€d n|j
        }
t          ¦   «                              |¦  «        }t          j        ||¦  «        }t          j        ||¦  «        t          j        |t$          ¦  «        t          j        t$          ¦  «        ft          j        t$          ¦  «        ft          j        t$          ¦  «        ff}t-          d„ |D ¦   «         ¦  «        }t/          j        ¦   «         |	_        t          j        | j        ¦  «        |	_        t          j        | j        ¦  «        |	_        | j                              t          j!        j"        | j        d tG          |¦  «        ||
|| j$        | j%        ¦	  «	        }tM          |	|| j'        |¦  «        S )NrO   r~   c              3   ó   K  — | ]}|d fV — Œ	d S r   rO   )r_  Úopss     r!   r`  zC_SingleThreadedUnaryStreamMultiCallable.__call__.<locals>.<genexpr>  s&   è è € Ð#FÐ#F°C S¨$ KÐ#FÐ#FÐ#FÐ#FÐ#FÐ#Fr#   )(r"   r   r‹   ro  r*   rI   rJ   r^   r«   Ú_UNARY_STREAM_INITIAL_DUErˆ  r}  r~  r   r  r   rX  r�   rŽ   r•   rY  rZ  ra  r   rd   r5   r¸   rm  r7   rn  r8   rk  r…  r†  r‡  rh  rp  rq  r  rß   )r?   r—   r   rU  rƒ  rz  r{  rà   r˜   rP   Úcall_credentialsrV  r�  r™   Úoperations_and_tagsry   s                   r!   r�  z0_SingleThreadedUnaryStreamMultiCallable.__call__ò  sò  € õ ˜WÑ%Ô%ˆÝ$Ô.Ø�TÔ-ñ
ô 
Ðð Ð%ÝØØØÝ”Ô(Ø0ñô ˆEõ $ EÑ*Ô*Ð*åÕ3°T¸4ÀÀtÑLÔLˆàÐ'ˆDˆD¨[Ô-Eð 	õ "7Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ
 Ô3Ø&Ð(>ñô õ Ô+Ð,>ÅÑMÔMÝÔ3µLÑAÔAðõ Ô2µ<Ñ@Ô@ÐBÝÔ3µLÑAÔAÐCð

ˆ
õ $Ð#FÐ#F¸:Ð#FÑ#FÔ#FÑFÔFÐÝ#Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØŒ}×,Ò,ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØØØŒMØÔ(ñ

ô 

ˆõ )Ø�4˜Ô4°hñ
ô 
ð 	
r#   r’  )rD   rE   rF   r   r“  rG   r”  r   r   r   r   rM   r•  r@   rN   r   rI   r˜  rL   r–  r  r�  rO   r#   r!   r›  r›  Î  sc  € € € € € € ØŒnÐÐÑØ€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ð?ð ð	?ð
 0ð?ð  5ð?ð "*¨#¤ð?ð ?ð ?ð ?ð( $(Ø+/Ø6:Ø)-Ø26ð=
ð =
àð=
ð ˜%”ð=
ð ˜<Ô(ð	=
ð
 ˜dÔ2Ô3ð=
ð ! œð=
ð ˜dÔ.Ô/ð=
ð 
#ð=
ð =
ð =
ð =
ð =
ð =
r#   r›  c                   óP  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dededede	de
dee         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„ZdS )Ú_UnaryStreamMultiCallablerk  rl  rm  rn  ro  rß   rp  rq  rr  rs  rt  r7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   rv  rx  s           r!   r@   z"_UnaryStreamMultiCallable.__init__G  ry  r#   Nr—   r   rU  rƒ  rz  r{  r   c                 ól  — t          ||| j        ¦  «        \  }}}	t          ¦   «                              |¦  «        }
|€|	‚t	          j        ||¦  «        }t          t          d d d d ¦  «        }t          j	        ||
¦  «        t          j
        |t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        ft          j        t          ¦  «        ff}t          j        ¦   «         |_        t%          j        | j        ¦  «        |_        t%          j        | j        ¦  «        |_        |                      t          j        j        | j        d t7          |¦  «        ||€d n|j        |t;          || j        ¦  «        | j        | j         ¦
  «
        }tC          ||| j        |¦  «        S r   )"rP  ro  r}  r~  r   r  r*   r   r   rX  r�   rŽ   r•   rY  rZ  r   rd   r5   r   r¸   rm  r7   rn  r8   rl  r†  r‡  rh  rˆ  rw   rß   rp  rq  r3  )r?   r—   r   rU  rƒ  rz  r{  rà   r˜   rS  rV  r�  rP   r™   ry   s                  r!   r�  z"_UnaryStreamMultiCallable.__call__Z  s«  € õ 4HØ�W˜dÔ6ñ4
ô 4
Ñ0ˆÐ$ jõ "7Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðð Ð%ØÐå!-Ô!>Ø˜+ñ"ô "Ðõ Õ7¸¸tÀTÈ4ÑPÔPˆEõ Ô7Ø*Ð,Bñô õ Ô/Ø*­Lñô õ Ô7½ÑEÔEÝÔ9½,ÑGÔGð	õ Ô7½ÑEÔEÐGðˆJõ $(Ô#4Ñ#6Ô#6ˆEÔ Ý"œ>¨$¬,Ñ7Ô7ˆEŒLÝ"œ>¨$¬,Ñ7Ô7ˆEŒLØ×%Ò%ÝÔ+ÔCØ”ØÝ# HÑ-Ô-ØØ#Ð+��°Ô1IØÝ˜u dÔ&AÑBÔBØ”ØÔ,ñô ˆDõ ,Ø�t˜TÔ8¸(ñô ð r#   r’  )rD   rE   rF   r   r“  rG   r   r”  r   r   r   r   rM   r•  r@   rN   r   rI   r˜  rL   r–  r3  r�  rO   r#   r!   r¤  r¤  2  sy  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð 0ð?ð  5ð?ð "*¨#¤ð?ð ?ð ?ð ?ð, $(Ø+/Ø6:Ø)-Ø26ð4ð 4àð4ð ˜%”ð4ð ˜<Ô(ð	4ð
 ˜dÔ2Ô3ð4ð ! œð4ð ˜dÔ.Ô/ð4ð 
"ð4ð 4ð 4ð 4ð 4ð 4r#   r¤  c                   ó  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dedededee	         dee
         dee         fd„Zdedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„ZdS )Ú_StreamUnaryMultiCallablerk  rl  rm  rn  ro  rß   rp  rq  rr  rs  rt  r7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   rv  rx  s           r!   r@   z"_StreamUnaryMultiCallable.__init__¦  ry  r#   rx   r   rU  rƒ  rz  r{  r   c                 óV  — t          |¦  «        }t          t          d d d d ¦  «        }t          ¦   «                              |¦  «        }	t          j        ||¦  «        }
t          j        ¦   «         |_	        t          j        | j        ¦  «        |_        t          j        | j        ¦  «        |_        | j                             t$          j        j        | j        d t+          |¦  «        |
|€d n|j        t/          |
|	¦  «        | j        | j        ¦	  «	        }t5          |||| j        d ¦  «         	 |                     ¦   «         }|j        5  t=          ||| j        ¦  «         |j                              ¦   «          |j!        s	 d d d ¦  «         n	 d d d ¦  «         n# 1 swxY w Y   Œx||fS r   )"r"   r*   Ú_STREAM_UNARY_INITIAL_DUEr}  r~  r   r  r   rd   r5   r   r¸   rm  r7   rn  r8   rk  r…  r   r†  r‡  rh  rˆ  rb  rp  rq  r¢   ro  r+  r+   rj   rß   rm   r,   )r?   rx   r   rU  rƒ  rz  r{  rà   rP   rV  r�  ry   rT   s                r!   r‰  z#_StreamUnaryMultiCallable._blocking¹  s   € õ ˜WÑ%Ô%ˆÝÕ3°T¸4ÀÀtÑLÔLˆÝ!6Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ  $Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØŒ}×,Ò,ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØÐ'ˆDˆD¨[Ô-EÝ8Ø"Ð$:ñô ð ŒMØÔ(ñ
ô 
ˆõ 	"Ø˜e T¨4Ô+CÀTñ	
ô 	
ð 	
ð	Ø—O’OÑ%Ô%ˆEØ”ð ð Ý˜e U¨DÔ,GÑHÔHÐHØ”×*Ò*Ñ,Ô,Ð,Ø”yð Øð	ð ð ñ ô ð ð ððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð �dˆ{Ðs   Å
8FÆFÆ"FNc                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S r:   r‹  ©	r?   rx   r   rU  rƒ  rz  r{  rP   ry   s	            r!   r�  z"_StreamUnaryMultiCallable.__call__æ  sC   € ð —n’nØØØØØØñ
ô 
‰ˆˆtõ ,¨E°4¸ÀÑEÔEÐEr#   c                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S r�  r‹  r­  s	            r!   rQ  z#_StreamUnaryMultiCallable.with_callù  sC   € ð —n’nØØØØØØñ
ô 
‰ˆˆtõ ,¨E°4¸¸tÑDÔDÐDr#   c                 ó’  — t          |¦  «        }t          t          d d d d ¦  «        }t          || j        ¦  «        }	t          ¦   «                              |¦  «        }
t          j        ||¦  «        }t          j
        ¦   «         |_        t          j        | j        ¦  «        |_        t          j        | j        ¦  «        |_        |                      t&          j        j        | j        d |||€d n|j        t/          ||
¦  «        |	| j        | j        ¦
  «
        }t5          |||| j        |	¦  «         t9          ||| j        |¦  «        S r   )r"   r*   r«  rw   rß   r}  r~  r   r  r   rd   r5   r   r¸   rm  r7   rn  r8   rl  r   r†  r‡  rˆ  r\  rp  rq  r¢   ro  r3  )r?   rx   r   rU  rƒ  rz  r{  rà   rP   r{   rV  r�  ry   s                r!   r‘  z _StreamUnaryMultiCallable.future  sO  € õ ˜WÑ%Ô%ˆÝÕ3°T¸4ÀÀtÑLÔLˆÝ& u¨dÔ.IÑJÔJˆÝ!6Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ  $Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØ×!Ò!ÝÔ'Ô?ØŒLØØØØÐ'ˆDˆD¨[Ô-EÝ/ØÐ0ñô ð ØŒMØÔ(ñ
ô 
ˆõ 	"ØØØØÔ$Øñ	
ô 	
ð 	
õ (Ø�4˜Ô4°hñ
ô 
ð 	
r#   r’  )rD   rE   rF   r   r“  rG   r   r”  r   r   r   r   rM   r•  r@   r   rN   r   rI   r˜  rL   r–  r   r*   r  r‰  r�  r™  rQ  r3  r‘  rO   r#   r!   r¨  r¨  ‘  sA  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ô9ð?ð  (Ð(=Ô>ð?ð "*¨#¤ð?ð ?ð ?ð ?ð&+à"ð+ð ˜%”ð+ð ˜<Ô(ð	+ð
 ˜dÔ2Ô3ð+ð ! œð+ð ˜dÔ.Ô/ð+ð 
ˆy˜&Ô/Ð/Ô	0ð+ð +ð +ð +ð` $(Ø+/Ø6:Ø)-Ø26ðFð Fà"ðFð ˜%”ðFð ˜<Ô(ð	Fð
 ˜dÔ2Ô3ðFð ! œðFð ˜dÔ.Ô/ðFð 
ðFð Fð Fð Fð, $(Ø+/Ø6:Ø)-Ø26ðEð Eà"ðEð ˜%”ðEð ˜<Ô(ð	Eð
 ˜dÔ2Ô3ðEð ! œðEð ˜dÔ.Ô/ðEð 
ˆs�D”Iˆ~Ô	ðEð Eð Eð Eð, $(Ø+/Ø6:Ø)-Ø26ð,
ð ,
à"ð,
ð ˜%”ð,
ð ˜<Ô(ð	,
ð
 ˜dÔ2Ô3ð,
ð ! œð,
ð ˜dÔ.Ô/ð,
ð 
"ð,
ð ,
ð ,
ð ,
ð ,
ð ,
r#   r¨  c                   óh  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dedededee	         dee
         dee         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„ZdS )Ú_StreamStreamMultiCallablerk  rl  rm  rn  ro  rß   rp  rq  rr  rs  rt  r7   r8   rz   rU   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   rv  rx  s           r!   r@   z#_StreamStreamMultiCallable.__init__P  ry  r#   Nrx   r   rU  rƒ  rz  r{  r   c                 ó   — t          |¦  «        }t          t          d d d d ¦  «        }t          ¦   «                              |¦  «        }	t          j        ||¦  «        }
t          j        |
|	¦  «        t          j	        t          ¦  «        ft          j        t          ¦  «        ff}t          || j        ¦  «        }t          j        ¦   «         |_        t#          j        | j        ¦  «        |_        t#          j        | j        ¦  «        |_        |                      t          j        j        | j        d t5          |¦  «        |
|€d n|j        ||| j        | j        ¦
  «
        }t=          |||| j        |¦  «         tA          ||| j        |¦  «        S r   )!r"   r*   Ú_STREAM_STREAM_INITIAL_DUEr}  r~  r   r  r   rX  rY  rŽ   rZ  rw   rß   r   rd   r5   r   r¸   rm  r7   rn  r8   rl  r†  r‡  rh  rˆ  rp  rq  r¢   ro  r3  )r?   rx   r   rU  rƒ  rz  r{  rà   rP   rV  r�  r™   r{   ry   s                 r!   r�  z#_StreamStreamMultiCallable.__call__c  sŒ  € õ ˜WÑ%Ô%ˆÝÕ4°d¸DÀ$ÈÑMÔMˆÝ!6Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ
 Ô3Ø&Ð(>ñô õ Ô5µlÑCÔCð	õ Ô3µLÑAÔAÐCð
ˆ
õ ' u¨dÔ.IÑJÔJˆÝ#Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØ×!Ò!ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØÐ'ˆDˆD¨[Ô-EØØØŒMØÔ(ñ
ô 
ˆõ 	"ØØØØÔ$Øñ	
ô 	
ð 	
õ (Ø�4˜Ô4°hñ
ô 
ð 	
r#   r’  )rD   rE   rF   r   r“  rG   r   r”  r   r   r   r   rM   r•  r@   r   rN   r   rI   r˜  rL   r–  r3  r�  rO   r#   r!   r±  r±  ;  s…  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ô9ð?ð  (Ð(=Ô>ð?ð "*¨#¤ð?ð ?ð ?ð ?ð, $(Ø+/Ø6:Ø)-Ø26ð3
ð 3
à"ð3
ð ˜%”ð3
ð ˜<Ô(ð	3
ð
 ˜dÔ2Ô3ð3
ð ! œð3
ð ˜dÔ.Ô/ð3
ð 
"ð3
ð 3
ð 3
ð 3
ð 3
ð 3
r#   r±  c                   óH   ‡ — e Zd ZdZefdefˆ fd„Zdee         defd„Z	ˆ xZ
S )r}  z'Stores immutable initial metadata flagsÚvaluec                 ó~   •— |t           j        j        z  }t          t          | ¦  «                             | |¦  «        S r   )r   ÚInitialMetadataFlagsÚ	used_maskrâ   r}  Ú__new__)Úclsr¶  r¼   s     €r!   rº  z_InitialMetadataFlags.__new__œ  s4   ø€ Ø•Ô,Ô6Ñ6ˆÝÕ*¨CÑ0Ô0×8Ò8¸¸eÑDÔDÐDr#   rz  r   c                 óø   — |�w|r9|                       | t          j        j        z  t          j        j        z  ¦  «        S |s:|                       | t          j        j         z  t          j        j        z  ¦  «        S | S r   )r¼   r   r¸  rz  Úwait_for_ready_explicitly_set)r?   rz  s     r!   r~  z)_InitialMetadataFlags.with_wait_for_ready   sŽ   € ØÐ%Øð 
Ø—~’~ØÝÔ1Ô@ñAåÔ1ÔOñPñô ð ð
 $ð Ø—~’~Ø�FÔ7ÔFÐFÑFÝÔ1ÔOñPñô ð ð ˆr#   )rD   rE   rF   rØ   rŽ   rM   rº  r   rL   r~  r  r  s   @r!   r}  r}  ™  s€   ø€ € € € € Ø1Ð1à".ð Eð E˜Cð Eð Eð Eð Eð Eð Eð°(¸4´.ð ÀSð ð ð ð ð ð ð ð r#   r}  c                   ó\   — e Zd ZU ej        ed<   eed<   eed<   dej        fd„Zd	d„Z	d„ Z
dS )
Ú_ChannelCallStaters  Úmanaged_callsr;   c                 ó`   — t          j        ¦   «         | _        || _        d| _        d| _         d S )Nr   F)r;   ÚLockÚlockrs  rÀ  ©r?   rs  s     r!   r@   z_ChannelCallState.__init__µ  s+   € Ý”NÑ$Ô$ˆŒ	ØˆŒØˆÔØˆŒˆˆr#   r   Nc                 ó   — d| _         d S )Nr   )rÀ  rB   s    r!   rC   z&_ChannelCallState.reset_postfork_child»  s   € ØˆÔÐÐr#   c                 óŒ   — 	 | j                              t          j        j        d¦  «         d S # t
          t          f$ r Y d S w xY w)NzChannel deallocated!)rs  Úcloser   rJ   r2   Ú	TypeErrorÚAttributeErrorrB   s    r!   r  z_ChannelCallState.__del__¾  s`   € ð	ØŒL×ÒÝÔ!Ô+Ð-Cñô ð ð ð øõ �>Ð*ð 	ð 	ð 	ØˆDˆDð	øøøs   ‚*. ®AÁAr  )rD   rE   rF   r   r“  rG   rM   rL   r@   rC   r  rO   r#   r!   r¿  r¿  °  sy   € € € € € € ØŒ^ÐÐÑØÐÐÑØ€O€O�Oð ¤ð ð ð ð ðð ð ð ðð ð ð ð r#   r¿  c                 óŽ   ‡ — ˆ fd„}t          j        |¬¦  «        }|                     d¦  «         |                     ¦   «          d S )Nc                  óX  •— 	 t          j        ‰¦  «         ‰j                             ¦   «         } | j        t           j        j        k    rŒI|                      | ¦  «        }|rI‰j        5  ‰xj	        dz  c_	        ‰j	        dk    r	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y   Œ©)NTé   r   )
r   r“   rs  Únext_call_eventÚcompletion_typeÚCompletionTypeÚqueue_timeoutÚtagrÃ  rÀ  )rT   Úcall_completedrP   s     €r!   Úchannel_spinz._run_channel_spin_thread.<locals>.channel_spinÈ  s  ø€ ð
	ÝÔ,¨UÑ3Ô3Ð3Ø”M×1Ò1Ñ3Ô3ˆEØÔ$­Ô(=Ô(KÒKÐKØØ"ŸYšY uÑ-Ô-ˆNØð Ø”Zð ð ØÐ'Ô'¨1Ñ,Ð'Ô'ØÔ*¨aÒ/Ð/Øðð ð ñ ô ð ð ð à/ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
	s   Á)B Â B$Â'B$rœ   Tr�   )rP   rÓ  Úchannel_spin_threads   `  r!   Ú_run_channel_spin_threadrÕ  Ç  s^   ø€ ðð ð ð ð õ !Ô2¸,ÐGÑGÔGÐØ×!Ò! $Ñ'Ô'Ð'Ø×ÒÑÔÐÐÐr#   c                 óf  ‡ — dt           dt          dt          t                   dt          t                   dt          t
                   dt          t          j                 dt          t          t          j	                          dt          d	t          d
t          t                    dt          j        fˆ fd„}|S )NÚflagsr7   Úhostrà   rU  rƒ  r™   r{   Úcontextrq  r   c
                 ó*  •‡— t          ˆfd„|D ¦   «         ¦  «        }
‰j        5  ‰j                             | ||||||
||	¦	  «	        }‰j        dk    rd‰_        t          ‰¦  «         n‰xj        dz  c_        |cddd¦  «         S # 1 swxY w Y   dS )a¯  Creates a cygrpc.IntegratedCall.

        Args:
          flags: An integer bitfield of call flags.
          method: The RPC method.
          host: A host string for the created call.
          deadline: A float to be the deadline of the created call or None if
            the call is to have an infinite deadline.
          metadata: The metadata for the call or None.
          credentials: A cygrpc.CallCredentials or None.
          operations: A sequence of sequences of cygrpc.Operations to be
            started on the call.
          event_handler: A behavior to call to handle the events resultant from
            the operations on the call.
          context: Context object for distributed tracing.
          _registered_call_handle: An int representing the call handle of the
            method, or None if the method is not registered.
        Returns:
          A cygrpc.IntegratedCall with which to conduct an RPC.
        c              3   ó    •K  — | ]}|‰fV — Œ	d S r   rO   )r_  Ú	operationr{   s     €r!   r`  zC_channel_managed_call_management.<locals>.create.<locals>.<genexpr>ü  sA   øè è € ð $
ð $
ð
 ð Øðð$
ð $
ð $
ð $
ð $
ð $
r#   r   rÌ  N)ra  rÃ  rs  Úintegrated_callrÀ  rÕ  )r×  r7   rØ  rà   rU  rƒ  r™   r{   rÙ  rq  r¢  ry   rP   s          `    €r!   Úcreatez0_channel_managed_call_management.<locals>.createÜ  s  øø€ õ@ $ð $
ð $
ð $
ð $
ð
 (ð$
ñ $
ô $
ñ 
ô 
Ðð ŒZð 	ð 	Ø”=×0Ò0ØØØØØØØ#ØØ'ñ
ô 
ˆDð Ô" aÒ'Ð'Ø&'�Ô#Ý(¨Ñ/Ô/Ð/Ð/àÐ#Ô# qÑ(Ð#Ô#Øð#	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¥ABÂBÂB)rM   r”  r   rK   rN   r   r   r˜  r	   r—  r   r   r  )rP   rÞ  s   ` r!   Ú _channel_managed_call_managementrß  Ú  s¼   ø€ ð8Ýð8åð8õ •sŒmð8õ �5”/ð	8õ
 �<Ô(ð8õ �fÔ4Ô5ð8õ �X¥fÔ&6Ô7Ô8ð8õ ð8õ ð8õ "*­#¤ð8õ 
Ô	ð8ð 8ð 8ð 8ð 8ð 8ðt €Mr#   c                   óì   — e Zd ZU ej        ed<   ej        ed<   eed<   ej	        ed<   eed<   e
eeeej	        gdf         eej	                 f                           ed<   eed<   dej        fd	„Zdd„ZdS )Ú_ChannelConnectivityStaterÃ  rs  ÚpollingÚconnectivityÚtry_to_connectNÚcallbacks_and_connectivitiesÚ
deliveringc                 óŠ   — t          j        ¦   «         | _        || _        d| _        d | _        d| _        g | _        d| _        d S r:   )	r;   ÚRLockrÃ  rs  râ  rã  rä  rå  ræ  rÄ  s     r!   r@   z"_ChannelConnectivityState.__init__*  sB   € Ý”OÑ%Ô%ˆŒ	ØˆŒØˆŒØ ˆÔØ#ˆÔØ,.ˆÔ)ØˆŒˆˆr#   r   c                 óL   — d| _         d | _        d| _        g | _        d| _        d S r:   )râ  rã  rä  rå  ræ  rB   s    r!   rC   z._ChannelConnectivityState.reset_postfork_child3  s,   € ØˆŒØ ˆÔØ#ˆÔØ,.ˆÔ)ØˆŒˆˆr#   r  )rD   rE   rF   r;   rè  rG   rI   r“  rL   ÚChannelConnectivityr   r	   r   r   r   r@   rC   rO   r#   r!   rá  rá    sß   € € € € € € Ø
Œ/ÐÐÑØŒ\ÐÐÑØ€M€M�MØÔ*Ð*Ð*Ñ*ØÐÐÑà"&ØØØ˜$Ô2Ð3°TÐ9Ô:Ø˜Ô1Ô2ð4ôô	
ô#ð ð ñ ð ÐÐÑð  ¤ð  ð  ð  ð  ð ð  ð  ð  ð  ð  r#   rá  c                 óx   — g }| j         D ]/}|\  }}|| j        ur|                     |¦  «         | j        |d<   Œ0|S )NrÌ  )rå  rã  rí   )rP   Úcallbacks_needing_updateÚcallback_and_connectivityrt   Úcallback_connectivitys        r!   Ú_deliveriesrï  ;  s_   € ð  "ÐØ%*Ô%Gð >ð >Ð!Ø*CÑ'ˆÐ'Ø ¨Ô(:Ð:Ð:Ø$×+Ò+¨HÑ5Ô5Ð5Ø+0Ô+=Ð% aÑ(øØ#Ð#r#   Úinitial_connectivityÚinitial_callbacksc                 óR  — |}|}	 |D ]Q}t          j        | ¦  «         	  ||¦  «         Œ## t          $ r" t                               t
          ¦  «         Y ŒNw xY w| j        5  t          | ¦  «        }|r| j        }nd| _	        	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y   Œ£)NTF)
r   r“   rn   r‡   rˆ   Ú0_CHANNEL_SUBSCRIPTION_CALLBACK_ERROR_LOG_MESSAGErÃ  rï  rã  ræ  )rP   rð  rñ  rã  r3   rt   s         r!   Ú_deliverrô  G  sF  € ð
 (€LØ!€IðØ!ð 	ð 	ˆHÝÔ,¨UÑ3Ô3Ð3ðØ�˜Ñ&Ô&Ð&Ð&øÝð ð ð Ý×!Ò!ÝDñô ð ð ð ðøøøð ŒZð 	ð 	Ý# EÑ*Ô*ˆIØð Ø$Ô1��à#(�Ô Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðs!   Ÿ+«)AÁAÁ!"BÂB!Â$B!r3   c                 ó¬   — t          j        t          | | j        |f¬¦  «        }|                     d¦  «         |                     ¦   «          d| _        d S ©N)r8   ÚargsT)r   rž   rô  rã  rŸ   r    ræ  )rP   r3   Údelivering_threads      r!   Ú_spawn_deliveryrù  `  sf   € õ Ô0ÝàØÔØð
ðñ ô Ðð ×Ò Ñ%Ô%Ð%Ø×ÒÑÔÐØ€EÔÐÐr#   rs  Úinitial_try_to_connectc                 óL  — |}|                      |¦  «        }| j        5  t          j        |         | _        t          d„ | j        D ¦   «         ¦  «        }| j        D ]}| j        |d<   Œ|rt          | |¦  «         d d d ¦  «         n# 1 swxY w Y   	 |                     |t          j	        ¦   «         dz   ¦  «        }t          j        | ¦  «         | j        5  | j        s#| j        sd| _        d | _        	 d d d ¦  «         d S | j        }d| _        d d d ¦  «         n# 1 swxY w Y   |j        s|rs|                      |¦  «        }| j        5  t          j        |         | _        | j        s!t!          | ¦  «        }|rt          | |¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ)Nc              3   ó    K  — | ]	\  }}|V — Œ
d S r   rO   )r_  rt   Ú_s      r!   r`  z%_poll_connectivity.<locals>.<genexpr>  s7   è è € ð 
ð 
Ù$˜ 1ˆHð
ð 
ð 
ð 
ð 
ð 
r#   rÌ  Tgš™™™™™É?F)Úcheck_connectivity_staterÃ  r   Ú1CYGRPC_CONNECTIVITY_STATE_TO_CHANNEL_CONNECTIVITYrã  ra  rå  rù  Úwatch_connectivity_stater   r   r“   rä  râ  Úsuccessræ  rï  )rP   rs  rú  rä  rã  r3   rí  rT   s           r!   Ú_poll_connectivityr  r  sË  € ð
 ,€NØ×3Ò3°NÑCÔC€LØ	Œð .ð .åÔEØôð 	Ôõ
 ð 
ð 
Ø(-Ô(Jð
ñ 
ô 
ñ 
ô 
ˆ	ð */Ô)Kð 	>ð 	>Ð%Ø+0Ô+=Ð% aÑ(Ð(Øð 	.Ý˜E 9Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð:Ø×0Ò0Ø�$œ)™+œ+¨Ñ+ñ
ô 
ˆõ 	Ô(¨Ñ/Ô/Ð/ØŒZð 		)ð 		)àÔ6ðàÔ,ðð !&�”Ø%)�Ô"Øð		)ð 		)ð 		)ñ 		)ô 		)ð 		)ð 		)ð 		)ð #Ô1ˆNØ#(ˆEÔ ð		)ð 		)ð 		)ñ 		)ô 		)ð 		)ð 		)ð 		)ð 		)ð 		)ð 		)øøøð 		)ð 		)ð 		)ð 		)ð Œ=ð 	:˜Nð 	:Ø"×;Ò;¸NÑKÔKˆLØ”ð 	:ð 	:åÔMØ$ôð Ô"ð
 Ô'ð :Ý +¨EÑ 2Ô 2�IØ ð :Ý'¨¨yÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ñ#:s=   ŸABÂBÂBÃDÄDÄD!Ä$D!ÅA FÆFÆ Frt   rä  c           	      óŠ  — | j         5  | j        s„| j        s}t          j        t
          | | j        t          |¦  «        f¬¦  «        }|                     d¦  «         | 	                    ¦   «          d| _        | j         
                    |d g¦  «         n—| j        sW| j        �Pt          | |f¦  «         | xj        t          |¦  «        z  c_        | j         
                    || j        g¦  «         n9| xj        t          |¦  «        z  c_        | j         
                    |d g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rö  )rÃ  rå  râ  r   rž   r  rs  rL   rŸ   r    rí   ræ  rã  rù  rä  )rP   rt   rä  Úpolling_threads       r!   Ú
_subscriber  £  s½  € ð
 
Œð Hð HØÔ1ð 	H¸%¼-ð 	HÝ#Ô5Ý)Ø˜Uœ]­D°Ñ,@Ô,@ÐAðñ ô ˆNð ×$Ò$ TÑ*Ô*Ð*Ø× Ò Ñ"Ô"Ð"Ø ˆEŒMØÔ.×5Ò5°xÀÐ6FÑGÔGÐGÐGØÔ!ð 	H eÔ&8Ð&DÝ˜E H ;Ñ/Ô/Ð/ØÐ Ô ¥D¨Ñ$8Ô$8Ñ8Ð Ô ØÔ.×5Ò5Ø˜5Ô-Ð.ñô ð ð ð Ð Ô ¥D¨Ñ$8Ô$8Ñ8Ð Ô ØÔ.×5Ò5°xÀÐ6FÑGÔGÐGð%Hð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Hs   ˆD#D8Ä8D<Ä?D<c                 óÄ   — | j         5  t          | j        ¦  «        D ]*\  }\  }}||k    r| j                             |¦  «          nŒ+d d d ¦  «         d S # 1 swxY w Y   d S r   )rÃ  Ú	enumeraterå  Úpop)rP   rt   ÚindexÚsubscribed_callbackÚunused_connectivitys        r!   Ú_unsubscriber  ½  sÌ   € ð 
Œð ð ÝAJØÔ.ñB
ô B
ð 	ð 	Ñ=ˆEÑ=Ð'Ð)<ð Ð.Ò.Ð.ØÔ2×6Ò6°uÑ=Ô=Ð=Ø�ð /ð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ˆA AÁAÁAÚbase_optionsr{  c                 ó‚   — t          j        |¦  «        }t          | ¦  «        |z   t          j        j        t          ffz   S r   )r   Úcreate_channel_optionra  r   ÚChannelArgKeyÚprimary_user_agent_stringÚ_USER_AGENT)r  r{  Úcompression_options      r!   Ú_augment_optionsr  Ê  sJ   € õ &Ô;¸KÑHÔHÐåˆlÑÔØ
ñ	õ Ô$Ô>Ýðð
ñ	
ð	r#   Úoptionsc                 ó²   — g }g }| D ]M}|d         t           j        j        j        k    r|                     |¦  «         Œ8|                     |¦  «         ŒN||fS )z;Separates core channel options from Python channel options.r   )rI   r  ÚChannelOptionsÚSingleThreadedUnaryStreamrí   )r  Úcore_optionsÚpython_optionsÚpairs       r!   Ú_separate_channel_optionsr  Û  sw   € ð €LØ€NØð &ð &ˆà�ŒGÝÔ Ô/ÔIòJð Jð ×!Ò! $Ñ'Ô'Ð'Ð'à×Ò Ñ%Ô%Ð%Ð%Ø˜<Ð'Ð'r#   c                   óÌ  — e Zd ZU dZeed<   ej        ed<   eed<   e	ed<   e
ed<   ee
ef         ed<   de
d	ee         d
eej                 deej                 fd„Zde
defd„Zdee         ddfd„Z	 d&deej        gdf         dee         ddfd„Zdeej        gdf         ddfd„Z	 	 	 d'de
dee         dee         dee         dej        f
d„Z	 	 	 d'de
dee         dee         dee         dej        f
d„Z	 	 	 d'de
dee         dee         dee         dej         f
d„Z!	 	 	 d'de
dee         dee         dee         dej"        f
d„Z#d(d„Z$d(d „Z%d(d!„Z&d"„ Z'd#„ Z(d(d$„Z)d%„ Z*dS ))r“  z7A cygrpc.Channel-backed implementation of grpc.Channel.Ú_single_threaded_unary_streamrk  Ú_call_stateÚ_connectivity_statern  Ú_registered_call_handlesr8   r  rƒ  r{  c                 ó¾  — t          |¦  «        \  }}t          | _        |                      |¦  «         t	          j        t          j        |¦  «        t          ||¦  «        |¦  «        | _	        || _
        t          | j	        ¦  «        | _        t          | j	        ¦  «        | _        t	          j        | ¦  «         t          j        rt	          j        ¦   «          dS dS )aP  Constructor.

        Args:
          target: The target to which to connect.
          options: Configuration options for the channel.
          credentials: A cygrpc.ChannelCredentials or None.
          compression: An optional value indicating the compression method to be
            used over the lifetime of the channel.
        N)r  Ú%_DEFAULT_SINGLE_THREADED_UNARY_STREAMr  Ú_process_python_optionsr   r“  r   Úencoder  rk  rn  r¿  r  rá  r   Úfork_register_channelÚg_gevent_activatedÚgevent_increment_channel_count)r?   r8   r  rƒ  r{  r  r  s          r!   r@   zChannel.__init__ö  sÐ   € õ  (AÀÑ'IÔ'IÑ$ˆ˜å1ð 	Ô*ð 	×$Ò$ ^Ñ4Ô4Ð4ÝœÝŒN˜6Ñ"Ô"Ý˜\¨;Ñ7Ô7Øñ
ô 
ˆŒð
 ˆŒÝ,¨T¬]Ñ;Ô;ˆÔÝ#<¸T¼]Ñ#KÔ#KˆÔ ÝÔ$ TÑ*Ô*Ð*ÝÔ$ð 	4ÝÔ1Ñ3Ô3Ð3Ð3Ð3ð	4ð 	4r#   r7   r   c                 óZ   — | j                              t          j        |¦  «        ¦  «        S )ah  
        Get the registered call handle for a method.

        This is a semi-private method. It is intended for use only by gRPC generated code.

        This method is not thread-safe.

        Args:
          method: Required, the method name for the RPC.

        Returns:
          The registered call handle pointer in the form of a Python Long.
        )rk  Úget_registered_call_handler   r%  )r?   r7   s     r!   Ú_get_registered_call_handlez#Channel._get_registered_call_handle  s$   € ð Œ}×7Ò7½¼ÀvÑ8NÔ8NÑOÔOÐOr#   r  Nc                 ó^   — |D ])}|d         t           j        j        j        k    rd| _        Œ*dS )zASets channel attributes according to python-only channel options.r   TN)rI   r  r  r  r  )r?   r  r  s      r!   r$  zChannel._process_python_options'  sG   € ð #ð 	:ð 	:ˆDà�Q”ÝÔ$Ô3ÔMòNð Nð 6:�Ô2øð	:ð 	:r#   rt   rä  c                 ó2   — t          | j        ||¦  «         d S r   )r  r   )r?   rt   rä  s      r!   Ú	subscribezChannel.subscribe2  s   € õ
 	�4Ô+¨X°~ÑFÔFÐFÐFÐFr#   c                 ó0   — t          | j        |¦  «         d S r   )r  r   rî   s     r!   ÚunsubscribezChannel.unsubscribe9  s   € õ 	�TÔ-¨xÑ8Ô8Ð8Ð8Ð8r#   Frz   rU   Ú_registered_methodc           	      óÞ   — d }|r|                       |¦  «        }t          | j        t          | j        ¦  «        t          j        |¦  «        t          j        | j        ¦  «        |||¦  «        S r   )r+  rj  rk  rß  r  r   r%  rn  ©r?   r7   rz   rU   r1  rq  s         r!   Úunary_unaryzChannel.unary_unary?  sq   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#Ý'ØŒMÝ,¨TÔ-=Ñ>Ô>ÝŒN˜6Ñ"Ô"ÝŒN˜4œ<Ñ(Ô(ØØ!Ø#ñ
ô 
ð 	
r#   c           	      óp  — d }|r|                       |¦  «        }| j        rBt          | j        t	          j        |¦  «        t	          j        | j        ¦  «        |||¦  «        S t          | j        t          | j	        ¦  «        t	          j        |¦  «        t	          j        | j        ¦  «        |||¦  «        S r   )
r+  r  r›  rk  r   r%  rn  r¤  rß  r  r3  s         r!   Úunary_streamzChannel.unary_streamT  s¼   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#ð
 Ô-ð 	Ý:Ø”Ý”˜vÑ&Ô&Ý”˜tœ|Ñ,Ô,Ø"Ø%Ø'ñô ð õ -Ø”Ý0°Ô1AÑBÔBÝ”˜vÑ&Ô&Ý”˜tœ|Ñ,Ô,Ø"Ø%Ø'ñô ð r#   c           	      óÞ   — d }|r|                       |¦  «        }t          | j        t          | j        ¦  «        t          j        |¦  «        t          j        | j        ¦  «        |||¦  «        S r   )r+  r¨  rk  rß  r  r   r%  rn  r3  s         r!   Ústream_unaryzChannel.stream_unaryw  sq   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#Ý(ØŒMÝ,¨TÔ-=Ñ>Ô>ÝŒN˜6Ñ"Ô"ÝŒN˜4œ<Ñ(Ô(ØØ!Ø#ñ
ô 
ð 	
r#   c           	      óÞ   — d }|r|                       |¦  «        }t          | j        t          | j        ¦  «        t          j        |¦  «        t          j        | j        ¦  «        |||¦  «        S r   )r+  r±  rk  rß  r  r   r%  rn  r3  s         r!   Ústream_streamzChannel.stream_streamŒ  sq   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#Ý)ØŒMÝ,¨TÔ-=Ñ>Ô>ÝŒN˜6Ñ"Ô"ÝŒN˜4œ<Ñ(Ô(ØØ!Ø#ñ
ô 
ð 	
r#   c                 óp   — | j         }|r,|j        5  |j        d d …= d d d ¦  «         d S # 1 swxY w Y   d S d S r   )r   rÃ  rå  r°   s     r!   Ú_unsubscribe_allzChannel._unsubscribe_all   s—   € ØÔ(ˆØð 	:Ø”ð :ð :ØÔ6°q°q°qÐ9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :ð	:ð 	:s   ‘)©-°-c                 óì   — |                       ¦   «          | j                             t          j        j        d¦  «         t          j        | ¦  «         t          j        rt          j        ¦   «          d S d S )NzChannel closed!)	r<  rk  rÇ  r   rJ   r2   Úfork_unregister_channelr'  Úgevent_decrement_channel_countrB   s    r!   Ú_closezChannel._close¦  sn   € Ø×ÒÑÔÐØŒ×Ò�FÔ-Ô7Ð9JÑKÔKÐKÝÔ& tÑ,Ô,Ð,ÝÔ$ð 	4ÝÔ1Ñ3Ô3Ð3Ð3Ð3ð	4ð 	4r#   c                 ó‚   — |                       ¦   «          | j                             t          j        j        d¦  «         d S )NzChannel closed due to fork)r<  rk  Úclose_on_forkr   rJ   r2   rB   s    r!   Ú_close_on_forkzChannel._close_on_fork­  sD   € Ø×ÒÑÔÐØŒ×#Ò#ÝÔÔ'Ð)Eñ	
ô 	
ð 	
ð 	
ð 	
r#   c                 ó   — | S r   rO   rB   s    r!   Ú	__enter__zChannel.__enter__³  rò   r#   c                 ó.   — |                       ¦   «          dS r:   ©r@  )r?   Úexc_typeÚexc_valÚexc_tbs       r!   Ú__exit__zChannel.__exit__¶  s   € Ø�Š‰ŒˆØˆur#   c                 ó.   — |                       ¦   «          d S r   rG  rB   s    r!   rÇ  zChannel.closeº  s   € Ø�Š‰Œˆˆˆr#   c                 ó@   — 	 |                       ¦   «          d S #  Y d S xY wr   )r<  rB   s    r!   r  zChannel.__del__½  s1   € ð	Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#øð	ð ˆDˆDøøøs   ‚ ˜r   )NNFr  )+rD   rE   rF   rØ   rL   rG   r   r“  r¿  rá  rK   r   rM   r	   r   r   rI   ÚChannelCredentialsr–  r@   r+  r$  r   rê  r.  r0  r   r   ÚUnaryUnaryMultiCallabler4  ÚUnaryStreamMultiCallabler6  ÚStreamUnaryMultiCallabler8  ÚStreamStreamMultiCallabler:  r<  r@  rC  rE  rK  rÇ  r  rO   r#   r!   r“  r“  ì  s¶  € € € € € € ØAÐAà#'Ð'Ð'Ñ'ØŒnÐÐÑØ"Ð"Ð"Ñ"Ø2Ð2Ð2Ñ2Ø€L€L�LØ" 3¨ 8œnÐ,Ð,Ñ,ð4àð4ð Ð-Ô.ð4ð ˜dÔ5Ô6ð	4ð
 ˜dÔ.Ô/ð4ð 4ð 4ð 4ðBP°#ð P¸#ð Pð Pð Pð Pð 	:Ø&Ð':Ô;ð	:à	ð	:ð 	:ð 	:ð 	:ð *.ðGð Gà˜DÔ4Ð5°tÐ;Ô<ðGð ! œðGð 
ð	Gð Gð Gð Gð9Ø  $Ô":Ð!;¸TÐ!AÔBð9à	ð9ð 9ð 9ð 9ð =AØAEØ-2ð
ð 
àð
ð %Ð%8Ô9ð
ð  (Ð(=Ô>ð	
ð
 % TœNð
ð 
Ô	%ð
ð 
ð 
ð 
ð0 =AØAEØ-2ð ð  àð ð %Ð%8Ô9ð ð  (Ð(=Ô>ð	 ð
 % TœNð ð 
Ô	&ð ð  ð  ð  ðL =AØAEØ-2ð
ð 
àð
ð %Ð%8Ô9ð
ð  (Ð(=Ô>ð	
ð
 % TœNð
ð 
Ô	&ð
ð 
ð 
ð 
ð0 =AØAEØ-2ð
ð 
àð
ð %Ð%8Ô9ð
ð  (Ð(=Ô>ð	
ð
 % TœNð
ð 
Ô	'ð
ð 
ð 
ð 
ð(:ð :ð :ð :ð4ð 4ð 4ð 4ð
ð 
ð 
ð 
ðð ð ðð ð ðð ð ð ðð ð ð ð r#   r“  )urØ   r®   r‘   ro   ÚosrÒ   r;   r   rÙ   Útypingr   r   r   r   r   r   r	   r
   r   r   rI   r   r   r   r   Úgrpc._cythonr   Úgrpc._typingr   r   r   r   r   r   r   r   Úgrpc.experimentalÚ	getLoggerrD   r‡   r'   Ú__version__r  rŽ   Úgetenvr#  rH   Úsend_initial_metadatar€   r”   rZ   r[   r_   r€  r   r«  r´  ró  r§   r¨   rN   r"   rJ   rK   r(   Úobjectr*   rS   r1  rj   rw   r  r  r¢   r©   rÑ   r™  rÛ   r«   Ú
RpcContextrÝ   r  r3  r”  rP  rL   rT  rM   r—  r\  rb  rh  rO  rj  rP  r›  r¤  rQ  r¨  rR  r±  r}  r¿  rÕ  rß  rá  rê  rï  rô  rù  r“  r  r  r  r–  r  r  rO   r#   r!   ú<module>r^     sY  ðð 5Ð 4à €€€Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø %Ð %Ð %Ð %Ð %Ð %Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð à
ˆ'Ô
˜HÑ
%Ô
%€à×%Ò%Ð&6Ô&BÑCÔC€à€ð
 €B„IÐ1Ñ2Ô2¸$Ð>ð &ð
 ÔÔ.Ø
ÔÔ%Ø
ÔÔ/Ø
ÔÔ1Ø
ÔÔ(Ø
ÔÔ1ðÐ ð ÔÔ.Ø
ÔÔ%Ø
ÔÔ/Ø
ÔÔ1Ø
ÔÔ1ðÐ ð ÔÔ.Ø
ÔÔ1Ø
ÔÔ(Ø
ÔÔ1ð	Ð ð ÔÔ.Ø
ÔÔ1Ø
ÔÔ1ðÐ ð 7ð 1ð
 Kð ð
ð ð>�x ”ð >¨8°E¬?ð >ð >ð >ð >ðØ! $¤/Ô2ðØ=EÀc¼]ðàðð ð ð ð:/ð :/ð :/ð :/ð :/�ñ :/ô :/ð :/ðz%�)ð % 4¤?ð %¸Sð %ÀTð %ð %ð %ð %ð)ØÔð)àð)ð $Ð$9Ô:ð)ð 
Ð
Ôð	)ð )ð )ð )ðXØðØ-5Ð6KÔ-Lðàðð ð ð ð0\Øð\àð\ð �Ô% vÔ'<Ð<Ô
=ð\ð ,ð	\ð
 ˜GÔ$ð\ð 
ð\ð \ð \ð \ð~ #ð °)ð Àð ð ð ð ð$[ð [ð [ð [ð [˜œ t¤y°$´+ñ [ô [ð [ð|h3ð h3ð h3ð h3ð h3�$”- ¤ñ h3ô h3ð h3ðVSBð SBð SBð SBð SBØ�”˜DœKñSBô SBð SBðlvð vð vð vð vØ�”˜DœKñvô vð vðr2Øð2à�eŒ_ð2ð ,ð2ð ˆ8�EŒ?˜H UœO¨X°d´mÔ-DÐDÔEð	2ð 2ð 2ð 2ð*'Øð'à
Ô
ð'ð ð'ð �uŒoð	'ð
 ˆ<˜˜|¨T¬YÐ6Ô7Ð7Ô8ð'ð 'ð 'ð 'ð Ø�|Ô$ðØ>Aðàˆh�vÔ'Ô(Ô)ðð ð ð ðØ�|Ô$ðØ>Aðàˆe�H˜VÔ-Ô.°¸Ô0AÐAÔBÔCðð ð ð ð	3 x°¤ð 	3¸8ÀE¼?ð 	3ð 	3ð 	3ð 	3ðqð qð qð qð q˜tÔ;ñ qô qð qðha
ð a
ð a
ð a
ð a
¨dÔ.Kñ a
ô a
ð a
ðH\ð \ð \ð \ð \ Ô =ñ \ô \ð \ð~g
ð g
ð g
ð g
ð g
 Ô =ñ g
ô g
ð g
ðT[
ð [
ð [
ð [
ð [
 Ô!?ñ [
ô [
ð [
ð|ð ð ð ð ˜Cñ ô ð ð.ð ð ð ð ˜ñ ô ð ð. Ð$5ð  ¸$ð  ð  ð  ð  ð&<Ð,=ð <ð <ð <ð <ð~ ð  ð  ð  ð   ñ  ô  ð  ðD	$Ø$ð	$à	ˆ(�DÔ,Ð-¨tÐ3Ô
4Ô5ð	$ð 	$ð 	$ð 	$ðØ$ðàÔ2ðð   ¨$Ô*BÐ)CÀTÐ)IÔ JÔKðð 
ð	ð ð ð ð2Ø$ðà˜ $Ô":Ð!;¸TÐ!AÔBÔCðð 
ðð ð ð ð$.:Ø$ð.:àŒ\ð.:ð !ð.:ð 
ð	.:ð .:ð .:ð .:ðbHØ$ðHà˜Ô0Ð1°4Ð7Ô8ðHð ðHð 
ð	Hð Hð Hð Hð4
Ø$ð
à˜Ô0Ð1°4Ð7Ô8ð
ð 
ð
ð 
ð 
ð 
ðØÐ.Ô/ðà˜$Ô*Ô+ðð Ð!Ô"ðð ð ð ð"(ØÐ)Ô*ð(à
ˆ8Ð'Ô(¨(Ð3FÔ*GÐGÔHð(ð (ð (ð (ð"`ð `ð `ð `ð `ˆdŒlñ `ô `ð `ð `ð `r#   