+
    AžÀjï%  ã                  ó  € ^ RI Ht ^ RIHt ^ RIt^ RIHt ^RI	H
t
 ^RIHt RR/R R llt ! R	 R
]]]P                  ],          3,          4      t ! R R]
]]P                  ],          3,          ]4      t ! R R]4      t^RIHt R# )é    )ÚannotationsN)Úcleandoc)ÚImmutableDictMixin)ÚCallbackDictÚdocc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
é   ÚkeyÚstrÚemptyút.AnyÚtypeútype[t.Any] | Noner   z
str | NoneÚreturn© )Úformats   "Úy/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/werkzeug/datastructures/cache_control.pyÚ__annotate__r      s4   € ÷ *ñ *Ø	ð*Øð*Ø"4ð*Ø>Hð*à
ñ*ó    c               ó†  a aa€ Vf•   RS  R2.pS\         J d   VP                  R4       M`Sf   VP                  R4       MVP                  RSP                   R24       Se   VP                  RS: R24       VP                  R	4       R
P                  V4      p\	        VV V3R lV V3R lV 3R l\        V4      R7      # )a�  Return a new property object for a cache header. Useful if you
want to add support for a cache extension in a subclass.

:param key: The attribute name present in the parsed cache-control header dict.
:param empty: The value to use if the key is present without a value.
:param type: The type to convert the string value to instead of a string. If
    conversion raises a ``ValueError``, the returned value is ``None``.
:param doc: The docstring for the property. If not given, it is generated
    based on the other params.

.. versionchanged:: 3.1
    Added the ``doc`` param.

.. versionchanged:: 2.0
    Renamed from ``cache_property``.
zThe ``z`` attribute.z"A ``bool``, either present or not.z
A ``str``,zA ``z``,z``z`` if present with no value,zor ``None`` if not present.Ú c                ó*   <€ V P                  SSS4      # ©N)Ú_get_cache_value)Úxr   r
   r   s   &€€€r   Ú<lambda>Ú(cache_control_property.<locals>.<lambda>1   s   ø€ �!×$Ñ$ S¨%°Ô6r   c                ó*   <€ V P                  SVS4      # r   )Ú_set_cache_value)r   Úvr
   r   s   &&€€r   r   r   2   s   ø€ �Q×'Ñ'¨¨Q°Ô5r   c                ó&   <€ V P                  S4      # r   )Ú_del_cache_value)r   r
   s   &€r   r   r   3   s   ø€ �!×$Ñ$ SÔ)r   )r   )ÚboolÚappendÚ__name__ÚjoinÚpropertyr   )r
   r   r   r   Úpartss   fff$ r   Úcache_control_propertyr)      s¬   ú€ ð& ‚{Ø˜#˜˜mÐ,Ð-ˆà”4‹<Ø�L‰LÐ=Õ>àŠ|Ø—‘˜\Õ*à—‘˜t D§M¡M ?°#Ð6Ô7àÒ Ø—‘˜r %¡Ð*FÐGÔHà�L‰LÐ6Ô7à�h‰h�u‹oˆäÞ6Ý5Ü)Ü�S‹Mô	ð r   c                  ó  a € ] tR t^8t$ Rt]! RR]4      tR]R&   ]! RR]	4      t
R]R&   ]! R	R]4      tR]R
&   ]! RR]	4      tR]R&   RR V 3R llltR R ltR R ltR R ltR R ltR R ltR R lt]! ]4      tRtV ;t# )Ú_CacheControlad  Subclass of a dict that stores values for a Cache-Control header.  It
has accessors for all the cache-control directives specified in RFC 2616.
The class does not differentiate between request and response directives.

Because the cache-control directives in the HTTP header use dashes the
python descriptors use underscores for that.

To get a header of the :class:`CacheControl` object again you can convert
the object into a string or call the :meth:`to_header` method.  If you plan
to subclass it and add your own items have a look at the sourcecode for
that class.

.. versionchanged:: 3.1
    Dict values are always ``str | None``. Setting properties will
    convert the value to a string. Setting a non-bool property to
    ``False`` is equivalent to setting it to ``None``. Getting typed
    properties will return ``None`` if conversion raises
    ``ValueError``, rather than the string.

.. versionchanged:: 2.1
    Setting int properties such as ``max_age`` will convert the
    value to an int.

.. versionchanged:: 0.4
   Setting ``no_cache`` or ``private`` to ``True`` will set the
   implicit value ``"*"``.
zno-storeNr#   Úno_storezmax-ageú
int | NoneÚmax_agezno-transformÚno_transformzstale-if-errorÚstale_if_errorc               ó    € V ^8„  d   QhRRRR/# )r	   ÚvalueszBcabc.Mapping[str, t.Any] | cabc.Iterable[tuple[str, t.Any]] | NoneÚ	on_updatez+cabc.Callable[[_CacheControl], None] | Noner   )r   s   "r   r   Ú_CacheControl.__annotate__Z   s   € ÷ +ñ +àRð+ð ?ñ+r   c                	ó8   <€ \         SV `  W4       VR JV n        R # r   )ÚsuperÚ__init__Úprovided)Úselfr2   r3   Ú	__class__s   &&&€r   r7   Ú_CacheControl.__init__Z   s   ø€ ô
 	‰Ñ˜Ô+Ø dÐ*ˆŽr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r	   r
   r   r   r   r   r   r   r   )r   s   "r   r   r4   b   s,   € ÷ ñ ØðØ$ðØ,>ðà	ñr   c                ó�   € V\         J d   W9   # W9  d   R# W,          ;pf   V# Ve    V! V4      pV# V#   \         d     R# i ; i©ú+Used internally by the accessor properties.N)r#   Ú
ValueError)r9   r
   r   r   Úvalues   &&&& r   r   Ú_CacheControl._get_cache_valueb   s`   € ð ”4‹<Ø‘;ÐàŒ?Ùà•YÐˆEÒ'ØˆLàÒðÙ˜U›�ð ˆˆuˆøô ô Úðús   ª6 ¶AÁAc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r	   r
   r   rA   r   r   r   r   ÚNoner   )r   s   "r   r   r4   w   s,   € ÷ #ñ #Øð#Ø$ð#Ø,>ð#à	ñ#r   c                óä   € V\         J d#   V'       d   RW&   R# V P                  VR4       R# Ve   VRJ d   V P                  VR4       R# VRJ d   RW&   R# Ve	   V! V4      p\        V4      W&   R# )r?   NFT)r#   Úpopr   )r9   r
   rA   r   s   &&&&r   r   Ú_CacheControl._set_cache_valuew   sd   € ð ”4‹<ßØ �“	à—‘˜˜dÖ#ØŠ]˜e u›nØ�H‰H�S˜$ÖØ�d‹]ØˆD‹IàÒÙ˜U›�ä˜E›
ˆD‹Ir   c               ó    € V ^8„  d   QhRRRR/# )r	   r
   r   r   rD   r   )r   s   "r   r   r4   Š   s   € ÷ ñ  Cð ¨Dñ r   c                ó   € W9   d   W R# R# r>   r   )r9   r
   s   &&r   r"   Ú_CacheControl._del_cache_valueŠ   s   € àŒ;Ø’	ñ r   c               ó   € V ^8„  d   QhRR/# ©r	   r   r   r   )r   s   "r   r   r4   �   s   € ÷ &ñ &˜3ñ &r   c                ó.   € \         P                  ! V 4      # )z6Convert the stored values into a cache control header.)ÚhttpÚdump_header©r9   s   &r   Ú	to_headerÚ_CacheControl.to_header�   s   € ä×Ò Ó%Ð%r   c               ó   € V ^8„  d   QhRR/# rL   r   )r   s   "r   r   r4   “   s   € ÷  ñ  ˜ñ  r   c                	ó"   € V P                  4       # r   )rQ   rP   s   &r   Ú__str__Ú_CacheControl.__str__“   s   € Ø�~‰~ÓÐr   c               ó   € V ^8„  d   QhRR/# rL   r   )r   s   "r   r   r4   –   s   € ÷ 3ñ 3˜#ñ 3r   c                	ó˜   € R P                  R \        V P                  4       4       4       4      pR\        V 4      P                   R V R2# )r   c              3  ó6   "  € T F  w  rV R V: 2x € K  	  R# 5i)Ú=Nr   )Ú.0Úkr    s   &  r   Ú	<genexpr>Ú)_CacheControl.__repr__.<locals>.<genexpr>—   s   é € ÐHÑ3G©4¨1˜Q˜C˜q ¡�,Ó3Gùs   ‚Ú<Ú>)r&   ÚsortedÚitemsr   r%   )r9   Úkv_strs   & r   Ú__repr__Ú_CacheControl.__repr__–   sA   € Ø—‘ÑH´6¸$¿*¹*»,Ô3GÓHÓHˆØ”4˜“:×&Ñ&Ð' q¨¨°Ð2Ð2r   )r8   )r   N)r%   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r)   r#   r,   Ú__annotations__Úintr.   r/   r0   r7   r   r   r"   rQ   rU   rd   ÚstaticmethodÚcache_propertyÚ__static_attributes__Ú__classcell__)r:   s   @r   r+   r+   8   s�   ø‡ ññ8 ,¨J¸¸dÓC€HˆdÓCÙ0°¸DÀ#ÓF€GˆZÓFÙ/°ÀÀdÓK€L�$ÓKÙ!7Ð8HÈ$ÐPSÓ!T€N�JÓT÷+ò +õõ*#õ&õ
&õ õ3ñ "Ð"8Ó9†Nr   r+   c                  ó”   € ] tR t^�t$ Rt]! RR]4      tR]R&   ]! RR]	4      t
R]R	&   ]! R
R]	4      tR]R&   ]! RR]4      tR]R&   RtR# )ÚRequestCacheControla�  A cache control for requests.  This is immutable and gives access
to all the request-relevant cache control headers.

To get a header of the :class:`RequestCacheControl` object again you can
convert the object into a string or call the :meth:`to_header` method.  If
you plan to subclass it and add your own items have a look at the sourcecode
for that class.

.. versionchanged:: 3.1
    Dict values are always ``str | None``. Setting properties will
    convert the value to a string. Setting a non-bool property to
    ``False`` is equivalent to setting it to ``None``. Getting typed
    properties will return ``None`` if conversion raises
    ``ValueError``, rather than the string.

.. versionchanged:: 3.1
   ``max_age`` is ``None`` if present without a value, rather
   than ``-1``.

.. versionchanged:: 3.1
    ``no_cache`` is a boolean, it is ``True`` instead of ``"*"``
    when present.

.. versionchanged:: 3.1
    ``max_stale`` is ``True`` if present without a value, rather
    than ``"*"``.

.. versionchanged:: 3.1
   ``no_transform`` is a boolean. Previously it was mistakenly
   always ``None``.

.. versionchanged:: 3.1
   ``min_fresh`` is ``None`` if present without a value, rather
   than ``"*"``.

.. versionchanged:: 2.1
    Setting int properties such as ``max_age`` will convert the
    value to an int.

.. versionadded:: 0.5
    Response-only properties are not present on this request class.
úno-cacheNr#   Úno_cachez	max-staleTzint | t.Literal[True] | NoneÚ	max_stalez	min-freshr-   Ú	min_freshzonly-if-cachedÚonly_if_cachedr   )r%   rf   rg   rh   ri   r)   r#   rs   rj   rk   rt   ru   rv   rn   r   r   r   rq   rq   �   sa   ‡ ñ)ñV ,¨J¸¸dÓC€HˆdÓCÙ.DØØØó/€IÐ+ó ñ
 3°;ÀÀcÓJ€IˆzÓJÙ1Ð2BÀDÈ$ÓO€N�D×Or   rq   c                  ó*  € ] tR t^Ót$ Rt]! RRR4      tR]R&   ]! RR]4      t	R]R&   ]! R	RR4      t
R]R	&   ]! R
R]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   ]! RR]4      tR]R&   RtR# )ÚResponseCacheControlaž  A cache control for responses.  Unlike :class:`RequestCacheControl`
this is mutable and gives access to response-relevant cache control
headers.

To get a header of the :class:`ResponseCacheControl` object again you can
convert the object into a string or call the :meth:`to_header` method.  If
you plan to subclass it and add your own items have a look at the sourcecode
for that class.

.. versionchanged:: 3.1
    Dict values are always ``str | None``. Setting properties will
    convert the value to a string. Setting a non-bool property to
    ``False`` is equivalent to setting it to ``None``. Getting typed
    properties will return ``None`` if conversion raises
    ``ValueError``, rather than the string.

.. versionchanged:: 3.1
    ``no_cache`` is ``True`` if present without a value, rather than
    ``"*"``.

.. versionchanged:: 3.1
    ``private`` is ``True`` if present without a value, rather than
    ``"*"``.

.. versionchanged:: 3.1
   ``no_transform`` is a boolean. Previously it was mistakenly
   always ``None``.

.. versionchanged:: 3.1
    Added the ``must_understand``, ``stale_while_revalidate``, and
    ``stale_if_error`` properties.

.. versionchanged:: 2.1.1
    ``s_maxage`` converts the value to an int.

.. versionchanged:: 2.1
    Setting int properties such as ``max_age`` will convert the
    value to an int.

.. versionadded:: 0.5
   Request-only properties are not present on this response class.
rr   TNzstr | t.Literal[True] | Noners   Úpublicr#   Úprivatezmust-revalidateÚmust_revalidatezproxy-revalidateÚproxy_revalidatezs-maxager-   Ús_maxageÚ	immutablezmust-understandÚmust_understandzstale-while-revalidateÚstale_while_revalidater   )r%   rf   rg   rh   ri   r)   rs   rj   r#   ry   rz   r{   r|   rk   r}   r~   r   r€   rn   r   r   r   rx   rx   Ó   sÐ   ‡ ñ)ñV .DØ�D˜$ó.€HÐ*ó ñ *¨(°D¸$Ó?€FˆDÓ?Ù,BØ�4˜ó-€GÐ)ó ñ 3Ð3DÀdÈDÓQ€O�TÓQÙ3Ð4FÈÈdÓSÐ�dÓSÙ1°*¸dÀCÓH€HˆjÓHÙ,¨[¸$ÀÓE€IˆtÓEÙ2Ð3DÀdÈDÓQ€O�TÓQÙ)?Ø  $¨ó*Ð˜J÷ r   rx   )rN   )Ú
__future__r   Úcollections.abcÚabcÚcabcÚtypingÚtÚinspectr   Úmixinsr   Ú
structuresr   r)   r   ÚOptionalr+   rq   rx   Ú rN   r   r   r   Ú<module>rŒ      s|   ðÝ "å Û Ý å &Ý $ð*ØKO÷*ôZb:�L  a§j¡j°¥oÐ!5Õ6ô b:ôJ3PÐ,¨S°!·*±*¸Sµ/Ð-AÕBÀMô 3Pôl:˜=ô :÷| r   