ethyca-fides 2.67.0rc2__py2.py3-none-any.whl → 2.67.0rc4__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ethyca-fides might be problematic. Click here for more details.
- {ethyca_fides-2.67.0rc2.dist-info → ethyca_fides-2.67.0rc4.dist-info}/METADATA +1 -1
- {ethyca_fides-2.67.0rc2.dist-info → ethyca_fides-2.67.0rc4.dist-info}/RECORD +101 -100
- fides/_version.py +3 -3
- fides/api/models/privacy_request/privacy_request.py +33 -13
- fides/api/schemas/application_config.py +1 -0
- fides/api/service/privacy_request/request_runner_service.py +3 -2
- fides/api/service/privacy_request/request_service.py +173 -32
- fides/api/task/execute_request_tasks.py +4 -0
- fides/api/task/graph_task.py +46 -2
- fides/api/util/cache.py +56 -0
- fides/api/util/memory_watchdog.py +286 -0
- fides/config/execution_settings.py +8 -0
- fides/config/utils.py +1 -0
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-3e5725cd06d7fe6c.js +1 -0
- fides/ui-build/static/admin/_next/static/{5x65uIwZtfTiu6ITZ4wqq → mGce9yxLktePdBkapyLNl}/_buildManifest.js +1 -1
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
- fides/ui-build/static/admin/data-discovery/activity.html +1 -1
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/detection.html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
- fides/ui-build/static/admin/datamap.html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
- fides/ui-build/static/admin/dataset/new.html +1 -1
- fides/ui-build/static/admin/dataset.html +1 -1
- fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
- fides/ui-build/static/admin/datastore-connection/new.html +1 -1
- fides/ui-build/static/admin/datastore-connection.html +1 -1
- fides/ui-build/static/admin/index.html +1 -1
- fides/ui-build/static/admin/integrations/[id].html +1 -1
- fides/ui-build/static/admin/integrations.html +1 -1
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.html +1 -1
- fides/ui-build/static/admin/poc/ant-components.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
- fides/ui-build/static/admin/poc/forms.html +1 -1
- fides/ui-build/static/admin/poc/table-migration.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/settings/about/alpha.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-a286affa43687eb5.js +0 -1
- {ethyca_fides-2.67.0rc2.dist-info → ethyca_fides-2.67.0rc4.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.67.0rc2.dist-info → ethyca_fides-2.67.0rc4.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.67.0rc2.dist-info → ethyca_fides-2.67.0rc4.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.67.0rc2.dist-info → ethyca_fides-2.67.0rc4.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{5x65uIwZtfTiu6ITZ4wqq → mGce9yxLktePdBkapyLNl}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Memory watchdog utilities used to proactively interrupt long-running Celery tasks that approach the
|
|
3
|
+
container's memory limits.
|
|
4
|
+
|
|
5
|
+
The watchdog runs in a background thread and periodically samples the overall system memory usage
|
|
6
|
+
(using `psutil`). When usage exceeds the configured threshold, it immediately sends `SIGUSR1` to
|
|
7
|
+
the current process. The signal handler raises `MemoryLimitExceeded` which can be caught by the
|
|
8
|
+
calling code to perform clean-up and let Celery record the task as failed.
|
|
9
|
+
|
|
10
|
+
This allows tasks to terminate gracefully with proper error logging, rather than being forcefully
|
|
11
|
+
killed by the system's OOM killer which would result in a WorkerLostError and incomplete cleanup.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import os
|
|
17
|
+
import signal
|
|
18
|
+
import threading
|
|
19
|
+
import time
|
|
20
|
+
from functools import wraps
|
|
21
|
+
from types import FrameType, TracebackType
|
|
22
|
+
from typing import Any, Callable, Literal, Optional, Type, TypeVar, Union
|
|
23
|
+
|
|
24
|
+
import psutil # type: ignore
|
|
25
|
+
from loguru import logger
|
|
26
|
+
|
|
27
|
+
F = TypeVar("F", bound=Callable[..., Any])
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def get_memory_watchdog_enabled() -> bool:
|
|
31
|
+
"""
|
|
32
|
+
Get the memory_watchdog_enabled setting from the application configuration.
|
|
33
|
+
|
|
34
|
+
Returns:
|
|
35
|
+
bool: True if memory_watchdog_enabled is enabled, False otherwise (defaults to False)
|
|
36
|
+
"""
|
|
37
|
+
try:
|
|
38
|
+
from fides.api.api.deps import get_autoclose_db_session as get_db
|
|
39
|
+
from fides.config.config_proxy import ConfigProxy
|
|
40
|
+
|
|
41
|
+
with get_db() as db:
|
|
42
|
+
config_proxy = ConfigProxy(db)
|
|
43
|
+
# ConfigProxy returns None when no config record exists, so we must handle None explicitly
|
|
44
|
+
value = getattr(config_proxy.execution, "memory_watchdog_enabled")
|
|
45
|
+
return value if value is not None else False
|
|
46
|
+
except Exception: # pragma: no cover
|
|
47
|
+
# default to disabled for backward compatibility
|
|
48
|
+
return False
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class MemoryLimitExceeded(RuntimeError):
|
|
52
|
+
"""Raised when the watchdog detects sustained memory usage above the threshold."""
|
|
53
|
+
|
|
54
|
+
def __init__(self, message: str, *, memory_percent: Optional[float] = None) -> None:
|
|
55
|
+
super().__init__(message)
|
|
56
|
+
self.memory_percent: Optional[float] = memory_percent
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class MemoryWatchdog:
|
|
60
|
+
"""Background memory monitor that enables graceful task termination.
|
|
61
|
+
|
|
62
|
+
Monitors system memory usage and triggers controlled shutdown when usage exceeds the threshold,
|
|
63
|
+
preventing forceful termination by the system's OOM killer.
|
|
64
|
+
|
|
65
|
+
Parameters
|
|
66
|
+
----------
|
|
67
|
+
threshold:
|
|
68
|
+
Percentage of *overall* system memory usage at which the watchdog triggers.
|
|
69
|
+
check_interval:
|
|
70
|
+
How often (in seconds) to sample ``psutil.virtual_memory()``.
|
|
71
|
+
grace_period:
|
|
72
|
+
Deprecated - kept for compatibility but defaults to 0 for immediate action.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
def __init__(
|
|
76
|
+
self, *, threshold: int = 90, check_interval: float = 0.5, grace_period: int = 0
|
|
77
|
+
) -> None:
|
|
78
|
+
self.threshold = threshold
|
|
79
|
+
self.check_interval = check_interval
|
|
80
|
+
self.grace_period = grace_period
|
|
81
|
+
|
|
82
|
+
self._thread: Optional[threading.Thread] = None
|
|
83
|
+
self._monitoring = threading.Event()
|
|
84
|
+
self._original_handler: Union[
|
|
85
|
+
Callable[[int, Optional[FrameType]], Any], int, signal.Handlers, None
|
|
86
|
+
] = None
|
|
87
|
+
|
|
88
|
+
# ---------------------------------------------------------------------
|
|
89
|
+
# Public helpers
|
|
90
|
+
# ---------------------------------------------------------------------
|
|
91
|
+
def start(self) -> None:
|
|
92
|
+
"""Start the background monitoring thread and register the signal handler."""
|
|
93
|
+
logger.debug(
|
|
94
|
+
"Starting memory watchdog - threshold={}%, check_interval={}s",
|
|
95
|
+
self.threshold,
|
|
96
|
+
self.check_interval,
|
|
97
|
+
)
|
|
98
|
+
self._original_handler = signal.signal(signal.SIGUSR1, self._signal_handler)
|
|
99
|
+
self._monitoring.set()
|
|
100
|
+
self._thread = threading.Thread(
|
|
101
|
+
target=self._run, name="memory-watchdog", daemon=True
|
|
102
|
+
)
|
|
103
|
+
self._thread.start()
|
|
104
|
+
|
|
105
|
+
def stop(self) -> None:
|
|
106
|
+
"""Stop the monitoring thread and restore the previous signal handler."""
|
|
107
|
+
logger.debug("Stopping memory watchdog")
|
|
108
|
+
self._monitoring.clear()
|
|
109
|
+
if self._thread and self._thread.is_alive():
|
|
110
|
+
self._thread.join(timeout=2)
|
|
111
|
+
if self._original_handler is not None:
|
|
112
|
+
signal.signal(signal.SIGUSR1, self._original_handler)
|
|
113
|
+
self._original_handler = None
|
|
114
|
+
|
|
115
|
+
# ------------------------------------------------------------------
|
|
116
|
+
# Context-manager support
|
|
117
|
+
# ------------------------------------------------------------------
|
|
118
|
+
def __enter__(self) -> "MemoryWatchdog":
|
|
119
|
+
self.start()
|
|
120
|
+
return self
|
|
121
|
+
|
|
122
|
+
def __exit__(
|
|
123
|
+
self,
|
|
124
|
+
exc_type: Optional[Type[BaseException]],
|
|
125
|
+
exc_value: Optional[BaseException],
|
|
126
|
+
traceback: Optional[TracebackType],
|
|
127
|
+
) -> Literal[False]:
|
|
128
|
+
self.stop()
|
|
129
|
+
# Do not suppress exceptions
|
|
130
|
+
return False
|
|
131
|
+
|
|
132
|
+
# ------------------------------------------------------------------
|
|
133
|
+
# Internal helpers
|
|
134
|
+
# ------------------------------------------------------------------
|
|
135
|
+
def _signal_handler(
|
|
136
|
+
self, signum: int, frame: Optional[FrameType]
|
|
137
|
+
) -> None: # noqa: D401 – Celery uses signal handlers
|
|
138
|
+
"""Convert the signal into an exception on the main thread."""
|
|
139
|
+
current_percent = _system_memory_percent()
|
|
140
|
+
logger.error("Memory limit exceeded: {}%", current_percent)
|
|
141
|
+
self.stop()
|
|
142
|
+
raise MemoryLimitExceeded(
|
|
143
|
+
"Memory usage exceeded threshold", memory_percent=current_percent
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
def _run(self) -> None:
|
|
147
|
+
"""Background thread body."""
|
|
148
|
+
while self._monitoring.is_set():
|
|
149
|
+
try:
|
|
150
|
+
mem_percent = _system_memory_percent()
|
|
151
|
+
|
|
152
|
+
if mem_percent > self.threshold:
|
|
153
|
+
# Trigger graceful termination before the system OOM killer can intervene
|
|
154
|
+
logger.error(
|
|
155
|
+
"Memory usage {}% above threshold {}% - sending SIGUSR1 to terminate task gracefully (prevents OOM kill)",
|
|
156
|
+
mem_percent,
|
|
157
|
+
self.threshold,
|
|
158
|
+
)
|
|
159
|
+
os.kill(os.getpid(), signal.SIGUSR1)
|
|
160
|
+
return # stop monitoring after signal
|
|
161
|
+
|
|
162
|
+
time.sleep(self.check_interval)
|
|
163
|
+
except Exception as exc: # pragma: no cover – best-effort logging
|
|
164
|
+
logger.exception("Uncaught error in memory watchdog: {}", exc)
|
|
165
|
+
break
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
# -----------------------------------------------------------------------------
|
|
169
|
+
# Decorator for Celery tasks (or any function)
|
|
170
|
+
# -----------------------------------------------------------------------------
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def memory_limiter(
|
|
174
|
+
_func: Optional[F] = None,
|
|
175
|
+
*,
|
|
176
|
+
threshold: int = 90,
|
|
177
|
+
check_interval: float = 0.5,
|
|
178
|
+
grace_period: int = 0,
|
|
179
|
+
) -> Union[F, Callable[[F], F]]:
|
|
180
|
+
"""Decorator that runs the wrapped callable under a :class:`MemoryWatchdog`.
|
|
181
|
+
|
|
182
|
+
Enables graceful task termination when memory usage is high, preventing WorkerLostError
|
|
183
|
+
from system OOM killer intervention.
|
|
184
|
+
|
|
185
|
+
Can be applied **with or without arguments**::
|
|
186
|
+
|
|
187
|
+
@memory_limiter
|
|
188
|
+
def task_a():
|
|
189
|
+
...
|
|
190
|
+
|
|
191
|
+
@memory_limiter(threshold=85)
|
|
192
|
+
def task_b():
|
|
193
|
+
...
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
def decorator(func: F) -> F:
|
|
197
|
+
@wraps(func)
|
|
198
|
+
def wrapper(*args: Any, **kwargs: Any) -> Any:
|
|
199
|
+
# Check if memory watchdog is enabled
|
|
200
|
+
if not get_memory_watchdog_enabled():
|
|
201
|
+
logger.debug(
|
|
202
|
+
"Memory watchdog disabled by configuration - running task without monitoring"
|
|
203
|
+
)
|
|
204
|
+
return func(*args, **kwargs)
|
|
205
|
+
|
|
206
|
+
watchdog = MemoryWatchdog(
|
|
207
|
+
threshold=threshold,
|
|
208
|
+
check_interval=check_interval,
|
|
209
|
+
grace_period=grace_period,
|
|
210
|
+
)
|
|
211
|
+
watchdog.start()
|
|
212
|
+
try:
|
|
213
|
+
return func(*args, **kwargs)
|
|
214
|
+
except MemoryLimitExceeded as exc:
|
|
215
|
+
logger.error(
|
|
216
|
+
"Task terminated gracefully due to memory pressure: {}%",
|
|
217
|
+
exc.memory_percent,
|
|
218
|
+
)
|
|
219
|
+
raise
|
|
220
|
+
finally:
|
|
221
|
+
watchdog.stop()
|
|
222
|
+
|
|
223
|
+
return wrapper # type: ignore[return-value]
|
|
224
|
+
|
|
225
|
+
# If called without arguments, the first positional argument is the function
|
|
226
|
+
if _func is not None and callable(_func):
|
|
227
|
+
return decorator(_func)
|
|
228
|
+
|
|
229
|
+
return decorator
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
# -----------------------------------------------------------------------------
|
|
233
|
+
# Platform helpers – cgroup-aware memory measurement
|
|
234
|
+
# -----------------------------------------------------------------------------
|
|
235
|
+
|
|
236
|
+
# Docker / Kubernetes containers are usually memory-constrained via cgroups. If we only look at
|
|
237
|
+
# host-wide memory usage the watchdog will never fire, because the host may still have plenty of
|
|
238
|
+
# free RAM even though the container is about to be OOM-killed. The helpers below read the
|
|
239
|
+
# relevant cgroup files (v2 first, then v1) and compute the percentage of the *container limit* in
|
|
240
|
+
# use. When cgroup information is unavailable (e.g. running directly on the host) we return
|
|
241
|
+
# `None` and fall back to `psutil`.
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
def _cgroup_memory_percent() -> Optional[float]:
|
|
245
|
+
"""Return container memory usage as *percentage* of the cgroup limit or `None` when not
|
|
246
|
+
running inside a memory-limited cgroup."""
|
|
247
|
+
|
|
248
|
+
def _read(path: str) -> Optional[int]:
|
|
249
|
+
try:
|
|
250
|
+
with open(path, "r", encoding="utf-8") as fh:
|
|
251
|
+
raw = fh.read().strip()
|
|
252
|
+
if raw == "" or raw.lower() == "max": # v2 "max" means unlimited
|
|
253
|
+
return None
|
|
254
|
+
return int(raw)
|
|
255
|
+
except (FileNotFoundError, PermissionError, ValueError): # pragma: no cover
|
|
256
|
+
return None
|
|
257
|
+
|
|
258
|
+
# cgroups v2 (unified)
|
|
259
|
+
usage = _read("/sys/fs/cgroup/memory.current")
|
|
260
|
+
limit = _read("/sys/fs/cgroup/memory.max")
|
|
261
|
+
if usage is not None and limit and limit > 0:
|
|
262
|
+
return usage / limit * 100
|
|
263
|
+
|
|
264
|
+
# cgroups v1
|
|
265
|
+
usage = _read("/sys/fs/cgroup/memory/memory.usage_in_bytes")
|
|
266
|
+
limit = _read("/sys/fs/cgroup/memory/memory.limit_in_bytes")
|
|
267
|
+
if (
|
|
268
|
+
usage is not None and limit and 0 < limit < (1 << 60)
|
|
269
|
+
): # ignore enormous "unlimited" value
|
|
270
|
+
return usage / limit * 100
|
|
271
|
+
|
|
272
|
+
return None
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
def _system_memory_percent() -> float:
|
|
276
|
+
"""Best-effort *current* memory usage percentage for the running worker.
|
|
277
|
+
|
|
278
|
+
1. Use cgroup metrics when they are available and meaningful.
|
|
279
|
+
2. Fall back to host-wide `psutil.virtual_memory().percent` otherwise."""
|
|
280
|
+
|
|
281
|
+
cgroup_percent = _cgroup_memory_percent()
|
|
282
|
+
if cgroup_percent is not None:
|
|
283
|
+
return cgroup_percent
|
|
284
|
+
|
|
285
|
+
# Fall back to host memory usage
|
|
286
|
+
return psutil.virtual_memory().percent
|
|
@@ -57,6 +57,10 @@ class ExecutionSettings(FidesSettings):
|
|
|
57
57
|
default=300,
|
|
58
58
|
description="Seconds between polling for interrupted tasks to requeue",
|
|
59
59
|
)
|
|
60
|
+
privacy_request_requeue_retry_count: int = Field(
|
|
61
|
+
default=3,
|
|
62
|
+
description="The number of times a privacy request will be requeued when its tasks are interrupted before being marked as error",
|
|
63
|
+
)
|
|
60
64
|
use_dsr_3_0: bool = Field(
|
|
61
65
|
default=False,
|
|
62
66
|
description="Temporary flag to switch to using DSR 3.0 to process your tasks.",
|
|
@@ -77,4 +81,8 @@ class ExecutionSettings(FidesSettings):
|
|
|
77
81
|
default="US/Eastern",
|
|
78
82
|
description="The timezone to send batch emails for DSR email integration.",
|
|
79
83
|
)
|
|
84
|
+
memory_watchdog_enabled: bool = Field(
|
|
85
|
+
default=False,
|
|
86
|
+
description="Whether the memory watchdog is enabled to monitor and gracefully terminate tasks that approach memory limits.",
|
|
87
|
+
)
|
|
80
88
|
model_config = SettingsConfigDict(env_prefix=ENV_PREFIX)
|
fides/config/utils.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/pages/404-2d803dab6a00f353.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/pages/404-2d803dab6a00f353.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4154],{58095:function(e,t,n){var s=n(8817);e.exports=function(e,t){return!!(null==e?0:e.length)&&s(e,t,0)>-1}},21796:function(e){e.exports=function(e,t,n){for(var s=-1,a=null==e?0:e.length;++s<a;)if(n(t,e[s]))return!0;return!1}},8817:function(e,t,n){var s=n(95372),a=n(1129),r=n(58263);e.exports=function(e,t,n){return t==t?r(e,t,n):s(e,a,n)}},1129:function(e){e.exports=function(e){return e!=e}},92198:function(e,t,n){var s=n(52485),a=n(58095),r=n(21796),i=n(65581),o=n(47111),l=n(43735);e.exports=function(e,t,n){var d=-1,c=a,u=e.length,h=!0,m=[],g=m;if(n)h=!1,c=r;else if(u>=200){var v=t?null:o(e);if(v)return l(v);h=!1,c=i,g=new s}else g=t?[]:m;e:for(;++d<u;){var p=e[d],y=t?t(p):p;if(p=n||0!==p?p:0,h&&y==y){for(var f=g.length;f--;)if(g[f]===y)continue e;t&&g.push(y),m.push(p)}else c(g,y,n)||(g!==m&&g.push(y),m.push(p))}return m}},47111:function(e,t,n){var s=n(46151),a=n(50344),r=n(43735),i=s&&1/r(new s([,-0]))[1]==1/0?function(e){return new s(e)}:a;e.exports=i},58263:function(e){e.exports=function(e,t,n){for(var s=n-1,a=e.length;++s<a;)if(e[s]===t)return s;return -1}},50344:function(e){e.exports=function(){}},83766:function(e,t,n){var s=n(92198);e.exports=function(e){return e&&e.length?s(e):[]}},25654:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/data-discovery/action-center/[monitorId]/[systemId]",function(){return n(56514)}])},79283:function(e,t,n){"use strict";n.d(t,{l:function(){return l}});var s=n(24246),a=n(13577),r=n(72707),i=n.n(r);let o=e=>{let{data:{formattedTitle:t,description:n,name:r,primaryName:i}}=e;return(0,s.jsxs)(a.jqI,{gap:12,title:"".concat(t," - ").concat(n),children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:i||r}),i&&": ".concat(r)]}),(0,s.jsx)("em",{children:n})]})},l=e=>{let{options:t,...n}=e,r=null==t?void 0:t.map(e=>({...e,className:i().option,formattedTitle:[e.primaryName,e.name].filter(e=>e).join(": ")}));return(0,s.jsx)(a.WPr,{options:r,filterOption:(e,t)=>(null==t?void 0:t.formattedTitle.toLowerCase().includes(e.toLowerCase()))||(null==t?void 0:t.value.toLowerCase().includes(e.toLowerCase()))||!1,optionFilterProp:"label",autoFocus:!0,variant:"borderless",optionRender:o,dropdownStyle:{minWidth:"500px"},className:"w-full p-0","data-testid":"taxonomy-select",...n})}},14047:function(e,t,n){"use strict";n.d(t,{H:function(){return r},V:function(){return s.V}});var s=n(84306),a=n(812);let r=()=>{let{errorAlert:e}=(0,s.V)();return{handleError:t=>{let n="An unexpected error occurred. Please try again.";(0,a.Ot)(t)?n=t.data.detail:(0,a.tB)(t)&&(n=t.data.detail[0].msg),e(n)}}}},84306:function(e,t,n){"use strict";n.d(t,{V:function(){return r}});var s=n(24246),a=n(13577);let r=()=>{let e=(0,a.pmc)();return{errorAlert:(t,n,r)=>{let i={...r,position:(null==r?void 0:r.position)||"top",render:e=>{let{onClose:r}=e;return(0,s.jsxs)(a.bZj,{alignItems:"normal",status:"error","data-testid":"error-alert",children:[(0,s.jsx)(a.zMQ,{}),(0,s.jsxs)(a.xuv,{children:[n&&(0,s.jsx)(a.CdC,{children:n}),(0,s.jsx)(a.XaZ,{children:t})]}),(0,s.jsx)(a.PZ7,{onClick:r,position:"relative",right:0,size:"sm",top:-1})]})}};(null==r?void 0:r.id)&&e.isActive(r.id)?e.update(r.id,i):e(i)},successAlert:(t,n,r)=>{let i={...r,position:(null==r?void 0:r.position)||"top",render:e=>{let{onClose:r}=e;return(0,s.jsxs)(a.bZj,{alignItems:"normal",status:"success",variant:"subtle","data-testid":"success-alert",children:[(0,s.jsx)(a.zMQ,{}),(0,s.jsxs)(a.xuv,{children:[n&&(0,s.jsx)(a.CdC,{children:n}),(0,s.jsx)(a.XaZ,{children:t})]}),(0,s.jsx)(a.PZ7,{onClick:r,position:"relative",right:0,size:"sm",top:-1})]})}};(null==r?void 0:r.id)&&e.isActive(r.id)?e.update(r.id,i):e(i)}}}},45938:function(e,t,n){"use strict";n.d(t,{Gt:function(){return h},eB:function(){return m},oI:function(){return u}});var s=n(24246),a=n(34090),r=n(27378),i=n(16134),o=n(38602),l=n(58452);let d=(0,r.createRef)(),c=(0,r.createRef)(),u=()=>{let e=(0,i.T)(),t=(0,i.C)(o.DB),n=(0,r.useCallback)(()=>{c.current=void 0,d.current=void 0},[]),s=(0,r.useCallback)(()=>{e((0,o.Mr)()),c.current&&(c.current(!0),n())},[e,n]),a=(0,r.useCallback)(()=>{e((0,o.Mr)()),c.current&&(c.current(!1),n())},[e,n]);return{attemptAction:(0,r.useCallback)(()=>t?(e((0,o.h7)()),d.current||(d.current=new Promise(e=>{c.current=e})),d.current):Promise.resolve(!0),[t,e]),onConfirm:s,onClose:a}},h=e=>{let{id:t,name:n}=e,{dirty:s}=(0,a.u6)(),l=(0,i.T)();return(0,r.useEffect)(()=>(l((0,o.Zu)({id:t,name:n})),()=>{l((0,o.dz)({id:t}))}),[l,t,n]),(0,r.useEffect)(()=>{l((0,o.$p)({id:t,isDirty:s}))},[s,l,t]),null},m=()=>{let{onConfirm:e,onClose:t}=u(),n=(0,i.C)(o.uv);return(0,s.jsx)(l.Z,{isOpen:n,onClose:t,onConfirm:e,isCentered:!0,title:"Unsaved Changes",message:"You have unsaved changes"})}},56514:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Q}});var s=n(24246),a=n(86677),r=n(27378),i=n(35287),o=n(77830),l=n(58754),d=n(13577),c=n(83766),u=n.n(c),h=n(812),m=n(25415),g=n(46628),v=n(54682),p=n(30952),y=n(37059),f=n(8133),x=n(79283),j=n(34929),_=n(78238),C=e=>{let{selectedTaxonomies:t,...n}=e,{getDataUseDisplayNameProps:a,getDataUses:r}=(0,j.Z)(),i=r().filter(e=>e.active&&_.g.includes(e.fides_key)).map(e=>{let{name:t,primaryName:n}=a(e.fides_key);return{value:e.fides_key,name:t,primaryName:n,description:e.description||""}});return(0,s.jsx)(x.l,{options:i,...n})};let{Text:w}=d.AntTypography;var S=e=>{let{onSave:t,isSaving:n,onClose:a,...i}=e,[o,l]=(0,r.useState)([]),c=()=>{l([]),a()};return(0,s.jsxs)(f.Z,{title:"Add consent category",...i,onClose:c,children:[(0,s.jsxs)(d.jqI,{vertical:!0,gap:20,className:"pb-6 pt-4",children:[(0,s.jsx)(w,{children:"Assign consent categories to selected assets. This configures the system for consent management. Consent categories apply to both individual assets and the system."}),(0,s.jsx)(C,{mode:"tags",selectedTaxonomies:o,onSelect:(e,t)=>l([...o,t.value]),variant:"outlined"})]}),(0,s.jsxs)(d.jqI,{justify:"space-between",children:[(0,s.jsx)(d.wpx,{htmlType:"reset",onClick:c,"data-testid":"cancel-btn",children:"Cancel"}),(0,s.jsx)(d.wpx,{htmlType:"submit",type:"primary",disabled:!o.length,loading:n,onClick:()=>{t(o),c()},"data-testid":"save-btn",children:"Save"})]})]})},b=n(29850),k=n(77685);let{Text:E}=d.AntTypography,T=e=>{let{onSave:t,isSaving:n,...a}=e,[i,o]=(0,r.useState)(),[l,c]=(0,r.useState)(!1),u=(0,r.useCallback)(e=>{e.preventDefault(),c(!0)},[]),h=()=>{c(!1)},m=()=>{o(void 0),a.onClose()};return(0,s.jsxs)(f.Z,{title:"Assign system",...a,onClose:m,children:[(0,s.jsxs)(d.jqI,{vertical:!0,gap:20,className:"pb-6 pt-4",children:[(0,s.jsx)(E,{children:"Assign a system to the selected assets. If no system exists, select 'Add new system' to create one."}),(0,s.jsx)(b.R,{placeholder:"Search or select...",onSelect:(e,t)=>{o(t)},onAddSystem:u,value:i})]})," ",(0,s.jsxs)(d.jqI,{justify:"space-between",children:[(0,s.jsx)(d.wpx,{htmlType:"reset",onClick:m,"data-testid":"cancel-btn",children:"Cancel"}),(0,s.jsx)(d.wpx,{htmlType:"submit",type:"primary",disabled:!i,loading:n,onClick:()=>{t(i),m()},"data-testid":"save-btn",children:"Save"})]}),l&&(0,s.jsx)(k.i,{isOpen:!0,onClose:h,onSuccessfulSubmit:(e,t)=>{h(),o({label:t,value:e})},toastOnSuccess:!0})]})};var A=n(8411),N=n(47935);let{Paragraph:I,Text:O,Link:D}=d.AntTypography,L=e=>{var t,n,a;let{isOpen:i,stagedResource:o,status:l,onCancel:c,onDownload:u}=e,[h,m]=(0,r.useState)(1),[g,v]=(0,r.useState)(N.W3[0]),{data:p,isFetching:f,isError:x}=(0,y.mi)({stagedResourceUrn:o.urn,status:l,page:h,size:g}),{items:j,total:_}=(0,r.useMemo)(()=>p||{items:[],total:0,pages:0,filterOptions:{assigned_users:[],systems:[]}},[p]);return(0,s.jsx)(d.$zI,{title:"Consent discovery",width:768,open:i,onCancel:c,footer:[(0,s.jsx)(d.wpx,{onClick:c,children:"Cancel"},"cancel"),!!u&&(0,s.jsx)(d.wpx,{type:"primary",onClick:u,children:"Download"},"download")],"data-testid":"consent-breakdown-modal",children:(0,s.jsxs)(d.jqI,{vertical:!0,className:"gap-6","data-testid":"consent-breakdown-modal-content",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(I,{children:"View all instances where this asset was detected without consent, organized by location and page. Use this to investigate potential compliance issues."}),(0,s.jsxs)(I,{children:[(0,s.jsx)(O,{strong:!0,children:"Asset name:"})," ",null!==(t=o.name)&&void 0!==t?t:(0,s.jsx)(O,{italic:!0,children:"Unknown"}),","," ",(0,s.jsx)(O,{strong:!0,children:"System:"})," ",null!==(n=o.system)&&void 0!==n?n:(0,s.jsx)(O,{italic:!0,children:"Unassigned"}),","," ",(0,s.jsx)(O,{strong:!0,children:"Domain:"})," ",null!==(a=o.domain)&&void 0!==a?a:(0,s.jsx)(O,{italic:!0,children:"Unknown"})]})]}),x?(0,s.jsx)(d.DUx,{type:"error",message:"Error fetching data",description:"Please try again later.",showIcon:!0}):(0,s.jsx)(d.V5H,{columns:[{title:"Location",dataIndex:"location",key:"location",render:e=>{var t;return null!==(t=A.Z8[e])&&void 0!==t?t:e}},{title:"Page",dataIndex:"page",key:"page",render:e=>(0,s.jsx)(D,{href:e,target:"_blank",rel:"noopener noreferrer",children:e})}],rowKey:e=>e.location,dataSource:j,pagination:!!_&&(h>1||g>N.W3[0])&&{current:h,pageSize:g,total:_||0,showTotal:(e,t)=>"".concat(t[0],"-").concat(t[1]," of ").concat(e," items"),onChange:(e,t)=>{m(e),t!==g&&(v(t),m(1))}},loading:f,"data-testid":"consent-breakdown-modal-table"})]})})};var P=n(98145),R=n(88708),Z=n(62165),U=n(91982),M=n(16394),V=n(54762),G=n(9320);let z=e=>{let{asset:t,onTabChange:n}=e,[r,{isLoading:i}]=(0,y.EY)(),[l,{isLoading:c}]=(0,y.nS)(),[u,{isLoading:m}]=(0,y.Tj)(),p=(0,d.pmc)(),f=(0,a.useRouter)(),x=i||c||m,{urn:j,name:_,resource_type:C,diff_status:w,system_key:S,user_assigned_system_key:b}=t,k=async()=>{let e=await r({urnList:[j]});if((0,h.D4)(e))p((0,g.Vo)((0,h.e$)(e.error)));else{let e=b||S,t="".concat(o.So,"/configure/").concat(e,"#assets");p((0,g.t5)((0,G._)("".concat(C,' "').concat(_,'" has been added to the system inventory.'),e?()=>f.push(t):void 0)))}},E=async()=>{let e=await l({urnList:[j]});(0,h.D4)(e)?p((0,g.Vo)((0,h.e$)(e.error))):p((0,g.t5)((0,G._)("".concat(C,' "').concat(_,'" has been ignored and will not appear in future scans.'),()=>n(R.A.IGNORED))))},T=async()=>{let e=await u({urnList:[j]});(0,h.D4)(e)?p((0,g.Vo)((0,h.e$)(e.error))):p((0,g.t5)("".concat(C,' "').concat(_,'" is no longer ignored and will appear in future scans.')))};return(0,s.jsxs)(d.vyj,{children:[w!==v.LL.MUTED&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.esZ,{title:t.system?void 0:"This asset requires a system before you can add it to the inventory.",children:(0,s.jsx)(d.wpx,{"data-testid":"add-btn",size:"small",onClick:k,disabled:!t.system||x,loading:i,children:"Add"})}),(0,s.jsx)(d.wpx,{"data-testid":"ignore-btn",size:"small",onClick:E,disabled:x,loading:c,children:"Ignore"})]}),w===v.LL.MUTED&&(0,s.jsx)(d.wpx,{"data-testid":"restore-btn",size:"small",onClick:T,disabled:x,loading:m,children:"Restore"})]})};var W=n(14047),X=n(18992),$=n.n(X),B=n(31883),K=e=>{var t,n,a;let{asset:i,readonly:o}=e,[l,c]=(0,r.useState)(!1),[u]=(0,y.Ak)(),{successAlert:m,errorAlert:g}=(0,W.V)(),{getDataUseDisplayName:v}=(0,j.Z)(),p=(null===(t=i.user_assigned_data_uses)||void 0===t?void 0:t.length)?i.user_assigned_data_uses:(null===(n=i.data_uses)||void 0===n?void 0:n.length)?i.data_uses:[],f=async e=>{let t=await u({monitorId:i.monitor_config_id,urnList:[i.urn],dataUses:[...p,e]});(0,B.D4)(t)?g((0,h.e$)(t.error)):m("Consent category added to ".concat(i.resource_type,' "').concat(i.name,'" .'),"Confirmed"),c(!1)},x=async e=>{let t=await u({monitorId:i.monitor_config_id,urnList:[i.urn],dataUses:p.filter(t=>t!==e)});(0,B.D4)(t)?g((0,h.e$)(t.error)):m("Consent category removed from ".concat(i.resource_type,' "').concat(i.name,'".'),"Confirmed")},w=(null===(a=i.user_assigned_data_uses)||void 0===a?void 0:a.length)?i.user_assigned_data_uses:i.data_uses,S=null==w?void 0:w.filter(e=>(0,_.Z)(e));return o?(0,s.jsx)(d.vyj,{direction:"vertical",children:null==S?void 0:S.map(e=>(0,s.jsx)(d.j8w,{color:"white",children:v(e)},e))}):(0,s.jsxs)(s.Fragment,{children:[!l&&(0,s.jsxs)(d.vyj,{wrap:!0,children:[null==S?void 0:S.map(e=>(0,s.jsx)(d.j8w,{"data-testid":"data-use-".concat(e),color:"white",closable:!0,onClose:()=>x(e),closeButtonLabel:"Remove data use",children:v(e)},e)),(0,s.jsx)(d.j8w,{onClick:()=>c(!0),"data-testid":"taxonomy-add-btn",addable:!0,"aria-label":"Add data use"})]}),l&&(0,s.jsx)("div",{className:$().cellBleed,style:{backgroundColor:"var(--fides-color-white)"},children:(0,s.jsx)(C,{selectedTaxonomies:S||[],onSelect:f,onBlur:()=>c(!1),open:!0})})]})};let q=e=>{let{consentAggregated:t,stagedResource:n,onShowBreakdown:a}=e;return(0,s.jsxs)(s.Fragment,{children:[t===v.lg.WITHOUT_CONSENT&&(0,s.jsx)(d.esZ,{title:"Asset was detected before the user gave consent or without any consent. Click the info icon for more details.",children:(0,s.jsx)(d.j8w,{color:"error",closeIcon:(0,s.jsx)(d.PJP.daM,{style:{width:12,height:12}}),closeButtonLabel:"View details",onClose:()=>{null==a||a(n,t)},"data-testid":"status-badge_without-consent",children:P.X.WITHOUT_CONSENT})}),t===v.lg.WITH_CONSENT&&(0,s.jsx)(d.esZ,{title:"Asset was detected after the user gave consent",children:(0,s.jsx)(d.j8w,{color:"success","data-testid":"status-badge_with-consent",children:P.X.WITH_CONSENT})}),t===v.lg.EXEMPT&&(0,s.jsx)(d.esZ,{title:"Asset is valid regardless of consent",children:(0,s.jsx)(d.j8w,{"data-testid":"status-badge_consent-exempt",children:P.X.EXEMPT})}),t===v.lg.UNKNOWN&&(0,s.jsx)(d.esZ,{title:"Did not find consent information for this asset. You may need to re-run the monitor.",children:(0,s.jsx)(d.j8w,{"data-testid":"status-badge_unknown",children:P.X.UNKNOWN})})]})};var H=n(70675);let Y=e=>{let{aggregateSystem:t,monitorConfigId:n,readonly:a}=e,{resource_type:i,name:o,urn:l,system:c,user_assigned_system_key:u,system_key:m}=t,[g,v]=(0,r.useState)(!1),[p,y]=(0,r.useState)(!1),[f,{isLoading:x}]=(0,H.NA)(),{successAlert:j,errorAlert:_}=(0,W.V)(),C=(0,r.useCallback)(e=>{e.preventDefault(),y(!0)},[]),w=async(e,t,s)=>{let a=await f({staged_resource_urn:l,monitor_config_id:n,user_assigned_system_key:e});(0,h.D4)(a)?_((0,h.e$)(a.error)):j(s?"".concat(t," has been added to your system inventory and the ").concat(i,' "').concat(o,'" has been assigned to that system.'):"".concat(i,' "').concat(o,'" has been assigned to ').concat(t,"."),"Confirmed"),v(!1)};return a?c?(0,s.jsx)(d.j8w,{"data-testid":"system-badge",color:"white",children:c}):null:(0,s.jsxs)(s.Fragment,{children:[!g&&(c?(0,s.jsxs)(d.j8w,{onClick:()=>v(!0),"data-testid":"system-badge",children:[c,(0,s.jsx)(d.PJP.I8b,{})]}):(0,s.jsx)(d.j8w,{onClick:()=>v(!0),"data-testid":"add-system-btn",addable:!0})),!!g&&(0,s.jsx)("div",{className:$().cellBleed,children:(0,s.jsx)(b.R,{variant:"borderless",autoFocus:!0,defaultOpen:!0,defaultValue:u||m,onBlur:e=>{var t;(null===(t=e.relatedTarget)||void 0===t?void 0:t.getAttribute("id"))!=="add-new-system"&&v(!1)},onAddSystem:C,onSelect:(e,t)=>w(e,t.label),loading:x})}),p&&(0,s.jsx)(k.i,{isOpen:!0,onClose:()=>{y(!1)},onSuccessfulSubmit:(e,t)=>w(e,t,!0)})]})},F=e=>{let{readonly:t,aggregatedConsent:n,onTabChange:a,onShowBreakdown:i,monitorConfigId:o,resolvedSystemId:l,diffStatus:c,columnFilters:u,sortField:h,sortOrder:m,searchQuery:g}=e,{flags:p}=(0,Z.hz)(),{assetConsentStatusLabels:f}=p,[x,j]=(0,r.useState)(!1),[C,w]=(0,r.useState)(!1),{data:S}=(0,y.ut)({monitor_config_id:o,resolved_system_id:l,diff_status:c,search:g,...u});return{columns:(0,r.useMemo)(()=>{var e;let r=[{title:"Asset",dataIndex:P.r.NAME,key:P.r.NAME,sorter:!0,sortOrder:h===P.r.NAME?m:null,render:e=>(0,s.jsx)(d.lKn,{ellipsis:{tooltip:!0},style:{maxWidth:300},children:e}),fixed:"left"},{title:"Type",dataIndex:P.r.RESOURCE_TYPE,key:P.r.RESOURCE_TYPE,sorter:!0,sortOrder:h===P.r.RESOURCE_TYPE?m:null,filters:(0,M.nZ)(null==S?void 0:S.resource_type),filteredValue:(null==u?void 0:u.resource_type)||null},{title:"System",dataIndex:P.r.SYSTEM,key:P.r.SYSTEM,width:200,render:(e,n)=>!!n.monitor_config_id&&(0,s.jsx)(Y,{aggregateSystem:n,monitorConfigId:n.monitor_config_id,readonly:t})},{title:"Categories of consent",key:P.r.DATA_USES,width:400,filters:(0,M.nZ)(null==S?void 0:null===(e=S.data_uses)||void 0===e?void 0:e.filter(e=>(0,_.Z)(e))),filteredValue:(null==u?void 0:u.data_uses)||null,render:(e,n)=>(0,s.jsx)(K,{asset:n,readonly:t})},{title:()=>(0,s.jsx)(U.OL,{title:"Locations",menu:{items:U.DI,onClick:e=>{e.domEvent.stopPropagation(),"expand-all"===e.key?j(!0):"collapse-all"===e.key&&j(!1)}}}),dataIndex:P.r.LOCATIONS,key:P.r.LOCATIONS,width:250,filters:(0,M.nZ)(null==S?void 0:S.locations,e=>{var t;return null!==(t=A.Z8[e])&&void 0!==t?t:e}),filteredValue:(null==u?void 0:u.locations)||null,render:e=>{var t;return(0,s.jsx)(U.Q3,{values:null!==(t=null==e?void 0:e.map(e=>{var t;return{label:null!==(t=A.Z8[e])&&void 0!==t?t:e,key:e}}))&&void 0!==t?t:[],columnState:{isExpanded:x,isWrapped:!0}})}},{title:"Domain",dataIndex:P.r.DOMAIN,key:P.r.DOMAIN},{title:()=>(0,s.jsx)(U.OL,{title:"Detected on",menu:{items:U.DI,onClick:e=>{e.domEvent.stopPropagation(),"expand-all"===e.key?w(!0):"collapse-all"===e.key&&w(!1)}}}),dataIndex:P.r.PAGE,key:P.r.PAGE,render:e=>(0,s.jsx)(U.vx,{values:e,valueSuffix:"pages",columnState:{isExpanded:C}})}];return f&&r.push({title:()=>(0,s.jsxs)(d.vyj,{children:[(0,s.jsx)("div",{children:"Compliance"}),n===v.lg.WITHOUT_CONSENT&&(0,s.jsx)(V.l,{consentStatus:{status:v.pF.ALERT,message:"One or more assets were detected without consent"}})]}),dataIndex:P.r.CONSENT_AGGREGATED,key:P.r.CONSENT_AGGREGATED,sorter:!0,sortOrder:h===P.r.CONSENT_AGGREGATED?m:null,filters:(0,M.nZ)(null==S?void 0:S[P.r.CONSENT_AGGREGATED],e=>{var t;return null!==(t=({with_consent:P.X.WITH_CONSENT,without_consent:P.X.WITHOUT_CONSENT,exempt:P.X.EXEMPT,unknown:P.X.UNKNOWN})[e])&&void 0!==t?t:e}),filteredValue:(null==u?void 0:u[P.r.CONSENT_AGGREGATED])||null,render:(e,t)=>(0,s.jsx)(q,{consentAggregated:null!=e?e:v.lg.UNKNOWN,stagedResource:t,onShowBreakdown:i})}),t||r.push({title:"Actions",key:P.r.ACTIONS,fixed:"right",render:(e,t)=>(0,s.jsx)(z,{asset:t,onTabChange:a})}),r},[S,u,h,m,f,t,x,C,n,i,a])}},J=e=>{var t;let{monitorId:n,systemId:i,onSystemName:l}=e,c=(0,a.useRouter)(),[f,x]=(0,r.useState)(),[j,_]=(0,r.useState)(i),[C,w]=(0,r.useState)(1),[b,k]=(0,r.useState)(25),[E,A]=(0,r.useState)({}),[N,I]=(0,r.useState)(),[O,D]=(0,r.useState)(),[Z,U]=(0,r.useState)([]),[M,V]=(0,r.useState)(new Map),z=()=>{U([]),V(new Map)},[W,X]=(0,r.useState)(!1),[$,B]=(0,r.useState)(!1),[K,q]=(0,r.useState)(null),[H,{isLoading:Y}]=(0,y.EY)(),[J,{isLoading:Q}]=(0,y.nS)(),[ee,{isLoading:et}]=(0,y.rs)(),[en,{isLoading:es}]=(0,y.sX)(),[ea,{isLoading:er}]=(0,y.Vr)(),[ei,{isLoading:eo}]=(0,y.Tj)(),el=Y||Q||et||es||eo,ed=el||i===o.Kl,[ec,eu]=(0,r.useState)(""),eh=(0,d.pmc)(),{filterTabs:em,activeTab:eg,onTabChange:ev,activeParams:ep,actionsDisabled:ey}=(0,R.Z)(i);(0,r.useEffect)(()=>{w(1)},[n,ec,eg]),(0,r.useEffect)(()=>{z()},[n,eg]);let{data:ef,isLoading:ex,isFetching:ej}=(0,y.WJ)({key:n,page:C,size:b,search:ec,sort_by:N?[N]:[P.r.CONSENT_AGGREGATED,"urn"],sort_asc:"descend"!==O,...ep,...E});(0,r.useEffect)(()=>{if(ef){var e;let t=(null===(e=ef.items[0])||void 0===e?void 0:e.system)||j||i||"";_(t),null==l||l(t)}},[ef,i,l,j]),(0,r.useEffect)(()=>{if((null==ef?void 0:ef.items)&&!f){var e;x(null===(e=ef.items.find(e=>e.consent_aggregated===v.lg.WITHOUT_CONSENT))||void 0===e?void 0:e.consent_aggregated)}},[ef,f]);let{columns:e_}=F({readonly:null!=ey&&ey,onTabChange:ev,aggregatedConsent:f,onShowBreakdown:(e,t)=>{q({stagedResource:e,status:t})},monitorConfigId:n,resolvedSystemId:i,diffStatus:null==ep?void 0:ep.diff_status,columnFilters:E,sortField:N,sortOrder:O,searchQuery:ec}),eC=Array.from(M.keys()),ew=Array.from(M.values()),eS=async()=>{var e,t;let n=await H({urnList:eC}),s=(null===(e=ew[0])||void 0===e?void 0:e.user_assigned_system_key)||(null===(t=ew[0])||void 0===t?void 0:t.system_key),a=ew.every(e=>(e.user_assigned_system_key||e.system_key)===s)?s:void 0;(0,h.D4)(n)?eh((0,g.Vo)((0,h.e$)(n.error))):(eh((0,g.t5)((0,G._)("".concat(eC.length," assets from ").concat(j," have been added to the system inventory."),a?()=>c.push("".concat(o.So,"/configure/").concat(a,"#assets")):()=>c.push(o.So)))),z())},eb=async e=>{if("string"==typeof(null==e?void 0:e.value)){let t=await en({monitorId:n,urnList:eC,systemKey:e.value});(0,h.D4)(t)?eh((0,g.Vo)((0,h.e$)(t.error))):eh((0,g.t5)("".concat(eC.length," assets have been assigned to ").concat(e.label,"."),"Confirmed"))}X(!1)},ek=async e=>{if(!ew.length)return;let t=ew.map(t=>{let n=u()([...t.user_assigned_data_uses||t.data_uses||[],...e]);return{urn:t.urn,user_assigned_data_uses:n}}),s=await ea({monitorId:n,assets:t});(0,h.D4)(s)?eh((0,g.Vo)((0,h.e$)(s.error))):eh((0,g.t5)("Consent categories added to ".concat(eC.length," assets").concat(j?" from ".concat(j):"","."),"Confirmed")),B(!1)},eE=async()=>{let e=await J({urnList:eC});(0,h.D4)(e)?eh((0,g.Vo)((0,h.e$)(e.error))):(eh((0,g.t5)(j===o.Kl?"".concat(eC.length," uncategorized assets have been ignored and will not appear in future scans."):"".concat(eC.length," assets from ").concat(j," have been ignored and will not appear in future scans."),"Confirmed")),z())},eT=async()=>{let e=await ei({urnList:eC});(0,h.D4)(e)?eh((0,g.Vo)((0,h.e$)(e.error))):(eh((0,g.t5)("".concat(eC.length," assets have been restored and will appear in future scans."),"Confirmed")),z())},eA=async()=>{let e=(null==ef?void 0:ef.items.length)||0,t=await ee({monitor_config_key:n,resolved_system_ids:[i]});(0,h.D4)(t)?eh((0,g.Vo)((0,h.e$)(t.error))):(c.push("".concat(o.vi,"/").concat(n)),eh((0,g.t5)("".concat(e," assets from ").concat(j," have been added to the system inventory."),"Confirmed")),z())},eN=e=>{ev(e),z()};return((0,r.useEffect)(()=>{(null==ef?void 0:ef.items)&&U(ef.items.filter(e=>M.has(e.urn)).map(e=>e.urn))},[ef,M]),n&&i)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.A5g,{items:em.map(e=>({key:e.hash,label:e.label})),activeKey:eg,onChange:e=>eN(e)}),(0,s.jsxs)(d.jqI,{justify:"space-between",align:"center",className:"mb-4",children:[(0,s.jsx)(p.f,{value:ec,onChange:eu,placeholder:"Search by asset name..."}),(0,s.jsxs)(d.vyj,{size:"large",children:[!!eC.length&&(0,s.jsx)(m.a,{count:eC.length}),(0,s.jsxs)(d.vyj,{size:"small",children:[(0,s.jsx)(d.wpx,{onClick:()=>{A({}),eu(""),I(void 0),D(void 0)},"data-testid":"clear-filters",children:"Clear filters"}),(0,s.jsx)(d.S0p,{menu:{items:[{key:"add",label:"Add",onClick:eS},{key:"add-data-use",label:"Add consent category",onClick:()=>B(!0)},{key:"assign-system",label:"Assign system",onClick:()=>X(!0)},...(null==ep?void 0:null===(t=ep.diff_status)||void 0===t?void 0:t.includes(v.LL.MUTED))?[{key:"restore",label:"Restore",onClick:eT}]:[{type:"divider"},{key:"ignore",label:"Ignore",onClick:eE}]]},trigger:["click"],children:(0,s.jsx)(d.wpx,{icon:(0,s.jsx)(d.PJP._ME,{}),iconPosition:"end",loading:el,"data-testid":"bulk-actions-menu",disabled:!eC.length||el||ey,type:"primary",children:"Actions"})}),(0,s.jsx)(d.esZ,{title:ed?"These assets require a system before you can add them to the inventory.":void 0,children:(0,s.jsx)(d.wpx,{onClick:eA,disabled:ed,loading:et,type:"primary",icon:(0,s.jsx)(d.PJP.MCw,{}),iconPosition:"end","data-testid":"add-all",children:"Add all"})})]})]})]}),(0,s.jsx)(d.V5H,{dataSource:(null==ef?void 0:ef.items)||[],columns:e_,loading:ex||ej,rowKey:e=>e.urn,rowSelection:eg===R.A.RECENT_ACTIVITY?void 0:{selectedRowKeys:Z,onChange:(e,t)=>{U(e);let n=new Map(M);(null==ef?void 0:ef.items)&&ef.items.forEach(t=>{e.includes(t.urn)||n.delete(t.urn)}),t.forEach(e=>{n.set(e.urn,e)}),V(n)}},pagination:{current:C,pageSize:b,total:(null==ef?void 0:ef.total)||0},onChange:(e,t,n)=>{e.current!==C||e.pageSize!==b?w(e.current||1):w(1),k(e.pageSize||25),A(t||{});let s=n&&!Array.isArray(n)?n.field:void 0,a=n&&!Array.isArray(n)&&null!==n.order?n.order:void 0;I(s),D(a)},locale:{emptyText:(0,s.jsx)(d.oj8,{image:d.oj8.PRESENTED_IMAGE_SIMPLE,description:"All caught up!"})}}),(0,s.jsx)(T,{isOpen:W,onClose:()=>{X(!1)},onSave:eb,isSaving:es}),(0,s.jsx)(S,{isOpen:$,onClose:()=>{B(!1)},onSave:ek,isSaving:er}),K&&(0,s.jsx)(L,{isOpen:!!K,stagedResource:K.stagedResource,status:K.status,onCancel:()=>{q(null)}})]}):null};var Q=()=>{let e=(0,a.useRouter)(),t=decodeURIComponent(e.query.monitorId),n=decodeURIComponent(e.query.systemId),[d,c]=(0,r.useState)(n===o.Kl?"Uncategorized assets":n);return(0,s.jsxs)(i.Z,{title:"Action center - Discovered assets",children:[(0,s.jsx)(l.Z,{heading:"Action center",breadcrumbItems:[{title:"All activity",href:o.vi},{title:t,href:"".concat(o.vi,"/").concat(t)},{title:n===o.Kl?"Uncategorized assets":d}]}),(0,s.jsx)(J,{monitorId:t,systemId:n,onSystemName:c})]})}},72707:function(e){e.exports={option:"TaxonomySelect_option__vY6v2"}},18992:function(e){e.exports={cellBleed:"Cells_cellBleed__dik43"}}},function(e){e.O(0,[8765,9278,5163,401,6780,7725,8735,2888,9774,179],function(){return e(e.s=25654)}),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,e,t,a,c,n,i,d,o,r,p,u,g,f,m,j,b,k,h,y,l,v,I,F,x,_,U,w,q,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O,Q){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[I,"static/chunks/pages/index-fbf9b845bb901238.js"],"/404":["static/chunks/pages/404-2d803dab6a00f353.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[I,"static/chunks/pages/add-systems-0902f0bb4080643e.js"],"/add-systems/manual":[s,e,t,c,p,a,i,u,b,F,x,"static/chunks/pages/add-systems/manual-2a655ff3a97f2492.js"],"/add-systems/multiple":[i,g,_,"static/chunks/pages/add-systems/multiple-8ff7f37913ad736a.js"],"/consent":["static/chunks/pages/consent-e17c56eec8d91371.js"],"/consent/configure":[i,g,"static/chunks/pages/consent/configure-0e1ca0f4c8e7f4da.js"],"/consent/configure/add-vendors":[i,g,_,"static/chunks/pages/consent/configure/add-vendors-d00c9034cdeb0236.js"],"/consent/privacy-experience":[p,U,"static/chunks/pages/consent/privacy-experience-21f997c69fc3b4c2.js"],"/consent/privacy-experience/new":[s,d,f,m,w,"static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js"],"/consent/privacy-experience/[id]":[s,d,f,m,w,"static/chunks/pages/consent/privacy-experience/[id]-f22ddd9b48a5c418.js"],"/consent/privacy-notices":[U,"static/chunks/pages/consent/privacy-notices-ad105181bc91209b.js"],"/consent/privacy-notices/new":[s,d,f,m,q,"static/chunks/pages/consent/privacy-notices/new-a57d251c88ce68ae.js"],"/consent/privacy-notices/[id]":[s,d,f,m,q,"static/chunks/pages/consent/privacy-notices/[id]-da4124b7600a2a1d.js"],"/consent/properties":[N,"static/chunks/pages/consent/properties-057cad65e7414a44.js"],"/consent/reporting":["static/chunks/2150-930ffaf2c4718edc.js","static/chunks/pages/consent/reporting-b0c4235fe6d0b0c8.js"],"/data-catalog":[s,e,t,a,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-7770a8dc34bd0fc0.js"],"/data-catalog/[systemId]/projects":[s,e,t,a,k,n,"static/chunks/pages/data-catalog/[systemId]/projects-29784a11fe0fbd0a.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[A,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-80a6cc8e8573514a.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,e,t,a,k,S,n,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-aad6047a4604b945.js"],"/data-catalog/[systemId]/resources":[A,"static/chunks/pages/data-catalog/[systemId]/resources-6c3714ee97a718c1.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,e,t,a,k,S,n,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-b6b98cea25dd94fa.js"],"/data-discovery/action-center":[h,"static/chunks/pages/data-discovery/action-center-ee3c0a103346fc06.js"],"/data-discovery/action-center/[monitorId]":[s,e,t,h,B,y,"static/chunks/pages/data-discovery/action-center/[monitorId]-92b0bd97d8e79340.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[s,e,t,i,b,h,B,"static/css/23cf870196941c9a.css","static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-a286affa43687eb5.js"],"/data-discovery/activity":[r,"static/chunks/pages/data-discovery/activity-ad6a84a6276f914c.js"],"/data-discovery/detection":[r,C,"static/chunks/pages/data-discovery/detection-2822a423a7ad0550.js"],"/data-discovery/detection/[resourceUrn]":[r,C,"static/chunks/pages/data-discovery/detection/[resourceUrn]-31e6c54794a9883e.js"],"/data-discovery/discovery":[s,e,t,a,r,z,n,"static/chunks/pages/data-discovery/discovery-56eb4c014f0d96a3.js"],"/data-discovery/discovery/[resourceUrn]":[s,e,t,a,r,z,n,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-f98dd251babb7e28.js"],"/datamap":[t,"static/chunks/255-1bc0cbef7a59cdc6.js",u,D,"static/chunks/pages/datamap-d23b3ae139f0428b.js"],"/dataset":[o,j,"static/chunks/pages/dataset-f3348d0a92543bab.js"],"/dataset/new":[o,j,"static/chunks/pages/dataset/new-0d50084fbdf9b84c.js"],"/dataset/[datasetId]":["static/chunks/9729-fcf6ff4e3534e4a8.js",l,"static/chunks/pages/dataset/[datasetId]-a8e8b5f4ee7af86c.js"],"/dataset/[datasetId]/[collectionName]":[s,e,t,c,a,l,n,"static/chunks/pages/dataset/[datasetId]/[collectionName]-0fa72873e464f581.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[s,e,t,c,a,l,n,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-15301bd6bf7cf718.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-3bd77864da523d41.js"],"/datastore-connection/new":[s,c,o,p,E,j,L,"static/chunks/pages/datastore-connection/new-c6614583b14dc9f2.js"],"/datastore-connection/[id]":[s,c,o,E,j,L,"static/chunks/pages/datastore-connection/[id]-7d6027570d05c57f.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",s,e,t,c,o,"static/chunks/5619-9b50cec521203989.js",M,"static/css/ab65b8cc3144bfc8.css","static/chunks/5596-4378b2927dae65b2.js","static/chunks/pages/fides-js-docs-1f4335dca5c09860.js"],"/integrations":[s,e,t,c,d,T,P,n,"static/chunks/pages/integrations-7f15cd8538cdc24d.js"],"/integrations/[id]":[s,e,t,c,d,T,P,n,"static/chunks/pages/integrations/[id]-8e346fb36e8034d2.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[s,e,"static/chunks/346-aa3b88efb85f2e28.js","static/chunks/pages/messaging-1bae386d8c190348.js"],"/messaging/add-template":[G,"static/chunks/pages/messaging/add-template-feca66ad5c5fe54a.js"],"/messaging/[id]":[G,"static/chunks/pages/messaging/[id]-5627d0d0668077f9.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-64a322d01aae5ca7.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-8bca16a7726e7eb2.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-b0f246fc3b67ebf7.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-1a0852b090bfc392.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-11f3de1b45e36583.js"],"/poc/form-experiments/FormikSpreadField":[H,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[H,"static/chunks/pages/poc/forms-1b73a1c2b6c6285f.js"],"/poc/table-migration":[i,g,"static/chunks/pages/poc/table-migration-05616e2ae20ff4f8.js"],"/privacy-requests":[s,"static/chunks/3550-d04125c828d591a1.js",J,"static/chunks/pages/privacy-requests-96a08c4431b5462c.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-e551a860ec727802.js"],"/privacy-requests/configure/messaging":["static/chunks/pages/privacy-requests/configure/messaging-f1d818242d8550f8.js"],"/privacy-requests/configure/storage":["static/chunks/pages/privacy-requests/configure/storage-d40a26bddb126c5c.js"],"/privacy-requests/[id]":[J,"static/css/8bc1833f1fa53ff0.css","static/chunks/pages/privacy-requests/[id]-79f1576b1126975c.js"],"/properties":[N,"static/chunks/pages/properties-e959378bb32b6b73.js"],"/properties/add-property":[K,"static/chunks/pages/properties/add-property-0bdbc1fcbf553b8f.js"],"/properties/[id]":[K,"static/chunks/pages/properties/[id]-dd99183f93763ae4.js"],"/reporting/datamap":[s,e,t,M,u,D,"static/chunks/pages/reporting/datamap-9d1840f8309b706e.js"],"/settings/about":["static/chunks/pages/settings/about-37ba24a72a06862e.js"],"/settings/about/alpha":["static/chunks/pages/settings/about/alpha-1066f0c202ef744c.js"],"/settings/consent":["static/chunks/pages/settings/consent-f61b87e79367865b.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-e891d01ece59669e.js"],"/settings/custom-fields":["static/chunks/pages/settings/custom-fields-f8eea5d508c60c64.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-51333dbd21cb37c8.js"],"/settings/domains":["static/chunks/pages/settings/domains-bde86e5f6c09da5a.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-4f9a5cc8bea7725b.js"],"/settings/locations":[O,y,"static/chunks/pages/settings/locations-ed6a140b362c5baa.js"],"/settings/organization":["static/chunks/pages/settings/organization-ff9a34264d48c35f.js"],"/settings/regulations":[O,y,"static/chunks/pages/settings/regulations-102efd9199e87124.js"],"/systems":["static/chunks/pages/systems-c05b49ddec1a1b4f.js"],"/systems/configure/[id]":[s,e,t,c,p,a,i,u,b,F,x,"static/chunks/pages/systems/configure/[id]-c8f5fbaa83dd9945.js"],"/systems/configure/[id]/test-datasets":[o,"static/chunks/pages/systems/configure/[id]/test-datasets-a4b6d41ca679298b.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",s,e,d,"static/chunks/6148-59a59d5c5925344f.js","static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-df0d88716578e295.js"],"/user-management":[v,"static/chunks/pages/user-management-e98dfc7d4f2a4e16.js"],"/user-management/new":[v,Q,"static/chunks/pages/user-management/new-de8cb3739ab99c09.js"],"/user-management/profile/[id]":[v,Q,"static/chunks/pages/user-management/profile/[id]-da68efc31998dc66.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/messaging","/messaging/add-template","/messaging/[id]","/poc/ant-components","/poc/form-experiments/AntForm","/poc/form-experiments/FormikAntFormItem","/poc/form-experiments/FormikControlled","/poc/form-experiments/FormikField","/poc/form-experiments/FormikSpreadField","/poc/forms","/poc/table-migration","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/messaging","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/8765-f622a35b40a7ec63.js","static/chunks/9278-08cc704317fe535e.js","static/chunks/5163-e682273cd76a7d07.js","static/chunks/409-ea70638a59296659.js","static/chunks/699-8ca44b0de9fa20f0.js","static/css/d2d4e9a6923e6730.css","static/chunks/401-3cc1fee61494e3bd.js","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/431-1db919f6569a4021.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-7c6639e5d062779e.js","static/chunks/3923-13a6b4da2d51bf8f.js","static/chunks/6419-d0c00d661b01f8fa.js","static/chunks/6084-ddbad3149364725d.js","static/chunks/5574-9312f97b637d9ee2.js","static/chunks/6780-b42a27e72707936d.js","static/chunks/6882-59ea739e3616ce83.js","static/chunks/7725-539d3a906f627531.js","static/css/10994e916bc9a00a.css","static/chunks/9226-2dcac54ab3fb94be.js","static/chunks/7476-cc0d9a94ed7aad53.js","static/css/972dc7eef106ee7c.css","static/chunks/3450-69f4e16978971bb8.js","static/css/304c6f148886a8d4.css","static/chunks/796-3bdda2a7868464af.js","static/chunks/6853-d0190d2cca9dbde2.js","static/chunks/1817-b78b58ae3b75d75a.js","static/chunks/6954-ba98e778a5b45ebf.js","static/chunks/79-2aab56be75e16187.js","static/chunks/3872-0a0f0032ca39a93f.js","static/chunks/3855-509ca7ac99b5eada.js","static/chunks/8735-40caf91800a3610c.js","static/chunks/5309-d9a488457898263b.js","static/chunks/9046-7085a401297c5520.js","static/chunks/4230-114e31621c19ea69.js","static/chunks/1467-8808ec8836e033f9.js","static/chunks/4608-f16f281f2d05d963.js","static/chunks/9187-7438242f0d380bb0.js","static/chunks/1316-2606e19807c08aa5.js","static/chunks/6662-a9e54ead3dc53644.js","static/chunks/7630-b1c93688013ef013.js","static/chunks/2921-86f1547ac40a5cdf.js","static/chunks/203-cd78ea279cecba60.js","static/chunks/787-c57185ad89c4e288.js","static/chunks/9826-3c578665c6d3b21d.js","static/chunks/4121-877e19d3fa078c7b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,t,a,c,n,i,d,o,r,p,u,g,f,m,j,b,k,h,y,l,v,I,F,x,_,U,w,q,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O,Q){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[I,"static/chunks/pages/index-fbf9b845bb901238.js"],"/404":["static/chunks/pages/404-2d803dab6a00f353.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[I,"static/chunks/pages/add-systems-0902f0bb4080643e.js"],"/add-systems/manual":[s,e,t,c,p,a,i,u,b,F,x,"static/chunks/pages/add-systems/manual-2a655ff3a97f2492.js"],"/add-systems/multiple":[i,g,_,"static/chunks/pages/add-systems/multiple-8ff7f37913ad736a.js"],"/consent":["static/chunks/pages/consent-e17c56eec8d91371.js"],"/consent/configure":[i,g,"static/chunks/pages/consent/configure-0e1ca0f4c8e7f4da.js"],"/consent/configure/add-vendors":[i,g,_,"static/chunks/pages/consent/configure/add-vendors-d00c9034cdeb0236.js"],"/consent/privacy-experience":[p,U,"static/chunks/pages/consent/privacy-experience-21f997c69fc3b4c2.js"],"/consent/privacy-experience/new":[s,d,f,m,w,"static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js"],"/consent/privacy-experience/[id]":[s,d,f,m,w,"static/chunks/pages/consent/privacy-experience/[id]-f22ddd9b48a5c418.js"],"/consent/privacy-notices":[U,"static/chunks/pages/consent/privacy-notices-ad105181bc91209b.js"],"/consent/privacy-notices/new":[s,d,f,m,q,"static/chunks/pages/consent/privacy-notices/new-a57d251c88ce68ae.js"],"/consent/privacy-notices/[id]":[s,d,f,m,q,"static/chunks/pages/consent/privacy-notices/[id]-da4124b7600a2a1d.js"],"/consent/properties":[N,"static/chunks/pages/consent/properties-057cad65e7414a44.js"],"/consent/reporting":["static/chunks/2150-930ffaf2c4718edc.js","static/chunks/pages/consent/reporting-b0c4235fe6d0b0c8.js"],"/data-catalog":[s,e,t,a,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-7770a8dc34bd0fc0.js"],"/data-catalog/[systemId]/projects":[s,e,t,a,k,n,"static/chunks/pages/data-catalog/[systemId]/projects-29784a11fe0fbd0a.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[A,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-80a6cc8e8573514a.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,e,t,a,k,S,n,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-aad6047a4604b945.js"],"/data-catalog/[systemId]/resources":[A,"static/chunks/pages/data-catalog/[systemId]/resources-6c3714ee97a718c1.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,e,t,a,k,S,n,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-b6b98cea25dd94fa.js"],"/data-discovery/action-center":[h,"static/chunks/pages/data-discovery/action-center-ee3c0a103346fc06.js"],"/data-discovery/action-center/[monitorId]":[s,e,t,h,B,y,"static/chunks/pages/data-discovery/action-center/[monitorId]-92b0bd97d8e79340.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[s,e,t,i,b,h,B,"static/css/23cf870196941c9a.css","static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-3e5725cd06d7fe6c.js"],"/data-discovery/activity":[r,"static/chunks/pages/data-discovery/activity-ad6a84a6276f914c.js"],"/data-discovery/detection":[r,C,"static/chunks/pages/data-discovery/detection-2822a423a7ad0550.js"],"/data-discovery/detection/[resourceUrn]":[r,C,"static/chunks/pages/data-discovery/detection/[resourceUrn]-31e6c54794a9883e.js"],"/data-discovery/discovery":[s,e,t,a,r,z,n,"static/chunks/pages/data-discovery/discovery-56eb4c014f0d96a3.js"],"/data-discovery/discovery/[resourceUrn]":[s,e,t,a,r,z,n,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-f98dd251babb7e28.js"],"/datamap":[t,"static/chunks/255-1bc0cbef7a59cdc6.js",u,D,"static/chunks/pages/datamap-d23b3ae139f0428b.js"],"/dataset":[o,j,"static/chunks/pages/dataset-f3348d0a92543bab.js"],"/dataset/new":[o,j,"static/chunks/pages/dataset/new-0d50084fbdf9b84c.js"],"/dataset/[datasetId]":["static/chunks/9729-fcf6ff4e3534e4a8.js",l,"static/chunks/pages/dataset/[datasetId]-a8e8b5f4ee7af86c.js"],"/dataset/[datasetId]/[collectionName]":[s,e,t,c,a,l,n,"static/chunks/pages/dataset/[datasetId]/[collectionName]-0fa72873e464f581.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[s,e,t,c,a,l,n,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-15301bd6bf7cf718.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-3bd77864da523d41.js"],"/datastore-connection/new":[s,c,o,p,E,j,L,"static/chunks/pages/datastore-connection/new-c6614583b14dc9f2.js"],"/datastore-connection/[id]":[s,c,o,E,j,L,"static/chunks/pages/datastore-connection/[id]-7d6027570d05c57f.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",s,e,t,c,o,"static/chunks/5619-9b50cec521203989.js",M,"static/css/ab65b8cc3144bfc8.css","static/chunks/5596-4378b2927dae65b2.js","static/chunks/pages/fides-js-docs-1f4335dca5c09860.js"],"/integrations":[s,e,t,c,d,T,P,n,"static/chunks/pages/integrations-7f15cd8538cdc24d.js"],"/integrations/[id]":[s,e,t,c,d,T,P,n,"static/chunks/pages/integrations/[id]-8e346fb36e8034d2.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[s,e,"static/chunks/346-aa3b88efb85f2e28.js","static/chunks/pages/messaging-1bae386d8c190348.js"],"/messaging/add-template":[G,"static/chunks/pages/messaging/add-template-feca66ad5c5fe54a.js"],"/messaging/[id]":[G,"static/chunks/pages/messaging/[id]-5627d0d0668077f9.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-64a322d01aae5ca7.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-8bca16a7726e7eb2.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-b0f246fc3b67ebf7.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-1a0852b090bfc392.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-11f3de1b45e36583.js"],"/poc/form-experiments/FormikSpreadField":[H,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[H,"static/chunks/pages/poc/forms-1b73a1c2b6c6285f.js"],"/poc/table-migration":[i,g,"static/chunks/pages/poc/table-migration-05616e2ae20ff4f8.js"],"/privacy-requests":[s,"static/chunks/3550-d04125c828d591a1.js",J,"static/chunks/pages/privacy-requests-96a08c4431b5462c.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-e551a860ec727802.js"],"/privacy-requests/configure/messaging":["static/chunks/pages/privacy-requests/configure/messaging-f1d818242d8550f8.js"],"/privacy-requests/configure/storage":["static/chunks/pages/privacy-requests/configure/storage-d40a26bddb126c5c.js"],"/privacy-requests/[id]":[J,"static/css/8bc1833f1fa53ff0.css","static/chunks/pages/privacy-requests/[id]-79f1576b1126975c.js"],"/properties":[N,"static/chunks/pages/properties-e959378bb32b6b73.js"],"/properties/add-property":[K,"static/chunks/pages/properties/add-property-0bdbc1fcbf553b8f.js"],"/properties/[id]":[K,"static/chunks/pages/properties/[id]-dd99183f93763ae4.js"],"/reporting/datamap":[s,e,t,M,u,D,"static/chunks/pages/reporting/datamap-9d1840f8309b706e.js"],"/settings/about":["static/chunks/pages/settings/about-37ba24a72a06862e.js"],"/settings/about/alpha":["static/chunks/pages/settings/about/alpha-1066f0c202ef744c.js"],"/settings/consent":["static/chunks/pages/settings/consent-f61b87e79367865b.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-e891d01ece59669e.js"],"/settings/custom-fields":["static/chunks/pages/settings/custom-fields-f8eea5d508c60c64.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-51333dbd21cb37c8.js"],"/settings/domains":["static/chunks/pages/settings/domains-bde86e5f6c09da5a.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-4f9a5cc8bea7725b.js"],"/settings/locations":[O,y,"static/chunks/pages/settings/locations-ed6a140b362c5baa.js"],"/settings/organization":["static/chunks/pages/settings/organization-ff9a34264d48c35f.js"],"/settings/regulations":[O,y,"static/chunks/pages/settings/regulations-102efd9199e87124.js"],"/systems":["static/chunks/pages/systems-c05b49ddec1a1b4f.js"],"/systems/configure/[id]":[s,e,t,c,p,a,i,u,b,F,x,"static/chunks/pages/systems/configure/[id]-c8f5fbaa83dd9945.js"],"/systems/configure/[id]/test-datasets":[o,"static/chunks/pages/systems/configure/[id]/test-datasets-a4b6d41ca679298b.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",s,e,d,"static/chunks/6148-59a59d5c5925344f.js","static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-df0d88716578e295.js"],"/user-management":[v,"static/chunks/pages/user-management-e98dfc7d4f2a4e16.js"],"/user-management/new":[v,Q,"static/chunks/pages/user-management/new-de8cb3739ab99c09.js"],"/user-management/profile/[id]":[v,Q,"static/chunks/pages/user-management/profile/[id]-da68efc31998dc66.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/messaging","/messaging/add-template","/messaging/[id]","/poc/ant-components","/poc/form-experiments/AntForm","/poc/form-experiments/FormikAntFormItem","/poc/form-experiments/FormikControlled","/poc/form-experiments/FormikField","/poc/form-experiments/FormikSpreadField","/poc/forms","/poc/table-migration","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/messaging","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/8765-f622a35b40a7ec63.js","static/chunks/9278-08cc704317fe535e.js","static/chunks/5163-e682273cd76a7d07.js","static/chunks/409-ea70638a59296659.js","static/chunks/699-8ca44b0de9fa20f0.js","static/css/d2d4e9a6923e6730.css","static/chunks/401-3cc1fee61494e3bd.js","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/431-1db919f6569a4021.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-7c6639e5d062779e.js","static/chunks/3923-13a6b4da2d51bf8f.js","static/chunks/6419-d0c00d661b01f8fa.js","static/chunks/6084-ddbad3149364725d.js","static/chunks/5574-9312f97b637d9ee2.js","static/chunks/6780-b42a27e72707936d.js","static/chunks/6882-59ea739e3616ce83.js","static/chunks/7725-539d3a906f627531.js","static/css/10994e916bc9a00a.css","static/chunks/9226-2dcac54ab3fb94be.js","static/chunks/7476-cc0d9a94ed7aad53.js","static/css/972dc7eef106ee7c.css","static/chunks/3450-69f4e16978971bb8.js","static/css/304c6f148886a8d4.css","static/chunks/796-3bdda2a7868464af.js","static/chunks/6853-d0190d2cca9dbde2.js","static/chunks/1817-b78b58ae3b75d75a.js","static/chunks/6954-ba98e778a5b45ebf.js","static/chunks/79-2aab56be75e16187.js","static/chunks/3872-0a0f0032ca39a93f.js","static/chunks/3855-509ca7ac99b5eada.js","static/chunks/8735-40caf91800a3610c.js","static/chunks/5309-d9a488457898263b.js","static/chunks/9046-7085a401297c5520.js","static/chunks/4230-114e31621c19ea69.js","static/chunks/1467-8808ec8836e033f9.js","static/chunks/4608-f16f281f2d05d963.js","static/chunks/9187-7438242f0d380bb0.js","static/chunks/1316-2606e19807c08aa5.js","static/chunks/6662-a9e54ead3dc53644.js","static/chunks/7630-b1c93688013ef013.js","static/chunks/2921-86f1547ac40a5cdf.js","static/chunks/203-cd78ea279cecba60.js","static/chunks/787-c57185ad89c4e288.js","static/chunks/9826-3c578665c6d3b21d.js","static/chunks/4121-877e19d3fa078c7b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/304c6f148886a8d4.css" as="style"/><link rel="stylesheet" href="/_next/static/css/304c6f148886a8d4.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/9278-08cc704317fe535e.js" defer=""></script><script src="/_next/static/chunks/5163-e682273cd76a7d07.js" defer=""></script><script src="/_next/static/chunks/699-8ca44b0de9fa20f0.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/409-ea70638a59296659.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/9951-7c6639e5d062779e.js" defer=""></script><script src="/_next/static/chunks/6780-b42a27e72707936d.js" defer=""></script><script src="/_next/static/chunks/3450-69f4e16978971bb8.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/manual-2a655ff3a97f2492.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/304c6f148886a8d4.css" as="style"/><link rel="stylesheet" href="/_next/static/css/304c6f148886a8d4.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/9278-08cc704317fe535e.js" defer=""></script><script src="/_next/static/chunks/5163-e682273cd76a7d07.js" defer=""></script><script src="/_next/static/chunks/699-8ca44b0de9fa20f0.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/409-ea70638a59296659.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/9951-7c6639e5d062779e.js" defer=""></script><script src="/_next/static/chunks/6780-b42a27e72707936d.js" defer=""></script><script src="/_next/static/chunks/3450-69f4e16978971bb8.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/manual-2a655ff3a97f2492.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/manual","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/3923-13a6b4da2d51bf8f.js" defer=""></script><script src="/_next/static/chunks/796-3bdda2a7868464af.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/multiple-8ff7f37913ad736a.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/3923-13a6b4da2d51bf8f.js" defer=""></script><script src="/_next/static/chunks/796-3bdda2a7868464af.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/multiple-8ff7f37913ad736a.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/multiple","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/972dc7eef106ee7c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/972dc7eef106ee7c.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems-0902f0bb4080643e.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/972dc7eef106ee7c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/972dc7eef106ee7c.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems-0902f0bb4080643e.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/3923-13a6b4da2d51bf8f.js" defer=""></script><script src="/_next/static/chunks/796-3bdda2a7868464af.js" defer=""></script><script src="/_next/static/chunks/pages/consent/configure/add-vendors-d00c9034cdeb0236.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/3923-13a6b4da2d51bf8f.js" defer=""></script><script src="/_next/static/chunks/796-3bdda2a7868464af.js" defer=""></script><script src="/_next/static/chunks/pages/consent/configure/add-vendors-d00c9034cdeb0236.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/consent/configure/add-vendors","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/3923-13a6b4da2d51bf8f.js" defer=""></script><script src="/_next/static/chunks/pages/consent/configure-0e1ca0f4c8e7f4da.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/401-3cc1fee61494e3bd.js" defer=""></script><script src="/_next/static/chunks/3923-13a6b4da2d51bf8f.js" defer=""></script><script src="/_next/static/chunks/pages/consent/configure-0e1ca0f4c8e7f4da.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/consent/configure","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/6419-d0c00d661b01f8fa.js" defer=""></script><script src="/_next/static/chunks/6084-ddbad3149364725d.js" defer=""></script><script src="/_next/static/chunks/1817-b78b58ae3b75d75a.js" defer=""></script><script src="/_next/static/chunks/pages/consent/privacy-experience/%5Bid%5D-f22ddd9b48a5c418.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/6419-d0c00d661b01f8fa.js" defer=""></script><script src="/_next/static/chunks/6084-ddbad3149364725d.js" defer=""></script><script src="/_next/static/chunks/1817-b78b58ae3b75d75a.js" defer=""></script><script src="/_next/static/chunks/pages/consent/privacy-experience/%5Bid%5D-f22ddd9b48a5c418.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/consent/privacy-experience/[id]","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/6419-d0c00d661b01f8fa.js" defer=""></script><script src="/_next/static/chunks/6084-ddbad3149364725d.js" defer=""></script><script src="/_next/static/chunks/1817-b78b58ae3b75d75a.js" defer=""></script><script src="/_next/static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/6419-d0c00d661b01f8fa.js" defer=""></script><script src="/_next/static/chunks/6084-ddbad3149364725d.js" defer=""></script><script src="/_next/static/chunks/1817-b78b58ae3b75d75a.js" defer=""></script><script src="/_next/static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_buildManifest.js" defer=""></script><script src="/_next/static/mGce9yxLktePdBkapyLNl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/consent/privacy-experience/new","query":{},"buildId":"mGce9yxLktePdBkapyLNl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|