+
    TŎi;                     t   R t ^ RIt^ RIt^ RIHt ^ RIHtHtHtH	t	 ^ RI
t
^RIHt ^RIHtHtHt ^RIHt ^RIHtHt ^RIHtHtHtHtHtHt ^R	IHtHt ^R
I H!t! ^RI"H#t#H$t$H%t%H&t& ]PN                  R8  d   ^ RIt(M^ RI(t(]
PR                  ! RRR7       ! R R4      4       t*]*! RRR7      t+ ! R R4      t,R# )zWebSocket client for asyncio.N)TracebackType)AnyOptionalTypecast)WebSocketDataQueue)ClientErrorServerTimeoutErrorWSMessageTypeError)ClientResponse)calculate_timeout_when
set_result)WS_CLOSED_MESSAGEWS_CLOSING_MESSAGEWebSocketErrorWSCloseCode	WSMessage	WSMsgType)_INTERNAL_RECEIVE_TYPESWebSocketWriter)	EofStream)DEFAULT_JSON_DECODERDEFAULT_JSON_ENCODERJSONDecoderJSONEncoderT)frozenslotsc                       ] tR t^%t]P
                  ! ]],          RR7      t]P
                  ! ]],          RR7      t	Rt
R# )ClientWSTimeoutN)typedefault )__name__
__module____qualname____firstlineno__attribr   float
ws_receivews_close__static_attributes__r!       `/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/aiohttp/client_ws.pyr   r   %   s*    huot<JwwHUOT:Hr,   r   g      $@)r)   r*   c                     a  ] tR t^.t o RRR^ RR/V 3R lR lltV 3R lR	 ltV 3R
 lR ltV 3R lR ltV 3R lR ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR lt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R  lR! l4       t]V 3R" lR# l4       tRMV 3R$ lR% lltV 3R& lR' ltRNV 3R) lR* lltRNV 3R+ lR, lltRMV 3R- lR. lltRMV 3R/ lR0 lltRMV 3R1 lR2 lltRMR3]/V 3R4 lR5 llltR6]P<                  R7R(/V 3R8 lR9 lltRMV 3R: lR; llt R<R/V 3R= lR> llt!R<R/V 3R? lR@ llt"RA]#R<R/V 3RB lRC llt$V 3RD lRE lt%V 3RF lRG lt&V 3RH lRI lt'V 3RJ lRK lt(RLt)V t*R# )OClientWebSocketResponse	heartbeatNcompressclient_notakeoverFc                   < V ^8  d   QhRS[ RS[RS[S[,          RS[RS[RS[RS[RS[P                  R	S[S[	,          R
S[
RS[RR/# )   readerwriterprotocolresponsetimeout	autocloseautopingloopr0   r1   r2   returnN)r   r   r   strr   r   boolasyncioAbstractEventLoopr(   int)format__classdict__s   "r-   __annotate__$ClientWebSocketResponse.__annotate__/   s     )  ) ")   )  3-	) 
 !)  !)  )  )  '')  E?)  )   )  
) r,   c	               |   W@n         VP                  V n        W n        Wn        W0n        R V n        R V n        RV n        WPn	        W`n
        Wpn        Wn        RV n        RV n        V	e   V	R,          V n        RV n        Wn        R V n        RV n        RV n        Wn        Wn        RV n        V P1                  4        R# )FNg        g       @)	_response
connection_conn_writer_reader	_protocol_closed_closing_close_code_timeout
_autoclose	_autoping
_heartbeat_heartbeat_cb_heartbeat_when_pong_heartbeat_pong_response_cb_loop_waiting_close_wait
_exception	_compress_client_notakeover
_ping_task_reset_heartbeat)selfr5   r6   r7   r8   r9   r:   r;   r<   r0   r1   r2   s   &&&&&&&&&$$$r-   __init__ ClientWebSocketResponse.__init__/   s     "((
!*.#!#<@&) #,s?D @D
#;?37!"38<r,   c                   < V ^8  d   QhRR/# r4   r=   Nr!   )rC   rD   s   "r-   rE   rF   Z   s     # #4 #r,   c                    V P                  4        V P                  e"   V P                  P                  4        R V n        V P                  e$   V P                  P                  4        R V n        R # R # N)_cancel_pong_response_cbrU   cancelr_   ra   s   &r-   _cancel_heartbeat)ClientWebSocketResponse._cancel_heartbeatZ   sZ    %%')%%'!%D??&OO""$"DO 'r,   c                   < V ^8  d   QhRR/# re   r!   )rC   rD   s   "r-   rE   rF   c   s     * *$ *r,   c                h    V P                   e$   V P                   P                  4        R V n         R # R # rg   )rX   ri   rj   s   &r-   rh   0ClientWebSocketResponse._cancel_pong_response_cbc   s-    !!-""))+%)D" .r,   c                   < V ^8  d   QhRR/# re   r!   )rC   rD   s   "r-   rE   rF   h   s     J J$ Jr,   c                r   V P                   f   R # V P                  4        V P                  pVf   Q hV P                  pVe   VP                  P
                  M^pVP                  4       p\        W@P                   V4      pWPn        V P                  f#   VP                  WPP                  4      V n	        R # R # rg   )rT   rh   rY   rJ   
_connector_timeout_ceil_thresholdtimer   rV   rU   call_at_send_heartbeat)ra   r<   conntimeout_ceil_thresholdnowwhens   &     r-   r`   (ClientWebSocketResponse._reset_heartbeath   s    ??"%%'zzzz7;7GDOO33Q 	 iik%c??<RS#% "&d4H4H!ID &r,   c                   < V ^8  d   QhRR/# re   r!   )rC   rD   s   "r-   rE   rF   }   s      ,  ,  ,r,   c                   R V n         V P                  pVP                  4       pW P                  8  d.   VP	                  V P                  V P
                  4      V n         R # V P                  pVe   VP                  P                  M^p\        W P                  V4      pV P                  4        VP	                  WPP                  4      V n        V P                  P                  R\         P"                  4      p\$        P&                  R8  d   \(        P*                  ! WaRR7      pMVP-                  V4      pVP/                  4       '       g$   Wpn        VP3                  V P4                  4       R # V P5                  V4       R # )Nr,   T)r<   eager_start)      )rU   rY   rt   rV   ru   rv   rJ   rr   rs   r   rW   rh   _pong_not_receivedrX   rK   
send_framer   PINGsysversion_infor@   Taskcreate_taskdoner_   add_done_callback_ping_task_done)ra   r<   ry   rw   rx   rz   coro	ping_tasks   &       r-   rv   'ClientWebSocketResponse._send_heartbeat}   s)   !zziik%%%!%$$d&:&:"D zz7;7GDOO33Q 	 &c+?+?AWX%%'!%d4K4K!L||&&sINN;w&  T$GI((.I~~'O''(<(<=  +r,   c                "   < V ^8  d   QhRRRR/# )r4   taskzasyncio.Task[None]r=   Nr!   )rC   rD   s   "r-   rE   rF      s      $8 T r,   c                    VP                  4       '       g*   VP                  4       ;p'       d   V P                  V4       RV n        R# )z*Callback for when the ping task completes.N)	cancelled	exception_handle_ping_pong_exceptionr_   )ra   r   excs   && r-   r   'ClientWebSocketResponse._ping_task_done   s5    ~~DNN,<%<S%<,,S1r,   c                   < V ^8  d   QhRR/# re   r!   )rC   rD   s   "r-   rE   rF      s     
 
D 
r,   c                V    V P                  \        R V P                   R24      4       R# )zNo PONG received after z secondsN)r   r	   rW   rj   s   &r-   r   *ClientWebSocketResponse._pong_not_received   s)    ((!89M9M8NhWX	
r,   c                $   < V ^8  d   QhRS[ RR/# )r4   r   r=   N)BaseException)rC   rD   s   "r-   rE   rF      s     	M 	M} 	M 	Mr,   c                r   V P                   '       d   R# V P                  4        \        P                  V n        Wn        V P                  P                  4        V P                  '       dL   V P                  '       g8   V P                  P                  \        \        P                  VR4      ^ 4       R# R# R# )z5Handle exceptions raised during ping/pong processing.N)rN   _set_closedr   ABNORMAL_CLOSURErP   r\   rH   closerZ   rO   rL   	feed_datar   r   ERROR)ra   r   s   &&r-   r   3ClientWebSocketResponse._handle_ping_pong_exception   sv    <<<&77===LL""9Y__c4#H!L "/=r,   c                   < V ^8  d   QhRR/# re   r!   )rC   rD   s   "r-   rE   rF      s     ! !T !r,   c                4    RV n         V P                  4        R# )zTSet the connection to closed.

Cancel any heartbeat timers and set the closed flag.
TN)rN   rk   rj   s   &r-   r   #ClientWebSocketResponse._set_closed   s    
  r,   c                   < V ^8  d   QhRR/# re   r!   )rC   rD   s   "r-   rE   rF      s     ! !d !r,   c                4    RV n         V P                  4        R# )zVSet the connection to closing.

Cancel any heartbeat timers and set the closing flag.
TN)rO   rk   rj   s   &r-   _set_closing$ClientWebSocketResponse._set_closing   s    
  r,   c                    < V ^8  d   QhRS[ /# r4   r=   r?   )rC   rD   s   "r-   rE   rF      s       r,   c                    V P                   # rg   )rN   rj   s   &r-   closedClientWebSocketResponse.closed   s    ||r,   c                0   < V ^8  d   QhRS[ S[,          /# r   )r   rB   )rC   rD   s   "r-   rE   rF      s        HSM  r,   c                    V P                   # rg   )rP   rj   s   &r-   
close_code"ClientWebSocketResponse.close_code   s    r,   c                0   < V ^8  d   QhRS[ S[,          /# r   )r   r>   )rC   rD   s   "r-   rE   rF      s      (3- r,   c                    V P                   # rg   )rM   rj   s   &r-   r7    ClientWebSocketResponse.protocol       ~~r,   c                    < V ^8  d   QhRS[ /# r   )rB   )rC   rD   s   "r-   rE   rF      s      # r,   c                    V P                   # rg   )r]   rj   s   &r-   r1    ClientWebSocketResponse.compress   r   r,   c                    < V ^8  d   QhRS[ /# r   r   )rC   rD   s   "r-   rE   rF      s     ' '4 'r,   c                    V P                   # rg   )r^   rj   s   &r-   r2   )ClientWebSocketResponse.client_notakeover   s    &&&r,   c                ,   < V ^8  d   QhRS[ RS[RS[/# )r4   namer    r=   )r>   r   )rC   rD   s   "r-   rE   rF      s"     7 73 7 7 7r,   c                    V P                   P                  pVf   V# VP                  pVf   V# VP                  W4      # )z$extra info from connection transport)rH   rI   	transportget_extra_info)ra   r   r    rw   r   s   &&&  r-   r   &ClientWebSocketResponse.get_extra_info   s@    ~~((<NNN	N''66r,   c                0   < V ^8  d   QhRS[ S[,          /# r   )r   r   )rC   rD   s   "r-   rE   rF      s      8M2 r,   c                    V P                   # rg   )r\   rj   s   &r-   r   !ClientWebSocketResponse.exception   s    r,   r,   c                $   < V ^8  d   QhRS[ RR/# r4   messager=   Nbytes)rC   rD   s   "r-   rE   rF           ? ?% ?$ ?r,   c                v   "   V P                   P                  V\        P                  4      G R j  xL
  R #  L5irg   )rK   r   r   r   ra   r   s   &&r-   pingClientWebSocketResponse.ping   #     ll%%gy~~>>>   .979c                $   < V ^8  d   QhRS[ RR/# r   r   )rC   rD   s   "r-   rE   rF      r   r,   c                v   "   V P                   P                  V\        P                  4      G R j  xL
  R #  L5irg   )rK   r   r   PONGr   s   &&r-   pongClientWebSocketResponse.pong   r   r   c                @   < V ^8  d   QhRS[ RS[RS[S[,          RR/# )r4   r   opcoder1   r=   N)r   r   r   rB   )rC   rD   s   "r-   rE   rF      s7     A AA&/A;CC=A	Ar,   c                Z   "   V P                   P                  WV4      G Rj  xL
  R#  L5i)z Send a frame over the websocket.N)rK   r   )ra   r   r   r1   s   &&&&r-   r   "ClientWebSocketResponse.send_frame   s!      ll%%gx@@@s    +)+c                :   < V ^8  d   QhRS[ RS[S[,          RR/# r4   datar1   r=   N)r>   r   rB   )rC   rD   s   "r-   rE   rF      s&     
 
3 
(3- 
4 
r,   c                   "   \        V\        4      '       g   \        R \        V4      ,          4      hV P                  P                  VP                  R4      \        P                  VR7      G Rj  xL
  R#  L5i)zdata argument must be str (%r)zutf-8r1   N)	
isinstancer>   	TypeErrorr   rK   r   encoder   TEXTra   r   r1   s   &&&r-   send_str ClientWebSocketResponse.send_str   s\     $$$<tDzIJJll%%KK )..8 & 
 	
 	
s   A0A;2A93A;c                :   < V ^8  d   QhRS[ RS[S[,          RR/# r   )r   r   rB   )rC   rD   s   "r-   rE   rF      s+     Q QU Qhsm Qt Qr,   c                   "   \        V\        \        \        34      '       g   \	        R \        V4      ,          4      hV P                  P                  V\        P                  VR7      G Rj  xL
  R#  L5i)z#data argument must be byte-ish (%r)r   N)
r   r   	bytearray
memoryviewr   r   rK   r   r   BINARYr   s   &&&r-   
send_bytes"ClientWebSocketResponse.send_bytes   sS     $	: >??ADJNOOll%%dI,<,<x%PPPs   A,A7.A5/A7dumpsc                @   < V ^8  d   QhRS[ RS[S[,          RS[RR/# )r4   r   r1   r   r=   N)r   r   rB   r   )rC   rD   s   "r-   rE   rF      s7     < << 3-<
 < 
<r,   c               T   "   V P                  V! V4      VR 7      G Rj  xL
  R#  L5i)r   N)r   )ra   r   r1   r   s   &&&$r-   	send_json!ClientWebSocketResponse.send_json   s!      mmE$K(m;;;s   (&(coder   c                ,   < V ^8  d   QhRS[ RS[RS[/# )r4   r   r   r=   )rB   r   r?   )rC   rD   s   "r-   rE   rF     s#     / /3 /% /RV /r,   c               6  "   V P                   '       d   V P                  '       gt   V P                  f   Q hV P                  P                  4       V n        V P                  4        V P                  P                  \        ^ 4       V P                  G R j  xL
  V P                  '       d   R# V P                  4         V P                  P                  W4      G R j  xL
  T P"                  '       d   T P$                  P                  4        R#   \*        P,                  ! T P.                  P0                  4      ;_uu_4       GR j  xL
  T P                  P3                  4       G R j  xL
 pR R R 4      GR j  xL
  XP4                  \6        P8                  J g   K  TP:                  T n        T P$                  P                  4        R#  EL7 L  \        P                   d2    \        P                   T n        T P$                  P                  4        h \&         dA   p\        P                   T n        Y0n        T P$                  P                  4         R p?R# R p?ii ; i EL L L  + GR j  xL 
 '       g   i     EL; i  \        P                   d2    \        P                   T n        T P$                  P                  4        h \&         dA   p\        P                   T n        Y0n        T P$                  P                  4         R p?R# R p?ii ; i5i)NFT)rZ   rO   rY   create_futurer[   r   rL   r   r   rN   r   rK   r   r@   CancelledErrorr   r   rP   rH   	Exceptionr\   async_timeoutr9   rQ   r*   readr   r   CLOSEr   )ra   r   r   r   msgs   &$$  r-   r   ClientWebSocketResponse.close  s$     ===::)))#zz779DLL""#5q9""""<<<
	,,$$T333 NN  "(001G1GHHH $ 1 1 33C IH xx9??*#&88 $$&O # 4%% 	*;;DNN  " 	*;;D!ONN  "		 I3 IHHH)) #.#?#? $$& #.#?#? "%$$&	s	  $LA.LGL,L?G GG "L4L6J I#	J I**I&+I*/J :I(;J ?L.LG AI I  5ILI  L#J &I*(J *J	0I31
J	<J	>J LJ ALL5LLLLc                6   < V ^8  d   QhRS[ S[,          RS[/# r4   r9   r=   )r   r(   r   )rC   rD   s   "r-   rE   rF   8  s#     G GXe_ G	 Gr,   c                \	  "   T;'       g    V P                   P                  p V P                  '       d   \        R4      hV P                  '       d   \
        # V P                  '       d   V P                  4       G Rj  xL
  \
        #  R V n         V'       d[   \        P                  ! V4      ;_uu_4       GRj  xL
  V P                  P                  4       G Rj  xL
 pRRR4      GRj  xL
  M"V P                  P                  4       G Rj  xL
 pV P                  4        RV n        V P                  '       d   \        V P                  R4       XPD                  \F        9  d   T# TPD                  \0        PH                  J d`   T PC                  4        TPJ                  T n        T P                  '       g+   T PL                  '       d   T P                  4       G Rj  xL
  T# TPD                  \0        PN                  J d   T PC                  4        T# TPD                  \0        PP                  J d9   T PR                  '       d'   T PU                  TPJ                  4      G Rj  xL
  EKL  TPD                  \0        PV                  J d   T PR                  '       d   EK  T#  EL& EL EL EL  + GRj  xL 
 '       g   i     EL; i EL  RT n        T P                  '       d   \        T P                  R4       i i ; i  \        P                   \        P"                  3 d    \$        P&                  T n        h \*         dM    \$        P,                  T n        T P                  4       G Rj  xL 
  \/        \0        P2                  RR4      u # \4         d/    T P7                  4        \$        P&                  T n        \
        u # \8         d\   pTP:                  T n        T P                  TP:                  R7      G Rj  xL 
  \/        \0        P<                  TR4      u Rp?# Rp?i\>         dj   pY@n         T PC                  4        \$        P&                  T n        T P                  4       G Rj  xL 
  \/        \0        P<                  TR4      u Rp?# Rp?ii ; i EL ELB5i)Tz+Concurrent call to receive() is not allowedNF)r   ),rQ   r)   rZ   RuntimeErrorrN   r   rO   r   r   r9   rL   r   r`   r[   r   r@   r   TimeoutErrorr   r   rP   r   OKr   r   CLOSEDr   r   r   r   r   r   r\   r   r   r   r   r   rR   CLOSINGr   rS   r   r   )ra   r9   receive_timeoutr   r   s   &&   r-   receiveClientWebSocketResponse.receive8  sE    !==T]]%=%=}}}"#PQQ|||((jjl""((&= $;&
 $1#8#8#I#I#I(,(9(9(;";C $J#I#I %)LL$5$5$77))+$)DM'''"4#3#3T:0 xx66 
xx9??*!!##&88 |||**,&& J Y...!!# J Y^^+ii)))Y^^+J{ # $J"; $J#I#I#I 8 %*DM'''"4#3#3T: (**G,@,@A #.#?#?  ?#.>> jjl"" !1!14>> )  "#.#?#? ((! =#&88 jjchhj/// #t<< ="%!!##.#?#? jjl"" #t<<=  ' *s  3R,R,R,+R,>J$?
R,
L K "K <J'=K  J0J*J0#K .J-/"K KK &/L A'R,=R,R,"R&#A%R,	R,'R)(6R,R,'K *J0-K 0K
	6J97
K
	K
	
K 2LL AR#	)R#2M53 R#R,R#,R#
R,R#R#0P,P	P,&R#'R,,R#9R#:>R8Q;9RR#R,R##R,)R,r9   c                6   < V ^8  d   QhRS[ S[,          RS[/# r   )r   r(   r>   )rC   rD   s   "r-   rE   rF     s     # #HUO #s #r,   c                  "   V P                  V4      G R j  xL
 pVP                  \        P                  Jd(   \	        RVP                   RVP
                  : R24      h\        \        VP
                  4      #  Lc5i)NReceived message :z is not WSMsgType.TEXT)r  r   r   r   r
   r   r   r>   ra   r9   r   s   &$ r-   receive_str#ClientWebSocketResponse.receive_str  sf     LL))889>>)$#CHH:Qsxxl:PQ  C"" *   A=A;A$A=c                6   < V ^8  d   QhRS[ S[,          RS[/# r   )r   r(   r   )rC   rD   s   "r-   rE   rF     s     % %huo % %r,   c                  "   V P                  V4      G R j  xL
 pVP                  \        P                  Jd(   \	        RVP                   RVP
                  : R24      h\        \        VP
                  4      #  Lc5i)Nr  r  z is not WSMsgType.BINARY)r  r   r   r   r
   r   r   r   r  s   &$ r-   receive_bytes%ClientWebSocketResponse.receive_bytes  sh     LL))889+++$#CHH:Qsxxl:RS  E388$$ *r  loadsc                <   < V ^8  d   QhRS[ RS[S[,          RS[/# )r4   r  r9   r=   )r   r   r(   r   )rC   rD   s   "r-   rE   rF     s/        %	
 
r,   c               R   "   V P                  VR 7      G Rj  xL
 pV! V4      #  L5i))r9   N)r  )ra   r  r9   r   s   &$$ r-   receive_json$ClientWebSocketResponse.receive_json  s,      %%g%66T{ 7s   '%'c                   < V ^8  d   QhRR/# r4   r=   r/   r!   )rC   rD   s   "r-   rE   rF     s      4 r,   c                    V # rg   r!   rj   s   &r-   	__aiter__!ClientWebSocketResponse.__aiter__  s    r,   c                    < V ^8  d   QhRS[ /# r   )r   )rC   rD   s   "r-   rE   rF     s       r,   c                   "   V P                  4       G R j  xL
 pVP                  \        P                  \        P                  \        P
                  39   d   \        hV#  LJ5irg   )r  r   r   r   r  r  StopAsyncIteration)ra   r   s   & r-   	__anext__!ClientWebSocketResponse.__anext__  sF     LLN"88	):):I<L<LMM$$
 #s   A#A!AA#c                   < V ^8  d   QhRR/# r  r!   )rC   rD   s   "r-   rE   rF     s      "; r,   c                   "   V # 5irg   r!   rj   s   &r-   
__aenter__"ClientWebSocketResponse.__aenter__  s
     s   c                p   < V ^8  d   QhRS[ S[S[,          ,          RS[ S[,          RS[ S[,          RR/# )r4   exc_typeexc_valexc_tbr=   N)r   r   r   r   )rC   rD   s   "r-   rE   rF     sG      4./ -( '	
 
r,   c                B   "   V P                  4       G R j  xL
  R #  L5irg   )r   )ra   r)  r*  r+  s   &&&&r-   	__aexit__!ClientWebSocketResponse.__aexit__  s      jjls   )rR   rS   r^   rP   r[   rN   rO   r]   rJ   r\   rT   rU   rV   rY   r_   rW   rX   rM   rL   rH   rQ   rZ   rK   rg   )r,   )+r"   r#   r$   r%   rb   rk   rh   r`   rv   r   r   r   r   r   propertyr   r   r7   r1   r2   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r"  r&  r-  r+   __classdictcell__)rD   s   @r-   r/   r/   .   s    )  &*)  )  #()  ) V# #* *
J J* ,  ,D 
 

	M 	M! !! !           ' '7 7 ? ?? ?A A
 
Q Q
<
 2< </ /# / /bG GR#d # #% % % 2 $(	     r,   r/   )r      )-__doc__r@   r   typesr   typingr   r   r   r   r&   _websocket.readerr   client_exceptionsr   r	   r
   client_reqrepr   helpersr   r   httpr   r   r   r   r   r   http_websocketr   r   streamsr   typedefsr   r   r   r   r   r   sr   DEFAULT_WS_CLIENT_TIMEOUTr/   r!   r,   r-   <module>r?     s    #  
  , ,  1 R R ) 7  E   w# t4 ; ; !;
 ,tdK ~ ~r,   