+
    öû•iÒ  ã                  ó~   € ^ 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   "ÚtC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\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   