
    vKg+                         S r SSKrSSKJrJrJr  SSKJrJrJ	r	J
r
Jr   " S S5      r " S S	\5      r\R                  \0rg)
z>
wsproto/extensions
~~~~~~~~~~~~~~~~~~

WebSocket extensions.
    N)OptionalTupleUnion   )CloseReasonFrameDecoderFrameProtocolOpcodeRsvBitsc                   8   \ rS rSr% \\S'   S\4S jrS\\\4   4S jr	S\S\
\\\4      4S jrS\SS4S	 jrS
\\\4   S\S\S\S\\\4   4
S jrS
\\\4   S\S\\\4   4S jrS
\\\4   S\S\\\S4   4S jrS
\\\4   S\S\S\S\S\\\4   4S jrSrg)	Extension   namereturnc                     gNF selfs    R/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/wsproto/extensions.pyenabledExtension.enabled   s        c                     g Nr   r   s    r   offerExtension.offer       r   r   c                     g r   r   r   r   s     r   acceptExtension.accept   r   r   Nc                     g r   r   r    s     r   finalizeExtension.finalize   r   r   protoopcodersvpayload_lengthc                     [        SSS5      $ r   )r   )r   r&   r'   r(   r)   s        r   frame_inbound_headerExtension.frame_inbound_header   s     ueU++r   datac                     U$ r   r   r   r&   r-   s      r   frame_inbound_payload_data$Extension.frame_inbound_payload_data&   s	     r   finc                     g r   r   )r   r&   r2   s      r   frame_inbound_complete Extension.frame_inbound_complete+   s     	r   c                     X44$ r   r   )r   r&   r'   r(   r-   r2   s         r   frame_outboundExtension.frame_outbound0   s     {r   r   )__name__
__module____qualname____firstlineno__str__annotations__boolr   r   r   r   r!   r$   r   r	   r
   r   intr   r+   bytesr0   r4   r   r7   __static_attributes__r   r   r   r   r      s[   
I uT3Y' C HU49-=$> c d ,\=01, , 	,
 , 
{G#	$,<67?D	uk!	"
<67>B	uk4'	(
\=01  	
   
w~	r   r   c                   B   \ rS rSrSrSrSr    S$S\S\\	   S\S\\	   S	S4
S
 jjr
\S	\	4S j5       r\R                  S\	S	S4S j5       r\S	\	4S j5       r\R                  S\	S	S4S j5       rS\S	\4S jrS	\4S jrS	\\\4   4S jrS\S	S4S jrS\S	\\\	   \\	   4   4S jrS\S	\\S\4   4S jrS\\\4   S\S\S\	S	\\\4   4
S jrS\\\4   S\S	\\\4   4S jrS\\\4   S\S	\\\S4   4S  jr S\\\4   S\S\S\S\S	\\\4   4S! jr!S	\4S" jr"S#r#g)%PerMessageDeflate;   zpermessage-deflate   Nclient_no_context_takeoverclient_max_window_bitsserver_no_context_takeoverserver_max_window_bitsr   c                     Xl         X0l        U R                  U l        U R                  U l        Ub  X l        Ub  X@l        S U l        S U l	        S U l
        S U l        SU l        g r   )rG   rI   DEFAULT_CLIENT_MAX_WINDOW_BITS_client_max_window_bitsDEFAULT_SERVER_MAX_WINDOW_BITS_server_max_window_bitsrH   rJ   _compressor_decompressor_inbound_is_compressible_inbound_compressed_enabled)r   rG   rH   rI   rJ   s        r   __init__PerMessageDeflate.__init__A   sn     +E'*D''+'J'J$'+'J'J$!-*@'!-*@'599=8<% 48 r   c                     U R                   $ r   )rM   r   s    r   rH   (PerMessageDeflate.client_max_window_bits\       +++r   valuec                 >    US:  d  US:  a  [        S5      eXl        g N	   rF   z.Window size must be between 9 and 15 inclusive)
ValueErrorrM   r   rZ   s     r   rH   rX   `   !    19
MNN',$r   c                     U R                   $ r   )rO   r   s    r   rJ   (PerMessageDeflate.server_max_window_bitsf   rY   r   c                 >    US:  d  US:  a  [        S5      eXl        g r\   )r^   rO   r_   s     r   rJ   rb   j   r`   r   r'   c                 f    U[         R                  [         R                  [         R                  4;   $ r   )r
   TEXTBINARYCONTINUATION)r   r'   s     r   _compressible_opcode&PerMessageDeflate._compressible_opcodep   s"    &++v}}f6I6IJJJr   c                     U R                   $ r   )rT   r   s    r   r   PerMessageDeflate.enableds   s    }}r   c                     SU R                   -  SU R                  -  /nU R                  (       a  UR                  S5        U R                  (       a  UR                  S5        SR                  U5      $ )Nclient_max_window_bits=%dserver_max_window_bits=%drG   rI   ; )rH   rJ   rG   appendrI   join)r   
parameterss     r   r   PerMessageDeflate.offerv   sf    '$*E*EE'$*E*EE


 **:;**:;yy$$r   r   c                 .   UR                  S5       Vs/ sH  o"R                  5       PM     nnUSS   H  nUR                  S5      (       a	  SU l        M"  UR                  S5      (       a	  SU l        MA  UR                  S5      (       a3  [        UR                  SS5      S   R                  5       5      U l        M  UR                  S5      (       d  M  [        UR                  SS5      S   R                  5       5      U l        M     SU l        g s  snf 	N;r   rG   TrI   rH   =rJ   )	splitstrip
startswithrG   rI   r@   rH   rJ   rT   )r   r   bbitsbits        r   r$   PerMessageDeflate.finalize   s    #(;;s#34#3a	#348C~~:;;26/ <==26/ 899.1#))C2CA2F2L2L2N.O+ 899.1#))C2CA2F2L2L2N.O+   5s   Dparamsc                 h   S nS nUR                  S5       Vs/ sH  oDR                  5       PM     nnUSS   H  nUR                  S5      (       a	  SU l        M"  UR                  S5      (       a	  SU l        MA  UR                  S5      (       aB  SU;   a.  [        UR                  SS5      S   R                  5       5      nM  U R                  nM  UR                  S5      (       d  M  SU;   a.  [        UR                  SS5      S   R                  5       5      nM  U R                  nM     X#4$ s  snf ru   )rx   ry   rz   rG   rI   r@   rH   rJ   )r   r   rH   rJ   r{   r|   r}   s          r   _parse_paramsPerMessageDeflate._parse_params   s   !%!%#)<<#45#4a	#458C~~:;;26/ <==26/ 899#:-031B11E1K1K1M-N*-1-H-H* 899#:-031B11E1K1K1M-N*-1-H-H*   &==# 6s   D/c                 z   U R                  U5      u  p#/ nU R                  (       a  UR                  S5        U R                  (       a  UR                  S5         Ub  UR                  SU-  5        X l        Ub  UR                  SU-  5        X0l        SU l        SR                  U5      $ ! [         a     g f = f)NrG   rI   rm   rn   Tro   )	r   rG   rp   rI   rH   rJ   rT   rq   r^   )r   r   rH   rJ   rr   s        r   r!   PerMessageDeflate.accept   s    9=9K9KE9R6
**:;**:;	)%1!!"=@V"VW.D+%1!!"=@V"VW.D+ !DM99Z((	  		s   :B- -
B:9B:r&   r(   r)   c                 X   UR                   (       a%  UR                  5       (       a  [        R                  $ UR                   (       a#  U[        R
                  L a  [        R                  $ U R                  U5      U l        U R                  c  UR                   U l        U R                  (       ao  U R                  (       d   eUR                  (       a  U R                  nOU R                  nU R                  c%  [        R                  " [        U5      * 5      U l        [!        SSS5      $ )NTF)rsv1	iscontrolr   PROTOCOL_ERRORr
   rg   rh   rR   rS   clientrJ   rH   rQ   zlibdecompressobjr@   r   )r   r&   r'   r(   r)   r|   s         r   r+   &PerMessageDeflate.frame_inbound_header   s     88((**---88&"5"55---(,(A(A&(I%##+'*xxD$''4444<<66D66D%%-)-););SYJ)GD&tUE**r   r-   c                    U R                   (       a  U R                  (       d  U$ U R                  c   e U R                  R                  [	        U5      5      $ ! [
        R                   a    [        R                  s $ f = fr   )	rS   rR   rQ   
decompressrA   r   errorr   INVALID_FRAME_PAYLOAD_DATAr/   s      r   r0   ,PerMessageDeflate.frame_inbound_payload_data   sk     ''t/L/LK!!---	:%%00t==zz 	:999	:s   #A $B ?B r2   c                    U(       d  g U R                   (       d  S U l        g U R                  (       d  S U l        g U R                  c   e U R                  R                  S5      nX0R                  R	                  5       -  nUR                  (       a  U R                  nOU R                  nU(       a  S U l        S U l        U$ ! [
        R                   a    [        R                  s $ f = f)Ns     )rR   rS   rQ   r   flushr   r   r   r   r   rI   rG   )r   r&   r2   r-   no_context_takeovers        r   r4   (PerMessageDeflate.frame_inbound_complete   s     ,,'+D$'''+D$!!---	:%%001DED&&,,..D <<"&"A"A"&"A"A!%D#'  zz 	:999	:s   7C $C*)C*c                    U R                  U5      (       d  X44$ U[        R                  La  [        S/USS  Q76 nU R                  c  U[        R                  Ld   eUR
                  (       a  U R                  nOU R                  n[        R                  " [        R                  [        R                  [        U5      * 5      U l        U R                  R                  [        U5      5      nU(       ah  X@R                  R                  [        R                   5      -  nUS S nUR
                  (       a  U R"                  nOU R$                  nU(       a  S U l        X44$ )NTr   )rh   r
   rg   r   rP   r   rH   rJ   r   compressobjZ_DEFAULT_COMPRESSIONDEFLATEDr@   compressrA   r   Z_SYNC_FLUSHrG   rI   )r   r&   r'   r(   r-   r2   r|   r   s           r   r7    PerMessageDeflate.frame_outbound  s"    ((00;,,,$)QR)C#!4!4444||2222#//**DMMCI: D ((t5$$**4+<+<==D9D||&*&E&E#&*&E&E#"#' {r   c                 P   SU R                   -  /nU R                  (       a  UR                  S5        UR                  SU R                  -  5        U R                  (       a  UR                  S5        SR                  U R                  R                  SR                  U5      5      $ )Nrm   rG   rn   rI   z<{} {}>ro   )	rH   rG   rp   rJ   rI   format	__class__r9   rq   )r   descrs     r   __repr__PerMessageDeflate.__repr__,  s    ,t/J/JJK**LL56043N3NNO**LL56 7 759IJJr   )rM   rP   rQ   rT   rS   rR   rO   rH   rG   rJ   rI   )FNFN)$r9   r:   r;   r<   r   rL   rN   r?   r   r@   rU   propertyrH   setterrJ   r
   rh   r   r   r=   r   r$   r   r   r!   r   r	   r   r   r+   rA   r0   r4   r7   r   rB   r   r   r   rD   rD   ;   s   D%'"%'" ,104+004$( !) %)	
 !) 
6 , , , ""-C -D - #-
 , , , ""-C -D - #-
K6 Kd K %uT3Y' %c d >C >E(3-#2N,O >.)C )E$c/$: ),+\=01+ + 	+
 + 
{G#	$+6
:<67
:?D
:	uk!	"
:<67>B	uk4'	(>&\=01& & 	&
 & & 
w~	&PK# Kr   rD   )__doc__r   typingr   r   r   frame_protocolr   r   r	   r
   r   r   rD   r   SUPPORTED_EXTENSIONSr   r   r   <module>r      sK     ) ) U U* *ZyK	 yK@ *..0AB r   