R`iG d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl m Z mZmZ ddl mZ ddlmZmZ ddlmZ e rdd l mZ dd lmZ ddlmZ ddlmZ ej4 e Z ej: d ZdZddZ G d d Z!y)z7 The httplib2 algorithms ported for use with requests. )annotationsN)parsedate_tz) TYPE_CHECKING CollectionMapping)CaseInsensitiveDict) DictCacheSeparateBodyBaseCache) Serializer)Literal)PreparedRequest)HTTPResponse) BaseCachez9^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?)- 4 c t j | }|J |j }|d |d |d |d |d fS )zParses a URI using the regex given in Appendix B of RFC 3986. (scheme, authority, path, query, fragment) = parse_uri(uri) )URImatchgroups)urir r s /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py parse_urir % sM IIcNE \\^F1Ivay&)VAYq BB c e Zd ZdZ d ddZedd Zedd ZddZddZ ddZ dd Z d dd Z d ddZ ddZy)CacheControllerz4An interface to see if request should cached or not.Nc t | t n|| _ || _ |xs t | _ |xs d| _ y )N) i, r r )r cachecache_etagsr serializercacheable_status_codes)selfr$ r% r&