
    kKj*              
           d dl mZmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZmZ d dlmZ ddlmZ d	ed
edede
def
dZdededefdZy)   )FlattenedJSONSerializationJSONSignatureDict)HeaderMemberFlattenedJSONSignature)JWSRegistry)sign_json_memberFindKey)to_bytesjson_b64decodeurlsafe_b64decode)DecodeError   )is_rfc7797_enabledmemberpayloadregistryfind_keyreturnc                 L    t        || ||      }d|j                  d      i|}|S )Nr   utf-8)r   decode)r   r   r   r   	signaturedatas         f/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/joserfc/_rfc7797/json.pysign_rfc7797_jsonr   
   s1     !&(HEI(17>>'3J'Xi'XDK    valuec                    d| v r+t        | d         }|j                  |       t        |      }nd }| j                  d      }t	        ||      }| d   j                  d      }|j                  |       t        |j                               r|}n	 t        |      }t        ||      }d| d   i}	d| v r| d   |	d<   d| v r| d   |	d<   |	|_        d|i|_        |S # t        t        f$ r t        d      w xY w)N	protectedheaderr   r   zInvalid payloadr   )r
   validate_header_sizer   getr   encodevalidate_payload_sizer   headersr   	TypeError
ValueErrorr   r   r   segments)
r   r   protected_segmentr   r    r   payload_segmentr   obj_sigs
             r   extract_rfc7797_jsonr-      s   e$U;%78%%&78"#45		YYx F)V,F"9-44W=O""?3&..*+!	1'8G !
1C*E+,>?De!+.[5xXCM/CLJ :& 	1/00	1s   C C4N)_rfc7515.typesr   r   _rfc7515.modelr   r   _rfc7515.registryr   _rfc7515.jsonr   r	   utilr
   r   r   errorsr   r   bytesr   r-    r   r   <module>r6      sl    J A + 5 > >   $  	
   : k Vl r   