Ë
    £2Úi¬  ã                  ó:   — d dl mZ ddlmZ d„ Z G d„ dee«      Zy)é    )Úannotationsé   )ÚUpdateDictMixinc                ó8   ‡ — t        ˆ fd„ˆ fd„ˆ fd„d‰ ›�«      S )z”Return a new property object for a content security policy header.
    Useful if you want to add support for a csp extension in a
    subclass.
    c                ó&   •— | j                  ‰«      S ©N)Ú
_get_value©ÚxÚkeys    €úR/var/www/html/acx/venv/lib/python3.12/site-packages/werkzeug/datastructures/csp.pyú<lambda>zcsp_property.<locals>.<lambda>   ó   ø€ �!—,‘,˜sÓ#€ ó    c                ó(   •— | j                  ‰|«      S r   )Ú
_set_value)r   Úvr   s     €r   r   zcsp_property.<locals>.<lambda>   s   ø€ �Q—\‘\ # qÓ)€ r   c                ó&   •— | j                  ‰«      S r   )Ú
_del_valuer
   s    €r   r   zcsp_property.<locals>.<lambda>   r   r   zaccessor for )Úproperty)r   s   `r   Úcsp_propertyr      s%   ø€ ô
 Û#Û)Û#Ø
˜�wÐó	ð r   c                  óÌ  — e Zd ZdZ ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z	 ed«      Z
 ed«      Z ed	«      Z ed
«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Z ed«      Zd#d„Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$y)$ÚContentSecurityPolicyaV  Subclass of a dict that stores values for a Content Security Policy
    header. It has accessors for all the level 3 policies.

    Because the csp directives in the HTTP header use dashes the
    python descriptors use underscores for that.

    To get a header of the :class:`ContentSecuirtyPolicy` 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.

    .. versionadded:: 1.0.0
       Support for Content Security Policy headers was added.

    zbase-uriz	child-srczconnect-srczdefault-srczfont-srczform-actionzframe-ancestorsz	frame-srczimg-srczmanifest-srcz	media-srcznavigate-toz
object-srczprefetch-srczplugin-typesz	report-toz
report-uriÚsandboxz
script-srczscript-src-attrzscript-src-elemz	style-srczstyle-src-attrzstyle-src-elemz
worker-srcNc                óX   — t         j                  | |xs d«       || _        |d u| _        y )N© )ÚdictÚ__init__Ú	on_updateÚprovided)ÚselfÚvaluesr   s      r   r   zContentSecurityPolicy.__init__>   s'   € Ü�‰�d˜FšL bÔ)Ø"ˆŒØ dÐ*ˆ�r   c                ó$   — | j                  |«      S )ú+Used internally by the accessor properties.)Úget©r!   r   s     r   r	   z ContentSecurityPolicy._get_valueC   s   € à�x‰x˜‹}Ðr   c                ó8   — |€| j                  |d«       y|| |<   y©r$   N)Úpop)r!   r   Úvalues      r   r   z ContentSecurityPolicy._set_valueG   s   € àˆ=Ø�H‰H�S˜$ÕàˆD�ŠIr   c                ó   — || v r| |= yyr(   r   r&   s     r   r   z ContentSecurityPolicy._del_valueN   s   € à�$‰;Ø�S‘	ð r   c                ó   — ddl m}  || «      S )z6Convert the stored values into a cache control header.é   )Údump_csp_header)Úhttpr.   )r!   r.   s     r   Ú	to_headerzContentSecurityPolicy.to_headerS   s   € å*á˜tÓ$Ð$r   c                ó"   — | j                  «       S r   )r0   )r!   s    r   Ú__str__zContentSecurityPolicy.__str__Y   s   € Ø�~‰~ÓÐr   c                ó˜   — dj                  d„ t        | j                  «       «      D «       «      }dt        | «      j                  › d|› d�S )Nú c              3  ó0   K  — | ]  \  }}|› d |›�–— Œ y­w)ú=Nr   )Ú.0Úkr   s      r   ú	<genexpr>z1ContentSecurityPolicy.__repr__.<locals>.<genexpr>]   s   è ø€ ÒH©4¨1¨a˜Q˜C˜q  œ,ÑHùs   ‚ú<ú>)ÚjoinÚsortedÚitemsÚtypeÚ__name__)r!   Úkv_strs     r   Ú__repr__zContentSecurityPolicy.__repr__\   sA   € Ø—‘ÑH´6¸$¿*¹*»,Ó3GÔHÓHˆØ”4˜“:×&Ñ&Ð' q¨¨°Ð2Ð2r   )r   N)%r@   Ú
__module__Ú__qualname__Ú__doc__r   Úbase_uriÚ	child_srcÚconnect_srcÚdefault_srcÚfont_srcÚform_actionÚframe_ancestorsÚ	frame_srcÚimg_srcÚmanifest_srcÚ	media_srcÚnavigate_toÚ
object_srcÚprefetch_srcÚplugin_typesÚ	report_toÚ
report_urir   Ú
script_srcÚscript_src_attrÚscript_src_elemÚ	style_srcÚstyle_src_attrÚstyle_src_elemÚ
worker_srcr   r	   r   r   r0   r2   rB   r   r   r   r   r      s+  „ ññ  ˜JÓ'€HÙ˜[Ó)€IÙ˜}Ó-€KÙ˜}Ó-€KÙ˜JÓ'€HÙ˜}Ó-€KÙ"Ð#4Ó5€OÙ˜[Ó)€IÙ˜9Ó%€GÙ Ó/€LÙ˜[Ó)€IÙ˜}Ó-€KÙ˜lÓ+€JÙ Ó/€LÙ Ó/€LÙ˜[Ó)€IÙ˜lÓ+€JÙ˜9Ó%€GÙ˜lÓ+€JÙ"Ð#4Ó5€OÙ"Ð#4Ó5€OÙ˜[Ó)€IÙ!Ð"2Ó3€NÙ!Ð"2Ó3€NÙ˜lÓ+€Jó+ò
òòò
%ò ó3r   r   N)Ú
__future__r   Úmixinsr   r   r   r   r   r   r   ú<module>r`      s    ðÝ "å #ò
ôK3˜O¨Tõ K3r   