@duckduckgo/autoconsent 15.0.0 → 16.0.0
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.
- package/.github/dependabot.yml +0 -3
- package/.github/workflows/release.yml +0 -4
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +32 -0
- package/build.sh +3 -2
- package/dist/addon-firefox/background.bundle.js +8 -24
- package/dist/addon-firefox/compact-rules.json +1 -1
- package/dist/addon-firefox/content.bundle.js +184 -686
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/popup.bundle.js +196 -25
- package/dist/addon-firefox/popup.html +98 -5
- package/dist/addon-firefox/rule-index.json +1 -0
- package/dist/addon-firefox/rules.json +1 -1
- package/dist/addon-mv3/background.bundle.js +8 -24
- package/dist/addon-mv3/compact-rules.json +1 -1
- package/dist/addon-mv3/content.bundle.js +184 -686
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/popup.bundle.js +196 -25
- package/dist/addon-mv3/popup.html +98 -5
- package/dist/addon-mv3/rule-index.json +1 -0
- package/dist/addon-mv3/rules.json +1 -1
- package/dist/autoconsent.cjs.js +184 -685
- package/dist/autoconsent.esm.js +184 -685
- package/dist/autoconsent.playwright.js +185 -689
- package/dist/autoconsent.standalone.js +3625 -0
- package/dist/types/cmps/base.d.ts +3 -3
- package/dist/types/cmps/trustarc-top.d.ts +1 -1
- package/dist/types/eval-handler.d.ts +3 -3
- package/dist/types/heuristics.d.ts +2 -2
- package/dist/types/types.d.ts +10 -23
- package/dist/types/web.d.ts +0 -9
- package/docs/api.md +1 -8
- package/docs/puppeteer.md +1 -3
- package/docs/rule-syntax.md +0 -17
- package/eslint.config.mjs +1 -1
- package/lib/cmps/base.ts +5 -6
- package/lib/cmps/conversant.ts +7 -4
- package/lib/cmps/trustarc-top.ts +1 -1
- package/lib/cmps/uniconsent.ts +4 -4
- package/lib/eval-handler.ts +6 -3
- package/lib/heuristics.ts +15 -15
- package/lib/types.ts +9 -21
- package/lib/utils.ts +13 -9
- package/lib/web.ts +3 -53
- package/package.json +4 -17
- package/playwright/content.ts +1 -2
- package/readme.md +3 -6
- package/rules/autoconsent/dreamlab-cmp.json +13 -0
- package/rules/build.ts +4 -23
- package/rules/compact-rules.json +1 -1
- package/rules/rule-index-builder.ts +58 -0
- package/rules/rule-index.json +1 -0
- package/rules/rules.json +1 -1
- package/standalone/content.ts +101 -0
- package/tests/dreamlab-cmp.spec.ts +3 -0
- package/tests/quantcast.spec.ts +0 -6
- package/tests-wtr/heuristics/get-actionable-popups.ts +13 -13
- package/tests-wtr/heuristics/heuristic-cmp.ts +32 -33
- package/tests-wtr/lifecycle/find-cmp.ts +5 -8
- package/tests-wtr/web/do-opt-in.test.ts +0 -1
- package/tests-wtr/web/do-opt-out.test.ts +0 -1
- package/tests-wtr/web/do-self-test.test.ts +0 -1
- package/tests-wtr/web/filter-cmps.test.ts +0 -1
- package/tests-wtr/web/receive-message-callback.test.ts +1 -2
- package/tests-wtr/web/update-state.test.ts +1 -3
- package/tsconfig.build.json +1 -1
- package/.github/workflows/update-filterlist.yml +0 -42
- package/dist/autoconsent.extra.cjs.js +0 -15709
- package/dist/autoconsent.extra.esm.js +0 -15641
- package/dist/types/cmps/consentomatic.d.ts +0 -34
- package/dist/types/consentomatic/index.d.ts +0 -2
- package/dist/types/consentomatic/tools.d.ts +0 -10
- package/dist/types/filterlist-engine.d.ts +0 -2
- package/dist/types/filterlist-utils.d.ts +0 -4
- package/dist/types/web-extra.d.ts +0 -11
- package/lib/cmps/consentomatic.ts +0 -97
- package/lib/consentomatic/index.ts +0 -252
- package/lib/consentomatic/tools.ts +0 -199
- package/lib/filterlist-engine.ts +0 -5
- package/lib/filterlist-utils.ts +0 -45
- package/lib/web-extra.ts +0 -116
- package/rules/consentomatic.json +0 -1
- package/rules/filterlist.txt +0 -18440
- package/rules/filterlists/overrides.txt +0 -4
- package/scripts/compile-filterlist.mjs +0 -63
- package/scripts/fetch-easylist.sh +0 -25
- package/scripts/rebuild-filterlist.mjs +0 -216
- package/tests/oil.spec.ts +0 -7
- package/tests/springer.spec.ts +0 -7
- package/tests/wordpressgdpr.spec.ts +0 -6
|
@@ -0,0 +1,3625 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
(() => {
|
|
3
|
+
var __typeError = (msg) => {
|
|
4
|
+
throw TypeError(msg);
|
|
5
|
+
};
|
|
6
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
7
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
8
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
9
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
10
|
+
|
|
11
|
+
// lib/rules.ts
|
|
12
|
+
var SUPPORTED_RULE_STEP_VERSION = 2;
|
|
13
|
+
|
|
14
|
+
// lib/random.ts
|
|
15
|
+
function getRandomID() {
|
|
16
|
+
if (crypto && typeof crypto.randomUUID !== "undefined") {
|
|
17
|
+
return crypto.randomUUID();
|
|
18
|
+
}
|
|
19
|
+
return Math.random().toString();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// lib/eval-handler.ts
|
|
23
|
+
var Deferred = class {
|
|
24
|
+
constructor(id, timeout = 1e3) {
|
|
25
|
+
this.id = id;
|
|
26
|
+
this.promise = new Promise((resolve, reject) => {
|
|
27
|
+
this.resolve = resolve;
|
|
28
|
+
this.reject = reject;
|
|
29
|
+
});
|
|
30
|
+
this.timer = window.setTimeout(() => {
|
|
31
|
+
this.reject(new Error("timeout"));
|
|
32
|
+
}, timeout);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
var evalState = {
|
|
36
|
+
pending: /* @__PURE__ */ new Map(),
|
|
37
|
+
sendContentMessage: null
|
|
38
|
+
};
|
|
39
|
+
function requestEval(code, snippetId) {
|
|
40
|
+
if (!evalState.sendContentMessage) {
|
|
41
|
+
return Promise.reject(new Error("AutoConsent is not initialized yet"));
|
|
42
|
+
}
|
|
43
|
+
const id = getRandomID();
|
|
44
|
+
evalState.sendContentMessage({
|
|
45
|
+
type: "eval",
|
|
46
|
+
id,
|
|
47
|
+
code,
|
|
48
|
+
snippetId
|
|
49
|
+
});
|
|
50
|
+
const deferred = new Deferred(id);
|
|
51
|
+
evalState.pending.set(deferred.id, deferred);
|
|
52
|
+
return deferred.promise;
|
|
53
|
+
}
|
|
54
|
+
function resolveEval(id, value) {
|
|
55
|
+
const deferred = evalState.pending.get(id);
|
|
56
|
+
if (deferred) {
|
|
57
|
+
evalState.pending.delete(id);
|
|
58
|
+
deferred.timer && window.clearTimeout(deferred.timer);
|
|
59
|
+
deferred.resolve(value);
|
|
60
|
+
} else {
|
|
61
|
+
console.warn("no eval #", id);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// lib/utils.ts
|
|
66
|
+
function getStyleElement(styleOverrideElementId = "autoconsent-css-rules") {
|
|
67
|
+
const styleSelector = `style#${styleOverrideElementId}`;
|
|
68
|
+
const existingElement = document.querySelector(styleSelector);
|
|
69
|
+
if (existingElement && existingElement instanceof HTMLStyleElement) {
|
|
70
|
+
return existingElement;
|
|
71
|
+
} else {
|
|
72
|
+
const parent = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
|
|
73
|
+
const css = document.createElement("style");
|
|
74
|
+
css.id = styleOverrideElementId;
|
|
75
|
+
parent.appendChild(css);
|
|
76
|
+
return css;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function getHidingStyle(method) {
|
|
80
|
+
const hidingSnippet = method === "opacity" ? `opacity: 0` : `display: none`;
|
|
81
|
+
return `${hidingSnippet} !important; z-index: -1 !important; pointer-events: none !important;`;
|
|
82
|
+
}
|
|
83
|
+
function hideElements(styleEl, selector, method = "display") {
|
|
84
|
+
const rule = `${selector} { ${getHidingStyle(method)} } `;
|
|
85
|
+
if (styleEl instanceof HTMLStyleElement) {
|
|
86
|
+
styleEl.innerText += rule;
|
|
87
|
+
return selector.length > 0;
|
|
88
|
+
}
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
async function waitFor(predicate, maxTimes, interval) {
|
|
92
|
+
const result = await predicate();
|
|
93
|
+
if (!result && maxTimes > 0) {
|
|
94
|
+
return new Promise((resolve) => {
|
|
95
|
+
setTimeout(async () => {
|
|
96
|
+
resolve(waitFor(predicate, maxTimes - 1, interval));
|
|
97
|
+
}, interval);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return Promise.resolve(result);
|
|
101
|
+
}
|
|
102
|
+
function isElementVisible(elem) {
|
|
103
|
+
if (!elem) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
if (elem.offsetParent !== null) {
|
|
107
|
+
return true;
|
|
108
|
+
} else {
|
|
109
|
+
const css = window.getComputedStyle(elem);
|
|
110
|
+
if (css.position === "fixed" && css.display !== "none") {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
function copyObject(data) {
|
|
117
|
+
if (globalThis.structuredClone) {
|
|
118
|
+
return structuredClone(data);
|
|
119
|
+
}
|
|
120
|
+
return JSON.parse(JSON.stringify(data));
|
|
121
|
+
}
|
|
122
|
+
function normalizeConfig(providedConfig) {
|
|
123
|
+
const defaultConfig = {
|
|
124
|
+
enabled: true,
|
|
125
|
+
autoAction: "optOut",
|
|
126
|
+
// if falsy, the extension will wait for an explicit user signal before opting in/out
|
|
127
|
+
disabledCmps: [],
|
|
128
|
+
enablePrehide: true,
|
|
129
|
+
enableCosmeticRules: true,
|
|
130
|
+
enableGeneratedRules: true,
|
|
131
|
+
enableHeuristicDetection: false,
|
|
132
|
+
enablePopupMutationObserver: false,
|
|
133
|
+
detectRetries: 20,
|
|
134
|
+
isMainWorld: false,
|
|
135
|
+
prehideTimeout: 2e3,
|
|
136
|
+
visualTest: false,
|
|
137
|
+
logs: {
|
|
138
|
+
lifecycle: false,
|
|
139
|
+
rulesteps: false,
|
|
140
|
+
detectionsteps: false,
|
|
141
|
+
evals: false,
|
|
142
|
+
errors: true,
|
|
143
|
+
messages: false,
|
|
144
|
+
waits: false
|
|
145
|
+
},
|
|
146
|
+
performanceLoggingEnabled: false,
|
|
147
|
+
heuristicPopupSearchTimeout: 100,
|
|
148
|
+
heuristicMode: "off"
|
|
149
|
+
// heuristic disabled by default
|
|
150
|
+
};
|
|
151
|
+
const updatedConfig = copyObject(defaultConfig);
|
|
152
|
+
for (const key of Object.keys(defaultConfig)) {
|
|
153
|
+
if (typeof providedConfig[key] !== "undefined") {
|
|
154
|
+
updatedConfig[key] = providedConfig[key];
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return updatedConfig;
|
|
158
|
+
}
|
|
159
|
+
function scheduleWhenIdle(callback, timeout = 500) {
|
|
160
|
+
if (globalThis.requestIdleCallback) {
|
|
161
|
+
requestIdleCallback(callback, { timeout });
|
|
162
|
+
} else {
|
|
163
|
+
setTimeout(callback, 0);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function highlightNode(node) {
|
|
167
|
+
const highlightedNode = node;
|
|
168
|
+
if (!node.style) return;
|
|
169
|
+
if (highlightedNode.__oldStyles !== void 0) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (node.hasAttribute("style")) {
|
|
173
|
+
highlightedNode.__oldStyles = node.style.cssText;
|
|
174
|
+
}
|
|
175
|
+
node.style.animation = "pulsate .5s infinite";
|
|
176
|
+
node.style.outline = "solid red";
|
|
177
|
+
let styleTag = document.querySelector("style#autoconsent-debug-styles");
|
|
178
|
+
if (!styleTag) {
|
|
179
|
+
styleTag = document.createElement("style");
|
|
180
|
+
styleTag.id = "autoconsent-debug-styles";
|
|
181
|
+
}
|
|
182
|
+
styleTag.textContent = `
|
|
183
|
+
@keyframes pulsate {
|
|
184
|
+
0% {
|
|
185
|
+
outline-width: 8px;
|
|
186
|
+
outline-offset: -4px;
|
|
187
|
+
}
|
|
188
|
+
50% {
|
|
189
|
+
outline-width: 4px;
|
|
190
|
+
outline-offset: -2px;
|
|
191
|
+
}
|
|
192
|
+
100% {
|
|
193
|
+
outline-width: 8px;
|
|
194
|
+
outline-offset: -4px;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
`;
|
|
198
|
+
document.head.appendChild(styleTag);
|
|
199
|
+
}
|
|
200
|
+
function unhighlightNode(node) {
|
|
201
|
+
const highlightedNode = node;
|
|
202
|
+
if (!node.style || !node.hasAttribute("style")) return;
|
|
203
|
+
if (highlightedNode.__oldStyles !== void 0) {
|
|
204
|
+
node.style.cssText = highlightedNode.__oldStyles;
|
|
205
|
+
delete highlightedNode.__oldStyles;
|
|
206
|
+
} else {
|
|
207
|
+
node.removeAttribute("style");
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
function isTopFrame() {
|
|
211
|
+
return window.top === window && (!globalThis.location.ancestorOrigins || globalThis.location.ancestorOrigins.length === 0);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// lib/eval-snippets.ts
|
|
215
|
+
var snippets = {
|
|
216
|
+
// code-based rules
|
|
217
|
+
EVAL_0: () => console.log(1),
|
|
218
|
+
EVAL_DIDOMI_OPT_OUT: () => {
|
|
219
|
+
if (window.Didomi) {
|
|
220
|
+
window.Didomi.setUserDisagreeToAll();
|
|
221
|
+
return true;
|
|
222
|
+
}
|
|
223
|
+
return false;
|
|
224
|
+
},
|
|
225
|
+
EVAL_DIDOMI_TEST: () => {
|
|
226
|
+
const purposes = window.Didomi?.getCurrentUserStatus?.()?.purposes;
|
|
227
|
+
if (purposes) {
|
|
228
|
+
return Object.values(purposes).some((p) => !p.enabled);
|
|
229
|
+
}
|
|
230
|
+
const disabled = window.Didomi?.getUserConsentStatusForAll?.()?.purposes?.disabled;
|
|
231
|
+
return Array.isArray(disabled) && disabled.length > 0;
|
|
232
|
+
},
|
|
233
|
+
EVAL_CONSENTMANAGER_1: () => window.__cmp && typeof __cmp("getCMPData") === "object",
|
|
234
|
+
EVAL_CONSENTMANAGER_2: () => !__cmp("consentStatus").userChoiceExists,
|
|
235
|
+
EVAL_CONSENTMANAGER_3: () => __cmp("setConsent", 0),
|
|
236
|
+
EVAL_CONSENTMANAGER_4: () => __cmp("setConsent", 1),
|
|
237
|
+
EVAL_CONSENTMANAGER_5: () => __cmp("consentStatus").userChoiceExists,
|
|
238
|
+
EVAL_COOKIEBOT_1: () => !!window.Cookiebot,
|
|
239
|
+
EVAL_COOKIEBOT_2: () => !window.Cookiebot.hasResponse && window.Cookiebot.dialog?.visible === true,
|
|
240
|
+
EVAL_COOKIEBOT_3: () => window.Cookiebot.withdraw() || true,
|
|
241
|
+
EVAL_COOKIEBOT_4: () => window.Cookiebot.hide() || true,
|
|
242
|
+
EVAL_COOKIEBOT_5: () => window.Cookiebot.declined === true,
|
|
243
|
+
EVAL_KLARO_1: () => {
|
|
244
|
+
const config = globalThis.klaroConfig || globalThis.klaro?.getManager && globalThis.klaro.getManager().config;
|
|
245
|
+
if (!config) {
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
const optionalServices = (config.services || config.apps).filter((s) => !s.required).map((s) => s.name);
|
|
249
|
+
if (klaro && klaro.getManager) {
|
|
250
|
+
const manager = klaro.getManager();
|
|
251
|
+
return optionalServices.every((name) => !manager.consents[name]);
|
|
252
|
+
} else if (klaroConfig && klaroConfig.storageMethod === "cookie") {
|
|
253
|
+
const cookieName = klaroConfig.cookieName || klaroConfig.storageName;
|
|
254
|
+
const consents = JSON.parse(
|
|
255
|
+
decodeURIComponent(
|
|
256
|
+
document.cookie.split(";").find((c) => c.trim().startsWith(cookieName)).split("=")[1]
|
|
257
|
+
)
|
|
258
|
+
);
|
|
259
|
+
return Object.keys(consents).filter((k) => optionalServices.includes(k)).every((k) => consents[k] === false);
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
EVAL_KLARO_OPEN_POPUP: () => {
|
|
263
|
+
klaro.show(void 0, true);
|
|
264
|
+
},
|
|
265
|
+
EVAL_KLARO_TRY_API_OPT_OUT: () => {
|
|
266
|
+
if (window.klaro && typeof klaro.show === "function" && typeof klaro.getManager === "function") {
|
|
267
|
+
try {
|
|
268
|
+
klaro.getManager().changeAll(false);
|
|
269
|
+
klaro.getManager().saveAndApplyConsents();
|
|
270
|
+
return true;
|
|
271
|
+
} catch (e) {
|
|
272
|
+
console.warn(e);
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return false;
|
|
277
|
+
},
|
|
278
|
+
EVAL_ONETRUST_1: () => window.OnetrustActiveGroups.split(",").filter((s) => s.length > 0).length <= 1,
|
|
279
|
+
EVAL_TRUSTARC_TOP: () => window && window.truste && window.truste.eu.bindMap.prefCookie === "0",
|
|
280
|
+
EVAL_TRUSTARC_FRAME_TEST: () => window && window.QueryString && window.QueryString.preferences === "0",
|
|
281
|
+
EVAL_TRUSTARC_FRAME_GTM: () => window && window.QueryString && window.QueryString.gtm === "1",
|
|
282
|
+
// declarative rules
|
|
283
|
+
EVAL_ADOPT_TEST: () => !!localStorage.getItem("adoptConsentMode"),
|
|
284
|
+
EVAL_ADULTFRIENDFINDER_TEST: () => !!localStorage.getItem("cookieConsent"),
|
|
285
|
+
EVAL_BAHN_TEST: () => utag.gdpr.getSelectedCategories().length === 1,
|
|
286
|
+
EVAL_BIGCOMMERCE_CONSENT_MANAGER_DETECT: () => !!(window.consentManager && window.consentManager.version),
|
|
287
|
+
EVAL_BORLABS_0: () => !JSON.parse(
|
|
288
|
+
decodeURIComponent(
|
|
289
|
+
document.cookie.split(";").find((c) => c.indexOf("borlabs-cookie") !== -1).split("=", 2)[1]
|
|
290
|
+
)
|
|
291
|
+
).consents.statistics,
|
|
292
|
+
EVAL_CC_BANNER2_0: () => !!document.cookie.match(/sncc=[^;]+D%3Dtrue/),
|
|
293
|
+
EVAL_COINBASE_0: () => JSON.parse(decodeURIComponent(document.cookie.match(/cm_(eu|default)_preferences=([0-9a-zA-Z\\{\\}\\[\\]%:]*);?/)[2])).consent.length <= 1,
|
|
294
|
+
EVAL_COOKIE_LAW_INFO_0: () => {
|
|
295
|
+
if (CLI.disableAllCookies) CLI.disableAllCookies();
|
|
296
|
+
if (CLI.reject_close) CLI.reject_close();
|
|
297
|
+
document.body.classList.remove("cli-barmodal-open");
|
|
298
|
+
return true;
|
|
299
|
+
},
|
|
300
|
+
EVAL_COOKIE_LAW_INFO_DETECT: () => !!window.CLI,
|
|
301
|
+
EVAL_COOKIE_MANAGER_POPUP_0: () => JSON.parse(
|
|
302
|
+
document.cookie.split(";").find((c) => c.trim().startsWith("CookieLevel")).split("=")[1]
|
|
303
|
+
).social === false,
|
|
304
|
+
EVAL_COOKIEALERT_0: () => document.querySelector("body").removeAttribute("style") || true,
|
|
305
|
+
EVAL_COOKIEALERT_1: () => document.querySelector("body").removeAttribute("style") || true,
|
|
306
|
+
EVAL_COOKIEALERT_2: () => window.CookieConsent.declined === true,
|
|
307
|
+
EVAL_COOKIEFIRST_0: () => ((o) => o.performance === false && o.functional === false && o.advertising === false)(
|
|
308
|
+
JSON.parse(
|
|
309
|
+
decodeURIComponent(
|
|
310
|
+
document.cookie.split(";").find((c) => c.indexOf("cookiefirst") !== -1).trim()
|
|
311
|
+
).split("=")[1]
|
|
312
|
+
)
|
|
313
|
+
),
|
|
314
|
+
EVAL_COOKIEFIRST_1: () => document.querySelectorAll("button[data-cookiefirst-accent-color=true][role=checkbox]:not([disabled])").forEach((i) => i.getAttribute("aria-checked") === "true" && i.click()) || true,
|
|
315
|
+
EVAL_COOKIEINFORMATION_0: () => CookieInformation.declineAllCategories() || true,
|
|
316
|
+
EVAL_COOKIEINFORMATION_1: () => CookieInformation.submitAllCategories() || true,
|
|
317
|
+
EVAL_ETSY_0: () => document.querySelectorAll(".gdpr-overlay-body input").forEach((toggle) => {
|
|
318
|
+
toggle.checked = false;
|
|
319
|
+
}) || true,
|
|
320
|
+
EVAL_ETSY_1: () => document.querySelector(".gdpr-overlay-view button[data-wt-overlay-close]").click() || true,
|
|
321
|
+
EVAL_EZOIC_0: () => ezCMP.handleAcceptAllClick(),
|
|
322
|
+
EVAL_FIDES_DETECT_POPUP: () => window.Fides?.initialized,
|
|
323
|
+
EVAL_GDPR_LEGAL_COOKIE_DETECT_CMP: () => !!window.GDPR_LC,
|
|
324
|
+
EVAL_GDPR_LEGAL_COOKIE_TEST: () => !!window.GDPR_LC?.userConsentSetting,
|
|
325
|
+
EVAL_IUBENDA_0: () => document.querySelectorAll(".purposes-item input[type=checkbox]:not([disabled])").forEach((x) => {
|
|
326
|
+
if (x.checked) x.click();
|
|
327
|
+
}) || true,
|
|
328
|
+
EVAL_IUBENDA_1: () => !!document.cookie.match(/_iub_cs-\d+=/),
|
|
329
|
+
EVAL_MICROSOFT_0: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Reject|Ablehnen"))[0].click() || true,
|
|
330
|
+
EVAL_MICROSOFT_1: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Accept|Annehmen"))[0].click() || true,
|
|
331
|
+
EVAL_MICROSOFT_2: () => !!document.cookie.match("MSCC|GHCC"),
|
|
332
|
+
EVAL_MOOVE_0: () => document.querySelectorAll("#moove_gdpr_cookie_modal input").forEach((i) => {
|
|
333
|
+
if (!i.disabled) i.checked = i.name === "moove_gdpr_strict_cookies" || i.id === "moove_gdpr_strict_cookies";
|
|
334
|
+
}) || true,
|
|
335
|
+
EVAL_NHNIEUWS_TEST: () => !!localStorage.getItem("psh:cookies-seen"),
|
|
336
|
+
EVAL_OSANO_DETECT: () => !!window.Osano?.cm?.dialogOpen,
|
|
337
|
+
EVAL_PANDECTES_TEST: () => document.cookie.includes("_pandectes_gdpr=") && JSON.parse(
|
|
338
|
+
atob(
|
|
339
|
+
document.cookie.split(";").find((s) => s.trim().startsWith("_pandectes_gdpr")).split("=")[1]
|
|
340
|
+
)
|
|
341
|
+
).status === "deny",
|
|
342
|
+
EVAL_POVR_GOBACK: () => window.history.back() || true,
|
|
343
|
+
EVAL_PUBTECH_0: () => document.cookie.includes("euconsent-v2") && (document.cookie.match(/.YAAAAAAAAAAA/) || document.cookie.match(/.aAAAAAAAAAAA/) || document.cookie.match(/.YAAACFgAAAAA/)),
|
|
344
|
+
EVAL_SHOPIFY_TEST: () => document.cookie.includes("gdpr_cookie_consent=0") || document.cookie.includes("_tracking_consent=") && JSON.parse(
|
|
345
|
+
decodeURIComponent(
|
|
346
|
+
document.cookie.split(";").find((s) => s.trim().startsWith("_tracking_consent")).split("=")[1]
|
|
347
|
+
)
|
|
348
|
+
).purposes.a === false,
|
|
349
|
+
EVAL_SKYSCANNER_TEST: () => document.cookie.match(/gdpr=[^;]*adverts:::false/) && !document.cookie.match(/gdpr=[^;]*init:::true/),
|
|
350
|
+
EVAL_SIRDATA_UNBLOCK_SCROLL: () => {
|
|
351
|
+
document.documentElement.classList.forEach((cls) => {
|
|
352
|
+
if (cls.startsWith("sd-cmp-")) document.documentElement.classList.remove(cls);
|
|
353
|
+
});
|
|
354
|
+
return true;
|
|
355
|
+
},
|
|
356
|
+
EVAL_STEAMPOWERED_0: () => JSON.parse(
|
|
357
|
+
decodeURIComponent(
|
|
358
|
+
document.cookie.split(";").find((s) => s.trim().startsWith("cookieSettings")).split("=")[1]
|
|
359
|
+
)
|
|
360
|
+
).preference_state === 2,
|
|
361
|
+
EVAL_TAKEALOT_0: () => document.body.classList.remove("freeze") || (document.body.style = "") || true,
|
|
362
|
+
EVAL_TARTEAUCITRON_0: () => tarteaucitron.userInterface.respondAll(false) || true,
|
|
363
|
+
EVAL_TARTEAUCITRON_1: () => tarteaucitron.userInterface.respondAll(true) || true,
|
|
364
|
+
EVAL_TARTEAUCITRON_2: () => document.cookie.match(/tarteaucitron=[^;]*/)?.[0].includes("false"),
|
|
365
|
+
EVAL_TEALIUM_0: () => typeof window.utag !== "undefined" && typeof utag.gdpr === "object",
|
|
366
|
+
EVAL_TEALIUM_1: () => utag.gdpr.setConsentValue(false) || true,
|
|
367
|
+
EVAL_TEALIUM_DONOTSELL: () => utag.gdpr.dns?.setDnsState(false) || true,
|
|
368
|
+
EVAL_TEALIUM_2: () => utag.gdpr.setConsentValue(true) || true,
|
|
369
|
+
EVAL_TEALIUM_3: () => utag.gdpr.getConsentState() !== 1,
|
|
370
|
+
EVAL_TEALIUM_DONOTSELL_CHECK: () => utag.gdpr.dns?.getDnsState() !== 1,
|
|
371
|
+
EVAL_TESTCMP_STEP: () => !!document.querySelector("#reject-all"),
|
|
372
|
+
EVAL_TESTCMP_0: () => window.results.results[0] === "button_clicked",
|
|
373
|
+
EVAL_TESTCMP_COSMETIC_0: () => window.results.results[0] === "banner_hidden",
|
|
374
|
+
EVAL_THEFREEDICTIONARY_0: () => cmpUi.showPurposes() || cmpUi.rejectAll() || true,
|
|
375
|
+
EVAL_THEFREEDICTIONARY_1: () => cmpUi.allowAll() || true,
|
|
376
|
+
EVAL_USERCENTRICS_API_0: () => typeof UC_UI === "object",
|
|
377
|
+
EVAL_USERCENTRICS_API_1: () => !!UC_UI.closeCMP(),
|
|
378
|
+
EVAL_USERCENTRICS_API_2: () => !!UC_UI.denyAllConsents(),
|
|
379
|
+
EVAL_USERCENTRICS_API_3: () => !!UC_UI.acceptAllConsents(),
|
|
380
|
+
EVAL_USERCENTRICS_API_4: () => !!UC_UI.closeCMP(),
|
|
381
|
+
EVAL_USERCENTRICS_API_5: () => UC_UI.areAllConsentsAccepted() === true,
|
|
382
|
+
EVAL_USERCENTRICS_API_6: () => UC_UI.areAllConsentsAccepted() === false,
|
|
383
|
+
EVAL_USERCENTRICS_BUTTON_0: () => JSON.parse(localStorage.getItem("usercentrics")).consents.every((c) => c.isEssential || !c.consentStatus),
|
|
384
|
+
EVAL_WAITROSE_0: () => Array.from(document.querySelectorAll("label[id$=cookies-deny-label]")).forEach((e) => e.click()) || true
|
|
385
|
+
};
|
|
386
|
+
function getFunctionBody(snippetFunc) {
|
|
387
|
+
const snippetStr = snippetFunc.toString();
|
|
388
|
+
return `(${snippetStr})()`;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
// lib/heuristic-patterns.ts
|
|
392
|
+
var DETECT_PATTERNS = [
|
|
393
|
+
/accept cookies/gi,
|
|
394
|
+
/accept all/gi,
|
|
395
|
+
/reject all/gi,
|
|
396
|
+
/only necessary cookies/gi,
|
|
397
|
+
// "only necessary" is probably too broad
|
|
398
|
+
/(?:by continuing.{0,100}cookie)|(?:cookie.{0,100}by continuing)/gi,
|
|
399
|
+
/(?:by continuing.{0,100}privacy)|(?:privacy.{0,100}by continuing)/gi,
|
|
400
|
+
/by clicking.{0,100}(?:accept|agree|allow)/gi,
|
|
401
|
+
/we (?:use|serve)(?: optional)? cookies/gi,
|
|
402
|
+
/we are using cookies/gi,
|
|
403
|
+
/use of cookies/gi,
|
|
404
|
+
/(?:this|our) (?:web)?site.{0,100}cookies/gi,
|
|
405
|
+
/cookies (?:and|or) .{0,100} technologies/gi,
|
|
406
|
+
/such as cookies/gi,
|
|
407
|
+
/read more about.{0,100}cookies/gi,
|
|
408
|
+
/consent to.{0,100}cookies/gi,
|
|
409
|
+
/we and our partners.{0,100}cookies/gi,
|
|
410
|
+
/we.{0,100}store.{0,100}information.{0,100}such as.{0,100}cookies/gi,
|
|
411
|
+
/store and\/or access information.{0,100}on a device/gi,
|
|
412
|
+
/personalised ads and content, ad and content measurement/gi,
|
|
413
|
+
// it might be tempting to add the patterns below, but they cause too many false positives. Don't do it :)
|
|
414
|
+
// /cookies? settings/i,
|
|
415
|
+
// /cookies? preferences/i,
|
|
416
|
+
// FR
|
|
417
|
+
/utilisons.{0,100}des.{0,100}cookies/gi,
|
|
418
|
+
/nous.{0,100}utilisons.{0,100}des/gi,
|
|
419
|
+
/des.{0,100}cookies.{0,100}pour/gi,
|
|
420
|
+
/des.{0,100}informations.{0,100}sur/gi,
|
|
421
|
+
/retirer.{0,100}votre.{0,100}consentement/gi,
|
|
422
|
+
/accéder.{0,100}à.{0,100}des/gi,
|
|
423
|
+
/à.{0,100}des.{0,100}informations/gi,
|
|
424
|
+
/et.{0,100}nos.{0,100}partenaires/gi,
|
|
425
|
+
/publicités.{0,100}et.{0,100}du.{0,100}contenu/gi,
|
|
426
|
+
/utilise.{0,100}des.{0,100}cookies/gi,
|
|
427
|
+
/utilisent.{0,100}des.{0,100}cookies/gi,
|
|
428
|
+
/stocker.{0,100}et.{0,100}ou.{0,100}accéder/gi,
|
|
429
|
+
/consentement.{0,100}à.{0,100}tout.{0,100}moment/gi,
|
|
430
|
+
/votre.{0,100}consentement/gi,
|
|
431
|
+
/accepter.{0,100}tout/gi,
|
|
432
|
+
/utilisation.{0,100}des.{0,100}cookies/gi,
|
|
433
|
+
/cookies.{0,100}ou.{0,100}technologies/gi,
|
|
434
|
+
/acceptez.{0,100}l.{0,100}utilisation/gi,
|
|
435
|
+
/continuer sans accepter/gi,
|
|
436
|
+
/tout refuser/gi,
|
|
437
|
+
/(?:refuser|rejeter) tous les cookies/gi,
|
|
438
|
+
/je refuse/gi,
|
|
439
|
+
/refuser et continuer/gi,
|
|
440
|
+
/refuser les cookies/gi,
|
|
441
|
+
/seulement nécessaires/gi,
|
|
442
|
+
/je désactive les finalités non essentielles/gi,
|
|
443
|
+
/cookies essentiels uniquement/gi,
|
|
444
|
+
/nécessaires uniquement/gi,
|
|
445
|
+
// DE
|
|
446
|
+
/wir.{0,100}verwenden.{0,100}cookies/gi,
|
|
447
|
+
/wir.{0,100}und.{0,100}unsere.{0,100}partner/gi,
|
|
448
|
+
/zugriff.{0,100}auf.{0,100}informationen.{0,100}auf/gi,
|
|
449
|
+
/inhalte.{0,100}messung.{0,100}von.{0,100}werbeleistung.{0,100}und/gi,
|
|
450
|
+
/cookies.{0,100}und.{0,100}andere/gi,
|
|
451
|
+
/verwendung.{0,100}von.{0,100}cookies/gi,
|
|
452
|
+
/wir.{0,100}nutzen.{0,100}cookies/gi,
|
|
453
|
+
/verwendet.{0,100}cookies/gi,
|
|
454
|
+
/sie.{0,100}können.{0,100}ihre.{0,100}auswahl/gi,
|
|
455
|
+
/und.{0,100}ähnliche.{0,100}technologien/gi,
|
|
456
|
+
/cookies.{0,100}wir.{0,100}verwenden/gi,
|
|
457
|
+
/alles?.{0,100}ablehnen/gi,
|
|
458
|
+
/(?:nur|nicht).{0,100}(?:zusätzliche|essenzielle|funktionale|notwendige|erforderliche).{0,100}(?:cookies|akzeptieren|erlauben|ablehnen)/gi,
|
|
459
|
+
/weiter.{0,100}(?:ohne|mit).{0,100}(?:einwilligung|zustimmung|cookies)/gi,
|
|
460
|
+
/(?:cookies|einwilligung).{0,100}ablehnen/gi,
|
|
461
|
+
/nur funktionale cookies akzeptieren/gi,
|
|
462
|
+
/optionale ablehnen/gi,
|
|
463
|
+
/zustimmung verweigern/gi,
|
|
464
|
+
// NL
|
|
465
|
+
/gebruik.{0,100}van.{0,100}cookies/gi,
|
|
466
|
+
/(?:we|wij).{0,100}gebruiken.{0,100}cookies.{0,100}om/gi,
|
|
467
|
+
/cookies.{0,100}en.{0,100}vergelijkbare/gi,
|
|
468
|
+
/(?:alles|cookies).{0,100}(?:afwijzen|weigeren|verwerpen)/gi,
|
|
469
|
+
/alleen.{0,100}noodzakelijke?\b/gi,
|
|
470
|
+
/cookies weigeren/gi,
|
|
471
|
+
/weiger.{0,100}(?:cookies|alles)/gi,
|
|
472
|
+
/doorgaan zonder (?:te accepteren|akkoord te gaan)/gi,
|
|
473
|
+
/alleen.{0,100}(?:optionele|functionele|functioneel|noodzakelijke|essentiële).{0,100}cookies/gi,
|
|
474
|
+
/wijs alles af/gi
|
|
475
|
+
];
|
|
476
|
+
var REJECT_PATTERNS_ENGLISH = [
|
|
477
|
+
// e.g. "i reject cookies", "reject all", "reject all cookies", "reject cookies", "deny all", "deny all cookies", "refuse", "refuse all", "refuse cookies", "refuse all cookies", "deny", "reject all and close", "deny all and close", "reject non-essential cookies", "reject all non-essential cookies and continue", "reject optional cookies", "reject additional cookies", "reject targeting cookies", "reject marketing cookies", "reject analytics cookies", "reject tracking cookies", "reject advertising cookies", "reject all and close", "deny all and close", "i reject all (except strictly necessary)"
|
|
478
|
+
// note that "reject and subscribe" and "reject and pay" are excluded
|
|
479
|
+
/^\s*(i)?\s*(reject|deny|refuse|decline|disable)\s*(all)?\s*(non-essential|optional|additional|targeting|analytics|marketing|unrequired|non-necessary|extra|tracking|advertising)?\s*(cookies)?\s*(\(?\s*except\s+(strictly\s+)?(necessary|essential)\s*\)?)?\s*$/is,
|
|
480
|
+
// e.g. "i do not accept", "i do not accept cookies", "do not accept", "do not accept cookies"
|
|
481
|
+
/^\s*(i)?\s*do\s+not\s+accept\s*(cookies)?\s*$/is,
|
|
482
|
+
// e.g. "continue without accepting", "continue without agreeing", "continue without agreeing →"
|
|
483
|
+
/^\s*(continue|proceed|continue\s+browsing)\s+without\s+(accepting|agreeing|consent|cookies|tracking)(\s*→)?\s*$/is,
|
|
484
|
+
// e.g. "strictly necessary cookies only", "essential cookies only", "required only", "use necessary cookies only", "essentials only"
|
|
485
|
+
// note that "only" is required
|
|
486
|
+
/^\s*(use|accept|allow|continue\s+with)?\s*(strictly)?\s*(necessary|essentials?|required)?\s*(cookies)?\s*only\s*$/is,
|
|
487
|
+
// e.g. "allow essential cookies", "allow necessary", "allow essentials", "allow essentials only"
|
|
488
|
+
// note that "essential" is required
|
|
489
|
+
/^\s*(use|accept|allow|continue\s+with)?\s*(strictly)?\s*(necessary|essentials?|required)\s*(cookies)?\s*$/is,
|
|
490
|
+
// e.g. "accept only essential cookies", "use only necessary cookies", "allow only essential", "only essentials", "continue with only essential cookies"
|
|
491
|
+
// note that "only" is required
|
|
492
|
+
/^\s*(use|accept|allow|continue\s+with)?\s*only\s*(strictly)?\s*(necessary|essentials?|required)?\s*(cookies)?\s*$/is,
|
|
493
|
+
// e.g. "do not sell or share my personal information", "do not sell my personal information"
|
|
494
|
+
// often used in CCPA
|
|
495
|
+
/^\s*do\s+not\s+sell(\s+or\s+share)?\s*my\s*personal\s*info(rmation)?\s*$/is,
|
|
496
|
+
"allow selection",
|
|
497
|
+
"disagree and close",
|
|
498
|
+
// These are impactful, but look error-prone
|
|
499
|
+
// // e.g. "disagree"
|
|
500
|
+
/^(i)?\s*disagree\s*(and\s+close)?$/i,
|
|
501
|
+
// // e.g. "i do not agree"
|
|
502
|
+
// /^\s*(i\s+)?do\s+not\s+agree\s*$/i,
|
|
503
|
+
"no",
|
|
504
|
+
/^no,? thanks$/is,
|
|
505
|
+
/^opt[ -]out$/is
|
|
506
|
+
];
|
|
507
|
+
var REJECT_PATTERNS_DUTCH = [
|
|
508
|
+
"weigeren",
|
|
509
|
+
"alles afwijzen",
|
|
510
|
+
"alleen noodzakelijke cookies",
|
|
511
|
+
"afwijzen",
|
|
512
|
+
"alles weigeren",
|
|
513
|
+
"cookies weigeren",
|
|
514
|
+
"alleen noodzakelijk",
|
|
515
|
+
"weiger",
|
|
516
|
+
"weiger cookies",
|
|
517
|
+
"selectie toestaan",
|
|
518
|
+
"doorgaan zonder te accepteren",
|
|
519
|
+
"alleen functionele cookies",
|
|
520
|
+
"alleen functioneel",
|
|
521
|
+
"alleen noodzakelijke",
|
|
522
|
+
"alleen essenti\xEBle cookies",
|
|
523
|
+
"functioneel",
|
|
524
|
+
"alle cookies verwerpen",
|
|
525
|
+
"doorgaan zonder akkoord te gaan",
|
|
526
|
+
"weiger alles",
|
|
527
|
+
"nee, bedankt",
|
|
528
|
+
"alle cookies weigeren",
|
|
529
|
+
"weiger alle cookies",
|
|
530
|
+
"alleen noodzakelijke cookies accepteren",
|
|
531
|
+
"alleen strikt noodzakelijk",
|
|
532
|
+
"ik weiger",
|
|
533
|
+
"optionele cookies weigeren",
|
|
534
|
+
"alle weigeren",
|
|
535
|
+
"accepteer alleen noodzakelijke cookies",
|
|
536
|
+
"alleen functionele cookies accepteren",
|
|
537
|
+
"enkel noodzakelijke cookies",
|
|
538
|
+
"niet accepteren",
|
|
539
|
+
"weiger niet-essenti\xEBle cookies",
|
|
540
|
+
"weiger niet-noodzakelijke cookies",
|
|
541
|
+
"wijs alles af",
|
|
542
|
+
"alle cookies afwijzen",
|
|
543
|
+
"alleen vereiste cookies",
|
|
544
|
+
"cookies afwijzen",
|
|
545
|
+
"doorgaan zonder accepteren",
|
|
546
|
+
"hier weigeren",
|
|
547
|
+
"weiger alle",
|
|
548
|
+
"aanvaard enkel essenti\xEBle cookies",
|
|
549
|
+
"aanvullende cookies weigeren",
|
|
550
|
+
"accepteren weigeren",
|
|
551
|
+
"alle afwijzen",
|
|
552
|
+
"alle niet functionele afwijzen",
|
|
553
|
+
"alle optionele weigeren",
|
|
554
|
+
"alleen noodzakelijke accepteren",
|
|
555
|
+
"alleen strikt noodzakelijke cookies",
|
|
556
|
+
"allen afwijzen",
|
|
557
|
+
"clear weigeren",
|
|
558
|
+
"enkel functioneel",
|
|
559
|
+
"enkel noodzakelijke cookies aanvaarden",
|
|
560
|
+
"functioneel altijd actief",
|
|
561
|
+
"nee, accepteer alleen de noodzakelijke",
|
|
562
|
+
"nee, geen cookies a.u.b.",
|
|
563
|
+
"nee, weiger cookies",
|
|
564
|
+
"nee, weigeren",
|
|
565
|
+
"niet-noodzakelijke cookies weigeren",
|
|
566
|
+
"optioneel afwijzen",
|
|
567
|
+
"tracking cookies weigeren",
|
|
568
|
+
"weigeren cookies",
|
|
569
|
+
"weigeren?",
|
|
570
|
+
"weigeren.",
|
|
571
|
+
"strikt noodzakelijk",
|
|
572
|
+
"weiger optionele cookies",
|
|
573
|
+
"noodzakelijke cookies",
|
|
574
|
+
"essenti\xEBle cookies",
|
|
575
|
+
"ga verder zonder aanvaarden",
|
|
576
|
+
"doorgaan zonder cookies",
|
|
577
|
+
"accepteer noodzakelijke cookies",
|
|
578
|
+
"noodzakelijke",
|
|
579
|
+
"indien je enkel technisch noodzakelijke cookies wenst te accepteren, klik dan hier",
|
|
580
|
+
"weiger",
|
|
581
|
+
"alleen de noodzakelijke cookies",
|
|
582
|
+
"alleen noodzakelijk",
|
|
583
|
+
"alleen verplichte cookies",
|
|
584
|
+
"ik wil alleen minimale cookies",
|
|
585
|
+
"doorgaan zonder te accepteren",
|
|
586
|
+
"geen cookies toestaan",
|
|
587
|
+
"liever geen cookies",
|
|
588
|
+
"nee, geen persoonlijke cookies",
|
|
589
|
+
"nee, liever geen cookies",
|
|
590
|
+
"ga door zonder te accepteren",
|
|
591
|
+
"verder zonder accepteren",
|
|
592
|
+
"essenti\xEBle accepteren",
|
|
593
|
+
"functionele cookies",
|
|
594
|
+
"strikt noodzakelijke cookies",
|
|
595
|
+
"alleen basic cookies",
|
|
596
|
+
"alleen basiscookies",
|
|
597
|
+
"alleen standaard cookies",
|
|
598
|
+
"alle cookies verwerpen",
|
|
599
|
+
"noodzakelijk",
|
|
600
|
+
"noodzakelijk cookies accepteren",
|
|
601
|
+
"noodzakelijke cookies accepteren",
|
|
602
|
+
"accepteer alleen noodzakelijk",
|
|
603
|
+
"enkel noodzakelijke toestaan",
|
|
604
|
+
"enkel strikt noodzakelijke cookies",
|
|
605
|
+
"ik wijs ze liever af",
|
|
606
|
+
"ik weiger cookies",
|
|
607
|
+
"ik weiger optionele cookies",
|
|
608
|
+
"weiger alle cookies",
|
|
609
|
+
"weiger alle niet-noodzakelijke cookies",
|
|
610
|
+
"weiger alle onnodige cookies",
|
|
611
|
+
"weiger alle optionele",
|
|
612
|
+
"weiger alles",
|
|
613
|
+
"weiger targeting en third party cookies."
|
|
614
|
+
];
|
|
615
|
+
var REJECT_PATTERNS_FRENCH = [
|
|
616
|
+
"continuer sans accepter",
|
|
617
|
+
"tout refuser",
|
|
618
|
+
"refuser",
|
|
619
|
+
"refuser tous les cookies",
|
|
620
|
+
"non merci",
|
|
621
|
+
"interdire tous les cookies",
|
|
622
|
+
"je refuse",
|
|
623
|
+
"refuser tout",
|
|
624
|
+
"tout rejeter",
|
|
625
|
+
"refuser et continuer",
|
|
626
|
+
"rejeter",
|
|
627
|
+
"refuser les cookies",
|
|
628
|
+
"cookies n\xE9cessaires uniquement",
|
|
629
|
+
"seulement n\xE9cessaires",
|
|
630
|
+
"rejeter tout",
|
|
631
|
+
"refuser les cookies optionnels",
|
|
632
|
+
"je d\xE9sactive les finalit\xE9s non essentielles",
|
|
633
|
+
"refuser les cookies non n\xE9cessaires",
|
|
634
|
+
"rejeter tous les cookies",
|
|
635
|
+
"cookies essentiels uniquement",
|
|
636
|
+
"n\xE9cessaires uniquement",
|
|
637
|
+
"refuser les cookies non essentiels",
|
|
638
|
+
"tout refuser et fermer",
|
|
639
|
+
"tout refuser sauf les cookies techniques",
|
|
640
|
+
"continuer sans accepter x",
|
|
641
|
+
"je refuse lutilisation de cookies",
|
|
642
|
+
"non merci, seulement des cookies techniques",
|
|
643
|
+
"non, tout refuser",
|
|
644
|
+
"refuser tous les cookies non n\xE9cessaires",
|
|
645
|
+
"rejeter les cookies",
|
|
646
|
+
"uniquement les essentiels",
|
|
647
|
+
"refuser tous",
|
|
648
|
+
"accepter uniquement les n\xE9cessaires",
|
|
649
|
+
"allow anonymous analytics",
|
|
650
|
+
"autoriser les cookies essentiels uniquement",
|
|
651
|
+
"autoriser uniquement les n\xE9cessaires",
|
|
652
|
+
"cookies essentiels seulement",
|
|
653
|
+
"cookies n\xE9cessaires seulement",
|
|
654
|
+
"cookies techniques uniquement",
|
|
655
|
+
"je pr\xE9f\xE8re les rejeter",
|
|
656
|
+
"je refuse :(",
|
|
657
|
+
"je refuse les cookies",
|
|
658
|
+
"je refuse tous les cookies",
|
|
659
|
+
"je refuse tout",
|
|
660
|
+
"ne pas accepter",
|
|
661
|
+
"non, accepter les n\xE9cessaires uniquement",
|
|
662
|
+
"refuser (sauf cookies n\xE9cessaires)",
|
|
663
|
+
"refuser ce cookie",
|
|
664
|
+
"refuser les coockies",
|
|
665
|
+
"refuser les cookies facultatifs",
|
|
666
|
+
"refuser tout, sauf les cookies techniques",
|
|
667
|
+
"refuser toutes",
|
|
668
|
+
"refuser toutes les options",
|
|
669
|
+
"rejeter la banni\xE8re",
|
|
670
|
+
"rejeter les cookies non essentiels",
|
|
671
|
+
"rejeter les cookies optionnels",
|
|
672
|
+
"rejeter tous les non fonctionnels",
|
|
673
|
+
"rejeter tout optionnel",
|
|
674
|
+
"tout refuser, sauf les cookies techniques",
|
|
675
|
+
"uniquement n\xE9cessaires",
|
|
676
|
+
"x continuer sans accepter",
|
|
677
|
+
"strictement n\xE9cessaires",
|
|
678
|
+
"utiliser uniquement les cookies n\xE9cessaires",
|
|
679
|
+
"cookies n\xE9cessaires",
|
|
680
|
+
"accepter uniquement les cookies essentiels",
|
|
681
|
+
"accepter les cookies n\xE9cessaires",
|
|
682
|
+
"uniquement les cookies n\xE9cessaires",
|
|
683
|
+
"autoriser uniquement les cookies essentiels",
|
|
684
|
+
"autoriser uniquement les cookies n\xE9cessaires",
|
|
685
|
+
"si vous ne souhaitez pas accepter les cookies \xE0 lexception des cookies techniquement n\xE9cessaires, veuillez cliquer ici",
|
|
686
|
+
"cookies strictement n\xE9cessaires",
|
|
687
|
+
"accepter les cookies strictement n\xE9cessaires",
|
|
688
|
+
"autoriser les cookies essentiels",
|
|
689
|
+
"non, merci, uniquement les cookies n\xE9cessaires",
|
|
690
|
+
"indispensable uniquement",
|
|
691
|
+
"uniquement autoriser les cookies essentiels",
|
|
692
|
+
"utiliser que les cookies n\xE9cessaires",
|
|
693
|
+
"uniquement les sdk n\xE9cessaires",
|
|
694
|
+
"uniquement n\xE9cessaire",
|
|
695
|
+
"utiliser uniquement les cookies fonctionnels",
|
|
696
|
+
"refus",
|
|
697
|
+
"refusez",
|
|
698
|
+
"naccepter que les cookies indispensables",
|
|
699
|
+
"naccepter que les cookies n\xE9cessaires",
|
|
700
|
+
"naccepter que les cookies techniques",
|
|
701
|
+
"n\xE9cessaires seulement"
|
|
702
|
+
];
|
|
703
|
+
var REJECT_PATTERNS_GERMAN = [
|
|
704
|
+
"ablehnen",
|
|
705
|
+
"alle ablehnen",
|
|
706
|
+
"nur notwendige cookies",
|
|
707
|
+
"nur essenzielle cookies akzeptieren",
|
|
708
|
+
"nur notwendige cookies verwenden",
|
|
709
|
+
"nur technisch notwendige",
|
|
710
|
+
"nur essentielle cookies akzeptieren",
|
|
711
|
+
"alles ablehnen",
|
|
712
|
+
"nur notwendige",
|
|
713
|
+
"alle cookies ablehnen",
|
|
714
|
+
"weiter ohne einwilligung",
|
|
715
|
+
"mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons nur essenzielle cookies akzeptieren.",
|
|
716
|
+
"cookies ablehnen",
|
|
717
|
+
"optionale cookies ablehnen",
|
|
718
|
+
"nur erforderliche cookies",
|
|
719
|
+
"einwilligung ablehnen",
|
|
720
|
+
"nur erforderliche",
|
|
721
|
+
"nur notwendige cookies zulassen",
|
|
722
|
+
"nur funktionale cookies akzeptieren",
|
|
723
|
+
"nur notwendige cookies akzeptieren",
|
|
724
|
+
"nur notwendige technologien",
|
|
725
|
+
"verweigern",
|
|
726
|
+
"webanalyse ablehnen",
|
|
727
|
+
"weiter ohne zustimmung",
|
|
728
|
+
"optionale ablehnen",
|
|
729
|
+
"nur notwendige akzeptieren",
|
|
730
|
+
"nur funktionale cookies",
|
|
731
|
+
"mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons ablehnen.",
|
|
732
|
+
"nur notwendige cookies erlauben",
|
|
733
|
+
"zustimmung verweigern",
|
|
734
|
+
"nein, danke",
|
|
735
|
+
"nur erforderliche cookies akzeptieren",
|
|
736
|
+
"zus\xE4tzliche cookies ablehnen",
|
|
737
|
+
"ablehnen und nur essenzielle cookies akzeptieren",
|
|
738
|
+
"nicht erforderliche ablehnen",
|
|
739
|
+
"nicht essenzielle cookies daten ablehnen",
|
|
740
|
+
"nur technisch notwendige cookies",
|
|
741
|
+
"nur technisch notwendige cookies akzeptieren",
|
|
742
|
+
"ablehnen speichern",
|
|
743
|
+
"alle funktionen ablehnen",
|
|
744
|
+
"alle optionalen cookies ablehnen",
|
|
745
|
+
"alles verweigern",
|
|
746
|
+
"mit erforderlichen einstellungen fortfahren",
|
|
747
|
+
"nicht notwendige ablehnen",
|
|
748
|
+
"notwendige cookies akzeptieren",
|
|
749
|
+
"nur erforderliche technologien",
|
|
750
|
+
"nur essenzielle cookies",
|
|
751
|
+
"nur essenzielle cookies erlauben",
|
|
752
|
+
"technisch nicht notwendige cookies ablehnen",
|
|
753
|
+
"tippen sie zum ablehnen bitte hier",
|
|
754
|
+
"ablehnen deny",
|
|
755
|
+
"fortfahren ohne zu akzeptieren",
|
|
756
|
+
"nur erforderliche akzeptieren",
|
|
757
|
+
"nur notwendige erlauben",
|
|
758
|
+
"ablehnen ...nur technisch notwendige cookies verwendet werden",
|
|
759
|
+
"ablehnen (au\xDFer notwendige cookies)",
|
|
760
|
+
"ablehnen und fortfahren",
|
|
761
|
+
"ablehnen und schlie\xDFen",
|
|
762
|
+
"ablehnen: nur grundfunktionen",
|
|
763
|
+
"akzeptieren nur notwendige cookies",
|
|
764
|
+
"alle ablehnen (au\xDFer notwendige cookies)",
|
|
765
|
+
"alle nicht essenziellen cookies ablehnen",
|
|
766
|
+
"alle nicht notwendigen cookies ablehnen",
|
|
767
|
+
"alle optionale ablehnen",
|
|
768
|
+
"alle optionalen ablehnen",
|
|
769
|
+
"alle verweigern",
|
|
770
|
+
"analyse cookies ablehnen",
|
|
771
|
+
"cookie einstellungenablehnen",
|
|
772
|
+
"erforderliche cookies akzeptieren",
|
|
773
|
+
"erforderliche cookies zulassen",
|
|
774
|
+
"externe inhalte ablehnen",
|
|
775
|
+
"mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons ablehnen und nur essenzielle cookies akzeptieren.",
|
|
776
|
+
"mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons nicht-essenzielle cookies verweigern.",
|
|
777
|
+
"mit diesem button wird der dialog geschlossen. seine funktionalit\xE4t ist identisch mit der des buttons nur essenzielle akzeptieren.",
|
|
778
|
+
"mit erforderlichen cookies fortfahren",
|
|
779
|
+
"mit notwendigen fortfahren",
|
|
780
|
+
"nein, bitte nicht",
|
|
781
|
+
"nein, ich stimme nicht zu",
|
|
782
|
+
"nicht funktionale cookies ablehnen",
|
|
783
|
+
"nicht notwendige cookies ablehnen",
|
|
784
|
+
"nicht-essenzielle cookies ablehnen",
|
|
785
|
+
"nicht-essenzielle cookies verweigern",
|
|
786
|
+
"notwendige cookies zulassen",
|
|
787
|
+
"nur erforderliche cookies erlauben",
|
|
788
|
+
"nur erforderliche cookies setzen",
|
|
789
|
+
"nur erforderliche cookies verwenden",
|
|
790
|
+
"nur essenzielle akzeptieren",
|
|
791
|
+
"nur notwendige cookies annehmen",
|
|
792
|
+
"nur notwendige cookies speichern",
|
|
793
|
+
"nur notwendige cookies verwenden.",
|
|
794
|
+
"nur notwendige funktionscookies akzeptieren",
|
|
795
|
+
"nur notwendigen cookies zustimmen",
|
|
796
|
+
"nur notwendiges akzeptieren",
|
|
797
|
+
"nur wesentliche cookies annehmen",
|
|
798
|
+
"opt. cookies ablehnen",
|
|
799
|
+
"optionale dienste ablehnen",
|
|
800
|
+
"optionale tools ablehnen",
|
|
801
|
+
"sie alle cookies ablehnen",
|
|
802
|
+
"technisch notwendige annehmen",
|
|
803
|
+
"nur essentielle cookies",
|
|
804
|
+
"nur essentielle",
|
|
805
|
+
"nur funktionale akzeptieren",
|
|
806
|
+
"nur technisch notwendige akzeptieren",
|
|
807
|
+
"nur technisch notwendige daten und cookies ...",
|
|
808
|
+
"nur technisch notwendige zulassen",
|
|
809
|
+
"nur wesentliche",
|
|
810
|
+
"ohne einverst\xE4ndnis fortfahren",
|
|
811
|
+
"ohne einwilligung",
|
|
812
|
+
"ohne zustimmung fortfahren",
|
|
813
|
+
"ohne zustimmung weiter",
|
|
814
|
+
"weiter mit essentiellen cookies",
|
|
815
|
+
"weiter ohne annahme",
|
|
816
|
+
"weiter ohne statistische analyse-cookies",
|
|
817
|
+
"weiter ohne statistische cookies",
|
|
818
|
+
"wesentliche cookies",
|
|
819
|
+
"fortfahren ohne zustimmung"
|
|
820
|
+
];
|
|
821
|
+
var REJECT_PATTERNS_ITALIAN = [
|
|
822
|
+
"rifiuta",
|
|
823
|
+
"rifiuta cookies",
|
|
824
|
+
"rifiuta i cookie",
|
|
825
|
+
"rifiuta i cookies",
|
|
826
|
+
"rifiuta tutti i cookie",
|
|
827
|
+
"rifiuta tutti i cookies",
|
|
828
|
+
"rifiuta cookie non necessari",
|
|
829
|
+
"rifiuta i cookie non tecnici",
|
|
830
|
+
"rifiuta non necessari",
|
|
831
|
+
"rifiuta tutto",
|
|
832
|
+
"rifiuta tutti",
|
|
833
|
+
"rifiuta e chiudi",
|
|
834
|
+
"chiudi rifiuta tutti i cookie",
|
|
835
|
+
"chiudi e rifiuta tutti i cookie",
|
|
836
|
+
"chiudi e rifiuta tutto",
|
|
837
|
+
"nega",
|
|
838
|
+
"nega tutti",
|
|
839
|
+
"negare",
|
|
840
|
+
"non accetto",
|
|
841
|
+
"accetta solo i necessari",
|
|
842
|
+
"usa solo i cookie necessari",
|
|
843
|
+
"accetta solo necessari",
|
|
844
|
+
"solo necessari",
|
|
845
|
+
"continua senza accettare x",
|
|
846
|
+
"continua senza accettare",
|
|
847
|
+
"rifiutare",
|
|
848
|
+
"rifiutare i cookie",
|
|
849
|
+
"rifiutare tutti i cookie",
|
|
850
|
+
"rifiutare tutti",
|
|
851
|
+
"rifiutare e continuare",
|
|
852
|
+
"installa solo i cookie strettamente necessari",
|
|
853
|
+
"solo cookies tecnici",
|
|
854
|
+
"accetta necessari",
|
|
855
|
+
"solo cookie tecnici",
|
|
856
|
+
"solo cookie necessari",
|
|
857
|
+
"strettamente necessari",
|
|
858
|
+
"tecnici",
|
|
859
|
+
"accetta solo cookie di navigazione",
|
|
860
|
+
"chiudi e prosegui solo con i cookies tecnici necessari",
|
|
861
|
+
"consenti solo i cookie tecnici",
|
|
862
|
+
"solo cookie essenziali",
|
|
863
|
+
"blocca i cookie non essenziali",
|
|
864
|
+
"accetta i cookie necessari",
|
|
865
|
+
"accetta solo cookie tecnici",
|
|
866
|
+
"accetta solo i cookie essenziali",
|
|
867
|
+
"accetta solo i cookie necessari",
|
|
868
|
+
"accetta solo i necessary",
|
|
869
|
+
"accetta i cookie essenziali",
|
|
870
|
+
"accetta cookie tecnici",
|
|
871
|
+
"necessari",
|
|
872
|
+
"usa solo i cookie tecnici",
|
|
873
|
+
"usa solo i necessari",
|
|
874
|
+
"rifiuto",
|
|
875
|
+
"essenziali",
|
|
876
|
+
"accetta cookie essenziali",
|
|
877
|
+
"accetta cookie necessari",
|
|
878
|
+
"accetta solo cookie essenziali",
|
|
879
|
+
"accetta solo cookie necessari",
|
|
880
|
+
"rifiuta cookie non necessari",
|
|
881
|
+
"rifiuta cookie non essenziali",
|
|
882
|
+
"rifiuta i cookie non necessari",
|
|
883
|
+
"rifiuta i cookie non essenziali",
|
|
884
|
+
"rifiuta tutti i cookie e chiudi",
|
|
885
|
+
"rifiuta tutto e chiudi",
|
|
886
|
+
"rifiuta tutti i cookie chiudi",
|
|
887
|
+
"continuare senza accettare",
|
|
888
|
+
"rifiutare cookies",
|
|
889
|
+
"rifiutare i cookies",
|
|
890
|
+
"rifiutare non necessari",
|
|
891
|
+
"rifiutare tutto",
|
|
892
|
+
"rifiutare e chiudere",
|
|
893
|
+
"solo essenziali",
|
|
894
|
+
"solo tecnici",
|
|
895
|
+
"negare tutti"
|
|
896
|
+
];
|
|
897
|
+
var REJECT_PATTERNS_BRAZILIAN_PORTUGUESE = [
|
|
898
|
+
// (deny)
|
|
899
|
+
/^\s*(rejeitar|recusar|desativar|bloquear|negar|não\s*aceito|não \s*aceitar)\s*$/is,
|
|
900
|
+
// (proceed) (without accepting)
|
|
901
|
+
/^\s*(continuar|prosseguir|seguir)\s*(sem\s*aceitar)\s*$/is,
|
|
902
|
+
// (deny) (everything) (optional)
|
|
903
|
+
/^\s*(rejeitar|recusar|desativar|bloquear|negar|não\s*aceito|não \s*aceitar)\s*(tudo|o)?\s*(opcional|(não[-\s](essencial|funcional|obrigatório|necessário)))?\s*$/is,
|
|
904
|
+
// (deny) (all) (the) (optional) (cookies)
|
|
905
|
+
/^\s*(rejeitar|recusar|desativar|bloquear|negar|não\s*aceito|não \s*aceitar)\s*(todos)?\s*(os)?\s*(cookies)?\s*(opcionais|(não[-\s](essenciais|funcionais|obrigatórios|necessários)))?\s*$/is,
|
|
906
|
+
// (accept) (only) (the) (essential)
|
|
907
|
+
/^\s*(aceitar|utilizar)?\s*(apenas|somente|só)?\s*(o)?\s*(essencial|funcional|obrigatório|necessário)\s*$/is,
|
|
908
|
+
// (accept) (only) (the) (essential) (cookies)
|
|
909
|
+
/^\s*(aceitar|utilizar)?\s*(apenas|somente|só)?\s*(os)?\s*(cookies)?\s*(essenciais|funcionais|obrigatórios|necessários)\s*$/is
|
|
910
|
+
];
|
|
911
|
+
var REJECT_PATTERNS_SPANISH = [
|
|
912
|
+
"rechazar",
|
|
913
|
+
"rechazar todo",
|
|
914
|
+
"rechazar todas",
|
|
915
|
+
"denegar",
|
|
916
|
+
"rechazar cookies",
|
|
917
|
+
"rechazarlas todas",
|
|
918
|
+
"no acepto",
|
|
919
|
+
"rechazar todas las cookies",
|
|
920
|
+
"rechazar y cerrar",
|
|
921
|
+
"denegar todas",
|
|
922
|
+
"solo necesarias",
|
|
923
|
+
"rechazar cookies opcionales",
|
|
924
|
+
"rechazar opcionales",
|
|
925
|
+
"cookies estrictamente necesarias",
|
|
926
|
+
"aceptar s\xF3lo necesarias",
|
|
927
|
+
"continuar sin aceptar",
|
|
928
|
+
"denegar todo",
|
|
929
|
+
"clear rechazar cookies",
|
|
930
|
+
"configurar rechazar cookies",
|
|
931
|
+
"denegar cookies",
|
|
932
|
+
"rechazar y continuar",
|
|
933
|
+
"rechazar las cookies",
|
|
934
|
+
"clear rechazar",
|
|
935
|
+
"denegar todas las cookies",
|
|
936
|
+
"rechazar cookies no esenciales",
|
|
937
|
+
"rechazarlas",
|
|
938
|
+
"no, no acepto",
|
|
939
|
+
"permitir s\xF3lo necesarias",
|
|
940
|
+
"rechazar cookies adicionales",
|
|
941
|
+
"rechazar cookies anal\xEDticas",
|
|
942
|
+
"rechazar no necesarias",
|
|
943
|
+
"rechazar opcional",
|
|
944
|
+
"rechazar todo lo opcional",
|
|
945
|
+
"solo cookies estrictamente necesarias",
|
|
946
|
+
"solo esenciales",
|
|
947
|
+
"x rechazar todas las cookies",
|
|
948
|
+
"solo usar cookies necesarias",
|
|
949
|
+
"solo cookies necesarias",
|
|
950
|
+
"declinar",
|
|
951
|
+
"aceptar solo las cookies esenciales",
|
|
952
|
+
"necesarias",
|
|
953
|
+
"aceptar cookies opcionales",
|
|
954
|
+
"aceptar solo lo necesario",
|
|
955
|
+
"solo funcionales",
|
|
956
|
+
"declinar y cerrar",
|
|
957
|
+
"d\xE9clin",
|
|
958
|
+
"declina",
|
|
959
|
+
"declinar consentimiento",
|
|
960
|
+
"declinar todas",
|
|
961
|
+
"solo las cookies necesarias",
|
|
962
|
+
"nom\xE9s sutilitzen cookies quan \xE9s necessari",
|
|
963
|
+
"no, s\xF3lo las estrictamente necesarias",
|
|
964
|
+
"solo las necesarias",
|
|
965
|
+
"acceptar nom\xE9s les necess\xE0ries",
|
|
966
|
+
"acepta solo las necesarias",
|
|
967
|
+
"aceptar solo lo esencial",
|
|
968
|
+
"aceptar las obligatorias",
|
|
969
|
+
"permitir solo cookies t\xE9cnicas",
|
|
970
|
+
"cookies t\xE9cnicas",
|
|
971
|
+
"permitir solo cookies t\xE9cnicas",
|
|
972
|
+
"usar solo cookies t\xE9cnicas",
|
|
973
|
+
"aceptar solo las esenciales"
|
|
974
|
+
];
|
|
975
|
+
var REJECT_PATTERNS_SWEDISH = [
|
|
976
|
+
"avvisa",
|
|
977
|
+
"endast n\xF6dv\xE4ndiga",
|
|
978
|
+
"avvisa alla",
|
|
979
|
+
"endast n\xF6dv\xE4ndiga cookies",
|
|
980
|
+
"neka",
|
|
981
|
+
"neka alla",
|
|
982
|
+
"avvisa allt",
|
|
983
|
+
"avvisa alla cookies",
|
|
984
|
+
"till\xE5t bara n\xF6dv\xE4ndiga cookies",
|
|
985
|
+
"bara n\xF6dv\xE4ndiga",
|
|
986
|
+
"bara n\xF6dv\xE4ndiga cookies",
|
|
987
|
+
"till\xE5t bara n\xF6dv\xE4ndiga kakor",
|
|
988
|
+
"endast n\xF6dv\xE4ndiga kakor",
|
|
989
|
+
"till\xE5t endast n\xF6dv\xE4ndiga",
|
|
990
|
+
"forts\xE4tt utan att acceptera",
|
|
991
|
+
"godk\xE4nn endast n\xF6dv\xE4ndiga",
|
|
992
|
+
"acceptera endast n\xF6dv\xE4ndiga",
|
|
993
|
+
"avvisa cookies",
|
|
994
|
+
"till\xE5t endast n\xF6dv\xE4ndiga kakor",
|
|
995
|
+
"acceptera endast n\xF6dv\xE4ndiga cookies",
|
|
996
|
+
"neka kakor",
|
|
997
|
+
"bara n\xF6dv\xE4ndiga kakor",
|
|
998
|
+
"neka alla cookies",
|
|
999
|
+
"anv\xE4nd endast n\xF6dv\xE4ndiga",
|
|
1000
|
+
"avvisa alla utom n\xF6dv\xE4ndiga",
|
|
1001
|
+
"hantera eller avvisa",
|
|
1002
|
+
"neka alla utom n\xF6dv\xE4ndiga kakor",
|
|
1003
|
+
"neka och st\xE4ng",
|
|
1004
|
+
"till\xE5t bara n\xF6dv\xE4ndiga tj\xE4nster",
|
|
1005
|
+
"avvisa alla utom n\xF6dv\xE4ndiga kakor",
|
|
1006
|
+
"avvisa alla valfria",
|
|
1007
|
+
"godk\xE4nn bara n\xF6dv\xE4ndiga cookies",
|
|
1008
|
+
"acceptera endast n\xF6dv\xE4ndiga kakor",
|
|
1009
|
+
"anv\xE4nd endast n\xF6dv\xE4ndiga cookies",
|
|
1010
|
+
"avvisa alla kakor",
|
|
1011
|
+
"avvisa alla valm\xF6jligheter",
|
|
1012
|
+
"avvisa ej n\xF6dv\xE4ndiga",
|
|
1013
|
+
"avvisa icke-n\xF6dv\xE4ndiga",
|
|
1014
|
+
"f\xF6rneka",
|
|
1015
|
+
"godk\xE4nn bara n\xF6dv\xE4ndiga",
|
|
1016
|
+
"godk\xE4nn bara n\xF6dv\xE4ndiga kakor",
|
|
1017
|
+
"godk\xE4nn endast n\xF6dv\xE4ndiga cookies",
|
|
1018
|
+
"godk\xE4nn endast n\xF6dv\xE4ndiga kakor",
|
|
1019
|
+
"godta endast n\xF6dv\xE4ndiga",
|
|
1020
|
+
"jag godk\xE4nner bara n\xF6dv\xE4ndiga kakor",
|
|
1021
|
+
"nej, avvisa alla",
|
|
1022
|
+
"nej, bara n\xF6dv\xE4ndiga",
|
|
1023
|
+
"nej, bara n\xF6dv\xE4ndiga cookies",
|
|
1024
|
+
"neka alla utom n\xF6dv\xE4ndiga",
|
|
1025
|
+
"neka alla.",
|
|
1026
|
+
"neka cookies",
|
|
1027
|
+
"neka samtliga",
|
|
1028
|
+
"ok, endast n\xF6dv\xE4ndiga",
|
|
1029
|
+
"spara endast n\xF6dv\xE4ndiga",
|
|
1030
|
+
"st\xE4ng och avvisa",
|
|
1031
|
+
"till\xE5t bara n\xF6dv\xE4ndiga",
|
|
1032
|
+
"godk\xE4nn n\xF6dv\xE4ndiga kakor",
|
|
1033
|
+
"godk\xE4nn n\xF6dv\xE4ndiga",
|
|
1034
|
+
"acceptera n\xF6dv\xE4ndiga",
|
|
1035
|
+
"strikt n\xF6dv\xE4ndigt",
|
|
1036
|
+
"till\xE5t n\xF6dv\xE4ndiga",
|
|
1037
|
+
"n\xF6dv\xE4ndiga",
|
|
1038
|
+
"enbart n\xF6dv\xE4ndiga",
|
|
1039
|
+
"jag godk\xE4nner n\xF6dv\xE4ndiga kakor",
|
|
1040
|
+
"acceptera n\xF6dv\xE4ndiga kakor",
|
|
1041
|
+
"godk\xE4nn enbart n\xF6dv\xE4ndiga kakor",
|
|
1042
|
+
"godk\xE4nn n\xF6dv\xE4ndiga cookies",
|
|
1043
|
+
"om du inte vill acceptera andra cookies \xE4n de som \xE4r tekniskt n\xF6dv\xE4ndiga klickar du h\xE4r",
|
|
1044
|
+
"acceptera enbart n\xF6dv\xE4ndiga",
|
|
1045
|
+
"n\xF6dv\xE4ndiga cookies",
|
|
1046
|
+
"jag godk\xE4nner enbart att ni anv\xE4nder n\xF6dv\xE4ndiga cookies",
|
|
1047
|
+
"+ strikt n\xF6dv\xE4ndiga cookies",
|
|
1048
|
+
"anv\xE4nd enbart n\xF6dv\xE4ndiga cookies",
|
|
1049
|
+
"enbart n\xF6dv\xE4ndiga cookies",
|
|
1050
|
+
"godk\xE4nn n\xF6dv\xE4ndiga kakor st\xE4ng",
|
|
1051
|
+
"ok till n\xF6dv\xE4ndiga",
|
|
1052
|
+
"strikt n\xF6dv\xE4ndiga",
|
|
1053
|
+
"forts\xE4tt utan att godk\xE4nna",
|
|
1054
|
+
"avb\xF6j alla cookies",
|
|
1055
|
+
"jag accepterar endast grundl\xE4ggande kakor",
|
|
1056
|
+
"nej, jag avb\xF6jer",
|
|
1057
|
+
"till\xE5t inte cookies"
|
|
1058
|
+
];
|
|
1059
|
+
var REJECT_PATTERNS = [
|
|
1060
|
+
...REJECT_PATTERNS_ENGLISH,
|
|
1061
|
+
...REJECT_PATTERNS_DUTCH,
|
|
1062
|
+
...REJECT_PATTERNS_FRENCH,
|
|
1063
|
+
...REJECT_PATTERNS_GERMAN,
|
|
1064
|
+
...REJECT_PATTERNS_ITALIAN,
|
|
1065
|
+
...REJECT_PATTERNS_BRAZILIAN_PORTUGUESE,
|
|
1066
|
+
...REJECT_PATTERNS_SPANISH,
|
|
1067
|
+
...REJECT_PATTERNS_SWEDISH
|
|
1068
|
+
];
|
|
1069
|
+
var NEVER_MATCH_PATTERNS = [
|
|
1070
|
+
/pay|subscribe/is,
|
|
1071
|
+
/abonneer/is,
|
|
1072
|
+
/abonnier/is,
|
|
1073
|
+
/abonner/is,
|
|
1074
|
+
/abbonati/is,
|
|
1075
|
+
/iscriviti/is,
|
|
1076
|
+
/abbonare/is,
|
|
1077
|
+
/iscrivere/is,
|
|
1078
|
+
/sostienici/is,
|
|
1079
|
+
/suscribir/is
|
|
1080
|
+
];
|
|
1081
|
+
var SETTINGS_PATTERNS = [
|
|
1082
|
+
"settings",
|
|
1083
|
+
"preferences",
|
|
1084
|
+
/customi(s|z)e/is,
|
|
1085
|
+
"show details",
|
|
1086
|
+
"more options",
|
|
1087
|
+
/(manage|configure) (my|your) (preferences|choices|cookies)/is,
|
|
1088
|
+
"manage choices",
|
|
1089
|
+
/(cookie )?preference center/is,
|
|
1090
|
+
"change settings",
|
|
1091
|
+
"configure",
|
|
1092
|
+
"change my preferences",
|
|
1093
|
+
"cookie manager",
|
|
1094
|
+
"cookie preference",
|
|
1095
|
+
"let me choose",
|
|
1096
|
+
"cookieconsent preferences",
|
|
1097
|
+
/privacy choices/is,
|
|
1098
|
+
/(privacy|cookie|custom) settings/is,
|
|
1099
|
+
/cookies? (settings|preferences|setting)/is,
|
|
1100
|
+
/(manage|customize|customise|opt-out|edit).*(cookies|preferences|settings|options)/is,
|
|
1101
|
+
"cookie consent options",
|
|
1102
|
+
"privacy controls",
|
|
1103
|
+
"show purposes",
|
|
1104
|
+
// German
|
|
1105
|
+
"einstellungen"
|
|
1106
|
+
];
|
|
1107
|
+
var ACCEPT_PATTERNS = [
|
|
1108
|
+
/^(accept|allow)( all)?( cookies)?$/is,
|
|
1109
|
+
/i (accept|allow)( all)?/is,
|
|
1110
|
+
"yes",
|
|
1111
|
+
/^(i )?agree$/is,
|
|
1112
|
+
"continue with all",
|
|
1113
|
+
"accept and continue",
|
|
1114
|
+
/accept all above/is,
|
|
1115
|
+
/^(accept|agree) and close/is,
|
|
1116
|
+
"accept continue",
|
|
1117
|
+
"agree proceed",
|
|
1118
|
+
"allow and continue",
|
|
1119
|
+
"close and accept",
|
|
1120
|
+
/accept all$/is,
|
|
1121
|
+
"im ok with that",
|
|
1122
|
+
"accept optional cookies",
|
|
1123
|
+
/^alle (cookies )?akzeptieren$/is
|
|
1124
|
+
];
|
|
1125
|
+
var ACKNOWLEDGE_PATTERNS = [
|
|
1126
|
+
"ok",
|
|
1127
|
+
"close",
|
|
1128
|
+
"continue",
|
|
1129
|
+
"x",
|
|
1130
|
+
/^got it!?$/,
|
|
1131
|
+
"i understand",
|
|
1132
|
+
"dismiss",
|
|
1133
|
+
"okay",
|
|
1134
|
+
"acknowledge",
|
|
1135
|
+
/^close (banner|cookie notification)$/is,
|
|
1136
|
+
/understood$/is,
|
|
1137
|
+
"confirm my choices"
|
|
1138
|
+
];
|
|
1139
|
+
|
|
1140
|
+
// lib/heuristics.ts
|
|
1141
|
+
var BUTTON_LIKE_ELEMENT_SELECTOR = 'button, input[type="button"], input[type="submit"], a, [role="button"], [class*="button"]';
|
|
1142
|
+
var TEXT_LIMIT = 1e5;
|
|
1143
|
+
var POPUP_SEARCH_MAX_TIME = 100;
|
|
1144
|
+
function checkHeuristicPatterns(allText, detectPatterns = DETECT_PATTERNS) {
|
|
1145
|
+
allText = allText.slice(0, TEXT_LIMIT);
|
|
1146
|
+
const patterns = [];
|
|
1147
|
+
const snippets2 = [];
|
|
1148
|
+
for (const p of detectPatterns) {
|
|
1149
|
+
const matches = allText?.match(p);
|
|
1150
|
+
if (matches) {
|
|
1151
|
+
patterns.push(p.toString());
|
|
1152
|
+
snippets2.push(...matches.map((m) => m.substring(0, 200)));
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
return { patterns, snippets: snippets2 };
|
|
1156
|
+
}
|
|
1157
|
+
function getActionablePopups(mode = "reject", timeout = POPUP_SEARCH_MAX_TIME) {
|
|
1158
|
+
const acceptedLevels = mode === "tier2" ? ["reject", "tier1", "tier2"] : mode === "tier1" ? ["reject", "tier1"] : ["reject"];
|
|
1159
|
+
if (acceptedLevels.length === 0) {
|
|
1160
|
+
return [];
|
|
1161
|
+
}
|
|
1162
|
+
const popups = getPotentialPopups(timeout);
|
|
1163
|
+
const result = popups.reduce((acc, popup) => {
|
|
1164
|
+
const popupText = popup.text?.trim();
|
|
1165
|
+
if (popupText) {
|
|
1166
|
+
const { patterns } = checkHeuristicPatterns(popupText);
|
|
1167
|
+
if (patterns.length > 0) {
|
|
1168
|
+
classifyButtons(popup.buttons);
|
|
1169
|
+
popup.regexClassification = classifyPopup(popup.buttons);
|
|
1170
|
+
acc.push({
|
|
1171
|
+
...popup
|
|
1172
|
+
});
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
return acc;
|
|
1176
|
+
}, []);
|
|
1177
|
+
return result.filter((popup) => popup.regexClassification !== void 0 && acceptedLevels.includes(popup.regexClassification)).sort((a, b) => (a.regexClassification ?? "") > (b.regexClassification ?? "") ? 1 : -1);
|
|
1178
|
+
}
|
|
1179
|
+
function classifyButtons(buttons) {
|
|
1180
|
+
for (const button of buttons) {
|
|
1181
|
+
button.regexClassification = classifyButtonTextRegex(button.text);
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
function classifyPopup(buttons) {
|
|
1185
|
+
const { reject, settings, accept, acknowledge } = buttons.reduce(
|
|
1186
|
+
(acc, button) => {
|
|
1187
|
+
if (button.regexClassification && button.regexClassification !== "other") {
|
|
1188
|
+
acc[button.regexClassification]++;
|
|
1189
|
+
}
|
|
1190
|
+
return acc;
|
|
1191
|
+
},
|
|
1192
|
+
{ reject: 0, settings: 0, accept: 0, acknowledge: 0 }
|
|
1193
|
+
);
|
|
1194
|
+
if (reject > 0) {
|
|
1195
|
+
return "reject";
|
|
1196
|
+
}
|
|
1197
|
+
if (settings > 0) {
|
|
1198
|
+
return "none";
|
|
1199
|
+
}
|
|
1200
|
+
if (acknowledge > 0) {
|
|
1201
|
+
return "tier1";
|
|
1202
|
+
}
|
|
1203
|
+
if (accept > 0) {
|
|
1204
|
+
return accept === 1 ? "tier2" : "none";
|
|
1205
|
+
}
|
|
1206
|
+
return "none";
|
|
1207
|
+
}
|
|
1208
|
+
function testButtonMatches(buttonText, matchPatterns, neverMatchPatterns) {
|
|
1209
|
+
if (!buttonText) {
|
|
1210
|
+
return false;
|
|
1211
|
+
}
|
|
1212
|
+
const cleanedButtonText = cleanButtonText(buttonText);
|
|
1213
|
+
return !neverMatchPatterns.some((p) => p instanceof RegExp && p.test(cleanedButtonText) || p === cleanedButtonText) && matchPatterns.some((p) => p instanceof RegExp && p.test(cleanedButtonText) || p === cleanedButtonText);
|
|
1214
|
+
}
|
|
1215
|
+
function cleanButtonText(buttonText) {
|
|
1216
|
+
let result = buttonText.toLowerCase();
|
|
1217
|
+
result = result.replace(/[“”"'/#&[\]→✕×⟩❯><✗ב’›«»]+/g, "");
|
|
1218
|
+
result = result.replace(
|
|
1219
|
+
/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}\u2600-\u26FF\u2700-\u27BF\u{1F900}-\u{1F9FF}\u{1FA70}-\u{1FAFF}]/gu,
|
|
1220
|
+
""
|
|
1221
|
+
);
|
|
1222
|
+
result = result.replace(/\n+/g, " ");
|
|
1223
|
+
result = result.replace(/\s+/g, " ");
|
|
1224
|
+
result = result.trim();
|
|
1225
|
+
return result;
|
|
1226
|
+
}
|
|
1227
|
+
function classifyButtonTextRegex(buttonText) {
|
|
1228
|
+
if (testButtonMatches(buttonText, REJECT_PATTERNS, NEVER_MATCH_PATTERNS)) {
|
|
1229
|
+
return "reject";
|
|
1230
|
+
}
|
|
1231
|
+
if (testButtonMatches(buttonText, SETTINGS_PATTERNS, NEVER_MATCH_PATTERNS)) {
|
|
1232
|
+
return "settings";
|
|
1233
|
+
}
|
|
1234
|
+
if (testButtonMatches(buttonText, ACCEPT_PATTERNS, NEVER_MATCH_PATTERNS)) {
|
|
1235
|
+
return "accept";
|
|
1236
|
+
}
|
|
1237
|
+
if (testButtonMatches(buttonText, ACKNOWLEDGE_PATTERNS, NEVER_MATCH_PATTERNS)) {
|
|
1238
|
+
return "acknowledge";
|
|
1239
|
+
}
|
|
1240
|
+
return "other";
|
|
1241
|
+
}
|
|
1242
|
+
function getPotentialPopups(timeout = POPUP_SEARCH_MAX_TIME) {
|
|
1243
|
+
const isFramed = !isTopFrame();
|
|
1244
|
+
if (isFramed && window.parent && window.parent !== window.top) {
|
|
1245
|
+
return [];
|
|
1246
|
+
}
|
|
1247
|
+
return collectPotentialPopups(isFramed, timeout);
|
|
1248
|
+
}
|
|
1249
|
+
function collectPotentialPopups(isFramed, timeout = POPUP_SEARCH_MAX_TIME) {
|
|
1250
|
+
let elements = [];
|
|
1251
|
+
if (!isFramed) {
|
|
1252
|
+
elements = getPopupLikeElements(timeout);
|
|
1253
|
+
} else {
|
|
1254
|
+
const doc = document.body || document.documentElement;
|
|
1255
|
+
if (doc && isElementVisible(doc) && doc.innerText) {
|
|
1256
|
+
elements.push(doc);
|
|
1257
|
+
}
|
|
1258
|
+
}
|
|
1259
|
+
const potentialPopups = [];
|
|
1260
|
+
for (const el of elements) {
|
|
1261
|
+
if (el.innerText) {
|
|
1262
|
+
potentialPopups.push({
|
|
1263
|
+
text: el.innerText,
|
|
1264
|
+
element: el,
|
|
1265
|
+
buttons: getButtonData(el)
|
|
1266
|
+
});
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
return potentialPopups;
|
|
1270
|
+
}
|
|
1271
|
+
function isDialogLikeElement(node) {
|
|
1272
|
+
if (node.tagName === "DIALOG" && node.hasAttribute("open")) {
|
|
1273
|
+
return true;
|
|
1274
|
+
}
|
|
1275
|
+
if (node.getAttribute("role") === "dialog" || node.getAttribute("aria-modal") === "true") {
|
|
1276
|
+
return true;
|
|
1277
|
+
}
|
|
1278
|
+
return false;
|
|
1279
|
+
}
|
|
1280
|
+
function getPopupLikeElements(timeout = POPUP_SEARCH_MAX_TIME) {
|
|
1281
|
+
const startTime = performance.now();
|
|
1282
|
+
const walker = document.createTreeWalker(
|
|
1283
|
+
document.documentElement,
|
|
1284
|
+
NodeFilter.SHOW_ELEMENT,
|
|
1285
|
+
// visit only element nodes
|
|
1286
|
+
{
|
|
1287
|
+
acceptNode(node) {
|
|
1288
|
+
if (node.tagName === "BODY") {
|
|
1289
|
+
return NodeFilter.FILTER_SKIP;
|
|
1290
|
+
}
|
|
1291
|
+
if (isElementVisible(node)) {
|
|
1292
|
+
const cssPosition = window.getComputedStyle(node).position;
|
|
1293
|
+
if (cssPosition === "fixed" || cssPosition === "sticky") {
|
|
1294
|
+
return NodeFilter.FILTER_ACCEPT;
|
|
1295
|
+
}
|
|
1296
|
+
if (isDialogLikeElement(node)) {
|
|
1297
|
+
return NodeFilter.FILTER_ACCEPT;
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1300
|
+
if (performance.now() - startTime > timeout) {
|
|
1301
|
+
return NodeFilter.FILTER_REJECT;
|
|
1302
|
+
}
|
|
1303
|
+
return NodeFilter.FILTER_SKIP;
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1306
|
+
);
|
|
1307
|
+
const found = [];
|
|
1308
|
+
for (let node = walker.nextNode(); node; node = walker.nextNode()) {
|
|
1309
|
+
found.push(node);
|
|
1310
|
+
}
|
|
1311
|
+
return excludeContainers(found);
|
|
1312
|
+
}
|
|
1313
|
+
function getButtonData(el) {
|
|
1314
|
+
const actionableButtons = excludeContainers(getButtonLikeElements(el)).filter(
|
|
1315
|
+
(b) => isElementVisible(b) && !isDisabled(b) && (b.innerText?.trim() || // <input> values do not appear in innerText
|
|
1316
|
+
b instanceof HTMLInputElement && ["submit", "button"].includes(b.type) && b.value?.trim())
|
|
1317
|
+
);
|
|
1318
|
+
return actionableButtons.map((b) => ({
|
|
1319
|
+
text: (b.innerText || b.textContent || "").trim() || b.value?.trim() || "",
|
|
1320
|
+
element: b
|
|
1321
|
+
}));
|
|
1322
|
+
}
|
|
1323
|
+
function getButtonLikeElements(el) {
|
|
1324
|
+
return Array.from(el.querySelectorAll(BUTTON_LIKE_ELEMENT_SELECTOR));
|
|
1325
|
+
}
|
|
1326
|
+
function isDisabled(el) {
|
|
1327
|
+
return "disabled" in el && Boolean(el.disabled) || el.hasAttribute("disabled");
|
|
1328
|
+
}
|
|
1329
|
+
function excludeContainers(elements) {
|
|
1330
|
+
const results = [];
|
|
1331
|
+
if (elements.length > 0) {
|
|
1332
|
+
for (let i = elements.length - 1; i >= 0; i--) {
|
|
1333
|
+
let container = false;
|
|
1334
|
+
for (let j = 0; j < elements.length; j++) {
|
|
1335
|
+
if (i !== j && elements[i].contains(elements[j])) {
|
|
1336
|
+
container = true;
|
|
1337
|
+
break;
|
|
1338
|
+
}
|
|
1339
|
+
}
|
|
1340
|
+
if (!container) {
|
|
1341
|
+
results.push(elements[i]);
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
return results;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
// lib/cmps/base.ts
|
|
1349
|
+
var defaultRunContext = {
|
|
1350
|
+
main: true,
|
|
1351
|
+
frame: false,
|
|
1352
|
+
urlPattern: ""
|
|
1353
|
+
};
|
|
1354
|
+
var AutoConsentCMPBase = class {
|
|
1355
|
+
constructor(autoconsentInstance) {
|
|
1356
|
+
this.name = "BASERULE";
|
|
1357
|
+
this.runContext = defaultRunContext;
|
|
1358
|
+
this.autoconsent = autoconsentInstance;
|
|
1359
|
+
}
|
|
1360
|
+
get hasSelfTest() {
|
|
1361
|
+
throw new Error("Not Implemented");
|
|
1362
|
+
}
|
|
1363
|
+
get isIntermediate() {
|
|
1364
|
+
throw new Error("Not Implemented");
|
|
1365
|
+
}
|
|
1366
|
+
get isCosmetic() {
|
|
1367
|
+
throw new Error("Not Implemented");
|
|
1368
|
+
}
|
|
1369
|
+
mainWorldEval(snippetId) {
|
|
1370
|
+
const snippet = snippets[snippetId];
|
|
1371
|
+
if (!snippet) {
|
|
1372
|
+
this.autoconsent.config.logs.errors && console.warn("Snippet not found", snippetId);
|
|
1373
|
+
return Promise.resolve(false);
|
|
1374
|
+
}
|
|
1375
|
+
const logsConfig = this.autoconsent.config.logs;
|
|
1376
|
+
if (this.autoconsent.config.isMainWorld) {
|
|
1377
|
+
logsConfig.evals && console.log("inline eval:", snippetId, snippet);
|
|
1378
|
+
let result = false;
|
|
1379
|
+
try {
|
|
1380
|
+
result = !!snippet.call(globalThis);
|
|
1381
|
+
} catch (e) {
|
|
1382
|
+
logsConfig.evals && console.error("error evaluating rule", snippetId, e);
|
|
1383
|
+
}
|
|
1384
|
+
return Promise.resolve(result);
|
|
1385
|
+
}
|
|
1386
|
+
const snippetSrc = getFunctionBody(snippet);
|
|
1387
|
+
logsConfig.evals && console.log("async eval:", snippetId, snippetSrc);
|
|
1388
|
+
return requestEval(snippetSrc, snippetId).catch((e) => {
|
|
1389
|
+
logsConfig.evals && console.error("error evaluating rule", snippetId, e);
|
|
1390
|
+
return false;
|
|
1391
|
+
});
|
|
1392
|
+
}
|
|
1393
|
+
checkRunContext() {
|
|
1394
|
+
if (!this.checkFrameContext(isTopFrame())) {
|
|
1395
|
+
return false;
|
|
1396
|
+
}
|
|
1397
|
+
if (this.runContext.urlPattern && !this.hasMatchingUrlPattern()) {
|
|
1398
|
+
return false;
|
|
1399
|
+
}
|
|
1400
|
+
return true;
|
|
1401
|
+
}
|
|
1402
|
+
checkFrameContext(isTop) {
|
|
1403
|
+
const runCtx = {
|
|
1404
|
+
...defaultRunContext,
|
|
1405
|
+
...this.runContext
|
|
1406
|
+
};
|
|
1407
|
+
if (isTop && !runCtx.main) {
|
|
1408
|
+
return false;
|
|
1409
|
+
}
|
|
1410
|
+
if (!isTop && !runCtx.frame) {
|
|
1411
|
+
return false;
|
|
1412
|
+
}
|
|
1413
|
+
return true;
|
|
1414
|
+
}
|
|
1415
|
+
hasMatchingUrlPattern() {
|
|
1416
|
+
return Boolean(this.runContext?.urlPattern && window.location.href.match(this.runContext.urlPattern));
|
|
1417
|
+
}
|
|
1418
|
+
detectCmp() {
|
|
1419
|
+
throw new Error("Not Implemented");
|
|
1420
|
+
}
|
|
1421
|
+
async detectPopup() {
|
|
1422
|
+
return false;
|
|
1423
|
+
}
|
|
1424
|
+
optOut() {
|
|
1425
|
+
throw new Error("Not Implemented");
|
|
1426
|
+
}
|
|
1427
|
+
optIn() {
|
|
1428
|
+
throw new Error("Not Implemented");
|
|
1429
|
+
}
|
|
1430
|
+
openCmp() {
|
|
1431
|
+
throw new Error("Not Implemented");
|
|
1432
|
+
}
|
|
1433
|
+
async test() {
|
|
1434
|
+
return Promise.resolve(true);
|
|
1435
|
+
}
|
|
1436
|
+
async highlightElements(elements, all = false, delayTimeout = 2e3) {
|
|
1437
|
+
if (elements.length === 0) {
|
|
1438
|
+
return;
|
|
1439
|
+
}
|
|
1440
|
+
if (!all) {
|
|
1441
|
+
elements = [elements[0]];
|
|
1442
|
+
}
|
|
1443
|
+
this.autoconsent.sendContentMessage({
|
|
1444
|
+
type: "visualDelay",
|
|
1445
|
+
timeout: delayTimeout
|
|
1446
|
+
});
|
|
1447
|
+
for (const el of elements) {
|
|
1448
|
+
this.autoconsent.config.logs.rulesteps && console.log("highlighting", el);
|
|
1449
|
+
highlightNode(el);
|
|
1450
|
+
}
|
|
1451
|
+
await this.wait(delayTimeout);
|
|
1452
|
+
for (const el of elements) {
|
|
1453
|
+
unhighlightNode(el);
|
|
1454
|
+
}
|
|
1455
|
+
}
|
|
1456
|
+
// Implementing DomActionsProvider below:
|
|
1457
|
+
async clickElement(element) {
|
|
1458
|
+
if (this.autoconsent.config.visualTest) {
|
|
1459
|
+
await this.highlightElements([element]);
|
|
1460
|
+
}
|
|
1461
|
+
this.autoconsent.updateState({ clicks: this.autoconsent.state.clicks + 1 });
|
|
1462
|
+
return this.autoconsent.domActions.clickElement(element);
|
|
1463
|
+
}
|
|
1464
|
+
async click(selector, all = false) {
|
|
1465
|
+
if (this.autoconsent.config.visualTest) {
|
|
1466
|
+
await this.highlightElements(this.elementSelector(selector), all);
|
|
1467
|
+
}
|
|
1468
|
+
this.autoconsent.updateState({ clicks: this.autoconsent.state.clicks + 1 });
|
|
1469
|
+
return this.autoconsent.domActions.click(selector, all);
|
|
1470
|
+
}
|
|
1471
|
+
elementExists(selector) {
|
|
1472
|
+
return this.autoconsent.domActions.elementExists(selector);
|
|
1473
|
+
}
|
|
1474
|
+
elementVisible(selector, check) {
|
|
1475
|
+
return this.autoconsent.domActions.elementVisible(selector, check);
|
|
1476
|
+
}
|
|
1477
|
+
waitForElement(selector, timeout) {
|
|
1478
|
+
return this.autoconsent.domActions.waitForElement(selector, timeout);
|
|
1479
|
+
}
|
|
1480
|
+
waitForVisible(selector, timeout, check) {
|
|
1481
|
+
return this.autoconsent.domActions.waitForVisible(selector, timeout, check);
|
|
1482
|
+
}
|
|
1483
|
+
async waitForThenClick(selector, timeout, all) {
|
|
1484
|
+
if (this.autoconsent.config.visualTest) {
|
|
1485
|
+
await this.highlightElements(this.elementSelector(selector), all);
|
|
1486
|
+
}
|
|
1487
|
+
this.autoconsent.updateState({ clicks: this.autoconsent.state.clicks + 1 });
|
|
1488
|
+
return this.autoconsent.domActions.waitForThenClick(selector, timeout, all);
|
|
1489
|
+
}
|
|
1490
|
+
wait(ms) {
|
|
1491
|
+
return this.autoconsent.domActions.wait(ms);
|
|
1492
|
+
}
|
|
1493
|
+
hide(selector, method) {
|
|
1494
|
+
return this.autoconsent.domActions.hide(selector, method);
|
|
1495
|
+
}
|
|
1496
|
+
removeClass(selector, className) {
|
|
1497
|
+
return this.autoconsent.domActions.removeClass(selector, className);
|
|
1498
|
+
}
|
|
1499
|
+
setStyle(selector, css) {
|
|
1500
|
+
return this.autoconsent.domActions.setStyle(selector, css);
|
|
1501
|
+
}
|
|
1502
|
+
addStyle(selector, css) {
|
|
1503
|
+
return this.autoconsent.domActions.addStyle(selector, css);
|
|
1504
|
+
}
|
|
1505
|
+
cookieContains(substring) {
|
|
1506
|
+
return this.autoconsent.domActions.cookieContains(substring);
|
|
1507
|
+
}
|
|
1508
|
+
prehide(selector) {
|
|
1509
|
+
return this.autoconsent.domActions.prehide(selector);
|
|
1510
|
+
}
|
|
1511
|
+
undoPrehide() {
|
|
1512
|
+
return this.autoconsent.domActions.undoPrehide();
|
|
1513
|
+
}
|
|
1514
|
+
querySingleReplySelector(selector, parent) {
|
|
1515
|
+
return this.autoconsent.domActions.querySingleReplySelector(selector, parent);
|
|
1516
|
+
}
|
|
1517
|
+
querySelectorChain(selectors) {
|
|
1518
|
+
return this.autoconsent.domActions.querySelectorChain(selectors);
|
|
1519
|
+
}
|
|
1520
|
+
elementSelector(selector) {
|
|
1521
|
+
return this.autoconsent.domActions.elementSelector(selector);
|
|
1522
|
+
}
|
|
1523
|
+
waitForMutation(selector) {
|
|
1524
|
+
return this.autoconsent.domActions.waitForMutation(selector);
|
|
1525
|
+
}
|
|
1526
|
+
};
|
|
1527
|
+
var AutoConsentCMP = class extends AutoConsentCMPBase {
|
|
1528
|
+
constructor(rule, autoconsentInstance) {
|
|
1529
|
+
super(autoconsentInstance);
|
|
1530
|
+
this.rule = rule;
|
|
1531
|
+
this.name = rule.name;
|
|
1532
|
+
this.runContext = rule.runContext || defaultRunContext;
|
|
1533
|
+
}
|
|
1534
|
+
get hasSelfTest() {
|
|
1535
|
+
return !!this.rule.test && this.rule.test.length > 0;
|
|
1536
|
+
}
|
|
1537
|
+
get isIntermediate() {
|
|
1538
|
+
return !!this.rule.intermediate;
|
|
1539
|
+
}
|
|
1540
|
+
get isCosmetic() {
|
|
1541
|
+
return !!this.rule.cosmetic;
|
|
1542
|
+
}
|
|
1543
|
+
get prehideSelectors() {
|
|
1544
|
+
return this.rule.prehideSelectors || [];
|
|
1545
|
+
}
|
|
1546
|
+
async detectCmp() {
|
|
1547
|
+
if (this.rule.detectCmp) {
|
|
1548
|
+
return this._runRulesSequentially(this.rule.detectCmp, this.autoconsent.config.logs.detectionsteps);
|
|
1549
|
+
}
|
|
1550
|
+
return false;
|
|
1551
|
+
}
|
|
1552
|
+
async detectPopup() {
|
|
1553
|
+
if (this.rule.detectPopup) {
|
|
1554
|
+
return this._runRulesSequentially(this.rule.detectPopup, this.autoconsent.config.logs.detectionsteps);
|
|
1555
|
+
}
|
|
1556
|
+
return false;
|
|
1557
|
+
}
|
|
1558
|
+
async optOut() {
|
|
1559
|
+
const logsConfig = this.autoconsent.config.logs;
|
|
1560
|
+
if (this.rule.optOut) {
|
|
1561
|
+
logsConfig.lifecycle && console.log("Initiated optOut()", this.rule.optOut);
|
|
1562
|
+
return this._runRulesSequentially(this.rule.optOut, this.autoconsent.config.logs.rulesteps);
|
|
1563
|
+
}
|
|
1564
|
+
return false;
|
|
1565
|
+
}
|
|
1566
|
+
async optIn() {
|
|
1567
|
+
const logsConfig = this.autoconsent.config.logs;
|
|
1568
|
+
if (this.rule.optIn) {
|
|
1569
|
+
logsConfig.lifecycle && console.log("Initiated optIn()", this.rule.optIn);
|
|
1570
|
+
return this._runRulesSequentially(this.rule.optIn, this.autoconsent.config.logs.rulesteps);
|
|
1571
|
+
}
|
|
1572
|
+
return false;
|
|
1573
|
+
}
|
|
1574
|
+
async openCmp() {
|
|
1575
|
+
if (this.rule.openCmp) {
|
|
1576
|
+
return this._runRulesSequentially(this.rule.openCmp, this.autoconsent.config.logs.rulesteps);
|
|
1577
|
+
}
|
|
1578
|
+
return false;
|
|
1579
|
+
}
|
|
1580
|
+
async test() {
|
|
1581
|
+
if (this.hasSelfTest && this.rule.test) {
|
|
1582
|
+
return this._runRulesSequentially(this.rule.test, this.autoconsent.config.logs.rulesteps);
|
|
1583
|
+
}
|
|
1584
|
+
return super.test();
|
|
1585
|
+
}
|
|
1586
|
+
async evaluateRuleStep(rule) {
|
|
1587
|
+
const results = [];
|
|
1588
|
+
const logsConfig = this.autoconsent.config.logs;
|
|
1589
|
+
if (rule.exists) {
|
|
1590
|
+
results.push(this.elementExists(rule.exists));
|
|
1591
|
+
}
|
|
1592
|
+
if (rule.visible) {
|
|
1593
|
+
results.push(this.elementVisible(rule.visible, rule.check));
|
|
1594
|
+
}
|
|
1595
|
+
if (rule.eval) {
|
|
1596
|
+
const res = this.mainWorldEval(rule.eval);
|
|
1597
|
+
results.push(res);
|
|
1598
|
+
}
|
|
1599
|
+
if (rule.waitFor) {
|
|
1600
|
+
results.push(this.waitForElement(rule.waitFor, rule.timeout));
|
|
1601
|
+
}
|
|
1602
|
+
if (rule.waitForVisible) {
|
|
1603
|
+
results.push(this.waitForVisible(rule.waitForVisible, rule.timeout, rule.check));
|
|
1604
|
+
}
|
|
1605
|
+
if (rule.click) {
|
|
1606
|
+
results.push(this.click(rule.click, rule.all));
|
|
1607
|
+
}
|
|
1608
|
+
if (rule.waitForThenClick) {
|
|
1609
|
+
results.push(this.waitForThenClick(rule.waitForThenClick, rule.timeout, rule.all));
|
|
1610
|
+
}
|
|
1611
|
+
if (rule.wait) {
|
|
1612
|
+
results.push(this.wait(rule.wait));
|
|
1613
|
+
}
|
|
1614
|
+
if (rule.hide) {
|
|
1615
|
+
results.push(this.hide(rule.hide, rule.method));
|
|
1616
|
+
}
|
|
1617
|
+
if (rule.removeClass !== void 0) {
|
|
1618
|
+
results.push(rule.selector ? this.removeClass(rule.selector, rule.removeClass) : false);
|
|
1619
|
+
}
|
|
1620
|
+
if (rule.setStyle !== void 0) {
|
|
1621
|
+
results.push(rule.selector ? this.setStyle(rule.selector, rule.setStyle) : false);
|
|
1622
|
+
}
|
|
1623
|
+
if (rule.addStyle !== void 0) {
|
|
1624
|
+
results.push(rule.selector ? this.addStyle(rule.selector, rule.addStyle) : false);
|
|
1625
|
+
}
|
|
1626
|
+
if (rule.cookieContains) {
|
|
1627
|
+
results.push(this.cookieContains(rule.cookieContains));
|
|
1628
|
+
}
|
|
1629
|
+
if (rule.if) {
|
|
1630
|
+
if (!rule.if.exists && !rule.if.visible) {
|
|
1631
|
+
console.error("invalid conditional rule", rule.if);
|
|
1632
|
+
return false;
|
|
1633
|
+
}
|
|
1634
|
+
if (!rule.then) {
|
|
1635
|
+
console.error('invalid conditional rule, missing "then" step', rule.if);
|
|
1636
|
+
return false;
|
|
1637
|
+
}
|
|
1638
|
+
const condition = await this.evaluateRuleStep(rule.if);
|
|
1639
|
+
logsConfig.rulesteps && console.log("Condition is", condition);
|
|
1640
|
+
if (condition) {
|
|
1641
|
+
results.push(this._runRulesSequentially(rule.then, logsConfig.rulesteps));
|
|
1642
|
+
} else if (rule.else) {
|
|
1643
|
+
results.push(this._runRulesSequentially(rule.else, logsConfig.rulesteps));
|
|
1644
|
+
} else {
|
|
1645
|
+
results.push(true);
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
if (rule.any) {
|
|
1649
|
+
let resultOfAny = false;
|
|
1650
|
+
for (const step of rule.any) {
|
|
1651
|
+
if (await this.evaluateRuleStep(step)) {
|
|
1652
|
+
resultOfAny = true;
|
|
1653
|
+
break;
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
results.push(resultOfAny);
|
|
1657
|
+
}
|
|
1658
|
+
if (results.length === 0) {
|
|
1659
|
+
logsConfig.errors && console.warn("Unrecognized rule", rule);
|
|
1660
|
+
return false;
|
|
1661
|
+
}
|
|
1662
|
+
const all = await Promise.all(results);
|
|
1663
|
+
const result = all.reduce((a, b) => a && b, true);
|
|
1664
|
+
if (rule.negated) {
|
|
1665
|
+
return !result;
|
|
1666
|
+
}
|
|
1667
|
+
return result;
|
|
1668
|
+
}
|
|
1669
|
+
async _runRulesParallel(rules) {
|
|
1670
|
+
const results = rules.map((rule) => this.evaluateRuleStep(rule));
|
|
1671
|
+
const detections = await Promise.all(results);
|
|
1672
|
+
return detections.every((r) => !!r);
|
|
1673
|
+
}
|
|
1674
|
+
async _runRulesSequentially(rules, logSteps = true) {
|
|
1675
|
+
for (const rule of rules) {
|
|
1676
|
+
logSteps && console.log("Running rule...", rule);
|
|
1677
|
+
const result = await this.evaluateRuleStep(rule);
|
|
1678
|
+
logSteps && console.log("...rule result", result);
|
|
1679
|
+
if (!result && !rule.optional) {
|
|
1680
|
+
return false;
|
|
1681
|
+
}
|
|
1682
|
+
}
|
|
1683
|
+
return true;
|
|
1684
|
+
}
|
|
1685
|
+
};
|
|
1686
|
+
var AutoConsentHeuristicCMP = class extends AutoConsentCMPBase {
|
|
1687
|
+
constructor(autoconsentInstance, mode = "reject") {
|
|
1688
|
+
super(autoconsentInstance);
|
|
1689
|
+
this.popups = [];
|
|
1690
|
+
this.name = "HEURISTIC";
|
|
1691
|
+
this.runContext = {
|
|
1692
|
+
main: true,
|
|
1693
|
+
frame: false
|
|
1694
|
+
// do not run in iframes for security reasons
|
|
1695
|
+
};
|
|
1696
|
+
this.mode = mode;
|
|
1697
|
+
}
|
|
1698
|
+
get hasSelfTest() {
|
|
1699
|
+
return true;
|
|
1700
|
+
}
|
|
1701
|
+
get isIntermediate() {
|
|
1702
|
+
return false;
|
|
1703
|
+
}
|
|
1704
|
+
get isCosmetic() {
|
|
1705
|
+
return false;
|
|
1706
|
+
}
|
|
1707
|
+
async detectCmp() {
|
|
1708
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
1709
|
+
this.autoconsent.config.performanceLoggingEnabled && performance.mark("heuristicDetectorStart");
|
|
1710
|
+
this.popups = getActionablePopups(this.mode, this.autoconsent.config.heuristicPopupSearchTimeout);
|
|
1711
|
+
this.autoconsent.config.performanceLoggingEnabled && performance.mark("heuristicDetectorEnd");
|
|
1712
|
+
this.autoconsent.config.performanceLoggingEnabled && performance.measure("heuristicDetector", "heuristicDetectorStart", "heuristicDetectorEnd");
|
|
1713
|
+
if (this.popups.length > 0) {
|
|
1714
|
+
this.name = `HEURISTIC-${this.popups[0].regexClassification?.toUpperCase()}`;
|
|
1715
|
+
return Promise.resolve(true);
|
|
1716
|
+
}
|
|
1717
|
+
return Promise.resolve(false);
|
|
1718
|
+
}
|
|
1719
|
+
async detectPopup() {
|
|
1720
|
+
if (this.popups.length > 0) {
|
|
1721
|
+
if (this.popups.length > 1) {
|
|
1722
|
+
this.autoconsent.config.logs.errors && console.warn("Heuristic found multiple popups");
|
|
1723
|
+
}
|
|
1724
|
+
return true;
|
|
1725
|
+
}
|
|
1726
|
+
return false;
|
|
1727
|
+
}
|
|
1728
|
+
getTargetButton() {
|
|
1729
|
+
const popup = this.popups[0];
|
|
1730
|
+
const level = popup.regexClassification;
|
|
1731
|
+
const buttons = popup.buttons;
|
|
1732
|
+
const targetButtonType = level === "reject" ? "reject" : level === "tier1" ? "acknowledge" : "accept";
|
|
1733
|
+
return buttons.find((button) => button.regexClassification === targetButtonType);
|
|
1734
|
+
}
|
|
1735
|
+
optOut() {
|
|
1736
|
+
const button = this.getTargetButton();
|
|
1737
|
+
if (button) {
|
|
1738
|
+
return this.clickElement(button.element);
|
|
1739
|
+
}
|
|
1740
|
+
return Promise.resolve(false);
|
|
1741
|
+
}
|
|
1742
|
+
optIn() {
|
|
1743
|
+
throw new Error("Not Implemented");
|
|
1744
|
+
}
|
|
1745
|
+
openCmp() {
|
|
1746
|
+
throw new Error("Not Implemented");
|
|
1747
|
+
}
|
|
1748
|
+
async test() {
|
|
1749
|
+
const button = this.getTargetButton();
|
|
1750
|
+
if (button) {
|
|
1751
|
+
await this.wait(500);
|
|
1752
|
+
return !isElementVisible(button.element);
|
|
1753
|
+
}
|
|
1754
|
+
return false;
|
|
1755
|
+
}
|
|
1756
|
+
};
|
|
1757
|
+
|
|
1758
|
+
// lib/cmps/trustarc-top.ts
|
|
1759
|
+
var cookieSettingsButton = "#truste-show-consent";
|
|
1760
|
+
var shortcutOptOut = "#truste-consent-required";
|
|
1761
|
+
var shortcutOptIn = "#truste-consent-button";
|
|
1762
|
+
var popupContent = "#truste-consent-content";
|
|
1763
|
+
var bannerOverlay = "#trustarc-banner-overlay";
|
|
1764
|
+
var bannerContainer = "#truste-consent-track";
|
|
1765
|
+
var TrustArcTop = class extends AutoConsentCMPBase {
|
|
1766
|
+
constructor(autoconsentInstance) {
|
|
1767
|
+
super(autoconsentInstance);
|
|
1768
|
+
this.name = "TrustArc-top";
|
|
1769
|
+
this.prehideSelectors = [".trustarc-banner-container", `.truste_popframe,.truste_overlay,.truste_box_overlay,${bannerContainer}`];
|
|
1770
|
+
this.runContext = {
|
|
1771
|
+
main: true,
|
|
1772
|
+
frame: false
|
|
1773
|
+
};
|
|
1774
|
+
this._shortcutButton = null;
|
|
1775
|
+
this._optInDone = false;
|
|
1776
|
+
}
|
|
1777
|
+
get hasSelfTest() {
|
|
1778
|
+
return true;
|
|
1779
|
+
}
|
|
1780
|
+
get isIntermediate() {
|
|
1781
|
+
if (this._optInDone) {
|
|
1782
|
+
return false;
|
|
1783
|
+
}
|
|
1784
|
+
return !this._shortcutButton;
|
|
1785
|
+
}
|
|
1786
|
+
get isCosmetic() {
|
|
1787
|
+
return false;
|
|
1788
|
+
}
|
|
1789
|
+
async detectCmp() {
|
|
1790
|
+
const result = this.elementExists(`${cookieSettingsButton},${bannerContainer}`);
|
|
1791
|
+
if (result) {
|
|
1792
|
+
this._shortcutButton = document.querySelector(shortcutOptOut);
|
|
1793
|
+
}
|
|
1794
|
+
return result;
|
|
1795
|
+
}
|
|
1796
|
+
async detectPopup() {
|
|
1797
|
+
return this.elementVisible(`${popupContent},${bannerOverlay},${bannerContainer}`, "any");
|
|
1798
|
+
}
|
|
1799
|
+
async optOut() {
|
|
1800
|
+
if (this.elementExists(shortcutOptOut)) {
|
|
1801
|
+
this.click(shortcutOptOut);
|
|
1802
|
+
return true;
|
|
1803
|
+
}
|
|
1804
|
+
hideElements(getStyleElement(), `.truste_popframe, .truste_overlay, .truste_box_overlay, ${bannerContainer}`);
|
|
1805
|
+
await this.click(cookieSettingsButton);
|
|
1806
|
+
setTimeout(() => {
|
|
1807
|
+
getStyleElement().remove();
|
|
1808
|
+
}, 1e4);
|
|
1809
|
+
return true;
|
|
1810
|
+
}
|
|
1811
|
+
async optIn() {
|
|
1812
|
+
this._optInDone = true;
|
|
1813
|
+
return await this.click(shortcutOptIn);
|
|
1814
|
+
}
|
|
1815
|
+
async openCmp() {
|
|
1816
|
+
return true;
|
|
1817
|
+
}
|
|
1818
|
+
async test() {
|
|
1819
|
+
await this.wait(500);
|
|
1820
|
+
return await this.mainWorldEval("EVAL_TRUSTARC_TOP");
|
|
1821
|
+
}
|
|
1822
|
+
};
|
|
1823
|
+
|
|
1824
|
+
// lib/cmps/trustarc-frame.ts
|
|
1825
|
+
var TrustArcFrame = class extends AutoConsentCMPBase {
|
|
1826
|
+
constructor() {
|
|
1827
|
+
super(...arguments);
|
|
1828
|
+
this.name = "TrustArc-frame";
|
|
1829
|
+
this.runContext = {
|
|
1830
|
+
main: false,
|
|
1831
|
+
frame: true,
|
|
1832
|
+
urlPattern: "^https://consent-pref\\.trustarc\\.com/\\?"
|
|
1833
|
+
};
|
|
1834
|
+
}
|
|
1835
|
+
get hasSelfTest() {
|
|
1836
|
+
return true;
|
|
1837
|
+
}
|
|
1838
|
+
get isIntermediate() {
|
|
1839
|
+
return false;
|
|
1840
|
+
}
|
|
1841
|
+
get isCosmetic() {
|
|
1842
|
+
return false;
|
|
1843
|
+
}
|
|
1844
|
+
async detectCmp() {
|
|
1845
|
+
return true;
|
|
1846
|
+
}
|
|
1847
|
+
async detectPopup() {
|
|
1848
|
+
return this.elementVisible("#defaultpreferencemanager", "any") && this.elementVisible(".mainContent", "any");
|
|
1849
|
+
}
|
|
1850
|
+
async navigateToSettings() {
|
|
1851
|
+
await waitFor(
|
|
1852
|
+
async () => {
|
|
1853
|
+
return this.elementExists(".shp") || this.elementVisible(".advance", "any") || this.elementExists(".switch span:first-child");
|
|
1854
|
+
},
|
|
1855
|
+
10,
|
|
1856
|
+
500
|
|
1857
|
+
);
|
|
1858
|
+
if (this.elementExists(".shp")) {
|
|
1859
|
+
await this.click(".shp");
|
|
1860
|
+
}
|
|
1861
|
+
await this.waitForElement(".prefPanel", 5e3);
|
|
1862
|
+
if (this.elementVisible(".advance", "any")) {
|
|
1863
|
+
await this.click(".advance");
|
|
1864
|
+
}
|
|
1865
|
+
return await waitFor(() => this.elementVisible(".switch span:first-child", "any"), 5, 1e3);
|
|
1866
|
+
}
|
|
1867
|
+
async optOut() {
|
|
1868
|
+
let timeout = 3e3;
|
|
1869
|
+
if (await this.mainWorldEval("EVAL_TRUSTARC_FRAME_GTM")) {
|
|
1870
|
+
timeout = 1500;
|
|
1871
|
+
}
|
|
1872
|
+
await waitFor(() => document.readyState === "complete", 20, 100);
|
|
1873
|
+
await this.waitForElement(".mainContent[aria-hidden=false]", timeout);
|
|
1874
|
+
if (await this.click(".rejectAll,.declineAllButtonLower", true)) {
|
|
1875
|
+
return true;
|
|
1876
|
+
}
|
|
1877
|
+
if (this.elementExists(".prefPanel")) {
|
|
1878
|
+
await this.waitForElement('.prefPanel[style="visibility: visible;"]', timeout);
|
|
1879
|
+
}
|
|
1880
|
+
if (await this.click("#catDetails0")) {
|
|
1881
|
+
await this.click(".submit");
|
|
1882
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout);
|
|
1883
|
+
return true;
|
|
1884
|
+
}
|
|
1885
|
+
if (await this.click(".required")) {
|
|
1886
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout);
|
|
1887
|
+
return true;
|
|
1888
|
+
}
|
|
1889
|
+
await this.navigateToSettings();
|
|
1890
|
+
await this.click(".switch span:nth-child(1):not(.active)", true);
|
|
1891
|
+
await this.click(".submit");
|
|
1892
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout * 10);
|
|
1893
|
+
return true;
|
|
1894
|
+
}
|
|
1895
|
+
async optIn() {
|
|
1896
|
+
if (await this.click(".call")) {
|
|
1897
|
+
return true;
|
|
1898
|
+
}
|
|
1899
|
+
await this.navigateToSettings();
|
|
1900
|
+
await this.click(".switch span:nth-child(2)", true);
|
|
1901
|
+
await this.click(".submit");
|
|
1902
|
+
this.waitForElement("#gwt-debug-close_id", 3e5).then(() => {
|
|
1903
|
+
this.click("#gwt-debug-close_id");
|
|
1904
|
+
});
|
|
1905
|
+
return true;
|
|
1906
|
+
}
|
|
1907
|
+
async test() {
|
|
1908
|
+
await this.wait(500);
|
|
1909
|
+
return await this.mainWorldEval("EVAL_TRUSTARC_FRAME_TEST");
|
|
1910
|
+
}
|
|
1911
|
+
};
|
|
1912
|
+
|
|
1913
|
+
// lib/cmps/cookiebot.ts
|
|
1914
|
+
var Cookiebot = class extends AutoConsentCMPBase {
|
|
1915
|
+
constructor() {
|
|
1916
|
+
super(...arguments);
|
|
1917
|
+
this.name = "Cybotcookiebot";
|
|
1918
|
+
this.prehideSelectors = [
|
|
1919
|
+
"#CybotCookiebotDialog,#CybotCookiebotDialogBodyUnderlay,#dtcookie-container,#cookiebanner,#cb-cookieoverlay,.modal--cookie-banner,#cookiebanner_outer,#CookieBanner"
|
|
1920
|
+
];
|
|
1921
|
+
}
|
|
1922
|
+
get hasSelfTest() {
|
|
1923
|
+
return true;
|
|
1924
|
+
}
|
|
1925
|
+
get isIntermediate() {
|
|
1926
|
+
return false;
|
|
1927
|
+
}
|
|
1928
|
+
get isCosmetic() {
|
|
1929
|
+
return false;
|
|
1930
|
+
}
|
|
1931
|
+
async detectCmp() {
|
|
1932
|
+
return await this.mainWorldEval("EVAL_COOKIEBOT_1");
|
|
1933
|
+
}
|
|
1934
|
+
async detectPopup() {
|
|
1935
|
+
return this.mainWorldEval("EVAL_COOKIEBOT_2");
|
|
1936
|
+
}
|
|
1937
|
+
async optOut() {
|
|
1938
|
+
if (this.elementVisible("#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll")) {
|
|
1939
|
+
return await this.click("#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll");
|
|
1940
|
+
}
|
|
1941
|
+
await this.wait(500);
|
|
1942
|
+
let res = await this.mainWorldEval("EVAL_COOKIEBOT_3");
|
|
1943
|
+
await this.wait(1e3);
|
|
1944
|
+
res = res && await this.mainWorldEval("EVAL_COOKIEBOT_4");
|
|
1945
|
+
return res;
|
|
1946
|
+
}
|
|
1947
|
+
async optIn() {
|
|
1948
|
+
if (this.elementExists("#dtcookie-container")) {
|
|
1949
|
+
return await this.click(".h-dtcookie-accept");
|
|
1950
|
+
}
|
|
1951
|
+
await this.click(".CybotCookiebotDialogBodyLevelButton:not(:checked):enabled", true);
|
|
1952
|
+
await this.click("#CybotCookiebotDialogBodyLevelButtonAccept");
|
|
1953
|
+
await this.click("#CybotCookiebotDialogBodyButtonAccept");
|
|
1954
|
+
return true;
|
|
1955
|
+
}
|
|
1956
|
+
async test() {
|
|
1957
|
+
await this.wait(500);
|
|
1958
|
+
return await this.mainWorldEval("EVAL_COOKIEBOT_5");
|
|
1959
|
+
}
|
|
1960
|
+
};
|
|
1961
|
+
|
|
1962
|
+
// lib/cmps/sourcepoint-frame.ts
|
|
1963
|
+
var SourcePoint = class extends AutoConsentCMPBase {
|
|
1964
|
+
constructor() {
|
|
1965
|
+
super(...arguments);
|
|
1966
|
+
this.name = "Sourcepoint-frame";
|
|
1967
|
+
this.prehideSelectors = ["div[id^='sp_message_container_'],.message-overlay", "#sp_privacy_manager_container"];
|
|
1968
|
+
this.ccpaNotice = false;
|
|
1969
|
+
this.ccpaPopup = false;
|
|
1970
|
+
this.runContext = {
|
|
1971
|
+
main: true,
|
|
1972
|
+
frame: true
|
|
1973
|
+
};
|
|
1974
|
+
}
|
|
1975
|
+
get hasSelfTest() {
|
|
1976
|
+
return false;
|
|
1977
|
+
}
|
|
1978
|
+
get isIntermediate() {
|
|
1979
|
+
return false;
|
|
1980
|
+
}
|
|
1981
|
+
get isCosmetic() {
|
|
1982
|
+
return false;
|
|
1983
|
+
}
|
|
1984
|
+
async detectCmp() {
|
|
1985
|
+
const url = new URL(location.href);
|
|
1986
|
+
if (url.searchParams.has("message_id") && url.hostname === "ccpa-notice.sp-prod.net") {
|
|
1987
|
+
this.ccpaNotice = true;
|
|
1988
|
+
return true;
|
|
1989
|
+
}
|
|
1990
|
+
if (url.hostname === "ccpa-pm.sp-prod.net") {
|
|
1991
|
+
this.ccpaPopup = true;
|
|
1992
|
+
return true;
|
|
1993
|
+
}
|
|
1994
|
+
return (url.pathname === "/index.html" || url.pathname === "/privacy-manager/index.html" || url.pathname === "/ccpa_pm/index.html" || url.pathname === "/us_pm/index.html") && (url.searchParams.has("message_id") || url.searchParams.has("requestUUID") || url.searchParams.has("consentUUID"));
|
|
1995
|
+
}
|
|
1996
|
+
async detectPopup() {
|
|
1997
|
+
if (this.ccpaNotice) {
|
|
1998
|
+
return true;
|
|
1999
|
+
}
|
|
2000
|
+
if (this.ccpaPopup) {
|
|
2001
|
+
return await this.waitForElement(".priv-save-btn", 2e3);
|
|
2002
|
+
}
|
|
2003
|
+
await this.waitForElement(
|
|
2004
|
+
".sp_choice_type_11,.sp_choice_type_12,.sp_choice_type_13,.sp_choice_type_ACCEPT_ALL,.sp_choice_type_SAVE_AND_EXIT",
|
|
2005
|
+
2e3
|
|
2006
|
+
);
|
|
2007
|
+
return !this.elementExists(".sp_choice_type_9");
|
|
2008
|
+
}
|
|
2009
|
+
async optIn() {
|
|
2010
|
+
await this.waitForElement(".sp_choice_type_11,.sp_choice_type_ACCEPT_ALL", 2e3);
|
|
2011
|
+
if (await this.click(".sp_choice_type_11")) {
|
|
2012
|
+
return true;
|
|
2013
|
+
}
|
|
2014
|
+
if (await this.click(".sp_choice_type_ACCEPT_ALL")) {
|
|
2015
|
+
return true;
|
|
2016
|
+
}
|
|
2017
|
+
return false;
|
|
2018
|
+
}
|
|
2019
|
+
isManagerOpen() {
|
|
2020
|
+
if (location.pathname === "/privacy-manager/index.html" || location.pathname === "/ccpa_pm/index.html") {
|
|
2021
|
+
return true;
|
|
2022
|
+
}
|
|
2023
|
+
if (location.pathname === "/us_pm/index.html" && !document.querySelector(".sp_choice_type_11,.sp_choice_type_ACCEPT_ALL")) {
|
|
2024
|
+
return true;
|
|
2025
|
+
}
|
|
2026
|
+
return false;
|
|
2027
|
+
}
|
|
2028
|
+
async optOut() {
|
|
2029
|
+
await this.wait(500);
|
|
2030
|
+
const logsConfig = this.autoconsent.config.logs;
|
|
2031
|
+
if (this.ccpaPopup) {
|
|
2032
|
+
const toggles = document.querySelectorAll(
|
|
2033
|
+
".priv-purpose-container .sp-switch-arrow-block a.neutral.on .right"
|
|
2034
|
+
);
|
|
2035
|
+
for (const t of toggles) {
|
|
2036
|
+
t.click();
|
|
2037
|
+
}
|
|
2038
|
+
const switches = document.querySelectorAll(
|
|
2039
|
+
".priv-purpose-container .sp-switch-arrow-block a.switch-bg.on"
|
|
2040
|
+
);
|
|
2041
|
+
for (const t of switches) {
|
|
2042
|
+
t.click();
|
|
2043
|
+
}
|
|
2044
|
+
return await this.click(".priv-save-btn");
|
|
2045
|
+
}
|
|
2046
|
+
if (this.elementVisible(".sp_choice_type_SE", "any")) {
|
|
2047
|
+
await this.click(
|
|
2048
|
+
[
|
|
2049
|
+
"xpath///div[contains(., 'Do not share my personal information') and contains(@class, 'switch-container')]",
|
|
2050
|
+
".pm-switch[aria-checked=false] .slider"
|
|
2051
|
+
],
|
|
2052
|
+
false
|
|
2053
|
+
);
|
|
2054
|
+
return await this.click(".sp_choice_type_SE");
|
|
2055
|
+
}
|
|
2056
|
+
if (!this.isManagerOpen()) {
|
|
2057
|
+
const manageSelector = '.sp_choice_type_12,[data-choice]:not([class*="sp_choice_type_"])';
|
|
2058
|
+
const actionable = await this.waitForVisible(`${manageSelector},.sp_choice_type_13`);
|
|
2059
|
+
if (!actionable) {
|
|
2060
|
+
return false;
|
|
2061
|
+
}
|
|
2062
|
+
if (this.elementVisible(".sp_choice_type_13", "any")) {
|
|
2063
|
+
return await this.click(".sp_choice_type_13");
|
|
2064
|
+
}
|
|
2065
|
+
await this.click(manageSelector);
|
|
2066
|
+
await waitFor(() => this.isManagerOpen(), 200, 100);
|
|
2067
|
+
}
|
|
2068
|
+
await this.waitForElement(".type-modal", 2e4);
|
|
2069
|
+
if (this.elementExists("[role=tablist]")) {
|
|
2070
|
+
await this.waitForElement("[role=tablist] [role=tab]", 1e4);
|
|
2071
|
+
}
|
|
2072
|
+
this.waitForThenClick(".ccpa-stack .pm-switch[aria-checked=true] .slider", 500, true);
|
|
2073
|
+
try {
|
|
2074
|
+
const rejectSelector1 = ".sp_choice_type_REJECT_ALL";
|
|
2075
|
+
const rejectSelector2 = ".reject-toggle";
|
|
2076
|
+
const path = await Promise.race([
|
|
2077
|
+
this.waitForElement(rejectSelector1, 2e3).then((success) => success ? 0 : -1),
|
|
2078
|
+
this.waitForElement(rejectSelector2, 2e3).then((success) => success ? 1 : -1),
|
|
2079
|
+
this.waitForElement(".pm-features", 2e3).then((success) => success ? 2 : -1)
|
|
2080
|
+
]);
|
|
2081
|
+
if (path === 0) {
|
|
2082
|
+
await this.waitForVisible(rejectSelector1);
|
|
2083
|
+
return await this.click(rejectSelector1);
|
|
2084
|
+
} else if (path === 1) {
|
|
2085
|
+
await this.click(rejectSelector2);
|
|
2086
|
+
} else if (path === 2) {
|
|
2087
|
+
await this.waitForElement(".pm-features", 1e4);
|
|
2088
|
+
await this.click(".checked > span", true);
|
|
2089
|
+
await this.click(".chevron");
|
|
2090
|
+
}
|
|
2091
|
+
} catch (e) {
|
|
2092
|
+
logsConfig.errors && console.warn(e);
|
|
2093
|
+
}
|
|
2094
|
+
return await this.click(".sp_choice_type_SAVE_AND_EXIT");
|
|
2095
|
+
}
|
|
2096
|
+
};
|
|
2097
|
+
|
|
2098
|
+
// lib/cmps/consentmanager.ts
|
|
2099
|
+
var ConsentManager = class extends AutoConsentCMPBase {
|
|
2100
|
+
constructor() {
|
|
2101
|
+
super(...arguments);
|
|
2102
|
+
this.name = "consentmanager.net";
|
|
2103
|
+
this.prehideSelectors = ["#cmpbox,#cmpbox2"];
|
|
2104
|
+
this.apiAvailable = false;
|
|
2105
|
+
}
|
|
2106
|
+
get hasSelfTest() {
|
|
2107
|
+
return this.apiAvailable;
|
|
2108
|
+
}
|
|
2109
|
+
get isIntermediate() {
|
|
2110
|
+
return false;
|
|
2111
|
+
}
|
|
2112
|
+
get isCosmetic() {
|
|
2113
|
+
return false;
|
|
2114
|
+
}
|
|
2115
|
+
async detectCmp() {
|
|
2116
|
+
this.apiAvailable = await this.mainWorldEval("EVAL_CONSENTMANAGER_1");
|
|
2117
|
+
if (!this.apiAvailable) {
|
|
2118
|
+
return this.elementExists("#cmpbox");
|
|
2119
|
+
} else {
|
|
2120
|
+
return true;
|
|
2121
|
+
}
|
|
2122
|
+
}
|
|
2123
|
+
async detectPopup() {
|
|
2124
|
+
if (this.elementVisible("#cmpbox .cmpmore", "any")) {
|
|
2125
|
+
return true;
|
|
2126
|
+
} else if (this.apiAvailable) {
|
|
2127
|
+
await this.wait(500);
|
|
2128
|
+
return await this.mainWorldEval("EVAL_CONSENTMANAGER_2");
|
|
2129
|
+
}
|
|
2130
|
+
return false;
|
|
2131
|
+
}
|
|
2132
|
+
async optOut() {
|
|
2133
|
+
await this.wait(500);
|
|
2134
|
+
if (this.apiAvailable) {
|
|
2135
|
+
return await this.mainWorldEval("EVAL_CONSENTMANAGER_3");
|
|
2136
|
+
}
|
|
2137
|
+
if (await this.click(".cmpboxbtnno")) {
|
|
2138
|
+
return true;
|
|
2139
|
+
}
|
|
2140
|
+
if (this.elementExists(".cmpwelcomeprpsbtn")) {
|
|
2141
|
+
await this.click(".cmpwelcomeprpsbtn > a[aria-checked=true]", true);
|
|
2142
|
+
await this.click(".cmpboxbtnsave");
|
|
2143
|
+
return true;
|
|
2144
|
+
}
|
|
2145
|
+
await this.click(".cmpboxbtncustom");
|
|
2146
|
+
await this.waitForElement(".cmptblbox", 2e3);
|
|
2147
|
+
await this.click(".cmptdchoice > a[aria-checked=true]", true);
|
|
2148
|
+
await this.click(".cmpboxbtnyescustomchoices");
|
|
2149
|
+
this.hide("#cmpwrapper,#cmpbox", "display");
|
|
2150
|
+
return true;
|
|
2151
|
+
}
|
|
2152
|
+
async optIn() {
|
|
2153
|
+
if (this.apiAvailable) {
|
|
2154
|
+
return await this.mainWorldEval("EVAL_CONSENTMANAGER_4");
|
|
2155
|
+
}
|
|
2156
|
+
return await this.click(".cmpboxbtnyes");
|
|
2157
|
+
}
|
|
2158
|
+
async test() {
|
|
2159
|
+
if (this.apiAvailable) {
|
|
2160
|
+
return await this.mainWorldEval("EVAL_CONSENTMANAGER_5");
|
|
2161
|
+
}
|
|
2162
|
+
return false;
|
|
2163
|
+
}
|
|
2164
|
+
};
|
|
2165
|
+
|
|
2166
|
+
// lib/cmps/evidon.ts
|
|
2167
|
+
var Evidon = class extends AutoConsentCMPBase {
|
|
2168
|
+
constructor() {
|
|
2169
|
+
super(...arguments);
|
|
2170
|
+
this.name = "Evidon";
|
|
2171
|
+
}
|
|
2172
|
+
get hasSelfTest() {
|
|
2173
|
+
return false;
|
|
2174
|
+
}
|
|
2175
|
+
get isIntermediate() {
|
|
2176
|
+
return false;
|
|
2177
|
+
}
|
|
2178
|
+
get isCosmetic() {
|
|
2179
|
+
return false;
|
|
2180
|
+
}
|
|
2181
|
+
async detectCmp() {
|
|
2182
|
+
return this.elementExists("#_evidon_banner");
|
|
2183
|
+
}
|
|
2184
|
+
async detectPopup() {
|
|
2185
|
+
return this.elementVisible("#_evidon_banner", "any");
|
|
2186
|
+
}
|
|
2187
|
+
async optOut() {
|
|
2188
|
+
if (await this.click("#_evidon-decline-button")) {
|
|
2189
|
+
return true;
|
|
2190
|
+
}
|
|
2191
|
+
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background,#_evidon-background");
|
|
2192
|
+
await this.waitForThenClick("#_evidon-option-button");
|
|
2193
|
+
await this.waitForElement("#evidon-prefdiag-overlay", 5e3);
|
|
2194
|
+
await this.wait(500);
|
|
2195
|
+
await this.waitForThenClick("#evidon-prefdiag-decline");
|
|
2196
|
+
return true;
|
|
2197
|
+
}
|
|
2198
|
+
async optIn() {
|
|
2199
|
+
return await this.click("#_evidon-accept-button");
|
|
2200
|
+
}
|
|
2201
|
+
};
|
|
2202
|
+
|
|
2203
|
+
// lib/cmps/onetrust.ts
|
|
2204
|
+
var Onetrust = class extends AutoConsentCMPBase {
|
|
2205
|
+
constructor() {
|
|
2206
|
+
super(...arguments);
|
|
2207
|
+
this.name = "Onetrust";
|
|
2208
|
+
this.prehideSelectors = ["#onetrust-banner-sdk,#onetrust-consent-sdk,.onetrust-pc-dark-filter,.js-consent-banner"];
|
|
2209
|
+
}
|
|
2210
|
+
get hasSelfTest() {
|
|
2211
|
+
return true;
|
|
2212
|
+
}
|
|
2213
|
+
get isIntermediate() {
|
|
2214
|
+
return false;
|
|
2215
|
+
}
|
|
2216
|
+
get isCosmetic() {
|
|
2217
|
+
return false;
|
|
2218
|
+
}
|
|
2219
|
+
async detectCmp() {
|
|
2220
|
+
return this.elementExists("#onetrust-banner-sdk") || this.elementVisible("#onetrust-pc-sdk", "any");
|
|
2221
|
+
}
|
|
2222
|
+
async detectPopup() {
|
|
2223
|
+
return this.elementVisible("#onetrust-banner-sdk,#onetrust-pc-sdk", "any");
|
|
2224
|
+
}
|
|
2225
|
+
async optOut() {
|
|
2226
|
+
await this.wait(500);
|
|
2227
|
+
if (this.elementVisible("#onetrust-reject-all-handler", "any")) {
|
|
2228
|
+
return await this.click("#onetrust-reject-all-handler");
|
|
2229
|
+
}
|
|
2230
|
+
if (this.elementVisible(".ot-pc-refuse-all-handler", "any")) {
|
|
2231
|
+
return await this.click(".ot-pc-refuse-all-handler");
|
|
2232
|
+
}
|
|
2233
|
+
if (this.elementVisible(".js-reject-cookies", "any")) {
|
|
2234
|
+
return await this.click(".js-reject-cookies");
|
|
2235
|
+
}
|
|
2236
|
+
if (this.elementVisible(".onetrust-close-btn-handler", "any")) {
|
|
2237
|
+
const closeBtn = document.querySelector(".onetrust-close-btn-handler");
|
|
2238
|
+
const btnText = closeBtn?.textContent?.toLowerCase() || "";
|
|
2239
|
+
const rejectPatterns = ["without", "ohne", "sans", "sin ", "zonder", "senza", "refuse", "decline", "reject", "ablehnen"];
|
|
2240
|
+
if (rejectPatterns.some((pattern) => btnText.includes(pattern))) {
|
|
2241
|
+
return await this.click(".onetrust-close-btn-handler");
|
|
2242
|
+
}
|
|
2243
|
+
const banner = document.getElementById("onetrust-banner-sdk");
|
|
2244
|
+
const isCloseOnlyNotice = banner?.classList.contains("ot-close-btn-link") && !this.elementExists(
|
|
2245
|
+
"#onetrust-accept-btn-handler,#onetrust-reject-all-handler,#onetrust-pc-btn-handler,.ot-sdk-show-settings,button.js-cookie-settings"
|
|
2246
|
+
);
|
|
2247
|
+
if (isCloseOnlyNotice) {
|
|
2248
|
+
return await this.click(".onetrust-close-btn-handler");
|
|
2249
|
+
}
|
|
2250
|
+
}
|
|
2251
|
+
if (this.elementExists("#onetrust-pc-btn-handler")) {
|
|
2252
|
+
await this.click("#onetrust-pc-btn-handler");
|
|
2253
|
+
} else {
|
|
2254
|
+
await this.click(".ot-sdk-show-settings,button.js-cookie-settings");
|
|
2255
|
+
}
|
|
2256
|
+
await this.waitForElement("#onetrust-consent-sdk", 2e3);
|
|
2257
|
+
await this.wait(1e3);
|
|
2258
|
+
await this.click("#onetrust-consent-sdk input.category-switch-handler:checked,.js-editor-toggle-state:checked", true);
|
|
2259
|
+
await this.wait(1e3);
|
|
2260
|
+
await this.waitForElement(".save-preference-btn-handler,.js-consent-save", 2e3);
|
|
2261
|
+
await this.click(".save-preference-btn-handler,.js-consent-save");
|
|
2262
|
+
await this.waitForVisible("#onetrust-banner-sdk", 5e3, "none");
|
|
2263
|
+
return true;
|
|
2264
|
+
}
|
|
2265
|
+
async optIn() {
|
|
2266
|
+
return await this.click("#onetrust-accept-btn-handler,#accept-recommended-btn-handler,.js-accept-cookies");
|
|
2267
|
+
}
|
|
2268
|
+
async test() {
|
|
2269
|
+
return await waitFor(() => this.mainWorldEval("EVAL_ONETRUST_1"), 10, 500);
|
|
2270
|
+
}
|
|
2271
|
+
};
|
|
2272
|
+
|
|
2273
|
+
// lib/cmps/klaro.ts
|
|
2274
|
+
var Klaro = class extends AutoConsentCMPBase {
|
|
2275
|
+
constructor() {
|
|
2276
|
+
super(...arguments);
|
|
2277
|
+
this.name = "Klaro";
|
|
2278
|
+
this.prehideSelectors = [".klaro"];
|
|
2279
|
+
this.settingsOpen = false;
|
|
2280
|
+
}
|
|
2281
|
+
get hasSelfTest() {
|
|
2282
|
+
return true;
|
|
2283
|
+
}
|
|
2284
|
+
get isIntermediate() {
|
|
2285
|
+
return false;
|
|
2286
|
+
}
|
|
2287
|
+
get isCosmetic() {
|
|
2288
|
+
return false;
|
|
2289
|
+
}
|
|
2290
|
+
async detectCmp() {
|
|
2291
|
+
if (this.elementExists(".klaro > .cookie-modal")) {
|
|
2292
|
+
this.settingsOpen = true;
|
|
2293
|
+
return true;
|
|
2294
|
+
}
|
|
2295
|
+
return this.elementExists(".klaro > .cookie-notice");
|
|
2296
|
+
}
|
|
2297
|
+
async detectPopup() {
|
|
2298
|
+
return this.elementVisible(".klaro > .cookie-notice,.klaro > .cookie-modal", "any");
|
|
2299
|
+
}
|
|
2300
|
+
async optOut() {
|
|
2301
|
+
const apiOptOutSuccess = await this.mainWorldEval("EVAL_KLARO_TRY_API_OPT_OUT");
|
|
2302
|
+
if (apiOptOutSuccess) {
|
|
2303
|
+
return true;
|
|
2304
|
+
}
|
|
2305
|
+
if (await this.click(".klaro .cn-decline")) {
|
|
2306
|
+
return true;
|
|
2307
|
+
}
|
|
2308
|
+
await this.mainWorldEval("EVAL_KLARO_OPEN_POPUP");
|
|
2309
|
+
if (await this.click(".klaro .cn-decline")) {
|
|
2310
|
+
return true;
|
|
2311
|
+
}
|
|
2312
|
+
await this.click(
|
|
2313
|
+
".cm-purpose:not(.cm-toggle-all) > input:not(.half-checked,.required,.only-required),.cm-purpose:not(.cm-toggle-all) > div > input:not(.half-checked,.required,.only-required)",
|
|
2314
|
+
true
|
|
2315
|
+
);
|
|
2316
|
+
return await this.click(".cm-btn-accept,.cm-button");
|
|
2317
|
+
}
|
|
2318
|
+
async optIn() {
|
|
2319
|
+
if (await this.click(".klaro .cm-btn-accept-all")) {
|
|
2320
|
+
return true;
|
|
2321
|
+
}
|
|
2322
|
+
if (this.settingsOpen) {
|
|
2323
|
+
await this.click(".cm-purpose:not(.cm-toggle-all) > input.half-checked", true);
|
|
2324
|
+
return await this.click(".cm-btn-accept");
|
|
2325
|
+
}
|
|
2326
|
+
return await this.click(".klaro .cookie-notice .cm-btn-success");
|
|
2327
|
+
}
|
|
2328
|
+
async test() {
|
|
2329
|
+
return await this.mainWorldEval("EVAL_KLARO_1");
|
|
2330
|
+
}
|
|
2331
|
+
};
|
|
2332
|
+
|
|
2333
|
+
// lib/cmps/uniconsent.ts
|
|
2334
|
+
var Uniconsent = class extends AutoConsentCMPBase {
|
|
2335
|
+
constructor() {
|
|
2336
|
+
super(...arguments);
|
|
2337
|
+
this.name = "Uniconsent";
|
|
2338
|
+
}
|
|
2339
|
+
get prehideSelectors() {
|
|
2340
|
+
return [".unic", ".modal:has(.unic)"];
|
|
2341
|
+
}
|
|
2342
|
+
get hasSelfTest() {
|
|
2343
|
+
return true;
|
|
2344
|
+
}
|
|
2345
|
+
get isIntermediate() {
|
|
2346
|
+
return false;
|
|
2347
|
+
}
|
|
2348
|
+
get isCosmetic() {
|
|
2349
|
+
return false;
|
|
2350
|
+
}
|
|
2351
|
+
async detectCmp() {
|
|
2352
|
+
return this.elementExists(".unic .unic-box,.unic .unic-bar,.unic .unic-modal");
|
|
2353
|
+
}
|
|
2354
|
+
async detectPopup() {
|
|
2355
|
+
return this.elementVisible(".unic .unic-box,.unic .unic-bar,.unic .unic-modal", "any");
|
|
2356
|
+
}
|
|
2357
|
+
async optOut() {
|
|
2358
|
+
await this.waitForElement(".unic button", 1e3);
|
|
2359
|
+
document.querySelectorAll(".unic button").forEach((button) => {
|
|
2360
|
+
const text = button.textContent || "";
|
|
2361
|
+
if (text.includes("Manage Options") || text.includes("Optionen verwalten")) {
|
|
2362
|
+
button.click();
|
|
2363
|
+
}
|
|
2364
|
+
});
|
|
2365
|
+
if (await this.waitForElement(".unic input[type=checkbox]", 1e3)) {
|
|
2366
|
+
await this.waitForElement(".unic button", 1e3);
|
|
2367
|
+
document.querySelectorAll(".unic input[type=checkbox]").forEach((c) => {
|
|
2368
|
+
if (c.checked) {
|
|
2369
|
+
c.click();
|
|
2370
|
+
}
|
|
2371
|
+
});
|
|
2372
|
+
for (const b of document.querySelectorAll(".unic button")) {
|
|
2373
|
+
const text = b.textContent || "";
|
|
2374
|
+
for (const pattern of ["Confirm Choices", "Save Choices", "Auswahl speichern"]) {
|
|
2375
|
+
if (text.includes(pattern)) {
|
|
2376
|
+
b.click();
|
|
2377
|
+
await this.wait(500);
|
|
2378
|
+
return true;
|
|
2379
|
+
}
|
|
2380
|
+
}
|
|
2381
|
+
}
|
|
2382
|
+
}
|
|
2383
|
+
return false;
|
|
2384
|
+
}
|
|
2385
|
+
async optIn() {
|
|
2386
|
+
return this.waitForThenClick(".unic #unic-agree");
|
|
2387
|
+
}
|
|
2388
|
+
async test() {
|
|
2389
|
+
await this.wait(1e3);
|
|
2390
|
+
const res = this.elementExists(".unic .unic-box,.unic .unic-bar");
|
|
2391
|
+
return !res;
|
|
2392
|
+
}
|
|
2393
|
+
};
|
|
2394
|
+
|
|
2395
|
+
// lib/cmps/conversant.ts
|
|
2396
|
+
var Conversant = class extends AutoConsentCMPBase {
|
|
2397
|
+
constructor() {
|
|
2398
|
+
super(...arguments);
|
|
2399
|
+
this.prehideSelectors = [".cmp-root"];
|
|
2400
|
+
this.name = "Conversant";
|
|
2401
|
+
}
|
|
2402
|
+
get hasSelfTest() {
|
|
2403
|
+
return true;
|
|
2404
|
+
}
|
|
2405
|
+
get isIntermediate() {
|
|
2406
|
+
return false;
|
|
2407
|
+
}
|
|
2408
|
+
get isCosmetic() {
|
|
2409
|
+
return false;
|
|
2410
|
+
}
|
|
2411
|
+
async detectCmp() {
|
|
2412
|
+
return this.elementExists(".cmp-root .cmp-receptacle");
|
|
2413
|
+
}
|
|
2414
|
+
async detectPopup() {
|
|
2415
|
+
return this.elementVisible(".cmp-root .cmp-receptacle", "any");
|
|
2416
|
+
}
|
|
2417
|
+
async optOut() {
|
|
2418
|
+
if (!await this.waitForThenClick(".cmp-main-button:not(.cmp-main-button--primary)")) {
|
|
2419
|
+
return false;
|
|
2420
|
+
}
|
|
2421
|
+
if (!await this.waitForElement(".cmp-view-tab-tabs")) {
|
|
2422
|
+
return false;
|
|
2423
|
+
}
|
|
2424
|
+
await this.waitForThenClick(".cmp-view-tab-tabs > :first-child");
|
|
2425
|
+
await this.waitForThenClick(".cmp-view-tab-tabs > .cmp-view-tab--active:first-child");
|
|
2426
|
+
for (const item of Array.from(document.querySelectorAll(".cmp-accordion-item"))) {
|
|
2427
|
+
item.querySelector(".cmp-accordion-item-title").click();
|
|
2428
|
+
await waitFor(() => !!item.querySelector(".cmp-accordion-item-content.cmp-active"), 10, 50);
|
|
2429
|
+
const content = item.querySelector(".cmp-accordion-item-content.cmp-active");
|
|
2430
|
+
if (!content) {
|
|
2431
|
+
return false;
|
|
2432
|
+
}
|
|
2433
|
+
content.querySelectorAll(".cmp-toggle-actions .cmp-toggle-deny:not(.cmp-toggle-deny--active)").forEach((e) => e.click());
|
|
2434
|
+
content.querySelectorAll(".cmp-toggle-actions .cmp-toggle-checkbox:not(.cmp-toggle-checkbox--active)").forEach((e) => e.click());
|
|
2435
|
+
}
|
|
2436
|
+
await this.click(".cmp-main-button:not(.cmp-main-button--primary)");
|
|
2437
|
+
return true;
|
|
2438
|
+
}
|
|
2439
|
+
async optIn() {
|
|
2440
|
+
return this.waitForThenClick(".cmp-main-button.cmp-main-button--primary");
|
|
2441
|
+
}
|
|
2442
|
+
async test() {
|
|
2443
|
+
return document.cookie.includes("cmp-data=0");
|
|
2444
|
+
}
|
|
2445
|
+
};
|
|
2446
|
+
|
|
2447
|
+
// lib/cmps/tiktok.ts
|
|
2448
|
+
var Tiktok = class extends AutoConsentCMPBase {
|
|
2449
|
+
constructor() {
|
|
2450
|
+
super(...arguments);
|
|
2451
|
+
this.name = "tiktok.com";
|
|
2452
|
+
this.runContext = {
|
|
2453
|
+
urlPattern: "tiktok"
|
|
2454
|
+
};
|
|
2455
|
+
}
|
|
2456
|
+
get hasSelfTest() {
|
|
2457
|
+
return true;
|
|
2458
|
+
}
|
|
2459
|
+
get isIntermediate() {
|
|
2460
|
+
return false;
|
|
2461
|
+
}
|
|
2462
|
+
get isCosmetic() {
|
|
2463
|
+
return false;
|
|
2464
|
+
}
|
|
2465
|
+
getShadowRoot() {
|
|
2466
|
+
const container = document.querySelector("tiktok-cookie-banner");
|
|
2467
|
+
if (!container) {
|
|
2468
|
+
return null;
|
|
2469
|
+
}
|
|
2470
|
+
return container.shadowRoot;
|
|
2471
|
+
}
|
|
2472
|
+
async detectCmp() {
|
|
2473
|
+
return this.elementExists("tiktok-cookie-banner");
|
|
2474
|
+
}
|
|
2475
|
+
async detectPopup() {
|
|
2476
|
+
const banner = this.getShadowRoot()?.querySelector(".tiktok-cookie-banner");
|
|
2477
|
+
return isElementVisible(banner);
|
|
2478
|
+
}
|
|
2479
|
+
async optOut() {
|
|
2480
|
+
const logsConfig = this.autoconsent.config.logs;
|
|
2481
|
+
const declineButton = this.getShadowRoot()?.querySelector(".button-wrapper button:first-child");
|
|
2482
|
+
if (declineButton) {
|
|
2483
|
+
logsConfig.rulesteps && console.log("[clicking]", declineButton);
|
|
2484
|
+
declineButton.click();
|
|
2485
|
+
return true;
|
|
2486
|
+
} else {
|
|
2487
|
+
logsConfig.errors && console.log("no decline button found");
|
|
2488
|
+
return false;
|
|
2489
|
+
}
|
|
2490
|
+
}
|
|
2491
|
+
async optIn() {
|
|
2492
|
+
const logsConfig = this.autoconsent.config.logs;
|
|
2493
|
+
const acceptButton = this.getShadowRoot()?.querySelector(".button-wrapper button:last-child");
|
|
2494
|
+
if (acceptButton) {
|
|
2495
|
+
logsConfig.rulesteps && console.log("[clicking]", acceptButton);
|
|
2496
|
+
acceptButton.click();
|
|
2497
|
+
return true;
|
|
2498
|
+
} else {
|
|
2499
|
+
logsConfig.errors && console.log("no accept button found");
|
|
2500
|
+
return false;
|
|
2501
|
+
}
|
|
2502
|
+
}
|
|
2503
|
+
async test() {
|
|
2504
|
+
const match = document.cookie.match(/cookie-consent=([^;]+)/);
|
|
2505
|
+
if (!match) {
|
|
2506
|
+
return false;
|
|
2507
|
+
}
|
|
2508
|
+
const value = JSON.parse(decodeURIComponent(match[1]));
|
|
2509
|
+
return Object.values(value).every((x) => typeof x !== "boolean" || x === false);
|
|
2510
|
+
}
|
|
2511
|
+
};
|
|
2512
|
+
|
|
2513
|
+
// lib/cmps/tumblr-com.ts
|
|
2514
|
+
var Tumblr = class extends AutoConsentCMPBase {
|
|
2515
|
+
constructor() {
|
|
2516
|
+
super(...arguments);
|
|
2517
|
+
this.name = "tumblr-com";
|
|
2518
|
+
this.runContext = {
|
|
2519
|
+
urlPattern: "^https://(www\\.)?tumblr\\.com/"
|
|
2520
|
+
};
|
|
2521
|
+
}
|
|
2522
|
+
get hasSelfTest() {
|
|
2523
|
+
return false;
|
|
2524
|
+
}
|
|
2525
|
+
get isIntermediate() {
|
|
2526
|
+
return false;
|
|
2527
|
+
}
|
|
2528
|
+
get isCosmetic() {
|
|
2529
|
+
return false;
|
|
2530
|
+
}
|
|
2531
|
+
get prehideSelectors() {
|
|
2532
|
+
return ["#cmp-app-container"];
|
|
2533
|
+
}
|
|
2534
|
+
async detectCmp() {
|
|
2535
|
+
return this.elementExists("#cmp-app-container");
|
|
2536
|
+
}
|
|
2537
|
+
async detectPopup() {
|
|
2538
|
+
return this.elementVisible("#cmp-app-container", "any");
|
|
2539
|
+
}
|
|
2540
|
+
async optOut() {
|
|
2541
|
+
let iframe = document.querySelector("#cmp-app-container iframe");
|
|
2542
|
+
let settingsButton = iframe?.contentDocument?.querySelector(".cmp-components-button.is-secondary");
|
|
2543
|
+
if (!settingsButton) {
|
|
2544
|
+
return false;
|
|
2545
|
+
}
|
|
2546
|
+
settingsButton.click();
|
|
2547
|
+
await waitFor(
|
|
2548
|
+
() => {
|
|
2549
|
+
const iframe2 = document.querySelector("#cmp-app-container iframe");
|
|
2550
|
+
return !!iframe2?.contentDocument?.querySelector(".cmp__dialog input");
|
|
2551
|
+
},
|
|
2552
|
+
5,
|
|
2553
|
+
500
|
|
2554
|
+
);
|
|
2555
|
+
iframe = document.querySelector("#cmp-app-container iframe");
|
|
2556
|
+
settingsButton = iframe?.contentDocument?.querySelector(".cmp-components-button.is-secondary");
|
|
2557
|
+
if (!settingsButton) {
|
|
2558
|
+
return false;
|
|
2559
|
+
}
|
|
2560
|
+
settingsButton.click();
|
|
2561
|
+
return true;
|
|
2562
|
+
}
|
|
2563
|
+
async optIn() {
|
|
2564
|
+
const iframe = document.querySelector("#cmp-app-container iframe");
|
|
2565
|
+
const acceptButton = iframe?.contentDocument?.querySelector(".cmp-components-button.is-primary");
|
|
2566
|
+
if (acceptButton) {
|
|
2567
|
+
acceptButton.click();
|
|
2568
|
+
return true;
|
|
2569
|
+
}
|
|
2570
|
+
return false;
|
|
2571
|
+
}
|
|
2572
|
+
};
|
|
2573
|
+
|
|
2574
|
+
// lib/cmps/admiral.ts
|
|
2575
|
+
var Admiral = class extends AutoConsentCMPBase {
|
|
2576
|
+
constructor() {
|
|
2577
|
+
super(...arguments);
|
|
2578
|
+
this.name = "Admiral";
|
|
2579
|
+
}
|
|
2580
|
+
get hasSelfTest() {
|
|
2581
|
+
return false;
|
|
2582
|
+
}
|
|
2583
|
+
get isIntermediate() {
|
|
2584
|
+
return false;
|
|
2585
|
+
}
|
|
2586
|
+
get isCosmetic() {
|
|
2587
|
+
return false;
|
|
2588
|
+
}
|
|
2589
|
+
async detectCmp() {
|
|
2590
|
+
return this.elementExists("div > div[class*=Card] > div[class*=Frame] > div[class*=Pills] > button[class*=Pills__StyledPill]");
|
|
2591
|
+
}
|
|
2592
|
+
async detectPopup() {
|
|
2593
|
+
return this.elementVisible(
|
|
2594
|
+
"div > div[class*=Card] > div[class*=Frame] > div[class*=Pills] > button[class*=Pills__StyledPill]",
|
|
2595
|
+
"any"
|
|
2596
|
+
);
|
|
2597
|
+
}
|
|
2598
|
+
async optOut() {
|
|
2599
|
+
const rejectAllSelector = "xpath///button[contains(., 'Afvis alle') or contains(., 'Reject all') or contains(., 'Odbaci sve') or contains(., 'Rechazar todo') or contains(., 'Atmesti visus') or contains(., 'Odm\xEDtnout v\u0161e') or contains(., '\u0391\u03C0\u03CC\u03C1\u03C1\u03B9\u03C8\u03B7 \u03CC\u03BB\u03C9\u03BD') or contains(., 'Rejeitar tudo') or contains(., 'T\xFCm\xFCn\xFC reddet') or contains(., '\u041E\u0442\u043A\u043B\u043E\u043D\u0438\u0442\u044C \u0432\u0441\u0435') or contains(., 'Noraid\u012Bt visu') or contains(., 'Avvisa alla') or contains(., 'Odrzu\u0107 wszystkie') or contains(., 'Alles afwijzen') or contains(., '\u041E\u0442\u0445\u0432\u044A\u0440\u043B\u044F\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438') or contains(., 'Rifiuta tutto') or contains(., 'Zavrni vse') or contains(., 'Az \xF6sszes elutas\xEDt\xE1sa') or contains(., 'Respinge\u021Bi tot') or contains(., 'Alles ablehnen') or contains(., 'Tout rejeter') or contains(., 'Odmietnu\u0165 v\u0161etko') or contains(., 'L\xFCkka k\xF5ik tagasi') or contains(., 'Hylk\xE4\xE4 kaikki')]";
|
|
2600
|
+
if (await this.waitForElement(rejectAllSelector, 500)) {
|
|
2601
|
+
return await this.click(rejectAllSelector);
|
|
2602
|
+
}
|
|
2603
|
+
const purposesButtonSelector = "xpath///button[contains(., 'Zwecke') or contains(., '\u03A3\u03BA\u03BF\u03C0\u03BF\u03AF') or contains(., 'Purposes') or contains(., '\u0426\u0435\u043B\u0438') or contains(., 'Eesm\xE4rgid') or contains(., 'Tikslai') or contains(., 'Svrhe') or contains(., 'Cele') or contains(., '\xDA\u010Dely') or contains(., 'Finalidades') or contains(., 'M\u0113r\u0137i') or contains(., 'Scopuri') or contains(., 'Fines') or contains(., '\xC4ndam\xE5l') or contains(., 'Finalit\xE9s') or contains(., 'Doeleinden') or contains(., 'Tarkoitukset') or contains(., 'Scopi') or contains(., 'Ama\xE7lar') or contains(., 'Nameni') or contains(., 'C\xE9lok') or contains(., 'Form\xE5l')]";
|
|
2604
|
+
const saveAndExitSelector = "xpath///button[contains(., 'Spara & avsluta') or contains(., 'Save & exit') or contains(., 'Ulo\u017Eit a ukon\u010Dit') or contains(., 'Enregistrer et quitter') or contains(., 'Speichern & Verlassen') or contains(., 'Tallenna ja poistu') or contains(., 'I\u0161saugoti ir i\u0161eiti') or contains(., 'Opslaan & afsluiten') or contains(., 'Guardar y salir') or contains(., 'Shrani in zapri') or contains(., 'Ulo\u017Ei\u0165 a ukon\u010Di\u0165') or contains(., 'Kaydet ve \xE7\u0131k\u0131\u015F yap') or contains(., '\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0432\u044B\u0439\u0442\u0438') or contains(., 'Salvesta ja v\xE4lju') or contains(., 'Salva ed esci') or contains(., 'Gem & afslut') or contains(., '\u0391\u03C0\u03BF\u03B8\u03AE\u03BA\u03B5\u03C5\u03C3\u03B7 \u03BA\u03B1\u03B9 \u03AD\u03BE\u03BF\u03B4\u03BF\u03C2') or contains(., 'Saglab\u0101t un iziet') or contains(., 'Ment\xE9s \xE9s kil\xE9p\xE9s') or contains(., 'Guardar e sair') or contains(., 'Zapisz & zako\u0144cz') or contains(., 'Salvare \u0219i ie\u0219ire') or contains(., 'Spremi i iza\u0111i') or contains(., '\u0417\u0430\u043F\u0430\u0437\u0432\u0430\u043D\u0435 \u0438 \u0438\u0437\u0445\u043E\u0434')]";
|
|
2605
|
+
if (await this.waitForThenClick(purposesButtonSelector) && await this.waitForVisible(saveAndExitSelector)) {
|
|
2606
|
+
const popupBody = this.elementSelector(saveAndExitSelector)[0].parentElement?.parentElement;
|
|
2607
|
+
const checkboxes = popupBody?.querySelectorAll("input[type=checkbox]:checked");
|
|
2608
|
+
checkboxes?.forEach((checkbox) => checkbox.click());
|
|
2609
|
+
return await this.click(saveAndExitSelector);
|
|
2610
|
+
}
|
|
2611
|
+
return false;
|
|
2612
|
+
}
|
|
2613
|
+
async optIn() {
|
|
2614
|
+
return await this.click(
|
|
2615
|
+
"xpath///button[contains(., 'Sprejmi vse') or contains(., 'Prihvati sve') or contains(., 'Godk\xE4nn alla') or contains(., 'Prija\u0165 v\u0161etko') or contains(., '\u041F\u0440\u0438\u043D\u044F\u0442\u044C \u0432\u0441\u0435') or contains(., 'Aceptar todo') or contains(., '\u0391\u03C0\u03BF\u03B4\u03BF\u03C7\u03AE \u03CC\u03BB\u03C9\u03BD') or contains(., 'Zaakceptuj wszystkie') or contains(., 'Accetta tutto') or contains(., 'Priimti visus') or contains(., 'Pie\u0146emt visu') or contains(., 'T\xFCm\xFCn\xFC kabul et') or contains(., 'Az \xF6sszes elfogad\xE1sa') or contains(., 'Accept all') or contains(., '\u041F\u0440\u0438\u0435\u043C\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438') or contains(., 'Accepter alle') or contains(., 'Hyv\xE4ksy kaikki') or contains(., 'Tout accepter') or contains(., 'Alles accepteren') or contains(., 'Aktsepteeri k\xF5ik') or contains(., 'P\u0159ijmout v\u0161e') or contains(., 'Alles akzeptieren') or contains(., 'Aceitar tudo') or contains(., 'Accepta\u021Bi tot')]"
|
|
2616
|
+
);
|
|
2617
|
+
}
|
|
2618
|
+
};
|
|
2619
|
+
|
|
2620
|
+
// lib/cmps/all.ts
|
|
2621
|
+
var dynamicCMPs = [
|
|
2622
|
+
TrustArcTop,
|
|
2623
|
+
TrustArcFrame,
|
|
2624
|
+
Cookiebot,
|
|
2625
|
+
SourcePoint,
|
|
2626
|
+
ConsentManager,
|
|
2627
|
+
Evidon,
|
|
2628
|
+
Onetrust,
|
|
2629
|
+
Klaro,
|
|
2630
|
+
Uniconsent,
|
|
2631
|
+
Conversant,
|
|
2632
|
+
Tiktok,
|
|
2633
|
+
Tumblr,
|
|
2634
|
+
Admiral
|
|
2635
|
+
];
|
|
2636
|
+
|
|
2637
|
+
// lib/dom-actions.ts
|
|
2638
|
+
var DomActions = class {
|
|
2639
|
+
constructor(autoconsentInstance) {
|
|
2640
|
+
this.autoconsentInstance = autoconsentInstance;
|
|
2641
|
+
}
|
|
2642
|
+
async clickElement(element) {
|
|
2643
|
+
if (!element || !(element instanceof HTMLElement)) {
|
|
2644
|
+
return false;
|
|
2645
|
+
}
|
|
2646
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[clickElement]", element);
|
|
2647
|
+
element.click();
|
|
2648
|
+
return true;
|
|
2649
|
+
}
|
|
2650
|
+
async click(selector, all = false) {
|
|
2651
|
+
const elements = this.elementSelector(selector);
|
|
2652
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[click]", selector, all, elements);
|
|
2653
|
+
if (elements.length > 0) {
|
|
2654
|
+
if (all) {
|
|
2655
|
+
elements.forEach((e) => e.click());
|
|
2656
|
+
} else {
|
|
2657
|
+
elements[0].click();
|
|
2658
|
+
}
|
|
2659
|
+
}
|
|
2660
|
+
return elements.length > 0;
|
|
2661
|
+
}
|
|
2662
|
+
elementExists(selector) {
|
|
2663
|
+
const exists = this.elementSelector(selector).length > 0;
|
|
2664
|
+
return exists;
|
|
2665
|
+
}
|
|
2666
|
+
elementVisible(selector, check = "all") {
|
|
2667
|
+
const elem = this.elementSelector(selector);
|
|
2668
|
+
const results = new Array(elem.length);
|
|
2669
|
+
elem.forEach((e, i) => {
|
|
2670
|
+
results[i] = isElementVisible(e);
|
|
2671
|
+
});
|
|
2672
|
+
if (check === "none") {
|
|
2673
|
+
return results.every((r) => !r);
|
|
2674
|
+
} else if (results.length === 0) {
|
|
2675
|
+
return false;
|
|
2676
|
+
} else if (check === "any") {
|
|
2677
|
+
return results.some((r) => r);
|
|
2678
|
+
}
|
|
2679
|
+
return results.every((r) => r);
|
|
2680
|
+
}
|
|
2681
|
+
waitForElement(selector, timeout = 1e4) {
|
|
2682
|
+
const interval = 200;
|
|
2683
|
+
const times = Math.ceil(timeout / interval);
|
|
2684
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[waitForElement]", selector);
|
|
2685
|
+
return waitFor(() => this.elementSelector(selector).length > 0, times, interval);
|
|
2686
|
+
}
|
|
2687
|
+
waitForVisible(selector, timeout = 1e4, check = "any") {
|
|
2688
|
+
const interval = 200;
|
|
2689
|
+
const times = Math.ceil(timeout / interval);
|
|
2690
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[waitForVisible]", selector);
|
|
2691
|
+
return waitFor(() => this.elementVisible(selector, check), times, interval);
|
|
2692
|
+
}
|
|
2693
|
+
async waitForThenClick(selector, timeout = 1e4, all = false) {
|
|
2694
|
+
await this.waitForElement(selector, timeout);
|
|
2695
|
+
return await this.click(selector, all);
|
|
2696
|
+
}
|
|
2697
|
+
wait(ms) {
|
|
2698
|
+
this.autoconsentInstance.config.logs.rulesteps && this.autoconsentInstance.config.logs.waits && console.log("[wait]", ms);
|
|
2699
|
+
return new Promise((resolve) => {
|
|
2700
|
+
setTimeout(() => {
|
|
2701
|
+
resolve(true);
|
|
2702
|
+
}, ms);
|
|
2703
|
+
});
|
|
2704
|
+
}
|
|
2705
|
+
cookieContains(substring) {
|
|
2706
|
+
return document.cookie.includes(substring);
|
|
2707
|
+
}
|
|
2708
|
+
hide(selector, method) {
|
|
2709
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[hide]", selector);
|
|
2710
|
+
const styleEl = getStyleElement();
|
|
2711
|
+
return hideElements(styleEl, selector, method);
|
|
2712
|
+
}
|
|
2713
|
+
removeClass(selector, className) {
|
|
2714
|
+
const elements = this.elementSelector(selector);
|
|
2715
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[removeClass]", selector, className, elements);
|
|
2716
|
+
elements.forEach((el) => el.classList.remove(className));
|
|
2717
|
+
return elements.length > 0;
|
|
2718
|
+
}
|
|
2719
|
+
setStyle(selector, css) {
|
|
2720
|
+
const elements = this.elementSelector(selector);
|
|
2721
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[setStyle]", selector, css, elements);
|
|
2722
|
+
elements.forEach((el) => el.style.cssText = css);
|
|
2723
|
+
return elements.length > 0;
|
|
2724
|
+
}
|
|
2725
|
+
addStyle(selector, css) {
|
|
2726
|
+
const elements = this.elementSelector(selector);
|
|
2727
|
+
this.autoconsentInstance.config.logs.rulesteps && console.log("[addStyle]", selector, css, elements);
|
|
2728
|
+
elements.forEach((el) => el.style.cssText += "; " + css);
|
|
2729
|
+
return elements.length > 0;
|
|
2730
|
+
}
|
|
2731
|
+
prehide(selector) {
|
|
2732
|
+
const styleEl = getStyleElement("autoconsent-prehide");
|
|
2733
|
+
this.autoconsentInstance.config.logs.lifecycle && console.log("[prehide]", styleEl, location.href);
|
|
2734
|
+
return hideElements(styleEl, selector, "opacity");
|
|
2735
|
+
}
|
|
2736
|
+
undoPrehide() {
|
|
2737
|
+
const existingElement = getStyleElement("autoconsent-prehide");
|
|
2738
|
+
this.autoconsentInstance.config.logs.lifecycle && console.log("[undoprehide]", existingElement, location.href);
|
|
2739
|
+
existingElement.remove();
|
|
2740
|
+
}
|
|
2741
|
+
async createOrUpdateStyleSheet(cssText, styleSheet) {
|
|
2742
|
+
if (!styleSheet) {
|
|
2743
|
+
styleSheet = new CSSStyleSheet();
|
|
2744
|
+
}
|
|
2745
|
+
styleSheet = await styleSheet.replace(cssText);
|
|
2746
|
+
return styleSheet;
|
|
2747
|
+
}
|
|
2748
|
+
removeStyleSheet(styleSheet) {
|
|
2749
|
+
if (styleSheet) {
|
|
2750
|
+
styleSheet.replace("");
|
|
2751
|
+
return true;
|
|
2752
|
+
}
|
|
2753
|
+
return false;
|
|
2754
|
+
}
|
|
2755
|
+
querySingleReplySelector(selector, parent = document) {
|
|
2756
|
+
if (selector.startsWith("aria/")) {
|
|
2757
|
+
return [];
|
|
2758
|
+
}
|
|
2759
|
+
if (selector.startsWith("xpath/")) {
|
|
2760
|
+
const xpath = selector.slice(6);
|
|
2761
|
+
const result = document.evaluate(xpath, parent, null, XPathResult.ANY_TYPE, null);
|
|
2762
|
+
let node = null;
|
|
2763
|
+
const elements = [];
|
|
2764
|
+
while (node = result.iterateNext()) {
|
|
2765
|
+
elements.push(node);
|
|
2766
|
+
}
|
|
2767
|
+
return elements;
|
|
2768
|
+
}
|
|
2769
|
+
if (selector.startsWith("text/")) {
|
|
2770
|
+
return [];
|
|
2771
|
+
}
|
|
2772
|
+
if (selector.startsWith("pierce/")) {
|
|
2773
|
+
return [];
|
|
2774
|
+
}
|
|
2775
|
+
if (parent.shadowRoot) {
|
|
2776
|
+
return Array.from(parent.shadowRoot.querySelectorAll(selector));
|
|
2777
|
+
}
|
|
2778
|
+
if (parent.contentDocument?.querySelectorAll) {
|
|
2779
|
+
return Array.from(parent.contentDocument.querySelectorAll(selector));
|
|
2780
|
+
}
|
|
2781
|
+
return Array.from(parent.querySelectorAll(selector));
|
|
2782
|
+
}
|
|
2783
|
+
querySelectorChain(selectors) {
|
|
2784
|
+
let parent = document;
|
|
2785
|
+
let matches = [];
|
|
2786
|
+
for (const selector of selectors) {
|
|
2787
|
+
matches = this.querySingleReplySelector(selector, parent);
|
|
2788
|
+
if (matches.length === 0) {
|
|
2789
|
+
return [];
|
|
2790
|
+
}
|
|
2791
|
+
parent = matches[0];
|
|
2792
|
+
}
|
|
2793
|
+
return matches;
|
|
2794
|
+
}
|
|
2795
|
+
elementSelector(selector) {
|
|
2796
|
+
if (typeof selector === "string") {
|
|
2797
|
+
return this.querySingleReplySelector(selector);
|
|
2798
|
+
}
|
|
2799
|
+
return this.querySelectorChain(selector);
|
|
2800
|
+
}
|
|
2801
|
+
waitForMutation(selector, timeout = 6e4) {
|
|
2802
|
+
const node = this.elementSelector(selector);
|
|
2803
|
+
if (node.length === 0) {
|
|
2804
|
+
throw new Error(`${selector} did not match any elements`);
|
|
2805
|
+
}
|
|
2806
|
+
return new Promise((resolve, reject) => {
|
|
2807
|
+
const timer = setTimeout(() => {
|
|
2808
|
+
reject(new Error("Timed out waiting for mutation"));
|
|
2809
|
+
observer.disconnect();
|
|
2810
|
+
}, timeout);
|
|
2811
|
+
const observer = new MutationObserver(() => {
|
|
2812
|
+
clearTimeout(timer);
|
|
2813
|
+
observer.disconnect();
|
|
2814
|
+
resolve(true);
|
|
2815
|
+
});
|
|
2816
|
+
observer.observe(node[0], {
|
|
2817
|
+
subtree: true,
|
|
2818
|
+
childList: true,
|
|
2819
|
+
attributes: true
|
|
2820
|
+
});
|
|
2821
|
+
});
|
|
2822
|
+
}
|
|
2823
|
+
};
|
|
2824
|
+
|
|
2825
|
+
// lib/encoding.ts
|
|
2826
|
+
var compactedRuleSteps = [
|
|
2827
|
+
["exists", "e"],
|
|
2828
|
+
["visible", "v"],
|
|
2829
|
+
["waitForThenClick", "c"],
|
|
2830
|
+
["click", "k"],
|
|
2831
|
+
["waitFor", "w"],
|
|
2832
|
+
["waitForVisible", "wv"],
|
|
2833
|
+
["hide", "h"],
|
|
2834
|
+
["cookieContains", "cc"]
|
|
2835
|
+
];
|
|
2836
|
+
function decodeNullableBoolean(value) {
|
|
2837
|
+
if (value === 1) {
|
|
2838
|
+
return true;
|
|
2839
|
+
}
|
|
2840
|
+
if (value === 0) {
|
|
2841
|
+
return false;
|
|
2842
|
+
}
|
|
2843
|
+
return void 0;
|
|
2844
|
+
}
|
|
2845
|
+
function decodeRules(encoded) {
|
|
2846
|
+
if (encoded.v > 1) {
|
|
2847
|
+
throw new Error("Unsupported rule format.");
|
|
2848
|
+
}
|
|
2849
|
+
return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => new CompactedCMPRule(rule, encoded.s));
|
|
2850
|
+
}
|
|
2851
|
+
var CompactedCMPRule = class {
|
|
2852
|
+
constructor(rule, strings) {
|
|
2853
|
+
this.intermediate = false;
|
|
2854
|
+
this.optIn = [];
|
|
2855
|
+
this.r = rule;
|
|
2856
|
+
this.s = strings;
|
|
2857
|
+
if (this.r[10] && this.r[10].intermediate) {
|
|
2858
|
+
this.intermediate = this.r[10].intermediate;
|
|
2859
|
+
}
|
|
2860
|
+
}
|
|
2861
|
+
_decodeRuleStep(step) {
|
|
2862
|
+
const clonedStep = { ...step };
|
|
2863
|
+
const decodeRuleStep = this._decodeRuleStep.bind(this);
|
|
2864
|
+
for (const [longKey, shortKey] of compactedRuleSteps) {
|
|
2865
|
+
if (clonedStep[shortKey] !== void 0) {
|
|
2866
|
+
clonedStep[longKey] = this.s[clonedStep[shortKey]];
|
|
2867
|
+
delete clonedStep[shortKey];
|
|
2868
|
+
}
|
|
2869
|
+
}
|
|
2870
|
+
if (step.if) {
|
|
2871
|
+
clonedStep.if = decodeRuleStep(step.if);
|
|
2872
|
+
clonedStep.then = step.then && step.then.map(decodeRuleStep);
|
|
2873
|
+
if (step.else) {
|
|
2874
|
+
clonedStep.else = step.else.map(decodeRuleStep);
|
|
2875
|
+
}
|
|
2876
|
+
}
|
|
2877
|
+
if (step.any) {
|
|
2878
|
+
clonedStep.any = step.any.map(decodeRuleStep);
|
|
2879
|
+
}
|
|
2880
|
+
return { ...clonedStep };
|
|
2881
|
+
}
|
|
2882
|
+
get minimumRuleStepVersion() {
|
|
2883
|
+
return this.r[0];
|
|
2884
|
+
}
|
|
2885
|
+
get name() {
|
|
2886
|
+
return this.r[1];
|
|
2887
|
+
}
|
|
2888
|
+
get cosmetic() {
|
|
2889
|
+
return decodeNullableBoolean(this.r[2]);
|
|
2890
|
+
}
|
|
2891
|
+
get runContext() {
|
|
2892
|
+
const runContext = {};
|
|
2893
|
+
const urlPattern = this.r[3];
|
|
2894
|
+
const mainFrame = this.r[4];
|
|
2895
|
+
const runInMainFrame = decodeNullableBoolean(Math.floor(mainFrame / 10) % 10);
|
|
2896
|
+
const runInSubFrame = decodeNullableBoolean(mainFrame % 10);
|
|
2897
|
+
if (runInMainFrame !== void 0) {
|
|
2898
|
+
runContext.main = runInMainFrame;
|
|
2899
|
+
}
|
|
2900
|
+
if (runInSubFrame !== void 0) {
|
|
2901
|
+
runContext.frame = runInSubFrame;
|
|
2902
|
+
}
|
|
2903
|
+
if (urlPattern !== "") {
|
|
2904
|
+
runContext.urlPattern = urlPattern;
|
|
2905
|
+
}
|
|
2906
|
+
return runContext;
|
|
2907
|
+
}
|
|
2908
|
+
get prehideSelectors() {
|
|
2909
|
+
return this.r[5].map((i) => this.s[i].toString());
|
|
2910
|
+
}
|
|
2911
|
+
get detectCmp() {
|
|
2912
|
+
return this.r[6].map(this._decodeRuleStep.bind(this));
|
|
2913
|
+
}
|
|
2914
|
+
get detectPopup() {
|
|
2915
|
+
return this.r[7].map(this._decodeRuleStep.bind(this));
|
|
2916
|
+
}
|
|
2917
|
+
get optOut() {
|
|
2918
|
+
return this.r[8].map(this._decodeRuleStep.bind(this));
|
|
2919
|
+
}
|
|
2920
|
+
get test() {
|
|
2921
|
+
return this.r[9].map(this._decodeRuleStep.bind(this));
|
|
2922
|
+
}
|
|
2923
|
+
};
|
|
2924
|
+
function clearUnusedStrings(ruleset, ignoreBeforeIndex = 0) {
|
|
2925
|
+
const { v, s, r } = ruleset;
|
|
2926
|
+
const usedStringIds = /* @__PURE__ */ new Set();
|
|
2927
|
+
function addStringIdsFromRuleSteps(steps) {
|
|
2928
|
+
steps.forEach((step) => {
|
|
2929
|
+
for (const [, shortKey] of compactedRuleSteps) {
|
|
2930
|
+
if (step[shortKey] !== void 0) {
|
|
2931
|
+
usedStringIds.add(step[shortKey]);
|
|
2932
|
+
}
|
|
2933
|
+
}
|
|
2934
|
+
if (step.if) {
|
|
2935
|
+
addStringIdsFromRuleSteps([step.if]);
|
|
2936
|
+
}
|
|
2937
|
+
if (step.then) {
|
|
2938
|
+
addStringIdsFromRuleSteps(step.then);
|
|
2939
|
+
}
|
|
2940
|
+
if (step.else) {
|
|
2941
|
+
addStringIdsFromRuleSteps(step.else);
|
|
2942
|
+
}
|
|
2943
|
+
if (step.any) {
|
|
2944
|
+
addStringIdsFromRuleSteps(step.any);
|
|
2945
|
+
}
|
|
2946
|
+
});
|
|
2947
|
+
}
|
|
2948
|
+
ruleset.r.forEach((rule) => {
|
|
2949
|
+
addStringIdsFromRuleSteps(rule[6]);
|
|
2950
|
+
addStringIdsFromRuleSteps(rule[7]);
|
|
2951
|
+
addStringIdsFromRuleSteps(rule[8]);
|
|
2952
|
+
addStringIdsFromRuleSteps(rule[9]);
|
|
2953
|
+
rule[5].forEach((id) => usedStringIds.add(id));
|
|
2954
|
+
});
|
|
2955
|
+
return {
|
|
2956
|
+
v,
|
|
2957
|
+
r,
|
|
2958
|
+
s: s.slice(0, Math.max(...usedStringIds) + 1).map((str, idx) => {
|
|
2959
|
+
if (idx < ignoreBeforeIndex || usedStringIds.has(idx)) {
|
|
2960
|
+
return str;
|
|
2961
|
+
}
|
|
2962
|
+
return "";
|
|
2963
|
+
})
|
|
2964
|
+
};
|
|
2965
|
+
}
|
|
2966
|
+
function shouldRunRuleInContext(rule, mainFrame, url) {
|
|
2967
|
+
const runContext = rule[4];
|
|
2968
|
+
if (mainFrame && runContext === 1) {
|
|
2969
|
+
return false;
|
|
2970
|
+
}
|
|
2971
|
+
if (!mainFrame && [20, 22, 10, 12].includes(runContext)) {
|
|
2972
|
+
return false;
|
|
2973
|
+
}
|
|
2974
|
+
const urlPattern = rule[3];
|
|
2975
|
+
if (urlPattern && urlPattern !== "" && url.match(urlPattern) === null) {
|
|
2976
|
+
return false;
|
|
2977
|
+
}
|
|
2978
|
+
return true;
|
|
2979
|
+
}
|
|
2980
|
+
function filterCompactRules(rules, context) {
|
|
2981
|
+
const { v, s, r, index } = rules;
|
|
2982
|
+
const { url, mainFrame } = context;
|
|
2983
|
+
const shouldRunInContext = (rule) => shouldRunRuleInContext(rule, mainFrame, url);
|
|
2984
|
+
if (!mainFrame) {
|
|
2985
|
+
const ruleset = {
|
|
2986
|
+
v,
|
|
2987
|
+
s: s.slice(0, index.frameStringEnd),
|
|
2988
|
+
r: r.slice(index.frameRuleRange[0], index.frameRuleRange[1]).filter(shouldRunInContext)
|
|
2989
|
+
};
|
|
2990
|
+
return clearUnusedStrings(ruleset);
|
|
2991
|
+
}
|
|
2992
|
+
const genericRules = r.slice(index.genericRuleRange[0], index.genericRuleRange[1]);
|
|
2993
|
+
const specificRules = r.slice(index.specificRuleRange[0], index.specificRuleRange[1]).filter(shouldRunInContext);
|
|
2994
|
+
if (specificRules.length > 0) {
|
|
2995
|
+
const ruleset = {
|
|
2996
|
+
v,
|
|
2997
|
+
s,
|
|
2998
|
+
r: [...genericRules, ...specificRules]
|
|
2999
|
+
};
|
|
3000
|
+
return clearUnusedStrings(ruleset);
|
|
3001
|
+
}
|
|
3002
|
+
return {
|
|
3003
|
+
v,
|
|
3004
|
+
s: s.slice(0, index.genericStringEnd),
|
|
3005
|
+
r: genericRules
|
|
3006
|
+
};
|
|
3007
|
+
}
|
|
3008
|
+
|
|
3009
|
+
// lib/web.ts
|
|
3010
|
+
function filterCMPs(rules, config) {
|
|
3011
|
+
return rules.filter((cmp) => {
|
|
3012
|
+
return (!config.disabledCmps || !config.disabledCmps.includes(cmp.name)) && // CMP is not disabled
|
|
3013
|
+
(config.enableCosmeticRules || !cmp.isCosmetic) && // CMP is not cosmetic or cosmetic rules are enabled
|
|
3014
|
+
(config.enableGeneratedRules || !cmp.name.startsWith("auto_"));
|
|
3015
|
+
});
|
|
3016
|
+
}
|
|
3017
|
+
var _config;
|
|
3018
|
+
var AutoConsent = class {
|
|
3019
|
+
constructor(sendContentMessage, config = null, declarativeRules = null) {
|
|
3020
|
+
this.id = getRandomID();
|
|
3021
|
+
this.rules = [];
|
|
3022
|
+
__privateAdd(this, _config);
|
|
3023
|
+
this.state = {
|
|
3024
|
+
lifecycle: "loading",
|
|
3025
|
+
prehideOn: false,
|
|
3026
|
+
findCmpAttempts: 0,
|
|
3027
|
+
detectedCmps: [],
|
|
3028
|
+
detectedPopups: [],
|
|
3029
|
+
heuristicPatterns: [],
|
|
3030
|
+
heuristicSnippets: [],
|
|
3031
|
+
selfTest: null,
|
|
3032
|
+
clicks: 0,
|
|
3033
|
+
startTime: 0,
|
|
3034
|
+
endTime: 0
|
|
3035
|
+
};
|
|
3036
|
+
evalState.sendContentMessage = sendContentMessage;
|
|
3037
|
+
this.sendContentMessage = sendContentMessage;
|
|
3038
|
+
this.rules = [];
|
|
3039
|
+
this.updateState({ lifecycle: "loading" });
|
|
3040
|
+
this.addDynamicRules();
|
|
3041
|
+
if (config) {
|
|
3042
|
+
this.initialize(config, declarativeRules);
|
|
3043
|
+
} else {
|
|
3044
|
+
if (declarativeRules) {
|
|
3045
|
+
this.parseDeclarativeRules(declarativeRules);
|
|
3046
|
+
}
|
|
3047
|
+
const initMsg = {
|
|
3048
|
+
type: "init",
|
|
3049
|
+
url: window.location.href
|
|
3050
|
+
};
|
|
3051
|
+
sendContentMessage(initMsg);
|
|
3052
|
+
this.updateState({ lifecycle: "waitingForInitResponse" });
|
|
3053
|
+
}
|
|
3054
|
+
this.domActions = new DomActions(this);
|
|
3055
|
+
}
|
|
3056
|
+
get config() {
|
|
3057
|
+
if (!__privateGet(this, _config)) {
|
|
3058
|
+
throw new Error("AutoConsent is not initialized yet");
|
|
3059
|
+
}
|
|
3060
|
+
return __privateGet(this, _config);
|
|
3061
|
+
}
|
|
3062
|
+
initialize(config, declarativeRules) {
|
|
3063
|
+
const normalizedConfig = normalizeConfig(config);
|
|
3064
|
+
normalizedConfig.logs.lifecycle && console.log("autoconsent init", window.location.href);
|
|
3065
|
+
__privateSet(this, _config, normalizedConfig);
|
|
3066
|
+
if (!normalizedConfig.enabled) {
|
|
3067
|
+
normalizedConfig.logs.lifecycle && console.log("autoconsent is disabled");
|
|
3068
|
+
return;
|
|
3069
|
+
}
|
|
3070
|
+
if (declarativeRules) {
|
|
3071
|
+
this.parseDeclarativeRules(declarativeRules);
|
|
3072
|
+
}
|
|
3073
|
+
this.rules = filterCMPs(this.rules, normalizedConfig);
|
|
3074
|
+
if (this.shouldPrehide) {
|
|
3075
|
+
if (document.documentElement) {
|
|
3076
|
+
this.prehideElements();
|
|
3077
|
+
} else {
|
|
3078
|
+
const delayedPrehide = () => {
|
|
3079
|
+
window.removeEventListener("DOMContentLoaded", delayedPrehide);
|
|
3080
|
+
this.prehideElements();
|
|
3081
|
+
};
|
|
3082
|
+
window.addEventListener("DOMContentLoaded", delayedPrehide);
|
|
3083
|
+
}
|
|
3084
|
+
}
|
|
3085
|
+
if (document.readyState === "loading") {
|
|
3086
|
+
const onReady = () => {
|
|
3087
|
+
window.removeEventListener("DOMContentLoaded", onReady);
|
|
3088
|
+
this.start();
|
|
3089
|
+
};
|
|
3090
|
+
window.addEventListener("DOMContentLoaded", onReady);
|
|
3091
|
+
} else {
|
|
3092
|
+
this.start();
|
|
3093
|
+
}
|
|
3094
|
+
this.updateState({ lifecycle: "initialized" });
|
|
3095
|
+
}
|
|
3096
|
+
get shouldPrehide() {
|
|
3097
|
+
return this.config.enablePrehide && !this.config.visualTest;
|
|
3098
|
+
}
|
|
3099
|
+
saveFocus() {
|
|
3100
|
+
this.focusedElement = document.activeElement;
|
|
3101
|
+
if (this.focusedElement) {
|
|
3102
|
+
this.config.logs.lifecycle && console.log("saving focus", this.focusedElement, location.href);
|
|
3103
|
+
}
|
|
3104
|
+
}
|
|
3105
|
+
restoreFocus() {
|
|
3106
|
+
if (this.focusedElement) {
|
|
3107
|
+
this.config.logs.lifecycle && console.log("restoring focus", this.focusedElement, location.href);
|
|
3108
|
+
try {
|
|
3109
|
+
this.focusedElement.focus({ preventScroll: true });
|
|
3110
|
+
} catch (e) {
|
|
3111
|
+
this.config.logs.errors && console.warn("error restoring focus", e);
|
|
3112
|
+
}
|
|
3113
|
+
this.focusedElement = void 0;
|
|
3114
|
+
}
|
|
3115
|
+
}
|
|
3116
|
+
addDynamicRules() {
|
|
3117
|
+
dynamicCMPs.forEach((Cmp) => {
|
|
3118
|
+
this.rules.push(new Cmp(this));
|
|
3119
|
+
});
|
|
3120
|
+
}
|
|
3121
|
+
parseDeclarativeRules(declarativeRules) {
|
|
3122
|
+
const perfEnabled = __privateGet(this, _config)?.performanceLoggingEnabled;
|
|
3123
|
+
perfEnabled && performance.mark("parseDeclarativeRulesStart");
|
|
3124
|
+
if (declarativeRules.autoconsent) {
|
|
3125
|
+
declarativeRules.autoconsent.forEach((ruleset) => {
|
|
3126
|
+
this.addDeclarativeCMP(ruleset);
|
|
3127
|
+
});
|
|
3128
|
+
}
|
|
3129
|
+
if (declarativeRules.compact) {
|
|
3130
|
+
try {
|
|
3131
|
+
const rules = decodeRules(declarativeRules.compact);
|
|
3132
|
+
rules.forEach(this.addDeclarativeCMP.bind(this));
|
|
3133
|
+
} catch (e) {
|
|
3134
|
+
__privateGet(this, _config)?.logs.errors && console.error(e);
|
|
3135
|
+
}
|
|
3136
|
+
}
|
|
3137
|
+
perfEnabled && performance.mark("parseDeclarativeRulesEnd");
|
|
3138
|
+
perfEnabled && performance.measure("parseDeclarativeRules", "parseDeclarativeRulesStart", "parseDeclarativeRulesEnd");
|
|
3139
|
+
}
|
|
3140
|
+
addDeclarativeCMP(ruleset) {
|
|
3141
|
+
if ((ruleset.minimumRuleStepVersion || 1) <= SUPPORTED_RULE_STEP_VERSION) {
|
|
3142
|
+
this.rules.push(new AutoConsentCMP(ruleset, this));
|
|
3143
|
+
}
|
|
3144
|
+
}
|
|
3145
|
+
// start the detection process, possibly with a delay
|
|
3146
|
+
start() {
|
|
3147
|
+
scheduleWhenIdle(() => this._start());
|
|
3148
|
+
}
|
|
3149
|
+
async _start() {
|
|
3150
|
+
const logsConfig = this.config.logs;
|
|
3151
|
+
logsConfig.lifecycle && console.log(`Detecting CMPs on ${window.location.href}`);
|
|
3152
|
+
this.updateState({ lifecycle: "started" });
|
|
3153
|
+
const foundCmps = await this.findCmp(this.config.detectRetries);
|
|
3154
|
+
this.updateState({ detectedCmps: foundCmps.map((c) => c.name) });
|
|
3155
|
+
if (this.config.performanceLoggingEnabled) {
|
|
3156
|
+
this.updateState({ performance: this.measurePerformance() });
|
|
3157
|
+
}
|
|
3158
|
+
if (foundCmps.length === 0) {
|
|
3159
|
+
logsConfig.lifecycle && console.log("no CMP found", location.href);
|
|
3160
|
+
if (this.shouldPrehide) {
|
|
3161
|
+
this.undoPrehide();
|
|
3162
|
+
}
|
|
3163
|
+
this.updateState({ lifecycle: "nothingDetected" });
|
|
3164
|
+
return false;
|
|
3165
|
+
}
|
|
3166
|
+
this.updateState({ lifecycle: "cmpDetected" });
|
|
3167
|
+
const staticCmps = [];
|
|
3168
|
+
const cosmeticCmps = [];
|
|
3169
|
+
for (const cmp of foundCmps) {
|
|
3170
|
+
if (cmp.isCosmetic) {
|
|
3171
|
+
cosmeticCmps.push(cmp);
|
|
3172
|
+
} else {
|
|
3173
|
+
staticCmps.push(cmp);
|
|
3174
|
+
}
|
|
3175
|
+
}
|
|
3176
|
+
let result = false;
|
|
3177
|
+
let foundPopups = await this.detectPopups(staticCmps, async (cmp) => {
|
|
3178
|
+
result = await this.handlePopup(cmp);
|
|
3179
|
+
});
|
|
3180
|
+
if (foundPopups.length === 0) {
|
|
3181
|
+
foundPopups = await this.detectPopups(cosmeticCmps, async (cmp) => {
|
|
3182
|
+
result = await this.handlePopup(cmp);
|
|
3183
|
+
});
|
|
3184
|
+
}
|
|
3185
|
+
if (foundPopups.length === 0) {
|
|
3186
|
+
logsConfig.lifecycle && console.log("no popup found");
|
|
3187
|
+
if (this.shouldPrehide) {
|
|
3188
|
+
this.undoPrehide();
|
|
3189
|
+
}
|
|
3190
|
+
return false;
|
|
3191
|
+
}
|
|
3192
|
+
if (foundPopups.length > 1) {
|
|
3193
|
+
const errorDetails = {
|
|
3194
|
+
msg: `Found multiple CMPs, check the detection rules.`,
|
|
3195
|
+
cmps: foundPopups.map((cmp) => cmp.name)
|
|
3196
|
+
};
|
|
3197
|
+
logsConfig.errors && console.warn(errorDetails.msg, errorDetails.cmps);
|
|
3198
|
+
this.sendContentMessage({
|
|
3199
|
+
type: "autoconsentError",
|
|
3200
|
+
details: errorDetails
|
|
3201
|
+
});
|
|
3202
|
+
}
|
|
3203
|
+
return result;
|
|
3204
|
+
}
|
|
3205
|
+
async findCmp(retries) {
|
|
3206
|
+
const logsConfig = this.config.logs;
|
|
3207
|
+
this.updateState({ findCmpAttempts: this.state.findCmpAttempts + 1 });
|
|
3208
|
+
const foundCMPs = [];
|
|
3209
|
+
const isTop = isTopFrame();
|
|
3210
|
+
const siteSpecificRules = [];
|
|
3211
|
+
const genericRules = [];
|
|
3212
|
+
this.rules.forEach((cmp) => {
|
|
3213
|
+
if (cmp.checkFrameContext(isTop)) {
|
|
3214
|
+
const isSiteSpecific = !!cmp.runContext.urlPattern;
|
|
3215
|
+
if (cmp.hasMatchingUrlPattern()) {
|
|
3216
|
+
siteSpecificRules.push(cmp);
|
|
3217
|
+
} else if (!isSiteSpecific) {
|
|
3218
|
+
genericRules.push(cmp);
|
|
3219
|
+
}
|
|
3220
|
+
}
|
|
3221
|
+
});
|
|
3222
|
+
const heuristicRules = isTop && this.config.heuristicMode !== "off" && this.state.findCmpAttempts % 2 === 0 ? [new AutoConsentHeuristicCMP(this, this.config.heuristicMode)] : [];
|
|
3223
|
+
const rulesPriorityStages = [
|
|
3224
|
+
["site-specific", siteSpecificRules],
|
|
3225
|
+
["generic", genericRules],
|
|
3226
|
+
["heuristic", heuristicRules]
|
|
3227
|
+
];
|
|
3228
|
+
const runDetectCmp = async (cmp) => {
|
|
3229
|
+
try {
|
|
3230
|
+
const result = await cmp.detectCmp();
|
|
3231
|
+
if (result) {
|
|
3232
|
+
logsConfig.lifecycle && console.log(`Found CMP: ${cmp.name} ${window.location.href}`);
|
|
3233
|
+
this.sendContentMessage({
|
|
3234
|
+
type: "cmpDetected",
|
|
3235
|
+
url: location.href,
|
|
3236
|
+
cmp: cmp.name
|
|
3237
|
+
});
|
|
3238
|
+
foundCMPs.push(cmp);
|
|
3239
|
+
}
|
|
3240
|
+
} catch (e) {
|
|
3241
|
+
logsConfig.errors && console.warn(`error detecting ${cmp.name}`, e);
|
|
3242
|
+
}
|
|
3243
|
+
};
|
|
3244
|
+
const mutationObserver = this.domActions.waitForMutation("html");
|
|
3245
|
+
mutationObserver.catch(() => {
|
|
3246
|
+
});
|
|
3247
|
+
for (const [stageName, ruleGroup] of rulesPriorityStages) {
|
|
3248
|
+
logsConfig.lifecycle && ruleGroup.length > 0 && console.log(
|
|
3249
|
+
`Trying ${stageName} rules`,
|
|
3250
|
+
ruleGroup.map((r) => r.name)
|
|
3251
|
+
);
|
|
3252
|
+
this.config.performanceLoggingEnabled && performance.mark(`findCmpStage_${stageName}`);
|
|
3253
|
+
await Promise.all(ruleGroup.map(runDetectCmp));
|
|
3254
|
+
this.config.performanceLoggingEnabled && performance.mark(`findCmpStageEnd_${stageName}`);
|
|
3255
|
+
this.config.performanceLoggingEnabled && performance.measure(`findCmp_${stageName}`, `findCmpStage_${stageName}`, `findCmpStageEnd_${stageName}`);
|
|
3256
|
+
if (foundCMPs.length > 0) {
|
|
3257
|
+
break;
|
|
3258
|
+
}
|
|
3259
|
+
}
|
|
3260
|
+
this.detectHeuristics();
|
|
3261
|
+
if (foundCMPs.length === 0 && retries > 0) {
|
|
3262
|
+
const waitFor2 = [this.domActions.wait(500)];
|
|
3263
|
+
if (this.state.findCmpAttempts > 1) {
|
|
3264
|
+
waitFor2.push(mutationObserver);
|
|
3265
|
+
}
|
|
3266
|
+
try {
|
|
3267
|
+
await Promise.all(waitFor2);
|
|
3268
|
+
} catch (e) {
|
|
3269
|
+
return [];
|
|
3270
|
+
}
|
|
3271
|
+
return this.findCmp(retries - 1);
|
|
3272
|
+
}
|
|
3273
|
+
return foundCMPs;
|
|
3274
|
+
}
|
|
3275
|
+
detectHeuristics() {
|
|
3276
|
+
if (this.config.enableHeuristicDetection) {
|
|
3277
|
+
this.config.performanceLoggingEnabled && performance.mark("detectHeuristicsStart");
|
|
3278
|
+
const { patterns, snippets: snippets2 } = checkHeuristicPatterns(document.documentElement?.innerText || "");
|
|
3279
|
+
if (patterns.length > 0 && (patterns.length !== this.state.heuristicPatterns.length || this.state.heuristicPatterns.some((p, i) => p !== patterns[i]))) {
|
|
3280
|
+
this.config.logs.lifecycle && console.log("Heuristic patterns found", patterns, snippets2);
|
|
3281
|
+
this.updateState({ heuristicPatterns: patterns, heuristicSnippets: snippets2 });
|
|
3282
|
+
}
|
|
3283
|
+
this.config.performanceLoggingEnabled && performance.mark("detectHeuristicsEnd");
|
|
3284
|
+
this.config.performanceLoggingEnabled && performance.measure("detectHeuristics", "detectHeuristicsStart", "detectHeuristicsEnd");
|
|
3285
|
+
}
|
|
3286
|
+
}
|
|
3287
|
+
/**
|
|
3288
|
+
* Detect if a CMP has a popup open. Fullfils with the CMP if a popup is open, otherwise rejects.
|
|
3289
|
+
*/
|
|
3290
|
+
async detectPopup(cmp) {
|
|
3291
|
+
const isOpen = await this.waitForPopup(cmp).catch((error) => {
|
|
3292
|
+
this.config.logs.errors && console.warn(`error waiting for a popup for ${cmp.name}`, error);
|
|
3293
|
+
return false;
|
|
3294
|
+
});
|
|
3295
|
+
if (isOpen) {
|
|
3296
|
+
this.updateState({ detectedPopups: this.state.detectedPopups.concat([cmp.name]) });
|
|
3297
|
+
this.sendContentMessage({
|
|
3298
|
+
type: "popupFound",
|
|
3299
|
+
cmp: cmp.name,
|
|
3300
|
+
url: location.href
|
|
3301
|
+
});
|
|
3302
|
+
return cmp;
|
|
3303
|
+
}
|
|
3304
|
+
throw new Error("Popup is not shown");
|
|
3305
|
+
}
|
|
3306
|
+
/**
|
|
3307
|
+
* Detect if any of the CMPs has a popup open. Returns a list of CMPs with open popups.
|
|
3308
|
+
*/
|
|
3309
|
+
async detectPopups(cmps, onFirstPopupAppears) {
|
|
3310
|
+
const tasks = cmps.map((cmp) => this.detectPopup(cmp));
|
|
3311
|
+
await Promise.any(tasks).then((cmp) => {
|
|
3312
|
+
this.detectHeuristics();
|
|
3313
|
+
onFirstPopupAppears(cmp);
|
|
3314
|
+
}).catch(() => {
|
|
3315
|
+
});
|
|
3316
|
+
const results = await Promise.allSettled(tasks);
|
|
3317
|
+
const popups = [];
|
|
3318
|
+
for (const result of results) {
|
|
3319
|
+
if (result.status === "fulfilled") {
|
|
3320
|
+
popups.push(result.value);
|
|
3321
|
+
}
|
|
3322
|
+
}
|
|
3323
|
+
return popups;
|
|
3324
|
+
}
|
|
3325
|
+
async handlePopup(cmp) {
|
|
3326
|
+
this.updateState({ lifecycle: "openPopupDetected", startTime: Date.now() });
|
|
3327
|
+
if (this.shouldPrehide && !this.state.prehideOn) {
|
|
3328
|
+
this.prehideElements();
|
|
3329
|
+
}
|
|
3330
|
+
this.foundCmp = cmp;
|
|
3331
|
+
if (this.config.autoAction === "optOut") {
|
|
3332
|
+
return await this.doOptOut();
|
|
3333
|
+
} else if (this.config.autoAction === "optIn") {
|
|
3334
|
+
return await this.doOptIn();
|
|
3335
|
+
} else {
|
|
3336
|
+
this.config.logs.lifecycle && console.log("waiting for opt-out signal...", location.href);
|
|
3337
|
+
return true;
|
|
3338
|
+
}
|
|
3339
|
+
}
|
|
3340
|
+
async doOptOut() {
|
|
3341
|
+
const logsConfig = this.config.logs;
|
|
3342
|
+
this.updateState({ lifecycle: "runningOptOut" });
|
|
3343
|
+
this.saveFocus();
|
|
3344
|
+
let optOutResult;
|
|
3345
|
+
if (!this.foundCmp) {
|
|
3346
|
+
logsConfig.errors && console.log("no CMP to opt out");
|
|
3347
|
+
optOutResult = false;
|
|
3348
|
+
} else {
|
|
3349
|
+
logsConfig.lifecycle && console.log(`CMP ${this.foundCmp.name}: opt out on ${window.location.href}`);
|
|
3350
|
+
optOutResult = await this.foundCmp.optOut();
|
|
3351
|
+
logsConfig.lifecycle && console.log(`${this.foundCmp.name}: opt out result ${optOutResult}`);
|
|
3352
|
+
}
|
|
3353
|
+
if (this.shouldPrehide) {
|
|
3354
|
+
this.undoPrehide();
|
|
3355
|
+
}
|
|
3356
|
+
this.sendContentMessage({
|
|
3357
|
+
type: "optOutResult",
|
|
3358
|
+
cmp: this.foundCmp ? this.foundCmp.name : "none",
|
|
3359
|
+
result: optOutResult,
|
|
3360
|
+
scheduleSelfTest: Boolean(this.foundCmp && this.foundCmp.hasSelfTest),
|
|
3361
|
+
url: location.href
|
|
3362
|
+
});
|
|
3363
|
+
if (optOutResult && this.foundCmp && !this.foundCmp.isIntermediate) {
|
|
3364
|
+
this.state.endTime = Date.now();
|
|
3365
|
+
logsConfig.lifecycle && console.log(
|
|
3366
|
+
`${this.foundCmp.name}: done in ${this.state.endTime - this.state.startTime}ms with ${this.state.clicks} clicks`
|
|
3367
|
+
);
|
|
3368
|
+
this.sendContentMessage({
|
|
3369
|
+
type: "autoconsentDone",
|
|
3370
|
+
cmp: this.foundCmp?.name,
|
|
3371
|
+
isCosmetic: this.foundCmp?.isCosmetic,
|
|
3372
|
+
url: location.href,
|
|
3373
|
+
duration: this.state.endTime - this.state.startTime,
|
|
3374
|
+
totalClicks: this.state.clicks
|
|
3375
|
+
});
|
|
3376
|
+
this.updateState({ lifecycle: "done" });
|
|
3377
|
+
} else {
|
|
3378
|
+
this.updateState({ lifecycle: optOutResult ? "optOutSucceeded" : "optOutFailed" });
|
|
3379
|
+
}
|
|
3380
|
+
this.restoreFocus();
|
|
3381
|
+
return optOutResult;
|
|
3382
|
+
}
|
|
3383
|
+
async doOptIn() {
|
|
3384
|
+
const logsConfig = this.config.logs;
|
|
3385
|
+
this.updateState({ lifecycle: "runningOptIn" });
|
|
3386
|
+
this.saveFocus();
|
|
3387
|
+
let optInResult;
|
|
3388
|
+
if (!this.foundCmp) {
|
|
3389
|
+
logsConfig.errors && console.log("no CMP to opt in");
|
|
3390
|
+
optInResult = false;
|
|
3391
|
+
} else {
|
|
3392
|
+
logsConfig.lifecycle && console.log(`CMP ${this.foundCmp.name}: opt in on ${window.location.href}`);
|
|
3393
|
+
optInResult = await this.foundCmp.optIn();
|
|
3394
|
+
logsConfig.lifecycle && console.log(`${this.foundCmp.name}: opt in result ${optInResult}`);
|
|
3395
|
+
}
|
|
3396
|
+
if (this.shouldPrehide) {
|
|
3397
|
+
this.undoPrehide();
|
|
3398
|
+
}
|
|
3399
|
+
this.sendContentMessage({
|
|
3400
|
+
type: "optInResult",
|
|
3401
|
+
cmp: this.foundCmp ? this.foundCmp.name : "none",
|
|
3402
|
+
result: optInResult,
|
|
3403
|
+
scheduleSelfTest: false,
|
|
3404
|
+
// self-tests are only for opt-out at the moment
|
|
3405
|
+
url: location.href
|
|
3406
|
+
});
|
|
3407
|
+
if (optInResult && this.foundCmp && !this.foundCmp.isIntermediate) {
|
|
3408
|
+
this.state.endTime = Date.now();
|
|
3409
|
+
logsConfig.lifecycle && console.log(
|
|
3410
|
+
`${this.foundCmp.name}: done in ${this.state.endTime - this.state.startTime}ms with ${this.state.clicks} clicks`
|
|
3411
|
+
);
|
|
3412
|
+
this.sendContentMessage({
|
|
3413
|
+
type: "autoconsentDone",
|
|
3414
|
+
cmp: this.foundCmp.name,
|
|
3415
|
+
isCosmetic: this.foundCmp.isCosmetic,
|
|
3416
|
+
url: location.href,
|
|
3417
|
+
duration: this.state.endTime - this.state.startTime,
|
|
3418
|
+
totalClicks: this.state.clicks
|
|
3419
|
+
});
|
|
3420
|
+
this.updateState({ lifecycle: "done" });
|
|
3421
|
+
} else {
|
|
3422
|
+
this.updateState({ lifecycle: optInResult ? "optInSucceeded" : "optInFailed" });
|
|
3423
|
+
}
|
|
3424
|
+
this.restoreFocus();
|
|
3425
|
+
return optInResult;
|
|
3426
|
+
}
|
|
3427
|
+
async doSelfTest() {
|
|
3428
|
+
const logsConfig = this.config.logs;
|
|
3429
|
+
let selfTestResult;
|
|
3430
|
+
if (!this.foundCmp) {
|
|
3431
|
+
logsConfig.errors && console.log("no CMP to self test");
|
|
3432
|
+
selfTestResult = false;
|
|
3433
|
+
} else {
|
|
3434
|
+
logsConfig.lifecycle && console.log(`CMP ${this.foundCmp.name}: self-test on ${window.location.href}`);
|
|
3435
|
+
selfTestResult = await this.foundCmp.test();
|
|
3436
|
+
}
|
|
3437
|
+
this.sendContentMessage({
|
|
3438
|
+
type: "selfTestResult",
|
|
3439
|
+
cmp: this.foundCmp ? this.foundCmp.name : "none",
|
|
3440
|
+
result: selfTestResult,
|
|
3441
|
+
url: location.href
|
|
3442
|
+
});
|
|
3443
|
+
this.updateState({ selfTest: selfTestResult });
|
|
3444
|
+
return selfTestResult;
|
|
3445
|
+
}
|
|
3446
|
+
async waitForPopup(cmp, retries = 10, interval = 500) {
|
|
3447
|
+
const logsConfig = this.config.logs;
|
|
3448
|
+
logsConfig.lifecycle && console.log("checking if popup is open...", cmp.name);
|
|
3449
|
+
let mutationObserver = null;
|
|
3450
|
+
if (this.config.enablePopupMutationObserver) {
|
|
3451
|
+
mutationObserver = this.domActions.waitForMutation("html", 1e4);
|
|
3452
|
+
mutationObserver.catch(() => {
|
|
3453
|
+
});
|
|
3454
|
+
}
|
|
3455
|
+
const isOpen = await cmp.detectPopup().catch((e) => {
|
|
3456
|
+
logsConfig.errors && console.warn(`error detecting popup for ${cmp.name}`, e);
|
|
3457
|
+
return false;
|
|
3458
|
+
});
|
|
3459
|
+
if (!isOpen && retries > 0) {
|
|
3460
|
+
if (mutationObserver) {
|
|
3461
|
+
try {
|
|
3462
|
+
await Promise.all([this.domActions.wait(interval), mutationObserver]);
|
|
3463
|
+
} catch (e) {
|
|
3464
|
+
logsConfig.lifecycle && console.log(cmp.name, "popup detection timed out waiting for DOM mutation");
|
|
3465
|
+
}
|
|
3466
|
+
} else {
|
|
3467
|
+
await this.domActions.wait(interval);
|
|
3468
|
+
}
|
|
3469
|
+
return this.waitForPopup(cmp, retries - 1, interval);
|
|
3470
|
+
}
|
|
3471
|
+
logsConfig.lifecycle && console.log(cmp.name, `popup is ${isOpen ? "open" : "not open"}`);
|
|
3472
|
+
return isOpen;
|
|
3473
|
+
}
|
|
3474
|
+
prehideElements() {
|
|
3475
|
+
const logsConfig = this.config.logs;
|
|
3476
|
+
const globalHidden = [
|
|
3477
|
+
"#didomi-popup,.didomi-popup-container,.didomi-popup-notice,.didomi-consent-popup-preferences,#didomi-notice,.didomi-popup-backdrop,.didomi-screen-medium"
|
|
3478
|
+
];
|
|
3479
|
+
const selectors = this.rules.filter((rule) => rule.prehideSelectors && rule.checkRunContext()).reduce((selectorList, rule) => [...selectorList || [], ...rule.prehideSelectors || []], globalHidden);
|
|
3480
|
+
this.updateState({ prehideOn: true });
|
|
3481
|
+
setTimeout(() => {
|
|
3482
|
+
if (this.shouldPrehide && this.state.prehideOn && !["runningOptOut", "runningOptIn"].includes(this.state.lifecycle)) {
|
|
3483
|
+
logsConfig.lifecycle && console.log("Process is taking too long, unhiding elements");
|
|
3484
|
+
this.undoPrehide();
|
|
3485
|
+
}
|
|
3486
|
+
}, this.config.prehideTimeout || 2e3);
|
|
3487
|
+
return this.domActions.prehide(selectors.join(","));
|
|
3488
|
+
}
|
|
3489
|
+
undoPrehide() {
|
|
3490
|
+
this.updateState({ prehideOn: false });
|
|
3491
|
+
this.domActions.undoPrehide();
|
|
3492
|
+
}
|
|
3493
|
+
updateState(change) {
|
|
3494
|
+
Object.assign(this.state, change);
|
|
3495
|
+
this.sendContentMessage({
|
|
3496
|
+
type: "report",
|
|
3497
|
+
instanceId: this.id,
|
|
3498
|
+
url: window.location.href,
|
|
3499
|
+
mainFrame: isTopFrame(),
|
|
3500
|
+
state: this.state
|
|
3501
|
+
});
|
|
3502
|
+
}
|
|
3503
|
+
async receiveMessageCallback(message) {
|
|
3504
|
+
const logsConfig = __privateGet(this, _config)?.logs;
|
|
3505
|
+
if (logsConfig?.messages) {
|
|
3506
|
+
console.log("received from background", message, window.location.href);
|
|
3507
|
+
}
|
|
3508
|
+
switch (message.type) {
|
|
3509
|
+
case "initResp":
|
|
3510
|
+
this.initialize(message.config, message.rules);
|
|
3511
|
+
break;
|
|
3512
|
+
case "optIn":
|
|
3513
|
+
await this.doOptIn();
|
|
3514
|
+
break;
|
|
3515
|
+
case "optOut":
|
|
3516
|
+
await this.doOptOut();
|
|
3517
|
+
break;
|
|
3518
|
+
case "selfTest":
|
|
3519
|
+
await this.doSelfTest();
|
|
3520
|
+
break;
|
|
3521
|
+
case "evalResp":
|
|
3522
|
+
resolveEval(message.id, message.result);
|
|
3523
|
+
break;
|
|
3524
|
+
case "measurePerformance":
|
|
3525
|
+
this.updateState({ performance: this.measurePerformance() });
|
|
3526
|
+
break;
|
|
3527
|
+
}
|
|
3528
|
+
}
|
|
3529
|
+
measurePerformance() {
|
|
3530
|
+
const getRoundedPerformanceEntries = (name) => performance.getEntriesByName(name).map((m) => Number(m.duration.toFixed(3)));
|
|
3531
|
+
return {
|
|
3532
|
+
detectHeuristics: getRoundedPerformanceEntries("detectHeuristics"),
|
|
3533
|
+
heuristicDetector: getRoundedPerformanceEntries("heuristicDetector"),
|
|
3534
|
+
findCmpSiteSpecific: getRoundedPerformanceEntries("findCmp_site-specific"),
|
|
3535
|
+
findCmpGeneric: getRoundedPerformanceEntries("findCmp_generic"),
|
|
3536
|
+
findCmpHeuristic: getRoundedPerformanceEntries("findCmp_heuristic"),
|
|
3537
|
+
parseDeclarativeRules: getRoundedPerformanceEntries("parseDeclarativeRules")
|
|
3538
|
+
};
|
|
3539
|
+
}
|
|
3540
|
+
};
|
|
3541
|
+
_config = new WeakMap();
|
|
3542
|
+
|
|
3543
|
+
// rules/compact-rules.json
|
|
3544
|
+
var compact_rules_default = { v: 1, s: ["dialog.cookie-consent", "dialog.cookie-consent form.cookie-consent__form", "dialog.cookie-consent form.cookie-consent__form button[value=no]", "dialog.cookie-consent form.cookie-consent__form button.cookie-consent__options-toggle", 'dialog.cookie-consent form.cookie-consent__form button[value="save_options"]', "div.acris-cookie-consent", "[data-acris-cookie-consent]", ".acris-cookie-consent.is--modal", "#ccAcceptOnlyFunctional", "#cookie-banner", "#adopt-controller-button", "#adopt-reject-all-button", "#adroll_consent_container", "#adroll_consent_reject", "__adroll_fpc", ".c-cookie-notice button[data-qa='allow-all-cookies']", ".c-cookie-notice", 'button[data-qa="reject-non-essentials"]', "serif_manage_cookies_viewed", "serif_allow_analytics", '#sp-cc-wrapper,[data-action=sp-cc],span[data-action="sp-cc"][data-sp-cc*="rejectAllAction"]', '#sp-cc-wrapper *,[data-action=sp-cc],span[data-action="sp-cc"][data-sp-cc*="rejectAllAction"]', "#sp-cc-rejectall-link", "#user-consent-management-granular-banner-overlay", "[data-testid=granular-banner-button-decline-all]", "div:has(> p > a[href='https://www.anthropic.com/legal/cookies'])", "div:has(> p > a[href='https://www.anthropic.com/legal/cookies']) button:nth-child(2)", "anthropic-consent-preferences", "#consent-tracking", "#consent-tracking .decline.btn", ".modal-open bahf-cookie-disclaimer-dpl3", "bahf-cookie-disclaimer-dpl3", "bahf-cookie-disclaimer-dpl3:not([aria-hidden=true])", "cookie_consent=denied", "#cookie-policy-info,#cookie-policy-info-bg", "#cookie-policy-info button", "#cookie-policy-info .btn-reject", "#cookie-policy-info .btn-setting", "#cookie-policy-info .btn-ok", 'form[class*="cookie-banner"][method="post"]', 'form[class*="cookie-banner"] div[class*="simple-options"] a[class*="customize-button"]', "input[type=checkbox][checked]:not([disabled])", 'a[class*="accept-selection-button"]', "#awsccc-cb-content", "#awsccc-cs-container", "#awsccc-cs-modalOverlay", "#awsccc-cs-container-inner", "button[data-id=awsccc-cb-btn-decline]", "button[data-id=awsccc-cb-btn-customize]", "input[aria-checked]", "input[aria-checked=true]", "button[data-id=awsccc-cs-btn-save]", ".axeptio_widget,.axeptio_mount", ".axeptio-widget--open", ".axeptio_mount .axeptio_widget", ".axeptio_mount .needsclick", "button#axeptio_btn_dismiss,button.ax-discardButton", "axeptio_authorized_vendors=%2C%2C", "#cookie_consent_wrapper, #cookie_consent_min_wrapper, #manage_cookie_consent_modal", "#cookie_consent_wrapper:not(.hideConsent)", "#cookie_consent_wrapper #consent_accept_essential, #manage_cookie_consent_modal #modal_consent_accept_essential", "#age_disclaimer_window,#ageDisclaimerWrapper", "#cookie_consent_min_wrapper #close_minimized_banner", "cookieConsent=1", ".b-cookie.is-open", ".cookie-alert.t-dark", "#cookie-accept-necessary", ".cookie-alert .checkbox__input:checked:not(:disabled)", ".cookie-alert__button button", ".cookies-message", ".cookies-message [name='allow-all']", ".cookies-message button.bds-button-unstyled", ".cookies-policy-dialog[open]", ".cookies-policy-dialog fieldset input[type=radio][value=false]:not(:checked)", ".cookies-policy-dialog button.bds-button", ".cookies-message button.bds-button:not([name])", "#consent-manager", "#consent-manager button", "#consent-manager button:nth-child(2)", "tracking-preferences", "#bnp_container", "#bnp_cookie_banner", "#bnp_btn_accept,#bnp_btn_reject", "#bnp_btn_reject", "AD=0", ".cookie-notification", "#blocksy-ext-cookies-consent-styles-css", ".cookie-notification .ct-cookies-decline-button", "blocksy_cookies_consent_accepted=no", "#BorlabsCookieBox", "._brlbs-block-content,.brlbs-cmpnt-dialog", "._brlbs-bar-wrap,._brlbs-box-wrap,.brlbs-cmpnt-dialog", ".brlbs-btn-accept-only-essential,a[data-cookie-refuse]", "a[data-cookie-individual]", ".cookie-preference", "input[data-borlabs-cookie-checkbox]:checked", "#CookiePrefSave", "#bsw-consentCookie", "#bsw-consentCookie .accept-btn", "#bsw-consentCookie .manage-cookies-btn", "#bsw-consentCookie .config-banner_section", "#bsw-consentCookie input[type=checkbox]:checked:not(:disabled)", "x-bsw-consentCookie", ".bpa-cookie-banner", ".bpa-cookie-banner .bpa-module-full-hero", ".bpa-close-button", "cookie-allow-tracking=0", ".cookie-modal", "#notice-cookie-block", "#html-body #notice-cookie-block", "#btn-cookie-manage", "#notice-cookie-block input:checked", "#btn-cookie-save", "#html-body #notice-cookie-block, #notice-cookie", ".cassie-cookie-module", ".cassie-pre-banner", "#cassie_pre_banner_text", ".cassie-reject-all", ".cc_banner-wrapper", ".cc_banner", ".cc-banner[data-cc-banner]", ".cc-banner[data-cc-banner] button[data-cc-action=reject]", ".cc-banner[data-cc-banner] button[data-cc-action=preferences]", ".cc-preferences[data-cc-preferences]", ".cc-preferences[data-cc-preferences] input[type=radio][data-cc-action=toggle-category][value=off]", ".cc-preferences[data-cc-preferences] button[data-cc-action=reject]", ".cc-preferences[data-cc-preferences] button[data-cc-action=save]", "[data-modal-content]:has([data-toggle-target^='cookie'])", "[data-toggle-target^='cookie']", "[data-cookie-dismiss-all]", "#cp-gdpr-choices", ".gdpr-top-content > button", ".gdpr-top-back", ".gdpr-btm__right > button:nth-child(1)", "#ccc-module,#ccc-overlay,#ccc", "#ccc-module,#ccc-notify", "#ccc", ".ccc-reject-button", "#ccc-module", "#ccc-dismiss-button", ".cc-individual-cookie-settings", ".cc-individual-cookie-settings #cookie-settings-reject-all", "ckies_cookielaw", "#cl-consent", '#cl-consent [data-role="b_options"]', '.cl-consent-popup.cl-consent-visible [data-role="alloff"]', '[data-role="b_save"]', "__lxG__consent__v2_daisybit=", ".consent-modal[role=dialog]", "#consent_reject", "#manage_cookie_preferences", "#cookie_consent_preferences input:checked", "#consent_save", "ctc_rejected=1", ".cf_modal_container", "#cmplz-cookiebanner-container", "#cmplz-cookiebanner-container .cmplz-cookiebanner", ".cmplz-cookiebanner .cmplz-deny", "cmplz_banner-status=dismissed", '.cc-type-categories[aria-describedby="cookieconsent:desc"]', '.cc-type-categories[aria-describedby="cookieconsent:desc"] .cc-dismiss', ".cc-dismiss", ".cc-type-categories input[type=checkbox]:not([disabled]):checked", ".cc-save", '.cc-type-info[aria-describedby="cookieconsent:desc"]', '.cc-type-info[aria-describedby="cookieconsent:desc"] .cc-compliance .cc-btn', ".cc-deny", '[aria-describedby="cookieconsent:desc"]', '[aria-describedby="cookieconsent:desc"] .cc-type-opt-both', '[aria-describedby="cookieconsent:desc"].cc-type-opt-out', ".cmp-pref-link", ".cmp-body [id*=rejectAll]", ".cmp-body .cmp-save-btn", '.cc-type-opt-in[aria-describedby="cookieconsent:desc"]', ".cc-settings", ".cc-settings-view", ".cc-settings-view input[type=checkbox]:not([disabled]):checked", ".cc-settings-view .cc-btn-accept-selected", "csm-cookie-consent", "#cookie-information-template-wrapper", "#CcpaWrapper", "CookieInformationConsent=", ".spicy-consent-wrapper", ".spicy-consent-bar", ".js-decline-all-cookies", "#cookie-law-info-bar, #cookie-law-bg, .cli-popupbar-overlay", "#cookie-law-info-bar", "cookielawinfo-checkbox-non-necessary=yes", "#btn-cookie-settings", "#notice-cookie-block #allow-functional-cookies, #notice-cookie-block #btn-cookie-settings", "#allow-functional-cookies", ".modal-body", '.modal-body input:checked, .switch[data-switch="on"]', '[role="dialog"] .modal-footer button', "#cookiescript_injected", "#cookiescript_reject", "#cookiescript_manage", ".cookiescript_fsd_main", "#cookieAcceptBar.cookieAcceptBar", "#cc--main", "html.show--consent #cm", "#s-all-bn", "#s-rall-bn", "#c-s-bn", "#s-sv-bn", "cc_cookie=", "#cc-main", "#cc-main .cm-wrapper", ".cm__btn[data-role=necessary]", ".cm__btn[data-role=show]", "#cc-main .pm__btn[data-role=necessary]", ".cc-cookies", ".cc-cookies .cc-cookie-accept", ".cc-cookies .cc-cookie-decline", "#cookiefirst-root,.cookiefirst-root,[aria-labelledby=cookie-preference-panel-title]", "#cookiefirst-root,.cookiefirst-root", "button[data-cookiefirst-action=adjust]", "[data-cookiefirst-widget=modal]", "button[data-cookiefirst-action=save]", "button[data-cookiefirst-action=reject]", ".ch2-container", ".ch2-dialog", ".ch2-open-settings-btn, .ch2-open-personal-data-btn", ".ch2-settings", ".ch2-deny-all-btn", ".ch2-settings input[type=checkbox]:not([disabled]):checked", ".ch2-save-settings-btn", "cookiehub=", ".cookiejs-banner-wrapper", ".cookiejs-banner-wrapper:not(.modal)", ".cookiejs-banner-wrapper button.cookiejs-button", ".cookiejs-banner-wrapper #reject-cookies-btn", "analytics_cookies=false", ".cookiejs-banner-wrapper.modal", ".cookiejs-banner-wrapper .cookiejs-banner-text", ".cookiejs-banner-wrapper .cookiejs-banner-li:nth-of-type(2) button", "cookiejs_preferences", ".cky-overlay,.cky-consent-container", ".cky-consent-container", ".cky-consent-container [data-cky-tag=reject-button]", ".cky-consent-container [data-cky-tag=settings-button]", ".cky-modal-open input[type=checkbox],.cky-consent-bar-expand input[type=checkbox]", ".cky-modal-open input[type=checkbox]:checked,.cky-consent-bar-expand input[type=checkbox]:checked", ".cky-modal [data-cky-tag=detail-save-button],.cky-consent-bar-expand [data-cky-tag=detail-save-button]", ".cky-consent-container,.cky-overlay,.cky-consent-bar-expand", "advertisement:no", ".cookiealert", ".configurecookies", ".confirmcookies", "#ct-ultimate-gdpr-cookie-popup", "#ct_ultimate-gdpr-cookie-reject a,#ct-ultimate-gdpr-cookie-reject", "#ct-ultimate-gdpr-cookie-change-settings", '#ct-ultimate-gdpr-cookie-modal-slider-form input[type=radio][value="1"], #ct-ultimate-gdpr-cookie-modal-slider-form input[type=radio][value="2"]', "#ct-ultimate-gdpr-cookie-modal-body .save", "ct-ultimate-gdpr-cookie=", "#cookiebar", "#cookiebar .cookiebar-content", 'div[class*="CookiePopup__desktopContainer"]:has(div[class*="CookiePopup"])', 'div[class*="CookiePopup__desktopContainer"]', ".cookie-banner.show .cookie-banner__content-all-btn", ".cookie-banner__content-essential-btn", "*[data-testid='dl-cookieBanner']", "[data-testid='dl-cookieBanner']", "button[data-testid='cookie-banner-strict-accept-selected']", "#didomi-popup,.didomi-popup-container,.didomi-popup-notice,.didomi-consent-popup-preferences,#didomi-notice,.didomi-popup-backdrop,.didomi-screen-medium", "#didomi-host", '#didomi-popup, #didomi-notice, .didomi-popup-notice, .didomi-notice-banner, #didomi-host:not([aria-hidden="true"]):not(:empty)', "#didomi-notice-disagree-button,.didomi-continue-without-agreeing", '[data-project="mol-fe-cmp"]', '[data-project="mol-fe-cmp"] [class*=footer]', '[data-project="mol-fe-cmp"] button[class*=basic]', '[data-project="mol-fe-cmp"] div[class*="tabContent"]', '[data-project="mol-fe-cmp"] div[class*="toggle"][class*="enabled"]', "#mol-ads-cmp-iframe, div.mol-ads-cmp > form > div", "div.mol-ads-cmp > form > div", "div.mol-ads-ccpa--message > u > a", ".mol-ads-cmp--modal-dialog", "a.mol-ads-cmp-footer-privacy", "button.mol-ads-cmp--btn-secondary", "#pg-root-shadow-host", ".cmp-popup_popup", ".cmp-app_gdpr", ".cmp-popup_popup .cmp-intro_rejectAll", ".cmp-popup_popup .cmp-details_rejectAll", "lpubconsent=", "#drupalorg-crosssite-gdpr", ".no", "div[data-testid=cookie-consent-modal-backdrop]", "div[data-testid=cookie-consent-message-contents]", "button[data-testid=cookie-consent-adjust-settings]", "button[data-testid=cookie-consent-preferences-save]", "cc_functional=0", "cc_targeting=0", "div[role='dialog'][aria-modal='true']:has([data-qa='accept-all-button'])", "[data-qa='accept-all-button']", "[data-qa='reject-non-essential-button']", "#ensNotifyBanner", ".ensModal", "#ensNotifyBanner[style*=block]", "#ensModalWrapper[style*=block]", "#ensNotifyBanner #ensRejectAll,#ensNotifyBanner #rejectAll,#ensNotifyBanner #ensRejectBanner,#ensNotifyBanner .rejectAll,#ensNotifyBanner #bannerRejectButton,#ensNotifyBanner #ensRejectAds", "#ensOpenModal,#modalOpenButton,#bannerOpenModal", ".ensCheckbox:checked:not(:disabled)", "#ensSave,#modalSaveButton,#bannerSave", "#ensCloseBanner", "#gdpr-single-choice-overlay", "#gdpr-privacy-settings", "button[data-gdpr-open-full-settings]", ".gdpr-overlay-body input", ".pea_cook_wrapper,.pea_cook_more_info_popover", ".pea_cook_wrapper", "euCookie", "body.eu-cookie-compliance-popup-open", ".eu-cookie-compliance-banner .decline-button, .eu-cookie-compliance-banner .accept-necessary, .eu-cookie-compliance-save-preferences-button", "cookie-agreed=2", "#ez-cookie-dialog-wrapper", "#ez-manage-settings", "#ez-cookie-dialog input[type=checkbox]", "#ez-cookie-dialog input[type=checkbox]:checked", "#ez-save-settings", "ez-consent-tcf", "#fast-cmp-root", "iframe#fast-cmp-iframe", "fastCMP-", "fedex-gdpr", "fedex-gdpr div", "fedex-gdpr .fxg-gdpr__reject-all-btn", "_svs=", "#fides-overlay, #fides-overlay-wrapper", "#fides-overlay-wrapper #fides-banner", ".fides-banner-button", "#fides-banner .fides-reject-all-button", "#fides-banner .fides-manage-preferences-button", ".fides-reject-all-button", "[fs-consent-element=banner]", "[fs-consent-element=banner] [fs-consent-element=allow]", "[fs-consent-element=banner] [fs-consent-element=deny]", ".fc-consent-root,.fc-dialog-container,.fc-dialog-overlay,.fc-dialog-content", ".fc-consent-root", ".fc-dialog-container", ".fc-cta-do-not-consent,.fc-cta-manage-options", ".fc-preference-consent:checked,.fc-preference-legitimate-interest:checked", ".fc-confirm-choices", '[class*="gcb-modal-overlay"]', "[data-gcb-modal-show-prefs]", "[data-gcb-modal-save]", "gcbcl=a3|m3", ".overlay_bc_banner", 'a[href="https://gdpr-legal-cookie.myshopify.com/"]', ".overlay_bc_banner .banner-body", ".overlay_bc_banner *[data-cookie-save]", 'a[href^="https://policies.google.com/technologies/cookies"', 'form[action^="https://consent.google."][action$="/save"],form[action^="https://consent.youtube."][action$="/save"]', 'form[action^="https://consent.google."][action$="/save"]:has(input[name=set_eom][value=true]) button,form[action^="https://consent.youtube."][action$="/save"]:has(input[name=set_eom][value=true]) button', ".glue-cookie-notification-bar", ".glue-cookie-notification-bar__reject", ".HTjtHe#xe7COe", '.HTjtHe#xe7COe a[href^="https://policies.google.com/technologies/cookies"]', ".HTjtHe#xe7COe button#W0wltc", "SOCS=CAE", ".govuk-cookie-banner__message", ".govuk-cookie-banner__message .govuk-button", ".gravitoCMP-background-overlay", "#modalSettingBtn.gravitoCMP-button", "#allRejectBtn", ".gravitoCMP-content-section", ".gravitoCMP-content input[type=checkbox]:checked", "gravitoData", "#modal-host > div.no-hash > div.window-wrapper", "#modal-host > div.no-hash > div.window-wrapper, div[data-testid=qualtrics-container]", '#modal-host > div.no-hash > div.window-wrapper > div:last-child a[href="/privacy-settings"]', "div#__next", "#__next div:nth-child(1) > button:first-child", ".cookie-modal .cookie-accept-btn", ".cookie-modal .js-cookie-reject-btn", "cookies_rejected=1", ".cookieModalContent", "#cookie-banner-overlay", "#manageCookie", ".cookieSettingsModal", "#AOCookieToggle", "#AOCookieToggle[aria-pressed=true]", "#TPCookieToggle", "#TPCookieToggle[aria-pressed=true]", "#updateCookieButton", "dialog[data-cookie-consent]", 'a[data-cookie-accept="functional"]', "#hu.hu-wrapper", "#hu.hu-visible", "#hu-cookies-save", "#hs-eu-cookie-confirmation", "#hs-eu-decline-button", ".accept-cookie", ".accept-cookie > .accept-cookie-inner", "xpath///*[contains(@class, 'accept-cookie')]//*[contains(text(), 'Decline')]", "cookie-pref=rejected", ".privacy-consent--backdrop", ".privacy-consent--modal", ".footer-config-link", "#confirmSelection", "#iubenda-cs-banner", ".iubenda-cs-accept-btn", ".iubenda-cs-reject-btn", ".iubenda-cs-customize-btn", ".iub-btn-reject", "#iubFooterBtn", "body.cookies-request #cookie-bar", "body.cookies-request #cookie-bar .disallow-cookies", "cookie_permission_granted=no", ".widget_eu_cookie_law_widget", "div[class^=pecr-cookie-banner-]", "button[data-test^=manage-cookies]", "label[data-test^=toggle][class*=checked]:not([class*=disabled])", "button[data-test=save-preferences]", ".cookie-bar", ".cookie-bar .cookie-bar__message,.cookie-bar .cookie-bar__buttons", "cookies-state=accepted", ".consent-banner", ".consent-banner .consent-banner__actions", ".consent-banner__actions button.basic-button.secondary", ".consent-modal__footer button.basic-button.secondary", ".consent-modal ion-content > div > a:nth-child(9)", "label.consent-switch input[type=checkbox]:checked", ".consent-modal__footer button.basic-button.primary", ".kc-overlay", "#kconsent", ".kc-dialog", "#kc-denyAndHide", "#lanyard_root div[role='dialog']", "#ketch-banner", "#ketch-modal", "#lanyard_root [class*='ketch-fixed']", "#ketch-banner-button-tertiary", "#lanyard_root [aria-describedby=banner-description]", "#lanyard_root div[class*=buttons] > button[class*=secondaryButton], #lanyard_root button[class*=buttons-secondary]", "#lanyard_root [id^='ketch-banner-buttons-container'] > button:only-child", "#lanyard_root [aria-describedby=preference-description],#lanyard_root [aria-describedby=modal-description], #ketch-preferences, #ketch-purposes-modal", "#lanyard_root button[class*=rejectButton], #lanyard_root button[class*=rejectAllButton], #ketch-modal button[aria-label='Reject All'], #ketch-purposes-modal button[aria-label='Reject All']", "#lanyard_root button[class*=confirmButton], #lanyard_root div[class*=actions_] > button:nth-child(1), #lanyard_root button[class*=actionButton], #ketch-modal button[aria-label='Confirm'], #ketch-purposes-modal button[aria-label='Confirm']", "_ketch_consent_v1_", ".lia-cookie-banner-alert", ".lia-cookie-banner-alert .AjaxFeedback", ".lia-cookie-banner-alert a.lia-cookie-banner-alert-reject", ".darken-layer.open,.lightbox.lightbox--cookie-consent", "body.cookie-consent-is-active div.lightbox--cookie-consent > div.lightbox__content > div.cookie-consent[data-jsb]", ".cookie-consent__footer > button[type='submit']:not([data-button='selectAll'])", "#lgcookieslaw_banner,#lgcookieslaw_modal,.lgcookieslaw-overlay", ".artdeco-global-alert[type=COOKIE_CONSENT]", ".artdeco-global-alert[type=COOKIE_CONSENT] button[action-type=DENY]", "#macaron_cookie_box", "#macaron_cookie_box .macaronbtn", ".macaronbtn.refuse", ".macaronbtn.letmechoose", ".macaronbtn.letmechoose.open", "#cookie_description .paragraph", "#cookie_description input[type=checkbox]:checked:not(:disabled)", ".macaronbtn.confirmselection", "_deCookiesConsent", "div[aria-labelledby=pwa-consent-layer-title]", "div[class^=StyledConsentLayerWrapper-]", "div[aria-labelledby^=pwa-consent-layer-title]", "button[data-test^=pwa-consent-layer-deny-all]", "#wcpConsentBannerCtrl", "dialog[data-testid=accept-our-cookies-dialog]", "#banner-manage", "#pc-confirm", "#moove_gdpr_cookie_info_bar", "#moove_gdpr_cookie_info_bar:not(.moove-gdpr-info-bar-hidden)", ".moove-gdpr-infobar-reject-btn", "#moove_gdpr_cookie_info_bar .change-settings-button", "#moove_gdpr_cookie_modal", ".moove-gdpr-modal-save-settings", "#nhsuk-cookie-banner", "#nhsuk-cookie-banner__link_accept", ".disc-cp--active", ".disc-cp-modal__modal", ".js-disc-cp-deny-all", ".tx-om-cookie-consent", ".tx-om-cookie-consent .active[data-omcookie-panel]", "[data-omcookie-panel-save=min]", "input[data-omcookie-panel-grp]:checked:not(:disabled)", "[data-omcookie-panel-save=save]", ".legalmonster-cleanslate", ".legalmonster-cleanslate #lm-cookie-wall-container", "#lm-accept-necessary", ".osano-cm-window,.osano-cm-dialog", ".osano-cm-window", ".osano-cm-dialog:not(.osano-cm-dialog--hidden)", ".osano-cm-denyAll,.osano-cm-deny", ".osano-cm-dialog--type_bar .osano-cm-dialog__close", ".cookieBanner--visibility", ".cookieBanner__wrapper", ".js_cookieBannerProhibitionButton", ".cookie-banner:has([data-ol-cookie-banner-set-consent])", "[data-ol-cookie-banner-set-consent]", "[data-ol-cookie-banner-set-consent=essential]", "oa", ".js-cookie-notice:has(#cookie_settings-form)", ".js-cookie-notice #cookie_settings-form", ".js-cookie-notice button[value=disable]", "#pandectes-banner", "#pandectes-banner .cc-deny", "#pandectes-banner .cc-settings", ".pd-cp-ui-rejectAll", ".pd-cp-ui-save", "#ccpaCookieContent_wrapper, article.ppvx_modal--overpanel", "#ccpaCookieBanner, .privacy-sheet-content", "#bannerDeclineButton", "a#manageCookiesLink", ".privacy-sheet-content #formContent", "#formContent .cookiepref-11m2iee-checkbox_base input:checked", ".cookieAction.saveCookie,.confirmCookie #submitCookiesBtn", "#gdprCookieBanner", "#gdprCookieContent_wrapper", "cookie_prefs", "#pmc-pp-tou--notice", "#js-consent-banner", "#js-consent-banner #js-cookie-reject-button", "#js-consent-banner #js-cookie-dismiss-button", "cookie-consent=", ".cookiesBanner", ".cookiesBanner .wrapper-cookies", ".gdpr-wrapper", ".gdpr-wrapper .gdpr-cookie-wrapper", "#cookie-bar", "#cookie-bar .cb-enable,#cookie-bar .cb-disable,#cookie-bar .cb-policy", "#cookie-bar .cb-disable", "cb-enabled=accepted", "#cookie-consent-banner", "#cookie-consent-banner #accept-button", "#cookie-consent-banner #deny-button", "#cookie-consent-banner #manage-settings-button", "#manage-cookies #save-button", "#pubtech-cmp", "#pubtech-cmp #pt-actions", "#pubtech-cmp #pt-close", "#qc-cmp2-main,#qc-cmp2-container", "#qc-cmp2-container", "#qc-cmp2-ui", "#disagree-btn", '.qc-cmp2-summary-buttons > button[mode="secondary"]', '.qc-cmp2-summary-buttons > button[mode="secondary"]:nth-of-type(2)', '.qc-cmp2-summary-buttons > button[mode="secondary"]:nth-of-type(1)', "#qc-cmp2-ui .qc-cmp2-consent-info", '.qc-cmp2-toggle-switch > button[aria-checked="true"]', ".qc-cmp2-buttons-desktop > button[mode=primary]", 'div[consent-skip-blocker="1"][id][data-bg]', 'div[consent-skip-blocker="1"][id][data-bg] > dialog > div > div > div > div > div > a[role=button][id]', ".consent-banner .consent-banner-copy", ".consent-banner .consent--manage", ".consent-modal .consent-bucket", ".consent-modal input[type=checkbox]:checked", ".consent-modal .consent-save", ".cookies-consent", ".cookies-consent .cookies-inner", "s4s-privacy-module", "s4s-privacy-module button.decline", "_cookieanalytics", "#shopify-pc__banner", "#shopify-pc__banner__btn-decline", "sibbo-cmp-layout", "#rejectAllMain", "#sd-cmp", "#sd-cmp [role='button'][title='Close']", ".snigel-cmp-framework", "#sn-b-custom", "#sn-b-save", "snconsent", ".cookie-banner-mount-point", ".cookie-banner-mount-point section[aria-label='Cookie banner']", ".cookie-banner-mount-point button.decline", "#cookie-consent-banner #accept-cdp-cookie", "#reject-cdp-cookie", "squiz.cdp.consent", ".cookiepreferences_popup", "#rejectAllButton", ".cookies-reminder", ".cookies-reminder .cookies-reminder__content", ".cookies-reminder .cookies-reminder__manage-button", "dialog[open] .cookies-select-modal .cookies-select-modal__buttons .ds-btn-apply-2-ds", " c=%7B%22essential", "div[class*=cookieBanner].pencraft", "hideCookieBanner=", "#CookieConsentBannerPlaceholder", "#CookieConsentBannerPlaceholder .cookies-banner-container", ".syno_cookie_element", ".syno_cookie_element .btn_option", ".syno_cookie_element .scb_dialog_body", ".syno_cookie_element.scb_dialog input[type=checkbox]:checked:not(:disabled):not([readonly])", ".syno_cookie_element.scb_dialog .scb_btn_save", "syno_confirm_v5_answer", '"targeting":false', "#consent-banner-main", "#consent-banner-modal", '#consent-banner-modal a[href="#reject"]', '#consent-banner-modal a[href="#settings"]', '#consent-banner-settings a[href="#reject"]', 'div[class^="cookies-banner-module_"]', 'div[class^="cookies-banner-module_cookie-banner_"]', 'div[class^="cookies-banner-module_small-cookie-banner_"]', "#tarteaucitronRoot", "#tarteaucitronAllDenied2", "#tarteaucitronCloseAlert", ".dsgvoaio-checkbox", ".dsgvoaio-checkbox > input:checked", "#tarteaucitronPersonalize", "#tarteaucitronAllDenied", "#tarteaucitronClosePanel", "#taunton-user-consent__overlay", "#taunton-user-consent__overlay:not([aria-hidden=true])", "#taunton-user-consent__toolbar input[type=checkbox]:checked", "#taunton-user-consent__toolbar button[type=submit]", "taunton_user_consent_submitted=true", "#tccCmpAlert", "xpath///span[contains(.,'Accetta solo cookie necessari')]", "#__tealiumGDPRecModal,#__tealiumGDPRcpPrefs,#__tealiumImplicitmodal,#consent-layer", "#__tealiumGDPRecModal *,#__tealiumGDPRcpPrefs *,#__tealiumImplicitmodal *", "#__tealiumGDPRecModal,#__tealiumGDPRcpPrefs,#__tealiumImplicitmodal", "#cm-acceptNone,.js-accept-essential-cookies,#continueWithoutAccepting,#no_consent,#consent_prompt_decline", "#__tealiumGDPRecModal,#__tealiumGDPRcpPrefs", "#termly-code-snippet-support", "#termly-code-snippet-support div", '[data-tid="banner-decline"]', '.t-preference-button,[data-testid="preferences-link"]', ".t-declineAllButton", ".t-preference-modal input[type=checkbox][checked]:not([disabled])", ".t-saveButton", ".termsfeed-com---nb", ".cc-nb-reject", ".cc-nb-changep", 'input[cookie_consent_toggler="true"]', 'input[cookie_consent_toggler="true"]:checked', ".cc-cp-foot-save", ".cc_dialog.cc_css_reboot,.cc_overlay_lock", ".cc_dialog.cc_css_reboot", ".cc_dialog.cc_css_reboot .cc_b_cp", ".cookie-consent-preferences-dialog .cc_cp_f_save button", "#reject-all", "#privacy-test-page-cmp-test", "#privacy-test-page-cmp-test-prehide", "#privacy-test-page-cmp-test-banner", ".consent-banner-box", "consent-banner[component=consent-banner]", "button[data-consent=disagree]", "#cmpBanner", "#cookie-banner.visible", "#cookie-banner.visible .cookie-banner__container .cookie-banner__accept", "#cookie-banner.visible .cookie-banner__container .cookie-banner__reject", "TOYOTANATIONAL_ENSIGHTEN_PRIVACY_TargetingCookies", ".tp-dialog.cookie-dialog", ".tp-dialog.cookie-dialog button", ".tp-dialog-box .checkbox.clickable:not(.checked)", ".tp-dialog-box .tp-cookie-save", "tp_privacy_base", 'div.aem-page > div[class^="CookiesAlert_cookiesAlert__"]', "#transcend-consent-manager", "#shopify-section-cookies-controller", "#shopify-section-cookies-controller #cookies-controller-main-pane", "#cookies-controller-main-pane a[data-tab-target=manage-cookies]", "#manage-cookies-pane.active", "#manage-cookies-pane.active input[type=checkbox][checked]:not([disabled])", "#manage-cookies-pane.active button[type=submit]", ".truste_popframe.trustarc_newcm_container", "cmapi_cookie_privacy=permit 1", "cmapi_cookie_privacy=permit 1,2", "#truyo-consent-module", "#truyo-cookieBarContent", "button#declineAllCookieButton", ".react-cookie-policy", ".react-cookie-policy #cookie-policy", "xpath///div[@class='react-cookie-policy']//button[contains(., 'Cookie settings')]", "button[role='switch']", "xpath///li[contains(., 'Tracking')]//button[@role='switch'][@aria-checked='true']", "xpath///li[contains(., 'Advertising')]//button[@role='switch'][@aria-checked='true']", "xpath///button[contains(., 'Save and close')]", "trybe_cookies_consent_tracking=false", "#twcc__mechanism", "#twcc__mechanism .twcc__notice", "#twcc__decline-button", "twCookieConsent=", ".u12-data-protection-notice", ".u12-data-protection-notice button", ".u12-data-protection-notice button.js-decline", "dialog.cookie-policy", "dialog.cookie-policy header", 'xpath///*[@id="modal"]/div/header', "dialog header", "button.js-manage", 'xpath///*[@id="cookie-policy-content"]/p[4]/button[2]', "dialog.cookie-policy .p-switch__input:checked", "dialog.cookie-policy .js-save-preferences", 'xpath///*[@id="modal"]/div/button', "_cookies_accepted=essential", "#catapult-cookie-bar", ".has-cookie-bar #catapult-cookie-bar", "catAccCookies", "#usercentrics-root,#usercentrics-cmp-ui", "#usercentrics-cmp-ui", "#usercentrics-root", "#usercentrics-button", "#usercentrics-button #uc-btn-accept-banner", "#usercentrics-button #uc-btn-deny-banner", '[data-slot="dialog-content"] a[href*="vivenu.com/dataprivacy"]', '[data-slot="dialog-content"]:has(a[href*="vivenu.com/dataprivacy"]) button:nth-of-type(2)', "div[aria-labelledby=CookieAlertModalHeading]", "section[data-test=initial-waitrose-cookie-consent-banner]", "section[data-test=cookie-consent-modal]", "button[data-test=manage-cookies]", "button[data-test=submit]", "wtr_cookies_advertising=0", "wtr_cookies_analytics=0", ".fs-cc-components,[fs-cc=banner]", ".fs-cc-components,[fs-cc=banner] [fs-cc=allow]", "[fs-cc=banner] [fs-cc=deny]", "[fs-cc=banner]", "fs-cc", ".mw-cookiewarning-container", "[data-comp-type=cookie-banner-root-wix],[data-hook=ccsu-banner-wrapper]", "[data-hook=ccsu-banner-decline-all]", "[data-hook=ccsu-banner-wrapper]", ".wccom-comp-privacy-banner .wccom-privacy-banner", ".wccom-privacy-banner__content-buttons button.is-secondary", "div.wccom-modal__footer > button", "#gdpr-cookie-consent-bar", "#gdpr-cookie-consent-bar #cookie_action_reject", "wpl_viewed_cookie=no", ".sp-dsgvo", ".sp-dsgvo.sp-dsgvo-popup-overlay", ".sp-dsgvo-privacy-btn-accept-nothing", "sp_dsgvo_cookie_settings", ".wpcc-container", ".wpcc-container .wpcc-message", ".cookie_warn", ".cookie_warn .cookie_warn_inner", "div[class^=cookie-consent-CookieConsent]", "#consent-settings-button", ".consent-banner-button-accept-overlay", "userConsent=%7B%22marketing%22%3Afalse", "#cookies-use-alert", "tp-yt-iron-overlay-backdrop.opened", "ytd-consent-bump-v2-lightbox", "ytd-consent-bump-v2-lightbox tp-yt-paper-dialog", 'ytd-consent-bump-v2-lightbox tp-yt-paper-dialog a[href^="https://consent.youtube.com/"]', "ytd-consent-bump-v2-lightbox .eom-buttons .eom-button-row:first-child ytd-button-renderer:first-child #button,ytd-consent-bump-v2-lightbox .eom-buttons .eom-button-row:first-child ytd-button-renderer:first-child button", ".consent-bump-v2-lightbox", "ytm-consent-bump-v2-renderer", "ytm-consent-bump-v2-renderer .privacy-terms + .one-col-dialog-buttons c3-material-button:nth-child(2) button, ytm-consent-bump-v2-renderer .privacy-terms + .one-col-dialog-buttons ytm-button-renderer:nth-child(2) button", "#zdf-cmp-banner-sdk", "#zdf-cmp-main.zdf-cmp-show", "#zdf-cmp-main #zdf-cmp-deny-btn", ".cookie-alert-extended", ".cookie-alert-extended-modal", "a[data-controller='cookie-alert/extended/detail-link']", ".cookie-alert-configuration-input:checked", "button[data-controller='cookie-alert/extended/button/configuration']", 'body > div#root > div#ccpa-iframe-theme-provider[data-testid="ccpa-iframe-theme-provider"] > div#ccpa-iframe[data-testid="ccpa-iframe"] > div#ccpa_consent_banner[data-testid="ccpa_consent_banner"] > div:not([id]) > div:nth-child(3):not([id]) > span:not([id]) > span:not([id]) > div:nth-child(2):not([id]) > span:nth-child(1):not([id]) > button#decline_cookies_button[data-testid="decline_cookies_button"]', "body:not([id]) > div#banner-0 > div:nth-child(1)#grouped-pageload-Banner > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#iubenda-cs-banner > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(5):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#ds-cookie-consent-banner > div:not([id]) > div:not([id]) > button:nth-child(4)#reject_optional_cookies", "body:not([id]) > div#banner-0 > div:nth-child(1)#grouped-pageload-Banner > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(3):not([id])", "body > div:not([id]) > div#clym-app-layout > div:nth-child(2)#clym-notice-layout > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div#clym-app-layout > div:nth-child(2)#clym-notice-layout > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div#clym-app-layout > div:nth-child(2)#clym-notice-layout > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1)#handle-reject-all", "body > div#banner-0 > div:nth-child(1)#grouped-pageload-Banner > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1)#dashboard > div:not([id]) > div:nth-child(2)#dashboard-body-container > div:nth-child(2):not([id]) > button:nth-child(4)#decline-text", "body > div:not([id]) > div:nth-child(4):not([id]) > button#cookie_all_reject", "body > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#cookie_all_reject", "body > div:not([id]) > div#clym-app-layout > div:nth-child(2)#clym-notice-layout > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1)#handle-reject-all", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1)#dashboard > div:not([id]) > div:nth-child(1):not([id]) > button#decline-text", "body:not([id]) > div#root > div#ccpa-iframe-theme-provider > div#ccpa-iframe > div#ccpa_consent_banner > div:not([id]) > div:nth-child(3):not([id]) > span:not([id]) > span:not([id]) > div:nth-child(2):not([id]) > span:nth-child(1):not([id]) > button#decline_cookies_button", "body#moneyinvesting > div#top > div#content > div:nth-child(4):not([id]) > a:nth-child(11):not([id])", "body > div#banner-0 > div:nth-child(1)#grouped-pageload-Banner > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(3):not([id])", "body > div#app > div#app > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > button:nth-child(1):not([id]) > div:not([id])", "body > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(4):not([id]) > div:not([id]) > a:nth-child(1)#ipoclick-btn-cookiebar-ik_ga_niet_akkoord_var_a", "body > div[id] > div > div > div > div > div:nth-child(3) > span > span > div:nth-child(2) > span:nth-child(1) > button", "div[class^=CookieBannerContent__Container]", "button[class^=CookieBannerContent__Settings]", "div[class^=CookiePreferencesModal__CategoryContainer] input:checked", "div[class^=CookiePreferencesModal__ButtonContainer] > button", "#gdpr-consent-tool-wrapper", 'iframe[src^="https://cmp-consent-tool.privacymanager.io"]', "button#save", "#denyAll", ".okButton", "#manageSettings", ".purposes-overview-list", "button#saveAndExit", "span[role=checkbox][aria-checked=true]", "#save-all-pur", "#reminder", "[data-component=CookieBanner]", "[data-component=CookieBanner] [data-component=CookieBanner_AcceptAll]", "[data-component=CookieBanner] [data-component=CookieBanner_AcceptABCRequired]", "trackingconsent", "aside#cookies,.overlay-cookies", "#cookies .cookies-btn", "#cookies #submitCookies", "#cookies #rejectCookies", ".fullpageCover", ".fullpageCover a[href*='/go/page/privacy.html']", ".fullpageCover div.rounded-full:nth-child(2)", "#cookie-overlay", "#decline-cookies", "#aag-cookie-consent", "#gdpr-new-container", "#gdpr-new-container,#voyager-gdpr > div", "#voyager-gdpr > div", "#voyager-gdpr > div > div > button:nth-child(2)", "#gdpr-new-container .btn-more", "#gdpr-new-container .gdpr-dialog-switcher", "#gdpr-new-container .switcher-on", "#gdpr-new-container .btn-save", "div:has(> div > button[allytmln=ally-cookie-consent])", "button[allytmln=ally-cookie-consent]", "#footer-container ~ div", "#footer-container > div", "body > div#shopify-section-popups > div:nth-child(1):not([id]) > modal-box#modal-popups-0 > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#cookieNotice > span:not([id])", "body > div#cookieAreaBase > div#cookieArea > p:nth-child(1):not([id]) > a:nth-child(3):not([id])", "body > div#cookieAreaBase > div#cookieArea > div:nth-child(2):not([id]) > a:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(4):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body#customcss > div#root > div:nth-child(4):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > span:nth-child(1):not([id]) > div:nth-child(5):not([id]) > button:nth-child(2):not([id])", "body > div#cookieConsentModal > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > button:nth-child(2):not([id])", 'body > div#cookie-banner-deezer > div#gdpr-dir-tag > div:not([id])[data-testid="cookie-banner"] > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button#gdpr-btn-refuse-all[data-testid="gdpr-btn-refuse-all"]', "body:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div:not([id]) > div#gdpr_notification_container > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(6):not([id]) > div:not([id]) > a#gdpr_reject_button", "#cookiesPortletDiv", "#cookiesPortletDiv .cookie-buttons", "#cookiesPortletDiv button[aria-label='Only Mandatory']", "body > dialog:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > button:nth-child(2)#deny-consent-button", "body > div#cookie-policy > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", ".MuiStack-root:has(a[href='/privacy']):has(button)", "body > div#portal-cookie-banner > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2)#portal-cookie-banner__wrapper > aside#portal-cookie-banner__content > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#messages > div:nth-child(1)#shopify-section-cookie-banner > section#shopify-section-cookie-banner > div:nth-child(1):not([id]) > button:nth-child(2):not([id])", "body > div#messages > div:nth-child(2)#shopify-section-newsletter-banner > section:nth-child(1):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > form#trackingConsent > button:nth-child(2):not([id])", "body:not([id]) > div#cookieConsent > div:nth-child(2):not([id]) > a:nth-child(3):not([id])", "body > pnp-root:not([id]) > div:not([id]) > ui-storefront:not([id]) > footer:nth-child(8):not([id]) > cx-page-layout:not([id]) > cx-page-slot:not([id]) > cms-popia-component:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#___gatsby > div:nth-child(1)#gatsby-focus-wrapper > div:nth-child(3):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > button:not([id])", "body > div#layout-fea-0-bd-5-e-e-723-4027-aa-78-dbcc-846073-a-6 > div#page-62928 > div:not([id]) > div:nth-child(8)#\\31 e9783d2-3575-4c86-b6e8-bc0fd6b17307 > div#\\31 e9783d2-3575-4c86-b6e8-bc0fd6b17307-banner > div:nth-child(3):not([id]) > a:nth-child(1)#\\31 e9783d2-3575-4c86-b6e8-bc0fd6b17307-decline", "body > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div#c-cookiebanner > section:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > p:nth-child(1):not([id]) > button:not([id])", "body > div#wrapper > div:nth-child(4):not([id]) > button:nth-child(3):not([id])", "body > div#frame-modals > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#message-banner > div:not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > div#cookiemodal > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:nth-child(5)#footer-cookie-buttons > a:nth-child(2)#footer-cookie-close", "body > div#notice-cookie-block > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > div#termsfeed-pc1-notice-banner > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > button:nth-child(2)#termsfeed_privacy_consent_banner_button_reject_all", "body > main:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div#accn-cookie-consent-wrapper > div#accn-cookie-consent > div:nth-child(2)#accn-statement-scroller > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:not([id])", "body:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:nth-child(2):not([id])", "body > hathi-cookie-consent-banner:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#cookies-modal > div:nth-child(2)#consent-modal > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id]) > span#consent-modal-refuse", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div#csm-wrapper > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#root > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(1):not([id]) > button:not([id])", "body > div#body-wrapper > section:nth-child(5):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div#wrapwrap > div:nth-child(5)#website_cookies_bar > div:not([id]) > div:not([id]) > div:not([id]) > section:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > a:nth-child(1)#cookie-banner-essential", "body > aside:not([id]) > div:nth-child(2)#cookie-consent-modal > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div#cc--main > div#cc_div > div:nth-child(1)#cm > div#c-inr > div:nth-child(2)#c-bns > button:nth-child(2)#c-s-bn", "body > div#dk-cookie-message > div:not([id]) > button:nth-child(3):not([id])", "body > aside:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > a:nth-child(3):not([id])", "body > div:not([id]) > div:not([id]) > div#ch2-settings-dialog > div:nth-child(3):not([id]) > div:nth-child(1)#ch2-settings > button:nth-child(4):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > a:nth-child(3):not([id])", "body:not([id]) > div#cookieConsentBanner > div#cookieConsentContent > button:nth-child(4)#closeConsentBanner", "body:not([id]) > div#cookies-modal > div:nth-child(2)#consent-modal > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id]) > span#consent-modal-refuse", "body > div:not([id]) > a:nth-child(3):not([id])", "body > div#root > div:nth-child(2):not([id]) > div:nth-child(5):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#tna-cookie-prompt-banner > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#reject-cookie", 'body > div#ecom2-spa-root > div:nth-child(4)#layout-grid > div:nth-child(4)#main-content-v2 > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])[data-testid="cookie-btn-deny"]', "body > div:not([id]) > div:not([id]) > button:nth-child(5):not([id])", "body > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > a:not([id])", "body > div#gdprCookieBar > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div#c-footerBrandV1 > footer:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div#ez-cookie-notification > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#ez-cookie-notification__decline", "body > div#site-wrapper > div:nth-child(1)#site-canvas > div#wrapper1 > main:nth-child(2)#mainSection1 > div:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2)#cookieadmin_reject_button", "body > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:not([id])", "body > div#privacy-cookie-banners-root > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", 'body > div:not([id])[data-testid="CookieBanner"] > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])', "body > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > form:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", 'body > div#react-application > div:not([id]) > div:not([id])[data-testid="linaria-injector"] > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(2):not([id])[data-testid="main-cookies-banner-container"] > section:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:not([id])', "body > div:not([id]) > div:nth-child(2):not([id]) > div#oax-dialog-main > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > aside#cmp-banner > form:not([id]) > div:nth-child(4):not([id]) > section:not([id]) > div:not([id]) > button:nth-child(1)#cmp-deny-all", "body > main#main > div:nth-child(6):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > a:not([id])", 'body > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:nth-child(2):not([id])[data-testid="s-r-bu"]', "body > div#consent_manager-background > div:nth-child(1)#consent_manager-wrapper > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#consent_manager-accept-none", "body > div#ampsandConsentElement > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body > section#cookie-consent > div:not([id]) > form:nth-child(3):not([id]) > div:nth-child(5):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div#cookie-banner > div:nth-child(2):not([id]) > button:nth-child(2)#cookie-banner-reject", 'body > div:not([id])[data-popup=""][data-popup-cookies=""][data-terms-cookies-popup-common=""][data-popup-need-overlay="true"] > div:not([id])[data-terms-cookies-popup=""][data-terms-cookies-popup-common=""] > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])[data-cookies="disallow_all_cookies"]', "body > privacy-banner:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id]) > span:not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1)#hw-cc-notice-deny-btn", "body > div#cookieconsent > div#cookieconsent-bar > div:nth-child(3):not([id]) > a:nth-child(2)#decline", 'body > header#header > div:nth-child(1)#CookiesConsent > div:not([id]) > div:nth-child(2):not([id]) > form:nth-child(2):not([id]) > div:nth-child(5):not([id]) > button:not([id])[data-testid="AcceptRequiredCookies"]', "body > div:not([id]) > div:nth-child(1)#ccm-widget > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#cookieChoiceInfo > div:nth-child(2)#cookieButtonBar > a:nth-child(2)#cookieChoiceRefuse", "body > dialog:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > dialog:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > form:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > div#consent-manager > div:nth-child(1)#consent-banner > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button#consent-banner-btn-close", "body > div#orejime > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > ul:nth-child(2):not([id]) > li:nth-child(2):not([id]) > button:not([id])", "body > section#cookie-policy > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#cbgccp-cookies-banner > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2)#cbg_ccp_cookie_refuse_optional_btn", "body > div > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(5):not([id]) > button:nth-child(1)#fd-unCheckAll", "body > div:not([id]) > div#csm-wrapper > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div#__next > div:nth-child(5):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#__next > div:nth-child(5):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > dialog:not([id]) > article:not([id]) > footer:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#entry > div:nth-child(2)#main > div:nth-child(4):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#__next > div:nth-child(3):not([id]) > dialog:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#cb-cookie-warning > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#cb-cookie-warning__button--decline", "body > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#cookies-banner > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2)#gdpr-popup-v3-button-mandatory", 'body > div:not([id]) > div:nth-child(1):not([id])[data-testid="privacy-banner"] > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2)#react-aria491930105-\\:r29\\:[data-testid="privacy-banner-decline-all-btn-desktop"]', "body > div#tc-privacy-wrapper > div#footer_tc_privacy > div:not([id]) > div:nth-child(2)#footer_tc_privacy_container_button > button:nth-child(2)#footer_tc_privacy_button_2", "body > div#tc-privacy-wrapper > div:nth-child(2)#footer_tc_privacy > div:nth-child(2)#footer_tc_privacy_container_button > button:nth-child(3)#footer_tc_privacy_button_3", "body > div#app > div:nth-child(1)#__nuxt > div#__layout > div:not([id]) > div:nth-child(4):not([id]) > div:not([id]) > div:nth-child(4):not([id]) > a:nth-child(2):not([id])", "body > footer:not([id]) > div:nth-child(2):not([id]) > cookie-notice:nth-child(1):not([id]) > div#cookie-notice > div:not([id]) > div#cookie-notice-inner > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > button#cookie-notice-decline", "body > div#sell-root > div:nth-child(2)#appRoot > div:nth-child(7):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:nth-child(2)#BorlabsCookieBox > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > p:nth-child(6):not([id]) > a:not([id])", "body > div:not([id]) > div:nth-child(1)#consent-manager > footer:nth-child(2):not([id]) > button:nth-child(2):not([id])", 'body > div#app > div:nth-child(7):not([id])[data-testid="cookieBanner"] > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])[data-testid="onlyNecessaryCookies"]', 'body > div:not([id]) > dialog:nth-child(2):not([id])[data-testid="modal-dialog"] > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > button:nth-child(2):not([id])[data-testid="uc-button-decline"]', "body > div#tc-privacy-wrapper > div#footer_tc_privacy > div:nth-child(2)#footer_tc_privacy_container_button > button:nth-child(2)#footer_tc_privacy_button_2", 'body > div#root > div:nth-child(2):not([id]) > div:not([id]) > div:not([id])[data-testid="cookie-consent-banner"] > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])', "body > div#c-pop > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(3)#ctl07_declinebtn", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(3):not([id])", "body > div#cookieNoticePro > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#cookieReject", "body > div#gdrp-cookieoverlay > div:nth-child(3)#cs2gdpr-cookiebanner > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button#btn-accept-required-banner", "body > div#seeGdprCookieConsent > div:not([id]) > p:nth-child(2):not([id]) > a:nth-child(2)#seeGdprReject", "body > div#tc-privacy-wrapper > div#popin_tc_privacy > div:nth-child(2)#popin_tc_privacy_container_button > button:nth-child(2)#popin_tc_privacy_button_2", "body > div#SgCookieOptin > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#__next > div:nth-child(4):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div#cookieman-modal > div:not([id]) > div:not([id]) > div:not([id]) > button:nth-child(6):not([id])", "body > div#c20343 > div:nth-child(1)#ikanos-privacy-cookielayer > div:nth-child(2):not([id]) > form:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div#consent-manager > div:nth-child(1)#consent-banner > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button#consent-banner-btn-close", "body > div#mm-2 > div:nth-child(2)#cookie-consent > div:not([id]) > form:nth-child(3):not([id]) > div:nth-child(5):not([id]) > button:nth-child(2):not([id])", "body > div#root > div:not([id]) > div:nth-child(2):not([id]) > main:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:nth-child(1):not([id])", "body > div#application > div:nth-child(4):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > a:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(6):not([id]) > div:nth-child(2)#BorlabsCookieBox > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > p:nth-child(5):not([id]) > a:not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > a:not([id])", "body > dialog#ai-hinweis > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(3):not([id]) > center:not([id]) > button:nth-child(1)#policy_notwendig", "body > div:not([id]) > div:nth-child(1)#ccm-widget > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > a:nth-child(3):not([id])", "body > div#BannerRegion > div:nth-child(1)#Banner_cookie_0 > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2)#rejectAllBtn", "body > comply-consent-manager:not([id]) > div#comply-consent-manager > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", 'body > div#__next > div:nth-child(3):not([id]) > div:nth-child(3):not([id]) > div:nth-child(3):not([id])[data-testid="cookie_notice_reject_all_button"]', "body > div#tc-privacy-wrapper > div:nth-child(2)#popin_tc_privacy > div:nth-child(2)#popin_tc_privacy_container_button > button:nth-child(2)#popin_tc_privacy_button_2", "body > div#__nuxt > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > section:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > div#cdk-overlay-0 > mat-dialog-container:nth-child(2)#mat-mdc-dialog-0 > div:not([id]) > div:not([id]) > hra-consent-layer-ui:not([id]) > hra-cookie-buttons:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1):not([id]) > span:nth-child(2):not([id])", "body > div#cookie-note-main > div:nth-child(2):not([id]) > button:nth-child(2)#cookie-accept-required", "body > aside:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(5):not([id]) > button:nth-child(4):not([id])", "body > div#cookiebanner-body > div:nth-child(1)#cookiebanner > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > a:not([id])", "body > div#app > div:nth-child(1)#header > div:nth-child(2)#cookie_banner > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#__nuxt > div#__layout > div#app > div:nth-child(6):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > div#__nuxt > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > section:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(4):not([id]) > div:nth-child(1):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > section#shopify-pc__banner > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(3)#shopify-pc__banner__btn-decline", "body > div#__nuxt > div#__layout > div:not([id]) > section:not([id]) > div:nth-child(2):not([id]) > section:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#consent-manager > div:nth-child(1)#consent-banner > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button#consent-banner-btn-close", "body > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > p:nth-child(2):not([id]) > a:not([id])", "body > div#tc-privacy-wrapper > div:nth-child(2)#popin_tc_privacy > div:nth-child(2)#popin_tc_privacy_container_button > button:nth-child(3)#popin_tc_privacy_button_3", "body > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:nth-child(1):not([id])", "body > div#modal-wrap > section#modal-content > div:not([id]) > div:nth-child(2)#cookie-banner > div:not([id]) > div:nth-child(1)#s1 > p:nth-child(5):not([id]) > a:nth-child(4)#button_reject", "body > div#cookie-consent-banner > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(3)#btn-reject-all", "body > div#cc-button > div#cc-text > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#page > main:nth-child(2)#index > div:nth-child(3)#cookie-settings-modal > div:not([id]) > div#cookie-settings > div:nth-child(4):not([id]) > button:nth-child(3):not([id])", "body > div#__nuxt > div:nth-child(8)#cookie-banner > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", 'body > div#consentBanner > div:not([id]) > div#gdpr-banner-container[data-testid="gdpr-banner-container"] > dialog#gdpr-banner > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(3)#gdpr-banner-cmp-button[data-testid="gdpr-banner-decline-button"]', "body > div#consentWidget > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#denyBtn", "body > div#portal-footer > div:nth-child(3):not([id]) > div:nth-child(2)#footer-analytics > div#CookieConsent > div:not([id]) > p:nth-child(2):not([id]) > span:nth-child(3):not([id]) > button:not([id])", "body > div#cookieman-modal > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "#tc-privacy-wrapper", '[data-testid="consentManager"]', '[data-testid="privacyBanner-rejectAll"]', "body > div#ww_bzga_matomo_cookiebanner > div:not([id]) > p:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#ddt-M1 > div:not([id]) > div:nth-child(1)#ddt-Seite1 > div:nth-child(2)#ddt-sectionFirst > p:nth-child(4):not([id]) > a:nth-child(2):not([id])", "body > div:not([id]) > div#cookies-bar > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div#csm-wrapper > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div#cookie-consent > div:not([id]) > form:nth-child(3):not([id]) > div:nth-child(5):not([id]) > button:nth-child(2):not([id])", 'body > div:not([id]) > div:nth-child(2)#cookie-consent[data-testid="cookie-consent-banner"] > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])', "body > div#tc-privacy-wrapper > div#popin_tc_privacy > div:nth-child(2)#popin_tc_privacy_container_button > button:nth-child(3)#popin_tc_privacy_button_3", "body > div#_evidon-barrier-wrapper > div:nth-child(2)#_evidon-banner > div:nth-child(1)#_evidon-banner-content > div:nth-child(5):not([id]) > button:nth-child(2)#_evidon-barrier-declinebutton", "div:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(2)#BorlabsCookieBox > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > p:nth-child(2):not([id]) > a:not([id])", 'body > div#consent_modal[data-testid="Over18ModalVariant1Modal"] > div:nth-child(2):not([id])[data-testid="Over18ModalVariant1Content"] > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:nth-child(1)#reject-all-cookies-btn', "body > div:not([id]) > div:nth-child(1)#matomoCookieNotification > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button#disallowMatomoCookieNotification", "body > div:not([id]) > aside:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > div#et-consent-overlay > div:nth-child(5):not([id]) > div:nth-child(1):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > span:nth-child(1):not([id]) > button:not([id])", "body > div#__nuxt > div:not([id]) > div:nth-child(6):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > a:nth-child(1):not([id])", "body > div:not([id]) > div:nth-child(1)#cookies-eu-banner > div:not([id]) > div:not([id]) > button:nth-child(4)#cookies-eu-reject", "body > div:not([id]) > div:not([id]) > div:not([id]) > ul:not([id]) > li:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#__nuxt > div:not([id]) > div:nth-child(8):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > div#optInId > div:nth-child(4):not([id]) > button:nth-child(2)#Ablehnen", "body > div:not([id]) > div#cpnb > div#w357_cpnb_outer > div:not([id]) > div:nth-child(2):not([id]) > span:nth-child(2)#cpnb-decline-btn", "body > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#a-page > div:nth-child(5)#sc-content-container > div:nth-child(1):not([id]) > div:nth-child(12):not([id]) > div:nth-child(1) > div:nth-child(2)#cookie-consent-window > div:not([id]) > div:nth-child(2) > div:nth-child(1)#cookie-consent-continue > div:not([id]) > a:not([id])", "body > div:not([id]) > div:nth-child(1)#ccm-widget > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#__next > div:not([id]) > div:not([id]) > main:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(4):not([id]) > div:nth-child(1):not([id])", "body > div#acris--page-wrap--cookie-permission > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#cookie-permission--accept-only-functional-button", "body > div#cookieConsentBanner > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#consentMinimal", "body > div#elGuestTerms > div:not([id]) > div:nth-child(2):not([id]) > form:not([id]) > button:nth-child(3):not([id])", "body > div#mm-0 > div:nth-child(2)#cookie-consent > div:not([id]) > form:nth-child(3):not([id]) > div:nth-child(5):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id])", "body > div#cookiebar > div:not([id]) > span:nth-child(3)#declineCookie > button:not([id])", "body > main#content > aside:nth-child(10):not([id]) > div:not([id]) > wm-stack:nth-child(2):not([id]) > wm-button:nth-child(1):not([id]) > button:not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > button:not([id])", "body > div#tc-privacy-wrapper > div#footer_tc_privacy > div:nth-child(1)#footer_tc_privacy_container_text > div#footer_tc_privacy_text > h2:nth-child(1):not([id]) > button#footer_tc_privacy_button_2", "body > div#bandeau_cgv > div:not([id]) > div:not([id]) > a:nth-child(1)#dismiss-cookies", "body > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > section:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > ul:nth-child(2):not([id]) > li:nth-child(2):not([id]) > button:not([id])", "body > article:not([id]) > header:nth-child(2)#header > div:nth-child(1)#cookie-modal > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > button:nth-child(2):not([id])", "body > div#root > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > button:not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#cookieRefuse", "body > div#cookie-banner > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:nth-child(3)#reject-cookies", "body > div:not([id]) > div:not([id]) > div:not([id]) > div#P0-0 > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > ul:nth-child(2):not([id]) > li:nth-child(2):not([id]) > button:not([id])", "body > div#ppms_cm_consent_popup_7a8e4f13-52de-496c-9239-96129f02cf08 > div#ppms_cm_popup_overlay > div#ppms_cm_popup_wrapper > div:nth-child(1)#ppms_cm_popup > div:nth-child(3)#ppms_cm_popup_main_id > div:nth-child(2)#ppms-124c44a9-52c6-4136-9964-9a6be955271a > button:nth-child(2)#ppms_cm_disagree", "body > div#cookie > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > a:nth-child(2):not([id]) > span:not([id]) > span:not([id])", "body > div#orejime > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > ul:nth-child(2):not([id]) > li:nth-child(2):not([id]) > button:not([id])", "body > div#cookie-message > a:nth-child(2):not([id])", "body > div#tc-privacy-wrapper > div#popin_tc_privacy > div:nth-child(1)#popin_tc_privacy_container_text > div#popin_tc_privacy_text > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#refuse_all", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#main > div:nth-child(11)#cookbar_overlay > div#cookbar > span:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > a:nth-child(3):not([id])", "body > div#tc-privacy-wrapper > div#popin_tc_privacy > div:nth-child(2)#popin_tc_privacy_container_button > button:nth-child(1)#popin_tc_privacy_button", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > main#main > dialog:nth-child(25):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body > div#cookie-banner > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:not([id])", 'body > div:not([id]) > div:nth-child(1):not([id])[data-testid="privacy-banner"] > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2)#react-aria526766221-\\:r0\\:[data-testid="privacy-banner-decline-all-btn-desktop"]', "body > div:not([id]) > form:nth-child(4):not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > button#cookie_consent_use_only_functional_cookies", "body > div#cookiesplus-modal-container > div:not([id]) > div:nth-child(1)#cookiesplus-modal > div:nth-child(3)#cookiesplus-content > div:not([id]) > form#cookiesplus-form > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > app-root:not([id]) > div:not([id]) > app-cookie-banner:nth-child(3):not([id]) > div:nth-child(1):not([id]) > div:nth-child(2)#reject-cookie-link > button#reject-cookie", "body > main:not([id]) > footer:nth-child(4)#footer > div:nth-child(3):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3)#acb-banner > div:nth-child(2)#acb-action > button:nth-child(1)#acb-deny-all-button", "body > div#st-cmp-v2 > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:nth-child(4):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > span:not([id]) > div:not([id])", "body > div#cookie-consent > div:nth-child(1):not([id]) > button:nth-child(1)#cookie-deny-button", "body > div#advencyRgpd > button:nth-child(3)#refuseAll", "body > div#rgpd > div:nth-child(1):not([id]) > div:not([id]) > button:nth-child(1):not([id])", "body > div#consent > user-consent:nth-child(1):not([id]) > consent-dialog:not([id]) > consent-content:not([id]) > consent-message:nth-child(1):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > a:nth-child(2):not([id])", "body > div#bottom-banner > div:nth-child(3):not([id]) > div:nth-child(1)#cookies-win > button:nth-child(2):not([id])", 'body > div:not([id]) > div:not([id])[data-testid="cookie-consent-banner"] > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])', "body > div:not([id]) > div:nth-child(2)#BorlabsCookieBox > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > p:nth-child(8):not([id]) > a:not([id])", "body > div#___gatsby > div:nth-child(1)#gatsby-focus-wrapper > div:nth-child(3):not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div#privacy-banner > div:nth-child(3):not([id]) > button:nth-child(1)#privacy-rejected", "body > div#cookie > div:not([id]) > div:nth-child(2)#Buttondivanalytic > button:nth-child(2):not([id])", "body > div:not([id]) > p:nth-child(2):not([id]) > button:nth-child(2)#seopress-user-consent-close", "body#top > div:not([id]) > form:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#cookie-notice > div:not([id]) > span:nth-child(2)#cn-notice-buttons > button:nth-child(2)#cn-refuse-cookie", "body:not([id]) > div#BannerRegion > div:nth-child(1)#Banner_cookie_0 > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2)#rejectAllBtn", "body:not([id]) > div#tc-privacy-wrapper > div#footer_tc_privacy > div:nth-child(2)#footer_tc_privacy_container_button > button:nth-child(2)#footer_tc_privacy_button_2", "body#html-body > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body:not([id]) > div#modal-root > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > button:nth-child(2):not([id]) > div:not([id])", "body:not([id]) > div#root > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#cookie-banner-container > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#cookie-law > div:not([id]) > div:nth-child(1):not([id]) > button:nth-child(12):not([id])", "body:not([id]) > div#__next > div:not([id]) > div:nth-child(8):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body:not([id]) > div#root > div:nth-child(3):not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body:not([id]) > header#header > div:nth-child(1)#CookiesConsent > div:not([id]) > div:nth-child(2):not([id]) > form:nth-child(2):not([id]) > div:nth-child(5):not([id]) > button:not([id])", "body:not([id]) > div#__next > div:not([id]) > div:nth-child(6)#cw-footer-container > footer:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > button:not([id]) > span:nth-child(2):not([id]) > span:nth-child(1):not([id])", "body > div#cookie_alert > div:nth-child(2)#cookie_alert_container > div#cookie_alert_text > div:nth-child(2):not([id]) > div:nth-child(2)#js-cookie_alert_button_decline > a#cookie_alert_decline", "body > div > div:not([id]) > div:nth-child(1) > div:nth-child(2)#cookieDisclaimer > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:not([id])", "body:not([id]) > dialog:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body:not([id]) > dialog:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(4):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body#unlogged-body > div#cookie-banner-deezer > div#gdpr-dir-tag > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button#gdpr-btn-refuse-all", "body:not([id]) > section:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > section#cookie-policy > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body:not([id]) > div#cc--main > div#cc_div > div:nth-child(1)#cm > div#c-inr > div:nth-child(2)#c-bns > button:nth-child(1)#c-s-bn", "body > div#headlessui-portal-root > div:not([id]) > div:nth-child(2):not([id]) > div#headlessui-dialog-_r_0_ > div:nth-child(2):not([id]) > div#headlessui-dialog-panel-_r_6_ > div:nth-child(3):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > button:nth-child(1):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > a:nth-child(3):not([id])", "body:not([id]) > div#cookie-wall > div#cwi > div:nth-child(4)#cw-controls > div:not([id]) > div:nth-child(4):not([id]) > button:nth-child(2)#cwc-reject > span:not([id])", "body > div:not([id]) > div#csm-wrapper > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#sliding-popup > div#cookiepopup > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div#elGuestTerms > div:not([id]) > div:nth-child(2):not([id]) > form:not([id]) > button:nth-child(3):not([id])", "body:not([id]) > div#consent-box > p:not([id]) > span:not([id]) > button:nth-child(2)#decline-cookies", "body > div#__next > div:nth-child(3)#cookieBanner > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > form:nth-child(2):not([id]) > button:nth-child(2)#cookieConsentRejectAll", "body:not([id]) > section:not([id]).privacy-banner > div:not([id]).privacy-banner__wrap > div:not([id]).privacy-content > div:not([id]).privacy-banner__grid-wrap > div:not([id]).privacy-banner__grid-col.privacy-banner__inner > div:nth-child(3):not([id]).privacy-banner__actions.privacy-banner__set.privacy-banner__btn-wrapper--stacked > button:nth-child(2):not([id]).privacy-banner__btn.privacy-banner__btn--secondary.privacy-banner__reject", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button#confirmSelection", "body:not([id]) > div:not([id]) > div:nth-child(5):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2)#gdpr-popup-v3-button-mandatory", "body#hgcBody > div#cookies-banner > a:nth-child(6)#btnCookieBannerNo", "body:not([id]) > dialog#biccy-banner > div#biccy-prompt > div:nth-child(2):not([id]) > button:nth-child(2)#biccy-reject-button", "body:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div > div:nth-child(1) > div:nth-child(3) > div:nth-child(2)", "body > div > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > button:nth-child(3)", "body > aside#cookies-policy > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > form:nth-child(1):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div#cookies > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button#cookiesReject", "body > div:not([id]) > aside:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2)#modal-content-17 > div#pr-cookie-notice > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#btn-cookie-decline", "body > div:not([id]) > div:nth-child(14):not([id]) > div#m-cookienotice > div:not([id]) > div:nth-child(3)#action-custom-css > a:nth-child(2):not([id])", "body > div#__nuxt > div#__layout > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div#dux-privacy > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > button:nth-child(1):not([id])", "body:not([id]) > div#__nuxt > div#__layout > div:not([id]) > div:nth-child(4):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "[data-testid='reject-button']", "body > div > div:nth-child(10) > div:nth-child(2) > div > div:nth-child(2) > div:nth-child(2)", "body > div#shopui-cookie-popup-container > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > a:not([id])", "body > section:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body:not([id]) > div#__nuxt > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#cookies_overlay > div#cookies_banner > div:nth-child(2)#cookies_decision > button:nth-child(2)#cookies_read_declined", "body:not([id]) > div#__next > div:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > div#cookie-consent-popup > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#cookie-reject", "body > div#cookie-consent-banner > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2)#btn-reject-all", "body > div:not([id]) > div:nth-child(78)#cookie-banner > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#cribbon > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2)#select-only-necessary > span:not([id])", "body > div#app > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div#cookieconsent > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > div:not([id]) > button:nth-child(1)#cookie-deny", "body > dialog#r42CookieBar > section:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > div#modal-cookiesettings > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > button:nth-child(3):not([id])", "body > div:not([id]) > div:nth-child(1)#react-content > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:nth-child(2):not([id]) > span:not([id])", "body > div#cookie-bar-2019 > div:nth-child(4):not([id]) > a#declineLink", 'body > div#__next > div:nth-child(2)#cookieBanner > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])[data-testid="refuse-all-cookies"]', "body > aside#cookie-consent-banner > div:not([id]) > form:not([id]) > div:nth-child(2):not([id]) > fieldset:nth-child(3):not([id]) > ul:not([id]) > li:nth-child(1):not([id]) > button:not([id])", "body > dialog:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > footer:nth-child(3):not([id]) > div:nth-child(3):not([id]) > span:not([id])", "body > div#cookie-popup > div:nth-child(2):not([id]) > button:nth-child(2)#reject-cookies", "body > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", 'div[data-test-consent-banner-popup] button[aria-label="Niet accepteren"]', "body > dialog:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > p:nth-child(2):not([id]) > a:nth-child(1):not([id])", "body > div:not([id]) > div:nth-child(1)#react-content > div:nth-child(8):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(1):not([id]) > button:nth-child(2):not([id])", "body > div#consent-modal > div:not([id]) > div:nth-child(1)#consent-intro > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button#consent-deny-all", "body > div:not([id]) > div:nth-child(5):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#cookielaw_banner > div:nth-child(2):not([id]) > a:nth-child(2)#cookielaw_reject", "body > div#__next > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(8):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > mini-profiler:not([id]) > div:nth-child(1)#nlportal > div:nth-child(2)#nlportal-cookie-consent > div:not([id]) > div:nth-child(1):not([id]) > section:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#_app > div:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#radix-_r_0_ > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(3):not([id])", "body > div#nimbu-consent > div:not([id]) > div:not([id]) > div:not([id]) > p:nth-child(2):not([id]) > button:nth-child(2):not([id])", '.ind-cbar[data-testid="ind-cbar"]', '.ind-cbar[data-testid="ind-cbar"] button[save-cookie][data-value="0"]', "body > div:not([id]) > div#container > section:nth-child(1):not([id]) > div:not([id]) > div#block-mumc-info-cookiesui > div#cookiesjsr > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > web-overlay:not([id]) > web-cookie-consent:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#wpca-lay-out-wrapper > div:nth-child(1)#wpca-bar > div:nth-child(2)#wpca-bar-meta > button:nth-child(3):not([id])", 'body > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#cookiebanner-decline[data-testid="button-cookie-decline"]', "body > div#cookiebanner > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > span:nth-child(2):not([id]) > a:nth-child(2)#cookie-niet-akkoord", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > section#cookie-consent > div:nth-child(7):not([id]) > div:nth-child(1):not([id]) > button:nth-child(1)#button-\xABr0\xBB", "body > aside#cookies-policy > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(3):not([id]) > form:nth-child(1):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(4):not([id]) > div:not([id]) > a:nth-child(4):not([id])", "body > div#__nuxt > div:not([id]) > div:nth-child(7)#modals > div:not([id]) > dialog:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > button:nth-child(2):not([id])", "body > div#cookies-eu-wrapper > div#cookies-eu-banner > div:nth-child(2)#cookies-eu-buttons > button:nth-child(1)#cookies-eu-reject", "body > div#wrapper > footer:nth-child(3):not([id]) > div#footer > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > div:nth-child(1):not([id]) > button:nth-child(2):not([id])", "body > div#cc-card > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > a:nth-child(2)#cc-dismiss-btn", "body > div#__nuxt > div:not([id]) > div:nth-child(3):not([id]) > section#modal > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#cookie-bar > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id]) > span:not([id])", "body > div#CNID_4eb59999-7a35-450d-a08f-1661b81e5bc4 > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#refuseAll", "body > div#__nuxt > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(8)#modals > div:not([id]) > dialog:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:not([id]) > button:nth-child(2):not([id])", 'body > div:not([id]) > div:nth-child(3)#cookie-consent[data-testid="cookie-consent-banner"] > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])', "body > div#_rootSiteLayout > aside:nth-child(5):not([id]) > div:nth-child(3):not([id]) > aside:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(3):not([id])", "body > footer:not([id]) > div:nth-child(2)#cookieParent > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#noCookies", "body > div#siteWrapper > div:nth-child(1):not([id]) > section:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(4):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(1):not([id]) > button:nth-child(2)#bcSubmitConsentToNone", "body > aside:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body > div:not([id]) > div:not([id]) > button:nth-child(4):not([id])", "body > shn-dialog#firstTimeVisitorCookieDialog > dialog:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > section#cc-window-overlay > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > button:nth-child(1):not([id])", "body > div#cookieconsent > section:not([id]) > div:not([id]) > p:nth-child(6):not([id]) > a:not([id])", "body > ticketswap-portal:not([id]) > ul:not([id]) > div:not([id]) > div:not([id]) > span:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(2)#ez-cookie-notification > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2)#ez-cookie-notification__decline", "body > div#__nuxt > div:nth-child(2)#__layout > div:not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2)#cookie-consent > div:not([id]) > dialog:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div#cookie-consent-modal-description > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(2):not([id]) > span:not([id])", "body > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > section#chakra-modal-\\:rd\\: > div#chakra-modal--body-\\:rd\\: > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > form:not([id]) > button:nth-child(2)#cookie_settings_disallowed", "body > div#app > div:not([id]) > div:nth-child(10):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(1):not([id]) > div:nth-child(1)#cookie-banner > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(3)#cookie-banner-reject", "body > main#maincontent > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#svid10_17c33ae315e94c3ae6647bf > div:nth-child(1)#svid12_3f29801717d5618f8df9bf4 > div:nth-child(2):not([id]) > div:not([id]) > button:nth-child(4)#afCookieDecline", "body > div#CookieConsent > dialog:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#cc-b-custom", "body > aza-app:not([id]) > aza-shell:not([id]) > div:nth-child(2):not([id]) > aza-cookie-message:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id]) > span:not([id])", "body > div#app > div:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#geotargetlygeoconsent1749551372435container > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#ppms_cm_consent_popup_d0973bf6-9332-4ce3-bc7c-09678b958daf > div#ppms_cm_popup_overlay > div:nth-child(2)#ppms_cm_popup_wrapper > div#ppms_cm_popup > div#ppms_cm_popup_main_id > div#ppms_cm_popup_responsive_wrapper_id > div:nth-child(2)#ppms-4ad6f5ba-7508-4caa-bd23-e8e9a4bd64b2 > div:nth-child(2)#ppms-85b001a4-b886-4f7e-82d5-bd34f50f3266 > button:nth-child(2)#ppms_cm_reject-all", "body > div#__nuxt > div:nth-child(2)#main-wrapper > div:nth-child(5):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#shopify-section-sections--20055816765655__privacy-banner > cookie-bar:not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > form:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#cookie-consent-modal > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(4):not([id])", "body > div#CookieConsent > dialog:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#cc-b-custom", "body > div#app > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:not([id])", "body > div#__docusaurus > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(1)#rcc-decline-button", "body > div#CookieConsent > dialog:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > button#cc-b-custom", "body > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div#radix-_r_2_ > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div#__next > div:nth-child(3):not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > button:nth-child(1):not([id])", "body > section#component-cookie-banner > div:nth-child(1):not([id]) > footer:nth-child(4):not([id]) > div:nth-child(1):not([id]) > button:nth-child(2)#cookie-banner-accept-essentials", "body > form#cookieConsentForm > div#cookie-consent-modal > div:not([id]) > div#cookie-consent-modal-content > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div#__nuxt > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div > div:not([id]) > div:not([id]) > div:nth-child(3):not([id]) > form:nth-child(2):not([id]) > button:nth-child(3):not([id])", "body > div#cookie_banner > div:not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div:nth-child(4):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(3):not([id]) > container:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div#versionized-cookie-banner > div:nth-child(2):not([id]) > ul:not([id]) > li:nth-child(2):not([id]) > button#btn-reject-cookies", "body:not([id]) > div#consent-banner > div:nth-child(2)#truste-consent-track > div:nth-child(3)#truste-consent-content > div:nth-child(3):not([id]) > div#truste-consent-buttons > button:nth-child(3)#truste-consent-required", 'body > div#__next > div:not([id]) > div:nth-child(1)#cookieBanner[data-testid="cookie-banner"] > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > p:not([id]) > a:nth-child(2):not([id])', "body > div[class] > div:nth-child(2) > div:nth-child(2) > button:nth-child(2)", "body > div#cmpbox > div:not([id]) > div:nth-child(1)#cmpboxcontent > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > a:not([id])", "body > div[id][cookie-banner-data-theme] > div > div > div > div:nth-child(2) > div:nth-child(2) > button", "body:not([id]) > div#seers-cmp-cookie-data-hol > div:nth-child(2)#SeersCMPBannerMainBar > div:nth-child(2):not([id]) > a:nth-child(2):not([id])", "body > div:not([id]) > div:nth-child(3)#gdpr_cookie_info_bar-wr > div:nth-child(1):not([id]) > div:nth-child(3):not([id]) > button:nth-child(2):not([id])", "body > div[id][class][data-role][data-controller][style] > div > div:nth-child(2) > form > button:nth-child(3)", "body > div[class][tabindex] > div > div > div:nth-child(2) > div:nth-child(2) > button:nth-child(2)", "body > div[class][id][tabindex][role][aria-labelledby][aria-modal][style] > div > div > div:nth-child(3) > div > div > p > button:nth-child(3)", "body > div[id] > div:nth-child(2) > div:nth-child(4) > div > div:nth-child(2) > button:nth-child(2)", "body > div#cassie-widget > div:nth-child(4)#cassie_cookie_module > div:nth-child(2)#cassie_pre_banner > div:nth-child(3)#cassie_pre_banner__footer > button:nth-child(2)#cassie_reject_all_pre_banner", "body > div:not([id]) > div:nth-child(17):not([id]) > div:not([id]) > a:nth-child(3):not([id])", "body:not([id]) > div#__next > div:not([id]) > main:nth-child(3):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(27):not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > aside:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "body > div:not([id]) > div:not([id]) > div#ch2-dialog > div:nth-child(2):not([id]) > button:nth-child(1):not([id])", "body > div[class][role][aria-labelledby][aria-live][lang] > div:nth-child(1) > div:nth-child(3) > div:nth-child(2)", "body > div[id] > div > div:nth-child(1) > div > div > div > div:nth-child(2) > button:nth-child(2)", "body:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "#cookie-consent", '#cookie-consent[style*="max-height"] #cookie-status-reject', "body.enable-cookie-control", ".cookie-dialog-initial", ".cookie-dialog-initial button.g-button.outline", "cookie_preferences=%7B%22allow%22%3A%5B%5D", '*[aria-labelledby="consent-banner-title"]', "#consent-banner-title", 'button[data-testid="reject-button"]', "ckns_explicit=1", "div.modal.cookiesModal.is-open", 'div.cookiesModal__buttonWrapper > button[data-closecause="close-by-manage-cookies"]', "button#js-manage-data-privacy-save-button", "#cookie-consent-banner .all4-cc-primary-button", '#cookie-consent-banner button[aria-label="Reject non-essential cookies and continue."]', "C4_CC=eyJ2ZXJzaW9uIjoxLCJjb25zZW50ZWQiOnRydWUs", "body > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", "#gdpr-cookie-message", "[data-testid='cookie-banner-reject-button']", "CMCCP=AD%3D0", "#cookie-disclaimer", "#cookiesel", 'div[class*="Overlay__container"]:has(div[class*="TCF2Popup"])', 'div[class*="TCF2Popup"]', '[class*="TCF2Popup"] a[href^="https://www.dailymotion.com/legal/cookiemanagement"]', 'button[class*="TCF2ContinueWithoutAcceptingButton"]', "dm-euconsent-v2", "ngc-cookie-banner", "div.cookie-footer-container", "[data-testid=cookieBanner]", "[data-testid=cookieBanner] button", "[data-testid=cookieBanner__manageCookiesButton]", "[data-testid=cookieModal] input[type=radio][value=false]:not(:checked):not(:disabled)", "[data-testid=cookieModal__acceptButton]", "gdpr__", ".cc-window.cc-visible", ".cc-window .cc-dialog", ".cc-window.cc-visible .cc-consent-require-only", "dji_consentmanager", "[id^=cookie-consent-banner]", "#cookie-consent-denied", "cookie-consent=denied", "#gdpr-banner", "#gdpr-banner-decline", ".cookie-wrapper", ".cookie-wrapper > .cookie-notice", "[data-test-id=cookie-notice-reject]", "#edp-cookies-banner", "#edp-cookies-banner .edp-cookies-refuse", "edp_cookie_agree=0", "#ef-ccpa", "#ef-button-ccpa-decline", ".modal:has(> .modal-content > .cookie-consent)", ".cookie-consent #cookieDisagree", "div#klaro", "xpath///div[contains(@class,'pointer-events-none')]//button[normalize-space()='Accept all' or normalize-space()='Tout accepter']", "xpath///button[normalize-space()='Customize' or normalize-space()='Personnaliser']", "xpath///button[normalize-space()='Decline' or normalize-space()='Refuser']", "escaparium_cookie_consent_decided=1", ".cdk-overlay-container", ".cdk-overlay-container app-esaa-cookie-component", ".btn-cookie-refuser", ".cck-container", '.cck-actions-button[href="#refuse"]', "body > div:not([id]) > div:nth-child(1):not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:nth-child(1):not([id]) > div:nth-child(2):not([id])", '[data-testid="cookie-policy-manage-dialog"]', '[data-testid="cookie-policy-manage-dialog-decline-button"]', "#gdrp", ".cookie-consent", ".modal-cookie", ".cookies-modal", ".show-cookies-modal .cookies-modal #cookies-accept", ".show-cookies-modal .cookies-modal #cookies-reject", ".fixed [data-testid=closeCookieBanner]", "[data-testid=consent-banner]", "[data-testid=manage-preferences]", "[data-testid=consent-mgr-dialog] [data-ga-button=save-preferences]", 'div[role="dialog"][aria-label^="Privacy Disclosure"]', "#CookieConsent", "#CookieConsentDeclined", "[data-testid=consent-banner] [data-testid=reject-button]", `xpath///div[contains(., "Vill du till\xE5ta anv\xE4ndningen av cookies fr\xE5n Instagram i den h\xE4r webbl\xE4saren?") or contains(., "Allow the use of cookies from Instagram on this browser?") or contains(., "Povolit v prohl\xED\u017Ee\u010Di pou\u017Eit\xED soubor\u016F cookie z Instagramu?") or contains(., "Dopustiti upotrebu kola\u010Di\u0107a s Instagrama na ovom pregledniku?") or contains(., "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u043E\u0432 cookie \u043E\u0442 Instagram \u0432 \u044D\u0442\u043E\u043C \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435?") or contains(., "Vuoi consentire l'uso dei cookie di Instagram su questo browser?") or contains(., "Povoli\u0165 pou\u017E\xEDvanie cookies zo slu\u017Eby Instagram v tomto prehliada\u010Di?") or contains(., "Die Verwendung von Cookies durch Instagram in diesem Browser erlauben?") or contains(., "Sallitaanko Instagramin ev\xE4steiden k\xE4ytt\xF6 t\xE4ll\xE4 selaimella?") or contains(., "Enged\xE9lyezed az Instagram cookie-jainak haszn\xE1lat\xE1t ebben a b\xF6ng\xE9sz\u0151ben?") or contains(., "Het gebruik van cookies van Instagram toestaan in deze browser?") or contains(., "Bu taray\u0131c\u0131da Instagram'dan \xE7erez kullan\u0131m\u0131na izin verilsin mi?") or contains(., "Permitir o uso de cookies do Instagram neste navegador?") or contains(., "Permi\u0163i folosirea modulelor cookie de la Instagram \xEEn acest browser?") or contains(., "Autoriser l\u2019utilisation des cookies d\u2019Instagram sur ce navigateur ?") or contains(., "\xBFPermitir el uso de cookies de Instagram en este navegador?") or contains(., "Zezwoli\u0107 na u\u017Cycie plik\xF3w cookie z Instagramu w tej przegl\u0105darce?") or contains(., "\u039D\u03B1 \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03C4\u03B1\u03B9 \u03B7 \u03C7\u03C1\u03AE\u03C3\u03B7 cookies \u03B1\u03C0\u03CC \u03C4o Instagram \u03C3\u03B5 \u03B1\u03C5\u03C4\u03CC \u03C4\u03BF \u03C0\u03C1\u03CC\u03B3\u03C1\u03B1\u03BC\u03BC\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AE\u03B3\u03B7\u03C3\u03B7\u03C2;") or contains(., "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u0442\u0435 \u043B\u0438 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u043D\u0435\u0442\u043E \u043D\u0430 \u0431\u0438\u0441\u043A\u0432\u0438\u0442\u043A\u0438 \u043E\u0442 Instagram \u043D\u0430 \u0442\u043E\u0437\u0438 \u0431\u0440\u0430\u0443\u0437\u044A\u0440?") or contains(., "Vil du tillade brugen af cookies fra Instagram i denne browser?") or contains(., "Vil du tillate bruk av informasjonskapsler fra Instagram i denne nettleseren?")]`, "xpath///button[contains(., '\u041E\u0442\u043A\u043B\u043E\u043D\u0438\u0442\u044C \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B cookie') or contains(., 'Decline optional cookies') or contains(., 'Refuser les cookies optionnels') or contains(., 'Hylk\xE4\xE4 valinnaiset ev\xE4steet') or contains(., 'Afvis valgfrie cookies') or contains(., 'Odmietnu\u0165 nepovinn\xE9 cookies') or contains(., '\u0391\u03C0\u03CC\u03C1\u03C1\u03B9\u03C8\u03B7 \u03C0\u03C1\u03BF\u03B1\u03B9\u03C1\u03B5\u03C4\u03B9\u03BA\u03CE\u03BD cookies') or contains(., 'Neka valfria cookies') or contains(., 'Optionale Cookies ablehnen') or contains(., 'Rifiuta cookie facoltativi') or contains(., 'Odbij neobavezne kola\u010Di\u0107e') or contains(., 'Avvis valgfrie informasjonskapsler') or contains(., '\u0130ste\u011Fe ba\u011Fl\u0131 \xE7erezleri reddet') or contains(., 'Recusar cookies opcionais') or contains(., 'Optionele cookies afwijzen') or contains(., 'Rechazar cookies opcionales') or contains(., 'Odrzu\u0107 opcjonalne pliki cookie') or contains(., '\u041E\u0442\u0445\u0432\u044A\u0440\u043B\u044F\u043D\u0435 \u043D\u0430 \u0431\u0438\u0441\u043A\u0432\u0438\u0442\u043A\u0438\u0442\u0435 \u043F\u043E \u0438\u0437\u0431\u043E\u0440') or contains(., 'Odm\xEDtnout voliteln\xE9 soubory cookie') or contains(., 'Refuz\u0103 modulele cookie op\u0163ionale') or contains(., 'A nem k\xF6telez\u0151 cookie-k elutas\xEDt\xE1sa')]", ".pop-cookie", ".miniConsent,#PrivacyPolicyBanner", "#PrivacyPolicyBanner", "#cookie-settings", "#reject-all-cookies", "#cookiebanner-popup", "#jg-chrome-header", "#cookiebanner-popup #accept-essential-Cookies", "necessary:true%2Cpreferences:false", "#react-consent-modal", "#react-consent-modal .flex.flex-column", "#react-consent-modal .flex.flex-row.justify-between button:first-child", "#gdpr-banner-container", "#gdpr-banner-container #gdpr-banner [data-testid=gdpr-banner-decline-button]", "div:has(> div > a[href*='/privacy-policy'])", "#cookiePopup", ".cookie-overlay", "#cookiePopup .reject-cookie", "_site_acceptance=0", 'div:has(> div > div > div[role=alert] > a[href^="https://policy.medium.com/medium-privacy-policy-"])', "#cookie-container", 'div[aria-label="Cookie Policy Banner"]', "dialog.cookieconsent__dialog", '.cookieconsent__base[data-component="cookieconsent"]', ".cookieconsent__buttonAcceptNecessary", "consent_choice=", "#onetrust-banner-sdk", "div#cookieWarning", "a#btnCookiesDenyAll", "[class*=ConsentManager]", "[class*=ConsentManager_row] input[type=radio][id$=no]", "[class*=ConsentManager_continue]", "[data-testid=cookie-dialog-root]", "input[type=radio][id$=-declineLabel]", "[data-testid=confirm-choice-button]", "ccm-notification", "gdpr-banner", ".cookies-agreement-notification,.modal-new:has([data-module=SetupCookies])", ".cookies-agreement-notification", ".cookies-agreement-notification .cb_setup", "[data-module=SetupCookies]", "[data-module=SetupCookies] input[type=checkbox]:checked:not(:disabled)", "[name=button_save_choice]", "div.b-cookies-informer", "div.b-cookies-informer__nav > button:nth-child(1)", "div.b-cookies-informer__switchers", "div.b-cookies-informer__switchers input:not([disabled])", "div.b-cookies-informer__nav > button", "[aria-labelledby=cookieConsentTitle]", "xpath///button[contains(., 'Reject non-essential')]", "consent=rejected", "#cookie-consent .cookie-all__btn", "#cookie-consent .cookie-consent__switch.active:not(.always_on)", "#cookie-consent .cookie-selection__btn", "cookie_consent_essential=true", "cookie_consent_marketing=true", ".cookie-manager", ".cookie-manager .cookie-notice.open", ".cookie-notice [data-test=reject]", "footer .ccpabanner", ".BusinessCookieConsent", ".BusinessCookieConsent [data-id=cookie-consent-banner-buttons]", "[data-id=cookie-consent-banner-buttons] > div:nth-child(2) button", "#cookie-consent button", "#cookie-consent input[type=checkbox]:checked:not(:disabled)", "plosCookieConsentStatus=false", "#cookieBanner #cookieBannerContent", "#cookieBanner #cookieBannerContent, #globalCookieBanner", "#globalCookieBanner .js-customizeGlobalCookies", "#cookieBanner [data-label=accept_essential]", "#cookieBanner button.cbSecondaryCTA", "pnl-cookie-wall-widget", "CookiePermissionInfo", ".alert .accept-cookies,form.js-cookies", ".alert:has(.accept-cookies)", "form.js-cookies button", "form.js-cookies input[type=checkbox]", "form.js-cookies input[type=checkbox]:checked:not(:disabled)", "form.js-cookies button[type=submit]", ".alert:has(.accept-cookies) a[href='/account/cookies']", ".c-modal.is-active", ".c-modal.is-active .is-dismiss", "#__rptl-cookiebanner #__rptl-cookiebanner-reject", ".DialogHandlerContainer.visible:has(.cookie-dialog)", "span.cookie-option-large>div>span.link-no-decoration.gui-text", ".cookie-dialog form .CookieConsentOption input[type='checkbox']:not([name='permanent']):checked", ".cookie-dialog button[type='submit']", "[bundlename=reddit_cookie_banner]", "#data-protection-consent-dialog rpl-modal-card > button.button-primary", "#data-protection-consent-dialog rpl-modal-card > button.button-secondary", "eu_cookie={%22opted%22:true%2C%22nonessential%22:false}", "div:has(> button#cookieBar-button)", "#cookieBar-button", ".cookie-banner-wrapper", ".cookie-banner-wrapper .cookie-banner", ".cookie-banner-wrapper button.btn-secondary-lg", "RBXcb", "#cookie-policy-info", 'div.cookie-btn-box > div[aria-label="Reject"]', '.cookie-policy-lightbox-bottom > div[aria-label="Save Settings"]', "#m-cookienotice", "#manage-cookies", "#accept-selected", ".cookies-banner-shown", "#cookie-popup-with-overlay", "#cookie-popup-with-overlay [data-ref='cookie.no-thanks']", "RY_COOKIE_CONSENT", "div.cookie-bar", "body > div#__next > div#app > div:nth-child(7):not([id])", "body > div[class*=_shein_privacy]", "body > div[class*=_shein_privacy] > div:nth-of-type(2) > div:nth-of-type(4) > div:nth-of-type(3)", "#cookieBannerContent", "[data-tracking-element-id=cookie_banner_essential_only]", "app-cookie-consent", "app-cookie-consent button.underline", "app-cookie-consent ui-switch button.switch", "app-cookie-consent ui-switch button.switch.checked:not(.disabled)", "app-cookie-consent app-btn button", ".consent__wrapper", ".consent", "button.consentSettings", "button#consentSubmit", "[class*=CookieConsent__root___]", "[class*=CookieConsent__modal___]", "[class*=CookieConsent__modal___] > div > button[class*=secondary]:nth-child(2)", 'cookie-consent-1={"optedIn":true,"functionality":false,"statistics":false}', 'div > div > div > div > span[href*="/cookie-and-similar-technologies-policy.html"]', "xpath///span[contains(., 'Alle afwijzen') or contains(., 'Reject all') or contains(., 'T\xFCm\xFCn\xFC reddet') or contains(., 'Odrzu\u0107 wszystko')]", 'div > div > div:has(> div > span[href*="/cookie-and-similar-technologies-policy.html"]) > [role=button]:nth-child(2)', "[aria-label=consent-banner]", "#onetrust-pc-sdk", "xpath///button[contains(., 'Reject all')]", "interactionCount=1", "#cookie_banner", "#tsla-reject-cookie", "tsla-cookie-consent=rejected", "#consent-banner", "#consent-banner button[data-testid='close-button']", ".duet--cta--cookie-banner", ".duet--cta--cookie-banner button.tracking-12 > span", "_duet_gdpr_acknowledged=1", "[data-test-id=cookies_section]", "div:has(> button#accept-button):has(> button#decline-button)", "button#accept-button,button#decline-button", "button#decline-button", "#consent-modal", "#privacy-settings-content", 'button[type="submit"]', "div.one-modal__action-footer-column--secondary > a", ".fixed.bottom-0:has([data-test=cookieBannerButton])", ".fixed.bottom-0 [data-test=cookieBannerButton]", "div:has(> .consent-banner .consent-banner__content--gdpr-v2),.ReactModalPortal:has([data-a-target=consent-modal-save])", ".consent-banner .consent-banner__content--gdpr-v2", "div:has(> .consent-banner .consent-banner__content--gdpr-v2)", 'button[data-a-target="consent-banner-manage-preferences"]', "input[type=checkbox][data-a-target=tw-checkbox]", "input[type=checkbox][data-a-target=tw-checkbox][checked]:not([disabled])", "[data-a-target=consent-modal-save]", ".ReactModalPortal:has([data-a-target=consent-modal-save])", '[data-testid="BottomBar"]', "body > div#react-root > div:not([id]) > div:not([id]) > div:nth-child(1)#layers > div:not([id]) > div:nth-child(2):not([id]) > div:not([id]) > div:not([id])[data-testid=BottomBar] > div:not([id]) > div:nth-child(2):not([id]) > button:nth-child(2):not([id])", ".cookie-banner", ".ucb", ".ucb-banner", ".ucb-banner .ucb-btn-save", ".dip-consent,.dip-consent-container", ".dip-consent-container", ".dip-consent-content", '.dip-consent-btn[tabindex="2"]', "cookie-banner#cookie-banner-host", "groups=C1%3A1%2CC3%3A0", "[class^=cookie_wrapper]", "[class*=ConsentBanner]", "[class*=ConsentBanner] .frDWEu", "[class*=ConsentBanner] .hXIpFU", "xeConsentState={%22performance%22:false%2C%22marketing%22:false%2C%22compliance%22:false}", "[class*=modal]", "[class*=modal] a[href*='/cookie-policy']", "[class*=modal]:has(a[href*='/cookie-policy']) button:nth-child(2)", "[class*=cookiesAnnounce]", "[class*=cookiesAnnounce] [class*=announceText]", ".disclaimer-opened #disclaimer-cookies", "#disclaimer-reject_cookies", "div.cookie.flex.flex-wrap", "xpath///div[contains(@class,'cookie')]//button[normalize-space()='Deny']", "#consent-page", "#consent-page button[value=reject]", "#cookie_modal_wrapper", "#cookie_modal_wrapper #cookie_modal_button_choose", "#consent-init", "#consent-init #consent-configure", "#consent-update #consent-configuration-save", "zinio-cookie-consent"], r: [[1, "abconcerts.be", 2, "", 22, [0], [{ e: 1 }], [{ v: 1 }], [{ if: { e: 2 }, then: [{ k: 2 }], else: [{ k: 3 }, { c: 4 }] }], [], { intermediate: false }], [1, "acris", 2, "", 22, [5], [{ e: 6 }], [{ v: 7 }], [{ check: "any", wv: 8 }, { wait: 500 }, { c: 8 }], [], {}], [1, "adopt", 2, "", 22, [9], [{ e: 10 }], [{ v: 9 }], [{ c: 11 }], [{ eval: "EVAL_ADOPT_TEST" }], {}], [1, "Adroll", 2, "", 22, [12], [{ e: 12 }], [{ v: 12 }], [{ c: 13 }], [{ negated: true, cc: 14 }], {}], [1, "affinity.serif.com", 2, "", 22, [], [{ e: 15 }], [{ v: 16 }], [{ k: 17 }], [{ wait: 500 }, { cc: 18 }, { negated: true, cc: 19 }], {}], [1, "amazon.com", 2, "", 22, [20], [{ e: 20 }], [{ check: "any", v: 21 }], [{ wv: 22 }, { wait: 5e3 }, { k: 22 }], [], {}], [1, "amex", 0, "", 22, [23], [{ e: 23 }], [{ v: 23 }], [{ c: 24 }], [], {}], [1, "anthropic", 2, "", 22, [], [{ e: 25 }], [{ v: 25 }], [{ c: 26 }], [{ cc: 27 }], {}], [1, "aquasana.com", 2, "", 22, [28], [{ e: 28 }], [{ e: 28 }], [{ if: { e: 29 }, then: [{ k: 29 }], else: [{ h: 28 }] }], [], {}], [1, "arbeitsagentur", 2, "", 22, [30], [{ e: 31 }], [{ e: 32 }], [{ waitForThenClick: ["bahf-cookie-disclaimer-dpl3", "#bahf-cookie-disclaimer-modal .ba-btn-contrast"] }], [{ cc: 33 }], {}], [1, "asus", 2, "", 22, [34], [{ e: 35 }], [{ v: 35 }], [{ if: { e: 36 }, then: [{ k: 36 }], else: [{ c: 37 }, { c: 38 }] }], [], {}], [1, "automattic-cmp-optout", 2, "", 22, [39], [{ e: 39 }], [{ v: 39 }], [{ k: 40 }, { all: true, c: 41 }, { k: 42 }], [], {}], [1, "aws.amazon.com", 2, "", 22, [43, 44, 45, 46], [{ e: 43 }], [{ v: 43 }], [{ if: { e: 47 }, then: [{ k: 47 }], else: [{ k: 48 }, { w: 49 }, { all: true, optional: true, k: 50 }, { k: 51 }] }], [], {}], [1, "axeptio", 2, "", 22, [52], [{ e: 52 }], [{ any: [{ e: 53 }, { v: 54 }, { visible: [".axeptio_mount .needsclick", ".axeptio_widget"] }] }], [{ if: { e: 55 }, then: [{ waitForVisible: [".axeptio_mount .needsclick", "button#axeptio_btn_dismiss,button.ax-discardButton"] }, { wait: 300 }, { click: [".axeptio_mount .needsclick", "button#axeptio_btn_dismiss,button.ax-discardButton"] }], else: [{ wv: 56 }, { wait: 300 }, { k: 56 }] }], [{ cc: 57 }], {}], [1, "aylo-cookie-banner", 2, "", 22, [58], [{ e: 59 }, { e: 60 }], [{ v: 59 }, { check: "none", v: 61 }], [{ all: true, c: 60 }, { optional: true, c: 62 }], [{ cc: 63 }], {}], [1, "b-cookie", 1, "", 22, [64], [{ e: 64 }], [{ v: 64 }], [{ h: 64 }], [], {}], [1, "baden-wuerttemberg.de", 2, "", 22, [65], [{ e: 65 }], [{ v: 65 }], [{ if: { e: 66 }, then: [{ k: 66 }], else: [{ all: true, optional: true, k: 67 }, { k: 68 }] }], [], {}], [1, "bbb.org", 0, "", 22, [69], [{ e: 69 }], [{ v: 70 }], [{ wv: 71 }, { wait: 500 }, { k: 71 }, { w: 72 }, { all: true, optional: true, k: 73 }, { k: 74 }, { c: 75 }], [], {}], [1, "bigcommerce-consent-manager", 0, "", 22, [76], [{ e: 76 }, { eval: "EVAL_BIGCOMMERCE_CONSENT_MANAGER_DETECT" }], [{ v: 77 }], [{ c: 78 }], [{ cc: 79 }], {}], [1, "bing.com", 2, "", 22, [80], [{ e: 81 }], [{ v: 81 }, { v: 82 }], [{ wait: 500 }, { c: 83 }], [{ cc: 84 }], {}], [1, "blocksy", 0, "", 10, [85], [{ e: 86 }], [{ v: 85 }], [{ c: 87 }], [{ cc: 88 }], { intermediate: false }], [1, "borlabs", 2, "", 22, [89], [{ e: 90 }], [{ v: 91 }], [{ if: { e: 92 }, then: [{ k: 92 }], else: [{ k: 93 }, { wv: 94 }, { all: true, optional: true, k: 95 }, { k: 96 }, { wait: 500 }] }], [{ eval: "EVAL_BORLABS_0" }], {}], [1, "bswhealth", 0, "", 22, [97], [{ e: 97 }], [{ v: 98 }], [{ c: 99 }, { wv: 100 }, { all: true, optional: true, c: 101 }, { c: 98 }], [{ cc: 102 }], {}], [1, "bundesregierung.de", 2, "", 22, [103], [{ e: 103 }], [{ v: 104 }], [{ wait: 500 }, { c: 105 }], [{ cc: 106 }], {}], [1, "burpee.com", 2, "", 22, [107, 108], [{ e: 108 }], [{ v: 109 }], [{ if: { e: 110 }, then: [{ c: 110 }, { all: true, k: 111 }, { k: 112 }], else: [{ h: 113 }] }], [], {}], [1, "cassie", 0, "", 10, [114], [{ e: 115 }], [{ v: 116 }], [{ c: 117 }], [], {}], [1, "cc_banner", 1, "", 22, [118], [{ e: 118 }], [{ v: 119 }], [{ h: 118 }], [], {}], [1, "cc-banner-springer", 2, "", 22, [120], [{ e: 120 }], [{ v: 120 }], [{ if: { e: 121 }, then: [{ k: 121 }], else: [{ c: 122 }, { w: 123 }, { all: true, optional: true, k: 124 }, { if: { e: 125 }, then: [{ k: 125 }], else: [{ k: 126 }] }] }], [{ eval: "EVAL_CC_BANNER2_0" }], {}], [1, "check24-partnerprogramm-de", 2, "", 22, [127], [{ e: 128 }], [{ check: "any", v: 128 }], [{ c: 129 }], [], {}], [1, "ciaopeople.it", 2, "", 22, [130], [{ e: 130 }], [{ v: 130 }], [{ c: 131 }, { w: 132 }, { c: 133 }], [{ check: "none", v: 130 }], {}], [1, "civic-cookie-control", 2, "", 22, [134], [{ e: 135 }], [{ v: 136 }, { v: 135 }], [{ if: { v: 137 }, then: [{ c: 137 }], else: [{ if: { exists: ["#ccc #ccc-notify .ccc-notify-buttons", "xpath///button[contains(., 'Settings') or contains(., 'Cookie Preferences') or contains(., 'Einstellungen\uFE0F')]"] }, then: [{ waitForThenClick: ["#ccc #ccc-notify .ccc-notify-buttons", "xpath///button[contains(., 'Settings') or contains(., 'Cookie Preferences') or contains(., 'Einstellungen\uFE0F')]"] }, { wv: 138 }] }, { if: { v: 137 }, then: [{ c: 137 }], else: [{ c: 139 }] }] }], [], {}], [1, "ckies", 2, "", 22, [140], [{ e: 140 }], [{ v: 140 }], [{ c: 141 }], [{ cc: 142 }], {}], [1, "click.io", 2, "", 22, [143], [{ e: 143 }], [{ v: 143 }], [{ w: 144 }, { wait: 500 }, { k: 144 }, { w: 145 }, { all: true, k: 145 }, { k: 146 }], [{ cc: 147 }], {}], [1, "clinch", 2, "", 10, [148], [{ e: 148 }], [{ v: 148 }], [{ if: { e: 149 }, then: [{ k: 149 }], else: [{ k: 150 }, { all: true, optional: true, k: 151 }, { k: 152 }] }], [{ cc: 153 }], { intermediate: false }], [1, "cloudflare-zaraz", 2, "", 22, [154], [{ exists: [".cf_modal_container", ".cf_consent-buttons"] }], [{ visible: [".cf_modal_container", ".cf_consent-buttons"] }], [{ waitForThenClick: [".cf_modal_container", ".cf_consent-buttons #cf_consent-buttons__reject-all"] }], [], {}], [1, "Complianz banner", 2, "", 22, [155], [{ e: 156 }], [{ check: "any", v: 156 }], [{ c: 157 }], [{ cc: 158 }], {}], [1, "Complianz categories", 2, "", 22, [159], [{ e: 159 }], [{ v: 159 }], [{ if: { e: 160 }, then: [{ k: 161 }], else: [{ all: true, optional: true, k: 162 }, { k: 163 }] }], [], {}], [1, "Complianz notice", 1, "", 22, [164], [{ e: 165 }], [{ v: 165 }], [{ if: { e: 166 }, then: [{ k: 166 }], else: [{ h: 167 }] }], [], {}], [1, "Complianz opt-both", 2, "", 22, [168], [{ e: 168 }], [{ v: 168 }], [{ c: 166 }], [], {}], [1, "Complianz opt-out", 2, "", 22, [169], [{ e: 169 }], [{ v: 169 }], [{ if: { e: 166 }, then: [{ k: 166 }], else: [{ if: { e: 170 }, then: [{ k: 170 }, { c: 171 }, { c: 172 }] }] }], [], {}], [1, "Complianz optin", 2, "", 22, [173], [{ e: 173 }], [{ v: 173 }], [{ if: { v: 166 }, then: [{ k: 166 }], else: [{ if: { v: 174 }, then: [{ c: 174 }, { wv: 175 }, { all: true, optional: true, k: 176 }, { k: 177 }], else: [{ k: 161 }] }] }], [], {}], [1, "consentmo", 2, "", 22, [178], [{ exists: ["csm-cookie-consent", ".csm-wrapper"] }], [{ visible: ["csm-cookie-consent", ".csm-wrapper button"] }], [{ if: { exists: ["csm-cookie-consent", ".csm-wrapper .cc-deny"] }, then: [{ waitForThenClick: ["csm-cookie-consent", ".csm-wrapper .cc-deny"] }], else: [{ waitForThenClick: ["csm-cookie-consent", ".csm-wrapper .cc-settings"] }, { waitForThenClick: ["csm-cookie-consent", ".csm-wrapper .cc-deny"] }] }], [{ waitForVisible: ["csm-cookie-consent", ".csm-wrapper button"], timeout: 1e3, check: "none" }], {}], [1, "Cookie Information Banner", 2, "", 22, [179], [{ e: 179 }], [{ v: 179 }], [{ eval: "EVAL_COOKIEINFORMATION_0" }, { wait: 1e3 }, { if: { v: 180 }, then: [{ h: 179 }] }], [{ cc: 181 }], {}], [1, "cookie-consent-spice", 0, "", 10, [182, 183], [{ e: 183 }], [{ v: 183 }], [{ c: 184 }], [], {}], [1, "cookie-law-info", 2, "", 22, [185], [{ e: 186 }, { eval: "EVAL_COOKIE_LAW_INFO_DETECT" }], [{ v: 186 }], [{ h: 185 }, { eval: "EVAL_COOKIE_LAW_INFO_0" }], [{ negated: true, cc: 187 }], {}], [1, "cookie-manager-popup", 0, "", 10, [188], [{ e: 189 }], [{ v: 108 }], [{ if: { e: 190 }, then: [{ k: 190 }], else: [{ c: 188 }, { wv: 191 }, { all: true, optional: true, k: 192 }, { k: 193 }] }], [{ eval: "EVAL_COOKIE_MANAGER_POPUP_0" }], { intermediate: false }], [1, "cookie-script", 2, "", 22, [194], [{ e: 194 }], [{ v: 194 }], [{ if: { e: 195 }, then: [{ wait: 100 }, { k: 195 }], else: [{ k: 196 }, { wv: 197 }, { c: 195 }] }], [], {}], [1, "cookieacceptbar", 1, "", 22, [198], [{ e: 198 }], [{ v: 198 }], [{ h: 198 }], [], {}], [1, "cookieconsent2", 2, "", 22, [199], [{ e: 199 }], [{ e: 200 }, { e: 201 }], [{ if: { e: 202 }, then: [{ c: 202 }], else: [{ c: 203 }, { wait: 500 }, { c: 204 }] }], [{ cc: 205 }], {}], [1, "cookieconsent3", 2, "", 22, [206], [{ e: 206 }], [{ v: 207 }], [{ if: { e: 208 }, then: [{ c: 208 }], else: [{ c: 209 }, { c: 210 }] }], [{ cc: 205 }], {}], [1, "cookiecuttr", 0, "", 10, [211], [{ e: 212 }], [{ v: 212 }], [{ if: { e: 213 }, then: [{ k: 213 }], else: [{ h: 211 }] }], [], {}], [1, "cookiefirst.com", 2, "", 22, [214], [{ e: 215 }], [{ v: 215 }], [{ if: { e: 216 }, then: [{ k: 216 }, { timeout: 1e3, wv: 217 }, { eval: "EVAL_COOKIEFIRST_1" }, { wait: 1e3 }, { k: 218 }], else: [{ k: 219 }] }], [{ eval: "EVAL_COOKIEFIRST_0" }], {}], [1, "cookiehub", 2, "", 22, [220], [{ e: 221 }], [{ v: 221 }], [{ if: { e: 222 }, then: [{ k: 222 }, { wv: 223 }, { if: { e: 224 }, then: [{ k: 224 }], else: [{ all: true, optional: true, k: 225 }, { k: 226 }] }], else: [{ h: 220 }] }], [{ cc: 227 }], {}], [1, "cookiejs-banner", 2, "", 22, [228], [{ e: 229 }], [{ v: 230 }], [{ c: 231 }], [{ cc: 232 }], {}], [1, "cookiejs-modal", 2, "", 22, [228], [{ e: 233 }], [{ v: 234 }], [{ c: 235 }], [{ cc: 236 }], {}], [1, "cookieyes", 2, "", 22, [237], [{ e: 238 }], [{ v: 238 }], [{ if: { e: 239 }, then: [{ c: 239 }], else: [{ if: { e: 240 }, then: [{ k: 240 }, { w: 241 }, { all: true, optional: true, k: 242 }, { c: 243 }], else: [{ h: 244 }] }] }], [{ cc: 245 }], {}], [1, "corona-in-zahlen.de", 2, "", 22, [246], [{ e: 246 }], [{ v: 246 }], [{ k: 247 }, { k: 248 }], [], {}], [1, "ct-ultimate-gdpr", 2, "", 22, [249], [{ e: 249 }], [{ timeout: 3e4, wv: 249 }], [{ if: { v: 250 }, then: [{ k: 250 }], else: [{ if: { v: 251 }, then: [{ k: 251 }, { c: 252 }, { k: 253 }], else: [{ h: 249 }] }] }], [{ wait: 500 }, { cc: 254 }], {}], [1, "curseforge", 1, "", 22, [255], [{ e: 256 }], [{ v: 256 }], [{ h: 255 }], [], {}], [1, "dailymotion-us", 1, "", 22, [257], [{ e: 258 }], [{ v: 258 }], [{ h: 258 }], [], {}], [1, "dan-com", 2, "", 10, [], [{ e: 259 }], [{ v: 259 }], [{ c: 260 }], [], {}], [1, "deepl.com", 2, "", 22, [261], [{ e: 262 }], [{ v: 262 }], [{ if: { e: 263 }, then: [{ k: 263 }], else: [{ h: 262 }] }], [], {}], [1, "didomi", 2, "", 22, [264], [{ e: 265 }], [{ check: "any", v: 266 }], [{ if: { e: 267 }, then: [{ c: 267 }], else: [{ eval: "EVAL_DIDOMI_OPT_OUT" }] }], [{ eval: "EVAL_DIDOMI_TEST" }], {}], [1, "dmgmedia", 2, "", 22, [268], [{ e: 269 }], [{ v: 269 }], [{ c: 270 }, { wv: 271 }, { all: true, c: 272 }, { waitForThenClick: ['[data-project="mol-fe-cmp"] [class*=footer]', "xpath///button[contains(., 'Save & Exit')]"] }], [], {}], [1, "dmgmedia-us", 2, "", 22, [273], [{ e: 274 }], [{ wv: 274 }], [{ c: 275 }, { wv: 276 }, { c: 277 }, { c: 278 }], [], {}], [1, "dpgmedia-nl", 2, "", 22, [279], [{ e: 279 }], [{ visible: ["#pg-root-shadow-host", "#pg-modal"] }], [{ waitForThenClick: ["#pg-root-shadow-host", "#pg-configure-btn"] }, { waitForThenClick: ["#pg-root-shadow-host", "#pg-reject-btn"] }], [], {}], [1, "dreamlab-cmp", 2, "", 22, [280], [{ e: 281 }], [{ v: 280 }], [{ c: 282 }, { c: 283 }], [{ cc: 284 }], {}], [1, "Drupal", 2, "", 22, [], [{ e: 285 }], [{ v: 285 }], [{ k: 286 }], [], {}], [1, "dunelm.com", 2, "", 22, [287], [{ e: 288 }], [{ v: 288 }], [{ k: 289 }, { k: 290 }], [{ cc: 291 }, { cc: 292 }], {}], [1, "elsevier-pure", 2, "", 22, [293], [{ e: 294 }], [{ v: 294 }], [{ c: 295 }], [{ timeout: 1e3, check: "none", wv: 294 }], {}], [1, "Ensighten", 2, "", 22, [296, 297], [{ any: [{ v: 298 }, { v: 299 }] }], [{ any: [{ v: 298 }, { v: 299 }] }], [{ wait: 500 }, { if: { v: 298 }, then: [{ if: { check: "any", v: 300 }, then: [{ c: 300 }], else: [{ if: { check: "any", v: 301 }, then: [{ c: 301 }, { timeout: 1e3, w: 299 }, { all: true, optional: true, k: 302 }, { c: 303 }], else: [{ c: 304 }] }] }], else: [{ all: true, optional: true, k: 302 }, { c: 303 }] }], [], {}], [1, "etsy", 2, "", 22, [305, 306], [{ e: 305 }], [{ v: 305 }], [{ k: 307 }, { timeout: 3e3, wv: 308 }, { wait: 1e3 }, { eval: "EVAL_ETSY_0" }, { eval: "EVAL_ETSY_1" }], [], {}], [1, "EU Cookie Law", 1, "", 22, [309], [{ e: 310 }], [{ wait: 500 }, { v: 310 }], [{ h: 310 }], [{ negated: true, cc: 311 }], {}], [1, "eu-cookie-compliance-banner", 2, "", 22, [], [{ e: 312 }], [{ e: 312 }], [{ k: 313 }], [{ negated: true, cc: 314 }], {}], [1, "EZoic", 2, "", 22, [315], [{ e: 315 }], [{ v: 315 }], [{ wait: 500 }, { k: 316 }, { w: 317 }, { all: true, k: 318 }, { k: 319 }], [{ cc: 320 }], {}], [1, "fastcmp", 0, "", 22, [321], [{ e: 322 }], [{ v: 322 }], [{ waitForThenClick: ["iframe#fast-cmp-iframe", ".fast-cmp-home-refuse button"] }], [{ cc: 323 }], {}], [1, "fedex", 0, "", 22, [324], [{ e: 324 }], [{ v: 325 }], [{ c: 326 }], [{ cc: 327 }], {}], [1, "fides", 2, "", 22, [328], [{ e: 329 }], [{ v: 329 }, { eval: "EVAL_FIDES_DETECT_POPUP" }], [{ w: 330 }, { if: { v: 331 }, then: [{ k: 331 }], else: [{ k: 332 }, { c: 333 }] }], [], {}], [1, "finsweet", 0, "", 22, [334], [{ e: 334 }], [{ v: 335 }], [{ wait: 500 }, { if: { e: 336 }, then: [{ k: 336 }], else: [{ h: 334 }] }], [], {}], [1, "fullertonhotels.com", 0, "", 10, [], [{ exists: ["#ifrmCookieBanner", "#sp-decline"] }], [{ visible: ["#ifrmCookieBanner", "#sp-decline"] }], [{ wait: 500 }, { waitForThenClick: ["#ifrmCookieBanner", "#sp-decline"] }], [], {}], [1, "funding-choices", 2, "", 22, [337], [{ e: 338 }], [{ e: 339 }], [{ k: 340 }, { all: true, optional: true, k: 341 }, { optional: true, k: 342 }], [], {}], [1, "gallup", 2, "", 22, [343], [{ e: 344 }], [{ v: 344 }], [{ c: 344 }, { wait: 500 }, { c: 345 }], [{ cc: 346 }], {}], [1, "gdpr-legal-cookie", 2, "", 22, [347], [{ any: [{ eval: "EVAL_GDPR_LEGAL_COOKIE_DETECT_CMP" }, { e: 348 }] }], [{ check: "any", v: 349 }], [{ c: 350 }], [{ eval: "EVAL_GDPR_LEGAL_COOKIE_TEST" }], {}], [1, "google-consent-standalone", 2, "", 22, [], [{ e: 351 }, { e: 352 }], [{ v: 351 }], [{ c: 353 }], [], {}], [1, "google-cookiebar", 0, "", 22, [354], [{ e: 354 }], [{ v: 354 }], [{ if: { e: 355 }, then: [{ k: 355 }], else: [{ h: 354 }] }], [], {}], [1, "google.com", 2, "", 22, [356], [{ e: 356 }, { e: 357 }], [{ v: 358 }], [{ c: 358 }], [{ cc: 359 }], {}], [1, "gov.uk", 2, "", 22, [], [{ e: 360 }], [{ e: 361 }], [{ wait: 300 }, { if: { visible: [".govuk-cookie-banner__message", "xpath///button[contains(., 'Reject')] | //a[contains(., 'Reject')] | //input[contains(@value, 'Reject')] | //button[contains(., 'do not use analytics cookies')]"] }, then: [{ click: [".govuk-cookie-banner__message", "xpath///button[contains(., 'Reject')] | //a[contains(., 'Reject')] | //input[contains(@value, 'Reject')] | //button[contains(., 'do not use analytics cookies')]"] }] }, { waitForVisible: [".govuk-cookie-banner__message", "xpath///button[contains(., 'Hide')] | //a[contains(., 'Hide')] | //input[contains(@value, 'Hide')]"] }, { click: [".govuk-cookie-banner__message", "xpath///button[contains(., 'Hide')] | //a[contains(., 'Hide')] | //input[contains(@value, 'Hide')]"] }], [], {}], [1, "gravito", 2, "", 22, [362], [{ e: 362 }], [{ v: 362 }], [{ c: 363 }, { w: 364 }, { w: 365 }, { all: true, optional: true, k: 366 }, { c: 364 }], [{ cc: 367 }], {}], [1, "healthline-media", 2, "", 22, [368], [{ e: 369 }], [{ e: 369 }], [{ if: { e: 370 }, then: [{ k: 370 }], else: [{ wv: 371 }, { k: 372 }] }], [], {}], [1, "hema", 2, "", 22, [107], [{ v: 373 }], [{ v: 373 }], [{ c: 374 }], [{ cc: 375 }], {}], [1, "hl.co.uk", 2, "", 22, [376, 377], [{ e: 377 }], [{ e: 377 }], [{ k: 378 }, { h: 379 }, { w: 380 }, { optional: true, k: 381 }, { w: 382 }, { optional: true, k: 383 }, { k: 384 }], [], {}], [1, "holidaymedia", 2, "", 22, [385], [{ e: 385 }], [{ v: 385 }], [{ timeout: 2e3, c: 386 }], [], {}], [1, "hu-manity", 2, "", 22, [387], [{ e: 388 }], [{ v: 388 }], [{ c: 389 }], [], {}], [1, "hubspot", 2, "", 22, [], [{ e: 390 }], [{ v: 390 }], [{ k: 391 }], [], {}], [1, "inmobi", 2, "", 22, [392], [{ e: 393 }], [{ v: 393 }], [{ c: 394 }], [{ cc: 395 }], {}], [1, "ionos.de", 2, "", 22, [396, 397], [{ e: 397 }], [{ v: 397 }], [{ k: 398 }, { k: 399 }], [], {}], [1, "iubenda", 2, "", 22, [400], [{ e: 400 }], [{ v: 401 }], [{ if: { e: 402 }, then: [{ k: 402 }], else: [{ c: 403 }, { c: 404 }, { c: 405 }] }], [{ eval: "EVAL_IUBENDA_1" }], {}], [1, "iWink", 2, "", 22, [406], [{ e: 406 }], [{ v: 406 }], [{ c: 407 }], [{ cc: 408 }], {}], [1, "jetpack-eu-cookie-law", 1, "", 22, [409], [{ e: 409 }], [{ v: 409 }], [{ h: 409 }], [], {}], [1, "johnlewis.com", 2, "", 22, [410], [{ e: 410 }], [{ e: 410 }], [{ k: 411 }, { wait: 500 }, { all: true, optional: true, k: 412 }, { k: 413 }], [], {}], [1, "jquery.cookieBar", 1, "", 22, [414], [{ e: 415 }], [{ check: "any", v: 415 }], [{ h: 414 }], [{ check: "none", v: 415 }, { negated: true, cc: 416 }], {}], [1, "justwatch.com", 2, "", 22, [417], [{ e: 418 }], [{ v: 418 }], [{ k: 419 }, { c: 420 }, { c: 421 }, { all: true, optional: true, k: 422 }, { wv: 423 }, { k: 423 }], [], {}], [1, "kconsent", 0, "", 10, [424], [{ e: 425 }], [{ v: 426 }], [{ c: 427 }], [], {}], [1, "ketch", 2, "", 10, [428, 429, 430], [{ any: [{ e: 428 }, { e: 429 }, { e: 430 }, { e: 431 }] }], [{ any: [{ v: 428 }, { v: 429 }, { v: 430 }] }], [{ if: { e: 432 }, then: [{ c: 432 }] }, { if: { e: 433 }, then: [{ if: { e: 434 }, then: [{ c: 434 }], else: [{ if: { e: 435 }, then: [{ k: 435 }] }] }] }, { timeout: 1e3, optional: true, w: 436 }, { if: { e: 436 }, then: [{ c: 437 }, { k: 438 }] }], [{ cc: 439 }], { intermediate: false }], [1, "lia", 2, "", 22, [440], [{ e: 440 }], [{ e: 441 }, { v: 440 }], [{ c: 442 }], [], {}], [1, "lightbox", 2, "", 22, [443], [{ e: 444 }], [{ v: 444 }], [{ k: 445 }], [], {}], [1, "lineagrafica", 1, "", 22, [446], [{ e: 446 }], [{ e: 446 }], [{ h: 446 }], [], {}], [1, "linkedin.com", 2, "", 22, [447], [{ e: 447 }], [{ v: 447 }], [{ wv: 448 }, { wait: 500 }, { c: 448 }], [{ check: "none", wv: 447 }], {}], [1, "macaron", 2, "", 22, [449], [{ e: 449 }], [{ v: 450 }], [{ if: { e: 451 }, then: [{ k: 451 }], else: [{ c: 452 }, { w: 453 }, { wv: 454 }, { all: true, optional: true, c: 455 }, { c: 456 }] }], [{ cc: 457 }], {}], [1, "mediamarkt.de", 2, "", 22, [458, 459], [{ e: 460 }], [{ e: 460 }], [{ k: 461 }], [], {}], [1, "microsoft.com", 2, "", 22, [462], [{ e: 462 }], [{ e: 462 }], [{ eval: "EVAL_MICROSOFT_0" }], [{ eval: "EVAL_MICROSOFT_2" }], {}], [1, "moneysavingexpert.com", 2, "", 22, [], [{ e: 463 }], [{ v: 463 }], [{ k: 464 }, { k: 465 }], [], {}], [1, "Moove", 2, "", 22, [466], [{ e: 466 }], [{ v: 467 }], [{ if: { e: 468 }, then: [{ k: 468 }], else: [{ if: { e: 469 }, then: [{ k: 469 }, { wv: 470 }, { eval: "EVAL_MOOVE_0" }, { k: 471 }], else: [{ h: 466 }] }] }], [{ check: "none", v: 466 }], {}], [1, "nhs.uk", 2, "", 22, [472], [{ e: 472 }], [{ e: 472 }], [{ k: 473 }], [], {}], [1, "obi.de", 2, "", 22, [474], [{ e: 475 }], [{ v: 475 }], [{ k: 476 }], [], {}], [1, "om", 2, "", 22, [477], [{ e: 478 }], [{ e: 478 }], [{ if: { e: 479 }, then: [{ c: 479 }], else: [{ all: true, optional: true, k: 480 }, { c: 481 }] }], [], {}], [1, "openli", 2, "", 22, [482], [{ e: 482 }], [{ check: "any", v: 483 }], [{ c: 484 }], [], {}], [1, "osano", 2, "", 22, [485], [{ e: 486 }], [{ eval: "EVAL_OSANO_DETECT" }, { v: 487 }], [{ if: { e: 488 }, then: [{ k: 488 }], else: [{ if: { v: 489 }, then: [{ k: 489 }], else: [{ h: 485 }] }] }], [], {}], [1, "otto.de", 2, "", 22, [490], [{ e: 490 }], [{ v: 491 }], [{ k: 492 }], [], {}], [1, "overleaf", 2, "", 22, [493], [{ e: 494 }], [{ v: 494 }], [{ c: 495 }], [{ cc: 496 }], {}], [1, "pabcogypsum", 2, "", 22, [497], [{ e: 498 }], [{ v: 498 }], [{ c: 499 }], [], {}], [1, "pandectes", 2, "", 22, [500], [{ e: 500 }], [{ v: 500 }], [{ if: { v: 501 }, then: [{ k: 501 }], else: [{ k: 502 }, { c: 503 }, { k: 504 }] }], [{ wait: 500 }, { eval: "EVAL_PANDECTES_TEST" }], {}], [1, "paypal-us", 2, "", 22, [505], [{ e: 506 }], [{ v: 506 }], [{ if: { e: 507 }, then: [{ k: 507 }], else: [{ if: { e: 508 }, then: [{ k: 508 }], else: [{ wv: 509 }, { all: true, optional: true, k: 510 }, { k: 511 }] }] }], [], {}], [1, "paypal.com", 2, "", 22, [512], [{ e: 512 }], [{ v: 513 }], [{ c: 507 }], [{ wait: 500 }, { cc: 514 }], {}], [1, "pmc", 1, "", 22, [515], [{ e: 515 }], [{ v: 515 }], [{ h: 515 }], [], {}], [1, "police-uk", 2, "", 22, [516], [{ e: 517 }], [{ v: 517 }], [{ c: 517 }, { timeout: 5e3, optional: true, wv: 518 }, { optional: true, k: 518 }], [{ cc: 519 }], {}], [1, "pornhat", 1, "", 22, [520], [{ v: 521 }], [{ v: 521 }], [{ h: 520 }], [], {}], [1, "pride.com", 1, "", 22, [522], [{ e: 523 }], [{ v: 523 }], [{ h: 522 }], [], {}], [1, "PrimeBox CookieBar", 2, "", 22, [524], [{ e: 525 }], [{ check: "any", v: 525 }], [{ optional: true, k: 526 }, { h: 524 }], [{ negated: true, cc: 527 }], {}], [1, "privado", 0, "", 10, [528], [{ e: 529 }], [{ v: 529 }], [{ if: { e: 530 }, then: [{ c: 530 }], else: [{ c: 531 }, { wv: 532 }, { c: 532 }] }], [], {}], [1, "pubtech", 2, "", 22, [533], [{ e: 533 }], [{ v: 534 }], [{ k: 535 }], [{ eval: "EVAL_PUBTECH_0" }], {}], [1, "quantcast", 2, "", 22, [536], [{ e: 537 }], [{ v: 538 }], [{ if: { e: 539 }, then: [{ k: 539 }], else: [{ timeout: 2e3, w: 540 }, { if: { e: 541 }, then: [{ k: 541 }], else: [{ k: 542 }, { wv: 543 }, { all: true, optional: true, k: 544 }, { click: [".qc-cmp2-main", "xpath///button[contains(., 'REJECT ALL') or contains(., 'ALLE VERWERPEN') or contains(., '\u0391\u03A0\u039F\u03A1\u03A1\u0399\u03A0\u03A4\u03A9 \u03A4\u0391 \u03A0\u0391\u039D\u03A4\u0391') or contains(., 'RESPINGERE TOTAL\u0102') or contains(., 'ALLE ABLEHNEN') or contains(., 'ODRZUCENIE') or contains(., 'BLOQUEAR TODO') or contains(., 'REJEITAR TODOS') or contains(., 'RIFIUTA TUTTO') or contains(., 'TOUT REFUSER') or contains(., '\u041E\u0422\u041A\u041B\u041E\u041D\u0418\u0422\u042C \u0412\u0421\u0415\u0425')]"], optional: true }, { wait: 500 }, { if: { e: 545 }, then: [{ k: 545 }], else: [{ waitForThenClick: [".qc-cmp2-main", "xpath///button[contains(.,'SAVE & EXIT') or contains(.,'SALVA ED ESCI') or contains(.,'GUARDAR Y SALIR') or contains(.,'SPEICHERN & VERLASSEN')"], timeout: 5e3 }] }] }] }], [], {}], [1, "real-cookie-banner", 0, "", 10, [546], [{ e: 547 }], [{ v: 547 }], [{ waitForThenClick: ['div[consent-skip-blocker="1"][id][data-bg] > dialog > div > div > div > div > div > a[role=button]:not([id])', "xpath///span[contains(., ' ohne ') or contains(., 'without') or contains(., 'Ablehnen')]"] }], [{ timeout: 1e3, check: "none", wv: 547 }], {}], [1, "ring", 2, "", 22, [], [{ e: 548 }], [{ v: 548 }], [{ c: 549 }, { wv: 550 }, { all: true, optional: true, k: 551 }, { c: 552 }], [], {}], [1, "sandhills", 1, "", 22, [553], [{ e: 554 }], [{ v: 554 }], [{ h: 553 }], [], {}], [1, "sas", 2, "", 22, [555], [{ e: 555 }], [{ v: 555 }], [{ c: 556 }], [{ cc: 557 }], {}], [1, "shopify", 0, "", 22, [558], [{ e: 558 }], [{ v: 558 }], [{ c: 559 }], [{ eval: "EVAL_SHOPIFY_TEST" }], {}], [1, "sibbo", 2, "", 22, [560], [{ e: 560 }], [{ v: 561 }], [{ k: 561 }], [], {}], [1, "Sirdata", 0, "", 22, [562], [{ e: 562 }], [{ v: 562 }], [{ if: { exists: ["#sd-cmp", "xpath///button[contains(., 'Do not accept') or contains(., 'Acceptera inte') or contains(., 'No aceptar') or contains(., 'Ikke acceptere') or contains(., 'Nicht akzeptieren') or contains(., '\u041D\u0435 \u043F\u0440\u0438\u0435\u043C\u0430\u043C') or contains(., '\u039D\u03B1 \u03BC\u03B7\u03BD \u03B3\u03AF\u03BD\u03B5\u03B9 \u03B1\u03C0\u03BF\u03B4\u03BF\u03C7\u03AE') or contains(., 'Niet accepteren') or contains(., 'Nep\u0159ij\xEDmat') or contains(., 'Nie akceptuj') or contains(., 'Nu accepta\u021Bi') or contains(., 'N\xE3o aceitar') or contains(., 'Continuer sans accepter') or contains(., 'Non accettare') or contains(., 'Nem fogad el')]"] }, then: [{ waitForThenClick: ["#sd-cmp", "xpath///button[contains(., 'Do not accept') or contains(., 'Acceptera inte') or contains(., 'No aceptar') or contains(., 'Ikke acceptere') or contains(., 'Nicht akzeptieren') or contains(., '\u041D\u0435 \u043F\u0440\u0438\u0435\u043C\u0430\u043C') or contains(., '\u039D\u03B1 \u03BC\u03B7\u03BD \u03B3\u03AF\u03BD\u03B5\u03B9 \u03B1\u03C0\u03BF\u03B4\u03BF\u03C7\u03AE') or contains(., 'Niet accepteren') or contains(., 'Nep\u0159ij\xEDmat') or contains(., 'Nie akceptuj') or contains(., 'Nu accepta\u021Bi') or contains(., 'N\xE3o aceitar') or contains(., 'Continuer sans accepter') or contains(., 'Non accettare') or contains(., 'Nem fogad el')]"] }], else: [{ if: { exists: ["#sd-cmp", "xpath///span[contains(., '\u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u0432\u0430\u0448\u0438\u0442\u0435 \u0438\u0437\u0431\u043E\u0440\u0438') or contains(., 'Nastavit va\u0161e volby') or contains(., 'Angiv dine valg') or contains(., 'Ihre Auswahl treffen') or contains(., '\u039F\u03C1\u03AF\u03C3\u03C4\u03B5 \u03C4\u03B9\u03C2 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AD\u03C2 \u03C3\u03B1\u03C2') or contains(., 'Set your choices') or contains(., 'Establecer preferencias') or contains(., 'Param\xE9trer vos choix') or contains(., 'V\xE1lassza ki a be\xE1ll\xEDt\xE1sokat') or contains(., 'Imposta le tue scelte') or contains(., 'Stel uw keuzes in') or contains(., 'Ustaw swoje wybory') or contains(., 'Definir suas escolhas') or contains(., 'Seta\u021Bi-v\u0103 op\u021Biunile') or contains(., 'St\xE4ll in dina val')]"] }, then: [{ waitForThenClick: ["#sd-cmp", "xpath///span[contains(., '\u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u0432\u0430\u0448\u0438\u0442\u0435 \u0438\u0437\u0431\u043E\u0440\u0438') or contains(., 'Nastavit va\u0161e volby') or contains(., 'Angiv dine valg') or contains(., 'Ihre Auswahl treffen') or contains(., '\u039F\u03C1\u03AF\u03C3\u03C4\u03B5 \u03C4\u03B9\u03C2 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AD\u03C2 \u03C3\u03B1\u03C2') or contains(., 'Set your choices') or contains(., 'Establecer preferencias') or contains(., 'Param\xE9trer vos choix') or contains(., 'V\xE1lassza ki a be\xE1ll\xEDt\xE1sokat') or contains(., 'Imposta le tue scelte') or contains(., 'Stel uw keuzes in') or contains(., 'Ustaw swoje wybory') or contains(., 'Definir suas escolhas') or contains(., 'Seta\u021Bi-v\u0103 op\u021Biunile') or contains(., 'St\xE4ll in dina val')]"] }, { waitForThenClick: ["#sd-cmp", "xpath///span[contains(., '\u041E\u0442\u0445\u0432\u044A\u0440\u043B\u044F\u043C \u0432\u0441\u0438\u0447\u043A\u043E') or contains(., 'Odm\xEDtnout v\u0161e') or contains(., 'Afvis alt') or contains(., 'Alle ablehnen') or contains(., '\u0391\u03C0\u03CC\u03C1\u03C1\u03B9\u03C8\u03B7 \u03CC\u03BB\u03C9\u03BD') or contains(., 'Reject all') or contains(., 'Rechazar todo') or contains(., 'Tout refuser') or contains(., 'Mind elutas\xEDt\xE1sa') or contains(., 'Rifiuta tutto') or contains(., 'Alles weigeren') or contains(., 'Odrzu\u0107 wszystkie') or contains(., 'Rejeitar todos') or contains(., 'Respinge\u021Bi toate') or contains(., 'Avvisa allt')]"] }], else: [{ c: 563 }] }] }], [], {}], [1, "snigel", 2, "", 22, [], [{ e: 564 }], [{ v: 564 }], [{ k: 565 }, { k: 566 }], [{ cc: 567 }], {}], [1, "squarespace-cookie-banner", 2, "", 22, [568], [{ e: 569 }], [{ v: 569 }], [{ c: 570 }], [{ timeout: 1e3, check: "none", wv: 569 }], {}], [1, "squiz", 0, "", 10, [528], [{ e: 571 }], [{ v: 571 }], [{ c: 572 }], [{ wait: 500 }, { cc: 573 }], {}], [1, "steampowered.com", 2, "", 22, [], [{ e: 574 }, { v: 574 }], [{ v: 574 }], [{ k: 575 }], [{ wait: 1e3 }, { eval: "EVAL_STEAMPOWERED_0" }], {}], [1, "stripchat.com", 0, "", 22, [576], [{ e: 577 }], [{ v: 577 }], [{ c: 578 }, { c: 579 }], [{ wait: 500 }, { cc: 580 }], {}], [1, "substack", 0, "", 12, [], [{ e: 581 }], [{ v: 581 }], [{ waitForThenClick: [".pencraft", "xpath///button[contains(., 'Only Necessary') or contains(., 'Reject')]"] }], [{ cc: 582 }], {}], [1, "summitracing", 1, "", 10, [583], [{ e: 584 }], [{ v: 584 }], [{ h: 583 }], [], {}], [1, "synology", 0, "", 22, [585], [{ e: 585 }], [{ v: 585 }], [{ c: 586 }, { wv: 587 }, { all: true, optional: true, k: 588 }, { c: 589 }], [{ cc: 590 }, { cc: 591 }], {}], [1, "tagconcierge", 2, "", 22, [592], [{ e: 592 }], [{ v: 593 }], [{ if: { v: 594 }, then: [{ k: 594 }], else: [{ c: 595 }, { c: 596 }] }], [{ check: "none", v: 592 }], {}], [1, "takealot.com", 1, "", 22, [597], [{ e: 598 }], [{ e: 598 }], [{ h: 597 }, { if: { e: 599 }, then: [{ eval: "EVAL_TAKEALOT_0" }], else: [] }], [], {}], [1, "tarteaucitron deny", 2, "", 22, [600], [{ e: 600 }], [{ v: 601 }], [{ wait: 500 }, { k: 601 }], [{ eval: "EVAL_TARTEAUCITRON_2" }], {}], [1, "tarteaucitron.js", 2, "", 22, [600], [{ e: 600 }], [{ v: 602 }, { negated: true, e: 601 }], [{ if: { e: 603 }, then: [{ all: true, optional: true, k: 604 }, { k: 602 }], else: [{ k: 605 }, { c: 606 }, { k: 607 }] }], [{ eval: "EVAL_TARTEAUCITRON_2" }], {}], [1, "taunton", 2, "", 22, [608], [{ e: 608 }], [{ e: 609 }], [{ optional: true, all: true, k: 610 }, { k: 611 }], [{ cc: 612 }], {}], [1, "tccCmpAlert", 2, "", 22, [613], [{ e: 613 }], [{ v: 613 }], [{ c: 614 }], [], {}], [1, "Tealium", 2, "", 22, [615], [{ e: 616 }, { eval: "EVAL_TEALIUM_0" }], [{ check: "any", v: 616 }], [{ eval: "EVAL_TEALIUM_1" }, { eval: "EVAL_TEALIUM_DONOTSELL" }, { h: 617 }, { timeout: 1e3, optional: true, c: 618 }], [{ eval: "EVAL_TEALIUM_3" }, { eval: "EVAL_TEALIUM_DONOTSELL_CHECK" }, { check: "none", v: 619 }], {}], [1, "Termly", 2, "", 22, [620], [{ e: 620 }], [{ v: 621 }], [{ if: { e: 622 }, then: [{ k: 622 }], else: [{ c: 623 }, { timeout: 700, w: 624 }, { if: { e: 624 }, then: [{ k: 624 }], else: [{ all: true, c: 625 }, { c: 626 }] }] }], [], {}], [1, "termsfeed", 2, "", 22, [627], [{ e: 627 }], [{ v: 627 }], [{ if: { e: 628 }, then: [{ c: 628 }], else: [{ c: 629 }, { w: 630 }, { all: true, optional: true, k: 631 }, { k: 632 }] }], [], {}], [1, "termsfeed3", 2, "", 22, [633], [{ e: 634 }], [{ v: 634 }], [{ if: { e: 635 }, then: [{ k: 635 }, { wv: 636 }, { c: 636 }], else: [{ h: 633 }] }], [], {}], [1, "Test page CMP", 2, "", 22, [637], [{ e: 638 }], [{ v: 638 }], [{ w: 637 }, { eval: "EVAL_TESTCMP_STEP" }, { k: 637 }], [{ eval: "EVAL_TESTCMP_0" }], {}], [1, "Test page cosmetic CMP", 1, "", 22, [639], [{ e: 640 }], [{ v: 640 }], [{ h: 640 }], [{ wait: 500 }, { eval: "EVAL_TESTCMP_COSMETIC_0" }], {}], [1, "thalia.de", 2, "", 22, [641], [{ e: 642 }], [{ v: 641 }], [{ k: 643 }], [], {}], [1, "thefreedictionary.com", 2, "", 22, [644], [{ e: 644 }], [{ v: 644 }], [{ eval: "EVAL_THEFREEDICTIONARY_0" }], [], {}], [1, "toyota", 0, "", 10, [645], [{ e: 646 }], [{ v: 646 }], [{ c: 647 }], [{ cc: 648 }], {}], [1, "tplink", 0, "", 22, [649], [{ e: 649 }], [{ v: 650 }], [{ all: true, optional: true, k: 651 }, { c: 652 }], [{ cc: 653 }], {}], [1, "trader-joes-com", 1, "", 22, [654], [{ e: 654 }], [{ v: 654 }], [{ h: 654 }], [], {}], [2, "transcend", 1, "", 22, [655], [{ e: 655 }], [{ v: 655 }], [{ setStyle: "display: none !important; z-index: -1 !important; pointer-events: none !important;", selector: "#transcend-consent-manager" }], [], {}], [1, "tropicfeel-com", 2, "", 22, [656], [{ e: 656 }], [{ check: "any", v: 657 }], [{ k: 658 }, { w: 659 }, { all: true, k: 660 }, { k: 661 }], [], {}], [1, "TrustArc-newcm", 2, "", 22, [662], [{ exists: [".truste_popframe.trustarc_newcm_container", "a.required, a.call"] }], [{ visible: [".truste_popframe.trustarc_newcm_container", "a.required, a.call"], check: "any" }], [{ waitForThenClick: [".truste_popframe.trustarc_newcm_container", "a.required"] }], [{ cc: 663 }, { negated: true, cc: 664 }], {}], [1, "truyo", 2, "", 22, [665], [{ e: 666 }], [{ v: 665 }], [{ k: 667 }], [], {}], [1, "trybe", 0, "", 22, [668], [{ e: 668 }], [{ v: 669 }], [{ c: 670 }, { w: 671 }, { optional: true, k: 672 }, { optional: true, k: 673 }, { c: 674 }], [{ wait: 500 }, { cc: 675 }], {}], [1, "twcc", 0, "", 10, [676], [{ e: 677 }], [{ v: 677 }], [{ c: 678 }], [{ cc: 679 }], {}], [1, "u12-data-protection-notice", 2, "", 22, [680], [{ e: 680 }], [{ v: 681 }], [{ c: 682 }], [], {}], [1, "ubuntu.com", 2, "", 22, [683], [{ any: [{ e: 684 }, { e: 685 }] }], [{ any: [{ v: 686 }, { v: 685 }] }], [{ any: [{ c: 687 }, { c: 688 }] }, { optional: true, all: true, timeout: 500, c: 689 }, { any: [{ c: 690 }, { c: 691 }] }], [{ cc: 692 }], {}], [1, "UK Cookie Consent", 1, "", 22, [693], [{ e: 693 }], [{ e: 694 }], [{ h: 693 }], [{ negated: true, cc: 695 }], {}], [1, "usercentrics-api", 2, "", 22, [], [{ e: 696 }], [{ eval: "EVAL_USERCENTRICS_API_0" }, { if: { e: 697 }, then: [{ timeout: 2e3, wv: 697 }], else: [{ exists: ["#usercentrics-root", "[data-testid=uc-container]"] }, { timeout: 2e3, wv: 698 }] }], [{ if: { exists: ["#usercentrics-root", "[data-testid=uc-deny-all-button]"] }, then: [{ click: ["#usercentrics-root", "[data-testid=uc-deny-all-button]"] }], else: [{ if: { exists: ["#usercentrics-cmp-ui", "[data-action-type=deny]"] }, then: [{ click: ["#usercentrics-cmp-ui", "[data-action-type=deny]"] }], else: [{ eval: "EVAL_USERCENTRICS_API_1" }, { eval: "EVAL_USERCENTRICS_API_2" }] }] }, { removeClass: "overflowHidden", selector: "body", optional: true }], [{ eval: "EVAL_USERCENTRICS_API_6" }], {}], [1, "usercentrics-button", 2, "", 22, [], [{ e: 699 }], [{ v: 700 }], [{ k: 701 }], [{ eval: "EVAL_USERCENTRICS_BUTTON_0" }], {}], [1, "vivenu", 2, "", 22, [], [{ e: 702 }], [{ v: 702 }], [{ c: 703 }], [{ check: "none", v: 702 }], {}], [1, "waitrose.com", 2, "", 22, [704, 705, 706], [{ e: 705 }], [{ v: 705 }], [{ k: 707 }, { wait: 200 }, { eval: "EVAL_WAITROSE_0" }, { k: 708 }], [{ cc: 709 }, { cc: 710 }], {}], [1, "webflow", 2, "", 22, [711], [{ v: 711 }], [{ v: 711 }, { v: 712 }], [{ if: { e: 713 }, then: [{ wait: 500 }, { c: 713 }], else: [{ h: 714 }] }], [{ cc: 715 }], {}], [1, "wiki.gg", 1, "", 22, [716], [{ e: 716 }], [{ v: 716 }], [{ h: 716 }], [], {}], [1, "wix", 0, "", 22, [], [{ e: 717 }], [{ v: 717 }], [{ if: { e: 718 }, then: [{ k: 718 }], else: [{ h: 719 }] }], [], {}], [1, "woo-commerce-com", 2, "", 22, [720], [{ e: 720 }], [{ e: 720 }], [{ k: 721 }, { all: true, c: 41 }, { k: 722 }], [], {}], [1, "WP Cookie Notice for GDPR", 2, "", 22, [723], [{ e: 723 }], [{ v: 723 }], [{ c: 724 }], [{ cc: 725 }], {}], [1, "WP DSGVO Tools", 2, "", 22, [726], [{ e: 727 }], [{ check: "any", v: 727 }], [{ c: 728 }], [{ negated: true, cc: 729 }], {}], [1, "wpcc", 1, "", 22, [730], [{ e: 730 }], [{ e: 731 }], [{ h: 730 }], [], {}], [1, "xgroovy", 1, "", 22, [732], [{ e: 733 }], [{ v: 733 }], [{ h: 732 }], [], {}], [1, "xing.com", 2, "", 22, [], [{ e: 734 }], [{ e: 734 }], [{ k: 735 }, { k: 736 }], [{ cc: 737 }], {}], [1, "xnxx-com", 1, "", 22, [738], [{ e: 738 }], [{ v: 738 }], [{ h: 738 }], [], {}], [1, "youtube-desktop", 2, "", 22, [739, 740], [{ e: 741 }, { e: 742 }], [{ v: 741 }], [{ c: 743 }, { wait: 500 }], [{ wait: 500 }, { cc: 359 }], {}], [1, "youtube-mobile", 2, "", 22, [744], [{ e: 745 }], [{ v: 745 }], [{ c: 746 }, { wait: 500 }], [{ wait: 500 }, { cc: 359 }], {}], [1, "zdf", 2, "", 22, [747], [{ e: 747 }], [{ v: 748 }], [{ c: 749 }], [], {}], [1, "cookiealert", 2, "", 11, [], [{ e: 750 }], [{ v: 751 }], [{ k: 752 }, { all: true, optional: true, k: 753 }, { k: 754 }, { eval: "EVAL_COOKIEALERT_0" }], [{ eval: "EVAL_COOKIEALERT_2" }], { intermediate: false }], [1, "auto_AU_help.dropbox.com_4ad_+1", 0, "^https?://(www\\.)?dropbox\\.com/|^https?://(www\\.)?dropbox\\.com/", 1, [], [{ e: 755 }], [{ v: 755 }], [{ wait: 500 }, { c: 755 }], [{ timeout: 1e3, check: "none", wv: 755 }], {}], [1, "auto_CA_coasthotels.com_f8m", 0, "^https?://(www\\.)?coasthotels\\.com/", 1, [], [{ e: 756 }], [{ v: 756 }], [{ c: 756 }], [], {}], [1, "auto_CA_epihunter.eu_hd4", 0, "^https?://(www\\.)?combell\\.com/", 1, [], [{ e: 757 }], [{ v: 757 }], [{ wait: 500 }, { c: 757 }], [{ timeout: 1e3, check: "none", wv: 757 }], {}], [1, "auto_CA_nationalarchives.gov.uk_rx0", 0, "^https?://(www\\.)?webarchive\\.nationalarchives\\.gov\\.uk/", 1, [], [{ e: 758 }], [{ v: 758 }], [{ wait: 500 }, { c: 758 }], [{ timeout: 1e3, check: "none", wv: 758 }], {}], [1, "auto_CA_natureconservancy.ca_3pp", 0, "^https?://(www\\.)?natureconservancy\\.ca/", 1, [], [{ e: 759 }], [{ v: 759 }], [{ wait: 500 }, { c: 759 }], [{ timeout: 1e3, check: "none", wv: 759 }], {}], [1, "auto_CA_ontariospca.ca_k32", 0, "^https?://(www\\.)?widget-next\\.clym-sdk\\.net/", 1, [], [{ e: 760 }], [{ v: 760 }], [{ wait: 500 }, { c: 760 }], [{ timeout: 1e3, check: "none", wv: 760 }], {}], [1, "auto_CA_phoenixnap.com_hrb", 0, "^https?://(www\\.)?widget-next\\.clym-sdk\\.net/", 1, [], [{ e: 761 }], [{ v: 761 }], [{ wait: 500 }, { c: 761 }], [{ timeout: 1e3, check: "none", wv: 761 }], {}], [1, "auto_CH_phoenixnap.com_lx5", 0, "^https?://(www\\.)?widget-next\\.clym-sdk\\.net/", 1, [], [{ e: 762 }], [{ v: 762 }], [{ wait: 500 }, { c: 762 }], [{ timeout: 1e3, check: "none", wv: 762 }], {}], [1, "auto_CH_swisscare.com_arx", 0, "^https?://(www\\.)?swisscare\\.com/", 1, [], [{ e: 763 }], [{ v: 763 }], [{ wait: 500 }, { c: 763 }], [{ timeout: 1e3, check: "none", wv: 763 }], {}], [1, "auto_DE_alfaromeo.de_gvg_+2", 0, "^https?://(www\\.)?cookielaw\\.emea\\.fcagroup\\.com/|^https?://(www\\.)?cookielaw\\.emea\\.fcagroup\\.com/|^https?://(www\\.)?cookielaw\\.emea\\.fcagroup\\.com/", 1, [], [{ e: 764 }], [{ v: 764 }], [{ wait: 500 }, { c: 764 }], [{ timeout: 1e3, check: "none", wv: 764 }], {}], [1, "auto_DE_huss-licht-ton.de_jj0", 0, "^https?://(www\\.)?huss-licht-ton\\.de/", 1, [], [{ e: 765 }], [{ v: 765 }], [{ wait: 500 }, { c: 765 }], [{ timeout: 1e3, check: "none", wv: 765 }], {}], [1, "auto_DE_modellbau-berlinski.de_8vm", 0, "^https?://(www\\.)?modellbau-berlinski\\.de/", 1, [], [{ e: 766 }], [{ v: 766 }], [{ wait: 500 }, { c: 766 }], [{ timeout: 1e3, check: "none", wv: 766 }], {}], [1, "auto_DE_phoenixnap.com_xq7", 0, "^https?://(www\\.)?widget-next\\.clym-sdk\\.net/", 1, [], [{ e: 767 }], [{ v: 767 }], [{ wait: 500 }, { c: 767 }], [{ timeout: 1e3, check: "none", wv: 767 }], {}], [1, "auto_FR_fiat.fr_3fh", 0, "^https?://(www\\.)?cookielaw\\.emea\\.fcagroup\\.com/", 1, [], [{ e: 768 }], [{ v: 768 }], [{ wait: 500 }, { c: 768 }], [{ timeout: 1e3, check: "none", wv: 768 }], {}], [1, "auto_FR_stellantis.com_67q", 0, "^https?://(www\\.)?cookielaw\\.emea\\.fcagroup\\.com/", 1, [], [{ e: 768 }], [{ v: 768 }], [{ wait: 500 }, { c: 768 }], [{ timeout: 1e3, check: "none", wv: 768 }], {}], [1, "auto_GB_dropbox.com_0_+1", 0, "^https?://(www\\.)?dropbox\\.com/|^https?://(www\\.)?dropbox\\.com/", 1, [], [{ e: 769 }], [{ v: 769 }], [{ c: 769 }], [], {}], [1, "auto_GB_investing.thisismoney.co.uk_0", 0, "^https?://(www\\.)?thisismoney\\.co\\.uk/", 1, [], [{ e: 770 }], [{ v: 770 }], [{ c: 770 }], [], {}], [1, "auto_GB_village-hotels.co.uk_hsa", 0, "^https?://(www\\.)?village-hotels\\.co\\.uk/", 1, [], [{ e: 771 }], [{ v: 771 }], [{ wait: 500 }, { c: 771 }], [{ timeout: 1e3, check: "none", wv: 771 }], {}], [1, "auto_NL_fiat.nl_trv_+1", 0, "^https?://(www\\.)?cookielaw\\.emea\\.fcagroup\\.com/|^https?://(www\\.)?cookielaw\\.emea\\.fcagroup\\.com/", 1, [], [{ e: 768 }], [{ v: 768 }], [{ wait: 500 }, { c: 768 }], [{ timeout: 1e3, check: "none", wv: 768 }], {}], [1, "auto_NL_flitsmeister.nl_ws8", 0, "^https?://(www\\.)?cookies\\.flitsmeister\\.com/", 1, [], [{ e: 772 }], [{ v: 772 }], [{ wait: 500 }, { c: 772 }], [{ timeout: 1e3, check: "none", wv: 772 }], {}], [1, "auto_NL_interpolis.nl_jk9", 0, "^https?://(www\\.)?interpolis\\.nl/", 1, [], [{ e: 773 }], [{ v: 773 }], [{ wait: 500 }, { c: 773 }], [{ timeout: 1e3, check: "none", wv: 773 }], {}], [1, "auto_US_dropbox.com_0_+1", 0, "^https?://(www\\.)?dropbox\\.com/|^https?://(www\\.)?dropbox\\.com/", 1, [], [{ e: 774 }], [{ v: 774 }], [{ text: "Decline", c: 774 }], [], {}], [1, "coinbase", 2, "^https://(www|help)\\.coinbase\\.com", 11, [], [{ e: 775 }], [{ v: 775 }], [{ k: 776 }, { all: true, optional: true, k: 777 }, { k: 778 }], [{ eval: "EVAL_COINBASE_0" }], { intermediate: false }], [1, "privacymanager.io", 2, "^https://cmp-consent-tool\\.privacymanager\\.io/", 1, [779, 780], [{ e: 781 }], [{ v: 781 }], [{ if: { e: 782 }, then: [{ k: 782 }, { c: 783 }], else: [{ c: 784 }, { w: 785 }, { w: 786 }, { all: true, optional: true, k: 787 }, { k: 786 }] }], [], {}], [1, "web.de", 2, "^https://([a-z]*\\.)?web\\.de/|^https://([a-z]*\\.)?gmx\\.net/", 1, [], [{ e: 788 }, { e: 789 }], [{ v: 789 }], [{ c: 789 }], [], {}], [1, "abc", 2, "^https://([a-z0-9-]+\\.)?abc\\.net\\.au/", 22, [], [{ e: 790 }], [{ v: 791 }], [{ c: 792 }], [{ cc: 793 }], {}], [1, "activobank.pt", 2, "^https://(www\\.)?activobank\\.pt", 22, [794], [{ e: 795 }], [{ v: 796 }], [{ c: 797 }], [], {}], [1, "adultfriendfinder", 2, "^https://(www\\.)?adultfriendfinder\\.com/", 22, [798], [{ e: 799 }], [{ v: 799 }], [{ c: 800 }], [{ eval: "EVAL_ADULTFRIENDFINDER_TEST" }], {}], [1, "ah.nl", 0, "^https?://(www\\.)?ah\\.nl/", 10, [], [{ e: 801 }], [{ v: 801 }], [{ c: 802 }], [], {}], [1, "alaskaair", 1, "^https://(www\\.)?alaskaair\\.com/", 22, [803], [{ e: 803 }], [{ v: 803 }], [{ h: 803 }], [], {}], [1, "aliexpress", 2, "^https://([a-z]*\\.)?aliexpress\\.com/", 22, [804], [{ e: 805 }], [{ v: 805 }], [{ if: { e: 806 }, then: [{ c: 807 }], else: [{ c: 808 }, { w: 809 }, { all: true, optional: true, k: 810 }, { k: 811 }] }], [], {}], [1, "ally", 1, "^https://(www\\.)?ally\\.com/", 22, [812], [{ e: 813 }], [{ v: 813 }], [{ h: 812 }], [], {}], [1, "app.discuss.io", 2, "^https?://app\\.discuss\\.io/", 10, [], [{ e: 530 }], [{ v: 530 }], [{ c: 530 }], [{ cc: 79 }], {}], [1, "athlinks-com", 1, "^https://(www\\.)?athlinks\\.com/", 22, [814], [{ e: 814 }], [{ v: 815 }], [{ h: 814 }], [], {}], [1, "auto_AU_acetool.com_n0w_+1", 0, "^https?://(www\\.)?acetool\\.com/|^https?://(www\\.)?unclewiener\\.com/", 10, [], [{ e: 816 }], [{ v: 816 }], [{ wait: 500 }, { c: 816 }], [{ timeout: 1e3, check: "none", wv: 816 }], {}], [1, "auto_AU_aelfie.com_chb", 0, "^https?://(www\\.)?aelfie\\.com/", 10, [], [{ e: 817 }], [{ v: 817 }], [{ wait: 500 }, { c: 817 }], [{ timeout: 1e3, check: "none", wv: 817 }], {}], [1, "auto_AU_cam.start.canon_3x5", 0, "^https?://(www\\.)?cam\\.start\\.canon/", 10, [], [{ e: 818 }], [{ v: 818 }], [{ wait: 500 }, { c: 818 }], [{ timeout: 1e3, check: "none", wv: 818 }], {}], [1, "auto_AU_cam.start.canon_z06", 0, "^https?://(www\\.)?cam\\.start\\.canon/", 10, [], [{ e: 819 }], [{ v: 819 }], [{ wait: 500 }, { c: 819 }], [{ timeout: 1e3, check: "none", wv: 819 }], {}], [1, "auto_AU_capitoltrades.com_ak9", 0, "^https?://(www\\.)?capitoltrades\\.com/", 10, [], [{ e: 820 }], [{ v: 820 }], [{ wait: 500 }, { c: 820 }], [{ timeout: 1e3, check: "none", wv: 820 }], {}], [1, "auto_AU_community.dyson.com_lek", 0, "^https?://(www\\.)?community\\.dyson\\.com/", 10, [], [{ e: 821 }], [{ v: 821 }], [{ wait: 500 }, { c: 821 }], [{ timeout: 1e3, check: "none", wv: 821 }], {}], [1, "auto_AU_conference-board.org_dce", 0, "^https?://(www\\.)?conference-board\\.org/", 10, [], [{ e: 822 }], [{ v: 822 }], [{ wait: 500 }, { c: 822 }], [{ timeout: 1e3, check: "none", wv: 822 }], {}], [1, "auto_AU_cutterbuck.com_ko7", 0, "^https?://(www\\.)?cutterbuck\\.com/", 10, [], [{ e: 823 }], [{ v: 823 }], [{ wait: 500 }, { c: 823 }], [{ timeout: 1e3, check: "none", wv: 823 }], {}], [1, "auto_AU_deezer.com_tmf", 0, "^https?://(www\\.)?deezer\\.com/", 10, [], [{ e: 824 }], [{ v: 824 }], [{ wait: 500 }, { c: 824 }], [{ timeout: 1e3, check: "none", wv: 824 }], {}], [1, "auto_AU_docs.portainer.io_hn5", 0, "^https?://(www\\.)?docs\\.portainer\\.io/", 10, [], [{ e: 825 }], [{ v: 825 }], [{ wait: 500 }, { c: 825 }], [{ timeout: 1e3, check: "none", wv: 825 }], {}], [1, "auto_AU_flinders.edu.au_7en_+1", 0, "^https?://(www\\.)?flinders\\.edu\\.au/|^https?://(www\\.)?students\\.flinders\\.edu\\.au/", 10, [], [{ e: 826 }], [{ v: 826 }], [{ c: 826 }], [], {}], [1, "auto_AU_flysaa.com_qsm", 0, "^https?://(www\\.)?flysaa\\.com/", 10, [827], [{ e: 827 }], [{ v: 828 }], [{ c: 829 }], [{ timeout: 1e3, check: "none", wv: 828 }], {}], [1, "auto_AU_flysas.com_r1s", 0, "^https?://(www\\.)?flysas\\.com/", 10, [], [{ e: 830 }], [{ v: 830 }], [{ wait: 500 }, { c: 830 }], [{ timeout: 1e3, check: "none", wv: 830 }], {}], [1, "auto_AU_gayseniordating.com_bdr", 0, "^https?://(www\\.)?gayseniordating\\.com/", 10, [], [{ e: 831 }], [{ v: 831 }], [{ wait: 500 }, { c: 831 }], [{ timeout: 1e3, check: "none", wv: 831 }], {}], [1, "auto_AU_goodmoodprints.com_9fy", 1, "^https?://(www\\.)?goodmoodprints\\.com/", 10, [832], [{ e: 832 }], [{ v: 832 }], [{ h: 832 }], [{ timeout: 1e3, check: "none", wv: 832 }], {}], [1, "auto_AU_lush.com_bdf", 0, "^https?://(www\\.)?lush\\.com/", 10, [], [{ e: 833 }], [{ v: 833 }], [{ wait: 500 }, { c: 833 }], [{ timeout: 1e3, check: "none", wv: 833 }], {}], [1, "auto_AU_newyork.doverstreetmarket.com_j5q", 0, "^https?://(www\\.)?newyork\\.doverstreetmarket\\.com/", 10, [], [{ e: 834 }], [{ v: 834 }], [{ wait: 500 }, { c: 834 }], [{ timeout: 1e3, check: "none", wv: 834 }], {}], [1, "auto_AU_newyork.doverstreetmarket.com_k2q", 0, "^https?://(www\\.)?newyork\\.doverstreetmarket\\.com/", 10, [], [{ e: 835 }], [{ v: 835 }], [{ wait: 500 }, { c: 835 }], [{ timeout: 1e3, check: "none", wv: 835 }], {}], [1, "auto_AU_niwaki.com_w41", 0, "^https?://(www\\.)?niwaki\\.com/", 10, [], [{ e: 836 }], [{ v: 836 }], [{ wait: 500 }, { c: 836 }], [{ timeout: 1e3, check: "none", wv: 836 }], {}], [1, "auto_AU_pichunter.com_zhf", 0, "^https?://(www\\.)?pichunter\\.com/", 10, [], [{ e: 837 }], [{ v: 837 }], [{ wait: 500 }, { c: 837 }], [{ timeout: 1e3, check: "none", wv: 837 }], {}], [1, "auto_AU_pnp.co.za_9lg", 0, "^https?://(www\\.)?pnp\\.co\\.za/", 10, [], [{ e: 838 }], [{ v: 838 }], [{ wait: 500 }, { c: 838 }], [{ timeout: 1e3, check: "none", wv: 838 }], {}], [1, "auto_AU_publicdomainreview.org_7fg", 0, "^https?://(www\\.)?publicdomainreview\\.org/", 10, [], [{ e: 839 }], [{ v: 839 }], [{ wait: 500 }, { c: 839 }], [{ timeout: 1e3, check: "none", wv: 839 }], {}], [1, "auto_AU_qldnaturistassoc.org_k53", 0, "^https?://(www\\.)?qldnaturistassoc\\.org/", 10, [], [{ e: 840 }], [{ v: 840 }], [{ wait: 500 }, { c: 840 }], [{ timeout: 1e3, check: "none", wv: 840 }], {}], [1, "auto_AU_rki.de_tp5", 0, "^https?://(www\\.)?rki\\.de/", 10, [], [{ e: 841 }], [{ v: 841 }], [{ wait: 500 }, { c: 841 }], [{ timeout: 1e3, check: "none", wv: 841 }], {}], [1, "auto_AU_solesavy.com_8q6", 0, "^https?://(www\\.)?solesavy\\.com/", 10, [], [{ e: 842 }], [{ v: 842 }], [{ wait: 500 }, { c: 842 }], [{ timeout: 1e3, check: "none", wv: 842 }], {}], [1, "auto_AU_staff.flinders.edu.au_cpu", 0, "^https?://(www\\.)?staff\\.flinders\\.edu\\.au/", 10, [], [{ e: 826 }], [{ v: 826 }], [{ wait: 500 }, { c: 826 }], [{ timeout: 1e3, check: "none", wv: 826 }], {}], [1, "auto_AU_telekom.hu_4lu", 0, "^https?://(www\\.)?telekom\\.hu/", 10, [], [{ e: 843 }], [{ v: 843 }], [{ wait: 500 }, { c: 843 }], [{ timeout: 1e3, check: "none", wv: 843 }], {}], [1, "auto_AU_tourismnewbrunswick.ca_bjd", 0, "^https?://(www\\.)?tourismnewbrunswick\\.ca/", 10, [], [{ e: 844 }], [{ v: 844 }], [{ wait: 500 }, { c: 844 }], [{ timeout: 1e3, check: "none", wv: 844 }], {}], [1, "auto_AU_tripcentral.ca_v7v", 0, "^https?://(www\\.)?tripcentral\\.ca/", 10, [], [{ e: 845 }], [{ v: 845 }], [{ wait: 500 }, { c: 845 }], [{ timeout: 1e3, check: "none", wv: 845 }], {}], [1, "auto_AU_u-buy.com.au_rg0", 0, "^https?://(www\\.)?u-buy\\.com\\.au/", 10, [], [{ e: 846 }], [{ v: 846 }], [{ wait: 500 }, { c: 846 }], [{ timeout: 1e3, check: "none", wv: 846 }], {}], [1, "auto_AU_whitepages.co.com_4cs", 0, "^https?://(www\\.)?whitepages\\.co\\.com/", 10, [], [{ e: 847 }], [{ v: 847 }], [{ wait: 500 }, { c: 847 }], [{ timeout: 1e3, check: "none", wv: 847 }], {}], [1, "auto_CA_407etr.com_wrd", 0, "^https?://(www\\.)?407etr\\.com/", 10, [], [{ e: 848 }], [{ v: 848 }], [{ wait: 500 }, { c: 848 }], [{ timeout: 1e3, check: "none", wv: 848 }], {}], [1, "auto_CA_algonquincollege.com_o8v", 0, "^https?://(www\\.)?algonquincollege\\.com/", 10, [], [{ e: 849 }], [{ v: 849 }], [{ wait: 500 }, { c: 849 }], [{ timeout: 1e3, check: "none", wv: 849 }], {}], [1, "auto_CA_arte.tv_7nv", 0, "^https?://(www\\.)?arte\\.tv/", 10, [], [{ e: 850 }], [{ v: 850 }], [{ c: 850 }], [], {}], [1, "auto_CA_babel.hathitrust.org_i6g", 0, "^https?://(www\\.)?babel\\.hathitrust\\.org/", 10, [], [{ e: 851 }], [{ v: 851 }], [{ wait: 500 }, { c: 851 }], [{ timeout: 1e3, check: "none", wv: 851 }], {}], [1, "auto_CA_belairdirect.com_wic", 0, "^https?://(www\\.)?belairdirect\\.com/", 10, [], [{ e: 852 }], [{ v: 852 }], [{ wait: 500 }, { c: 852 }], [{ timeout: 1e3, check: "none", wv: 852 }], {}], [1, "auto_CA_bet365.bet.br_kkx", 0, "^https?://(www\\.)?bet365\\.bet\\.br/", 10, [], [{ e: 853 }], [{ v: 853 }], [{ wait: 500 }, { c: 853 }], [{ timeout: 1e3, check: "none", wv: 853 }], {}], [1, "auto_CA_blackdiamondequipment.com_dwp_+8", 0, "^https?://(www\\.)?blackdiamondequipment\\.com/|^https?://(www\\.)?facetofacegames\\.com/|^https?://(www\\.)?suzyshier\\.com/|^https?://(www\\.)?urban-planet\\.com/|^https?://(www\\.)?eu\\.blackdiamondequipment\\.com/|^https?://(www\\.)?bushwear\\.co\\.uk/|^https?://(www\\.)?directdoors\\.com/|^https?://(www\\.)?keenfootwear\\.com/|^https?://(www\\.)?shop\\.panasonic\\.com/", 10, [], [{ e: 854 }], [{ v: 854 }], [{ wait: 500 }, { c: 854 }], [{ timeout: 1e3, check: "none", wv: 854 }], {}], [1, "auto_CA_brazzers.com_kik", 0, "^https?://(www\\.)?brazzers\\.com/", 10, [], [{ e: 855 }], [{ v: 855 }], [{ wait: 500 }, { c: 855 }], [{ timeout: 1e3, check: "none", wv: 855 }], {}], [1, "auto_CA_busbud.com_0sh", 0, "^https?://(www\\.)?busbud\\.com/", 10, [], [{ e: 856 }], [{ v: 856 }], [{ wait: 500 }, { c: 856 }], [{ timeout: 1e3, check: "none", wv: 856 }], {}], [1, "auto_CA_cegeplimoilou.ca_9tg", 0, "^https?://(www\\.)?cegeplimoilou\\.ca/", 10, [], [{ e: 857 }], [{ v: 857 }], [{ wait: 500 }, { c: 857 }], [{ timeout: 1e3, check: "none", wv: 857 }], {}], [1, "auto_CA_cfo.coop_edx", 0, "^https?://(www\\.)?cfo\\.coop/", 10, [], [{ e: 858 }], [{ v: 858 }], [{ wait: 500 }, { c: 858 }], [{ timeout: 1e3, check: "none", wv: 858 }], {}], [1, "auto_CA_chipolo.net_zo9", 0, "^https?://(www\\.)?chipolo\\.net/", 10, [], [{ e: 859 }], [{ v: 859 }], [{ wait: 500 }, { c: 859 }], [{ timeout: 1e3, check: "none", wv: 859 }], {}], [1, "auto_CA_cmpa-acpm.ca_nja", 0, "^https?://(www\\.)?cmpa-acpm\\.ca/", 10, [], [{ e: 860 }], [{ v: 860 }], [{ c: 860 }], [], {}], [1, "auto_CA_denniskirk.com_ezr", 0, "^https?://(www\\.)?denniskirk\\.com/", 10, [], [{ e: 861 }], [{ v: 861 }], [{ wait: 500 }, { c: 861 }], [{ timeout: 1e3, check: "none", wv: 861 }], {}], [1, "auto_CA_doyondespres.com_4jr", 0, "^https?://(www\\.)?doyondespres\\.com/", 10, [], [{ e: 862 }], [{ v: 862 }], [{ wait: 500 }, { c: 862 }], [{ timeout: 1e3, check: "none", wv: 862 }], {}], [1, "auto_CA_f6s.com_yjw", 0, "^https?://(www\\.)?f6s\\.com/", 10, [], [{ e: 863 }], [{ v: 863 }], [{ wait: 500 }, { c: 863 }], [{ timeout: 1e3, check: "none", wv: 863 }], {}], [1, "auto_CA_fischersports.com_1yr", 0, "^https?://(www\\.)?fischersports\\.com/", 10, [], [{ e: 864 }], [{ v: 864 }], [{ wait: 500 }, { c: 864 }], [{ timeout: 1e3, check: "none", wv: 864 }], {}], [1, "auto_CA_golfavenue.ca_ero_+1", 0, "^https?://(www\\.)?golfavenue\\.ca/|^https?://(www\\.)?golfbidder\\.co\\.uk/", 10, [], [{ e: 865 }], [{ v: 865 }], [{ wait: 500 }, { c: 865 }], [{ timeout: 1e3, check: "none", wv: 865 }], {}], [1, "auto_CA_golftown.com_zcn", 0, "^https?://(www\\.)?golftown\\.com/", 10, [], [{ e: 866 }], [{ v: 866 }], [{ wait: 500 }, { c: 866 }], [{ timeout: 1e3, check: "none", wv: 866 }], {}], [1, "auto_CA_intact.ca_gax", 0, "^https?://(www\\.)?intact\\.ca/", 10, [], [{ e: 867 }], [{ v: 867 }], [{ wait: 500 }, { c: 867 }], [{ timeout: 1e3, check: "none", wv: 867 }], {}], [1, "auto_CA_lethpolytech.ca_1r1", 0, "^https?://(www\\.)?lethpolytech\\.ca/", 10, [], [{ e: 868 }], [{ v: 868 }], [{ wait: 500 }, { c: 868 }], [{ timeout: 1e3, check: "none", wv: 868 }], {}], [1, "auto_CA_libgen.help_7s8", 0, "^https?://(www\\.)?libgen\\.help/", 10, [], [{ e: 869 }], [{ v: 869 }], [{ wait: 500 }, { c: 869 }], [{ timeout: 1e3, check: "none", wv: 869 }], {}], [1, "auto_CA_nationalarchives.gov.uk_vgx", 0, "^https?://(www\\.)?webarchive\\.nationalarchives\\.gov\\.uk/", 10, [], [{ e: 870 }], [{ v: 870 }], [{ wait: 500 }, { c: 870 }], [{ timeout: 1e3, check: "none", wv: 870 }], {}], [1, "auto_CA_papajohns.ca_n5j", 0, "^https?://(www\\.)?papajohns\\.ca/", 10, [], [{ e: 871 }], [{ v: 871 }], [{ wait: 500 }, { c: 871 }], [{ timeout: 1e3, check: "none", wv: 871 }], {}], [1, "auto_CA_pcsupport.lenovo.com_dxi", 0, "^https?://(www\\.)?pcsupport\\.lenovo\\.com/", 10, [], [{ e: 872 }], [{ v: 872 }], [{ wait: 500 }, { c: 872 }], [{ timeout: 1e3, check: "none", wv: 872 }], {}], [1, "auto_CA_plex.tv_ee4_+1", 0, "^https?://(www\\.)?plex\\.tv/|^https?://(www\\.)?support\\.plex\\.tv/", 10, [], [{ e: 873 }], [{ v: 873 }], [{ wait: 500 }, { c: 873 }], [{ timeout: 1e3, check: "none", wv: 873 }], {}], [1, "auto_CA_promessedefleurs.com_noy_+1", 0, "^https?://(www\\.)?promessedefleurs\\.com/|^https?://(www\\.)?meillandrichardier\\.com/", 10, [], [{ e: 874 }], [{ v: 874 }], [{ wait: 500 }, { c: 874 }], [{ timeout: 1e3, check: "none", wv: 874 }], {}], [1, "auto_CA_queerty.com_fb8_+1", 0, "^https?://(www\\.)?queerty\\.com/|^https?://(www\\.)?pestor\\.nl/", 10, [], [{ e: 875 }], [{ v: 875 }], [{ wait: 500 }, { c: 875 }], [{ timeout: 1e3, check: "none", wv: 875 }], {}], [1, "auto_CA_remitly.com_mm4", 0, "^https?://(www\\.)?remitly\\.com/", 10, [], [{ e: 876 }], [{ v: 876 }], [{ wait: 500 }, { c: 876 }], [{ timeout: 1e3, check: "none", wv: 876 }], {}], [1, "auto_CA_reviewed.com_w2k", 0, "^https?://(www\\.)?reviewed\\.com/", 10, [], [{ e: 877 }], [{ v: 877 }], [{ wait: 500 }, { c: 877 }], [{ timeout: 1e3, check: "none", wv: 877 }], {}], [1, "auto_CA_sheetmusicplus.com_b7d", 0, "^https?://(www\\.)?sheetmusicplus\\.com/", 10, [], [{ e: 878 }], [{ v: 878 }], [{ wait: 500 }, { c: 878 }], [{ timeout: 1e3, check: "none", wv: 878 }], {}], [1, "auto_CA_skipthedishes.com_1sg", 0, "^https?://(www\\.)?skipthedishes\\.com/", 10, [], [{ e: 879 }], [{ v: 879 }], [{ c: 879 }], [], {}], [1, "auto_CA_streamingthe.net_v8e", 0, "^https?://(www\\.)?streamingthe\\.net/", 10, [], [{ e: 880 }], [{ v: 880 }], [{ wait: 500 }, { c: 880 }], [{ timeout: 1e3, check: "none", wv: 880 }], {}], [1, "auto_CA_ticketsource.com_kiv", 0, "^https?://(www\\.)?ticketsource\\.com/", 10, [], [{ e: 881 }], [{ v: 881 }], [{ wait: 500 }, { c: 881 }], [{ timeout: 1e3, check: "none", wv: 881 }], {}], [1, "auto_CA_ubereats.com_4nx", 0, "^https?://(www\\.)?ubereats\\.com/", 10, [], [{ e: 882 }], [{ v: 882 }], [{ wait: 500 }, { c: 882 }], [{ timeout: 1e3, check: "none", wv: 882 }], {}], [1, "auto_CA_wealthsimple.com_kgz", 0, "^https?://(www\\.)?wealthsimple\\.com/", 10, [], [{ e: 883 }], [{ v: 883 }], [{ wait: 500 }, { c: 883 }], [{ timeout: 1e3, check: "none", wv: 883 }], {}], [1, "auto_CA_xplore.ca_wwx", 0, "^https?://(www\\.)?xplore\\.ca/", 10, [], [{ e: 884 }], [{ v: 884 }], [{ wait: 500 }, { c: 884 }], [{ timeout: 1e3, check: "none", wv: 884 }], {}], [1, "auto_CH_3djake.ch_6k2_+3", 0, "^https?://(www\\.)?3djake\\.ch/|^https?://(www\\.)?ecco-verde\\.ch/|^https?://(www\\.)?vitalabo\\.ch/|^https?://(www\\.)?3djake\\.de/", 10, [], [{ e: 885 }], [{ v: 885 }], [{ wait: 500 }, { c: 885 }], [{ timeout: 1e3, check: "none", wv: 885 }], {}], [1, "auto_CH_airbnb.de_83z", 0, "^https?://(www\\.)?airbnb\\.de/", 10, [], [{ e: 886 }], [{ v: 886 }], [{ wait: 500 }, { c: 886 }], [{ timeout: 1e3, check: "none", wv: 886 }], {}], [1, "auto_CH_alpenvereinaktiv.com_ms8_+1", 0, "^https?://(www\\.)?alpenvereinaktiv\\.com/|^https?://(www\\.)?maps\\.viamala\\.ch/", 10, [], [{ e: 887 }], [{ v: 887 }], [{ wait: 500 }, { c: 887 }], [{ timeout: 1e3, check: "none", wv: 887 }], {}], [1, "auto_CH_android.bestsecret.com_m12_+2", 0, "^https?://(www\\.)?android\\.bestsecret\\.com/|^https?://(www\\.)?bestsecret\\.com/|^https?://(www\\.)?orders\\.bestsecret\\.com/", 10, [], [{ e: 888 }], [{ v: 888 }], [{ wait: 500 }, { c: 888 }], [{ timeout: 1e3, check: "none", wv: 888 }], {}], [1, "auto_CH_aoc.com_dib", 0, "^https?://(www\\.)?aoc\\.com/", 10, [], [{ e: 889 }], [{ v: 889 }], [{ wait: 500 }, { c: 889 }], [{ timeout: 1e3, check: "none", wv: 889 }], {}], [1, "auto_CH_arte.tv_ln7", 0, "^https?://(www\\.)?arte\\.tv/", 10, [], [{ e: 890 }], [{ v: 890 }], [{ wait: 500 }, { c: 890 }], [{ timeout: 1e3, check: "none", wv: 890 }], {}], [1, "auto_CH_arttv.ch_2lm", 0, "^https?://(www\\.)?arttv\\.ch/", 10, [], [{ e: 891 }], [{ v: 891 }], [{ wait: 500 }, { c: 891 }], [{ timeout: 1e3, check: "none", wv: 891 }], {}], [1, "auto_CH_ascona.il-centro.ch_59k", 0, "^https?://(www\\.)?ascona\\.il-centro\\.ch/", 10, [], [{ e: 892 }], [{ v: 892 }], [{ wait: 500 }, { c: 892 }], [{ timeout: 1e3, check: "none", wv: 892 }], {}], [1, "auto_CH_astag.ch_1if", 0, "^https?://(www\\.)?astag\\.ch/", 10, [], [{ e: 893 }], [{ v: 893 }], [{ wait: 500 }, { c: 893 }], [{ timeout: 1e3, check: "none", wv: 893 }], {}], [1, "auto_CH_auto.swiss_z35", 0, "^https?://(www\\.)?auto\\.swiss/", 10, [], [{ e: 894 }], [{ v: 894 }], [{ wait: 500 }, { c: 894 }], [{ timeout: 1e3, check: "none", wv: 894 }], {}], [1, "auto_CH_autodoc.de_krd", 0, "^https?://(www\\.)?autodoc\\.de/", 10, [], [{ e: 895 }], [{ v: 895 }], [{ wait: 500 }, { c: 895 }], [{ timeout: 1e3, check: "none", wv: 895 }], {}], [1, "auto_CH_bandlab.com_jul", 0, "^https?://(www\\.)?bandlab\\.com/", 10, [], [{ e: 896 }], [{ v: 896 }], [{ wait: 500 }, { c: 896 }], [{ timeout: 1e3, check: "none", wv: 896 }], {}], [1, "auto_CH_bitbox.swiss_w0n", 0, "^https?://(www\\.)?bitbox\\.swiss/", 10, [], [{ e: 897 }], [{ v: 897 }], [{ wait: 500 }, { c: 897 }], [{ timeout: 1e3, check: "none", wv: 897 }], {}], [1, "auto_CH_blogdumoderateur.com_8p6", 0, "^https?://(www\\.)?blogdumoderateur\\.com/", 10, [], [{ e: 898 }], [{ v: 898 }], [{ wait: 500 }, { c: 898 }], [{ timeout: 1e3, check: "none", wv: 898 }], {}], [1, "auto_CH_blutspendezurich.ch_s0f", 0, "^https?://(www\\.)?blutspendezurich\\.ch/", 10, [], [{ e: 899 }], [{ v: 899 }], [{ wait: 500 }, { c: 899 }], [{ timeout: 1e3, check: "none", wv: 899 }], {}], [1, "auto_CH_cardmarket.com_15t", 0, "^https?://(www\\.)?cardmarket\\.com/", 10, [], [{ e: 900 }], [{ v: 900 }], [{ wait: 500 }, { c: 900 }], [{ timeout: 1e3, check: "none", wv: 900 }], {}], [1, "auto_CH_ch.rotho.com_h99_+2", 0, "^https?://(www\\.)?ch\\.rotho\\.com/|^https?://(www\\.)?reclam\\.de/|^https?://(www\\.)?dacianer\\.de/", 10, [], [{ e: 901 }], [{ v: 901 }], [{ wait: 500 }, { c: 901 }], [{ timeout: 1e3, check: "none", wv: 901 }], {}], [1, "auto_CH_chambres-hotes.fr_hay", 0, "^https?://(www\\.)?chambres-hotes\\.fr/", 10, [], [{ e: 902 }], [{ v: 902 }], [{ wait: 500 }, { c: 902 }], [{ timeout: 1e3, check: "none", wv: 902 }], {}], [1, "auto_CH_chrono24.ch_dve_+1", 0, "^https?://(www\\.)?chrono24\\.ch/|^https?://(www\\.)?chrono24\\.de/", 10, [], [{ e: 903 }], [{ v: 903 }], [{ wait: 500 }, { c: 903 }], [{ timeout: 1e3, check: "none", wv: 903 }], {}], [1, "auto_CH_chrono24.com_lj5_+1", 0, "^https?://(www\\.)?chrono24\\.com/|^https?://(www\\.)?chrono24\\.co\\.uk/", 10, [], [{ e: 903 }], [{ v: 903 }], [{ wait: 500 }, { c: 903 }], [{ timeout: 1e3, check: "none", wv: 903 }], {}], [1, "auto_CH_coolblue.de_egw", 0, "^https?://(www\\.)?coolblue\\.de/", 10, [], [{ e: 904 }], [{ v: 904 }], [{ wait: 500 }, { c: 904 }], [{ timeout: 1e3, check: "none", wv: 904 }], {}], [1, "auto_CH_ersatzteil-shop24.de_mh5_+1", 0, "^https?://(www\\.)?ersatzteil-shop24\\.de/|^https?://(www\\.)?der-rasenmaeher\\.de/", 10, [], [{ e: 905 }], [{ v: 905 }], [{ wait: 500 }, { c: 905 }], [{ timeout: 1e3, check: "none", wv: 905 }], {}], [1, "auto_CH_euroairport.com_3yl_+4", 0, "^https?://(www\\.)?euroairport\\.com/|^https?://(www\\.)?carnavalet\\.paris\\.fr/|^https?://(www\\.)?ifrap\\.org/|^https?://(www\\.)?mam\\.paris\\.fr/|^https?://(www\\.)?petitpalais\\.paris\\.fr/", 10, [], [{ e: 906 }], [{ v: 906 }], [{ wait: 500 }, { c: 906 }], [{ timeout: 1e3, check: "none", wv: 906 }], {}], [1, "auto_CH_europarl.europa.eu_y2d", 0, "^https?://(www\\.)?europarl\\.europa\\.eu/", 10, [], [{ e: 907 }], [{ v: 907 }], [{ wait: 500 }, { c: 907 }], [{ timeout: 1e3, check: "none", wv: 907 }], {}], [1, "auto_CH_feldschloesschen.ch_4mc", 0, "^https?://(www\\.)?feldschloesschen\\.ch/", 10, [], [{ e: 908 }], [{ v: 908 }], [{ wait: 500 }, { c: 908 }], [{ timeout: 1e3, check: "none", wv: 908 }], {}], [1, "auto_CH_fhgr.ch_9nr", 0, "^https?://(www\\.)?fhgr\\.ch/", 10, [], [{ e: 909 }], [{ v: 909 }], [{ wait: 500 }, { c: 909 }], [{ timeout: 1e3, check: "none", wv: 909 }], {}], [1, "auto_CH_fondationbeyeler.ch_o13", 0, "^https?://(www\\.)?fondationbeyeler\\.ch/", 10, [], [{ e: 901 }], [{ v: 901 }], [{ wait: 500 }, { c: 901 }], [{ timeout: 1e3, check: "none", wv: 901 }], {}], [1, "auto_CH_fontis-shop.ch_ksd", 0, "^https?://(www\\.)?fontis-shop\\.ch/", 10, [], [{ e: 910 }], [{ v: 910 }], [{ wait: 500 }, { c: 910 }], [{ timeout: 1e3, check: "none", wv: 910 }], {}], [1, "auto_CH_frankenspalter.ch_jo0", 0, "^https?://(www\\.)?frankenspalter\\.ch/", 10, [], [{ e: 911 }], [{ v: 911 }], [{ wait: 500 }, { c: 911 }], [{ timeout: 1e3, check: "none", wv: 911 }], {}], [1, "auto_CH_frankenspalter.ch_l2w", 0, "^https?://(www\\.)?frankenspalter\\.ch/", 10, [], [{ e: 912 }], [{ v: 912 }], [{ wait: 500 }, { c: 912 }], [{ timeout: 1e3, check: "none", wv: 912 }], {}], [1, "auto_CH_fruugoschweiz.com_6k8", 0, "^https?://(www\\.)?fruugoschweiz\\.com/", 10, [], [{ e: 913 }], [{ v: 913 }], [{ wait: 500 }, { c: 913 }], [{ timeout: 1e3, check: "none", wv: 913 }], {}], [1, "auto_CH_gabrielweinberg.com_56i", 0, "^https?://(www\\.)?gabrielweinberg\\.com/", 10, [], [{ e: 914 }], [{ v: 914 }], [{ wait: 500 }, { c: 914 }], [{ timeout: 1e3, check: "none", wv: 914 }], {}], [1, "auto_CH_galaxus.de_sqv_+1", 0, "^https?://(www\\.)?galaxus\\.de/|^https?://(www\\.)?galaxus\\.fr/", 10, [], [{ e: 915 }], [{ v: 915 }], [{ wait: 500 }, { c: 915 }], [{ timeout: 1e3, check: "none", wv: 915 }], {}], [1, "auto_CH_gstaadmenuhinfestival.ch_vp3", 0, "^https?://(www\\.)?gstaadmenuhinfestival\\.ch/", 10, [], [{ e: 916 }], [{ v: 916 }], [{ wait: 500 }, { c: 916 }], [{ timeout: 1e3, check: "none", wv: 916 }], {}], [1, "auto_CH_haushaltstipps.com_9kx_+1", 0, "^https?://(www\\.)?haushaltstipps\\.com/|^https?://(www\\.)?alltours\\.de/", 10, [], [{ e: 901 }], [{ v: 901 }], [{ wait: 500 }, { c: 901 }], [{ timeout: 1e3, check: "none", wv: 901 }], {}], [1, "auto_CH_independentxpress.de_0qj", 0, "^https?://(www\\.)?independentxpress\\.de/", 10, [], [{ e: 917 }], [{ v: 917 }], [{ wait: 500 }, { c: 917 }], [{ timeout: 1e3, check: "none", wv: 917 }], {}], [1, "auto_CH_instant-gaming.com_8j3", 0, "^https?://(www\\.)?instant-gaming\\.com/", 10, [], [{ e: 918 }], [{ v: 918 }], [{ wait: 500 }, { c: 918 }], [{ timeout: 1e3, check: "none", wv: 918 }], {}], [1, "auto_CH_kinopoisk.ru_w3g_+14", 0, "^https?://(www\\.)?kinopoisk\\.ru/|^https?://(www\\.)?market\\.yandex\\.ru/|^https?://(www\\.)?translate\\.yandex\\.com/|^https?://(www\\.)?yandex\\.com\\.tr/|^https?://(www\\.)?ya\\.ru/|^https?://(www\\.)?yandex\\.com/|^https?://(www\\.)?translate\\.yandex\\.ru/|^https?://(www\\.)?yandex\\.by/|^https?://(www\\.)?local\\.yandex\\.com/|^https?://(www\\.)?sso\\.passport\\.yandex\\.ru/|^https?://(www\\.)?360\\.yandex\\.ru/|^https?://(www\\.)?360\\.yandex\\.com/|^https?://(www\\.)?music\\.yandex\\.ru/|^https?://(www\\.)?hd\\.kinopoisk\\.ru/|^https?://(www\\.)?wap\\.yandex\\.com/", 10, [], [{ e: 919 }], [{ v: 919 }], [{ wait: 500 }, { c: 919 }], [{ timeout: 1e3, check: "none", wv: 919 }], {}], [1, "auto_CH_kobo.com_p4l", 0, "^https?://(www\\.)?kobo\\.com/", 10, [], [{ e: 920 }], [{ v: 920 }], [{ wait: 500 }, { c: 920 }], [{ timeout: 1e3, check: "none", wv: 920 }], {}], [1, "auto_CH_labanquepostale.fr_o6f_+1", 0, "^https?://(www\\.)?labanquepostale\\.fr/|^https?://(www\\.)?labanquepostale\\.com/", 10, [], [{ e: 921 }], [{ v: 921 }], [{ wait: 500 }, { c: 921 }], [{ timeout: 1e3, check: "none", wv: 921 }], {}], [1, "auto_CH_laposte.fr_ctu_+2", 0, "^https?://(www\\.)?laposte\\.fr/|^https?://(www\\.)?localiser\\.laposte\\.fr/|^https?://(www\\.)?aide\\.laposte\\.fr/", 10, [], [{ e: 922 }], [{ v: 922 }], [{ wait: 500 }, { c: 922 }], [{ timeout: 1e3, check: "none", wv: 922 }], {}], [1, "auto_CH_larian.com_kp5", 0, "^https?://(www\\.)?larian\\.com/", 10, [], [{ e: 923 }], [{ v: 923 }], [{ wait: 500 }, { c: 923 }], [{ timeout: 1e3, check: "none", wv: 923 }], {}], [1, "auto_CH_louis-moto.ch_5yk", 0, "^https?://(www\\.)?louis-moto\\.ch/", 10, [], [{ e: 924 }], [{ v: 924 }], [{ wait: 500 }, { c: 924 }], [{ timeout: 1e3, check: "none", wv: 924 }], {}], [1, "auto_CH_manufactum.ch_ag0_+1", 0, "^https?://(www\\.)?manufactum\\.ch/|^https?://(www\\.)?manufactum\\.de/", 10, [], [{ e: 925 }], [{ v: 925 }], [{ wait: 500 }, { c: 925 }], [{ timeout: 1e3, check: "none", wv: 925 }], {}], [1, "auto_CH_maps.engadin.ch_m40_+3", 0, "^https?://(www\\.)?maps\\.engadin\\.ch/|^https?://(www\\.)?outdoor\\.glarnerland\\.ch/|^https?://(www\\.)?altenberg\\.de/|^https?://(www\\.)?tourenplaner-rheinland-pfalz\\.de/", 10, [], [{ e: 887 }], [{ v: 887 }], [{ wait: 500 }, { c: 887 }], [{ timeout: 1e3, check: "none", wv: 887 }], {}], [1, "auto_CH_mein-kraeuterkeller.de_zjh", 0, "^https?://(www\\.)?mein-kraeuterkeller\\.de/", 10, [], [{ e: 926 }], [{ v: 926 }], [{ wait: 500 }, { c: 926 }], [{ timeout: 1e3, check: "none", wv: 926 }], {}], [1, "auto_CH_meintiptopf.ch_84l", 0, "^https?://(www\\.)?meintiptopf\\.ch/", 10, [], [{ e: 927 }], [{ v: 927 }], [{ wait: 500 }, { c: 927 }], [{ timeout: 1e3, check: "none", wv: 927 }], {}], [1, "auto_CH_mio.se_hd0", 0, "^https?://(www\\.)?mio\\.se/", 10, [], [{ e: 928 }], [{ v: 928 }], [{ wait: 500 }, { c: 928 }], [{ timeout: 1e3, check: "none", wv: 928 }], {}], [1, "auto_CH_moebel24.ch_fck_+1", 0, "^https?://(www\\.)?moebel24\\.ch/|^https?://(www\\.)?moebel\\.de/", 10, [], [{ e: 929 }], [{ v: 929 }], [{ wait: 500 }, { c: 929 }], [{ timeout: 1e3, check: "none", wv: 929 }], {}], [1, "auto_CH_mrporter.com_0nl_+1", 0, "^https?://(www\\.)?mrporter\\.com/|^https?://(www\\.)?net-a-porter\\.com/", 10, [], [{ e: 930 }], [{ v: 930 }], [{ wait: 500 }, { c: 930 }], [{ timeout: 1e3, check: "none", wv: 930 }], {}], [1, "auto_CH_platform.openai.com_g5y", 0, "^https?://(www\\.)?platform\\.openai\\.com/", 10, [], [{ e: 931 }], [{ v: 931 }], [{ wait: 500 }, { c: 931 }], [{ timeout: 1e3, check: "none", wv: 931 }], {}], [1, "auto_CH_pmphotomedia.ch_ume", 0, "^https?://(www\\.)?pmphotomedia\\.ch/", 10, [], [{ e: 932 }], [{ v: 932 }], [{ wait: 500 }, { c: 932 }], [{ timeout: 1e3, check: "none", wv: 932 }], {}], [1, "auto_CH_radio1.ch_1v2", 0, "^https?://(www\\.)?radio1\\.ch/", 10, [], [{ e: 933 }], [{ v: 933 }], [{ wait: 500 }, { c: 933 }], [{ timeout: 1e3, check: "none", wv: 933 }], {}], [1, "auto_CH_renens.ch_2uc", 0, "^https?://(www\\.)?renens\\.ch/", 10, [], [{ e: 934 }], [{ v: 934 }], [{ wait: 500 }, { c: 934 }], [{ timeout: 1e3, check: "none", wv: 934 }], {}], [1, "auto_CH_sac-uto.ch_3gu", 0, "^https?://(www\\.)?sac-uto\\.ch/", 10, [], [{ e: 935 }], [{ v: 935 }], [{ wait: 500 }, { c: 935 }], [{ timeout: 1e3, check: "none", wv: 935 }], {}], [1, "auto_CH_seetickets.com_4b2", 0, "^https?://(www\\.)?seetickets\\.com/", 10, [], [{ e: 936 }], [{ v: 936 }], [{ wait: 500 }, { c: 936 }], [{ timeout: 1e3, check: "none", wv: 936 }], {}], [1, "auto_CH_sparkasse.de_lwr", 0, "^https?://(www\\.)?sparkasse\\.de/", 10, [], [{ e: 937 }], [{ v: 937 }], [{ wait: 500 }, { c: 937 }], [{ timeout: 1e3, check: "none", wv: 937 }], {}], [1, "auto_CH_sva-bl.ch_h2k_+1", 0, "^https?://(www\\.)?sva-bl\\.ch/|^https?://(www\\.)?uni-bremen\\.de/", 10, [], [{ e: 938 }], [{ v: 938 }], [{ wait: 500 }, { c: 938 }], [{ timeout: 1e3, check: "none", wv: 938 }], {}], [1, "auto_CH_svtplay.se_d39", 0, "^https?://(www\\.)?svtplay\\.se/", 10, [], [{ e: 939 }], [{ v: 939 }], [{ wait: 500 }, { c: 939 }], [{ timeout: 1e3, check: "none", wv: 939 }], {}], [1, "auto_CH_transn.ch_ygb", 0, "^https?://(www\\.)?transn\\.ch/", 10, [], [{ e: 940 }], [{ v: 940 }], [{ wait: 500 }, { c: 940 }], [{ timeout: 1e3, check: "none", wv: 940 }], {}], [1, "auto_CH_ubs-kidscup.ch_5oc", 0, "^https?://(www\\.)?ubs-kidscup\\.ch/", 10, [], [{ e: 941 }], [{ v: 941 }], [{ wait: 500 }, { c: 941 }], [{ timeout: 1e3, check: "none", wv: 941 }], {}], [1, "auto_CH_velofactory.ch_tpq", 0, "^https?://(www\\.)?velofactory\\.ch/", 10, [], [{ e: 942 }], [{ v: 942 }], [{ wait: 500 }, { c: 942 }], [{ timeout: 1e3, check: "none", wv: 942 }], {}], [1, "auto_DE_116117-termine.de_nwg", 0, "^https?://(www\\.)?116117-termine\\.de/", 10, [], [{ e: 943 }], [{ v: 943 }], [{ wait: 500 }, { c: 943 }], [{ timeout: 1e3, check: "none", wv: 943 }], {}], [1, "auto_DE_6relax.de_na9", 0, "^https?://(www\\.)?6relax\\.de/", 10, [], [{ e: 944 }], [{ v: 944 }], [{ wait: 500 }, { c: 944 }], [{ timeout: 1e3, check: "none", wv: 944 }], {}], [1, "auto_DE_accio.com_kdu", 0, "^https?://(www\\.)?accio\\.com/", 10, [], [{ e: 945 }], [{ v: 945 }], [{ wait: 500 }, { c: 945 }], [{ timeout: 1e3, check: "none", wv: 945 }], {}], [1, "auto_DE_aerztekammer-bw.de_rse", 0, "^https?://(www\\.)?aerztekammer-bw\\.de/", 10, [], [{ e: 946 }], [{ v: 946 }], [{ wait: 500 }, { c: 946 }], [{ timeout: 1e3, check: "none", wv: 946 }], {}], [1, "auto_DE_afd.de_tad", 0, "^https?://(www\\.)?afd\\.de/", 10, [], [{ e: 947 }], [{ v: 947 }], [{ wait: 500 }, { c: 947 }], [{ timeout: 1e3, check: "none", wv: 947 }], {}], [1, "auto_DE_aknw.de_wcz_+1", 0, "^https?://(www\\.)?aknw\\.de/|^https?://(www\\.)?regioentsorgung\\.de/", 10, [], [{ e: 948 }], [{ v: 948 }], [{ wait: 500 }, { c: 948 }], [{ timeout: 1e3, check: "none", wv: 948 }], {}], [1, "auto_DE_all-inkl.com_toh", 0, "^https?://(www\\.)?all-inkl\\.com/", 10, [], [{ e: 949 }], [{ v: 949 }], [{ wait: 500 }, { c: 949 }], [{ timeout: 1e3, check: "none", wv: 949 }], {}], [1, "auto_DE_almenrausch.at_c6z", 0, "^https?://(www\\.)?almenrausch\\.at/", 10, [], [{ e: 950 }], [{ v: 950 }], [{ wait: 500 }, { c: 950 }], [{ timeout: 1e3, check: "none", wv: 950 }], {}], [1, "auto_DE_alza.de_iq3", 0, "^https?://(www\\.)?alza\\.de/", 10, [], [{ e: 951 }], [{ v: 951 }], [{ wait: 500 }, { c: 951 }], [{ timeout: 1e3, check: "none", wv: 951 }], {}], [1, "auto_DE_ancestry.com_k1k", 0, "^https?://(www\\.)?ancestry\\.com/", 10, [], [{ e: 952 }], [{ v: 952 }], [{ wait: 500 }, { c: 952 }], [{ timeout: 1e3, check: "none", wv: 952 }], {}], [1, "auto_DE_apozilla.de_d1h", 0, "^https?://(www\\.)?apozilla\\.de/", 10, [], [{ e: 953 }], [{ v: 953 }], [{ wait: 500 }, { c: 953 }], [{ timeout: 1e3, check: "none", wv: 953 }], {}], [1, "auto_DE_ardplus.de_ue3", 0, "^https?://(www\\.)?ardplus\\.de/", 10, [], [{ e: 954 }], [{ v: 954 }], [{ wait: 500 }, { c: 954 }], [{ timeout: 1e3, check: "none", wv: 954 }], {}], [1, "auto_DE_axa.de_vyk", 0, "^https?://(www\\.)?axa\\.de/", 10, [], [{ e: 955 }], [{ v: 955 }], [{ wait: 500 }, { c: 955 }], [{ timeout: 1e3, check: "none", wv: 955 }], {}], [1, "auto_DE_backmarket.de_dzf", 0, "^https?://(www\\.)?backmarket\\.de/", 10, [], [{ e: 956 }], [{ v: 956 }], [{ wait: 500 }, { c: 956 }], [{ timeout: 1e3, check: "none", wv: 956 }], {}], [1, "auto_DE_bbbank.de_dcf_+15", 0, "^https?://(www\\.)?bbbank\\.de/|^https?://(www\\.)?diebank\\.de/|^https?://(www\\.)?genobroker\\.de/|^https?://(www\\.)?ligabank\\.de/|^https?://(www\\.)?pax-bkc\\.de/|^https?://(www\\.)?psd-berlin-brandenburg\\.de/|^https?://(www\\.)?psd-nuernberg\\.de/|^https?://(www\\.)?sparda-bank-hamburg\\.de/|^https?://(www\\.)?sparda-h\\.de/|^https?://(www\\.)?sparda-n\\.de/|^https?://(www\\.)?v-mn\\.de/|^https?://(www\\.)?vr-bayernmitte\\.de/|^https?://(www\\.)?vrbank-brs\\.de/|^https?://(www\\.)?vrbank-eg\\.de/|^https?://(www\\.)?vrbank-lb\\.de/|^https?://(www\\.)?wvb\\.de/", 10, [], [{ e: 957 }], [{ v: 957 }], [{ wait: 500 }, { c: 957 }], [{ timeout: 1e3, check: "none", wv: 957 }], {}], [1, "auto_DE_biunsinnorden.de_kwa_+1", 0, "^https?://(www\\.)?biunsinnorden\\.de/|^https?://(www\\.)?livegigs\\.de/", 10, [], [{ e: 958 }], [{ v: 958 }], [{ wait: 500 }, { c: 958 }], [{ timeout: 1e3, check: "none", wv: 958 }], {}], [1, "auto_DE_bmz.de_nss", 0, "^https?://(www\\.)?bmz\\.de/", 10, [], [{ e: 959 }], [{ v: 959 }], [{ wait: 500 }, { c: 959 }], [{ timeout: 1e3, check: "none", wv: 959 }], {}], [1, "auto_DE_buerklin.com_bya", 0, "^https?://(www\\.)?buerklin\\.com/", 10, [], [{ e: 901 }], [{ v: 901 }], [{ wait: 500 }, { c: 901 }], [{ timeout: 1e3, check: "none", wv: 901 }], {}], [1, "auto_DE_bundeswehrkarriere.de_g9g", 0, "^https?://(www\\.)?bundeswehrkarriere\\.de/", 10, [], [{ e: 960 }], [{ v: 960 }], [{ wait: 500 }, { c: 960 }], [{ timeout: 1e3, check: "none", wv: 960 }], {}], [1, "auto_DE_byak.de_dcj", 0, "^https?://(www\\.)?byak\\.de/", 10, [], [{ e: 961 }], [{ v: 961 }], [{ wait: 500 }, { c: 961 }], [{ timeout: 1e3, check: "none", wv: 961 }], {}], [1, "auto_DE_byte.fm_83l", 0, "^https?://(www\\.)?byte\\.fm/", 10, [], [{ e: 962 }], [{ v: 962 }], [{ wait: 500 }, { c: 962 }], [{ timeout: 1e3, check: "none", wv: 962 }], {}], [1, "auto_DE_camping-outdoorshop.de_oo4_+1", 0, "^https?://(www\\.)?camping-outdoorshop\\.de/|^https?://(www\\.)?elektro-wandelt\\.de/", 10, [], [{ e: 950 }], [{ v: 950 }], [{ wait: 500 }, { c: 950 }], [{ timeout: 1e3, check: "none", wv: 950 }], {}], [1, "auto_DE_club.auto-doc.at_6xj", 0, "^https?://(www\\.)?club\\.auto-doc\\.at/", 10, [], [{ e: 963 }], [{ v: 963 }], [{ wait: 500 }, { c: 963 }], [{ timeout: 1e3, check: "none", wv: 963 }], {}], [1, "auto_DE_daad.de_w45", 0, "^https?://(www\\.)?daad\\.de/", 10, [], [{ e: 964 }], [{ v: 964 }], [{ wait: 500 }, { c: 964 }], [{ timeout: 1e3, check: "none", wv: 964 }], {}], [1, "auto_DE_das-ist-drin.de_e12", 0, "^https?://(www\\.)?das-ist-drin\\.de/", 10, [], [{ e: 965 }], [{ v: 965 }], [{ wait: 500 }, { c: 965 }], [{ timeout: 1e3, check: "none", wv: 965 }], {}], [1, "auto_DE_de.accio.com_97o", 0, "^https?://(www\\.)?de\\.accio\\.com/", 10, [], [{ e: 945 }], [{ v: 945 }], [{ wait: 500 }, { c: 945 }], [{ timeout: 1e3, check: "none", wv: 945 }], {}], [1, "auto_DE_de.artprice.com_kfk", 0, "^https?://(www\\.)?de\\.artprice\\.com/", 10, [], [{ e: 966 }], [{ v: 966 }], [{ wait: 500 }, { c: 966 }], [{ timeout: 1e3, check: "none", wv: 966 }], {}], [1, "auto_DE_de.nothing.tech_0fr_+1", 0, "^https?://(www\\.)?de\\.nothing\\.tech/|^https?://(www\\.)?nothing\\.tech/", 10, [], [{ e: 967 }], [{ v: 967 }], [{ wait: 500 }, { c: 967 }], [{ timeout: 1e3, check: "none", wv: 967 }], {}], [1, "auto_DE_dekra.de_qrb", 0, "^https?://(www\\.)?dekra\\.de/", 10, [], [{ e: 968 }], [{ v: 968 }], [{ wait: 500 }, { c: 968 }], [{ timeout: 1e3, check: "none", wv: 968 }], {}], [1, "auto_DE_edelstahl-tuerklingel.de_375", 0, "^https?://(www\\.)?edelstahl-tuerklingel\\.de/", 10, [], [{ e: 969 }], [{ v: 969 }], [{ wait: 500 }, { c: 969 }], [{ timeout: 1e3, check: "none", wv: 969 }], {}], [1, "auto_DE_eezy.nrw_9aj", 0, "^https?://(www\\.)?eezy\\.nrw/", 10, [], [{ e: 970 }], [{ v: 970 }], [{ wait: 500 }, { c: 970 }], [{ timeout: 1e3, check: "none", wv: 970 }], {}], [1, "auto_DE_ernstings-family.de_xqf", 0, "^https?://(www\\.)?ernstings-family\\.de/", 10, [], [{ e: 971 }], [{ v: 971 }], [{ wait: 500 }, { c: 971 }], [{ timeout: 1e3, check: "none", wv: 971 }], {}], [1, "auto_DE_fcbinside.de_0d6", 0, "^https?://(www\\.)?fcbinside\\.de/", 10, [], [{ e: 972 }], [{ v: 972 }], [{ wait: 500 }, { c: 972 }], [{ timeout: 1e3, check: "none", wv: 972 }], {}], [1, "auto_DE_feierabend.de_kr4", 0, "^https?://(www\\.)?feierabend\\.de/", 10, [], [{ e: 973 }], [{ v: 973 }], [{ wait: 500 }, { c: 973 }], [{ timeout: 1e3, check: "none", wv: 973 }], {}], [1, "auto_DE_feser-graf.de_qz8", 0, "^https?://(www\\.)?feser-graf\\.de/", 10, [], [{ e: 974 }], [{ v: 974 }], [{ wait: 500 }, { c: 974 }], [{ timeout: 1e3, check: "none", wv: 974 }], {}], [1, "auto_DE_finanzpartner.de_13s", 0, "^https?://(www\\.)?finanzpartner\\.de/", 10, [], [{ e: 975 }], [{ v: 975 }], [{ wait: 500 }, { c: 975 }], [{ timeout: 1e3, check: "none", wv: 975 }], {}], [1, "auto_DE_gasometer.de_0xw", 0, "^https?://(www\\.)?gasometer\\.de/", 10, [], [{ e: 976 }], [{ v: 976 }], [{ wait: 500 }, { c: 976 }], [{ timeout: 1e3, check: "none", wv: 976 }], {}], [1, "auto_DE_hermoney.de_jsi", 0, "^https?://(www\\.)?hermoney\\.de/", 10, [], [{ e: 977 }], [{ v: 977 }], [{ wait: 500 }, { c: 977 }], [{ timeout: 1e3, check: "none", wv: 977 }], {}], [1, "auto_DE_hilfe.kleinanzeigen.de_44a_+1", 0, "^https?://(www\\.)?hilfe\\.kleinanzeigen\\.de/|^https?://(www\\.)?themen\\.kleinanzeigen\\.de/", 10, [], [{ e: 978 }], [{ v: 978 }], [{ wait: 500 }, { c: 978 }], [{ timeout: 1e3, check: "none", wv: 978 }], {}], [1, "auto_DE_howik.com_99g", 0, "^https?://(www\\.)?howik\\.com/", 10, [], [{ e: 979 }], [{ v: 979 }], [{ wait: 500 }, { c: 979 }], [{ timeout: 1e3, check: "none", wv: 979 }], {}], [1, "auto_DE_hu-berlin.de_sk6", 0, "^https?://(www\\.)?hu-berlin\\.de/", 10, [], [{ e: 980 }], [{ v: 980 }], [{ wait: 500 }, { c: 980 }], [{ timeout: 1e3, check: "none", wv: 980 }], {}], [1, "auto_DE_imd-berlin.de_6m1", 0, "^https?://(www\\.)?imd-berlin\\.de/", 10, [], [{ e: 981 }], [{ v: 981 }], [{ wait: 500 }, { c: 981 }], [{ timeout: 1e3, check: "none", wv: 981 }], {}], [1, "auto_DE_immobilien.sparkasse.de_zj7", 0, "^https?://(www\\.)?immobilien\\.sparkasse\\.de/", 10, [982], [{ e: 983 }], [{ v: 983 }], [{ c: 984 }], [{ timeout: 1e3, check: "none", wv: 983 }], {}], [1, "auto_DE_impfen-info.de_am5_+1", 0, "^https?://(www\\.)?impfen-info\\.de/|^https?://(www\\.)?infektionsschutz\\.de/", 10, [], [{ e: 985 }], [{ v: 985 }], [{ wait: 500 }, { c: 985 }], [{ timeout: 1e3, check: "none", wv: 985 }], {}], [1, "auto_DE_jobvector.de_641", 0, "^https?://(www\\.)?jobvector\\.de/", 10, [], [{ e: 986 }], [{ v: 986 }], [{ wait: 500 }, { c: 986 }], [{ timeout: 1e3, check: "none", wv: 986 }], {}], [1, "auto_DE_kinsta.com_hc5", 0, "^https?://(www\\.)?kinsta\\.com/", 10, [], [{ e: 987 }], [{ v: 987 }], [{ wait: 500 }, { c: 987 }], [{ timeout: 1e3, check: "none", wv: 987 }], {}], [1, "auto_DE_kleineskraftwerk.de_fx7", 0, "^https?://(www\\.)?kleineskraftwerk\\.de/", 10, [], [{ e: 988 }], [{ v: 988 }], [{ wait: 500 }, { c: 988 }], [{ timeout: 1e3, check: "none", wv: 988 }], {}], [1, "auto_DE_kundenportal.m-net.de_y8l", 0, "^https?://(www\\.)?kundenportal\\.m-net\\.de/", 10, [], [{ e: 937 }], [{ v: 937 }], [{ wait: 500 }, { c: 937 }], [{ timeout: 1e3, check: "none", wv: 937 }], {}], [1, "auto_DE_kvhb.de_hhf", 0, "^https?://(www\\.)?kvhb\\.de/", 10, [], [{ e: 989 }], [{ v: 989 }], [{ wait: 500 }, { c: 989 }], [{ timeout: 1e3, check: "none", wv: 989 }], {}], [1, "auto_DE_la.spankbang.com_sva", 0, "^https?://(www\\.)?la\\.spankbang\\.com/", 10, [], [{ e: 990 }], [{ v: 990 }], [{ wait: 500 }, { c: 990 }], [{ timeout: 1e3, check: "none", wv: 990 }], {}], [1, "auto_DE_lbs.de_6zt", 0, "^https?://(www\\.)?lbs\\.de/", 10, [], [{ e: 991 }], [{ v: 991 }], [{ wait: 500 }, { c: 991 }], [{ timeout: 1e3, check: "none", wv: 991 }], {}], [1, "auto_DE_lenovo.com_xcv", 0, "^https?://(www\\.)?lenovo\\.com/", 10, [], [{ e: 992 }], [{ v: 992 }], [{ wait: 500 }, { c: 992 }], [{ timeout: 1e3, check: "none", wv: 992 }], {}], [1, "auto_DE_listando.de_c5i", 0, "^https?://(www\\.)?listando\\.de/", 10, [], [{ e: 993 }], [{ v: 993 }], [{ wait: 500 }, { c: 993 }], [{ timeout: 1e3, check: "none", wv: 993 }], {}], [1, "auto_DE_lite-magazin.de_e1s", 0, "^https?://(www\\.)?lite-magazin\\.de/", 10, [], [{ e: 994 }], [{ v: 994 }], [{ wait: 500 }, { c: 994 }], [{ timeout: 1e3, check: "none", wv: 994 }], {}], [1, "auto_DE_m.livejasmin.com_cvg", 0, "^https?://(www\\.)?livejasmin\\.com/", 10, [], [{ e: 995 }], [{ v: 995 }], [{ wait: 500 }, { c: 995 }], [{ timeout: 1e3, check: "none", wv: 995 }], {}], [1, "auto_DE_mhplus-krankenkasse.de_4xb", 0, "^https?://(www\\.)?mhplus-krankenkasse\\.de/", 10, [], [{ e: 950 }], [{ v: 950 }], [{ wait: 500 }, { c: 950 }], [{ timeout: 1e3, check: "none", wv: 950 }], {}], [1, "auto_DE_mitarbeiterservice.bayern.de_quh", 0, "^https?://(www\\.)?mitarbeiterservice\\.bayern\\.de/", 10, [], [{ e: 996 }], [{ v: 996 }], [{ wait: 500 }, { c: 996 }], [{ timeout: 1e3, check: "none", wv: 996 }], {}], [1, "auto_DE_mrmarvis.com_bo5", 0, "^https?://(www\\.)?mrmarvis\\.com/", 10, [], [{ e: 997 }], [{ v: 997 }], [{ wait: 500 }, { c: 997 }], [{ timeout: 1e3, check: "none", wv: 997 }], {}], [1, "auto_DE_nanu-nana.de_7my", 0, "^https?://(www\\.)?nanu-nana\\.de/", 10, [], [{ e: 998 }], [{ v: 998 }], [{ wait: 500 }, { c: 998 }], [{ timeout: 1e3, check: "none", wv: 998 }], {}], [1, "auto_DE_originalteile.mercedes-benz.de_tce", 0, "^https?://(www\\.)?originalteile\\.mercedes-benz\\.de/", 10, [], [{ e: 999 }], [{ v: 999 }], [{ wait: 500 }, { c: 999 }], [{ timeout: 1e3, check: "none", wv: 999 }], {}], [1, "auto_DE_parqet.com_6wm", 0, "^https?://(www\\.)?parqet\\.com/", 10, [], [{ e: 1e3 }], [{ v: 1e3 }], [{ wait: 500 }, { c: 1e3 }], [{ timeout: 1e3, check: "none", wv: 1e3 }], {}], [1, "auto_DE_pflanzenhof-online.de_au2", 0, "^https?://(www\\.)?pflanzenhof-online\\.de/", 10, [], [{ e: 1001 }], [{ v: 1001 }], [{ wait: 500 }, { c: 1001 }], [{ timeout: 1e3, check: "none", wv: 1001 }], {}], [1, "auto_DE_polizei.hessen.de_rsx", 0, "^https?://(www\\.)?polizei\\.hessen\\.de/", 10, [], [{ e: 1002 }], [{ v: 1002 }], [{ wait: 500 }, { c: 1002 }], [{ timeout: 1e3, check: "none", wv: 1002 }], {}], [1, "auto_DE_regierung.oberbayern.bayern.de_zx2_+2", 0, "^https?://(www\\.)?regierung\\.oberbayern\\.bayern\\.de/|^https?://(www\\.)?statistik\\.bayern\\.de/|^https?://(www\\.)?stmb\\.bayern\\.de/", 10, [], [{ e: 1003 }], [{ v: 1003 }], [{ wait: 500 }, { c: 1003 }], [{ timeout: 1e3, check: "none", wv: 1003 }], {}], [1, "auto_DE_roller.de_pjo", 0, "^https?://(www\\.)?roller\\.de/", 10, [], [{ e: 1004 }], [{ v: 1004 }], [{ wait: 500 }, { c: 1004 }], [{ timeout: 1e3, check: "none", wv: 1004 }], {}], [1, "auto_DE_rundfunkbeitrag.de_g4y", 0, "^https?://(www\\.)?rundfunkbeitrag\\.de/", 10, [], [{ e: 1005 }], [{ v: 1005 }], [{ wait: 500 }, { c: 1005 }], [{ timeout: 1e3, check: "none", wv: 1005 }], {}], [1, "auto_DE_schwabach.de_fjr", 0, "^https?://(www\\.)?schwabach\\.de/", 10, [], [{ e: 1006 }], [{ v: 1006 }], [{ wait: 500 }, { c: 1006 }], [{ timeout: 1e3, check: "none", wv: 1006 }], {}], [1, "auto_DE_schwaebisch-hall.de_0g1", 0, "^https?://(www\\.)?schwaebisch-hall\\.de/", 10, [], [{ e: 1007 }], [{ v: 1007 }], [{ wait: 500 }, { c: 1007 }], [{ timeout: 1e3, check: "none", wv: 1007 }], {}], [1, "auto_DE_sellercentral.amazon.de_xi0", 0, "^https?://(www\\.)?sellercentral\\.amazon\\.de/", 10, [], [{ e: 1008 }], [{ v: 1008 }], [{ wait: 500 }, { c: 1008 }], [{ timeout: 1e3, check: "none", wv: 1008 }], {}], [1, "auto_DE_sephora.de_exg", 0, "^https?://(www\\.)?sephora\\.de/", 10, [], [{ e: 930 }], [{ v: 930 }], [{ wait: 500 }, { c: 930 }], [{ timeout: 1e3, check: "none", wv: 930 }], {}], [1, "auto_DE_solarspeicher24.de_w5k", 0, "^https?://(www\\.)?solarspeicher24\\.de/", 10, [], [{ e: 1009 }], [{ v: 1009 }], [{ wait: 500 }, { c: 1009 }], [{ timeout: 1e3, check: "none", wv: 1009 }], {}], [1, "auto_DE_speedtest.vodafone.de_dha", 0, "^https?://(www\\.)?speedtest\\.vodafone\\.de/", 10, [], [{ e: 1010 }], [{ v: 1010 }], [{ wait: 500 }, { c: 1010 }], [{ timeout: 1e3, check: "none", wv: 1010 }], {}], [1, "auto_DE_steeltoyz.de_i51", 0, "^https?://(www\\.)?steeltoyz\\.de/", 10, [], [{ e: 1011 }], [{ v: 1011 }], [{ wait: 500 }, { c: 1011 }], [{ timeout: 1e3, check: "none", wv: 1011 }], {}], [1, "auto_DE_survival-kompass.de_kv6", 0, "^https?://(www\\.)?survival-kompass\\.de/", 10, [], [{ e: 1012 }], [{ v: 1012 }], [{ wait: 500 }, { c: 1012 }], [{ timeout: 1e3, check: "none", wv: 1012 }], {}], [1, "auto_DE_typografie.info_mnj", 0, "^https?://(www\\.)?typografie\\.info/", 10, [], [{ e: 1013 }], [{ v: 1013 }], [{ wait: 500 }, { c: 1013 }], [{ timeout: 1e3, check: "none", wv: 1013 }], {}], [1, "auto_DE_uni-hildesheim.de_7kj", 0, "^https?://(www\\.)?uni-hildesheim\\.de/", 10, [], [{ e: 1014 }], [{ v: 1014 }], [{ wait: 500 }, { c: 1014 }], [{ timeout: 1e3, check: "none", wv: 1014 }], {}], [1, "auto_DE_uni-mannheim.de_omi", 0, "^https?://(www\\.)?uni-mannheim\\.de/", 10, [], [{ e: 1015 }], [{ v: 1015 }], [{ wait: 500 }, { c: 1015 }], [{ timeout: 1e3, check: "none", wv: 1015 }], {}], [1, "auto_DE_variete.de_6cc", 0, "^https?://(www\\.)?variete\\.de/", 10, [], [{ e: 1016 }], [{ v: 1016 }], [{ wait: 500 }, { c: 1016 }], [{ timeout: 1e3, check: "none", wv: 1016 }], {}], [1, "auto_DE_wien.gv.at_mm2", 0, "^https?://(www\\.)?wien\\.gv\\.at/", 10, [], [{ e: 1017 }], [{ v: 1017 }], [{ wait: 500 }, { c: 1017 }], [{ timeout: 1e3, check: "none", wv: 1017 }], {}], [1, "auto_DE_wolt.com_jyq", 0, "^https?://(www\\.)?wolt\\.com/", 10, [], [{ e: 1018 }], [{ v: 1018 }], [{ wait: 500 }, { c: 1018 }], [{ timeout: 1e3, check: "none", wv: 1018 }], {}], [1, "auto_FR_3ds.com_pa7", 0, "^https?://(www\\.)?3ds\\.com/", 10, [], [{ e: 1019 }], [{ v: 1019 }], [{ wait: 500 }, { c: 1019 }], [{ timeout: 1e3, check: "none", wv: 1019 }], {}], [1, "auto_FR_aefinfo.fr_6r7", 0, "^https?://(www\\.)?aefinfo\\.fr/", 10, [], [{ e: 1020 }], [{ v: 1020 }], [{ wait: 500 }, { c: 1020 }], [{ timeout: 1e3, check: "none", wv: 1020 }], {}], [1, "auto_FR_alinea.com_d9k", 0, "^https?://(www\\.)?alinea\\.com/", 10, [], [{ e: 1021 }], [{ v: 1021 }], [{ wait: 500 }, { c: 1021 }], [{ timeout: 1e3, check: "none", wv: 1021 }], {}], [1, "auto_FR_alinea.com_gst", 0, "^https?://(www\\.)?alinea\\.com/", 10, [], [{ e: 1022 }], [{ v: 1022 }], [{ wait: 500 }, { c: 1022 }], [{ timeout: 1e3, check: "none", wv: 1022 }], {}], [1, "auto_FR_annuaire-inverse-france.com_4oi", 0, "^https?://(www\\.)?annuaire-inverse-france\\.com/", 10, [], [{ e: 1023 }], [{ v: 1023 }], [{ wait: 500 }, { c: 1023 }], [{ timeout: 1e3, check: "none", wv: 1023 }], {}], [1, "auto_FR_asp.gouv.fr_ytt", 0, "^https?://(www\\.)?asp\\.gouv\\.fr/", 10, [], [{ e: 1024 }], [{ v: 1024 }], [{ wait: 500 }, { c: 1024 }], [{ timeout: 1e3, check: "none", wv: 1024 }], {}], [1, "auto_FR_bd-adultes.com_nn2", 0, "^https?://(www\\.)?bd-adultes\\.com/", 10, [], [{ e: 1025 }], [{ v: 1025 }], [{ wait: 500 }, { c: 1025 }], [{ timeout: 1e3, check: "none", wv: 1025 }], {}], [1, "auto_FR_bobvoyeur.com_qm5", 0, "^https?://(www\\.)?bobvoyeur\\.com/", 10, [], [{ e: 1026 }], [{ v: 1026 }], [{ wait: 500 }, { c: 1026 }], [{ timeout: 1e3, check: "none", wv: 1026 }], {}], [1, "auto_FR_bpi.fr_l52", 0, "^https?://(www\\.)?bpi\\.fr/", 10, [], [{ e: 875 }], [{ v: 875 }], [{ wait: 500 }, { c: 875 }], [{ timeout: 1e3, check: "none", wv: 875 }], {}], [1, "auto_FR_chamrousse.com_i7u", 0, "^https?://(www\\.)?chamrousse\\.com/", 10, [], [{ e: 1027 }], [{ v: 1027 }], [{ wait: 500 }, { c: 1027 }], [{ timeout: 1e3, check: "none", wv: 1027 }], {}], [1, "auto_FR_charliehebdo.fr_smr", 0, "^https?://(www\\.)?charliehebdo\\.fr/", 10, [], [{ e: 1028 }], [{ v: 1028 }], [{ wait: 500 }, { c: 1028 }], [{ timeout: 1e3, check: "none", wv: 1028 }], {}], [1, "auto_FR_cite-sciences.fr_kcx", 0, "^https?://(www\\.)?cite-sciences\\.fr/", 10, [], [{ e: 1029 }], [{ v: 1029 }], [{ wait: 500 }, { c: 1029 }], [{ timeout: 1e3, check: "none", wv: 1029 }], {}], [1, "auto_FR_coe.int_cfo", 0, "^https?://(www\\.)?coe\\.int/", 10, [], [{ e: 1030 }], [{ v: 1030 }], [{ wait: 500 }, { c: 1030 }], [{ timeout: 1e3, check: "none", wv: 1030 }], {}], [1, "auto_FR_coutellerie-tourangelle.com_rcf", 0, "^https?://(www\\.)?coutellerie-tourangelle\\.com/", 10, [], [{ e: 1031 }], [{ v: 1031 }], [{ wait: 500 }, { c: 1031 }], [{ timeout: 1e3, check: "none", wv: 1031 }], {}], [1, "auto_FR_cre.fr_sd4", 0, "^https?://(www\\.)?cre\\.fr/", 10, [], [{ e: 1032 }], [{ v: 1032 }], [{ wait: 500 }, { c: 1032 }], [{ timeout: 1e3, check: "none", wv: 1032 }], {}], [1, "auto_FR_cybevasion.fr_jjp", 0, "^https?://(www\\.)?cybevasion\\.fr/", 10, [], [{ e: 902 }], [{ v: 902 }], [{ wait: 500 }, { c: 902 }], [{ timeout: 1e3, check: "none", wv: 902 }], {}], [1, "auto_FR_edumoov.com_sij", 0, "^https?://(www\\.)?edumoov\\.com/", 10, [], [{ e: 1033 }], [{ v: 1033 }], [{ wait: 500 }, { c: 1033 }], [{ timeout: 1e3, check: "none", wv: 1033 }], {}], [1, "auto_FR_engie-homeservices.fr_lyo", 0, "^https?://(www\\.)?engie-homeservices\\.fr/", 10, [], [{ e: 1034 }], [{ v: 1034 }], [{ wait: 500 }, { c: 1034 }], [{ timeout: 1e3, check: "none", wv: 1034 }], {}], [1, "auto_FR_es.xhamster.com_f69", 0, "^https?://(www\\.)?es\\.xhamster\\.com/", 10, [], [{ e: 1035 }], [{ v: 1035 }], [{ wait: 500 }, { c: 1035 }], [{ timeout: 1e3, check: "none", wv: 1035 }], {}], [1, "auto_FR_euro-expos.com_tok", 0, "^https?://(www\\.)?euro-expos\\.com/", 10, [], [{ e: 1036 }], [{ v: 1036 }], [{ wait: 500 }, { c: 1036 }], [{ timeout: 1e3, check: "none", wv: 1036 }], {}], [1, "auto_FR_fr.accio.com_zdn", 0, "^https?://(www\\.)?fr\\.accio\\.com/", 10, [], [{ e: 945 }], [{ v: 945 }], [{ wait: 500 }, { c: 945 }], [{ timeout: 1e3, check: "none", wv: 945 }], {}], [1, "auto_FR_fr.xgimi.com_fzb_+1", 0, "^https?://(www\\.)?fr\\.xgimi\\.com/|^https?://(www\\.)?leminor\\.fr/", 10, [], [{ e: 854 }], [{ v: 854 }], [{ wait: 500 }, { c: 854 }], [{ timeout: 1e3, check: "none", wv: 854 }], {}], [1, "auto_FR_glamuse.com_n32", 0, "^https?://(www\\.)?glamuse\\.com/", 10, [], [{ e: 1037 }], [{ v: 1037 }], [{ wait: 500 }, { c: 1037 }], [{ timeout: 1e3, check: "none", wv: 1037 }], {}], [1, "auto_FR_gmf.fr_pxt", 0, "^https?://(www\\.)?gmf\\.fr/", 10, [], [{ e: 1038 }], [{ v: 1038 }], [{ wait: 500 }, { c: 1038 }], [{ timeout: 1e3, check: "none", wv: 1038 }], {}], [1, "auto_FR_gov.br_n2f", 0, "^https?://(www\\.)?gov\\.br/", 10, [], [{ e: 1039 }], [{ v: 1039 }], [{ wait: 500 }, { c: 1039 }], [{ timeout: 1e3, check: "none", wv: 1039 }], {}], [1, "auto_FR_greengo.voyage_fg3", 0, "^https?://(www\\.)?greengo\\.voyage/", 10, [], [{ e: 1040 }], [{ v: 1040 }], [{ wait: 500 }, { c: 1040 }], [{ timeout: 1e3, check: "none", wv: 1040 }], {}], [1, "auto_FR_haproxy.com_arh", 0, "^https?://(www\\.)?haproxy\\.com/", 10, [], [{ e: 1041 }], [{ v: 1041 }], [{ wait: 500 }, { c: 1041 }], [{ timeout: 1e3, check: "none", wv: 1041 }], {}], [1, "auto_FR_interencheres.com_c67", 0, "^https?://(www\\.)?interencheres\\.com/", 10, [], [{ e: 1036 }], [{ v: 1036 }], [{ wait: 500 }, { c: 1036 }], [{ timeout: 1e3, check: "none", wv: 1036 }], {}], [1, "auto_FR_ita.xhamster.com_jhk", 0, "^https?://(www\\.)?ita\\.xhamster\\.com/", 10, [], [{ e: 1035 }], [{ v: 1035 }], [{ wait: 500 }, { c: 1035 }], [{ timeout: 1e3, check: "none", wv: 1035 }], {}], [1, "auto_FR_kobo.com_ajz", 0, "^https?://(www\\.)?kobo\\.com/", 10, [], [{ e: 1042 }], [{ v: 1042 }], [{ wait: 500 }, { c: 1042 }], [{ timeout: 1e3, check: "none", wv: 1042 }], {}], [1, "auto_FR_lalibrairie.com_0lt", 0, "^https?://(www\\.)?lalibrairie\\.com/", 10, [], [{ e: 1043 }], [{ v: 1043 }], [{ wait: 500 }, { c: 1043 }], [{ timeout: 1e3, check: "none", wv: 1043 }], {}], [1, "auto_FR_leclercvoyages.com_2o4", 0, "^https?://(www\\.)?leclercvoyages\\.com/", 10, [], [{ e: 1038 }], [{ v: 1038 }], [{ wait: 500 }, { c: 1038 }], [{ timeout: 1e3, check: "none", wv: 1038 }], {}], [1, "auto_FR_lesprosdelapetiteenfance.fr_bng", 0, "^https?://(www\\.)?lesprosdelapetiteenfance\\.fr/", 10, [], [{ e: 906 }], [{ v: 906 }], [{ wait: 500 }, { c: 906 }], [{ timeout: 1e3, check: "none", wv: 906 }], {}], [1, "auto_FR_ludum.fr_gl5", 0, "^https?://(www\\.)?ludum\\.fr/", 10, [], [{ e: 1044 }], [{ v: 1044 }], [{ wait: 500 }, { c: 1044 }], [{ timeout: 1e3, check: "none", wv: 1044 }], {}], [1, "auto_FR_maboussoleaidants.fr_f8f", 0, "^https?://(www\\.)?maboussoleaidants\\.fr/", 10, [], [{ e: 1045 }], [{ v: 1045 }], [{ wait: 500 }, { c: 1045 }], [{ timeout: 1e3, check: "none", wv: 1045 }], {}], [1, "auto_FR_magellan-bio.fr_5xr", 0, "^https?://(www\\.)?magellan-bio\\.fr/", 10, [], [{ e: 1046 }], [{ v: 1046 }], [{ wait: 500 }, { c: 1046 }], [{ timeout: 1e3, check: "none", wv: 1046 }], {}], [1, "auto_FR_manuels.solutions_3gb", 0, "^https?://(www\\.)?manuels\\.solutions/", 10, [], [{ e: 1047 }], [{ v: 1047 }], [{ wait: 500 }, { c: 1047 }], [{ timeout: 1e3, check: "none", wv: 1047 }], {}], [1, "auto_FR_maty.com_2v7", 0, "^https?://(www\\.)?maty\\.com/", 10, [], [{ e: 937 }], [{ v: 937 }], [{ wait: 500 }, { c: 937 }], [{ timeout: 1e3, check: "none", wv: 937 }], {}], [1, "auto_FR_mawaqit.net_0cw", 0, "^https?://(www\\.)?mawaqit\\.net/", 10, [], [{ e: 1048 }], [{ v: 1048 }], [{ wait: 500 }, { c: 1048 }], [{ timeout: 1e3, check: "none", wv: 1048 }], {}], [1, "auto_FR_meformerenregion.fr_64b", 0, "^https?://(www\\.)?meformerenregion\\.fr/", 10, [], [{ e: 1049 }], [{ v: 1049 }], [{ wait: 500 }, { c: 1049 }], [{ timeout: 1e3, check: "none", wv: 1049 }], {}], [1, "auto_FR_mesinfos.fr_gt2", 0, "^https?://(www\\.)?mesinfos\\.fr/", 10, [], [{ e: 1050 }], [{ v: 1050 }], [{ wait: 500 }, { c: 1050 }], [{ timeout: 1e3, check: "none", wv: 1050 }], {}], [1, "auto_FR_naval-group.com_yzx", 0, "^https?://(www\\.)?naval-group\\.com/", 10, [], [{ e: 906 }], [{ v: 906 }], [{ wait: 500 }, { c: 906 }], [{ timeout: 1e3, check: "none", wv: 906 }], {}], [1, "auto_FR_norauto.fr_mbi", 0, "^https?://(www\\.)?norauto\\.fr/", 10, [], [{ e: 937 }], [{ v: 937 }], [{ wait: 500 }, { c: 937 }], [{ timeout: 1e3, check: "none", wv: 937 }], {}], [1, "auto_FR_nouslib.com_1tl", 0, "^https?://(www\\.)?nouslib\\.com/", 10, [], [{ e: 1051 }], [{ v: 1051 }], [{ wait: 500 }, { c: 1051 }], [{ timeout: 1e3, check: "none", wv: 1051 }], {}], [1, "auto_FR_oceane.breizhgo.bzh_g7u", 0, "^https?://(www\\.)?oceane\\.breizhgo\\.bzh/", 10, [], [{ e: 1052 }], [{ v: 1052 }], [{ wait: 500 }, { c: 1052 }], [{ timeout: 1e3, check: "none", wv: 1052 }], {}], [1, "auto_FR_pfg.fr_j2d_+1", 0, "^https?://(www\\.)?pfg\\.fr/|^https?://(www\\.)?pointp\\.fr/", 10, [], [{ e: 1038 }], [{ v: 1038 }], [{ wait: 500 }, { c: 1038 }], [{ timeout: 1e3, check: "none", wv: 1038 }], {}], [1, "auto_FR_picwish.com_l0k", 0, "^https?://(www\\.)?picwish\\.com/", 10, [], [{ e: 1053 }], [{ v: 1053 }], [{ wait: 500 }, { c: 1053 }], [{ timeout: 1e3, check: "none", wv: 1053 }], {}], [1, "auto_FR_platform.openai.com_nyz", 0, "^https?://(www\\.)?platform\\.openai\\.com/", 10, [], [{ e: 1054 }], [{ v: 1054 }], [{ wait: 500 }, { c: 1054 }], [{ timeout: 1e3, check: "none", wv: 1054 }], {}], [1, "auto_FR_pointdevente.parionssport.fdj.fr_9uh", 0, "^https?://(www\\.)?pointdevente\\.parionssport\\.fdj\\.fr/", 10, [], [{ e: 991 }], [{ v: 991 }], [{ wait: 500 }, { c: 991 }], [{ timeout: 1e3, check: "none", wv: 991 }], {}], [1, "auto_FR_politis.fr_g33", 0, "^https?://(www\\.)?politis\\.fr/", 10, [], [{ e: 1055 }], [{ v: 1055 }], [{ wait: 500 }, { c: 1055 }], [{ timeout: 1e3, check: "none", wv: 1055 }], {}], [1, "auto_FR_pretto.fr_kb5", 0, "^https?://(www\\.)?pretto\\.fr/", 10, [], [{ e: 1056 }], [{ v: 1056 }], [{ wait: 500 }, { c: 1056 }], [{ timeout: 1e3, check: "none", wv: 1056 }], {}], [1, "auto_FR_privateaser.com_uco", 0, "^https?://(www\\.)?privateaser\\.com/", 10, [], [{ e: 1057 }], [{ v: 1057 }], [{ wait: 500 }, { c: 1057 }], [{ timeout: 1e3, check: "none", wv: 1057 }], {}], [1, "auto_FR_pro.inserm.fr_omt", 0, "^https?://(www\\.)?pro\\.inserm\\.fr/", 10, [], [{ e: 875 }], [{ v: 875 }], [{ wait: 500 }, { c: 875 }], [{ timeout: 1e3, check: "none", wv: 875 }], {}], [1, "auto_FR_proantic.com_oyg", 0, "^https?://(www\\.)?proantic\\.com/", 10, [], [{ e: 1058 }], [{ v: 1058 }], [{ wait: 500 }, { c: 1058 }], [{ timeout: 1e3, check: "none", wv: 1058 }], {}], [1, "auto_FR_revue-histoire.fr_jex", 0, "^https?://(www\\.)?revue-histoire\\.fr/", 10, [], [{ e: 1059 }], [{ v: 1059 }], [{ wait: 500 }, { c: 1059 }], [{ timeout: 1e3, check: "none", wv: 1059 }], {}], [1, "auto_FR_rhinoshield.fr_k5l", 0, "^https?://(www\\.)?rhinoshield\\.fr/", 10, [], [{ e: 854 }], [{ v: 854 }], [{ wait: 500 }, { c: 854 }], [{ timeout: 1e3, check: "none", wv: 854 }], {}], [1, "auto_FR_sephora.fr_k3l", 0, "^https?://(www\\.)?sephora\\.fr/", 10, [], [{ e: 930 }], [{ v: 930 }], [{ wait: 500 }, { c: 930 }], [{ timeout: 1e3, check: "none", wv: 930 }], {}], [1, "auto_FR_xhamster.desi_pv1_+1", 0, "^https?://(www\\.)?xhamster\\.desi/|^https?://(www\\.)?xhamster3\\.com/", 10, [], [{ e: 1035 }], [{ v: 1035 }], [{ wait: 500 }, { c: 1035 }], [{ timeout: 1e3, check: "none", wv: 1035 }], {}], [1, "auto_GB_3djake.uk_0", 0, "^https?://(www\\.)?3djake\\.uk/", 10, [], [{ e: 1060 }], [{ v: 1060 }], [{ c: 1060 }], [], {}], [1, "auto_GB_actionfraud.org.uk_92k", 0, "^https?://(www\\.)?actionfraud\\.org\\.uk/", 10, [], [{ e: 1061 }], [{ v: 1061 }], [{ wait: 500 }, { c: 1061 }], [{ timeout: 1e3, check: "none", wv: 1061 }], {}], [1, "auto_GB_ancestry.com_0", 0, "^https?://(www\\.)?ancestry\\.com/", 10, [], [{ e: 1062 }], [{ v: 1062 }], [{ wait: 500 }, { c: 1062 }], [{ timeout: 1e3, check: "none", wv: 1062 }], {}], [1, "auto_GB_arte.tv_0", 0, "^https?://(www\\.)?arte\\.tv/", 10, [], [{ e: 1063 }], [{ v: 1063 }], [{ c: 1063 }], [], {}], [1, "auto_GB_bensnaturalhealth.co.uk_0", 0, "^https?://(www\\.)?bensnaturalhealth\\.co\\.uk/", 10, [], [{ e: 1064 }], [{ v: 1064 }], [{ c: 1064 }], [], {}], [1, "auto_GB_bike24.com_0", 0, "^https?://(www\\.)?bike24\\.com/", 10, [], [{ e: 1065 }], [{ v: 1065 }], [{ c: 1065 }], [], {}], [1, "auto_GB_brazzers.com_0", 0, "^https?://(www\\.)?brazzers\\.com/", 10, [], [{ e: 1066 }], [{ v: 1066 }], [{ c: 1066 }], [], {}], [1, "auto_GB_bricksandlogic.co.uk_o5o", 0, "^https?://(www\\.)?bricksandlogic\\.co\\.uk/", 10, [], [{ e: 1067 }], [{ v: 1067 }], [{ wait: 500 }, { c: 1067 }], [{ timeout: 1e3, check: "none", wv: 1067 }], {}], [1, "auto_GB_brightondome.org_iz9", 0, "^https?://(www\\.)?brightondome\\.org/", 10, [], [{ e: 1068 }], [{ v: 1068 }], [{ wait: 500 }, { c: 1068 }], [{ timeout: 1e3, check: "none", wv: 1068 }], {}], [1, "auto_GB_businessclass.com_0", 0, "^https?://(www\\.)?businessclass\\.com/", 10, [], [{ e: 1069 }], [{ v: 1069 }], [{ c: 1069 }], [], {}], [1, "auto_GB_capcut.com_0", 0, "^https?://(www\\.)?capcut\\.com/", 10, [], [{ e: 1070 }], [{ v: 1070 }], [{ c: 1070 }], [], {}], [1, "auto_GB_cardmarket.com_oxh", 0, "^https?://(www\\.)?cardmarket\\.com/", 10, [], [{ e: 1071 }], [{ v: 1071 }], [{ wait: 500 }, { c: 1071 }], [{ timeout: 1e3, check: "none", wv: 1071 }], {}], [1, "auto_GB_catawiki.com_0", 0, "^https?://(www\\.)?catawiki\\.com/", 10, [], [{ e: 1072 }], [{ v: 1072 }], [{ c: 1072 }], [], {}], [1, "auto_GB_charlesclinkard.co.uk_0", 0, "^https?://(www\\.)?charlesclinkard\\.co\\.uk/", 10, [], [{ e: 1073 }], [{ v: 1073 }], [{ wait: 500 }, { c: 1073 }], [{ timeout: 1e3, check: "none", wv: 1073 }], {}], [1, "auto_GB_chilternseeds.co.uk_0", 0, "^https?://(www\\.)?chilternseeds\\.co\\.uk/", 10, [], [{ e: 1074 }], [{ v: 1074 }], [{ wait: 500 }, { c: 1074 }], [{ timeout: 1e3, check: "none", wv: 1074 }], {}], [1, "auto_GB_chrono24.com_0", 0, "^https?://(www\\.)?chrono24\\.com/", 10, [], [{ e: 1075 }], [{ v: 1075 }], [{ c: 1075 }], [], {}], [1, "auto_GB_cpfc.co.uk_0", 0, "^https?://(www\\.)?cpfc\\.co\\.uk/", 10, [], [{ e: 1076 }], [{ v: 1076 }], [{ c: 1076 }], [], {}], [1, "auto_GB_deezer.com_0", 0, "^https?://(www\\.)?deezer\\.com/", 10, [], [{ e: 1077 }], [{ v: 1077 }], [{ c: 1077 }], [], {}], [1, "auto_GB_edinburghcastle.scot_h2e", 0, "^https?://(www\\.)?edinburghcastle\\.scot/", 10, [], [{ e: 1078 }], [{ v: 1078 }], [{ wait: 500 }, { c: 1078 }], [{ timeout: 1e3, check: "none", wv: 1078 }], {}], [1, "auto_GB_europarl.europa.eu_0", 0, "^https?://(www\\.)?europarl\\.europa\\.eu/", 10, [], [{ e: 1079 }], [{ v: 1079 }], [{ c: 1079 }], [], {}], [1, "auto_GB_everysaving.co.uk_38t", 0, "^https?://(www\\.)?everysaving\\.co\\.uk/", 10, [], [{ e: 1080 }], [{ v: 1080 }], [{ c: 1080 }], [], {}], [1, "auto_GB_ewrc-results.com_y5f", 0, "^https?://(www\\.)?ewrc-results\\.com/", 10, [], [{ e: 1081 }], [{ v: 1081 }], [{ wait: 500 }, { c: 1081 }], [{ timeout: 1e3, check: "none", wv: 1081 }], {}], [1, "auto_GB_f6s.com_221", 0, "^https?://(www\\.)?f6s\\.com/", 10, [], [{ e: 1082 }], [{ v: 1082 }], [{ wait: 500 }, { c: 1082 }], [{ timeout: 1e3, check: "none", wv: 1082 }], {}], [1, "auto_GB_faphouse.com_0", 0, "^https?://(www\\.)?faphouse\\.com/", 10, [], [{ e: 1083 }], [{ v: 1083 }], [{ c: 1083 }], [], {}], [1, "auto_GB_farmergracy.co.uk_dl3", 0, "^https?://(www\\.)?farmergracy\\.co\\.uk/", 10, [], [{ e: 1084 }], [{ v: 1084 }], [{ wait: 500 }, { c: 1084 }], [{ timeout: 1e3, check: "none", wv: 1084 }], {}], [1, "auto_GB_fca.org.uk_9p9", 0, "^https?://(www\\.)?fca\\.org\\.uk/", 10, [], [{ e: 1085 }], [{ v: 1085 }], [{ wait: 500 }, { c: 1085 }], [{ timeout: 1e3, check: "none", wv: 1085 }], {}], [1, "auto_GB_forum.affinity.serif.com_0", 0, "^https?://(www\\.)?forum\\.affinity\\.serif\\.com/", 10, [], [{ e: 1086 }], [{ v: 1086 }], [{ c: 1086 }], [], {}], [1, "auto_GB_garden4less.co.uk_0", 0, "^https?://(www\\.)?garden4less\\.co\\.uk/", 10, [], [{ e: 1087 }], [{ v: 1087 }], [{ c: 1087 }], [], {}], [1, "auto_GB_glassesdirect.co.uk_bt9", 0, "^https?://(www\\.)?glassesdirect\\.co\\.uk/", 10, [], [{ e: 1088 }], [{ v: 1088 }], [{ wait: 500 }, { c: 1088 }], [{ timeout: 1e3, check: "none", wv: 1088 }], {}], [1, "auto_GB_handbook.fca.org.uk_0", 0, "^https?://(www\\.)?handbook\\.fca\\.org\\.uk/", 10, [], [{ e: 1089 }], [{ v: 1089 }], [{ wait: 500 }, { c: 1089 }], [{ timeout: 1e3, check: "none", wv: 1089 }], {}], [1, "auto_GB_historicenvironment.scot_0", 0, "^https?://(www\\.)?historicenvironment\\.scot/", 10, [], [{ e: 1090 }], [{ v: 1090 }], [{ c: 1090 }], [], {}], [1, "auto_GB_ionos.co.uk_c0a", 0, "^https?://(www\\.)?ionos\\.co\\.uk/", 10, [], [{ e: 1091 }], [{ v: 1091 }], [{ wait: 500 }, { c: 1091 }], [{ timeout: 1e3, check: "none", wv: 1091 }], {}], [1, "auto_GB_kick.com_0", 0, "^https?://(www\\.)?kick\\.com/", 10, [], [{ e: 1092 }], [{ v: 1092 }], [{ c: 1092 }], [], {}], [1, "auto_GB_kinopoisk.ru_0", 0, "^https?://(www\\.)?kinopoisk\\.ru/", 10, [], [{ e: 1093 }], [{ v: 1093 }], [{ wait: 500 }, { c: 1093 }], [{ timeout: 1e3, check: "none", wv: 1093 }], {}], [1, "auto_GB_kirklees.gov.uk_0", 0, "^https?://(www\\.)?kirklees\\.gov\\.uk/", 10, [], [{ e: 1094 }], [{ v: 1094 }], [{ c: 1094 }], [], {}], [1, "auto_GB_lancaster.ac.uk_0", 0, "^https?://(www\\.)?lancaster\\.ac\\.uk/", 10, [], [{ e: 1095 }], [{ v: 1095 }], [{ c: 1095 }], [], {}], [1, "auto_GB_lustery.com_0", 0, "^https?://(www\\.)?lustery\\.com/", 10, [], [{ e: 1096 }], [{ v: 1096 }], [{ c: 1096 }], [], {}], [1, "auto_GB_m.yandex.com_0_+2", 0, "^https?://(www\\.)?m\\.yandex\\.com/|^https?://(www\\.)?online\\.yandex\\.com/|^https?://(www\\.)?xmlsearch\\.yandex\\.ru/", 10, [], [{ e: 1097 }], [{ v: 1097 }], [{ text: "Allow essential cookies", c: 1097 }], [], {}], [1, "auto_GB_mypharmacy.co.uk_0", 0, "^https?://(www\\.)?mypharmacy\\.co\\.uk/", 10, [], [{ e: 1098 }], [{ v: 1098 }], [{ text: "DENY ALL", c: 1098 }], [], {}], [1, "auto_GB_onestream.co.uk_dpx", 0, "^https?://(www\\.)?onestream\\.co\\.uk/", 10, [], [{ e: 1099 }], [{ v: 1099 }], [{ wait: 500 }, { c: 1099 }], [{ timeout: 1e3, check: "none", wv: 1099 }], {}], [1, "auto_GB_outfox.energy_6ux", 0, "^https?://(www\\.)?outfox\\.energy/", 10, [], [{ e: 1100 }], [{ v: 1100 }], [{ wait: 500 }, { c: 1100 }], [{ timeout: 1e3, check: "none", wv: 1100 }], {}], [1, "auto_GB_parliamentlive.tv_r3v", 0, "^https?://(www\\.)?parliamentlive\\.tv/", 10, [], [{ e: 1101 }], [{ v: 1101 }], [{ c: 1101 }], [], {}], [1, "auto_GB_partscentre.co.uk_s70", 0, "^https?://(www\\.)?partscentre\\.co\\.uk/", 10, [], [{ e: 1102 }], [{ v: 1102 }], [{ wait: 500 }, { c: 1102 }], [{ timeout: 1e3, check: "none", wv: 1102 }], {}], [1, "auto_GB_plumbingworld.co.uk_vmi", 0, "^https?://(www\\.)?plumbingworld\\.co\\.uk/", 10, [], [{ e: 1103 }], [{ v: 1103 }], [{ wait: 500 }, { c: 1103 }], [{ timeout: 1e3, check: "none", wv: 1103 }], {}], [1, "auto_GB_reading.gov.uk_0", 0, "^https?://(www\\.)?reading\\.gov\\.uk/", 10, [], [{ e: 1104 }], [{ v: 1104 }], [{ wait: 500 }, { c: 1104 }], [{ timeout: 1e3, check: "none", wv: 1104 }], {}], [1, "auto_GB_shopify.com_0", 0, "^https?://(www\\.)?shopify\\.com/", 10, [], [{ e: 1105 }], [{ v: 1105 }], [{ c: 1105 }], [], {}], [1, "auto_GB_sso.passport.yandex.ru_0_+4", 0, "^https?://(www\\.)?sso\\.passport\\.yandex\\.ru/|^https?://(www\\.)?translate\\.yandex\\.com/|^https?://(www\\.)?ya\\.ru/|^https?://(www\\.)?yandex\\.com\\.tr/|^https?://(www\\.)?yandex\\.com/", 10, [], [{ e: 1093 }], [{ v: 1093 }], [{ c: 1093 }], [], {}], [1, "auto_GB_stoneacre.co.uk_73c", 0, "^https?://(www\\.)?stoneacre\\.co\\.uk/", 10, [], [{ e: 1106 }], [{ v: 1106 }], [{ wait: 500 }, { c: 1106 }], [{ timeout: 1e3, check: "none", wv: 1106 }], {}], [1, "auto_GB_supremecourt.uk_0", 0, "^https?://(www\\.)?supremecourt\\.uk/", 10, [], [{ e: 1107 }], [{ v: 1107 }], [{ c: 1107 }], [{ timeout: 1e3, check: "none", wv: 1107 }], {}], [1, "auto_GB_thebatteryshop.co.uk_0", 0, "^https?://(www\\.)?thebatteryshop\\.co\\.uk/", 10, [], [{ e: 1108 }], [{ v: 1108 }], [{ text: "Reject All", c: 1108 }], [], {}], [1, "auto_GB_thebushcraftstore.co.uk_0_+1", 0, "^https?://(www\\.)?thebushcraftstore\\.co\\.uk/|^https?://(www\\.)?thewoolfactory\\.co\\.uk/", 10, [], [{ e: 1109 }], [{ v: 1109 }], [{ wait: 500 }, { c: 1109 }], [{ timeout: 1e3, check: "none", wv: 1109 }], {}], [1, "auto_GB_trove.scot_xtg", 0, "^https?://(www\\.)?trove\\.scot/", 10, [], [{ e: 1110 }], [{ v: 1110 }], [{ wait: 500 }, { c: 1110 }], [{ timeout: 1e3, check: "none", wv: 1110 }], {}], [1, "auto_GB_truecaller.com_0", 0, "^https?://(www\\.)?truecaller\\.com/", 10, [], [{ e: 1111 }], [{ v: 1111 }], [{ c: 1111 }], [], {}], [1, "auto_GB_vetuk.co.uk_0", 0, "^https?://(www\\.)?vetuk\\.co\\.uk/", 10, [], [{ e: 1112 }], [{ v: 1112 }], [{ wait: 500 }, { c: 1112 }], [{ timeout: 1e3, check: "none", wv: 1112 }], {}], [1, "auto_GB_virgin.com_0", 0, "^https?://(www\\.)?virgin\\.com/", 10, [], [{ e: 1113 }], [{ v: 1113 }], [{ wait: 500 }, { c: 1113 }], [{ timeout: 1e3, check: "none", wv: 1113 }], {}], [1, "auto_GB_vrhump.com_pb5", 0, "^https?://(www\\.)?vrhump\\.com/", 10, [], [{ e: 1114 }], [{ v: 1114 }], [{ wait: 500 }, { c: 1114 }], [{ timeout: 1e3, check: "none", wv: 1114 }], {}], [1, "auto_GB_weldricks.co.uk_0", 0, "^https?://(www\\.)?weldricks\\.co\\.uk/", 10, [], [{ e: 1115 }], [{ v: 1115 }], [{ wait: 500 }, { c: 1115 }], [{ timeout: 1e3, check: "none", wv: 1115 }], {}], [1, "auto_NL_3cx.com_0mf", 0, "^https?://(www\\.)?3cx\\.com/", 10, [], [{ e: 1116 }], [{ v: 1116 }], [{ wait: 500 }, { c: 1116 }], [{ timeout: 1e3, check: "none", wv: 1116 }], {}], [1, "auto_NL_aegon.nl_y2y", 0, "^https?://(www\\.)?aegon\\.nl/", 10, [], [{ e: 1117 }], [{ v: 1117 }], [{ wait: 500 }, { c: 1117 }], [{ timeout: 1e3, check: "none", wv: 1117 }], {}], [1, "auto_NL_app.chatgirl.nl_uqi", 0, "^https?://(www\\.)?app\\.chatgirl\\.nl/", 10, [], [{ e: 1118 }], [{ v: 1118 }], [{ wait: 500 }, { c: 1118 }], [{ timeout: 1e3, check: "none", wv: 1118 }], {}], [1, "auto_NL_asnbank.nl_e28_+1", 0, "^https?://(www\\.)?asnbank\\.nl/|^https?://(www\\.)?blgwonen\\.nl/", 10, [], [{ e: 1119 }], [{ v: 1119 }], [{ wait: 500 }, { c: 1119 }], [{ timeout: 1e3, check: "none", wv: 1119 }], {}], [1, "auto_NL_averoachmea.nl_fxj_+1", 0, "^https?://(www\\.)?averoachmea\\.nl/|^https?://(www\\.)?centraalbeheer\\.nl/", 10, [], [{ e: 1120 }], [{ v: 1120 }], [{ wait: 500 }, { c: 1120 }], [{ timeout: 1e3, check: "none", wv: 1120 }], {}], [1, "auto_NL_beekman.nl_f9e", 0, "^https?://(www\\.)?beekman\\.nl/", 10, [], [{ e: 1121 }], [{ v: 1121 }], [{ wait: 500 }, { c: 1121 }], [{ timeout: 1e3, check: "none", wv: 1121 }], {}], [1, "auto_NL_berivita.com_q3z", 0, "^https?://(www\\.)?berivita\\.com/", 10, [], [{ e: 1122 }], [{ v: 1122 }], [{ wait: 500 }, { c: 1122 }], [{ timeout: 1e3, check: "none", wv: 1122 }], {}], [1, "auto_NL_bibliotheekaanzet.nl_mh6", 0, "^https?://(www\\.)?bibliotheekaanzet\\.nl/", 10, [], [{ e: 1123 }], [{ v: 1123 }], [{ wait: 500 }, { c: 1123 }], [{ timeout: 1e3, check: "none", wv: 1123 }], {}], [1, "auto_NL_bk.nl_tx4", 0, "^https?://(www\\.)?bk\\.nl/", 10, [], [{ e: 854 }], [{ v: 854 }], [{ wait: 500 }, { c: 854 }], [{ timeout: 1e3, check: "none", wv: 854 }], {}], [1, "auto_NL_bonprix.nl_ovi", 0, "^https?://(www\\.)?bonprix\\.nl/", 10, [], [{ e: 1124 }], [{ v: 1124 }], [{ wait: 500 }, { c: 1124 }], [{ timeout: 1e3, check: "none", wv: 1124 }], {}], [1, "auto_NL_braumarkt.com_wfi", 0, "^https?://(www\\.)?braumarkt\\.com/", 10, [], [{ e: 999 }], [{ v: 999 }], [{ wait: 500 }, { c: 999 }], [{ timeout: 1e3, check: "none", wv: 999 }], {}], [1, "auto_NL_brillen24.nl_08c", 0, "^https?://(www\\.)?brillen24\\.nl/", 10, [], [{ e: 1125 }], [{ v: 1125 }], [{ wait: 500 }, { c: 1125 }], [{ timeout: 1e3, check: "none", wv: 1125 }], {}], [1, "auto_NL_chasse.nl_gs1", 0, "^https?://(www\\.)?chasse\\.nl/", 10, [], [{ e: 1126 }], [{ v: 1126 }], [{ wait: 500 }, { c: 1126 }], [{ timeout: 1e3, check: "none", wv: 1126 }], {}], [1, "auto_NL_cheaptickets.nl_cwt", 0, "^https?://(www\\.)?cheaptickets\\.nl/", 10, [], [{ e: 1127 }], [{ v: 1127 }], [{ wait: 500 }, { c: 1127 }], [{ timeout: 1e3, check: "none", wv: 1127 }], {}], [1, "auto_NL_chillplanet.nl_xcp", 0, "^https?://(www\\.)?chillplanet\\.nl/", 10, [], [{ e: 1128 }], [{ v: 1128 }], [{ wait: 500 }, { c: 1128 }], [{ timeout: 1e3, check: "none", wv: 1128 }], {}], [1, "auto_NL_chrono24.nl_dco", 0, "^https?://(www\\.)?chrono24\\.nl/", 10, [], [{ e: 903 }], [{ v: 903 }], [{ wait: 500 }, { c: 903 }], [{ timeout: 1e3, check: "none", wv: 903 }], {}], [1, "auto_NL_clinicaldiagnostics.nl_pmu", 0, "^https?://(www\\.)?clinicaldiagnostics\\.nl/", 10, [], [{ e: 1129 }], [{ v: 1129 }], [{ wait: 500 }, { c: 1129 }], [{ timeout: 1e3, check: "none", wv: 1129 }], {}], [1, "auto_NL_consumentenbond.nl_53g", 0, "^https?://(www\\.)?consumentenbond\\.nl/", 10, [], [{ e: 1130 }], [{ v: 1130 }], [{ wait: 500 }, { c: 1130 }], [{ timeout: 1e3, check: "none", wv: 1130 }], {}], [1, "auto_NL_denboschregion.nl_4x6", 0, "^https?://(www\\.)?denboschregion\\.nl/", 10, [], [{ e: 1131 }], [{ v: 1131 }], [{ wait: 500 }, { c: 1131 }], [{ timeout: 1e3, check: "none", wv: 1131 }], {}], [1, "auto_NL_denieuwebibliotheek.nl_c1z", 0, "^https?://(www\\.)?denieuwebibliotheek\\.nl/", 10, [], [{ e: 1132 }], [{ v: 1132 }], [{ wait: 500 }, { c: 1132 }], [{ timeout: 1e3, check: "none", wv: 1132 }], {}], [1, "auto_NL_discountoffice.nl_2fb", 0, "^https?://(www\\.)?discountoffice\\.nl/", 10, [], [{ e: 1133 }], [{ v: 1133 }], [{ wait: 500 }, { c: 1133 }], [{ timeout: 1e3, check: "none", wv: 1133 }], {}], [1, "auto_NL_ditjesendatjes.nl_0sa", 0, "^https?://(www\\.)?ditjesendatjes\\.nl/", 10, [], [{ e: 1134 }], [{ v: 1134 }], [{ wait: 500 }, { c: 1134 }], [{ timeout: 1e3, check: "none", wv: 1134 }], {}], [1, "auto_NL_duitslandinstituut.nl_d4q", 0, "^https?://(www\\.)?duitslandinstituut\\.nl/", 10, [], [{ e: 1135 }], [{ v: 1135 }], [{ wait: 500 }, { c: 1135 }], [{ timeout: 1e3, check: "none", wv: 1135 }], {}], [1, "auto_NL_effenaar.nl_nia", 0, "^https?://(www\\.)?effenaar\\.nl/", 10, [], [{ e: 1136 }], [{ v: 1136 }], [{ wait: 500 }, { c: 1136 }], [{ timeout: 1e3, check: "none", wv: 1136 }], {}], [1, "auto_NL_eurojackpot.nederlandseloterij.nl_7hr", 0, "^https?://(www\\.)?eurojackpot\\.nederlandseloterij\\.nl/", 10, [], [{ e: 1137 }], [{ v: 1137 }], [{ wait: 500 }, { c: 1137 }], [{ timeout: 1e3, check: "none", wv: 1137 }], {}], [1, "auto_NL_fietsonderdelenoutlet.nl_x8u", 0, "^https?://(www\\.)?fietsonderdelenoutlet\\.nl/", 10, [], [{ e: 1138 }], [{ v: 1138 }], [{ wait: 500 }, { c: 1138 }], [{ timeout: 1e3, check: "none", wv: 1138 }], {}], [1, "auto_NL_followthebeat.nl_mx5", 0, "^https?://(www\\.)?followthebeat\\.nl/", 10, [], [{ e: 1139 }], [{ v: 1139 }], [{ wait: 500 }, { c: 1139 }], [{ timeout: 1e3, check: "none", wv: 1139 }], {}], [1, "auto_NL_frankenergie.nl_9xh", 0, "^https?://(www\\.)?frankenergie\\.nl/", 10, [], [{ e: 1140 }], [{ v: 1140 }], [{ wait: 500 }, { c: 1140 }], [{ timeout: 1e3, check: "none", wv: 1140 }], {}], [1, "auto_NL_gezondheidenwetenschap.be_zgi", 0, "^https?://(www\\.)?gezondheidenwetenschap\\.be/", 10, [], [{ e: 1141 }], [{ v: 1141 }], [{ wait: 500 }, { c: 1141 }], [{ timeout: 1e3, check: "none", wv: 1141 }], {}], [1, "auto_NL_independer.nl_ind", 0, "^https?://(www\\.)?independer\\.nl/", 10, [1142], [{ e: 1143 }], [{ v: 1143 }], [{ c: 1143 }], [{ check: "none", timeout: 2e3, wv: 1142 }], {}], [1, "auto_NL_info.mumc.nl_8s5", 0, "^https?://(www\\.)?info\\.mumc\\.nl/", 10, [], [{ e: 1144 }], [{ v: 1144 }], [{ wait: 500 }, { c: 1144 }], [{ timeout: 1e3, check: "none", wv: 1144 }], {}], [1, "auto_NL_inshared.nl_p70", 0, "^https?://(www\\.)?inshared\\.nl/", 10, [], [{ e: 1145 }], [{ v: 1145 }], [{ wait: 500 }, { c: 1145 }], [{ timeout: 1e3, check: "none", wv: 1145 }], {}], [1, "auto_NL_isvw.nl_7x0", 0, "^https?://(www\\.)?isvw\\.nl/", 10, [], [{ e: 1146 }], [{ v: 1146 }], [{ wait: 500 }, { c: 1146 }], [{ timeout: 1e3, check: "none", wv: 1146 }], {}], [1, "auto_NL_kaartje2go.nl_ecw", 0, "^https?://(www\\.)?kaartje2go\\.nl/", 10, [], [{ e: 1147 }], [{ v: 1147 }], [{ wait: 500 }, { c: 1147 }], [{ timeout: 1e3, check: "none", wv: 1147 }], {}], [1, "auto_NL_kathmandu.nl_7j4", 0, "^https?://(www\\.)?kathmandu\\.nl/", 10, [], [{ e: 1148 }], [{ v: 1148 }], [{ wait: 500 }, { c: 1148 }], [{ timeout: 1e3, check: "none", wv: 1148 }], {}], [1, "auto_NL_kvk.nl_0wn", 0, "^https?://(www\\.)?kvk\\.nl/", 10, [], [{ e: 1149 }], [{ v: 1149 }], [{ wait: 500 }, { c: 1149 }], [{ timeout: 1e3, check: "none", wv: 1149 }], {}], [1, "auto_NL_labplusarts.nl_feg", 0, "^https?://(www\\.)?labplusarts\\.nl/", 10, [], [{ e: 1150 }], [{ v: 1150 }], [{ wait: 500 }, { c: 1150 }], [{ timeout: 1e3, check: "none", wv: 1150 }], {}], [1, "auto_NL_lakenhal.nl_3go", 0, "^https?://(www\\.)?lakenhal\\.nl/", 10, [], [{ e: 1151 }], [{ v: 1151 }], [{ wait: 500 }, { c: 1151 }], [{ timeout: 1e3, check: "none", wv: 1151 }], {}], [1, "auto_NL_lotto.nederlandseloterij.nl_7c8_+1", 0, "^https?://(www\\.)?lotto\\.nederlandseloterij\\.nl/|^https?://(www\\.)?staatsloterij\\.nederlandseloterij\\.nl/", 10, [], [{ e: 1152 }], [{ v: 1152 }], [{ wait: 500 }, { c: 1152 }], [{ timeout: 1e3, check: "none", wv: 1152 }], {}], [1, "auto_NL_magazines-motivatie.nl_6o1", 0, "^https?://(www\\.)?magazines-motivatie\\.nl/", 10, [], [{ e: 1153 }], [{ v: 1153 }], [{ wait: 500 }, { c: 1153 }], [{ timeout: 1e3, check: "none", wv: 1153 }], {}], [1, "auto_NL_makro.nl_ror", 0, "^https?://(www\\.)?makro\\.nl/", 10, [], [{ e: 1154 }], [{ v: 1154 }], [{ wait: 500 }, { c: 1154 }], [{ timeout: 1e3, check: "none", wv: 1154 }], {}], [1, "auto_NL_manufactum.nl_w9l", 0, "^https?://(www\\.)?manufactum\\.nl/", 10, [], [{ e: 925 }], [{ v: 925 }], [{ wait: 500 }, { c: 925 }], [{ timeout: 1e3, check: "none", wv: 925 }], {}], [1, "auto_NL_matrassencheck.nl_cap", 0, "^https?://(www\\.)?matrassencheck\\.nl/", 10, [], [{ e: 1155 }], [{ v: 1155 }], [{ wait: 500 }, { c: 1155 }], [{ timeout: 1e3, check: "none", wv: 1155 }], {}], [1, "auto_NL_mijn.simyo.nl_xm9", 0, "^https?://(www\\.)?mijn\\.simyo\\.nl/", 10, [], [{ e: 1156 }], [{ v: 1156 }], [{ wait: 500 }, { c: 1156 }], [{ timeout: 1e3, check: "none", wv: 1156 }], {}], [1, "auto_NL_mijngelderland.nl_rkj", 0, "^https?://(www\\.)?mijngelderland\\.nl/", 10, [], [{ e: 1157 }], [{ v: 1157 }], [{ wait: 500 }, { c: 1157 }], [{ timeout: 1e3, check: "none", wv: 1157 }], {}], [1, "auto_NL_milieucentraal.nl_p66", 0, "^https?://(www\\.)?milieucentraal\\.nl/", 10, [], [{ e: 1158 }], [{ v: 1158 }], [{ wait: 500 }, { c: 1158 }], [{ timeout: 1e3, check: "none", wv: 1158 }], {}], [1, "auto_NL_muziekgebouw.nl_cob", 0, "^https?://(www\\.)?muziekgebouw\\.nl/", 10, [], [{ e: 1126 }], [{ v: 1126 }], [{ wait: 500 }, { c: 1126 }], [{ timeout: 1e3, check: "none", wv: 1126 }], {}], [1, "auto_NL_nec-nijmegen.nl_04y", 0, "^https?://(www\\.)?nec-nijmegen\\.nl/", 10, [], [{ e: 1159 }], [{ v: 1159 }], [{ wait: 500 }, { c: 1159 }], [{ timeout: 1e3, check: "none", wv: 1159 }], {}], [1, "auto_NL_nederlandseloterij.nl_b60", 0, "^https?://(www\\.)?nederlandseloterij\\.nl/", 10, [], [{ e: 1160 }], [{ v: 1160 }], [{ wait: 500 }, { c: 1160 }], [{ timeout: 1e3, check: "none", wv: 1160 }], {}], [1, "auto_NL_nl.spankbang.com_bnh_+1", 0, "^https?://(www\\.)?nl\\.spankbang\\.com/|^https?://(www\\.)?spankbang\\.com/", 10, [], [{ e: 1161 }], [{ v: 1161 }], [{ wait: 500 }, { c: 1161 }], [{ timeout: 1e3, check: "none", wv: 1161 }], {}], [1, "auto_NL_orpheus.nl_cxu", 0, "^https?://(www\\.)?orpheus\\.nl/", 10, [], [{ e: 1126 }], [{ v: 1126 }], [{ wait: 500 }, { c: 1126 }], [{ timeout: 1e3, check: "none", wv: 1126 }], {}], [1, "auto_NL_partnerplatform.bol.com_k9h", 0, "^https?://(www\\.)?partnerplatform\\.bol\\.com/", 10, [], [{ e: 1162 }], [{ v: 1162 }], [{ wait: 500 }, { c: 1162 }], [{ timeout: 1e3, check: "none", wv: 1162 }], {}], [1, "auto_NL_persportaal.anp.nl_o32", 0, "^https?://(www\\.)?persportaal\\.anp\\.nl/", 10, [], [{ e: 1163 }], [{ v: 1163 }], [{ wait: 500 }, { c: 1163 }], [{ timeout: 1e3, check: "none", wv: 1163 }], {}], [1, "auto_NL_planteenolijfboom.nl_pdo", 0, "^https?://(www\\.)?planteenolijfboom\\.nl/", 10, [], [{ e: 1164 }], [{ v: 1164 }], [{ wait: 500 }, { c: 1164 }], [{ timeout: 1e3, check: "none", wv: 1164 }], {}], [1, "auto_NL_psv.nl_2pt", 0, "^https?://(www\\.)?psv\\.nl/", 10, [], [{ e: 1165 }], [{ v: 1165 }], [{ wait: 500 }, { c: 1165 }], [{ timeout: 1e3, check: "none", wv: 1165 }], {}], [1, "auto_NL_sanitairkamer.nl_vig", 0, "^https?://(www\\.)?sanitairkamer\\.nl/", 10, [], [{ e: 1166 }], [{ v: 1166 }], [{ wait: 500 }, { c: 1166 }], [{ timeout: 1e3, check: "none", wv: 1166 }], {}], [1, "auto_NL_schaapcitroen.nl_6v0", 0, "^https?://(www\\.)?schaapcitroen\\.nl/", 10, [], [{ e: 1167 }], [{ v: 1167 }], [{ wait: 500 }, { c: 1167 }], [{ timeout: 1e3, check: "none", wv: 1167 }], {}], [1, "auto_NL_scouting.nl_ue4", 0, "^https?://(www\\.)?scouting\\.nl/", 10, [], [{ e: 1168 }], [{ v: 1168 }], [{ wait: 500 }, { c: 1168 }], [{ timeout: 1e3, check: "none", wv: 1168 }], {}], [1, "auto_NL_slachtofferhulp.nl_4m4", 0, "^https?://(www\\.)?slachtofferhulp\\.nl/", 10, [], [{ e: 1169 }], [{ v: 1169 }], [{ wait: 500 }, { c: 1169 }], [{ timeout: 1e3, check: "none", wv: 1169 }], {}], [1, "auto_NL_sprinklr.co_3ww", 0, "^https?://(www\\.)?sprinklr\\.co/", 10, [], [{ e: 854 }], [{ v: 854 }], [{ wait: 500 }, { c: 854 }], [{ timeout: 1e3, check: "none", wv: 854 }], {}], [1, "auto_NL_stadsschouwburg-utrecht.nl_tcz", 0, "^https?://(www\\.)?stadsschouwburg-utrecht\\.nl/", 10, [], [{ e: 1170 }], [{ v: 1170 }], [{ wait: 500 }, { c: 1170 }], [{ timeout: 1e3, check: "none", wv: 1170 }], {}], [1, "auto_NL_stedelijkmuseumschiedam.nl_y6j", 0, "^https?://(www\\.)?stedelijkmuseumschiedam\\.nl/", 10, [], [{ e: 1061 }], [{ v: 1061 }], [{ wait: 500 }, { c: 1061 }], [{ timeout: 1e3, check: "none", wv: 1061 }], {}], [1, "auto_NL_texelsecourant.nl_v4b", 0, "^https?://(www\\.)?texelsecourant\\.nl/", 10, [], [{ e: 1171 }], [{ v: 1171 }], [{ wait: 500 }, { c: 1171 }], [{ timeout: 1e3, check: "none", wv: 1171 }], {}], [1, "auto_NL_ticketswap.com_d3j", 0, "^https?://(www\\.)?ticketswap\\.com/", 10, [], [{ e: 1172 }], [{ v: 1172 }], [{ wait: 500 }, { c: 1172 }], [{ timeout: 1e3, check: "none", wv: 1172 }], {}], [1, "auto_NL_uit.inapeldoorn.nl_gt5", 0, "^https?://(www\\.)?uit\\.inapeldoorn\\.nl/", 10, [], [{ e: 1173 }], [{ v: 1173 }], [{ wait: 500 }, { c: 1173 }], [{ timeout: 1e3, check: "none", wv: 1173 }], {}], [1, "auto_NL_vlaanderen.be_c8w", 0, "^https?://(www\\.)?vlaanderen\\.be/", 10, [], [{ e: 1174 }], [{ v: 1174 }], [{ wait: 500 }, { c: 1174 }], [{ timeout: 1e3, check: "none", wv: 1174 }], {}], [1, "auto_NL_vvaa.nl_avs", 0, "^https?://(www\\.)?vvaa\\.nl/", 10, [], [{ e: 1175 }], [{ v: 1175 }], [{ wait: 500 }, { c: 1175 }], [{ timeout: 1e3, check: "none", wv: 1175 }], {}], [1, "auto_NL_werkenbijdefensie.nl_0cv", 0, "^https?://(www\\.)?werkenbijdefensie\\.nl/", 10, [], [{ e: 1176 }], [{ v: 1176 }], [{ wait: 500 }, { c: 1176 }], [{ timeout: 1e3, check: "none", wv: 1176 }], {}], [1, "auto_NL_winkelstraat.nl_hxj", 0, "^https?://(www\\.)?winkelstraat\\.nl/", 10, [], [{ e: 1177 }], [{ v: 1177 }], [{ wait: 500 }, { c: 1177 }], [{ timeout: 1e3, check: "none", wv: 1177 }], {}], [1, "auto_NL_woonnetrijnmond.nl_itj", 0, "^https?://(www\\.)?woonnetrijnmond\\.nl/", 10, [], [{ e: 1178 }], [{ v: 1178 }], [{ wait: 500 }, { c: 1178 }], [{ timeout: 1e3, check: "none", wv: 1178 }], {}], [1, "auto_NL_zuidas.nl_abm", 0, "^https?://(www\\.)?zuidas\\.nl/", 10, [], [{ e: 1179 }], [{ v: 1179 }], [{ wait: 500 }, { c: 1179 }], [{ timeout: 1e3, check: "none", wv: 1179 }], {}], [1, "auto_NO_apxml.com_l6n", 0, "^https?://(www\\.)?apxml\\.com/", 10, [], [{ e: 1180 }], [{ v: 1180 }], [{ wait: 500 }, { c: 1180 }], [{ timeout: 1e3, check: "none", wv: 1180 }], {}], [1, "auto_NO_arbetsformedlingen.se_wxz", 0, "^https?://(www\\.)?arbetsformedlingen\\.se/", 10, [], [{ e: 1181 }], [{ v: 1181 }], [{ wait: 500 }, { c: 1181 }], [{ timeout: 1e3, check: "none", wv: 1181 }], {}], [1, "auto_NO_arronet.se_vo5", 0, "^https?://(www\\.)?arronet\\.se/", 10, [], [{ e: 1182 }], [{ v: 1182 }], [{ wait: 500 }, { c: 1182 }], [{ timeout: 1e3, check: "none", wv: 1182 }], {}], [1, "auto_NO_avanza.se_b5b", 0, "^https?://(www\\.)?avanza\\.se/", 10, [], [{ e: 1183 }], [{ v: 1183 }], [{ wait: 500 }, { c: 1183 }], [{ timeout: 1e3, check: "none", wv: 1183 }], {}], [1, "auto_NO_avidafinance.com_jwc", 0, "^https?://(www\\.)?avidafinance\\.com/", 10, [], [{ e: 1184 }], [{ v: 1184 }], [{ wait: 500 }, { c: 1184 }], [{ timeout: 1e3, check: "none", wv: 1184 }], {}], [1, "auto_NO_beducated.com_jjt", 0, "^https?://(www\\.)?beducated\\.com/", 10, [], [{ e: 1185 }], [{ v: 1185 }], [{ wait: 500 }, { c: 1185 }], [{ timeout: 1e3, check: "none", wv: 1185 }], {}], [1, "auto_NO_dsa.no_w2b", 0, "^https?://(www\\.)?dsa\\.no/", 10, [], [{ e: 1186 }], [{ v: 1186 }], [{ wait: 500 }, { c: 1186 }], [{ timeout: 1e3, check: "none", wv: 1186 }], {}], [1, "auto_NO_goteborg.com_q7v", 0, "^https?://(www\\.)?goteborg\\.com/", 10, [], [{ e: 1187 }], [{ v: 1187 }], [{ wait: 500 }, { c: 1187 }], [{ timeout: 1e3, check: "none", wv: 1187 }], {}], [1, "auto_NO_hacksmith.store_49t", 0, "^https?://(www\\.)?hacksmith\\.store/", 10, [], [{ e: 1188 }], [{ v: 1188 }], [{ wait: 500 }, { c: 1188 }], [{ timeout: 1e3, check: "none", wv: 1188 }], {}], [1, "auto_NO_hotelfinse1222.no_zpm", 0, "^https?://(www\\.)?hotelfinse1222\\.no/", 10, [], [{ e: 1164 }], [{ v: 1164 }], [{ wait: 500 }, { c: 1164 }], [{ timeout: 1e3, check: "none", wv: 1164 }], {}], [1, "auto_NO_jaksta.com_own", 0, "^https?://(www\\.)?jaksta\\.com/", 10, [], [{ e: 1189 }], [{ v: 1189 }], [{ wait: 500 }, { c: 1189 }], [{ timeout: 1e3, check: "none", wv: 1189 }], {}], [1, "auto_NO_ledigajobb.se_tx3", 0, "^https?://(www\\.)?ledigajobb\\.se/", 10, [], [{ e: 1190 }], [{ v: 1190 }], [{ wait: 500 }, { c: 1190 }], [{ timeout: 1e3, check: "none", wv: 1190 }], {}], [1, "auto_NO_liseberg.se_qy4", 0, "^https?://(www\\.)?liseberg\\.se/", 10, [], [{ e: 1191 }], [{ v: 1191 }], [{ wait: 500 }, { c: 1191 }], [{ timeout: 1e3, check: "none", wv: 1191 }], {}], [1, "auto_NO_nordnet.se_2en", 0, "^https?://(www\\.)?nordnet\\.se/", 10, [], [{ e: 1192 }], [{ v: 1192 }], [{ wait: 500 }, { c: 1192 }], [{ timeout: 1e3, check: "none", wv: 1192 }], {}], [1, "auto_NO_pcsx2.net_grl", 0, "^https?://(www\\.)?pcsx2\\.net/", 10, [], [{ e: 1193 }], [{ v: 1193 }], [{ wait: 500 }, { c: 1193 }], [{ timeout: 1e3, check: "none", wv: 1193 }], {}], [1, "auto_NO_regeringen.se_uhv", 0, "^https?://(www\\.)?regeringen\\.se/", 10, [], [{ e: 1194 }], [{ v: 1194 }], [{ wait: 500 }, { c: 1194 }], [{ timeout: 1e3, check: "none", wv: 1194 }], {}], [1, "auto_NO_saseurobonusmastercard.se_oqd", 0, "^https?://(www\\.)?saseurobonusmastercard\\.se/", 10, [], [{ e: 1195 }], [{ v: 1195 }], [{ wait: 500 }, { c: 1195 }], [{ timeout: 1e3, check: "none", wv: 1195 }], {}], [1, "auto_NO_sverigesradio.se_a00", 0, "^https?://(www\\.)?sverigesradio\\.se/", 10, [], [{ e: 1196 }], [{ v: 1196 }], [{ wait: 500 }, { c: 1196 }], [{ timeout: 1e3, check: "none", wv: 1196 }], {}], [1, "auto_NO_svtplay.se_ujn", 0, "^https?://(www\\.)?svtplay\\.se/", 10, [], [{ e: 1197 }], [{ v: 1197 }], [{ wait: 500 }, { c: 1197 }], [{ timeout: 1e3, check: "none", wv: 1197 }], {}], [1, "auto_NO_swedbank.se_63w", 0, "^https?://(www\\.)?swedbank\\.se/", 10, [], [{ e: 1198 }], [{ v: 1198 }], [{ wait: 500 }, { c: 1198 }], [{ timeout: 1e3, check: "none", wv: 1198 }], {}], [1, "auto_NO_tingstad.com_z23", 0, "^https?://(www\\.)?tingstad\\.com/", 10, [], [{ e: 1199 }], [{ v: 1199 }], [{ wait: 500 }, { c: 1199 }], [{ timeout: 1e3, check: "none", wv: 1199 }], {}], [1, "auto_NO_truecaller.com_sdg", 0, "^https?://(www\\.)?truecaller\\.com/", 10, [], [{ e: 1200 }], [{ v: 1200 }], [{ wait: 500 }, { c: 1200 }], [{ timeout: 1e3, check: "none", wv: 1200 }], {}], [1, "auto_NO_uu.se_eea", 0, "^https?://(www\\.)?uu\\.se/", 10, [], [{ e: 1201 }], [{ v: 1201 }], [{ wait: 500 }, { c: 1201 }], [{ timeout: 1e3, check: "none", wv: 1201 }], {}], [1, "auto_NO_webank.it_6rx", 0, "^https?://(www\\.)?webank\\.it/", 10, [], [{ e: 1202 }], [{ v: 1202 }], [{ wait: 500 }, { c: 1202 }], [{ timeout: 1e3, check: "none", wv: 1202 }], {}], [1, "auto_NO_xrealgirl.com_r42", 0, "^https?://(www\\.)?xrealgirl\\.com/", 10, [], [{ e: 1203 }], [{ v: 1203 }], [{ wait: 500 }, { c: 1203 }], [{ timeout: 1e3, check: "none", wv: 1203 }], {}], [1, "auto_US_amazon.jobs_0", 0, "^https?://(www\\.)?amazon\\.jobs/", 10, [], [{ e: 1204 }], [{ v: 1204 }], [{ wait: 500 }, { c: 1204 }], [{ timeout: 1e3, check: "none", wv: 1204 }], {}], [1, "auto_US_amsoil.com_fgr", 0, "^https?://(www\\.)?amsoil\\.com/", 10, [], [{ e: 1205 }], [{ v: 1205 }], [{ c: 1205 }], [], {}], [1, "auto_US_balsamhill.com_oxq", 0, "^https?://(www\\.)?balsamhill\\.com/", 10, [], [{ e: 1206 }], [{ v: 1206 }], [{ wait: 500 }, { c: 1206 }], [{ timeout: 1e3, check: "none", wv: 1206 }], {}], [1, "auto_US_computerworld.com_0_+1", 0, "^https?://(www\\.)?computerworld\\.com/|^https?://(www\\.)?csoonline\\.com/", 10, [], [{ e: 1207 }], [{ v: 1207 }], [{ text: "Do not accept", c: 1207 }], [], {}], [1, "auto_US_coupons.slickdeals.net_wya", 0, "^https?://(www\\.)?coupons\\.slickdeals\\.net/", 10, [], [{ e: 1208 }], [{ v: 1208 }], [{ wait: 500 }, { c: 1208 }], [{ timeout: 1e3, check: "none", wv: 1208 }], {}], [1, "auto_US_deezer.com_0", 0, "^https?://(www\\.)?deezer\\.com/", 10, [], [{ e: 1209 }], [{ v: 1209 }], [{ text: "Refuse", c: 1209 }], [], {}], [1, "auto_US_emagine-entertainment.com_0", 0, "^https?://(www\\.)?emagine-entertainment\\.com/", 10, [], [{ e: 1210 }], [{ v: 1210 }], [{ wait: 500 }, { c: 1210 }], [{ timeout: 1e3, check: "none", wv: 1210 }], {}], [1, "auto_US_fawesome.tv_gjx", 0, "^https?://(www\\.)?fawesome\\.tv/", 10, [], [{ e: 1211 }], [{ v: 1211 }], [{ wait: 500 }, { c: 1211 }], [{ timeout: 1e3, check: "none", wv: 1211 }], {}], [1, "auto_US_forum.affinity.serif.com_0", 0, "^https?://(www\\.)?forum\\.affinity\\.serif\\.com/", 10, [], [{ e: 1212 }], [{ v: 1212 }], [{ text: "\xA0Reject Cookies", c: 1212 }], [], {}], [1, "auto_US_forum.prusa3d.com_0", 0, "^https?://(www\\.)?forum\\.prusa3d\\.com/", 10, [], [{ e: 1213 }], [{ v: 1213 }], [{ text: "Reject All", c: 1213 }], [], {}], [1, "auto_US_greenpan.us_cko", 0, "^https?://(www\\.)?greenpan\\.us/", 10, [], [{ e: 854 }], [{ v: 854 }], [{ wait: 500 }, { c: 854 }], [{ timeout: 1e3, check: "none", wv: 854 }], {}], [1, "auto_US_interactivebrokers.com_0", 0, "^https?://(www\\.)?interactivebrokers\\.com/", 10, [], [{ e: 1214 }], [{ v: 1214 }], [{ text: "Reject All Cookies", c: 1214 }], [], {}], [1, "auto_US_ligonier.org_0", 0, "^https?://(www\\.)?ligonier\\.org/", 10, [], [{ e: 1215 }], [{ v: 1215 }], [{ text: "Strictly Necessary", c: 1215 }], [], {}], [1, "auto_US_lilly.com_lh6_+1", 0, "^https?://(www\\.)?lilly\\.com/|^https?://(www\\.)?zepbound\\.lilly\\.com/", 10, [], [{ e: 1216 }], [{ v: 1216 }], [{ wait: 500 }, { c: 1216 }], [{ timeout: 1e3, check: "none", wv: 1216 }], {}], [1, "auto_US_mixedbread.ai_tge", 0, "^https?://(www\\.)?mixedbread\\.com/", 10, [], [{ e: 1180 }], [{ v: 1180 }], [{ wait: 500 }, { c: 1180 }], [{ timeout: 1e3, check: "none", wv: 1180 }], {}], [1, "auto_US_musicnotes.com_0", 0, "^https?://(www\\.)?musicnotes\\.com/", 10, [], [{ exists: ["#polaris-css-lockdown-container", ".polaris-consent-widget"] }], [{ visible: ["#polaris-css-lockdown-container", ".polaris-consent-widget"] }], [{ if: { exists: ["#polaris-css-lockdown-container", "[data-testid='oneClickOptOutLink']"] }, then: [{ waitForThenClick: ["#polaris-css-lockdown-container", "[data-testid='oneClickOptOutLink']"] }], else: [{ hide: ["#polaris-css-lockdown-container", ".polaris-consent-widget"] }] }], [], {}], [1, "auto_US_newmedicare.com_6jp", 0, "^https?://(www\\.)?newmedicare\\.com/", 10, [], [{ e: 1217 }], [{ v: 1217 }], [{ wait: 500 }, { c: 1217 }], [{ timeout: 1e3, check: "none", wv: 1217 }], {}], [1, "auto_US_newsbreak.com_0", 0, "^https?://(www\\.)?newsbreak\\.com/", 10, [], [{ e: 1218 }], [{ v: 1218 }], [{ c: 1218 }], [], {}], [1, "auto_US_peptidesciences.com_0", 0, "^https?://(www\\.)?peptidesciences\\.com/", 10, [], [{ e: 1219 }], [{ v: 1219 }], [{ wait: 500 }, { c: 1219 }], [{ timeout: 1e3, check: "none", wv: 1219 }], {}], [1, "auto_US_semrush.com_0", 0, "^https?://(www\\.)?semrush\\.com/", 10, [], [{ e: 1220 }], [{ v: 1220 }], [{ wait: 500 }, { c: 1220 }], [{ timeout: 1e3, check: "none", wv: 1220 }], {}], [1, "auto_US_sso.passport.yandex.ru_0_+5", 0, "^https?://(www\\.)?sso\\.passport\\.yandex\\.ru/|^https?://(www\\.)?translate\\.yandex\\.com/|^https?://(www\\.)?tv\\.yandex\\.com/|^https?://(www\\.)?ya\\.ru/|^https?://(www\\.)?yandex\\.com\\.tr/|^https?://(www\\.)?yandex\\.com/", 10, [], [{ e: 1221 }], [{ v: 1221 }], [{ text: "Allow essential cookies", c: 1221 }], [], {}], [1, "auto_US_truecaller.com_0", 0, "^https?://(www\\.)?truecaller\\.com/", 10, [], [{ e: 1222 }], [{ v: 1222 }], [{ text: "Accept Necessary Cookies", c: 1222 }], [], {}], [1, "auto_US_weingartz.com_aso", 0, "^https?://(www\\.)?weingartz\\.com/", 10, [], [{ e: 1223 }], [{ v: 1223 }], [{ c: 1223 }], [], {}], [1, "aytm", 2, "^https?://(www\\.|)?aytm\\.com/", 22, [1224], [{ e: 1225 }], [{ v: 1225 }], [{ c: 1225 }], [], {}], [1, "bahn-de", 0, "^https://(www\\.)?bahn\\.de/", 10, [], [{ exists: ["body > div:first-child", "#consent-layer"] }], [{ visible: ["body > div:first-child", "#consent-layer"] }], [{ waitForThenClick: ["body > div:first-child", "#consent-layer .js-accept-essential-cookies"] }], [{ eval: "EVAL_BAHN_TEST" }], { intermediate: false }], [1, "bandcamp.com", 2, "^https://([a-z0-9-]+\\.)?bandcamp\\.com", 22, [], [{ e: 1226 }], [{ v: 1227 }], [{ c: 1228 }], [{ cc: 1229 }], {}], [1, "bbc.com", 2, "^https://(www\\.)?bbc\\.(com|co\\.uk)", 22, [1230], [{ e: 1231 }], [{ v: 1231 }], [{ c: 1232 }], [{ cc: 1233 }], {}], [1, "canyon.com", 2, "^https://www\\.canyon\\.com/", 22, [1234], [{ e: 1234 }], [{ v: 1234 }], [{ k: 1235 }, { c: 1236 }], [], {}], [1, "channel4.com", 2, "^https?://(www\\.)?channel4\\.com/", 10, [528], [{ e: 528 }], [{ v: 1237 }], [{ c: 1238 }], [{ cc: 1239 }], {}], [1, "chatgpt", 0, "^https://(www\\.)?chatgpt\\.com/", 10, [], [{ e: 1240 }], [{ v: 1240 }], [{ wait: 500 }, { c: 1240 }], [{ timeout: 1e3, check: "none", wv: 1240 }], {}], [1, "clustrmaps.com", 1, "^https://(www\\.)?clustrmaps\\.com/", 22, [1241], [{ e: 1241 }], [{ v: 1241 }], [{ h: 1241 }], [], {}], [1, "copilot-microsoft", 0, "^https://copilot\\.microsoft\\.com/", 10, [9], [{ e: 9 }], [{ v: 9 }], [{ c: 1242 }], [{ cc: 1243 }], {}], [1, "csu-landtag-de", 2, "^https://(www\\.|)?csu-landtag\\.de", 22, [1244], [{ e: 1244 }], [{ v: 1244 }], [{ k: 1245 }], [], {}], [1, "dailymotion.com", 2, "^https://(www\\.)?dailymotion\\.com/", 22, [1246], [{ e: 1247 }], [{ v: 1248 }], [{ c: 1249 }], [{ cc: 1250 }], {}], [1, "delta.com", 1, "^https://www\\.delta\\.com/", 22, [1251], [{ e: 1252 }], [{ v: 1252 }], [{ h: 1252 }], [], {}], [1, "depop", 0, "^https://(www\\.)?depop\\.com/", 22, [1253], [{ e: 1254 }], [{ v: 1254 }], [{ c: 1255 }, { all: true, optional: true, k: 1256 }, { c: 1257 }], [{ cc: 1258 }], {}], [1, "dji", 0, "^https://(\\w+\\.)+dji\\.com/", 22, [1259], [{ e: 1260 }], [{ e: 1259 }], [{ c: 1261 }], [{ cc: 1262 }], {}], [1, "dndbeyond", 2, "^https://(www\\.)?dndbeyond\\.com/", 22, [1263], [{ e: 1263 }], [{ v: 1263 }], [{ c: 1264 }], [{ cc: 1265 }], {}], [1, "ebay", 0, "^https://(www\\.)?ebay\\.([.a-z]+)/", 10, [1266], [{ e: 1266 }], [{ v: 1266 }], [{ c: 1267 }], [], {}], [1, "ecosia", 2, "^https://www\\.ecosia\\.org/", 22, [1268], [{ e: 1269 }], [{ v: 1269 }], [{ c: 1270 }], [], {}], [1, "edpb-edps", 2, "^https://(www\\.)?(edpb|edps)\\.europa\\.eu/", 22, [1271], [{ e: 1272 }], [{ v: 1271 }], [{ c: 1272 }], [{ cc: 1273 }], {}], [1, "ef-ccpa", 0, "^https://(www\\.)?eforms\\.com", 22, [1274], [{ e: 1274 }], [{ v: 1274 }], [{ c: 1275 }], [], {}], [1, "eltax-lta-go-jp", 2, "^https://(?:[^/]+\\.)?eltax\\.lta\\.go\\.jp/", 22, [1276], [{ e: 1277 }], [{ v: 1277 }], [{ c: 1277 }], [], {}], [1, "escaparium.ca", 2, "^https://(www\\.)?escaparium\\.ca/", 22, [], [{ e: 1278 }], [{ v: 1279 }], [{ c: 1280 }, { c: 1281 }], [{ cc: 1282 }], {}], [1, "espace-personnel.agirc-arrco.fr", 2, "^https://espace-personnel\\.agirc-arrco\\.fr/", 22, [1283], [{ e: 1284 }], [{ v: 1284 }], [{ c: 1285 }], [], {}], [1, "europa-eu", 2, "^https://([a-z\\.]*\\.)?europa\\.eu/", 22, [528], [{ e: 1286 }], [{ v: 1286 }], [{ c: 1287, h: 1286 }], [], {}], [1, "facebook", 2, "^https://(www\\.)?facebook\\.com/", 22, [], [{ e: 1288 }], [{ v: 1288 }], [{ c: 1288 }, { check: "none", wv: 1288 }], [], {}], [1, "facebook-mobile", 2, "^https://(m|mbasic)\\.facebook\\.com/", 22, [1289], [{ e: 1289 }], [{ v: 1289 }], [{ c: 1290 }, { check: "none", wv: 1289 }], [], {}], [1, "financestrategists.com", 1, "^https://(www\\.)?financestrategists\\.com/", 22, [1291], [{ e: 1291 }], [{ v: 1291 }], [{ h: 1291 }], [], {}], [1, "geeks-for-geeks", 1, "^https://www\\.geeksforgeeks\\.org/", 22, [1292], [{ e: 1292 }], [{ v: 1292 }], [{ h: 1292 }], [], {}], [1, "geni.com", 1, "^https://(www\\.)?geni\\.com/", 22, [1293], [{ e: 1293 }], [{ v: 1293 }], [{ h: 1293 }], [], {}], [1, "glastonburyfestivals", 0, "^https://(\\w+\\.)?glastonburyfestivals\\.co\\.uk/", 22, [1294], [{ e: 1295 }], [{ v: 1295 }], [{ c: 1296 }], [], {}], [1, "groundnews", 0, "^https://(www\\.)?ground\\.news/", 22, [], [{ e: 1297 }], [{ v: 1297 }], [{ waitForThenClick: [".fixed:has([data-testid=closeCookieBanner])", "xpath///button[contains(., 'Manage cookies')]"] }, { waitFor: ["[data-testid=modal]", "xpath///span[contains(., 'Essential cookies')]"] }, { click: ["[data-testid=modal]", "xpath///button[contains(., 'On')]"], all: true, optional: true }, { waitForThenClick: ["[data-testid=modal]", "xpath///button[contains(., 'Save & reload')]"] }], [], {}], [1, "hashicorp", 2, "^https://[a-z]*\\.hashicorp\\.com/", 22, [1298], [{ e: 1298 }], [{ v: 1298 }], [{ c: 1299 }, { c: 1300 }], [], {}], [1, "hearst-us", 1, "^https://(www\\.)?(menshealth|womenshealthmag|cosmopolitan|esquire|elle|elledecor|harpersbazaar|goodhousekeeping|popularmechanics|caranddriver|delish|veranda|roadandtrack|bestproducts|countryliving|housebeautiful|bicycling|biography|pitchfork|prevention|runnersworld|thepioneerwoman|townandcountrymag)\\.com/", 10, [1301], [{ e: 1301 }], [{ check: "any", v: 1301 }], [{ h: 1301 }], [{ check: "none", v: 1301 }], {}], [1, "hetzner.com", 2, "^https://www\\.hetzner\\.com/", 22, [1302], [{ e: 1302 }], [{ v: 1302 }], [{ k: 1303 }], [], {}], [1, "imdb", 0, "^https://(www\\.)?(m\\.)?imdb.com/", 22, [1298], [{ e: 1298 }], [{ v: 1298 }], [{ c: 1304 }], [], {}], [1, "instagram", 2, "^https://www\\.instagram\\.com/", 22, [], [{ e: 1305 }], [{ v: 1305 }], [{ c: 1306 }, { wait: 2e3 }], [], {}], [1, "itopvpn.com", 1, "^https://(www\\.)?itopvpn.com/", 22, [], [{ e: 1307 }], [{ e: 1307 }], [{ h: 1307 }], [], {}], [1, "jdsports", 2, "^https://(www|m)\\.jdsports\\.", 22, [1308], [{ e: 1308 }], [{ v: 1308 }], [{ if: { e: 1309 }, then: [{ h: 1309 }], else: [{ c: 1310 }, { c: 1311 }] }], [], {}], [1, "justgiving.com", 2, "^https://(?:[a-z0-9-]+\\.)?justgiving\\.com/", 22, [1312], [{ any: [{ e: 1312 }, { e: 1313 }] }], [{ v: 1312 }, { e: 1314 }], [{ c: 1314 }], [{ wait: 500 }, { cc: 1315 }], {}], [1, "kickstarter.com", 2, "^https?://(www\\.)?kickstarter\\.com/", 22, [1316], [{ e: 1317 }], [{ v: 1317 }], [{ c: 1318 }], [{ check: "none", v: 1317 }], {}], [1, "kleinanzeigen-de", 2, "^https?://(www\\.)?kleinanzeigen\\.de", 22, [1319], [{ e: 1320 }], [{ v: 1320 }], [{ k: 1320 }], [], {}], [1, "leafly", 1, "^https://(www\\.)?leafly\\.com/", 22, [], [{ e: 1321 }], [{ v: 1321 }], [{ h: 1321 }], [], {}], [1, "lucozade.com", 2, "^https://(www\\.)?lucozade\\.com/", 22, [1322, 1323], [{ e: 1322 }], [{ v: 1322 }], [{ c: 1324 }], [{ cc: 1325 }], {}], [1, "medium", 1, "^https://([a-z0-9-]+\\.)?medium\\.com/", 10, [], [{ e: 1326 }], [{ v: 1326 }], [{ h: 1326 }], [], {}], [1, "midway-usa", 1, "^https://www\\.midwayusa\\.com/", 22, [1327], [{ exists: ['div[aria-label="Cookie Policy Banner"]'] }], [{ v: 1327 }], [{ h: 1328 }], [], {}], [1, "miles-and-more", 2, "^https://(www\\.)?miles-and-more\\.com/", 22, [1329], [{ e: 1330 }], [{ v: 1331 }], [{ wait: 500 }, { c: 1331 }], [{ cc: 1332 }], {}], [1, "nba.com", 1, "^https://(www\\.)?nba\\.com/", 22, [1333], [{ e: 1333 }], [{ v: 1333 }], [{ h: 1333 }], [], {}], [1, "netbeat.de", 2, "^https://(www\\.)?netbeat\\.de/", 22, [1334], [{ e: 1334 }], [{ v: 1334 }], [{ c: 1335 }], [], {}], [1, "nhnieuws", 2, "^https://(www\\.)?nhnieuws\\.nl/", 22, [1336], [{ e: 1336 }], [{ v: 1336 }], [{ all: true, c: 1337 }, { c: 1338 }], [{ eval: "EVAL_NHNIEUWS_TEST" }], {}], [1, "nike", 2, "^https://(www\\.)?nike\\.com/", 22, [], [{ e: 1339 }], [{ v: 1339 }], [{ all: true, c: 1340 }, { c: 1341 }], [], {}], [1, "nos.nl", 1, "^https://nos\\.nl/", 22, [1342], [{ e: 1342 }], [{ visible: ["ccm-notification"] }], [{ h: 1342 }], [], {}], [1, "nutritionix.com", 0, "^https://(www\\.)?nutritionix\\.com/", 22, [1343], [{ e: 1343 }], [{ v: 1343 }], [{ waitForThenClick: ["gdpr-banner", "xpath///button[contains(., 'Refuse')]"] }], [], {}], [1, "ok", 0, "^https://ok\\.ru/", 22, [1344], [{ e: 1345 }], [{ v: 1345 }], [{ w: 1346 }, { wait: 1e3 }, { k: 1346 }, { wv: 1347 }, { wait: 500 }, { all: true, optional: true, k: 1348 }, { c: 1349 }, { check: "none", wv: 1347 }], [], {}], [1, "onlyFans.com", 2, "^https://onlyfans\\.com/", 22, [1350], [{ e: 1350 }], [{ e: 1350 }], [{ k: 1351 }, { if: { e: 1352 }, then: [{ all: true, k: 1353 }, { k: 1354 }] }], [], {}], [1, "openai", 0, "^https://([a-z0-9-]+\\.)?openai\\.com/", 22, [1355], [{ e: 1355 }], [{ v: 1355 }], [{ c: 1356 }], [{ wait: 500 }, { cc: 1357 }], {}], [1, "opera.com", 0, "^https?://(www\\.|)?opera\\.com/", 22, [1224], [{ e: 1358 }], [{ v: 1358 }], [{ all: true, timeout: 500, optional: true, c: 1359 }, { c: 1360 }], [{ cc: 1361 }, { negated: true, cc: 1362 }], {}], [1, "ourworldindata", 2, "^https://ourworldindata\\.org/", 22, [1363], [{ e: 1363 }], [{ v: 1364 }], [{ c: 1365 }], [], {}], [1, "paychex", 1, "^https://(www\\.)?paychex\\.com/", 22, [1366], [{ e: 1366 }], [{ v: 1366 }], [{ h: 1366 }], [], {}], [1, "pinterest-business", 2, "^https://[a-z]*\\.pinterest\\.com/", 22, [1367], [{ e: 1367 }], [{ v: 1368 }], [{ c: 1369 }], [], {}], [1, "plos", 0, "^https://([.a-zA-Z0-9-]+\\.)?plos\\.org/", 22, [1224], [{ e: 1370 }], [{ v: 1370 }], [{ all: true, optional: true, k: 1371 }, { waitForThenClick: ["#cookie-consent", "xpath///button[contains(., 'Save Selected')]"] }], [{ cc: 1372 }], {}], [1, "pornhub.com", 0, "^https://(www\\.)?pornhub\\.com/", 22, [1373], [{ e: 1374 }], [{ v: 1374 }], [{ if: { e: 1375 }, then: [{ c: 1375 }] }, { if: { e: 1376 }, then: [{ k: 1376 }], else: [{ c: 1377 }] }], [], {}], [1, "postnl", 0, "^https://([a-z]*\\.)?postnl\\.nl/", 22, [1378], [{ e: 1378 }], [{ v: 1378 }], [{ waitForThenClick: ["pnl-cookie-wall-widget", "button.pci-button--secondary"] }], [{ cc: 1379 }], {}], [1, "povr", 0, "^https://povr\\.com/", 22, [], [{ e: 1380 }], [{ v: 1380 }], [{ h: 1381 }, { if: { e: 1382 }, then: [{ w: 1383 }, { all: true, optional: true, k: 1384 }, { c: 1385 }, { eval: "EVAL_POVR_GOBACK" }], else: [{ c: 1386 }] }], [], {}], [1, "productz.com", 2, "^https://productz\\.com/", 22, [], [{ e: 1387 }], [{ v: 1387 }], [{ c: 1388 }], [], {}], [1, "raspberrypi.com", 0, "^https://([a-z0-9-]+\\.)?raspberrypi\\.com/", 10, [], [{ e: 1389 }], [{ v: 1389 }], [{ c: 1389 }], [{ check: "none", v: 1389 }], {}], [1, "readly", 2, "^https://([a-z0-9-]+\\.)?readly\\.com/", 22, [1390], [{ e: 1390 }], [{ v: 1390 }], [{ c: 1391 }, { if: { e: 1392 }, then: [{ all: true, c: 1392 }], else: [] }, { c: 1393 }], [], {}], [1, "reddit.com", 2, "^https://www\\.reddit\\.com/", 22, [1394], [{ e: 1395 }], [{ v: 1395 }], [{ c: 1396 }], [{ cc: 1397 }], {}], [1, "remarkable.com", 1, "^https://(www\\.)?remarkable\\.com/", 22, [1398], [{ e: 1399 }], [{ v: 1399 }], [{ h: 1398 }], [], {}], [1, "roblox", 0, "^https://(www\\.)?roblox\\.com/", 10, [], [{ e: 1400 }], [{ v: 1401 }], [{ c: 1402 }], [{ cc: 1403 }], {}], [1, "rog-forum.asus.com", 2, "^https://rog-forum\\.asus\\.com/", 22, [1404], [{ e: 1404 }], [{ v: 1404 }], [{ k: 1405 }, { c: 1406 }], [], {}], [1, "roofingmegastore.co.uk", 2, "^https://(www\\.)?roofingmegastore\\.co\\.uk", 22, [1407], [{ e: 1407 }], [{ v: 1407 }], [{ k: 1408 }, { c: 1409 }], [], {}], [1, "rt", 1, "^https://(www\\.)?rt\\.com/", 22, [1410], [{ e: 1410 }], [{ v: 1410 }], [{ h: 1410 }], [], {}], [1, "ryanair", 0, "^https://(www\\.)?ryanair\\.com/", 10, [1411], [{ e: 1411 }], [{ v: 1411 }], [{ c: 1412 }], [{ cc: 1413 }], {}], [1, "samsung.com", 1, "^https://www\\.samsung\\.com/", 22, [1414], [{ e: 1414 }], [{ v: 1414 }], [{ h: 1414 }], [], {}], [1, "schoolhouse-com", 1, "^https://(www\\.)?schoolhouse\\.com/", 22, [1415], [{ e: 1415 }], [{ v: 1415 }], [{ h: 1415 }], [], {}], [1, "shein.com", 2, "^https?://([a-z]+\\.)?shein\\.com/", 22, [1416], [{ e: 1417 }], [{ v: 1417 }], [{ c: 1417 }], [{ timeout: 1e3, check: "none", wv: 1417 }], {}], [1, "skyscanner", 0, "^https://(www\\.)?skyscanner[\\.a-z]+/", 10, [1400], [{ e: 1418 }], [{ v: 1418 }], [{ c: 1419 }, { check: "none", wv: 1418 }], [{ eval: "EVAL_SKYSCANNER_TEST" }], {}], [1, "sostereo.com", 2, "^https://(www\\.)?sostereo\\.com/", 22, [1420], [{ e: 1420 }], [{ v: 1420 }], [{ c: 1421 }, { w: 1422 }, { all: true, optional: true, k: 1423 }, { c: 1424 }], [], {}], [1, "strato.de", 2, "^https://www\\.strato\\.de/", 22, [1425], [{ e: 1426 }], [{ v: 1426 }], [{ k: 1427 }, { c: 1428 }], [], {}], [1, "svt.se", 2, "^https://www\\.svt\\.se/", 22, [1429], [{ e: 1429 }], [{ v: 1430 }], [{ c: 1431 }], [{ cc: 1432 }], {}], [1, "temu", 2, "^https://([a-z0-9-]+\\.)?temu\\.com/", 22, [], [{ e: 1433 }], [{ v: 1433 }], [{ if: { e: 1434 }, then: [{ c: 1434 }], else: [{ c: 1435 }] }], [], {}], [1, "tesco", 0, "^https://(www\\.)?tesco\\.com/", 22, [1436], [{ e: 1436 }], [{ v: 1436 }], [{ w: 1437 }, { c: 1438 }], [{ cc: 1439 }], {}], [1, "tesla", 2, "^https://(www\\.)?tesla\\.com/", 10, [], [{ e: 1440 }], [{ v: 1440 }], [{ c: 1441 }], [{ cc: 1442 }], {}], [1, "theinfatuation", 2, "^https://(www\\.)?theinfatuation\\.com", 10, [1443], [{ e: 1444 }], [{ v: 1444 }], [{ c: 1444 }], [{ check: "none", v: 1443 }], {}], [1, "theverge", 2, "^https://(www)?\\.theverge\\.com", 10, [1445], [{ e: 1445 }], [{ v: 1445 }], [{ k: 1446 }], [{ cc: 1447 }], { intermediate: false }], [1, "tinyurl", 1, "^https://tinyurl\\.com/", 22, [1448], [{ e: 1448 }], [{ v: 1448 }], [{ h: 1448 }], [], {}], [1, "track.amazon.com", 2, "^https://[a-z]*\\.amazon\\.", 22, [1449], [{ e: 1450 }], [{ v: 1450 }], [{ k: 1451 }], [], {}], [1, "transip-nl", 2, "^https://www\\.transip\\.nl/", 22, [1452], [{ any: [{ e: 1452 }, { e: 1453 }] }], [{ any: [{ v: 1452 }, { v: 1453 }] }], [{ if: { e: 1453 }, then: [{ k: 1454 }], else: [{ k: 1455 }] }], [], {}], [1, "truecar", 1, "^https://(www\\.)?truecar\\.com/", 22, [1456], [{ e: 1457 }], [{ v: 1457 }], [{ h: 1456 }], [], {}], [1, "twitch.tv", 2, "^https?://([\\w-]+\\.)?twitch\\.tv", 22, [1458], [{ e: 1459 }], [{ v: 1459 }], [{ h: 1460 }, { k: 1461 }, { w: 1462 }, { all: true, optional: true, k: 1463 }, { c: 1464 }, { check: "none", wv: 1465 }], [], {}], [1, "twitter", 2, "^https://([a-z0-9-]+\\.)?(twitter|x)\\.com/", 22, [1466], [{ e: 1467 }], [{ v: 1467 }], [{ c: 1467 }], [{ timeout: 1e3, check: "none", wv: 1467 }], {}], [1, "unicourt", 1, "^https://(www\\.)?unicourt\\.com/", 22, [1468], [{ e: 1468 }], [{ v: 1468 }], [{ h: 1468 }], [], {}], [1, "uswitch.com", 2, "^https://(www\\.)?uswitch\\.com/", 10, [1469], [{ e: 1470 }], [{ v: 1470 }], [{ c: 1471 }], [], {}], [1, "vodafone.de", 2, "^https://www\\.vodafone\\.de/", 22, [1472], [{ e: 1473 }], [{ v: 1474 }], [{ k: 1475 }], [], {}], [1, "volvocars-com", 2, "^https://([a-z0-9-]+\\.)?volvocars\\.com/", 10, [1476], [{ exists: ["cookie-banner#cookie-banner-host", "#dialog_cookie_consent"] }], [{ visible: ["cookie-banner#cookie-banner-host", "#dialog_cookie_consent"] }], [{ wait: 500 }, { waitForThenClick: ["cookie-banner#cookie-banner-host", "#onetrust-reject-all-handler"] }, { waitForVisible: ["cookie-banner#cookie-banner-host", "#dialog_cookie_consent"], check: "none", timeout: 5e3 }], [{ cc: 1477 }], {}], [1, "wikiwand", 1, "^https://(www\\.)?wikiwand\\.com/", 22, [1478], [{ e: 1478 }], [{ v: 1478 }], [{ h: 1478 }], [], {}], [1, "xe.com", 2, "^https://www\\.xe\\.com/", 22, [1479], [{ e: 1479 }], [{ v: 1479 }], [{ wait: 1e3 }, { c: 1480 }, { c: 1481 }], [{ cc: 1482 }], {}], [1, "xhamster-eu", 2, "^https://(\\w+\\.)?xhamster\\d?\\.com", 22, [1483], [{ e: 1484 }], [{ v: 1484 }], [{ c: 1485 }], [], {}], [1, "xhamster-us", 1, "^https://(\\w+\\.)?xhamster\\d?\\.com", 22, [1486], [{ e: 1486 }], [{ v: 1487 }], [{ h: 1486 }], [], {}], [1, "xvideos", 2, "^https://[a-z]*\\.xvideos\\.com/", 22, [], [{ e: 1488 }], [{ v: 1488 }], [{ c: 1489 }], [], {}], [1, "yachtclubgames.com", 2, "^https?://(www\\.)?yachtclubgames\\.com/", 22, [1490], [{ e: 1490 }], [{ v: 1490 }], [{ c: 1491 }], [{ timeout: 1e3, check: "none", wv: 1490 }], {}], [1, "Yahoo", 2, "^https://consent\\.yahoo\\.com/v2/", 22, [637], [{ e: 1492 }], [{ v: 1492 }], [{ c: 1493 }], [], {}], [1, "zentralruf-de", 2, "^https://(www\\.)?zentralruf\\.de", 22, [1494], [{ e: 1494 }], [{ v: 1494 }], [{ c: 1495 }], [], {}], [1, "zinio", 0, "^https://(www\\.)?zinio\\.com/", 22, [], [{ e: 1496 }], [{ v: 1496 }], [{ c: 1497 }, { c: 1498 }], [{ cc: 1499 }], {}]], index: { genericRuleRange: [0, 191], frameRuleRange: [190, 216], specificRuleRange: [191, 772], genericStringEnd: 755, frameStringEnd: 790 } };
|
|
3545
|
+
|
|
3546
|
+
// standalone/content.ts
|
|
3547
|
+
function isMainFrame() {
|
|
3548
|
+
return window.top === window;
|
|
3549
|
+
}
|
|
3550
|
+
function buildRules() {
|
|
3551
|
+
return {
|
|
3552
|
+
autoconsent: [],
|
|
3553
|
+
compact: filterCompactRules(compact_rules_default, {
|
|
3554
|
+
url: window.location.href,
|
|
3555
|
+
mainFrame: isMainFrame()
|
|
3556
|
+
})
|
|
3557
|
+
};
|
|
3558
|
+
}
|
|
3559
|
+
function logMessage(message) {
|
|
3560
|
+
switch (message.type) {
|
|
3561
|
+
case "cmpDetected":
|
|
3562
|
+
console.log(`autoconsent detected CMP: ${message.cmp}`);
|
|
3563
|
+
break;
|
|
3564
|
+
case "popupFound":
|
|
3565
|
+
console.log(`autoconsent found popup: ${message.cmp}`);
|
|
3566
|
+
break;
|
|
3567
|
+
case "optOutResult":
|
|
3568
|
+
console.log(`autoconsent opt-out result: ${message.cmp}`, message.result);
|
|
3569
|
+
break;
|
|
3570
|
+
case "autoconsentDone":
|
|
3571
|
+
console.log(`autoconsent done: ${message.cmp}`, {
|
|
3572
|
+
duration: message.duration,
|
|
3573
|
+
totalClicks: message.totalClicks
|
|
3574
|
+
});
|
|
3575
|
+
break;
|
|
3576
|
+
case "autoconsentError":
|
|
3577
|
+
console.warn("autoconsent error", message.details);
|
|
3578
|
+
break;
|
|
3579
|
+
}
|
|
3580
|
+
}
|
|
3581
|
+
if (!window.autoconsentReceiveMessage) {
|
|
3582
|
+
const config = {
|
|
3583
|
+
isMainWorld: true,
|
|
3584
|
+
enableHeuristicDetection: true,
|
|
3585
|
+
enableHeuristicAction: true,
|
|
3586
|
+
enablePopupMutationObserver: false,
|
|
3587
|
+
logs: {
|
|
3588
|
+
lifecycle: true,
|
|
3589
|
+
rulesteps: true,
|
|
3590
|
+
detectionsteps: false,
|
|
3591
|
+
evals: false,
|
|
3592
|
+
errors: true,
|
|
3593
|
+
messages: false,
|
|
3594
|
+
waits: true
|
|
3595
|
+
}
|
|
3596
|
+
};
|
|
3597
|
+
const rules = buildRules();
|
|
3598
|
+
const messages = [];
|
|
3599
|
+
const consentRef = {};
|
|
3600
|
+
window.autoconsentReceiveMessage = async (message) => {
|
|
3601
|
+
if (!consentRef.current) {
|
|
3602
|
+
throw new Error("autoconsent is not initialized yet");
|
|
3603
|
+
}
|
|
3604
|
+
await consentRef.current.receiveMessageCallback(message);
|
|
3605
|
+
};
|
|
3606
|
+
const sendMessage = async (message) => {
|
|
3607
|
+
messages.push(message);
|
|
3608
|
+
logMessage(message);
|
|
3609
|
+
};
|
|
3610
|
+
const consent = new AutoConsent(sendMessage);
|
|
3611
|
+
consentRef.current = consent;
|
|
3612
|
+
window.autoconsentStandalone = {
|
|
3613
|
+
instance: consent,
|
|
3614
|
+
messages
|
|
3615
|
+
};
|
|
3616
|
+
consent.initialize(config, rules);
|
|
3617
|
+
console.log("autoconsent standalone initialized", {
|
|
3618
|
+
instanceId: consent.id,
|
|
3619
|
+
rules: rules.compact?.r.length ?? 0,
|
|
3620
|
+
url: window.location.href
|
|
3621
|
+
});
|
|
3622
|
+
} else {
|
|
3623
|
+
console.warn("autoconsent already initialized", window.autoconsentReceiveMessage);
|
|
3624
|
+
}
|
|
3625
|
+
})();
|