
    i                     2   S SK r S SKrS SKrS SKJrJrJr  SSKJrJ	r	  SSK
JrJrJrJr  SSKJrJr   \R$                  \R&                  S4/r\" \S5      (       a(  \R-                  \R.                  \R0                  S45        \" \S5      (       a(  \R-                  \R$                  \R2                  S	45        \" \S
5      (       a(  \R-                  \R$                  \R4                  S45        \" \S5      (       a(  \R-                  \R$                  \R6                  S45        Sq/ SQr " S S5      rS\\\\ 4      SS4S jr!S\\\\ 4      4S jr"S\R                  S\S\#4S jr$S\R                  S\#4S jr%S\R                  S\\#\&4   S\4S jr'g)    N)OptionalUnionAny   )"WebSocketConnectionClosedExceptionWebSocketTimeoutException)SSLErrorSSLEOFErrorSSLWantReadErrorSSLWantWriteError)extract_error_codeextract_err_messageSO_KEEPALIVETCP_KEEPIDLE   TCP_KEEPINTVL
   TCP_KEEPCNT   )DEFAULT_SOCKET_OPTIONsock_optsetdefaulttimeoutgetdefaulttimeoutrecv	recv_linesendc                   F    \ rS rSrS\\\      S\\\\	4      SS4S jr
Srg)r   7   sockoptssloptreturnNc                 >    Uc  / nUc  0 nXl         X l        S U l        g )Nr   r    timeout)selfr   r    s      >C:\des-py\RoboSAPF\venv\Lib\site-packages\websocket\_socket.py__init__sock_opt.__init__8   s)     ?G>F48    r#   )__name__
__module____qualname____firstlineno__r   listtupledictstrr   r'   __static_attributes__ r)   r&   r   r   7   s5    	9U,	96>tCH~6N	9		9r)   r   r$   r!   c                     U q g)z
Set the global timeout setting to connect.

Parameters
----------
timeout: int or float
    default socket timeout time (in seconds)
N_default_timeout)r$   s    r&   r   r   D   s
     r)   c                      [         $ )z
Get default timeout

Returns
----------
_default_timeout: int or float
    Return the global timeout setting (in seconds) to connect.
r5   r3   r)   r&   r   r   Q   s
     r)   sockbufsizec                   ^ ^ T (       d  [        S5      eUU 4S jn T R                  5       S:X  a  T R                  T5      nOU" 5       n Uc  [        S5      eU(       d  [        S5      eU$ ! [         a    [	        S5      e[
        R                   a  n[        U5      n[	        U5      eS nAf[         a7  n[        U5      n[        U[        5      (       a  SU;   a  [	        U5      ee S nAff = f)Nsocket is already closed.c                    >  TR                  T5      $ ! [         a     OP[        R                   a:  n [	        U 5      nU[
        R                  [
        R                  4;  a  e  S n A OS n A ff = f[        R                  " 5       nUR                  T[        R                  5        UR                  TR                  5       5      nUR                  5         U(       a  TR                  T5      $ [        S5      e)Nz%Connection timed out waiting for data)r   r   socketerrorr   errnoEAGAINEWOULDBLOCK	selectorsDefaultSelectorregister
EVENT_READselect
gettimeoutcloser   )exc
error_codeselrr9   r8   s       r&   _recvrecv.<locals>._recva   s    	99W%% 	|| 	+C0J%,,0A0A!BB C	 '')T9//0JJt()		99W%% ,,STTs    
A-A-0A((A-r   zConnection timed out	timed outz#Connection to remote host was lost.)r   rG   r   TimeoutErrorr   r=   r$   r   r	   
isinstancer1   )r8   r9   rM   bytes_emessages   ``    r&   r   r   ]   s    01LMMU4??!YYw'FWF ~01VWW01VWWM#  @'(>??>> 1%a('00 %a(gs##w(>+G44s)   %A- A- -(C/B++C/82C**C/c                 v    / n [        U S5      nUR                  U5        US:X  a  OM&  SR                  U5      $ )Nr      
r)   )r   appendjoin)r8   linecs      r&   r   r      s?    D
qMA:	 
 88D>r)   datac                   ^ ^ [        T[        5      (       a  TR                  S5      mT (       d  [        S5      eS[        4UU 4S jjn T R                  5       S:X  a  T R                  T5      $ U" 5       $ ! [        R                   a  n[        U5      n[        U5      eS nAf[        [        4 a7  n[        U5      n[        U[        5      (       a  SU;   a  [        U5      ee S nAff = f)Nzutf-8r;   r!   c                  
  >  TR                  T5      $ ! [         a    [        S5      e[         a     OT[        R
                   a>  n [        U 5      nUc  e U[        R                  [        R                  4;  a  e  S n A OS n A ff = f[        R                  " 5       nUR                  T[        R                  5        UR                  TR                  5       5      nUR!                  5         U(       a  TR                  T5      $ g)Nr;   r   )r   r
   r   r   r=   r>   r   r?   r@   rA   rB   rC   rD   EVENT_WRITErF   rG   rH   )rI   rJ   rK   wr[   r8   s       r&   _sendsend.<locals>._send   s    	99T?" 	R45PQQ  	|| 	+C0J!%,,0A0A!BB C		 '')T9001JJt()		99T?"s    BB4B  Br   rO   )rQ   r1   encoder   intrG   r   r=   r$   r   r   OSErrorr	   )r8   r[   r`   rS   rT   s   ``   r&   r   r      s    ${{7#01LMM3  0??!99T?"7N>> 1%a('00X %a(gs##w(>+G44s*   $A7 0A7 7C+B!!C+42C&&C+)(r?   rB   r=   typingr   r   r   _exceptionsr   r   _ssl_compatr	   r
   r   r   _utilsr   r   SOL_TCPTCP_NODELAYr   hasattrrW   
SOL_SOCKETr   r   r   r   r6   __all__r   rc   floatr   r   bytesr   r   r1   r   r3   r)   r&   <module>rp      s      ' ' T S ;& !..&*<*<a@A 
6>""  &"3"3V5H5H!!LM
6>""  &..&2E2Er!JK
6?##  &..&2F2F!KL
6=!!  &..&2D2Da!HI 
9 
9
xc5j(9: 
t 
	8E#u*$56 	4v}} 4s 4u 4nFMM e ,v}} ,E%*$5 ,# ,r)   