U ��.e%�@s4dZddlmZGdd�de�ZGdd�de�ZdS)zb The cache object API for implementing caches. The default is a thread safe in-memory dictionary. �)�Lockc@s,eZdZdd�Zdd�Zdd�Zdd�Zd S) � BaseCachecCs t��dS�N��NotImplementedError��self�key�r �B/usr/lib/python3.8/site-packages/pip/_vendor/cachecontrol/cache.py�get sz BaseCache.getcCs t��dSrr�rr �valuer r r �set sz BaseCache.setcCs t��dSrrrr r r �deleteszBaseCache.deletecCsdSrr )rr r r �closeszBaseCache.closeN)�__name__� __module__� __qualname__r rrrr r r r rsrc@s.eZdZd dd�Zdd�Zdd�Zdd �ZdS) � DictCacheNcCst�|_|pi|_dSr)r�lock�data)rZ init_dictr r r �__init__szDictCache.__init__cCs|j�|d�Sr)rr rr r r r sz DictCache.getc Cs&|j�|j�||i�W5QRXdSr)rr�updater r r r r sz DictCache.setc Cs,|j�||jkr|j�|�W5QRXdSr)rr�poprr r r r$s zDictCache.delete)N)rrrrr rrr r r r rs rN)�__doc__Z threadingr�objectrrr r r r �s