<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    .e*                     @   sp   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ ddlm	Z	m
Z
mZ dd Zdd	 ZG d
d deZdS )    N)msgpack)CaseInsensitiveDict   )HTTPResponsepickle	text_typec                 C   s   t | dS )Nascii)base64Z	b64decodeencode)b r   F/usr/lib/python3.8/site-packages/pip/_vendor/cachecontrol/serialize.py_b64_decode_bytes   s    r   c                 C   s   t | dS )Nutf8)r   decode)sr   r   r   _b64_decode_str   s    r   c                   @   sN   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dS )
SerializerNc           	   	   C   s   t |j}|d kr*|jdd}t||_d|tdd |j D |j|j	t
|j|j|jdi}i |d< d|kr|d d}|D ]:}t
| }|j|d }|d k	rt
|}||d |< qd	d
tj|ddgS )NF)decode_contentresponsec                 s   s"   | ]\}}t |t |fV  qd S N)r   .0kvr   r   r   	<genexpr>2   s    z#Serializer.dumps.<locals>.<genexpr>)bodyheadersstatusversionreasonstrictr   vary,   ,s   cc=4T)Zuse_bin_type)r   r   readioBytesIOZ_fpdictitemsr   r   r   r    r!   r   splitstripgetjoinr   dumps)	selfrequestr   r   Zresponse_headersdataZvaried_headersheaderZheader_valuer   r   r   r.      s4    

zSerializer.dumpsc                 C   s   |sd S z| dd\}}W n tk
r4   d}Y nX |d d dkrR|| }d}| ddd d}zt| d	|||W S  tk
r   Y d S X d S )
Nr$   r   s   cc=0   s   cc=   =r   z
_loads_v{})r*   
ValueErrorr   getattrformatAttributeError)r/   r0   r1   Zverr   r   r   loadsJ   s    
zSerializer.loadsc                 C   s   d| di krdS | di  D ] \}}|j |d|kr$ dS q$|d d}t|d d d}| dd	d
kr|d ||d d< zt|}W n$ tk
r   t|d}Y nX t	f |dd|d S )z`Verify our vary headers match and construct a real urllib3
        HTTPResponse object.
        *r"   Nr   r   r   )r1   ztransfer-encoding Zchunkedr   F)r   Zpreload_content)
r,   r)   r   popr   r&   r'   	TypeErrorr
   r   )r/   r0   cachedr2   valueZbody_rawr   r   r   r   r   prepare_responseh   s    
zSerializer.prepare_responsec                 C   s   d S r   r   r/   r0   r1   r   r   r   	_loads_v0   s    zSerializer._loads_v0c                 C   s2   zt |}W n tk
r$   Y d S X | ||S r   )r   r:   r6   rA   r/   r0   r1   r?   r   r   r   	_loads_v1   s
    zSerializer._loads_v1c              	   C   s   zt t|d}W n ttjfk
r6   Y d S X t|d d |d d< tdd |d d 	 D |d d< t
|d d |d d< tdd |d	 	 D |d	< | ||S )
Nr   r   r   c                 s   s"   | ]\}}t |t |fV  qd S r   r   r   r   r   r   r      s   z'Serializer._loads_v2.<locals>.<genexpr>r   r    c                 s   s.   | ]&\}}t ||d k	r t |n|fV  qd S r   rF   r   r   r   r   r      s   r"   )jsonr:   zlib
decompressr   r6   errorr   r(   r)   r   rA   rD   r   r   r   	_loads_v2   s    
zSerializer._loads_v2c                 C   s   d S r   r   rB   r   r   r   	_loads_v3   s    zSerializer._loads_v3c                 C   s6   zt j|dd}W n tk
r(   Y d S X | ||S )Nzutf-8)encoding)r   r:   r6   rA   rD   r   r   r   	_loads_v4   s
    zSerializer._loads_v4)N)__name__
__module____qualname__r.   r:   rA   rC   rE   rK   rL   rN   r   r   r   r   r      s   
4$r   )r	   r&   rG   rH   Zpip._vendorr   Zpip._vendor.requests.structuresr   compatr   r   r   r   r   objectr   r   r   r   r   <module>   s   