2bi S SK Jr S SKrS SKrS SKJrJrJr S SKJrJ r J r S SKJrJ r Jr \( a S SKJr SrSSS jjrSS jr " S S5 r " S S \5 r " S S\5 r " S S\5 rg) )annotationsN)datetime timedeltatimezone) formatdate parsedateparsedate_tz) TYPE_CHECKINGAnyMapping)HTTPResponsez%a, %d %b %Y %H:%M:%S GMTc d U=( d$ [ R " [ R 5 nX- $ N)r nowr utc)deltadates ڕ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/cachecontrol/heuristics.pyexpire_afterr s! -8<<-D< c \ [ [ R " U R 5 5 5 $ r )r calendartimegm timetuple)dts r datetime_to_headerr s hooblln566r c 2 \ rS rSrSS jrSS jrS S jrSrg) BaseHeuristic c g)z Return a valid 1xx warning header value describing the cache adjustments. The response is provided too allow warnings like 113 http://tools.ietf.org/html/rfc7234#section-5.5.4 where we need to explicitly say response is over 24 hours old. z110 - "Response is Stale" selfresponses r warningBaseHeuristic.warning s +r c 0 $ )zUpdate the response headers with any new headers. NOTE: This SHOULD always include some Warning header to signify that the response was cached by the client, not by way of the provided headers. r! r" s r update_headersBaseHeuristic.update_headers' s r c U R U5 nU( aL UR R U5 U R U5 nUb UR R SU05 U$ )NWarning)r( headersupdater% )r# r$ updated_headerswarning_header_values r applyBaseHeuristic.apply0 s] --h7##O4#'<<#9 #/ ''4H(IJr r! Nr$ r return str | Noner$ r r3 dict[str, str])r$ r r3 r )__name__ __module____qualname____firstlineno__r% r( r0 __static_attributes__r! r r r r s + r r c " \ rS rSrSrSS jrSrg)OneDayCache<