ó
    Š2¨jjE ã                   óà  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
JrJrJrJrJrJrJrJrJr  SSKrSSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJ r   SSKJ!r!  SSKJ"r"  SSKJ#r#  SSK$r\RJ                  " \&5      r'SRQ                  \RR                  5      r*Sr+\RX                  " S5      SLr-\R\                  R^                  \R\                  R`                  \R\                  Rb                  \R\                  Rd                  \R\                  Rf                  \R\                  Rh                  4r5\R\                  R^                  \R\                  R`                  \R\                  Rb                  \R\                  Rd                  \R\                  Rh                  4r6\R\                  R^                  \R\                  Rd                  \R\                  Rf                  \R\                  Rh                  4r7\R\                  R^                  \R\                  Rd                  \R\                  Rh                  4r8Sr9Sr:Sr;S\\<   S\\<   4S jr=S\\R|                     S\\?   S\?4S jr@ " S S5      rAS\AS\R|                  S\?SS4S  jrBS!\R†                  S\AS"\\   S\\    4S# jrDS\AS"\\   S\#4S$ jrES%\S\AS&\\RŒ                  \RŽ                  4   S'\"S(\\#   SS4S) jrHS*\?S+\AS\?4S, jrI " S- S.\R”                  \R–                  \R˜                  5      rM " S/ S0\R”                  \Rœ                  5      rO " S1 S2\O\R–                  \R˜                  5      rP " S3 S4\O\R–                  \R˜                  5      rQS5\
S\\<   S'\\"   S\\\<   \\R   \\R”                     4   4S6 jrSS\AS&\RŽ                  S7\TS8\\<   S\\!\\!\R–                  4   4   4
S9 jrUS:\\   S;\VS\\\R®                        4S< jrXS:\\   S;\VS\\\\R®                     \\#   4      4S= jrYS>\\<   S\\<   4S? jrZ " S@ SA\R¶                  5      r\ " SB SC\Rº                  5      r^ " SD SE\Rº                  5      r_ " SF SG\RÀ                  5      ra " SH SI\RÄ                  5      rc " SJ SK\V5      rd " SL SM5      reS\eSS4SN jrfS\e4SO jrg " SP SQ5      rhS\hS\\\RÒ                  /S4      4SR jrjS\hSS\RÒ                  ST\\\RÒ                  /S4      SS4SU jrkS\hSV\\\RÒ                  /S4      SS4SW jrlS\hSX\RÚ                  SY\TSS4SZ jrnS\hS[\TSS4S\ jroS\hS]\\RÒ                  /S4   S[\TSS4S^ jrpS\hS]\\RÒ                  /S4   SS4S_ jrqS`\\   Sa\\Rä                     S\\   4Sb jrsSc\\   S\\\   \\   4   4Sd jrtS\hSS4Se jru " Sf Sg\RÚ                  5      rmg)hz.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                 ó<   • U c  S $ [         R                   " 5       U -   $ ©N)Útime©r   s    Ú›C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\grpc/_channel.pyÚ	_deadliner"   m   s   € Ø‘?ˆ4Ð=¬¯	ª	«°gÑ(=Ð=ó    Úunknown_cygrpc_codeÚdetailsc                 ó$   • SR                  X5      $ )Nz,Server sent unknown code {} and details "{}")Úformat)r$   r%   s     r!   Ú_unknown_code_detailsr(   q   s   € ð :×@Ñ@Øóð r#   c                   óš  • \ rS rSr% \R
                  \S'   \\R                     \S'   \
\   \S'   \\S'   \
\   \S'   \
\R                     \S'   \
\   \S'   \
\   \S	'   \\S
'   \\   \S'   \
\   \S'   \
\   \S'   \
\   \S'   \
\   \S'   \
\   \S'   S\\R                     S\
\   S\
\   S\
\R                     S\
\   4
S jrS rSrg)Ú	_RPCStateéy   Ú	conditionÚdueÚinitial_metadataÚresponseÚtrailing_metadataÚcoder%   Údebug_error_stringÚ	cancelledÚ	callbacksÚ
fork_epochÚrpc_start_timeÚrpc_end_timeÚmethodÚtargetc                 ó,  • [         R                  " 5       U l        [        U5      U l        X l        S U l        X0l        X@l        XPl	        S U l
        S U l        S U l        S U l        S U l        SU l        / U l        ["        R$                  " 5       U l        g ©NF)Ú	threadingÚ	Conditionr,   Úsetr-   r.   r/   r0   r1   r%   r2   r6   r7   r8   r9   r3   r4   r   Úget_fork_epochr5   )Úselfr-   r.   r0   r1   r%   s         r!   Ú__init__Ú_RPCState.__init__Š   s†   € ô #×,Ò,Ó.ˆŒô �s“8ˆŒØ 0ÔØˆŒØ!2ÔØŒ	ØŒØ"&ˆÔð #ˆÔØ ˆÔØˆŒØˆŒð ˆŒØˆŒÜ ×/Ò/Ó1ˆ�r#   c                 ó8   • [         R                  " 5       U l        g r   )r<   r=   r,   ©r@   s    r!   Úreset_postfork_childÚ_RPCState.reset_postfork_child²   s   € Ü"×,Ò,Ó.ˆ�r#   )r4   r3   r1   r,   r2   r%   r-   r5   r.   r8   r/   r7   r6   r9   r0   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r<   r=   Ú__annotations__r
   r   ÚOperationTyper   r   r   ÚgrpcÚ
StatusCodeÚstrÚboolr   r   ÚintÚfloatr	   rA   rE   Ú__static_attributes__© r#   r!   r*   r*   y   sý   ‡ Ø×"Ñ"Ó"Ø	ˆV×!Ñ!Ñ	"Ó"Ø˜|Ñ,Ó,ØƒMØ Ñ-Ó-Ø
�4—?‘?Ñ
#Ó#Ø�c‰]ÓØ  ™Ó%ØƒOØÐ'Ñ(Ó(Ø˜‘ÓØ˜U‘OÓ#Ø˜5‘/Ó!Ø�S‰MÓØ�S‰MÓð&2à�f×*Ñ*Ñ+ð&2ð # <Ñ0ð&2ð $ LÑ1ð	&2ð
 �t—‘Ñ'ð&2ð ˜#‘ô&2õP/r#   r*   Ústater1   c                 ón   • U R                   c(  Xl         X l        U R                  c  SU l        SU l        g g )NrT   )r1   r%   r.   r0   )rU   r1   r%   s      r!   Ú_abortrW   ¶   s7   € Ø‡z�zÑØŒ
ØŒØ×!Ñ!Ñ)Ø%'ˆEÔ"Ø"$ˆÕð r#   ÚeventÚresponse_deserializerc                 óT  • / nU R                    GH  nUR                  5       nUR                  R                  U5        U[        R
                  R                  :X  a  UR                  5       Ul        Md  U[        R
                  R                  :X  a_  UR                  5       nUbJ  [        R                  " Xb5      nUc)  Sn[        U[        R                  R                  U5        M×  Xql        Mß  Má  U[        R
                  R"                  :X  d  GM  UR%                  5       Ul        UR&                  cž  [        R(                  R+                  UR'                  5       5      n	U	c>  [        R                  R,                  Ul        [/        X”R1                  5       5      Ul        O0X‘l        UR1                  5       Ul        UR3                  5       Ul        [6        R8                  " 5       Ul        [<        R>                  " U5        URA                  URB                  5        S Ul!        GM     U$ )Nz!Exception deserializing response!)"Úbatch_operationsÚtyper-   Úremover   rL   Úreceive_initial_metadatar.   Úreceive_messageÚmessager   ÚdeserializerW   rM   rN   ÚINTERNALr/   Úreceive_status_on_clientr0   r1   Ú!CYGRPC_STATUS_CODE_TO_STATUS_CODEÚgetÚUNKNOWNr(   r%   Úerror_stringr2   r   Úperf_counterr7   r   Úmaybe_record_rpc_latencyÚextendr4   )
rX   rU   rY   r4   Úbatch_operationÚoperation_typeÚserialized_responser/   r%   r1   s
             r!   Ú_handle_eventrn   ¿   s´  € ð
 €IØ ×1Õ1ˆØ(×-Ñ-Ó/ˆØ�	‰	×Ñ˜Ô(ØœV×1Ñ1×JÑJÓJØ%4×%EÑ%EÓ%GˆEÖ"Øœv×3Ñ3×CÑCÓCØ"1×"9Ñ"9Ó";ÐØ"Ñ.Ü"×.Ò.Ø'ó�ð Ñ#ØA�GÜ˜5¤$§/¡/×":Ñ":¸GÖDà%-–Nñ /ð œv×3Ñ3×LÑLÖLØ&5×&GÑ&GÓ&IˆEÔ#Ø�z‰zÑ!Ü×@Ñ@×DÑDØ#×(Ñ(Ó*ó�ð ‘<Ü!%§¡×!8Ñ!8�E”JÜ$9Ø×5Ñ5Ó7ó%�E•Mð "&”JØ$3×$;Ñ$;Ó$=�E”MØ/>×/KÑ/KÓ/M�EÔ,Ü!%×!2Ò!2Ó!4ˆEÔÜ×3Ò3°EÔ:Ø×Ñ˜UŸ_™_Ô-Ø"ˆE�OñE 2ðF Ðr#   c                 ó   ^ ^• UU 4S jnU$ )Nc           	      óÎ  >• TR                      [        U TT5      nTR                   R                  5         TR                  (       + nS S S 5        W H  n U" 5         M     W=(       a"    TR                  [        R                  " 5       :¬  $ ! , (       d  f       NJ= f! [         a>  n[
        R                  S[        UR                  5      [        U5      5         S nAMŽ  S nAff = f)NzException in callback %s: %s)r,   rn   Ú
notify_allr-   Ú	ExceptionÚ_LOGGERÚerrorÚreprÚfuncr5   r   r?   )rX   r4   ÚdoneÚcallbackÚerY   rU   s        €€r!   Úhandle_eventÚ$_event_handler.<locals>.handle_eventî   s°   ø€ Ø�_‹_Ü% e¨UÐ4IÓJˆIØ�O‰O×&Ñ&Ô(Ø—y‘y”=ˆD÷ ó "ˆHðÙ–
ñ "ð ×C˜×(Ñ(¬F×,AÒ,AÓ,CÑCÐC÷ �_ûô ó ô —‘Ø2´D¸¿¹Ó4GÌÈaË÷ò ûðús#   Ž9BÁBÂ
BÂ
C$Â&3CÃC$rT   )rU   rY   rz   s   `` r!   Ú_event_handlerr|   ë   s   ù€ öDð  Ðr#   Úrequest_iteratorÚcallÚrequest_serializerÚevent_handlerc                 óŒ   ^ ^^^^• UUU UU4S jn[         R                  " US9nUR                  S5        UR                  5         g)z'Consume a request supplied by the user.c            	      ó¢  >•  Sn  [         R                  " 5         [        T
5      n U (       d  [         R                  " 5         [        R                  " UT5      nTR                      TR"                  Gcz  TR$                  (       Gdh  UcU  [        R                  R&                  nSnTR                  [        R                  U   U5        [        TX#5         S S S 5        g TR(                  R+                  [         R,                  R.                  5        [         R0                  " U[2        5      4nTR5                  UT	5      nU(       d=  TR(                  R7                  [         R,                  R.                  5         S S S 5        g U4S jn[        R8                  " TR                   R8                  U[:        R<                  " [         R>                  T5      S9  TR"                  b
   S S S 5        g O
 S S S 5        g  S S S 5        GM  ! [         a     U (       dì  [         R                  " 5         OÖ[
         a—    [         R                  " 5         Sn [        R                  R                  nSn[        R                  U5        TR                  [        R                  U   U5        [        TX#5         U (       d  [         R                  " 5         g g f = f! U (       d  [         R                  " 5         f f = f! , (       d  f       Nþ= fTR                      TR"                  cš  TR(                  R+                  [         R,                  R@                  5        [         RB                  " [2        5      4nTR5                  UT	5      nU(       d3  TR(                  R7                  [         R,                  R@                  5        S S S 5        g ! , (       d  f       g = f)NTFzException iterating requests!úException serializing request!c                  ó|   >• T R                   S L=(       d'    [        R                  R                  T R                  ;  $ r   )r1   r   rL   Úsend_messager-   ©rU   s   €r!   Ú_doneÚJ_consume_request_iterator.<locals>.consume_request_iterator.<locals>._done<  s4   ø€ à!ŸJ™J¨dÐ2÷ -Ü%×3Ñ3×@Ñ@Ø#(§9¡9ñ -ðr#   )Úspin_cb)"r   Úenter_user_request_generatorÚnextÚStopIterationÚ"return_from_user_request_generatorrr   rM   rN   rf   rs   Ú	exceptionÚcancelr   Ú!STATUS_CODE_TO_CYGRPC_STATUS_CODErW   Ú	serializer,   r1   r3   rb   r-   ÚaddrL   r…   ÚSendMessageOperationÚ_EMPTY_FLAGSÚoperater]   ÚwaitÚ	functoolsÚpartialÚblock_if_fork_in_progressÚsend_close_from_clientÚSendCloseFromClientOperation)Ú*return_from_user_request_generator_invokedÚrequestr1   r%   Úserialized_requestÚ
operationsÚ	operatingr‡   r~   r€   r}   r   rU   s           €€€€€r!   Úconsume_request_iteratorÚ;_consume_request_iterator.<locals>.consume_request_iterator  sí  ø€ ð Ø9>Ð6ð@ä×3Ò3Ô5ÜÐ/Ó0‘ö BÜ×=Ò=Ô?Ü!(×!2Ò!2°7Ð<NÓ!OÐØ—“Ø—:‘:Ò%¨e¯o¯o¨oØ)Ñ1Ü#Ÿ™×7Ñ7˜Ø"B˜ØŸ™Ü#×EÑEÀdÑKØ#ôô ˜u dÔ4Ø÷ !�ð —I‘I—M‘M¤&×"6Ñ"6×"CÑ"CÔDä×3Ò3Ø.´óð"�Jð
 !%§¡¨Z¸Ó G�IÞ$ØŸ	™	×(Ñ(¬×)=Ñ)=×)JÑ)JÔKØ÷) !�õ,ô —L’LØŸ™×,Ñ,ØÜ )× 1Ò 1Ü"×<Ñ<¸eó!òð —z‘zÑ-Ø÷K !�ðH .ð ÷O !�ðH .÷I !ò/ øô !ó Øö BÜ×=Ò=Õ?ô ó 
Ü×9Ò9Ô;Ø=AÐ:Ü—‘×.Ñ.�Ø9�Ü×!Ñ! 'Ô*Ø—‘Ü×=Ñ=¸dÑCÀWôô �u˜dÔ,ØæAÜ×=Ò=Õ?ð Bð
ûö BÜ×=Ò=Õ?ð Bú÷ !•úðP �_‹_Ø�z‰zÑ!Ø—	‘	—‘œf×2Ñ2×IÑIÔJä×7Ò7¼ÓEð�
ð !ŸL™L¨°]ÓC�	Þ Ø—I‘I×$Ñ$Ü×,Ñ,×CÑCô÷ �_Ž_ús^   † H Á&A0K2ÃBK2ÆA!K2Ç.K2È
KÈK È-B KÊ-K ËKËK ËK/Ë2
L ÌB(O Ï 
O©r9   TN©r   ÚForkManagedThreadÚ	setDaemonÚstart)r}   rU   r~   r   r€   r¡   Úconsumption_threads   `````  r!   Ú_consume_request_iteratorr©     sB   ü€ ÷Lñ Lô\  ×1Ò1Ø'ñÐð × Ñ  Ô&Ø×ÑÕr#   Ú
class_nameÚ	rpc_statec                 ó¾  • UR                      UR                  c  SR                  U 5      sSSS5        $ UR                  [        R                  R
                  L a3  [        R                  XR                  UR                  5      sSSS5        $ [        R                  U UR                  UR                  UR                  5      sSSS5        $ ! , (       d  f       g= f)z Calculates error string for RPC.Nz<{} object>)
r,   r1   r'   rM   rN   ÚOKÚ_OK_RENDEZVOUS_REPR_FORMATr%   Ú_NON_OK_RENDEZVOUS_REPR_FORMATr2   )rª   r«   s     r!   Ú_rpc_state_stringr°   a  s    € à	×	Ó	Ø�>‰>Ñ!Ø ×'Ñ'¨
Ó3÷ 
Ñ	ð �>‰>œTŸ_™_×/Ñ/Ò/Ü-×4Ñ4ØŸN™N¨I×,=Ñ,=ó÷	 
Ñ	ô .×4Ñ4ØØ�N‰NØ×ÑØ×(Ñ(ó	
÷ 
×	×	ús   �CµACÂ5CÃ
Cc                   óÈ  • \ rS rSr% Sr\\S'   S\4S jrS\\	   4S jr
S\\	   4S jrS\\R                     4S	 jrS\\   4S
 jrS\\   4S jrS\4S jrS\4S jrS\4S jrS\4S jrS\4S jrS\4S jrS\4S jr SS\\   S\4S jjr SS\\   S\\   4S jjr SS\\   S\\R@                     4S jjr! SS\"\RF                  /S4   S\\   SS4S jjr$Sr%g)Ú_InactiveRpcErrorir  z¼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.
Ú_staterU   c           
      ó°  • [        U[        5      (       dE  Sn[        U[        5      (       a  U SU 3n[        SSS[        R                  R
                  U5      nUR                     [        S[        R                  " UR                  5      [        R                  " UR                  5      UR                  [        R                  " UR                  5      5      U l        [        R                  " UR                  5      U R                  l        [        R                  " UR                  5      U R                  l        S S S 5        g ! , (       d  f       g = f)Nz+Inactive RPC Error: Invalid RPC state type.z
 Details: rT   )Ú
isinstancer*   rO   rM   rN   rb   r,   ÚcopyÚdeepcopyr.   r0   r1   r%   r³   r/   r2   )r@   rU   Úmsgs      r!   rA   Ú_InactiveRpcError.__init__~  sá   € Ü˜%¤×+Ñ+ð @ˆCÜ˜%¤×%Ñ%Ø˜˜Z¨ wÐ/�Ü˜b " b¬$¯/©/×*BÑ*BÀCÓHˆEà�_‹_Ü#ØÜ—’˜e×4Ñ4Ó5Ü—’˜e×5Ñ5Ó6Ø—
‘
Ü—’˜eŸm™mÓ,óˆDŒKô $(§9¢9¨U¯^©^Ó#<ˆD�K‰KÔ Ü-1¯YªY°u×7OÑ7OÓ-PˆD�K‰KÔ*÷ �_Ž_ús   Á'CEÅ
Er   c                 ó.   • U R                   R                  $ r   ©r³   r.   rD   s    r!   r.   Ú"_InactiveRpcError.initial_metadata“  s   € Ø�{‰{×+Ñ+Ð+r#   c                 ó.   • U R                   R                  $ r   ©r³   r0   rD   s    r!   r0   Ú#_InactiveRpcError.trailing_metadata–  s   € Ø�{‰{×,Ñ,Ð,r#   c                 ó.   • U R                   R                  $ r   ©r³   r1   rD   s    r!   r1   Ú_InactiveRpcError.code™  s   € Ø�{‰{×ÑÐr#   c                 óV   • [         R                  " U R                  R                  5      $ r   )r   Údecoder³   r%   rD   s    r!   r%   Ú_InactiveRpcError.detailsœ  s   € Ü�~Š~˜dŸk™k×1Ñ1Ó2Ð2r#   c                 óV   • [         R                  " U R                  R                  5      $ r   )r   rÄ   r³   r2   rD   s    r!   r2   Ú$_InactiveRpcError.debug_error_stringŸ  s   € Ü�~Š~˜dŸk™k×<Ñ<Ó=Ð=r#   c                 óV   • [        U R                  R                  U R                  5      $ r   ©r°   Ú	__class__rG   r³   rD   s    r!   Ú_reprÚ_InactiveRpcError._repr¢  ó   € Ü  §¡×!8Ñ!8¸$¿+¹+ÓFÐFr#   c                 ó"   • U R                  5       $ r   ©rË   rD   s    r!   Ú__repr__Ú_InactiveRpcError.__repr__¥  ó   € Ø�z‰z‹|Ðr#   c                 ó"   • U R                  5       $ r   rÏ   rD   s    r!   Ú__str__Ú_InactiveRpcError.__str__¨  rÒ   r#   c                 ó   • g)zSee grpc.Future.cancel.FrT   rD   s    r!   r�   Ú_InactiveRpcError.cancel«  ó   € àr#   c                 ó   • g)zSee grpc.Future.cancelled.FrT   rD   s    r!   r3   Ú_InactiveRpcError.cancelled¯  rØ   r#   c                 ó   • g)zSee grpc.Future.running.FrT   rD   s    r!   ÚrunningÚ_InactiveRpcError.running³  rØ   r#   c                 ó   • g)zSee grpc.Future.done.TrT   rD   s    r!   rw   Ú_InactiveRpcError.done·  s   € àr#   Nr   c                 ó   • U e)zSee grpc.Future.result.rT   ©r@   r   s     r!   ÚresultÚ_InactiveRpcError.result»  s	   € ð ˆ
r#   c                 ó   • U $ )zSee grpc.Future.exception.rT   rá   s     r!   rŽ   Ú_InactiveRpcError.exceptionÁ  s	   € ð ˆr#   c                 ól   •  U e! [         R                   a    [        R                  " 5       S   s $ f = f)zSee grpc.Future.traceback.é   )rM   ÚRpcErrorÚsysÚexc_inforá   s     r!   Ú	tracebackÚ_InactiveRpcError.tracebackÇ  s0   € ð	%ØˆJøÜ�}‰}ó 	%Ü—<’<“> !Ñ$Ò$ð	%ús   ‚ „,3²3Úfnc                 ó   • U" U 5        g)z"See grpc.Future.add_done_callback.NrT   )r@   rí   r   s      r!   Úadd_done_callbackÚ#_InactiveRpcError.add_done_callbackÐ  s   € ñ 	ˆ4�r#   )r³   r   )&rG   rH   rI   rJ   Ú__doc__r*   rK   rA   r   r   r.   r0   rM   rN   r1   rO   r%   r2   rË   rÐ   rÔ   rP   r�   r3   rÜ   rw   rR   r   râ   rr   rŽ   ÚtypesÚTracebackTyperë   r   ÚFuturerï   rS   rT   r#   r!   r²   r²   r  ss  ‡ ñð ÓðQ˜iô Qð*, (¨<Ñ"8ô ,ð- 8¨LÑ#9ô -ð �h˜tŸ™Ñ/ô  ð3˜ #™ô 3ð> H¨S¡Mô >ðG�sô Gð˜#ô ð˜ô ð˜ô ð˜4ô ð˜ô ð�dô ð
 *.ñØ ‘ðà	õð *.ñØ ‘ðà	�)Ñ	õð *.ñ%Ø ‘ð%à	�%×%Ñ%Ñ	&õ%ð $(ñà�d—k‘k�] DÐ(Ñ)ðð ˜%‘ðð 
÷	ð r#   r²   c            	       óˆ  ^ • \ rS rSr% Sr\\S'   \\R                  \R                  4   \S'   \\   \S'   \\   \S'   S\S\\R                  \R                  4   S	\\   S
\\   4U 4S jjrS\4S jrS\\   4S jrS\4S jrS\S\4S jrS rS rS rS rS\\   4S jrS\4S jrS\4S jrS\4S jrSS jrSrU =r $ )Ú_RendezvousiÙ  a½  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"   rU   r~   rY   Údeadlinec                 óZ   >• [         [        U ]  5         Xl        X l        X0l        X@l        g r   )Úsuperrö   rA   r³   r÷   rø   r"   )r@   rU   r~   rY   rù   rÊ   s        €r!   rA   Ú_Rendezvous.__init__ì  s'   ø€ ô 	Œk˜4Ñ)Ô+ØŒØŒ
Ø&;Ô#Ø!�r#   r   c                 ó”   • U R                   R                     U R                   R                  SL sSSS5        $ ! , (       d  f       g= f)zSee grpc.RpcContext.is_activeN©r³   r,   r1   rD   s    r!   Ú	is_activeÚ_Rendezvous.is_activeù  s-   € à�[‰[×"Ó"Ø—;‘;×#Ñ# tÐ+÷ #×"×"úó	   —9¹
Ac                 óê   • U R                   R                     U R                  c
   SSS5        g[        U R                  [        R                  " 5       -
  S5      sSSS5        $ ! , (       d  f       g= f)z"See grpc.RpcContext.time_remainingNr   )r³   r,   r"   Úmaxr   rD   s    r!   Útime_remainingÚ_Rendezvous.time_remainingþ  sK   € à�[‰[×"Ó"Ø�~‰~Ñ%Ø÷ #Ð"ô �t—~‘~¬¯	ª	«Ñ3°QÓ7÷ #×"×"ús   —A$¯+A$Á$
A2c                 óÐ  • U R                   R                     U R                   R                  cž  [        R                  R
                  nSnU R                  R                  [        R                  U   U5        SU R                   l
        [        U R                   X5        U R                   R                  R                  5          SSS5        g SSS5        g! , (       d  f       g= f)zSee grpc.RpcContext.cancelNz!Locally cancelled by application!TF)r³   r,   r1   rM   rN   Ú	CANCELLEDr÷   r�   r   r�   r3   rW   rq   )r@   r1   r%   s      r!   r�   Ú_Rendezvous.cancel  s£   € à�[‰[×"Ó"Ø�{‰{×ÑÑ'Ü—‘×0Ñ0�Ø=�Ø—
‘
×!Ñ!Ü×=Ñ=¸dÑCÀWôð )-�—‘Ô%Ü�t—{‘{ DÔ2Ø—‘×%Ñ%×0Ñ0Ô2Ø÷ #Ð"ð ÷ #×"Ö"ús   —B-CÃCÃ
C%rx   c                 óò   • U R                   R                     U R                   R                  c
   SSS5        gU R                   R                  R                  U5         SSS5        g! , (       d  f       g= f)z See grpc.RpcContext.add_callbackNFT)r³   r,   r4   Úappend©r@   rx   s     r!   Úadd_callbackÚ_Rendezvous.add_callback  sS   € à�[‰[×"Ó"Ø�{‰{×$Ñ$Ñ,Ø÷ #Ð"ð �K‰K×!Ñ!×(Ñ(¨Ô2Ø÷	 #×"Ö"ús   —A(¹&A(Á(
A6c                 ó   • U $ r   rT   rD   s    r!   Ú__iter__Ú_Rendezvous.__iter__  ó   € Øˆr#   c                 ó"   • U R                  5       $ r   ©Ú_nextrD   s    r!   r‹   Ú_Rendezvous.next  rÒ   r#   c                 ó"   • U R                  5       $ r   r  rD   s    r!   Ú__next__Ú_Rendezvous.__next__"  rÒ   r#   c                 ó   • [        5       er   ©ÚNotImplementedErrorrD   s    r!   r  Ú_Rendezvous._next%  ó   € Ü!Ó#Ð#r#   c                 ó   • [        5       er   r  rD   s    r!   r2   Ú_Rendezvous.debug_error_string(  r  r#   c                 óV   • [        U R                  R                  U R                  5      $ r   rÉ   rD   s    r!   rË   Ú_Rendezvous._repr+  rÍ   r#   c                 ó"   • U R                  5       $ r   rÏ   rD   s    r!   rÐ   Ú_Rendezvous.__repr__.  rÒ   r#   c                 ó"   • U R                  5       $ r   rÏ   rD   s    r!   rÔ   Ú_Rendezvous.__str__1  rÒ   r#   c                 ó  • U R                   R                     U R                   R                  cÄ  [        R                  R
                  U R                   l        SU R                   l        SU R                   l        U R                  R                  [        R                  U R                   R                     U R                   R                  5        U R                   R                  R                  5         S S S 5        g ! , (       d  f       g = f)Nz"Cancelled upon garbage collection!T)r³   r,   r1   rM   rN   r  r%   r3   r÷   r�   r   r�   rq   rD   s    r!   Ú__del__Ú_Rendezvous.__del__4  s¨   € Ø�[‰[×"Ó"Ø�{‰{×ÑÑ'Ü#'§?¡?×#<Ñ#<�—‘Ô Ø&J�—‘Ô#Ø(,�—‘Ô%Ø—
‘
×!Ñ!Ü×=Ñ=¸d¿k¹k×>NÑ>NÑOØ—K‘K×'Ñ'ôð —‘×%Ñ%×0Ñ0Ô2÷ #×"Ö"ús   —CC<Ã<
D
)r÷   r"   rø   r³   ©r   N)!rG   rH   rI   rJ   rñ   r*   rK   r   r   ÚSegregatedCallÚIntegratedCallr   r   rR   rA   rP   rÿ   r  r�   r   r  r  r‹   r  r  rO   r2   rË   rÐ   rÔ   r'  rS   Ú__classcell__©rÊ   s   @r!   rö   rö   Ù  s  ø‡ ñð ÓØ�×&Ñ&¨×(=Ñ(=Ð=Ñ>Ó>Ø$Ð%:Ñ;Ó;Ø˜‰Óð"àð"ð �F×)Ñ)¨6×+@Ñ+@Ð@ÑAð"ð  (Ð(=Ñ>ð	"ð
 ˜5‘/÷"ð,˜4ô ,ð
8 ¨¡ô 8ð˜ô ðÐ%8ð ¸Tô òòòò$ð$ H¨S¡Mô $ðG�sô Gð˜#ô ð˜ô ÷
3ò 
3r#   rö   c                   óÀ  • \ rS rSr% Sr\\S'   S\4S jrS\4S jr	S\4S jr
S\4S jrSS
\\   S\4S jjrSS
\\   S\\   4S jjr SS
\\   S\\R&                     4S jjrS\\R.                  /S	4   SS	4S jrS\\   4S jrS\\   4S jrS\\R8                     4S jrS\\   4S jrS\\ RB                     4S jr"S\4S jr#S\4S jr$S\\   4S jr%Sr&g	)Ú_SingleThreadedRendezvousiA  a*  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                 ó2   • U R                   R                  S L$ r   rÁ   rD   s    r!   Ú_is_completeÚ&_SingleThreadedRendezvous._is_completeS  ó   € Ø�{‰{×Ñ tÐ+Ð+r#   c                 ó�   • U R                   R                     U R                   R                  sS S S 5        $ ! , (       d  f       g = fr   ©r³   r,   r3   rD   s    r!   r3   Ú#_SingleThreadedRendezvous.cancelledV  ó(   € Ø�[‰[×"Ó"Ø—;‘;×(Ñ(÷ #×"×"úó	   —7·
Ac                 ó”   • U R                   R                     U R                   R                  S L sS S S 5        $ ! , (       d  f       g = fr   rþ   rD   s    r!   rÜ   Ú!_SingleThreadedRendezvous.runningZ  ó-   € Ø�[‰[×"Ó"Ø—;‘;×#Ñ# tÐ+÷ #×"×"úr  c                 ó”   • U R                   R                     U R                   R                  S LsS S S 5        $ ! , (       d  f       g = fr   rþ   rD   s    r!   rw   Ú_SingleThreadedRendezvous.done^  ó-   € Ø�[‰[×"Ó"Ø—;‘;×#Ñ#¨4Ð/÷ #×"×"úr  Nr   c                 óÄ  • AU R                   R                     U R                  5       (       d!  Sn[        R                  R                  U5      eU R                   R                  [        R                  R                  L a  U R                   R                  sSSS5        $ U R                   R                  (       a  [        R                  " 5       eU e! , (       d  f       g= f)a  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,   r1  rM   ÚexperimentalÚ
UsageErrorr1   rN   r­   r/   r3   ÚFutureCancelledError©r@   r   Ú	error_msgs      r!   râ   Ú _SingleThreadedRendezvous.resultb  s£   € ð Ø�[‰[×"Ó"Ø×$Ñ$×&Ñ&ð9ð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ò5Ø—{‘{×+Ñ+÷ #Ñ"ð �{‰{×$×$Ü×/Ò/Ó1Ð1ØˆJ÷ #Õ"ús   ˜A=CÂ2CÃ
Cc                 ó¬  • AU R                   R                     U R                  5       (       d!  Sn[        R                  R                  U5      eU R                   R                  [        R                  R                  L a
   SSS5        gU R                   R                  (       a  [        R                  " 5       eU sSSS5        $ ! , (       d  f       g= f)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,   r1  rM   r@  rA  r1   rN   r­   r3   rB  rC  s      r!   rŽ   Ú#_SingleThreadedRendezvous.exceptiony  sš   € ð Ø�[‰[×"Ó"Ø×$Ñ$×&Ñ&ð<ð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ò5Ø÷ #Ð"ð �{‰{×$×$Ü×/Ò/Ó1Ð1Ø÷ #×"×"ús   ˜A)CÂ
1CÃ
Cc                 ó  • AU R                   R                     U R                  5       (       d!  Sn[        R                  R                  U5      eU R                   R                  [        R                  R                  L a
   SSS5        gU R                   R                  (       a  [        R                  " 5       e U e! [        R                   a$    [        R                  " 5       S   s sSSS5        $ f = f! , (       d  f       g= f)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,   r1  rM   r@  rA  r1   rN   r­   r3   rB  rè   ré   rê   )r@   r   r¸   s      r!   rë   Ú#_SingleThreadedRendezvous.traceback�  sÊ   € ð Ø�[‰[×"Ó"Ø×$Ñ$×&Ñ&ð<ð ô ×'Ñ'×2Ñ2°3Ó7Ð7Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ò5Ø÷ #Ð"ð �{‰{×$×$Ü×/Ò/Ó1Ð1ð)Ø�
øÜ—=‘=ó )Ü—|’|“~ aÑ(Ñ(÷ #Ñ"ð)ú÷ #Õ"ús0   ˜A)C8Â
0C8Â;B=Â=,C5Ã)C8Ã4C5Ã5C8Ã8
Drí   c                 ó*  • U R                   R                     U R                   R                  cC  U R                   R                  R	                  [
        R                  " X5      5         S S S 5        g  S S S 5        U" U 5        g ! , (       d  f       N= fr   ©r³   r,   r1   r4   r
  r—   r˜   ©r@   rí   s     r!   rï   Ú+_SingleThreadedRendezvous.add_done_callback¬  óg   € Ø�[‰[×"Ó"Ø�{‰{×ÑÑ'Ø—‘×%Ñ%×,Ñ,¬Y×->Ò->¸rÓ-HÔIØ÷ #Ð"Ø'÷ #ñ
 	ˆ4�÷ #Õ"úó   —ABÂ
Bc                 ó  • U R                   R                     U R                   R                  c)  U R                  5         U R                   R                  c  M)  U R                   R                  sSSS5        $ ! , (       d  f       g= f)úSee grpc.Call.initial_metadataN)r³   r,   r.   Ú_consume_next_eventrD   s    r!   r.   Ú*_SingleThreadedRendezvous.initial_metadata´  sX   € à�[‰[×"Ó"ð —+‘+×.Ñ.Ñ6Ø×(Ñ(Ô*ð —+‘+×.Ñ.Ó6à—;‘;×/Ñ/÷ #×"×"ús   —?A7ÁA7Á7
Bc                 ó   • U R                   R                     U R                   R                  c!  Sn[        R                  R                  U5      eU R                   R                  sSSS5        $ ! , (       d  f       g= f)úSee grpc.Call.trailing_metadataNz4Cannot get trailing metadata until RPC is completed.)r³   r,   r0   rM   r@  rA  ©r@   rD  s     r!   r0   Ú+_SingleThreadedRendezvous.trailing_metadata½  sY   € à�[‰[×"Ó"Ø�{‰{×,Ñ,Ñ4àJð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ø—;‘;×0Ñ0÷ #×"×"úó   —AA/Á/
A=c                 ó   • U R                   R                     U R                   R                  c!  Sn[        R                  R                  U5      eU R                   R                  sSSS5        $ ! , (       d  f       g= f)úSee grpc.Call.codeNz'Cannot get code until RPC is completed.)r³   r,   r1   rM   r@  rA  rV  s     r!   r1   Ú_SingleThreadedRendezvous.codeÇ  sT   € à�[‰[×"Ó"Ø�{‰{×ÑÑ'ØE�	Ü×'Ñ'×2Ñ2°9Ó=Ð=Ø—;‘;×#Ñ#÷	 #×"×"úrX  c                 ó(  • U R                   R                     U R                   R                  c!  Sn[        R                  R                  U5      e[        R                  " U R                   R                  5      sSSS5        $ ! , (       d  f       g= f)úSee grpc.Call.detailsNz*Cannot get details until RPC is completed.)r³   r,   r%   rM   r@  rA  r   rÄ   rV  s     r!   r%   Ú!_SingleThreadedRendezvous.detailsÏ  s]   € à�[‰[×"Ó"Ø�{‰{×"Ñ"Ñ*ØH�	Ü×'Ñ'×2Ñ2°9Ó=Ð=Ü—>’> $§+¡+×"5Ñ"5Ó6÷	 #×"×"úó   —A"BÂ
Bc                 óü   • U R                   R                  5       nU R                  R                     [	        XR                  U R
                  5      nU H
  nU" 5         M     S S S 5        U$ ! , (       d  f       U$ = fr   )r÷   Ú
next_eventr³   r,   rn   rø   )r@   rX   r4   rx   s       r!   rR  Ú-_SingleThreadedRendezvous._consume_next_event×  si   € Ø—
‘
×%Ñ%Ó'ˆØ�[‰[×"Ó"Ü%Ø—{‘{ D×$?Ñ$?óˆIó &�ñ –
ñ &÷	 #ð ˆ÷ #Ô"ð ˆús   ±1A,Á,
A;c                 ó(  •  U R                  5         U R                  R                     U R                  R                  b2  U R                  R                  nS U R                  l        UsS S S 5        $ [        R
                  R                  U R                  R                  ;  aT  U R                  R                  [        R                  R                  L a
  [        5       eU R                  R                  b  U eS S S 5        GM  ! , (       d  f       N= fr   )rR  r³   r,   r/   r   rL   r_   r-   r1   rM   rN   r­   rŒ   )r@   r/   s     r!   Ú_next_responseÚ(_SingleThreadedRendezvous._next_responseã  s¼   € ØØ×$Ñ$Ô&Ø—‘×&Ó&Ø—;‘;×'Ñ'Ñ3Ø#Ÿ{™{×3Ñ3�HØ+/�D—K‘KÔ(Ø#÷	 'Ñ&ô
 ×'Ñ'×7Ñ7¸t¿{¹{¿¹ÓNØ—{‘{×'Ñ'¬4¯?©?×+=Ñ+=Ò=Ü+›oÐ-Ø—{‘{×'Ñ'Ñ3Ø"˜
÷ 'ò ç&Õ&ús   ¨A DÁ2BDÄ
Dc                 ó¶  • U R                   R                     U R                   R                  c·  U R                   R                  R	                  [
        R                  R                  5        U R                  R                  [
        R                  " [        5      4S 5      nU(       d=  U R                   R                  R                  [
        R                  R                  5        O=U R                   R                  [        R                  R                  L a
  [!        5       eU eS S S 5        U R#                  5       $ ! , (       d  f       U R#                  5       $ = fr   )r³   r,   r1   r-   r’   r   rL   r_   r÷   r•   ÚReceiveMessageOperationr”   r]   rM   rN   r­   rŒ   rd  )r@   r    s     r!   r  Ú_SingleThreadedRendezvous._nextñ  së   € Ø�[‰[×"Ó"Ø�{‰{×ÑÑ'ð —‘—‘×#Ñ#¤F×$8Ñ$8×$HÑ$HÔIØ ŸJ™J×.Ñ.Ü×3Ò3´LÓAÐCÀTó�	ö !Ø—K‘K—O‘O×*Ñ*¬6×+?Ñ+?×+OÑ+OÔPøØ—‘×!Ñ!¤T§_¡_×%7Ñ%7Ò7Ü#“oÐ%à�
÷- #ð. ×"Ñ"Ó$Ð$÷/ #Ô"ð. ×"Ñ"Ó$Ð$ús   —DD;Ä;
Ec                 ó(  • U R                   R                     U R                   R                  c!  Sn[        R                  R                  U5      e[        R                  " U R                   R                  5      sS S S 5        $ ! , (       d  f       g = f)Nz5Cannot get debug error string until RPC is completed.)r³   r,   r2   rM   r@  rA  r   rÄ   rV  s     r!   r2   Ú,_SingleThreadedRendezvous.debug_error_string  sb   € Ø�[‰[×"Ó"Ø�{‰{×-Ñ-Ñ5àKð ô ×'Ñ'×2Ñ2°9Ó=Ð=Ü—>’> $§+¡+×"@Ñ"@ÓA÷ #×"×"úr_  rT   r   )'rG   rH   rI   rJ   rñ   r*   rK   rP   r1  r3   rÜ   rw   r   rR   r   râ   rr   rŽ   rò   ró   rë   r   rM   rô   rï   r   r.   r0   rN   r1   rO   r%   r   Ú	BaseEventrR  rd  r  r2   rS   rT   r#   r!   r/  r/  A  sF  ‡ ñð Óð,˜dô ,ð)˜4ô )ð,˜ô ,ð0�dô 0ñ˜h u™oð ¸õ ñ. ¨%¡ð ¸HÀYÑ<Oõ ð0 *.ñ)Ø ‘ð)à	�%×%Ñ%Ñ	&õ)ð8 H¨d¯k©k¨]¸DÐ-@Ñ$Að Àdô ð0 (¨<Ñ"8ô 0ð1 8¨LÑ#9ô 1ð$�h˜tŸ™Ñ/ô $ð7˜ #™ô 7ð
 X¨f×.>Ñ.>Ñ%?ô 
ð# ô #ð%�sô %ð4B H¨S¡M÷ Br#   r/  c                   óŠ  • \ rS rSr% Sr\\S'   S\\   4S jr	S\\   4S jr
S\\R                     4S jrS\\   4S jrS\\   4S	 jrS\4S
 jrS\4S jrS\4S jrS\4S jrSS\\   S\4S jjrSS\\   S\\   4S jjr SS\\   S\\R8                     4S jjrS\\R>                  /S4   SS4S jr S\4S jr!Sr"g)Ú_MultiThreadedRendezvousi  aŒ  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                 ó  ^ • T R                   R                     U 4S jn[        R                  " T R                   R                  R                  U5        T R                   R                  sSSS5        $ ! , (       d  f       g= f)rQ  c                  ó4   >• T R                   R                  S L$ r   r»   rD   s   €r!   r‡   Ú8_MultiThreadedRendezvous.initial_metadata.<locals>._done(  s   ø€ Ø—{‘{×3Ñ3¸4Ð?Ð?r#   N)r³   r,   r   r–   r.   ©r@   r‡   s   ` r!   r.   Ú)_MultiThreadedRendezvous.initial_metadata$  sO   ø€ à�[‰[×"Ó"õ@ô �LŠL˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ø—;‘;×/Ñ/÷ #×"×"úó   ˜AA3Á3
Bc                 ó  ^ • T R                   R                     U 4S jn[        R                  " T R                   R                  R                  U5        T R                   R                  sSSS5        $ ! , (       d  f       g= f)rU  c                  ó4   >• T R                   R                  S L$ r   r¾   rD   s   €r!   r‡   Ú9_MultiThreadedRendezvous.trailing_metadata.<locals>._done2  s   ø€ Ø—{‘{×4Ñ4¸DÐ@Ð@r#   N)r³   r,   r   r–   r0   rq  s   ` r!   r0   Ú*_MultiThreadedRendezvous.trailing_metadata.  sO   ø€ à�[‰[×"Ó"õAô �LŠL˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ø—;‘;×0Ñ0÷ #×"×"úrs  c                 ó  ^ • T R                   R                     U 4S jn[        R                  " T R                   R                  R                  U5        T R                   R                  sSSS5        $ ! , (       d  f       g= f)rZ  c                  ó4   >• T R                   R                  S L$ r   rÁ   rD   s   €r!   r‡   Ú,_MultiThreadedRendezvous.code.<locals>._done<  s   ø€ Ø—{‘{×'Ñ'¨tÐ3Ð3r#   N)r³   r,   r   r–   r1   rq  s   ` r!   r1   Ú_MultiThreadedRendezvous.code8  sN   ø€ à�[‰[×"Ó"õ4ô �LŠL˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ø—;‘;×#Ñ#÷ #×"×"úrs  c                 ó0  ^ • T R                   R                     U 4S jn[        R                  " T R                   R                  R                  U5        [        R                  " T R                   R
                  5      sSSS5        $ ! , (       d  f       g= f)r]  c                  ó4   >• T R                   R                  S L$ r   )r³   r%   rD   s   €r!   r‡   Ú/_MultiThreadedRendezvous.details.<locals>._doneF  s   ø€ Ø—{‘{×*Ñ*°$Ð6Ð6r#   N)r³   r,   r   r–   rÄ   r%   rq  s   ` r!   r%   Ú _MultiThreadedRendezvous.detailsB  sW   ø€ à�[‰[×"Ó"õ7ô �LŠL˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ü—>’> $§+¡+×"5Ñ"5Ó6÷ #×"×"úó   ˜A%BÂ
Bc                 ó0  ^ • T R                   R                     U 4S jn[        R                  " T R                   R                  R                  U5        [        R                  " T R                   R
                  5      sS S S 5        $ ! , (       d  f       g = f)Nc                  ó4   >• T R                   R                  S L$ r   )r³   r2   rD   s   €r!   r‡   Ú:_MultiThreadedRendezvous.debug_error_string.<locals>._doneO  s   ø€ Ø—{‘{×5Ñ5¸TÐAÐAr#   )r³   r,   r   r–   rÄ   r2   rq  s   ` r!   r2   Ú+_MultiThreadedRendezvous.debug_error_stringL  sX   ø€ Ø�[‰[×"Ó"õBô �LŠL˜Ÿ™×.Ñ.×3Ñ3°UÔ;Ü—>’> $§+¡+×"@Ñ"@ÓA÷ #×"×"úr€  c                 ó�   • U R                   R                     U R                   R                  sS S S 5        $ ! , (       d  f       g = fr   r5  rD   s    r!   r3   Ú"_MultiThreadedRendezvous.cancelledU  r7  r8  c                 ó”   • U R                   R                     U R                   R                  S L sS S S 5        $ ! , (       d  f       g = fr   rþ   rD   s    r!   rÜ   Ú _MultiThreadedRendezvous.runningY  r;  r  c                 ó”   • U R                   R                     U R                   R                  S LsS S S 5        $ ! , (       d  f       g = fr   rþ   rD   s    r!   rw   Ú_MultiThreadedRendezvous.done]  r>  r  c                 ó2   • U R                   R                  S L$ r   rÁ   rD   s    r!   r1  Ú%_MultiThreadedRendezvous._is_completea  r3  r#   Nr   c                 ó
  • U R                   R                     [        R                  " U R                   R                  R                  U R                  US9nU(       a  [
        R                  " 5       eU R                   R                  [
        R                  R                  L a  U R                   R                  sSSS5        $ U R                   R                  (       a  [
        R                  " 5       eU e! , (       d  f       g= f)zrReturns the result of the computation or raises its exception.

See grpc.Future.result for the full API contract.
r    N)r³   r,   r   r–   r1  rM   ÚFutureTimeoutErrorr1   rN   r­   r/   r3   rB  ©r@   r   Ú	timed_outs      r!   râ   Ú_MultiThreadedRendezvous.resultd  s­   € ð
 �[‰[×"Ó"ÜŸšØ—‘×%Ñ%×*Ñ*¨D×,=Ñ,=ÀwñˆIö Ü×-Ò-Ó/Ð/Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ò5Ø—{‘{×+Ñ+÷ #Ñ"ð �{‰{×$×$Ü×/Ò/Ó1Ð1ØˆJ÷ #Õ"ús   —B!C4Ã2C4Ã4
Dc                 óò  • U R                   R                     [        R                  " U R                   R                  R                  U R                  US9nU(       a  [
        R                  " 5       eU R                   R                  [
        R                  R                  L a
   SSS5        gU R                   R                  (       a  [
        R                  " 5       eU sSSS5        $ ! , (       d  f       g= f)zfReturn the exception raised by the computation.

See grpc.Future.exception for the full API contract.
r    N)r³   r,   r   r–   r1  rM   rŽ  r1   rN   r­   r3   rB  r�  s      r!   rŽ   Ú"_MultiThreadedRendezvous.exceptionu  s¤   € ð
 �[‰[×"Ó"ÜŸšØ—‘×%Ñ%×*Ñ*¨D×,=Ñ,=ÀwñˆIö Ü×-Ò-Ó/Ð/Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ò5Ø÷ #Ð"ð �{‰{×$×$Ü×/Ò/Ó1Ð1Ø÷ #×"×"ús   —BC(Â-1C(Ã(
C6c                 óX  • U R                   R                     [        R                  " U R                   R                  R                  U R                  US9nU(       a  [
        R                  " 5       eU R                   R                  [
        R                  R                  L a
   SSS5        gU R                   R                  (       a  [
        R                  " 5       e U e! [
        R                   a$    [        R                  " 5       S   s sSSS5        $ f = f! , (       d  f       g= f)zwAccess the traceback of the exception raised by the computation.

See grpc.future.traceback for the full API contract.
r    Nrç   )r³   r,   r   r–   r1  rM   rŽ  r1   rN   r­   r3   rB  rè   ré   rê   r�  s      r!   rë   Ú"_MultiThreadedRendezvous.traceback†  sÔ   € ð �[‰[×"Ó"ÜŸšØ—‘×%Ñ%×*Ñ*¨D×,=Ñ,=ÀwñˆIö Ü×-Ò-Ó/Ð/Ø�{‰{×Ñ¤4§?¡?×#5Ñ#5Ò5Ø÷ #Ð"ð �{‰{×$×$Ü×/Ò/Ó1Ð1ð)Ø�
øÜ—=‘=ó )Ü—|’|“~ aÑ(Ñ(÷ #Ñ"ð)ú÷ #Õ"ús0   —BDÂ-0DÃC Ã ,DÄDÄDÄDÄ
D)rí   c                 ó*  • U R                   R                     U R                   R                  cC  U R                   R                  R	                  [
        R                  " X5      5         S S S 5        g  S S S 5        U" U 5        g ! , (       d  f       N= fr   rK  rL  s     r!   rï   Ú*_MultiThreadedRendezvous.add_done_callbackœ  rN  rO  c                 óÐ  ^ • T R                   R                     T R                   R                  c×  [        T R                   T R                  5      nT R                   R
                  R                  [        R                  R                  5        T R                  R                  [        R                  " [        5      4U5      nU(       d=  T R                   R
                  R                  [        R                  R                  5        O=T R                   R                  [        R                   R"                  L a
  [%        5       eT eU 4S jn[&        R(                  " T R                   R                  R(                  U5        T R                   R*                  b2  T R                   R*                  nS T R                   l        UsS S S 5        $ [        R                  R                  T R                   R
                  ;  aT  T R                   R                  [        R                   R"                  L a
  [%        5       eT R                   R                  b  T eS S S 5        g ! , (       d  f       g = f)Nc                  óâ   >• T R                   R                  S L=(       dP    [        R                  R                  T R                   R
                  ;  =(       a    T R                   R                  S L$ r   )r³   r/   r   rL   r_   r-   r1   rD   s   €r!   Ú_response_readyÚ7_MultiThreadedRendezvous._next.<locals>._response_ready¶  sR   ø€ Ø—{‘{×+Ñ+°4Ð7÷ Ü×(Ñ(×8Ñ8ÀÇÁÇÁÑO÷ 5ØŸ™×(Ñ(°Ð4ðr#   )r³   r,   r1   r|   rø   r-   r’   r   rL   r_   r÷   r•   rg  r”   r]   rM   rN   r­   rŒ   r   r–   r/   )r@   r€   r    rš  r/   s   `    r!   r  Ú_MultiThreadedRendezvous._next¤  s•  ø€ Ø�[‰[×"Ó"Ø�{‰{×ÑÑ'Ü .Ø—K‘K ×!<Ñ!<ó!�ð —‘—‘×#Ñ#¤F×$8Ñ$8×$HÑ$HÔIØ ŸJ™J×.Ñ.Ü×3Ò3´LÓAÐCØ!ó�	ö !Ø—K‘K—O‘O×*Ñ*¬6×+?Ñ+?×+OÑ+OÔPøØ—‘×!Ñ!¤T§_¡_×%7Ñ%7Ò7Ü#“oÐ%à�
õô �LŠL˜Ÿ™×.Ñ.×3Ñ3°_ÔEØ�{‰{×#Ñ#Ñ/ØŸ;™;×/Ñ/�Ø'+�—‘Ô$Ø÷7 #Ñ"ô8 ×#Ñ#×3Ñ3¸4¿;¹;¿?¹?ÓJØ—;‘;×#Ñ#¤t§¡×'9Ñ'9Ò9Ü'›/Ð)Ø—;‘;×#Ñ#Ñ/Ø�J÷A #×"Ö"ús   ˜F&IÇBIÉ
I%rT   r   )#rG   rH   rI   rJ   rñ   r*   rK   r   r   r.   r0   rM   rN   r1   rO   r%   r2   rP   r3   rÜ   rw   r1  rR   r   râ   rr   rŽ   rò   ró   rë   r   rô   rï   r  rS   rT   r#   r!   rm  rm    s#  ‡ ñð Óð0 (¨<Ñ"8ô 0ð1 8¨LÑ#9ô 1ð$�h˜tŸ™Ñ/ô $ð7˜ #™ô 7ðB H¨S¡Mô Bð)˜4ô )ð,˜ô ,ð0�dô 0ð,˜dô ,ñ˜h u™oð ¸õ ñ" ¨%¡ð ¸HÀYÑ<Oõ ð$ *.ñ)Ø ‘ð)à	�%×%Ñ%Ñ	&õ)ð, H¨d¯k©k¨]¸DÐ-@Ñ$Að Àdô ð!�s÷ !r#   rm  r�   c                 óÀ   • [        U5      n[        R                  " X5      nUc7  [        SSS[        R
                  R                  S5      n[        U5      nUS U4$ X4S 4$ )NrT   rƒ   )r"   r   r‘   r*   rM   rN   rb   r²   )r�   r   r   rù   rž   rU   rt   s          r!   Ú_start_unary_requestrž  È  sl   € ô
 ˜Ó!€HÜ ×*Ò*¨7ÓGÐØÑ!ÜØØØÜ�O‰O×$Ñ$Ø,ó
ˆô " %Ó(ˆØ˜˜uÐ$Ð$Ø¨Ð-Ð-r#   Ú	with_callrù   c                 óÂ   • U R                   [        R                  R                  L a.  U(       a  [	        XS U5      nU R
                  U4$ U R
                  $ [        U 5      er   )r1   rM   rN   r­   rm  r/   r²   )rU   r~   rŸ  rù   Ú
rendezvouss        r!   Ú_end_unary_response_blockingr¢  Ü  sO   € ð ‡z�z”T—_‘_×'Ñ'Ò'ÞÜ1°%¸tÀXÓNˆJØ—>‘> :Ð-Ð-Ø�~‰~ÐÜ
˜EÓ
"Ð"r#   ÚmetadataÚinitial_metadata_flagsc                 óÊ   • [         R                  " X5      [         R                  " [        5      [         R                  " [        5      4[         R
                  " [        5      44$ r   )r   ÚSendInitialMetadataOperationrg  r”   ÚReceiveStatusOnClientOperationÚReceiveInitialMetadataOperation©r£  r¤  s     r!   Ú#_stream_unary_invocation_operationsrª  ê  sU   € ô
 ×/Ò/Øóô ×*Ò*¬<Ó8Ü×1Ò1´,Ó?ð	
ô 
×	/Ò	/´Ó	=Ð?ð	ð 	r#   c                 ó8   • [        S [        X5       5       5      $ )Nc              3   ó*   #   • U  H	  nUS 4v •  M     g 7fr   rT   )Ú.0rŸ   s     r!   Ú	<genexpr>Ú?_stream_unary_invocation_operations_and_tags.<locals>.<genexpr>ü  s#   é € ð ò

ˆJð Øõ	
ò
ùó   ‚)Útuplerª  r©  s     r!   Ú,_stream_unary_invocation_operations_and_tagsr²  ù  s(   € ô ñ ô
 >Øô
óó ð r#   Úuser_deadlinec                 óp   • [         R                  " 5       nUc  U c  g Ub  U c  U$ U b  Uc  U $ [        X5      $ r   )r   Úget_deadline_from_contextÚmin)r³  Úparent_deadlines     r!   Ú_determine_deadliner¸    sK   € Ü×6Ò6Ó8€OØÑ =Ñ#8ØØÑ" }Ñ'<ØÐØÑ  _Ñ%<ØÐÜˆÓ.Ð.r#   c                   ó¦  • \ rS rSr% \R
                  \S'   \\S'   \\S'   \\S'   \	\
   \S'   \	\   \S'   \\S'   \	\   \S	'   / S
QrS\R
                  S\S\S\S\	\
   S\	\   S	\	\   4S jrS\S\	\   S\	\   S\	\   S\	\R(                     S\\	\   \	\\R0                        \	\   \	\R2                     4   4S jr     S S\S\	\   S\	\   S\	\R6                     S\	\   S\	\R(                     S\\\R8                  4   4S jjr     S S\S\	\   S\	\   S\	\R6                     S\	\   S\	\R(                     S\4S jjr     S S\S\	\   S\	\   S\	\R6                     S\	\   S\	\R(                     S\\\R>                  4   4S jjr      S S\S\	\   S\	\   S\	\R6                     S\	\   S\	\R(                     S\!4S jjr"Sr#g)!Ú_UnaryUnaryMultiCallablei  Ú_channelÚ_managed_callÚ_methodÚ_targetÚ_request_serializerrø   Ú_contextÚ_registered_call_handle©r»  rÀ  r¼  r½  r¿  rø   r¾  ÚchannelÚmanaged_callr8   r9   r   rY   c                 óŒ   • Xl         X l        X0l        X@l        XPl        X`l        [        R                  " 5       U l        Xpl	        g r   ©
r»  r¼  r½  r¾  r¿  rø   r   Úbuild_census_contextrÀ  rÁ  ©r@   rÃ  rÄ  r8   r9   r   rY   rÁ  s           r!   rA   Ú!_UnaryUnaryMultiCallable.__init__'  ó;   € ð  ŒØ)ÔØŒØŒØ#5Ô Ø&;Ô#Ü×3Ò3Ó5ˆŒØ'>Õ$r#   r�   r   r£  Úwait_for_readyÚcompressionr   c                 óþ  • [        XU R                  5      u  pgn[        5       R                  U5      n	[        R
                  " X55      n
Uc  S S S U4$ [        [        S S S S 5      n[        R                  " X©5      [        R                  " U[        5      [        R                  " [        5      [        R                  " [        5      [        R                  " [        5      [        R                  " [        5      4nX¼US 4$ r   )rž  r¿  Ú_InitialMetadataFlagsÚwith_wait_for_readyr   Úaugment_metadatar*   Ú_UNARY_UNARY_INITIAL_DUEr   r¦  r“   r”   r›   r¨  rg  r§  )r@   r�   r   r£  rË  rÌ  rù   rž   r¡  r¤  Úaugmented_metadatarU   rŸ   s                r!   Ú_prepareÚ!_UnaryUnaryMultiCallable._prepare:  sê   € ô 4HØ˜d×6Ñ6ó4
Ñ0ˆ jô "7Ó!8×!LÑ!LØó"
Ðô *×:Ò:Øó
Ðð Ñ%Ø˜˜t ZÐ/Ð/ÜÔ2°D¸$ÀÀdÓKˆä×/Ò/Ø"óô ×'Ò'Ð(:¼LÓIÜ×/Ò/´Ó=Ü×2Ò2´<Ó@Ü×*Ò*¬<Ó8Ü×1Ò1´,Ó?ð	
ˆ
ð  (¨DÐ0Ð0r#   NÚcredentialsc                 ó:  • U R                  XX5U5      u  pxpšUc  U
e[        R                  " 5       Ul        [        R
                  " U R                  5      Ul        [        R
                  " U R                  5      Ul	        U R                  R                  [        R                  R                  U R                  S [        U	5      UUc  S OUR                   US 44U R"                  U R$                  5	      nUR'                  5       n[)        XÇU R*                  5        X{4$ r   )rÓ  r   rh   r6   r   rÄ   r½  r8   r¾  r9   r»  Úsegregated_callr   ÚPropagationConstantsÚGRPC_PROPAGATE_DEFAULTSr¸  Ú_credentialsrÀ  rÁ  ra  rn   rø   )r@   r�   r   r£  rÕ  rË  rÌ  rU   rŸ   rù   r¡  r~   rX   s                r!   Ú	_blockingÚ"_UnaryUnaryMultiCallable._blocking_  sö   € ð 37·-±-Ø˜h¸ó3
Ñ/ˆ˜8ð ‰=ØÐÜ#×0Ò0Ó2ˆÔÜ—~’~ d§l¡lÓ3ˆŒÜ—~’~ d§l¡lÓ3ˆŒØ�}‰}×,Ñ,Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÑ'‰D¨[×-EÑ-Eð Øððð �M‰MØ×(Ñ(ó
ˆð  —‘Ó!ˆÜ�e D×$?Ñ$?Ô@Øˆ{Ðr#   c                 óF   • U R                  XX4XV5      u  px[        XxSS 5      $ r;   ©rÛ  r¢  ©	r@   r�   r   r£  rÕ  rË  rÌ  rU   r~   s	            r!   Ú__call__Ú!_UnaryUnaryMultiCallable.__call__„  s,   € ð —n‘nØ˜h°^ó
‰ˆô ,¨E¸ÀÓEÐEr#   c                 óF   • U R                  XX4XV5      u  px[        XxSS 5      $ ©NTrÞ  rß  s	            r!   rŸ  Ú"_UnaryUnaryMultiCallable.with_call’  s,   € ð —n‘nØ˜h°^ó
‰ˆô ,¨E¸¸tÓDÐDr#   c                 ó  • U R                  XX5U5      u  pxpšUc  U
e[        XpR                  5      n[        R                  " 5       Ul        [        R                  " U R                  5      Ul	        [        R                  " U R                  5      Ul        U R                  [        R                  R                  U R                  S U	UUc  S OUR                   U4UU R"                  U R$                  5
      n['        X|U R                  U	5      $ r   )rÓ  r|   rø   r   rh   r6   r   rÄ   r½  r8   r¾  r9   r¼  r   rØ  rÙ  rÚ  rÀ  rÁ  rm  )r@   r�   r   r£  rÕ  rË  rÌ  rU   rŸ   rù   r¡  r€   r~   s                r!   ÚfutureÚ_UnaryUnaryMultiCallable.future   sç   € ð 37·-±-Ø˜h¸ó3
Ñ/ˆ˜8ð ‰=ØÐÜ& u×.IÑ.IÓJˆÜ#×0Ò0Ó2ˆÔÜ—~’~ d§l¡lÓ3ˆŒÜ—~’~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØØØØÑ'‰D¨[×-EÑ-EØˆMØØ�M‰MØ×(Ñ(ó
ˆô (Ø˜×4Ñ4°hó
ð 	
r#   ©r»  rÀ  r¼  r½  rÁ  r¿  rø   r¾  ©NNNNN)$rG   rH   rI   rJ   r   ÚChannelrK   r   Úbytesr   r   r   r   rQ   Ú	__slots__rA   rR   r   rP   rM   ÚCompressionr   r*   r	   Ú	Operationrè   rÓ  ÚCallCredentialsr*  rÛ  rà  ÚCallrŸ  rm  ræ  rS   rT   r#   r!   rº  rº    s^  ‡ Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ñ9ð?ð  (Ð(=Ñ>ð?ð "*¨#¡ô?ð&#1àð#1ð ˜%‘ð#1ð ˜<Ñ(ð	#1ð
 ! ™ð#1ð ˜d×.Ñ.Ñ/ð#1ð 
Ø�ÑØ�˜&×*Ñ*Ñ+Ñ,Ø�‰Ø�—‘Ñð	!ñ
ô#1ðP $(Ø+/Ø6:Ø)-Ø26ñ#àð#ð ˜%‘ð#ð ˜<Ñ(ð	#ð
 ˜d×2Ñ2Ñ3ð#ð ! ™ð#ð ˜d×.Ñ.Ñ/ð#ð 
ˆy˜&×/Ñ/Ð/Ñ	0õ#ðP $(Ø+/Ø6:Ø)-Ø26ñFàðFð ˜%‘ðFð ˜<Ñ(ð	Fð
 ˜d×2Ñ2Ñ3ðFð ! ™ðFð ˜d×.Ñ.Ñ/ðFð 
õFð" $(Ø+/Ø6:Ø)-Ø26ñEàðEð ˜%‘ðEð ˜<Ñ(ð	Eð
 ˜d×2Ñ2Ñ3ðEð ! ™ðEð ˜d×.Ñ.Ñ/ðEð 
ˆs�D—I‘Iˆ~Ñ	õEð" $(Ø+/Ø6:Ø)-Ø26ñ 
àð 
ð ˜%‘ð 
ð ˜<Ñ(ð	 
ð
 ˜d×2Ñ2Ñ3ð 
ð ! ™ð 
ð ˜d×.Ñ.Ñ/ð 
ð 
"÷ 
ð  
r#   rº  c                   ó@  • \ rS rSr% \R
                  \S'   \\S'   \\S'   \\	   \S'   \\
   \S'   \\S'   \\   \S'   / S	QrS
\R
                  S\S\S\	S\
S\\   4S jr     SS\S\\   S\\   S\\R$                     S\\   S\\R(                     S\4S jjrSrg)Ú'_SingleThreadedUnaryStreamMultiCallableiÃ  r»  r½  r¾  r¿  rø   rÀ  rÁ  )r»  rÀ  r½  r¿  rø   r¾  rÃ  r8   r9   r   rY   c                 ó€   • Xl         X l        X0l        X@l        XPl        [
        R                  " 5       U l        X`l        g r   )	r»  r½  r¾  r¿  rø   r   rÇ  rÀ  rÁ  )r@   rÃ  r8   r9   r   rY   rÁ  s          r!   rA   Ú0_SingleThreadedUnaryStreamMultiCallable.__init__Ö  s5   € ð  ŒØŒØŒØ#5Ô Ø&;Ô#Ü×3Ò3Ó5ˆŒØ'>Õ$r#   Nr�   r   r£  rÕ  rË  rÌ  r   c                 óD  • [        U5      n[        R                  " XR                  5      nUc2  [	        SSS[
        R                  R                  S5      n	[        U	5      e[	        [        S S S S 5      n	Uc  S OUR                  n
[        5       R                  U5      n[        R                  " X65      n[        R                   " XË5      [        R"                  " U[$        5      [        R&                  " [$        5      4[        R(                  " [$        5      4[        R*                  " [$        5      44n[-        S U 5       5      n[.        R0                  " 5       U	l        [        R4                  " U R6                  5      U	l        [        R4                  " U R:                  5      U	l        U R>                  RA                  [        RB                  RD                  U R6                  S [G        U5      UU
UU RH                  U RJ                  5	      n[M        XŸU RN                  U5      $ )NrT   rƒ   c              3   ó(   #   • U  H  oS 4v •  M
     g 7fr   rT   )r­  Úopss     r!   r®  ÚC_SingleThreadedUnaryStreamMultiCallable.__call__.<locals>.<genexpr>  s   é € Ð#Fº:°C¨$¥Kº:ùs   ‚)(r"   r   r‘   r¿  r*   rM   rN   rb   r²   Ú_UNARY_STREAM_INITIAL_DUErÚ  rÎ  rÏ  r   rÐ  r   r¦  r“   r”   r›   r§  r¨  r±  r   rh   r6   rÄ   r½  r8   r¾  r9   r»  r×  rØ  rÙ  r¸  rÀ  rÁ  r/  rø   )r@   r�   r   r£  rÕ  rË  rÌ  rù   rž   rU   Úcall_credentialsr¤  rÒ  rŸ   Úoperations_and_tagsr~   s                   r!   rà  Ú0_SingleThreadedUnaryStreamMultiCallable.__call__ç  sÑ  € ô ˜WÓ%ˆÜ$×.Ò.Ø×-Ñ-ó
Ðð Ñ%ÜØØØÜ—‘×(Ñ(Ø0óˆEô $ EÓ*Ð*äÔ3°T¸4ÀÀtÓLˆàÑ'‰D¨[×-EÑ-Eð 	ô "7Ó!8×!LÑ!LØó"
Ðô *×:Ò:Øó
Ðô
 ×3Ò3Ø&óô ×+Ò+Ð,>ÄÓMÜ×3Ò3´LÓAðô ×2Ò2´<Ó@ÐBÜ×3Ò3´LÓAÐCð

ˆ
ô $Ñ#F¹:Ó#FÓFÐÜ#×0Ò0Ó2ˆÔÜ—~’~ d§l¡lÓ3ˆŒÜ—~’~ d§l¡lÓ3ˆŒØ�}‰}×,Ñ,Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØØØ�M‰MØ×(Ñ(ó

ˆô )Ø˜×4Ñ4°hó
ð 	
r#   )r»  rÀ  r½  rÁ  r¿  rø   r¾  ré  )rG   rH   rI   rJ   r   rê  rK   rë  r   r   r   r   rQ   rì  rA   rR   r   rM   rï  rP   rí  r/  rà  rS   rT   r#   r!   rò  rò  Ã  s  ‡ Ø�n‰nÓØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ð?ð ð	?ð
 0ð?ð  5ð?ð "*¨#¡ô?ð( $(Ø+/Ø6:Ø)-Ø26ñ=
àð=
ð ˜%‘ð=
ð ˜<Ñ(ð	=
ð
 ˜d×2Ñ2Ñ3ð=
ð ! ™ð=
ð ˜d×.Ñ.Ñ/ð=
ð 
#÷=
ð =
r#   rò  c                   óN  • \ rS rSr% \R
                  \S'   \\S'   \\S'   \\S'   \	\
   \S'   \	\   \S'   \\S'   \	\   \S	'   / S
QrS\R
                  S\S\S\S\
S\S	\	\   4S jr     SS\S\	\   S\	\   S\	\R&                     S\	\   S\	\R*                     S\4S jjrSrg)Ú_UnaryStreamMultiCallablei'  r»  r¼  r½  r¾  r¿  rø   rÀ  rÁ  rÂ  rÃ  rÄ  r8   r9   r   rY   c                 óŒ   • Xl         X l        X0l        X@l        XPl        X`l        [        R                  " 5       U l        Xpl	        g r   rÆ  rÈ  s           r!   rA   Ú"_UnaryStreamMultiCallable.__init__<  rÊ  r#   Nr�   r   r£  rÕ  rË  rÌ  r   c                 óª  • [        XU R                  5      u  pxn	[        5       R                  U5      n
Uc  U	e[        R
                  " X65      n[        [        S S S S 5      n[        R                  " Xº5      [        R                  " U[        5      [        R                  " [        5      [        R                  " [        5      4[        R                  " [        5      44n[        R                   " 5       Ul        [$        R&                  " U R(                  5      Ul        [$        R&                  " U R,                  5      Ul        U R1                  [        R2                  R4                  U R(                  S [7        U5      UUc  S OUR8                  U[;        XÀR<                  5      U R>                  U R@                  5
      n[C        XÎU R<                  U5      $ r   )"rž  r¿  rÎ  rÏ  r   rÐ  r*   rù  r   r¦  r“   r”   r›   r§  r¨  r   rh   r6   r   rÄ   r½  r8   r¾  r9   r¼  rØ  rÙ  r¸  rÚ  r|   rø   rÀ  rÁ  rm  )r@   r�   r   r£  rÕ  rË  rÌ  rù   rž   r¡  r¤  rÒ  rU   rŸ   r~   s                  r!   rà  Ú"_UnaryStreamMultiCallable.__call__O  sŒ  € ô 4HØ˜d×6Ñ6ó4
Ñ0ˆ jô "7Ó!8×!LÑ!LØó"
Ðð Ñ%ØÐÜ)×:Ò:Øó
Ðô Ô3°T¸4ÀÀtÓLˆô ×3Ò3Ø&óô ×+Ò+Ð,>ÄÓMÜ×3Ò3´LÓAÜ×5Ò5´lÓCðô ×3Ò3´LÓAÐCð

ˆ
ô  $×0Ò0Ó2ˆÔÜ—~’~ d§l¡lÓ3ˆŒÜ—~’~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÑ'‰D¨[×-EÑ-EØÜ˜5×"=Ñ"=Ó>Ø�M‰MØ×(Ñ(ó
ˆô (Ø˜×4Ñ4°hó
ð 	
r#   rè  ré  )rG   rH   rI   rJ   r   rê  rK   r   rë  r   r   r   r   rQ   rì  rA   rR   r   rM   rï  rP   rí  rm  rà  rS   rT   r#   r!   rþ  rþ  '  s  ‡ Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð 0ð?ð  5ð?ð "*¨#¡ô?ð, $(Ø+/Ø6:Ø)-Ø26ñ1
àð1
ð ˜%‘ð1
ð ˜<Ñ(ð	1
ð
 ˜d×2Ñ2Ñ3ð1
ð ! ™ð1
ð ˜d×.Ñ.Ñ/ð1
ð 
"÷1
ð 1
r#   rþ  c                   óö  • \ rS rSr% \R
                  \S'   \\S'   \\S'   \\S'   \	\
   \S'   \	\   \S'   \\S'   \	\   \S	'   / S
QrS\R
                  S\S\S\S\	\
   S\	\   S	\	\   4S jrS\S\	\   S\	\   S\	\R(                     S\	\   S\	\R,                     S\\\R2                  4   4S jr     SS\S\	\   S\	\   S\	\R(                     S\	\   S\	\R,                     S\4S jjr     SS\S\	\   S\	\   S\	\R(                     S\	\   S\	\R,                     S\\\R8                  4   4S jjr     SS\S\	\   S\	\   S\	\R(                     S\	\   S\	\R,                     S\4S jjrSr g) Ú_StreamUnaryMultiCallableiƒ  r»  r¼  r½  r¾  r¿  rø   rÀ  rÁ  rÂ  rÃ  rÄ  r8   r9   r   rY   c                 óŒ   • Xl         X l        X0l        X@l        XPl        X`l        [        R                  " 5       U l        Xpl	        g r   rÆ  rÈ  s           r!   rA   Ú"_StreamUnaryMultiCallable.__init__˜  rÊ  r#   r}   r   r£  rÕ  rË  rÌ  r   c                 ó”  • [        U5      n[        [        S S S S 5      n[        5       R	                  U5      n	[
        R                  " X65      n
[        R                  " 5       Ul	        [        R                  " U R                  5      Ul        [        R                  " U R                  5      Ul        U R                   R#                  [$        R&                  R(                  U R                  S [+        U5      U
Uc  S OUR,                  [/        X©5      U R0                  U R2                  5	      n[5        XX°R6                  S 5         UR9                  5       nUR:                     [=        XÈU R>                  5        UR:                  RA                  5         URB                  (       d   S S S 5        X‹4$  S S S 5        Mu  ! , (       d  f       N= fr   )"r"   r*   Ú_STREAM_UNARY_INITIAL_DUErÎ  rÏ  r   rÐ  r   rh   r6   r   rÄ   r½  r8   r¾  r9   r»  r×  r   rØ  rÙ  r¸  rÚ  r²  rÀ  rÁ  r©   r¿  ra  r,   rn   rø   rq   r-   )r@   r}   r   r£  rÕ  rË  rÌ  rù   rU   r¤  rÒ  r~   rX   s                r!   rÛ  Ú#_StreamUnaryMultiCallable._blocking«  sk  € ô ˜WÓ%ˆÜÔ3°T¸4ÀÀtÓLˆÜ!6Ó!8×!LÑ!LØó"
Ðô *×:Ò:Øó
Ðô  $×0Ò0Ó2ˆÔÜ—~’~ d§l¡lÓ3ˆŒÜ—~’~ d§l¡lÓ3ˆŒØ�}‰}×,Ñ,Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÑ'‰D¨[×-EÑ-EÜ8Ø"óð �M‰MØ×(Ñ(ó
ˆô 	"Ø T×+CÑ+CÀTô	
ð Ø—O‘OÓ%ˆEØ—“Ü˜e¨D×,GÑ,GÔHØ—‘×*Ñ*Ô,Ø—y—yØ÷	 !ð
 ˆ{Ðð !÷ !ñ ç •ús   Å AF9Æ9
GNc                 óL   • U R                  UUUUUU5      u  px[        XxSS 5      $ r;   rÞ  ©	r@   r}   r   r£  rÕ  rË  rÌ  rU   r~   s	            r!   rà  Ú"_StreamUnaryMultiCallable.__call__Ø  s7   € ð —n‘nØØØØØØó
‰ˆô ,¨E¸ÀÓEÐEr#   c                 óL   • U R                  UUUUUU5      u  px[        XxSS 5      $ rã  rÞ  r  s	            r!   rŸ  Ú#_StreamUnaryMultiCallable.with_callë  s7   € ð —n‘nØØØØØØó
‰ˆô ,¨E¸¸tÓDÐDr#   c                 ó¾  • [        U5      n[        [        S S S S 5      n[        X€R                  5      n	[        5       R                  U5      n
[        R                  " X65      n[        R                  " 5       Ul        [        R                  " U R                  5      Ul        [        R                  " U R                   5      Ul        U R%                  [&        R(                  R*                  U R                  S UUUc  S OUR,                  [/        X:5      U	U R0                  U R2                  5
      n[5        UUUU R6                  U	5        [9        XŒU R                  U5      $ r   )r"   r*   r  r|   rø   rÎ  rÏ  r   rÐ  r   rh   r6   r   rÄ   r½  r8   r¾  r9   r¼  r   rØ  rÙ  rÚ  rª  rÀ  rÁ  r©   r¿  rm  )r@   r}   r   r£  rÕ  rË  rÌ  rù   rU   r€   r¤  rÒ  r~   s                r!   ræ  Ú _StreamUnaryMultiCallable.futureþ  s3  € ô ˜WÓ%ˆÜÔ3°T¸4ÀÀtÓLˆÜ& u×.IÑ.IÓJˆÜ!6Ó!8×!LÑ!LØó"
Ðô *×:Ò:Øó
Ðô  $×0Ò0Ó2ˆÔÜ—~’~ d§l¡lÓ3ˆŒÜ—~’~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØØØØÑ'‰D¨[×-EÑ-EÜ/Øóð Ø�M‰MØ×(Ñ(ó
ˆô 	"ØØØØ×$Ñ$Øô	
ô (Ø˜×4Ñ4°hó
ð 	
r#   rè  ré  )!rG   rH   rI   rJ   r   rê  rK   r   rë  r   r   r   r   rQ   rì  rA   r   rR   r   rM   rï  rP   rí  r   r*   r*  rÛ  rà  rð  rŸ  rm  ræ  rS   rT   r#   r!   r  r  ƒ  s½  ‡ Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ñ9ð?ð  (Ð(=Ñ>ð?ð "*¨#¡ô?ð&+à"ð+ð ˜%‘ð+ð ˜<Ñ(ð	+ð
 ˜d×2Ñ2Ñ3ð+ð ! ™ð+ð ˜d×.Ñ.Ñ/ð+ð 
ˆy˜&×/Ñ/Ð/Ñ	0ô+ð` $(Ø+/Ø6:Ø)-Ø26ñFà"ðFð ˜%‘ðFð ˜<Ñ(ð	Fð
 ˜d×2Ñ2Ñ3ðFð ! ™ðFð ˜d×.Ñ.Ñ/ðFð 
õFð, $(Ø+/Ø6:Ø)-Ø26ñEà"ðEð ˜%‘ðEð ˜<Ñ(ð	Eð
 ˜d×2Ñ2Ñ3ðEð ! ™ðEð ˜d×.Ñ.Ñ/ðEð 
ˆs�D—I‘Iˆ~Ñ	õEð, $(Ø+/Ø6:Ø)-Ø26ñ,
à"ð,
ð ˜%‘ð,
ð ˜<Ñ(ð	,
ð
 ˜d×2Ñ2Ñ3ð,
ð ! ™ð,
ð ˜d×.Ñ.Ñ/ð,
ð 
"÷,
ð ,
r#   r  c                   óZ  • \ rS rSr% \R
                  \S'   \\S'   \\S'   \\S'   \	\
   \S'   \	\   \S'   \\S'   \	\   \S	'   / S
QrS\R
                  S\S\S\S\	\
   S\	\   S	\	\   4S jr     SS\S\	\   S\	\   S\	\R(                     S\	\   S\	\R,                     S\4S jjrSrg)Ú_StreamStreamMultiCallablei-  r»  r¼  r½  r¾  r¿  rø   rÀ  rÁ  rÂ  rÃ  rÄ  r8   r9   r   rY   c                 óŒ   • Xl         X l        X0l        X@l        XPl        X`l        [        R                  " 5       U l        Xpl	        g r   rÆ  rÈ  s           r!   rA   Ú#_StreamStreamMultiCallable.__init__B  rÊ  r#   Nr}   r   r£  rÕ  rË  rÌ  r   c                 óT  • [        U5      n[        [        S S S S 5      n[        5       R	                  U5      n	[
        R                  " X65      n
[        R                  " X©5      [        R                  " [        5      4[        R                  " [        5      44n[        X€R                  5      n[        R                  " 5       Ul        ["        R$                  " U R&                  5      Ul        ["        R$                  " U R*                  5      Ul        U R/                  [        R0                  R2                  U R&                  S [5        U5      U
Uc  S OUR6                  UUU R8                  U R:                  5
      n[=        UUUU R>                  U5        [A        X�U R                  U5      $ r   )!r"   r*   Ú_STREAM_STREAM_INITIAL_DUErÎ  rÏ  r   rÐ  r   r¦  r§  r”   r¨  r|   rø   r   rh   r6   r   rÄ   r½  r8   r¾  r9   r¼  rØ  rÙ  r¸  rÚ  rÀ  rÁ  r©   r¿  rm  )r@   r}   r   r£  rÕ  rË  rÌ  rù   rU   r¤  rÒ  rŸ   r€   r~   s                 r!   rà  Ú#_StreamStreamMultiCallable.__call__U  sp  € ô ˜WÓ%ˆÜÔ4°d¸DÀ$ÈÓMˆÜ!6Ó!8×!LÑ!LØó"
Ðô *×:Ò:Øó
Ðô
 ×3Ò3Ø&óô ×5Ò5´lÓCð	ô ×3Ò3´LÓAÐCð
ˆ
ô ' u×.IÑ.IÓJˆÜ#×0Ò0Ó2ˆÔÜ—~’~ d§l¡lÓ3ˆŒÜ—~’~ d§l¡lÓ3ˆŒØ×!Ñ!Ü×'Ñ'×?Ñ?Ø�L‰LØÜ Ó)ØØÑ'‰D¨[×-EÑ-EØØØ�M‰MØ×(Ñ(ó
ˆô 	"ØØØØ×$Ñ$Øô	
ô (Ø˜×4Ñ4°hó
ð 	
r#   rè  ré  )rG   rH   rI   rJ   r   rê  rK   r   rë  r   r   r   r   rQ   rì  rA   r   rR   r   rM   rï  rP   rí  rm  rà  rS   rT   r#   r!   r  r  -  s)  ‡ Ø�n‰nÓØ(Ó(ØƒNØƒNØ!Ð"5Ñ6Ó6Ø$Ð%:Ñ;Ó;ØƒMØ% c™]Ó*ò€Ið?à—‘ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ñ9ð?ð  (Ð(=Ñ>ð?ð "*¨#¡ô?ð, $(Ø+/Ø6:Ø)-Ø26ñ3
à"ð3
ð ˜%‘ð3
ð ˜<Ñ(ð	3
ð
 ˜d×2Ñ2Ñ3ð3
ð ! ™ð3
ð ˜d×.Ñ.Ñ/ð3
ð 
"÷3
ð 3
r#   r  c                   óR   ^ • \ rS rSrSr\4S\4U 4S jjjrS\\	   S\4S jr
SrU =r$ )	rÎ  i‹  z'Stores immutable initial metadata flagsÚvaluec                 ód   >• U[         R                  R                  -  n[        [        U ]  X5      $ r   )r   ÚInitialMetadataFlagsÚ	used_maskrû   rÎ  Ú__new__)Úclsr  rÊ   s     €r!   r  Ú_InitialMetadataFlags.__new__Ž  s,   ø€ Ø”×,Ñ,×6Ñ6Ñ6ˆÜÔ*¨CÑ8¸ÓDÐDr#   rË  r   c                 óF  • Ub�  U(       aG  U R                  U [        R                  R                  -  [        R                  R                  -  5      $ U(       dH  U R                  U [        R                  R                  ) -  [        R                  R                  -  5      $ U $ r   )rÊ   r   r  rË  Úwait_for_ready_explicitly_set)r@   rË  s     r!   rÏ  Ú)_InitialMetadataFlags.with_wait_for_ready’  s’   € ØÑ%ÞØ—~‘~ØÜ×1Ñ1×@Ñ@ñAä×1Ñ1×OÑOñPóð ö
 "Ø—~‘~ØœF×7Ñ7×FÑFÐFÑFÜ×1Ñ1×OÑOñPóð ð ˆr#   rT   )rG   rH   rI   rJ   rñ   r”   rQ   r  r   rP   rÏ  rS   r,  r-  s   @r!   rÎ  rÎ  ‹  s9   ø† Ù1à".ñ E˜C÷ Eð Eð°(¸4±.ð ÀS÷ ò r#   rÎ  c                   óz   • \ rS rSr% \R
                  \S'   \\S'   \\S'   S\R
                  4S jr	S
S jr
S rS	rg)Ú_ChannelCallStatei¢  rÃ  Úmanaged_callsr<   c                 ó`   • [         R                  " 5       U l        Xl        SU l        SU l         g )Nr   F)r<   ÚLockÚlockrÃ  r%  ©r@   rÃ  s     r!   rA   Ú_ChannelCallState.__init__§  s$   € Ü—N’NÓ$ˆŒ	ØŒØˆÔØˆ�r#   Nc                 ó   • SU l         g )Nr   )r%  rD   s    r!   rE   Ú&_ChannelCallState.reset_postfork_child­  s
   € ØˆÕr#   c                 óš   •  U R                   R                  [        R                  R                  S5        g ! [
        [        4 a     g f = f)NzChannel deallocated!)rÃ  Úcloser   rN   r3   Ú	TypeErrorÚAttributeErrorrD   s    r!   r'  Ú_ChannelCallState.__del__°  sD   € ð	Ø�L‰L×ÑÜ×!Ñ!×+Ñ+Ð-Cõøô œ>Ð*ó 	Ùð	ús   ‚47 ·A
Á	A
)rÃ  r(  r%  r<   r)  )rG   rH   rI   rJ   r   rê  rK   rQ   rP   rA   rE   r'  rS   rT   r#   r!   r$  r$  ¢  s1   ‡ Ø�^‰^ÓØÓØƒOð §¡ô ôõr#   r$  c                 ó|   ^ • U 4S jn[         R                  " US9nUR                  S5        UR                  5         g )Nc                  óš  >•  [         R                  " T5        TR                  R                  5       n U R                  [         R
                  R                  :X  a  M[  U R                  U 5      nU(       aE  TR                     T=R                  S-  sl	        TR                  S:X  a
   S S S 5        g  S S S 5        M¹  ! , (       d  f       N= f)Né   r   )
r   r™   rÃ  Únext_call_eventÚcompletion_typeÚCompletionTypeÚqueue_timeoutÚtagr(  r%  )rX   Úcall_completedrU   s     €r!   Úchannel_spinÚ._run_channel_spin_thread.<locals>.channel_spinº  s™   ø€ ØÜ×,Ò,¨UÔ3Ø—M‘M×1Ñ1Ó3ˆEØ×$Ñ$¬×(=Ñ(=×(KÑ(KÓKÙØ"ŸY™Y uÓ-ˆNÞØ—Z“ZØ×'Ò'¨1Ñ,Õ'Ø×*Ñ*¨aÓ/Ø÷  �Zà/÷  ñ ÷  •Zús   Â'B<Â<
C
r£   Tr¤   )rU   r;  Úchannel_spin_threads   `  r!   Ú_run_channel_spin_threadr>  ¹  s5   ø€ õô !×2Ò2¸,ÑGÐØ×!Ñ! $Ô'Ø×ÑÕr#   c                 ó:  ^ • S[         S[        S[        [           S[        [           S[        [
           S[        [        R                     S[        [        [        R                        S[        S	[        S
[        [            S[        R                  4U 4S jjnU$ )NÚflagsr8   Úhostrù   r£  rÕ  rŸ   r€   ÚcontextrÁ  r   c
                 ó8  >^• [        U4S jU 5       5      n
TR                     TR                  R                  U UUUUUU
UU	5	      nTR                  S:X  a  STl        [        T5        OT=R                  S-  sl        UsSSS5        $ ! , (       d  f       g= f)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   ó,   >#   • U  H	  nUT4v •  M     g 7fr   rT   )r­  Ú	operationr€   s     €r!   r®  ÚC_channel_managed_call_management.<locals>.create.<locals>.<genexpr>ï  s$   øé € ð $
ò
 (�	ð Øõò (ùs   ƒr   r4  N)r±  r(  rÃ  Úintegrated_callr%  r>  )r@  r8   rA  rù   r£  rÕ  rŸ   r€   rB  rÁ  rû  r~   rU   s          `    €r!   ÚcreateÚ0_channel_managed_call_management.<locals>.createÎ  s–   ù€ ôB $ô $
ñ
 (ó$
ó 
Ðð �Z‹ZØ—=‘=×0Ñ0ØØØØØØØ#ØØ'ó
ˆDð ×"Ñ" aÓ'Ø&'�Ô#Ü(¨Õ/à×#Ò# qÑ(Õ#Ø÷# �Z�Zús   ¤ABÂ
B)rQ   rë  r   rO   rR   r   r   rï  r	   rî  r   r   r+  )rU   rH  s   ` r!   Ú _channel_managed_call_managementrJ  Ì  s¬   ø€ ð9Üð9äð9ô ”s‰mð9ô œ5‘/ð	9ô
 œ<Ñ(ð9ô œf×4Ñ4Ñ5ð9ô œX¤f×&6Ñ&6Ñ7Ñ8ð9ô ð9ô ð9ô "*¬#¡ð9ô 
×	Ñ	÷9ðv €Mr#   c                   ó  • \ rS rSr% \R
                  \S'   \R                  \S'   \	\S'   \
R                  \S'   \	\S'   \\\\\
R                  /S4   \\
R                     4         \S'   \	\S	'   S\R                  4S
 jrSS jrSrg)Ú_ChannelConnectivityStatei  r(  rÃ  ÚpollingÚconnectivityÚtry_to_connectNÚcallbacks_and_connectivitiesÚ
deliveringc                 óŠ   • [         R                  " 5       U l        Xl        SU l        S U l        SU l        / U l        SU l        g r;   )	r<   ÚRLockr(  rÃ  rM  rN  rO  rP  rQ  r)  s     r!   rA   Ú"_ChannelConnectivityState.__init__  s;   € Ü—O’OÓ%ˆŒ	ØŒØˆŒØ ˆÔØ#ˆÔØ,.ˆÔ)Øˆ�r#   c                 ó.   • SU l         S U l        SU l        g r;   )rM  rN  rQ  rD   s    r!   rE   Ú._ChannelConnectivityState.reset_postfork_child&  s   € ØˆŒØ ˆÔØˆ�r#   )rP  rÃ  rN  rQ  r(  rM  rO  r)  )rG   rH   rI   rJ   r<   rS  rK   r   rê  rP   rM   ÚChannelConnectivityr   r	   r   r   r   rA   rE   rS   rT   r#   r!   rL  rL    s�   ‡ Ø
�/‰/ÓØ�^‰^ÓØƒMØ×*Ñ*Ó*ØÓà"&ØØØ˜$×2Ñ2Ð3°TÐ9Ñ:Ø˜×1Ñ1Ñ2ð4ññ	
ñ#ó ð Óð  §¡ô  ÷ r#   rL  c                 ó˜   • / nU R                    H7  nUu  p4X@R                  Ld  M  UR                  U5        U R                  US'   M9     U$ )Nr4  )rP  rN  r
  )rU   Úcallbacks_needing_updateÚcallback_and_connectivityrx   Úcallback_connectivitys        r!   Ú_deliveriesr\  ,  sW   € ð  "ÐØ%*×%GÔ%GÐ!Ø*CÑ'ˆØ ×(:Ñ(:Ô:Ø$×+Ñ+¨HÔ5Ø+0×+=Ñ+=Ð% aÓ(ñ	 &Hð
 $Ð#r#   Úinitial_connectivityÚinitial_callbacksc                 ób  • UnUn U H  n U" U5        M     [        R
                  " U 5        U R                     [        U 5      nU(       a  U R                  nOSU l	         S S S 5        g  S S S 5        Mp  ! [          a    [        R                  [        5         M”  f = f! , (       d  f       N:= fr;   )
rr   rs   rŽ   Ú0_CHANNEL_SUBSCRIPTION_CALLBACK_ERROR_LOG_MESSAGEr   r™   r(  r\  rN  rQ  )rU   r]  r^  rN  r4   rx   s         r!   Ú_deliverra  8  s¢   € ð
 (€LØ!€IØ
Û!ˆHðÙ˜Ö&ñ "ô 	×(Ò(¨Ô/Ø�Z‹ZÜ# EÓ*ˆIÞØ$×1Ñ1‘à#(�Ô Ø÷ ˆZð ÷ ñ øô ó Ü×!Ñ!ÜD÷ðú÷
 �Zús   ŒA6º(B Á6#BÂBÂ 
B.r4   c                 ó    • [         R                  " [        U U R                  U4S9nUR	                  S5        UR                  5         SU l        g)z_Spawn a thread running the _deliver function.

Should only be called while holding state.lock.
©r9   ÚargsTN)r   r¥   ra  rN  r¦   r§   rQ  )rU   r4   Údelivering_threads      r!   Ú_spawn_deliveryrf  Q  sP   € ô ×0Ò0ÜàØ×ÑØð
ñÐð ×Ñ Ô%Ø×ÑÔØ€EÕr#   rÃ  Úinitial_try_to_connectc                 óÚ  • UnUR                  U5      nU R                     [        R                  U   U l        [        S U R                   5       5      nU R                   H  nU R                  US'   M     U(       a  [        X5        S S S 5         UR                  U[        R                  " 5       S-   5      n[        R                  " U 5        U R                     U R                  (       d)  U R                  (       d  SU l        S U l         S S S 5        g U R                  nSU l        S S S 5        UR                  (       d  U(       al  UR                  U5      nU R                     [        R                  U   U l        U R                  (       d  [!        U 5      nU(       a  [        X5        S S S 5        GM'  ! , (       d  f       GN7= f! , (       d  f       N§= f! , (       d  f       N4= f)Nc              3   ó*   #   • U  H	  u  pUv •  M     g 7fr   rT   )r­  rx   Ú_s      r!   r®  Ú%_poll_connectivity.<locals>.<genexpr>t  s   é € ð 
Ú(J™˜�HÒ(Jùr°  r4  gš™™™™™É?F)Úcheck_connectivity_stater(  r   Ú1CYGRPC_CONNECTIVITY_STATE_TO_CHANNEL_CONNECTIVITYrN  r±  rP  rf  Úwatch_connectivity_stater   r   r™   rO  rM  ÚsuccessrQ  r\  )rU   rÃ  rg  rO  rN  r4   rZ  rX   s           r!   Ú_poll_connectivityrp  g  s‹  € ð
 ,€NØ×3Ñ3°NÓC€LØ	�‹ä×EÑEØñð 	Ôô
 ñ 
Ø(-×(JÒ(Jó
ó 
ˆ	ð */×)KÔ)KÐ%Ø+0×+=Ñ+=Ð% aÓ(ñ *LæÜ˜EÔ-÷ 
ð Ø×0Ñ0Øœ$Ÿ)š)›+¨Ñ+ó
ˆô 	×(Ò(¨Ô/Ø�Z‹Zà×6×6Ø×,×,à %�”Ø%)�Ô"Ø÷ ˆZð #×1Ñ1ˆNØ#(ˆEÔ ÷ ð �=�=žNØ"×;Ñ;¸NÓKˆLØ—“ä×MÑMØ$ñð Ô"ð
 ×'×'Ü +¨EÓ 2�IÞ Ü'¨Ô9÷ ò# ÷ 
Žú÷$ �Zú÷ •ús+    A)F9Ã2GÄGÅ'AGÆ9
GÇ
GÇ
G*rO  c                 ó°   • [         R                  " [        X R                  [	        U5      4S9nUR                  S5        UR                  5         SU l        g)ziSpawn a thread running the _poll_connectivity function.

Should only be called while holding state.lock.
rc  TN)r   r¥   rp  rÃ  rP   r¦   r§   rM  )rU   rO  Úpolling_threads      r!   Ú_spawn_poll_connectivityrs  ˜  sK   € ô ×-Ò-Ü!Ø—]‘]¤D¨Ó$8Ð9ñ€Nð ×Ñ˜TÔ"Ø×ÑÔØ€E…Mr#   rx   c                 ó:  • U R                      U R                  (       d:  U R                  (       d)  [        X5        U R                  R	                  US /5        OªU R
                  (       d^  U R                  bQ  [        X45        U =R                  [        U5      -  sl        U R                  R	                  XR                  /5        O;U =R                  [        U5      -  sl        U R                  R	                  US /5        S S S 5        g ! , (       d  f       g = fr   )
r(  rP  rM  rs  r
  rQ  rN  rf  rO  rP   )rU   rx   rO  s      r!   Ú
_subscriberu  ¨  sÊ   € ð
 
�‹Ø×1×1¸%¿-¿-Ü$ UÔ;Ø×.Ñ.×5Ñ5°xÀÐ6FÕGØ×!×! e×&8Ñ&8Ñ&DÜ˜E ;Ô/Ø× Ò ¤D¨Ó$8Ñ8Õ Ø×.Ñ.×5Ñ5Ø×-Ñ-Ð.õð × Ò ¤D¨Ó$8Ñ8Õ Ø×.Ñ.×5Ñ5°xÀÐ6FÔG÷ 
�Žús   �C6DÄ
Dc                 óÖ   • U R                      [        U R                  5       H*  u  nu  p4X:X  d  M  U R                  R                  U5          O   S S S 5        g ! , (       d  f       g = fr   )r(  Ú	enumeraterP  Úpop)rU   rx   ÚindexÚsubscribed_callbackÚ_unused_connectivitys        r!   Ú_unsubscriber|  ¼  sW   € ð 
�‹ÜBKØ×.Ñ.öC
Ñ>ˆEÑ>Ð'ð Õ.Ø×2Ñ2×6Ñ6°uÔ=ÙñC
÷ 
�Žús   �!A²AÁ
A(Úbase_optionsrÌ  c                 óª   • [         R                  " U5      n[        U 5      U-   [        R                  R
                  R                  5       [        44-   $ r   )r   Úcreate_channel_optionr±  r   ÚChannelArgKeyÚprimary_user_agent_stringrÄ   Ú_USER_AGENT)r}  rÌ  Úcompression_options      r!   Ú_augment_optionsr„  É  sV   € ô &×;Ò;¸KÓHÐäˆlÓØ
ñ	ô ×$Ñ$×>Ñ>×EÑEÓGÜðð
ñ	
ð	r#   Úoptionsc                 óÀ   • / n/ nU  HR  nUS   [         R                  R                  R                  :X  a  UR	                  U5        MA  UR	                  U5        MT     X!4$ )z;Separates core channel options from Python channel options.r   )rM   r@  ÚChannelOptionsÚSingleThreadedUnaryStreamr
  )r…  Úcore_optionsÚpython_optionsÚpairs       r!   Ú_separate_channel_optionsrŒ  Ú  sc   € ð €LØ€NÛˆà�‰GÜ× Ñ ×/Ñ/×IÑIóJð ×!Ñ! $Ö'à×Ñ Ö%ñ ð Ð'Ð'r#   c                 ó¾   • U R                      U R                  (       a&  U R                  (       d  [        X R                  5        S S S 5        g ! , (       d  f       g = fr   )r(  rP  rM  rs  rO  r†   s    r!   Ú'_maybe_spawn_poll_connectivity_postforkrŽ  ë  s2   € ð 
�‹Ø×-×-°e·m·mÜ$ U×,@Ñ,@ÔA÷ 
�Žús   �8AÁ
Ac                   óØ  • \ rS rSr% Sr\\S'   \R                  \S'   \	\S'   \
\S'   \\S'   \\\4   \S'   S	\S
\\   S\\R$                     S\\R&                     4S jrS\S\4S jrS\\   SS4S jr S'S\\R0                  /S4   S\\   SS4S jjrS\\R0                  /S4   SS4S jr   S(S\S\\   S\\   S\\   S\R:                  4
S jjr   S(S\S\\   S\\   S\\   S\R>                  4
S jjr    S(S\S\\   S\\   S\\   S\RB                  4
S jjr"   S(S\S\\   S\\   S\\   S\RF                  4
S jjr$S)S jr%S)S  jr&S)S! jr'S" r(S# r)S)S$ jr*S% r+S&r,g)*rê  ió  z7A cygrpc.Channel-backed implementation of grpc.Channel.Ú_single_threaded_unary_streamr»  Ú_call_stateÚ_connectivity_stater¾  Ú_registered_call_handlesr9   r…  rÕ  rÌ  c                 óÀ  • [        U5      u  pV[        U l        U R                  U5        [        R
                  " [        R                  " U5      [        Xd5      U5      U l	        Xl
        [        U R                  5      U l        [        U R                  5      U l        [        R                  " U 5        [        R                   (       a  [        R"                  " 5         gg)a  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„  r»  r¾  r$  r‘  rL  r’  Úfork_register_channelÚg_gevent_activatedÚgevent_increment_channel_count)r@   r9   r…  rÕ  rÌ  rŠ  r‰  s          r!   rA   ÚChannel.__init__ý  s¥   € ô  (AÀÓ'IÑ$ˆä1ð 	Ô*ð 	×$Ñ$ ^Ô4ÜŸšÜ�NŠN˜6Ó"Ü˜\Ó7Øó
ˆŒð
 ŒÜ,¨T¯]©]Ó;ˆÔÜ#<¸T¿]¹]Ó#KˆÔ Ü×$Ò$ TÔ*Ü×$×$Ü×1Ò1Õ3ð %r#   r8   r   c                 ó`   • U R                   R                  [        R                  " U5      5      $ )a(  
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.
)r»  Úget_registered_call_handler   r—  )r@   r8   s     r!   Ú_get_registered_call_handleÚ#Channel._get_registered_call_handle  s"   € ð �}‰}×7Ñ7¼¿ºÀvÓ8NÓOÐOr#   rŠ  Nc                 ó~   • U H7  nUS   [         R                  R                  R                  :X  d  M0  SU l        M9     g)zASets channel attributes according to python-only channel options.r   TN)rM   r@  r‡  rˆ  r�  )r@   rŠ  r‹  s      r!   r–  ÚChannel._process_python_options.  s:   € ó #ˆDà�Q‘Ü×$Ñ$×3Ñ3×MÑMõNð 6:�Ö2ò #r#   rx   rO  c                 ó0   • [        U R                  X5        g r   )ru  r’  )r@   rx   rO  s      r!   Ú	subscribeÚChannel.subscribe9  s   € ô
 	�4×+Ñ+¨XÕFr#   c                 ó0   • [        U R                  U5        g r   )r|  r’  r  s     r!   ÚunsubscribeÚChannel.unsubscribe@  s   € ô 	�T×-Ñ-¨xÕ8r#   r   rY   Ú_registered_methodc           	      óö   • S nU(       a  U R                  U5      n[        U R                  [        U R                  5      [
        R                  " U5      [
        R                  " U R                  5      UUU5      $ r   )rž  rº  r»  rJ  r‘  r   r—  r¾  ©r@   r8   r   rY   r¨  rÁ  s         r!   Úunary_unaryÚChannel.unary_unaryF  se   € ð #'ÐÞØ&*×&FÑ&FÀvÓ&NÐ#Ü'Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�NŠN˜6Ó"Ü�NŠN˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c           	      ó°  • S nU(       a  U R                  U5      nU R                  (       aL  [        U R                  [        R
                  " U5      [        R
                  " U R                  5      UUU5      $ [        U R                  [        U R                  5      [        R
                  " U5      [        R
                  " U R                  5      UUU5      $ r   )
rž  r�  rò  r»  r   r—  r¾  rþ  rJ  r‘  rª  s         r!   Úunary_streamÚChannel.unary_stream[  s«   € ð #'ÐÞØ&*×&FÑ&FÀvÓ&NÐ#ð
 ×-×-Ü:Ø—‘Ü—’˜vÓ&Ü—’˜tŸ|™|Ó,Ø"Ø%Ø'óð ô )Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�NŠN˜6Ó"Ü�NŠN˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c           	      óö   • S nU(       a  U R                  U5      n[        U R                  [        U R                  5      [
        R                  " U5      [
        R                  " U R                  5      UUU5      $ r   )rž  r  r»  rJ  r‘  r   r—  r¾  rª  s         r!   Ústream_unaryÚChannel.stream_unary}  se   € ð #'ÐÞØ&*×&FÑ&FÀvÓ&NÐ#Ü(Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�NŠN˜6Ó"Ü�NŠN˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c           	      óö   • S nU(       a  U R                  U5      n[        U R                  [        U R                  5      [
        R                  " U5      [
        R                  " U R                  5      UUU5      $ r   )rž  r  r»  rJ  r‘  r   r—  r¾  rª  s         r!   Ústream_streamÚChannel.stream_stream’  se   € ð #'ÐÞØ&*×&FÑ&FÀvÓ&NÐ#Ü)Ø�M‰MÜ,¨T×-=Ñ-=Ó>Ü�NŠN˜6Ó"Ü�NŠN˜4Ÿ<™<Ó(ØØ!Ø#ó
ð 	
r#   c                 ó–   • U R                   nU(       a%  UR                     UR                  S S 2	 S S S 5        g g ! , (       d  f       g = fr   )r’  r(  rP  )r@   rU   s     r!   Ú_unsubscribe_allÚChannel._unsubscribe_all¦  s7   € Ø×(Ñ(ˆÞØ—“Ø×6Ñ6²qÐ9÷ �ð ß•ús	    :º
Ac                 ó  • U R                  5         U R                  R                  [        R                  R
                  S5        [        R                  " U 5        [        R                  (       a  [        R                  " 5         g g )NzChannel closed!)	r·  r»  r.  r   rN   r3   Úfork_unregister_channelr™  Úgevent_decrement_channel_countrD   s    r!   Ú_closeÚChannel._close¬  sW   € Ø×ÑÔØ�‰×ÑœF×-Ñ-×7Ñ7Ð9JÔKÜ×&Ò& tÔ,Ü×$×$Ü×1Ò1Õ3ð %r#   c                 ó–   • U R                   R                  [        R                  R                  S5        [        U R                  5        g )NzCall cancelled in fork child)r»  Úcancel_calls_on_forkr   rN   r3   rŽ  r’  rD   s    r!   Ú_postfork_childÚChannel._postfork_child³  s6   € Ø�‰×*Ñ*Ü×Ñ×'Ñ'Ð)Gô	
ô 	0°×0HÑ0HÕIr#   c                 ó   • U $ r   rT   rD   s    r!   Ú	__enter__ÚChannel.__enter__¹  r  r#   c                 ó$   • U R                  5         gr;   ©r¼  )r@   Úexc_typeÚexc_valÚexc_tbs       r!   Ú__exit__ÚChannel.__exit__¼  s   € Ø�‰ŒØr#   c                 ó$   • U R                  5         g r   rÆ  rD   s    r!   r.  ÚChannel.closeÀ  s   € Ø�‰�r#   c                 ó4   •  U R                  5         g !    g = fr   )r·  rD   s    r!   r'  ÚChannel.__del__Ã  s   € ð	Ø×!Ñ!Õ#øð	ñ ús   ‚ “)r‘  r»  r’  r�  r¾  r   )NNFr)  )-rG   rH   rI   rJ   rñ   rP   rK   r   rê  r$  rL  rO   r   rQ   r	   r   r   rM   ÚChannelCredentialsrí  rA   rž  r–  r   rW  r£  r¦  r   r   ÚUnaryUnaryMultiCallabler«  ÚUnaryStreamMultiCallabler®  ÚStreamUnaryMultiCallabler±  ÚStreamStreamMultiCallabler´  r·  r¼  rÀ  rÃ  rÊ  r.  r'  rS   rT   r#   r!   rê  rê  ó  s—  ‡ ÙAà#'Ó'Ø�n‰nÓØ"Ó"Ø2Ó2ØƒLØ" 3¨ 8™nÓ,ð4àð4ð Ð-Ñ.ð4ð ˜d×5Ñ5Ñ6ð	4ð
 ˜d×.Ñ.Ñ/ô4ðBP°#ð P¸#ô Pð 	:Ø&Ð':Ñ;ð	:à	ô	:ð *.ñGà˜D×4Ñ4Ð5°tÐ;Ñ<ðGð ! ™ðGð 
õ	Gð9Ø  $×":Ñ":Ð!;¸TÐ!AÑBð9à	ô9ð =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	%Ñ	%õ
ð0 =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	&Ñ	&õ
ðJ =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	&Ñ	&õ
ð0 =AØAEØ-2ñ
àð
ð %Ð%8Ñ9ð
ð  (Ð(=Ñ>ð	
ð
 % T™Nð
ð 
×	'Ñ	'õ
ô(:ô4ôJòòôõr#   rê  )vrñ   r¶   r—   ÚloggingÚosré   r<   r   rò   Útypingr   r   r   r   r   r   r	   r
   r   r   rM   r   r   r   r   Úgrpc._cythonr   Úgrpc._typingr   r   r   r   r   r   r   r   Úgrpc.experimentalÚ	getLoggerrG   rs   r'   Ú__version__r‚  r”   Úgetenvr•  rL   Úsend_initial_metadatar…   rš   r^   r_   rc   rÑ  rù  r  r  r`  r®   r¯   rR   r"   rN   rO   r(   r*   rW   rk  rn   r|   r+  r*  r©   r°   rè   rð  rô   r²   Ú
RpcContextrö   r/  rm  rë  rž  rP   r¢  rQ   rî  rª  r²  r¸  rÑ  rº  rÒ  rò  rþ  rÓ  r  rÔ  r  rÎ  r$  r>  rJ  rL  rW  r\  ra  rf  rê  rp  rs  ru  r|  rí  r„  rŒ  rŽ  rT   r#   r!   Ú<module>rà     s“  ðñ 5ã Û Û Û 	Û 
Û Û Û ÷÷ ÷ ó Ý Ý Ý !Ý Ý Ý ,Ý .Ý .Ý %Ý ,Ý %Ý ,Ý  Û à
×
Ò
˜HÓ
%€à×%Ñ%Ð&6×&BÑ&BÓC€à€ð
 ‡I‚IÐ1Ó2¸$Ð>ð &ð
 ×Ñ×.Ñ.Ø
×Ñ×%Ñ%Ø
×Ñ×/Ñ/Ø
×Ñ×1Ñ1Ø
×Ñ×(Ñ(Ø
×Ñ×1Ñ1ðÐ ð ×Ñ×.Ñ.Ø
×Ñ×%Ñ%Ø
×Ñ×/Ñ/Ø
×Ñ×1Ñ1Ø
×Ñ×1Ñ1ðÐ ð ×Ñ×.Ñ.Ø
×Ñ×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Ñ$ð[ð 
ô[ð|
 #ð 
°)ð 
Àô 
ô"d˜Ÿ™ t§y¡y°$·+±+ô dôNe3�$—-‘- §¡ô e3ôPQBØ�—‘˜DŸK™KôQBôhpØ�—‘˜DŸK™Kôpðf.Øð.à�e‰_ð.ð !Ð!4Ñ5ð.ð ˆ8�E‰?˜H U™O¨X°d·m±mÑ-DÐDÑEô	.ð(#Øð#à
×
Ñ
ð#ð ð#ð �u‰oð	#ð
 ˆ<˜˜|¨T¯Y©YÐ6Ñ7Ð7Ñ8ô#ðØ�|Ñ$ðØ>Aðàˆh�v×'Ñ'Ñ(Ñ)ôðØ�|Ñ$ðØ>Aðàˆe�H˜V×-Ñ-Ñ.°¸Ñ0AÐAÑBÑCôð/ x°¡ð /¸8ÀE¹?ô /ôn
˜t×;Ñ;ô n
ôba
¨d×.KÑ.Kô a
ôHY
 × =Ñ =ô Y
ôxg
 × =Ñ =ô g
ôT[
 ×!?Ñ!?ô [
ô|˜Cô ÷.ñ ð. Ð$5ð  ¸$ô  ð&=Ð,=ô =÷@ ñ  ð@	$Ø$ð	$à	ˆ(�D×,Ñ,Ð-¨tÐ3Ñ
4Ñ5ô	$ðØ$ðà×2Ñ2ðð   ¨$×*BÑ*BÐ)CÀTÐ)IÑ JÑKðð 
ô	ð2Ø$ðà˜ $×":Ñ":Ð!;¸TÐ!AÑBÑCðð 
ôð,.:Ø$ð.:à�\‰\ð.:ð !ð.:ð 
ô	.:ðbØ$ðØ6:ðà	ôð HØ$ðHà˜×0Ñ0Ð1°4Ð7Ñ8ðHð ðHð 
ô	Hð(
Ø$ð
à˜×0Ñ0Ð1°4Ð7Ñ8ð
ð 
ô
ðØÐ.Ñ/ðà˜$×*Ñ*Ñ+ðð Ð!Ñ"ôð"(ØÐ)Ñ*ð(à
ˆ8Ð'Ñ(¨(Ð3FÑ*GÐGÑHô(ð"BØ$ðBà	ôBô_ˆd�l‰lõ _r#   