
    !<iM                     R    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	dS )    N)
json_loads)
to_unicode)urlsafe_b64decode)DecodeErrorc                 6   t          |           dk    rt          d          t          | |d          }	 t          |                    d                    }n!# t          $ r} |d|           |d }~ww xY wt          |t                    s |d          |S )N  zValue of header is too longheaderzutf-8zInvalid header string: zHeader must be a json object)len
ValueErrorextract_segmentr   decode
isinstancedict)header_segment	error_clsheader_datar	   es        /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/authlib/jose/util.pyextract_headerr   	   s    
>V##6777!.)XFFK>K..w7788 > > >i5!5566A=> fd## 8i6777Ms   "A 
A6"A11A6payloadc                     t          |           dk    rt          d| d          	 t          |           S # t          t          j        f$ r}d| d} ||          |d }~ww xY w)Nr   z	Value of z is too longInvalid z padding)r
   r   r   	TypeErrorbinasciiError)segmentr   nameexcmsgs        r   r   r      s    
7||f7T777888& )))x~& & & &''''inn#%&s   7 A$AA$c                    t          | t                    sJ	 t          t          |                     } n,# t          t
          f$ r}t          d|           |d }~ww xY wt          | t                    st          d|           | S )Nr   )r   r   r   r   r   r   r   )sstructure_namer   s      r   ensure_dictr#   $   s    a D	D:a==))AAI& 	D 	D 	D999::C	D a 75^55666Hs   4 AAA)r   )
r   authlib.common.encodingr   r   r   authlib.jose.errorsr   r   r   r#        r   <module>r(      s     . . . . . . . . . . . . 5 5 5 5 5 5 + + + + + +   & & & &
 
 
 
 
r'   