All Downloads are FREE. Search and download functionalities are using the official Maven repository.

kr.motd.maven.sphinx.dist.jinja2.sandbox$py.class Maven / Gradle / Ivy

There is a newer version: 2.10.0
Show newest version
????1}f$0R(Lorg/python/core/PyFrame;Lorg/python/core/ThreadState;)Lorg/python/core/PyObject;__doc__j
    jinja2.sandbox
    ~~~~~~~~~~~~~~

    Adds a sandbox layer to Jinja as it was the default behavior in the old
    Jinja 1 releases.  This sandbox is slightly different from Jinja 1 as the
    default behavior is easier to use.

    The behavior can be changed by subclassing the environment.

    :copyright: (c) 2017 by the Jinja Team.
    :license: BSD.
org/python/core/PyStringfromInterned.(Ljava/lang/String;)Lorg/python/core/PyString;	

org/python/core/PyFrame
	setglobal/(Ljava/lang/String;Lorg/python/core/PyObject;)V
setline(I)V
typesorg/python/core/imp	importOneH(Ljava/lang/String;Lorg/python/core/PyFrame;I)Lorg/python/core/PyObject;
setlocal
 operator"collections$java/lang/String&Mapping(
importFrom\(Ljava/lang/String;[Ljava/lang/String;Lorg/python/core/PyFrame;I)[Lorg/python/core/PyObject;*+
,jinja2.environment.Environment0jinja2.exceptions2
SecurityError4jinja2._compat6string_types8PY2:jinja2.utils<Markup>
markupsafe@EscapeFormatterBstringD	FormatterF??org/python/core/PyI
newInteger(I)Lorg/python/core/PyInteger;KL
JM	MAX_RANGEOgetname.(Ljava/lang/String;)Lorg/python/core/PyObject;QR
Sorg/python/core/PyObjectU__nonzero__()ZWX
VYset[org/python/core/PyList]func_closure_	func_codea	func_dictc
func_defaultsefunc_globalsg([Lorg/python/core/PyObject;)Vij
^k__call__S(Lorg/python/core/ThreadState;Lorg/python/core/PyObject;)Lorg/python/core/PyObject;mn
VoUNSAFE_FUNCTION_ATTRIBUTESq9(Lorg/python/core/ThreadState;)Lorg/python/core/PyObject;ms
Vtim_classvim_funcxim_selfzUNSAFE_METHOD_ATTRIBUTES|gi_frame~gi_code?UNSAFE_GENERATOR_ATTRIBUTES?cr_frame?cr_code?UNSAFE_COROUTINE_ATTRIBUTES?ag_code?ag_frame?!UNSAFE_ASYNC_GENERATOR_ATTRIBUTES?warnings?filterwarnings?__getattr__?R
V?ignore?the sets module?DeprecationWarning?jinja2.sandbox?module?g(Lorg/python/core/ThreadState;[Lorg/python/core/PyObject;[Ljava/lang/String;)Lorg/python/core/PyObject;m?
V?deque?org/python/core/PyTuple?
?k_mutable_set_types?dict?_mutable_mapping_types?list?_mutable_sequence_types?UserDict?	DictMixin?UserList?_iadd6(Lorg/python/core/PyObject;)Lorg/python/core/PyObject;??
V?setExceptionM(Ljava/lang/Throwable;Lorg/python/core/PyFrame;)Lorg/python/core/PyException;??
J?ImportError?org/python/core/PyException?match(Lorg/python/core/PyObject;)Z??
??java/lang/Throwable?sets?Set?
MutableSet?MutableMapping?MutableSequence?	frozenset?add?clear?difference_update?discard?pop?remove?symmetric_difference_update?update?popitem?
setdefault?append?reverse?insert?sort?extend?
appendleft?
extendleft?popleft?rotate?
_mutable_spec?_MagicFormatMapping?_MagicFormatMapping$1
__module____name__?This class implements a dummy wrapper to fix a bug in the Python
    standard library for string formatting.

    See https://bugs.python.org/issue13598 for information about why
    this is necessary.
    EmptyObjectsorg/python/core/PyObject;		J
org/python/core/PyFunction	f_globalsLorg/python/core/PyObject;	
__init__$2getlocal(I)Lorg/python/core/PyObject;
_args__setattr__
V_kwargs_last_indexf_lastiI !	"None$	J%jinja2/sandbox$py'Lorg/python/core/PyCode;)	(*j(Lorg/python/core/PyObject;[Lorg/python/core/PyObject;Lorg/python/core/PyCode;Lorg/python/core/PyObject;)Vi,

-__init__/
__getitem__$32_eq4?
V5(ILorg/python/core/PyObject;)V7
8__getitem__:?
V;LookupError=	getglobal?R
@strB1)	(D:
__iter__$4iterHG)	(J__iter__L	__len__$5lenON)	(Q__len__Sgetf_locals()Lorg/python/core/PyObject;UV
W)	(Y	makeClassa(Ljava/lang/String;[Lorg/python/core/PyObject;Lorg/python/core/PyCode;)Lorg/python/core/PyObject;[\
J]java/util/Arrays_fill(([Ljava/lang/Object;Ljava/lang/Object;)Vab
`cinspect_format_method$6
isinstancef
MethodTypehBuiltinMethodTypejm(Lorg/python/core/ThreadState;Lorg/python/core/PyObject;Lorg/python/core/PyObject;)Lorg/python/core/PyObject;ml
Vm__not__oV
Vpformatr_net?
Vu$__self__xe)	(zinspect_format_method|safe_range$7WA range that can't generate ranges with a length of more than
    MAX_RANGE items.
    range?
_callextra~([Lorg/python/core/PyObject;[Ljava/lang/String;Lorg/python/core/PyObject;Lorg/python/core/PyObject;)Lorg/python/core/PyObject;??
V?_gt??
V?
OverflowError?+range too big, maximum size for range is %d?_mod??
V?
makeException9(Lorg/python/core/PyObject;)Lorg/python/core/PyException;??
J?~)	(?
safe_range?unsafe$8nMarks a function or method as unsafe.

    ::

        @unsafe
        def delete(self):
            pass
    ?True?unsafe_callable??)	(?unsafe?is_internal_attribute$9?Test if the attribute given is an internal python attribute.  For
    example this function returns `True` for the `func_code` attribute of
    python objects.  This is useful if the environment method
    :meth:`~SandboxedEnvironment.is_safe_attribute` is overridden.

    >>> from jinja2.sandbox import is_internal_attribute
    >>> is_internal_attribute(str, "mro")
    True
    >>> is_internal_attribute(str, "upper")
    False
    ?FunctionType?_in??
V?type?mro?CodeType?
TracebackType?	FrameType?
GeneratorType?hasattr?
CoroutineType?AsyncGeneratorType?
startswith?__??)	(?is_internal_attribute?modifies_known_mutable$10?This function checks if an attribute on a builtin mutable object
    (list, dict, set or deque) would modify it if called.  It also supports
    the "user"-versions of the objects (`sets.Set`, `UserDict.*` etc.) and
    with Python 2.6 onwards the abstract base classes `MutableSet`,
    `MutableMapping`, and `MutableSequence`.

    >>> modifies_known_mutable({}, "clear")
    True
    >>> modifies_known_mutable({}, "keys")
    False
    >>> modifies_known_mutable([], "append")
    True
    >>> modifies_known_mutable([], "index")
    False

    If called with an unsupported object (such as unicode) `False` is
    returned.

    >>> modifies_known_mutable("foo", "upper")
    False
    ?LV
V?unpackSequence8(Lorg/python/core/PyObject;I)[Lorg/python/core/PyObject;??
J?__iternext__?V
V?False??)	(?modifies_known_mutable?SandboxedEnvironment?SandboxedEnvironment$11?The sandboxed environment.  It works like the regular environment but
    tells the compiler to generate sandboxed code.  Additionally subclasses of
    this environment may override the methods that tell the runtime what
    attributes or functions are safe to access.

    If the template tries to access insecure code a :exc:`SecurityError` is
    raised.  However also other exceptions may occur during the rendering so
    the caller has to ensure that all exceptions are caught.
    ?	sandboxed?org/python/core/PyDictionary?+?-?sub?*?mul?/?truediv?//?floordiv?**?pow?%?mod?
?kdefault_binop_table?pos?negdefault_unop_tableintercepted_binopsintercepted_unopsintercept_unop$12?Called during template compilation with the name of a unary
        operator to check if it should be intercepted at runtime.  If this
        method returns `True`, :meth:`call_unop` is excuted for this unary
        operator.  The default implementation of :meth:`call_unop` will use
        the :attr:`unop_table` dictionary to perform the operator with the
        same logic as the builtin one.

        The following unary operators are interceptable: ``+`` and ``-``

        Intercepted calls are always slower than the native operator call,
        so make sure only to intercept the ones you are interested in.

        .. versionadded:: 2.6
        	)	(intercept_unop
__init__$13globals__setitem__7(Lorg/python/core/PyObject;Lorg/python/core/PyObject;)V
Vcopybinop_table
unop_table)	(is_safe_attribute$14YThe sandboxed environment will call this method to check if the
        attribute of an object is safe to access.  Per default all attributes
        starting with an underscore are considered private as well as the
        special attributes of internal python objects as returned by the
        :func:`is_internal_attribute` function.
        _!)	(#is_safe_attribute%is_safe_callable$15Check if an object is safely callable.  Per default a function is
        considered safe unless the `unsafe_callable` attribute exists and is
        True.  Override this method to alter the behavior, but this won't
        affect the `unsafe` decorator from this module.
        (getattr*?(Lorg/python/core/ThreadState;Lorg/python/core/PyObject;Lorg/python/core/PyObject;Lorg/python/core/PyObject;)Lorg/python/core/PyObject;m,
V-alters_data/')	(1is_safe_callable3
call_binop$16?For intercepted binary operator calls (:meth:`intercepted_binops`)
        this function is executed instead of the builtin operator.  This can
        be used to fine tune the behavior of certain operators.

        .. versionadded:: 2.6
        65)	(8
call_binop:call_unop$17?For intercepted unary operator calls (:meth:`intercepted_unops`)
        this function is executed instead of the builtin operator.  This can
        be used to fine tune the behavior of certain operators.

        .. versionadded:: 2.6
        =<)	(?	call_unopA
getitem$18(Subscribe an object from sandboxed code.D	TypeErrorF	ExceptionHAttributeErrorJunsafe_undefinedL	undefinedNobjPnameRC)	(TgetitemV
getattr$19?Subscribe an object from sandboxed code and prefer the
        attribute.  The attribute passed *must* be a bytestring.
        YX)	([unsafe_undefined$201Return an undefined object for unsafe attributes.^.access to attribute %r of %r object is unsafe.`	__class__bexcd])	(fformat_string$21?If a format call is detected, then this is routed through this
        method so that our safety sandbox can be used for it.
        iSandboxedEscapeFormatterkescapemSandboxedFormatterovformatqh)	(s
format_stringucall$22#Call an object from sandboxed code.x_isnotz?
V{%r is not safely callable}callw)	(??)	(?ImmutableSandboxedEnvironment? ImmutableSandboxedEnvironment$23?Works exactly like the regular `SandboxedEnvironment` but does not
    permit modifications on the builtin mutable objects `list`, `set`, and
    `dict` by using the :func:`modifies_known_mutable` function.
    ?is_safe_attribute$24?(Lorg/python/core/ThreadState;Lorg/python/core/PyObject;Lorg/python/core/PyObject;Lorg/python/core/PyObject;Lorg/python/core/PyObject;)Lorg/python/core/PyObject;m?
V??)	(??)	(?_string?formatter_field_name_split?formatter_field_name_split$25_formatter_field_name_split??)	(?object?SandboxedFormatterMixin?SandboxedFormatterMixin$26__init__$27_env??)	(?get_field$28	get_value??)	(?	get_field??)	(?SandboxedFormatter$29__init__$30?)	(??)	(?SandboxedEscapeFormatter$31__init__$32?)	(??)	(?(Ljava/lang/String;)Vorg/python/core/PyFunctionTable?()Vi?
??selfLjinja2/sandbox$py;??	(??newCode?(I[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZLorg/python/core/PyFunctionTable;I[Ljava/lang/String;[Ljava/lang/String;II)Lorg/python/core/PyCode;??
J?)	(??args?kwargs?key?idx?callable?rng?f?attr?typespec?value?context?left?right?arg?argument?	attribute?s?	formatter?rv?__self?	__context?__obj?fmt?
field_name?env?first?restis_attrigetMain()Lorg/python/core/PyCode;main([Ljava/lang/String;)V'i?
(
(org/python/core/CodeLoadercreateSimpleBootstrap9(Lorg/python/core/PyCode;)Lorg/python/core/CodeBootstrap;
runMain5(Lorg/python/core/CodeBootstrap;[Ljava/lang/String;)V
JgetCodeBootstrap!()Lorg/python/core/CodeBootstrap;#org/python/core/PyRunnableBootstrap)getFilenameConstructorReflectionBootstrap2(Ljava/lang/Class;)Lorg/python/core/CodeBootstrap;
 
call_functionS(ILorg/python/core/PyFrame;Lorg/python/core/ThreadState;)Lorg/python/core/PyObject;
($
(&
((1
(*G
(,N
(.e
(0~
(2?
(4?
(6?
(8?
(:
(<
(>
(@'
(B5
(D<
(FC
(HX
(J]
(Lh
(Nw
(P?
(R?
(T?
(V?
(X?
(Z?
(\?
(^?
(`?
(b?
(dorg/python/core/PyRunnablef Lorg/python/compiler/APIVersion;%Lorg/python/compiler/MTime;`9?hLorg/python/compiler/Filename;X/home/trustin/Workspaces/sphinx-maven-plugin/target/update-sphinx/dist/jinja2/sandbox.pyorg/python/core/ThreadStateojava/lang/Objectq[Ljava/lang/Object;s[Ljava/lang/String;u	CodeLineNumberTableStackMap
SourceFileRuntimeVisibleAnnotations!(?g"??)))1)G)N)e)~)?)?)?)?))))')5)<)C)X)])h)w)?)?)?)?)?)?)?)?)?)?)&x`
?+??+??W+?+?N+-?!N+?#+?N+#-?!N+?%?'N-)S-+?-N-2:+)?!:+?/?'N-1S-+?-N-2:+1?!:+?3?'N-5S-+?-N-2:+5?!:+?7?'N-9S-;S-+?-N-2:+9?!:-2:+;?!:+?=?'N-?S-+?-N-2:+??!:+?A?'N-CS-+?-N-2:+C?!:+?E?'N-GS-+?-N-2:+G?!:+?H?NN+P-?!N+?+;?T?Z?S+ ?+\?T,?^Y?VY`?SYb?SYd?SYf?SYh?S?l?pN+r-?!N?+%?+\?T,?uN+r-?!N+)?+\?T,?^Y?VYw?SYy?SY{?S?l?pN+}-?!N+,?+\?T,?^Y?VY?SY??S?l?pN+?-?!N+/?+\?T,?^Y?VY??SY??S?l?pN+?-?!N+2?+\?T,?^Y?VY??SY??S?l?pN+?-?!N+4??+?N+?-?!N+7?+??T???,?VN??-__S??-__S+??T-__S??-__S?':?S-??NW+:?%?'N-?S-+?-N-2:+??!:+???Y?VY+??TS??N+?-?!N+C???'N-?S-?S-+?-N-2:+??!:-2:+??!:+D???'N-?S-+?-N-2:+??!:+E?+??TN??Y?VY+??TSY+??TS??-_??N+?-?!+F?+??TN??Y?VY+??TS??-_??N+?-?!? +??N-+¶T?ș+H??-?+L???'N-?S-+?-N-2:+??!:+M?+??TN??Y?VY+ζTS??-_??N+?-?!? +??N-+¶T?ș+O??-?+R?%?'N-?S-?S-?S-+?-N-2:+??!:-2:+??!:-2:+??!:+S?+??TN??Y?VY+жTS??-_??N+?-?!+T?+??TN??Y?VY+ҶTS??-_??N+?-?!+U?+??TN??Y?VY+ԶTS??-_??N+?-?!+X???Y?VY??Y?VY+??TSY+ֶT,?^Y?VYظSYڸSYܸSY޸SY?SY?SY?SY?S?l?pS??SY??Y?VY+??TSY+ֶT,?^Y?VYڸSY?SY?SY?SY?S?l?pS??SY??Y?VY+??TSY+ֶT,?^Y?VY?SY?SY?SY?SY??SY?S?l?pS??SY??Y?VY+??TSY+ֶT,?^Y	?VY?SY??SYڸSY??SY??SY?SY??SY?SY??S?l?pS??S??N+?-?!N+j??VN+)?T-__S-?Z?^:+?!:-?d+???N?
Y+?-?{?.N+}-?!N+???N?
Y+?-?????.N+?-?!N+???N?
Y+?-?????.N+?-?!N+???N?
Y+?-?????.N+?-?!N+϶?N?
Y+?-??ȸ?.N+?-?!N+??VN+1?T-__S?-???^:+??!:-?d+???VN+ٶT-__S?-???^:+??!:-?d+????'N-?S-+?-N-2:+??!:?E+??N-+¶T?ș1+???:?
Y+????.:+??!:?-?+¶?VN+??T-__S?-???^:+??!:-?d+Ѷ?VN+??T-__S+G?T-__Sp-???^:+p?!:-?d+׶?VN+??T-__S+C?T-__Sl-???^:+l?!:-?d+?#?&??????*-?	T	?	??y?2 %),/247:<=>CDEFHLMORSTUXj????????????z??(p
(p?(pV??(p??(pr-(prV?H(p?VJ(prV	?(ptV?	?(p?V	?(prx??++?T?!+??!+p??W+r??N?
Y+?-?+?.N+0-?!N+w??N?
Y+?-?E?.N+F-?!N+???N?
Y+?-?K?.N+M-?!N+???N?
Y+?-?R?.N+T-?!N+?X?yprw??xvV+s?+?N+?-?N+t?+?N+?-?N+u??NN+?-?N+?#?&?ystu1x??+x?+?N3?-_?6N?Z??+y?+???N+-?9N+z?+?N:-??:?N_??:-?+|?+???+???A?ș+~???+?+C?A,+??p:+?9:?+??+???+????.N+B-?!N+g??N?
Y+?-?UE??.N+W-?!N+|??N?
Y+?-?\Z??.N++-?!N+???N?
Y+?-?g_??.N+M-?!N+???N?
Y+?-?tj??.N+v-?!N+???N?
Y+?-??y??.N+?-?!N+?X?yF???)+=CLU^g|???x@$+9?
?W+:?+ӶAN+?#-?y
9:x??+>?+1?A0???VN+?-__S?':+?+?-^X??NW+??+??AN+?????-?N+@?+??????,?uN+?-?N+A?+?????,?uN+?-?N+?#?&?y>?@Ax?R+I? ?W+J?+????,"??pY?Z?W+ŶA,+?+??n?qN+?#-?y
IJzG(pV'x?b+Q?)?W+R?++?A,+???+ӶA?.Y?Z?!W++?A,+?0?+ӶA?.?qN+?#-?y
QRzW(pV5xZ>+[?7?W+\?+???+??<,+?+??nN+?#-?y
[\<xU9+d?>?W+e?+???+??<,+??pN+?#-?y
deCx5?+h?E?W+j?+?+???AS???ș(+l?+g?A,+?+9?A?n?Z?+n?+C?A,+??p:+?9:?%+??:+I?A?ș
+p????+s?++?A,+?+??n:+?9:?%+??:+K?A?ș
+u??m?+w?+?&??,+?+?+??.?Z?+x?+?N+?#-?+y?+?M??,+?+??nN+?#-????+z?+?O??,?V:+?__S+?__S?':QSSS??:N+?#-?????z???#*?#**?y.hjlnpsuwxyzz?*(p??(p???(p???(p??(p??(p??(p?N(p?v(p??y(p?|(p?(p?XxRc+?Z?W+??++?A,+?+??nN+-?9N?s+??N-+K?A?ș^+??+?+??<:+?#?+??:??Y?VY+G?ASY+>?AS???ș
+?????p-?+??+?&??,+?+?+??.?Z?+??+?:+?#?+??+?M??,+?+??n:+?#?+??+?O??,?VN+?-__S+?-__S?':QSSS-??N:+?#?I_g?_gg?36?y"???????z?6(p?g(p???(p???(p???(p??(p?(p(p??]x?
?+??_?W+??+?O??,?VNa???Y?VY+?SY+?c????S????-__S+?-__S+?-__S+5?A-__S?':SSQSeS-??NN+?#-?y
??hxQ?+??j?W+??+g?A,+?+??A?n?Z?1+??+l?A,+?+?n???nN+-?9N?#+??+p?A,+??pN+-?9N+??+?A,+?+??nN+-?9N+??+?r??,+?+?+??.N+-?9N+??+??A,+??p,+??pN+?#-?y???????z!_(p(pwxp
+??y?W+??+}?A,+??pN+-?9N+??+?N+w?A-_?|N?Z?0+??+?v??,+?+?+??.N+?#-?+??+?4??,+??p?q?Z?4+??+5?A,~???Y?VY+?S?????p???+??+?????V:+?__S?':+?+?^X??:N+?#-?y???????z"|(p?(p?xoS++?T?!+???!+????W+???N?
Y+?-???.N+&-?!N+?X?y
???x?r+??+ٶA&??,+?+?+?+????q?Z?+??+ӶAN+?#-?+??+׶A,+?+??n?qN+?#-?y???zK(p?x6+??+????,?uN+?#-?y??x{_++?T?!+Ķ?N?
Y+?-???.N+0-?!N+Ƕ?N?
Y+?-???.N+?-?!N+?X?y
???x<$+Ŷ+?N+??-?N+?#?&?y??x?j+ȶ+??A,+??pN-??:2:+?9:2:+?9:N+ɶ+????,+?+?+??.N+-?9N+ʶ+???N????:2:+?9:2:+?9:+˶+??Z?;+̶+????+??,+?+??n:+?9:?8+ζ+????W??,+?+??n:+?9:+ʶ-??:??G+϶??Y?VY+?SY+?S??N+?#-?y"????????zG?(pVV?(pVVw-(pVr?xQ9++?T?!+Ӷ?N?
Y+?-???.N+0-?!N+?X?y??xeI+Զ+??A0??,+?+??nW+ն+G?A0??,+??pW+?#?&?y
???xQ9++?T?!+ٶ?N?
Y+?-???.N+0-?!N+?X?y??xjN+ڶ+??A0??,+?+??nW+۶+C?A0??,+?+??nW+?#?&?y
??i?xF
:*??*???'M,+????ɳ??'M,+j???ɳZ?'M,?S,?S,?S,+0r???ɳ+?'M,?S,?S,?S,+Fw???ɳE?'M,?S,+M????ɳK?'M,?S,+T????ɳR?'M,?S,QS,+}????ɳ{?'M,?S,?S,+?????ɳ??'M,?S,+?????ɳ??'M,QS,?S,+????	?ɳ??'M,QS,?S,?S,?S,+????
?ɳ??'M,+?????ɳ??'M,?S,#S,++???ɳ?'M,?S,?S,?S,+0=??
?ɳ?'M,?S,QS,?S,?S,+&C???ɳ$?'M,?S,QS,+4L???ɳ2?'M,?S,?S,#S,?S,?S,+;U???ɳ9?'M,?S,?S,#S,?S,+B^???ɳ@?'M,?S,QS,?S,?S,?S,+Wg???ɳU?'M,?S,QS,?S,?S,++|???ɳ\?'M,?S,QS,?S,+M????ɳg?'M,?S,?S,?S,?S,?S,?S,+v????ɳt?'M,?S,?S,?S,?S,?S,?S,+?????ɳ??'M,+?????ɳ??'M,?S,QS,?S,?S,+&????ɳ??'M,?S,+?????ɳ??'M,+?????ɳ??'M,?S,?S,+0????ɳ?	?'M,?S,?S,?S,?S,S,S,QS,S,S,+?????ɳ??'M,+p????ɳ??'M,?S,?S,+0????ɳ??'M,+l????ɳ??'M,?S,?S,nS,+0??? ?ɳ??x?˰		
x!?(Y?
??*??	x(?!?"#x?*,-? ????????????????????????????%??'??)??+??-??/??1??3??5??7??9??;??=?????A??C??E??G??I??K??M??O??Q??S??U??W??Y??[??]??_??a??c??e??zT"?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p?(p(p(p(p(p(p(p(p(p(p(p(p(p(p(p(p(p(p{n|h?Iij?Jkm?sn




© 2015 - 2024 Weber Informatics LLC | Privacy Policy