+
    iW                    ~    ^ RI Ht ^ RIHt ^RIHt ^RIHtHt . ROt	 ! R R4      t
 ! R	 R4      t ! R
 R4      tR# )    )annotations)Sequence)Frame)ExtensionNameExtensionParameter	ExtensionClientExtensionFactoryServerExtensionFactoryc                  H    ] tR t^t$ RtR]R&    RR/R R lltR R	 ltR
tR# )r   z
Base class for extensions.

r   namemax_sizeNc               $    V ^8  d   QhRRRRRR/# )   framer   r   z
int | Nonereturn )formats   "a/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/websockets/extensions/base.py__annotate__Extension.__annotate__   s!     " "E "
 "e "    c                   \         h)z
Decode an incoming frame.

Args:
    frame: Incoming frame.
    max_size: Maximum payload size in bytes.

Returns:
    Decoded frame.

Raises:
    PayloadTooBig: If decoding the payload exceeds ``max_size``.

NotImplementedError)selfr   r   s   &&$r   decodeExtension.decode   s
     "!r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   r   &   s     " "E "e "r   c                    \         h)z[
Encode an outgoing frame.

Args:
    frame: Outgoing frame.

Returns:
    Encoded frame.

r   )r   r   s   &&r   encodeExtension.encode&   s
     "!r   r   )	__name__
__module____qualname____firstlineno____doc____annotations__r   r    __static_attributes__r   r   r   r   r      s(    
 "T """ "r   c                  @    ] tR t^4t$ RtR]R&    R R ltR R ltRtR	# )
r	   z2
Base class for client-side extension factories.

r   r   c                   V ^8  d   QhRR/# )r   r   Sequence[ExtensionParameter]r   )r   s   "r   r   #ClientExtensionFactory.__annotate__=   s     " "$@ "r   c                    \         h)zm
Build parameters to send to the server for this extension.

Returns:
    Parameters to send to the server.

r   )r   s   &r   get_request_params)ClientExtensionFactory.get_request_params=   s
     "!r   c               $    V ^8  d   QhRRRRRR/# )r   paramsr+   accepted_extensionsSequence[Extension]r   r   r   )r   s   "r   r   r,   G   s(     " "," 1" 
	"r   c                    \         h)a   
Process parameters received from the server.

Args:
    params: Parameters received from the server for this extension.
    accepted_extensions: List of previously accepted extensions.

Returns:
    An extension instance.

Raises:
    NegotiationError: If parameters aren't acceptable.

r   r   r1   r2   s   &&&r   process_response_params.ClientExtensionFactory.process_response_paramsG   s
    & "!r   r   N)	r"   r#   r$   r%   r&   r'   r.   r6   r(   r   r   r   r	   r	   4   s!    
 "" "r   c                  4    ] tR t^]t$ RtR]R&    R R ltRtR# )r
   z2
Base class for server-side extension factories.

r   r   c               $    V ^8  d   QhRRRRRR/# )r   r1   r+   r2   r3   r   z*tuple[list[ExtensionParameter], Extension]r   )r   s   "r   r   #ServerExtensionFactory.__annotate__f   s(     " "," 1" 
4	"r   c                    \         h)a  
Process parameters received from the client.

Args:
    params: Parameters received from the client for this extension.
    accepted_extensions: List of previously accepted extensions.

Returns:
    To accept the offer, parameters to send to the client for this
    extension and an extension instance.

Raises:
    NegotiationError: To reject the offer, if parameters received from
        the client aren't acceptable.

r   r5   s   &&&r   process_request_params-ServerExtensionFactory.process_request_paramsf   s
    * "!r   r   N)r"   r#   r$   r%   r&   r'   r<   r(   r   r   r   r
   r
   ]   s    
 " "r   N)r   r	   r
   )
__future__r   collections.abcr   framesr   typingr   r   __all__r   r	   r
   r   r   r   <module>rC      s9    " $  6 L%" %"P&" &"R" "r   