
    '[f
                     b    d dl Z d dlZd dlZddZddZddZd Zdd
Zd Zd Z	d Z
d Zd ZdS )    Nutf-8strictc                 *   | d S t          | t                    r| S t          | t                    r|                     ||          S t          | t          t
          f          r#t          |                               ||          S t          |           S N)
isinstancebytesstrencodeintfloatxcharseterrorss      K/var/www/piapp/venv/lib/python3.11/site-packages/authlib/common/encoding.pyto_bytesr      s    yt!U !S )xx(((!c5\"" .1vv}}Wf---88O    c                     | t          | t                    r| S t          | t                    r|                     ||          S t          |           S r   )r   r	   r   decoder   s      r   
to_unicoder      sK    yJq#&&y!U )xx(((q66Mr   asciic                 Z    t          | t                    r| S |                     |          S r   )r   r	   r   )r   encodings     r   	to_nativer      s+    !S 88Hr   c                 *    t          j        |           S r   )jsonloadsss    r   
json_loadsr        s    :a==r   Fc                 0    t          j        | |d          S )N),:)ensure_ascii
separators)r   dumps)datar$   s     r   
json_dumpsr(   $   s    :d*MMMMr   c                 \    | dt          |            dz  z  z  } t          j        |           S )N   =   )lenbase64urlsafe_b64decoder   s    r   r.   r.   (   s.    #a&&1	A#A&&&r   c                 P    t          j        |                               d          S )Nr*   )r-   urlsafe_b64encoderstripr   s    r   r0   r0   -   s!    #A&&--d333r   c                     t          t          | d                    }t          j        dt	          |          z  |          }t          d                    d |D                       d          S )Nr   )r   z%sB c                     g | ]}d |z  S )z%02x ).0bytes     r   
<listcomp>z!base64_to_int.<locals>.<listcomp>4   s    666$666r      )r.   r   structunpackr,   r   join)r   r'   bufs      r   base64_to_intr>   1   sc    Xa999::D
-D		)4
0
0Crww66#66677<<<r   c                     | dk     rt          d          |                     |                                 dz   dz  dd          }t          t	          |                    S )Nr   zMust be a positive integer      bigF)signed)
ValueErrorr   
bit_lengthr   r0   )numr   s     r   int_to_base64rG   7   s\    
Qww5666cnn&&*q0%FFA'**+++r   c                     t          | t                    rt          |           } t          t	          |                     S r   )r   dictr(   r0   r   )texts    r   json_b64encoderK   ?   s5    $  $Xd^^,,,r   )r   r   )r   )F)r   r-   r:   r   r   r   r    r(   r.   r0   r>   rG   rK   r5   r   r   <module>rL      s      	 	 	 	        N N N N' ' '
4 4 4= = =, , ,- - - - -r   