Ë
    Ûvžjb)  ã            	      óz  — d Z ddlmZ ddlZddlZddlmZ g d¢Z G d„ de«      Z	 G d	„ d
e	«      Z
 G d„ de
«      Z G d„ de
«      Z G d„ de	«      Z G d„ de	«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ d e«      Z G d!„ d"e«      Z G d#„ d$e«      Z G d%„ d&e«      Z G d'„ d(e«      Z G d)„ d*e	«      Z G d+„ d,e	«      Z G d-„ d.e	e«      Z G d/„ d0e	e«      Zej@                  rdd1l!m"Z"m#Z#m$Z$m%Z% eZ&n e e'«       d2d2d2d2d2d3œ¬4«       dd5l(m)Z)m*Z* y)6a×  
:mod:`websockets.exceptions` defines the following hierarchy of exceptions.

* :exc:`WebSocketException`
    * :exc:`ConnectionClosed`
        * :exc:`ConnectionClosedOK`
        * :exc:`ConnectionClosedError`
    * :exc:`InvalidURI`
    * :exc:`InvalidHandshake`
        * :exc:`SecurityError`
        * :exc:`InvalidMessage` (legacy)
        * :exc:`InvalidStatus`
        * :exc:`InvalidStatusCode` (legacy)
        * :exc:`InvalidHeader`
            * :exc:`InvalidHeaderFormat`
            * :exc:`InvalidHeaderValue`
            * :exc:`InvalidOrigin`
            * :exc:`InvalidUpgrade`
        * :exc:`NegotiationError`
            * :exc:`DuplicateParameter`
            * :exc:`InvalidParameterName`
            * :exc:`InvalidParameterValue`
        * :exc:`AbortHandshake` (legacy)
        * :exc:`RedirectHandshake` (legacy)
    * :exc:`ProtocolError` (Sans-I/O)
    * :exc:`PayloadTooBig` (Sans-I/O)
    * :exc:`InvalidState` (Sans-I/O)
    * :exc:`ConcurrencyError`

é    )ÚannotationsNé   )Úlazy_import)ÚWebSocketExceptionÚConnectionClosedÚConnectionClosedOKÚConnectionClosedErrorÚ
InvalidURIÚInvalidHandshakeÚSecurityErrorÚInvalidMessageÚInvalidStatusÚInvalidStatusCodeÚInvalidHeaderÚInvalidHeaderFormatÚInvalidHeaderValueÚInvalidOriginÚInvalidUpgradeÚNegotiationErrorÚDuplicateParameterÚInvalidParameterNameÚInvalidParameterValueÚAbortHandshakeÚRedirectHandshakeÚProtocolErrorÚWebSocketProtocolErrorÚPayloadTooBigÚInvalidStateÚConcurrencyErrorc                  ó   — e Zd ZdZy)r   z?
    Base class for all exceptions defined by websockets.

    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úf/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/websockets/exceptions.pyr   r   F   ó   „ òr'   r   c                  óV   — e Zd ZdZ	 d	 	 	 	 	 	 	 dd„Zd	d„Zed
d„«       Zed	d„«       Zy)r   a  
    Raised when trying to interact with a closed connection.

    Attributes:
        rcvd: If a close frame was received, its code and reason are available
            in ``rcvd.code`` and ``rcvd.reason``.
        sent: If a close frame was sent, its code and reason are available
            in ``sent.code`` and ``sent.reason``.
        rcvd_then_sent: If close frames were received and sent, this attribute
            tells in which order this happened, from the perspective of this
            side of the connection.

    Nc                óŒ   — || _         || _        || _        | j                  d u | j                   d u xs | j                  d u k(  sJ ‚y ©N©ÚrcvdÚsentÚrcvd_then_sent)Úselfr.   r/   r0   s       r(   Ú__init__zConnectionClosed.__init__\   sK   € ð ˆŒ	ØˆŒ	Ø,ˆÔØ×#Ñ# tÐ+°·±¸dÐ1BÒ1WÀdÇiÁiÐSWÐFWÒXÐXÑXr'   c                ó  — | j                   €| j                  €yd| j                  › d�S | j                  €d| j                   › d�S | j                  rd| j                   › d| j                  › �S d| j                  › d| j                   › �S )Nzno close frame received or sentzsent z; no close frame receivedz	received z; no close frame sentz; then sent z; then received r-   ©r1   s    r(   Ú__str__zConnectionClosed.__str__g   s‹   € Ø�9‰9ÐØ�y‰yÐ Ø8à˜tŸy™y˜kÐ)BÐCÐCà�y‰yÐ Ø" 4§9¡9 +Ð-BÐCÐCà×&Ò&Ø& t§y¡y k°¸d¿i¹i¸[ÐIÐIà" 4§9¡9 +Ð-=¸d¿i¹i¸[ÐIÐIr'   c                ó®   — t        j                  dt        «       | j                  €t        j
                  j                  S | j                  j                  S )NzZConnectionClosed.code is deprecated; use Protocol.close_code or ConnectionClosed.rcvd.code)ÚwarningsÚwarnÚDeprecationWarningr.   ÚframesÚ	CloseCodeÚABNORMAL_CLOSUREÚcoder4   s    r(   r=   zConnectionClosed.codex   sC   € ä�‰ðDäô	
ð
 �9‰9ÐÜ×#Ñ#×4Ñ4Ð4Ø�y‰y�~‰~Ðr'   c                ó|   — t        j                  dt        «       | j                  €y| j                  j                  S )Nz`ConnectionClosed.reason is deprecated; use Protocol.close_reason or ConnectionClosed.rcvd.reasonÚ )r7   r8   r9   r.   Úreasonr4   s    r(   r@   zConnectionClosed.reasonƒ   s6   € ä�‰ðHäô	
ð
 �9‰9ÐØØ�y‰y×ÑÐr'   r,   )r.   úframes.Close | Noner/   rA   r0   zbool | NoneÚreturnÚNone©rB   Ústr)rB   Úint)	r"   r#   r$   r%   r2   r5   Úpropertyr=   r@   r&   r'   r(   r   r   M   sj   „ ñð$ '+ð		Yà!ð	Yð "ð	Yð $ð		Yð
 
ó	YóJð" òó ðð ò ó ñ r'   r   c                  ó   — e Zd ZdZy)r   z¹
    Like :exc:`ConnectionClosed`, when the connection terminated properly.

    A close code with code 1000 (OK) or 1001 (going away) or without a code was
    received and sent.

    Nr!   r&   r'   r(   r   r   �   ó   „ òr'   r   c                  ó   — e Zd ZdZy)r	   zì
    Like :exc:`ConnectionClosed`, when the connection terminated with an error.

    A close frame with a code other than 1000 (OK) or 1001 (going away) was
    received or sent, or the closing handshake didn't complete properly.

    Nr!   r&   r'   r(   r	   r	   ™   rI   r'   r	   c                  ó    — e Zd ZdZdd„Zdd„Zy)r
   zL
    Raised when connecting to a URI that isn't a valid WebSocket URI.

    c                ó    — || _         || _        y r,   ©ÚuriÚmsg)r1   rN   rO   s      r(   r2   zInvalidURI.__init__©   s   € ØˆŒØˆ�r'   c                ó8   — | j                   › d| j                  › �S )Nz isn't a valid URI: rM   r4   s    r(   r5   zInvalidURI.__str__­   s   € Ø—(‘(�Ð/°·±¨zÐ:Ð:r'   N)rN   rE   rO   rE   rB   rC   rD   ©r"   r#   r$   r%   r2   r5   r&   r'   r(   r
   r
   £   s   „ ñó
ô;r'   r
   c                  ó   — e Zd ZdZy)r   zM
    Base class for exceptions raised when the opening handshake fails.

    Nr!   r&   r'   r(   r   r   ±   r)   r'   r   c                  ó   — e Zd ZdZy)r   zµ
    Raised when a handshake request or response breaks a security rule.

    Security limits can be configured with :doc:`environment variables
    <../reference/variables>`.

    Nr!   r&   r'   r(   r   r   ¸   rI   r'   r   c                  ó    — e Zd ZdZdd„Zdd„Zy)r   zJ
    Raised when a handshake response rejects the WebSocket upgrade.

    c                ó   — || _         y r,   )Úresponse)r1   rV   s     r(   r2   zInvalidStatus.__init__È   s	   € Ø ˆ�r'   c                ó6   — d| j                   j                  d›�S )Nz+server rejected WebSocket connection: HTTP Úd)rV   Ústatus_coder4   s    r(   r5   zInvalidStatus.__str__Ë   s#   € ðØ—M‘M×-Ñ-¨aÐ0ð2ð	
r'   N)rV   zhttp11.ResponserB   rC   rD   rQ   r&   r'   r(   r   r   Â   s   „ ñó
!ô
r'   r   c                  ó"   — e Zd ZdZddd„Zdd„Zy)r   zK
    Raised when an HTTP header doesn't have a valid format or value.

    Nc                ó    — || _         || _        y r,   ©ÚnameÚvalue©r1   r]   r^   s      r(   r2   zInvalidHeader.__init__Ø   ó   € ØˆŒ	Øˆ�
r'   c                ó°   — | j                   €d| j                  › d�S | j                   dk(  rd| j                  › d�S d| j                  › d| j                   › �S )Nzmissing z headerr?   zempty zinvalid z	 header: ©r^   r]   r4   s    r(   r5   zInvalidHeader.__str__Ü   sY   € Ø�:‰:ÐØ˜dŸi™i˜[¨Ð0Ð0Ø�Z‰Z˜2ÒØ˜DŸI™I˜; gÐ.Ð.à˜dŸi™i˜[¨	°$·*±*°Ð>Ð>r'   r,   ©r]   rE   r^   ú
str | NonerB   rC   rD   rQ   r&   r'   r(   r   r   Ò   s   „ ñô
ô?r'   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   z€
    Raised when an HTTP header cannot be parsed.

    The format of the header doesn't match the grammar for that header.

    c                ó6   •— t         ‰| �  ||› d|› d|› �«       y )Nz at z in ©Úsuperr2   )r1   r]   ÚerrorÚheaderÚposÚ	__class__s        €r(   r2   zInvalidHeaderFormat.__init__í   s#   ø€ Ü‰Ñ˜ % ¨¨S¨E°°f°XÐ>Õ?r'   )
r]   rE   ri   rE   rj   rE   rk   rF   rB   rC   ©r"   r#   r$   r%   r2   Ú__classcell__©rl   s   @r(   r   r   å   s   ø„ ñ÷@ñ @r'   r   c                  ó   — e Zd ZdZy)r   z�
    Raised when an HTTP header has a wrong value.

    The format of the header is correct but the value isn't acceptable.

    Nr!   r&   r'   r(   r   r   ñ   s   „ òr'   r   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   zD
    Raised when the Origin header in a request isn't allowed.

    c                ó&   •— t         ‰| �  d|«       y )NÚOriginrg   )r1   Úoriginrl   s     €r(   r2   zInvalidOrigin.__init__   s   ø€ Ü‰Ñ˜ 6Õ*r'   )rt   rd   rB   rC   rm   ro   s   @r(   r   r   ú   s   ø„ ñ÷
+ñ +r'   r   c                  ó   — e Zd ZdZy)r   zF
    Raised when the Upgrade or Connection header isn't correct.

    Nr!   r&   r'   r(   r   r     r)   r'   r   c                  ó   — e Zd ZdZy)r   zG
    Raised when negotiating an extension or a subprotocol fails.

    Nr!   r&   r'   r(   r   r     r)   r'   r   c                  ó    — e Zd ZdZdd„Zdd„Zy)r   zK
    Raised when a parameter name is repeated in an extension header.

    c                ó   — || _         y r,   ©r]   ©r1   r]   s     r(   r2   zDuplicateParameter.__init__  ó	   € Øˆ�	r'   c                ó    — d| j                   › �S )Nzduplicate parameter: ry   r4   s    r(   r5   zDuplicateParameter.__str__  s   € Ø& t§y¡y kÐ2Ð2r'   N©r]   rE   rB   rC   rD   rQ   r&   r'   r(   r   r     s   „ ñó
ô3r'   r   c                  ó    — e Zd ZdZdd„Zdd„Zy)r   zJ
    Raised when a parameter name in an extension header is invalid.

    c                ó   — || _         y r,   ry   rz   s     r(   r2   zInvalidParameterName.__init__%  r{   r'   c                ó    — d| j                   › �S )Nzinvalid parameter name: ry   r4   s    r(   r5   zInvalidParameterName.__str__(  s   € Ø)¨$¯)©)¨Ð5Ð5r'   Nr}   rD   rQ   r&   r'   r(   r   r     s   „ ñó
ô6r'   r   c                  ó    — e Zd ZdZdd„Zdd„Zy)r   zK
    Raised when a parameter value in an extension header is invalid.

    c                ó    — || _         || _        y r,   r\   r_   s      r(   r2   zInvalidParameterValue.__init__2  r`   r'   c                ó¬   — | j                   €d| j                  › �S | j                   dk(  rd| j                  › �S d| j                  › d| j                   › �S )Nzmissing value for parameter r?   zempty value for parameter zinvalid value for parameter z: rb   r4   s    r(   r5   zInvalidParameterValue.__str__6  sU   € Ø�:‰:ÐØ1°$·)±)°Ð=Ð=Ø�Z‰Z˜2ÒØ/°·	±	¨{Ð;Ð;à1°$·)±)°¸B¸t¿z¹z¸lÐKÐKr'   Nrc   rD   rQ   r&   r'   r(   r   r   ,  s   „ ñó
ôLr'   r   c                  ó   — e Zd ZdZy)r   a  
    Raised when receiving or sending a frame that breaks the protocol.

    The Sans-I/O implementation raises this exception when:

    * receiving or sending a frame that contains invalid data;
    * receiving or sending an invalid sequence of frames.

    Nr!   r&   r'   r(   r   r   ?  s   „ òr'   r   c                  ó   — e Zd ZdZy)r   aU  
    Raised when parsing a frame with a payload that exceeds the maximum size.

    The Sans-I/O layer uses this exception internally. It doesn't bubble up to
    the I/O layer.

    The :meth:`~websockets.extensions.Extension.decode` method of extensions
    must raise :exc:`PayloadTooBig` if decoding a frame would exceed the limit.

    Nr!   r&   r'   r(   r   r   K  s   „ ò	r'   r   c                  ó   — e Zd ZdZy)r   až  
    Raised when sending a frame is forbidden in the current state.

    Specifically, the Sans-I/O layer raises this exception when:

    * sending a data frame to a connection in a state other
      :attr:`~websockets.protocol.State.OPEN`;
    * sending a control frame to a connection in a state other than
      :attr:`~websockets.protocol.State.OPEN` or
      :attr:`~websockets.protocol.State.CLOSING`.

    Nr!   r&   r'   r(   r   r   X  s   „ òr'   r   c                  ó   — e Zd ZdZy)r   zÜ
    Raised when receiving or sending messages concurrently.

    WebSocket is a connection-oriented protocol. Reads must be serialized; so
    must be writes. However, reading and writing concurrently is possible.

    Nr!   r&   r'   r(   r   r   g  rI   r'   r   )r   r   r   r   z.legacy.exceptions)r   r   r   r   r   )Úaliases)r:   Úhttp11)+r%   Ú
__future__r   Útypingr7   Úimportsr   Ú__all__Ú	Exceptionr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ÚAssertionErrorr   ÚRuntimeErrorr   ÚTYPE_CHECKINGÚlegacy.exceptionsr   r   r   r   r   Úglobalsr?   r:   r‰   r&   r'   r(   Ú<module>r”      sz  ðñõ> #ã Û å  ò€ô<˜ô ô? Ð)ô ? ôDÐ)ô ôÐ,ô ô;Ð#ô ;ôÐ)ô ôÐ$ô ô
Ð$ô 
ô ?Ð$ô ?ô&	@˜-ô 	@ô˜ô ô+�Mô +ô�]ô ôÐ'ô ô
3Ð)ô 
3ô
6Ð+ô 
6ôLÐ,ô Lô&	Ð&ô 	ô
Ð&ô 
ôÐ% ~ô ôÐ)¨<ô ð 
×Ò÷ó ð +ÑáÙ‹	à2Ø2Ø!5Ø!5Ø&:ñ
õ	÷ Ð r'   