§
    (ê[f�	  ã                   óX   —  G d „ d¦  «        Z  G d„ de¦  «        Z G d„ de¦  «        ZdS )c                   ó4   — e Zd ZdZdZdZdZdZd„ Zd„ Z	d„ Z
dS )ÚJWSAlgorithmzˆInterface for JWS algorithm. JWA specification (RFC7518) SHOULD
    implement the algorithms for JWS with this base implementation.
    NÚJWSÚalgc                 ó   — t          ¦   «         ‚)z0Prepare key for signing and verifying signature.©ÚNotImplementedError)ÚselfÚraw_datas     úO/var/www/piapp/venv/lib/python3.11/site-packages/authlib/jose/rfc7515/models.pyÚprepare_keyzJWSAlgorithm.prepare_key
   s   € å!Ñ#Ô#Ð#ó    c                 ó   — t           ‚)z®Sign the text msg with a private/sign key.

        :param msg: message bytes to be signed
        :param key: private key to sign the message
        :return: bytes
        r   )r	   ÚmsgÚkeys      r   ÚsignzJWSAlgorithm.sign   s
   € õ "Ð!r   c                 ó   — t           ‚)z÷Verify the signature of text msg with a public/verify key.

        :param msg: message bytes to be signed
        :param sig: result signature to be compared
        :param key: public key to verify the signature
        :return: boolean
        r   )r	   r   Úsigr   s       r   ÚverifyzJWSAlgorithm.verify   s
   € õ "Ð!r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚdescriptionÚalgorithm_typeÚalgorithm_locationr   r   r   © r   r   r   r      sb   € € € € € ðð ð €DØ€KØ€NØÐð$ð $ð $ð"ð "ð "ð"ð "ð "ð "ð "r   r   c                   ó8   ‡ — e Zd ZdZˆ fd„Zed„ ¦   «         Zˆ xZS )Ú	JWSHeadera  Header object for JWS. It combine the protected header and unprotected
    header together. JWSHeader itself is a dict of the combined dict. e.g.

        >>> protected = {'alg': 'HS256'}
        >>> header = {'kid': 'a'}
        >>> jws_header = JWSHeader(protected, header)
        >>> print(jws_header)
        {'alg': 'HS256', 'kid': 'a'}
        >>> jws_header.protected == protected
        >>> jws_header.header == header

    :param protected: dict of protected header
    :param header: dict of unprotected header
    c                 óÆ   •— i }|r|                      |¦  «         |r|                      |¦  «         t          ¦   «                              |¦  «         || _        || _        d S )N)ÚupdateÚsuperÚ__init__Ú	protectedÚheader)r	   r$   r%   ÚobjÚ	__class__s       €r   r#   zJWSHeader.__init__1   sf   ø€ ØˆØð 	"Ø�JŠJ�yÑ!Ô!Ð!Øð 	Ø�JŠJ�vÑÔÐÝ‰Œ×Ò˜ÑÔÐØ"ˆŒØˆŒˆˆr   c                 óŠ   — t          || ¦  «        r|S  | |                     d¦  «        |                     d¦  «        ¦  «        S )Nr$   r%   )Ú
isinstanceÚget)Úclsr&   s     r   Ú	from_dictzJWSHeader.from_dict;   sC   € å�c˜3ÑÔð 	ØˆJØˆs�3—7’7˜;Ñ'Ô'¨¯ª°Ñ):Ô):Ñ;Ô;Ð;r   )r   r   r   r   r#   Úclassmethodr,   Ú__classcell__©r'   s   @r   r   r   "   s]   ø€ € € € € ðð ðð ð ð ð ð ð<ð <ñ „[ð<ð <ð <ð <ð <r   r   c                   ó:   ‡ — e Zd ZdZdˆ fd„	Zed„ ¦   «         Zˆ xZS )Ú	JWSObjectz*A dict instance to represent a JWS object.Úcompactc                 óx   •— t          ¦   «                              ||¬¦  «         || _        || _        || _        d S )N)r%   Úpayload)r"   r#   r%   r4   Útype)r	   r%   r4   r5   r'   s       €r   r#   zJWSObject.__init__D   sE   ø€ Ý‰Œ×ÒØØð 	ñ 	
ô 	
ð 	
ð ˆŒØˆŒØˆŒ	ˆ	ˆ	r   c                 ó,   — | j         dk    r| d         S dS )z'Alias of ``header`` for JSON typed JWS.Újsonr%   N)r5   )r	   s    r   ÚheaderszJWSObject.headersM   s#   € ð Œ9˜ÒÐØ˜”>Ð!ð Ðr   )r2   )r   r   r   r   r#   Úpropertyr8   r.   r/   s   @r   r1   r1   B   s^   ø€ € € € € Ø4Ð4ðð ð ð ð ð ð ð"ð "ñ „Xð"ð "ð "ð "ð "r   r1   N)r   Údictr   r1   r   r   r   ú<module>r;      s�   ðð"ð "ð "ð "ð "ñ "ô "ð "ðB<ð <ð <ð <ð <�ñ <ô <ð <ð@"ð "ð "ð "ð "�ñ "ô "ð "ð "ð "r   