Re@sddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z ddZ dd Z Gd d d eZdS) N)msgpack)CaseInsensitiveDict) HTTPResponsepickle text_typecCstj|jdS)Nascii)base64 b64decodeencode)br /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.py_b64_decode_bytes srcCst|jdS)Nutf8)rdecode)sr r r_b64_decode_strsrc@sseZdZdddZddZddZdd Zd d Zd d ZddZ ddZ dS) SerializerNc CsOt|j}|dkr?|jdd}tj||_dd|dtdd|jjDd|jd |j d t |j d |j d|j ii}i|d 3sz#Serializer.dumps..statusversionreasonstrictvary,,scc=4 use_bin_typeT)rrreadioBytesIO_fpdictitemsrrrrr rsplitstripgetjoinrdumps) selfrequestrrresponse_headersdatavaried_headersheader header_valuer r rr/s.           zSerializer.dumpscCs|s dSy|jdd\}}Wntk r@d}YnX|dddkrg||}d}|jddd jd}y#t|dj|||SWntk rdSYnXdS) Nr#rscc=0scc==rz _loads_v{})r+ ValueErrorrgetattrformatAttributeError)r0r1r3verr r rloadsJs   # zSerializer.loadscCsd|jdikrdSxE|jdijD]+\}}|jj|d|kr5dSq5W|djd}td|dd}|jdd d kr|jd||dd.rrcss?|]5\}}t||dk r0t|n|fVqdS)N)r)rrrr r rrsr!) jsonr?zlib decompressrr:errorrr)r*rrI)r0r1r3rFr r r _loads_v2s%  # zSerializer._loads_v2cCsdS)Nr )r0r1r3r r r _loads_v3szSerializer._loads_v3c CsBytj|dd}Wntk r1dSYnX|j||S)NrawF)rr?r:rI)r0r1r3rFr r r _loads_v4s   zSerializer._loads_v4) __name__ __module__ __qualname__r/r?rIrJrKrPrQrSr r r rrs 4  &    r)r r&rLrM pip._vendorrZpip._vendor.requests.structuresrcompatrrrrrobjectrr r r rs