File: //home/arjun/projects/env/lib/python3.10/site-packages/oauthlib/__pycache__/common.cpython-310.pyc
o
weA4 � @ s� d Z ddlZddlZddlZddlZddlZddlmZ ddlm Z
mZm
Z ddlmZ z
ddlmZmZ W n eyG ddlmZmZ Y nw dZd Ze�d
ej�Ze�d�ZdZe�d
�Zd9dd�Z dd� Zdd� Z
dd� Z dd� Z!e"e�e"d�B Z#dd� Z$dd� Z%dd� Z&d d!� Z'd"efd#d$�Z(d%d&� Z)d'd(� Z*d"efd)d*�Z+d+d,� Z,d:d.d/�Z-d0d1� Z.d;d3d4�Z/G d5d6� d6e0�Z1G d7d8� d8�Z2dS )<z|
oauthlib.common
~~~~~~~~~~~~~~
This module provides data structures and utilities common
to all implementations of OAuth.
� N)�quote�unquote� urlencode� )� get_debug)�SystemRandom�randbits)r �getrandbits�>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789z_ !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}z&([^&;]*(?:password|token)[^=]*=)[^&;]+z&%[^0-9A-Fa-f]|%[0-9A-Fa-f][^0-9A-Fa-f]zAABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-�oauthlib� /c C s: t | t�r
| �d�n| } t| |�} t | t�r| �d�} | S �N�utf-8)�
isinstance�str�encode�_quote�bytes�decode)�s�safe� r �H/home/arjun/projects/env/lib/python3.10/site-packages/oauthlib/common.pyr + s
r c C s t | �} t| t�r| �d�} | S r
)�_unquoter r r )r r r r r 5 s
r c C s( t | �}t|�}t|t�r|S |�d�S r
)�encode_params_utf8�
_urlencoder r r )�params�utf8_params�
urlencodedr r r r ? s
r c C �L g }| D ]\}}|� t|t�r|�d�n|t|t�r|�d�n|f� q|S )ziEnsures that all parameters in a list of 2-element tuples are encoded to
bytestrings using UTF-8
r )�appendr r r )r �encoded�k�vr r r r H � �r c C r )zfEnsures that all parameters in a list of 2-element tuples are decoded to
unicode using UTF-8.
r )r r r r )r �decodedr"