+
    Xj                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^RI	H
t
Ht ^RIHt ^RIHt ^RIHt ^RIHt ^R	IHt R
.t]P1                  ]P2                  ! ]! ^ 4      ]! ^^4      4       U u/ uF  q ]! ]! V 4      4      ^R bK  	  up 4      tR R ltR R ltR R lt  ! R R]PB                  4      t"R R lt#R R lt$R R lt%RR R llt&R# u up i )    )annotationsN)	Generator)ClientConnectionconnect)SimpleQueue)ConnectionClosed)Close)StreamReader)versionmainc                    V ^8  d   QhRRRR/# )   stringstrreturn )formats   "j   /Users/wind/Downloads/Coruna-main学习资料A/backend/venv/lib/python3.14/site-packages/websockets/cli.py__annotate__r   %   s     . .3 .3 .    c                ,    V P                  \        4      # )zAMake a string safe for a terminal by escaping control characters.)	translateTERMINAL_ESCAPESr   s   &r   escaper   %   s    ,--r   c                    V ^8  d   QhRRRR/# r   r   r   r   Noner   )r   s   "r   r   r   *   s      s t r   c                    \         P                  P                  R V  R24       \         P                  P                  4        R# )z	7
[A[Lz
8[BNsysstdoutwriteflushr   s   &r   print_during_inputr%   *   s<    JJ	 ( 	  JJr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   >   s     	 	S 	T 	r   c                    \         P                  P                  R V  R24       \         P                  P                  4        R# )z[K
Nr    r   s   &r   print_over_inputr)   >   s9    JJ	 (-		! JJr   c                  ^    ] tR t^JtR R ltR R ltR R ltR R ltR	 R
 ltR R lt	Rt
R# )	ReadLinesc                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   ReadLines.__annotate__K   s     8 8$ 8r   c                	B    \        4       V n        \        4       V n        R # N)r
   readerr   messagesselfs   &r   __init__ReadLines.__init__K   s    "n*5-r   c                   V ^8  d   QhRR/# )r   r   zGenerator[None, None, None]r   )r   s   "r   r   r.   O   s     < <2 <r   c              #  	`  "    \         P                  P                  R4       \         P                  P                  4        V P                  P                  \         P                  4       Rj  xL
 pV P                  P                  VP                  4       P                  R4      4       K   L>5i)Tz> Nz
)r!   r"   r#   r$   r1   	read_linemaxsizer2   putdecoderstrip)r4   lines   & r   parseReadLines.parseO   sn     JJT"JJ"kk33CKK@@DMMdkkm226:; As   A+B.-B,.?B.c                    V ^8  d   QhRRRR/# )r   	transportzasyncio.BaseTransportr   r   r   )r   s   "r   r   r.   V   s      )> 4 r   c                	Z    V P                  4       V n        \        V P                  4       R # r0   )r?   parsernext)r4   rB   s   &&r   connection_madeReadLines.connection_madeV   s    jjlT[[r   c                    V ^8  d   QhRRRR/# )r   databytesr   r   r   )r   s   "r   r   r.   Z   s      % D r   c                	f    V P                   P                  V4       \        V P                  4       R # r0   )r1   	feed_datarE   rD   )r4   rI   s   &&r   data_receivedReadLines.data_receivedZ   s     d#T[[r   c                   V ^8  d   QhRR/# r-   r   )r   s   "r   r   r.   ^   s      d r   c                	:    V P                   P                  4        R # r0   )r1   feed_eofr3   s   &r   eof_receivedReadLines.eof_received^   s    r   c                    V ^8  d   QhRRRR/# )r   exczException | Noner   r   r   )r   s   "r   r   r.   b   s      #3  r   c                	n    V P                   P                  4        V P                  P                  4        R # r0   )r1   discardr2   abort)r4   rU   s   &&r   connection_lostReadLines.connection_lostb   s"    r   )r2   rD   r1   N)__name__
__module____qualname____firstlineno__r5   r?   rF   rM   rR   rY   __static_attributes__r   r   r   r+   r+   J   s%    8< r   r+   c                    V ^8  d   QhRRRR/# )r   	websocketr   r   r   r   )r   s   "r   r   r   g   s     > >-= >$ >r   c                   "   V   R j  xL
  p\        V\        4      '       d   \        R\        V4      ,           4       K=  \        RVP	                  4       ,           4       K_   LZD[R # 5i)Nz< z< (binary) )
isinstancer   r%   r   hex)ra   messages   & r   print_incoming_messagesrf   g   sL     " > >ggs##tfWo56}w{{}<=	>s&   A)A&A$A&AA)$A&&A)c               $    V ^8  d   QhRRRRRR/# )r   ra   r   r2   zSimpleQueue[str]r   r   r   )r   s   "r   r   r   o   s&       
r   c                   "     VP                  4       G Rj  xL
 p T P                  T4      G Rj  xL
  K6   L   \         d     R# i ; i L  \         d     R# i ; i5i)TN)getEOFErrorsendr   )ra   r2   re   s   && r   send_outgoing_messagesrl   o   sa      	$LLN*G	..)))	 + 		 * 		s^   A!; 9; A AA A!; A
A!	A

A!A AA!AA!c                    V ^8  d   QhRRRR/# )r   urir   r   r   r   )r   s   "r   r   r   ~   s     &I &I# &I$ &Ir   c                P  "    \        V 4      G R j  xL
 p\        RV  R24       \
        P                  ! 4       pVP                  \        \        P                  4      G R j  xL
 w  rE\
        P                  ! \        X4      4      p\
        P                  ! \        WP                  4      4      p \
        P                  ! Wg.\
        P                  R7      G R j  xL
  VP#                  4        VP#                  4        VP%                  4        VP%                  4       G R j  xL
  VP&                  e   VP(                  f   Q h\+        VP&                  VP(                  4      p\-        R\/        \1        V4      4       R24       R #  ELx  \         d4   p\        RT  RT R24       \        P                  ! ^4        R p?ELR p?ii ; i ELl L  \
        P                    d     EL
i ; i  TP#                  4        TP#                  4        TP%                  4        i ; i L5i)NzConnected to .zFailed to connect to z: )return_whenzConnection closed: )r   print	Exceptionr!   exitasyncioget_running_loopconnect_read_piper+   stdincreate_taskrf   rl   r2   waitFIRST_COMPLETEDCancelledErrorcancelclose
close_codeclose_reasonr	   r)   r   r   )	rn   ra   rU   looprB   protocolincomingoutgoingclose_statuss	   &        r   interactive_clientr   ~   s    &!#,&	
 	cU!$%##%D $ 6 6y#)) LLI""	*H ""y*;*;<Hll   //	
 	
 	
 	
//
+	0F0F0RRR--y/E/EFL*6#l2C+D*EQGHI ' %cU"SE34 M	
 !!  	s   H&F F
F AH&"G#AH&2*G GG !AH&$H$%A%H&
F G(G H&GH&G G,(G/ +G,,G/ /2H!!H&c                    V ^8  d   QhRRRR/# )r   argvzlist[str] | Noner   r   r   )r   s   "r   r   r      s     ! ! !4 !r   c                v   \         P                  ! R RRR7      pVP                  4       pVP                  RRR7       VP                  RRR	R
7       VP	                  V 4      pVP
                  '       d   \        R\         24       R# VP                  f'   VP                  4        \        P                  ! ^4       \        P                  R8X  d   \        P                  ! R4        ^ RIp \"        P$                  ! \'        VP                  4      4       R#   \          d     L9i ; i  \(         d     R# i ; i)
websocketszInteractive WebSocket client.F)progdescriptionadd_helpz	--version
store_true)actionrn   z<uri>?)metavarnargszwebsockets Nwin32 )argparseArgumentParseradd_mutually_exclusive_groupadd_argument
parse_argsr   rr   websockets_versionrn   print_usager!   rt   platformossystemreadlineImportErrorru   runr   KeyboardInterrupt)r   rD   groupargsr   s   &    r   r   r      s   $$3F
 //1E	{<8	ugS9T"D|||./01xx ||w
		"
&txx01    s$   (D -)D) D&%D&)D87D8r0   )'
__future__r   r   ru   	itertoolsr   r!   typingr   asyncio.clientr   r   asyncio.messagesr   
exceptionsr   framesr	   streamsr
   r   r   __all__r   	maketranschainrangereprchrr   r   r%   r)   Protocolr+   rf   rl   r   r   )is   0r   <module>r      s    "    	 
  5 ) (  ! 2 ( ==$-OOE"IuS#$OP$OqSVQr$OP 
.
(	   :>&IR! !M Qs   7C