+
    ®¾j  ã                  óð   € ^ RI Ht ^ RIt^ RIt^ RIHtHtHt ^ RIHtH	t	H
t
 ^ RIHtHtHt ]'       d   ^ RIHt RtRR R	 lltR
 R lt ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )é    )ÚannotationsN)ÚdatetimeÚ	timedeltaÚtimezone)Ú
formatdateÚ	parsedateÚparsedate_tz)ÚTYPE_CHECKINGÚAnyÚMapping)ÚHTTPResponsez%a, %d %b %Y %H:%M:%S GMTc               ó$   € V ^8„  d   QhRRRRRR/# )é   Údeltar   Údatezdatetime | NoneÚreturnr   © )Úformats   "Úb/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/cachecontrol/heuristics.pyÚ__annotate__r      s!   € ÷ ñ ˜	ð ¨ð ÀHñ ó    c                ón   € T;'       g%    \         P                  ! \        P                  4      pW,           # ©N)r   Únowr   Úutc)r   r   s   &&r   Úexpire_afterr      s$   € Ø×-Ð-”8—<’<¤§¡Ó-€DØ�<Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   Údtr   r   Ústrr   )r   s   "r   r   r      s   € ÷ 7ñ 7˜8ð 7¨ñ 7r   c                ó\   € \        \        P                  ! V P                  4       4      4      # r   )r   ÚcalendarÚtimegmÚ	timetuple)r   s   &r   Údatetime_to_headerr$      s   € Ü”h—o’o b§l¡l£nÓ5Ó6Ð6r   c                  ó:   € ] tR t^tR R ltR R ltR R ltRtR# )	ÚBaseHeuristicc               ó    € V ^8„  d   QhRRRR/# ©r   Úresponser   r   ú
str | Noner   )r   s   "r   r   ÚBaseHeuristic.__annotate__   s   € ÷ 	+ñ 	+ ð 	+°ñ 	+r   c                ó   € R# )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.
z110 - "Response is Stale"r   ©Úselfr)   s   &&r   ÚwarningÚBaseHeuristic.warning   s   € ñ +r   c               ó    € V ^8„  d   QhRRRR/# ©r   r)   r   r   údict[str, str]r   )r   s   "r   r   r+   '   s   € ÷ ñ  |ð ¸ñ r   c                ó   € / # )zÏUpdate 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_headersÚBaseHeuristic.update_headers'   s	   € ð ˆ	r   c               ó    € V ^8„  d   QhRRRR/# )r   r)   r   r   r   )r   s   "r   r   r+   0   s   € ÷ 	ñ 	˜lð 	¨|ñ 	r   c                	óÒ   € V P                  V4      pV'       dN   VP                  P                  V4       V P                  V4      pVe   VP                  P                  RV/4       V# )NÚWarning)r5   ÚheadersÚupdater/   )r.   r)   Úupdated_headersÚwarning_header_values   &&  r   ÚapplyÚBaseHeuristic.apply0   s]   € Ø×-Ñ-¨hÓ7ˆçØ×Ñ×#Ñ# OÔ4Ø#'§<¡<°Ó#9Ð Ø#Ò/Ø× Ñ ×'Ñ'¨Ð4HÐ(IÔJàˆr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r/   r5   r>   Ú__static_attributes__r   r   r   r&   r&      s   † õ	+õ÷	ñ 	r   r&   c                  ó&   € ] tR t^<tRtR R ltRtR# )ÚOneDayCachezA
Cache the response by providing an expires 1 day in the
future.
c               ó    € V ^8„  d   QhRRRR/# r2   r   )r   s   "r   r   ÚOneDayCache.__annotate__B   s   € ÷ ñ  |ð ¸ñ r   c                	óô   € / pR VP                   9  de   \        VP                   R,          4      p\        \        ^R7      \	        VR,          R\
        P                  / R7      p\        V4      VR &   RVR&   V# )Úexpiresr   )ÚdaysºNé   NÚtzinfo)r   Úpublicúcache-control)r:   r   r   r   r   r   r   r$   )r.   r)   r:   r   rJ   s   &&   r   r5   ÚOneDayCache.update_headersB   sq   € Øˆà˜H×,Ñ,Ô,Ü˜X×-Ñ-¨fÕ5Ó6ˆDÜ"Ü˜qÔ!Ü˜t B�xÐ=´·±Ñ=ôˆGô "4°GÓ!<ˆG�IÑØ'/ˆG�OÑ$Øˆr   r   N)r@   rA   rB   rC   Ú__doc__r5   rD   r   r   r   rF   rF   <   s   † ñ÷
ñ r   rF   c                  ó>   € ] tR t^PtRtR R ltR R ltR R ltRtR	# )
ÚExpiresAfterz3
Cache **all** requests for a defined time period.
c               ó    € V ^8„  d   QhRRRR/# )r   Úkwr   r   ÚNoner   )r   s   "r   r   ÚExpiresAfter.__annotate__U   s   € ÷ %ñ %˜Sð % Tñ %r   c                	ó&   € \        R/ VB V n        R # )Nr   )r   r   )r.   rV   s   &,r   Ú__init__ÚExpiresAfter.__init__U   s   € Ü‘_ ‘_ˆŽ
r   c               ó    € V ^8„  d   QhRRRR/# r2   r   )r   s   "r   r   rX   X   s   € ÷ Sñ S |ð S¸ñ Sr   c                	óJ   € \        V P                  4      pR \        V4      RR/# )rJ   rP   rO   )r   r   r$   )r.   r)   rJ   s   && r   r5   ÚExpiresAfter.update_headersX   s%   € Ü˜tŸz™zÓ*ˆØÔ-¨gÓ6¸ÈÐRÐRr   c               ó    € V ^8„  d   QhRRRR/# r(   r   )r   s   "r   r   rX   \   s   € ÷ !ñ ! ð !°ñ !r   c                	ó*   € R pW P                   ,          # )z:110 - Automatically cached for %s. Response might be stale©r   )r.   r)   Útmpls   && r   r/   ÚExpiresAfter.warning\   s   € ØKˆØ—j‘jÕ Ð r   ra   N)	r@   rA   rB   rC   rR   rZ   r5   r/   rD   r   r   r   rT   rT   P   s   † ñõ%õS÷!ñ !r   rT   c                  ó:   € ] tR t^atRt0 RmtR R ltR R ltRtR# )	ÚLastModifieda�  
If there is no Expires header already, fall back on Last-Modified
using the heuristic from
http://tools.ietf.org/html/rfc7234#section-4.2.2
to calculate a reasonable value.

Firefox also does something like this per
https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ
http://lxr.mozilla.org/mozilla-release/source/netwerk/protocol/http/nsHttpResponseHead.cpp#397
Unlike mozilla we limit this to 24-hr.
c               ó    € V ^8„  d   QhRRRR/# )r   Úrespr   r   r3   r   )r   s   "r   r   ÚLastModified.__annotate__|   s   € ÷ Jñ J <ð J°Nñ Jr   c                	ó’  € VP                   pR V9   d   / # RV9   d   VR,          R8w  d   / # VP                  V P                  9  d   / # RV9  g   RV9  d   / # \        VR,          4      pVf   Q h\        P
                  ! VR,          4      p\        VR,          4      pVf   / # \        P                  ! 4       p\        ^ Wd,
          4      pV\        P
                  ! V4      ,
          p\        ^ \        V^
,          R4      4      p	W—8:  d   / # WI,           p
R \        P                  ! \        \        P                  ! V
4      4      /# )rJ   rP   rO   r   zlast-modifiedrL   i€Q )r:   ÚstatusÚcacheable_by_default_statusesr	   r!   r"   r   ÚtimeÚmaxÚminÚstrftimeÚTIME_FMTÚgmtime)r.   rg   r:   Ú
time_tupler   Úlast_modifiedr   Úcurrent_ager   Úfreshness_lifetimerJ   s   &&         r   r5   ÚLastModified.update_headers|   s  € Ø%)§\¡\ˆà˜ÔØˆIà˜gÔ%¨'°/Õ*BÀhÔ*NØˆIà�;‰;˜d×@Ñ@Ô@ØˆIà˜Ô  O¸7Ô$BØˆIä! '¨&¥/Ó2ˆ
ØÒ%Ð%Ð%Ü�Š˜z¨"�~Ó.ˆÜ! '¨/Õ":Ó;ˆØÒ ØˆIä�iŠi‹kˆÜ˜!˜S�ZÓ(ˆØ”x—’ }Ó5Õ5ˆÜ  ¤C¨°­
°IÓ$>Ó?ÐØÔ,ØˆIàÕ+ˆØœ4Ÿ=š=¬´4·;²;¸wÓ3GÓHÐIÐIr   c               ó    € V ^8„  d   QhRRRR/# )r   rg   r   r   r*   r   )r   s   "r   r   rh   œ   s   € ÷ ñ ˜Lð ¨Zñ r   c                	ó   € R # r   r   )r.   rg   s   &&r   r/   ÚLastModified.warningœ   s   € Ùr   r   N>   é,  é-  é”  é•  éš  éž  éÈ   éË   éÌ   éÎ   éõ  )	r@   rA   rB   rC   rR   rk   r5   r/   rD   r   r   r   re   re   a   s    † ñ
ò%Ð!õJ÷@ñ r   re   r   )Ú
__future__r   r!   rl   r   r   r   Úemail.utilsr   r   r	   Útypingr
   r   r   Úpip._vendor.urllib3r   rp   r   r$   r&   rF   rT   re   r   r   r   Ú<module>r‰      sf   ðõ #ã Û ß 2Ñ 2ß ;Ñ ;ß .Ñ .çÝ0à&€÷õ
7÷ñ ôB�-ô ô(!�=ô !ô"<�=ö <r   