
    ~h                     P    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d Zd	dZd Z	y)
    N)
json_loads)
to_unicode)urlsafe_b64decode)DecodeErrorc                     t        | |d      }	 t        |j                  d            }t	        |t
              s |d      |S # t        $ r} |d|       |d }~ww xY w)Nheaderzutf-8zInvalid header string: zHeader must be a json object)extract_segmentr   decode
ValueError
isinstancedict)header_segment	error_clsheader_datar   es        M/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/authlib/jose/util.pyextract_headerr   	   sn    !.)XFK>K..w78 fd#677M  >1!56A=>s   A 	AAAc                 z    	 t        |       S # t        t        j                  f$ r}d| d} ||      |d }~ww xY w)NInvalid z padding)r   	TypeErrorbinasciiError)segmentr   nameexcmsgs        r   r	   r	      sE    & ))x~~& &h'n#%&s   
 :5:c                     t        | t              s	 t        t        |             } t        | t              st        d|       | S # t        t
        f$ r}t        d|       |d }~ww xY w)Nr   )r   r   r   r   r   r   r   )sstructure_namer   s      r   ensure_dictr       sr    a	D:a=)A aH^$4566H I& 	D(89:C	Ds   A A)A$$A))payload)
r   authlib.common.encodingr   r   r   authlib.jose.errorsr   r   r	   r         r   <module>r&      s#     . . 5 +
&
r%   