Version Description
Download this release
Release Info
Developer | devowl |
Plugin | Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent |
Version | 3.4.4 |
Comparing to | |
See all releases |
Code changes from version 3.4.3 to 3.4.4
- CHANGELOG.md +36 -0
- README.txt +1 -1
- inc/Core.php +7 -0
- inc/UserConsent.php +14 -4
- inc/base/others/cachebuster-lib.php +1 -1
- inc/base/others/cachebuster.php +19 -19
- inc/presets/free/blocker/YoutubePreset.php +1 -1
- inc/presets/pro/blocker/GoogleMapsPreset.php +13 -1
- inc/presets/pro/blocker/OpenStreetMapPreset.php +3 -0
- inc/presets/pro/blocker/VimeoPreset.php +3 -1
- inc/rest/Scanner.php +33 -0
- inc/scanner/ScannerNotices.php +148 -0
- inc/settings/Revision.php +4 -1
- inc/view/Blocker.php +3 -1
- inc/view/Checklist.php +10 -0
- inc/view/blocker/Plugin.php +11 -2
- index.php +1 -1
- languages/real-cookie-banner-de_AT.mo +0 -0
- languages/real-cookie-banner-de_AT.po +18 -4
- languages/real-cookie-banner-de_CH.mo +0 -0
- languages/real-cookie-banner-de_CH.po +18 -4
- languages/real-cookie-banner-de_CH_informal.mo +0 -0
- languages/real-cookie-banner-de_CH_informal.po +18 -4
- languages/real-cookie-banner-de_DE.mo +0 -0
- languages/real-cookie-banner-de_DE.po +18 -4
- languages/real-cookie-banner-de_DE_formal.mo +0 -0
- languages/real-cookie-banner-de_DE_formal.po +16 -2
- languages/real-cookie-banner.pot +8 -0
- public/dist/637.lite.js +2 -2
- public/dist/637.lite.js.map +1 -1
- public/dist/admin.lite.js +1 -1
- public/dist/admin.lite.js.map +1 -1
CHANGELOG.md
CHANGED
@@ -3,6 +3,42 @@
|
|
3 |
All notable changes to this project will be documented in this file.
|
4 |
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
## 3.4.3 (2022-11-21)
|
7 |
|
8 |
|
3 |
All notable changes to this project will be documented in this file.
|
4 |
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5 |
|
6 |
+
## 3.4.4 (2022-11-24)
|
7 |
+
|
8 |
+
|
9 |
+
### fix
|
10 |
+
|
11 |
+
* add notice when plugins are activated/deactivated (CU-2bujq84)
|
12 |
+
* compatibility with background video in Elementor sections and column (CU-33z36er)
|
13 |
+
* compatibility with Bold Page Builder and Google Maps embed (CU-33z66qn)
|
14 |
+
* compatibility with Bold Page Builder and Google Maps embed (CU-33z66qn)
|
15 |
+
* compatibility with Bold Page Builder and Google Maps embed (CU-33z66qn)
|
16 |
+
* compatibility with Bold Page Builder and Google Maps embed (CU-33z66qn)
|
17 |
+
* compatibility with Elementor playlist when loaded deferred (CU-33z3dh8)
|
18 |
+
* compatibility with Google Maps in GeoDirectory (CU-33z125m)
|
19 |
+
* compatibility with Impreza WP Bakery Google Maps embed (CU-344n7q3)
|
20 |
+
* compatibility with LeafLet Map extension plugin (CU-344mvx1)
|
21 |
+
* compatibility with Mikado Themes and Google Maps (CU-33z1k0n)
|
22 |
+
* compatibility with Uncode fluid objects not rendering visual content blockers (CU-344p8r3)
|
23 |
+
* compatibility with Uncode fluid objects not rendering visual content blockers (CU-344p8r3)
|
24 |
+
* empty form for creating services within content blocker form (CU-32wtxkt)
|
25 |
+
* improved compatibility with Elementor Pro and lazy loaded scripts (CU-33z3dh8)
|
26 |
+
* improved compatibility with WP ImmoMakleer plugin (CU-200ykt6)
|
27 |
+
* introduce new content blocker selector syntax matchUrls to fix false-positive Elementor videos (CU-33z3dh8)
|
28 |
+
* sometimes visual content blockers did not unblock after page reload when deferred scripts loading too long (CU-33ternv)
|
29 |
+
* wrong spacing for visual content blocker for WP Bakery video embeds inside columns (CU-33z5vfd)
|
30 |
+
|
31 |
+
|
32 |
+
### test
|
33 |
+
|
34 |
+
* error 1 smoke test failing (CU-344wgj9)
|
35 |
+
* error 2 smoke test failing (CU-344wgj9)
|
36 |
+
* error 3 smoke test failing (CU-344wgj9)
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
|
41 |
+
|
42 |
## 3.4.3 (2022-11-21)
|
43 |
|
44 |
|
README.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
=== Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent ===
|
2 |
Contributors: devowl, mguenter, jankarres, mrguenter, styx
|
3 |
Tags: cookie banner, cookie consent, cookie plugin, cookie scanner, gdpr, dsgvo, eprivacy, eu cookie law, cookie policy, cookie, consent, consent management
|
4 |
-
Stable tag: 3.4.
|
5 |
Requires at least: 5.2
|
6 |
Requires PHP: 7.2.0
|
7 |
Tested up to: 6.1
|
1 |
=== Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent ===
|
2 |
Contributors: devowl, mguenter, jankarres, mrguenter, styx
|
3 |
Tags: cookie banner, cookie consent, cookie plugin, cookie scanner, gdpr, dsgvo, eprivacy, eu cookie law, cookie policy, cookie, consent, consent management
|
4 |
+
Stable tag: 3.4.4
|
5 |
Requires at least: 5.2
|
6 |
Requires PHP: 7.2.0
|
7 |
Tested up to: 6.1
|
inc/Core.php
CHANGED
@@ -49,6 +49,7 @@ use DevOwl\RealCookieBanner\rest\Scanner as RestScanner;
|
|
49 |
use DevOwl\RealCookieBanner\scanner\AutomaticScanStarter;
|
50 |
use DevOwl\RealCookieBanner\scanner\Persist;
|
51 |
use DevOwl\RealCookieBanner\scanner\Scanner;
|
|
|
52 |
use DevOwl\RealCookieBanner\settings\CountryBypass;
|
53 |
use DevOwl\RealCookieBanner\settings\ModalHints;
|
54 |
use DevOwl\RealCookieBanner\settings\Reset;
|
@@ -178,6 +179,7 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
|
|
178 |
$this->pageRequestUuid4 = 'a' . wp_generate_uuid4();
|
179 |
$this->blocker = \DevOwl\RealCookieBanner\view\Blocker::instance();
|
180 |
$this->scanner = \DevOwl\RealCookieBanner\scanner\Scanner::instance();
|
|
|
181 |
$this->realQueue = new \DevOwl\RealCookieBanner\Vendor\DevOwl\RealQueue\Core($this);
|
182 |
$automaticScanStarter = \DevOwl\RealCookieBanner\scanner\AutomaticScanStarter::instance();
|
183 |
$presetsPluginIntegrations = \DevOwl\RealCookieBanner\comp\PresetsPluginIntegrations::instance();
|
@@ -263,6 +265,9 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
|
|
263 |
add_action('RCB/Presets/Active', [$presetsPluginIntegrations, 'presets_active'], 10, 4);
|
264 |
add_action('activated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
|
265 |
add_action('deactivated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
|
|
|
|
|
|
|
266 |
add_action('admin_init', [$automaticScanStarter, 'probablyAddClientJob']);
|
267 |
add_action('DevOwl/RealProductManager/LicenseActivation/StatusChanged/' . RCB_SLUG, [
|
268 |
$automaticScanStarter,
|
@@ -357,6 +362,7 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
|
|
357 |
10,
|
358 |
2
|
359 |
);
|
|
|
360 |
add_filter('RCB/Revision/Hash', [\DevOwl\RealCookieBanner\Cache::getInstance(), 'revision_hash']);
|
361 |
add_action('DevOwl/RealProductManager/LicenseActivation/StatusChanged/' . RCB_SLUG, [
|
362 |
\DevOwl\RealCookieBanner\Cache::getInstance(),
|
@@ -746,6 +752,7 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
|
|
746 |
\DevOwl\RealCookieBanner\settings\TCF::getInstance()->enableOptionsAutoload();
|
747 |
\DevOwl\RealCookieBanner\settings\CountryBypass::getInstance()->enableOptionsAutoload();
|
748 |
\DevOwl\RealCookieBanner\settings\ModalHints::getInstance()->enableOptionsAutoload();
|
|
|
749 |
// If we reached next thursday, update the GVL automatically
|
750 |
\DevOwl\RealCookieBanner\settings\TCF::getInstance()->probablyUpdateGvl();
|
751 |
// If we reached next sunday, update the country database automatically
|
49 |
use DevOwl\RealCookieBanner\scanner\AutomaticScanStarter;
|
50 |
use DevOwl\RealCookieBanner\scanner\Persist;
|
51 |
use DevOwl\RealCookieBanner\scanner\Scanner;
|
52 |
+
use DevOwl\RealCookieBanner\scanner\ScannerNotices;
|
53 |
use DevOwl\RealCookieBanner\settings\CountryBypass;
|
54 |
use DevOwl\RealCookieBanner\settings\ModalHints;
|
55 |
use DevOwl\RealCookieBanner\settings\Reset;
|
179 |
$this->pageRequestUuid4 = 'a' . wp_generate_uuid4();
|
180 |
$this->blocker = \DevOwl\RealCookieBanner\view\Blocker::instance();
|
181 |
$this->scanner = \DevOwl\RealCookieBanner\scanner\Scanner::instance();
|
182 |
+
$this->scannerNotices = \DevOwl\RealCookieBanner\scanner\ScannerNotices::getInstance();
|
183 |
$this->realQueue = new \DevOwl\RealCookieBanner\Vendor\DevOwl\RealQueue\Core($this);
|
184 |
$automaticScanStarter = \DevOwl\RealCookieBanner\scanner\AutomaticScanStarter::instance();
|
185 |
$presetsPluginIntegrations = \DevOwl\RealCookieBanner\comp\PresetsPluginIntegrations::instance();
|
265 |
add_action('RCB/Presets/Active', [$presetsPluginIntegrations, 'presets_active'], 10, 4);
|
266 |
add_action('activated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
|
267 |
add_action('deactivated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
|
268 |
+
add_action('activated_plugin', [$this->scannerNotices, 'togglePluginStateNotice'], 10, 2);
|
269 |
+
add_action('deactivated_plugin', [$this->scannerNotices, 'togglePluginStateNotice'], 10, 2);
|
270 |
+
add_action('admin_notices', [$this->scannerNotices, 'admin_notices_any_plugin_change_state']);
|
271 |
add_action('admin_init', [$automaticScanStarter, 'probablyAddClientJob']);
|
272 |
add_action('DevOwl/RealProductManager/LicenseActivation/StatusChanged/' . RCB_SLUG, [
|
273 |
$automaticScanStarter,
|
362 |
10,
|
363 |
2
|
364 |
);
|
365 |
+
add_filter('RCB/Settings/Updated', [\DevOwl\RealCookieBanner\UserConsent::getInstance(), 'settings_updated']);
|
366 |
add_filter('RCB/Revision/Hash', [\DevOwl\RealCookieBanner\Cache::getInstance(), 'revision_hash']);
|
367 |
add_action('DevOwl/RealProductManager/LicenseActivation/StatusChanged/' . RCB_SLUG, [
|
368 |
\DevOwl\RealCookieBanner\Cache::getInstance(),
|
752 |
\DevOwl\RealCookieBanner\settings\TCF::getInstance()->enableOptionsAutoload();
|
753 |
\DevOwl\RealCookieBanner\settings\CountryBypass::getInstance()->enableOptionsAutoload();
|
754 |
\DevOwl\RealCookieBanner\settings\ModalHints::getInstance()->enableOptionsAutoload();
|
755 |
+
\DevOwl\RealCookieBanner\scanner\ScannerNotices::getInstance()->enableOptionsAutoload();
|
756 |
// If we reached next thursday, update the GVL automatically
|
757 |
\DevOwl\RealCookieBanner\settings\TCF::getInstance()->probablyUpdateGvl();
|
758 |
// If we reached next sunday, update the country database automatically
|
inc/UserConsent.php
CHANGED
@@ -13,6 +13,7 @@ use DevOwl\RealCookieBanner\view\Blocker;
|
|
13 |
use DevOwl\RealCookieBanner\view\blocker\Plugin;
|
14 |
use DevOwl\RealCookieBanner\view\shortcode\LinkShortcode;
|
15 |
use WP_Error;
|
|
|
16 |
// @codeCoverageIgnoreStart
|
17 |
\defined('ABSPATH') or die('No script kiddies please!');
|
18 |
// Avoid direct file request
|
@@ -466,12 +467,13 @@ class UserConsent {
|
|
466 |
// phpcs:enable WordPress.DB.PreparedSQL
|
467 |
}
|
468 |
/**
|
469 |
-
*
|
470 |
*
|
471 |
-
* @
|
472 |
*/
|
473 |
-
public
|
474 |
-
|
|
|
475 |
}
|
476 |
/**
|
477 |
* Delete consents older than set duration time
|
@@ -511,4 +513,12 @@ class UserConsent {
|
|
511 |
);
|
512 |
// phpcs:enable WordPress.DB
|
513 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
514 |
}
|
13 |
use DevOwl\RealCookieBanner\view\blocker\Plugin;
|
14 |
use DevOwl\RealCookieBanner\view\shortcode\LinkShortcode;
|
15 |
use WP_Error;
|
16 |
+
use WP_HTTP_Response;
|
17 |
// @codeCoverageIgnoreStart
|
18 |
\defined('ABSPATH') or die('No script kiddies please!');
|
19 |
// Avoid direct file request
|
467 |
// phpcs:enable WordPress.DB.PreparedSQL
|
468 |
}
|
469 |
/**
|
470 |
+
* Settings got updated in "Settings" tab, lets reschedule deletion of consents.
|
471 |
*
|
472 |
+
* @param WP_HTTP_Response $response
|
473 |
*/
|
474 |
+
public function settings_updated($response) {
|
475 |
+
$this->scheduleDeletionOfConsents();
|
476 |
+
return $response;
|
477 |
}
|
478 |
/**
|
479 |
* Delete consents older than set duration time
|
513 |
);
|
514 |
// phpcs:enable WordPress.DB
|
515 |
}
|
516 |
+
/**
|
517 |
+
* Get singleton instance.
|
518 |
+
*
|
519 |
+
* @codeCoverageIgnore
|
520 |
+
*/
|
521 |
+
public static function getInstance() {
|
522 |
+
return self::$me === null ? (self::$me = new \DevOwl\RealCookieBanner\UserConsent()) : self::$me;
|
523 |
+
}
|
524 |
}
|
inc/base/others/cachebuster-lib.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
/* This file was automatically generated (
|
3 |
return [
|
4 |
'animate.css' => '4.1.1',
|
5 |
'mobx' => '4.15.7',
|
1 |
<?php
|
2 |
+
/* This file was automatically generated (Thu Nov 24 2022 09:10:00 GMT+0000 (Coordinated Universal Time)). */
|
3 |
return [
|
4 |
'animate.css' => '4.1.1',
|
5 |
'mobx' => '4.15.7',
|
inc/base/others/cachebuster.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
/* This file was automatically generated (
|
3 |
return [
|
4 |
'src/public/dist/185.lite.js' => '457d2909c8d1edf36563a074ad139176',
|
5 |
'src/public/dist/185.pro.js' => 'adea5d90b090833e476303edf2de81e5',
|
@@ -19,7 +19,7 @@ return [
|
|
19 |
'src/public/dist/544.pro.js' => 'f0459fb8ea0293eb080c372035002ada',
|
20 |
'src/public/dist/578.lite.js' => 'a66be43e1139603583bcc05e75d1bfb5',
|
21 |
'src/public/dist/578.pro.js' => '06fbb448378d3e615b27de0128a2f9d3',
|
22 |
-
'src/public/dist/637.lite.js' => '
|
23 |
'src/public/dist/647.pro.js' => '50ae6c21b92ac9ea861c8c638c83b687',
|
24 |
'src/public/dist/737.lite.js' => '1aca0be3cefe4e46110f6699804e4a7c',
|
25 |
'src/public/dist/737.pro.js' => '862c36d304e10caf212dc00aa01045f1',
|
@@ -33,38 +33,38 @@ return [
|
|
33 |
'src/public/dist/853.pro.js' => 'e4a8499e561caacb0d9a93059a7078e2',
|
34 |
'src/public/dist/902.lite.js' => '70499626f7c4e62fcf5fb49aa6b80c4c',
|
35 |
'src/public/dist/902.pro.js' => 'faf26675683d9811b89eb7092fb85144',
|
36 |
-
'src/public/dist/925.pro.js' => '
|
37 |
'src/public/dist/932.lite.js' => 'c1d5df6de963314380f6c2ae9183da87',
|
38 |
-
'src/public/dist/admin.lite.js' => '
|
39 |
-
'src/public/dist/admin.pro.js' => '
|
40 |
-
'src/public/dist/banner_tcf.pro.js' => '
|
41 |
-
'src/public/dist/banner.lite.js' => '
|
42 |
-
'src/public/dist/banner.pro.js' => '
|
43 |
-
'src/public/dist/blocker_tcf.pro.js' => '
|
44 |
-
'src/public/dist/blocker.lite.js' => '
|
45 |
-
'src/public/dist/blocker.pro.js' => '
|
46 |
'src/public/dist/chunk-config-tab-blocker.lite.js' => 'be118fc442c88ad214f657f1e43c9bed',
|
47 |
'src/public/dist/chunk-config-tab-blocker.pro.js' => '253c7765a81468eea039f49ae185a7bc',
|
48 |
'src/public/dist/chunk-config-tab-consent.lite.js' => 'ff5675ff3c39fddb1d28e7a30021a152',
|
49 |
'src/public/dist/chunk-config-tab-consent.pro.js' => '8a33bd64641541064963009f01dcd302',
|
50 |
-
'src/public/dist/chunk-config-tab-cookies.lite.js' => '
|
51 |
-
'src/public/dist/chunk-config-tab-cookies.pro.js' => '
|
52 |
'src/public/dist/chunk-config-tab-dashboard.lite.js' => 'ea5bdd77f694dc2713f79e0ae78ce5eb',
|
53 |
'src/public/dist/chunk-config-tab-dashboard.pro.js' => '3169cc92c5e660e3eca631d2eff612f0',
|
54 |
'src/public/dist/chunk-config-tab-import.lite.js' => '3b83609d28a90fe79944788c192a9a02',
|
55 |
'src/public/dist/chunk-config-tab-import.pro.js' => '1a527041fe1df8363212ec5e7e06d251',
|
56 |
'src/public/dist/chunk-config-tab-licensing.lite.js' => '0c72a01b908f09e3052d1a83699e6c8c',
|
57 |
'src/public/dist/chunk-config-tab-licensing.pro.js' => 'ee12ec03ad1425685a36d919791d1a18',
|
58 |
-
'src/public/dist/chunk-config-tab-scanner.lite.js' => '
|
59 |
-
'src/public/dist/chunk-config-tab-scanner.pro.js' => '
|
60 |
'src/public/dist/chunk-config-tab-settings.lite.js' => '0f4d3c94846aea37a1ab203faf38f920',
|
61 |
'src/public/dist/chunk-config-tab-settings.pro.js' => '76ec71d779411d2877c484b31d66a24d',
|
62 |
'src/public/dist/chunk-config-tab-tcf.lite.js' => '68803b92a79b9f27ffef71008bee66a0',
|
63 |
'src/public/dist/chunk-config-tab-tcf.pro.js' => '3932f3100529c45f93e24ccc1ddf9bca',
|
64 |
-
'src/public/dist/customize_banner.lite.js' => '
|
65 |
-
'src/public/dist/customize_banner.pro.js' => '
|
66 |
-
'src/public/dist/customize.lite.js' => '
|
67 |
-
'src/public/dist/customize.pro.js' => '
|
68 |
'src/public/dist/queue.lite.js' => 'c691eb437118c0ad2945a111dd789f45',
|
69 |
'src/public/dist/queue.pro.js' => 'bc019936c557b96499099b55cd3d6103',
|
70 |
'src/public/dist/vendor-admin.lite.js' => '756618fd0f597fd33c4545b90602b75a',
|
1 |
<?php
|
2 |
+
/* This file was automatically generated (Thu Nov 24 2022 09:10:00 GMT+0000 (Coordinated Universal Time)). */
|
3 |
return [
|
4 |
'src/public/dist/185.lite.js' => '457d2909c8d1edf36563a074ad139176',
|
5 |
'src/public/dist/185.pro.js' => 'adea5d90b090833e476303edf2de81e5',
|
19 |
'src/public/dist/544.pro.js' => 'f0459fb8ea0293eb080c372035002ada',
|
20 |
'src/public/dist/578.lite.js' => 'a66be43e1139603583bcc05e75d1bfb5',
|
21 |
'src/public/dist/578.pro.js' => '06fbb448378d3e615b27de0128a2f9d3',
|
22 |
+
'src/public/dist/637.lite.js' => '7ca0bd66232cb0b0d573385fc62a372c',
|
23 |
'src/public/dist/647.pro.js' => '50ae6c21b92ac9ea861c8c638c83b687',
|
24 |
'src/public/dist/737.lite.js' => '1aca0be3cefe4e46110f6699804e4a7c',
|
25 |
'src/public/dist/737.pro.js' => '862c36d304e10caf212dc00aa01045f1',
|
33 |
'src/public/dist/853.pro.js' => 'e4a8499e561caacb0d9a93059a7078e2',
|
34 |
'src/public/dist/902.lite.js' => '70499626f7c4e62fcf5fb49aa6b80c4c',
|
35 |
'src/public/dist/902.pro.js' => 'faf26675683d9811b89eb7092fb85144',
|
36 |
+
'src/public/dist/925.pro.js' => '42d798bd2f75372194b22ecc2fb561a2',
|
37 |
'src/public/dist/932.lite.js' => 'c1d5df6de963314380f6c2ae9183da87',
|
38 |
+
'src/public/dist/admin.lite.js' => 'f4ce8f75c7befa273f349fdd862c4e06',
|
39 |
+
'src/public/dist/admin.pro.js' => '3aea0c4ca0439e79e5fb9cb3408bfdb7',
|
40 |
+
'src/public/dist/banner_tcf.pro.js' => 'c06030a20f45679b22789197fff80506',
|
41 |
+
'src/public/dist/banner.lite.js' => '8b2c5a5e638398e4581f6627d2938f76',
|
42 |
+
'src/public/dist/banner.pro.js' => '24b1ba2c57749d903650bef37aac2676',
|
43 |
+
'src/public/dist/blocker_tcf.pro.js' => 'd6cf56cda758d0697eb72d65ac8aaf81',
|
44 |
+
'src/public/dist/blocker.lite.js' => '77256a3645c7e77e93a1b113c8d80de8',
|
45 |
+
'src/public/dist/blocker.pro.js' => '26165c7ae700f8c5575e3275326b35c7',
|
46 |
'src/public/dist/chunk-config-tab-blocker.lite.js' => 'be118fc442c88ad214f657f1e43c9bed',
|
47 |
'src/public/dist/chunk-config-tab-blocker.pro.js' => '253c7765a81468eea039f49ae185a7bc',
|
48 |
'src/public/dist/chunk-config-tab-consent.lite.js' => 'ff5675ff3c39fddb1d28e7a30021a152',
|
49 |
'src/public/dist/chunk-config-tab-consent.pro.js' => '8a33bd64641541064963009f01dcd302',
|
50 |
+
'src/public/dist/chunk-config-tab-cookies.lite.js' => '2a527058277084c83b2363f9bb6391ed',
|
51 |
+
'src/public/dist/chunk-config-tab-cookies.pro.js' => '21a8d15d35a9e085231385ff79e0ea92',
|
52 |
'src/public/dist/chunk-config-tab-dashboard.lite.js' => 'ea5bdd77f694dc2713f79e0ae78ce5eb',
|
53 |
'src/public/dist/chunk-config-tab-dashboard.pro.js' => '3169cc92c5e660e3eca631d2eff612f0',
|
54 |
'src/public/dist/chunk-config-tab-import.lite.js' => '3b83609d28a90fe79944788c192a9a02',
|
55 |
'src/public/dist/chunk-config-tab-import.pro.js' => '1a527041fe1df8363212ec5e7e06d251',
|
56 |
'src/public/dist/chunk-config-tab-licensing.lite.js' => '0c72a01b908f09e3052d1a83699e6c8c',
|
57 |
'src/public/dist/chunk-config-tab-licensing.pro.js' => 'ee12ec03ad1425685a36d919791d1a18',
|
58 |
+
'src/public/dist/chunk-config-tab-scanner.lite.js' => '11971828d41b3062ff249b58ac4ecc30',
|
59 |
+
'src/public/dist/chunk-config-tab-scanner.pro.js' => '2fac8834db3f1bcfad904d040a7709cb',
|
60 |
'src/public/dist/chunk-config-tab-settings.lite.js' => '0f4d3c94846aea37a1ab203faf38f920',
|
61 |
'src/public/dist/chunk-config-tab-settings.pro.js' => '76ec71d779411d2877c484b31d66a24d',
|
62 |
'src/public/dist/chunk-config-tab-tcf.lite.js' => '68803b92a79b9f27ffef71008bee66a0',
|
63 |
'src/public/dist/chunk-config-tab-tcf.pro.js' => '3932f3100529c45f93e24ccc1ddf9bca',
|
64 |
+
'src/public/dist/customize_banner.lite.js' => '4ab833b7cd46cb2d900d000591d6ceb5',
|
65 |
+
'src/public/dist/customize_banner.pro.js' => '61fc55c2dbac28021bb69a19c57ca05c',
|
66 |
+
'src/public/dist/customize.lite.js' => '4b739f2cd76737b47814bae9b5309b5d',
|
67 |
+
'src/public/dist/customize.pro.js' => 'bd0855957a4527f0d1ca39d50f5cf5e5',
|
68 |
'src/public/dist/queue.lite.js' => 'c691eb437118c0ad2945a111dd789f45',
|
69 |
'src/public/dist/queue.pro.js' => 'bc019936c557b96499099b55cd3d6103',
|
70 |
'src/public/dist/vendor-admin.lite.js' => '756618fd0f597fd33c4545b90602b75a',
|
inc/presets/free/blocker/YoutubePreset.php
CHANGED
@@ -38,7 +38,7 @@ class YoutubePreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPres
|
|
38 |
'div[class*="g-ytsubscribe"]',
|
39 |
'*youtube.com/subscribe_embed*',
|
40 |
// [Plugin Comp] Elementor
|
41 |
-
'div[data-settings
|
42 |
// [Plugin Comp] Ultimate Addons for Elementor
|
43 |
'script[id="uael-video-subscribe-js"]',
|
44 |
// [Plugin Comp] Premium Addons for Elementor
|
38 |
'div[class*="g-ytsubscribe"]',
|
39 |
'*youtube.com/subscribe_embed*',
|
40 |
// [Plugin Comp] Elementor
|
41 |
+
'div[data-settings:matchesUrl()]',
|
42 |
// [Plugin Comp] Ultimate Addons for Elementor
|
43 |
'script[id="uael-video-subscribe-js"]',
|
44 |
// [Plugin Comp] Premium Addons for Elementor
|
inc/presets/pro/blocker/GoogleMapsPreset.php
CHANGED
@@ -91,6 +91,7 @@ class GoogleMapsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerP
|
|
91 |
'*/wp-content/plugins/wpforms-geolocation/assets/js/wpforms-geolocation-google-api*',
|
92 |
// [Plugin Comp] https://www.wp-immomakler.de/
|
93 |
'iframe[src*="callback=map-iframe"]',
|
|
|
94 |
// [Plugin Comp] https://codecanyon.net/item/progress-map-wordpress-plugin/5581719
|
95 |
'*/wp-content/plugins/codespacing-progress-map/assets/js/*',
|
96 |
'div[class*="codespacing_progress_map_area"]',
|
@@ -183,7 +184,18 @@ class GoogleMapsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerP
|
|
183 |
'div[class*="em-location-map"]',
|
184 |
'div[class*="em-locations-map"]',
|
185 |
'div[class*="em-search-geo"]',
|
186 |
-
'div[id="em-map"]'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
]
|
188 |
],
|
189 |
'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
|
91 |
'*/wp-content/plugins/wpforms-geolocation/assets/js/wpforms-geolocation-google-api*',
|
92 |
// [Plugin Comp] https://www.wp-immomakler.de/
|
93 |
'iframe[src*="callback=map-iframe"]',
|
94 |
+
'*/wp-content/plugins/immomakler/vendors/gmaps/*',
|
95 |
// [Plugin Comp] https://codecanyon.net/item/progress-map-wordpress-plugin/5581719
|
96 |
'*/wp-content/plugins/codespacing-progress-map/assets/js/*',
|
97 |
'div[class*="codespacing_progress_map_area"]',
|
184 |
'div[class*="em-location-map"]',
|
185 |
'div[class*="em-locations-map"]',
|
186 |
'div[class*="em-search-geo"]',
|
187 |
+
'div[id="em-map"]',
|
188 |
+
// [Plugin Comp] https://wordpress.org/plugins/geodirectory/
|
189 |
+
'*wp_widget_gd_map*',
|
190 |
+
'*wp-content/plugins/geodirectory/assets/aui/js/map.min.js*',
|
191 |
+
'*wp-content/plugins/geodirectory/assets/js/goMap.min.js*',
|
192 |
+
'div[class*="geodir_map_container"]',
|
193 |
+
// [Plugin Comp] https://themeforest.net/user/mikado-themes
|
194 |
+
'div[class*="mkdf-mwl-map"]',
|
195 |
+
// [Plugin Comp] Impreza WP Bakery
|
196 |
+
'div[class*="w-map provider_google"]',
|
197 |
+
// [Plugin Comp] https://wordpress.org/plugins/bold-page-builder/
|
198 |
+
'div[class*="bt_bb_google_maps_map"]'
|
199 |
]
|
200 |
],
|
201 |
'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
|
inc/presets/pro/blocker/OpenStreetMapPreset.php
CHANGED
@@ -31,6 +31,9 @@ class OpenStreetMapPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlock
|
|
31 |
'*leaflet.css*',
|
32 |
'*wp-content/plugins/leaflet-map*',
|
33 |
'window.WPLeafletMapPlugin.push',
|
|
|
|
|
|
|
34 |
// [Plugin Comp] https://de.wordpress.org/plugins/ultimate-maps-by-supsystic/
|
35 |
'div[class*="ums_map_opts"]',
|
36 |
// [Plugin Comp] https://wordpress.org/plugins/osm/
|
31 |
'*leaflet.css*',
|
32 |
'*wp-content/plugins/leaflet-map*',
|
33 |
'window.WPLeafletMapPlugin.push',
|
34 |
+
'window.WPLeafletMapPlugin.maps',
|
35 |
+
// [Plugin Comp] https://wordpress.org/plugins/extensions-leaflet-map/
|
36 |
+
'*/wp-content/plugins/extensions-leaflet-map/*',
|
37 |
// [Plugin Comp] https://de.wordpress.org/plugins/ultimate-maps-by-supsystic/
|
38 |
'div[class*="ums_map_opts"]',
|
39 |
// [Plugin Comp] https://wordpress.org/plugins/osm/
|
inc/presets/pro/blocker/VimeoPreset.php
CHANGED
@@ -28,7 +28,9 @@ class VimeoPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPreset
|
|
28 |
'*vimeocdn.com*',
|
29 |
'*vimeo.com/showcase*',
|
30 |
// [Plugin Comp] Elementor
|
31 |
-
'div[data-settings
|
|
|
|
|
32 |
// [Plugin Comp] Thrive Architect
|
33 |
'div[data-url*="vimeo.com"]',
|
34 |
// [Plugin Comp] Premium Addons for Elementor
|
28 |
'*vimeocdn.com*',
|
29 |
'*vimeo.com/showcase*',
|
30 |
// [Plugin Comp] Elementor
|
31 |
+
'div[data-settings:matchesUrl()]',
|
32 |
+
// [Plugin Comp] Elementor with https://vimeo.com/\d+ URLs instead of player.vimeo.com
|
33 |
+
'div[data-settings*="vimeo.com"]',
|
34 |
// [Plugin Comp] Thrive Architect
|
35 |
'div[data-url*="vimeo.com"]',
|
36 |
// [Plugin Comp] Premium Addons for Elementor
|
inc/rest/Scanner.php
CHANGED
@@ -7,6 +7,7 @@ use DevOwl\RealCookieBanner\base\UtilsProvider;
|
|
7 |
use DevOwl\RealCookieBanner\Core;
|
8 |
use DevOwl\RealCookieBanner\scanner\AutomaticScanStarter;
|
9 |
use DevOwl\RealCookieBanner\scanner\ScanPresets;
|
|
|
10 |
use DevOwl\RealCookieBanner\view\Scanner as ViewScanner;
|
11 |
use WP_Error;
|
12 |
use WP_REST_Request;
|
@@ -63,6 +64,18 @@ class Scanner {
|
|
63 |
'permission_callback' => [$this, 'permission_callback'],
|
64 |
'args' => ['ignored' => ['type' => 'boolean']]
|
65 |
]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
register_rest_route($namespace, '/scanner/result/markup/(?P<id>\\d+)', [
|
67 |
'methods' => 'GET',
|
68 |
'callback' => [$this, 'routeResultMarkupById'],
|
@@ -257,6 +270,26 @@ class Scanner {
|
|
257 |
\count($services) === 0 ? null : $viewScanner->generateNoticeTextFromServices($services, $countAll)
|
258 |
];
|
259 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
/**
|
261 |
* New instance.
|
262 |
*/
|
7 |
use DevOwl\RealCookieBanner\Core;
|
8 |
use DevOwl\RealCookieBanner\scanner\AutomaticScanStarter;
|
9 |
use DevOwl\RealCookieBanner\scanner\ScanPresets;
|
10 |
+
use DevOwl\RealCookieBanner\scanner\ScannerNotices;
|
11 |
use DevOwl\RealCookieBanner\view\Scanner as ViewScanner;
|
12 |
use WP_Error;
|
13 |
use WP_REST_Request;
|
64 |
'permission_callback' => [$this, 'permission_callback'],
|
65 |
'args' => ['ignored' => ['type' => 'boolean']]
|
66 |
]);
|
67 |
+
register_rest_route($namespace, '/scanner/result/notice-dismissed', [
|
68 |
+
'methods' => 'DELETE',
|
69 |
+
'callback' => [$this, 'dismissScannerNotice'],
|
70 |
+
'permission_callback' => [$this, 'permission_callback'],
|
71 |
+
'args' => [
|
72 |
+
'notice_type' => [
|
73 |
+
'notice_type' => 'enum',
|
74 |
+
'enum' => \DevOwl\RealCookieBanner\scanner\ScannerNotices::NOTICE_TYPES,
|
75 |
+
'required' => \true
|
76 |
+
]
|
77 |
+
]
|
78 |
+
]);
|
79 |
register_rest_route($namespace, '/scanner/result/markup/(?P<id>\\d+)', [
|
80 |
'methods' => 'GET',
|
81 |
'callback' => [$this, 'routeResultMarkupById'],
|
270 |
\count($services) === 0 ? null : $viewScanner->generateNoticeTextFromServices($services, $countAll)
|
271 |
];
|
272 |
}
|
273 |
+
/**
|
274 |
+
* See API docs.
|
275 |
+
*
|
276 |
+
* @param WP_REST_Request $request
|
277 |
+
*
|
278 |
+
* @api {delete} /real-cookie-banner/v1/scanner/result/notice-dismissed Dismiss any notice by notice_type name
|
279 |
+
* @apiHeader {string} X-WP-Nonce
|
280 |
+
* @apiParam @apiParam {string='toggle-plugin-state'} notice_type
|
281 |
+
* @apiName DismissScannerNotice
|
282 |
+
* @apiGroup Scanner
|
283 |
+
* @apiVersion 1.0.0
|
284 |
+
* @apiPermission manage_options
|
285 |
+
*/
|
286 |
+
public function dismissScannerNotice($request) {
|
287 |
+
return new \WP_REST_Response([
|
288 |
+
'success' => \DevOwl\RealCookieBanner\scanner\ScannerNotices::getInstance()->dismiss(
|
289 |
+
$request->get_param('notice_type')
|
290 |
+
)
|
291 |
+
]);
|
292 |
+
}
|
293 |
/**
|
294 |
* New instance.
|
295 |
*/
|
inc/scanner/ScannerNotices.php
ADDED
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace DevOwl\RealCookieBanner\scanner;
|
4 |
+
|
5 |
+
use DevOwl\RealCookieBanner\base\UtilsProvider;
|
6 |
+
use DevOwl\RealCookieBanner\settings\General;
|
7 |
+
use DevOwl\RealCookieBanner\Core;
|
8 |
+
use DevOwl\RealCookieBanner\Vendor\MatthiasWeb\Utils\Service;
|
9 |
+
use DevOwl\RealCookieBanner\Utils;
|
10 |
+
use DevOwl\RealCookieBanner\view\Checklist;
|
11 |
+
use DevOwl\RealCookieBanner\view\checklist\Scanner;
|
12 |
+
// @codeCoverageIgnoreStart
|
13 |
+
\defined('ABSPATH') or die('No script kiddies please!');
|
14 |
+
// Avoid direct file request
|
15 |
+
// @codeCoverageIgnoreEnd
|
16 |
+
/**
|
17 |
+
* Scanner notices management
|
18 |
+
*/
|
19 |
+
class ScannerNotices {
|
20 |
+
use UtilsProvider;
|
21 |
+
const OPTION_NAME_ANY_PLUGIN_TOGGLE_STATE = RCB_OPT_PREFIX . '-any-plugin-toggle-state';
|
22 |
+
const DEFAULT_ANY_PLUGIN_TOGGLE_STATE = \false;
|
23 |
+
const NOTICE_TYPES = ['toggle-plugin-state' => self::OPTION_NAME_ANY_PLUGIN_TOGGLE_STATE];
|
24 |
+
/**
|
25 |
+
* Singleton instance.
|
26 |
+
*
|
27 |
+
* @var ScannerNotices
|
28 |
+
*/
|
29 |
+
private static $me = null;
|
30 |
+
/**
|
31 |
+
* C'tor.
|
32 |
+
*/
|
33 |
+
private function __construct() {
|
34 |
+
// Silence is golden
|
35 |
+
}
|
36 |
+
/**
|
37 |
+
* Get a config URL pointing to a given route (react-router).
|
38 |
+
*
|
39 |
+
* @param string $route
|
40 |
+
*/
|
41 |
+
public function getConfigUrl($route) {
|
42 |
+
$configUrl = \DevOwl\RealCookieBanner\Core::getInstance()
|
43 |
+
->getConfigPage()
|
44 |
+
->getUrl();
|
45 |
+
return \sprintf('%s#%s', $configUrl, $route);
|
46 |
+
}
|
47 |
+
/**
|
48 |
+
* Initially `add_option` to avoid autoloading issues.
|
49 |
+
*/
|
50 |
+
public function enableOptionsAutoload() {
|
51 |
+
\DevOwl\RealCookieBanner\settings\General::enableOptionAutoload(
|
52 |
+
self::OPTION_NAME_ANY_PLUGIN_TOGGLE_STATE,
|
53 |
+
self::DEFAULT_ANY_PLUGIN_TOGGLE_STATE,
|
54 |
+
'boolval'
|
55 |
+
);
|
56 |
+
}
|
57 |
+
/**
|
58 |
+
* Add option to show scanner notice if plugin is activated/deactivated
|
59 |
+
*
|
60 |
+
* @param string $plugin Plugin slug
|
61 |
+
* @param bool $network_wide Is it activated network wide
|
62 |
+
*/
|
63 |
+
public function togglePluginStateNotice($plugin, $network_wide) {
|
64 |
+
$isScannerChecked = \DevOwl\RealCookieBanner\view\Checklist::getInstance()->isChecked(
|
65 |
+
\DevOwl\RealCookieBanner\view\checklist\Scanner::IDENTIFIER
|
66 |
+
);
|
67 |
+
if (!\DevOwl\RealCookieBanner\Utils::startsWith($plugin, RCB_SLUG) && $isScannerChecked) {
|
68 |
+
if ($network_wide) {
|
69 |
+
$network_blogs = get_sites(['number' => 0, 'fields' => 'ids']);
|
70 |
+
foreach ($network_blogs as $blog) {
|
71 |
+
$blogId = \intval($blog);
|
72 |
+
add_blog_option($blogId, self::OPTION_NAME_ANY_PLUGIN_TOGGLE_STATE, \true);
|
73 |
+
}
|
74 |
+
} else {
|
75 |
+
add_option(self::OPTION_NAME_ANY_PLUGIN_TOGGLE_STATE, \true);
|
76 |
+
}
|
77 |
+
}
|
78 |
+
}
|
79 |
+
/**
|
80 |
+
* Delete option row that indicates notice as an active
|
81 |
+
*
|
82 |
+
* @param string $notice_type
|
83 |
+
*/
|
84 |
+
public function dismiss($notice_type) {
|
85 |
+
if (self::NOTICE_TYPES[$notice_type]) {
|
86 |
+
return update_option(self::NOTICE_TYPES[$notice_type], \false);
|
87 |
+
}
|
88 |
+
return \false;
|
89 |
+
}
|
90 |
+
/**
|
91 |
+
* Add js handler to the button
|
92 |
+
*
|
93 |
+
* @param string $notice_type
|
94 |
+
* @param string $redirect
|
95 |
+
*/
|
96 |
+
protected function dismissOnClickHandler($notice_type, $redirect = \false) {
|
97 |
+
$rest_url = \DevOwl\RealCookieBanner\Vendor\MatthiasWeb\Utils\Service::getUrl(
|
98 |
+
\DevOwl\RealCookieBanner\Core::getInstance()
|
99 |
+
);
|
100 |
+
$redirectStr = $redirect ? \sprintf('window.location.href= "%s";', $redirect) : '';
|
101 |
+
return \join('', [
|
102 |
+
'jQuery(this).parents(".notice").remove();',
|
103 |
+
\sprintf(
|
104 |
+
'window.fetch("%s").then(function(response){ %s });',
|
105 |
+
add_query_arg(
|
106 |
+
['_method' => 'DELETE', '_wpnonce' => wp_create_nonce('wp_rest'), 'notice_type' => $notice_type],
|
107 |
+
\sprintf('%sscanner/result/notice-dismissed', $rest_url)
|
108 |
+
),
|
109 |
+
$redirectStr
|
110 |
+
)
|
111 |
+
]);
|
112 |
+
}
|
113 |
+
/**
|
114 |
+
* Check if notice should be shown for plugin state (activated / deactivated), see also `self::admin_notices_any_plugin_change_state`.
|
115 |
+
*/
|
116 |
+
public function isNoticeAnyPluginChangeStateVisible() {
|
117 |
+
return get_option(self::OPTION_NAME_ANY_PLUGIN_TOGGLE_STATE);
|
118 |
+
}
|
119 |
+
/**
|
120 |
+
* Creates an admin notice when plugins are activated/deactivated.
|
121 |
+
*/
|
122 |
+
public function admin_notices_any_plugin_change_state() {
|
123 |
+
if ($this->isNoticeAnyPluginChangeStateVisible()) {
|
124 |
+
echo \sprintf(
|
125 |
+
'<div class="notice notice-warning" style="position:relative"><p>%s • <a onClick="%s" href="#">%s</a></p>%s</div>',
|
126 |
+
__(
|
127 |
+
'You have enabled or disabled plugins on your website, which may require your cookie banner to be adjusted. Please scan your website again as soon as you have finished the changes!',
|
128 |
+
RCB_TD
|
129 |
+
),
|
130 |
+
esc_js($this->dismissOnClickHandler('toggle-plugin-state', $this->getConfigUrl('/scanner?start=1'))),
|
131 |
+
__('Scan website again', RCB_TD),
|
132 |
+
\sprintf(
|
133 |
+
'<button type="button" class="notice-dismiss" onClick="%s"></button>',
|
134 |
+
esc_js($this->dismissOnClickHandler('toggle-plugin-state'))
|
135 |
+
)
|
136 |
+
);
|
137 |
+
}
|
138 |
+
}
|
139 |
+
/**
|
140 |
+
* Get singleton instance.
|
141 |
+
*
|
142 |
+
* @return ScannerNotices
|
143 |
+
* @codeCoverageIgnore
|
144 |
+
*/
|
145 |
+
public static function getInstance() {
|
146 |
+
return self::$me === null ? (self::$me = new \DevOwl\RealCookieBanner\scanner\ScannerNotices()) : self::$me;
|
147 |
+
}
|
148 |
+
}
|
inc/settings/Revision.php
CHANGED
@@ -8,6 +8,8 @@ use DevOwl\RealCookieBanner\lite\settings\TcfVendorConfiguration;
|
|
8 |
use DevOwl\RealCookieBanner\UserConsent;
|
9 |
use DevOwl\RealCookieBanner\Utils;
|
10 |
use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
|
|
|
|
|
11 |
use ReflectionClass;
|
12 |
// @codeCoverageIgnoreStart
|
13 |
\defined('ABSPATH') or die('No script kiddies please!');
|
@@ -272,7 +274,8 @@ class Revision {
|
|
272 |
'all_cookie_count' => \DevOwl\RealCookieBanner\settings\Cookie::getInstance()->getAllCount(),
|
273 |
'all_blocker_count' => \DevOwl\RealCookieBanner\settings\Blocker::getInstance()->getAllCount(),
|
274 |
'cookie_counts' => wp_count_posts(\DevOwl\RealCookieBanner\settings\Cookie::CPT_NAME),
|
275 |
-
'consents_deleted_at' => $consentsDeletedAt
|
|
|
276 |
],
|
277 |
$this->isPro()
|
278 |
? [
|
8 |
use DevOwl\RealCookieBanner\UserConsent;
|
9 |
use DevOwl\RealCookieBanner\Utils;
|
10 |
use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
|
11 |
+
use DevOwl\RealCookieBanner\scanner\Scanner;
|
12 |
+
use DevOwl\RealCookieBanner\scanner\ScannerNotices;
|
13 |
use ReflectionClass;
|
14 |
// @codeCoverageIgnoreStart
|
15 |
\defined('ABSPATH') or die('No script kiddies please!');
|
274 |
'all_cookie_count' => \DevOwl\RealCookieBanner\settings\Cookie::getInstance()->getAllCount(),
|
275 |
'all_blocker_count' => \DevOwl\RealCookieBanner\settings\Blocker::getInstance()->getAllCount(),
|
276 |
'cookie_counts' => wp_count_posts(\DevOwl\RealCookieBanner\settings\Cookie::CPT_NAME),
|
277 |
+
'consents_deleted_at' => $consentsDeletedAt,
|
278 |
+
'scan_again_notice_active' => \DevOwl\RealCookieBanner\scanner\ScannerNotices::getInstance()->isNoticeAnyPluginChangeStateVisible()
|
279 |
],
|
280 |
$this->isPro()
|
281 |
? [
|
inc/view/Blocker.php
CHANGED
@@ -34,7 +34,9 @@ class Blocker {
|
|
34 |
// [Plugin Comp] Divi Builder
|
35 |
'et_pb_video_box' => 1,
|
36 |
// [Theme Comp] Astra Theme (Gutenberg Block)
|
37 |
-
'ast-oembed-container' => 1
|
|
|
|
|
38 |
];
|
39 |
/**
|
40 |
* Before trying to create a visual content blocker, check if the node is inside a given container and
|
34 |
// [Plugin Comp] Divi Builder
|
35 |
'et_pb_video_box' => 1,
|
36 |
// [Theme Comp] Astra Theme (Gutenberg Block)
|
37 |
+
'ast-oembed-container' => 1,
|
38 |
+
// [Plugin Comp] WP Bakery
|
39 |
+
'wpb_video_wrapper' => 1
|
40 |
];
|
41 |
/**
|
42 |
* Before trying to create a visual content blocker, check if the node is inside a given container and
|
inc/view/Checklist.php
CHANGED
@@ -153,6 +153,16 @@ class Checklist {
|
|
153 |
$value = isset($options[self::OPTION_NAME_CHECK_ALL]) ? \intval($options[self::OPTION_NAME_CHECK_ALL]) : \false;
|
154 |
return \boolval($value);
|
155 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
/**
|
157 |
* Get singleton instance.
|
158 |
*
|
153 |
$value = isset($options[self::OPTION_NAME_CHECK_ALL]) ? \intval($options[self::OPTION_NAME_CHECK_ALL]) : \false;
|
154 |
return \boolval($value);
|
155 |
}
|
156 |
+
/**
|
157 |
+
* Check if any of items is checked
|
158 |
+
*
|
159 |
+
* @param string $identifier One of the ITEMS_ORDERED
|
160 |
+
* @return boolean
|
161 |
+
*/
|
162 |
+
public function isChecked($identifier) {
|
163 |
+
$result = $this->result()['items'][$identifier] ?? null;
|
164 |
+
return $result['checked'] ?? \false;
|
165 |
+
}
|
166 |
/**
|
167 |
* Get singleton instance.
|
168 |
*
|
inc/view/blocker/Plugin.php
CHANGED
@@ -28,6 +28,7 @@ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkBlo
|
|
28 |
use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkRelBlocker;
|
29 |
use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ReattachDom;
|
30 |
use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineJsonBlocker;
|
|
|
31 |
use DevOwl\RealCookieBanner\base\UtilsProvider;
|
32 |
use DevOwl\RealCookieBanner\Core;
|
33 |
use DevOwl\RealCookieBanner\lite\view\blocker\WordPressImagePreviewCache;
|
@@ -133,12 +134,15 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
|
|
133 |
'cmsmasters_google_map' => ['class'],
|
134 |
// [Plugin Comp] Impreza (WP Bakery Page Builder)
|
135 |
'w-video' => ['class'],
|
|
|
136 |
// [Plugin Comp] OnePress (controlled by jQuery hijack of `jQuery.each`)
|
137 |
'onepress-map' => ['class'],
|
138 |
// [Plugin Comp] https://themenectar.com/salient/ (controlled by jQuery hijack of `jQuery.fn.magnificPopup`)
|
139 |
'nectar_video_lightbox' => ['class'],
|
140 |
// [Plugin Comp] https://themeforest.net/item/sober-woocommerce-wordpress-theme/18332889 (controlled by jQuery hijack of `jQuery.each`)
|
141 |
-
'sober-map' => ['class']
|
|
|
|
|
142 |
]);
|
143 |
$cb->addVisualParentIfClass([
|
144 |
// [Theme Comp] FloThemes
|
@@ -158,7 +162,9 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
|
|
158 |
// [Plugin Comp] https://wordpress.org/plugins/play-ht/
|
159 |
'playht-iframe-player' => 1,
|
160 |
// [Plugin Comp] https://themenectar.com/salient/
|
161 |
-
'nectar_video_lightbox' => 2
|
|
|
|
|
162 |
]);
|
163 |
$cb->addSkipInlineScriptVariableAssignments([
|
164 |
'_wpCustomizeSettings',
|
@@ -192,6 +198,9 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
|
|
192 |
$cb->addPlugin(\DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\Autoplay::class);
|
193 |
$cb->addPlugin(\DevOwl\RealCookieBanner\view\blocker\PluginAutoplay::class);
|
194 |
$cb->addPlugin(\DevOwl\RealCookieBanner\view\blocker\ElementorProActionsPlugin::class);
|
|
|
|
|
|
|
195 |
/**
|
196 |
* Plugin.
|
197 |
*
|
28 |
use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkRelBlocker;
|
29 |
use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ReattachDom;
|
30 |
use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineJsonBlocker;
|
31 |
+
use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\SelectorSyntaxMatchesUrlFunction;
|
32 |
use DevOwl\RealCookieBanner\base\UtilsProvider;
|
33 |
use DevOwl\RealCookieBanner\Core;
|
34 |
use DevOwl\RealCookieBanner\lite\view\blocker\WordPressImagePreviewCache;
|
134 |
'cmsmasters_google_map' => ['class'],
|
135 |
// [Plugin Comp] Impreza (WP Bakery Page Builder)
|
136 |
'w-video' => ['class'],
|
137 |
+
'w-map' => ['class'],
|
138 |
// [Plugin Comp] OnePress (controlled by jQuery hijack of `jQuery.each`)
|
139 |
'onepress-map' => ['class'],
|
140 |
// [Plugin Comp] https://themenectar.com/salient/ (controlled by jQuery hijack of `jQuery.fn.magnificPopup`)
|
141 |
'nectar_video_lightbox' => ['class'],
|
142 |
// [Plugin Comp] https://themeforest.net/item/sober-woocommerce-wordpress-theme/18332889 (controlled by jQuery hijack of `jQuery.each`)
|
143 |
+
'sober-map' => ['class'],
|
144 |
+
// [Plugin Comp] https://wordpress.org/plugins/bold-page-builder/
|
145 |
+
'bt_bb_google_maps_map' => ['class']
|
146 |
]);
|
147 |
$cb->addVisualParentIfClass([
|
148 |
// [Theme Comp] FloThemes
|
162 |
// [Plugin Comp] https://wordpress.org/plugins/play-ht/
|
163 |
'playht-iframe-player' => 1,
|
164 |
// [Plugin Comp] https://themenectar.com/salient/
|
165 |
+
'nectar_video_lightbox' => 2,
|
166 |
+
// [Plugin Comp] https://wordpress.org/plugins/bold-page-builder/
|
167 |
+
'bt_bb_google_maps_map' => 1
|
168 |
]);
|
169 |
$cb->addSkipInlineScriptVariableAssignments([
|
170 |
'_wpCustomizeSettings',
|
198 |
$cb->addPlugin(\DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\Autoplay::class);
|
199 |
$cb->addPlugin(\DevOwl\RealCookieBanner\view\blocker\PluginAutoplay::class);
|
200 |
$cb->addPlugin(\DevOwl\RealCookieBanner\view\blocker\ElementorProActionsPlugin::class);
|
201 |
+
$cb->addPlugin(
|
202 |
+
\DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\SelectorSyntaxMatchesUrlFunction::class
|
203 |
+
);
|
204 |
/**
|
205 |
* Plugin.
|
206 |
*
|
index.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
|
9 |
* Author: devowl.io
|
10 |
* Author URI: https://devowl.io
|
11 |
-
* Version: 3.4.
|
12 |
* Text Domain: real-cookie-banner
|
13 |
* Domain Path: /languages
|
14 |
*/
|
8 |
* Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
|
9 |
* Author: devowl.io
|
10 |
* Author URI: https://devowl.io
|
11 |
+
* Version: 3.4.4
|
12 |
* Text Domain: real-cookie-banner
|
13 |
* Domain Path: /languages
|
14 |
*/
|
languages/real-cookie-banner-de_AT.mo
CHANGED
Binary file
|
languages/real-cookie-banner-de_AT.po
CHANGED
@@ -2,10 +2,10 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
-
"PO-Revision-Date: 2022-11-
|
6 |
-
"Last-Translator:
|
7 |
-
"Language-Team: German <https://translate.devowl.io/projects/
|
8 |
-
"cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_AT\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -6686,6 +6686,20 @@ msgstr ""
|
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6689 |
#: inc/settings/Blocker.php:1
|
6690 |
msgid "Content Blockers"
|
6691 |
msgstr "Content Blocker"
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
+
"PO-Revision-Date: 2022-11-23 10:26+0000\n"
|
6 |
+
"Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
|
7 |
+
"Language-Team: German <https://translate.devowl.io/projects/"
|
8 |
+
"wordpress-real-cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_AT\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
6689 |
+
#: inc/scanner/ScannerNotices.php:1
|
6690 |
+
msgid ""
|
6691 |
+
"You have enabled or disabled plugins on your website, which may require your "
|
6692 |
+
"cookie banner to be adjusted. Please scan your website again as soon as you "
|
6693 |
+
"have finished the changes!"
|
6694 |
+
msgstr ""
|
6695 |
+
"Du hast Plugins auf deiner Website aktiviert oder deaktiviert, wodurch dein "
|
6696 |
+
"Cookie Banner möglicherweise angepasst werden muss. Bitte scanne deine "
|
6697 |
+
"Website erneut, sobald du die Änderungen abgeschlossen hast!"
|
6698 |
+
|
6699 |
+
#: inc/scanner/ScannerNotices.php:1
|
6700 |
+
msgid "Scan website again"
|
6701 |
+
msgstr "Website erneut scannen"
|
6702 |
+
|
6703 |
#: inc/settings/Blocker.php:1
|
6704 |
msgid "Content Blockers"
|
6705 |
msgstr "Content Blocker"
|
languages/real-cookie-banner-de_CH.mo
CHANGED
Binary file
|
languages/real-cookie-banner-de_CH.po
CHANGED
@@ -2,10 +2,10 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
-
"PO-Revision-Date: 2022-11-
|
6 |
-
"Last-Translator:
|
7 |
-
"Language-Team: German <https://translate.devowl.io/projects/
|
8 |
-
"cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_CH\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -6686,6 +6686,20 @@ msgstr ""
|
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6689 |
#: inc/settings/Blocker.php:1
|
6690 |
msgid "Content Blockers"
|
6691 |
msgstr "Content Blocker"
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
+
"PO-Revision-Date: 2022-11-23 10:26+0000\n"
|
6 |
+
"Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
|
7 |
+
"Language-Team: German <https://translate.devowl.io/projects/"
|
8 |
+
"wordpress-real-cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_CH\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
6689 |
+
#: inc/scanner/ScannerNotices.php:1
|
6690 |
+
msgid ""
|
6691 |
+
"You have enabled or disabled plugins on your website, which may require your "
|
6692 |
+
"cookie banner to be adjusted. Please scan your website again as soon as you "
|
6693 |
+
"have finished the changes!"
|
6694 |
+
msgstr ""
|
6695 |
+
"Du hast Plugins auf deiner Website aktiviert oder deaktiviert, wodurch dein "
|
6696 |
+
"Cookie Banner möglicherweise angepasst werden muss. Bitte scanne deine "
|
6697 |
+
"Website erneut, sobald du die Änderungen abgeschlossen hast!"
|
6698 |
+
|
6699 |
+
#: inc/scanner/ScannerNotices.php:1
|
6700 |
+
msgid "Scan website again"
|
6701 |
+
msgstr "Website erneut scannen"
|
6702 |
+
|
6703 |
#: inc/settings/Blocker.php:1
|
6704 |
msgid "Content Blockers"
|
6705 |
msgstr "Content Blocker"
|
languages/real-cookie-banner-de_CH_informal.mo
CHANGED
Binary file
|
languages/real-cookie-banner-de_CH_informal.po
CHANGED
@@ -2,10 +2,10 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
-
"PO-Revision-Date: 2022-11-
|
6 |
-
"Last-Translator:
|
7 |
-
"Language-Team: German <https://translate.devowl.io/projects/
|
8 |
-
"cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_CH_informal\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -6686,6 +6686,20 @@ msgstr ""
|
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6689 |
#: inc/settings/Blocker.php:1
|
6690 |
msgid "Content Blockers"
|
6691 |
msgstr "Content Blocker"
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
+
"PO-Revision-Date: 2022-11-23 10:26+0000\n"
|
6 |
+
"Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
|
7 |
+
"Language-Team: German <https://translate.devowl.io/projects/"
|
8 |
+
"wordpress-real-cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_CH_informal\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
6689 |
+
#: inc/scanner/ScannerNotices.php:1
|
6690 |
+
msgid ""
|
6691 |
+
"You have enabled or disabled plugins on your website, which may require your "
|
6692 |
+
"cookie banner to be adjusted. Please scan your website again as soon as you "
|
6693 |
+
"have finished the changes!"
|
6694 |
+
msgstr ""
|
6695 |
+
"Du hast Plugins auf deiner Website aktiviert oder deaktiviert, wodurch dein "
|
6696 |
+
"Cookie Banner möglicherweise angepasst werden muss. Bitte scanne deine "
|
6697 |
+
"Website erneut, sobald du die Änderungen abgeschlossen hast!"
|
6698 |
+
|
6699 |
+
#: inc/scanner/ScannerNotices.php:1
|
6700 |
+
msgid "Scan website again"
|
6701 |
+
msgstr "Website erneut scannen"
|
6702 |
+
|
6703 |
#: inc/settings/Blocker.php:1
|
6704 |
msgid "Content Blockers"
|
6705 |
msgstr "Content Blocker"
|
languages/real-cookie-banner-de_DE.mo
CHANGED
Binary file
|
languages/real-cookie-banner-de_DE.po
CHANGED
@@ -2,10 +2,10 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
-
"PO-Revision-Date: 2022-11-
|
6 |
-
"Last-Translator:
|
7 |
-
"Language-Team: German <https://translate.devowl.io/projects/
|
8 |
-
"cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_DE\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -6686,6 +6686,20 @@ msgstr ""
|
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6689 |
#: inc/settings/Blocker.php:1
|
6690 |
msgid "Content Blockers"
|
6691 |
msgstr "Content Blocker"
|
2 |
msgstr ""
|
3 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
4 |
"POT-Creation-Date: n/a\n"
|
5 |
+
"PO-Revision-Date: 2022-11-23 10:26+0000\n"
|
6 |
+
"Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
|
7 |
+
"Language-Team: German <https://translate.devowl.io/projects/"
|
8 |
+
"wordpress-real-cookie-banner-backend-php/develop/de/>\n"
|
9 |
"Language: de_DE\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
6686 |
"Real Cookie Banner hat versucht, deine gesamte Website automatisch nach "
|
6687 |
"Services und externen URLs zu scannen."
|
6688 |
|
6689 |
+
#: inc/scanner/ScannerNotices.php:1
|
6690 |
+
msgid ""
|
6691 |
+
"You have enabled or disabled plugins on your website, which may require your "
|
6692 |
+
"cookie banner to be adjusted. Please scan your website again as soon as you "
|
6693 |
+
"have finished the changes!"
|
6694 |
+
msgstr ""
|
6695 |
+
"Du hast Plugins auf deiner Website aktiviert oder deaktiviert, wodurch dein "
|
6696 |
+
"Cookie Banner möglicherweise angepasst werden muss. Bitte scanne deine "
|
6697 |
+
"Website erneut, sobald du die Änderungen abgeschlossen hast!"
|
6698 |
+
|
6699 |
+
#: inc/scanner/ScannerNotices.php:1
|
6700 |
+
msgid "Scan website again"
|
6701 |
+
msgstr "Website erneut scannen"
|
6702 |
+
|
6703 |
#: inc/settings/Blocker.php:1
|
6704 |
msgid "Content Blockers"
|
6705 |
msgstr "Content Blocker"
|
languages/real-cookie-banner-de_DE_formal.mo
CHANGED
Binary file
|
languages/real-cookie-banner-de_DE_formal.po
CHANGED
@@ -5,8 +5,8 @@ msgstr ""
|
|
5 |
"Project-Id-Version: n/a\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
7 |
"POT-Creation-Date: n/a\n"
|
8 |
-
"PO-Revision-Date: 2022-11-
|
9 |
-
"Last-Translator:
|
10 |
"Language-Team: German (formal) <https://translate.devowl.io/projects/"
|
11 |
"wordpress-real-cookie-banner-backend-php/develop/de@formal/>\n"
|
12 |
"Language: de_DE_formal\n"
|
@@ -6709,6 +6709,20 @@ msgstr ""
|
|
6709 |
"Real Cookie Banner hat versucht, Ihre gesamte Website automatisch nach "
|
6710 |
"Services und externen URLs zu durchsuchen."
|
6711 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6712 |
#: inc/settings/Blocker.php:1
|
6713 |
msgid "Content Blockers"
|
6714 |
msgstr "Content Blocker"
|
5 |
"Project-Id-Version: n/a\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
7 |
"POT-Creation-Date: n/a\n"
|
8 |
+
"PO-Revision-Date: 2022-11-23 10:26+0000\n"
|
9 |
+
"Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
|
10 |
"Language-Team: German (formal) <https://translate.devowl.io/projects/"
|
11 |
"wordpress-real-cookie-banner-backend-php/develop/de@formal/>\n"
|
12 |
"Language: de_DE_formal\n"
|
6709 |
"Real Cookie Banner hat versucht, Ihre gesamte Website automatisch nach "
|
6710 |
"Services und externen URLs zu durchsuchen."
|
6711 |
|
6712 |
+
#: inc/scanner/ScannerNotices.php:1
|
6713 |
+
msgid ""
|
6714 |
+
"You have enabled or disabled plugins on your website, which may require your "
|
6715 |
+
"cookie banner to be adjusted. Please scan your website again as soon as you "
|
6716 |
+
"have finished the changes!"
|
6717 |
+
msgstr ""
|
6718 |
+
"Sie haben Plugins auf Ihrer Website aktiviert oder deaktiviert, was eine "
|
6719 |
+
"Anpassung Ihres Cookie Banners erforderlich machen könnte. Bitte scannen Sie "
|
6720 |
+
"Ihre Website erneut, sobald Sie die Änderungen abgeschlossen haben!"
|
6721 |
+
|
6722 |
+
#: inc/scanner/ScannerNotices.php:1
|
6723 |
+
msgid "Scan website again"
|
6724 |
+
msgstr "Website erneut scannen"
|
6725 |
+
|
6726 |
#: inc/settings/Blocker.php:1
|
6727 |
msgid "Content Blockers"
|
6728 |
msgstr "Content Blocker"
|
languages/real-cookie-banner.pot
CHANGED
@@ -3545,6 +3545,14 @@ msgstr ""
|
|
3545 |
msgid "Real Cookie Banner tried to automatically scan your entire website for services and external URLs."
|
3546 |
msgstr ""
|
3547 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3548 |
#: inc/settings/Blocker.php:1
|
3549 |
msgid "Content Blockers"
|
3550 |
msgstr ""
|
3545 |
msgid "Real Cookie Banner tried to automatically scan your entire website for services and external URLs."
|
3546 |
msgstr ""
|
3547 |
|
3548 |
+
#: inc/scanner/ScannerNotices.php:1
|
3549 |
+
msgid "You have enabled or disabled plugins on your website, which may require your cookie banner to be adjusted. Please scan your website again as soon as you have finished the changes!"
|
3550 |
+
msgstr ""
|
3551 |
+
|
3552 |
+
#: inc/scanner/ScannerNotices.php:1
|
3553 |
+
msgid "Scan website again"
|
3554 |
+
msgstr ""
|
3555 |
+
|
3556 |
#: inc/settings/Blocker.php:1
|
3557 |
msgid "Content Blockers"
|
3558 |
msgstr ""
|
public/dist/637.lite.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
"use strict";(self.webpackChunkrealCookieBanner_=self.webpackChunkrealCookieBanner_||[]).push([[637],{2637:(e,t,a)=>{a.d(t,{d:()=>me,$:()=>de});var l=a(8208),n=a(3307),o=a(7465),r=a(691),i=a(3751),s=a(1839),c=a(7363),u=a(3867),d=a(9204),m=a(5217),p=a(1712),v=a(9743),h=a(6711),f=a(1816),b=a(1487),y=a(4121),R=a(3642),E=a(3558);const g=({nonExistingServices:e,onCreated:t})=>{const[a,l]=(0,c.useState)(),[n,o]=(0,c.useState)([]),r=(e||[]).filter((({identifier:e})=>-1===n.indexOf(e))),s=null==e?void 0:e.map((({identifier:e,attributes:r,version:s})=>React.createElement(i.Z,{key:e,visible:a===e,title:(0,m.__)("Add service"),width:"calc(100% - 50px)",bodyStyle:{paddingBottom:0},footer:null,onCancel:()=>l(void 0)},React.createElement(E.Z,{navigateAfterCreation:!1,scrollToTop:!1,preset:{identifier:e,version:s},onCreated:e=>{l(void 0),o([...n,a]),t(e)}}))));return React.createElement(React.Fragment,null,s,0===r.length?null:React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,m.__)("Some services from the template could not be found. Please select (or create if not already exist) the following services:",r.join(", "))),React.createElement("ul",{style:{margin:"0 0 10px"}},r.map((({identifier:e,name:t,subHeadline:a})=>React.createElement("li",{key:e},React.createElement("strong",null,t,a?" (".concat(a,")"):"")," • ",React.createElement("a",{onClick:t=>{l(e),t.preventDefault()},style:{cursor:"pointer"}},(0,m.__)("Create now"))))))))};var k=a(8700),w=a(5998),T=a(9712),C=a(7669);const{addFilter:_}=w.hooks,{MediaUpload:V}=w.mediaUtils;_("editor.MediaUpload","core/edit-post/components/media-upload/replace-media-upload",(()=>V));const Z=({attachmentId:e,title:t,allowedTypes:a,render:n,onChange:o})=>{const r=e||void 0,{data:i,error:s,fetching:u}=function(e){const[t,a]=(0,c.useState)(!1),[l,n]=(0,c.useState)(),[o,r]=(0,c.useState)(),i=(0,c.useCallback)((async e=>{a(!0);const{currentLanguage:t}=(0,T.u)();try{const l=await(0,C.W)({location:{path:"/media/:id",method:k.RouteHttpVerb.GET,namespace:"wp/v2"},params:{id:e,_dataLocale:t}});n(l),r(void 0)}catch(e){n(void 0),r(e)}finally{a(!1)}}),[]);return(0,c.useEffect)((()=>{e?i(e):(n(void 0),r(void 0))}),[e]),{fetching:t,data:l,fetch:i,error:o}}(r),d=null==i?void 0:i.source_url;return(0,c.useEffect)((()=>{var e;"rest_post_invalid_id"===(null==s||null===(e=s.responseJSON)||void 0===e?void 0:e.code)&&o(void 0,void 0)}),[s]),React.createElement(l.Z,{spinning:u},React.createElement(V,{onSelect:e=>{null==o||o(null==e?void 0:e.id,e)},title:t,allowedTypes:a,value:r,render:({open:e})=>n({open:e,reset:()=>o(void 0,void 0),attachmentId:r,url:d})}))};var S=a(6541),I=a(3875);const P={labelCol:{span:6},wrapperCol:{span:16}};var F=a(2065),x=a(433);const D=()=>{const{__:e}=(0,I.f)(),t=(0,c.useRef)();return React.createElement(n.Z.Item,{label:e("Name"),required:!0},React.createElement(n.Z.Item,{name:"name",noStyle:!0,rules:[{required:!0,message:e("Please provide a name!")}]},React.createElement(F.Z,null)),React.createElement("p",{className:"description",ref:t},React.createElement(x.A,{form:"blocker",valueName:"name",widthOfRef:t,renderDiff:e=>React.createElement(F.Z,{value:e,readOnly:!0})}),e('Each content blocker should have a descriptive name that is understandable to a non-professional user, e.g. "Google Maps".')))};var N=a(1088);const M=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{label:e("Status"),required:!0},React.createElement(n.Z.Item,{name:"status",noStyle:!0,rules:[{required:!0,message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,null,React.createElement(N.ZP.Button,{value:"publish"},e("Enabled")),React.createElement(N.ZP.Button,{value:"private"},e("Disabled")),React.createElement(N.ZP.Button,{value:"draft"},e("Draft")))),React.createElement("p",{className:"description"},e('Content Blockers with the status "Draft" or "Disabled" are not visible to the public. In addition, a draft will be highlighted in the content blocker table so that you do not forget to configure it.')))},B=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{label:e("Description")},React.createElement(n.Z.Item,{name:"description",noStyle:!0},React.createElement(F.Z.TextArea,{autoSize:{minRows:3}})),React.createElement("p",{className:"description"},e("You can give your visitors further explanations why a content has been blocked or, for example, how they can contact you alternatively instead of agreeing to load the contact form. The description is displayed only in visual content blockers.")))};var A=a(3115),q=a(7421);const U=()=>{const{__:e}=(0,I.f)();return React.createElement(React.Fragment,null,React.createElement(A.C,{offset:P.labelCol.span},e("General content blocker configuration")," ",React.createElement(q.r,{url:e("https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/")})),React.createElement(D,null),React.createElement(M,null),React.createElement(B,null))},O=()=>{const{__:e,_i:t,openCookieExperts:a}=(0,I.f)(),l=(0,c.useRef)();return React.createElement(n.Z.Item,{label:e("URLs / Elements to block"),required:!0},React.createElement(n.Z.Item,{name:"rules",noStyle:!0,rules:[{required:!0,message:e("Please provide at least one URL/element!")}]},React.createElement(F.Z.TextArea,{autoSize:{minRows:3,maxRows:15}})),React.createElement("p",{className:"description",ref:l},React.createElement(x.A,{form:"blocker",valueName:"rules",widthOfRef:l,difference:(e,t)=>{const a=e.split("\n"),l=t.split("\n").filter((e=>!a.includes(e)));return l.length>0?l:void 0},apply:(e,t,a)=>t({rules:a.split("\n").concat(e).join("\n")}),newValueText:e("Missing entries:"),renderDiff:(e,t)=>React.createElement(F.Z.TextArea,{value:t.join("\n"),readOnly:!0,autoSize:{minRows:3,maxRows:15}})}),t(e("Enter one rule per line to replace content with a content blocker. You can block all available URLs or HTML tags on your website including videos, iframes, scripts, inline scripts and stylesheets. Please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder)."),{code:React.createElement("code",null)})," • ",!!a&&React.createElement("button",{type:"button",className:"button-link",onClick:a},e("Can't handle it? Let a Cookie Expert help you!")),React.createElement("br",null),React.createElement("br",null),t(e('{{strong}}Pro tip:{{/strong}} Look up all available syntaxes like {{code}}div[class*="my-embed"]{{/code}} in our knowledge base to block content perfectly.'),{strong:React.createElement("strong",null),code:React.createElement("code",null)})," ",React.createElement(q.r,{url:e("https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/")})))},L=()=>{const{__:e,isTcf:t}=(0,I.f)();return React.createElement(n.Z.Item,{label:e("Block by"),required:!0,style:{display:t?void 0:"none"}},React.createElement(n.Z.Item,{name:"criteria",noStyle:!0,rules:[{required:!0,message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,null,React.createElement(N.ZP.Button,{value:"services"},e("Services")),React.createElement(N.ZP.Button,{value:"tcfVendors"},e("TCF Vendors")))),React.createElement("p",{className:"description"},e("You can block content through non-standard services or TCF vendors. If you want to block it through TCF vendors, then the visual content blocker cannot be displayed because TCF is usually used to obtain consent for ad networks. Moreover, after the initial consents in the cookie banner, users will probably never consent to the ad.")))},G=({dropdown:e,children:t})=>{const{__:a,_i:l,proModals:{visual:{modal:o}}}=(0,I.f)();return React.createElement(React.Fragment,null,o,React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:o})=>"services"===o("criteria")&&React.createElement(n.Z.Item,{label:a("Connected services"),required:!0},React.createElement(n.Z.Item,{name:"services",noStyle:!0,rules:[{type:"array",required:!0,message:a("Please provide at least one service!")}]},e),React.createElement("p",{className:"description"},l(a("A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary services that would be used by loading the content. You must define all services that are loaded as soon as the user wants to see the blocked content."),{strong:React.createElement("strong",null)})),t))))},H=({dropdown:e,children:t})=>{const{__:a,_i:l,proModals:{visual:{modal:o}}}=(0,I.f)();return React.createElement(React.Fragment,null,o,React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:o})=>"tcfVendors"===o("criteria")&&React.createElement(n.Z.Item,{label:a("Connected TCF Vendors"),required:!0},React.createElement(n.Z.Item,{name:"tcfVendors",noStyle:!0,rules:[{type:"array",required:!0,message:a("Please provide at least one vendor!")}]},e),React.createElement("p",{className:"description"},l(a("A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary TCF vendors that would be used by loading the content. You must define all TCF vendors that are loaded based on legitimate interest or consent as soon as the user wants to see the blocked content."),{strong:React.createElement("strong",null)})),t))))},j=({servicesFieldProps:e,tcfVendorsFieldProps:t})=>{const{__:a}=(0,I.f)();return React.createElement(React.Fragment,null,React.createElement(A.C,{offset:P.labelCol.span},a("Technical Definition")),React.createElement(O,null),React.createElement(L,null),React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:a})=>{switch(a("criteria")){case"services":return React.createElement(G,e);case"tcfVendors":return React.createElement(H,t);default:return null}})))};var Y=a(7818);const z=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"isVisual",valuePropName:"checked",noStyle:!0},React.createElement(Y.Z,null)),React.createElement("span",null," ",e("Show the visual content blocker, if possible"))))};var W=a(7532);const J=()=>{const{__:e,isPro:t,proModals:{visual:{tag:a}}}=(0,I.f)(),l=(0,c.useMemo)((()=>({default:{title:e("Textbox"),description:e("Plain text with button")},wrapped:{title:e("Wrapped"),description:e("Image surrounding the content blocker")},hero:{title:e("Hero"),description:e("Image with content blocker on click")}})),[e]);return React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual},(({getFieldValue:o})=>!!o("isVisual")&&React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span},style:{paddingBottom:10}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"visualType",noStyle:!0,rules:t?[]:[{required:!0,type:"enum",enum:["default"],message:e("This type of visual content blocker is available only in the PRO version of the plugin. Please choose a textbox content blocker!")}]},React.createElement(N.ZP.Group,{size:"large",buttonStyle:"solid",className:"rcb-antd-radio-button-card",style:{marginBottom:10}},Object.keys(l).map((e=>{const{description:t,title:n}=l[e];return React.createElement(N.ZP.Button,{value:e,key:e},React.createElement(W.Z,{style:{width:300},bordered:!1,cover:React.createElement("img",{style:{height:168.75},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/".concat(e,".png")})},React.createElement(W.Z.Meta,{title:React.createElement(React.Fragment,null,n," ","default"!==e&&a),description:t})))}))))))))},$=()=>{const{__:e,isPro:t,proModals:{visual:{tag:a}}}=(0,I.f)(),l=(0,c.useMemo)((()=>({map:e("Map"),"audio-player":e("Audio player"),"video-player":e("Video player"),"feed-text":e("Feed (text)"),"feed-video":e("Feed (image/video)"),generic:e("None of these")})),[e]);return React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisualDarkMode!==t.isVisualDarkMode||e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:o})=>{const r=o("isVisual"),i=o("visualType");return!!r&&"default"!==i&&React.createElement(n.Z.Item,{label:e("Content type"),required:!0,extra:a},React.createElement(n.Z.Item,{name:"visualContentType",rules:[{required:!0,message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,{size:"large",buttonStyle:"solid",className:"rcb-antd-radio-button-card"},Object.keys(l).map((e=>{const a=l[e];return React.createElement(N.ZP.Button,{value:e,key:e,style:{margin:"0 5px 5px 0"},disabled:!t},React.createElement(W.Z,{style:{width:240},bordered:!1,size:"small",cover:React.createElement(React.Fragment,null,React.createElement("img",{style:{display:o("isVisualDarkMode")?"none":void 0},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/".concat(e,"-light.png")}),React.createElement("img",{style:{display:o("isVisualDarkMode")?void 0:"none"},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/".concat(e,"-dark.png")}))},React.createElement(W.Z.Meta,{title:a})))})))))}))},X=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t})=>{const a=t("isVisual"),l=t("visualType");return!!a&&"default"!==l&&React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"isVisualDarkMode",valuePropName:"checked",noStyle:!0},React.createElement(Y.Z,null))," ",e("Enable dark mode"),React.createElement("p",{className:"description"},e("As soon as no image is found for the content blocker, a default image is automatically used. You can also specify whether the image should be displayed light or dark."))))}))};var K=a(8936);const Q=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.visualDownloadThumbnail!==t.visualDownloadThumbnail||e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t,setFieldsValue:a})=>{const l=t("visualDownloadThumbnail"),o=t("isVisual"),r=t("visualType");return!!o&&"default"!==r&&React.createElement(React.Fragment,null,React.createElement(n.Z.Item,{label:e("Automatic preview image")},React.createElement(n.Z.Item,{noStyle:!0,name:"visualDownloadThumbnail",required:!0,rules:[{required:!0,type:"boolean",message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,{style:{display:l?void 0:"none"}},React.createElement(N.ZP.Button,{value:!0},e("Download preview image and serve locally")),React.createElement(N.ZP.Button,{value:!1},e("Image from media library")))),!l&&React.createElement(N.ZP.Group,{value:l},React.createElement(K.Z,{title:e("I confirm that I have the required rights to embedded content and its thumbnails can be copied to my servers without e.g. copyright infringement."),cancelText:e("Cancel"),okText:e("Activate now"),overlayStyle:{maxWidth:450},onCancel:()=>a({visualDownloadThumbnail:!1}),onConfirm:()=>a({visualDownloadThumbnail:!0}),placement:"bottomLeft"},React.createElement(N.ZP.Button,{value:!0},e("Download preview image and serve locally"))),React.createElement(N.ZP.Button,{value:!1,onClick:()=>a({visualDownloadThumbnail:!1})},e("Image from media library"))),React.createElement("p",{className:"description"},e("If you block an external URL, this option will try to download an image for this URL using different mechanisms (oEmbed, OpenGraph, ...), saves it locally and use it as background image."))))}))},ee=({children:e})=>{const{__:t,isPro:a}=(0,I.f)();return a&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.visualDownloadThumbnail!==t.visualDownloadThumbnail||e.isVisual!==t.isVisual||e.visualType!==t.visualType||e.visualContentType!==t.visualContentType},(({getFieldValue:a})=>{const l=a("isVisual"),o=a("visualType"),r=a("visualContentType"),i=a("visualDownloadThumbnail");return!!l&&"default"!==o&&React.createElement(n.Z.Item,{label:t(i||"generic"===r?"Fallback preview image":"Preview image"),name:"visualMediaThumbnail",valuePropName:"attachmentId",style:{display:void 0===i?"none":void 0}},e)}))};var te=a(679);const ae=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t})=>{const a=t("isVisual"),l=t("visualType");return!!a&&"default"!==l&&React.createElement(n.Z.Item,{label:e("Blur image")},React.createElement(n.Z.Item,{name:"visualBlur",noStyle:!0},React.createElement(te.Z,{min:0,max:20,marks:{0:e("Disabled"),5:"5%",10:"10%",15:"15%",20:"20%"},tooltipVisible:!1,style:{marginLeft:40}})),React.createElement("p",{className:"description"},e("You can apply an additional blur to the background image. This can be useful e.g. for blocked contact forms to show it only schematically.")))}))},le=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t})=>{const a=t("isVisual"),l=t("visualType");return!!a&&"default"!==l&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.visualContentType!==t.visualContentType},(({getFieldValue:t})=>{const a=t("visualContentType"),l=t("visualType");return React.createElement(n.Z.Item,{label:e("Button text"),style:{display:["audio-player","video-player"].indexOf(a)>-1||"hero"!==l?"none":void 0}},React.createElement(n.Z.Item,{name:"visualHeroButtonText",noStyle:!0},React.createElement(F.Z,null)),React.createElement("p",{className:"description"},e("If you specify a button text, a button with this text will be centered in the image and only when you click on this button the content blocker will be opened. Otherwise, clicking on the image itself will open the Content Blocker.")))}))}))},ne=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual},(({getFieldValue:t})=>!!t("isVisual")&&React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"shouldForceToShowVisual",valuePropName:"checked",noStyle:!0},React.createElement(Y.Z,null))," ",e("Force visual content blocker for hidden elements"),React.createElement("p",{className:"description"},e("In rare cases, visual content blockers are not displayed because the main element of the blocked content is not visible either. Enable this option if this is the case and you want to force to display a content blocker for non-visible elements."))))))},oe=({visualMediaThumbnailPicker:e})=>{const{__:t,proModals:{visual:{modal:a}}}=(0,I.f)();return React.createElement(React.Fragment,null,a,React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:a})=>"services"===a("criteria")&&React.createElement(React.Fragment,null,React.createElement(A.C,{offset:P.labelCol.span,description:t("For each content blocker it can be defined if it should be visually visible. This means that if the user has not agreed to the respective services, a box with a button is displayed to adjust the privacy settings so that the actual content can be loaded. The design of the box is copied from the cookie banner.")},t("Visual")),React.createElement(z,null),React.createElement(J,null),React.createElement($,null),React.createElement(X,null),React.createElement(Q,null),React.createElement(ee,null,e),React.createElement(ae,null),React.createElement(le,null),React.createElement(ne,null)))))};var re=a(4217);const ie=()=>{const{__:e,presetCheck:t,isTemplateUpdate:a}=(0,I.f)();return!(!t&&!a)&&React.createElement(n.Z.Item,{name:"presetCheck",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:e=>e||void 0,message:e("Please confirm that you have checked the content of the content blocker.")}],wrapperCol:{offset:P.labelCol.span}},React.createElement(re.Z,null,e("I have checked the information in the content blocker template myself and added any missing information or corrected any information that does not fit to my use case.")," ",React.createElement(q.r,{url:e("https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/")})))};var se=a(987),ce=a(5941);const ue=({technicalProps:e,visualProps:t})=>{const{__:a,_i:l}=(0,I.f)(),o=(0,c.useRef)(),r=se.x.Context();return React.createElement(r.Provider,{value:{__:a,_i:l}},React.createElement("div",{ref:o},React.createElement(ce.j,{containerRef:o,form:"blocker"}),React.createElement(U,null),React.createElement(j,e),React.createElement(oe,t),React.createElement(n.Z.Item,{className:"rcb-form-sticky-submit",labelCol:{span:0},wrapperCol:{span:24}},React.createElement(ie,null),React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("div",{style:{textAlign:"center"}},React.createElement("input",{type:"submit",className:"button button-primary",value:a("Save")}))))))};function de(){return(0,f.t)({title:(0,m.__)("Want a better integrated visual content blocker for your website?"),testDrive:!0,feature:"visual-content-blocker",assetName:(0,m.__)("pro-modal/visual-content-blocker.webp"),description:(0,m.__)("Instead of a lot of text, you can offer your visitor a more pleasant way to view blocked content. For example, you can replace your video embeds with a privacy-compliant dummy player with thumbnail, or an embedded map with a preview map.")})}const me=(0,u.Pi)((({preset:e,overwriteAttributes:t,navigateAfterCreation:a=!0,cookieCreationPrompt:u=!1})=>{var f,k;const{blocker:w,id:T,queried:C,fetched:_,link:V}=(0,b.w)(),F=(0,h.useHistory)(),[x,D]=(0,c.useState)(!1),{cookieStore:N,optionStore:{tcf:M,others:{isPro:B}}}=(0,v.m)(),A=(null==w?void 0:w.presetModel)||N.presetsBlocker.get(null==e?void 0:e.identifier),q={...null==A?void 0:A.attributes,...t},{form:U,isBusy:O,defaultValues:L,nonExistingServices:G,onFinish:H,onFinishFailed:j,onBeforeUnload:Y,onValuesChange:z,contextValue:W}=function(e){var t,a,l,n;const{isTcf:o,preset:r,attributes:i,__:s,_i:c}=e,u={name:(null==i?void 0:i.name)||"",status:"publish",description:(null==i?void 0:i.description)||"",criteria:o&&!r?"tcfVendors":"services",rules:(null==i||null===(t=i.rules)||void 0===t?void 0:t.join("\n"))||"",tcfVendors:(null==i||null===(a=i.tcfVendors)||void 0===a?void 0:a.filter(Number))||[],services:null==i||null===(l=i.serviceTemplates)||void 0===l?void 0:l.map((({created:e})=>!1===e?void 0:e)).filter(Boolean),isVisual:"boolean"!=typeof(null==i?void 0:i.isVisual)||i.isVisual,visualType:(null==i?void 0:i.visualType)||"default",visualMediaThumbnail:0,visualContentType:(null==i?void 0:i.visualContentType)||"generic",isVisualDarkMode:"boolean"==typeof(null==i?void 0:i.isVisualDarkMode)&&i.isVisualDarkMode,visualBlur:(null==i?void 0:i.visualBlur)||0,visualDownloadThumbnail:"boolean"==typeof(null==i?void 0:i.visualDownloadThumbnail)?i.visualDownloadThumbnail:void 0,visualHeroButtonText:(null==i?void 0:i.visualHeroButtonText)||"",shouldForceToShowVisual:(null==i?void 0:i.shouldForceToShowVisual)||!1,presetCheck:!r};return{...(0,S.f)({...e,defaultValues:u,i18n:{successMessage:s("You have successfully saved the content blocker."),validationError:s("The content blocker could not be saved due to missing/invalid form values."),unloadConfirm:s('You have unsaved changes. If you click on "confirm", your changes will be discarded.'),unloadConfirmInitialActive:s("You have already created a service. Are you sure that you don't want to create the corresponding content blocker?")}}),defaultValues:u,nonExistingServices:(null==i||null===(n=i.serviceTemplates)||void 0===n?void 0:n.filter((({created:e})=>!e)))||[],contextValue:{__:s,_i:c,isTcf:o,presetCheck:!!r,defaultPresetValues:r?u:{}}}}({__:m.__,_i:m._i,attributes:q,isTcf:M,preset:A?{identifier:A.data.identifier,version:A.data.version}:void 0,initialHasChanges:u,handleSave:async e=>{try{var t,l;const{name:n,status:o,description:r,...i}=e,s={...i,visualMediaThumbnail:i.visualMediaThumbnail||0,criteria:i.criteria,tcfVendors:(null===(t=i.tcfVendors)||void 0===t?void 0:t.join(","))||"",services:(null===(l=i.services)||void 0===l?void 0:l.join(","))||"",isVisual:"services"===i.criteria&&i.isVisual,presetId:null==A?void 0:A.data.identifier,presetVersion:null==A?void 0:A.data.version};if(delete s.presetCheck,C)w.setName(n),w.setStatus(o),w.setDescription(r),w.setMeta(s),await w.patch();else{const e=new R.p(J,{title:{rendered:n},content:{rendered:r,protected:!1},status:o,meta:s});await e.persist()}a&&setTimeout((()=>"string"==typeof a?window.location.href=a:F.push(V.slice(1))),0)}catch(e){throw e.responseJSON.message}}}),{blockers:J,essentialGroup:$}=N,{openDialog:X}=(0,y.u)(),K=_?{name:w.data.title.raw,status:w.data.status,description:w.data.content.raw,criteria:w.data.meta.criteria,rules:w.data.meta.rules,tcfVendors:w.tcfVendors,services:w.services,isVisual:w.data.meta.isVisual,visualType:B?w.data.meta.visualType:"default",visualMediaThumbnail:w.data.meta.visualMediaThumbnail,visualContentType:w.data.meta.visualContentType,isVisualDarkMode:w.data.meta.isVisualDarkMode,visualBlur:w.data.meta.visualBlur,visualDownloadThumbnail:w.data.meta.visualDownloadThumbnail,visualHeroButtonText:w.data.meta.visualHeroButtonText,shouldForceToShowVisual:w.data.meta.shouldForceToShowVisual,presetCheck:void 0}:L,Q=(0,c.useCallback)((e=>{U.setFieldsValue({services:[...U.getFieldValue("services"),e.key]})}),[U]);(0,c.useEffect)((()=>{C&&!_&&J.getSingle({params:{id:T,context:"edit"}})}),[C,_]),(0,c.useEffect)((()=>{!A||A.attributes||A.busy||A.fetchAttributes()}),[A]),(0,c.useEffect)((()=>{(0,p.X)(0),$||N.fetchGroups()}),[]);const ee=de(),te=I.$.Context();if(C&&!_||A&&!A.attributes)return React.createElement(s.Z,{active:!0,paragraph:{rows:8}});const ae=!(!_||!A)&&(null===(f=w.data)||void 0===f||null===(k=f.meta)||void 0===k?void 0:k.presetVersion)!==A.data.version;return React.createElement(te.Provider,{value:{...W,isPro:B,isEdit:_,isTemplateUpdate:ae,proModals:{visual:ee},openCookieExperts:X,presetCheck:!!A&&(ae||!_)}},React.createElement(l.Z,{spinning:O||(null==A?void 0:A.busy)||!1},React.createElement(h.Prompt,{message:Y}),React.createElement(n.Z,(0,o.Z)({name:"blocker-".concat(T),form:U},P,{initialValues:K,onFinish:H,onFinishFailed:j,onValuesChange:z}),React.createElement(ue,{technicalProps:{servicesFieldProps:{dropdown:React.createElement(d.m,{postType:"rcb-cookie",multiple:!0,filter:e=>e["rcb-cookie-group"][0]!==(null==$?void 0:$.key)}),children:React.createElement(React.Fragment,null,React.createElement("button",{type:"button",className:"button",onClick:()=>D(!0)},(0,m.__)("Create new service")),React.createElement(i.Z,{key:T,visible:x,title:(0,m.__)("Add service"),width:"calc(100% - 50px)",bodyStyle:{paddingBottom:0},footer:null,onCancel:()=>D(!1)},React.createElement(E.Z,{navigateAfterCreation:!1,scrollToTop:!1,onCreated:e=>{D(!1),Q(e)}})),React.createElement(g,{nonExistingServices:G,onCreated:Q}))},tcfVendorsFieldProps:{dropdown:React.createElement(d.m,{postType:"rcb-tcf-vendor-conf",multiple:!0,titleRender:({vendor:{name:e}})=>e})}},visualProps:{visualMediaThumbnailPicker:React.createElement(Z,{title:(0,m.__)("Select preview image"),allowedTypes:["image"],render:({open:e,reset:t,attachmentId:a,url:l})=>React.createElement(React.Fragment,null,React.createElement("p",{style:{marginTop:0}},React.createElement("a",{className:"button",onClick:e},a?(0,m.__)("Replace image"):(0,m.__)("Select from media library"))," ",a&&React.createElement("a",{className:"button",onClick:t},(0,m.__)("Remove image"))),l&&React.createElement(r.Z,{width:272,src:l}))})}}))))}))},9204:(e,t,a)=>{a.d(t,{m:()=>m});var l=a(9172),n=a(8208),o=a(7363),r=a(9712),i=a(7669),s=a(5217),c=a(5573),u=a(8700),d=a(4028);const m=({postType:e,postStatus:t=["draft","publish","private"],perPage:a=10,value:m,multiple:p,disabled:v,forceDefaultLanguage:h,onChange:f,titleRender:b=(({title:{rendered:e}})=>e),filter:y=(()=>!0)})=>{const[R,E]=(0,o.useState)(!1),[g,k]=(0,o.useState)(m),[w,T]=(0,o.useState)(!1),[C,_]=(0,o.useState)([]),V=(0,o.useCallback)((async a=>{T(!0);const{defaultLanguage:l,currentLanguage:n}=(0,r.u)(),o=await(0,i.W)({location:{path:"/".concat(e),method:u.RouteHttpVerb.GET,namespace:"wp/v2"},request:{status:a.include?["draft","publish","private"]:t,orderby:a.search?"relevance":"title",...a},params:{_dataLocale:h?l:n}});_(o),T(!1)}),[]);return(0,c.N)(R,""===R?0:800,(e=>{!1!==e&&V({search:e,per_page:e.length?50:a})}),(e=>{!1!==e&&T(!0),_([])})),(0,o.useEffect)((()=>{(g>0||Array.isArray(g)&&g.length>0)&&V({include:Array.isArray(g)?g:[g]})}),[]),(0,o.useEffect)((()=>{JSON.stringify(g)!==JSON.stringify(m)&&(m>0||Array.isArray(m)&&m.length>0)&&(k(m),V({include:Array.isArray(m)?m:[m]}))}),[m,g]),React.createElement(l.Z,{mode:p?"multiple":void 0,disabled:v,showSearch:!0,value:g,placeholder:(0,s.__)("Search..."),notFoundContent:w?React.createElement(n.Z,{size:"small"}):null,onClick:()=>E(""),onSearch:E,onChange:e=>{const t=Array.isArray(e)?e.map(Number):+e;k(t),null==f||f(t)},filterOption:!1,loading:w},!p&&!w&&React.createElement(l.Z.Option,{value:0},(0,s.__)("— Select —")),C.map((e=>{return React.createElement(l.Z.Option,{key:e.id,value:e.id,style:{display:y(e)?void 0:"none"}},(t=b(e),(0,d.C)(t)?null===(a=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===a?void 0:a.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent));var t,a})))}},5573:(e,t,a)=>{a.d(t,{N:()=>n});var l=a(7363);function n(e,t,a,n){const[o,r]=(0,l.useState)(e);return(0,l.useEffect)((()=>{const a=setTimeout((()=>{r(e)}),t);return null==n||n(e),()=>{clearTimeout(a)}}),[e]),(0,l.useEffect)((()=>{a(o)}),[o]),o}},1487:(e,t,a)=>{a.d(t,{w:()=>i});var l=a(6711),n=a(9743),o=a(7363),r=a(3642);const i=()=>{const{params:e}=(0,l.useRouteMatch)(),{cookieStore:t}=(0,n.m)(),a=+e.blocker,i=isNaN(+a)?0:+a,s=!!a,c=t.blockers.entries.get(i)||new r.p(t.blockers,{id:0}),u=(0,o.useCallback)((({key:e})=>"#/blocker/edit/".concat(e)),[c]);return{blocker:c,id:i,queried:s,fetched:0!==c.key,link:"#/blocker",editLink:u,addLink:"#/blocker/new"}}}}]);
|
2 |
-
//# sourceMappingURL=637.lite.js.map?ver=
|
1 |
+
"use strict";(self.webpackChunkrealCookieBanner_=self.webpackChunkrealCookieBanner_||[]).push([[637],{2637:(e,t,a)=>{a.d(t,{d:()=>me,$:()=>de});var l=a(8208),n=a(3307),r=a(7465),o=a(691),i=a(3751),s=a(1839),c=a(7363),u=a(3867),d=a(9204),m=a(5217),p=a(1712),v=a(9743),h=a(6711),b=a(1816),f=a(1487),y=a(4121),R=a(3642),E=a(3558);const g=({nonExistingServices:e,onCreated:t})=>{const[a,l]=(0,c.useState)(),[n,r]=(0,c.useState)([]),o=(e||[]).filter((({identifier:e})=>-1===n.indexOf(e))),s=null==e?void 0:e.map((({identifier:e,attributes:o,version:s})=>React.createElement(i.Z,{key:e,visible:a===e,title:(0,m.__)("Add service"),width:"calc(100% - 50px)",bodyStyle:{paddingBottom:0},footer:null,onCancel:()=>l(void 0)},React.createElement(E.Z,{overwriteAttributes:o,navigateAfterCreation:!1,scrollToTop:!1,preset:{identifier:e,version:s},onCreated:e=>{l(void 0),r([...n,a]),t(e)}}))));return React.createElement(React.Fragment,null,s,0===o.length?null:React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,m.__)("Some services from the template could not be found. Please select (or create if not already exist) the following services:",o.join(", "))),React.createElement("ul",{style:{margin:"0 0 10px"}},o.map((({identifier:e,name:t,subHeadline:a})=>React.createElement("li",{key:e},React.createElement("strong",null,t,a?" (".concat(a,")"):"")," • ",React.createElement("a",{onClick:t=>{l(e),t.preventDefault()},style:{cursor:"pointer"}},(0,m.__)("Create now"))))))))};var k=a(8700),w=a(5998),T=a(9712),C=a(7669);const{addFilter:_}=w.hooks,{MediaUpload:V}=w.mediaUtils;_("editor.MediaUpload","core/edit-post/components/media-upload/replace-media-upload",(()=>V));const Z=({attachmentId:e,title:t,allowedTypes:a,render:n,onChange:r})=>{const o=e||void 0,{data:i,error:s,fetching:u}=function(e){const[t,a]=(0,c.useState)(!1),[l,n]=(0,c.useState)(),[r,o]=(0,c.useState)(),i=(0,c.useCallback)((async e=>{a(!0);const{currentLanguage:t}=(0,T.u)();try{const l=await(0,C.W)({location:{path:"/media/:id",method:k.RouteHttpVerb.GET,namespace:"wp/v2"},params:{id:e,_dataLocale:t}});n(l),o(void 0)}catch(e){n(void 0),o(e)}finally{a(!1)}}),[]);return(0,c.useEffect)((()=>{e?i(e):(n(void 0),o(void 0))}),[e]),{fetching:t,data:l,fetch:i,error:r}}(o),d=null==i?void 0:i.source_url;return(0,c.useEffect)((()=>{var e;"rest_post_invalid_id"===(null==s||null===(e=s.responseJSON)||void 0===e?void 0:e.code)&&r(void 0,void 0)}),[s]),React.createElement(l.Z,{spinning:u},React.createElement(V,{onSelect:e=>{null==r||r(null==e?void 0:e.id,e)},title:t,allowedTypes:a,value:o,render:({open:e})=>n({open:e,reset:()=>r(void 0,void 0),attachmentId:o,url:d})}))};var S=a(6541),I=a(3875);const P={labelCol:{span:6},wrapperCol:{span:16}};var F=a(2065),x=a(433);const D=()=>{const{__:e}=(0,I.f)(),t=(0,c.useRef)();return React.createElement(n.Z.Item,{label:e("Name"),required:!0},React.createElement(n.Z.Item,{name:"name",noStyle:!0,rules:[{required:!0,message:e("Please provide a name!")}]},React.createElement(F.Z,null)),React.createElement("p",{className:"description",ref:t},React.createElement(x.A,{form:"blocker",valueName:"name",widthOfRef:t,renderDiff:e=>React.createElement(F.Z,{value:e,readOnly:!0})}),e('Each content blocker should have a descriptive name that is understandable to a non-professional user, e.g. "Google Maps".')))};var N=a(1088);const M=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{label:e("Status"),required:!0},React.createElement(n.Z.Item,{name:"status",noStyle:!0,rules:[{required:!0,message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,null,React.createElement(N.ZP.Button,{value:"publish"},e("Enabled")),React.createElement(N.ZP.Button,{value:"private"},e("Disabled")),React.createElement(N.ZP.Button,{value:"draft"},e("Draft")))),React.createElement("p",{className:"description"},e('Content Blockers with the status "Draft" or "Disabled" are not visible to the public. In addition, a draft will be highlighted in the content blocker table so that you do not forget to configure it.')))},B=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{label:e("Description")},React.createElement(n.Z.Item,{name:"description",noStyle:!0},React.createElement(F.Z.TextArea,{autoSize:{minRows:3}})),React.createElement("p",{className:"description"},e("You can give your visitors further explanations why a content has been blocked or, for example, how they can contact you alternatively instead of agreeing to load the contact form. The description is displayed only in visual content blockers.")))};var A=a(3115),q=a(7421);const U=()=>{const{__:e}=(0,I.f)();return React.createElement(React.Fragment,null,React.createElement(A.C,{offset:P.labelCol.span},e("General content blocker configuration")," ",React.createElement(q.r,{url:e("https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/")})),React.createElement(D,null),React.createElement(M,null),React.createElement(B,null))},O=()=>{const{__:e,_i:t,openCookieExperts:a}=(0,I.f)(),l=(0,c.useRef)();return React.createElement(n.Z.Item,{label:e("URLs / Elements to block"),required:!0},React.createElement(n.Z.Item,{name:"rules",noStyle:!0,rules:[{required:!0,message:e("Please provide at least one URL/element!")}]},React.createElement(F.Z.TextArea,{autoSize:{minRows:3,maxRows:15}})),React.createElement("p",{className:"description",ref:l},React.createElement(x.A,{form:"blocker",valueName:"rules",widthOfRef:l,difference:(e,t)=>{const a=e.split("\n"),l=t.split("\n").filter((e=>!a.includes(e)));return l.length>0?l:void 0},apply:(e,t,a)=>t({rules:a.split("\n").concat(e).join("\n")}),newValueText:e("Missing entries:"),renderDiff:(e,t)=>React.createElement(F.Z.TextArea,{value:t.join("\n"),readOnly:!0,autoSize:{minRows:3,maxRows:15}})}),t(e("Enter one rule per line to replace content with a content blocker. You can block all available URLs or HTML tags on your website including videos, iframes, scripts, inline scripts and stylesheets. Please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder)."),{code:React.createElement("code",null)})," • ",!!a&&React.createElement("button",{type:"button",className:"button-link",onClick:a},e("Can't handle it? Let a Cookie Expert help you!")),React.createElement("br",null),React.createElement("br",null),t(e('{{strong}}Pro tip:{{/strong}} Look up all available syntaxes like {{code}}div[class*="my-embed"]{{/code}} in our knowledge base to block content perfectly.'),{strong:React.createElement("strong",null),code:React.createElement("code",null)})," ",React.createElement(q.r,{url:e("https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/")})))},L=()=>{const{__:e,isTcf:t}=(0,I.f)();return React.createElement(n.Z.Item,{label:e("Block by"),required:!0,style:{display:t?void 0:"none"}},React.createElement(n.Z.Item,{name:"criteria",noStyle:!0,rules:[{required:!0,message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,null,React.createElement(N.ZP.Button,{value:"services"},e("Services")),React.createElement(N.ZP.Button,{value:"tcfVendors"},e("TCF Vendors")))),React.createElement("p",{className:"description"},e("You can block content through non-standard services or TCF vendors. If you want to block it through TCF vendors, then the visual content blocker cannot be displayed because TCF is usually used to obtain consent for ad networks. Moreover, after the initial consents in the cookie banner, users will probably never consent to the ad.")))},G=({dropdown:e,children:t})=>{const{__:a,_i:l,proModals:{visual:{modal:r}}}=(0,I.f)();return React.createElement(React.Fragment,null,r,React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:r})=>"services"===r("criteria")&&React.createElement(n.Z.Item,{label:a("Connected services"),required:!0},React.createElement(n.Z.Item,{name:"services",noStyle:!0,rules:[{type:"array",required:!0,message:a("Please provide at least one service!")}]},e),React.createElement("p",{className:"description"},l(a("A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary services that would be used by loading the content. You must define all services that are loaded as soon as the user wants to see the blocked content."),{strong:React.createElement("strong",null)})),t))))},H=({dropdown:e,children:t})=>{const{__:a,_i:l,proModals:{visual:{modal:r}}}=(0,I.f)();return React.createElement(React.Fragment,null,r,React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:r})=>"tcfVendors"===r("criteria")&&React.createElement(n.Z.Item,{label:a("Connected TCF Vendors"),required:!0},React.createElement(n.Z.Item,{name:"tcfVendors",noStyle:!0,rules:[{type:"array",required:!0,message:a("Please provide at least one vendor!")}]},e),React.createElement("p",{className:"description"},l(a("A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary TCF vendors that would be used by loading the content. You must define all TCF vendors that are loaded based on legitimate interest or consent as soon as the user wants to see the blocked content."),{strong:React.createElement("strong",null)})),t))))},j=({servicesFieldProps:e,tcfVendorsFieldProps:t})=>{const{__:a}=(0,I.f)();return React.createElement(React.Fragment,null,React.createElement(A.C,{offset:P.labelCol.span},a("Technical Definition")),React.createElement(O,null),React.createElement(L,null),React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:a})=>{switch(a("criteria")){case"services":return React.createElement(G,e);case"tcfVendors":return React.createElement(H,t);default:return null}})))};var Y=a(7818);const z=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"isVisual",valuePropName:"checked",noStyle:!0},React.createElement(Y.Z,null)),React.createElement("span",null," ",e("Show the visual content blocker, if possible"))))};var W=a(7532);const J=()=>{const{__:e,isPro:t,proModals:{visual:{tag:a}}}=(0,I.f)(),l=(0,c.useMemo)((()=>({default:{title:e("Textbox"),description:e("Plain text with button")},wrapped:{title:e("Wrapped"),description:e("Image surrounding the content blocker")},hero:{title:e("Hero"),description:e("Image with content blocker on click")}})),[e]);return React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual},(({getFieldValue:r})=>!!r("isVisual")&&React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span},style:{paddingBottom:10}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"visualType",noStyle:!0,rules:t?[]:[{required:!0,type:"enum",enum:["default"],message:e("This type of visual content blocker is available only in the PRO version of the plugin. Please choose a textbox content blocker!")}]},React.createElement(N.ZP.Group,{size:"large",buttonStyle:"solid",className:"rcb-antd-radio-button-card",style:{marginBottom:10}},Object.keys(l).map((e=>{const{description:t,title:n}=l[e];return React.createElement(N.ZP.Button,{value:e,key:e},React.createElement(W.Z,{style:{width:300},bordered:!1,cover:React.createElement("img",{style:{height:168.75},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/".concat(e,".png")})},React.createElement(W.Z.Meta,{title:React.createElement(React.Fragment,null,n," ","default"!==e&&a),description:t})))}))))))))},$=()=>{const{__:e,isPro:t,proModals:{visual:{tag:a}}}=(0,I.f)(),l=(0,c.useMemo)((()=>({map:e("Map"),"audio-player":e("Audio player"),"video-player":e("Video player"),"feed-text":e("Feed (text)"),"feed-video":e("Feed (image/video)"),generic:e("None of these")})),[e]);return React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisualDarkMode!==t.isVisualDarkMode||e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:r})=>{const o=r("isVisual"),i=r("visualType");return!!o&&"default"!==i&&React.createElement(n.Z.Item,{label:e("Content type"),required:!0,extra:a},React.createElement(n.Z.Item,{name:"visualContentType",rules:[{required:!0,message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,{size:"large",buttonStyle:"solid",className:"rcb-antd-radio-button-card"},Object.keys(l).map((e=>{const a=l[e];return React.createElement(N.ZP.Button,{value:e,key:e,style:{margin:"0 5px 5px 0"},disabled:!t},React.createElement(W.Z,{style:{width:240},bordered:!1,size:"small",cover:React.createElement(React.Fragment,null,React.createElement("img",{style:{display:r("isVisualDarkMode")?"none":void 0},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/".concat(e,"-light.png")}),React.createElement("img",{style:{display:r("isVisualDarkMode")?void 0:"none"},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/".concat(e,"-dark.png")}))},React.createElement(W.Z.Meta,{title:a})))})))))}))},X=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t})=>{const a=t("isVisual"),l=t("visualType");return!!a&&"default"!==l&&React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"isVisualDarkMode",valuePropName:"checked",noStyle:!0},React.createElement(Y.Z,null))," ",e("Enable dark mode"),React.createElement("p",{className:"description"},e("As soon as no image is found for the content blocker, a default image is automatically used. You can also specify whether the image should be displayed light or dark."))))}))};var K=a(8936);const Q=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.visualDownloadThumbnail!==t.visualDownloadThumbnail||e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t,setFieldsValue:a})=>{const l=t("visualDownloadThumbnail"),r=t("isVisual"),o=t("visualType");return!!r&&"default"!==o&&React.createElement(React.Fragment,null,React.createElement(n.Z.Item,{label:e("Automatic preview image")},React.createElement(n.Z.Item,{noStyle:!0,name:"visualDownloadThumbnail",required:!0,rules:[{required:!0,type:"boolean",message:e("Please choose an option!")}]},React.createElement(N.ZP.Group,{style:{display:l?void 0:"none"}},React.createElement(N.ZP.Button,{value:!0},e("Download preview image and serve locally")),React.createElement(N.ZP.Button,{value:!1},e("Image from media library")))),!l&&React.createElement(N.ZP.Group,{value:l},React.createElement(K.Z,{title:e("I confirm that I have the required rights to embedded content and its thumbnails can be copied to my servers without e.g. copyright infringement."),cancelText:e("Cancel"),okText:e("Activate now"),overlayStyle:{maxWidth:450},onCancel:()=>a({visualDownloadThumbnail:!1}),onConfirm:()=>a({visualDownloadThumbnail:!0}),placement:"bottomLeft"},React.createElement(N.ZP.Button,{value:!0},e("Download preview image and serve locally"))),React.createElement(N.ZP.Button,{value:!1,onClick:()=>a({visualDownloadThumbnail:!1})},e("Image from media library"))),React.createElement("p",{className:"description"},e("If you block an external URL, this option will try to download an image for this URL using different mechanisms (oEmbed, OpenGraph, ...), saves it locally and use it as background image."))))}))},ee=({children:e})=>{const{__:t,isPro:a}=(0,I.f)();return a&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.visualDownloadThumbnail!==t.visualDownloadThumbnail||e.isVisual!==t.isVisual||e.visualType!==t.visualType||e.visualContentType!==t.visualContentType},(({getFieldValue:a})=>{const l=a("isVisual"),r=a("visualType"),o=a("visualContentType"),i=a("visualDownloadThumbnail");return!!l&&"default"!==r&&React.createElement(n.Z.Item,{label:t(i||"generic"===o?"Fallback preview image":"Preview image"),name:"visualMediaThumbnail",valuePropName:"attachmentId",style:{display:void 0===i?"none":void 0}},e)}))};var te=a(679);const ae=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t})=>{const a=t("isVisual"),l=t("visualType");return!!a&&"default"!==l&&React.createElement(n.Z.Item,{label:e("Blur image")},React.createElement(n.Z.Item,{name:"visualBlur",noStyle:!0},React.createElement(te.Z,{min:0,max:20,marks:{0:e("Disabled"),5:"5%",10:"10%",15:"15%",20:"20%"},tooltipVisible:!1,style:{marginLeft:40}})),React.createElement("p",{className:"description"},e("You can apply an additional blur to the background image. This can be useful e.g. for blocked contact forms to show it only schematically.")))}))},le=()=>{const{__:e,isPro:t}=(0,I.f)();return t&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual||e.visualType!==t.visualType},(({getFieldValue:t})=>{const a=t("isVisual"),l=t("visualType");return!!a&&"default"!==l&&React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.visualContentType!==t.visualContentType},(({getFieldValue:t})=>{const a=t("visualContentType"),l=t("visualType");return React.createElement(n.Z.Item,{label:e("Button text"),style:{display:["audio-player","video-player"].indexOf(a)>-1||"hero"!==l?"none":void 0}},React.createElement(n.Z.Item,{name:"visualHeroButtonText",noStyle:!0},React.createElement(F.Z,null)),React.createElement("p",{className:"description"},e("If you specify a button text, a button with this text will be centered in the image and only when you click on this button the content blocker will be opened. Otherwise, clicking on the image itself will open the Content Blocker.")))}))}))},ne=()=>{const{__:e}=(0,I.f)();return React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.isVisual!==t.isVisual},(({getFieldValue:t})=>!!t("isVisual")&&React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("span",null,React.createElement(n.Z.Item,{name:"shouldForceToShowVisual",valuePropName:"checked",noStyle:!0},React.createElement(Y.Z,null))," ",e("Force visual content blocker for hidden elements"),React.createElement("p",{className:"description"},e("In rare cases, visual content blockers are not displayed because the main element of the blocked content is not visible either. Enable this option if this is the case and you want to force to display a content blocker for non-visible elements."))))))},re=({visualMediaThumbnailPicker:e})=>{const{__:t,proModals:{visual:{modal:a}}}=(0,I.f)();return React.createElement(React.Fragment,null,a,React.createElement(n.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.criteria!==t.criteria},(({getFieldValue:a})=>"services"===a("criteria")&&React.createElement(React.Fragment,null,React.createElement(A.C,{offset:P.labelCol.span,description:t("For each content blocker it can be defined if it should be visually visible. This means that if the user has not agreed to the respective services, a box with a button is displayed to adjust the privacy settings so that the actual content can be loaded. The design of the box is copied from the cookie banner.")},t("Visual")),React.createElement(z,null),React.createElement(J,null),React.createElement($,null),React.createElement(X,null),React.createElement(Q,null),React.createElement(ee,null,e),React.createElement(ae,null),React.createElement(le,null),React.createElement(ne,null)))))};var oe=a(4217);const ie=()=>{const{__:e,presetCheck:t,isTemplateUpdate:a}=(0,I.f)();return!(!t&&!a)&&React.createElement(n.Z.Item,{name:"presetCheck",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:e=>e||void 0,message:e("Please confirm that you have checked the content of the content blocker.")}],wrapperCol:{offset:P.labelCol.span}},React.createElement(oe.Z,null,e("I have checked the information in the content blocker template myself and added any missing information or corrected any information that does not fit to my use case.")," ",React.createElement(q.r,{url:e("https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/")})))};var se=a(987),ce=a(5941);const ue=({technicalProps:e,visualProps:t})=>{const{__:a,_i:l}=(0,I.f)(),r=(0,c.useRef)(),o=se.x.Context();return React.createElement(o.Provider,{value:{__:a,_i:l}},React.createElement("div",{ref:r},React.createElement(ce.j,{containerRef:r,form:"blocker"}),React.createElement(U,null),React.createElement(j,e),React.createElement(re,t),React.createElement(n.Z.Item,{className:"rcb-form-sticky-submit",labelCol:{span:0},wrapperCol:{span:24}},React.createElement(ie,null),React.createElement(n.Z.Item,{wrapperCol:{offset:P.labelCol.span}},React.createElement("div",{style:{textAlign:"center"}},React.createElement("input",{type:"submit",className:"button button-primary",value:a("Save")}))))))};function de(){return(0,b.t)({title:(0,m.__)("Want a better integrated visual content blocker for your website?"),testDrive:!0,feature:"visual-content-blocker",assetName:(0,m.__)("pro-modal/visual-content-blocker.webp"),description:(0,m.__)("Instead of a lot of text, you can offer your visitor a more pleasant way to view blocked content. For example, you can replace your video embeds with a privacy-compliant dummy player with thumbnail, or an embedded map with a preview map.")})}const me=(0,u.Pi)((({preset:e,overwriteAttributes:t,navigateAfterCreation:a=!0,cookieCreationPrompt:u=!1})=>{var b,k;const{blocker:w,id:T,queried:C,fetched:_,link:V}=(0,f.w)(),F=(0,h.useHistory)(),[x,D]=(0,c.useState)(!1),{cookieStore:N,optionStore:{tcf:M,others:{isPro:B}}}=(0,v.m)(),A=(null==w?void 0:w.presetModel)||N.presetsBlocker.get(null==e?void 0:e.identifier),q={...null==A?void 0:A.attributes,...t},{form:U,isBusy:O,defaultValues:L,nonExistingServices:G,onFinish:H,onFinishFailed:j,onBeforeUnload:Y,onValuesChange:z,contextValue:W}=function(e){var t,a,l,n;const{isTcf:r,preset:o,attributes:i,__:s,_i:c}=e,u={name:(null==i?void 0:i.name)||"",status:"publish",description:(null==i?void 0:i.description)||"",criteria:r&&!o?"tcfVendors":"services",rules:(null==i||null===(t=i.rules)||void 0===t?void 0:t.join("\n"))||"",tcfVendors:(null==i||null===(a=i.tcfVendors)||void 0===a?void 0:a.filter(Number))||[],services:null==i||null===(l=i.serviceTemplates)||void 0===l?void 0:l.map((({created:e})=>!1===e?void 0:e)).filter(Boolean),isVisual:"boolean"!=typeof(null==i?void 0:i.isVisual)||i.isVisual,visualType:(null==i?void 0:i.visualType)||"default",visualMediaThumbnail:0,visualContentType:(null==i?void 0:i.visualContentType)||"generic",isVisualDarkMode:"boolean"==typeof(null==i?void 0:i.isVisualDarkMode)&&i.isVisualDarkMode,visualBlur:(null==i?void 0:i.visualBlur)||0,visualDownloadThumbnail:"boolean"==typeof(null==i?void 0:i.visualDownloadThumbnail)?i.visualDownloadThumbnail:void 0,visualHeroButtonText:(null==i?void 0:i.visualHeroButtonText)||"",shouldForceToShowVisual:(null==i?void 0:i.shouldForceToShowVisual)||!1,presetCheck:!o};return{...(0,S.f)({...e,defaultValues:u,i18n:{successMessage:s("You have successfully saved the content blocker."),validationError:s("The content blocker could not be saved due to missing/invalid form values."),unloadConfirm:s('You have unsaved changes. If you click on "confirm", your changes will be discarded.'),unloadConfirmInitialActive:s("You have already created a service. Are you sure that you don't want to create the corresponding content blocker?")}}),defaultValues:u,nonExistingServices:(null==i||null===(n=i.serviceTemplates)||void 0===n?void 0:n.filter((({created:e})=>!e)))||[],contextValue:{__:s,_i:c,isTcf:r,presetCheck:!!o,defaultPresetValues:o?u:{}}}}({__:m.__,_i:m._i,attributes:q,isTcf:M,preset:A?{identifier:A.data.identifier,version:A.data.version}:void 0,initialHasChanges:u,handleSave:async e=>{try{var t,l;const{name:n,status:r,description:o,...i}=e,s={...i,visualMediaThumbnail:i.visualMediaThumbnail||0,criteria:i.criteria,tcfVendors:(null===(t=i.tcfVendors)||void 0===t?void 0:t.join(","))||"",services:(null===(l=i.services)||void 0===l?void 0:l.join(","))||"",isVisual:"services"===i.criteria&&i.isVisual,presetId:null==A?void 0:A.data.identifier,presetVersion:null==A?void 0:A.data.version};if(delete s.presetCheck,C)w.setName(n),w.setStatus(r),w.setDescription(o),w.setMeta(s),await w.patch();else{const e=new R.p(J,{title:{rendered:n},content:{rendered:o,protected:!1},status:r,meta:s});await e.persist()}a&&setTimeout((()=>"string"==typeof a?window.location.href=a:F.push(V.slice(1))),0)}catch(e){throw e.responseJSON.message}}}),{blockers:J,essentialGroup:$}=N,{openDialog:X}=(0,y.u)(),K=_?{name:w.data.title.raw,status:w.data.status,description:w.data.content.raw,criteria:w.data.meta.criteria,rules:w.data.meta.rules,tcfVendors:w.tcfVendors,services:w.services,isVisual:w.data.meta.isVisual,visualType:B?w.data.meta.visualType:"default",visualMediaThumbnail:w.data.meta.visualMediaThumbnail,visualContentType:w.data.meta.visualContentType,isVisualDarkMode:w.data.meta.isVisualDarkMode,visualBlur:w.data.meta.visualBlur,visualDownloadThumbnail:w.data.meta.visualDownloadThumbnail,visualHeroButtonText:w.data.meta.visualHeroButtonText,shouldForceToShowVisual:w.data.meta.shouldForceToShowVisual,presetCheck:void 0}:L,Q=(0,c.useCallback)((e=>{U.setFieldsValue({services:[...U.getFieldValue("services"),e.key]})}),[U]);(0,c.useEffect)((()=>{C&&!_&&J.getSingle({params:{id:T,context:"edit"}})}),[C,_]),(0,c.useEffect)((()=>{!A||A.attributes||A.busy||A.fetchAttributes()}),[A]),(0,c.useEffect)((()=>{(0,p.X)(0),$||N.fetchGroups()}),[]);const ee=de(),te=I.$.Context();if(C&&!_||A&&!A.attributes)return React.createElement(s.Z,{active:!0,paragraph:{rows:8}});const ae=!(!_||!A)&&(null===(b=w.data)||void 0===b||null===(k=b.meta)||void 0===k?void 0:k.presetVersion)!==A.data.version;return React.createElement(te.Provider,{value:{...W,isPro:B,isEdit:_,isTemplateUpdate:ae,proModals:{visual:ee},openCookieExperts:X,presetCheck:!!A&&(ae||!_)}},React.createElement(l.Z,{spinning:O||(null==A?void 0:A.busy)||!1},React.createElement(h.Prompt,{message:Y}),React.createElement(n.Z,(0,r.Z)({name:"blocker-".concat(T),form:U},P,{initialValues:K,onFinish:H,onFinishFailed:j,onValuesChange:z}),React.createElement(ue,{technicalProps:{servicesFieldProps:{dropdown:React.createElement(d.m,{postType:"rcb-cookie",multiple:!0,filter:e=>e["rcb-cookie-group"][0]!==(null==$?void 0:$.key)}),children:React.createElement(React.Fragment,null,React.createElement("button",{type:"button",className:"button",onClick:()=>D(!0)},(0,m.__)("Create new service")),React.createElement(i.Z,{key:T,visible:x,title:(0,m.__)("Add service"),width:"calc(100% - 50px)",bodyStyle:{paddingBottom:0},footer:null,onCancel:()=>D(!1)},React.createElement(E.Z,{navigateAfterCreation:!1,scrollToTop:!1,onCreated:e=>{D(!1),Q(e)}})),React.createElement(g,{nonExistingServices:G,onCreated:Q}))},tcfVendorsFieldProps:{dropdown:React.createElement(d.m,{postType:"rcb-tcf-vendor-conf",multiple:!0,titleRender:({vendor:{name:e}})=>e})}},visualProps:{visualMediaThumbnailPicker:React.createElement(Z,{title:(0,m.__)("Select preview image"),allowedTypes:["image"],render:({open:e,reset:t,attachmentId:a,url:l})=>React.createElement(React.Fragment,null,React.createElement("p",{style:{marginTop:0}},React.createElement("a",{className:"button",onClick:e},a?(0,m.__)("Replace image"):(0,m.__)("Select from media library"))," ",a&&React.createElement("a",{className:"button",onClick:t},(0,m.__)("Remove image"))),l&&React.createElement(o.Z,{width:272,src:l}))})}}))))}))},9204:(e,t,a)=>{a.d(t,{m:()=>m});var l=a(9172),n=a(8208),r=a(7363),o=a(9712),i=a(7669),s=a(5217),c=a(5573),u=a(8700),d=a(4028);const m=({postType:e,postStatus:t=["draft","publish","private"],perPage:a=10,value:m,multiple:p,disabled:v,forceDefaultLanguage:h,onChange:b,titleRender:f=(({title:{rendered:e}})=>e),filter:y=(()=>!0)})=>{const[R,E]=(0,r.useState)(!1),[g,k]=(0,r.useState)(m),[w,T]=(0,r.useState)(!1),[C,_]=(0,r.useState)([]),V=(0,r.useCallback)((async a=>{T(!0);const{defaultLanguage:l,currentLanguage:n}=(0,o.u)(),r=await(0,i.W)({location:{path:"/".concat(e),method:u.RouteHttpVerb.GET,namespace:"wp/v2"},request:{status:a.include?["draft","publish","private"]:t,orderby:a.search?"relevance":"title",...a},params:{_dataLocale:h?l:n}});_(r),T(!1)}),[]);return(0,c.N)(R,""===R?0:800,(e=>{!1!==e&&V({search:e,per_page:e.length?50:a})}),(e=>{!1!==e&&T(!0),_([])})),(0,r.useEffect)((()=>{(g>0||Array.isArray(g)&&g.length>0)&&V({include:Array.isArray(g)?g:[g]})}),[]),(0,r.useEffect)((()=>{JSON.stringify(g)!==JSON.stringify(m)&&(m>0||Array.isArray(m)&&m.length>0)&&(k(m),V({include:Array.isArray(m)?m:[m]}))}),[m,g]),React.createElement(l.Z,{mode:p?"multiple":void 0,disabled:v,showSearch:!0,value:g,placeholder:(0,s.__)("Search..."),notFoundContent:w?React.createElement(n.Z,{size:"small"}):null,onClick:()=>E(""),onSearch:E,onChange:e=>{const t=Array.isArray(e)?e.map(Number):+e;k(t),null==b||b(t)},filterOption:!1,loading:w},!p&&!w&&React.createElement(l.Z.Option,{value:0},(0,s.__)("— Select —")),C.map((e=>{return React.createElement(l.Z.Option,{key:e.id,value:e.id,style:{display:y(e)?void 0:"none"}},(t=f(e),(0,d.C)(t)?null===(a=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===a?void 0:a.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent));var t,a})))}},5573:(e,t,a)=>{a.d(t,{N:()=>n});var l=a(7363);function n(e,t,a,n){const[r,o]=(0,l.useState)(e);return(0,l.useEffect)((()=>{const a=setTimeout((()=>{o(e)}),t);return null==n||n(e),()=>{clearTimeout(a)}}),[e]),(0,l.useEffect)((()=>{a(r)}),[r]),r}},1487:(e,t,a)=>{a.d(t,{w:()=>i});var l=a(6711),n=a(9743),r=a(7363),o=a(3642);const i=()=>{const{params:e}=(0,l.useRouteMatch)(),{cookieStore:t}=(0,n.m)(),a=+e.blocker,i=isNaN(+a)?0:+a,s=!!a,c=t.blockers.entries.get(i)||new o.p(t.blockers,{id:0}),u=(0,r.useCallback)((({key:e})=>"#/blocker/edit/".concat(e)),[c]);return{blocker:c,id:i,queried:s,fetched:0!==c.key,link:"#/blocker",editLink:u,addLink:"#/blocker/new"}}}}]);
|
2 |
+
//# sourceMappingURL=637.lite.js.map?ver=33a352aac1ee27241969
|
public/dist/637.lite.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"637.lite.js?ver=ef6cb6d16781bb56366d","mappings":"uUAKA,MAAMA,EAAuC,EAC3CC,oBAAAA,EACAC,UAAAA,MAEA,MAAOC,EAAQC,IAAa,IAAAC,aAErBC,EAASC,IAAc,IAAAF,UAAS,IACjCG,GAA0BP,GAAuB,IAAIQ,QAAO,EAChEC,WAAAA,MACqC,IAAjCJ,EAAQK,QAAQD,KAEhBE,EAAeX,MAAAA,OAAiE,EAASA,EAAoBY,KAAI,EACrHH,WAAAA,EACAI,WAAAA,EACAC,QAAAA,KACiBC,MAAMC,cAAc,IAAQ,CAC7CC,IAAKR,EACLS,QAAShB,IAAWO,EACpBU,OAAO,IAAAC,IAAG,eACVC,MAAO,oBACPC,UAAW,CACTC,cAAe,GAEjBC,OAAQ,KACRC,SAAU,IAAMtB,OAAUuB,IACZX,MAAMC,cAAc,IAAgB,CAClDW,uBAAuB,EACvBC,aAAa,EACbC,OAAQ,CACNpB,WAAAA,EACAK,QAAAA,GAEFb,UAAW6B,IACT3B,OAAUuB,GACVpB,EAAW,IAAID,EAASH,IACxBD,EAAU6B,SAGd,OAAoBf,MAAMC,cAAcD,MAAMgB,SAAU,KAAMpB,EAAgD,IAAlCJ,EAAuByB,OAAe,KAAoBjB,MAAMC,cAAc,MAAO,CAC/JiB,UAAW,6CACGlB,MAAMC,cAAc,IAAK,MAAM,IAAAI,IAAG,6HAA8Hb,EAAuB2B,KAAK,QAAsBnB,MAAMC,cAAc,KAAM,CAC1PmB,MAAO,CACLC,OAAQ,aAET7B,EAAuBK,KAAI,EAC5BH,WAAAA,EACA4B,KAAAA,EACAC,YAAAA,KACiBvB,MAAMC,cAAc,KAAM,CAC3CC,IAAKR,GACSM,MAAMC,cAAc,SAAU,KAAMqB,EAAMC,EAAc,KAAKC,OAAOD,EAAa,KAAO,IAAK,MAA+BvB,MAAMC,cAAc,IAAK,CACnKwB,QAASC,IACPtC,EAAUM,GACVgC,EAAEC,kBAEJP,MAAO,CACLQ,OAAQ,aAET,IAAAvB,IAAG,sB,4CC1DR,MAAM,UACJwB,GACE,EAAAC,OACE,YACJC,GACE,EAAAC,WAIJH,EAAU,qBAAsB,+DAFL,IAAME,IAyDjC,MAAME,EAAuB,EAC3BC,aAAAA,EACA9B,MAAAA,EACA+B,aAAAA,EACAC,OAAAA,EACAC,SAAAA,MAEA,MAAMC,EAAkBJ,QAAgBvB,GAElC,KACJ4B,EAAI,MACJC,EAAK,SACLC,GAjEJ,SAA4BC,GAC1B,MAAOD,EAAUE,IAAe,IAAAtD,WAAS,IAClCkD,EAAMK,IAAW,IAAAvD,aACjBmD,EAAOK,IAAY,IAAAxD,YACpByD,GAAQ,IAAAC,cAAYC,MAAAA,IACxBL,GAAY,GACZ,MAAM,gBACJM,IACE,EAAAC,EAAA,KAEJ,IACE,MAAMC,QAAe,OAAa,CAChCC,SAAU,CACRC,KAAM,aACNC,OAAQ,EAAAC,cAAA,IACRC,UAAW,SAEbC,OAAQ,CACNf,GAAAA,EACAgB,YAAaT,KAGjBL,EAAQO,GACRN,OAASlC,GACT,MAAOe,GACPkB,OAAQjC,GACRkC,EAASnB,GACT,QACAiB,GAAY,MAEb,IASH,OARA,IAAAgB,YAAU,KACJjB,EACFI,EAAMJ,IAENE,OAAQjC,GACRkC,OAASlC,MAEV,CAAC+B,IACG,CACLD,SAAAA,EACAF,KAAAA,EACAO,MAAAA,EACAN,MAAAA,GAuBEoB,CAAmBtB,GACjBuB,EAAMtB,MAAAA,OAAmC,EAASA,EAAKuB,WAQ7D,OAPA,IAAAH,YAAU,KACR,IAAII,EAE8K,0BAA7KvB,MAAAA,GAA6F,QAA9CuB,EAAsBvB,EAAMwB,oBAAkD,IAAxBD,OAAhE,EAA0GA,EAAoBE,OACtK5B,OAAS1B,OAAWA,KAErB,CAAC6B,IACgBxC,MAAMC,cAAc,IAAO,CAC7CiE,SAAUzB,GACIzC,MAAMC,cAAc8B,EAAa,CAC/CoC,SAAUC,IACR/B,MAAAA,GAAoDA,EAAS+B,MAAAA,OAAqC,EAASA,EAAM1B,GAAI0B,IAEvHhE,MAAOA,EACP+B,aAAcA,EACdkC,MAAO/B,EACPF,OAAQ,EACNkC,KAAAA,KACIlC,EAAO,CACXkC,KAAAA,EACAC,MAAO,IAAMlC,OAAS1B,OAAWA,GACjCuB,aAAcI,EACduB,IAAAA,Q,wBC1GC,MAAMW,EAA2B,CACtCC,SAAU,CACRC,KAAM,GAERC,WAAY,CACVD,KAAM,K,uBCCV,MAAME,EAAqC,KACzC,MAAM,GACJvE,IACE,SACEwE,GAAM,IAAAC,UACZ,OAAoB9E,MAAMC,cAAc,SAAY,CAClD8E,MAAO1E,EAAG,QACV2E,UAAU,GACIhF,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,OACN2D,SAAS,EACTC,MAAO,CAAC,CACNF,UAAU,EACVG,QAAS9E,EAAG,6BAEAL,MAAMC,cAAc,IAAQ,OAAqBD,MAAMC,cAAc,IAAK,CACxFiB,UAAW,cACX2D,IAAKA,GACS7E,MAAMC,cAAc,IAA8B,CAChEmF,KAAM,UACNC,UAAW,OACXC,WAAYT,EACZU,WAAYlB,GAAsBrE,MAAMC,cAAc,IAAQ,CAC5DoE,MAAOA,EACPmB,UAAU,MAEVnF,EAAG,iI,cC5BT,MAAMoF,EAAuC,KAC3C,MAAM,GACJpF,IACE,SACJ,OAAoBL,MAAMC,cAAc,SAAY,CAClD8E,MAAO1E,EAAG,UACV2E,UAAU,GACIhF,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,SACN2D,SAAS,EACTC,MAAO,CAAC,CACNF,UAAU,EACVG,QAAS9E,EAAG,+BAEAL,MAAMC,cAAc,WAAc,KAAmBD,MAAMC,cAAc,YAAe,CACtGoE,MAAO,WACNhE,EAAG,YAA0BL,MAAMC,cAAc,YAAe,CACjEoE,MAAO,WACNhE,EAAG,aAA2BL,MAAMC,cAAc,YAAe,CAClEoE,MAAO,SACNhE,EAAG,YAA0BL,MAAMC,cAAc,IAAK,CACvDiB,UAAW,eACVb,EAAG,6MCtBFqF,EAA4C,KAChD,MAAM,GACJrF,IACE,SACJ,OAAoBL,MAAMC,cAAc,SAAY,CAClD8E,MAAO1E,EAAG,gBACIL,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,cACN2D,SAAS,GACKjF,MAAMC,cAAc,aAAiB,CACnD0F,SAAU,CACRC,QAAS,MAEK5F,MAAMC,cAAc,IAAK,CACzCiB,UAAW,eACVb,EAAG,yP,wBCdR,MAAMwF,EAAwC,KAC5C,MAAM,GACJxF,IACE,SACJ,OAAoBL,MAAMC,cAAcD,MAAMgB,SAAU,KAAmBhB,MAAMC,cAAc,IAAc,CAC3G6F,OAAQtB,EAAyBC,SAASC,MACzCrE,EAAG,yCAA0C,IAAkBL,MAAMC,cAAc,IAAc,CAClG4D,IAAKxD,EAAG,6FACQL,MAAMC,cAAc2E,EAAoC,MAAoB5E,MAAMC,cAAcwF,EAAsC,MAAoBzF,MAAMC,cAAcyF,EAA2C,QCNvOK,EAAwC,KAC5C,MAAM,GACJ1F,EAAE,GACF2F,EAAE,kBACFC,IACE,SACEpB,GAAM,IAAAC,UACZ,OAAoB9E,MAAMC,cAAc,SAAY,CAClD8E,MAAO1E,EAAG,4BACV2E,UAAU,GACIhF,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,QACN2D,SAAS,EACTC,MAAO,CAAC,CACNF,UAAU,EACVG,QAAS9E,EAAG,+CAEAL,MAAMC,cAAc,aAAiB,CACnD0F,SAAU,CACRC,QAAS,EACTM,QAAS,OAEKlG,MAAMC,cAAc,IAAK,CACzCiB,UAAW,cACX2D,IAAKA,GACS7E,MAAMC,cAAc,IAA8B,CAChEmF,KAAM,UACNC,UAAW,QACXC,WAAYT,EACZsB,WAAY,CAACC,EAAUC,KACrB,MAAMC,EAAeF,EAASG,MAAM,MAC9BC,EAAOH,EAASE,MAAM,MAAM9G,QAAOgH,IAAYH,EAAaI,SAASD,KAC3E,OAAOD,EAAKvF,OAAS,EAAIuF,OAAO7F,GAElCgG,MAAO,CAACH,EAAMI,EAAgBR,IAAaQ,EAAe,CACxD1B,MAAOkB,EAASG,MAAM,MAAM/E,OAAOgF,GAAMrF,KAAK,QAEhD0F,aAAcxG,EAAG,oBACjBkF,WAAY,CAAClB,EAAOmC,IAAsBxG,MAAMC,cAAc,aAAiB,CAC7EoE,MAAOmC,EAAKrF,KAAK,MACjBqE,UAAU,EACVG,SAAU,CACRC,QAAS,EACTM,QAAS,QAGXF,EAAG3F,EAAG,iRAAkR,CAC1R4D,KAAmBjE,MAAMC,cAAc,OAAQ,QAC7C,QAAoBgG,GAAkCjG,MAAMC,cAAc,SAAU,CACtF6G,KAAM,SACN5F,UAAW,cACXO,QAASwE,GACR5F,EAAG,mDAAiEL,MAAMC,cAAc,KAAM,MAAoBD,MAAMC,cAAc,KAAM,MAAO+F,EAAG3F,EAAG,+JAAgK,CAC1T0G,OAAqB/G,MAAMC,cAAc,SAAU,MACnDgE,KAAmBjE,MAAMC,cAAc,OAAQ,QAC7C,IAAkBD,MAAMC,cAAc,IAAc,CACtD4D,IAAKxD,EAAG,+FC3DN2G,EAA2C,KAC/C,MAAM,GACJ3G,EAAE,MACF4G,IACE,SACJ,OAAoBjH,MAAMC,cAAc,SAAY,CAClD8E,MAAO1E,EAAG,YACV2E,UAAU,EACV5D,MAAO,CACL8F,QAASD,OAAQtG,EAAY,SAEjBX,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,WACN2D,SAAS,EACTC,MAAO,CAAC,CACNF,UAAU,EACVG,QAAS9E,EAAG,+BAEAL,MAAMC,cAAc,WAAc,KAAmBD,MAAMC,cAAc,YAAe,CACtGoE,MAAO,YACNhE,EAAG,aAA2BL,MAAMC,cAAc,YAAe,CAClEoE,MAAO,cACNhE,EAAG,kBAAgCL,MAAMC,cAAc,IAAK,CAC7DiB,UAAW,eACVb,EAAG,kVCzBF8G,EAA2C,EAC/CC,SAAAA,EACAC,SAAAA,MAEA,MAAM,GACJhH,EAAE,GACF2F,EACAsB,WACEC,QAAQ,MACNC,MAGF,SACJ,OAAoBxH,MAAMC,cAAcD,MAAMgB,SAAU,KAAMwG,EAAoBxH,MAAMC,cAAc,SAAY,CAChHgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWE,WAAaD,EAAWC,WAC5E,EACDC,cAAAA,KAGoB,aADHA,EAAc,aACgB7H,MAAMC,cAAc,SAAY,CAC7E8E,MAAO1E,EAAG,sBACV2E,UAAU,GACIhF,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,WACN2D,SAAS,EACTC,MAAO,CAAC,CACN4B,KAAM,QACN9B,UAAU,EACVG,QAAS9E,EAAG,2CAEb+G,GAAwBpH,MAAMC,cAAc,IAAK,CAClDiB,UAAW,eACV8E,EAAG3F,EAAG,yPAA0P,CACjQ0G,OAAqB/G,MAAMC,cAAc,SAAU,SAChDoH,OCnCHS,EAA6C,EACjDV,SAAAA,EACAC,SAAAA,MAEA,MAAM,GACJhH,EAAE,GACF2F,EACAsB,WACEC,QAAQ,MACNC,MAGF,SACJ,OAAoBxH,MAAMC,cAAcD,MAAMgB,SAAU,KAAMwG,EAAoBxH,MAAMC,cAAc,SAAY,CAChHgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWE,WAAaD,EAAWC,WAC5E,EACDC,cAAAA,KAGoB,eADHA,EAAc,aACkB7H,MAAMC,cAAc,SAAY,CAC/E8E,MAAO1E,EAAG,yBACV2E,UAAU,GACIhF,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,aACN2D,SAAS,EACTC,MAAO,CAAC,CACN4B,KAAM,QACN9B,UAAU,EACVG,QAAS9E,EAAG,0CAEb+G,GAAwBpH,MAAMC,cAAc,IAAK,CAClDiB,UAAW,eACV8E,EAAG3F,EAAG,uSAAwS,CAC/S0G,OAAqB/G,MAAMC,cAAc,SAAU,SAChDoH,OCjCHU,EAA0C,EAC9CC,mBAAAA,EACAC,qBAAAA,MAEA,MAAM,GACJ5H,IACE,SACJ,OAAoBL,MAAMC,cAAcD,MAAMgB,SAAU,KAAmBhB,MAAMC,cAAc,IAAc,CAC3G6F,OAAQtB,EAAyBC,SAASC,MACzCrE,EAAG,yBAAuCL,MAAMC,cAAc8F,EAAuC,MAAoB/F,MAAMC,cAAc+G,EAA0C,MAAoBhH,MAAMC,cAAc,SAAY,CAC5OgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWE,WAAaD,EAAWC,WAC5E,EACDC,cAAAA,MAEA,OAAQA,EAAc,aACpB,IAAK,WACH,OAAoB7H,MAAMC,cAAckH,EAA0Ca,GAEpF,IAAK,aACH,OAAoBhI,MAAMC,cAAc6H,EAA4CG,GAEtF,QACE,OAAO,W,cCvBf,MAAMC,EAAkC,KACtC,MAAM,GACJ7H,IACE,SACJ,OAAoBL,MAAMC,cAAc,SAAY,CAClD0E,WAAY,CACVmB,OAAQtB,EAAyBC,SAASC,OAE9B1E,MAAMC,cAAc,OAAQ,KAAmBD,MAAMC,cAAc,SAAY,CAC7FqB,KAAM,WACN6G,cAAe,UACflD,SAAS,GACKjF,MAAMC,cAAc,IAAS,OAAqBD,MAAMC,cAAc,OAAQ,KAAM,KAAYI,EAAG,oD,cCVrH,MAAM+H,EAAoC,KACxC,MAAM,GACJ/H,EAAE,MACFgI,EACAf,WACEC,QAAQ,IACNe,MAGF,SACEC,GAAc,IAAAC,UAAQ,KAAM,CAChCC,QAAS,CACPrI,MAAOC,EAAG,WACVqI,YAAarI,EAAG,2BAElBsI,QAAS,CACPvI,MAAOC,EAAG,WACVqI,YAAarI,EAAG,0CAElBuI,KAAM,CACJxI,MAAOC,EAAG,QACVqI,YAAarI,EAAG,2CAEhB,CAACA,IACL,OAAoBL,MAAMC,cAAc,SAAY,CAClDgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWmB,WAAalB,EAAWkB,WAC5E,EACDhB,cAAAA,OACMA,EAAc,aAA4B7H,MAAMC,cAAc,SAAY,CAChF0E,WAAY,CACVmB,OAAQtB,EAAyBC,SAASC,MAE5CtD,MAAO,CACLZ,cAAe,KAEHR,MAAMC,cAAc,OAAQ,KAAmBD,MAAMC,cAAc,SAAY,CAC7FqB,KAAM,aACN2D,SAAS,EACTC,MAAOmD,EAAQ,GAAK,CAAC,CACnBrD,UAAU,EACV8B,KAAM,OACNgC,KAAM,CAAC,WACP3D,QAAS9E,EAAG,uIAEAL,MAAMC,cAAc,WAAc,CAChD8I,KAAM,QACNC,YAAa,QACb9H,UAAW,6BACXE,MAAO,CACL6H,aAAc,KAEfC,OAAOC,KAAKZ,GAAa1I,KAAIiH,IAC9B,MAAM,YACJ4B,EAAW,MACXtI,GACEmI,EAAYzB,GAChB,OAAoB9G,MAAMC,cAAc,YAAe,CACrDoE,MAAOyC,EACP5G,IAAK4G,GACS9G,MAAMC,cAAc,IAAO,CACzCmB,MAAO,CACLd,MAAO,KAET8I,UAAU,EACVC,MAAoBrJ,MAAMC,cAAc,MAAO,CAC7CmB,MAAO,CACLkI,OAAQ,QAEVC,IAAK,wFAAwF/H,OAAOsF,EAAM,WAE9F9G,MAAMC,cAAc,SAAY,CAC9CG,MAAoBJ,MAAMC,cAAcD,MAAMgB,SAAU,KAAMZ,EAAO,IAAc,YAAT0G,GAAsBwB,GAChGI,YAAaA,gBC1Ebc,EAA2C,KAC/C,MAAM,GACJnJ,EAAE,MACFgI,EACAf,WACEC,QAAQ,IACNe,MAGF,SACEmB,GAA0B,IAAAjB,UAAQ,KAAM,CAC5C3I,IAAKQ,EAAG,OACR,eAAgBA,EAAG,gBACnB,eAAgBA,EAAG,gBACnB,YAAaA,EAAG,eAChB,aAAcA,EAAG,sBACjBqJ,QAASrJ,EAAG,oBACV,CAACA,IACL,OAAoBL,MAAMC,cAAc,SAAY,CAClDgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWiC,mBAAqBhC,EAAWgC,kBAAoBjC,EAAWmB,WAAalB,EAAWkB,UAAYnB,EAAWkC,aAAejC,EAAWiC,aAC5L,EACD/B,cAAAA,MAEA,MAAMgB,EAAWhB,EAAc,YACzB+B,EAAa/B,EAAc,cACjC,QAASgB,GAA2B,YAAfe,GAAyC5J,MAAMC,cAAc,SAAY,CAC5F8E,MAAO1E,EAAG,gBACV2E,UAAU,EACV6E,MAAOvB,GACOtI,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,oBACN4D,MAAO,CAAC,CACNF,UAAU,EACVG,QAAS9E,EAAG,+BAEAL,MAAMC,cAAc,WAAc,CAChD8I,KAAM,QACNC,YAAa,QACb9H,UAAW,8BACVgI,OAAOC,KAAKM,GAAyB5J,KAAIiH,IAC1C,MAAM1G,EAAQqJ,EAAwB3C,GACtC,OAAoB9G,MAAMC,cAAc,YAAe,CACrDoE,MAAOyC,EACP5G,IAAK4G,EACL1F,MAAO,CACLC,OAAQ,eAEVyI,UAAWzB,GACGrI,MAAMC,cAAc,IAAO,CACzCmB,MAAO,CACLd,MAAO,KAET8I,UAAU,EACVL,KAAM,QACNM,MAAoBrJ,MAAMC,cAAcD,MAAMgB,SAAU,KAAmBhB,MAAMC,cAAc,MAAO,CACpGmB,MAAO,CACL8F,QAASW,EAAc,oBAAsB,YAASlH,GAExD4I,IAAK,wFAAwF/H,OAAOsF,EAAM,gBAC3F9G,MAAMC,cAAc,MAAO,CAC1CmB,MAAO,CACL8F,QAASW,EAAc,yBAAsBlH,EAAY,QAE3D4I,IAAK,wFAAwF/H,OAAOsF,EAAM,iBAE9F9G,MAAMC,cAAc,SAAY,CAC9CG,MAAOA,gBCpET2J,EAA0C,KAC9C,MAAM,GACJ1J,EAAE,MACFgI,IACE,SACJ,OAAOA,GAAsBrI,MAAMC,cAAc,SAAY,CAC3DgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWmB,WAAalB,EAAWkB,UAAYnB,EAAWkC,aAAejC,EAAWiC,aAC7H,EACD/B,cAAAA,MAEA,MAAMgB,EAAWhB,EAAc,YACzB+B,EAAa/B,EAAc,cACjC,QAASgB,GAA2B,YAAfe,GAAyC5J,MAAMC,cAAc,SAAY,CAC5F0E,WAAY,CACVmB,OAAQtB,EAAyBC,SAASC,OAE9B1E,MAAMC,cAAc,OAAQ,KAAmBD,MAAMC,cAAc,SAAY,CAC7FqB,KAAM,mBACN6G,cAAe,UACflD,SAAS,GACKjF,MAAMC,cAAc,IAAS,OAAQ,KAAYI,EAAG,oBAAkCL,MAAMC,cAAc,IAAK,CAC7HiB,UAAW,eACVb,EAAG,iL,cCvBV,MAAM2J,EAAiD,KACrD,MAAM,GACJ3J,EAAE,MACFgI,IACE,SACJ,OAAOA,GAAsBrI,MAAMC,cAAc,SAAY,CAC3DgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWuC,0BAA4BtC,EAAWsC,yBAA2BvC,EAAWmB,WAAalB,EAAWkB,UAAYnB,EAAWkC,aAAejC,EAAWiC,aAC1M,EACD/B,cAAAA,EACAjB,eAAAA,MAEA,MAAMqD,EAA0BpC,EAAc,2BACxCgB,EAAWhB,EAAc,YACzB+B,EAAa/B,EAAc,cACjC,QAASgB,GAA2B,YAAfe,GAAyC5J,MAAMC,cAAcD,MAAMgB,SAAU,KAAmBhB,MAAMC,cAAc,SAAY,CACnJ8E,MAAO1E,EAAG,4BACIL,MAAMC,cAAc,SAAY,CAC9CgF,SAAS,EACT3D,KAAM,0BACN0D,UAAU,EACVE,MAAO,CAAC,CACNF,UAAU,EACV8B,KAAM,UACN3B,QAAS9E,EAAG,+BAEAL,MAAMC,cAAc,WAAc,CAChDmB,MAAO,CACL8F,QAAS+C,OAA0BtJ,EAAY,SAEnCX,MAAMC,cAAc,YAAe,CACjDoE,OAAO,GACNhE,EAAG,6CAA2DL,MAAMC,cAAc,YAAe,CAClGoE,OAAO,GACNhE,EAAG,gCAAiC4J,GAAwCjK,MAAMC,cAAc,WAAc,CAC/GoE,MAAO4F,GACOjK,MAAMC,cAAc,IAAa,CAC/CG,MAAOC,EAAG,qJACV6J,WAAY7J,EAAG,UACf8J,OAAQ9J,EAAG,gBACX+J,aAAc,CACZC,SAAU,KAEZ3J,SAAU,IAAMkG,EAAe,CAC7BqD,yBAAyB,IAE3BK,UAAW,IAAM1D,EAAe,CAC9BqD,yBAAyB,IAE3BM,UAAW,cACGvK,MAAMC,cAAc,YAAe,CACjDoE,OAAO,GACNhE,EAAG,8CAA4DL,MAAMC,cAAc,YAAe,CACnGoE,OAAO,EACP5C,QAAS,IAAMmF,EAAe,CAC5BqD,yBAAyB,KAE1B5J,EAAG,8BAA4CL,MAAMC,cAAc,IAAK,CACzEiB,UAAW,eACVb,EAAG,qMC7DJmK,GAA8C,EAClDnD,SAAAA,MAEA,MAAM,GACJhH,EAAE,MACFgI,IACE,SACJ,OAAOA,GAAsBrI,MAAMC,cAAc,SAAY,CAC3DgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWuC,0BAA4BtC,EAAWsC,yBAA2BvC,EAAWmB,WAAalB,EAAWkB,UAAYnB,EAAWkC,aAAejC,EAAWiC,YAAclC,EAAW+C,oBAAsB9C,EAAW8C,oBACpQ,EACD5C,cAAAA,MAEA,MAAMgB,EAAWhB,EAAc,YACzB+B,EAAa/B,EAAc,cAC3B4C,EAAoB5C,EAAc,qBAClCoC,EAA0BpC,EAAc,2BAC9C,QAASgB,GAA2B,YAAfe,GAAyC5J,MAAMC,cAAc,SAAY,CAC5F8E,MAAoE1E,EAA7D4J,GAAiD,YAAtBQ,EAAqC,yBAA+B,iBACtGnJ,KAAM,uBACN6G,cAAe,eACf/G,MAAO,CACL8F,aAAqCvG,IAA5BsJ,EAAwC,YAAStJ,IAE3D0G,O,cCvBP,MAAMqD,GAAoC,KACxC,MAAM,GACJrK,EAAE,MACFgI,IACE,SACJ,OAAOA,GAAsBrI,MAAMC,cAAc,SAAY,CAC3DgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWmB,WAAalB,EAAWkB,UAAYnB,EAAWkC,aAAejC,EAAWiC,aAC7H,EACD/B,cAAAA,MAEA,MAAMgB,EAAWhB,EAAc,YACzB+B,EAAa/B,EAAc,cACjC,QAASgB,GAA2B,YAAfe,GAAyC5J,MAAMC,cAAc,SAAY,CAC5F8E,MAAO1E,EAAG,eACIL,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,aACN2D,SAAS,GACKjF,MAAMC,cAAc,KAAS,CAC3C0K,IAAK,EACLC,IAAK,GACLC,MAAO,CACL,EAAGxK,EAAG,YACN,EAAG,KACH,GAAI,MACJ,GAAI,MACJ,GAAI,OAENyK,gBAAgB,EAChB1J,MAAO,CACL2J,WAAY,OAEE/K,MAAMC,cAAc,IAAK,CACzCiB,UAAW,eACVb,EAAG,oJClCJ2K,GAA8C,KAClD,MAAM,GACJ3K,EAAE,MACFgI,IACE,SACJ,OAAOA,GAAsBrI,MAAMC,cAAc,SAAY,CAC3DgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWmB,WAAalB,EAAWkB,UAAYnB,EAAWkC,aAAejC,EAAWiC,aAC7H,EACD/B,cAAAA,MAEA,MAAMgB,EAAWhB,EAAc,YACzB+B,EAAa/B,EAAc,cACjC,QAASgB,GAA2B,YAAfe,GAAyC5J,MAAMC,cAAc,SAAY,CAC5FgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAW+C,oBAAsB9C,EAAW8C,oBACrF,EACD5C,cAAAA,MAEA,MAAM4C,EAAoB5C,EAAc,qBAClC+B,EAAa/B,EAAc,cACjC,OAAoB7H,MAAMC,cAAc,SAAY,CAClD8E,MAAO1E,EAAG,eACVe,MAAO,CACL8F,QAAS,CAAC,eAAgB,gBAAgBvH,QAAQ8K,IAAsB,GAAoB,SAAfb,EAAwB,YAASjJ,IAElGX,MAAMC,cAAc,SAAY,CAC9CqB,KAAM,uBACN2D,SAAS,GACKjF,MAAMC,cAAc,IAAQ,OAAqBD,MAAMC,cAAc,IAAK,CACxFiB,UAAW,eACVb,EAAG,kPC9BN4K,GAAiD,KACrD,MAAM,GACJ5K,IACE,SACJ,OAAoBL,MAAMC,cAAc,SAAY,CAClDgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWmB,WAAalB,EAAWkB,WAC5E,EACDhB,cAAAA,OAEiBA,EAAc,aACG7H,MAAMC,cAAc,SAAY,CAChE0E,WAAY,CACVmB,OAAQtB,EAAyBC,SAASC,OAE9B1E,MAAMC,cAAc,OAAQ,KAAmBD,MAAMC,cAAc,SAAY,CAC7FqB,KAAM,0BACN6G,cAAe,UACflD,SAAS,GACKjF,MAAMC,cAAc,IAAS,OAAQ,KAAYI,EAAG,oDAAkEL,MAAMC,cAAc,IAAK,CAC7JiB,UAAW,eACVb,EAAG,6PCrBJ6K,GAAuC,EAC3CC,2BAAAA,MAEA,MAAM,GACJ9K,EACAiH,WACEC,QAAQ,MACNC,MAGF,SACJ,OAAoBxH,MAAMC,cAAcD,MAAMgB,SAAU,KAAMwG,EAAoBxH,MAAMC,cAAc,SAAY,CAChHgF,SAAS,EACTwC,aAAc,CAACC,EAAYC,IAAeD,EAAWE,WAAaD,EAAWC,WAC5E,EACDC,cAAAA,KAGoB,aADHA,EAAc,aACgB7H,MAAMC,cAAcD,MAAMgB,SAAU,KAAmBhB,MAAMC,cAAc,IAAc,CACtI6F,OAAQtB,EAAyBC,SAASC,KAC1CgE,YAAarI,EAAG,0TACfA,EAAG,WAAyBL,MAAMC,cAAciI,EAAiC,MAAoBlI,MAAMC,cAAcmI,EAAmC,MAAoBpI,MAAMC,cAAcuJ,EAA0C,MAAoBxJ,MAAMC,cAAc8J,EAAyC,MAAoB/J,MAAMC,cAAc+J,EAAgD,MAAoBhK,MAAMC,cAAcuK,GAA6C,KAAMW,GAA0CnL,MAAMC,cAAcyK,GAAmC,MAAoB1K,MAAMC,cAAc+K,GAA6C,MAAoBhL,MAAMC,cAAcgL,GAAgD,W,eCpBvwB,MAAMG,GAAqC,KACzC,MAAM,GACJ/K,EAAE,YACFgL,EAAW,iBACXC,IACE,SACJ,SAAUD,IAAeC,IAAkCtL,MAAMC,cAAc,SAAY,CACzFqB,KAAM,cACN6G,cAAe,UACfnD,UAAU,EACVE,MAAO,CAAC,CACN4B,KAAM,UACN9B,UAAU,EACVuG,UAAWlH,GAASA,QAAS1D,EAC7BwE,QAAS9E,EAAG,8EAEdsE,WAAY,CACVmB,OAAQtB,EAAyBC,SAASC,OAE9B1E,MAAMC,cAAc,KAAW,KAAMI,EAAG,0KAA2K,IAAkBL,MAAMC,cAAc,IAAc,CACrR4D,IAAKxD,EAAG,kF,yBCpBZ,MAAMmL,GAAqB,EACzBC,eAAAA,EACAC,YAAAA,MAEA,MAAM,GACJrL,EAAE,GACF2F,IACE,SACEnB,GAAM,IAAAC,UACN6G,EAAc,eACpB,OAAoB3L,MAAMC,cAAc0L,EAAYC,SAAU,CAC5DvH,MAAO,CACLhE,GAAAA,EACA2F,GAAAA,IAEYhG,MAAMC,cAAc,MAAO,CACzC4E,IAAKA,GACS7E,MAAMC,cAAc,KAAiC,CACnE4L,aAAchH,EACdO,KAAM,YACSpF,MAAMC,cAAc4F,EAAuC,MAAoB7F,MAAMC,cAAc8H,EAAyC0D,GAA8BzL,MAAMC,cAAciL,GAAsCQ,GAA2B1L,MAAMC,cAAc,SAAY,CAC9SiB,UAAW,yBACXuD,SAAU,CACRC,KAAM,GAERC,WAAY,CACVD,KAAM,KAEM1E,MAAMC,cAAcmL,GAAoC,MAAoBpL,MAAMC,cAAc,SAAY,CAC1H0E,WAAY,CACVmB,OAAQtB,EAAyBC,SAASC,OAE9B1E,MAAMC,cAAc,MAAO,CACzCmB,MAAO,CACL0K,UAAW,WAEC9L,MAAMC,cAAc,QAAS,CAC3C6G,KAAM,SACN5F,UAAW,wBACXmD,MAAOhE,EAAG,gBC1Bd,SAAS0L,KACP,OAAO,EAAAC,EAAA,GAAY,CACjB5L,OAAO,IAAAC,IAAG,qEACV4L,WAAW,EACXC,QAAS,yBACTC,WAAW,IAAA9L,IAAG,yCACdqI,aAAa,IAAArI,IAAG,mPAIpB,MAAM+L,IAAkB,SAAS,EAC/BtL,OAAAA,EACAuL,oBAAAA,EACAzL,sBAAAA,GAAwB,EACxB0L,qBAAAA,GAAuB,MAEvB,IAAIC,EAAeC,EAEnB,MAAM,QACJC,EAAO,GACP/J,EAAE,QACFgK,EAAO,QACPC,EAAO,KACPC,IACE,EAAAC,EAAA,KACEC,GAAU,IAAAC,eACTC,EAAqBC,IAA0B,IAAA5N,WAAS,IACzD,YACJ6N,EACAC,aAAa,IACXC,EACAC,QAAQ,MACNhF,MAGF,SACEiF,GAAeb,MAAAA,OAAyC,EAASA,EAAQa,cAAgBJ,EAAYK,eAAeC,IAAI1M,MAAAA,OAAuC,EAASA,EAAOpB,YAC/KI,EAAa,IAAMwN,MAAAA,OAAiD,EAASA,EAAYxN,cAC1FuM,IAEC,KACJjH,EAAI,OACJqI,EAAM,cACNC,EAAa,oBACbzO,EAAmB,SACnB0O,EAAQ,eACRC,EAAc,eACdC,EAAc,eACdC,EAAc,aACdC,GClEJ,SAAsCC,GACpC,IAAIC,EAAmBC,EAAuBC,EAAuBC,EAErE,MAAM,MACJnH,EAAK,OACLnG,EAAM,WACNhB,EAAU,GACVO,EAAE,GACF2F,GACEgI,EACEN,EAAgB,CACpBpM,MAAOxB,MAAAA,OAA+C,EAASA,EAAWwB,OAAS,GACnF+M,OAAQ,UACR3F,aAAc5I,MAAAA,OAA+C,EAASA,EAAW4I,cAAgB,GACjGd,SAAUX,IAAUnG,EAAS,aAAe,WAC5CoE,OAAQpF,MAAAA,GAAmG,QAA1CmO,EAAoBnO,EAAWoF,aAAyC,IAAtB+I,OAA5D,EAAoGA,EAAkB9M,KAAK,QAAU,GAC5LmN,YAAaxO,MAAAA,GAA4G,QAAnDoO,EAAwBpO,EAAWwO,kBAAkD,IAA1BJ,OAArE,EAAiHA,EAAsBzO,OAAO8O,UAAY,GACtNC,SAAU1O,MAAAA,GAAkH,QAAzDqO,EAAwBrO,EAAW2O,wBAAwD,IAA1BN,OAA3E,EAAuHA,EAAsBtO,KAAI,EACxMP,QAAAA,MACgB,IAAZA,OAAoBqB,EAAYrB,IAASG,OAAOiP,SACtD7F,SAAmG,kBAAjF/I,MAAAA,OAA+C,EAASA,EAAW+I,WAA0B/I,EAAW+I,SAC1He,YAAa9J,MAAAA,OAA+C,EAASA,EAAW8J,aAAe,UAC/F+E,qBAAsB,EACtBlE,mBAAoB3K,MAAAA,OAA+C,EAASA,EAAW2K,oBAAsB,UAC7Gd,iBAAmH,kBAAzF7J,MAAAA,OAA+C,EAASA,EAAW6J,mBAAkC7J,EAAW6J,iBAC1IiF,YAAa9O,MAAAA,OAA+C,EAASA,EAAW8O,aAAe,EAC/F3E,wBAAiI,kBAAhGnK,MAAAA,OAA+C,EAASA,EAAWmK,yBAAyCnK,EAAWmK,6BAA0BtJ,EAClLkO,sBAAuB/O,MAAAA,OAA+C,EAASA,EAAW+O,uBAAyB,GACnHC,yBAA0BhP,MAAAA,OAA+C,EAASA,EAAWgP,2BAA4B,EACzHzD,aAAcvK,GAehB,MAAO,KAbU,EAAAiO,EAAA,GAAe,IAAKf,EACnCN,cAAAA,EACAsB,KAAM,CACJC,eAAgB5O,EAAG,oDACnB6O,gBAAiB7O,EAAG,8EACpB8O,cAAe9O,EAAG,wFAClB+O,2BAA4B/O,EAAG,wHAQjCqN,cAAAA,EACAzO,qBAL2Ba,MAAAA,GAAmH,QAA1DsO,EAAyBtO,EAAW2O,wBAAyD,IAA3BL,OAA5E,EAAyHA,EAAuB3O,QAAO,EACjOH,QAAAA,MACKA,MAAa,GAIlByO,aAAc,CACZ1N,GAAAA,EACA2F,GAAAA,EACAiB,MAAAA,EACAoE,cAAevK,EACfuO,oBAAqBvO,EAAS4M,EAAgB,KDe9C4B,CAA6B,CAC/BjP,GAAE,KACF2F,GAAE,KACFlG,WAAAA,EACAmH,MAAOmG,EACPtM,OAAQwM,EAAc,CACpB5N,WAAY4N,EAAY/K,KAAK7C,WAC7BK,QAASuN,EAAY/K,KAAKxC,cACxBY,EACJ4O,kBAAmBjD,EACnBkD,WAAYxM,MAAAA,IACV,IACE,IAAIyM,EAAkBC,EAEtB,MAAM,KACJpO,EAAI,OACJ+M,EAAM,YACN3F,KACGiH,GACDC,EACEC,EAAU,IAAKF,EACnBhB,qBAAsBgB,EAAKhB,sBAAwB,EACnD/G,SAAU+H,EAAK/H,SACf0G,YAAsD,QAAxCmB,EAAmBE,EAAKrB,kBAA6C,IAArBmB,OAA8B,EAASA,EAAiBtO,KAAK,OAAS,GACpIqN,UAAgD,QAApCkB,EAAiBC,EAAKnB,gBAAyC,IAAnBkB,OAA4B,EAASA,EAAevO,KAAK,OAAS,GAC1H0H,SAA4B,aAAlB8G,EAAK/H,UAA0B+H,EAAK9G,SAC9CiH,SAAUxC,MAAAA,OAAiD,EAASA,EAAY/K,KAAK7C,WACrFqQ,cAAezC,MAAAA,OAAiD,EAASA,EAAY/K,KAAKxC,SAI5F,UAFO8P,EAAQxE,YAEXqB,EACFD,EAAQuD,QAAQ1O,GAChBmL,EAAQwD,UAAU5B,GAClB5B,EAAQyD,eAAexH,GACvB+D,EAAQ0D,QAAQN,SACVpD,EAAQ2D,YACT,CACL,MAAMC,EAAQ,IAAI,IAAaC,EAAU,CACvClQ,MAAO,CACLmQ,SAAUjP,GAEZkP,QAAS,CACPD,SAAU7H,EACV+H,WAAW,GAEbpC,OAAAA,EACAsB,KAAME,UAEFQ,EAAMK,UAGd9P,GAAyB+P,YAAW,IAAuC,iBAA1B/P,EAAqCgQ,OAAOxN,SAASyN,KAAOjQ,EAAwBkM,EAAQgE,KAAKlE,EAAKmE,MAAM,KAAK,GAClK,MAAOrP,GACP,MAAMA,EAAEsC,aAAamB,aAIrB,SACJmL,EAAQ,eACRU,GACE9D,GAEF+D,WAAYhL,IACV,EAAAiL,EAAAC,KACEC,EAAgBzE,EAAU,CAC9BrL,KAAMmL,EAAQlK,KAAKnC,MAAMiR,IACzBhD,OAAQ5B,EAAQlK,KAAK8L,OACrB3F,YAAa+D,EAAQlK,KAAKiO,QAAQa,IAClCzJ,SAAU6E,EAAQlK,KAAKoN,KAAK/H,SAC5B1C,MAAOuH,EAAQlK,KAAKoN,KAAKzK,MACzBoJ,WAAY7B,EAAQ6B,WACpBE,SAAU/B,EAAQ+B,SAClB3F,SAAU4D,EAAQlK,KAAKoN,KAAK9G,SAC5Be,WAAYvB,EAAQoE,EAAQlK,KAAKoN,KAAK/F,WAAa,UACnD+E,qBAAsBlC,EAAQlK,KAAKoN,KAAKhB,qBACxClE,kBAAmBgC,EAAQlK,KAAKoN,KAAKlF,kBACrCd,iBAAkB8C,EAAQlK,KAAKoN,KAAKhG,iBACpCiF,WAAYnC,EAAQlK,KAAKoN,KAAKf,WAC9B3E,wBAAyBwC,EAAQlK,KAAKoN,KAAK1F,wBAC3C4E,qBAAsBpC,EAAQlK,KAAKoN,KAAKd,qBACxCC,wBAAyBrC,EAAQlK,KAAKoN,KAAKb,wBAC3CzD,iBAAa1K,GACX+M,EAEE4D,GAAsB,IAAAvO,cAAYhC,IACtCqE,EAAKwB,eAAe,CAClB4H,SAAU,IAAIpJ,EAAKyC,cAAc,YAAa9G,EAAMb,SAErD,CAACkF,KAEJ,IAAAzB,YAAU,KACJ+I,IAAYC,GACd2D,EAASiB,UAAU,CACjB9N,OAAQ,CACNf,GAAAA,EACA8O,QAAS,YAId,CAAC9E,EAASC,KACb,IAAAhJ,YAAU,MACJ2J,GAAgBA,EAAYxN,YAAewN,EAAYmE,MACzDnE,EAAYoE,oBAEb,CAACpE,KAEJ,IAAA3J,YAAU,MACR,EAAAgO,EAAA,GAAS,GAEJX,GACH9D,EAAY0E,gBAEb,IACH,MAAMC,GAA+B9F,KAC/B+F,GAA4B,cAElC,GAAIpF,IAAYC,GAAWW,IAAgBA,EAAYxN,WACrD,OAAoBE,MAAMC,cAAc,IAAW,CACjD8R,QAAQ,EACRC,UAAW,CACTC,KAAM,KAKZ,MAAM3G,MAAmBqB,IAAWW,KAAkD,QAAlCf,EAAgBE,EAAQlK,YAAoC,IAAlBgK,GAAkF,QAA7CC,EAAqBD,EAAcoD,YAAyC,IAAvBnD,OAA/D,EAAwGA,EAAmBuD,iBAAmBzC,EAAY/K,KAAKxC,QACxR,OAAoBC,MAAMC,cAAc6R,GAA0BlG,SAAU,CAC1EvH,MAAO,IAAK0J,EACV1F,MAAAA,EACA6J,OAAQvF,EACRrB,iBAAAA,GACAhE,UAAW,CACTC,OAAQsK,IAEV5L,kBAAAA,EACAoF,cAAaiC,IAAchC,KAAqBqB,KAEpC3M,MAAMC,cAAc,IAAO,CACzCiE,SAAUuJ,IAAWH,MAAAA,OAAiD,EAASA,EAAYmE,QAAS,GACtFzR,MAAMC,cAAc,EAAAkS,OAAQ,CAC1ChN,QAAS0I,IACM7N,MAAMC,cAAc,KAAO,OAAS,CACnDqB,KAAM,WAAWE,OAAOkB,GACxB0C,KAAMA,GACLZ,EAA0B,CAC3B4M,cAAeA,EACfzD,SAAUA,EACVC,eAAgBA,EAChBE,eAAgBA,IACD9N,MAAMC,cAAcuL,GAAoB,CACvDC,eAAgB,CACdzD,mBAAoB,CAClBZ,SAAuBpH,MAAMC,cAAc,IAAgB,CACzDmS,SAAU,aACVC,UAAU,EACV5S,OAAQ6S,GAAKA,EAAE,oBAAoB,MAAQtB,MAAAA,OAAuD,EAASA,EAAe9Q,OAE5HmH,SAAuBrH,MAAMC,cAAcD,MAAMgB,SAAU,KAAmBhB,MAAMC,cAAc,SAAU,CAC1G6G,KAAM,SACN5F,UAAW,SACXO,QAAS,IAAMwL,GAAuB,KACrC,IAAA5M,IAAG,uBAAqCL,MAAMC,cAAc,IAAQ,CACrEC,IAAKwC,EACLvC,QAAS6M,EACT5M,OAAO,IAAAC,IAAG,eACVC,MAAO,oBACPC,UAAW,CACTC,cAAe,GAEjBC,OAAQ,KACRC,SAAU,IAAMuM,GAAuB,IACzBjN,MAAMC,cAAc,IAAgB,CAClDW,uBAAuB,EACvBC,aAAa,EACb3B,UAAW6B,IACTkM,GAAuB,GACvBqE,EAAoBvQ,OAENf,MAAMC,cAAcjB,EAAsC,CAC1EC,oBAAqBA,EACrBC,UAAWoS,MAGfrJ,qBAAsB,CACpBb,SAAuBpH,MAAMC,cAAc,IAAgB,CACzDmS,SAAU,sBACVC,UAAU,EACVE,YAAa,EACXC,QACElR,KAAAA,MAEEA,MAIZoK,YAAa,CACXP,2BAAyCnL,MAAMC,cAAcgC,EAAsB,CACjF7B,OAAO,IAAAC,IAAG,wBACV8B,aAAc,CAAC,SACfC,OAAQ,EACNkC,KAAAA,EACAC,MAAAA,EACArC,aAAAA,EACA2B,IAAAA,KACiB7D,MAAMC,cAAcD,MAAMgB,SAAU,KAAmBhB,MAAMC,cAAc,IAAK,CACjGmB,MAAO,CACLqR,UAAW,IAECzS,MAAMC,cAAc,IAAK,CACvCiB,UAAW,SACXO,QAAS6C,GACRpC,GAAe,IAAA7B,IAAG,kBAAmB,IAAAA,IAAG,8BAA+B,IAAQ6B,GAA6BlC,MAAMC,cAAc,IAAK,CACtIiB,UAAW,SACXO,QAAS8C,IACR,IAAAlE,IAAG,kBAAmBwD,GAAoB7D,MAAMC,cAAc,IAAQ,CACvEK,MAAO,IACPiJ,IAAK1F,iB,8HEtRf,MAAM6O,EAAiB,EACrBN,SAAAA,EACAO,WAAAA,EAAa,CAAC,QAAS,UAAW,WAClCC,QAAAA,EAAU,GACVvO,MAAAA,EACAgO,SAAAA,EACAvI,SAAAA,EACA+I,qBAAAA,EACAxQ,SAAAA,EACAkQ,YAAAA,EAAc,GACZnS,OACEmQ,SAAAA,MAEEA,GACN9Q,OAAAA,EAAS,MAAM,OAEf,MAAOqT,EAAMC,IAAW,IAAA1T,WAAS,IAC1B2T,EAAQC,IAAa,IAAA5T,UAASgF,IAC9B5B,EAAUE,IAAe,IAAAtD,WAAS,IAClCkD,EAAMK,IAAW,IAAAvD,UAAS,IAC3ByD,GAAQ,IAAAC,cAAYC,MAAAA,IACxBL,GAAY,GACZ,MAAM,gBACJuQ,EAAe,gBACfjQ,IACE,EAAAC,EAAA,KACEiQ,QAAc,OAAa,CAC/B/P,SAAU,CACRC,KAAM,IAAI7B,OAAO4Q,GACjB9O,OAAQ,EAAAC,cAAA,IACRC,UAAW,SAEb4P,QAAS,CACP/E,OAAQ+E,EAAQC,QAAU,CAAC,QAAS,UAAW,WAAaV,EAC5DW,QAASF,EAAQG,OAAS,YAAc,WACrCH,GAEL3P,OAAQ,CACNC,YAAamP,EAAuBK,EAAkBjQ,KAG1DL,EAAQuQ,GACRxQ,GAAY,KACX,IA+BH,OA9BA,EAAA6Q,EAAA,GAAYV,EAAe,KAATA,EAAc,EAAI,KAAKW,KAChB,IAAnBA,GACF3Q,EAAM,CACJyQ,OAAQE,EACRC,SAAUD,EAAexS,OAAS,GAAK2R,OAG1Ce,KACoB,IAAjBA,GACFhR,GAAY,GAGdC,EAAQ,QAEV,IAAAe,YAAU,MACJqP,EAAS,GAAKY,MAAMC,QAAQb,IAAWA,EAAO/R,OAAS,IACzD6B,EAAM,CACJuQ,QAASO,MAAMC,QAAQb,GAAUA,EAAS,CAACA,OAG9C,KAEH,IAAArP,YAAU,KACJmQ,KAAKC,UAAUf,KAAYc,KAAKC,UAAU1P,KAAWA,EAAQ,GAAKuP,MAAMC,QAAQxP,IAAUA,EAAMpD,OAAS,KAC3GgS,EAAU5O,GACVvB,EAAM,CACJuQ,QAASO,MAAMC,QAAQxP,GAASA,EAAQ,CAACA,QAG5C,CAACA,EAAO2O,IACShT,MAAMC,cAAc,IAAS,CAC/C+T,KAAM3B,EAAW,gBAAa1R,EAC9BmJ,SAAUA,EACVmK,YAAY,EACZ5P,MAAO2O,EACPkB,aAAa,IAAA7T,IAAG,aAChB8T,gBAAiB1R,EAAwBzC,MAAMC,cAAc,IAAO,CAClE8I,KAAM,UACH,KACLtH,QAAS,IAAMsR,EAAQ,IACvBqB,SAAUrB,EACV1Q,SAAUX,IACR,MAAM2C,EAAQuP,MAAMC,QAAQnS,GAAKA,EAAE7B,IAAI0O,SAAW7M,EAClDuR,EAAU5O,GACVhC,MAAAA,GAAoDA,EAASgC,IAE/DgQ,cAAc,EACdC,QAAS7R,IACP4P,IAAa5P,GAAyBzC,MAAMC,cAAc,WAAgB,CAC5EoE,MAAO,IACN,IAAAhE,IAAG,eAAgBkC,EAAK1C,KAAIyS,IAAkBtS,OAAAA,MAAMC,cAAc,WAAgB,CACnFC,IAAKoS,EAAE5P,GACP2B,MAAOiO,EAAE5P,GACTtB,MAAO,CACL8F,QAASzH,EAAO6S,QAAK3R,EAAY,UCnGnB4T,EDqGJhC,EAAYD,ICpGP,EAAAkC,EAAA,GAAMD,GAOkC,QAAjDE,GADI,IAAIC,WAAYC,gBAAgB,YAAanT,OAAO+S,EAAO,UAAY,aAClDK,cAAc,YAAyC,IAAvBH,OAAgC,EAASA,EAAmB5D,MAGjH,IAAI6D,WAAYC,gBAAgBJ,EAAO,aACxCM,gBAAgBC,cAZ/B,IAAoBP,EAIZE,Q,8CCTR,SAASjB,EAAYnP,EAAO0Q,EAAOC,EAAUC,GAC3C,MAAOC,EAAUC,IAAe,IAAA9V,UAASgF,GAazC,OAZA,IAAAV,YAAU,KACR,MAAMyR,EAAUzE,YAAW,KACzBwE,EAAY9Q,KACX0Q,GAEH,OADAE,MAAAA,GAAkDA,EAAQ5Q,GACnD,KACLgR,aAAaD,MAEd,CAAC/Q,KACJ,IAAAV,YAAU,KACRqR,EAASE,KACR,CAACA,IACGA,I,4ECXT,MAAMrI,EAAkB,KACtB,MAAM,OACJpJ,IACE,IAAA6R,kBACE,YACJpI,IACE,SAEEqI,GAAa9R,EAAOgJ,QACpB/J,EAAK8S,OAAOD,GAAa,GAAKA,EAC9B7I,IAAY6I,EACZ9I,EAAUS,EAAYoD,SAASmF,QAAQjI,IAAI9K,IAAO,IAAI,IAAawK,EAAYoD,SAAU,CAC7F5N,GAAI,IAGAgT,GAAW,IAAA3S,cAAY,EAC3B7C,IAAAA,KACI,kBAAkBsB,OAAOtB,IAAM,CAACuM,IAEtC,MAAO,CACLA,QAAAA,EACA/J,GAAAA,EACAgK,QAAAA,EACAC,QAAyB,IAAhBF,EAAQvM,IACjB0M,KAVW,YAWX8I,SAAAA,EACAC,QARc","sources":["webpack:///./src/public/ts/components/config/blocker/noticeNoneExistingCookies.tsx","webpack:///./src/public/ts/components/mediaLibrarySelector.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/index.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/name.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/status.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/description.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/compose.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/rules.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/criteria.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/services.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/tcfVendors.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/compose.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/isVisual.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualType.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualContentType.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/isVisualDarkMode.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualDownloadThumbnail.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualMediaThumbnail.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualBlur.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualHeroButtonText.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/shouldForceToShowVisual.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/compose.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/presetCheck.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/form.tsx","webpack:///./src/public/ts/components/config/blocker/form.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/hooks/useFormContentBlockerHandler.tsx","webpack:///./src/public/ts/components/postTypeSelect.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///./src/public/ts/hooks/useDebounce.tsx","webpack:///./src/public/ts/hooks/useRouteBlocker.tsx"],"sourcesContent":["import _Modal from \"antd/es/modal\";\nimport { useState } from \"react\";\nimport { __ } from \"../../../utils\";\nimport { CookieEditForm } from \"..\";\n\nconst BlockerFormNoticeNoneExistingCookies = ({\n nonExistingServices,\n onCreated\n}) => {\n const [openId, setOpenId] = useState(); // Created presets to hide them from the list\n\n const [created, setCreated] = useState([]);\n const useNoneExistingCookies = (nonExistingServices || []).filter(({\n identifier\n }) => created.indexOf(identifier) === -1); // Create modal windows as they should always be available in React tree (avoid \"Can't perform a React state update on an unmounted component\")\n\n const modalWindows = nonExistingServices === null || nonExistingServices === void 0 ? void 0 : nonExistingServices.map(({\n identifier,\n attributes,\n version\n }) => /*#__PURE__*/React.createElement(_Modal, {\n key: identifier,\n visible: openId === identifier,\n title: __(\"Add service\"),\n width: \"calc(100% - 50px)\",\n bodyStyle: {\n paddingBottom: 0\n },\n footer: null,\n onCancel: () => setOpenId(undefined)\n }, /*#__PURE__*/React.createElement(CookieEditForm, {\n navigateAfterCreation: false,\n scrollToTop: false,\n preset: {\n identifier,\n version\n },\n onCreated: model => {\n setOpenId(undefined);\n setCreated([...created, openId]);\n onCreated(model);\n }\n })));\n return /*#__PURE__*/React.createElement(React.Fragment, null, modalWindows, useNoneExistingCookies.length === 0 ? null : /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Some services from the template could not be found. Please select (or create if not already exist) the following services:\", useNoneExistingCookies.join(\", \"))), /*#__PURE__*/React.createElement(\"ul\", {\n style: {\n margin: \"0 0 10px\"\n }\n }, useNoneExistingCookies.map(({\n identifier,\n name,\n subHeadline\n }) => /*#__PURE__*/React.createElement(\"li\", {\n key: identifier\n }, /*#__PURE__*/React.createElement(\"strong\", null, name, subHeadline ? \" (\".concat(subHeadline, \")\") : \"\"), \"\\xA0\\u2022\\xA0\", /*#__PURE__*/React.createElement(\"a\", {\n onClick: e => {\n setOpenId(identifier);\n e.preventDefault();\n },\n style: {\n cursor: \"pointer\"\n }\n }, __(\"Create now\")))))));\n};\n\nexport { BlockerFormNoticeNoneExistingCookies };","import _Spin from \"antd/es/spin\";\nimport { RouteHttpVerb } from \"@devowl-wp/utils\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { hooks, mediaUtils } from \"wp\";\nimport { request as utilsRequest, getOtherOptionsFromWindow } from \"../utils\";\nconst {\n addFilter\n} = hooks;\nconst {\n MediaUpload\n} = mediaUtils;\n\nconst replaceMediaUpload = () => MediaUpload;\n\naddFilter(\"editor.MediaUpload\", \"core/edit-post/components/media-upload/replace-media-upload\", replaceMediaUpload);\n\nfunction useMediaAttachment(id) {\n const [fetching, setFetching] = useState(false);\n const [data, setData] = useState();\n const [error, setError] = useState();\n const fetch = useCallback(async id => {\n setFetching(true);\n const {\n currentLanguage\n } = getOtherOptionsFromWindow();\n\n try {\n const result = await utilsRequest({\n location: {\n path: \"/media/:id\",\n method: RouteHttpVerb.GET,\n namespace: \"wp/v2\"\n },\n params: {\n id,\n _dataLocale: currentLanguage\n }\n });\n setData(result);\n setError(undefined);\n } catch (e) {\n setData(undefined);\n setError(e);\n } finally {\n setFetching(false);\n }\n }, []);\n useEffect(() => {\n if (id) {\n fetch(id);\n } else {\n setData(undefined);\n setError(undefined);\n }\n }, [id]);\n return {\n fetching,\n data,\n fetch,\n error\n };\n}\n/**\n * @see https://github.com/WordPress/gutenberg/tree/trunk/packages/block-editor/src/components/media-upload\n * @see https://wordpress.stackexchange.com/a/385777/83335\n * @see https://www.liip.ch/en/blog/add-an-image-selector-to-a-gutenberg-block\n */\n\n\nconst MediaLibrarySelector = ({\n attachmentId,\n title,\n allowedTypes,\n render,\n onChange\n}) => {\n const useAttachmentId = attachmentId || undefined; // Zero should be treated as `undefined`\n\n const {\n data,\n error,\n fetching\n } = useMediaAttachment(useAttachmentId);\n const url = data === null || data === void 0 ? void 0 : data.source_url;\n useEffect(() => {\n var _error$responseJSON;\n\n if ((error === null || error === void 0 ? void 0 : (_error$responseJSON = error.responseJSON) === null || _error$responseJSON === void 0 ? void 0 : _error$responseJSON.code) === \"rest_post_invalid_id\") {\n onChange(undefined, undefined);\n }\n }, [error]);\n return /*#__PURE__*/React.createElement(_Spin, {\n spinning: fetching\n }, /*#__PURE__*/React.createElement(MediaUpload, {\n onSelect: media => {\n onChange === null || onChange === void 0 ? void 0 : onChange(media === null || media === void 0 ? void 0 : media.id, media);\n },\n title: title,\n allowedTypes: allowedTypes,\n value: useAttachmentId,\n render: ({\n open\n }) => render({\n open,\n reset: () => onChange(undefined, undefined),\n attachmentId: useAttachmentId,\n url\n })\n }));\n};\n\nexport { MediaLibrarySelector };","export const FormContentBlockerLayout = {\n labelCol: {\n span: 6\n },\n wrapperCol: {\n span: 16\n }\n};\nexport * from \"./fields\";\nexport * from \"./form\";","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useRef } from \"react\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormValueDifferFromPresetTag } from \"../../..\";\n\nconst FormContentBlockerFieldGeneralName = () => {\n const {\n __\n } = useFormContentBlocker();\n const ref = useRef();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Name\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"name\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n ref: ref\n }, /*#__PURE__*/React.createElement(FormValueDifferFromPresetTag, {\n form: \"blocker\",\n valueName: \"name\",\n widthOfRef: ref,\n renderDiff: value => /*#__PURE__*/React.createElement(_Input, {\n value: value,\n readOnly: true\n })\n }), __('Each content blocker should have a descriptive name that is understandable to a non-professional user, e.g. \"Google Maps\".')));\n};\n\nexport { FormContentBlockerFieldGeneralName };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldGeneralStatus = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Status\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"status\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"publish\"\n }, __(\"Enabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"private\"\n }, __(\"Disabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"draft\"\n }, __(\"Draft\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('Content Blockers with the status \"Draft\" or \"Disabled\" are not visible to the public. In addition, a draft will be highlighted in the content blocker table so that you do not forget to configure it.')));\n};\n\nexport { FormContentBlockerFieldGeneralStatus };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldGeneralDescription = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Description\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"description\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"You can give your visitors further explanations why a content has been blocked or, for example, how they can contact you alternatively instead of agreeing to load the contact form. The description is displayed only in visual content blockers.\")));\n};\n\nexport { FormContentBlockerFieldGeneralDescription };","import { FormContentBlockerFieldGeneralDescription, FormContentBlockerFieldGeneralName, FormContentBlockerFieldGeneralStatus, FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormHeadline } from \"../../..\";\nimport { LearnMoreTag } from \"../../../../common\";\n\nconst FormContentBlockerFieldGeneralCompose = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: FormContentBlockerLayout.labelCol.span\n }, __(\"General content blocker configuration\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/\")\n })), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralName, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralStatus, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralDescription, null));\n};\n\nexport { FormContentBlockerFieldGeneralCompose };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useRef } from \"react\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormValueDifferFromPresetTag } from \"../../../valueDifferFromPresetTag\";\nimport { LearnMoreTag } from \"../../../../common\";\n\nconst FormContentBlockerFieldTechnicalRules = () => {\n const {\n __,\n _i,\n openCookieExperts\n } = useFormContentBlocker();\n const ref = useRef();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"URLs / Elements to block\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"rules\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide at least one URL/element!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input.TextArea, {\n autoSize: {\n minRows: 3,\n maxRows: 15\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n ref: ref\n }, /*#__PURE__*/React.createElement(FormValueDifferFromPresetTag, {\n form: \"blocker\",\n valueName: \"rules\",\n widthOfRef: ref,\n difference: (oldValue, newValue) => {\n const currentRules = oldValue.split(\"\\n\");\n const diff = newValue.split(\"\\n\").filter(newRule => !currentRules.includes(newRule));\n return diff.length > 0 ? diff : undefined;\n },\n apply: (diff, setFieldsValue, oldValue) => setFieldsValue({\n rules: oldValue.split(\"\\n\").concat(diff).join(\"\\n\")\n }),\n newValueText: __(\"Missing entries:\"),\n renderDiff: (value, diff) => /*#__PURE__*/React.createElement(_Input.TextArea, {\n value: diff.join(\"\\n\"),\n readOnly: true,\n autoSize: {\n minRows: 3,\n maxRows: 15\n }\n })\n }), _i(__(\"Enter one rule per line to replace content with a content blocker. You can block all available URLs or HTML tags on your website including videos, iframes, scripts, inline scripts and stylesheets. Please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder).\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n }), \"\\xA0\\u2022\\xA0\", !!openCookieExperts && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button-link\",\n onClick: openCookieExperts\n }, __(\"Can't handle it? Let a Cookie Expert help you!\")), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), _i(__('{{strong}}Pro tip:{{/strong}} Look up all available syntaxes like {{code}}div[class*=\"my-embed\"]{{/code}} in our knowledge base to block content perfectly.'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null),\n code: /*#__PURE__*/React.createElement(\"code\", null)\n }), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/\")\n })));\n};\n\nexport { FormContentBlockerFieldTechnicalRules };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldTechnicalCriteria = () => {\n const {\n __,\n isTcf\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Block by\"),\n required: true,\n style: {\n display: isTcf ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"criteria\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"services\"\n }, __(\"Services\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"tcfVendors\"\n }, __(\"TCF Vendors\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"You can block content through non-standard services or TCF vendors. If you want to block it through TCF vendors, then the visual content blocker cannot be displayed because TCF is usually used to obtain consent for ad networks. Moreover, after the initial consents in the cookie banner, users will probably never consent to the ad.\")));\n};\n\nexport { FormContentBlockerFieldTechnicalCriteria };","import _Form from \"antd/es/form\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldTechnicalServices = ({\n dropdown,\n children\n}) => {\n const {\n __,\n _i,\n proModals: {\n visual: {\n modal\n }\n }\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, modal, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n const criteria = getFieldValue(\"criteria\");\n return criteria === \"services\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Connected services\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"services\",\n noStyle: true,\n rules: [{\n type: \"array\",\n required: true,\n message: __(\"Please provide at least one service!\")\n }]\n }, dropdown), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, _i(__(\"A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary services that would be used by loading the content. You must define all services that are loaded as soon as the user wants to see the blocked content.\"), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), children);\n }));\n};\n\nexport { FormContentBlockerFieldTechnicalServices };","import _Form from \"antd/es/form\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldTechnicalTcfVendors = ({\n dropdown,\n children\n}) => {\n const {\n __,\n _i,\n proModals: {\n visual: {\n modal\n }\n }\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, modal, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n const criteria = getFieldValue(\"criteria\");\n return criteria === \"tcfVendors\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Connected TCF Vendors\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"tcfVendors\",\n noStyle: true,\n rules: [{\n type: \"array\",\n required: true,\n message: __(\"Please provide at least one vendor!\")\n }]\n }, dropdown), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, _i(__(\"A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary TCF vendors that would be used by loading the content. You must define all TCF vendors that are loaded based on legitimate interest or consent as soon as the user wants to see the blocked content.\"), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), children);\n }));\n};\n\nexport { FormContentBlockerFieldTechnicalTcfVendors };","import _Form from \"antd/es/form\";\nimport { FormContentBlockerFieldTechnicalCriteria, FormContentBlockerFieldTechnicalRules, FormContentBlockerFieldTechnicalServices, FormContentBlockerFieldTechnicalTcfVendors, FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormHeadline } from \"../../..\";\n\nconst FormContentBlockerFieldTechnicalCompose = ({\n servicesFieldProps,\n tcfVendorsFieldProps\n}) => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: FormContentBlockerLayout.labelCol.span\n }, __(\"Technical Definition\")), /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalRules, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalCriteria, null), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n switch (getFieldValue(\"criteria\")) {\n case \"services\":\n return /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalServices, servicesFieldProps);\n\n case \"tcfVendors\":\n return /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalTcfVendors, tcfVendorsFieldProps);\n\n default:\n return null;\n }\n }));\n};\n\nexport { FormContentBlockerFieldTechnicalCompose };","import _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldIsVisual = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"isVisual\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"Show the visual content blocker, if possible\"))));\n};\n\nexport { FormContentBlockerFieldIsVisual };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport _Card from \"antd/es/card\";\nimport { useMemo } from \"react\";\nimport { FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualType = () => {\n const {\n __,\n isPro,\n proModals: {\n visual: {\n tag\n }\n }\n } = useFormContentBlocker();\n const visualTypes = useMemo(() => ({\n default: {\n title: __(\"Textbox\"),\n description: __(\"Plain text with button\")\n },\n wrapped: {\n title: __(\"Wrapped\"),\n description: __(\"Image surrounding the content blocker\")\n },\n hero: {\n title: __(\"Hero\"),\n description: __(\"Image with content blocker on click\")\n }\n }), [__]);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"isVisual\") && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n },\n style: {\n paddingBottom: 10\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualType\",\n noStyle: true,\n rules: isPro ? [] : [{\n required: true,\n type: \"enum\",\n enum: [\"default\"],\n message: __(\"This type of visual content blocker is available only in the PRO version of the plugin. Please choose a textbox content blocker!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n size: \"large\",\n buttonStyle: \"solid\",\n className: \"rcb-antd-radio-button-card\",\n style: {\n marginBottom: 10\n }\n }, Object.keys(visualTypes).map(type => {\n const {\n description,\n title\n } = visualTypes[type];\n return /*#__PURE__*/React.createElement(_Radio.Button, {\n value: type,\n key: type\n }, /*#__PURE__*/React.createElement(_Card, {\n style: {\n width: 300\n },\n bordered: false,\n cover: /*#__PURE__*/React.createElement(\"img\", {\n style: {\n height: 168.75\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/\".concat(type, \".png\")\n })\n }, /*#__PURE__*/React.createElement(_Card.Meta, {\n title: /*#__PURE__*/React.createElement(React.Fragment, null, title, \" \", type !== \"default\" && tag),\n description: description\n })));\n }))))));\n};\n\nexport { FormContentBlockerFieldVisualType };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport _Card from \"antd/es/card\";\nimport { useMemo } from \"react\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualContentType = () => {\n const {\n __,\n isPro,\n proModals: {\n visual: {\n tag\n }\n }\n } = useFormContentBlocker();\n const visualContentTypeTitles = useMemo(() => ({\n map: __(\"Map\"),\n \"audio-player\": __(\"Audio player\"),\n \"video-player\": __(\"Video player\"),\n \"feed-text\": __(\"Feed (text)\"),\n \"feed-video\": __(\"Feed (image/video)\"),\n generic: __(\"None of these\")\n }), [__]);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisualDarkMode !== nextValues.isVisualDarkMode || prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Content type\"),\n required: true,\n extra: tag\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualContentType\",\n rules: [{\n required: true,\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n size: \"large\",\n buttonStyle: \"solid\",\n className: \"rcb-antd-radio-button-card\"\n }, Object.keys(visualContentTypeTitles).map(type => {\n const title = visualContentTypeTitles[type];\n return /*#__PURE__*/React.createElement(_Radio.Button, {\n value: type,\n key: type,\n style: {\n margin: \"0 5px 5px 0\"\n },\n disabled: !isPro\n }, /*#__PURE__*/React.createElement(_Card, {\n style: {\n width: 240\n },\n bordered: false,\n size: \"small\",\n cover: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n display: getFieldValue(\"isVisualDarkMode\") ? \"none\" : undefined\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/\".concat(type, \"-light.png\")\n }), /*#__PURE__*/React.createElement(\"img\", {\n style: {\n display: getFieldValue(\"isVisualDarkMode\") ? undefined : \"none\"\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/\".concat(type, \"-dark.png\")\n }))\n }, /*#__PURE__*/React.createElement(_Card.Meta, {\n title: title\n })));\n }))));\n });\n};\n\nexport { FormContentBlockerFieldVisualContentType };","import _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormContentBlockerLayout } from \"../..\";\n\nconst FormContentBlockerFieldIsVisualDarkMode = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"isVisualDarkMode\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), \"\\xA0\\xA0\", __(\"Enable dark mode\"), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"As soon as no image is found for the content blocker, a default image is automatically used. You can also specify whether the image should be displayed light or dark.\"))));\n });\n};\n\nexport { FormContentBlockerFieldIsVisualDarkMode };","import _Popconfirm from \"antd/es/popconfirm\";\nimport _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualDownloadThumbnail = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.visualDownloadThumbnail !== nextValues.visualDownloadThumbnail || prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue,\n setFieldsValue\n }) => {\n const visualDownloadThumbnail = getFieldValue(\"visualDownloadThumbnail\");\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Automatic preview image\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: \"visualDownloadThumbnail\",\n required: true,\n rules: [{\n required: true,\n type: \"boolean\",\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n style: {\n display: visualDownloadThumbnail ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: true\n }, __(\"Download preview image and serve locally\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: false\n }, __(\"Image from media library\")))), !visualDownloadThumbnail && /*#__PURE__*/React.createElement(_Radio.Group, {\n value: visualDownloadThumbnail\n }, /*#__PURE__*/React.createElement(_Popconfirm, {\n title: __(\"I confirm that I have the required rights to embedded content and its thumbnails can be copied to my servers without e.g. copyright infringement.\"),\n cancelText: __(\"Cancel\"),\n okText: __(\"Activate now\"),\n overlayStyle: {\n maxWidth: 450\n },\n onCancel: () => setFieldsValue({\n visualDownloadThumbnail: false\n }),\n onConfirm: () => setFieldsValue({\n visualDownloadThumbnail: true\n }),\n placement: \"bottomLeft\"\n }, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: true\n }, __(\"Download preview image and serve locally\"))), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: false,\n onClick: () => setFieldsValue({\n visualDownloadThumbnail: false\n })\n }, __(\"Image from media library\"))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"If you block an external URL, this option will try to download an image for this URL using different mechanisms (oEmbed, OpenGraph, ...), saves it locally and use it as background image.\"))));\n });\n};\n\nexport { FormContentBlockerFieldVisualDownloadThumbnail };","import _Form from \"antd/es/form\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualMediaThumbnail = ({\n children\n}) => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.visualDownloadThumbnail !== nextValues.visualDownloadThumbnail || prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType || prevValues.visualContentType !== nextValues.visualContentType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n const visualContentType = getFieldValue(\"visualContentType\");\n const visualDownloadThumbnail = getFieldValue(\"visualDownloadThumbnail\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: visualDownloadThumbnail || visualContentType === \"generic\" ? __(\"Fallback preview image\") : __(\"Preview image\"),\n name: \"visualMediaThumbnail\",\n valuePropName: \"attachmentId\",\n style: {\n display: visualDownloadThumbnail === undefined ? \"none\" : undefined\n }\n }, children);\n });\n};\n\nexport { FormContentBlockerFieldVisualMediaThumbnail };","import _Form from \"antd/es/form\";\nimport _Slider from \"antd/es/slider\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualBlur = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Blur image\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualBlur\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Slider, {\n min: 0,\n max: 20,\n marks: {\n 0: __(\"Disabled\"),\n 5: \"5%\",\n 10: \"10%\",\n 15: \"15%\",\n 20: \"20%\"\n },\n tooltipVisible: false,\n style: {\n marginLeft: 40\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"You can apply an additional blur to the background image. This can be useful e.g. for blocked contact forms to show it only schematically.\")));\n });\n};\n\nexport { FormContentBlockerFieldVisualBlur };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualHeroButtonText = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.visualContentType !== nextValues.visualContentType\n }, ({\n getFieldValue\n }) => {\n const visualContentType = getFieldValue(\"visualContentType\");\n const visualType = getFieldValue(\"visualType\");\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Button text\"),\n style: {\n display: [\"audio-player\", \"video-player\"].indexOf(visualContentType) > -1 || visualType !== \"hero\" ? \"none\" : undefined\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualHeroButtonText\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"If you specify a button text, a button with this text will be centered in the image and only when you click on this button the content blocker will be opened. Otherwise, clicking on the image itself will open the Content Blocker.\")));\n });\n });\n};\n\nexport { FormContentBlockerFieldVisualHeroButtonText };","import _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormContentBlockerLayout } from \"../..\";\n\nconst FormContentBlockerFieldShouldForceToShowVisual = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n return !!isVisual && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"shouldForceToShowVisual\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), \"\\xA0\\xA0\", __(\"Force visual content blocker for hidden elements\"), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"In rare cases, visual content blockers are not displayed because the main element of the blocked content is not visible either. Enable this option if this is the case and you want to force to display a content blocker for non-visible elements.\"))));\n });\n};\n\nexport { FormContentBlockerFieldShouldForceToShowVisual };","import _Form from \"antd/es/form\";\nimport { FormContentBlockerFieldIsVisual, FormContentBlockerFieldIsVisualDarkMode, FormContentBlockerFieldShouldForceToShowVisual, FormContentBlockerFieldVisualBlur, FormContentBlockerFieldVisualContentType, FormContentBlockerFieldVisualDownloadThumbnail, FormContentBlockerFieldVisualHeroButtonText, FormContentBlockerFieldVisualMediaThumbnail, FormContentBlockerFieldVisualType, FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormHeadline } from \"../../..\";\n\nconst FormContentBlockerFieldVisualCompose = ({\n visualMediaThumbnailPicker\n}) => {\n const {\n __,\n proModals: {\n visual: {\n modal\n }\n }\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, modal, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n const criteria = getFieldValue(\"criteria\");\n return criteria === \"services\" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: FormContentBlockerLayout.labelCol.span,\n description: __(\"For each content blocker it can be defined if it should be visually visible. This means that if the user has not agreed to the respective services, a box with a button is displayed to adjust the privacy settings so that the actual content can be loaded. The design of the box is copied from the cookie banner.\")\n }, __(\"Visual\")), /*#__PURE__*/React.createElement(FormContentBlockerFieldIsVisual, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualType, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualContentType, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldIsVisualDarkMode, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualDownloadThumbnail, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualMediaThumbnail, null, visualMediaThumbnailPicker), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualBlur, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualHeroButtonText, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldShouldForceToShowVisual, null));\n }));\n};\n\nexport { FormContentBlockerFieldVisualCompose };","import _Form from \"antd/es/form\";\nimport _Checkbox from \"antd/es/checkbox\";\nimport { FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../contexts\";\nimport { LearnMoreTag } from \"../../../common\";\n\nconst FormContentBlockerFieldPresetCheck = () => {\n const {\n __,\n presetCheck,\n isTemplateUpdate\n } = useFormContentBlocker();\n return !!(presetCheck || isTemplateUpdate) && /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"presetCheck\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: value => value || undefined,\n message: __(\"Please confirm that you have checked the content of the content blocker.\")\n }],\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Checkbox, null, __(\"I have checked the information in the content blocker template myself and added any missing information or corrected any information that does not fit to my use case.\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/\")\n })));\n};\n\nexport { FormContentBlockerFieldPresetCheck };","import _Form from \"antd/es/form\";\nimport { useRef } from \"react\";\nimport { FormContentBlockerFieldGeneralCompose, FormContentBlockerFieldTechnicalCompose, FormContentBlockerFieldVisualCompose, FormContentBlockerFieldPresetCheck, FormContentBlockerLayout } from \".\";\nimport { I18nContextFactory, useFormContentBlocker } from \"../../../contexts\";\nimport { FormValueDifferFromPresetNotice } from \"..\";\n\nconst FormContentBlocker = ({\n technicalProps,\n visualProps\n}) => {\n const {\n __,\n _i\n } = useFormContentBlocker();\n const ref = useRef();\n const I18nContext = I18nContextFactory.Context();\n return /*#__PURE__*/React.createElement(I18nContext.Provider, {\n value: {\n __,\n _i\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n }, /*#__PURE__*/React.createElement(FormValueDifferFromPresetNotice, {\n containerRef: ref,\n form: \"blocker\"\n }), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralCompose, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalCompose, technicalProps), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualCompose, visualProps), /*#__PURE__*/React.createElement(_Form.Item, {\n className: \"rcb-form-sticky-submit\",\n labelCol: {\n span: 0\n },\n wrapperCol: {\n span: 24\n }\n }, /*#__PURE__*/React.createElement(FormContentBlockerFieldPresetCheck, null), /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n textAlign: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"submit\",\n className: \"button button-primary\",\n value: __(\"Save\")\n }))))));\n};\n\nexport { FormContentBlocker };","import _Spin from \"antd/es/spin\";\nimport _Form from \"antd/es/form\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Image from \"antd/es/image\";\nimport _Modal from \"antd/es/modal\";\nimport _Skeleton from \"antd/es/skeleton\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { PostTypeSelect } from \"../..\";\nimport { __, scrollTo, _i } from \"../../../utils\";\nimport { useStores } from \"../../../store\";\nimport { Prompt, useHistory } from \"react-router-dom\";\nimport { useCookieExpertsModal, useProModal, useRouteBlocker } from \"../../../hooks\";\nimport { BlockerModel } from \"../../../models\";\nimport { BlockerFormNoticeNoneExistingCookies } from \".\";\nimport { CookieEditForm } from \"..\";\nimport { MediaLibrarySelector } from \"../..\";\nimport { FormContentBlockerContextFactory, FormContentBlockerLayout, FormContentBlocker, useFormContentBlockerHandler } from \"@devowl-wp/react-cookie-banner-admin\";\n\nfunction useProModalVisualContentBlocker() {\n return useProModal({\n title: __(\"Want a better integrated visual content blocker for your website?\"),\n testDrive: true,\n feature: \"visual-content-blocker\",\n assetName: __(\"pro-modal/visual-content-blocker.webp\"),\n description: __(\"Instead of a lot of text, you can offer your visitor a more pleasant way to view blocked content. For example, you can replace your video embeds with a privacy-compliant dummy player with thumbnail, or an embedded map with a preview map.\")\n });\n}\n\nconst BlockerEditForm = observer(({\n preset,\n overwriteAttributes,\n navigateAfterCreation = true,\n cookieCreationPrompt = false\n}) => {\n var _blocker$data, _blocker$data$meta;\n\n const {\n blocker,\n id,\n queried,\n fetched,\n link\n } = useRouteBlocker();\n const history = useHistory();\n const [isCreatingNewCookie, setIsCreatingNewCookie] = useState(false);\n const {\n cookieStore,\n optionStore: {\n tcf,\n others: {\n isPro\n }\n }\n } = useStores();\n const presetModel = (blocker === null || blocker === void 0 ? void 0 : blocker.presetModel) || cookieStore.presetsBlocker.get(preset === null || preset === void 0 ? void 0 : preset.identifier);\n const attributes = { ...(presetModel === null || presetModel === void 0 ? void 0 : presetModel.attributes),\n ...overwriteAttributes\n };\n const {\n form,\n isBusy,\n defaultValues,\n nonExistingServices,\n onFinish,\n onFinishFailed,\n onBeforeUnload,\n onValuesChange,\n contextValue\n } = useFormContentBlockerHandler({\n __,\n _i,\n attributes,\n isTcf: tcf,\n preset: presetModel ? {\n identifier: presetModel.data.identifier,\n version: presetModel.data.version\n } : undefined,\n initialHasChanges: cookieCreationPrompt,\n handleSave: async values => {\n try {\n var _meta$tcfVendors, _meta$services;\n\n const {\n name,\n status,\n description,\n ...meta\n } = values;\n const newMeta = { ...meta,\n visualMediaThumbnail: meta.visualMediaThumbnail || 0,\n criteria: meta.criteria,\n tcfVendors: ((_meta$tcfVendors = meta.tcfVendors) === null || _meta$tcfVendors === void 0 ? void 0 : _meta$tcfVendors.join(\",\")) || \"\",\n services: ((_meta$services = meta.services) === null || _meta$services === void 0 ? void 0 : _meta$services.join(\",\")) || \"\",\n isVisual: meta.criteria === \"services\" ? meta.isVisual : false,\n presetId: presetModel === null || presetModel === void 0 ? void 0 : presetModel.data.identifier,\n presetVersion: presetModel === null || presetModel === void 0 ? void 0 : presetModel.data.version\n };\n delete newMeta.presetCheck;\n\n if (queried) {\n blocker.setName(name);\n blocker.setStatus(status);\n blocker.setDescription(description);\n blocker.setMeta(newMeta);\n await blocker.patch();\n } else {\n const draft = new BlockerModel(blockers, {\n title: {\n rendered: name\n },\n content: {\n rendered: description,\n protected: false\n },\n status,\n meta: newMeta\n });\n await draft.persist();\n }\n\n navigateAfterCreation && setTimeout(() => typeof navigateAfterCreation === \"string\" ? window.location.href = navigateAfterCreation : history.push(link.slice(1)), 0);\n } catch (e) {\n throw e.responseJSON.message;\n }\n }\n });\n const {\n blockers,\n essentialGroup\n } = cookieStore;\n const {\n openDialog: openCookieExperts\n } = useCookieExpertsModal();\n const initialValues = fetched ? {\n name: blocker.data.title.raw,\n status: blocker.data.status,\n description: blocker.data.content.raw,\n criteria: blocker.data.meta.criteria,\n rules: blocker.data.meta.rules,\n tcfVendors: blocker.tcfVendors,\n services: blocker.services,\n isVisual: blocker.data.meta.isVisual,\n visualType: isPro ? blocker.data.meta.visualType : \"default\",\n visualMediaThumbnail: blocker.data.meta.visualMediaThumbnail,\n visualContentType: blocker.data.meta.visualContentType,\n isVisualDarkMode: blocker.data.meta.isVisualDarkMode,\n visualBlur: blocker.data.meta.visualBlur,\n visualDownloadThumbnail: blocker.data.meta.visualDownloadThumbnail,\n visualHeroButtonText: blocker.data.meta.visualHeroButtonText,\n shouldForceToShowVisual: blocker.data.meta.shouldForceToShowVisual,\n presetCheck: undefined\n } : defaultValues; // Automatically add created presets to the dropdown\n\n const handleCreatedPreset = useCallback(model => {\n form.setFieldsValue({\n services: [...form.getFieldValue(\"services\"), model.key]\n });\n }, [form]); // Initially load the blocker if not yet done\n\n useEffect(() => {\n if (queried && !fetched) {\n blockers.getSingle({\n params: {\n id,\n context: \"edit\"\n }\n });\n }\n }, [queried, fetched]);\n useEffect(() => {\n if (presetModel && !presetModel.attributes && !presetModel.busy) {\n presetModel.fetchAttributes();\n }\n }, [presetModel]); // Scroll to top when opening the form\n\n useEffect(() => {\n scrollTo(0); // Ensure the groups are loaded\n\n if (!essentialGroup) {\n cookieStore.fetchGroups();\n }\n }, []);\n const proModalVisualContentBlocker = useProModalVisualContentBlocker();\n const FormContentBlockerContext = FormContentBlockerContextFactory.Context();\n\n if (queried && !fetched || presetModel && !presetModel.attributes) {\n return /*#__PURE__*/React.createElement(_Skeleton, {\n active: true,\n paragraph: {\n rows: 8\n }\n });\n }\n\n const isTemplateUpdate = fetched && presetModel ? ((_blocker$data = blocker.data) === null || _blocker$data === void 0 ? void 0 : (_blocker$data$meta = _blocker$data.meta) === null || _blocker$data$meta === void 0 ? void 0 : _blocker$data$meta.presetVersion) !== presetModel.data.version : false;\n return /*#__PURE__*/React.createElement(FormContentBlockerContext.Provider, {\n value: { ...contextValue,\n isPro,\n isEdit: fetched,\n isTemplateUpdate,\n proModals: {\n visual: proModalVisualContentBlocker\n },\n openCookieExperts,\n presetCheck: presetModel ? isTemplateUpdate || !fetched : false\n }\n }, /*#__PURE__*/React.createElement(_Spin, {\n spinning: isBusy || (presetModel === null || presetModel === void 0 ? void 0 : presetModel.busy) || false\n }, /*#__PURE__*/React.createElement(Prompt, {\n message: onBeforeUnload\n }), /*#__PURE__*/React.createElement(_Form, _extends({\n name: \"blocker-\".concat(id),\n form: form\n }, FormContentBlockerLayout, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onValuesChange: onValuesChange\n }), /*#__PURE__*/React.createElement(FormContentBlocker, {\n technicalProps: {\n servicesFieldProps: {\n dropdown: /*#__PURE__*/React.createElement(PostTypeSelect, {\n postType: \"rcb-cookie\",\n multiple: true,\n filter: d => d[\"rcb-cookie-group\"][0] !== (essentialGroup === null || essentialGroup === void 0 ? void 0 : essentialGroup.key)\n }),\n children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button\",\n onClick: () => setIsCreatingNewCookie(true)\n }, __(\"Create new service\")), /*#__PURE__*/React.createElement(_Modal, {\n key: id,\n visible: isCreatingNewCookie,\n title: __(\"Add service\"),\n width: \"calc(100% - 50px)\",\n bodyStyle: {\n paddingBottom: 0\n },\n footer: null,\n onCancel: () => setIsCreatingNewCookie(false)\n }, /*#__PURE__*/React.createElement(CookieEditForm, {\n navigateAfterCreation: false,\n scrollToTop: false,\n onCreated: model => {\n setIsCreatingNewCookie(false);\n handleCreatedPreset(model);\n }\n })), /*#__PURE__*/React.createElement(BlockerFormNoticeNoneExistingCookies, {\n nonExistingServices: nonExistingServices,\n onCreated: handleCreatedPreset\n }))\n },\n tcfVendorsFieldProps: {\n dropdown: /*#__PURE__*/React.createElement(PostTypeSelect, {\n postType: \"rcb-tcf-vendor-conf\",\n multiple: true,\n titleRender: ({\n vendor: {\n name\n }\n }) => name\n })\n }\n },\n visualProps: {\n visualMediaThumbnailPicker: /*#__PURE__*/React.createElement(MediaLibrarySelector, {\n title: __(\"Select preview image\"),\n allowedTypes: [\"image\"],\n render: ({\n open,\n reset,\n attachmentId,\n url\n }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"button\",\n onClick: open\n }, attachmentId ? __(\"Replace image\") : __(\"Select from media library\")), \"\\xA0\", attachmentId && /*#__PURE__*/React.createElement(\"a\", {\n className: \"button\",\n onClick: reset\n }, __(\"Remove image\"))), url && /*#__PURE__*/React.createElement(_Image, {\n width: 272,\n src: url\n }))\n })\n }\n }))));\n});\nexport { BlockerEditForm, useProModalVisualContentBlocker };","import { useFormHandler } from \".\";\n\nfunction useFormContentBlockerHandler(opts) {\n var _attributes$rules, _attributes$tcfVendor, _attributes$serviceTe, _attributes$serviceTe2;\n\n const {\n isTcf,\n preset,\n attributes,\n __,\n _i\n } = opts;\n const defaultValues = {\n name: (attributes === null || attributes === void 0 ? void 0 : attributes.name) || \"\",\n status: \"publish\",\n description: (attributes === null || attributes === void 0 ? void 0 : attributes.description) || \"\",\n criteria: isTcf && !preset ? \"tcfVendors\" : \"services\",\n rules: (attributes === null || attributes === void 0 ? void 0 : (_attributes$rules = attributes.rules) === null || _attributes$rules === void 0 ? void 0 : _attributes$rules.join(\"\\n\")) || \"\",\n tcfVendors: (attributes === null || attributes === void 0 ? void 0 : (_attributes$tcfVendor = attributes.tcfVendors) === null || _attributes$tcfVendor === void 0 ? void 0 : _attributes$tcfVendor.filter(Number)) || [],\n services: attributes === null || attributes === void 0 ? void 0 : (_attributes$serviceTe = attributes.serviceTemplates) === null || _attributes$serviceTe === void 0 ? void 0 : _attributes$serviceTe.map(({\n created\n }) => created === false ? undefined : created).filter(Boolean),\n isVisual: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.isVisual) === \"boolean\" ? attributes.isVisual : true,\n visualType: (attributes === null || attributes === void 0 ? void 0 : attributes.visualType) || \"default\",\n visualMediaThumbnail: 0,\n visualContentType: (attributes === null || attributes === void 0 ? void 0 : attributes.visualContentType) || \"generic\",\n isVisualDarkMode: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.isVisualDarkMode) === \"boolean\" ? attributes.isVisualDarkMode : false,\n visualBlur: (attributes === null || attributes === void 0 ? void 0 : attributes.visualBlur) || 0,\n visualDownloadThumbnail: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.visualDownloadThumbnail) === \"boolean\" ? attributes.visualDownloadThumbnail : undefined,\n visualHeroButtonText: (attributes === null || attributes === void 0 ? void 0 : attributes.visualHeroButtonText) || \"\",\n shouldForceToShowVisual: (attributes === null || attributes === void 0 ? void 0 : attributes.shouldForceToShowVisual) || false,\n presetCheck: !preset\n };\n const handlers = useFormHandler({ ...opts,\n defaultValues,\n i18n: {\n successMessage: __(\"You have successfully saved the content blocker.\"),\n validationError: __(\"The content blocker could not be saved due to missing/invalid form values.\"),\n unloadConfirm: __('You have unsaved changes. If you click on \"confirm\", your changes will be discarded.'),\n unloadConfirmInitialActive: __(\"You have already created a service. Are you sure that you don't want to create the corresponding content blocker?\")\n }\n }); // Find non-existing services and show a warning\n\n const nonExistingServices = (attributes === null || attributes === void 0 ? void 0 : (_attributes$serviceTe2 = attributes.serviceTemplates) === null || _attributes$serviceTe2 === void 0 ? void 0 : _attributes$serviceTe2.filter(({\n created\n }) => !created)) || [];\n return { ...handlers,\n defaultValues,\n nonExistingServices,\n contextValue: {\n __,\n _i,\n isTcf,\n presetCheck: !!preset,\n defaultPresetValues: preset ? defaultValues : {}\n }\n };\n}\n\nexport { useFormContentBlockerHandler };","import _Select from \"antd/es/select\";\nimport _Spin from \"antd/es/spin\";\nimport { useState, useEffect, useCallback } from \"react\";\nimport { __, request as utilsRequest, getOtherOptionsFromWindow } from \"../utils\";\nimport { useDebounce } from \"../hooks\";\nimport { RouteHttpVerb } from \"@devowl-wp/utils\";\nimport { htmlDecode } from \"@devowl-wp/headless-content-unblocker\";\n\nconst PostTypeSelect = ({\n postType,\n postStatus = [\"draft\", \"publish\", \"private\"],\n perPage = 10,\n value,\n multiple,\n disabled,\n forceDefaultLanguage,\n onChange,\n titleRender = ({\n title: {\n rendered\n }\n }) => rendered,\n filter = () => true\n}) => {\n const [term, setTerm] = useState(false);\n const [postId, setPostId] = useState(value);\n const [fetching, setFetching] = useState(false);\n const [data, setData] = useState([]);\n const fetch = useCallback(async request => {\n setFetching(true);\n const {\n defaultLanguage,\n currentLanguage\n } = getOtherOptionsFromWindow();\n const pages = await utilsRequest({\n location: {\n path: \"/\".concat(postType),\n method: RouteHttpVerb.GET,\n namespace: \"wp/v2\"\n },\n request: {\n status: request.include ? [\"draft\", \"publish\", \"private\"] : postStatus,\n orderby: request.search ? \"relevance\" : \"title\",\n ...request\n },\n params: {\n _dataLocale: forceDefaultLanguage ? defaultLanguage : currentLanguage\n }\n });\n setData(pages);\n setFetching(false);\n }, []);\n useDebounce(term, term === \"\" ? 0 : 800, debouncedValue => {\n if (debouncedValue !== false) {\n fetch({\n search: debouncedValue,\n per_page: debouncedValue.length ? 50 : perPage\n });\n }\n }, changedValue => {\n if (changedValue !== false) {\n setFetching(true);\n }\n\n setData([]);\n });\n useEffect(() => {\n if (postId > 0 || Array.isArray(postId) && postId.length > 0) {\n fetch({\n include: Array.isArray(postId) ? postId : [postId]\n });\n }\n }, []); // Listen to changes from outside and refetch the data\n\n useEffect(() => {\n if (JSON.stringify(postId) !== JSON.stringify(value) && (value > 0 || Array.isArray(value) && value.length > 0)) {\n setPostId(value);\n fetch({\n include: Array.isArray(value) ? value : [value]\n });\n }\n }, [value, postId]);\n return /*#__PURE__*/React.createElement(_Select, {\n mode: multiple ? \"multiple\" : undefined,\n disabled: disabled,\n showSearch: true,\n value: postId,\n placeholder: __(\"Search...\"),\n notFoundContent: fetching ? /*#__PURE__*/React.createElement(_Spin, {\n size: \"small\"\n }) : null,\n onClick: () => setTerm(\"\"),\n onSearch: setTerm,\n onChange: e => {\n const value = Array.isArray(e) ? e.map(Number) : +e;\n setPostId(value);\n onChange === null || onChange === void 0 ? void 0 : onChange(value);\n },\n filterOption: false,\n loading: fetching\n }, !multiple && !fetching && /*#__PURE__*/React.createElement(_Select.Option, {\n value: 0\n }, __(\"— Select —\")), data.map(d => /*#__PURE__*/React.createElement(_Select.Option, {\n key: d.id,\n value: d.id,\n style: {\n display: filter(d) ? undefined : \"none\"\n }\n }, htmlDecode(titleRender(d)))));\n};\n\nexport { PostTypeSelect };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n const inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `'ionid=`\n const doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n const doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","import { useState, useEffect } from \"react\";\n\nfunction useDebounce(value, delay, callback, changed) {\n const [debounce, setDebounce] = useState(value);\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebounce(value);\n }, delay);\n changed === null || changed === void 0 ? void 0 : changed(value);\n return () => {\n clearTimeout(handler);\n };\n }, [value]);\n useEffect(() => {\n callback(debounce);\n }, [debounce]);\n return debounce;\n}\n\nexport { useDebounce };","import { useRouteMatch } from \"react-router-dom\";\nimport { useStores } from \"../store\";\nimport { useCallback } from \"react\";\nimport { BlockerModel } from \"../models\";\n\nconst useRouteBlocker = () => {\n const {\n params\n } = useRouteMatch();\n const {\n cookieStore\n } = useStores(); // Get blocker or return draft object\n\n const blockerId = +params.blocker;\n const id = isNaN(+blockerId) ? 0 : +blockerId;\n const queried = !!blockerId;\n const blocker = cookieStore.blockers.entries.get(id) || new BlockerModel(cookieStore.blockers, {\n id: 0\n });\n const link = \"#/blocker\";\n const editLink = useCallback(({\n key\n }) => \"#/blocker/edit/\".concat(key), [blocker]);\n const addLink = \"#/blocker/new\";\n return {\n blocker,\n id,\n queried,\n fetched: blocker.key !== 0,\n link,\n editLink,\n addLink\n };\n};\n\nexport { useRouteBlocker };"],"names":["BlockerFormNoticeNoneExistingCookies","nonExistingServices","onCreated","openId","setOpenId","useState","created","setCreated","useNoneExistingCookies","filter","identifier","indexOf","modalWindows","map","attributes","version","React","createElement","key","visible","title","__","width","bodyStyle","paddingBottom","footer","onCancel","undefined","navigateAfterCreation","scrollToTop","preset","model","Fragment","length","className","join","style","margin","name","subHeadline","concat","onClick","e","preventDefault","cursor","addFilter","hooks","MediaUpload","mediaUtils","MediaLibrarySelector","attachmentId","allowedTypes","render","onChange","useAttachmentId","data","error","fetching","id","setFetching","setData","setError","fetch","useCallback","async","currentLanguage","getOtherOptionsFromWindow","result","location","path","method","RouteHttpVerb","namespace","params","_dataLocale","useEffect","useMediaAttachment","url","source_url","_error$responseJSON","responseJSON","code","spinning","onSelect","media","value","open","reset","FormContentBlockerLayout","labelCol","span","wrapperCol","FormContentBlockerFieldGeneralName","ref","useRef","label","required","noStyle","rules","message","form","valueName","widthOfRef","renderDiff","readOnly","FormContentBlockerFieldGeneralStatus","FormContentBlockerFieldGeneralDescription","autoSize","minRows","FormContentBlockerFieldGeneralCompose","offset","FormContentBlockerFieldTechnicalRules","_i","openCookieExperts","maxRows","difference","oldValue","newValue","currentRules","split","diff","newRule","includes","apply","setFieldsValue","newValueText","type","strong","FormContentBlockerFieldTechnicalCriteria","isTcf","display","FormContentBlockerFieldTechnicalServices","dropdown","children","proModals","visual","modal","shouldUpdate","prevValues","nextValues","criteria","getFieldValue","FormContentBlockerFieldTechnicalTcfVendors","FormContentBlockerFieldTechnicalCompose","servicesFieldProps","tcfVendorsFieldProps","FormContentBlockerFieldIsVisual","valuePropName","FormContentBlockerFieldVisualType","isPro","tag","visualTypes","useMemo","default","description","wrapped","hero","isVisual","enum","size","buttonStyle","marginBottom","Object","keys","bordered","cover","height","src","FormContentBlockerFieldVisualContentType","visualContentTypeTitles","generic","isVisualDarkMode","visualType","extra","disabled","FormContentBlockerFieldIsVisualDarkMode","FormContentBlockerFieldVisualDownloadThumbnail","visualDownloadThumbnail","cancelText","okText","overlayStyle","maxWidth","onConfirm","placement","FormContentBlockerFieldVisualMediaThumbnail","visualContentType","FormContentBlockerFieldVisualBlur","min","max","marks","tooltipVisible","marginLeft","FormContentBlockerFieldVisualHeroButtonText","FormContentBlockerFieldShouldForceToShowVisual","FormContentBlockerFieldVisualCompose","visualMediaThumbnailPicker","FormContentBlockerFieldPresetCheck","presetCheck","isTemplateUpdate","transform","FormContentBlocker","technicalProps","visualProps","I18nContext","Provider","containerRef","textAlign","useProModalVisualContentBlocker","useProModal","testDrive","feature","assetName","BlockerEditForm","overwriteAttributes","cookieCreationPrompt","_blocker$data","_blocker$data$meta","blocker","queried","fetched","link","useRouteBlocker","history","useHistory","isCreatingNewCookie","setIsCreatingNewCookie","cookieStore","optionStore","tcf","others","presetModel","presetsBlocker","get","isBusy","defaultValues","onFinish","onFinishFailed","onBeforeUnload","onValuesChange","contextValue","opts","_attributes$rules","_attributes$tcfVendor","_attributes$serviceTe","_attributes$serviceTe2","status","tcfVendors","Number","services","serviceTemplates","Boolean","visualMediaThumbnail","visualBlur","visualHeroButtonText","shouldForceToShowVisual","useFormHandler","i18n","successMessage","validationError","unloadConfirm","unloadConfirmInitialActive","defaultPresetValues","useFormContentBlockerHandler","initialHasChanges","handleSave","_meta$tcfVendors","_meta$services","meta","values","newMeta","presetId","presetVersion","setName","setStatus","setDescription","setMeta","patch","draft","blockers","rendered","content","protected","persist","setTimeout","window","href","push","slice","essentialGroup","openDialog","useCookieExpertsModal","u","initialValues","raw","handleCreatedPreset","getSingle","context","busy","fetchAttributes","scrollTo","fetchGroups","proModalVisualContentBlocker","FormContentBlockerContext","active","paragraph","rows","isEdit","Prompt","postType","multiple","d","titleRender","vendor","marginTop","PostTypeSelect","postStatus","perPage","forceDefaultLanguage","term","setTerm","postId","setPostId","defaultLanguage","pages","request","include","orderby","search","useDebounce","debouncedValue","per_page","changedValue","Array","isArray","JSON","stringify","mode","showSearch","placeholder","notFoundContent","onSearch","filterOption","loading","input","isUrl","_doc$querySelector","DOMParser","parseFromString","querySelector","documentElement","textContent","delay","callback","changed","debounce","setDebounce","handler","clearTimeout","useRouteMatch","blockerId","isNaN","entries","editLink","addLink"],"sourceRoot":""}
|
1 |
+
{"version":3,"file":"637.lite.js?ver=33a352aac1ee27241969","mappings":"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","sources":["webpack:///./src/public/ts/components/config/blocker/noticeNoneExistingCookies.tsx","webpack:///./src/public/ts/components/mediaLibrarySelector.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/index.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/name.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/status.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/description.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/general/compose.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/rules.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/criteria.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/services.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/tcfVendors.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/technical/compose.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/isVisual.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualType.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualContentType.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/isVisualDarkMode.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualDownloadThumbnail.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualMediaThumbnail.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualBlur.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/visualHeroButtonText.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/shouldForceToShowVisual.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/visual/compose.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/fields/presetCheck.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/components/forms/contentBlocker/form.tsx","webpack:///./src/public/ts/components/config/blocker/form.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/hooks/useFormContentBlockerHandler.tsx","webpack:///./src/public/ts/components/postTypeSelect.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///./src/public/ts/hooks/useDebounce.tsx","webpack:///./src/public/ts/hooks/useRouteBlocker.tsx"],"sourcesContent":["import _Modal from \"antd/es/modal\";\nimport { useState } from \"react\";\nimport { __ } from \"../../../utils\";\nimport { CookieEditForm } from \"..\";\n\nconst BlockerFormNoticeNoneExistingCookies = ({\n nonExistingServices,\n onCreated\n}) => {\n const [openId, setOpenId] = useState(); // Created presets to hide them from the list\n\n const [created, setCreated] = useState([]);\n const useNoneExistingCookies = (nonExistingServices || []).filter(({\n identifier\n }) => created.indexOf(identifier) === -1); // Create modal windows as they should always be available in React tree (avoid \"Can't perform a React state update on an unmounted component\")\n\n const modalWindows = nonExistingServices === null || nonExistingServices === void 0 ? void 0 : nonExistingServices.map(({\n identifier,\n attributes,\n version\n }) => /*#__PURE__*/React.createElement(_Modal, {\n key: identifier,\n visible: openId === identifier,\n title: __(\"Add service\"),\n width: \"calc(100% - 50px)\",\n bodyStyle: {\n paddingBottom: 0\n },\n footer: null,\n onCancel: () => setOpenId(undefined)\n }, /*#__PURE__*/React.createElement(CookieEditForm, {\n overwriteAttributes: attributes,\n navigateAfterCreation: false,\n scrollToTop: false,\n preset: {\n identifier,\n version\n },\n onCreated: model => {\n setOpenId(undefined);\n setCreated([...created, openId]);\n onCreated(model);\n }\n })));\n return /*#__PURE__*/React.createElement(React.Fragment, null, modalWindows, useNoneExistingCookies.length === 0 ? null : /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Some services from the template could not be found. Please select (or create if not already exist) the following services:\", useNoneExistingCookies.join(\", \"))), /*#__PURE__*/React.createElement(\"ul\", {\n style: {\n margin: \"0 0 10px\"\n }\n }, useNoneExistingCookies.map(({\n identifier,\n name,\n subHeadline\n }) => /*#__PURE__*/React.createElement(\"li\", {\n key: identifier\n }, /*#__PURE__*/React.createElement(\"strong\", null, name, subHeadline ? \" (\".concat(subHeadline, \")\") : \"\"), \"\\xA0\\u2022\\xA0\", /*#__PURE__*/React.createElement(\"a\", {\n onClick: e => {\n setOpenId(identifier);\n e.preventDefault();\n },\n style: {\n cursor: \"pointer\"\n }\n }, __(\"Create now\")))))));\n};\n\nexport { BlockerFormNoticeNoneExistingCookies };","import _Spin from \"antd/es/spin\";\nimport { RouteHttpVerb } from \"@devowl-wp/utils\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { hooks, mediaUtils } from \"wp\";\nimport { request as utilsRequest, getOtherOptionsFromWindow } from \"../utils\";\nconst {\n addFilter\n} = hooks;\nconst {\n MediaUpload\n} = mediaUtils;\n\nconst replaceMediaUpload = () => MediaUpload;\n\naddFilter(\"editor.MediaUpload\", \"core/edit-post/components/media-upload/replace-media-upload\", replaceMediaUpload);\n\nfunction useMediaAttachment(id) {\n const [fetching, setFetching] = useState(false);\n const [data, setData] = useState();\n const [error, setError] = useState();\n const fetch = useCallback(async id => {\n setFetching(true);\n const {\n currentLanguage\n } = getOtherOptionsFromWindow();\n\n try {\n const result = await utilsRequest({\n location: {\n path: \"/media/:id\",\n method: RouteHttpVerb.GET,\n namespace: \"wp/v2\"\n },\n params: {\n id,\n _dataLocale: currentLanguage\n }\n });\n setData(result);\n setError(undefined);\n } catch (e) {\n setData(undefined);\n setError(e);\n } finally {\n setFetching(false);\n }\n }, []);\n useEffect(() => {\n if (id) {\n fetch(id);\n } else {\n setData(undefined);\n setError(undefined);\n }\n }, [id]);\n return {\n fetching,\n data,\n fetch,\n error\n };\n}\n/**\n * @see https://github.com/WordPress/gutenberg/tree/trunk/packages/block-editor/src/components/media-upload\n * @see https://wordpress.stackexchange.com/a/385777/83335\n * @see https://www.liip.ch/en/blog/add-an-image-selector-to-a-gutenberg-block\n */\n\n\nconst MediaLibrarySelector = ({\n attachmentId,\n title,\n allowedTypes,\n render,\n onChange\n}) => {\n const useAttachmentId = attachmentId || undefined; // Zero should be treated as `undefined`\n\n const {\n data,\n error,\n fetching\n } = useMediaAttachment(useAttachmentId);\n const url = data === null || data === void 0 ? void 0 : data.source_url;\n useEffect(() => {\n var _error$responseJSON;\n\n if ((error === null || error === void 0 ? void 0 : (_error$responseJSON = error.responseJSON) === null || _error$responseJSON === void 0 ? void 0 : _error$responseJSON.code) === \"rest_post_invalid_id\") {\n onChange(undefined, undefined);\n }\n }, [error]);\n return /*#__PURE__*/React.createElement(_Spin, {\n spinning: fetching\n }, /*#__PURE__*/React.createElement(MediaUpload, {\n onSelect: media => {\n onChange === null || onChange === void 0 ? void 0 : onChange(media === null || media === void 0 ? void 0 : media.id, media);\n },\n title: title,\n allowedTypes: allowedTypes,\n value: useAttachmentId,\n render: ({\n open\n }) => render({\n open,\n reset: () => onChange(undefined, undefined),\n attachmentId: useAttachmentId,\n url\n })\n }));\n};\n\nexport { MediaLibrarySelector };","export const FormContentBlockerLayout = {\n labelCol: {\n span: 6\n },\n wrapperCol: {\n span: 16\n }\n};\nexport * from \"./fields\";\nexport * from \"./form\";","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useRef } from \"react\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormValueDifferFromPresetTag } from \"../../..\";\n\nconst FormContentBlockerFieldGeneralName = () => {\n const {\n __\n } = useFormContentBlocker();\n const ref = useRef();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Name\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"name\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n ref: ref\n }, /*#__PURE__*/React.createElement(FormValueDifferFromPresetTag, {\n form: \"blocker\",\n valueName: \"name\",\n widthOfRef: ref,\n renderDiff: value => /*#__PURE__*/React.createElement(_Input, {\n value: value,\n readOnly: true\n })\n }), __('Each content blocker should have a descriptive name that is understandable to a non-professional user, e.g. \"Google Maps\".')));\n};\n\nexport { FormContentBlockerFieldGeneralName };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldGeneralStatus = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Status\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"status\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"publish\"\n }, __(\"Enabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"private\"\n }, __(\"Disabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"draft\"\n }, __(\"Draft\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('Content Blockers with the status \"Draft\" or \"Disabled\" are not visible to the public. In addition, a draft will be highlighted in the content blocker table so that you do not forget to configure it.')));\n};\n\nexport { FormContentBlockerFieldGeneralStatus };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldGeneralDescription = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Description\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"description\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"You can give your visitors further explanations why a content has been blocked or, for example, how they can contact you alternatively instead of agreeing to load the contact form. The description is displayed only in visual content blockers.\")));\n};\n\nexport { FormContentBlockerFieldGeneralDescription };","import { FormContentBlockerFieldGeneralDescription, FormContentBlockerFieldGeneralName, FormContentBlockerFieldGeneralStatus, FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormHeadline } from \"../../..\";\nimport { LearnMoreTag } from \"../../../../common\";\n\nconst FormContentBlockerFieldGeneralCompose = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: FormContentBlockerLayout.labelCol.span\n }, __(\"General content blocker configuration\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/\")\n })), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralName, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralStatus, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralDescription, null));\n};\n\nexport { FormContentBlockerFieldGeneralCompose };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useRef } from \"react\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormValueDifferFromPresetTag } from \"../../../valueDifferFromPresetTag\";\nimport { LearnMoreTag } from \"../../../../common\";\n\nconst FormContentBlockerFieldTechnicalRules = () => {\n const {\n __,\n _i,\n openCookieExperts\n } = useFormContentBlocker();\n const ref = useRef();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"URLs / Elements to block\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"rules\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide at least one URL/element!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input.TextArea, {\n autoSize: {\n minRows: 3,\n maxRows: 15\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n ref: ref\n }, /*#__PURE__*/React.createElement(FormValueDifferFromPresetTag, {\n form: \"blocker\",\n valueName: \"rules\",\n widthOfRef: ref,\n difference: (oldValue, newValue) => {\n const currentRules = oldValue.split(\"\\n\");\n const diff = newValue.split(\"\\n\").filter(newRule => !currentRules.includes(newRule));\n return diff.length > 0 ? diff : undefined;\n },\n apply: (diff, setFieldsValue, oldValue) => setFieldsValue({\n rules: oldValue.split(\"\\n\").concat(diff).join(\"\\n\")\n }),\n newValueText: __(\"Missing entries:\"),\n renderDiff: (value, diff) => /*#__PURE__*/React.createElement(_Input.TextArea, {\n value: diff.join(\"\\n\"),\n readOnly: true,\n autoSize: {\n minRows: 3,\n maxRows: 15\n }\n })\n }), _i(__(\"Enter one rule per line to replace content with a content blocker. You can block all available URLs or HTML tags on your website including videos, iframes, scripts, inline scripts and stylesheets. Please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder).\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n }), \"\\xA0\\u2022\\xA0\", !!openCookieExperts && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button-link\",\n onClick: openCookieExperts\n }, __(\"Can't handle it? Let a Cookie Expert help you!\")), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), _i(__('{{strong}}Pro tip:{{/strong}} Look up all available syntaxes like {{code}}div[class*=\"my-embed\"]{{/code}} in our knowledge base to block content perfectly.'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null),\n code: /*#__PURE__*/React.createElement(\"code\", null)\n }), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-create-individual-content-blocker/\")\n })));\n};\n\nexport { FormContentBlockerFieldTechnicalRules };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldTechnicalCriteria = () => {\n const {\n __,\n isTcf\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Block by\"),\n required: true,\n style: {\n display: isTcf ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"criteria\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"services\"\n }, __(\"Services\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"tcfVendors\"\n }, __(\"TCF Vendors\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"You can block content through non-standard services or TCF vendors. If you want to block it through TCF vendors, then the visual content blocker cannot be displayed because TCF is usually used to obtain consent for ad networks. Moreover, after the initial consents in the cookie banner, users will probably never consent to the ad.\")));\n};\n\nexport { FormContentBlockerFieldTechnicalCriteria };","import _Form from \"antd/es/form\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldTechnicalServices = ({\n dropdown,\n children\n}) => {\n const {\n __,\n _i,\n proModals: {\n visual: {\n modal\n }\n }\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, modal, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n const criteria = getFieldValue(\"criteria\");\n return criteria === \"services\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Connected services\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"services\",\n noStyle: true,\n rules: [{\n type: \"array\",\n required: true,\n message: __(\"Please provide at least one service!\")\n }]\n }, dropdown), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, _i(__(\"A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary services that would be used by loading the content. You must define all services that are loaded as soon as the user wants to see the blocked content.\"), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), children);\n }));\n};\n\nexport { FormContentBlockerFieldTechnicalServices };","import _Form from \"antd/es/form\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldTechnicalTcfVendors = ({\n dropdown,\n children\n}) => {\n const {\n __,\n _i,\n proModals: {\n visual: {\n modal\n }\n }\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, modal, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n const criteria = getFieldValue(\"criteria\");\n return criteria === \"tcfVendors\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Connected TCF Vendors\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"tcfVendors\",\n noStyle: true,\n rules: [{\n type: \"array\",\n required: true,\n message: __(\"Please provide at least one vendor!\")\n }]\n }, dropdown), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, _i(__(\"A content blocker is displayed until the user has agreed to {{strong}}all{{/strong}} necessary TCF vendors that would be used by loading the content. You must define all TCF vendors that are loaded based on legitimate interest or consent as soon as the user wants to see the blocked content.\"), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), children);\n }));\n};\n\nexport { FormContentBlockerFieldTechnicalTcfVendors };","import _Form from \"antd/es/form\";\nimport { FormContentBlockerFieldTechnicalCriteria, FormContentBlockerFieldTechnicalRules, FormContentBlockerFieldTechnicalServices, FormContentBlockerFieldTechnicalTcfVendors, FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormHeadline } from \"../../..\";\n\nconst FormContentBlockerFieldTechnicalCompose = ({\n servicesFieldProps,\n tcfVendorsFieldProps\n}) => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: FormContentBlockerLayout.labelCol.span\n }, __(\"Technical Definition\")), /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalRules, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalCriteria, null), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n switch (getFieldValue(\"criteria\")) {\n case \"services\":\n return /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalServices, servicesFieldProps);\n\n case \"tcfVendors\":\n return /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalTcfVendors, tcfVendorsFieldProps);\n\n default:\n return null;\n }\n }));\n};\n\nexport { FormContentBlockerFieldTechnicalCompose };","import _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldIsVisual = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"isVisual\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"Show the visual content blocker, if possible\"))));\n};\n\nexport { FormContentBlockerFieldIsVisual };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport _Card from \"antd/es/card\";\nimport { useMemo } from \"react\";\nimport { FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualType = () => {\n const {\n __,\n isPro,\n proModals: {\n visual: {\n tag\n }\n }\n } = useFormContentBlocker();\n const visualTypes = useMemo(() => ({\n default: {\n title: __(\"Textbox\"),\n description: __(\"Plain text with button\")\n },\n wrapped: {\n title: __(\"Wrapped\"),\n description: __(\"Image surrounding the content blocker\")\n },\n hero: {\n title: __(\"Hero\"),\n description: __(\"Image with content blocker on click\")\n }\n }), [__]);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"isVisual\") && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n },\n style: {\n paddingBottom: 10\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualType\",\n noStyle: true,\n rules: isPro ? [] : [{\n required: true,\n type: \"enum\",\n enum: [\"default\"],\n message: __(\"This type of visual content blocker is available only in the PRO version of the plugin. Please choose a textbox content blocker!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n size: \"large\",\n buttonStyle: \"solid\",\n className: \"rcb-antd-radio-button-card\",\n style: {\n marginBottom: 10\n }\n }, Object.keys(visualTypes).map(type => {\n const {\n description,\n title\n } = visualTypes[type];\n return /*#__PURE__*/React.createElement(_Radio.Button, {\n value: type,\n key: type\n }, /*#__PURE__*/React.createElement(_Card, {\n style: {\n width: 300\n },\n bordered: false,\n cover: /*#__PURE__*/React.createElement(\"img\", {\n style: {\n height: 168.75\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/\".concat(type, \".png\")\n })\n }, /*#__PURE__*/React.createElement(_Card.Meta, {\n title: /*#__PURE__*/React.createElement(React.Fragment, null, title, \" \", type !== \"default\" && tag),\n description: description\n })));\n }))))));\n};\n\nexport { FormContentBlockerFieldVisualType };","import _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport _Card from \"antd/es/card\";\nimport { useMemo } from \"react\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualContentType = () => {\n const {\n __,\n isPro,\n proModals: {\n visual: {\n tag\n }\n }\n } = useFormContentBlocker();\n const visualContentTypeTitles = useMemo(() => ({\n map: __(\"Map\"),\n \"audio-player\": __(\"Audio player\"),\n \"video-player\": __(\"Video player\"),\n \"feed-text\": __(\"Feed (text)\"),\n \"feed-video\": __(\"Feed (image/video)\"),\n generic: __(\"None of these\")\n }), [__]);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisualDarkMode !== nextValues.isVisualDarkMode || prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Content type\"),\n required: true,\n extra: tag\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualContentType\",\n rules: [{\n required: true,\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n size: \"large\",\n buttonStyle: \"solid\",\n className: \"rcb-antd-radio-button-card\"\n }, Object.keys(visualContentTypeTitles).map(type => {\n const title = visualContentTypeTitles[type];\n return /*#__PURE__*/React.createElement(_Radio.Button, {\n value: type,\n key: type,\n style: {\n margin: \"0 5px 5px 0\"\n },\n disabled: !isPro\n }, /*#__PURE__*/React.createElement(_Card, {\n style: {\n width: 240\n },\n bordered: false,\n size: \"small\",\n cover: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n display: getFieldValue(\"isVisualDarkMode\") ? \"none\" : undefined\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/\".concat(type, \"-light.png\")\n }), /*#__PURE__*/React.createElement(\"img\", {\n style: {\n display: getFieldValue(\"isVisualDarkMode\") ? undefined : \"none\"\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/visual-content-blocker-preview/\".concat(type, \"-dark.png\")\n }))\n }, /*#__PURE__*/React.createElement(_Card.Meta, {\n title: title\n })));\n }))));\n });\n};\n\nexport { FormContentBlockerFieldVisualContentType };","import _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormContentBlockerLayout } from \"../..\";\n\nconst FormContentBlockerFieldIsVisualDarkMode = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"isVisualDarkMode\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), \"\\xA0\\xA0\", __(\"Enable dark mode\"), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"As soon as no image is found for the content blocker, a default image is automatically used. You can also specify whether the image should be displayed light or dark.\"))));\n });\n};\n\nexport { FormContentBlockerFieldIsVisualDarkMode };","import _Popconfirm from \"antd/es/popconfirm\";\nimport _Form from \"antd/es/form\";\nimport _Radio from \"antd/es/radio\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualDownloadThumbnail = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.visualDownloadThumbnail !== nextValues.visualDownloadThumbnail || prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue,\n setFieldsValue\n }) => {\n const visualDownloadThumbnail = getFieldValue(\"visualDownloadThumbnail\");\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Automatic preview image\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: \"visualDownloadThumbnail\",\n required: true,\n rules: [{\n required: true,\n type: \"boolean\",\n message: __(\"Please choose an option!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n style: {\n display: visualDownloadThumbnail ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: true\n }, __(\"Download preview image and serve locally\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: false\n }, __(\"Image from media library\")))), !visualDownloadThumbnail && /*#__PURE__*/React.createElement(_Radio.Group, {\n value: visualDownloadThumbnail\n }, /*#__PURE__*/React.createElement(_Popconfirm, {\n title: __(\"I confirm that I have the required rights to embedded content and its thumbnails can be copied to my servers without e.g. copyright infringement.\"),\n cancelText: __(\"Cancel\"),\n okText: __(\"Activate now\"),\n overlayStyle: {\n maxWidth: 450\n },\n onCancel: () => setFieldsValue({\n visualDownloadThumbnail: false\n }),\n onConfirm: () => setFieldsValue({\n visualDownloadThumbnail: true\n }),\n placement: \"bottomLeft\"\n }, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: true\n }, __(\"Download preview image and serve locally\"))), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: false,\n onClick: () => setFieldsValue({\n visualDownloadThumbnail: false\n })\n }, __(\"Image from media library\"))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"If you block an external URL, this option will try to download an image for this URL using different mechanisms (oEmbed, OpenGraph, ...), saves it locally and use it as background image.\"))));\n });\n};\n\nexport { FormContentBlockerFieldVisualDownloadThumbnail };","import _Form from \"antd/es/form\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualMediaThumbnail = ({\n children\n}) => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.visualDownloadThumbnail !== nextValues.visualDownloadThumbnail || prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType || prevValues.visualContentType !== nextValues.visualContentType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n const visualContentType = getFieldValue(\"visualContentType\");\n const visualDownloadThumbnail = getFieldValue(\"visualDownloadThumbnail\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: visualDownloadThumbnail || visualContentType === \"generic\" ? __(\"Fallback preview image\") : __(\"Preview image\"),\n name: \"visualMediaThumbnail\",\n valuePropName: \"attachmentId\",\n style: {\n display: visualDownloadThumbnail === undefined ? \"none\" : undefined\n }\n }, children);\n });\n};\n\nexport { FormContentBlockerFieldVisualMediaThumbnail };","import _Form from \"antd/es/form\";\nimport _Slider from \"antd/es/slider\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualBlur = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Blur image\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualBlur\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Slider, {\n min: 0,\n max: 20,\n marks: {\n 0: __(\"Disabled\"),\n 5: \"5%\",\n 10: \"10%\",\n 15: \"15%\",\n 20: \"20%\"\n },\n tooltipVisible: false,\n style: {\n marginLeft: 40\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"You can apply an additional blur to the background image. This can be useful e.g. for blocked contact forms to show it only schematically.\")));\n });\n};\n\nexport { FormContentBlockerFieldVisualBlur };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\n\nconst FormContentBlockerFieldVisualHeroButtonText = () => {\n const {\n __,\n isPro\n } = useFormContentBlocker();\n return isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual || prevValues.visualType !== nextValues.visualType\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n const visualType = getFieldValue(\"visualType\");\n return !!isVisual && visualType !== \"default\" && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.visualContentType !== nextValues.visualContentType\n }, ({\n getFieldValue\n }) => {\n const visualContentType = getFieldValue(\"visualContentType\");\n const visualType = getFieldValue(\"visualType\");\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Button text\"),\n style: {\n display: [\"audio-player\", \"video-player\"].indexOf(visualContentType) > -1 || visualType !== \"hero\" ? \"none\" : undefined\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"visualHeroButtonText\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"If you specify a button text, a button with this text will be centered in the image and only when you click on this button the content blocker will be opened. Otherwise, clicking on the image itself will open the Content Blocker.\")));\n });\n });\n};\n\nexport { FormContentBlockerFieldVisualHeroButtonText };","import _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormContentBlockerLayout } from \"../..\";\n\nconst FormContentBlockerFieldShouldForceToShowVisual = () => {\n const {\n __\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.isVisual !== nextValues.isVisual\n }, ({\n getFieldValue\n }) => {\n const isVisual = getFieldValue(\"isVisual\");\n return !!isVisual && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"shouldForceToShowVisual\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), \"\\xA0\\xA0\", __(\"Force visual content blocker for hidden elements\"), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"In rare cases, visual content blockers are not displayed because the main element of the blocked content is not visible either. Enable this option if this is the case and you want to force to display a content blocker for non-visible elements.\"))));\n });\n};\n\nexport { FormContentBlockerFieldShouldForceToShowVisual };","import _Form from \"antd/es/form\";\nimport { FormContentBlockerFieldIsVisual, FormContentBlockerFieldIsVisualDarkMode, FormContentBlockerFieldShouldForceToShowVisual, FormContentBlockerFieldVisualBlur, FormContentBlockerFieldVisualContentType, FormContentBlockerFieldVisualDownloadThumbnail, FormContentBlockerFieldVisualHeroButtonText, FormContentBlockerFieldVisualMediaThumbnail, FormContentBlockerFieldVisualType, FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../../contexts\";\nimport { FormHeadline } from \"../../..\";\n\nconst FormContentBlockerFieldVisualCompose = ({\n visualMediaThumbnailPicker\n}) => {\n const {\n __,\n proModals: {\n visual: {\n modal\n }\n }\n } = useFormContentBlocker();\n return /*#__PURE__*/React.createElement(React.Fragment, null, modal, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.criteria !== nextValues.criteria\n }, ({\n getFieldValue\n }) => {\n const criteria = getFieldValue(\"criteria\");\n return criteria === \"services\" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: FormContentBlockerLayout.labelCol.span,\n description: __(\"For each content blocker it can be defined if it should be visually visible. This means that if the user has not agreed to the respective services, a box with a button is displayed to adjust the privacy settings so that the actual content can be loaded. The design of the box is copied from the cookie banner.\")\n }, __(\"Visual\")), /*#__PURE__*/React.createElement(FormContentBlockerFieldIsVisual, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualType, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualContentType, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldIsVisualDarkMode, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualDownloadThumbnail, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualMediaThumbnail, null, visualMediaThumbnailPicker), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualBlur, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualHeroButtonText, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldShouldForceToShowVisual, null));\n }));\n};\n\nexport { FormContentBlockerFieldVisualCompose };","import _Form from \"antd/es/form\";\nimport _Checkbox from \"antd/es/checkbox\";\nimport { FormContentBlockerLayout } from \"../..\";\nimport { useFormContentBlocker } from \"../../../../contexts\";\nimport { LearnMoreTag } from \"../../../common\";\n\nconst FormContentBlockerFieldPresetCheck = () => {\n const {\n __,\n presetCheck,\n isTemplateUpdate\n } = useFormContentBlocker();\n return !!(presetCheck || isTemplateUpdate) && /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"presetCheck\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: value => value || undefined,\n message: __(\"Please confirm that you have checked the content of the content blocker.\")\n }],\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Checkbox, null, __(\"I have checked the information in the content blocker template myself and added any missing information or corrected any information that does not fit to my use case.\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/\")\n })));\n};\n\nexport { FormContentBlockerFieldPresetCheck };","import _Form from \"antd/es/form\";\nimport { useRef } from \"react\";\nimport { FormContentBlockerFieldGeneralCompose, FormContentBlockerFieldTechnicalCompose, FormContentBlockerFieldVisualCompose, FormContentBlockerFieldPresetCheck, FormContentBlockerLayout } from \".\";\nimport { I18nContextFactory, useFormContentBlocker } from \"../../../contexts\";\nimport { FormValueDifferFromPresetNotice } from \"..\";\n\nconst FormContentBlocker = ({\n technicalProps,\n visualProps\n}) => {\n const {\n __,\n _i\n } = useFormContentBlocker();\n const ref = useRef();\n const I18nContext = I18nContextFactory.Context();\n return /*#__PURE__*/React.createElement(I18nContext.Provider, {\n value: {\n __,\n _i\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n }, /*#__PURE__*/React.createElement(FormValueDifferFromPresetNotice, {\n containerRef: ref,\n form: \"blocker\"\n }), /*#__PURE__*/React.createElement(FormContentBlockerFieldGeneralCompose, null), /*#__PURE__*/React.createElement(FormContentBlockerFieldTechnicalCompose, technicalProps), /*#__PURE__*/React.createElement(FormContentBlockerFieldVisualCompose, visualProps), /*#__PURE__*/React.createElement(_Form.Item, {\n className: \"rcb-form-sticky-submit\",\n labelCol: {\n span: 0\n },\n wrapperCol: {\n span: 24\n }\n }, /*#__PURE__*/React.createElement(FormContentBlockerFieldPresetCheck, null), /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: FormContentBlockerLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n textAlign: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"submit\",\n className: \"button button-primary\",\n value: __(\"Save\")\n }))))));\n};\n\nexport { FormContentBlocker };","import _Spin from \"antd/es/spin\";\nimport _Form from \"antd/es/form\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Image from \"antd/es/image\";\nimport _Modal from \"antd/es/modal\";\nimport _Skeleton from \"antd/es/skeleton\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { PostTypeSelect } from \"../..\";\nimport { __, scrollTo, _i } from \"../../../utils\";\nimport { useStores } from \"../../../store\";\nimport { Prompt, useHistory } from \"react-router-dom\";\nimport { useCookieExpertsModal, useProModal, useRouteBlocker } from \"../../../hooks\";\nimport { BlockerModel } from \"../../../models\";\nimport { BlockerFormNoticeNoneExistingCookies } from \".\";\nimport { CookieEditForm } from \"..\";\nimport { MediaLibrarySelector } from \"../..\";\nimport { FormContentBlockerContextFactory, FormContentBlockerLayout, FormContentBlocker, useFormContentBlockerHandler } from \"@devowl-wp/react-cookie-banner-admin\";\n\nfunction useProModalVisualContentBlocker() {\n return useProModal({\n title: __(\"Want a better integrated visual content blocker for your website?\"),\n testDrive: true,\n feature: \"visual-content-blocker\",\n assetName: __(\"pro-modal/visual-content-blocker.webp\"),\n description: __(\"Instead of a lot of text, you can offer your visitor a more pleasant way to view blocked content. For example, you can replace your video embeds with a privacy-compliant dummy player with thumbnail, or an embedded map with a preview map.\")\n });\n}\n\nconst BlockerEditForm = observer(({\n preset,\n overwriteAttributes,\n navigateAfterCreation = true,\n cookieCreationPrompt = false\n}) => {\n var _blocker$data, _blocker$data$meta;\n\n const {\n blocker,\n id,\n queried,\n fetched,\n link\n } = useRouteBlocker();\n const history = useHistory();\n const [isCreatingNewCookie, setIsCreatingNewCookie] = useState(false);\n const {\n cookieStore,\n optionStore: {\n tcf,\n others: {\n isPro\n }\n }\n } = useStores();\n const presetModel = (blocker === null || blocker === void 0 ? void 0 : blocker.presetModel) || cookieStore.presetsBlocker.get(preset === null || preset === void 0 ? void 0 : preset.identifier);\n const attributes = { ...(presetModel === null || presetModel === void 0 ? void 0 : presetModel.attributes),\n ...overwriteAttributes\n };\n const {\n form,\n isBusy,\n defaultValues,\n nonExistingServices,\n onFinish,\n onFinishFailed,\n onBeforeUnload,\n onValuesChange,\n contextValue\n } = useFormContentBlockerHandler({\n __,\n _i,\n attributes,\n isTcf: tcf,\n preset: presetModel ? {\n identifier: presetModel.data.identifier,\n version: presetModel.data.version\n } : undefined,\n initialHasChanges: cookieCreationPrompt,\n handleSave: async values => {\n try {\n var _meta$tcfVendors, _meta$services;\n\n const {\n name,\n status,\n description,\n ...meta\n } = values;\n const newMeta = { ...meta,\n visualMediaThumbnail: meta.visualMediaThumbnail || 0,\n criteria: meta.criteria,\n tcfVendors: ((_meta$tcfVendors = meta.tcfVendors) === null || _meta$tcfVendors === void 0 ? void 0 : _meta$tcfVendors.join(\",\")) || \"\",\n services: ((_meta$services = meta.services) === null || _meta$services === void 0 ? void 0 : _meta$services.join(\",\")) || \"\",\n isVisual: meta.criteria === \"services\" ? meta.isVisual : false,\n presetId: presetModel === null || presetModel === void 0 ? void 0 : presetModel.data.identifier,\n presetVersion: presetModel === null || presetModel === void 0 ? void 0 : presetModel.data.version\n };\n delete newMeta.presetCheck;\n\n if (queried) {\n blocker.setName(name);\n blocker.setStatus(status);\n blocker.setDescription(description);\n blocker.setMeta(newMeta);\n await blocker.patch();\n } else {\n const draft = new BlockerModel(blockers, {\n title: {\n rendered: name\n },\n content: {\n rendered: description,\n protected: false\n },\n status,\n meta: newMeta\n });\n await draft.persist();\n }\n\n navigateAfterCreation && setTimeout(() => typeof navigateAfterCreation === \"string\" ? window.location.href = navigateAfterCreation : history.push(link.slice(1)), 0);\n } catch (e) {\n throw e.responseJSON.message;\n }\n }\n });\n const {\n blockers,\n essentialGroup\n } = cookieStore;\n const {\n openDialog: openCookieExperts\n } = useCookieExpertsModal();\n const initialValues = fetched ? {\n name: blocker.data.title.raw,\n status: blocker.data.status,\n description: blocker.data.content.raw,\n criteria: blocker.data.meta.criteria,\n rules: blocker.data.meta.rules,\n tcfVendors: blocker.tcfVendors,\n services: blocker.services,\n isVisual: blocker.data.meta.isVisual,\n visualType: isPro ? blocker.data.meta.visualType : \"default\",\n visualMediaThumbnail: blocker.data.meta.visualMediaThumbnail,\n visualContentType: blocker.data.meta.visualContentType,\n isVisualDarkMode: blocker.data.meta.isVisualDarkMode,\n visualBlur: blocker.data.meta.visualBlur,\n visualDownloadThumbnail: blocker.data.meta.visualDownloadThumbnail,\n visualHeroButtonText: blocker.data.meta.visualHeroButtonText,\n shouldForceToShowVisual: blocker.data.meta.shouldForceToShowVisual,\n presetCheck: undefined\n } : defaultValues; // Automatically add created presets to the dropdown\n\n const handleCreatedPreset = useCallback(model => {\n form.setFieldsValue({\n services: [...form.getFieldValue(\"services\"), model.key]\n });\n }, [form]); // Initially load the blocker if not yet done\n\n useEffect(() => {\n if (queried && !fetched) {\n blockers.getSingle({\n params: {\n id,\n context: \"edit\"\n }\n });\n }\n }, [queried, fetched]);\n useEffect(() => {\n if (presetModel && !presetModel.attributes && !presetModel.busy) {\n presetModel.fetchAttributes();\n }\n }, [presetModel]); // Scroll to top when opening the form\n\n useEffect(() => {\n scrollTo(0); // Ensure the groups are loaded\n\n if (!essentialGroup) {\n cookieStore.fetchGroups();\n }\n }, []);\n const proModalVisualContentBlocker = useProModalVisualContentBlocker();\n const FormContentBlockerContext = FormContentBlockerContextFactory.Context();\n\n if (queried && !fetched || presetModel && !presetModel.attributes) {\n return /*#__PURE__*/React.createElement(_Skeleton, {\n active: true,\n paragraph: {\n rows: 8\n }\n });\n }\n\n const isTemplateUpdate = fetched && presetModel ? ((_blocker$data = blocker.data) === null || _blocker$data === void 0 ? void 0 : (_blocker$data$meta = _blocker$data.meta) === null || _blocker$data$meta === void 0 ? void 0 : _blocker$data$meta.presetVersion) !== presetModel.data.version : false;\n return /*#__PURE__*/React.createElement(FormContentBlockerContext.Provider, {\n value: { ...contextValue,\n isPro,\n isEdit: fetched,\n isTemplateUpdate,\n proModals: {\n visual: proModalVisualContentBlocker\n },\n openCookieExperts,\n presetCheck: presetModel ? isTemplateUpdate || !fetched : false\n }\n }, /*#__PURE__*/React.createElement(_Spin, {\n spinning: isBusy || (presetModel === null || presetModel === void 0 ? void 0 : presetModel.busy) || false\n }, /*#__PURE__*/React.createElement(Prompt, {\n message: onBeforeUnload\n }), /*#__PURE__*/React.createElement(_Form, _extends({\n name: \"blocker-\".concat(id),\n form: form\n }, FormContentBlockerLayout, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onValuesChange: onValuesChange\n }), /*#__PURE__*/React.createElement(FormContentBlocker, {\n technicalProps: {\n servicesFieldProps: {\n dropdown: /*#__PURE__*/React.createElement(PostTypeSelect, {\n postType: \"rcb-cookie\",\n multiple: true,\n filter: d => d[\"rcb-cookie-group\"][0] !== (essentialGroup === null || essentialGroup === void 0 ? void 0 : essentialGroup.key)\n }),\n children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button\",\n onClick: () => setIsCreatingNewCookie(true)\n }, __(\"Create new service\")), /*#__PURE__*/React.createElement(_Modal, {\n key: id,\n visible: isCreatingNewCookie,\n title: __(\"Add service\"),\n width: \"calc(100% - 50px)\",\n bodyStyle: {\n paddingBottom: 0\n },\n footer: null,\n onCancel: () => setIsCreatingNewCookie(false)\n }, /*#__PURE__*/React.createElement(CookieEditForm, {\n navigateAfterCreation: false,\n scrollToTop: false,\n onCreated: model => {\n setIsCreatingNewCookie(false);\n handleCreatedPreset(model);\n }\n })), /*#__PURE__*/React.createElement(BlockerFormNoticeNoneExistingCookies, {\n nonExistingServices: nonExistingServices,\n onCreated: handleCreatedPreset\n }))\n },\n tcfVendorsFieldProps: {\n dropdown: /*#__PURE__*/React.createElement(PostTypeSelect, {\n postType: \"rcb-tcf-vendor-conf\",\n multiple: true,\n titleRender: ({\n vendor: {\n name\n }\n }) => name\n })\n }\n },\n visualProps: {\n visualMediaThumbnailPicker: /*#__PURE__*/React.createElement(MediaLibrarySelector, {\n title: __(\"Select preview image\"),\n allowedTypes: [\"image\"],\n render: ({\n open,\n reset,\n attachmentId,\n url\n }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"button\",\n onClick: open\n }, attachmentId ? __(\"Replace image\") : __(\"Select from media library\")), \"\\xA0\", attachmentId && /*#__PURE__*/React.createElement(\"a\", {\n className: \"button\",\n onClick: reset\n }, __(\"Remove image\"))), url && /*#__PURE__*/React.createElement(_Image, {\n width: 272,\n src: url\n }))\n })\n }\n }))));\n});\nexport { BlockerEditForm, useProModalVisualContentBlocker };","import { useFormHandler } from \".\";\n\nfunction useFormContentBlockerHandler(opts) {\n var _attributes$rules, _attributes$tcfVendor, _attributes$serviceTe, _attributes$serviceTe2;\n\n const {\n isTcf,\n preset,\n attributes,\n __,\n _i\n } = opts;\n const defaultValues = {\n name: (attributes === null || attributes === void 0 ? void 0 : attributes.name) || \"\",\n status: \"publish\",\n description: (attributes === null || attributes === void 0 ? void 0 : attributes.description) || \"\",\n criteria: isTcf && !preset ? \"tcfVendors\" : \"services\",\n rules: (attributes === null || attributes === void 0 ? void 0 : (_attributes$rules = attributes.rules) === null || _attributes$rules === void 0 ? void 0 : _attributes$rules.join(\"\\n\")) || \"\",\n tcfVendors: (attributes === null || attributes === void 0 ? void 0 : (_attributes$tcfVendor = attributes.tcfVendors) === null || _attributes$tcfVendor === void 0 ? void 0 : _attributes$tcfVendor.filter(Number)) || [],\n services: attributes === null || attributes === void 0 ? void 0 : (_attributes$serviceTe = attributes.serviceTemplates) === null || _attributes$serviceTe === void 0 ? void 0 : _attributes$serviceTe.map(({\n created\n }) => created === false ? undefined : created).filter(Boolean),\n isVisual: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.isVisual) === \"boolean\" ? attributes.isVisual : true,\n visualType: (attributes === null || attributes === void 0 ? void 0 : attributes.visualType) || \"default\",\n visualMediaThumbnail: 0,\n visualContentType: (attributes === null || attributes === void 0 ? void 0 : attributes.visualContentType) || \"generic\",\n isVisualDarkMode: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.isVisualDarkMode) === \"boolean\" ? attributes.isVisualDarkMode : false,\n visualBlur: (attributes === null || attributes === void 0 ? void 0 : attributes.visualBlur) || 0,\n visualDownloadThumbnail: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.visualDownloadThumbnail) === \"boolean\" ? attributes.visualDownloadThumbnail : undefined,\n visualHeroButtonText: (attributes === null || attributes === void 0 ? void 0 : attributes.visualHeroButtonText) || \"\",\n shouldForceToShowVisual: (attributes === null || attributes === void 0 ? void 0 : attributes.shouldForceToShowVisual) || false,\n presetCheck: !preset\n };\n const handlers = useFormHandler({ ...opts,\n defaultValues,\n i18n: {\n successMessage: __(\"You have successfully saved the content blocker.\"),\n validationError: __(\"The content blocker could not be saved due to missing/invalid form values.\"),\n unloadConfirm: __('You have unsaved changes. If you click on \"confirm\", your changes will be discarded.'),\n unloadConfirmInitialActive: __(\"You have already created a service. Are you sure that you don't want to create the corresponding content blocker?\")\n }\n }); // Find non-existing services and show a warning\n\n const nonExistingServices = (attributes === null || attributes === void 0 ? void 0 : (_attributes$serviceTe2 = attributes.serviceTemplates) === null || _attributes$serviceTe2 === void 0 ? void 0 : _attributes$serviceTe2.filter(({\n created\n }) => !created)) || [];\n return { ...handlers,\n defaultValues,\n nonExistingServices,\n contextValue: {\n __,\n _i,\n isTcf,\n presetCheck: !!preset,\n defaultPresetValues: preset ? defaultValues : {}\n }\n };\n}\n\nexport { useFormContentBlockerHandler };","import _Select from \"antd/es/select\";\nimport _Spin from \"antd/es/spin\";\nimport { useState, useEffect, useCallback } from \"react\";\nimport { __, request as utilsRequest, getOtherOptionsFromWindow } from \"../utils\";\nimport { useDebounce } from \"../hooks\";\nimport { RouteHttpVerb } from \"@devowl-wp/utils\";\nimport { htmlDecode } from \"@devowl-wp/headless-content-unblocker\";\n\nconst PostTypeSelect = ({\n postType,\n postStatus = [\"draft\", \"publish\", \"private\"],\n perPage = 10,\n value,\n multiple,\n disabled,\n forceDefaultLanguage,\n onChange,\n titleRender = ({\n title: {\n rendered\n }\n }) => rendered,\n filter = () => true\n}) => {\n const [term, setTerm] = useState(false);\n const [postId, setPostId] = useState(value);\n const [fetching, setFetching] = useState(false);\n const [data, setData] = useState([]);\n const fetch = useCallback(async request => {\n setFetching(true);\n const {\n defaultLanguage,\n currentLanguage\n } = getOtherOptionsFromWindow();\n const pages = await utilsRequest({\n location: {\n path: \"/\".concat(postType),\n method: RouteHttpVerb.GET,\n namespace: \"wp/v2\"\n },\n request: {\n status: request.include ? [\"draft\", \"publish\", \"private\"] : postStatus,\n orderby: request.search ? \"relevance\" : \"title\",\n ...request\n },\n params: {\n _dataLocale: forceDefaultLanguage ? defaultLanguage : currentLanguage\n }\n });\n setData(pages);\n setFetching(false);\n }, []);\n useDebounce(term, term === \"\" ? 0 : 800, debouncedValue => {\n if (debouncedValue !== false) {\n fetch({\n search: debouncedValue,\n per_page: debouncedValue.length ? 50 : perPage\n });\n }\n }, changedValue => {\n if (changedValue !== false) {\n setFetching(true);\n }\n\n setData([]);\n });\n useEffect(() => {\n if (postId > 0 || Array.isArray(postId) && postId.length > 0) {\n fetch({\n include: Array.isArray(postId) ? postId : [postId]\n });\n }\n }, []); // Listen to changes from outside and refetch the data\n\n useEffect(() => {\n if (JSON.stringify(postId) !== JSON.stringify(value) && (value > 0 || Array.isArray(value) && value.length > 0)) {\n setPostId(value);\n fetch({\n include: Array.isArray(value) ? value : [value]\n });\n }\n }, [value, postId]);\n return /*#__PURE__*/React.createElement(_Select, {\n mode: multiple ? \"multiple\" : undefined,\n disabled: disabled,\n showSearch: true,\n value: postId,\n placeholder: __(\"Search...\"),\n notFoundContent: fetching ? /*#__PURE__*/React.createElement(_Spin, {\n size: \"small\"\n }) : null,\n onClick: () => setTerm(\"\"),\n onSearch: setTerm,\n onChange: e => {\n const value = Array.isArray(e) ? e.map(Number) : +e;\n setPostId(value);\n onChange === null || onChange === void 0 ? void 0 : onChange(value);\n },\n filterOption: false,\n loading: fetching\n }, !multiple && !fetching && /*#__PURE__*/React.createElement(_Select.Option, {\n value: 0\n }, __(\"— Select —\")), data.map(d => /*#__PURE__*/React.createElement(_Select.Option, {\n key: d.id,\n value: d.id,\n style: {\n display: filter(d) ? undefined : \"none\"\n }\n }, htmlDecode(titleRender(d)))));\n};\n\nexport { PostTypeSelect };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n const inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `'ionid=`\n const doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n const doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","import { useState, useEffect } from \"react\";\n\nfunction useDebounce(value, delay, callback, changed) {\n const [debounce, setDebounce] = useState(value);\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebounce(value);\n }, delay);\n changed === null || changed === void 0 ? void 0 : changed(value);\n return () => {\n clearTimeout(handler);\n };\n }, [value]);\n useEffect(() => {\n callback(debounce);\n }, [debounce]);\n return debounce;\n}\n\nexport { useDebounce };","import { useRouteMatch } from \"react-router-dom\";\nimport { useStores } from \"../store\";\nimport { useCallback } from \"react\";\nimport { BlockerModel } from \"../models\";\n\nconst useRouteBlocker = () => {\n const {\n params\n } = useRouteMatch();\n const {\n cookieStore\n } = useStores(); // Get blocker or return draft object\n\n const blockerId = +params.blocker;\n const id = isNaN(+blockerId) ? 0 : +blockerId;\n const queried = !!blockerId;\n const blocker = cookieStore.blockers.entries.get(id) || new BlockerModel(cookieStore.blockers, {\n id: 0\n });\n const link = \"#/blocker\";\n const editLink = useCallback(({\n key\n }) => \"#/blocker/edit/\".concat(key), [blocker]);\n const addLink = \"#/blocker/new\";\n return {\n blocker,\n id,\n queried,\n fetched: blocker.key !== 0,\n link,\n editLink,\n addLink\n };\n};\n\nexport { useRouteBlocker };"],"names":["BlockerFormNoticeNoneExistingCookies","nonExistingServices","onCreated","openId","setOpenId","useState","created","setCreated","useNoneExistingCookies","filter","identifier","indexOf","modalWindows","map","attributes","version","React","createElement","key","visible","title","__","width","bodyStyle","paddingBottom","footer","onCancel","undefined","overwriteAttributes","navigateAfterCreation","scrollToTop","preset","model","Fragment","length","className","join","style","margin","name","subHeadline","concat","onClick","e","preventDefault","cursor","addFilter","hooks","MediaUpload","mediaUtils","MediaLibrarySelector","attachmentId","allowedTypes","render","onChange","useAttachmentId","data","error","fetching","id","setFetching","setData","setError","fetch","useCallback","async","currentLanguage","getOtherOptionsFromWindow","result","location","path","method","RouteHttpVerb","namespace","params","_dataLocale","useEffect","useMediaAttachment","url","source_url","_error$responseJSON","responseJSON","code","spinning","onSelect","media","value","open","reset","FormContentBlockerLayout","labelCol","span","wrapperCol","FormContentBlockerFieldGeneralName","ref","useRef","label","required","noStyle","rules","message","form","valueName","widthOfRef","renderDiff","readOnly","FormContentBlockerFieldGeneralStatus","FormContentBlockerFieldGeneralDescription","autoSize","minRows","FormContentBlockerFieldGeneralCompose","offset","FormContentBlockerFieldTechnicalRules","_i","openCookieExperts","maxRows","difference","oldValue","newValue","currentRules","split","diff","newRule","includes","apply","setFieldsValue","newValueText","type","strong","FormContentBlockerFieldTechnicalCriteria","isTcf","display","FormContentBlockerFieldTechnicalServices","dropdown","children","proModals","visual","modal","shouldUpdate","prevValues","nextValues","criteria","getFieldValue","FormContentBlockerFieldTechnicalTcfVendors","FormContentBlockerFieldTechnicalCompose","servicesFieldProps","tcfVendorsFieldProps","FormContentBlockerFieldIsVisual","valuePropName","FormContentBlockerFieldVisualType","isPro","tag","visualTypes","useMemo","default","description","wrapped","hero","isVisual","enum","size","buttonStyle","marginBottom","Object","keys","bordered","cover","height","src","FormContentBlockerFieldVisualContentType","visualContentTypeTitles","generic","isVisualDarkMode","visualType","extra","disabled","FormContentBlockerFieldIsVisualDarkMode","FormContentBlockerFieldVisualDownloadThumbnail","visualDownloadThumbnail","cancelText","okText","overlayStyle","maxWidth","onConfirm","placement","FormContentBlockerFieldVisualMediaThumbnail","visualContentType","FormContentBlockerFieldVisualBlur","min","max","marks","tooltipVisible","marginLeft","FormContentBlockerFieldVisualHeroButtonText","FormContentBlockerFieldShouldForceToShowVisual","FormContentBlockerFieldVisualCompose","visualMediaThumbnailPicker","FormContentBlockerFieldPresetCheck","presetCheck","isTemplateUpdate","transform","FormContentBlocker","technicalProps","visualProps","I18nContext","Provider","containerRef","textAlign","useProModalVisualContentBlocker","useProModal","testDrive","feature","assetName","BlockerEditForm","cookieCreationPrompt","_blocker$data","_blocker$data$meta","blocker","queried","fetched","link","useRouteBlocker","history","useHistory","isCreatingNewCookie","setIsCreatingNewCookie","cookieStore","optionStore","tcf","others","presetModel","presetsBlocker","get","isBusy","defaultValues","onFinish","onFinishFailed","onBeforeUnload","onValuesChange","contextValue","opts","_attributes$rules","_attributes$tcfVendor","_attributes$serviceTe","_attributes$serviceTe2","status","tcfVendors","Number","services","serviceTemplates","Boolean","visualMediaThumbnail","visualBlur","visualHeroButtonText","shouldForceToShowVisual","useFormHandler","i18n","successMessage","validationError","unloadConfirm","unloadConfirmInitialActive","defaultPresetValues","useFormContentBlockerHandler","initialHasChanges","handleSave","_meta$tcfVendors","_meta$services","meta","values","newMeta","presetId","presetVersion","setName","setStatus","setDescription","setMeta","patch","draft","blockers","rendered","content","protected","persist","setTimeout","window","href","push","slice","essentialGroup","openDialog","useCookieExpertsModal","u","initialValues","raw","handleCreatedPreset","getSingle","context","busy","fetchAttributes","scrollTo","fetchGroups","proModalVisualContentBlocker","FormContentBlockerContext","active","paragraph","rows","isEdit","Prompt","postType","multiple","d","titleRender","vendor","marginTop","PostTypeSelect","postStatus","perPage","forceDefaultLanguage","term","setTerm","postId","setPostId","defaultLanguage","pages","request","include","orderby","search","useDebounce","debouncedValue","per_page","changedValue","Array","isArray","JSON","stringify","mode","showSearch","placeholder","notFoundContent","onSearch","filterOption","loading","input","isUrl","_doc$querySelector","DOMParser","parseFromString","querySelector","documentElement","textContent","delay","callback","changed","debounce","setDebounce","handler","clearTimeout","useRouteMatch","blockerId","isNaN","entries","editLink","addLink"],"sourceRoot":""}
|
public/dist/admin.lite.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
var realCookieBanner_admin;(()=>{"use strict";var e,t,o,r={7747:(e,t,o)=>{var r,i;o.d(t,{r:()=>r}),function(e){e.Cookie="cookie",e.Web="web",e.App="app"}(r||(r={})),function(e){e.Bulgarian="bg",e.Catalan="ca",e.Czech="cs",e.Danish="da",e.German="de",e.Greek="el",e.Spanish="es",e.Estonian="et",e.Basque="eus",e.Finnish="fi",e.French="fr",e.Galician="gl",e.Croatian="hr",e.Hungarian="hu",e.Italian="it",e.Japanese="ja",e.Lithuanian="lt",e.Latvian="lv",e.Maltese="mt",e.Dutch="nl",e.Norwegian="no",e.Polish="pl",e.Portuguese="pt",e.Romanian="ro",e.SerbianCyrillic="sr-Cyrl",e.SerbianLatin="sr-Latn",e.Russian="ru",e.Slovak="sk",e.Slovenian="sl",e.Swedish="sv",e.Turkish="tr",e.Chinese="zh"}(i||(i={}))},8924:(e,t,o)=>{o.d(t,{I4:()=>i,Lg:()=>n,TK:()=>r});const r="Google Tag Manager",i="Matomo Tag Manager";function n(e,t){let o,n,s,a=!1,l="";if(e&&"none"!==e){const c="googleTagManager"===e,p="matomoTagManager"===e;c?(s="gtm",o="dataLayer",l=r):p&&(s="mtm",o="_mtm",l=i),(c||p)&&(n=()=>(window[o]=window[o]||[],window[o])),s&&t===s&&(a=!0)}return{getDataLayer:n,serviceIsManager:a,managerLabel:l,expectedManagerPresetId:s}}},987:(e,t,o)=>{o.d(t,{Q:()=>n,x:()=>i});var r=o(7363);class i{static Context(){return this.context=this.context||(0,r.createContext)({})}}function n(){return(0,r.useContext)(i.Context())}i.context=void 0},8057:(e,t,o)=>{o.d(t,{E:()=>n});var r=o(7363);const i=/(\r\n|\r|\n|<br[ ]?\/>)/g,n=e=>e.split(i).map(((e,t)=>e.match(i)?(0,r.createElement)("br",{key:t}):e))},6974:(e,t,o)=>{o.r(t),o.d(t,{ChecklistStore:()=>f.L_,ConsentStore:()=>f.v,CookieStore:()=>f.hc,CustomizeBannerStore:()=>f.WS,OptionStore:()=>f.aZ,RootStore:()=>f.My,ScannerStore:()=>f.Cu,StatsStore:()=>f.et,TcfStore:()=>f.z,locationRestChecklistGet:()=>y.gn,locationRestChecklistPut:()=>y.s5,locationRestConsentAllDelete:()=>y.Ok,locationRestConsentAllGet:()=>y.cI,locationRestConsentClearDelete:()=>y.rz,locationRestConsentDynamicPredecisionGet:()=>y.aY,locationRestConsentForwardPost:()=>y.vY,locationRestConsentGet:()=>y.JQ,locationRestConsentPost:()=>y.PM,locationRestConsentRefererGet:()=>y.qD,locationRestCookieGroupOrderPut:()=>y.BI,locationRestCookieUnassignedGet:()=>y.pV,locationRestCookiesOrderPut:()=>y.It,locationRestCountryBypassDatabasePut:()=>y._3,locationRestExportConsentsGet:()=>y.QB,locationRestExportGet:()=>y.Vm,locationRestForwardCookieGet:()=>y.Vc,locationRestForwardEndpointsGet:()=>y.AW,locationRestImportPost:()=>y.HR,locationRestLiteDismissConfigPageProNotice:()=>y.nQ,locationRestMigrationDelete:()=>y.oW,locationRestMigrationPost:()=>y.nX,locationRestNavMenuAddLinksPost:()=>y.iO,locationRestPresetsBannerGet:()=>y.tX,locationRestPresetsBlockerAttributesGet:()=>y.N9,locationRestPresetsBlockerGet:()=>y.Wu,locationRestPresetsCookiesAttributesGet:()=>y.tw,locationRestPresetsCookiesGet:()=>y.zf,locationRestRevisionCurrentGet:()=>y.GQ,locationRestRevisionCurrentPut:()=>y.a4,locationRestRevisionGet:()=>y.Z1,locationRestRevisionIndependentGet:()=>y.TB,locationRestScannerQueuePost:()=>y.kv,locationRestScannerResultAllExternalUrlsByHostGet:()=>y.ME,locationRestScannerResultExternalPatch:()=>y.Ce,locationRestScannerResultExternalsGet:()=>y.MQ,locationRestScannerResultMarkupGet:()=>y.$5,locationRestScannerResultPresetsGet:()=>y.eO,locationRestStatsButtonsClickedGet:()=>y.$Q,locationRestStatsCustomBypassGet:()=>y.gh,locationRestStatsMainGet:()=>y.BV,locationRestTcfDeclarationsGet:()=>y.Y3,locationRestTcfGvlPut:()=>y.yR,locationRestTcfVendorsGet:()=>y.fs,locationRestWpSettings:()=>y.g3,locationRestWpSettingsPatch:()=>y.J3,useStores:()=>f.mZ});var r=o(1246),i=o(8653),n=(o(1913),o(1533)),s=o(9743),a=o(4990),l=(o(9494),o(8852),o(8488)),c=o.n(l),p=o(8700),u=o(7669),h=o(5217),b=o(987),d={};for(const e in p)"default"!==e&&(d[e]=()=>p[e]);o.d(t,d);var y=o(6568),f=o(8919);o.p=(0,p.getWebpackPublicPath)("real-cookie-banner"),(0,p.handleCorruptRestApi)({[s.M.get.optionStore.restNamespace]:async()=>{await(0,u.W)({location:{path:"/plugin"}})},"wp/v2":async()=>{await(0,u.W)({location:{path:"/settings",namespace:"wp/v2"}})}}),i.ZP.config({prefixCls:"rcb-antd"}),r.ZP.config({top:50});const m=document.getElementById("".concat(s.M.get.optionStore.slug,"-component"));if(m){const e=b.x.Context();(0,n.render)(React.createElement(e.Provider,{value:{__:h.__,_i:h._i}},React.createElement(i.ZP,{prefixCls:"rcb-antd",locale:{locale:c().locale()}},React.createElement(s.M.StoreProvider,null,React.createElement(a.K,null)))),m)}},4144:(e,t,o)=>{o.d(t,{b:()=>w});var r=o(8208),i=o(8612),n=o(7465),s=o(9511),a=o(7363),l=o(3867),c=o(5217),p=o(301),u=o(5230),h=o(7921),b=o(886),d=o(9743),y=o(2684),f=o(1816),m=o(2411);const g=(0,l.Pi)((({id:e,checked:t,title:o,description:r,link:i,linkText:n,linkTarget:a,needsPro:l,onLinkClick:g})=>{const{optionStore:{others:{isPro:v},fomoCoupon:w}}=(0,d.m)(),k=!v&&l;let Z=null,C=null,R=i;switch(e){case"scanner":{const{percent:e,remaining:t,currentJob:o}=(0,y.p)();t>0&&e>0&&(null==o?void 0:o.group_position)>0&&(Z=React.createElement(s.Z,null,(0,c.__)("Currently scanning (%d %%)",e)));break}case"get-pro":C=React.createElement(m.S,null),w&&(R+="&".concat(m.Q))}return React.createElement("div",{style:{margin:"5px 0"}},React.createElement(p.Z,{title:t&&r},React.createElement("span",null,k?React.createElement(u.Z,{style:{color:"#7ec8ec"}}):t?React.createElement(h.Z,{style:{color:"#52c41a"}}):React.createElement(b.Z,{style:{color:"#e2e2e2"}})," ",React.createElement("span",{style:{textDecoration:t?"line-through":void 0,fontWeight:"bold"}},o),!!R&&!!n&&React.createElement(React.Fragment,null," • ",React.createElement("a",{href:R,target:a,rel:"noreferrer",onClick:g},n)))),k&&"get-pro"!==e&&React.createElement(React.Fragment,null," ",React.createElement(s.Z,{color:f.k},(0,c.__)("Needs PRO"))),!!Z&&React.createElement(React.Fragment,null," ",Z),!!r&&!t&&React.createElement("p",{className:"description",style:{paddingLeft:17}},r),!!C&&React.createElement("div",{style:{paddingLeft:17}},C))}));var v=o(2185);const w=(0,l.Pi)((({onLinkClick:e,...t})=>{const{checklistStore:o}=(0,d.m)(),{busyChecklist:l,items:p,completed:u,checkable:h,done:y,checklist:{overdue:f}}=o,[m,w]=(0,a.useState)("boolean"==typeof t.showHidden?t.showHidden:!y);return React.createElement(r.Z,{spinning:l},React.createElement(i.Z,{direction:"vertical",size:"large"},f&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,(0,c.__)("How time flies! You have installed Real Cookie Banner some time ago, but you still haven't finished the configuration yet."))),React.createElement("p",{className:"description"},(0,c.__)("We have collected all relevant steps for the legally compliant use of Real Cookie Banner after the first installation. Set up the cookie banner step by step to add a cookie banner to your website in compliance with the ePrivacy Directive and GDPR.")),React.createElement("div",null,y&&(m?React.createElement(s.Z,{icon:React.createElement(v.Z,null),color:"default",style:{cursor:"pointer"},onClick:()=>w(!1)},(0,c.__)("Hide completed steps")):React.createElement(s.Z,{icon:React.createElement(b.Z,null),color:"success",style:{cursor:"pointer"},onClick:()=>w(!0)},(0,c.__)("%d / %d steps completed",u.length>h.length?h.length:u.length,h.length))),p.map((({id:t,...r})=>!m&&r.checked?null:React.createElement(g,(0,n.Z)({key:t,id:t},r,{onLinkClick:r=>{["get-pro"].indexOf(t)>-1&&o.toggleChecklistItem(t,!0),null==e||e(r)}})))))))}))},4990:(e,t,o)=>{o.d(t,{K:()=>N,m:()=>D});var r=o(918),i=o(8208),n=o(7363),s=o(3867),a=o(6711),l=o(5217),c=o(9743),p=o(8936);const u=(0,s.Pi)((()=>{const{optionStore:e}=(0,c.m)(),{pathname:t}=(0,a.useLocation)();return e.needsRevisionRetrigger&&-1===t.indexOf("/edit/")&&-1===t.indexOf("/new")&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("You have changed settings that affect the content or behavior of the cookie banner. You should ask all visitors for their consent again.")," ","•"," ",React.createElement("a",{style:{cursor:"pointer",textDecoration:"underline"},onClick:()=>e.updateCurrentRevision({needs_retrigger:!0})},(0,l.__)("Request new consent"))," ","•"," ",React.createElement(p.Z,{title:React.createElement(React.Fragment,null,React.createElement("strong",null,(0,l.__)("Are you sure you don't want to collect new consents?")),React.createElement("br",null),React.createElement("br",null),(0,l._i)((0,l.__)("Consent must be obtained in accordance with {{a}}Art. 7 GDPR{{/a}}. Your visitor must be informed about all circumstances of the consent. However, you have made changes to your cookie banner, which lead to the fact that previously visitors have consented differently or to something different than is now in the cookie banner. Therefore, previously collected consents may have become partially invalid."),{a:React.createElement("a",{href:(0,l.__)("https://gdpr-info.eu/art-7-gdpr/"),rel:"noreferrer",target:"_blank"})}),React.createElement("br",null),React.createElement("br",null),(0,l.__)("If you have created a new service like Google Analytics (without visual content blocker), previous visitors can never consent without collecting new consents and you cannot track them, for example.")),placement:"bottomRight",onConfirm:()=>e.updateCurrentRevision({needs_retrigger:!1}),okText:(0,l.__)("Dismiss notice"),cancelText:(0,l.__)("Cancel"),overlayStyle:{maxWidth:450}},React.createElement("a",{style:{cursor:"pointer",textDecoration:"underline"}},(0,l.__)("Dismiss notice")))))})),h=(0,s.Pi)((()=>{const{optionStore:{publicCookieCount:e,busySettings:t,bannerActive:o}}=(0,c.m)();return o&&!e&&!t&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("The cookie banner is activated, but unfortunately you have not yet created or enabled services.")))}));var b=o(9712);const d=(0,s.Pi)((()=>{const{showNoticeAnonymousScriptNotWritable:e}=(0,b.u)();return!!e&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("Your {{code}}wp-content{{/code}} folder is not writable. Please check your permissions!"),{code:React.createElement("code",null)})))}));var y=o(8924);const f=(0,s.Pi)((()=>{const{optionStore:{setCookiesViaManager:e,hasManager:t}}=(0,c.m)(),{managerLabel:o,expectedManagerPresetId:r}=(0,y.Lg)(e),{pathname:i}=(0,a.useLocation)();return o&&!t&&/^\/cookies\/\d+$/.test(i)&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("You have not yet defined a %s service. To use {{strong}}%s{{/strong}} with Real Cookie Banner, you must create the appropriate service.",o,o),{strong:React.createElement("strong",null)})," ","• ",React.createElement("a",{href:"#".concat(i,"/new?force=").concat(r)},(0,l.__)("Create now"))))}));var m=o(1712);const g=()=>{const{listen:e}=(0,a.useHistory)();return(0,n.useEffect)((()=>{const t=e((()=>{(0,m.X)(0)}));return()=>{t()}}),[e]),null};var v=o(3751),w=o(886),k=o(6363);const Z=(0,s.Pi)((()=>{const{optionStore:e}=(0,c.m)(),{others:{proUrl:t,isPro:o,isConfigProNoticeVisible:r}}=e,i="".concat(t,"&feature=main-button"),s=(0,n.useCallback)((()=>{window.open(i,"_blank"),e.dismissConfigProNotice()}),[e]),a=(0,n.useCallback)((()=>{e.dismissConfigProNotice()}),[e]);return!o&&React.createElement(p.Z,{visible:!!r,title:(0,l.__)("Thank you for using the free version of Real Cookie Banner. You might also be interested in the PRO version, which offers you more features, 20+ design templates, 100+ service templates, 60+ content blocker templates and much more."),icon:React.createElement(k.Z,{style:{color:"#1890ff"}}),placement:"bottom",onConfirm:s,onCancel:a,cancelText:(0,l.__)("No, not interested..."),okText:(0,l.__)("I want to learn more!"),overlayStyle:{maxWidth:450}},React.createElement("a",{className:"page-title-action",rel:"noreferrer",onClick:s},(0,l.__)("Get PRO version")))}));var C=o(4144);const R=(0,s.Pi)((()=>{const[e,t]=(0,n.useState)(!1),{optionStore:o,checklistStore:r}=(0,c.m)(),{pathname:i}=(0,a.useLocation)(),{others:{customizeBannerUrl:s},publicUrl:p}=o,{completed:u,checkable:h,done:b}=r;(0,n.useEffect)((()=>{r.fetchChecklist()}),[]);const d=(0,n.useCallback)((e=>{window.location.href="".concat(s,"&return=").concat(encodeURIComponent(window.location.href)),e.preventDefault()}),[]),y=(0,n.useCallback)((()=>{t(!0),r.fetchChecklist()}),[t]),f=(0,n.useCallback)((()=>{t(!1)}),[t]);return React.createElement(React.Fragment,null,React.createElement("h1",{className:"wp-heading-inline"},(0,l.__)("Real Cookie Banner")),React.createElement("img",{className:"rcb-nav-logo",src:"".concat(p,"images/logos/real-cookie-banner.svg")}),React.createElement("a",{className:"page-title-action",href:"#",onClick:d},(0,l.__)("Customize banner")),React.createElement(Z,null),!b&&"/"!==i&&React.createElement(React.Fragment,null,React.createElement("a",{className:"page-title-action",style:{color:"#52c41a",background:"#f6ffed",borderColor:"#85af65"},onClick:y},React.createElement(w.Z,null)," ",(0,l.__)("%d / %d steps completed",u.length>h.length?h.length:u.length,h.length)),React.createElement(v.Z,{visible:e,title:(0,l.__)("Set up the cookie banner"),onCancel:f,okButtonProps:{style:{display:"none"}},cancelText:(0,l.__)("Close"),width:800},React.createElement(C.b,{showHidden:!0,onLinkClick:f}))),React.createElement("hr",{className:"wp-header-end"}))}));var P=o(697);const S=(0,s.Pi)((()=>{const{optionStore:{publicUrl:e}}=(0,c.m)();return React.createElement("div",{className:"rcb-config-footer"},(0,l._i)((0,l.__)("Real Cookie Banner is brought to you with {{icon/}} by"),{icon:React.createElement(P.Z,{style:{color:"#dca7a7"}})}),React.createElement("a",{href:(0,l.__)("https://devowl.io/"),target:"_blank",rel:"noreferrer"},React.createElement("img",{src:"".concat(e,"images/logos/devowl-with-text.svg")})))}));var O=o(8700),E=o(2684),_=o(6),z=o(2208);const x={display:"block",marginTop:10},D=(e,t)=>({default:()=>React.createElement(O.SuspenseChunkTranslation,{chunkFile:o.u("chunk-config-tab-".concat(e)),options:()=>(0,c.m)().optionStore,fallback:React.createElement(i.Z,{spinning:!0,style:x})},t)}),T=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(414),o.e(544),o.e(85),o.e(932),o.e(637),o.e(379)]).then(o.bind(o,1429)).then((({DashboardCards:e})=>D("dashboard",React.createElement(e,null)))))),A=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(768)]).then(o.bind(o,5053)).then((({SettingsForm:e})=>D("settings",React.createElement(e,null)))))),M=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(81),o.e(793),o.e(466),o.e(474),o.e(737),o.e(578),o.e(3)]).then(o.bind(o,38)).then((({ScannerRouter:e})=>D("scanner",React.createElement(e,null)))))),I=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(544),o.e(466),o.e(853),o.e(932),o.e(718)]).then(o.bind(o,7248)).then((({CookieGroupsTabRouter:e})=>D("cookies",React.createElement(e,null)))))),j=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(414),o.e(466),o.e(474),o.e(625)]).then(o.bind(o,8687)).then((({ConsentTabRouter:e})=>D("consent",React.createElement(e,null)))))),B=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(544),o.e(85),o.e(932),o.e(637),o.e(478)]).then(o.bind(o,9069)).then((({BlockerRouter:e})=>D("blocker",React.createElement(e,null)))))),V=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(414),o.e(737),o.e(902),o.e(357)]).then(o.bind(o,8058)).then((({ImportExportCards:e})=>D("import",React.createElement(e,null)))))),U=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(307),o.e(81),o.e(322)]).then(o.bind(o,3761)).then((({ConfigLicensing:e})=>D("licensing",React.createElement(e,null)))))),N=(0,s.Pi)((()=>{const{percent:e,remaining:t,currentJob:o}=(0,E.p)(),{optionStore:s,checklistStore:p}=(0,c.m)(),{others:{showLicenseFormImmediate:b,colorScheme:[,,y]}}=s;return(0,n.useLayoutEffect)((()=>{s.fetchSettings();const e=()=>{p.fetchChecklist()},t="".concat(_.JOB_DONE_EVENT_PREFIX).concat(z.b);return document.addEventListener(t,e),()=>{document.removeEventListener(t,e)}}),[]),(0,n.useEffect)((()=>{const e=document.getElementById("rcb-services-with-empty-privacy-policy-notice");!b&&e&&(e.style.display="block")}),[b]),b?React.createElement(n.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:x})},React.createElement(U,null)):React.createElement(a.HashRouter,null,React.createElement(R,null),React.createElement("nav",{className:"nav-tab-wrapper wp-clearfix"},React.createElement(a.NavLink,{to:"/",className:"nav-tab",activeClassName:"nav-tab-active",exact:!0},(0,l.__)("Dashboard")),React.createElement(a.NavLink,{to:"/settings",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Settings")),React.createElement(a.NavLink,{to:"/scanner",className:"nav-tab",activeClassName:"nav-tab-active"},t>0&&e>0&&(null==o?void 0:o.group_position)>0?React.createElement(r.Z,{count:"".concat(e," %"),style:{top:-11,fontSize:10,height:16,lineHeight:"16px",background:y}},(0,l.__)("Scanner")):(0,l.__)("Scanner")),React.createElement(a.NavLink,{to:"/cookies",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Services (Cookies)")),React.createElement(a.NavLink,{to:"/blocker",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Content Blocker")),React.createElement(a.NavLink,{to:"/consent",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Consent")),React.createElement(a.NavLink,{to:"/import",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Import / Export")),"try.devowl.io"!==window.location.host&&React.createElement(a.NavLink,{to:"/licensing",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Licensing")),React.createElement("a",{href:(0,l.__)("https://devowl.io/support/"),className:"nav-tab",target:"_blank",rel:"noreferrer"},(0,l.__)("Support"))),React.createElement(u,null),React.createElement(h,null),React.createElement(d,null),React.createElement(f,null),React.createElement(g,null),React.createElement(n.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:x})},React.createElement(a.Switch,null,React.createElement(a.Route,{path:"/",exact:!0},React.createElement(T,null)),React.createElement(a.Route,{path:"/settings/:tab?"},s.areSettingsFetched?React.createElement(A,null):null),React.createElement(a.Route,{path:"/scanner"},React.createElement(M,null)),React.createElement(a.Route,{path:"/cookies/:cookieGroup?"},React.createElement(I,null)),React.createElement(a.Route,{path:"/consent/:tab?"},React.createElement(j,null)),React.createElement(a.Route,{path:"/blocker"},React.createElement(B,null)),React.createElement(a.Route,{path:"/import"},React.createElement(V,null)),React.createElement(a.Route,{path:"/licensing"},React.createElement(U,null)))),React.createElement(S,null))}))},2411:(e,t,o)=>{o.d(t,{Q:()=>u,S:()=>h});var r=o(1063),i=o(9511),n=o(1246),s=o(3867),a=o(7363),l=o(9743),c=o(5217),p=o(1589);const u="promo=in-app",h=(0,s.Pi)((({style:e})=>{const{optionStore:{fomoCoupon:t}}=(0,l.m)(),o=null==t?void 0:t.coupon,s=null==t?void 0:t.valueInPercent,u=null==t?void 0:t.validUntil,h=(0,a.useCallback)((()=>{if(u){const e=new Date(u).getTime()-(new Date).getTime();if(e<=0)return;const t=e/1e3;return[Math.floor(t/3600),Math.floor(t/60)%60,Math.floor(t%60)].map((e=>e<10?"0".concat(e):e)).filter(((e,t)=>"00"!==e||t>0)).join(":")}}),[u]),[,b]=(0,a.useState)();(0,a.useEffect)((()=>{const e=setInterval((()=>{b((new Date).getTime())}),1e3);return()=>{clearInterval(e)}}),[]);const d=h();return d?React.createElement(r.Z,{style:e,message:(0,c._i)((0,c.__)("Use coupon {{tag}}%s{{/tag}} in the next {{strongHours}}%s hours{{/strongHours}} and save {{strongPercent}}%d %%{{/strongPercent}} in the first year!",o,d,s),{tag:React.createElement(i.Z,{color:"success",style:{marginRight:0,cursor:"pointer"},onClick:()=>{(0,p.v)(o),n.ZP.success((0,c.__)("Successfully copied coupon to clipboard!"))}}),strongHours:React.createElement("strong",{style:{color:"#d33131"}}),strongPercent:React.createElement("strong",null)})}):null}))},4251:(e,t,o)=>{o.d(t,{B:()=>u});var r=o(3751),i=o(7363),n=o(3541),s=o(9712),a=o(5217),l=o(2411),c=o(6178),p=o(8057);const u=({visible:e=!1,showHints:t=!0,showFomoCouponCounter:o=!0,title:u,testDrive:h=!1,assetName:b,description:d,feature:y,onClose:f,inContainer:m,inContainerElement:g})=>{const{proUrl:v,hints:w}=(0,s.u)(),[k,Z]=(0,i.useState)(),C=(0,i.useCallback)((()=>{window.open("".concat(v,"&feature=").concat(y,"&").concat(l.Q),"_blank").focus(),null==f||f()}),[f]);(0,i.useEffect)((()=>{m&&k&&(null==k?void 0:k.parentElement.parentElement.previousElementSibling).removeAttribute("tabIndex")}),[k]);const R=null==w?void 0:w.proDialog;return m&&!g?null:React.createElement(r.Z,{visible:!!m||e,title:React.createElement("span",null,React.createElement(n.Z,null)," ",u," ",(0,a.__)("Get PRO!")),onOk:C,onCancel:f,cancelText:(0,a.__)("No, not interested..."),okText:(0,a.__)("I want to learn more!"),className:"rcb-pro-modal",width:b?800:700,getContainer:m?g:void 0},!!b&&React.createElement("img",{style:{marginTop:10},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/".concat(b)}),React.createElement("div",{style:{maxWidth:600,margin:"auto"},ref:Z},React.createElement("p",null,(0,p.E)(d)),h&&React.createElement("p",null,(0,a._i)((0,a.__)("Check out this feature with a {{a}}free sandbox{{/a}} before buying!"),{a:React.createElement("a",{href:(0,a.__)("https://try.devowl.io/?product=RCB"),target:"_blank",rel:"noreferrer"})}))),!!R&&t&&React.createElement("div",{style:{maxWidth:600,margin:"auto",textAlign:"left"}},React.createElement(c.j,R)),o&&React.createElement(l.S,{style:{marginBottom:15}}))}},6178:(e,t,o)=>{o.d(t,{j:()=>s});var r=o(7743),i=o(2605),n=o(3404);const s=({title:e,description:t,link:o,linkText:s,logo:a})=>React.createElement(React.Fragment,null,React.createElement(n.Z,null,e),React.createElement(r.Z,{wrap:!1,style:{marginBottom:10}},React.createElement(i.Z,{flex:"auto"},!!t&&React.createElement("p",{style:{margin:0}},React.createElement("span",{dangerouslySetInnerHTML:{__html:t}})," ",!!o&&!!s&&React.createElement("a",{href:o,target:"_blank",rel:"noreferrer",className:"button-link"},s))),React.createElement(i.Z,{flex:"150px",style:{alignSelf:"center"}},!!a&&React.createElement("img",{src:a,style:{maxWidth:"calc(100% - 20px)",height:"auto",marginLeft:20}}))))},1816:(e,t,o)=>{o.d(t,{k:()=>p,t:()=>u});var r=o(7465),i=o(9511),n=o(2465),s=o(5217),a=o(9743),l=o(7363),c=o(4251);const p="#2db7f5";function u(e,t){const[o,u]=(0,l.useState)(!1),{optionStore:{others:{isPro:h}}}=(0,a.m)(),b="boolean"==typeof t?t:h,d=(0,l.useCallback)((e=>{u(!0),null==e||e.preventDefault()}),[u]),y=(0,l.useMemo)((()=>b?null:React.createElement(i.Z,{icon:React.createElement(n.Z,null),color:p,style:{cursor:"pointer"},onClick:d},e.tagText||(0,s.__)("Unlock feature"))),[d,e]),f=(0,l.useMemo)((()=>b?null:React.createElement(c.B,(0,r.Z)({visible:o,onClose:()=>u(!1)},e))),[o,u,e]);return{isPro:b,tag:y,modal:f,open:d}}},2684:(e,t,o)=>{o.d(t,{p:()=>a});var r=o(6),i=o(7363),n=o(9743),s=o(2208);function a(e,t=!1,o){const{scannerStore:a}=(0,n.m)();return(0,r.useProgress)({type:s.u,fetchStatusInterval:e,fetchAdditionalData:t,onAdditionalData:(0,i.useCallback)((({"rcb-scan-list":e})=>{const{presets:t,externalUrls:o}=e;a.resultPresetsFromResponse(t),a.resultExternalUrlsFromResponse(o)}),[a]),onCancel:o})}},6613:(e,t,o)=>{o.d(t,{p:()=>d});var r,i,n,s,a,l,c,p=o(6921),u=o(9888),h=o(7821),b=o(490);let d=(r=class e{constructor(e,t){(0,p.Z)(this,"id",i,this),(0,p.Z)(this,"name",n,this),(0,p.Z)(this,"needsPro",s,this),(0,p.Z)(this,"description",a,this),(0,p.Z)(this,"tags",l,this),(0,p.Z)(this,"settings",c,this),this.store=void 0,this.resetPreviewInUiSettings=void 0,(0,h.runInAction)((()=>(0,h.set)(this,e))),this.store=t}static getIframeStore(){try{return document.querySelector("#customize-preview > iframe").contentWindow.realCookieBanner_customize_banner.RootStore.get}catch(e){return}}applyInUi(){return!(!this.store.rootStore.optionStore.others.isPro&&this.needsPro||(this.previewInUi(),setTimeout((()=>{const e=(0,b.getSidebarCustomize)();this.store.presetDefaults.forEach(((t,o)=>{e(o).set(void 0===this.settings[o]?t:this.settings[o])}))}),100),0))}previewInUi(){const t=(0,b.getSidebarCustomize)(),{presetDefaults:o}=this.store,{settings:r}=this.store.rootStore.optionStore.others.customizeIdsBanner,i=[];this.resetPreviewInUiSettings={};for(const e of Object.keys(r)){const n=r[e];for(const r of Object.keys(n)){const s=n[r];if(!o.has(s))continue;this.resetPreviewInUiSettings[s]=[e,r,t(s).get()];const a=Object.prototype.hasOwnProperty.call(this.settings,s)?this.settings[s]:o.get(s);i.push([e,r,a])}}e.getIframeStore().customizeBannerStore.setBannerFromPreset(i)}resetPreviewInUi(){this.resetPreviewInUiSettings&&(e.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings)),this.resetPreviewInUiSettings={})}},i=(0,u.Z)(r.prototype,"id",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,u.Z)(r.prototype,"name",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,u.Z)(r.prototype,"needsPro",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(r.prototype,"description",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,u.Z)(r.prototype,"tags",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,u.Z)(r.prototype,"settings",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)},8578:(e,t,o)=>{o.d(t,{R:()=>a});var r,i=o(8700),n=o(7669),s=o(3642);let a=i.ClientCollection.annotate({path:"/rcb-blocker",singlePath:"/rcb-blocker/:id",namespace:"wp/v2",methods:[i.RouteHttpVerb.GET],request:n.W})(r=class extends i.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new s.p(this).fromResponse(e)}})||r},3642:(e,t,o)=>{o.d(t,{p:()=>b});var r,i,n,s=o(6921),a=o(9888),l=o(8700),c=o(7669),p=o(6054),u=o(7821),h=o(9743);let b=l.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:c.W,create:{path:"/rcb-blocker"},patch:{path:"/rcb-blocker/:id"},delete:{path:"/rcb-blocker/:id"}})((i=class extends l.AbstractPost{get rules(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.rules.split("\n")}get tcfVendors(){var e;return null!==(e=this.data)&&void 0!==e&&e.meta.tcfVendors?this.data.meta.tcfVendors.split(",").filter(Boolean).map(Number):[]}get services(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.services.split(",").filter(Boolean).map(Number)}constructor(e,t={}){super(e,t),(0,s.Z)(this,"presetModel",n,this),(0,u.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,u.runInAction)((()=>{this.presetModel=e?new p.w(e,h.M.get.cookieStore):void 0}))),{fireImmediately:!0})}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setDescription(e){this.data.content.rendered=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,slug:e.title}}afterPatch(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},n=(0,a.Z)(i.prototype,"presetModel",[u.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(i.prototype,"rules",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"rules"),i.prototype),(0,a.Z)(i.prototype,"tcfVendors",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"tcfVendors"),i.prototype),(0,a.Z)(i.prototype,"services",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"services"),i.prototype),(0,a.Z)(i.prototype,"setName",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setName"),i.prototype),(0,a.Z)(i.prototype,"setStatus",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setStatus"),i.prototype),(0,a.Z)(i.prototype,"setDescription",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setDescription"),i.prototype),(0,a.Z)(i.prototype,"setMeta",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setMeta"),i.prototype),r=i))||r},6054:(e,t,o)=>{o.d(t,{w:()=>h});var r,i,n,s,a=o(6921),l=o(9888),c=o(7821),p=o(6406),u=o(7669);let h=(r=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",i,this),(0,a.Z)(this,"data",n,this),(0,a.Z)(this,"attributes",s,this),this.store=void 0,this.fetchAttributes=(0,c.flow)((function*(){try{this.busy=!0;const e=yield(0,u.W)({location:p.N,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,c.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,l.Z)(r.prototype,"busy",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,l.Z)(r.prototype,"data",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(r.prototype,"attributes",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(r.prototype,"fullLogoUrl",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"fullLogoUrl"),r.prototype),r)},97:(e,t,o)=>{o.d(t,{y:()=>I});var r,i,n,s,a,l,c,p,u,h,b,d,y,f,m,g,v,w,k,Z,C,R,P,S,O,E,_,z,x,D,T=o(6921),A=o(9888),M=o(7821);let I=(r=class{get revision(){return this.store.revisions.get(this.revision_hash)}get revision_independent(){return this.store.revisionsIndependent.get(this.revision_independent_hash)}get custom_bypass_readable(){const{custom_bypass:e}=this;return e?e.charAt(0).toUpperCase()+e.slice(1):""}get export(){return JSON.parse(JSON.stringify({...this.plain,revision:this.revision.data,revision_independent:this.revision_independent.data}))}constructor(e,t){(0,T.Z)(this,"id",i,this),(0,T.Z)(this,"plugin_version",n,this),(0,T.Z)(this,"design_version",s,this),(0,T.Z)(this,"ipv4",a,this),(0,T.Z)(this,"ipv6",l,this),(0,T.Z)(this,"ipv4_hash",c,this),(0,T.Z)(this,"ipv6_hash",p,this),(0,T.Z)(this,"uuid",u,this),(0,T.Z)(this,"previous_decision",h,this),(0,T.Z)(this,"decision",b,this),(0,T.Z)(this,"decision_labels",d,this),(0,T.Z)(this,"created",y,this),(0,T.Z)(this,"blocker",f,this),(0,T.Z)(this,"blocker_thumbnail",m,this),(0,T.Z)(this,"dnt",g,this),(0,T.Z)(this,"custom_bypass",v,this),(0,T.Z)(this,"user_country",w,this),(0,T.Z)(this,"revision_hash",k,this),(0,T.Z)(this,"revision_independent_hash",Z,this),(0,T.Z)(this,"button_clicked",C,this),(0,T.Z)(this,"context",R,this),(0,T.Z)(this,"viewport_width",P,this),(0,T.Z)(this,"viewport_height",S,this),(0,T.Z)(this,"viewed_page",O,this),(0,T.Z)(this,"url_imprint",E,this),(0,T.Z)(this,"url_privacy_policy",_,this),(0,T.Z)(this,"forwarded",z,this),(0,T.Z)(this,"forwarded_blocker",x,this),(0,T.Z)(this,"tcf_string",D,this),this.store=void 0,this.plain=void 0,(0,M.runInAction)((()=>(0,M.set)(this,e))),this.store=t,this.plain=e}fetchRevisions(){return Promise.all([this.store.fetchRevision({hash:this.revision_hash}),this.store.fetchRevisionIndependent({hash:this.revision_independent_hash})])}},i=(0,A.Z)(r.prototype,"id",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,A.Z)(r.prototype,"plugin_version",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,A.Z)(r.prototype,"design_version",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,A.Z)(r.prototype,"ipv4",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,A.Z)(r.prototype,"ipv6",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,A.Z)(r.prototype,"ipv4_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,A.Z)(r.prototype,"ipv6_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,A.Z)(r.prototype,"uuid",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=(0,A.Z)(r.prototype,"previous_decision",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=(0,A.Z)(r.prototype,"decision",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=(0,A.Z)(r.prototype,"decision_labels",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=(0,A.Z)(r.prototype,"created",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=(0,A.Z)(r.prototype,"blocker",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=(0,A.Z)(r.prototype,"blocker_thumbnail",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=(0,A.Z)(r.prototype,"dnt",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=(0,A.Z)(r.prototype,"custom_bypass",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=(0,A.Z)(r.prototype,"user_country",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=(0,A.Z)(r.prototype,"revision_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=(0,A.Z)(r.prototype,"revision_independent_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,A.Z)(r.prototype,"button_clicked",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=(0,A.Z)(r.prototype,"context",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,A.Z)(r.prototype,"viewport_width",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,A.Z)(r.prototype,"viewport_height",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,A.Z)(r.prototype,"viewed_page",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,A.Z)(r.prototype,"url_imprint",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,A.Z)(r.prototype,"url_privacy_policy",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,A.Z)(r.prototype,"forwarded",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,A.Z)(r.prototype,"forwarded_blocker",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,A.Z)(r.prototype,"tcf_string",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,A.Z)(r.prototype,"revision",[M.computed],Object.getOwnPropertyDescriptor(r.prototype,"revision"),r.prototype),(0,A.Z)(r.prototype,"revision_independent",[M.computed],Object.getOwnPropertyDescriptor(r.prototype,"revision_independent"),r.prototype),(0,A.Z)(r.prototype,"custom_bypass_readable",[M.computed],Object.getOwnPropertyDescriptor(r.prototype,"custom_bypass_readable"),r.prototype),r)},4620:(e,t,o)=>{o.d(t,{b:()=>u});var r,i,n=o(9888),s=o(8700),a=o(7669),l=o(2698),c=o(7821),p=o(8903);let u=s.ClientCollection.annotate({path:"/rcb-cookie",singlePath:"/rcb-cookie/:id",namespace:"wp/v2",methods:[s.RouteHttpVerb.GET],request:a.W})((i=class extends s.AbstractPostCollection{get sortedCookies(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.menu_order<t.data.menu_order?-1:e.data.menu_order>t.data.menu_order||e.key<t.key?1:e.key>t.key?-1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookies=(0,c.flow)((function*(e){this.busy=!0;try{yield(0,a.W)({location:p.I,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new l.U(this).fromResponse(e)}},(0,n.Z)(i.prototype,"sortedCookies",[c.computed],Object.getOwnPropertyDescriptor(i.prototype,"sortedCookies"),i.prototype),r=i))||r},8626:(e,t,o)=>{o.d(t,{w:()=>u});var r,i,n=o(9888),s=o(8700),a=o(7669),l=o(9532),c=o(7821),p=o(8067);let u=s.ClientCollection.annotate({path:"/rcb-cookie-group",singlePath:"/rcb-cookie-group/:id",namespace:"wp/v2",methods:[s.RouteHttpVerb.GET],request:a.W})((i=class extends s.AbstractCategoryCollection{get sortedGroups(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.meta.order<t.data.meta.order?-1:e.data.meta.order>t.data.meta.order?1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookieGroups=(0,c.flow)((function*(e){this.busy=!0;try{yield(0,a.W)({location:p.B,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new l.O(this).fromResponse(e)}},(0,n.Z)(i.prototype,"sortedGroups",[c.computed],Object.getOwnPropertyDescriptor(i.prototype,"sortedGroups"),i.prototype),r=i))||r},9532:(e,t,o)=>{o.d(t,{O:()=>b});var r,i,n,s,a=o(6921),l=o(9888),c=o(8700),p=o(7669),u=o(4620),h=o(7821);let b=c.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:p.W,create:{path:"/rcb-cookie-group"},patch:{path:"/rcb-cookie-group/:id"},delete:{path:"/rcb-cookie-group/:id"}})((i=class extends c.AbstractCategory{get cookiesCount(){return this.fetchedAllCookies?this.cookies.entries.size:this.data.count}constructor(e,t={}){super(e,t),(0,a.Z)(this,"cookies",n,this),(0,a.Z)(this,"fetchedAllCookies",s,this),this.fetchCookies=(0,h.flow)((function*(){yield this.cookies.get({request:{status:["draft","publish","private"]},params:{per_page:100,"rcb-cookie-group":this.key,context:"edit"}}),this.fetchedAllCookies=!0})),(0,h.runInAction)((()=>{this.cookies=new u.b(this)}))}setName(e){this.data.name=e}setDescription(e){this.data.description=e}setOrder(e){this.data.meta.order=e}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},n=(0,l.Z)(i.prototype,"cookies",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(i.prototype,"fetchedAllCookies",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,l.Z)(i.prototype,"cookiesCount",[h.computed],Object.getOwnPropertyDescriptor(i.prototype,"cookiesCount"),i.prototype),(0,l.Z)(i.prototype,"setName",[h.action],Object.getOwnPropertyDescriptor(i.prototype,"setName"),i.prototype),(0,l.Z)(i.prototype,"setDescription",[h.action],Object.getOwnPropertyDescriptor(i.prototype,"setDescription"),i.prototype),(0,l.Z)(i.prototype,"setOrder",[h.action],Object.getOwnPropertyDescriptor(i.prototype,"setOrder"),i.prototype),r=i))||r},2698:(e,t,o)=>{o.d(t,{U:()=>b});var r,i,n,s=o(6921),a=o(9888),l=o(8700),c=o(7669),p=o(1355),u=o(7821),h=o(9743);let b=l.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:c.W,create:{path:"/rcb-cookie"},patch:{path:"/rcb-cookie/:id"},delete:{path:"/rcb-cookie/:id"}})((i=class extends l.AbstractPost{get rootStore(){return this.collection.store.collection.store.rootStore}get technicalDefinitions(){return JSON.parse(this.data.meta.technicalDefinitions)}get codeDynamics(){return JSON.parse(this.data.meta.codeDynamics||"{}")}constructor(e,t={}){super(e,t),(0,s.Z)(this,"presetModel",n,this),this.store=void 0,(0,u.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,u.runInAction)((()=>{this.presetModel=e?new p.g(e,h.M.get.cookieStore):void 0}))),{fireImmediately:!0})}afterPatch(){const e=this.collection.store.collection,[t]=this.data["rcb-cookie-group"];e.entries.forEach((e=>{t!==e.key?e.cookies.entries.delete(this.key):e.cookies.entries.set(this.key,this)})),this.rootStore.optionStore.fetchCurrentRevision(),this.rootStore.cookieStore.unassignedCookies.delete(this.key)}setOrder(e){this.data.menu_order=e}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setPurpose(e){this.data.content.rendered=e}setGroup(e){this.data["rcb-cookie-group"]=[e]}setMeta(e){this.data.meta=e}transformDataForPersist(){return{...super.transformDataForPersist(),"rcb-cookie-group":[this.collection.store.key]}}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,menu_order:e.menu_order,"rcb-cookie-group":this.data["rcb-cookie-group"],slug:e.title}}afterDelete(){this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){const{optionStore:e,checklistStore:t}=this.collection.store.cookies.store.collection.store.rootStore;e.fetchCurrentRevision(),t.probablyFetchByChangedItem("add-cookie")}},n=(0,a.Z)(i.prototype,"presetModel",[u.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(i.prototype,"rootStore",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"rootStore"),i.prototype),(0,a.Z)(i.prototype,"technicalDefinitions",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"technicalDefinitions"),i.prototype),(0,a.Z)(i.prototype,"codeDynamics",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"codeDynamics"),i.prototype),(0,a.Z)(i.prototype,"afterPatch",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"afterPatch"),i.prototype),(0,a.Z)(i.prototype,"setOrder",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setOrder"),i.prototype),(0,a.Z)(i.prototype,"setName",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setName"),i.prototype),(0,a.Z)(i.prototype,"setStatus",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setStatus"),i.prototype),(0,a.Z)(i.prototype,"setPurpose",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setPurpose"),i.prototype),(0,a.Z)(i.prototype,"setGroup",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setGroup"),i.prototype),(0,a.Z)(i.prototype,"setMeta",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setMeta"),i.prototype),r=i))||r},1355:(e,t,o)=>{o.d(t,{g:()=>h});var r,i,n,s,a=o(6921),l=o(9888),c=o(7821),p=o(6364),u=o(7669);let h=(r=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",i,this),(0,a.Z)(this,"data",n,this),(0,a.Z)(this,"attributes",s,this),this.store=void 0,this.fetchAttributes=(0,c.flow)((function*(){try{this.busy=!0;const e=yield(0,u.W)({location:p.t,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,c.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,l.Z)(r.prototype,"busy",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,l.Z)(r.prototype,"data",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(r.prototype,"attributes",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(r.prototype,"fullLogoUrl",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"fullLogoUrl"),r.prototype),r)},6827:(e,t,o)=>{o.d(t,{k:()=>r});class r{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}},6213:(e,t,o)=>{o.d(t,{I:()=>r});class r{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}},1339:(e,t,o)=>{o.d(t,{o:()=>h});var r,i,n,s=o(6921),a=o(9888),l=o(7821),c=o(3943),p=o(5217),u=o(7669);let h=(r=class{get identifier(){return this.data.host}get inactive(){return"full"===this.blockedStatus||this.data.ignored}get blockedStatus(){const{foundCount:e,blockedCount:t}=this.data;return 0===t?"none":e===t?"full":"partial"}get blockedStatusText(){switch(this.blockedStatus){case"full":return(0,p.__)("Fully blocked");case"partial":return(0,p.__)("Partially blocked");default:return(0,p.__)("Not blocked")}}constructor(e,t){(0,s.Z)(this,"busy",i,this),(0,s.Z)(this,"data",n,this),this.store=void 0,this.ignore=(0,l.flow)((function*(e=!0){try{yield(0,u.W)({location:c.C,request:{ignored:e},params:{host:this.data.host.replace(/\./g,"_")}}),this.data.ignored=e}catch(e){throw console.log(e),e}})),(0,l.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,a.Z)(r.prototype,"busy",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(r.prototype,"identifier",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"identifier"),r.prototype),(0,a.Z)(r.prototype,"inactive",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"inactive"),r.prototype),(0,a.Z)(r.prototype,"blockedStatus",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockedStatus"),r.prototype),(0,a.Z)(r.prototype,"blockedStatusText",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockedStatusText"),r.prototype),r)},3792:(e,t,o)=>{o.d(t,{a:()=>p});var r,i,n,s=o(6921),a=o(9888),l=o(7821),c=o(8503);let p=(r=class{get markup(){return this.store.resultMarkup.get(this.data.id)}get blockedUrlTruncate(){return(0,c.r)(this.data.blockedUrl,50,"[...]")}get sourceUrlTruncate(){return(0,c.r)(this.data.sourceUrl,50,"[...]")}constructor(e,t){(0,s.Z)(this,"busy",i,this),(0,s.Z)(this,"data",n,this),this.store=void 0,this.fetchMarkup=(0,l.flow)((function*(){yield this.store.fetchMarkup(this.data.id)})),(0,l.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,a.Z)(r.prototype,"busy",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(r.prototype,"markup",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"markup"),r.prototype),(0,a.Z)(r.prototype,"blockedUrlTruncate",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockedUrlTruncate"),r.prototype),(0,a.Z)(r.prototype,"sourceUrlTruncate",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"sourceUrlTruncate"),r.prototype),r)},8318:(e,t,o)=>{o.d(t,{g:()=>h});var r,i,n,s,a=o(6921),l=o(9888),c=o(7821),p=o(7669),u=o(6406);let h=(r=class{get identifier(){return this.data.identifier}get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}get inactive(){return this.data.created}constructor(e,t){(0,a.Z)(this,"busy",i,this),(0,a.Z)(this,"data",n,this),(0,a.Z)(this,"attributes",s,this),this.store=void 0,this.fetchAttributes=(0,c.flow)((function*(){try{this.busy=!0;const e=yield(0,p.W)({location:u.N,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,c.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,l.Z)(r.prototype,"busy",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,l.Z)(r.prototype,"data",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(r.prototype,"attributes",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(r.prototype,"identifier",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"identifier"),r.prototype),(0,l.Z)(r.prototype,"fullLogoUrl",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"fullLogoUrl"),r.prototype),(0,l.Z)(r.prototype,"inactive",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"inactive"),r.prototype),r)},1112:(e,t,o)=>{o.d(t,{i:()=>c});var r,i,n,s=o(6921),a=o(9888),l=o(7821);let c=(r=class{constructor(e,t,o){(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"special",n,this),this.store=void 0,(0,l.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},i=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,a.Z)(r.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)},8272:(e,t,o)=>{o.d(t,{v:()=>c});var r,i,n,s=o(6921),a=o(9888),l=o(7821);let c=(r=class{constructor(e,t,o){(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"special",n,this),this.store=void 0,(0,l.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},i=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,a.Z)(r.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)},2515:(e,t,o)=>{o.d(t,{C:()=>c});var r,i,n=o(6921),s=o(9888),a=o(7821),l=o(7747);let c=(r=class{get vendorConfiguration(){for(const e of this.store.vendorConfigurations.entries.values())if(e.vendorModel.data.id===this.data.id)return e}get deviceStorageDisclosure(){const{usesCookies:e,cookieMaxAgeSeconds:t,cookieRefresh:o,usesNonCookieAccess:r,deviceStorageDisclosure:i}=this.data,n=null!=i&&i.disclosures.length?[...i.disclosures]:[];return r&&n.unshift({type:l.r.Web,identifier:"*",purposes:void 0,cookieRefresh:void 0,domain:"*",maxAgeSeconds:null}),e&&n.unshift({type:l.r.Cookie,identifier:"*",purposes:void 0,cookieRefresh:o,domain:"*",maxAgeSeconds:t}),n}get allPurposes(){return[...this.legIntPurposes,...this.purposes,...this.specialPurposes].filter(Boolean)}get allFeatures(){return[...this.features,...this.specialFeatures].filter(Boolean)}get restrictivePurposes(){const e={normal:{}};for(const t of[...this.legIntPurposes,...this.purposes])e.normal[t.data.id.toString()]={enabled:!0,legInt:this.legIntPurposes.indexOf(t)>-1&&!t.special?"yes":"no"};return e}get purposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.purposes.map((e=>this.store.purposes.get("".concat(e))))}get legIntPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.legIntPurposes.map((e=>this.store.purposes.get("".concat(e))))}get flexiblePurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.flexiblePurposes.map((e=>this.store.purposes.get("".concat(e))))}get specialPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialPurposes.map((e=>this.store.specialPurposes.get("".concat(e))))}get features(){var e;return null===(e=this.data)||void 0===e?void 0:e.features.map((e=>this.store.features.get("".concat(e))))}get specialFeatures(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialFeatures.map((e=>this.store.specialFeatures.get("".concat(e))))}constructor(e,t){(0,n.Z)(this,"data",i,this),this.store=void 0,(0,a.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,s.Z)(r.prototype,"data",[a.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(r.prototype,"vendorConfiguration",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"vendorConfiguration"),r.prototype),(0,s.Z)(r.prototype,"deviceStorageDisclosure",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"deviceStorageDisclosure"),r.prototype),(0,s.Z)(r.prototype,"allPurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"allPurposes"),r.prototype),(0,s.Z)(r.prototype,"allFeatures",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"allFeatures"),r.prototype),(0,s.Z)(r.prototype,"restrictivePurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"restrictivePurposes"),r.prototype),(0,s.Z)(r.prototype,"purposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"purposes"),r.prototype),(0,s.Z)(r.prototype,"legIntPurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"legIntPurposes"),r.prototype),(0,s.Z)(r.prototype,"flexiblePurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"flexiblePurposes"),r.prototype),(0,s.Z)(r.prototype,"specialPurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"specialPurposes"),r.prototype),(0,s.Z)(r.prototype,"features",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"features"),r.prototype),(0,s.Z)(r.prototype,"specialFeatures",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"specialFeatures"),r.prototype),r)},303:(e,t,o)=>{o.d(t,{C:()=>a});var r,i=o(8700),n=o(7669),s=o(9894);let a=i.ClientCollection.annotate({path:"/rcb-tcf-vendor-conf",singlePath:"/rcb-tcf-vendor-conf/:id",namespace:"wp/v2",methods:[i.RouteHttpVerb.GET],request:n.W})(r=class extends i.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new s.S(this).fromResponse(e)}})||r},9894:(e,t,o)=>{o.d(t,{S:()=>d});var r,i,n,s=o(6921),a=o(9888),l=o(8700),c=o(7669),p=o(7821),u=o(2515),h=o(5311),b=o.n(h);let d=l.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:c.W,create:{path:"/rcb-tcf-vendor-conf"},patch:{path:"/rcb-tcf-vendor-conf/:id"},delete:{path:"/rcb-tcf-vendor-conf/:id"}})((i=class extends l.AbstractPost{get hasVendor(){return!!this.vendorModel}get restrictivePurposes(){var e,t;const o="global"===this.collection.store.rootStore.optionStore.tcfScopeOfConsent,r=(null===(e=this.vendorModel)||void 0===e?void 0:e.restrictivePurposes)||{normal:{}};if(o)return r;const i=JSON.parse(this.data.meta.restrictivePurposes);return b().extend(!0,{},(null===(t=this.vendorModel)||void 0===t?void 0:t.restrictivePurposes)||{},i)}get stats(){var e;const{normal:t}=this.restrictivePurposes,o=[...Object.values(t)];return{activePurposes:o.filter((({enabled:e})=>e)).length,legIntPurposes:o.filter((({enabled:e,legInt:t})=>e&&"yes"===t)).length,activeFeatures:(null===(e=this.vendorModel)||void 0===e?void 0:e.allFeatures.length)||0}}constructor(e,t={}){super(e,t),(0,s.Z)(this,"vendorModel",n,this),(0,p.reaction)((()=>this.data.vendor),(e=>(0,p.runInAction)((()=>{if(e){const{vendors:t}=this.collection.store,o=e.id.toString();let r=t.get(o);r||(r=new u.C(e,this.collection.store),t.set(o,r)),this.vendorModel=r}}))),{fireImmediately:!0}),(0,p.reaction)((()=>{var e;return null===(e=this.data.meta)||void 0===e?void 0:e.vendorId}),(e=>{e&&(this.vendorModel=this.collection.store.vendors.get(e.toString()))}),{fireImmediately:!0})}setStatus(e){this.data.status=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{status:e.status,meta:e.meta}}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},n=(0,a.Z)(i.prototype,"vendorModel",[p.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(i.prototype,"hasVendor",[p.computed],Object.getOwnPropertyDescriptor(i.prototype,"hasVendor"),i.prototype),(0,a.Z)(i.prototype,"restrictivePurposes",[p.computed],Object.getOwnPropertyDescriptor(i.prototype,"restrictivePurposes"),i.prototype),(0,a.Z)(i.prototype,"stats",[p.computed],Object.getOwnPropertyDescriptor(i.prototype,"stats"),i.prototype),(0,a.Z)(i.prototype,"setStatus",[p.action],Object.getOwnPropertyDescriptor(i.prototype,"setStatus"),i.prototype),(0,a.Z)(i.prototype,"setMeta",[p.action],Object.getOwnPropertyDescriptor(i.prototype,"setMeta"),i.prototype),r=i))||r},9171:(e,t,o)=>{o.d(t,{L:()=>b});var r,i,n,s=o(6921),a=o(9888),l=o(7821),c=o(8700),p=o(2377),u=o(5654),h=o(7669);let b=(r=class extends c.BaseOptions{constructor(e){super(),(0,s.Z)(this,"busyChecklist",i,this),(0,s.Z)(this,"checklist",n,this),this.rootStore=void 0,this.probablyFetchByChangedItem=(0,l.flow)((function*(e,t){if(t)return void(yield this.fetchChecklist());const o=Array.isArray(e)?e:[e];this.items.filter((({id:e,checked:t})=>o.indexOf(e)>-1&&!t)).length>0&&(yield this.fetchChecklist())})),this.fetchChecklist=(0,l.flow)((function*(){this.busyChecklist=!0;try{this.checklist=yield(0,h.W)({location:p.g,params:{_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.toggleChecklistItem=(0,l.flow)((function*(e,t){this.busyChecklist=!0;try{this.checklist=yield(0,h.W)({location:u.s,request:{state:t},params:{id:e,_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.rootStore=e}get items(){return this.checklist&&Object.keys(this.checklist.items).map((e=>({id:e,...this.checklist.items[e]})))||[]}get completed(){return this.items.filter((({checked:e})=>e))}get checkable(){const{isPro:e}=this.rootStore.optionStore.others;return this.items.filter((({needsPro:t})=>!t||e&&t))}get done(){var e;return this.completed.length>=this.checkable.length||!(null===(e=this.checklist)||void 0===e||!e.dismissed)}},i=(0,a.Z)(r.prototype,"busyChecklist",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,a.Z)(r.prototype,"checklist",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(r.prototype,"items",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"items"),r.prototype),(0,a.Z)(r.prototype,"completed",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"completed"),r.prototype),(0,a.Z)(r.prototype,"checkable",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"checkable"),r.prototype),(0,a.Z)(r.prototype,"done",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"done"),r.prototype),r)},3721:(e,t,o)=>{o.d(t,{v:()=>O});var r,i,n,s,a,l,c,p,u,h,b,d=o(6921),y=o(9888),f=o(7821),m=o(8700),g=o(7669),v=o(8516),w=o(9560),k=o(6521),Z=o(8420),C=o(3612),R=o(97),P=o(6827),S=o(6213);let O=(r=class extends m.BaseOptions{constructor(e){super(),(0,d.Z)(this,"busyConsent",i,this),(0,d.Z)(this,"busyReferer",n,this),(0,d.Z)(this,"count",s,this),(0,d.Z)(this,"truncatedIpsCount",a,this),(0,d.Z)(this,"perPage",l,this),(0,d.Z)(this,"offset",c,this),(0,d.Z)(this,"pageCollection",p,this),(0,d.Z)(this,"revisions",u,this),(0,d.Z)(this,"revisionsIndependent",h,this),(0,d.Z)(this,"referer",b,this),this.filters=f.observable.object({page:1,dates:[void 0,void 0],context:void 0,referer:void 0,ip:void 0,uuid:void 0},{},{deep:!1}),this.rootStore=void 0,this.fetchAll=(0,f.flow)((function*(){this.busyConsent=!0;try{const{page:e,referer:t,ip:o,uuid:r,context:i}=this.filters,n=this.filters.dates.map((e=>e?e.format("YYYY-MM-DD"):"")),{count:s,truncatedIpsCount:a,items:l}=yield(0,g.W)({location:v.c,params:{per_page:this.perPage,offset:(e-1)*this.perPage,from:n[0],to:n[1],ip:o,uuid:r,referer:t,context:i}});this.count=s,this.truncatedIpsCount=a,this.pageCollection.clear();for(const e of l)this.pageCollection.set(e.id,new R.y(e,this))}catch(e){throw this.count=0,this.truncatedIpsCount=0,this.pageCollection.clear(),console.log(e),e}finally{this.busyConsent=!1}})),this.fetchRevision=(0,f.flow)((function*(e){try{const t=yield(0,g.W)({location:w.Z,params:e});this.revisions.set(e.hash,new P.k(t,this))}catch(e){throw console.log(e),e}})),this.fetchRevisionIndependent=(0,f.flow)((function*(e){try{const t=yield(0,g.W)({location:k.T,params:e});this.revisionsIndependent.set(e.hash,new S.I(t,this))}catch(e){throw console.log(e),e}})),this.fetchReferer=(0,f.flow)((function*(e){this.busyReferer=!0;try{const t=yield(0,g.W)({location:Z.q,params:e});this.referer=t.items}catch(e){throw console.log(e),e}finally{this.busyReferer=!1}})),this.deleteAll=(0,f.flow)((function*(){this.busyConsent=!0;try{yield(0,g.W)({location:C.O}),this.applyPage(0),yield this.fetchAll()}catch(e){throw console.log(e),e}finally{this.busyConsent=!1}})),this.rootStore=e,(0,f.runInAction)((()=>{this.filters.context=this.rootStore.optionStore.others.context}))}applyPage(e){this.filters.page=e}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}applyReferer(e){this.filters.referer=e}applyIp(e){this.filters.ip=e}applyUuid(e){this.filters.uuid=e}},i=(0,y.Z)(r.prototype,"busyConsent",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,y.Z)(r.prototype,"busyReferer",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,y.Z)(r.prototype,"count",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),a=(0,y.Z)(r.prototype,"truncatedIpsCount",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=(0,y.Z)(r.prototype,"perPage",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),c=(0,y.Z)(r.prototype,"offset",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),p=(0,y.Z)(r.prototype,"pageCollection",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),u=(0,y.Z)(r.prototype,"revisions",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),h=(0,y.Z)(r.prototype,"revisionsIndependent",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),b=(0,y.Z)(r.prototype,"referer",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,y.Z)(r.prototype,"applyPage",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyPage"),r.prototype),(0,y.Z)(r.prototype,"applyDates",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyDates"),r.prototype),(0,y.Z)(r.prototype,"applyContext",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyContext"),r.prototype),(0,y.Z)(r.prototype,"applyReferer",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyReferer"),r.prototype),(0,y.Z)(r.prototype,"applyIp",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyIp"),r.prototype),(0,y.Z)(r.prototype,"applyUuid",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyUuid"),r.prototype),r)},6649:(e,t,o)=>{o.d(t,{h:()=>R});var r,i,n,s,a,l,c,p,u,h,b=o(6921),d=o(9888),y=o(7821),f=o(6054),m=o(1355),g=o(8626),v=o(8578),w=o(3950),k=o(8213),Z=o(702),C=o(7669);let R=(r=class{get blockersCount(){return this.fetchedAllBlockers?this.blockers.entries.size:this.rootStore.optionStore.allBlockerCount}get cookiesCount(){return Array.from(this.groups.entries.values()).map((({cookiesCount:e})=>e)).reduce(((e,t)=>e+t),0)}constructor(e){(0,b.Z)(this,"busy",i,this),(0,b.Z)(this,"groups",n,this),(0,b.Z)(this,"unassignedCookies",s,this),(0,b.Z)(this,"blockers",a,this),(0,b.Z)(this,"presetsBlocker",l,this),(0,b.Z)(this,"busyPresetsBlocker",c,this),(0,b.Z)(this,"presetsCookie",p,this),(0,b.Z)(this,"busyPresetsCookie",u,this),(0,b.Z)(this,"fetchedAllBlockers",h,this),this.rootStore=void 0,this.fetchGroups=(0,y.flow)((function*(){yield this.groups.get({params:{per_page:100}}),yield this.fetchUnassignedCookies()})),this.fetchUnassignedCookies=(0,y.flow)((function*(){try{const e=yield(0,C.W)({location:w.p});for(const t of Object.values(e))this.unassignedCookies.set(t.id,t)}catch(e){throw console.log(e),e}})),this.fetchBlockers=(0,y.flow)((function*(){yield this.blockers.get({request:{status:["draft","publish","private"]},params:{per_page:100,context:"edit"}}),this.fetchedAllBlockers=!0})),this.fetchPresetsBlocker=(0,y.flow)((function*(){this.busyPresetsBlocker=!0;try{const{items:e}=yield(0,C.W)({location:k.W});for(const t of Object.keys(e))this.presetsBlocker.set(t,new f.w(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsBlocker=!1}})),this.fetchPresetsCookie=(0,y.flow)((function*(){this.busyPresetsCookie=!0;try{const{items:e}=yield(0,C.W)({location:Z.z});for(const t of Object.keys(e))this.presetsCookie.set(t,new m.g(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsCookie=!1}})),this.rootStore=e,(0,y.runInAction)((()=>{this.groups=new g.w(this),this.blockers=new v.R(this)}))}get essentialGroup(){if(0===this.groups.entries.size)return;const e=this.groups.entries.values();let t;for(;(t=e.next().value)&&t.data.slug!==this.rootStore.optionStore.others.essentialGroup;);return t}},i=(0,d.Z)(r.prototype,"busy",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,d.Z)(r.prototype,"groups",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,d.Z)(r.prototype,"unassignedCookies",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),a=(0,d.Z)(r.prototype,"blockers",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,d.Z)(r.prototype,"presetsBlocker",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),c=(0,d.Z)(r.prototype,"busyPresetsBlocker",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=(0,d.Z)(r.prototype,"presetsCookie",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),u=(0,d.Z)(r.prototype,"busyPresetsCookie",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),h=(0,d.Z)(r.prototype,"fetchedAllBlockers",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,d.Z)(r.prototype,"blockersCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockersCount"),r.prototype),(0,d.Z)(r.prototype,"cookiesCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"cookiesCount"),r.prototype),(0,d.Z)(r.prototype,"essentialGroup",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"essentialGroup"),r.prototype),r)},8943:(e,t,o)=>{o.d(t,{W:()=>m});var r,i,n,s,a,l,c,p=o(6921),u=o(9888),h=o(7821),b=o(8172),d=o(7669),y=o(6613),f=o(490);let m=(r=class{constructor(e){(0,p.Z)(this,"visible",i,this),(0,p.Z)(this,"animationVisible",n,this),(0,p.Z)(this,"individualPrivacyOpen",s,this),(0,p.Z)(this,"previewCheckboxActiveState",a,this),(0,p.Z)(this,"busyPresets",l,this),(0,p.Z)(this,"presets",c,this),this.rootStore=void 0,this.presetConstants=new Map,this.presetDefaults=new Map,this.debounceFromCustomize={},this.fetchPresets=(0,h.flow)((function*(){this.busyPresets=!0;try{const{defaults:e,constants:t,items:o}=yield(0,d.W)({location:b.t});for(const t of Object.keys(e))this.presetDefaults.set(t,e[t]);for(const e of Object.keys(t))this.presetConstants.set(e,t[e]);for(const e of Object.keys(o))this.presets.set(e,new y.p({id:e,...o[e]},this))}catch(e){throw console.log(e),e}finally{this.busyPresets=!1}})),this.rootStore=e}setBannerFromCustomize(e,t,o,r=!0){const{customizeValuesBanner:i}=this.rootStore.optionStore.others,n=t.toString();if(r&&["css","animationInDuration","animationOutDuration"].indexOf(n)>-1)clearTimeout(this.debounceFromCustomize[n]),this.debounceFromCustomize[n]=setTimeout((()=>this.setBannerFromCustomize(e,t,o,!1)),500);else{const r=i[e][t];i[e][t]=o,n.startsWith("animationOut")&&r!==o&&this.forceAnimationOutSimulation()}}setBannerFromPreset(e){for(const t of e){const[e,o,r]=t;this.rootStore.optionStore.others.customizeValuesBanner[e][o]=r}}forceAnimationOutSimulation(){const{customizeValuesBanner:e}=this.rootStore.optionStore.others;"none"!==e.layout.animationOut&&(this.animationVisible=!1,setTimeout((()=>(0,h.runInAction)((()=>{this.animationVisible=!0}))),+e.layout.animationOutDuration+1e3))}setVisible(e){this.visible=e}setIndividualPrivacyOpen(e){this.individualPrivacyOpen=e}setPreviewCheckboxActiveState(e){this.previewCheckboxActiveState=e}exportPhp(){const e={},t=(0,f.getSidebarCustomize)();return this.presetDefaults.forEach(((o,r)=>{let i=t(r).get();"boolean"==typeof o?i=!!+i:isNaN(i)||""===i||(i=+i),JSON.stringify(o)!==JSON.stringify(i)&&(e[this.presetConstants.get(r)]=i)})),this.jsonToPHPArray(e)}jsonToPHPArray(e){const t=JSON.stringify(e,null,4).split("\n");return t.shift(),t.pop(),t.join("\n").replace(/^(\s+)"([A-Za-z\\]+::[A-Z_]+)"(:)/gm,"$1$2 =>").replace(/^(\s+)([A-Za-z\\]+)::/gm,((e,t,o)=>"".concat(t).concat(o.replace(/\\\\/gm,"\\"),"::")))}},i=(0,u.Z)(r.prototype,"visible",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,u.Z)(r.prototype,"animationVisible",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),s=(0,u.Z)(r.prototype,"individualPrivacyOpen",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,u.Z)(r.prototype,"previewCheckboxActiveState",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,u.Z)(r.prototype,"busyPresets",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=(0,u.Z)(r.prototype,"presets",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,u.Z)(r.prototype,"setBannerFromCustomize",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setBannerFromCustomize"),r.prototype),(0,u.Z)(r.prototype,"setBannerFromPreset",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setBannerFromPreset"),r.prototype),(0,u.Z)(r.prototype,"forceAnimationOutSimulation",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"forceAnimationOutSimulation"),r.prototype),(0,u.Z)(r.prototype,"setVisible",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setVisible"),r.prototype),(0,u.Z)(r.prototype,"setIndividualPrivacyOpen",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setIndividualPrivacyOpen"),r.prototype),(0,u.Z)(r.prototype,"setPreviewCheckboxActiveState",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setPreviewCheckboxActiveState"),r.prototype),r)},8919:(e,t,o)=>{o.d(t,{Cu:()=>u.C,L_:()=>c.L,My:()=>r.M,WS:()=>n.W,aZ:()=>i.a,et:()=>l.e,hc:()=>s.h,mZ:()=>r.m,v:()=>a.v,z:()=>p.z});var r=o(9743),i=o(2654),n=o(8943),s=o(6649),a=o(3721),l=o(6484),c=o(9171),p=o(2793),u=o(1637)},2654:(e,t,o)=>{o.d(t,{a:()=>fe});var r,i,n,s,a,l,c,p,u,h,b,d,y,f,m,g,v,w,k,Z,C,R,P,S,O,E,_,z,x,D,T,A,M,I,j,B,V,U,N,G,F,W,L,H,q,Q,Y,J,$,X,K,ee,te,oe=o(6921),re=o(9888),ie=o(7821),ne=o(8700),se=o(5391),ae=o(1211),le=o(4791),ce=o(1734),pe=o(4474),ue=o(9190),he=o(1515),be=o(648),de=o(7669),ye=o(6265);let fe=(r=class extends ne.BaseOptions{get isOnlyRcbCookieCreated(){return!(1!==this.allCookieCount||this.tcf&&this.allTcfVendorConfigurationCount)}get areSettingsFetched(){return void 0!==this.respectDoNotTrack}constructor(e){super(),(0,oe.Z)(this,"busySettings",i,this),(0,oe.Z)(this,"busyCountryBypassUpdate",n,this),(0,oe.Z)(this,"busyAddLinksToNavigationMenu",s,this),(0,oe.Z)(this,"needsRevisionRetrigger",a,this),(0,oe.Z)(this,"publicCookieCount",l,this),(0,oe.Z)(this,"allCookieCount",c,this),(0,oe.Z)(this,"allBlockerCount",p,this),(0,oe.Z)(this,"allTcfVendorConfigurationCount",u,this),(0,oe.Z)(this,"allScannerResultPresetsCount",h,this),(0,oe.Z)(this,"allScannerResultExternalUrlsCount",b,this),(0,oe.Z)(this,"cookieCounts",d,this),(0,oe.Z)(this,"nav_menus",y,this),(0,oe.Z)(this,"tcfVendorConfigurationCounts",f,this),(0,oe.Z)(this,"hasManager",m,this),(0,oe.Z)(this,"contexts",g,this),(0,oe.Z)(this,"dashboardMigration",v,this),(0,oe.Z)(this,"fomoCoupon",w,this),(0,oe.Z)(this,"bannerActive",k,this),(0,oe.Z)(this,"blockerActive",Z,this),(0,oe.Z)(this,"imprintId",C,this),(0,oe.Z)(this,"imprintExternalUrl",R,this),(0,oe.Z)(this,"imprintIsExternalUrl",P,this),(0,oe.Z)(this,"privacyPolicyId",S,this),(0,oe.Z)(this,"privacyPolicyExternalUrl",O,this),(0,oe.Z)(this,"privacyPolicyIsExternalUrl",E,this),(0,oe.Z)(this,"hidePageIds",_,this),(0,oe.Z)(this,"setCookiesViaManager",z,this),(0,oe.Z)(this,"acceptAllForBots",x,this),(0,oe.Z)(this,"respectDoNotTrack",D,this),(0,oe.Z)(this,"cookieDuration",T,this),(0,oe.Z)(this,"saveIp",A,this),(0,oe.Z)(this,"ePrivacyUSA",M,this),(0,oe.Z)(this,"ageNotice",I,this),(0,oe.Z)(this,"listServicesNotice",j,this),(0,oe.Z)(this,"consentForwarding",B,this),(0,oe.Z)(this,"forwardTo",V,this),(0,oe.Z)(this,"crossDomains",U,this),(0,oe.Z)(this,"affiliateLink",N,this),(0,oe.Z)(this,"affiliateLabelBehind",G,this),(0,oe.Z)(this,"affiliateLabelDescription",F,this),(0,oe.Z)(this,"countryBypass",W,this),(0,oe.Z)(this,"countryBypassCountries",L,this),(0,oe.Z)(this,"countryBypassType",H,this),(0,oe.Z)(this,"countryBypassDbDownloadTime",q,this),(0,oe.Z)(this,"tcf",Q,this),(0,oe.Z)(this,"tcfPublisherCc",Y,this),(0,oe.Z)(this,"tcfAcceptedTime",J,this),(0,oe.Z)(this,"tcfGvlDownloadTime",$,this),(0,oe.Z)(this,"tcfScopeOfConsent",X,this),(0,oe.Z)(this,"consentDuration",K,this),(0,oe.Z)(this,"consentsDeletedAt",ee,this),(0,oe.Z)(this,"others",te,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.fetchSettings=(0,ie.flow)((function*(e){this.busySettings=!0;try{const t=e||(yield(0,de.W)({location:se.g}));this.bannerActive=t["rcb-banner-active"],this.blockerActive=t["rcb-blocker-active"],this.imprintId=t["rcb-banner-legal-imprint"],this.imprintExternalUrl=t["rcb-banner-legal-imprint-external-url"],this.imprintIsExternalUrl=t["rcb-banner-legal-imprint-is-external-url"],this.privacyPolicyId=t["rcb-banner-legal-privacy-policy"],this.privacyPolicyExternalUrl=t["rcb-banner-legal-privacy-policy-external-url"],this.privacyPolicyIsExternalUrl=t["rcb-banner-legal-privacy-policy-is-external-url"],this.hidePageIds=(t["rcb-hide-page-ids"]||"").split(",").map(Number).filter(Boolean),this.setCookiesViaManager=t["rcb-set-cookies-via-manager"]||"none",this.acceptAllForBots=t["rcb-accept-all-for-bots"],this.respectDoNotTrack=t["rcb-respect-do-not-track"],this.cookieDuration=t["rcb-cookie-duration"],this.saveIp=t["rcb-save-ip"],this.ePrivacyUSA=t["rcb-eprivacy-usa"],this.ageNotice=t["rcb-age-notice"],this.listServicesNotice=t["rcb-list-services-notice"],this.consentForwarding=t["rcb-consent-forwarding"]||!1,this.forwardTo=(t["rcb-forward-to"]||"").split("|").filter(Boolean),this.crossDomains=t["rcb-cross-domains"]||"",this.countryBypass=t["rcb-country-bypass"],this.countryBypassCountries=(t["rcb-country-bypass-countries"]||"").split(",").filter(Boolean),this.countryBypassType=t["rcb-country-bypass-type"],this.countryBypassDbDownloadTime=t["rcb-country-bypass-db-download-time"],this.tcf=t["rcb-tcf"],this.tcfPublisherCc=t["rcb-tcf-publisher-cc"],this.tcfAcceptedTime=t["rcb-tcf-accepted-time"],this.tcfGvlDownloadTime=t["rcb-tcf-gvl-download-time"],this.tcfScopeOfConsent=t["rcb-tcf-scope-of-consent"],this.consentDuration=t["rcb-consent-duration"],yield this.fetchCurrentRevision()}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateSettings=(0,ie.flow)((function*({bannerActive:e,blockerActive:t,imprintId:o,privacyPolicyId:r,hidePageIds:i,setCookiesViaManager:n,acceptAllForBots:s,respectDoNotTrack:a,cookieDuration:l,saveIp:c,ePrivacyUSA:p,ageNotice:u,listServicesNotice:h,consentForwarding:b,forwardTo:d,crossDomains:y,affiliateLink:f,affiliateLabelBehind:m,affiliateLabelDescription:g,countryBypass:v,countryBypassCountries:w,countryBypassType:k,tcf:Z,tcfPublisherCc:C,tcfScopeOfConsent:R,consentDuration:P}){this.busySettings=!0;try{const f=yield(0,de.W)({location:ae.J,request:{...void 0===e?{}:{"rcb-banner-active":e},...void 0===t?{}:{"rcb-blocker-active":t},...void 0===o?{}:{"rcb-banner-legal-imprint":o},...void 0===r?{}:{"rcb-banner-legal-privacy-policy":r},...void 0===i?{}:{"rcb-hide-page-ids":i.join(",")},...void 0===n?{}:{"rcb-set-cookies-via-manager":n},...void 0===s?{}:{"rcb-accept-all-for-bots":s},...void 0===a?{}:{"rcb-respect-do-not-track":a},...void 0===l?{}:{"rcb-cookie-duration":l},...void 0===c?{}:{"rcb-save-ip":c},...void 0===p?{}:{"rcb-eprivacy-usa":p},...void 0===u?{}:{"rcb-age-notice":u},...void 0===h?{}:{"rcb-list-services-notice":h},...void 0===b?{}:{"rcb-consent-forwarding":b},...void 0===d?{}:{"rcb-forward-to":d.join("|")},...void 0===y?{}:{"rcb-cross-domains":y},...void 0===v?{}:{"rcb-country-bypass":v},...void 0===w?{}:{"rcb-country-bypass-countries":w.join(",")},...void 0===k?{}:{"rcb-country-bypass-type":k},...void 0===Z?{}:{"rcb-tcf":Z},...void 0===C?{}:{"rcb-tcf-publisher-cc":C},...void 0===R?{}:{"rcb-tcf-scope-of-consent":R},...void 0===P?{}:{"rcb-consent-duration":P}}});this.fetchSettings(f),this.rootStore.checklistStore.probablyFetchByChangedItem(["save-settings","activate-banner","privacy-policy"])}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.fetchCurrentRevision=(0,ie.flow)((function*(){this.busySettings=!0;try{this.setFromCurrentRevision(yield(0,de.W)({location:le.G}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateCurrentRevision=(0,ie.flow)((function*(e){this.busySettings=!0;try{this.setFromCurrentRevision(yield(0,de.W)({location:ce.a,request:e}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.setModalHintSeen=(0,ie.flow)((function*(e){this.busySettings=!0;try{this.others.modalHints.push(e),yield(0,de.W)({location:ye.C,request:{identifier:e}})}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.dismissConfigProNotice=(0,ie.flow)((function*(){try{this.others.isConfigProNoticeVisible=!1,yield(0,de.W)({location:pe.n})}catch(e){throw console.log(e),e}})),this.dismissMigration=(0,ie.flow)((function*(){try{const{id:e}=this.dashboardMigration;this.dashboardMigration=void 0,yield(0,de.W)({location:ue.o,params:{migration:e}})}catch(e){throw console.log(e),e}})),this.addLinksToNavigationMenu=(0,ie.flow)((function*(e){this.busyAddLinksToNavigationMenu=!0;try{const{success:t}=yield(0,de.W)({location:he.i,request:{id:e}});return t&&(this.rootStore.checklistStore.fetchChecklist(),yield this.fetchCurrentRevision()),t}catch(e){throw console.log(e),e}finally{this.busyAddLinksToNavigationMenu=!1}})),this.updateCountryBypassDatabase=(0,ie.flow)((function*(){this.busyCountryBypassUpdate=!0;try{const{dbDownloadTime:e}=yield(0,de.W)({location:be._});this.countryBypassDbDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyCountryBypassUpdate=!1}})),this.rootStore=e,this.pureSlug=ne.BaseOptions.getPureSlug("real-cookie-banner"),this.pureSlugCamelCased=ne.BaseOptions.getPureSlug("real-cookie-banner",!0),(0,ie.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}setFromCurrentRevision({contexts:e,has_manager:t,needs_retrigger:o,public_cookie_count:r,all_cookie_count:i,all_blocker_count:n,all_tcf_vendor_configuration_count:s,all_scanner_result_presets_count:a,all_scanner_result_external_urls_count:l,cookie_counts:c,consents_deleted_at:p,nav_menus:u,tcf_vendor_configuration_counts:h,dashboard_migration:b,fomo_coupon:d}){this.hasManager=t,this.needsRevisionRetrigger=o,this.publicCookieCount=r,this.allCookieCount=i,this.allBlockerCount=n,this.allTcfVendorConfigurationCount=s,this.allScannerResultPresetsCount=a,this.allScannerResultExternalUrlsCount=l,this.cookieCounts=c,this.consentsDeletedAt=p,this.nav_menus=u,this.tcfVendorConfigurationCounts=h,this.contexts=e,this.dashboardMigration=b,this.fomoCoupon=d}setShowLicenseFormImmediate(e,t){this.others.showLicenseFormImmediate=e,this.others.isLicensed=t}},i=(0,re.Z)(r.prototype,"busySettings",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,re.Z)(r.prototype,"busyCountryBypassUpdate",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,re.Z)(r.prototype,"busyAddLinksToNavigationMenu",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,re.Z)(r.prototype,"needsRevisionRetrigger",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,re.Z)(r.prototype,"publicCookieCount",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),c=(0,re.Z)(r.prototype,"allCookieCount",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),p=(0,re.Z)(r.prototype,"allBlockerCount",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=(0,re.Z)(r.prototype,"allTcfVendorConfigurationCount",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),h=(0,re.Z)(r.prototype,"allScannerResultPresetsCount",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),b=(0,re.Z)(r.prototype,"allScannerResultExternalUrlsCount",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),d=(0,re.Z)(r.prototype,"cookieCounts",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{draft:0,private:0,publish:0}}}),y=(0,re.Z)(r.prototype,"nav_menus",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),f=(0,re.Z)(r.prototype,"tcfVendorConfigurationCounts",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=(0,re.Z)(r.prototype,"hasManager",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),g=(0,re.Z)(r.prototype,"contexts",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{"":""}}}),v=(0,re.Z)(r.prototype,"dashboardMigration",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=(0,re.Z)(r.prototype,"fomoCoupon",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=(0,re.Z)(r.prototype,"bannerActive",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Z=(0,re.Z)(r.prototype,"blockerActive",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=(0,re.Z)(r.prototype,"imprintId",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=(0,re.Z)(r.prototype,"imprintExternalUrl",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,re.Z)(r.prototype,"imprintIsExternalUrl",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,re.Z)(r.prototype,"privacyPolicyId",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,re.Z)(r.prototype,"privacyPolicyExternalUrl",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,re.Z)(r.prototype,"privacyPolicyIsExternalUrl",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,re.Z)(r.prototype,"hidePageIds",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,re.Z)(r.prototype,"setCookiesViaManager",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,re.Z)(r.prototype,"acceptAllForBots",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,re.Z)(r.prototype,"respectDoNotTrack",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,re.Z)(r.prototype,"cookieDuration",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,re.Z)(r.prototype,"saveIp",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=(0,re.Z)(r.prototype,"ePrivacyUSA",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,re.Z)(r.prototype,"ageNotice",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,re.Z)(r.prototype,"listServicesNotice",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,re.Z)(r.prototype,"consentForwarding",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,re.Z)(r.prototype,"forwardTo",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=(0,re.Z)(r.prototype,"crossDomains",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,re.Z)(r.prototype,"affiliateLink",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,re.Z)(r.prototype,"affiliateLabelBehind",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,re.Z)(r.prototype,"affiliateLabelDescription",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=(0,re.Z)(r.prototype,"countryBypass",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,re.Z)(r.prototype,"countryBypassCountries",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,re.Z)(r.prototype,"countryBypassType",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,re.Z)(r.prototype,"countryBypassDbDownloadTime",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,re.Z)(r.prototype,"tcf",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,re.Z)(r.prototype,"tcfPublisherCc",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,re.Z)(r.prototype,"tcfAcceptedTime",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,re.Z)(r.prototype,"tcfGvlDownloadTime",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,re.Z)(r.prototype,"tcfScopeOfConsent",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,re.Z)(r.prototype,"consentDuration",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,re.Z)(r.prototype,"consentsDeletedAt",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,re.Z)(r.prototype,"others",[ie.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,re.Z)(r.prototype,"isOnlyRcbCookieCreated",[ie.computed],Object.getOwnPropertyDescriptor(r.prototype,"isOnlyRcbCookieCreated"),r.prototype),(0,re.Z)(r.prototype,"areSettingsFetched",[ie.computed],Object.getOwnPropertyDescriptor(r.prototype,"areSettingsFetched"),r.prototype),(0,re.Z)(r.prototype,"setFromCurrentRevision",[ie.action],Object.getOwnPropertyDescriptor(r.prototype,"setFromCurrentRevision"),r.prototype),(0,re.Z)(r.prototype,"setShowLicenseFormImmediate",[ie.action],Object.getOwnPropertyDescriptor(r.prototype,"setShowLicenseFormImmediate"),r.prototype),r)},1637:(e,t,o)=>{o.d(t,{C:()=>P});var r,i,n,s,a,l,c,p,u,h,b=o(6921),d=o(9888),y=o(7821),f=o(1339),m=o(3792),g=o(8318),v=o(7669),w=o(2115),k=o(9601),Z=o(5593),C=o(6372),R=o(7244);let P=(r=class{get sortedExternalUrls(){const e=Array.from(this.resultExternalUrls.values());return e.sort(((e,t)=>e.inactive===t.inactive?0:e.inactive?1:-1)),e}get presetsCount(){return this.fetchedAllResultPresets?this.resultPresets.size:this.rootStore.optionStore.allScannerResultPresetsCount}get externalUrlsCount(){return this.fetchedAllResultExternalUrls?this.resultExternalUrls.size:this.rootStore.optionStore.allScannerResultExternalUrlsCount}get canShowResults(){var e;return this.presetsCount+this.externalUrlsCount>0&&(null===(e=this.rootStore.checklistStore.checklist)||void 0===e?void 0:e.items.scanner.checked)}get foundScanResultsCount(){return this.resultPresets.size+this.resultExternalUrls.size}get needsAttentionCount(){return[...this.resultPresets.values(),...this.resultExternalUrls.values()].filter((({inactive:e})=>!e)).length}constructor(e){(0,b.Z)(this,"resultPresets",i,this),(0,b.Z)(this,"busyResultPresets",n,this),(0,b.Z)(this,"fetchedAllResultPresets",s,this),(0,b.Z)(this,"resultExternalUrls",a,this),(0,b.Z)(this,"resultAllExternalUrls",l,this),(0,b.Z)(this,"busyExternalUrls",c,this),(0,b.Z)(this,"fetchedAllResultExternalUrls",p,this),(0,b.Z)(this,"busyMarkup",u,this),(0,b.Z)(this,"resultMarkup",h,this),this.rootStore=void 0,this.addUrlsToQueue=(0,y.flow)((function*(e){return yield(0,v.W)({location:w.k,request:e})})),this.fetchResultPresets=(0,y.flow)((function*(){this.busyResultPresets=!0;try{this.resultPresetsFromResponse(yield(0,v.W)({location:k.e})),this.fetchedAllResultPresets=!0}catch(e){throw console.log(e),e}finally{this.busyResultPresets=!1}})),this.fetchResultExternals=(0,y.flow)((function*(){this.busyExternalUrls=!0;try{this.resultExternalUrlsFromResponse(yield(0,v.W)({location:Z.M})),this.fetchedAllResultExternalUrls=!0}catch(e){throw console.log(e),e}finally{this.busyExternalUrls=!1}})),this.fetchResultAllExternals=(0,y.flow)((function*(e){const t=e instanceof f.o?"host":"preset",{identifier:o}=e;e.busy=!0;try{const{items:r}=yield(0,v.W)({location:C.M,params:{type:t,identifier:"host"===t?o.replace(/\./g,"_"):o}});let i=this.resultAllExternalUrls.get(o);if(i){const e=r.map((({id:e})=>e));for(const t of i.keys())-1===e.indexOf(t)&&i.delete(t)}else i=new Map;for(const e of Object.values(r))i.set(e.id,new m.a(e,this)),this.resultAllExternalUrls.set(o,i)}catch(e){throw console.log(e),e}finally{e.busy=!1}})),this.fetchMarkup=(0,y.flow)((function*(e){this.busyMarkup=!0;try{const t=yield(0,v.W)({location:R.$,params:{id:e}});this.resultMarkup.set(e,t)}catch(e){throw console.log(e),e}finally{this.busyMarkup=!1}})),this.rootStore=e}resultPresetsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultPresets.keys())-1===t.indexOf(e)&&this.resultPresets.delete(e);for(const o of t)this.resultPresets.set(o,new g.g(e[o],this))}resultExternalUrlsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultExternalUrls.keys())-1===t.indexOf(e)&&this.resultExternalUrls.delete(e);for(const o of t)this.resultExternalUrls.set(o,new f.o(e[o],this))}},i=(0,d.Z)(r.prototype,"resultPresets",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),n=(0,d.Z)(r.prototype,"busyResultPresets",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,d.Z)(r.prototype,"fetchedAllResultPresets",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,d.Z)(r.prototype,"resultExternalUrls",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),l=(0,d.Z)(r.prototype,"resultAllExternalUrls",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),c=(0,d.Z)(r.prototype,"busyExternalUrls",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=(0,d.Z)(r.prototype,"fetchedAllResultExternalUrls",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),u=(0,d.Z)(r.prototype,"busyMarkup",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),h=(0,d.Z)(r.prototype,"resultMarkup",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,d.Z)(r.prototype,"sortedExternalUrls",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"sortedExternalUrls"),r.prototype),(0,d.Z)(r.prototype,"presetsCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"presetsCount"),r.prototype),(0,d.Z)(r.prototype,"externalUrlsCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"externalUrlsCount"),r.prototype),(0,d.Z)(r.prototype,"canShowResults",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"canShowResults"),r.prototype),(0,d.Z)(r.prototype,"foundScanResultsCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"foundScanResultsCount"),r.prototype),(0,d.Z)(r.prototype,"needsAttentionCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"needsAttentionCount"),r.prototype),(0,d.Z)(r.prototype,"resultPresetsFromResponse",[y.action],Object.getOwnPropertyDescriptor(r.prototype,"resultPresetsFromResponse"),r.prototype),(0,d.Z)(r.prototype,"resultExternalUrlsFromResponse",[y.action],Object.getOwnPropertyDescriptor(r.prototype,"resultExternalUrlsFromResponse"),r.prototype),r)},6484:(e,t,o)=>{o.d(t,{e:()=>u});var r,i,n=o(6921),s=o(9888),a=o(7821),l=o(8700),c=o(8488),p=o.n(c);let u=(r=class extends l.BaseOptions{constructor(e){super(),(0,n.Z)(this,"busyStats",i,this),this.rootStore=void 0,this.stats=a.observable.object({main:void 0,buttonsClicked:void 0,customBypass:void 0},{},{deep:!1}),this.filters=a.observable.object({dates:void 0,context:void 0},{},{deep:!1}),this.fetchMain=(0,a.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchButtonsClicked=(0,a.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchCustomBypass=(0,a.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.rootStore=e,(0,a.runInAction)((()=>{this.filters.dates=[p()().subtract(30,"days"),p()()],this.filters.context=this.rootStore.optionStore.others.context}))}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}},i=(0,s.Z)(r.prototype,"busyStats",[a.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{main:!1,buttonClicked:!1,customBypass:!1}}}),(0,s.Z)(r.prototype,"applyDates",[a.action],Object.getOwnPropertyDescriptor(r.prototype,"applyDates"),r.prototype),(0,s.Z)(r.prototype,"applyContext",[a.action],Object.getOwnPropertyDescriptor(r.prototype,"applyContext"),r.prototype),r)},9743:(e,t,o)=>{o.d(t,{M:()=>b,m:()=>d});var r=o(7821),i=o(8700),n=o(2654),s=o(8943),a=o(6649),l=o(3721),c=o(6484),p=o(9171),u=o(2793),h=o(1637);(0,r.configure)({enforceActions:"always"});class b{get context(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,i.createContextFactory)(this)}constructor(){this.optionStore=void 0,this.customizeBannerStore=void 0,this.cookieStore=void 0,this.consentStore=void 0,this.statsStore=void 0,this.checklistStore=void 0,this.tcfStore=void 0,this.scannerStore=void 0,this.contextMemo=void 0,this.optionStore=new n.a(this),this.customizeBannerStore=new s.W(this),this.cookieStore=new a.h(this),this.consentStore=new l.v(this),this.statsStore=new c.e(this),this.checklistStore=new p.L(this),this.tcfStore=new u.z(this),this.scannerStore=new h.C(this)}static get StoreProvider(){return b.get.context.StoreProvider}static get get(){return b.me?b.me:b.me=new b}}b.me=void 0;const d=()=>b.get.context.useStores()},2793:(e,t,o)=>{o.d(t,{z:()=>_});var r,i,n,s,a,l,c,p,u,h,b,d,y,f,m=o(6921),g=o(9888),v=o(7821),w=o(8700),k=o(515),Z=o(4747),C=o(1039),R=o(7669),P=o(2515),S=o(8272),O=o(1112),E=o(303);let _=(r=class extends w.BaseOptions{get vendorConfigurationCount(){return this.fetchedAllVendorConfigurations?this.vendorConfigurations.entries.size:this.rootStore.optionStore.allTcfVendorConfigurationCount}constructor(e){super(),(0,m.Z)(this,"busyGvl",i,this),(0,m.Z)(this,"busyVendors",n,this),(0,m.Z)(this,"busyDeclarations",s,this),(0,m.Z)(this,"vendorConfigurations",a,this),(0,m.Z)(this,"fetchedAllVendorConfigurations",l,this),(0,m.Z)(this,"vendorListVersion",c,this),(0,m.Z)(this,"gvlSpecificationVersion",p,this),(0,m.Z)(this,"tcfPolicyVersion",u,this),(0,m.Z)(this,"vendors",h,this),(0,m.Z)(this,"purposes",b,this),(0,m.Z)(this,"specialPurposes",d,this),(0,m.Z)(this,"features",y,this),(0,m.Z)(this,"specialFeatures",f,this),this.rootStore=void 0,this.fetchVendorConfigurations=(0,v.flow)((function*(){const e=Math.ceil(this.vendorConfigurationCount/100);for(let t=0;t<e;t++)yield this.vendorConfigurations.get({request:{status:["draft","publish","private"]},params:{offset:100*t,per_page:100,context:"edit"}});this.fetchedAllVendorConfigurations=!0})),this.fetchVendors=(0,v.flow)((function*(){this.busyVendors=!0;try{const{vendorListVersion:e,vendors:t}=yield(0,R.W)({location:Z.f});for(const e of Object.keys(t))this.vendors.set(e,new P.C(t[e],this));this.vendorListVersion=e}catch(e){throw console.log(e),e}finally{this.busyVendors=!1}})),this.fetchDeclarations=(0,v.flow)((function*(){this.busyDeclarations=!0;try{const{gvlSpecificationVersion:e,tcfPolicyVersion:t,purposes:o,specialPurposes:r,features:i,specialFeatures:n}=yield(0,R.W)({location:k.Y});for(const e of Object.keys(o))this.purposes.set(e,new S.v(o[e],!1,this));for(const e of Object.keys(r))this.specialPurposes.set(e,new S.v(r[e],!0,this));for(const e of Object.keys(i))this.features.set(e,new O.i(i[e],!1,this));for(const e of Object.keys(n))this.specialFeatures.set(e,new O.i(n[e],!0,this));this.gvlSpecificationVersion=e,this.tcfPolicyVersion=t}catch(e){throw console.log(e),e}finally{this.busyDeclarations=!1}})),this.updateGvl=(0,v.flow)((function*(){this.busyGvl=!0;try{const{gvlDownloadTime:e}=yield(0,R.W)({location:C.y});this.rootStore.optionStore.tcfGvlDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyGvl=!1}})),this.rootStore=e,(0,v.runInAction)((()=>{this.vendorConfigurations=new E.C(this)}))}},i=(0,g.Z)(r.prototype,"busyGvl",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,g.Z)(r.prototype,"busyVendors",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,g.Z)(r.prototype,"busyDeclarations",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,g.Z)(r.prototype,"vendorConfigurations",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,g.Z)(r.prototype,"fetchedAllVendorConfigurations",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=(0,g.Z)(r.prototype,"vendorListVersion",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,g.Z)(r.prototype,"gvlSpecificationVersion",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,g.Z)(r.prototype,"tcfPolicyVersion",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=(0,g.Z)(r.prototype,"vendors",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),b=(0,g.Z)(r.prototype,"purposes",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),d=(0,g.Z)(r.prototype,"specialPurposes",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),y=(0,g.Z)(r.prototype,"features",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),f=(0,g.Z)(r.prototype,"specialFeatures",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,g.Z)(r.prototype,"vendorConfigurationCount",[v.computed],Object.getOwnPropertyDescriptor(r.prototype,"vendorConfigurationCount"),r.prototype),r)},2208:(e,t,o)=>{o.d(t,{b:()=>i,u:()=>r});const r="rcb-scan",i="rcb-automatic-scan-starter"},1589:(e,t,o)=>{function r(e){const t=document.createElement("textarea");t.innerText=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove()}o.d(t,{v:()=>r})},1048:(e,t,o)=>{function r(){return window["real-cookie-banner".replace(/-([a-z])/g,(e=>e[1].toUpperCase()))]}o.d(t,{m:()=>r})},9712:(e,t,o)=>{o.d(t,{u:()=>i});var r=o(1048);function i(){return(0,r.m)().others}},5217:(e,t,o)=>{o.d(t,{__:()=>l,_i:()=>c,_n:()=>s,_x:()=>a});var r=o(8700);let i;function n(){return i||(i=(0,r.createLocalizationFactory)(r.BaseOptions.getPureSlug("real-cookie-banner")))}const s=(...e)=>n()._n(...e),a=(...e)=>n()._x(...e),l=(...e)=>n().__(...e),c=(...e)=>n()._i(...e)},7669:(e,t,o)=>{o.d(t,{W:()=>a,Y:()=>s});var r=o(8700);let i;function n(){return i||(i=(0,r.createRequestFactory)(window[r.BaseOptions.getPureSlug("real-cookie-banner",!0)]))}const s=(...e)=>n().urlBuilder(...e),a=(...e)=>n().request(...e)},1712:(e,t,o)=>{function r(e=0){document.body.scrollTop=e,document.documentElement.scrollTop=e}o.d(t,{X:()=>r})},8503:(e,t,o)=>{function r(e,t=50,o="..."){if(!e||e.length<=t)return e;const r=t-o.length,i=Math.ceil(r/2),n=Math.floor(r/2);return e.substr(0,i)+o+e.substr(e.length-n)}o.d(t,{r:()=>r})},2377:(e,t,o)=>{o.d(t,{g:()=>r});const r={path:"/checklist",method:o(8700).RouteHttpVerb.GET}},5654:(e,t,o)=>{o.d(t,{s:()=>r});const r={path:"/checklist/:id",method:o(8700).RouteHttpVerb.PUT}},3612:(e,t,o)=>{o.d(t,{O:()=>r});const r={path:"/consent/all",method:o(8700).RouteHttpVerb.DELETE}},8516:(e,t,o)=>{o.d(t,{c:()=>r});const r={path:"/consent/all",method:o(8700).RouteHttpVerb.GET}},8420:(e,t,o)=>{o.d(t,{q:()=>r});const r={path:"/consent/referer",method:o(8700).RouteHttpVerb.GET}},8067:(e,t,o)=>{o.d(t,{B:()=>r});const r={path:"/cookie-groups/order",method:o(8700).RouteHttpVerb.PUT}},3950:(e,t,o)=>{o.d(t,{p:()=>r});const r={path:"/cookies/unassigned",method:o(8700).RouteHttpVerb.GET}},8903:(e,t,o)=>{o.d(t,{I:()=>r});const r={path:"/cookies/order",method:o(8700).RouteHttpVerb.PUT}},648:(e,t,o)=>{o.d(t,{_:()=>r});const r={path:"/country-bypass/database",method:o(8700).RouteHttpVerb.PUT}},534:(e,t,o)=>{o.d(t,{V:()=>r});const r={path:"/export",method:o(8700).RouteHttpVerb.GET}},9338:(e,t,o)=>{o.d(t,{Q:()=>r});const r={path:"/export/consents",method:o(8700).RouteHttpVerb.GET}},4161:(e,t,o)=>{o.d(t,{V:()=>r});const r={path:"/forward/cookie/:slug",method:o(8700).RouteHttpVerb.GET}},1079:(e,t,o)=>{o.d(t,{A:()=>r});const r={path:"/forward/endpoints",method:o(8700).RouteHttpVerb.GET}},4018:(e,t,o)=>{o.d(t,{H:()=>r});const r={path:"/import",method:o(8700).RouteHttpVerb.POST}},6568:(e,t,o)=>{o.d(t,{gn:()=>R.g,s5:()=>P.s,Ok:()=>f.O,cI:()=>y.c,rz:()=>Z,aY:()=>B,vY:()=>E,JQ:()=>h,PM:()=>u,qD:()=>Q.q,BI:()=>l.B,pV:()=>S.p,It:()=>c.I,_3:()=>V._,QB:()=>C.Q,Vm:()=>w.V,Vc:()=>_.V,AW:()=>O.A,HR:()=>k.H,nQ:()=>z.n,oW:()=>N.o,nX:()=>U.n,iO:()=>Y.i,tX:()=>n.t,N9:()=>T.N,Wu:()=>s.W,tw:()=>A.t,zf:()=>a.z,GQ:()=>b.G,a4:()=>d.a,Z1:()=>x.Z,TB:()=>D.T,kv:()=>G.k,ME:()=>H.M,Ce:()=>L.C,MQ:()=>W.M,$5:()=>q.$,eO:()=>F.e,$Q:()=>v,gh:()=>g,BV:()=>m,Y3:()=>j.Y,yR:()=>M.y,fs:()=>I.f,g3:()=>r.g,J3:()=>i.J});var r=o(5391),i=o(1211),n=o(8172),s=o(8213),a=o(702),l=o(8067),c=o(8903),p=o(8700);const u={path:"/consent",method:p.RouteHttpVerb.POST},h={path:"/consent",method:p.RouteHttpVerb.GET};var b=o(4791),d=o(1734),y=o(8516),f=o(3612);const m={path:"/stats/main",method:p.RouteHttpVerb.GET},g={path:"/stats/customBypass",method:p.RouteHttpVerb.GET},v={path:"/stats/buttonsClicked",method:p.RouteHttpVerb.GET};var w=o(534),k=o(4018);const Z={path:"/consent/clear",method:p.RouteHttpVerb.DELETE};var C=o(9338),R=o(2377),P=o(5654),S=o(3950),O=o(1079);const E={path:"/consent/forward",method:p.RouteHttpVerb.POST};var _=o(4161),z=o(4474),x=o(9560),D=o(6521),T=o(6406),A=o(6364),M=o(1039),I=o(4747),j=o(515);const B={path:"/consent/dynamic-predecision",method:p.RouteHttpVerb.POST};var V=o(648),U=o(4358),N=o(9190),G=o(2115),F=o(9601),W=o(5593),L=o(3943),H=o(6372),q=o(7244),Q=o(8420),Y=o(1515)},4474:(e,t,o)=>{o.d(t,{n:()=>r});const r={path:"/dismiss-config-page-pro-notice",method:o(8700).RouteHttpVerb.DELETE}},9190:(e,t,o)=>{o.d(t,{o:()=>r});const r={path:"/migration/:migration",method:o(8700).RouteHttpVerb.DELETE}},4358:(e,t,o)=>{o.d(t,{n:()=>r});const r={path:"/migration/:migration/:action",method:o(8700).RouteHttpVerb.POST}},6265:(e,t,o)=>{o.d(t,{C:()=>r});const r={path:"/modal-hint",method:o(8700).RouteHttpVerb.PUT}},1515:(e,t,o)=>{o.d(t,{i:()=>r});const r={path:"/nav-menu/add-links",method:o(8700).RouteHttpVerb.POST}},8172:(e,t,o)=>{o.d(t,{t:()=>r});const r={path:"/presets/banner",method:o(8700).RouteHttpVerb.GET}},8213:(e,t,o)=>{o.d(t,{W:()=>r});const r={path:"/presets/blocker",method:o(8700).RouteHttpVerb.GET}},6406:(e,t,o)=>{o.d(t,{N:()=>r});const r={path:"/presets/blocker/:identifier",method:o(8700).RouteHttpVerb.GET}},702:(e,t,o)=>{o.d(t,{z:()=>r});const r={path:"/presets/cookies",method:o(8700).RouteHttpVerb.GET}},6364:(e,t,o)=>{o.d(t,{t:()=>r});const r={path:"/presets/cookies/:identifier",method:o(8700).RouteHttpVerb.GET}},9560:(e,t,o)=>{o.d(t,{Z:()=>r});const r={path:"/revision/:hash",method:o(8700).RouteHttpVerb.GET}},4791:(e,t,o)=>{o.d(t,{G:()=>r});const r={path:"/revision/current",method:o(8700).RouteHttpVerb.GET}},1734:(e,t,o)=>{o.d(t,{a:()=>r});const r={path:"/revision/current",method:o(8700).RouteHttpVerb.PUT}},6521:(e,t,o)=>{o.d(t,{T:()=>r});const r={path:"/revision/independent/:hash",method:o(8700).RouteHttpVerb.GET}},2115:(e,t,o)=>{o.d(t,{k:()=>r});const r={path:"/scanner/queue",method:o(8700).RouteHttpVerb.POST}},6372:(e,t,o)=>{o.d(t,{M:()=>r});const r={path:"/scanner/result/externals/:type/:identifier",method:o(8700).RouteHttpVerb.GET}},5593:(e,t,o)=>{o.d(t,{M:()=>r});const r={path:"/scanner/result/externals",method:o(8700).RouteHttpVerb.GET}},3943:(e,t,o)=>{o.d(t,{C:()=>r});const r={path:"/scanner/result/externals/:host",method:o(8700).RouteHttpVerb.PUT}},7244:(e,t,o)=>{o.d(t,{$:()=>r});const r={path:"/scanner/result/markup/:id",method:o(8700).RouteHttpVerb.GET}},9601:(e,t,o)=>{o.d(t,{e:()=>r});const r={path:"/scanner/result/presets",method:o(8700).RouteHttpVerb.GET}},515:(e,t,o)=>{o.d(t,{Y:()=>r});const r={path:"/tcf/declarations",method:o(8700).RouteHttpVerb.GET}},1039:(e,t,o)=>{o.d(t,{y:()=>r});const r={path:"/tcf/gvl",method:o(8700).RouteHttpVerb.PUT}},4747:(e,t,o)=>{o.d(t,{f:()=>r});const r={path:"/tcf/vendors",method:o(8700).RouteHttpVerb.GET}},5391:(e,t,o)=>{o.d(t,{g:()=>r});const r={path:"/settings",namespace:"wp/v2",method:o(8700).RouteHttpVerb.GET}},1211:(e,t,o)=>{o.d(t,{J:()=>r});const r={path:"/settings",namespace:"wp/v2",method:o(8700).RouteHttpVerb.PATCH}},8852:()=>{},9494:()=>{},7363:e=>{e.exports=React},1533:e=>{e.exports=ReactDOM},6711:e=>{e.exports=ReactRouterDOM},490:e=>{e.exports=devowlWp_customize},9445:e=>{e.exports=devowlWp_realProductManagerWpClient},6:e=>{e.exports=devowlWp_realQueue},8700:e=>{e.exports=devowlWp_utils},5311:e=>{e.exports=jQuery},7821:e=>{e.exports=mobx},8488:e=>{e.exports=moment},5998:e=>{e.exports=wp}},i={};function n(e){var t=i[e];if(void 0!==t)return t.exports;var o=i[e]={id:e,loaded:!1,exports:{}};return r[e](o,o.exports,n),o.loaded=!0,o.exports}n.m=r,e=[],n.O=(t,o,r,i)=>{if(!o){var s=1/0;for(p=0;p<e.length;p++){for(var[o,r,i]=e[p],a=!0,l=0;l<o.length;l++)(!1&i||s>=i)&&Object.keys(n.O).every((e=>n.O[e](o[l])))?o.splice(l--,1):(a=!1,i<s&&(s=i));if(a){e.splice(p--,1);var c=r();void 0!==c&&(t=c)}}return t}i=i||0;for(var p=e.length;p>0&&e[p-1][2]>i;p--)e[p]=e[p-1];e[p]=[o,r,i]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,o)=>(n.f[o](e,t),t)),[])),n.u=e=>(({3:"chunk-config-tab-scanner",184:"chunk-config-tab-tcf",322:"chunk-config-tab-licensing",357:"chunk-config-tab-import",379:"chunk-config-tab-dashboard",478:"chunk-config-tab-blocker",625:"chunk-config-tab-consent",718:"chunk-config-tab-cookies",768:"chunk-config-tab-settings"}[e]||e)+".lite.js?ver="+{3:"fda8a3d7baf68c23de17",81:"1597b7ea247ebc729b3f",85:"c1cace28db802702418a",184:"fe97b05fb51ed960cc94",185:"d7db871864b2eb3ac805",307:"73276fcc2cfb96b77e26",322:"5e85950ce97d48f995ac",357:"7df71e03e569097e1232",379:"54231007934f68c04f42",414:"80bd17f5390c8b52cd65",446:"8bd9b252600f8f721c0e",466:"b69d94a17213c9cde347",474:"acc17755b51f87dc3229",478:"76f4ec784e34db6f7508",544:"046af70c36e9f6a7dfd9",578:"36d419efcf879ad47d09",625:"3a44d7831990367ae6b5",637:"ef6cb6d16781bb56366d",718:"7bc9539bfbf1059837b6",737:"f0776900ca027073c701",768:"9cbb4b6f33a116a0e1b5",793:"20235de6234cd515b3d0",853:"bc80c41606727317b951",902:"dff6cad5a218cf713e40",932:"cba370a1023bd0e9d17c"}[e]),n.miniCssF=e=>"admin.css",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},o="realCookieBanner_:",n.l=(e,r,i,s)=>{if(t[e])t[e].push(r);else{var a,l;if(void 0!==i)for(var c=document.getElementsByTagName("script"),p=0;p<c.length;p++){var u=c[p];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+i){a=u;break}}a||(l=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,n.nc&&a.setAttribute("nonce",n.nc),a.setAttribute("data-webpack",o+i),a.src=e),t[e]=[r];var h=(o,r)=>{a.onerror=a.onload=null,clearTimeout(b);var i=t[e];if(delete t[e],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach((e=>e(r))),o)return o(r)},b=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),l&&document.head.appendChild(a)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");o.length&&(e=o[o.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={328:0};n.f.j=(t,o)=>{var r=n.o(e,t)?e[t]:void 0;if(0!==r)if(r)o.push(r[2]);else{var i=new Promise(((o,i)=>r=e[t]=[o,i]));o.push(r[2]=i);var s=n.p+n.u(t),a=new Error;n.l(s,(o=>{if(n.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var i=o&&("load"===o.type?"missing":o.type),s=o&&o.target&&o.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+s+")",a.name="ChunkLoadError",a.type=i,a.request=s,r[1](a)}}),"chunk-"+t,t)}},n.O.j=t=>0===e[t];var t=(t,o)=>{var r,i,[s,a,l]=o,c=0;if(s.some((t=>0!==e[t]))){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(l)var p=l(n)}for(t&&t(o);c<s.length;c++)i=s[c],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(p)},o=self.webpackChunkrealCookieBanner_=self.webpackChunkrealCookieBanner_||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();var s=n.O(void 0,[194],(()=>n(6974)));s=n.O(s),realCookieBanner_admin=s})();
|
2 |
//# sourceMappingURL=admin.lite.js.map
|
1 |
+
var realCookieBanner_admin;(()=>{"use strict";var e,t,o,r={7747:(e,t,o)=>{var r,i;o.d(t,{r:()=>r}),function(e){e.Cookie="cookie",e.Web="web",e.App="app"}(r||(r={})),function(e){e.Bulgarian="bg",e.Catalan="ca",e.Czech="cs",e.Danish="da",e.German="de",e.Greek="el",e.Spanish="es",e.Estonian="et",e.Basque="eus",e.Finnish="fi",e.French="fr",e.Galician="gl",e.Croatian="hr",e.Hungarian="hu",e.Italian="it",e.Japanese="ja",e.Lithuanian="lt",e.Latvian="lv",e.Maltese="mt",e.Dutch="nl",e.Norwegian="no",e.Polish="pl",e.Portuguese="pt",e.Romanian="ro",e.SerbianCyrillic="sr-Cyrl",e.SerbianLatin="sr-Latn",e.Russian="ru",e.Slovak="sk",e.Slovenian="sl",e.Swedish="sv",e.Turkish="tr",e.Chinese="zh"}(i||(i={}))},8924:(e,t,o)=>{o.d(t,{I4:()=>i,Lg:()=>n,TK:()=>r});const r="Google Tag Manager",i="Matomo Tag Manager";function n(e,t){let o,n,s,a=!1,l="";if(e&&"none"!==e){const c="googleTagManager"===e,p="matomoTagManager"===e;c?(s="gtm",o="dataLayer",l=r):p&&(s="mtm",o="_mtm",l=i),(c||p)&&(n=()=>(window[o]=window[o]||[],window[o])),s&&t===s&&(a=!0)}return{getDataLayer:n,serviceIsManager:a,managerLabel:l,expectedManagerPresetId:s}}},987:(e,t,o)=>{o.d(t,{Q:()=>n,x:()=>i});var r=o(7363);class i{static Context(){return this.context=this.context||(0,r.createContext)({})}}function n(){return(0,r.useContext)(i.Context())}i.context=void 0},8057:(e,t,o)=>{o.d(t,{E:()=>n});var r=o(7363);const i=/(\r\n|\r|\n|<br[ ]?\/>)/g,n=e=>e.split(i).map(((e,t)=>e.match(i)?(0,r.createElement)("br",{key:t}):e))},6974:(e,t,o)=>{o.r(t),o.d(t,{ChecklistStore:()=>f.L_,ConsentStore:()=>f.v,CookieStore:()=>f.hc,CustomizeBannerStore:()=>f.WS,OptionStore:()=>f.aZ,RootStore:()=>f.My,ScannerStore:()=>f.Cu,StatsStore:()=>f.et,TcfStore:()=>f.z,locationRestChecklistGet:()=>y.gn,locationRestChecklistPut:()=>y.s5,locationRestConsentAllDelete:()=>y.Ok,locationRestConsentAllGet:()=>y.cI,locationRestConsentClearDelete:()=>y.rz,locationRestConsentDynamicPredecisionGet:()=>y.aY,locationRestConsentForwardPost:()=>y.vY,locationRestConsentGet:()=>y.JQ,locationRestConsentPost:()=>y.PM,locationRestConsentRefererGet:()=>y.qD,locationRestCookieGroupOrderPut:()=>y.BI,locationRestCookieUnassignedGet:()=>y.pV,locationRestCookiesOrderPut:()=>y.It,locationRestCountryBypassDatabasePut:()=>y._3,locationRestExportConsentsGet:()=>y.QB,locationRestExportGet:()=>y.Vm,locationRestForwardCookieGet:()=>y.Vc,locationRestForwardEndpointsGet:()=>y.AW,locationRestImportPost:()=>y.HR,locationRestLiteDismissConfigPageProNotice:()=>y.nQ,locationRestMigrationDelete:()=>y.oW,locationRestMigrationPost:()=>y.nX,locationRestNavMenuAddLinksPost:()=>y.iO,locationRestPresetsBannerGet:()=>y.tX,locationRestPresetsBlockerAttributesGet:()=>y.N9,locationRestPresetsBlockerGet:()=>y.Wu,locationRestPresetsCookiesAttributesGet:()=>y.tw,locationRestPresetsCookiesGet:()=>y.zf,locationRestRevisionCurrentGet:()=>y.GQ,locationRestRevisionCurrentPut:()=>y.a4,locationRestRevisionGet:()=>y.Z1,locationRestRevisionIndependentGet:()=>y.TB,locationRestScannerQueuePost:()=>y.kv,locationRestScannerResultAllExternalUrlsByHostGet:()=>y.ME,locationRestScannerResultExternalPatch:()=>y.Ce,locationRestScannerResultExternalsGet:()=>y.MQ,locationRestScannerResultMarkupGet:()=>y.$5,locationRestScannerResultPresetsGet:()=>y.eO,locationRestStatsButtonsClickedGet:()=>y.$Q,locationRestStatsCustomBypassGet:()=>y.gh,locationRestStatsMainGet:()=>y.BV,locationRestTcfDeclarationsGet:()=>y.Y3,locationRestTcfGvlPut:()=>y.yR,locationRestTcfVendorsGet:()=>y.fs,locationRestWpSettings:()=>y.g3,locationRestWpSettingsPatch:()=>y.J3,useStores:()=>f.mZ});var r=o(1246),i=o(8653),n=(o(1913),o(1533)),s=o(9743),a=o(4990),l=(o(9494),o(8852),o(8488)),c=o.n(l),p=o(8700),u=o(7669),h=o(5217),b=o(987),d={};for(const e in p)"default"!==e&&(d[e]=()=>p[e]);o.d(t,d);var y=o(6568),f=o(8919);o.p=(0,p.getWebpackPublicPath)("real-cookie-banner"),(0,p.handleCorruptRestApi)({[s.M.get.optionStore.restNamespace]:async()=>{await(0,u.W)({location:{path:"/plugin"}})},"wp/v2":async()=>{await(0,u.W)({location:{path:"/settings",namespace:"wp/v2"}})}}),i.ZP.config({prefixCls:"rcb-antd"}),r.ZP.config({top:50});const m=document.getElementById("".concat(s.M.get.optionStore.slug,"-component"));if(m){const e=b.x.Context();(0,n.render)(React.createElement(e.Provider,{value:{__:h.__,_i:h._i}},React.createElement(i.ZP,{prefixCls:"rcb-antd",locale:{locale:c().locale()}},React.createElement(s.M.StoreProvider,null,React.createElement(a.K,null)))),m)}},4144:(e,t,o)=>{o.d(t,{b:()=>w});var r=o(8208),i=o(8612),n=o(7465),s=o(9511),a=o(7363),l=o(3867),c=o(5217),p=o(301),u=o(5230),h=o(7921),b=o(886),d=o(9743),y=o(2684),f=o(1816),m=o(2411);const g=(0,l.Pi)((({id:e,checked:t,title:o,description:r,link:i,linkText:n,linkTarget:a,needsPro:l,onLinkClick:g})=>{const{optionStore:{others:{isPro:v},fomoCoupon:w}}=(0,d.m)(),Z=!v&&l;let k=null,C=null,R=i;switch(e){case"scanner":{const{percent:e,remaining:t,currentJob:o}=(0,y.p)();t>0&&e>0&&(null==o?void 0:o.group_position)>0&&(k=React.createElement(s.Z,null,(0,c.__)("Currently scanning (%d %%)",e)));break}case"get-pro":C=React.createElement(m.S,null),w&&(R+="&".concat(m.Q))}return React.createElement("div",{style:{margin:"5px 0"}},React.createElement(p.Z,{title:t&&r},React.createElement("span",null,Z?React.createElement(u.Z,{style:{color:"#7ec8ec"}}):t?React.createElement(h.Z,{style:{color:"#52c41a"}}):React.createElement(b.Z,{style:{color:"#e2e2e2"}})," ",React.createElement("span",{style:{textDecoration:t?"line-through":void 0,fontWeight:"bold"}},o),!!R&&!!n&&React.createElement(React.Fragment,null," • ",React.createElement("a",{href:R,target:a,rel:"noreferrer",onClick:g},n)))),Z&&"get-pro"!==e&&React.createElement(React.Fragment,null," ",React.createElement(s.Z,{color:f.k},(0,c.__)("Needs PRO"))),!!k&&React.createElement(React.Fragment,null," ",k),!!r&&!t&&React.createElement("p",{className:"description",style:{paddingLeft:17}},r),!!C&&React.createElement("div",{style:{paddingLeft:17}},C))}));var v=o(2185);const w=(0,l.Pi)((({onLinkClick:e,...t})=>{const{checklistStore:o}=(0,d.m)(),{busyChecklist:l,items:p,completed:u,checkable:h,done:y,checklist:{overdue:f}}=o,[m,w]=(0,a.useState)("boolean"==typeof t.showHidden?t.showHidden:!y);return React.createElement(r.Z,{spinning:l},React.createElement(i.Z,{direction:"vertical",size:"large"},f&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,(0,c.__)("How time flies! You have installed Real Cookie Banner some time ago, but you still haven't finished the configuration yet."))),React.createElement("p",{className:"description"},(0,c.__)("We have collected all relevant steps for the legally compliant use of Real Cookie Banner after the first installation. Set up the cookie banner step by step to add a cookie banner to your website in compliance with the ePrivacy Directive and GDPR.")),React.createElement("div",null,y&&(m?React.createElement(s.Z,{icon:React.createElement(v.Z,null),color:"default",style:{cursor:"pointer"},onClick:()=>w(!1)},(0,c.__)("Hide completed steps")):React.createElement(s.Z,{icon:React.createElement(b.Z,null),color:"success",style:{cursor:"pointer"},onClick:()=>w(!0)},(0,c.__)("%d / %d steps completed",u.length>h.length?h.length:u.length,h.length))),p.map((({id:t,...r})=>!m&&r.checked?null:React.createElement(g,(0,n.Z)({key:t,id:t},r,{onLinkClick:r=>{["get-pro"].indexOf(t)>-1&&o.toggleChecklistItem(t,!0),null==e||e(r)}})))))))}))},4990:(e,t,o)=>{o.d(t,{K:()=>U,m:()=>D});var r=o(918),i=o(8208),n=o(7363),s=o(3867),a=o(6711),l=o(5217),c=o(9743),p=o(8936);const u=(0,s.Pi)((()=>{const{optionStore:e}=(0,c.m)(),{pathname:t}=(0,a.useLocation)();return e.needsRevisionRetrigger&&-1===t.indexOf("/edit/")&&-1===t.indexOf("/new")&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("You have changed settings that affect the content or behavior of the cookie banner. You should ask all visitors for their consent again.")," ","•"," ",React.createElement("a",{style:{cursor:"pointer",textDecoration:"underline"},onClick:()=>e.updateCurrentRevision({needs_retrigger:!0})},(0,l.__)("Request new consent"))," ","•"," ",React.createElement(p.Z,{title:React.createElement(React.Fragment,null,React.createElement("strong",null,(0,l.__)("Are you sure you don't want to collect new consents?")),React.createElement("br",null),React.createElement("br",null),(0,l._i)((0,l.__)("Consent must be obtained in accordance with {{a}}Art. 7 GDPR{{/a}}. Your visitor must be informed about all circumstances of the consent. However, you have made changes to your cookie banner, which lead to the fact that previously visitors have consented differently or to something different than is now in the cookie banner. Therefore, previously collected consents may have become partially invalid."),{a:React.createElement("a",{href:(0,l.__)("https://gdpr-info.eu/art-7-gdpr/"),rel:"noreferrer",target:"_blank"})}),React.createElement("br",null),React.createElement("br",null),(0,l.__)("If you have created a new service like Google Analytics (without visual content blocker), previous visitors can never consent without collecting new consents and you cannot track them, for example.")),placement:"bottomRight",onConfirm:()=>e.updateCurrentRevision({needs_retrigger:!1}),okText:(0,l.__)("Dismiss notice"),cancelText:(0,l.__)("Cancel"),overlayStyle:{maxWidth:450}},React.createElement("a",{style:{cursor:"pointer",textDecoration:"underline"}},(0,l.__)("Dismiss notice")))))})),h=(0,s.Pi)((()=>{const{optionStore:{publicCookieCount:e,busySettings:t,bannerActive:o}}=(0,c.m)();return o&&!e&&!t&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("The cookie banner is activated, but unfortunately you have not yet created or enabled services.")))}));var b=o(9712);const d=(0,s.Pi)((()=>{const{showNoticeAnonymousScriptNotWritable:e}=(0,b.u)();return!!e&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("Your {{code}}wp-content{{/code}} folder is not writable. Please check your permissions!"),{code:React.createElement("code",null)})))}));var y=o(8924);const f=(0,s.Pi)((()=>{const{optionStore:{setCookiesViaManager:e,hasManager:t}}=(0,c.m)(),{managerLabel:o,expectedManagerPresetId:r}=(0,y.Lg)(e),{pathname:i}=(0,a.useLocation)();return o&&!t&&/^\/cookies\/\d+$/.test(i)&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("You have not yet defined a %s service. To use {{strong}}%s{{/strong}} with Real Cookie Banner, you must create the appropriate service.",o,o),{strong:React.createElement("strong",null)})," ","• ",React.createElement("a",{href:"#".concat(i,"/new?force=").concat(r)},(0,l.__)("Create now"))))}));var m=o(1712);const g=()=>{const{listen:e}=(0,a.useHistory)();return(0,n.useEffect)((()=>{const t=e((()=>{(0,m.X)(0)}));return()=>{t()}}),[e]),null};var v=o(3751),w=o(886),Z=o(6363);const k=(0,s.Pi)((()=>{const{optionStore:e}=(0,c.m)(),{others:{proUrl:t,isPro:o,isConfigProNoticeVisible:r}}=e,i="".concat(t,"&feature=main-button"),s=(0,n.useCallback)((()=>{window.open(i,"_blank"),e.dismissConfigProNotice()}),[e]),a=(0,n.useCallback)((()=>{e.dismissConfigProNotice()}),[e]);return!o&&React.createElement(p.Z,{visible:!!r,title:(0,l.__)("Thank you for using the free version of Real Cookie Banner. You might also be interested in the PRO version, which offers you more features, 20+ design templates, 100+ service templates, 60+ content blocker templates and much more."),icon:React.createElement(Z.Z,{style:{color:"#1890ff"}}),placement:"bottom",onConfirm:s,onCancel:a,cancelText:(0,l.__)("No, not interested..."),okText:(0,l.__)("I want to learn more!"),overlayStyle:{maxWidth:450}},React.createElement("a",{className:"page-title-action",rel:"noreferrer",onClick:s},(0,l.__)("Get PRO version")))}));var C=o(4144);const R=(0,s.Pi)((()=>{const[e,t]=(0,n.useState)(!1),{optionStore:o,checklistStore:r}=(0,c.m)(),{pathname:i}=(0,a.useLocation)(),{others:{customizeBannerUrl:s},publicUrl:p}=o,{completed:u,checkable:h,done:b}=r;(0,n.useEffect)((()=>{r.fetchChecklist()}),[]);const d=(0,n.useCallback)((e=>{window.location.href="".concat(s,"&return=").concat(encodeURIComponent(window.location.href)),e.preventDefault()}),[]),y=(0,n.useCallback)((()=>{t(!0),r.fetchChecklist()}),[t]),f=(0,n.useCallback)((()=>{t(!1)}),[t]);return React.createElement(React.Fragment,null,React.createElement("h1",{className:"wp-heading-inline"},(0,l.__)("Real Cookie Banner")),React.createElement("img",{className:"rcb-nav-logo",src:"".concat(p,"images/logos/real-cookie-banner.svg")}),React.createElement("a",{className:"page-title-action",href:"#",onClick:d},(0,l.__)("Customize banner")),React.createElement(k,null),!b&&"/"!==i&&React.createElement(React.Fragment,null,React.createElement("a",{className:"page-title-action",style:{color:"#52c41a",background:"#f6ffed",borderColor:"#85af65"},onClick:y},React.createElement(w.Z,null)," ",(0,l.__)("%d / %d steps completed",u.length>h.length?h.length:u.length,h.length)),React.createElement(v.Z,{visible:e,title:(0,l.__)("Set up the cookie banner"),onCancel:f,okButtonProps:{style:{display:"none"}},cancelText:(0,l.__)("Close"),width:800},React.createElement(C.b,{showHidden:!0,onLinkClick:f}))),React.createElement("hr",{className:"wp-header-end"}))}));var P=o(697);const S=(0,s.Pi)((()=>{const{optionStore:{publicUrl:e}}=(0,c.m)();return React.createElement("div",{className:"rcb-config-footer"},(0,l._i)((0,l.__)("Real Cookie Banner is brought to you with {{icon/}} by"),{icon:React.createElement(P.Z,{style:{color:"#dca7a7"}})}),React.createElement("a",{href:(0,l.__)("https://devowl.io/"),target:"_blank",rel:"noreferrer"},React.createElement("img",{src:"".concat(e,"images/logos/devowl-with-text.svg")})))}));var O=o(8700),E=o(2684),_=o(6),z=o(2208);const x={display:"block",marginTop:10},D=(e,t)=>({default:()=>React.createElement(O.SuspenseChunkTranslation,{chunkFile:o.u("chunk-config-tab-".concat(e)),options:()=>(0,c.m)().optionStore,fallback:React.createElement(i.Z,{spinning:!0,style:x})},t)}),T=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(414),o.e(544),o.e(85),o.e(932),o.e(637),o.e(379)]).then(o.bind(o,1429)).then((({DashboardCards:e})=>D("dashboard",React.createElement(e,null)))))),A=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(768)]).then(o.bind(o,5053)).then((({SettingsForm:e})=>D("settings",React.createElement(e,null)))))),M=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(81),o.e(793),o.e(466),o.e(474),o.e(737),o.e(578),o.e(3)]).then(o.bind(o,38)).then((({ScannerRouter:e})=>D("scanner",React.createElement(e,null)))))),I=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(544),o.e(466),o.e(853),o.e(932),o.e(718)]).then(o.bind(o,7248)).then((({CookieGroupsTabRouter:e})=>D("cookies",React.createElement(e,null)))))),j=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(414),o.e(466),o.e(474),o.e(625)]).then(o.bind(o,8687)).then((({ConsentTabRouter:e})=>D("consent",React.createElement(e,null)))))),B=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(793),o.e(544),o.e(85),o.e(932),o.e(637),o.e(478)]).then(o.bind(o,9069)).then((({BlockerRouter:e})=>D("blocker",React.createElement(e,null)))))),V=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(185),o.e(307),o.e(81),o.e(414),o.e(737),o.e(902),o.e(357)]).then(o.bind(o,8058)).then((({ImportExportCards:e})=>D("import",React.createElement(e,null)))))),N=(0,n.lazy)((()=>Promise.all([o.e(446),o.e(307),o.e(81),o.e(322)]).then(o.bind(o,3761)).then((({ConfigLicensing:e})=>D("licensing",React.createElement(e,null)))))),U=(0,s.Pi)((()=>{const{percent:e,remaining:t,currentJob:o}=(0,E.p)(),{optionStore:s,checklistStore:p}=(0,c.m)(),{others:{showLicenseFormImmediate:b,colorScheme:[,,y]}}=s;return(0,n.useLayoutEffect)((()=>{s.fetchSettings();const e=()=>{p.fetchChecklist()},t="".concat(_.JOB_DONE_EVENT_PREFIX).concat(z.b);return document.addEventListener(t,e),()=>{document.removeEventListener(t,e)}}),[]),(0,n.useEffect)((()=>{const e=document.getElementById("rcb-services-with-empty-privacy-policy-notice");!b&&e&&(e.style.display="block")}),[b]),b?React.createElement(n.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:x})},React.createElement(N,null)):React.createElement(a.HashRouter,null,React.createElement(R,null),React.createElement("nav",{className:"nav-tab-wrapper wp-clearfix"},React.createElement(a.NavLink,{to:"/",className:"nav-tab",activeClassName:"nav-tab-active",exact:!0},(0,l.__)("Dashboard")),React.createElement(a.NavLink,{to:"/settings",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Settings")),React.createElement(a.NavLink,{to:"/scanner",className:"nav-tab",activeClassName:"nav-tab-active"},t>0&&e>0&&(null==o?void 0:o.group_position)>0?React.createElement(r.Z,{count:"".concat(e," %"),style:{top:-11,fontSize:10,height:16,lineHeight:"16px",background:y}},(0,l.__)("Scanner")):(0,l.__)("Scanner")),React.createElement(a.NavLink,{to:"/cookies",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Services (Cookies)")),React.createElement(a.NavLink,{to:"/blocker",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Content Blocker")),React.createElement(a.NavLink,{to:"/consent",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Consent")),React.createElement(a.NavLink,{to:"/import",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Import / Export")),"try.devowl.io"!==window.location.host&&React.createElement(a.NavLink,{to:"/licensing",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Licensing")),React.createElement("a",{href:(0,l.__)("https://devowl.io/support/"),className:"nav-tab",target:"_blank",rel:"noreferrer"},(0,l.__)("Support"))),React.createElement(u,null),React.createElement(h,null),React.createElement(d,null),React.createElement(f,null),React.createElement(g,null),React.createElement(n.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:x})},React.createElement(a.Switch,null,React.createElement(a.Route,{path:"/",exact:!0},React.createElement(T,null)),React.createElement(a.Route,{path:"/settings/:tab?"},s.areSettingsFetched?React.createElement(A,null):null),React.createElement(a.Route,{path:"/scanner"},React.createElement(M,null)),React.createElement(a.Route,{path:"/cookies/:cookieGroup?"},React.createElement(I,null)),React.createElement(a.Route,{path:"/consent/:tab?"},React.createElement(j,null)),React.createElement(a.Route,{path:"/blocker"},React.createElement(B,null)),React.createElement(a.Route,{path:"/import"},React.createElement(V,null)),React.createElement(a.Route,{path:"/licensing"},React.createElement(N,null)))),React.createElement(S,null))}))},2411:(e,t,o)=>{o.d(t,{Q:()=>u,S:()=>h});var r=o(1063),i=o(9511),n=o(1246),s=o(3867),a=o(7363),l=o(9743),c=o(5217),p=o(1589);const u="promo=in-app",h=(0,s.Pi)((({style:e})=>{const{optionStore:{fomoCoupon:t}}=(0,l.m)(),o=null==t?void 0:t.coupon,s=null==t?void 0:t.valueInPercent,u=null==t?void 0:t.validUntil,h=(0,a.useCallback)((()=>{if(u){const e=new Date(u).getTime()-(new Date).getTime();if(e<=0)return;const t=e/1e3;return[Math.floor(t/3600),Math.floor(t/60)%60,Math.floor(t%60)].map((e=>e<10?"0".concat(e):e)).filter(((e,t)=>"00"!==e||t>0)).join(":")}}),[u]),[,b]=(0,a.useState)();(0,a.useEffect)((()=>{const e=setInterval((()=>{b((new Date).getTime())}),1e3);return()=>{clearInterval(e)}}),[]);const d=h();return d?React.createElement(r.Z,{style:e,message:(0,c._i)((0,c.__)("Use coupon {{tag}}%s{{/tag}} in the next {{strongHours}}%s hours{{/strongHours}} and save {{strongPercent}}%d %%{{/strongPercent}} in the first year!",o,d,s),{tag:React.createElement(i.Z,{color:"success",style:{marginRight:0,cursor:"pointer"},onClick:()=>{(0,p.v)(o),n.ZP.success((0,c.__)("Successfully copied coupon to clipboard!"))}}),strongHours:React.createElement("strong",{style:{color:"#d33131"}}),strongPercent:React.createElement("strong",null)})}):null}))},4251:(e,t,o)=>{o.d(t,{B:()=>u});var r=o(3751),i=o(7363),n=o(3541),s=o(9712),a=o(5217),l=o(2411),c=o(6178),p=o(8057);const u=({visible:e=!1,showHints:t=!0,showFomoCouponCounter:o=!0,title:u,testDrive:h=!1,assetName:b,description:d,feature:y,onClose:f,inContainer:m,inContainerElement:g})=>{const{proUrl:v,hints:w}=(0,s.u)(),[Z,k]=(0,i.useState)(),C=(0,i.useCallback)((()=>{window.open("".concat(v,"&feature=").concat(y,"&").concat(l.Q),"_blank").focus(),null==f||f()}),[f]);(0,i.useEffect)((()=>{m&&Z&&(null==Z?void 0:Z.parentElement.parentElement.previousElementSibling).removeAttribute("tabIndex")}),[Z]);const R=null==w?void 0:w.proDialog;return m&&!g?null:React.createElement(r.Z,{visible:!!m||e,title:React.createElement("span",null,React.createElement(n.Z,null)," ",u," ",(0,a.__)("Get PRO!")),onOk:C,onCancel:f,cancelText:(0,a.__)("No, not interested..."),okText:(0,a.__)("I want to learn more!"),className:"rcb-pro-modal",width:b?800:700,getContainer:m?g:void 0},!!b&&React.createElement("img",{style:{marginTop:10},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/".concat(b)}),React.createElement("div",{style:{maxWidth:600,margin:"auto"},ref:k},React.createElement("p",null,(0,p.E)(d)),h&&React.createElement("p",null,(0,a._i)((0,a.__)("Check out this feature with a {{a}}free sandbox{{/a}} before buying!"),{a:React.createElement("a",{href:(0,a.__)("https://try.devowl.io/?product=RCB"),target:"_blank",rel:"noreferrer"})}))),!!R&&t&&React.createElement("div",{style:{maxWidth:600,margin:"auto",textAlign:"left"}},React.createElement(c.j,R)),o&&React.createElement(l.S,{style:{marginBottom:15}}))}},6178:(e,t,o)=>{o.d(t,{j:()=>s});var r=o(7743),i=o(2605),n=o(3404);const s=({title:e,description:t,link:o,linkText:s,logo:a})=>React.createElement(React.Fragment,null,React.createElement(n.Z,null,e),React.createElement(r.Z,{wrap:!1,style:{marginBottom:10}},React.createElement(i.Z,{flex:"auto"},!!t&&React.createElement("p",{style:{margin:0}},React.createElement("span",{dangerouslySetInnerHTML:{__html:t}})," ",!!o&&!!s&&React.createElement("a",{href:o,target:"_blank",rel:"noreferrer",className:"button-link"},s))),React.createElement(i.Z,{flex:"150px",style:{alignSelf:"center"}},!!a&&React.createElement("img",{src:a,style:{maxWidth:"calc(100% - 20px)",height:"auto",marginLeft:20}}))))},1816:(e,t,o)=>{o.d(t,{k:()=>p,t:()=>u});var r=o(7465),i=o(9511),n=o(2465),s=o(5217),a=o(9743),l=o(7363),c=o(4251);const p="#2db7f5";function u(e,t){const[o,u]=(0,l.useState)(!1),{optionStore:{others:{isPro:h}}}=(0,a.m)(),b="boolean"==typeof t?t:h,d=(0,l.useCallback)((e=>{u(!0),null==e||e.preventDefault()}),[u]),y=(0,l.useMemo)((()=>b?null:React.createElement(i.Z,{icon:React.createElement(n.Z,null),color:p,style:{cursor:"pointer"},onClick:d},e.tagText||(0,s.__)("Unlock feature"))),[d,e]),f=(0,l.useMemo)((()=>b?null:React.createElement(c.B,(0,r.Z)({visible:o,onClose:()=>u(!1)},e))),[o,u,e]);return{isPro:b,tag:y,modal:f,open:d}}},2684:(e,t,o)=>{o.d(t,{p:()=>a});var r=o(6),i=o(7363),n=o(9743),s=o(2208);function a(e,t=!1,o){const{scannerStore:a}=(0,n.m)();return(0,r.useProgress)({type:s.u,fetchStatusInterval:e,fetchAdditionalData:t,onAdditionalData:(0,i.useCallback)((({"rcb-scan-list":e})=>{const{presets:t,externalUrls:o}=e;a.resultPresetsFromResponse(t),a.resultExternalUrlsFromResponse(o)}),[a]),onCancel:o})}},6613:(e,t,o)=>{o.d(t,{p:()=>d});var r,i,n,s,a,l,c,p=o(6921),u=o(9888),h=o(7821),b=o(490);let d=(r=class e{constructor(e,t){(0,p.Z)(this,"id",i,this),(0,p.Z)(this,"name",n,this),(0,p.Z)(this,"needsPro",s,this),(0,p.Z)(this,"description",a,this),(0,p.Z)(this,"tags",l,this),(0,p.Z)(this,"settings",c,this),this.store=void 0,this.resetPreviewInUiSettings=void 0,(0,h.runInAction)((()=>(0,h.set)(this,e))),this.store=t}static getIframeStore(){try{return document.querySelector("#customize-preview > iframe").contentWindow.realCookieBanner_customize_banner.RootStore.get}catch(e){return}}applyInUi(){return!(!this.store.rootStore.optionStore.others.isPro&&this.needsPro||(this.previewInUi(),setTimeout((()=>{const e=(0,b.getSidebarCustomize)();this.store.presetDefaults.forEach(((t,o)=>{e(o).set(void 0===this.settings[o]?t:this.settings[o])}))}),100),0))}previewInUi(){const t=(0,b.getSidebarCustomize)(),{presetDefaults:o}=this.store,{settings:r}=this.store.rootStore.optionStore.others.customizeIdsBanner,i=[];this.resetPreviewInUiSettings={};for(const e of Object.keys(r)){const n=r[e];for(const r of Object.keys(n)){const s=n[r];if(!o.has(s))continue;this.resetPreviewInUiSettings[s]=[e,r,t(s).get()];const a=Object.prototype.hasOwnProperty.call(this.settings,s)?this.settings[s]:o.get(s);i.push([e,r,a])}}e.getIframeStore().customizeBannerStore.setBannerFromPreset(i)}resetPreviewInUi(){this.resetPreviewInUiSettings&&(e.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings)),this.resetPreviewInUiSettings={})}},i=(0,u.Z)(r.prototype,"id",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,u.Z)(r.prototype,"name",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,u.Z)(r.prototype,"needsPro",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(r.prototype,"description",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,u.Z)(r.prototype,"tags",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,u.Z)(r.prototype,"settings",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)},8578:(e,t,o)=>{o.d(t,{R:()=>a});var r,i=o(8700),n=o(7669),s=o(3642);let a=i.ClientCollection.annotate({path:"/rcb-blocker",singlePath:"/rcb-blocker/:id",namespace:"wp/v2",methods:[i.RouteHttpVerb.GET],request:n.W})(r=class extends i.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new s.p(this).fromResponse(e)}})||r},3642:(e,t,o)=>{o.d(t,{p:()=>b});var r,i,n,s=o(6921),a=o(9888),l=o(8700),c=o(7669),p=o(6054),u=o(7821),h=o(9743);let b=l.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:c.W,create:{path:"/rcb-blocker"},patch:{path:"/rcb-blocker/:id"},delete:{path:"/rcb-blocker/:id"}})((i=class extends l.AbstractPost{get rules(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.rules.split("\n")}get tcfVendors(){var e;return null!==(e=this.data)&&void 0!==e&&e.meta.tcfVendors?this.data.meta.tcfVendors.split(",").filter(Boolean).map(Number):[]}get services(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.services.split(",").filter(Boolean).map(Number)}constructor(e,t={}){super(e,t),(0,s.Z)(this,"presetModel",n,this),(0,u.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,u.runInAction)((()=>{this.presetModel=e?new p.w(e,h.M.get.cookieStore):void 0}))),{fireImmediately:!0})}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setDescription(e){this.data.content.rendered=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,slug:e.title}}afterPatch(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},n=(0,a.Z)(i.prototype,"presetModel",[u.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(i.prototype,"rules",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"rules"),i.prototype),(0,a.Z)(i.prototype,"tcfVendors",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"tcfVendors"),i.prototype),(0,a.Z)(i.prototype,"services",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"services"),i.prototype),(0,a.Z)(i.prototype,"setName",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setName"),i.prototype),(0,a.Z)(i.prototype,"setStatus",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setStatus"),i.prototype),(0,a.Z)(i.prototype,"setDescription",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setDescription"),i.prototype),(0,a.Z)(i.prototype,"setMeta",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setMeta"),i.prototype),r=i))||r},6054:(e,t,o)=>{o.d(t,{w:()=>h});var r,i,n,s,a=o(6921),l=o(9888),c=o(7821),p=o(6406),u=o(7669);let h=(r=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",i,this),(0,a.Z)(this,"data",n,this),(0,a.Z)(this,"attributes",s,this),this.store=void 0,this.fetchAttributes=(0,c.flow)((function*(){try{this.busy=!0;const e=yield(0,u.W)({location:p.N,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,c.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,l.Z)(r.prototype,"busy",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,l.Z)(r.prototype,"data",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(r.prototype,"attributes",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(r.prototype,"fullLogoUrl",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"fullLogoUrl"),r.prototype),r)},97:(e,t,o)=>{o.d(t,{y:()=>I});var r,i,n,s,a,l,c,p,u,h,b,d,y,f,m,g,v,w,Z,k,C,R,P,S,O,E,_,z,x,D,T=o(6921),A=o(9888),M=o(7821);let I=(r=class{get revision(){return this.store.revisions.get(this.revision_hash)}get revision_independent(){return this.store.revisionsIndependent.get(this.revision_independent_hash)}get custom_bypass_readable(){const{custom_bypass:e}=this;return e?e.charAt(0).toUpperCase()+e.slice(1):""}get export(){return JSON.parse(JSON.stringify({...this.plain,revision:this.revision.data,revision_independent:this.revision_independent.data}))}constructor(e,t){(0,T.Z)(this,"id",i,this),(0,T.Z)(this,"plugin_version",n,this),(0,T.Z)(this,"design_version",s,this),(0,T.Z)(this,"ipv4",a,this),(0,T.Z)(this,"ipv6",l,this),(0,T.Z)(this,"ipv4_hash",c,this),(0,T.Z)(this,"ipv6_hash",p,this),(0,T.Z)(this,"uuid",u,this),(0,T.Z)(this,"previous_decision",h,this),(0,T.Z)(this,"decision",b,this),(0,T.Z)(this,"decision_labels",d,this),(0,T.Z)(this,"created",y,this),(0,T.Z)(this,"blocker",f,this),(0,T.Z)(this,"blocker_thumbnail",m,this),(0,T.Z)(this,"dnt",g,this),(0,T.Z)(this,"custom_bypass",v,this),(0,T.Z)(this,"user_country",w,this),(0,T.Z)(this,"revision_hash",Z,this),(0,T.Z)(this,"revision_independent_hash",k,this),(0,T.Z)(this,"button_clicked",C,this),(0,T.Z)(this,"context",R,this),(0,T.Z)(this,"viewport_width",P,this),(0,T.Z)(this,"viewport_height",S,this),(0,T.Z)(this,"viewed_page",O,this),(0,T.Z)(this,"url_imprint",E,this),(0,T.Z)(this,"url_privacy_policy",_,this),(0,T.Z)(this,"forwarded",z,this),(0,T.Z)(this,"forwarded_blocker",x,this),(0,T.Z)(this,"tcf_string",D,this),this.store=void 0,this.plain=void 0,(0,M.runInAction)((()=>(0,M.set)(this,e))),this.store=t,this.plain=e}fetchRevisions(){return Promise.all([this.store.fetchRevision({hash:this.revision_hash}),this.store.fetchRevisionIndependent({hash:this.revision_independent_hash})])}},i=(0,A.Z)(r.prototype,"id",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,A.Z)(r.prototype,"plugin_version",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,A.Z)(r.prototype,"design_version",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,A.Z)(r.prototype,"ipv4",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,A.Z)(r.prototype,"ipv6",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,A.Z)(r.prototype,"ipv4_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,A.Z)(r.prototype,"ipv6_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,A.Z)(r.prototype,"uuid",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=(0,A.Z)(r.prototype,"previous_decision",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=(0,A.Z)(r.prototype,"decision",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=(0,A.Z)(r.prototype,"decision_labels",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=(0,A.Z)(r.prototype,"created",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=(0,A.Z)(r.prototype,"blocker",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=(0,A.Z)(r.prototype,"blocker_thumbnail",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=(0,A.Z)(r.prototype,"dnt",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=(0,A.Z)(r.prototype,"custom_bypass",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=(0,A.Z)(r.prototype,"user_country",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=(0,A.Z)(r.prototype,"revision_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=(0,A.Z)(r.prototype,"revision_independent_hash",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,A.Z)(r.prototype,"button_clicked",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=(0,A.Z)(r.prototype,"context",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,A.Z)(r.prototype,"viewport_width",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,A.Z)(r.prototype,"viewport_height",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,A.Z)(r.prototype,"viewed_page",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,A.Z)(r.prototype,"url_imprint",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,A.Z)(r.prototype,"url_privacy_policy",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,A.Z)(r.prototype,"forwarded",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,A.Z)(r.prototype,"forwarded_blocker",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,A.Z)(r.prototype,"tcf_string",[M.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,A.Z)(r.prototype,"revision",[M.computed],Object.getOwnPropertyDescriptor(r.prototype,"revision"),r.prototype),(0,A.Z)(r.prototype,"revision_independent",[M.computed],Object.getOwnPropertyDescriptor(r.prototype,"revision_independent"),r.prototype),(0,A.Z)(r.prototype,"custom_bypass_readable",[M.computed],Object.getOwnPropertyDescriptor(r.prototype,"custom_bypass_readable"),r.prototype),r)},4620:(e,t,o)=>{o.d(t,{b:()=>u});var r,i,n=o(9888),s=o(8700),a=o(7669),l=o(2698),c=o(7821),p=o(8903);let u=s.ClientCollection.annotate({path:"/rcb-cookie",singlePath:"/rcb-cookie/:id",namespace:"wp/v2",methods:[s.RouteHttpVerb.GET],request:a.W})((i=class extends s.AbstractPostCollection{get sortedCookies(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.menu_order<t.data.menu_order?-1:e.data.menu_order>t.data.menu_order||e.key<t.key?1:e.key>t.key?-1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookies=(0,c.flow)((function*(e){this.busy=!0;try{yield(0,a.W)({location:p.I,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new l.U(this).fromResponse(e)}},(0,n.Z)(i.prototype,"sortedCookies",[c.computed],Object.getOwnPropertyDescriptor(i.prototype,"sortedCookies"),i.prototype),r=i))||r},8626:(e,t,o)=>{o.d(t,{w:()=>u});var r,i,n=o(9888),s=o(8700),a=o(7669),l=o(9532),c=o(7821),p=o(8067);let u=s.ClientCollection.annotate({path:"/rcb-cookie-group",singlePath:"/rcb-cookie-group/:id",namespace:"wp/v2",methods:[s.RouteHttpVerb.GET],request:a.W})((i=class extends s.AbstractCategoryCollection{get sortedGroups(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.meta.order<t.data.meta.order?-1:e.data.meta.order>t.data.meta.order?1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookieGroups=(0,c.flow)((function*(e){this.busy=!0;try{yield(0,a.W)({location:p.B,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new l.O(this).fromResponse(e)}},(0,n.Z)(i.prototype,"sortedGroups",[c.computed],Object.getOwnPropertyDescriptor(i.prototype,"sortedGroups"),i.prototype),r=i))||r},9532:(e,t,o)=>{o.d(t,{O:()=>b});var r,i,n,s,a=o(6921),l=o(9888),c=o(8700),p=o(7669),u=o(4620),h=o(7821);let b=c.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:p.W,create:{path:"/rcb-cookie-group"},patch:{path:"/rcb-cookie-group/:id"},delete:{path:"/rcb-cookie-group/:id"}})((i=class extends c.AbstractCategory{get cookiesCount(){return this.fetchedAllCookies?this.cookies.entries.size:this.data.count}constructor(e,t={}){super(e,t),(0,a.Z)(this,"cookies",n,this),(0,a.Z)(this,"fetchedAllCookies",s,this),this.fetchCookies=(0,h.flow)((function*(){yield this.cookies.get({request:{status:["draft","publish","private"]},params:{per_page:100,"rcb-cookie-group":this.key,context:"edit"}}),this.fetchedAllCookies=!0})),(0,h.runInAction)((()=>{this.cookies=new u.b(this)}))}setName(e){this.data.name=e}setDescription(e){this.data.description=e}setOrder(e){this.data.meta.order=e}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},n=(0,l.Z)(i.prototype,"cookies",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(i.prototype,"fetchedAllCookies",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,l.Z)(i.prototype,"cookiesCount",[h.computed],Object.getOwnPropertyDescriptor(i.prototype,"cookiesCount"),i.prototype),(0,l.Z)(i.prototype,"setName",[h.action],Object.getOwnPropertyDescriptor(i.prototype,"setName"),i.prototype),(0,l.Z)(i.prototype,"setDescription",[h.action],Object.getOwnPropertyDescriptor(i.prototype,"setDescription"),i.prototype),(0,l.Z)(i.prototype,"setOrder",[h.action],Object.getOwnPropertyDescriptor(i.prototype,"setOrder"),i.prototype),r=i))||r},2698:(e,t,o)=>{o.d(t,{U:()=>b});var r,i,n,s=o(6921),a=o(9888),l=o(8700),c=o(7669),p=o(1355),u=o(7821),h=o(9743);let b=l.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:c.W,create:{path:"/rcb-cookie"},patch:{path:"/rcb-cookie/:id"},delete:{path:"/rcb-cookie/:id"}})((i=class extends l.AbstractPost{get rootStore(){return this.collection.store.collection.store.rootStore}get technicalDefinitions(){return JSON.parse(this.data.meta.technicalDefinitions)}get codeDynamics(){return JSON.parse(this.data.meta.codeDynamics||"{}")}constructor(e,t={}){super(e,t),(0,s.Z)(this,"presetModel",n,this),this.store=void 0,(0,u.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,u.runInAction)((()=>{this.presetModel=e?new p.g(e,h.M.get.cookieStore):void 0}))),{fireImmediately:!0})}afterPatch(){const e=this.collection.store.collection,[t]=this.data["rcb-cookie-group"];e.entries.forEach((e=>{t!==e.key?e.cookies.entries.delete(this.key):e.cookies.entries.set(this.key,this)})),this.rootStore.optionStore.fetchCurrentRevision(),this.rootStore.cookieStore.unassignedCookies.delete(this.key)}setOrder(e){this.data.menu_order=e}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setPurpose(e){this.data.content.rendered=e}setGroup(e){this.data["rcb-cookie-group"]=[e]}setMeta(e){this.data.meta=e}transformDataForPersist(){return{...super.transformDataForPersist(),"rcb-cookie-group":[this.collection.store.key]}}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,menu_order:e.menu_order,"rcb-cookie-group":this.data["rcb-cookie-group"],slug:e.title}}afterDelete(){this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){const{optionStore:e,checklistStore:t}=this.collection.store.cookies.store.collection.store.rootStore;e.fetchCurrentRevision(),t.probablyFetchByChangedItem("add-cookie")}},n=(0,a.Z)(i.prototype,"presetModel",[u.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(i.prototype,"rootStore",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"rootStore"),i.prototype),(0,a.Z)(i.prototype,"technicalDefinitions",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"technicalDefinitions"),i.prototype),(0,a.Z)(i.prototype,"codeDynamics",[u.computed],Object.getOwnPropertyDescriptor(i.prototype,"codeDynamics"),i.prototype),(0,a.Z)(i.prototype,"afterPatch",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"afterPatch"),i.prototype),(0,a.Z)(i.prototype,"setOrder",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setOrder"),i.prototype),(0,a.Z)(i.prototype,"setName",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setName"),i.prototype),(0,a.Z)(i.prototype,"setStatus",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setStatus"),i.prototype),(0,a.Z)(i.prototype,"setPurpose",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setPurpose"),i.prototype),(0,a.Z)(i.prototype,"setGroup",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setGroup"),i.prototype),(0,a.Z)(i.prototype,"setMeta",[u.action],Object.getOwnPropertyDescriptor(i.prototype,"setMeta"),i.prototype),r=i))||r},1355:(e,t,o)=>{o.d(t,{g:()=>h});var r,i,n,s,a=o(6921),l=o(9888),c=o(7821),p=o(6364),u=o(7669);let h=(r=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",i,this),(0,a.Z)(this,"data",n,this),(0,a.Z)(this,"attributes",s,this),this.store=void 0,this.fetchAttributes=(0,c.flow)((function*(){try{this.busy=!0;const e=yield(0,u.W)({location:p.t,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,c.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,l.Z)(r.prototype,"busy",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,l.Z)(r.prototype,"data",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(r.prototype,"attributes",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(r.prototype,"fullLogoUrl",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"fullLogoUrl"),r.prototype),r)},6827:(e,t,o)=>{o.d(t,{k:()=>r});class r{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}},6213:(e,t,o)=>{o.d(t,{I:()=>r});class r{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}},1339:(e,t,o)=>{o.d(t,{o:()=>h});var r,i,n,s=o(6921),a=o(9888),l=o(7821),c=o(3943),p=o(5217),u=o(7669);let h=(r=class{get identifier(){return this.data.host}get inactive(){return"full"===this.blockedStatus||this.data.ignored}get blockedStatus(){const{foundCount:e,blockedCount:t}=this.data;return 0===t?"none":e===t?"full":"partial"}get blockedStatusText(){switch(this.blockedStatus){case"full":return(0,p.__)("Fully blocked");case"partial":return(0,p.__)("Partially blocked");default:return(0,p.__)("Not blocked")}}constructor(e,t){(0,s.Z)(this,"busy",i,this),(0,s.Z)(this,"data",n,this),this.store=void 0,this.ignore=(0,l.flow)((function*(e=!0){try{yield(0,u.W)({location:c.C,request:{ignored:e},params:{host:this.data.host.replace(/\./g,"_")}}),this.data.ignored=e}catch(e){throw console.log(e),e}})),(0,l.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,a.Z)(r.prototype,"busy",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(r.prototype,"identifier",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"identifier"),r.prototype),(0,a.Z)(r.prototype,"inactive",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"inactive"),r.prototype),(0,a.Z)(r.prototype,"blockedStatus",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockedStatus"),r.prototype),(0,a.Z)(r.prototype,"blockedStatusText",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockedStatusText"),r.prototype),r)},3792:(e,t,o)=>{o.d(t,{a:()=>p});var r,i,n,s=o(6921),a=o(9888),l=o(7821),c=o(8503);let p=(r=class{get markup(){return this.store.resultMarkup.get(this.data.id)}get blockedUrlTruncate(){return(0,c.r)(this.data.blockedUrl,50,"[...]")}get sourceUrlTruncate(){return(0,c.r)(this.data.sourceUrl,50,"[...]")}constructor(e,t){(0,s.Z)(this,"busy",i,this),(0,s.Z)(this,"data",n,this),this.store=void 0,this.fetchMarkup=(0,l.flow)((function*(){yield this.store.fetchMarkup(this.data.id)})),(0,l.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,a.Z)(r.prototype,"busy",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(r.prototype,"markup",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"markup"),r.prototype),(0,a.Z)(r.prototype,"blockedUrlTruncate",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockedUrlTruncate"),r.prototype),(0,a.Z)(r.prototype,"sourceUrlTruncate",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"sourceUrlTruncate"),r.prototype),r)},8318:(e,t,o)=>{o.d(t,{g:()=>h});var r,i,n,s,a=o(6921),l=o(9888),c=o(7821),p=o(7669),u=o(6406);let h=(r=class{get identifier(){return this.data.identifier}get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}get inactive(){return this.data.created}constructor(e,t){(0,a.Z)(this,"busy",i,this),(0,a.Z)(this,"data",n,this),(0,a.Z)(this,"attributes",s,this),this.store=void 0,this.fetchAttributes=(0,c.flow)((function*(){try{this.busy=!0;const e=yield(0,p.W)({location:u.N,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,c.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,l.Z)(r.prototype,"busy",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,l.Z)(r.prototype,"data",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,l.Z)(r.prototype,"attributes",[c.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(r.prototype,"identifier",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"identifier"),r.prototype),(0,l.Z)(r.prototype,"fullLogoUrl",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"fullLogoUrl"),r.prototype),(0,l.Z)(r.prototype,"inactive",[c.computed],Object.getOwnPropertyDescriptor(r.prototype,"inactive"),r.prototype),r)},1112:(e,t,o)=>{o.d(t,{i:()=>c});var r,i,n,s=o(6921),a=o(9888),l=o(7821);let c=(r=class{constructor(e,t,o){(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"special",n,this),this.store=void 0,(0,l.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},i=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,a.Z)(r.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)},8272:(e,t,o)=>{o.d(t,{v:()=>c});var r,i,n,s=o(6921),a=o(9888),l=o(7821);let c=(r=class{constructor(e,t,o){(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"special",n,this),this.store=void 0,(0,l.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},i=(0,a.Z)(r.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n=(0,a.Z)(r.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)},2515:(e,t,o)=>{o.d(t,{C:()=>c});var r,i,n=o(6921),s=o(9888),a=o(7821),l=o(7747);let c=(r=class{get vendorConfiguration(){for(const e of this.store.vendorConfigurations.entries.values())if(e.vendorModel.data.id===this.data.id)return e}get deviceStorageDisclosure(){const{usesCookies:e,cookieMaxAgeSeconds:t,cookieRefresh:o,usesNonCookieAccess:r,deviceStorageDisclosure:i}=this.data,n=null!=i&&i.disclosures.length?[...i.disclosures]:[];return r&&n.unshift({type:l.r.Web,identifier:"*",purposes:void 0,cookieRefresh:void 0,domain:"*",maxAgeSeconds:null}),e&&n.unshift({type:l.r.Cookie,identifier:"*",purposes:void 0,cookieRefresh:o,domain:"*",maxAgeSeconds:t}),n}get allPurposes(){return[...this.legIntPurposes,...this.purposes,...this.specialPurposes].filter(Boolean)}get allFeatures(){return[...this.features,...this.specialFeatures].filter(Boolean)}get restrictivePurposes(){const e={normal:{}};for(const t of[...this.legIntPurposes,...this.purposes])e.normal[t.data.id.toString()]={enabled:!0,legInt:this.legIntPurposes.indexOf(t)>-1&&!t.special?"yes":"no"};return e}get purposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.purposes.map((e=>this.store.purposes.get("".concat(e))))}get legIntPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.legIntPurposes.map((e=>this.store.purposes.get("".concat(e))))}get flexiblePurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.flexiblePurposes.map((e=>this.store.purposes.get("".concat(e))))}get specialPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialPurposes.map((e=>this.store.specialPurposes.get("".concat(e))))}get features(){var e;return null===(e=this.data)||void 0===e?void 0:e.features.map((e=>this.store.features.get("".concat(e))))}get specialFeatures(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialFeatures.map((e=>this.store.specialFeatures.get("".concat(e))))}constructor(e,t){(0,n.Z)(this,"data",i,this),this.store=void 0,(0,a.runInAction)((()=>{this.data=e})),this.store=t}},i=(0,s.Z)(r.prototype,"data",[a.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(r.prototype,"vendorConfiguration",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"vendorConfiguration"),r.prototype),(0,s.Z)(r.prototype,"deviceStorageDisclosure",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"deviceStorageDisclosure"),r.prototype),(0,s.Z)(r.prototype,"allPurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"allPurposes"),r.prototype),(0,s.Z)(r.prototype,"allFeatures",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"allFeatures"),r.prototype),(0,s.Z)(r.prototype,"restrictivePurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"restrictivePurposes"),r.prototype),(0,s.Z)(r.prototype,"purposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"purposes"),r.prototype),(0,s.Z)(r.prototype,"legIntPurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"legIntPurposes"),r.prototype),(0,s.Z)(r.prototype,"flexiblePurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"flexiblePurposes"),r.prototype),(0,s.Z)(r.prototype,"specialPurposes",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"specialPurposes"),r.prototype),(0,s.Z)(r.prototype,"features",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"features"),r.prototype),(0,s.Z)(r.prototype,"specialFeatures",[a.computed],Object.getOwnPropertyDescriptor(r.prototype,"specialFeatures"),r.prototype),r)},303:(e,t,o)=>{o.d(t,{C:()=>a});var r,i=o(8700),n=o(7669),s=o(9894);let a=i.ClientCollection.annotate({path:"/rcb-tcf-vendor-conf",singlePath:"/rcb-tcf-vendor-conf/:id",namespace:"wp/v2",methods:[i.RouteHttpVerb.GET],request:n.W})(r=class extends i.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new s.S(this).fromResponse(e)}})||r},9894:(e,t,o)=>{o.d(t,{S:()=>d});var r,i,n,s=o(6921),a=o(9888),l=o(8700),c=o(7669),p=o(7821),u=o(2515),h=o(5311),b=o.n(h);let d=l.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:c.W,create:{path:"/rcb-tcf-vendor-conf"},patch:{path:"/rcb-tcf-vendor-conf/:id"},delete:{path:"/rcb-tcf-vendor-conf/:id"}})((i=class extends l.AbstractPost{get hasVendor(){return!!this.vendorModel}get restrictivePurposes(){var e,t;const o="global"===this.collection.store.rootStore.optionStore.tcfScopeOfConsent,r=(null===(e=this.vendorModel)||void 0===e?void 0:e.restrictivePurposes)||{normal:{}};if(o)return r;const i=JSON.parse(this.data.meta.restrictivePurposes);return b().extend(!0,{},(null===(t=this.vendorModel)||void 0===t?void 0:t.restrictivePurposes)||{},i)}get stats(){var e;const{normal:t}=this.restrictivePurposes,o=[...Object.values(t)];return{activePurposes:o.filter((({enabled:e})=>e)).length,legIntPurposes:o.filter((({enabled:e,legInt:t})=>e&&"yes"===t)).length,activeFeatures:(null===(e=this.vendorModel)||void 0===e?void 0:e.allFeatures.length)||0}}constructor(e,t={}){super(e,t),(0,s.Z)(this,"vendorModel",n,this),(0,p.reaction)((()=>this.data.vendor),(e=>(0,p.runInAction)((()=>{if(e){const{vendors:t}=this.collection.store,o=e.id.toString();let r=t.get(o);r||(r=new u.C(e,this.collection.store),t.set(o,r)),this.vendorModel=r}}))),{fireImmediately:!0}),(0,p.reaction)((()=>{var e;return null===(e=this.data.meta)||void 0===e?void 0:e.vendorId}),(e=>{e&&(this.vendorModel=this.collection.store.vendors.get(e.toString()))}),{fireImmediately:!0})}setStatus(e){this.data.status=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{status:e.status,meta:e.meta}}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},n=(0,a.Z)(i.prototype,"vendorModel",[p.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(i.prototype,"hasVendor",[p.computed],Object.getOwnPropertyDescriptor(i.prototype,"hasVendor"),i.prototype),(0,a.Z)(i.prototype,"restrictivePurposes",[p.computed],Object.getOwnPropertyDescriptor(i.prototype,"restrictivePurposes"),i.prototype),(0,a.Z)(i.prototype,"stats",[p.computed],Object.getOwnPropertyDescriptor(i.prototype,"stats"),i.prototype),(0,a.Z)(i.prototype,"setStatus",[p.action],Object.getOwnPropertyDescriptor(i.prototype,"setStatus"),i.prototype),(0,a.Z)(i.prototype,"setMeta",[p.action],Object.getOwnPropertyDescriptor(i.prototype,"setMeta"),i.prototype),r=i))||r},9171:(e,t,o)=>{o.d(t,{L:()=>b});var r,i,n,s=o(6921),a=o(9888),l=o(7821),c=o(8700),p=o(2377),u=o(5654),h=o(7669);let b=(r=class extends c.BaseOptions{constructor(e){super(),(0,s.Z)(this,"busyChecklist",i,this),(0,s.Z)(this,"checklist",n,this),this.rootStore=void 0,this.probablyFetchByChangedItem=(0,l.flow)((function*(e,t){if(t)return void(yield this.fetchChecklist());const o=Array.isArray(e)?e:[e];this.items.filter((({id:e,checked:t})=>o.indexOf(e)>-1&&!t)).length>0&&(yield this.fetchChecklist())})),this.fetchChecklist=(0,l.flow)((function*(){this.busyChecklist=!0;try{this.checklist=yield(0,h.W)({location:p.g,params:{_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.toggleChecklistItem=(0,l.flow)((function*(e,t){this.busyChecklist=!0;try{this.checklist=yield(0,h.W)({location:u.s,request:{state:t},params:{id:e,_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.rootStore=e}get items(){return this.checklist&&Object.keys(this.checklist.items).map((e=>({id:e,...this.checklist.items[e]})))||[]}get completed(){return this.items.filter((({checked:e})=>e))}get checkable(){const{isPro:e}=this.rootStore.optionStore.others;return this.items.filter((({needsPro:t})=>!t||e&&t))}get done(){var e;return this.completed.length>=this.checkable.length||!(null===(e=this.checklist)||void 0===e||!e.dismissed)}},i=(0,a.Z)(r.prototype,"busyChecklist",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,a.Z)(r.prototype,"checklist",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,a.Z)(r.prototype,"items",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"items"),r.prototype),(0,a.Z)(r.prototype,"completed",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"completed"),r.prototype),(0,a.Z)(r.prototype,"checkable",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"checkable"),r.prototype),(0,a.Z)(r.prototype,"done",[l.computed],Object.getOwnPropertyDescriptor(r.prototype,"done"),r.prototype),r)},3721:(e,t,o)=>{o.d(t,{v:()=>O});var r,i,n,s,a,l,c,p,u,h,b,d=o(6921),y=o(9888),f=o(7821),m=o(8700),g=o(7669),v=o(8516),w=o(9560),Z=o(6521),k=o(8420),C=o(3612),R=o(97),P=o(6827),S=o(6213);let O=(r=class extends m.BaseOptions{constructor(e){super(),(0,d.Z)(this,"busyConsent",i,this),(0,d.Z)(this,"busyReferer",n,this),(0,d.Z)(this,"count",s,this),(0,d.Z)(this,"truncatedIpsCount",a,this),(0,d.Z)(this,"perPage",l,this),(0,d.Z)(this,"offset",c,this),(0,d.Z)(this,"pageCollection",p,this),(0,d.Z)(this,"revisions",u,this),(0,d.Z)(this,"revisionsIndependent",h,this),(0,d.Z)(this,"referer",b,this),this.filters=f.observable.object({page:1,dates:[void 0,void 0],context:void 0,referer:void 0,ip:void 0,uuid:void 0},{},{deep:!1}),this.rootStore=void 0,this.fetchAll=(0,f.flow)((function*(){this.busyConsent=!0;try{const{page:e,referer:t,ip:o,uuid:r,context:i}=this.filters,n=this.filters.dates.map((e=>e?e.format("YYYY-MM-DD"):"")),{count:s,truncatedIpsCount:a,items:l}=yield(0,g.W)({location:v.c,params:{per_page:this.perPage,offset:(e-1)*this.perPage,from:n[0],to:n[1],ip:o,uuid:r,referer:t,context:i}});this.count=s,this.truncatedIpsCount=a,this.pageCollection.clear();for(const e of l)this.pageCollection.set(e.id,new R.y(e,this))}catch(e){throw this.count=0,this.truncatedIpsCount=0,this.pageCollection.clear(),console.log(e),e}finally{this.busyConsent=!1}})),this.fetchRevision=(0,f.flow)((function*(e){try{const t=yield(0,g.W)({location:w.Z,params:e});this.revisions.set(e.hash,new P.k(t,this))}catch(e){throw console.log(e),e}})),this.fetchRevisionIndependent=(0,f.flow)((function*(e){try{const t=yield(0,g.W)({location:Z.T,params:e});this.revisionsIndependent.set(e.hash,new S.I(t,this))}catch(e){throw console.log(e),e}})),this.fetchReferer=(0,f.flow)((function*(e){this.busyReferer=!0;try{const t=yield(0,g.W)({location:k.q,params:e});this.referer=t.items}catch(e){throw console.log(e),e}finally{this.busyReferer=!1}})),this.deleteAll=(0,f.flow)((function*(){this.busyConsent=!0;try{yield(0,g.W)({location:C.O}),this.applyPage(0),yield this.fetchAll()}catch(e){throw console.log(e),e}finally{this.busyConsent=!1}})),this.rootStore=e,(0,f.runInAction)((()=>{this.filters.context=this.rootStore.optionStore.others.context}))}applyPage(e){this.filters.page=e}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}applyReferer(e){this.filters.referer=e}applyIp(e){this.filters.ip=e}applyUuid(e){this.filters.uuid=e}},i=(0,y.Z)(r.prototype,"busyConsent",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,y.Z)(r.prototype,"busyReferer",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,y.Z)(r.prototype,"count",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),a=(0,y.Z)(r.prototype,"truncatedIpsCount",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=(0,y.Z)(r.prototype,"perPage",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),c=(0,y.Z)(r.prototype,"offset",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),p=(0,y.Z)(r.prototype,"pageCollection",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),u=(0,y.Z)(r.prototype,"revisions",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),h=(0,y.Z)(r.prototype,"revisionsIndependent",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),b=(0,y.Z)(r.prototype,"referer",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,y.Z)(r.prototype,"applyPage",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyPage"),r.prototype),(0,y.Z)(r.prototype,"applyDates",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyDates"),r.prototype),(0,y.Z)(r.prototype,"applyContext",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyContext"),r.prototype),(0,y.Z)(r.prototype,"applyReferer",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyReferer"),r.prototype),(0,y.Z)(r.prototype,"applyIp",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyIp"),r.prototype),(0,y.Z)(r.prototype,"applyUuid",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"applyUuid"),r.prototype),r)},6649:(e,t,o)=>{o.d(t,{h:()=>R});var r,i,n,s,a,l,c,p,u,h,b=o(6921),d=o(9888),y=o(7821),f=o(6054),m=o(1355),g=o(8626),v=o(8578),w=o(3950),Z=o(8213),k=o(702),C=o(7669);let R=(r=class{get blockersCount(){return this.fetchedAllBlockers?this.blockers.entries.size:this.rootStore.optionStore.allBlockerCount}get cookiesCount(){return Array.from(this.groups.entries.values()).map((({cookiesCount:e})=>e)).reduce(((e,t)=>e+t),0)}constructor(e){(0,b.Z)(this,"busy",i,this),(0,b.Z)(this,"groups",n,this),(0,b.Z)(this,"unassignedCookies",s,this),(0,b.Z)(this,"blockers",a,this),(0,b.Z)(this,"presetsBlocker",l,this),(0,b.Z)(this,"busyPresetsBlocker",c,this),(0,b.Z)(this,"presetsCookie",p,this),(0,b.Z)(this,"busyPresetsCookie",u,this),(0,b.Z)(this,"fetchedAllBlockers",h,this),this.rootStore=void 0,this.fetchGroups=(0,y.flow)((function*(){yield this.groups.get({params:{per_page:100}}),yield this.fetchUnassignedCookies()})),this.fetchUnassignedCookies=(0,y.flow)((function*(){try{const e=yield(0,C.W)({location:w.p});for(const t of Object.values(e))this.unassignedCookies.set(t.id,t)}catch(e){throw console.log(e),e}})),this.fetchBlockers=(0,y.flow)((function*(){yield this.blockers.get({request:{status:["draft","publish","private"]},params:{per_page:100,context:"edit"}}),this.fetchedAllBlockers=!0})),this.fetchPresetsBlocker=(0,y.flow)((function*(){this.busyPresetsBlocker=!0;try{const{items:e}=yield(0,C.W)({location:Z.W});for(const t of Object.keys(e))this.presetsBlocker.set(t,new f.w(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsBlocker=!1}})),this.fetchPresetsCookie=(0,y.flow)((function*(){this.busyPresetsCookie=!0;try{const{items:e}=yield(0,C.W)({location:k.z});for(const t of Object.keys(e))this.presetsCookie.set(t,new m.g(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsCookie=!1}})),this.rootStore=e,(0,y.runInAction)((()=>{this.groups=new g.w(this),this.blockers=new v.R(this)}))}get essentialGroup(){if(0===this.groups.entries.size)return;const e=this.groups.entries.values();let t;for(;(t=e.next().value)&&t.data.slug!==this.rootStore.optionStore.others.essentialGroup;);return t}},i=(0,d.Z)(r.prototype,"busy",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,d.Z)(r.prototype,"groups",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,d.Z)(r.prototype,"unassignedCookies",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),a=(0,d.Z)(r.prototype,"blockers",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,d.Z)(r.prototype,"presetsBlocker",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),c=(0,d.Z)(r.prototype,"busyPresetsBlocker",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=(0,d.Z)(r.prototype,"presetsCookie",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),u=(0,d.Z)(r.prototype,"busyPresetsCookie",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),h=(0,d.Z)(r.prototype,"fetchedAllBlockers",[y.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,d.Z)(r.prototype,"blockersCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"blockersCount"),r.prototype),(0,d.Z)(r.prototype,"cookiesCount",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"cookiesCount"),r.prototype),(0,d.Z)(r.prototype,"essentialGroup",[y.computed],Object.getOwnPropertyDescriptor(r.prototype,"essentialGroup"),r.prototype),r)},8943:(e,t,o)=>{o.d(t,{W:()=>m});var r,i,n,s,a,l,c,p=o(6921),u=o(9888),h=o(7821),b=o(8172),d=o(7669),y=o(6613),f=o(490);let m=(r=class{constructor(e){(0,p.Z)(this,"visible",i,this),(0,p.Z)(this,"animationVisible",n,this),(0,p.Z)(this,"individualPrivacyOpen",s,this),(0,p.Z)(this,"previewCheckboxActiveState",a,this),(0,p.Z)(this,"busyPresets",l,this),(0,p.Z)(this,"presets",c,this),this.rootStore=void 0,this.presetConstants=new Map,this.presetDefaults=new Map,this.debounceFromCustomize={},this.fetchPresets=(0,h.flow)((function*(){this.busyPresets=!0;try{const{defaults:e,constants:t,items:o}=yield(0,d.W)({location:b.t});for(const t of Object.keys(e))this.presetDefaults.set(t,e[t]);for(const e of Object.keys(t))this.presetConstants.set(e,t[e]);for(const e of Object.keys(o))this.presets.set(e,new y.p({id:e,...o[e]},this))}catch(e){throw console.log(e),e}finally{this.busyPresets=!1}})),this.rootStore=e}setBannerFromCustomize(e,t,o,r=!0){const{customizeValuesBanner:i}=this.rootStore.optionStore.others,n=t.toString();if(r&&["css","animationInDuration","animationOutDuration"].indexOf(n)>-1)clearTimeout(this.debounceFromCustomize[n]),this.debounceFromCustomize[n]=setTimeout((()=>this.setBannerFromCustomize(e,t,o,!1)),500);else{const r=i[e][t];i[e][t]=o,n.startsWith("animationOut")&&r!==o&&this.forceAnimationOutSimulation()}}setBannerFromPreset(e){for(const t of e){const[e,o,r]=t;this.rootStore.optionStore.others.customizeValuesBanner[e][o]=r}}forceAnimationOutSimulation(){const{customizeValuesBanner:e}=this.rootStore.optionStore.others;"none"!==e.layout.animationOut&&(this.animationVisible=!1,setTimeout((()=>(0,h.runInAction)((()=>{this.animationVisible=!0}))),+e.layout.animationOutDuration+1e3))}setVisible(e){this.visible=e}setIndividualPrivacyOpen(e){this.individualPrivacyOpen=e}setPreviewCheckboxActiveState(e){this.previewCheckboxActiveState=e}exportPhp(){const e={},t=(0,f.getSidebarCustomize)();return this.presetDefaults.forEach(((o,r)=>{let i=t(r).get();"boolean"==typeof o?i=!!+i:isNaN(i)||""===i||(i=+i),JSON.stringify(o)!==JSON.stringify(i)&&(e[this.presetConstants.get(r)]=i)})),this.jsonToPHPArray(e)}jsonToPHPArray(e){const t=JSON.stringify(e,null,4).split("\n");return t.shift(),t.pop(),t.join("\n").replace(/^(\s+)"([A-Za-z\\]+::[A-Z_]+)"(:)/gm,"$1$2 =>").replace(/^(\s+)([A-Za-z\\]+)::/gm,((e,t,o)=>"".concat(t).concat(o.replace(/\\\\/gm,"\\"),"::")))}},i=(0,u.Z)(r.prototype,"visible",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,u.Z)(r.prototype,"animationVisible",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),s=(0,u.Z)(r.prototype,"individualPrivacyOpen",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,u.Z)(r.prototype,"previewCheckboxActiveState",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,u.Z)(r.prototype,"busyPresets",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=(0,u.Z)(r.prototype,"presets",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,u.Z)(r.prototype,"setBannerFromCustomize",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setBannerFromCustomize"),r.prototype),(0,u.Z)(r.prototype,"setBannerFromPreset",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setBannerFromPreset"),r.prototype),(0,u.Z)(r.prototype,"forceAnimationOutSimulation",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"forceAnimationOutSimulation"),r.prototype),(0,u.Z)(r.prototype,"setVisible",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setVisible"),r.prototype),(0,u.Z)(r.prototype,"setIndividualPrivacyOpen",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setIndividualPrivacyOpen"),r.prototype),(0,u.Z)(r.prototype,"setPreviewCheckboxActiveState",[h.action],Object.getOwnPropertyDescriptor(r.prototype,"setPreviewCheckboxActiveState"),r.prototype),r)},8919:(e,t,o)=>{o.d(t,{Cu:()=>u.C,L_:()=>c.L,My:()=>r.M,WS:()=>n.W,aZ:()=>i.a,et:()=>l.e,hc:()=>s.h,mZ:()=>r.m,v:()=>a.v,z:()=>p.z});var r=o(9743),i=o(2654),n=o(8943),s=o(6649),a=o(3721),l=o(6484),c=o(9171),p=o(2793),u=o(1637)},2654:(e,t,o)=>{o.d(t,{a:()=>me});var r,i,n,s,a,l,c,p,u,h,b,d,y,f,m,g,v,w,Z,k,C,R,P,S,O,E,_,z,x,D,T,A,M,I,j,B,V,N,U,G,F,W,L,H,q,Q,Y,J,$,X,K,ee,te,oe,re=o(6921),ie=o(9888),ne=o(7821),se=o(8700),ae=o(5391),le=o(1211),ce=o(4791),pe=o(1734),ue=o(4474),he=o(9190),be=o(1515),de=o(648),ye=o(7669),fe=o(6265);let me=(r=class extends se.BaseOptions{get isOnlyRcbCookieCreated(){return!(1!==this.allCookieCount||this.tcf&&this.allTcfVendorConfigurationCount)}get areSettingsFetched(){return void 0!==this.respectDoNotTrack}constructor(e){super(),(0,re.Z)(this,"busySettings",i,this),(0,re.Z)(this,"busyCountryBypassUpdate",n,this),(0,re.Z)(this,"busyAddLinksToNavigationMenu",s,this),(0,re.Z)(this,"needsRevisionRetrigger",a,this),(0,re.Z)(this,"publicCookieCount",l,this),(0,re.Z)(this,"allCookieCount",c,this),(0,re.Z)(this,"allBlockerCount",p,this),(0,re.Z)(this,"allTcfVendorConfigurationCount",u,this),(0,re.Z)(this,"allScannerResultPresetsCount",h,this),(0,re.Z)(this,"allScannerResultExternalUrlsCount",b,this),(0,re.Z)(this,"cookieCounts",d,this),(0,re.Z)(this,"nav_menus",y,this),(0,re.Z)(this,"tcfVendorConfigurationCounts",f,this),(0,re.Z)(this,"isScanAgainNoticeActive",m,this),(0,re.Z)(this,"hasManager",g,this),(0,re.Z)(this,"contexts",v,this),(0,re.Z)(this,"dashboardMigration",w,this),(0,re.Z)(this,"fomoCoupon",Z,this),(0,re.Z)(this,"bannerActive",k,this),(0,re.Z)(this,"blockerActive",C,this),(0,re.Z)(this,"imprintId",R,this),(0,re.Z)(this,"imprintExternalUrl",P,this),(0,re.Z)(this,"imprintIsExternalUrl",S,this),(0,re.Z)(this,"privacyPolicyId",O,this),(0,re.Z)(this,"privacyPolicyExternalUrl",E,this),(0,re.Z)(this,"privacyPolicyIsExternalUrl",_,this),(0,re.Z)(this,"hidePageIds",z,this),(0,re.Z)(this,"setCookiesViaManager",x,this),(0,re.Z)(this,"acceptAllForBots",D,this),(0,re.Z)(this,"respectDoNotTrack",T,this),(0,re.Z)(this,"cookieDuration",A,this),(0,re.Z)(this,"saveIp",M,this),(0,re.Z)(this,"ePrivacyUSA",I,this),(0,re.Z)(this,"ageNotice",j,this),(0,re.Z)(this,"listServicesNotice",B,this),(0,re.Z)(this,"consentForwarding",V,this),(0,re.Z)(this,"forwardTo",N,this),(0,re.Z)(this,"crossDomains",U,this),(0,re.Z)(this,"affiliateLink",G,this),(0,re.Z)(this,"affiliateLabelBehind",F,this),(0,re.Z)(this,"affiliateLabelDescription",W,this),(0,re.Z)(this,"countryBypass",L,this),(0,re.Z)(this,"countryBypassCountries",H,this),(0,re.Z)(this,"countryBypassType",q,this),(0,re.Z)(this,"countryBypassDbDownloadTime",Q,this),(0,re.Z)(this,"tcf",Y,this),(0,re.Z)(this,"tcfPublisherCc",J,this),(0,re.Z)(this,"tcfAcceptedTime",$,this),(0,re.Z)(this,"tcfGvlDownloadTime",X,this),(0,re.Z)(this,"tcfScopeOfConsent",K,this),(0,re.Z)(this,"consentDuration",ee,this),(0,re.Z)(this,"consentsDeletedAt",te,this),(0,re.Z)(this,"others",oe,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.fetchSettings=(0,ne.flow)((function*(e){this.busySettings=!0;try{const t=e||(yield(0,ye.W)({location:ae.g}));this.bannerActive=t["rcb-banner-active"],this.blockerActive=t["rcb-blocker-active"],this.imprintId=t["rcb-banner-legal-imprint"],this.imprintExternalUrl=t["rcb-banner-legal-imprint-external-url"],this.imprintIsExternalUrl=t["rcb-banner-legal-imprint-is-external-url"],this.privacyPolicyId=t["rcb-banner-legal-privacy-policy"],this.privacyPolicyExternalUrl=t["rcb-banner-legal-privacy-policy-external-url"],this.privacyPolicyIsExternalUrl=t["rcb-banner-legal-privacy-policy-is-external-url"],this.hidePageIds=(t["rcb-hide-page-ids"]||"").split(",").map(Number).filter(Boolean),this.setCookiesViaManager=t["rcb-set-cookies-via-manager"]||"none",this.acceptAllForBots=t["rcb-accept-all-for-bots"],this.respectDoNotTrack=t["rcb-respect-do-not-track"],this.cookieDuration=t["rcb-cookie-duration"],this.saveIp=t["rcb-save-ip"],this.ePrivacyUSA=t["rcb-eprivacy-usa"],this.ageNotice=t["rcb-age-notice"],this.listServicesNotice=t["rcb-list-services-notice"],this.consentForwarding=t["rcb-consent-forwarding"]||!1,this.forwardTo=(t["rcb-forward-to"]||"").split("|").filter(Boolean),this.crossDomains=t["rcb-cross-domains"]||"",this.countryBypass=t["rcb-country-bypass"],this.countryBypassCountries=(t["rcb-country-bypass-countries"]||"").split(",").filter(Boolean),this.countryBypassType=t["rcb-country-bypass-type"],this.countryBypassDbDownloadTime=t["rcb-country-bypass-db-download-time"],this.tcf=t["rcb-tcf"],this.tcfPublisherCc=t["rcb-tcf-publisher-cc"],this.tcfAcceptedTime=t["rcb-tcf-accepted-time"],this.tcfGvlDownloadTime=t["rcb-tcf-gvl-download-time"],this.tcfScopeOfConsent=t["rcb-tcf-scope-of-consent"],this.consentDuration=t["rcb-consent-duration"],yield this.fetchCurrentRevision()}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateSettings=(0,ne.flow)((function*({bannerActive:e,blockerActive:t,imprintId:o,privacyPolicyId:r,hidePageIds:i,setCookiesViaManager:n,acceptAllForBots:s,respectDoNotTrack:a,cookieDuration:l,saveIp:c,ePrivacyUSA:p,ageNotice:u,listServicesNotice:h,consentForwarding:b,forwardTo:d,crossDomains:y,affiliateLink:f,affiliateLabelBehind:m,affiliateLabelDescription:g,countryBypass:v,countryBypassCountries:w,countryBypassType:Z,tcf:k,tcfPublisherCc:C,tcfScopeOfConsent:R,consentDuration:P}){this.busySettings=!0;try{const f=yield(0,ye.W)({location:le.J,request:{...void 0===e?{}:{"rcb-banner-active":e},...void 0===t?{}:{"rcb-blocker-active":t},...void 0===o?{}:{"rcb-banner-legal-imprint":o},...void 0===r?{}:{"rcb-banner-legal-privacy-policy":r},...void 0===i?{}:{"rcb-hide-page-ids":i.join(",")},...void 0===n?{}:{"rcb-set-cookies-via-manager":n},...void 0===s?{}:{"rcb-accept-all-for-bots":s},...void 0===a?{}:{"rcb-respect-do-not-track":a},...void 0===l?{}:{"rcb-cookie-duration":l},...void 0===c?{}:{"rcb-save-ip":c},...void 0===p?{}:{"rcb-eprivacy-usa":p},...void 0===u?{}:{"rcb-age-notice":u},...void 0===h?{}:{"rcb-list-services-notice":h},...void 0===b?{}:{"rcb-consent-forwarding":b},...void 0===d?{}:{"rcb-forward-to":d.join("|")},...void 0===y?{}:{"rcb-cross-domains":y},...void 0===v?{}:{"rcb-country-bypass":v},...void 0===w?{}:{"rcb-country-bypass-countries":w.join(",")},...void 0===Z?{}:{"rcb-country-bypass-type":Z},...void 0===k?{}:{"rcb-tcf":k},...void 0===C?{}:{"rcb-tcf-publisher-cc":C},...void 0===R?{}:{"rcb-tcf-scope-of-consent":R},...void 0===P?{}:{"rcb-consent-duration":P}}});this.fetchSettings(f),this.rootStore.checklistStore.probablyFetchByChangedItem(["save-settings","activate-banner","privacy-policy"])}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.fetchCurrentRevision=(0,ne.flow)((function*(){this.busySettings=!0;try{this.setFromCurrentRevision(yield(0,ye.W)({location:ce.G}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateCurrentRevision=(0,ne.flow)((function*(e){this.busySettings=!0;try{this.setFromCurrentRevision(yield(0,ye.W)({location:pe.a,request:e}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.setModalHintSeen=(0,ne.flow)((function*(e){this.busySettings=!0;try{this.others.modalHints.push(e),yield(0,ye.W)({location:fe.C,request:{identifier:e}})}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.dismissConfigProNotice=(0,ne.flow)((function*(){try{this.others.isConfigProNoticeVisible=!1,yield(0,ye.W)({location:ue.n})}catch(e){throw console.log(e),e}})),this.dismissMigration=(0,ne.flow)((function*(){try{const{id:e}=this.dashboardMigration;this.dashboardMigration=void 0,yield(0,ye.W)({location:he.o,params:{migration:e}})}catch(e){throw console.log(e),e}})),this.addLinksToNavigationMenu=(0,ne.flow)((function*(e){this.busyAddLinksToNavigationMenu=!0;try{const{success:t}=yield(0,ye.W)({location:be.i,request:{id:e}});return t&&(this.rootStore.checklistStore.fetchChecklist(),yield this.fetchCurrentRevision()),t}catch(e){throw console.log(e),e}finally{this.busyAddLinksToNavigationMenu=!1}})),this.updateCountryBypassDatabase=(0,ne.flow)((function*(){this.busyCountryBypassUpdate=!0;try{const{dbDownloadTime:e}=yield(0,ye.W)({location:de._});this.countryBypassDbDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyCountryBypassUpdate=!1}})),this.rootStore=e,this.pureSlug=se.BaseOptions.getPureSlug("real-cookie-banner"),this.pureSlugCamelCased=se.BaseOptions.getPureSlug("real-cookie-banner",!0),(0,ne.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}setFromCurrentRevision({contexts:e,has_manager:t,needs_retrigger:o,public_cookie_count:r,all_cookie_count:i,all_blocker_count:n,all_tcf_vendor_configuration_count:s,all_scanner_result_presets_count:a,all_scanner_result_external_urls_count:l,cookie_counts:c,consents_deleted_at:p,nav_menus:u,tcf_vendor_configuration_counts:h,dashboard_migration:b,fomo_coupon:d,scan_again_notice_active:y}){this.hasManager=t,this.needsRevisionRetrigger=o,this.publicCookieCount=r,this.allCookieCount=i,this.allBlockerCount=n,this.allTcfVendorConfigurationCount=s,this.allScannerResultPresetsCount=a,this.allScannerResultExternalUrlsCount=l,this.isScanAgainNoticeActive=y,this.cookieCounts=c,this.consentsDeletedAt=p,this.nav_menus=u,this.tcfVendorConfigurationCounts=h,this.contexts=e,this.dashboardMigration=b,this.fomoCoupon=d}setShowLicenseFormImmediate(e,t){this.others.showLicenseFormImmediate=e,this.others.isLicensed=t}},i=(0,ie.Z)(r.prototype,"busySettings",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,ie.Z)(r.prototype,"busyCountryBypassUpdate",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,ie.Z)(r.prototype,"busyAddLinksToNavigationMenu",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,ie.Z)(r.prototype,"needsRevisionRetrigger",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,ie.Z)(r.prototype,"publicCookieCount",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),c=(0,ie.Z)(r.prototype,"allCookieCount",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),p=(0,ie.Z)(r.prototype,"allBlockerCount",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=(0,ie.Z)(r.prototype,"allTcfVendorConfigurationCount",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),h=(0,ie.Z)(r.prototype,"allScannerResultPresetsCount",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),b=(0,ie.Z)(r.prototype,"allScannerResultExternalUrlsCount",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),d=(0,ie.Z)(r.prototype,"cookieCounts",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{draft:0,private:0,publish:0}}}),y=(0,ie.Z)(r.prototype,"nav_menus",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),f=(0,ie.Z)(r.prototype,"tcfVendorConfigurationCounts",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=(0,ie.Z)(r.prototype,"isScanAgainNoticeActive",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=(0,ie.Z)(r.prototype,"hasManager",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),v=(0,ie.Z)(r.prototype,"contexts",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{"":""}}}),w=(0,ie.Z)(r.prototype,"dashboardMigration",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=(0,ie.Z)(r.prototype,"fomoCoupon",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=(0,ie.Z)(r.prototype,"bannerActive",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=(0,ie.Z)(r.prototype,"blockerActive",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),R=(0,ie.Z)(r.prototype,"imprintId",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,ie.Z)(r.prototype,"imprintExternalUrl",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,ie.Z)(r.prototype,"imprintIsExternalUrl",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,ie.Z)(r.prototype,"privacyPolicyId",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,ie.Z)(r.prototype,"privacyPolicyExternalUrl",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,ie.Z)(r.prototype,"privacyPolicyIsExternalUrl",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,ie.Z)(r.prototype,"hidePageIds",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,ie.Z)(r.prototype,"setCookiesViaManager",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,ie.Z)(r.prototype,"acceptAllForBots",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,ie.Z)(r.prototype,"respectDoNotTrack",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,ie.Z)(r.prototype,"cookieDuration",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=(0,ie.Z)(r.prototype,"saveIp",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,ie.Z)(r.prototype,"ePrivacyUSA",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,ie.Z)(r.prototype,"ageNotice",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,ie.Z)(r.prototype,"listServicesNotice",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,ie.Z)(r.prototype,"consentForwarding",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,ie.Z)(r.prototype,"forwardTo",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=(0,ie.Z)(r.prototype,"crossDomains",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,ie.Z)(r.prototype,"affiliateLink",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,ie.Z)(r.prototype,"affiliateLabelBehind",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=(0,ie.Z)(r.prototype,"affiliateLabelDescription",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,ie.Z)(r.prototype,"countryBypass",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,ie.Z)(r.prototype,"countryBypassCountries",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,ie.Z)(r.prototype,"countryBypassType",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,ie.Z)(r.prototype,"countryBypassDbDownloadTime",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,ie.Z)(r.prototype,"tcf",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,ie.Z)(r.prototype,"tcfPublisherCc",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,ie.Z)(r.prototype,"tcfAcceptedTime",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,ie.Z)(r.prototype,"tcfGvlDownloadTime",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,ie.Z)(r.prototype,"tcfScopeOfConsent",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,ie.Z)(r.prototype,"consentDuration",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,ie.Z)(r.prototype,"consentsDeletedAt",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),oe=(0,ie.Z)(r.prototype,"others",[ne.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,ie.Z)(r.prototype,"isOnlyRcbCookieCreated",[ne.computed],Object.getOwnPropertyDescriptor(r.prototype,"isOnlyRcbCookieCreated"),r.prototype),(0,ie.Z)(r.prototype,"areSettingsFetched",[ne.computed],Object.getOwnPropertyDescriptor(r.prototype,"areSettingsFetched"),r.prototype),(0,ie.Z)(r.prototype,"setFromCurrentRevision",[ne.action],Object.getOwnPropertyDescriptor(r.prototype,"setFromCurrentRevision"),r.prototype),(0,ie.Z)(r.prototype,"setShowLicenseFormImmediate",[ne.action],Object.getOwnPropertyDescriptor(r.prototype,"setShowLicenseFormImmediate"),r.prototype),r)},1637:(e,t,o)=>{o.d(t,{C:()=>O});var r,i,n,s,a,l,c,p,u,h,b,d=o(6921),y=o(9888),f=o(7821),m=o(1339),g=o(3792),v=o(8318),w=o(7669),Z=o(2115),k=o(9601),C=o(5593),R=o(6372),P=o(7244),S=o(4089);let O=(r=class{get sortedExternalUrls(){const e=Array.from(this.resultExternalUrls.values());return e.sort(((e,t)=>e.inactive===t.inactive?0:e.inactive?1:-1)),e}get presetsCount(){return this.fetchedAllResultPresets?this.resultPresets.size:this.rootStore.optionStore.allScannerResultPresetsCount}get externalUrlsCount(){return this.fetchedAllResultExternalUrls?this.resultExternalUrls.size:this.rootStore.optionStore.allScannerResultExternalUrlsCount}get canShowResults(){var e;return this.presetsCount+this.externalUrlsCount>0&&(null===(e=this.rootStore.checklistStore.checklist)||void 0===e?void 0:e.items.scanner.checked)}get foundScanResultsCount(){return this.resultPresets.size+this.resultExternalUrls.size}get needsAttentionCount(){return[...this.resultPresets.values(),...this.resultExternalUrls.values()].filter((({inactive:e})=>!e)).length}constructor(e){(0,d.Z)(this,"resultPresets",i,this),(0,d.Z)(this,"busyResultPresets",n,this),(0,d.Z)(this,"fetchedAllResultPresets",s,this),(0,d.Z)(this,"resultExternalUrls",a,this),(0,d.Z)(this,"resultAllExternalUrls",l,this),(0,d.Z)(this,"busyExternalUrls",c,this),(0,d.Z)(this,"fetchedAllResultExternalUrls",p,this),(0,d.Z)(this,"busyMarkup",u,this),(0,d.Z)(this,"resultMarkup",h,this),this.rootStore=void 0,this.addUrlsToQueue=(0,f.flow)((function*(e){return yield(0,w.W)({location:Z.k,request:e})})),this.fetchResultPresets=(0,f.flow)((function*(){this.busyResultPresets=!0;try{this.resultPresetsFromResponse(yield(0,w.W)({location:k.e})),this.fetchedAllResultPresets=!0}catch(e){throw console.log(e),e}finally{this.busyResultPresets=!1}})),this.fetchResultExternals=(0,f.flow)((function*(){this.busyExternalUrls=!0;try{this.resultExternalUrlsFromResponse(yield(0,w.W)({location:C.M})),this.fetchedAllResultExternalUrls=!0}catch(e){throw console.log(e),e}finally{this.busyExternalUrls=!1}})),this.fetchResultAllExternals=(0,f.flow)((function*(e){const t=e instanceof m.o?"host":"preset",{identifier:o}=e;e.busy=!0;try{const{items:r}=yield(0,w.W)({location:R.M,params:{type:t,identifier:"host"===t?o.replace(/\./g,"_"):o}});let i=this.resultAllExternalUrls.get(o);if(i){const e=r.map((({id:e})=>e));for(const t of i.keys())-1===e.indexOf(t)&&i.delete(t)}else i=new Map;for(const e of Object.values(r))i.set(e.id,new g.a(e,this)),this.resultAllExternalUrls.set(o,i)}catch(e){throw console.log(e),e}finally{e.busy=!1}})),this.fetchMarkup=(0,f.flow)((function*(e){this.busyMarkup=!0;try{const t=yield(0,w.W)({location:P.$,params:{id:e}});this.resultMarkup.set(e,t)}catch(e){throw console.log(e),e}finally{this.busyMarkup=!1}})),(0,d.Z)(this,"dismissNotice",b,this),this.rootStore=e}resultPresetsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultPresets.keys())-1===t.indexOf(e)&&this.resultPresets.delete(e);for(const o of t)this.resultPresets.set(o,new v.g(e[o],this))}resultExternalUrlsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultExternalUrls.keys())-1===t.indexOf(e)&&this.resultExternalUrls.delete(e);for(const o of t)this.resultExternalUrls.set(o,new m.o(e[o],this))}},i=(0,y.Z)(r.prototype,"resultPresets",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),n=(0,y.Z)(r.prototype,"busyResultPresets",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,y.Z)(r.prototype,"fetchedAllResultPresets",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,y.Z)(r.prototype,"resultExternalUrls",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),l=(0,y.Z)(r.prototype,"resultAllExternalUrls",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),c=(0,y.Z)(r.prototype,"busyExternalUrls",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=(0,y.Z)(r.prototype,"fetchedAllResultExternalUrls",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),u=(0,y.Z)(r.prototype,"busyMarkup",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),h=(0,y.Z)(r.prototype,"resultMarkup",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,y.Z)(r.prototype,"sortedExternalUrls",[f.computed],Object.getOwnPropertyDescriptor(r.prototype,"sortedExternalUrls"),r.prototype),(0,y.Z)(r.prototype,"presetsCount",[f.computed],Object.getOwnPropertyDescriptor(r.prototype,"presetsCount"),r.prototype),(0,y.Z)(r.prototype,"externalUrlsCount",[f.computed],Object.getOwnPropertyDescriptor(r.prototype,"externalUrlsCount"),r.prototype),(0,y.Z)(r.prototype,"canShowResults",[f.computed],Object.getOwnPropertyDescriptor(r.prototype,"canShowResults"),r.prototype),(0,y.Z)(r.prototype,"foundScanResultsCount",[f.computed],Object.getOwnPropertyDescriptor(r.prototype,"foundScanResultsCount"),r.prototype),(0,y.Z)(r.prototype,"needsAttentionCount",[f.computed],Object.getOwnPropertyDescriptor(r.prototype,"needsAttentionCount"),r.prototype),(0,y.Z)(r.prototype,"resultPresetsFromResponse",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"resultPresetsFromResponse"),r.prototype),(0,y.Z)(r.prototype,"resultExternalUrlsFromResponse",[f.action],Object.getOwnPropertyDescriptor(r.prototype,"resultExternalUrlsFromResponse"),r.prototype),b=(0,y.Z)(r.prototype,"dismissNotice",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,f.flow)((function*(e){try{const{success:t}=yield(0,w.W)({location:S.r,request:{notice_type:e}});return t&&"toggle-plugin-state"===e&&(this.isScanAgainNoticeActive=!1),t}catch(e){throw console.log(e),e}}))}}),r)},6484:(e,t,o)=>{o.d(t,{e:()=>u});var r,i,n=o(6921),s=o(9888),a=o(7821),l=o(8700),c=o(8488),p=o.n(c);let u=(r=class extends l.BaseOptions{constructor(e){super(),(0,n.Z)(this,"busyStats",i,this),this.rootStore=void 0,this.stats=a.observable.object({main:void 0,buttonsClicked:void 0,customBypass:void 0},{},{deep:!1}),this.filters=a.observable.object({dates:void 0,context:void 0},{},{deep:!1}),this.fetchMain=(0,a.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchButtonsClicked=(0,a.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchCustomBypass=(0,a.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.rootStore=e,(0,a.runInAction)((()=>{this.filters.dates=[p()().subtract(30,"days"),p()()],this.filters.context=this.rootStore.optionStore.others.context}))}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}},i=(0,s.Z)(r.prototype,"busyStats",[a.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{main:!1,buttonClicked:!1,customBypass:!1}}}),(0,s.Z)(r.prototype,"applyDates",[a.action],Object.getOwnPropertyDescriptor(r.prototype,"applyDates"),r.prototype),(0,s.Z)(r.prototype,"applyContext",[a.action],Object.getOwnPropertyDescriptor(r.prototype,"applyContext"),r.prototype),r)},9743:(e,t,o)=>{o.d(t,{M:()=>b,m:()=>d});var r=o(7821),i=o(8700),n=o(2654),s=o(8943),a=o(6649),l=o(3721),c=o(6484),p=o(9171),u=o(2793),h=o(1637);(0,r.configure)({enforceActions:"always"});class b{get context(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,i.createContextFactory)(this)}constructor(){this.optionStore=void 0,this.customizeBannerStore=void 0,this.cookieStore=void 0,this.consentStore=void 0,this.statsStore=void 0,this.checklistStore=void 0,this.tcfStore=void 0,this.scannerStore=void 0,this.contextMemo=void 0,this.optionStore=new n.a(this),this.customizeBannerStore=new s.W(this),this.cookieStore=new a.h(this),this.consentStore=new l.v(this),this.statsStore=new c.e(this),this.checklistStore=new p.L(this),this.tcfStore=new u.z(this),this.scannerStore=new h.C(this)}static get StoreProvider(){return b.get.context.StoreProvider}static get get(){return b.me?b.me:b.me=new b}}b.me=void 0;const d=()=>b.get.context.useStores()},2793:(e,t,o)=>{o.d(t,{z:()=>_});var r,i,n,s,a,l,c,p,u,h,b,d,y,f,m=o(6921),g=o(9888),v=o(7821),w=o(8700),Z=o(515),k=o(4747),C=o(1039),R=o(7669),P=o(2515),S=o(8272),O=o(1112),E=o(303);let _=(r=class extends w.BaseOptions{get vendorConfigurationCount(){return this.fetchedAllVendorConfigurations?this.vendorConfigurations.entries.size:this.rootStore.optionStore.allTcfVendorConfigurationCount}constructor(e){super(),(0,m.Z)(this,"busyGvl",i,this),(0,m.Z)(this,"busyVendors",n,this),(0,m.Z)(this,"busyDeclarations",s,this),(0,m.Z)(this,"vendorConfigurations",a,this),(0,m.Z)(this,"fetchedAllVendorConfigurations",l,this),(0,m.Z)(this,"vendorListVersion",c,this),(0,m.Z)(this,"gvlSpecificationVersion",p,this),(0,m.Z)(this,"tcfPolicyVersion",u,this),(0,m.Z)(this,"vendors",h,this),(0,m.Z)(this,"purposes",b,this),(0,m.Z)(this,"specialPurposes",d,this),(0,m.Z)(this,"features",y,this),(0,m.Z)(this,"specialFeatures",f,this),this.rootStore=void 0,this.fetchVendorConfigurations=(0,v.flow)((function*(){const e=Math.ceil(this.vendorConfigurationCount/100);for(let t=0;t<e;t++)yield this.vendorConfigurations.get({request:{status:["draft","publish","private"]},params:{offset:100*t,per_page:100,context:"edit"}});this.fetchedAllVendorConfigurations=!0})),this.fetchVendors=(0,v.flow)((function*(){this.busyVendors=!0;try{const{vendorListVersion:e,vendors:t}=yield(0,R.W)({location:k.f});for(const e of Object.keys(t))this.vendors.set(e,new P.C(t[e],this));this.vendorListVersion=e}catch(e){throw console.log(e),e}finally{this.busyVendors=!1}})),this.fetchDeclarations=(0,v.flow)((function*(){this.busyDeclarations=!0;try{const{gvlSpecificationVersion:e,tcfPolicyVersion:t,purposes:o,specialPurposes:r,features:i,specialFeatures:n}=yield(0,R.W)({location:Z.Y});for(const e of Object.keys(o))this.purposes.set(e,new S.v(o[e],!1,this));for(const e of Object.keys(r))this.specialPurposes.set(e,new S.v(r[e],!0,this));for(const e of Object.keys(i))this.features.set(e,new O.i(i[e],!1,this));for(const e of Object.keys(n))this.specialFeatures.set(e,new O.i(n[e],!0,this));this.gvlSpecificationVersion=e,this.tcfPolicyVersion=t}catch(e){throw console.log(e),e}finally{this.busyDeclarations=!1}})),this.updateGvl=(0,v.flow)((function*(){this.busyGvl=!0;try{const{gvlDownloadTime:e}=yield(0,R.W)({location:C.y});this.rootStore.optionStore.tcfGvlDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyGvl=!1}})),this.rootStore=e,(0,v.runInAction)((()=>{this.vendorConfigurations=new E.C(this)}))}},i=(0,g.Z)(r.prototype,"busyGvl",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),n=(0,g.Z)(r.prototype,"busyVendors",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,g.Z)(r.prototype,"busyDeclarations",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,g.Z)(r.prototype,"vendorConfigurations",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,g.Z)(r.prototype,"fetchedAllVendorConfigurations",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=(0,g.Z)(r.prototype,"vendorListVersion",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,g.Z)(r.prototype,"gvlSpecificationVersion",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,g.Z)(r.prototype,"tcfPolicyVersion",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=(0,g.Z)(r.prototype,"vendors",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),b=(0,g.Z)(r.prototype,"purposes",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),d=(0,g.Z)(r.prototype,"specialPurposes",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),y=(0,g.Z)(r.prototype,"features",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),f=(0,g.Z)(r.prototype,"specialFeatures",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,g.Z)(r.prototype,"vendorConfigurationCount",[v.computed],Object.getOwnPropertyDescriptor(r.prototype,"vendorConfigurationCount"),r.prototype),r)},2208:(e,t,o)=>{o.d(t,{b:()=>i,u:()=>r});const r="rcb-scan",i="rcb-automatic-scan-starter"},1589:(e,t,o)=>{function r(e){const t=document.createElement("textarea");t.innerText=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove()}o.d(t,{v:()=>r})},1048:(e,t,o)=>{function r(){return window["real-cookie-banner".replace(/-([a-z])/g,(e=>e[1].toUpperCase()))]}o.d(t,{m:()=>r})},9712:(e,t,o)=>{o.d(t,{u:()=>i});var r=o(1048);function i(){return(0,r.m)().others}},5217:(e,t,o)=>{o.d(t,{__:()=>l,_i:()=>c,_n:()=>s,_x:()=>a});var r=o(8700);let i;function n(){return i||(i=(0,r.createLocalizationFactory)(r.BaseOptions.getPureSlug("real-cookie-banner")))}const s=(...e)=>n()._n(...e),a=(...e)=>n()._x(...e),l=(...e)=>n().__(...e),c=(...e)=>n()._i(...e)},7669:(e,t,o)=>{o.d(t,{W:()=>a,Y:()=>s});var r=o(8700);let i;function n(){return i||(i=(0,r.createRequestFactory)(window[r.BaseOptions.getPureSlug("real-cookie-banner",!0)]))}const s=(...e)=>n().urlBuilder(...e),a=(...e)=>n().request(...e)},1712:(e,t,o)=>{function r(e=0){document.body.scrollTop=e,document.documentElement.scrollTop=e}o.d(t,{X:()=>r})},8503:(e,t,o)=>{function r(e,t=50,o="..."){if(!e||e.length<=t)return e;const r=t-o.length,i=Math.ceil(r/2),n=Math.floor(r/2);return e.substr(0,i)+o+e.substr(e.length-n)}o.d(t,{r:()=>r})},2377:(e,t,o)=>{o.d(t,{g:()=>r});const r={path:"/checklist",method:o(8700).RouteHttpVerb.GET}},5654:(e,t,o)=>{o.d(t,{s:()=>r});const r={path:"/checklist/:id",method:o(8700).RouteHttpVerb.PUT}},3612:(e,t,o)=>{o.d(t,{O:()=>r});const r={path:"/consent/all",method:o(8700).RouteHttpVerb.DELETE}},8516:(e,t,o)=>{o.d(t,{c:()=>r});const r={path:"/consent/all",method:o(8700).RouteHttpVerb.GET}},8420:(e,t,o)=>{o.d(t,{q:()=>r});const r={path:"/consent/referer",method:o(8700).RouteHttpVerb.GET}},8067:(e,t,o)=>{o.d(t,{B:()=>r});const r={path:"/cookie-groups/order",method:o(8700).RouteHttpVerb.PUT}},3950:(e,t,o)=>{o.d(t,{p:()=>r});const r={path:"/cookies/unassigned",method:o(8700).RouteHttpVerb.GET}},8903:(e,t,o)=>{o.d(t,{I:()=>r});const r={path:"/cookies/order",method:o(8700).RouteHttpVerb.PUT}},648:(e,t,o)=>{o.d(t,{_:()=>r});const r={path:"/country-bypass/database",method:o(8700).RouteHttpVerb.PUT}},4089:(e,t,o)=>{o.d(t,{r:()=>r});const r={path:"/scanner/result/notice-dismissed",method:o(8700).RouteHttpVerb.DELETE}},534:(e,t,o)=>{o.d(t,{V:()=>r});const r={path:"/export",method:o(8700).RouteHttpVerb.GET}},9338:(e,t,o)=>{o.d(t,{Q:()=>r});const r={path:"/export/consents",method:o(8700).RouteHttpVerb.GET}},4161:(e,t,o)=>{o.d(t,{V:()=>r});const r={path:"/forward/cookie/:slug",method:o(8700).RouteHttpVerb.GET}},1079:(e,t,o)=>{o.d(t,{A:()=>r});const r={path:"/forward/endpoints",method:o(8700).RouteHttpVerb.GET}},4018:(e,t,o)=>{o.d(t,{H:()=>r});const r={path:"/import",method:o(8700).RouteHttpVerb.POST}},6568:(e,t,o)=>{o.d(t,{gn:()=>R.g,s5:()=>P.s,Ok:()=>f.O,cI:()=>y.c,rz:()=>k,aY:()=>B,vY:()=>E,JQ:()=>h,PM:()=>u,qD:()=>Q.q,BI:()=>l.B,pV:()=>S.p,It:()=>c.I,_3:()=>V._,QB:()=>C.Q,Vm:()=>w.V,Vc:()=>_.V,AW:()=>O.A,HR:()=>Z.H,nQ:()=>z.n,oW:()=>U.o,nX:()=>N.n,iO:()=>Y.i,tX:()=>n.t,N9:()=>T.N,Wu:()=>s.W,tw:()=>A.t,zf:()=>a.z,GQ:()=>b.G,a4:()=>d.a,Z1:()=>x.Z,TB:()=>D.T,kv:()=>G.k,ME:()=>H.M,Ce:()=>L.C,MQ:()=>W.M,$5:()=>q.$,eO:()=>F.e,$Q:()=>v,gh:()=>g,BV:()=>m,Y3:()=>j.Y,yR:()=>M.y,fs:()=>I.f,g3:()=>r.g,J3:()=>i.J});var r=o(5391),i=o(1211),n=o(8172),s=o(8213),a=o(702),l=o(8067),c=o(8903),p=o(8700);const u={path:"/consent",method:p.RouteHttpVerb.POST},h={path:"/consent",method:p.RouteHttpVerb.GET};var b=o(4791),d=o(1734),y=o(8516),f=o(3612);const m={path:"/stats/main",method:p.RouteHttpVerb.GET},g={path:"/stats/customBypass",method:p.RouteHttpVerb.GET},v={path:"/stats/buttonsClicked",method:p.RouteHttpVerb.GET};var w=o(534),Z=o(4018);const k={path:"/consent/clear",method:p.RouteHttpVerb.DELETE};var C=o(9338),R=o(2377),P=o(5654),S=o(3950),O=o(1079);const E={path:"/consent/forward",method:p.RouteHttpVerb.POST};var _=o(4161),z=o(4474),x=o(9560),D=o(6521),T=o(6406),A=o(6364),M=o(1039),I=o(4747),j=o(515);const B={path:"/consent/dynamic-predecision",method:p.RouteHttpVerb.POST};var V=o(648),N=o(4358),U=o(9190),G=o(2115),F=o(9601),W=o(5593),L=o(3943),H=o(6372),q=o(7244),Q=o(8420),Y=o(1515)},4474:(e,t,o)=>{o.d(t,{n:()=>r});const r={path:"/dismiss-config-page-pro-notice",method:o(8700).RouteHttpVerb.DELETE}},9190:(e,t,o)=>{o.d(t,{o:()=>r});const r={path:"/migration/:migration",method:o(8700).RouteHttpVerb.DELETE}},4358:(e,t,o)=>{o.d(t,{n:()=>r});const r={path:"/migration/:migration/:action",method:o(8700).RouteHttpVerb.POST}},6265:(e,t,o)=>{o.d(t,{C:()=>r});const r={path:"/modal-hint",method:o(8700).RouteHttpVerb.PUT}},1515:(e,t,o)=>{o.d(t,{i:()=>r});const r={path:"/nav-menu/add-links",method:o(8700).RouteHttpVerb.POST}},8172:(e,t,o)=>{o.d(t,{t:()=>r});const r={path:"/presets/banner",method:o(8700).RouteHttpVerb.GET}},8213:(e,t,o)=>{o.d(t,{W:()=>r});const r={path:"/presets/blocker",method:o(8700).RouteHttpVerb.GET}},6406:(e,t,o)=>{o.d(t,{N:()=>r});const r={path:"/presets/blocker/:identifier",method:o(8700).RouteHttpVerb.GET}},702:(e,t,o)=>{o.d(t,{z:()=>r});const r={path:"/presets/cookies",method:o(8700).RouteHttpVerb.GET}},6364:(e,t,o)=>{o.d(t,{t:()=>r});const r={path:"/presets/cookies/:identifier",method:o(8700).RouteHttpVerb.GET}},9560:(e,t,o)=>{o.d(t,{Z:()=>r});const r={path:"/revision/:hash",method:o(8700).RouteHttpVerb.GET}},4791:(e,t,o)=>{o.d(t,{G:()=>r});const r={path:"/revision/current",method:o(8700).RouteHttpVerb.GET}},1734:(e,t,o)=>{o.d(t,{a:()=>r});const r={path:"/revision/current",method:o(8700).RouteHttpVerb.PUT}},6521:(e,t,o)=>{o.d(t,{T:()=>r});const r={path:"/revision/independent/:hash",method:o(8700).RouteHttpVerb.GET}},2115:(e,t,o)=>{o.d(t,{k:()=>r});const r={path:"/scanner/queue",method:o(8700).RouteHttpVerb.POST}},6372:(e,t,o)=>{o.d(t,{M:()=>r});const r={path:"/scanner/result/externals/:type/:identifier",method:o(8700).RouteHttpVerb.GET}},5593:(e,t,o)=>{o.d(t,{M:()=>r});const r={path:"/scanner/result/externals",method:o(8700).RouteHttpVerb.GET}},3943:(e,t,o)=>{o.d(t,{C:()=>r});const r={path:"/scanner/result/externals/:host",method:o(8700).RouteHttpVerb.PUT}},7244:(e,t,o)=>{o.d(t,{$:()=>r});const r={path:"/scanner/result/markup/:id",method:o(8700).RouteHttpVerb.GET}},9601:(e,t,o)=>{o.d(t,{e:()=>r});const r={path:"/scanner/result/presets",method:o(8700).RouteHttpVerb.GET}},515:(e,t,o)=>{o.d(t,{Y:()=>r});const r={path:"/tcf/declarations",method:o(8700).RouteHttpVerb.GET}},1039:(e,t,o)=>{o.d(t,{y:()=>r});const r={path:"/tcf/gvl",method:o(8700).RouteHttpVerb.PUT}},4747:(e,t,o)=>{o.d(t,{f:()=>r});const r={path:"/tcf/vendors",method:o(8700).RouteHttpVerb.GET}},5391:(e,t,o)=>{o.d(t,{g:()=>r});const r={path:"/settings",namespace:"wp/v2",method:o(8700).RouteHttpVerb.GET}},1211:(e,t,o)=>{o.d(t,{J:()=>r});const r={path:"/settings",namespace:"wp/v2",method:o(8700).RouteHttpVerb.PATCH}},8852:()=>{},9494:()=>{},7363:e=>{e.exports=React},1533:e=>{e.exports=ReactDOM},6711:e=>{e.exports=ReactRouterDOM},490:e=>{e.exports=devowlWp_customize},9445:e=>{e.exports=devowlWp_realProductManagerWpClient},6:e=>{e.exports=devowlWp_realQueue},8700:e=>{e.exports=devowlWp_utils},5311:e=>{e.exports=jQuery},7821:e=>{e.exports=mobx},8488:e=>{e.exports=moment},5998:e=>{e.exports=wp}},i={};function n(e){var t=i[e];if(void 0!==t)return t.exports;var o=i[e]={id:e,loaded:!1,exports:{}};return r[e](o,o.exports,n),o.loaded=!0,o.exports}n.m=r,e=[],n.O=(t,o,r,i)=>{if(!o){var s=1/0;for(p=0;p<e.length;p++){for(var[o,r,i]=e[p],a=!0,l=0;l<o.length;l++)(!1&i||s>=i)&&Object.keys(n.O).every((e=>n.O[e](o[l])))?o.splice(l--,1):(a=!1,i<s&&(s=i));if(a){e.splice(p--,1);var c=r();void 0!==c&&(t=c)}}return t}i=i||0;for(var p=e.length;p>0&&e[p-1][2]>i;p--)e[p]=e[p-1];e[p]=[o,r,i]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,o)=>(n.f[o](e,t),t)),[])),n.u=e=>(({3:"chunk-config-tab-scanner",184:"chunk-config-tab-tcf",322:"chunk-config-tab-licensing",357:"chunk-config-tab-import",379:"chunk-config-tab-dashboard",478:"chunk-config-tab-blocker",625:"chunk-config-tab-consent",718:"chunk-config-tab-cookies",768:"chunk-config-tab-settings"}[e]||e)+".lite.js?ver="+{3:"b6a3e3221ef6713bde4a",81:"1597b7ea247ebc729b3f",85:"c1cace28db802702418a",184:"fe97b05fb51ed960cc94",185:"d7db871864b2eb3ac805",307:"73276fcc2cfb96b77e26",322:"5e85950ce97d48f995ac",357:"7df71e03e569097e1232",379:"54231007934f68c04f42",414:"80bd17f5390c8b52cd65",446:"8bd9b252600f8f721c0e",466:"b69d94a17213c9cde347",474:"acc17755b51f87dc3229",478:"76f4ec784e34db6f7508",544:"046af70c36e9f6a7dfd9",578:"36d419efcf879ad47d09",625:"3a44d7831990367ae6b5",637:"33a352aac1ee27241969",718:"c87383b7c004dc648f9a",737:"f0776900ca027073c701",768:"9cbb4b6f33a116a0e1b5",793:"20235de6234cd515b3d0",853:"bc80c41606727317b951",902:"dff6cad5a218cf713e40",932:"cba370a1023bd0e9d17c"}[e]),n.miniCssF=e=>"admin.css",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},o="realCookieBanner_:",n.l=(e,r,i,s)=>{if(t[e])t[e].push(r);else{var a,l;if(void 0!==i)for(var c=document.getElementsByTagName("script"),p=0;p<c.length;p++){var u=c[p];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+i){a=u;break}}a||(l=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,n.nc&&a.setAttribute("nonce",n.nc),a.setAttribute("data-webpack",o+i),a.src=e),t[e]=[r];var h=(o,r)=>{a.onerror=a.onload=null,clearTimeout(b);var i=t[e];if(delete t[e],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach((e=>e(r))),o)return o(r)},b=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),l&&document.head.appendChild(a)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");o.length&&(e=o[o.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={328:0};n.f.j=(t,o)=>{var r=n.o(e,t)?e[t]:void 0;if(0!==r)if(r)o.push(r[2]);else{var i=new Promise(((o,i)=>r=e[t]=[o,i]));o.push(r[2]=i);var s=n.p+n.u(t),a=new Error;n.l(s,(o=>{if(n.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var i=o&&("load"===o.type?"missing":o.type),s=o&&o.target&&o.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+s+")",a.name="ChunkLoadError",a.type=i,a.request=s,r[1](a)}}),"chunk-"+t,t)}},n.O.j=t=>0===e[t];var t=(t,o)=>{var r,i,[s,a,l]=o,c=0;if(s.some((t=>0!==e[t]))){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(l)var p=l(n)}for(t&&t(o);c<s.length;c++)i=s[c],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(p)},o=self.webpackChunkrealCookieBanner_=self.webpackChunkrealCookieBanner_||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();var s=n.O(void 0,[194],(()=>n(6974)));s=n.O(s),realCookieBanner_admin=s})();
|
2 |
//# sourceMappingURL=admin.lite.js.map
|
public/dist/admin.lite.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"admin.lite.js","mappings":"kDAAIA,ECAAC,EACAC,E,kBCAJ,IAAIC,EAQAC,E,iBANJ,SAAWD,GACTA,EAA8B,OAAI,SAClCA,EAA2B,IAAI,MAC/BA,EAA2B,IAAI,MAHjC,CAIGA,IAA0BA,EAAwB,KAIrD,SAAWC,GACTA,EAA2B,UAAI,KAC/BA,EAAyB,QAAI,KAC7BA,EAAuB,MAAI,KAC3BA,EAAwB,OAAI,KAC5BA,EAAwB,OAAI,KAC5BA,EAAuB,MAAI,KAC3BA,EAAyB,QAAI,KAC7BA,EAA0B,SAAI,KAC9BA,EAAwB,OAAI,MAC5BA,EAAyB,QAAI,KAC7BA,EAAwB,OAAI,KAC5BA,EAA0B,SAAI,KAC9BA,EAA0B,SAAI,KAC9BA,EAA2B,UAAI,KAC/BA,EAAyB,QAAI,KAC7BA,EAA0B,SAAI,KAC9BA,EAA4B,WAAI,KAChCA,EAAyB,QAAI,KAC7BA,EAAyB,QAAI,KAC7BA,EAAuB,MAAI,KAC3BA,EAA2B,UAAI,KAC/BA,EAAwB,OAAI,KAC5BA,EAA4B,WAAI,KAChCA,EAA0B,SAAI,KAC9BA,EAAiC,gBAAI,UACrCA,EAA8B,aAAI,UAClCA,EAAyB,QAAI,KAC7BA,EAAwB,OAAI,KAC5BA,EAA2B,UAAI,KAC/BA,EAAyB,QAAI,KAC7BA,EAAyB,QAAI,KAC7BA,EAAyB,QAAI,KAhC/B,CAiCGA,IAAoBA,EAAkB,M,mDC5ClC,MAAMC,EAAY,qBACZC,EAAY,qBAEzB,SAASC,EAA6BC,EAAsBC,GAC1D,IAAIC,EACAC,EAGAC,EAFAC,GAAmB,EACnBC,EAAe,GAGnB,GAAIN,GAAiD,SAAzBA,EAAiC,CAC3D,MAAMO,EAAiC,qBAAzBP,EACRQ,EAAiC,qBAAzBR,EAEVO,GACFH,EAA0B,MAC1BF,EAAsB,YACtBI,EAAeT,GACNW,IACTJ,EAA0B,MAC1BF,EAAsB,OACtBI,EAAeR,IAGbS,GAASC,KACXL,EAAe,KACbM,OAAOP,GAAuBO,OAAOP,IAAwB,GACtDO,OAAOP,KAIdE,GAA2BH,IAAaG,IAC1CC,GAAmB,GAIvB,MAAO,CACLF,aAAAA,EACAE,iBAAAA,EACAC,aAAAA,EACAF,wBAAAA,K,qDCnCJ,MAAMM,EACJC,iBACE,OAAOC,KAAKC,QAAUD,KAAKC,UAAwB,IAAAC,eAAc,KAOrE,SAASC,IACP,OAAO,IAAAC,YAAWN,EAAmBO,WAHvCP,EAAmBG,aAAU,G,8CCX7B,MAAMK,EAAe,2BAKfC,EAAaC,GAAQA,EAAKC,MAAMH,GAAcI,KAAI,CAACC,EAAMC,IAAUD,EAAKE,MAAMP,IAA6B,IAAAQ,eAAc,KAAM,CACnIC,IAAKH,IACFD,K,gwECUL,KAA0B,IAAAK,sBAAqB,uBAC/C,IAAAC,sBAAqB,CACnB,CAAC,mCAA0CC,gBACnC,OAAQ,CACZC,SAAU,CACRC,KAAM,cAIZ,QAAWF,gBACH,OAAQ,CACZC,SAAU,CACRC,KAAM,YACNC,UAAW,cAMnB,YAAuB,CACrBC,UAAW,aAGb,YAAgB,CACdC,IAAK,KAGP,MAAMC,EAAOC,SAASC,eAAe,GAAGC,OAAO,yBAAgC,eAE/E,GAAIH,EAAM,CACR,MAAMI,EAAc,eACpB,IAAAC,QAAqBC,MAAMhB,cAAcc,EAAYG,SAAU,CAC7DC,MAAO,CACLC,GAAE,KACFC,GAAE,OAEUJ,MAAMhB,cAAc,KAAiB,CACnDQ,UAAW,WACXa,OAAQ,CACNA,OAAQ,eAEIL,MAAMhB,cAAc,kBAAyB,KAAmBgB,MAAMhB,cAAc,IAAW,SAAUU,K,wLCnD3H,MAAMY,GAAyB,SAAS,EACtCC,GAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,KAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,SAAAA,EACAC,YAAAA,MAEA,MACEC,aACEC,QAAQ,MACNC,GACD,WACDC,KAEA,SACEC,GAAUF,GAASJ,EACzB,IAAIO,EAAkB,KAClBC,EAA0B,KAC1BC,EAAUZ,EAEd,OAAQJ,GACN,IAAK,UACH,CACE,MACEiB,QAASC,EACTC,UAAWC,EAAa,WACxBC,IACE,EAAAC,EAAA,KAEAF,EAAgB,GAAKF,EAAc,IAAMG,MAAAA,OAA+C,EAASA,EAAWE,gBAAkB,IAChIT,EAA+BrB,MAAMhB,cAAc,IAAM,MAAM,IAAAmB,IAAG,6BAA8BsB,KAGlG,MAGJ,IAAK,UAEDH,EAAuCtB,MAAMhB,cAAc,IAAwB,MAE/EmC,IACFI,GAAW,IAAI1B,OAAO,MAU9B,OAAoBG,MAAMhB,cAAc,MAAO,CAC7C+C,MAAO,CACLC,OAAQ,UAEIhC,MAAMhB,cAAc,IAAU,CAC5CyB,MAAOD,GAAWE,GACJV,MAAMhB,cAAc,OAAQ,KAAMoC,EAAsBpB,MAAMhB,cAAciD,EAAA,EAAkB,CAC5GF,MAAO,CACLG,MAAO,aAEN1B,EAAuBR,MAAMhB,cAAcmD,EAAA,EAAmB,CACjEJ,MAAO,CACLG,MAAO,aAEOlC,MAAMhB,cAAcoD,EAAA,EAAqB,CACzDL,MAAO,CACLG,MAAO,aAEP,IAAkBlC,MAAMhB,cAAc,OAAQ,CAChD+C,MAAO,CACLM,eAAgB7B,EAAU,oBAAiB8B,EAC3CC,WAAY,SAEb9B,KAAUc,KAAaX,GAAyBZ,MAAMhB,cAAcgB,MAAMwC,SAAU,KAAM,QAAuCxC,MAAMhB,cAAc,IAAK,CAC3JyD,KAAMlB,EACNmB,OAAQ7B,EACR8B,IAAK,aACLC,QAAS7B,GACRH,MAAcQ,GAAiB,YAAPb,GAAiCP,MAAMhB,cAAcgB,MAAMwC,SAAU,KAAM,IAAqBxC,MAAMhB,cAAc,IAAM,CACnJkD,MAAO,MACN,IAAA/B,IAAG,iBAAkBkB,GAAgCrB,MAAMhB,cAAcgB,MAAMwC,SAAU,KAAM,IAAQnB,KAAoBX,IAAgBF,GAAwBR,MAAMhB,cAAc,IAAK,CAC7L6D,UAAW,cACXd,MAAO,CACLe,YAAa,KAEdpC,KAAgBY,GAAwCtB,MAAMhB,cAAc,MAAO,CACpF+C,MAAO,CACLe,YAAa,KAEdxB,O,cC5FL,MAAMyB,GAAgC,SAAS,EAC7ChC,YAAAA,KACGiC,MAEH,MAAM,eACJC,IACE,UACE,cACJC,EAAa,MACbC,EAAK,UACLC,EAAS,UACTC,EAAS,KACTC,EACAC,WAAW,QACTC,IAEAP,GACGQ,EAAYC,IAAiB,IAAAC,UAAqC,kBAArBX,EAAMS,WAA2BT,EAAMS,YAAaH,GACxG,OAAoBtD,MAAMhB,cAAc,IAAO,CAC7C4E,SAAUV,GACIlD,MAAMhB,cAAc,IAAQ,CAC1C6E,UAAW,WACXC,KAAM,SACLN,GAAwBxD,MAAMhB,cAAc,MAAO,CACpD6D,UAAW,mDACXd,MAAO,CACLC,OAAQ,IAEIhC,MAAMhB,cAAc,IAAK,MAAM,IAAAmB,IAAG,gIAA8IH,MAAMhB,cAAc,IAAK,CACvN6D,UAAW,gBACV,IAAA1C,IAAG,4PAA0QH,MAAMhB,cAAc,MAAO,KAAMsE,IAASG,EAA0BzD,MAAMhB,cAAc,IAAM,CAC5W+E,KAAmB/D,MAAMhB,cAAcgF,EAAA,EAAqB,MAC5D9B,MAAO,UACPH,MAAO,CACLkC,OAAQ,WAEVrB,QAAS,IAAMc,GAAc,KAC5B,IAAAvD,IAAG,yBAAwCH,MAAMhB,cAAc,IAAM,CACtE+E,KAAmB/D,MAAMhB,cAAcoD,EAAA,EAAqB,MAC5DF,MAAO,UACPH,MAAO,CACLkC,OAAQ,WAEVrB,QAAS,IAAMc,GAAc,KAC5B,IAAAvD,IAAG,0BAA2BiD,EAAUc,OAASb,EAAUa,OAASb,EAAUa,OAASd,EAAUc,OACpGb,EAAUa,UAAWf,EAAMvE,KAAI,EAC7B2B,GAAAA,KACG4D,MAEEV,GAAcU,EAAK3D,QACf,KAGWR,MAAMhB,cAAcsB,GAAwB,OAAS,CACvErB,IAAKsB,EACLA,GAAIA,GACH4D,EAAM,CACPpD,YAAaqD,IACP,CAAC,WAAWC,QAAQ9D,IAAO,GAC7B0C,EAAeqB,oBAAoB/D,GAAI,GAGzCQ,MAAAA,GAA0DA,EAAYqD,gB,2HCnE9E,MAAMG,GAA+B,SAAS,KAC5C,MAAM,YACJvD,IACE,UACE,SACJwD,IACE,IAAAC,eACJ,OAAOzD,EAAY0D,yBAA0D,IAAhCF,EAASH,QAAQ,YAAkD,IAA9BG,EAASH,QAAQ,SAA+BrE,MAAMhB,cAAc,MAAO,CAC3J6D,UAAW,mDACXd,MAAO,CACLC,OAAQ,eAEIhC,MAAMhB,cAAc,IAAK,MAAM,IAAAmB,IAAG,4IAA6I,IAAK,IAAU,IAAkBH,MAAMhB,cAAc,IAAK,CACvP+C,MAAO,CACLkC,OAAQ,UACR5B,eAAgB,aAElBO,QAAS,IAAM5B,EAAY2D,sBAAsB,CAC/CC,iBAAiB,MAElB,IAAAzE,IAAG,wBAAyB,IAAK,IAAU,IAAkBH,MAAMhB,cAAc,IAAa,CAC/FyB,MAAoBT,MAAMhB,cAAcgB,MAAMwC,SAAU,KAAmBxC,MAAMhB,cAAc,SAAU,MAAM,IAAAmB,IAAG,yDAAuEH,MAAMhB,cAAc,KAAM,MAAoBgB,MAAMhB,cAAc,KAAM,OAAO,IAAAoB,KAAG,IAAAD,IAAG,sZAAuZ,CACnqB0E,EAAgB7E,MAAMhB,cAAc,IAAK,CACvCyD,MAAM,IAAAtC,IAAG,oCACTwC,IAAK,aACLD,OAAQ,aAEK1C,MAAMhB,cAAc,KAAM,MAAoBgB,MAAMhB,cAAc,KAAM,OAAO,IAAAmB,IAAG,0MACnG2E,UAAW,cACXC,UAAW,IAAM/D,EAAY2D,sBAAsB,CACjDC,iBAAiB,IAEnBI,QAAQ,IAAA7E,IAAG,kBACX8E,YAAY,IAAA9E,IAAG,UACf+E,aAAc,CACZC,SAAU,MAEEnF,MAAMhB,cAAc,IAAK,CACvC+C,MAAO,CACLkC,OAAQ,UACR5B,eAAgB,eAEjB,IAAAlC,IAAG,yBC5CFiF,GAA8B,SAAS,KAC3C,MACEpE,aAAa,kBACXqE,EAAiB,aACjBC,EAAY,aACZC,KAEA,SACJ,OAAOA,IAAiBF,IAAsBC,GAA6BtF,MAAMhB,cAAc,MAAO,CACpG6D,UAAW,mDACXd,MAAO,CACLC,OAAQ,eAEIhC,MAAMhB,cAAc,IAAK,MAAM,IAAAmB,IAAG,wG,cCdpD,MAAMqF,GAAmC,SAAS,KAChD,MAAM,qCACJC,IACE,EAAAC,EAAA,KACJ,QAASD,GAAqDzF,MAAMhB,cAAc,MAAO,CACvF6D,UAAW,mDACXd,MAAO,CACLC,OAAQ,eAEIhC,MAAMhB,cAAc,IAAK,MAAM,IAAAoB,KAAG,IAAAD,IAAG,2FAA4F,CAC/IwF,KAAmB3F,MAAMhB,cAAc,OAAQ,a,cCPnD,MAAM4G,GAAkB,SAAS,KAC/B,MACE5E,aAAa,qBACX1D,EAAoB,WACpBuI,KAEA,UACE,aACJjI,EAAY,wBACZF,IACE,EAAAL,EAAA,IAA6BC,IAC3B,SACJkH,IACE,IAAAC,eACJ,OAAO7G,IAAiBiI,GAAc,mBAAmBC,KAAKtB,IAA0BxE,MAAMhB,cAAc,MAAO,CACjH6D,UAAW,mDACXd,MAAO,CACLC,OAAQ,eAEIhC,MAAMhB,cAAc,IAAK,MAAM,IAAAoB,KAAG,IAAAD,IAAG,0IAA2IvC,EAAcA,GAAe,CAC3NmI,OAAqB/F,MAAMhB,cAAc,SAAU,QACjD,IAAK,KAAwBgB,MAAMhB,cAAc,IAAK,CACxDyD,KAAM,IAAI5C,OAAO2E,EAAU,eAAe3E,OAAOnC,KAChD,IAAAyC,IAAG,oB,cCrBR,MAAM6F,EAAoB,KACxB,MAAM,OACJC,IACE,IAAAC,cASJ,OARA,IAAAC,YAAU,KACR,MAAMC,EAAUH,GAAO,MACrB,EAAAI,EAAA,GAAS,MAEX,MAAO,KACLD,OAED,CAACH,IACG,M,iCCbT,MAAMK,GAAoB,SAAS,KACjC,MAAM,YACJtF,IACE,UAEFC,QAAQ,OACNsF,EAAM,MACNrF,EAAK,yBACLsF,IAEAxF,EACEyB,EAAO,GAAG5C,OAAO0G,EAAQ,wBACzBE,GAAgB,IAAAC,cAAY,KAChC3I,OAAO4I,KAAKlE,EAAM,UAClBzB,EAAY4F,2BACX,CAAC5F,IACE6F,GAAc,IAAAH,cAAY,KAC9B1F,EAAY4F,2BACX,CAAC5F,IACJ,OAAQE,GAAsBlB,MAAMhB,cAAc,IAAa,CAC7D8H,UAAWN,EACX/F,OAAO,IAAAN,IAAG,2OACV4D,KAAmB/D,MAAMhB,cAAc+H,EAAA,EAAoB,CACzDhF,MAAO,CACLG,MAAO,aAGX4C,UAAW,SACXC,UAAW0B,EACXO,SAAUH,EACV5B,YAAY,IAAA9E,IAAG,yBACf6E,QAAQ,IAAA7E,IAAG,yBACX+E,aAAc,CACZC,SAAU,MAEEnF,MAAMhB,cAAc,IAAK,CACvC6D,UAAW,oBACXF,IAAK,aACLC,QAAS6D,IACR,IAAAtG,IAAG,wB,cCrCR,MAAM8G,GAAe,SAAS,KAC5B,MAAOC,EAAsBC,IAAyB,IAAAxD,WAAS,IACzD,YACJ3C,EAAW,eACXiC,IACE,UACE,SACJuB,IACE,IAAAC,gBAEFxD,QAAQ,mBACNmG,GACD,UACDC,GACErG,GACE,UACJoC,EAAS,UACTC,EAAS,KACTC,GACEL,GACJ,IAAAkD,YAAU,KACRlD,EAAeqE,mBACd,IACH,MAAMC,GAAmC,IAAAb,cAAYtC,IACnDrG,OAAOsB,SAASoD,KAAO,GAAG5C,OAAOuH,EAAoB,YAAYvH,OAAO2H,mBAAmBzJ,OAAOsB,SAASoD,OAC3G2B,EAAEqD,mBACD,IACGC,GAA2B,IAAAhB,cAAY,KAC3CS,GAAsB,GACtBlE,EAAeqE,mBACd,CAACH,IACEQ,GAA4B,IAAAjB,cAAY,KAC5CS,GAAsB,KACrB,CAACA,IACJ,OAAoBnH,MAAMhB,cAAcgB,MAAMwC,SAAU,KAAmBxC,MAAMhB,cAAc,KAAM,CACnG6D,UAAW,sBACV,IAAA1C,IAAG,uBAAqCH,MAAMhB,cAAc,MAAO,CACpE6D,UAAW,eACX+E,IAAK,GAAG/H,OAAOwH,EAAW,yCACXrH,MAAMhB,cAAc,IAAK,CACxC6D,UAAW,oBACXJ,KAAM,IACNG,QAAS2E,IACR,IAAApH,IAAG,qBAAmCH,MAAMhB,cAAcsH,EAAmB,OAAQhD,GAAqB,MAAbkB,GAAiCxE,MAAMhB,cAAcgB,MAAMwC,SAAU,KAAmBxC,MAAMhB,cAAc,IAAK,CAC/M6D,UAAW,oBACXd,MAAO,CACLG,MAAO,UACP2F,WAAY,UACZC,YAAa,WAEflF,QAAS8E,GACK1H,MAAMhB,cAAcoD,EAAA,EAAqB,MAAO,KAAQ,IAAAjC,IAAG,0BAA2BiD,EAAUc,OAASb,EAAUa,OAASb,EAAUa,OAASd,EAAUc,OACzKb,EAAUa,SAAuBlE,MAAMhB,cAAc,IAAQ,CAC3D8H,QAASI,EACTzG,OAAO,IAAAN,IAAG,4BACV6G,SAAUW,EACVI,cAAe,CACbhG,MAAO,CACLiG,QAAS,SAGb/C,YAAY,IAAA9E,IAAG,SACf8H,MAAO,KACOjI,MAAMhB,cAAc,IAA+B,CACjEyE,YAAY,EACZ1C,YAAa4G,MACI3H,MAAMhB,cAAc,KAAM,CAC3C6D,UAAW,sB,aCvEf,MAAMqF,GAAe,SAAS,KAC5B,MACElH,aAAa,UACXqG,KAEA,SACJ,OAAoBrH,MAAMhB,cAAc,MAAO,CAC7C6D,UAAW,sBACV,IAAAzC,KAAG,IAAAD,IAAG,0DAA2D,CAClE4D,KAAmB/D,MAAMhB,cAAcmJ,EAAA,EAAa,CAClDpG,MAAO,CACLG,MAAO,eAGIlC,MAAMhB,cAAc,IAAK,CACxCyD,MAAM,IAAAtC,IAAG,sBACTuC,OAAQ,SACRC,IAAK,cACS3C,MAAMhB,cAAc,MAAO,CACzC4I,IAAK,GAAG/H,OAAOwH,EAAW,4C,yCCR9B,MAAMe,EAAyB,CAC7BJ,QAAS,QACTK,UAAW,IAGPC,EAA0B,CAACC,EAAKC,KAAa,CAEjDC,QAAS,IAAmBzI,MAAMhB,cAAc,EAAA0J,yBAA0B,CACxEC,UAAW,IAAgC,oBAAoB9I,OAAO0I,IACtEK,QAAS,KAAM,SAAY5H,YAC3B6H,SAAuB7I,MAAMhB,cAAc,IAAO,CAChD4E,UAAU,EACV7B,MAAOqG,KAERI,KAGCM,GAA8B,IAAAC,OAAK,IAAM,qIAEnBC,MAAK,EAC/BF,eAAAA,KACIR,EAAwB,YAA0BtI,MAAMhB,cAAc8J,EAAgB,WACtFG,GAA4B,IAAAF,OAAK,IAAM,wEAEnBC,MAAK,EAC7BC,aAAAA,KACIX,EAAwB,WAAyBtI,MAAMhB,cAAciK,EAAc,WACnFC,GAA6B,IAAAH,OAAK,IAAM,gHAEnBC,MAAK,EAC9BE,cAAAA,KACIZ,EAAwB,UAAwBtI,MAAMhB,cAAckK,EAAe,WACnFC,GAAqC,IAAAJ,OAAK,IAAM,6HAEjBC,MAAK,EACxCG,sBAAAA,KACIb,EAAwB,UAAwBtI,MAAMhB,cAAcmK,EAAuB,WAC3FC,GAAgC,IAAAL,OAAK,IAAM,oHAEnBC,MAAK,EACjCI,iBAAAA,KACId,EAAwB,UAAwBtI,MAAMhB,cAAcoK,EAAkB,WACtFC,GAA6B,IAAAN,OAAK,IAAM,4HAEnBC,MAAK,EAC9BK,cAAAA,KACIf,EAAwB,UAAwBtI,MAAMhB,cAAcqK,EAAe,WACnFC,GAAiC,IAAAP,OAAK,IAAM,2GAEzBC,MAAK,EAC5BM,kBAAAA,KACIhB,EAAwB,SAAuBtI,MAAMhB,cAAcsK,EAAmB,WACtFC,GAA+B,IAAAR,OAAK,IAAM,uEAEhBC,MAAK,EACnCO,gBAAAA,KACIjB,EAAwB,YAA0BtI,MAAMhB,cAAcuK,EAAiB,WACvFC,GAAY,SAAS,KACzB,MACEhI,QAASC,EACTC,UAAWC,EAAa,WACxBC,IACE,EAAAC,EAAA,MACE,YACJb,EAAW,eACXiC,IACE,UAEFhC,QAAQ,yBACNwI,EACAC,aAAc,CAAC,CAAEC,KAEjB3I,EAyBJ,OAvBA,IAAA4I,kBAAgB,KACd5I,EAAY6I,gBAEZ,MAAMC,EAAW,KAGf7G,EAAeqE,kBAGXyC,EAAQ,GAAGlK,OAAO,EAAAmK,uBAAuBnK,OAAO,KAEtD,OADAF,SAASsK,iBAAiBF,EAAOD,GAC1B,KACLnK,SAASuK,oBAAoBH,EAAOD,MAErC,KAEH,IAAA3D,YAAU,KACR,MAAMgE,EAASxK,SAASC,eAAe,kDAElC6J,GAA4BU,IAC/BA,EAAOpI,MAAMiG,QAAU,WAExB,CAACyB,IACGA,EAAwCzJ,MAAMhB,cAAc,EAAAoL,SAAU,CAC3EvB,SAAuB7I,MAAMhB,cAAc,IAAO,CAChD4E,UAAU,EACV7B,MAAOqG,KAEKpI,MAAMhB,cAAcuK,EAAiB,OAAsBvJ,MAAMhB,cAAc,aAAQ,KAAmBgB,MAAMhB,cAAciI,EAAc,MAAoBjH,MAAMhB,cAAc,MAAO,CACzM6D,UAAW,+BACG7C,MAAMhB,cAAc,EAAAqL,QAAS,CAC3CC,GAAI,IACJzH,UAAW,UACX0H,gBAAiB,iBACjBC,OAAO,IACN,IAAArK,IAAG,cAA4BH,MAAMhB,cAAc,EAAAqL,QAAS,CAC7DC,GAAI,YACJzH,UAAW,UACX0H,gBAAiB,mBAChB,IAAApK,IAAG,aAA2BH,MAAMhB,cAAc,EAAAqL,QAAS,CAC5DC,GAAI,WACJzH,UAAW,UACX0H,gBAAiB,kBAChB5I,EAAgB,GAAKF,EAAc,IAAMG,MAAAA,OAA+C,EAASA,EAAWE,gBAAkB,EAAiB9B,MAAMhB,cAAc,IAAQ,CAC5KyL,MAAO,GAAG5K,OAAO4B,EAAa,MAC9BM,MAAO,CACLtC,KAAM,GACNiL,SAAU,GACVC,OAAQ,GACRC,WAAY,OACZ/C,WAAY8B,KAEb,IAAAxJ,IAAG,aAAc,IAAAA,IAAG,YAA0BH,MAAMhB,cAAc,EAAAqL,QAAS,CAC5EC,GAAI,WACJzH,UAAW,UACX0H,gBAAiB,mBAChB,IAAApK,IAAG,uBAAqCH,MAAMhB,cAAc,EAAAqL,QAAS,CACtEC,GAAI,WACJzH,UAAW,UACX0H,gBAAiB,mBAChB,IAAApK,IAAG,oBAAkCH,MAAMhB,cAAc,EAAAqL,QAAS,CACnEC,GAAI,WACJzH,UAAW,UACX0H,gBAAiB,mBAChB,IAAApK,IAAG,YAA0BH,MAAMhB,cAAc,EAAAqL,QAAS,CAC3DC,GAAI,UACJzH,UAAW,UACX0H,gBAAiB,mBAChB,IAAApK,IAAG,oBAA8C,kBAAzBpC,OAAOsB,SAASwL,MAAyC7K,MAAMhB,cAAc,EAAAqL,QAAS,CAC/GC,GAAI,aACJzH,UAAW,UACX0H,gBAAiB,mBAChB,IAAApK,IAAG,cAA4BH,MAAMhB,cAAc,IAAK,CACzDyD,MAAM,IAAAtC,IAAG,8BACT0C,UAAW,UACXH,OAAQ,SACRC,IAAK,eACJ,IAAAxC,IAAG,aAA2BH,MAAMhB,cAAcuF,EAA8B,MAAoBvE,MAAMhB,cAAcoG,EAA6B,MAAoBpF,MAAMhB,cAAcwG,EAAkC,MAAoBxF,MAAMhB,cAAc4G,EAAiB,MAAoB5F,MAAMhB,cAAcgH,EAAmB,MAAoBhG,MAAMhB,cAAc,EAAAoL,SAAU,CACtYvB,SAAuB7I,MAAMhB,cAAc,IAAO,CAChD4E,UAAU,EACV7B,MAAOqG,KAEKpI,MAAMhB,cAAc,EAAA8L,OAAQ,KAAmB9K,MAAMhB,cAAc,EAAA+L,MAAO,CACxFzL,KAAM,IACNkL,OAAO,GACOxK,MAAMhB,cAAc8J,EAAgB,OAAqB9I,MAAMhB,cAAc,EAAA+L,MAAO,CAClGzL,KAAM,mBACJ0B,EAAYgK,mBAAyChL,MAAMhB,cAAciK,EAAc,MAAtD,MAA2EjJ,MAAMhB,cAAc,EAAA+L,MAAO,CACzIzL,KAAM,YACQU,MAAMhB,cAAckK,EAAe,OAAqBlJ,MAAMhB,cAAc,EAAA+L,MAAO,CACjGzL,KAAM,0BACQU,MAAMhB,cAAcmK,EAAuB,OAAqBnJ,MAAMhB,cAAc,EAAA+L,MAAO,CACzGzL,KAAM,kBACQU,MAAMhB,cAAcoK,EAAkB,OAAqBpJ,MAAMhB,cAAc,EAAA+L,MAAO,CACpGzL,KAAM,YACQU,MAAMhB,cAAcqK,EAAe,OAAqBrJ,MAAMhB,cAAc,EAAA+L,MAAO,CACjGzL,KAAM,WACQU,MAAMhB,cAAcsK,EAAmB,OAAqBtJ,MAAMhB,cAAc,EAAA+L,MAAO,CACrGzL,KAAM,cACQU,MAAMhB,cAAcuK,EAAiB,SAAuBvJ,MAAMhB,cAAckJ,EAAc,W,4HCrLhH,MAAM+C,EAAuD,eACvDC,GAAyB,SAAS,EACtCnJ,MAAAA,MAEA,MACEf,aAAa,WACXG,KAEA,SACEgK,EAAShK,MAAAA,OAA+C,EAASA,EAAWgK,OAC5EC,EAAiBjK,MAAAA,OAA+C,EAASA,EAAWiK,eACpFC,EAAalK,MAAAA,OAA+C,EAASA,EAAWkK,WAChFC,GAAoB,IAAA5E,cAAY,KACpC,GAAI2E,EAAY,CACd,MAAM3J,EAAY,IAAI6J,KAAKF,GAAYG,WAAY,IAAID,MAAOC,UAE9D,GAAI9J,GAAa,EACf,OAGF,MAAM+J,EAAc/J,EAAY,IAChC,MAAO,CAACgK,KAAKC,MAAMF,EAAc,MAAOC,KAAKC,MAAMF,EAAc,IAAM,GAAIC,KAAKC,MAAMF,EAAc,KAAK7M,KAAIgN,GAAKA,EAAI,GAAK,IAAI/L,OAAO+L,GAAKA,IAAGC,QAAO,CAACD,EAAGE,IAAY,OAANF,GAAcE,EAAI,IAAGC,KAAK,QAI1L,CAACV,KACG,CAAEW,IAAe,IAAArI,aACxB,IAAAwC,YAAU,KACR,MAAM8F,EAAWC,aAAY,KAC3BF,GAAY,IAAIT,MAAOC,aACtB,KACH,MAAO,KACLW,cAAcF,MAEf,IACH,MAAMG,EAAcd,IACpB,OAAOc,EAA2BpM,MAAMhB,cAAc,IAAQ,CAC5D+C,MAAOA,EACPsK,SAAS,IAAAjM,KAAG,IAAAD,IAAG,wJAAyJgL,EAAQiB,EAAahB,GAAiB,CAC5MkB,IAAkBtM,MAAMhB,cAAc,IAAM,CAC1CkD,MAAO,UACPH,MAAO,CACLwK,YAAa,EACbtI,OAAQ,WAEVrB,QAAS,MACP,OAAgBuI,GAEhB,cAAiB,IAAAhL,IAAG,gDAGxBqM,YAA0BxM,MAAMhB,cAAc,SAAU,CACtD+C,MAAO,CACLG,MAAO,aAGXuK,cAA4BzM,MAAMhB,cAAc,SAAU,UAEzD,S,oHCxDP,MAAM0N,EAAW,EACf5F,QAAAA,GAAU,EACV6F,UAAAA,GAAY,EACZC,sBAAAA,GAAwB,EACxBnM,MAAAA,EACAoM,UAAAA,GAAY,EACZC,UAAAA,EACApM,YAAAA,EACAqM,QAAAA,EACAC,QAAAA,EACAC,YAAAA,EACAC,mBAAAA,MAEA,MAAM,OACJ3G,EAAM,MACN4G,IACE,UACGC,EAAgBC,IAAqB,IAAA1J,YACtC2J,GAAiB,IAAA5G,cAAY,KACjC3I,OAAO4I,KAAK,GAAG9G,OAAO0G,EAAQ,aAAa1G,OAAOkN,EAAS,KAAKlN,OAAO,KAAuD,UAAU0N,QACxIP,MAAAA,GAAkDA,MACjD,CAACA,KAEJ,IAAA7G,YAAU,KACJ8G,GAAeG,IAChBA,MAAAA,OAAuD,EAASA,EAAeI,cAAcA,cAAcC,wBAAwBC,gBAAgB,cAErJ,CAACN,IACJ,MAAMO,EAAOR,MAAAA,OAAqC,EAASA,EAAMS,UAEjE,OAAIX,IAAgBC,EACX,KAGWlN,MAAMhB,cAAc,IAAQ,CAC9C8H,UAASmG,GAAqBnG,EAC9BrG,MAAoBT,MAAMhB,cAAc,OAAQ,KAAmBgB,MAAMhB,cAAc,IAAc,MAAO,IAAQyB,EAAO,KAAQ,IAAAN,IAAG,aACtI0N,KAAMP,EACNtG,SAAUgG,EACV/H,YAAY,IAAA9E,IAAG,yBACf6E,QAAQ,IAAA7E,IAAG,yBACX0C,UAAW,gBACXoF,MAAO6E,EAAY,IAAM,IACzBgB,aAAcb,EAAcC,OAAqB5K,KAC9CwK,GAA0B9M,MAAMhB,cAAc,MAAO,CACxD+C,MAAO,CACLsG,UAAW,IAEbT,IAAK,yDAAyD/H,OAAOiN,KACtD9M,MAAMhB,cAAc,MAAO,CAC1C+C,MAAO,CACLoD,SAAU,IACVnD,OAAQ,QAEV+L,IAAKV,GACSrN,MAAMhB,cAAc,IAAK,MAAM,OAAW0B,IAAemM,GAA0B7M,MAAMhB,cAAc,IAAK,MAAM,IAAAoB,KAAG,IAAAD,IAAG,wEAAyE,CAC/M0E,EAAgB7E,MAAMhB,cAAc,IAAK,CACvCyD,MAAM,IAAAtC,IAAG,sCACTuC,OAAQ,SACRC,IAAK,qBAEDgL,GAAQhB,GAA0B3M,MAAMhB,cAAc,MAAO,CACnE+C,MAAO,CACLoD,SAAU,IACVnD,OAAQ,OACRgM,UAAW,SAEChO,MAAMhB,cAAc,IAAc2O,IAAQf,GAAsC5M,MAAMhB,cAAc,IAAwB,CAC1I+C,MAAO,CACLkM,aAAc,S,kEC1EpB,MAAMC,EAAe,EACnBzN,MAAAA,EACAC,YAAAA,EACAC,KAAAA,EACAC,SAAAA,EACAuN,KAAAA,KAEoBnO,MAAMhB,cAAcgB,MAAMwC,SAAU,KAAmBxC,MAAMhB,cAAc,IAAU,KAAMyB,GAAqBT,MAAMhB,cAAc,IAAM,CAC5JoP,MAAM,EACNrM,MAAO,CACLkM,aAAc,KAEFjO,MAAMhB,cAAc,IAAM,CACxCqP,KAAM,UACH3N,GAA4BV,MAAMhB,cAAc,IAAK,CACxD+C,MAAO,CACLC,OAAQ,IAEIhC,MAAMhB,cAAc,OAAQ,CAC1CsP,wBAAyB,CACvBC,OAAQ7N,KAER,MAAUC,KAAUC,GAAyBZ,MAAMhB,cAAc,IAAK,CACxEyD,KAAM9B,EACN+B,OAAQ,SACRC,IAAK,aACLE,UAAW,eACVjC,KAA0BZ,MAAMhB,cAAc,IAAM,CACrDqP,KAAM,QACNtM,MAAO,CACLyM,UAAW,aAEVL,GAAqBnO,MAAMhB,cAAc,MAAO,CACnD4I,IAAKuG,EACLpM,MAAO,CACLoD,SAAU,oBACVwF,OAAQ,OACR8D,WAAY,U,kHClClB,MAAMC,EAA2B,UAOjC,SAASC,EAAY5B,EAAS6B,GAC5B,MAAO9H,EAAS+H,IAAc,IAAAlL,WAAS,IAErC3C,aACEC,QAAQ,MACNC,MAGF,SACE4N,EAAoC,kBAAlBF,EAA8BA,EAAgB1N,EAChEyF,GAAO,IAAAD,cAAYtC,IACvByK,GAAW,GACXzK,MAAAA,GAAsCA,EAAEqD,mBACvC,CAACoH,IACEvC,GAAM,IAAAyC,UAAQ,IAAMD,EAAW,KAAoB9O,MAAMhB,cAAc,IAAM,CACjF+E,KAAmB/D,MAAMhB,cAAc,IAAgB,MACvDkD,MAAOwM,EACP3M,MAAO,CACLkC,OAAQ,WAEVrB,QAAS+D,GACRoG,EAAQiC,UAAW,IAAA7O,IAAG,oBAAoB,CAACwG,EAAMoG,IAC9CkC,GAAQ,IAAAF,UAAQ,IAAMD,EAAW,KAAoB9O,MAAMhB,cAAc,KAAU,OAAS,CAChG8H,QAASA,EACTkG,QAAS,IAAM6B,GAAW,IACzB9B,KAAW,CAACjG,EAAS+H,EAAY9B,IACpC,MAAO,CACL7L,MAAO4N,EACPxC,IAAAA,EACA2C,MAAAA,EACAtI,KAAAA,K,yECpCJ,SAAS9E,EAAmBqN,EAAqBC,GAAsB,EAAOnI,GAC5E,MAAM,aACJoI,IACE,SACJ,OAAO,IAAAC,aAAY,CACjBC,KAAM,IACNJ,oBAAAA,EACAC,oBAAAA,EACAI,kBAAkB,IAAA7I,cAAY,EAC5B,gBAAiB8I,MAEjB,MAAM,QACJC,EAAO,aACPC,GACEF,EACJJ,EAAaO,0BAA0BF,GACvCL,EAAaQ,+BAA+BF,KAC3C,CAACN,IACJpI,SAAAA,M,oCCtBA6I,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,E,uCAIjF,IAAIC,GAAgBP,EAAS,MAAMO,EAIjCC,YAAYC,EAAQC,IAClB,OAA2BrS,KAAM,KAAM4R,EAAa5R,OAEpD,OAA2BA,KAAM,OAAQ6R,EAAc7R,OAEvD,OAA2BA,KAAM,WAAY8R,EAAc9R,OAE3D,OAA2BA,KAAM,cAAe+R,EAAc/R,OAE9D,OAA2BA,KAAM,OAAQgS,EAAchS,OAEvD,OAA2BA,KAAM,WAAYiS,EAAcjS,MAE3DA,KAAKqS,WAAQ,EACbrS,KAAKsS,8BAA2B,GAChC,IAAAC,cAAY,KAAM,IAAAC,KAAIxS,KAAMoS,KAC5BpS,KAAKqS,MAAQA,EAGftS,wBACE,IACE,OAAO0B,SAASgR,cAAc,+BAA+BC,cAAcC,kCAAkCC,UAAUC,IACvH,MAAO3M,GAEP,QAIJ4M,YAEE,SAAK9S,KAAKqS,MAAMU,UAAUjQ,YAAYC,OAAOC,OAAShD,KAAK4C,WAK3D5C,KAAKgT,cAELC,YAAW,KACT,MAAMC,GAAY,IAAAC,uBAClBnT,KAAKqS,MAAMe,eAAeC,SAAQ,CAACC,EAAcvS,KAC/BmS,EAAUnS,GAElByR,SAA2BpO,IAAvBpE,KAAKuT,SAASxS,GAAqBuS,EAAetT,KAAKuT,SAASxS,SAE7E,KACI,IAGTiS,cACE,MAAME,GAAY,IAAAC,wBACZ,eACJC,GACEpT,KAAKqS,OACH,SACJkB,GACEvT,KAAKqS,MAAMU,UAAUjQ,YAAYC,OAAOyQ,mBACtCC,EAAe,GAErBzT,KAAKsS,yBAA2B,GAEhC,IAAK,MAAMoB,KAAWC,OAAOC,KAAKL,GAAW,CAC3C,MAAMM,EAAkBN,EAASG,GAEjC,IAAK,MAAMI,KAAWH,OAAOC,KAAKC,GAAkB,CAClD,MAAME,EAAeF,EAAgBC,GAErC,IAAKV,EAAeY,IAAID,GACtB,SAGF/T,KAAKsS,yBAAyByB,GAAgB,CAACL,EAASI,EAASZ,EAAUa,GAAclB,OACzF,MAAMoB,EAAWN,OAAOO,UAAUC,eAAeC,KAAKpU,KAAKuT,SAAUQ,GAAgB/T,KAAKuT,SAASQ,GAAgBX,EAAeP,IAAIkB,GACtIN,EAAaY,KAAK,CAACX,EAASI,EAASG,KAIzC/B,EAAaoC,iBAAiBC,qBAAqBC,oBAAoBf,GAGzEgB,mBACMzU,KAAKsS,2BACPJ,EAAaoC,iBAAiBC,qBAAqBC,oBAAoBb,OAAOe,OAAO1U,KAAKsS,2BAC1FtS,KAAKsS,yBAA2B,MAIlCV,GAAc,OAA0BD,EAAOuC,UAAW,KAAM,CAAC,EAAAS,YAAa,CAChFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXlD,GAAe,OAA0BF,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXjD,GAAe,OAA0BH,EAAOuC,UAAW,WAAY,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXhD,GAAe,OAA0BJ,EAAOuC,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX/C,GAAe,OAA0BL,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX9C,GAAe,OAA0BN,EAAOuC,UAAW,WAAY,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACVpD,I,oCChIKA,E,8BAKV,IAAIqD,EAA4B,EAAAC,iBAAA,SAA0B,CACxD7T,KAAM,eACN8T,WAAY,mBACZ7T,UAAW,QACX8T,QAAS,CAAC,EAAAC,cAAA,KACVC,QAAO,KACLC,CAAK3D,EAAS,cAAgC,EAAA4D,uBAChDpD,YAAYE,GACVmD,QACAxV,KAAKqS,WAAQ,EACbrS,KAAKqS,MAAQA,EAGfoD,SAASC,GACP,OAAO,IAAI,IAAa1V,MAAM2V,aAAaD,OAGzC/D,G,oCClBIA,EAAQiE,EAAShE,E,sEAO3B,IAAIiE,EAAuB,EAAAC,YAAA,SAAqB,CAC9CC,MAAO,KACP1U,UAAW,QACXgU,QAAO,IACPW,OAAQ,CACN5U,KAAM,gBAER6U,MAAO,CACL7U,KAAM,oBAER8U,OAAQ,CACN9U,KAAM,qBAENkU,EAAeM,EAAU,cAA2B,EAAAO,aAClDC,YACF,IAAIC,EAEJ,OAAoC,QAA5BA,EAAarW,KAAKsW,YAAiC,IAAfD,OAAwB,EAASA,EAAWE,KAAKH,MAAM3V,MAAM,MAGvG+V,iBACF,IAAIC,EAGJ,OAAoC,QAA7BA,EAAczW,KAAKsW,YAAkC,IAAhBG,GAA0BA,EAAYF,KAAKC,WAIhFxW,KAAKsW,KAAKC,KAAKC,WAAW/V,MAAM,KAAKkN,OAAO+I,SAAShW,IAAIiW,QAHvD,GAMPC,eACF,IAAIC,EAEJ,OAAqC,QAA7BA,EAAc7W,KAAKsW,YAAkC,IAAhBO,OAAyB,EAASA,EAAYN,KAAKK,SAASnW,MAAM,KAAKkN,OAAO+I,SAAShW,IAAIiW,QAG1IxE,YAAY2E,EAAYR,EAAO,IAC7Bd,MAAMsB,EAAYR,IAElB,OAA2BtW,KAAM,cAAe4R,EAAa5R,OAE7D,IAAA+W,WAAS,KACP,IAAIC,EAEJ,OAAqC,QAA7BA,EAAchX,KAAKsW,YAAkC,IAAhBU,OAAyB,EAASA,EAAY5E,UAC1FA,IAAU,IAAAG,cAAY,KACvBvS,KAAKiX,YAAc7E,EAAS,IAAI,IAAcA,EAAQ,0BAA6BhO,MACjF,CACF8S,iBAAiB,IAIrBC,QAAQC,GACNpX,KAAKsW,KAAK/T,MAAM8U,SAAWD,EAG7BE,UAAUC,GACRvX,KAAKsW,KAAKiB,OAASA,EAGrBC,eAAeC,GACbzX,KAAKsW,KAAKoB,QAAQL,SAAWI,EAG/BE,QAAQpB,GACNvW,KAAKsW,KAAKC,KAAOA,EAGnBqB,wBACE,MAAMtB,EAAOd,MAAMoC,wBACnB,MAAO,CACLrV,MAAO+T,EAAK/T,MACZmV,QAASpB,EAAKoB,QACdH,OAAQjB,EAAKiB,OACbhB,KAAMD,EAAKC,KACXsB,KAAMvB,EAAK/T,OAIfuV,aACE9X,KAAK8W,WAAWzE,MAAM0F,SAAS1F,MAAMU,UAAUjQ,YAAYkV,uBAG7DC,cACEjY,KAAK8W,WAAWzE,MAAM0F,SAAS1F,MAAMU,UAAUjQ,YAAYkV,uBAG7DE,eACElY,KAAK8W,WAAWzE,MAAM0F,SAAS1F,MAAMU,UAAUjQ,YAAYkV,yBAG3DpG,GAAc,OAA0BgE,EAAQ1B,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0Ba,EAAQ1B,UAAW,QAAS,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,SAAU0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,aAAc,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,cAAe0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,WAAY,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,YAAa0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,UAAW,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,WAAY0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,YAAa,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,aAAc0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,iBAAkB,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,kBAAmB0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,UAAW,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,WAAY0B,EAAQ1B,WApF9hCvC,EAoF2iCiE,KAAajE,G,oCCxG7jCA,EAAQC,EAAaC,EAAcC,E,kDAKvC,IAAIwG,GAAiB3G,EAAS,MACxB4G,kBACF,MAAM,SACJC,GACExY,KAAKsW,MACH,UACJnN,GACEnJ,KAAKqS,MAAMU,UAAUjQ,YACzB,OAAO0V,EAASC,WAAW,QAAUD,EAAW,GAAG7W,OAAOwH,EAAW,iBAAiBxH,OAAO6W,GAG/FrG,YAAYC,EAAQC,IAClB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,OAAQ6R,EAAc7R,OAEvD,OAA2BA,KAAM,aAAc8R,EAAc9R,MAE7DA,KAAKqS,WAAQ,EACbrS,KAAK0Y,iBAAkB,IAAAC,OAAK,YAC1B,IACE3Y,KAAK4Y,MAAO,EACZ,MAAMlD,QAAiB,OAAQ,CAC7BvU,SAAU,IACV0X,OAAQ,CACNC,WAAY9Y,KAAKsW,KAAKwC,cAG1B9Y,KAAK+Y,WAAarD,EAClB,MAAOxP,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK4Y,MAAO,OAGhB,IAAArG,cAAY,KACVvS,KAAKsW,KAAOlE,KAEdpS,KAAKqS,MAAQA,IAIbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXjD,GAAe,OAA0BH,EAAOuC,UAAW,aAAc,CAAC,EAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,cAAe,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,eAAgBvC,EAAOuC,WAAavC,I,kCCjE7JA,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,EAAciH,EAAcC,EAAcC,EAAcC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,E,8BAGta,IAAIC,GAAW9I,EAAS,MAClB+I,eACF,OAAO1a,KAAKqS,MAAMsI,UAAU9H,IAAI7S,KAAK4a,eAGnCC,2BACF,OAAO7a,KAAKqS,MAAMyI,qBAAqBjI,IAAI7S,KAAK+a,2BAG9CC,6BACF,MAAM,cACJC,GACEjb,KACJ,OAAOib,EAAgBA,EAAcC,OAAO,GAAGC,cAAgBF,EAAcG,MAAM,GAAK,GAMtFC,aACF,OAAOC,KAAKC,MAAMD,KAAKE,UAAU,IAAKxb,KAAKyb,MACzCf,SAAU1a,KAAK0a,SAASpE,KACxBuE,qBAAsB7a,KAAK6a,qBAAqBvE,QAIpDnE,YAAYuJ,EAASrJ,IACnB,OAA2BrS,KAAM,KAAM4R,EAAa5R,OAEpD,OAA2BA,KAAM,iBAAkB6R,EAAc7R,OAEjE,OAA2BA,KAAM,iBAAkB8R,EAAc9R,OAEjE,OAA2BA,KAAM,OAAQ+R,EAAc/R,OAEvD,OAA2BA,KAAM,OAAQgS,EAAchS,OAEvD,OAA2BA,KAAM,YAAaiS,EAAcjS,OAE5D,OAA2BA,KAAM,YAAakZ,EAAclZ,OAE5D,OAA2BA,KAAM,OAAQmZ,EAAcnZ,OAEvD,OAA2BA,KAAM,oBAAqBoZ,EAAcpZ,OAEpE,OAA2BA,KAAM,WAAYqZ,EAAerZ,OAE5D,OAA2BA,KAAM,kBAAmBsZ,EAAetZ,OAEnE,OAA2BA,KAAM,UAAWuZ,EAAevZ,OAE3D,OAA2BA,KAAM,UAAWwZ,EAAexZ,OAE3D,OAA2BA,KAAM,oBAAqByZ,EAAezZ,OAErE,OAA2BA,KAAM,MAAO0Z,EAAe1Z,OAEvD,OAA2BA,KAAM,gBAAiB2Z,EAAe3Z,OAEjE,OAA2BA,KAAM,eAAgB4Z,EAAe5Z,OAEhE,OAA2BA,KAAM,gBAAiB6Z,EAAe7Z,OAEjE,OAA2BA,KAAM,4BAA6B8Z,EAAe9Z,OAE7E,OAA2BA,KAAM,iBAAkB+Z,EAAe/Z,OAElE,OAA2BA,KAAM,UAAWga,EAAeha,OAE3D,OAA2BA,KAAM,iBAAkBia,EAAeja,OAElE,OAA2BA,KAAM,kBAAmBka,EAAela,OAEnE,OAA2BA,KAAM,cAAema,EAAena,OAE/D,OAA2BA,KAAM,cAAeoa,EAAepa,OAE/D,OAA2BA,KAAM,qBAAsBqa,EAAera,OAEtE,OAA2BA,KAAM,YAAasa,EAAeta,OAE7D,OAA2BA,KAAM,oBAAqBua,EAAeva,OAErE,OAA2BA,KAAM,aAAcwa,EAAexa,MAE9DA,KAAKqS,WAAQ,EACbrS,KAAKyb,WAAQ,GACb,IAAAlJ,cAAY,KAAM,IAAAC,KAAIxS,KAAM0b,KAC5B1b,KAAKqS,MAAQA,EACbrS,KAAKyb,MAAQC,EAGfC,iBACE,OAAOC,QAAQC,IAAI,CAAC7b,KAAKqS,MAAMyJ,cAAc,CAC3CC,KAAM/b,KAAK4a,gBACT5a,KAAKqS,MAAM2J,yBAAyB,CACtCD,KAAM/b,KAAK+a,gCAIbnJ,GAAc,OAA0BD,EAAOuC,UAAW,KAAM,CAAC,EAAAS,YAAa,CAChFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXlD,GAAe,OAA0BF,EAAOuC,UAAW,iBAAkB,CAAC,EAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXjD,GAAe,OAA0BH,EAAOuC,UAAW,iBAAkB,CAAC,EAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXhD,GAAe,OAA0BJ,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX/C,GAAe,OAA0BL,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX9C,GAAe,OAA0BN,EAAOuC,UAAW,YAAa,CAAC,EAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXmE,GAAe,OAA0BvH,EAAOuC,UAAW,YAAa,CAAC,EAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXoE,GAAe,OAA0BxH,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXqE,GAAe,OAA0BzH,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXsE,GAAgB,OAA0B1H,EAAOuC,UAAW,WAAY,CAAC,EAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXuE,GAAgB,OAA0B3H,EAAOuC,UAAW,kBAAmB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXwE,GAAgB,OAA0B5H,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXyE,GAAgB,OAA0B7H,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX0E,GAAgB,OAA0B9H,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX2E,GAAgB,OAA0B/H,EAAOuC,UAAW,MAAO,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX4E,GAAgB,OAA0BhI,EAAOuC,UAAW,gBAAiB,CAAC,EAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX6E,GAAgB,OAA0BjI,EAAOuC,UAAW,eAAgB,CAAC,EAAAS,YAAa,CAC5FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX8E,GAAgB,OAA0BlI,EAAOuC,UAAW,gBAAiB,CAAC,EAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX+E,GAAgB,OAA0BnI,EAAOuC,UAAW,4BAA6B,CAAC,EAAAS,YAAa,CACzGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXgF,GAAgB,OAA0BpI,EAAOuC,UAAW,iBAAkB,CAAC,EAAAS,YAAa,CAC9FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXiF,GAAgB,OAA0BrI,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXkF,GAAgB,OAA0BtI,EAAOuC,UAAW,iBAAkB,CAAC,EAAAS,YAAa,CAC9FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXmF,GAAgB,OAA0BvI,EAAOuC,UAAW,kBAAmB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXoF,GAAgB,OAA0BxI,EAAOuC,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC3FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXqF,GAAgB,OAA0BzI,EAAOuC,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC3FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXsF,GAAgB,OAA0B1I,EAAOuC,UAAW,qBAAsB,CAAC,EAAAS,YAAa,CAClGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXuF,GAAgB,OAA0B3I,EAAOuC,UAAW,YAAa,CAAC,EAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXwF,GAAgB,OAA0B5I,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXyF,GAAgB,OAA0B7I,EAAOuC,UAAW,aAAc,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,WAAY,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,YAAavC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,uBAAwB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,wBAAyBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,yBAA0B,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,0BAA2BvC,EAAOuC,WAAavC,I,oCC1PjfA,EAAQiE,E,4DAOlB,IAAIqG,EAA2B,EAAAhH,iBAAA,SAA0B,CACvD7T,KAAM,cACN8T,WAAY,kBACZ7T,UAAW,QACX8T,QAAS,CAAC,EAAAC,cAAA,KACVC,QAAO,KACLC,EAAeM,EAAU,cAA+B,EAAAL,uBACtD2G,oBACF,MAAMC,EAASC,MAAMC,KAAKrc,KAAKsc,QAAQ5H,UAiBvC,OAhBAyH,EAAOI,MAAK,CAAC5V,EAAG6V,IACV7V,EAAE2P,KAAKmG,WAAaD,EAAElG,KAAKmG,YACrB,EACC9V,EAAE2P,KAAKmG,WAAaD,EAAElG,KAAKmG,YAIhC9V,EAAE5F,IAAMyb,EAAEzb,IAHP,EAKI4F,EAAE5F,IAAMyb,EAAEzb,KACX,EAED,IAINob,EAIThK,YAAYE,GACVmD,QACAxV,KAAKqS,WAAQ,EACbrS,KAAK0c,cAAe,IAAA/D,OAAK,UAAWgE,GAClC3c,KAAK4Y,MAAO,EAEZ,UACQ,OAAQ,CACZzX,SAAU,IACVkU,QAAS,CACPsH,IAAAA,KAIJ,IAAI/O,EAAI,EAER,IAAK,MAAMvL,KAAMsa,EACA3c,KAAKsc,QAAQzJ,IAAIxQ,GACzBua,SAAShP,GAChBA,IAEF,MAAO1H,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK4Y,MAAO,MAGhB5Y,KAAKqS,MAAQA,EAGfoD,SAASC,GACP,OAAO,IAAI,IAAY1V,MAAM2V,aAAaD,MAG1C,OAA0BE,EAAQ1B,UAAW,gBAAiB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,iBAAkB0B,EAAQ1B,WA1DlJvC,EA0D+JiE,KAAajE,G,oCCvE3KA,EAAQiE,E,4DAOlB,IAAIiH,EAAgC,EAAA5H,iBAAA,SAA0B,CAC5D7T,KAAM,oBACN8T,WAAY,wBACZ7T,UAAW,QACX8T,QAAS,CAAC,EAAAC,cAAA,KACVC,QAAO,KACLC,EAAeM,EAAU,cAAoC,EAAAkH,2BAC3DC,mBACF,MAAMZ,EAASC,MAAMC,KAAKrc,KAAKsc,QAAQ5H,UAUvC,OATAyH,EAAOI,MAAK,CAAC5V,EAAG6V,IACV7V,EAAE2P,KAAKC,KAAKyG,MAAQR,EAAElG,KAAKC,KAAKyG,OAC1B,EACCrW,EAAE2P,KAAKC,KAAKyG,MAAQR,EAAElG,KAAKC,KAAKyG,MAClC,EAEA,IAGJb,EAGThK,YAAYE,GACVmD,QACAxV,KAAKqS,WAAQ,EACbrS,KAAKid,mBAAoB,IAAAtE,OAAK,UAAWgE,GACvC3c,KAAK4Y,MAAO,EAEZ,UACQ,OAAQ,CACZzX,SAAU,IACVkU,QAAS,CACPsH,IAAAA,KAIJ,IAAI/O,EAAI,EAER,IAAK,MAAMvL,KAAMsa,EACD3c,KAAKsc,QAAQzJ,IAAIxQ,GACzBua,SAAShP,GACfA,IAEF,MAAO1H,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK4Y,MAAO,MAGhB5Y,KAAKqS,MAAQA,EAIfoD,SAASC,GACP,OAAO,IAAI,IAAiB1V,MAAM2V,aAAaD,MAG/C,OAA0BE,EAAQ1B,UAAW,eAAgB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,gBAAiB0B,EAAQ1B,WAnDhJvC,EAmD6JiE,KAAajE,G,oCC9DzKA,EAAQiE,EAAShE,EAAaC,E,4DAMxC,IAAIqL,EAA2B,EAAApH,YAAA,SAAqB,CAClDC,MAAO,KACP1U,UAAW,QACXgU,QAAO,IACPW,OAAQ,CACN5U,KAAM,qBAER6U,MAAO,CACL7U,KAAM,yBAER8U,OAAQ,CACN9U,KAAM,0BAENkU,EAAeM,EAAU,cAA+B,EAAAuH,iBACtDC,mBAEF,OAAOpd,KAAKqd,kBAAoBrd,KAAKsd,QAAQhB,QAAQ1W,KAAO5F,KAAKsW,KAAK/J,MAGxE4F,YAAY2E,EAAYR,EAAO,IAC7Bd,MAAMsB,EAAYR,IAElB,OAA2BtW,KAAM,UAAW4R,EAAa5R,OAEzD,OAA2BA,KAAM,oBAAqB6R,EAAc7R,MAEpEA,KAAKud,cAAe,IAAA5E,OAAK,kBACjB3Y,KAAKsd,QAAQzK,IAAI,CACrBwC,QAAS,CACPkC,OAAQ,CAAC,QAAS,UAAW,YAE/BsB,OAAQ,CAEN2E,SAAU,IAEV,mBAAoBxd,KAAKe,IACzBd,QAAS,UAGbD,KAAKqd,mBAAoB,MAE3B,IAAA9K,cAAY,KACVvS,KAAKsd,QAAU,IAAI,IAAiBtd,SAIxCmX,QAAQC,GACNpX,KAAKsW,KAAKc,KAAOA,EAGnBI,eAAehV,GACbxC,KAAKsW,KAAK9T,YAAcA,EAG1Boa,SAASI,GACPhd,KAAKsW,KAAKC,KAAKyG,MAAQA,EAIzB/E,cACEjY,KAAK8W,WAAWzE,MAAMU,UAAUjQ,YAAYkV,uBAG9CF,aACE9X,KAAK8W,WAAWzE,MAAMU,UAAUjQ,YAAYkV,uBAG9CE,eACElY,KAAK8W,WAAWzE,MAAMU,UAAUjQ,YAAYkV,yBAG5CpG,GAAc,OAA0BgE,EAAQ1B,UAAW,UAAW,CAAC,EAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXlD,GAAe,OAA0B+D,EAAQ1B,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,MAEP,OAA0Ba,EAAQ1B,UAAW,eAAgB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,gBAAiB0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,UAAW,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,WAAY0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,iBAAkB,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,kBAAmB0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,WAAY,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,YAAa0B,EAAQ1B,WAtE/lBvC,EAsE4mBiE,KAAajE,G,oCCzFxnBA,EAAQiE,EAAShE,E,sEAO3B,IAAI6L,EAAsB,EAAA3H,YAAA,SAAqB,CAC7CC,MAAO,KACP1U,UAAW,QACXgU,QAAO,IACPW,OAAQ,CACN5U,KAAM,eAER6U,MAAO,CACL7U,KAAM,mBAER8U,OAAQ,CACN9U,KAAM,oBAENkU,EAAeM,EAAU,cAA0B,EAAAO,aACjDpD,gBACF,OAAO/S,KAAK8W,WAAWzE,MAAMyE,WAAWzE,MAAMU,UAG5C2K,2BACF,OAAOpC,KAAKC,MAAMvb,KAAKsW,KAAKC,KAAKmH,sBAG/BC,mBACF,OAAOrC,KAAKC,MAAMvb,KAAKsW,KAAKC,KAAKoH,cAAgB,MAGnDxL,YAAY2E,EAAYR,EAAO,IAC7Bd,MAAMsB,EAAYR,IAElB,OAA2BtW,KAAM,cAAe4R,EAAa5R,MAE7DA,KAAKqS,WAAQ,GACb,IAAA0E,WAAS,KACP,IAAIV,EAEJ,OAAoC,QAA5BA,EAAarW,KAAKsW,YAAiC,IAAfD,OAAwB,EAASA,EAAWjE,UACvFA,IAAU,IAAAG,cAAY,KACvBvS,KAAKiX,YAAc7E,EAAS,IAAI,IAAaA,EAAQ,0BAA6BhO,MAChF,CACF8S,iBAAiB,IAIrBY,aAEE,MAAM8F,EAAS5d,KAAK8W,WAAWzE,MAAMyE,YAC9B+G,GAAa7d,KAAKsW,KAAK,oBAC9BsH,EAAOtB,QAAQjJ,SAAQyK,IACjBD,IAAcC,EAAM/c,IACtB+c,EAAMR,QAAQhB,QAAQpG,OAAOlW,KAAKe,KAElC+c,EAAMR,QAAQhB,QAAQ9J,IAAIxS,KAAKe,IAAKf,SAGxCA,KAAK+S,UAAUjQ,YAAYkV,uBAC3BhY,KAAK+S,UAAUgL,YAAYC,kBAAkB9H,OAAOlW,KAAKe,KAG3D6b,SAASI,GAEPhd,KAAKsW,KAAKmG,WAAaO,EAGzB7F,QAAQC,GACNpX,KAAKsW,KAAK/T,MAAM8U,SAAWD,EAG7BE,UAAUC,GACRvX,KAAKsW,KAAKiB,OAASA,EAGrB0G,WAAWxG,GACTzX,KAAKsW,KAAKoB,QAAQL,SAAWI,EAG/ByG,SAASJ,GACP9d,KAAKsW,KAAK,oBAAsB,CAACwH,GAGnCnG,QAAQpB,GACNvW,KAAKsW,KAAKC,KAAOA,EAGnB4H,0BAEE,MAAO,IADM3I,MAAM2I,0BAEjB,mBAAoB,CAACne,KAAK8W,WAAWzE,MAAMtR,MAI/C6W,wBACE,MAAMtB,EAAOd,MAAMoC,wBACnB,MAAO,CACLrV,MAAO+T,EAAK/T,MACZmV,QAASpB,EAAKoB,QACdH,OAAQjB,EAAKiB,OACbhB,KAAMD,EAAKC,KAEXkG,WAAYnG,EAAKmG,WACjB,mBAAoBzc,KAAKsW,KAAK,oBAE9BuB,KAAMvB,EAAK/T,OAIf0V,cACEjY,KAAK8W,WAAWzE,MAAMiL,QAAQjL,MAAMyE,WAAWzE,MAAMU,UAAUjQ,YAAYkV,uBAG7EE,eACE,MAAM,YACJpV,EAAW,eACXiC,GACE/E,KAAK8W,WAAWzE,MAAMiL,QAAQjL,MAAMyE,WAAWzE,MAAMU,UACzDjQ,EAAYkV,uBACZjT,EAAeqZ,2BAA2B,gBAG1CxM,GAAc,OAA0BgE,EAAQ1B,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0Ba,EAAQ1B,UAAW,YAAa,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,aAAc0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,uBAAwB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,wBAAyB0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,eAAgB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,gBAAiB0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,aAAc,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,cAAe0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,WAAY,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,YAAa0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,UAAW,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,WAAY0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,YAAa,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,aAAc0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,aAAc,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,cAAe0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,WAAY,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,YAAa0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,UAAW,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,WAAY0B,EAAQ1B,WA9GngDvC,EA8GghDiE,KAAajE,G,oCClIliDA,EAAQC,EAAaC,EAAcC,E,kDAKvC,IAAIuM,GAAgB1M,EAAS,MACvB4G,kBACF,MAAM,SACJC,GACExY,KAAKsW,MACH,UACJnN,GACEnJ,KAAKqS,MAAMU,UAAUjQ,YACzB,OAAO0V,EAASC,WAAW,QAAUD,EAAW,GAAG7W,OAAOwH,EAAW,iBAAiBxH,OAAO6W,GAG/FrG,YAAYC,EAAQC,IAClB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,OAAQ6R,EAAc7R,OAEvD,OAA2BA,KAAM,aAAc8R,EAAc9R,MAE7DA,KAAKqS,WAAQ,EACbrS,KAAK0Y,iBAAkB,IAAAC,OAAK,YAC1B,IACE3Y,KAAK4Y,MAAO,EACZ,MAAMlD,QAAiB,OAAQ,CAC7BvU,SAAU,IACV0X,OAAQ,CACNC,WAAY9Y,KAAKsW,KAAKwC,cAG1B9Y,KAAK+Y,WAAarD,EAClB,MAAOxP,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK4Y,MAAO,OAGhB,IAAArG,cAAY,KACVvS,KAAKsW,KAAOlE,KAEdpS,KAAKqS,MAAQA,IAIbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXjD,GAAe,OAA0BH,EAAOuC,UAAW,aAAc,CAAC,EAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,cAAe,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,eAAgBvC,EAAOuC,WAAavC,I,gCCrEjK,MAAM2M,EAEJnM,YAAYC,EAAQC,GAClBrS,KAAKsW,UAAO,EACZtW,KAAKqS,WAAQ,EACbrS,KAAKsW,KAAOlE,EACZpS,KAAKqS,MAAQA,K,gCCNjB,MAAMkM,EAEJpM,YAAYC,EAAQC,GAClBrS,KAAKsW,UAAO,EACZtW,KAAKqS,WAAQ,EACbrS,KAAKsW,KAAOlE,EACZpS,KAAKqS,MAAQA,K,oCCFbV,EAAQC,EAAaC,E,4DAKzB,IAAI2M,GAA4B7M,EAAS,MACnCmH,iBACF,OAAO9Y,KAAKsW,KAAK3J,KAGf8R,eACF,MAA8B,SAAvBze,KAAK0e,eAA4B1e,KAAKsW,KAAKqI,QAGhDD,oBACF,MAAM,WACJE,EAAU,aACVC,GACE7e,KAAKsW,KACT,OAAwB,IAAjBuI,EAAqB,OAASD,IAAeC,EAAe,OAAS,UAG1EC,wBACF,OAAQ9e,KAAK0e,eACX,IAAK,OACH,OAAO,IAAAzc,IAAG,iBAEZ,IAAK,UACH,OAAO,IAAAA,IAAG,qBAEZ,QACE,OAAO,IAAAA,IAAG,gBAIhBkQ,YAAY4M,EAAa1M,IACvB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,OAAQ6R,EAAc7R,MAEvDA,KAAKqS,WAAQ,EACbrS,KAAKgf,QAAS,IAAArG,OAAK,UAAWsG,GAAQ,GACpC,UACQ,OAAQ,CACZ9d,SAAU,IACVkU,QAAS,CACPsJ,QAASM,GAEXpG,OAAQ,CACNlM,KAAM3M,KAAKsW,KAAK3J,KAAKuS,QAAQ,MAAO,QAGxClf,KAAKsW,KAAKqI,QAAUM,EACpB,MAAO/Y,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,OAGV,IAAAqM,cAAY,KACVvS,KAAKsW,KAAOyI,KAEd/e,KAAKqS,MAAQA,IAIbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,aAAc,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,cAAevC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,WAAY,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,YAAavC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,gBAAiB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,iBAAkBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,oBAAqB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,qBAAsBvC,EAAOuC,WAAavC,I,oCC7EznBA,EAAQC,EAAaC,E,wCAIzB,IAAIsN,GAAkCxN,EAAS,MACzCyN,aACF,OAAOpf,KAAKqS,MAAMgN,aAAaxM,IAAI7S,KAAKsW,KAAKjU,IAG3Cid,yBACF,OAAO,OAAetf,KAAKsW,KAAKiJ,WAAY,GAAI,SAG9CC,wBACF,OAAO,OAAexf,KAAKsW,KAAKmJ,UAAW,GAAI,SAGjDtN,YAAYC,EAAQC,IAClB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,OAAQ6R,EAAc7R,MAEvDA,KAAKqS,WAAQ,EACbrS,KAAK0f,aAAc,IAAA/G,OAAK,kBAChB3Y,KAAKqS,MAAMqN,YAAY1f,KAAKsW,KAAKjU,QAEzC,IAAAkQ,cAAY,KACVvS,KAAKsW,KAAOlE,KAEdpS,KAAKqS,MAAQA,IAIbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,SAAU,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,UAAWvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,qBAAsB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,sBAAuBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,oBAAqB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,qBAAsBvC,EAAOuC,WAAavC,I,oCC7CreA,EAAQC,EAAaC,EAAcC,E,kDAKvC,IAAI6N,GAAuBhO,EAAS,MAC9BmH,iBACF,OAAO9Y,KAAKsW,KAAKwC,WAGfP,kBACF,MAAM,SACJC,GACExY,KAAKsW,MACH,UACJnN,GACEnJ,KAAKqS,MAAMU,UAAUjQ,YACzB,OAAO0V,EAASC,WAAW,QAAUD,EAAW,GAAG7W,OAAOwH,EAAW,iBAAiBxH,OAAO6W,GAO3FiG,eACF,OAAOze,KAAKsW,KAAKsJ,QAGnBzN,YAAYC,EAAQC,IAClB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,OAAQ6R,EAAc7R,OAEvD,OAA2BA,KAAM,aAAc8R,EAAc9R,MAE7DA,KAAKqS,WAAQ,EACbrS,KAAK0Y,iBAAkB,IAAAC,OAAK,YAC1B,IACE3Y,KAAK4Y,MAAO,EACZ,MAAMlD,QAAiB,OAAQ,CAC7BvU,SAAU,IACV0X,OAAQ,CACNC,WAAY9Y,KAAKsW,KAAKwC,cAG1B9Y,KAAK+Y,WAAarD,EAClB,MAAOxP,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK4Y,MAAO,OAGhB,IAAArG,cAAY,KACVvS,KAAKsW,KAAOlE,KAEdpS,KAAKqS,MAAQA,IAIbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXjD,GAAe,OAA0BH,EAAOuC,UAAW,aAAc,CAAC,EAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,aAAc,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,cAAevC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,cAAe,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,eAAgBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,WAAY,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,YAAavC,EAAOuC,WAAavC,I,oCC7E7cA,EAAQC,EAAaC,E,8BAGzB,IAAIgO,GAAclO,EAAS,MACzBQ,YAAYmE,EAAMwJ,EAASzN,IACzB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,UAAW6R,EAAc7R,MAE1DA,KAAKqS,WAAQ,GACb,IAAAE,cAAY,KACVvS,KAAK8f,QAAUA,EACf9f,KAAKsW,KAAOA,KAEdtW,KAAKqS,MAAQA,IAGbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXlD,GAAe,OAA0BF,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACVpD,I,oCC3BDA,EAAQC,EAAaC,E,8BAGzB,IAAIkO,GAAcpO,EAAS,MACzBQ,YAAYmE,EAAMwJ,EAASzN,IACzB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,UAAW6R,EAAc7R,MAE1DA,KAAKqS,WAAQ,GACb,IAAAE,cAAY,KACVvS,KAAK8f,QAAUA,EACf9f,KAAKsW,KAAOA,KAEdtW,KAAKqS,MAAQA,IAGbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXlD,GAAe,OAA0BF,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACVpD,I,oCC3BDA,EAAQC,E,wCAIZ,IAAIoO,GAAarO,EAAS,MAIpBsO,0BACF,IAAK,MAAMC,KAAKlgB,KAAKqS,MAAM8N,qBAAqB7D,QAAQ5H,SACtD,GAAIwL,EAAEE,YAAY9J,KAAKjU,KAAOrC,KAAKsW,KAAKjU,GACtC,OAAO6d,EAOTG,8BACF,MAAM,YACJC,EAAW,oBACXC,EAAmB,cACnBC,EAAa,oBACbC,EAAmB,wBACnBJ,GACErgB,KAAKsW,KACH6F,EAASkE,MAAAA,GAA0EA,EAAwBK,YAAY1a,OAAS,IAAIqa,EAAwBK,aAAe,GAwBjL,OAtBID,GACFtE,EAAOwE,QAAQ,CACbvP,KAAM,QACN0H,WAAY,IACZ8H,cAAUxc,EACVoc,mBAAepc,EACfyc,OAAQ,IACRC,cAAe,OAIfR,GACFnE,EAAOwE,QAAQ,CACbvP,KAAM,WACN0H,WAAY,IACZ8H,cAAUxc,EACVoc,cAAAA,EACAK,OAAQ,IACRC,cAAeP,IAIZpE,EAGL4E,kBACF,MAAO,IAAI/gB,KAAKghB,kBAAmBhhB,KAAK4gB,YAAa5gB,KAAKihB,iBAAiBtT,OAAO+I,SAGhFwK,kBACF,MAAO,IAAIlhB,KAAKmhB,YAAanhB,KAAKohB,iBAAiBzT,OAAO+I,SAQxD2K,0BACF,MAAMlF,EAAS,CACbmF,OAAQ,IAGV,IAAK,MAAM7J,IAAW,IAAIzX,KAAKghB,kBAAmBhhB,KAAK4gB,UACrDzE,EAAOmF,OAAO7J,EAAQnB,KAAKjU,GAAGkf,YAAc,CAC1CC,SAAS,EACTC,OAAQzhB,KAAKghB,eAAe7a,QAAQsR,IAAY,IAAMA,EAAQqI,QAAU,MAAQ,MAIpF,OAAO3D,EAOLyE,eACF,IAAIvK,EAEJ,OAAoC,QAA5BA,EAAarW,KAAKsW,YAAiC,IAAfD,OAAwB,EAASA,EAAWuK,SAASlgB,KAAI2B,GAAMrC,KAAKqS,MAAMuO,SAAS/N,IAAI,GAAGlR,OAAOU,MAG3I2e,qBACF,IAAIvK,EAEJ,OAAqC,QAA7BA,EAAczW,KAAKsW,YAAkC,IAAhBG,OAAyB,EAASA,EAAYuK,eAAetgB,KAAI2B,GAAMrC,KAAKqS,MAAMuO,SAAS/N,IAAI,GAAGlR,OAAOU,MAGpJqf,uBACF,IAAI7K,EAEJ,OAAqC,QAA7BA,EAAc7W,KAAKsW,YAAkC,IAAhBO,OAAyB,EAASA,EAAY6K,iBAAiBhhB,KAAI2B,GAAMrC,KAAKqS,MAAMuO,SAAS/N,IAAI,GAAGlR,OAAOU,MAGtJ4e,sBACF,IAAIjK,EAEJ,OAAqC,QAA7BA,EAAchX,KAAKsW,YAAkC,IAAhBU,OAAyB,EAASA,EAAYiK,gBAAgBvgB,KAAI2B,GAAMrC,KAAKqS,MAAM4O,gBAAgBpO,IAAI,GAAGlR,OAAOU,MAG5J8e,eACF,IAAIQ,EAEJ,OAAqC,QAA7BA,EAAc3hB,KAAKsW,YAAkC,IAAhBqL,OAAyB,EAASA,EAAYR,SAASzgB,KAAI2B,GAAMrC,KAAKqS,MAAM8O,SAAStO,IAAI,GAAGlR,OAAOU,MAG9I+e,sBACF,IAAIQ,EAEJ,OAAqC,QAA7BA,EAAc5hB,KAAKsW,YAAkC,IAAhBsL,OAAyB,EAASA,EAAYR,gBAAgB1gB,KAAI2B,GAAMrC,KAAKqS,MAAM+O,gBAAgBvO,IAAI,GAAGlR,OAAOU,MAGhK8P,YAAYmE,EAAMjE,IAChB,OAA2BrS,KAAM,OAAQ4R,EAAa5R,MAEtDA,KAAKqS,WAAQ,GACb,IAAAE,cAAY,KACVvS,KAAKsW,KAAOA,KAEdtW,KAAKqS,MAAQA,IAGbT,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,sBAAuB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,uBAAwBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,0BAA2B,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,2BAA4BvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,cAAe,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,eAAgBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,cAAe,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,eAAgBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,sBAAuB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,uBAAwBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,WAAY,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,YAAavC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,iBAAkB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,kBAAmBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,mBAAoB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,oBAAqBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,kBAAmB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,mBAAoBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,WAAY,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,YAAavC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,kBAAmB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,mBAAoBvC,EAAOuC,WAAavC,I,mCC5I3vDA,E,8BAKV,IAAIkQ,EAA2C,EAAA5M,iBAAA,SAA0B,CACvE7T,KAAM,uBACN8T,WAAY,2BACZ7T,UAAW,QACX8T,QAAS,CAAC,EAAAC,cAAA,KACVC,QAAO,KACLC,CAAK3D,EAAS,cAA+C,EAAA4D,uBAC/DpD,YAAYE,GACVmD,QACAxV,KAAKqS,WAAQ,EACbrS,KAAKqS,MAAQA,EAGfoD,SAASC,GACP,OAAO,IAAI,IAA4B1V,MAAM2V,aAAaD,OAGxD/D,G,oCClBIA,EAAQiE,EAAShE,E,+EAO3B,IAAIkQ,EAAsC,EAAAhM,YAAA,SAAqB,CAC7DC,MAAO,KACP1U,UAAW,QACXgU,QAAO,IACPW,OAAQ,CACN5U,KAAM,wBAER6U,MAAO,CACL7U,KAAM,4BAER8U,OAAQ,CACN9U,KAAM,6BAENkU,EAAeM,EAAU,cAA0C,EAAAO,aAIjE4L,gBACF,QAAS/hB,KAAKogB,YAGZiB,0BACF,IAAIW,EAAmBC,EAGvB,MAAMC,EAA+F,WAAlEliB,KAAK8W,WAAWzE,MAAMU,UAAUjQ,YAAYqf,kBACzEC,GAA0E,QAA1CJ,EAAoBhiB,KAAKogB,mBAA+C,IAAtB4B,OAA+B,EAASA,EAAkBX,sBAAwB,CACxKC,OAAQ,IAGV,GAAIY,EACF,OAAOE,EAGT,MAAMjG,EAASb,KAAKC,MAAMvb,KAAKsW,KAAKC,KAAK8K,qBAEzC,OAAO,YAAS,EAAM,IAAiD,QAA3CY,EAAqBjiB,KAAKogB,mBAAgD,IAAvB6B,OAAgC,EAASA,EAAmBZ,sBAAwB,GAAIlF,GAGrKkG,YACF,IAAIC,EAEJ,MAAM,OACJhB,GACEthB,KAAKqhB,oBACHkB,EAAM,IAAI5O,OAAOe,OAAO4M,IAC9B,MAAO,CACLkB,eAAgBD,EAAI5U,QAAO,EACzB6T,QAAAA,KACIA,IAASxb,OACfgb,eAAgBuB,EAAI5U,QAAO,EACzB6T,QAAAA,EACAC,OAAAA,KACID,GAAsB,QAAXC,IAAkBzb,OACnCyc,gBAA6D,QAA3CH,EAAqBtiB,KAAKogB,mBAAgD,IAAvBkC,OAAgC,EAASA,EAAmBpB,YAAYlb,SAAW,GAI5JmM,YAAY2E,EAAYR,EAAO,IAC7Bd,MAAMsB,EAAYR,IAElB,OAA2BtW,KAAM,cAAe4R,EAAa5R,OAE7D,IAAA+W,WAAS,IAAM/W,KAAKsW,KAAKoM,SAAQA,IAAU,IAAAnQ,cAAY,KACrD,GAAImQ,EAAQ,CACV,MAAM,QACJC,GACE3iB,KAAK8W,WAAWzE,MACduQ,EAAWF,EAAOrgB,GAAGkf,WAC3B,IAAIsB,EAAWF,EAAQ9P,IAAI+P,GAEtBC,IACHA,EAAW,IAAI,IAAUH,EAAQ1iB,KAAK8W,WAAWzE,OACjDsQ,EAAQnQ,IAAIoQ,EAAUC,IAGxB7iB,KAAKogB,YAAcyC,OAEnB,CACF3L,iBAAiB,KAGnB,IAAAH,WAAS,KACP,IAAI+L,EAEJ,OAA8C,QAAtCA,EAAkB9iB,KAAKsW,KAAKC,YAAsC,IAApBuM,OAA6B,EAASA,EAAgBF,YAC3GA,IACGA,IACF5iB,KAAKogB,YAAcpgB,KAAK8W,WAAWzE,MAAMsQ,QAAQ9P,IAAI+P,EAASrB,eAE/D,CACDrK,iBAAiB,IAIrBI,UAAUC,GACRvX,KAAKsW,KAAKiB,OAASA,EAGrBI,QAAQpB,GACNvW,KAAKsW,KAAKC,KAAOA,EAGnBqB,wBACE,MAAMtB,EAAOd,MAAMoC,wBACnB,MAAO,CACLL,OAAQjB,EAAKiB,OACbhB,KAAMD,EAAKC,MAIfuB,aACE9X,KAAK8W,WAAWzE,MAAMU,UAAUjQ,YAAYkV,uBAG9CC,cACEjY,KAAK8W,WAAWzE,MAAMU,UAAUjQ,YAAYkV,uBAG9CE,eACElY,KAAK8W,WAAWzE,MAAMU,UAAUjQ,YAAYkV,yBAG5CpG,GAAc,OAA0BgE,EAAQ1B,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0Ba,EAAQ1B,UAAW,YAAa,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,aAAc0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,sBAAuB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,uBAAwB0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,QAAS,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,SAAU0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,YAAa,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,aAAc0B,EAAQ1B,YAAY,OAA0B0B,EAAQ1B,UAAW,UAAW,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBxC,EAAQ1B,UAAW,WAAY0B,EAAQ1B,WAnH1vBvC,EAmHuwBiE,KAAajE,G,oCCvIzxBA,EAAQC,EAAaC,E,sEAMzB,IAAIkR,GAAkBpR,EAAS,cAA6B,EAAAqR,YAC1D7Q,YAAYY,GACVyC,SAEA,OAA2BxV,KAAM,gBAAiB4R,EAAa5R,OAE/D,OAA2BA,KAAM,YAAa6R,EAAc7R,MAE5DA,KAAK+S,eAAY,EACjB/S,KAAKoe,4BAA6B,IAAAzF,OAAK,UAAWsK,EAAQC,GACxD,GAAIA,EAEF,kBADMljB,KAAKoJ,kBAIb,MAAM+Z,EAAc/G,MAAMgH,QAAQH,GAAqBA,EAAX,CAACA,GAEzCjjB,KAAKiF,MAAM0I,QAAO,EACpBtL,GAAAA,EACAC,QAAAA,KACI6gB,EAAWhd,QAAQ9D,IAAO,IAAMC,IAAS0D,OAAS,UAChDhG,KAAKoJ,qBAGfpJ,KAAKoJ,gBAAiB,IAAAuP,OAAK,YACzB3Y,KAAKgF,eAAgB,EAErB,IACEhF,KAAKqF,gBAAkB,OAAQ,CAC7BlE,SAAU,IACV0X,OAAQ,CACNwK,iBAAkBxjB,OAAOsB,SAASoD,QAGtC,MAAO2B,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKgF,eAAgB,MAGzBhF,KAAKoG,qBAAsB,IAAAuS,OAAK,UAAWtW,EAAI4c,GAC7Cjf,KAAKgF,eAAgB,EAErB,IACEhF,KAAKqF,gBAAkB,OAAQ,CAC7BlE,SAAU,IACVkU,QAAS,CACP4J,MAAAA,GAEFpG,OAAQ,CACNxW,GAAAA,EACAghB,iBAAkBxjB,OAAOsB,SAASoD,QAGtC,MAAO2B,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKgF,eAAgB,MAGzBhF,KAAK+S,UAAYA,EAGf9N,YACF,OAAOjF,KAAKqF,WAAasO,OAAOC,KAAK5T,KAAKqF,UAAUJ,OAAOvE,KAAI2B,IAAM,CACnEA,GAAAA,KACGrC,KAAKqF,UAAUJ,MAAM5C,QACnB,GAGL6C,gBACF,OAAOlF,KAAKiF,MAAM0I,QAAO,EACvBrL,QAAAA,KACIA,IAGJ6C,gBACF,MAAM,MACJnC,GACEhD,KAAK+S,UAAUjQ,YAAYC,OAC/B,OAAO/C,KAAKiF,MAAM0I,QAAO,EACvB/K,SAAAA,MACKA,GAAYI,GAASJ,IAG1BwC,WACF,IAAIke,EAEJ,OAAOtjB,KAAKkF,UAAUc,QAAUhG,KAAKmF,UAAUa,UAAoD,QAAtCsd,EAAkBtjB,KAAKqF,iBAA2C,IAApBie,IAA8BA,EAAgBC,aAIzJ3R,GAAc,OAA0BD,EAAOuC,UAAW,gBAAiB,CAAC,EAAAS,YAAa,CAC3FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,YAAa,CAAC,EAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,OAA0BpD,EAAOuC,UAAW,QAAS,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,SAAUvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,YAAa,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,aAAcvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,YAAa,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,aAAcvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,OAAQ,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,QAASvC,EAAOuC,WAAavC,I,oCChH/kBA,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,EAAciH,EAAcC,EAAcC,EAAcC,E,gIAQzI,IAAImK,GAAgB7R,EAAS,cAA2B,EAAAqR,YAItD7Q,YAAYY,GACVyC,SAEA,OAA2BxV,KAAM,cAAe4R,EAAa5R,OAE7D,OAA2BA,KAAM,cAAe6R,EAAc7R,OAE9D,OAA2BA,KAAM,QAAS8R,EAAc9R,OAExD,OAA2BA,KAAM,oBAAqB+R,EAAc/R,OAEpE,OAA2BA,KAAM,UAAWgS,EAAchS,OAE1D,OAA2BA,KAAM,SAAUiS,EAAcjS,OAEzD,OAA2BA,KAAM,iBAAkBkZ,EAAclZ,OAEjE,OAA2BA,KAAM,YAAamZ,EAAcnZ,OAE5D,OAA2BA,KAAM,uBAAwBoZ,EAAcpZ,OAEvE,OAA2BA,KAAM,UAAWqZ,EAAerZ,MAE3DA,KAAKyjB,QAAU,EAAA9O,WAAA,OAAkB,CAC/B+O,KAAM,EACNC,MAAO,MAACvf,OAAWA,GACnBnE,aAASmE,EACTwf,aAASxf,EACTyf,QAAIzf,EACJ0f,UAAM1f,GACL,GAAI,CACL2f,MAAM,IAER/jB,KAAK+S,eAAY,EACjB/S,KAAKgkB,UAAW,IAAArL,OAAK,YACnB3Y,KAAKikB,aAAc,EAEnB,IACE,MAAM,KACJP,EAAI,QACJE,EAAO,GACPC,EAAE,KACFC,EAAI,QACJ7jB,GACED,KAAKyjB,QACHE,EAAQ3jB,KAAKyjB,QAAQE,MAAMjjB,KAAIwjB,GAAKA,EAAIA,EAAEC,OAlDpC,cAkD0D,MAChE,MACJ5X,EAAK,kBACL6X,EAAiB,MACjBnf,SACQ,OAAQ,CAChB9D,SAAU,IACV0X,OAAQ,CAEN2E,SAAUxd,KAAKqkB,QACfC,QAASZ,EAAO,GAAK1jB,KAAKqkB,QAC1BhI,KAAMsH,EAAM,GACZvX,GAAIuX,EAAM,GACVE,GAAAA,EACAC,KAAAA,EACAF,QAAAA,EACA3jB,QAAAA,KAGJD,KAAKuM,MAAQA,EACbvM,KAAKokB,kBAAoBA,EACzBpkB,KAAKukB,eAAeC,QAEpB,IAAK,MAAMC,KAAQxf,EACjBjF,KAAKukB,eAAe/R,IAAIiS,EAAKpiB,GAAI,IAAI,IAAQoiB,EAAMzkB,OAErD,MAAOkG,GAKP,MAJAlG,KAAKuM,MAAQ,EACbvM,KAAKokB,kBAAoB,EACzBpkB,KAAKukB,eAAeC,QACpBxL,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKikB,aAAc,MAGvBjkB,KAAK8b,eAAgB,IAAAnD,OAAK,UAAWE,GACnC,IACE,MAAMnD,QAAiB,OAAQ,CAC7BvU,SAAU,IACV0X,OAAAA,IAEF7Y,KAAK2a,UAAUnI,IAAIqG,EAAOkD,KAAM,IAAI,IAASrG,EAAU1V,OACvD,MAAOkG,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,MAGVlG,KAAKgc,0BAA2B,IAAArD,OAAK,UAAWE,GAC9C,IACE,MAAMnD,QAAiB,OAAQ,CAC7BvU,SAAU,IACV0X,OAAAA,IAEF7Y,KAAK8a,qBAAqBtI,IAAIqG,EAAOkD,KAAM,IAAI,IAAoBrG,EAAU1V,OAC7E,MAAOkG,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,MAGVlG,KAAK0kB,cAAe,IAAA/L,OAAK,UAAWE,GAClC7Y,KAAK2kB,aAAc,EAEnB,IACE,MAAMjP,QAAiB,OAAQ,CAC7BvU,SAAU,IACV0X,OAAAA,IAEF7Y,KAAK4jB,QAAUlO,EAASzQ,MACxB,MAAOiB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK2kB,aAAc,MAGvB3kB,KAAK4kB,WAAY,IAAAjM,OAAK,YACpB3Y,KAAKikB,aAAc,EAEnB,UACQ,OAAQ,CACZ9iB,SAAU,MAEZnB,KAAK6kB,UAAU,SACT7kB,KAAKgkB,WACX,MAAO9d,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKikB,aAAc,MAGvBjkB,KAAK+S,UAAYA,GACjB,IAAAR,cAAY,KACVvS,KAAKyjB,QAAQxjB,QAAUD,KAAK+S,UAAUjQ,YAAYC,OAAO9C,WAQ7D4kB,UAAUnB,GACR1jB,KAAKyjB,QAAQC,KAAOA,EAStBoB,WAAWnB,GACT3jB,KAAKyjB,QAAQE,MAAQA,EASvBoB,aAAa9kB,GACXD,KAAKyjB,QAAQxjB,QAAUA,EAOzB+kB,aAAapB,GACX5jB,KAAKyjB,QAAQG,QAAUA,EAOzBqB,QAAQpB,GACN7jB,KAAKyjB,QAAQI,GAAKA,EAOpBqB,UAAUpB,GACR9jB,KAAKyjB,QAAQK,KAAOA,IAIpBlS,GAAc,OAA0BD,EAAOuC,UAAW,cAAe,CAAC,EAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPjD,GAAe,OAA0BH,EAAOuC,UAAW,QAAS,CAAC,EAAAS,YAAa,CACpFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPhD,GAAe,OAA0BJ,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP/C,GAAe,OAA0BL,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,MAEP9C,GAAe,OAA0BN,EAAOuC,UAAW,SAAU,CAAC,EAAAS,YAAa,CACrFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPmE,GAAe,OAA0BvH,EAAOuC,UAAW,iBAAkB,CAAC,EAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEXhM,GAAe,OAA0BxH,EAAOuC,UAAW,YAAa,CAAC,EAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEX/L,GAAe,OAA0BzH,EAAOuC,UAAW,uBAAwB,CAAC,EAAAS,YAAa,CACnGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEX9L,GAAgB,OAA0B1H,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,MAAO,OAEP,OAA0BpD,EAAOuC,UAAW,YAAa,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,aAAcvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,aAAc,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,cAAevC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,eAAgB,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,gBAAiBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,eAAgB,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,gBAAiBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,UAAW,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,WAAYvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,YAAa,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,aAAcvC,EAAOuC,WAAavC,I,oCCtR/4BA,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,EAAciH,EAAcC,EAAcC,E,6GAM3H,IAAIgM,GAAezT,EAAS,MACtB0T,oBACF,OAAOrlB,KAAKslB,mBAAqBtlB,KAAK+X,SAASuE,QAAQ1W,KAAO5F,KAAK+S,UAAUjQ,YAAYyiB,gBAGvFnI,mBACF,OAAOhB,MAAMC,KAAKrc,KAAK4d,OAAOtB,QAAQ5H,UAAUhU,KAAI,EAClD0c,aAAAA,KACIA,IAAcoI,QAAO,CAACC,EAAOC,IAAQD,EAAQC,GAAK,GAG1DvT,YAAYY,IACV,OAA2B/S,KAAM,OAAQ4R,EAAa5R,OAEtD,OAA2BA,KAAM,SAAU6R,EAAc7R,OAEzD,OAA2BA,KAAM,oBAAqB8R,EAAc9R,OAEpE,OAA2BA,KAAM,WAAY+R,EAAc/R,OAE3D,OAA2BA,KAAM,iBAAkBgS,EAAchS,OAEjE,OAA2BA,KAAM,qBAAsBiS,EAAcjS,OAErE,OAA2BA,KAAM,gBAAiBkZ,EAAclZ,OAEhE,OAA2BA,KAAM,oBAAqBmZ,EAAcnZ,OAEpE,OAA2BA,KAAM,qBAAsBoZ,EAAcpZ,MAErEA,KAAK+S,eAAY,EACjB/S,KAAK2lB,aAAc,IAAAhN,OAAK,kBAChB3Y,KAAK4d,OAAO/K,IAAI,CACpBgG,OAAQ,CAEN2E,SAAU,aAGRxd,KAAK4lB,4BAEb5lB,KAAK4lB,wBAAyB,IAAAjN,OAAK,YACjC,IACE,MAAM1T,QAAc,OAAQ,CAC1B9D,SAAU,MAGZ,IAAK,MAAMsjB,KAAQ9Q,OAAOe,OAAOzP,GAC/BjF,KAAKge,kBAAkBxL,IAAIiS,EAAKpiB,GAAIoiB,GAEtC,MAAOve,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,MAGVlG,KAAK6lB,eAAgB,IAAAlN,OAAK,kBAClB3Y,KAAK+X,SAASlF,IAAI,CACtBwC,QAAS,CACPkC,OAAQ,CAAC,QAAS,UAAW,YAE/BsB,OAAQ,CAEN2E,SAAU,IAEVvd,QAAS,UAGbD,KAAKslB,oBAAqB,KAE5BtlB,KAAK8lB,qBAAsB,IAAAnN,OAAK,YAC9B3Y,KAAK+lB,oBAAqB,EAE1B,IACE,MAAM,MACJ9gB,SACQ,OAAQ,CAChB9D,SAAU,MAGZ,IAAK,MAAM6kB,KAAOrS,OAAOC,KAAK3O,GAC5BjF,KAAKimB,eAAezT,IAAIwT,EAAK,IAAI,IAAc/gB,EAAM+gB,GAAMhmB,OAE7D,MAAOkG,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK+lB,oBAAqB,MAG9B/lB,KAAKkmB,oBAAqB,IAAAvN,OAAK,YAC7B3Y,KAAKmmB,mBAAoB,EAEzB,IACE,MAAM,MACJlhB,SACQ,OAAQ,CAChB9D,SAAU,MAGZ,IAAK,MAAM6kB,KAAOrS,OAAOC,KAAK3O,GAC5BjF,KAAKomB,cAAc5T,IAAIwT,EAAK,IAAI,IAAa/gB,EAAM+gB,GAAMhmB,OAE3D,MAAOkG,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKmmB,mBAAoB,MAG7BnmB,KAAK+S,UAAYA,GACjB,IAAAR,cAAY,KACVvS,KAAK4d,OAAS,IAAI,IAAsB5d,MACxCA,KAAK+X,SAAW,IAAI,IAAkB/X,SAItCqmB,qBACF,GAAiC,IAA7BrmB,KAAK4d,OAAOtB,QAAQ1W,KACtB,OAGF,MAAM0gB,EAAKtmB,KAAK4d,OAAOtB,QAAQ5H,SAC/B,IAAIoJ,EAEJ,MAAOA,EAAQwI,EAAGC,OAAOvkB,QACnB8b,EAAMxH,KAAKuB,OAAS7X,KAAK+S,UAAUjQ,YAAYC,OAAOsjB,iBAK5D,OAAOvI,IAIPlM,GAAc,OAA0BD,EAAOuC,UAAW,OAAQ,CAAC,EAAAS,YAAa,CAClFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,SAAU,CAAC,EAAAS,YAAa,CACrFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXjD,GAAe,OAA0BH,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEXpT,GAAe,OAA0BJ,EAAOuC,UAAW,WAAY,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX/C,GAAe,OAA0BL,EAAOuC,UAAW,iBAAkB,CAAC,EAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEXlT,GAAe,OAA0BN,EAAOuC,UAAW,qBAAsB,CAAC,EAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPmE,GAAe,OAA0BvH,EAAOuC,UAAW,gBAAiB,CAAC,EAAAS,YAAa,CAC5FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEXhM,GAAe,OAA0BxH,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPqE,GAAe,OAA0BzH,EAAOuC,UAAW,qBAAsB,CAAC,EAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,MAEP,OAA0BpD,EAAOuC,UAAW,gBAAiB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,iBAAkBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,eAAgB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,gBAAiBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,iBAAkB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,kBAAmBvC,EAAOuC,WAAavC,I,oCCtMjeA,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,E,qEAOjF,IAAIuU,GAAwB7U,EAAS,MACnCQ,YAAYY,IACV,OAA2B/S,KAAM,UAAW4R,EAAa5R,OAEzD,OAA2BA,KAAM,mBAAoB6R,EAAc7R,OAEnE,OAA2BA,KAAM,wBAAyB8R,EAAc9R,OAExE,OAA2BA,KAAM,6BAA8B+R,EAAc/R,OAE7E,OAA2BA,KAAM,cAAegS,EAAchS,OAE9D,OAA2BA,KAAM,UAAWiS,EAAcjS,MAE1DA,KAAK+S,eAAY,EACjB/S,KAAKymB,gBAAkB,IAAItB,IAC3BnlB,KAAKoT,eAAiB,IAAI+R,IAC1BnlB,KAAK0mB,sBAAwB,GAC7B1mB,KAAK2mB,cAAe,IAAAhO,OAAK,YACvB3Y,KAAK4mB,aAAc,EAEnB,IACE,MAAM,SACJC,EAAQ,UACRC,EAAS,MACT7hB,SACQ,OAAQ,CAChB9D,SAAU,MAGZ,IAAK,MAAM4lB,KAAOpT,OAAOC,KAAKiT,GAC5B7mB,KAAKoT,eAAeZ,IAAIuU,EAAKF,EAASE,IAIxC,IAAK,MAAMC,KAAOrT,OAAOC,KAAKkT,GAC5B9mB,KAAKymB,gBAAgBjU,IAAIwU,EAAKF,EAAUE,IAI1C,IAAK,MAAMhB,KAAOrS,OAAOC,KAAK3O,GAC5BjF,KAAKuR,QAAQiB,IAAIwT,EAAK,IAAI,IAAa,CACrC3jB,GAAI2jB,KACD/gB,EAAM+gB,IACRhmB,OAEL,MAAOkG,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK4mB,aAAc,MAGvB5mB,KAAK+S,UAAYA,EAInBkU,uBAAuBvT,EAASI,EAAS9R,EAAOklB,GAAgB,GAC9D,MAAM,sBACJC,GACEnnB,KAAK+S,UAAUjQ,YAAYC,OAEzBqkB,EAAkBtT,EAAQyN,WAEhC,GAAI2F,GAAiB,CAAC,MAAO,sBAAuB,wBAAwB/gB,QAAQihB,IAAoB,EACtGC,aAAarnB,KAAK0mB,sBAAsBU,IACxCpnB,KAAK0mB,sBAAsBU,GAAmBnU,YAAW,IAAMjT,KAAKinB,uBAAuBvT,EAASI,EAAS9R,GAAO,IAAQ,SACvH,CACL,MAAMslB,EAAeH,EAAsBzT,GAASI,GACpDqT,EAAsBzT,GAASI,GAAW9R,EAEtColB,EAAgB3O,WAAW,iBAAmB6O,IAAiBtlB,GACjEhC,KAAKunB,+BAKX/S,oBAAoBf,GAClB,IAAK,MAAM+T,KAAO/T,EAAc,CAC9B,MAAOC,EAASI,EAAS9R,GAASwlB,EAClCxnB,KAAK+S,UAAUjQ,YAAYC,OAAOokB,sBAAsBzT,GAASI,GAAW9R,GAIhFulB,8BACE,MAAM,sBACJJ,GACEnnB,KAAK+S,UAAUjQ,YAAYC,OAEyB,SAApDokB,EAA8B,OAAgB,eAIlDnnB,KAAKynB,kBAAmB,EACxBxU,YAAW,KAAM,IAAAV,cAAY,KAC3BvS,KAAKynB,kBAAmB,OACrBN,EAA8B,OAAwB,qBAAI,MAGjExW,WAAWsO,GACTjf,KAAK4I,QAAUqW,EAGjByI,yBAAyBzI,GACvBjf,KAAK2nB,sBAAwB1I,EAG/B2I,8BAA8B3I,GAC5Bjf,KAAK6nB,2BAA6B5I,EAWpC6I,YACE,MAAM3L,EAAS,GACTjJ,GAAY,IAAAC,uBAgBlB,OAfAnT,KAAKoT,eAAeC,SAAQ,CAACC,EAAcvS,KACzC,IAAIumB,EAAepU,EAAUnS,GAAK8R,MAEN,kBAAjBS,EACTgU,KAAkBA,EACRS,MAAMT,IAAkC,KAAjBA,IAEjCA,GAAgBA,GAGdhM,KAAKE,UAAUlI,KAAkBgI,KAAKE,UAAU8L,KAClDnL,EAAOnc,KAAKymB,gBAAgB5T,IAAI9R,IAAQumB,MAIrCtnB,KAAKgoB,eAAe7L,GAG7B6L,eAAe7L,GACb,MAAM8L,EAAS3M,KAAKE,UAAUW,EAAQ,KAAM,GAAG1b,MAAM,MAGrD,OAFAwnB,EAAOC,QACPD,EAAOE,MACAF,EAAOpa,KAAK,MAAMqR,QAAQ,sCAAuC,WAAWA,QAAQ,2BAA2B,CAACkJ,EAAMC,EAAQC,IAC5H,GAAG3mB,OAAO0mB,GAAQ1mB,OAAO2mB,EAAWpJ,QAAQ,SAAU,MAAO,UAItEtN,GAAc,OAA0BD,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACrFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,mBAAoB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPjD,GAAe,OAA0BH,EAAOuC,UAAW,wBAAyB,CAAC,EAAAS,YAAa,CACpGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPhD,GAAe,OAA0BJ,EAAOuC,UAAW,6BAA8B,CAAC,EAAAS,YAAa,CACzGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP/C,GAAe,OAA0BL,EAAOuC,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP9C,GAAe,OAA0BN,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,QAEX,OAA0BxT,EAAOuC,UAAW,yBAA0B,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,0BAA2BvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,sBAAuB,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,uBAAwBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,8BAA+B,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,+BAAgCvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,aAAc,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,cAAevC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,2BAA4B,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,4BAA6BvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,gCAAiC,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,iCAAkCvC,EAAOuC,WAAavC,I,wQCtM/hCA,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,EAAciH,EAAcC,EAAcC,EAAcC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAe+N,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,GAAeC,G,yJAO/vB,IAAIC,IAAenY,EAAS,cAA0B,GAAAqR,YAWhD+G,6BACF,QAA+B,IAAxB/pB,KAAKgqB,gBAA0BhqB,KAAKiqB,KAAQjqB,KAAKkqB,gCAGtDpd,yBACF,YAAkC1I,IAA3BpE,KAAKmqB,kBAGdhY,YAAYY,GACVyC,SAEA,QAA2BxV,KAAM,eAAgB4R,EAAa5R,OAE9D,QAA2BA,KAAM,0BAA2B6R,EAAc7R,OAE1E,QAA2BA,KAAM,+BAAgC8R,EAAc9R,OAE/E,QAA2BA,KAAM,yBAA0B+R,EAAc/R,OAEzE,QAA2BA,KAAM,oBAAqBgS,EAAchS,OAEpE,QAA2BA,KAAM,iBAAkBiS,EAAcjS,OAEjE,QAA2BA,KAAM,kBAAmBkZ,EAAclZ,OAElE,QAA2BA,KAAM,iCAAkCmZ,EAAcnZ,OAEjF,QAA2BA,KAAM,+BAAgCoZ,EAAcpZ,OAE/E,QAA2BA,KAAM,oCAAqCqZ,EAAerZ,OAErF,QAA2BA,KAAM,eAAgBsZ,EAAetZ,OAEhE,QAA2BA,KAAM,YAAauZ,EAAevZ,OAE7D,QAA2BA,KAAM,+BAAgCwZ,EAAexZ,OAEhF,QAA2BA,KAAM,aAAcyZ,EAAezZ,OAE9D,QAA2BA,KAAM,WAAY0Z,EAAe1Z,OAE5D,QAA2BA,KAAM,qBAAsB2Z,EAAe3Z,OAEtE,QAA2BA,KAAM,aAAc4Z,EAAe5Z,OAE9D,QAA2BA,KAAM,eAAgB6Z,EAAe7Z,OAEhE,QAA2BA,KAAM,gBAAiB8Z,EAAe9Z,OAEjE,QAA2BA,KAAM,YAAa+Z,EAAe/Z,OAE7D,QAA2BA,KAAM,qBAAsBga,EAAeha,OAEtE,QAA2BA,KAAM,uBAAwBia,EAAeja,OAExE,QAA2BA,KAAM,kBAAmBka,EAAela,OAEnE,QAA2BA,KAAM,2BAA4Bma,EAAena,OAE5E,QAA2BA,KAAM,6BAA8Boa,EAAepa,OAE9E,QAA2BA,KAAM,cAAeqa,EAAera,OAE/D,QAA2BA,KAAM,uBAAwBsa,EAAeta,OAExE,QAA2BA,KAAM,mBAAoBua,EAAeva,OAEpE,QAA2BA,KAAM,oBAAqBwa,EAAexa,OAErE,QAA2BA,KAAM,iBAAkBuoB,EAAevoB,OAElE,QAA2BA,KAAM,SAAUwoB,EAAexoB,OAE1D,QAA2BA,KAAM,cAAeyoB,EAAezoB,OAE/D,QAA2BA,KAAM,YAAa0oB,EAAe1oB,OAE7D,QAA2BA,KAAM,qBAAsB2oB,EAAe3oB,OAEtE,QAA2BA,KAAM,oBAAqB4oB,EAAe5oB,OAErE,QAA2BA,KAAM,YAAa6oB,EAAe7oB,OAE7D,QAA2BA,KAAM,eAAgB8oB,EAAe9oB,OAEhE,QAA2BA,KAAM,gBAAiB+oB,EAAe/oB,OAEjE,QAA2BA,KAAM,uBAAwBgpB,EAAehpB,OAExE,QAA2BA,KAAM,4BAA6BipB,EAAejpB,OAE7E,QAA2BA,KAAM,gBAAiBkpB,EAAelpB,OAEjE,QAA2BA,KAAM,yBAA0BmpB,EAAenpB,OAE1E,QAA2BA,KAAM,oBAAqBopB,EAAeppB,OAErE,QAA2BA,KAAM,8BAA+BqpB,EAAerpB,OAE/E,QAA2BA,KAAM,MAAOspB,EAAetpB,OAEvD,QAA2BA,KAAM,iBAAkBupB,EAAevpB,OAElE,QAA2BA,KAAM,kBAAmBwpB,EAAexpB,OAEnE,QAA2BA,KAAM,qBAAsBypB,EAAezpB,OAEtE,QAA2BA,KAAM,oBAAqB0pB,EAAe1pB,OAErE,QAA2BA,KAAM,kBAAmB2pB,EAAe3pB,OAEnE,QAA2BA,KAAM,oBAAqB4pB,GAAe5pB,OAErE,QAA2BA,KAAM,SAAU6pB,GAAe7pB,MAE1DA,KAAKoqB,cAAW,EAChBpqB,KAAKqqB,wBAAqB,EAC1BrqB,KAAK+S,eAAY,EACjB/S,KAAK2L,eAAgB,KAAAgN,OAAK,UAAW2R,GACnCtqB,KAAKoH,cAAe,EAEpB,IACE,MAAM+U,EAASmO,UAAkB,QAAQ,CACvCnpB,SAAU,QAEZnB,KAAKqH,aAAe8U,EAAO,qBAC3Bnc,KAAKuqB,cAAgBpO,EAAO,sBAC5Bnc,KAAKwqB,UAAYrO,EAAO,4BACxBnc,KAAKyqB,mBAAqBtO,EAAO,yCACjCnc,KAAK0qB,qBAAuBvO,EAAO,4CACnCnc,KAAK2qB,gBAAkBxO,EAAO,mCAC9Bnc,KAAK4qB,yBAA2BzO,EAAO,gDACvCnc,KAAK6qB,2BAA6B1O,EAAO,mDACzCnc,KAAK8qB,aAAe3O,EAAO,sBAAwB,IAAI1b,MAAM,KAAKC,IAAIiW,QAAQhJ,OAAO+I,SACrF1W,KAAKZ,qBAAuB+c,EAAO,gCAAkC,OACrEnc,KAAK+qB,iBAAmB5O,EAAO,2BAC/Bnc,KAAKmqB,kBAAoBhO,EAAO,4BAEhCnc,KAAKgrB,eAAiB7O,EAAO,uBAC7Bnc,KAAKirB,OAAS9O,EAAO,eACrBnc,KAAKkrB,YAAc/O,EAAO,oBAC1Bnc,KAAKmrB,UAAYhP,EAAO,kBACxBnc,KAAKorB,mBAAqBjP,EAAO,4BACjCnc,KAAKqrB,kBAAoBlP,EAAO,4BAA6B,EAC7Dnc,KAAKsrB,WAAanP,EAAO,mBAAqB,IAAI1b,MAAM,KAAKkN,OAAO+I,SACpE1W,KAAKurB,aAAepP,EAAO,sBAAwB,GACnDnc,KAAKwrB,cAAgBrP,EAAO,sBAC5Bnc,KAAKyrB,wBAA0BtP,EAAO,iCAAmC,IAAI1b,MAAM,KAAKkN,OAAO+I,SAC/F1W,KAAK0rB,kBAAoBvP,EAAO,2BAChCnc,KAAK2rB,4BAA8BxP,EAAO,uCAC1Cnc,KAAKiqB,IAAM9N,EAAO,WAClBnc,KAAK4rB,eAAiBzP,EAAO,wBAC7Bnc,KAAK6rB,gBAAkB1P,EAAO,yBAC9Bnc,KAAK8rB,mBAAqB3P,EAAO,6BACjCnc,KAAKmiB,kBAAoBhG,EAAO,4BAChCnc,KAAK+rB,gBAAkB5P,EAAO,8BAUxBnc,KAAKgY,uBACX,MAAO9R,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKoH,cAAe,MAGxBpH,KAAKgsB,gBAAiB,KAAArT,OAAK,WAAW,aACpCtR,EAAY,cACZkjB,EAAa,UACbC,EAAS,gBACTG,EAAe,YAOfG,EAAW,qBACX1rB,EAAoB,iBACpB2rB,EAAgB,kBAChBZ,EAAiB,eAEjBa,EAAc,OACdC,EAAM,YACNC,EAAW,UACXC,EAAS,mBACTC,EAAkB,kBAClBC,EAAiB,UACjBC,EAAS,aACTC,EAAY,cACZU,EAAa,qBACbC,EAAoB,0BACpBC,EAAyB,cACzBX,EAAa,uBACbC,EAAsB,kBACtBC,EAAiB,IACjBzB,EAAG,eACH2B,EAAc,kBACdzJ,EAAiB,gBACjB4J,IAEA/rB,KAAKoH,cAAe,EAEpB,IACE,MAAM+U,QAAe,QAAQ,CAC3Bhb,SAAU,KACVkU,QAAS,SAAuBjR,IAAjBiD,EAA6B,GAAK,CAC7C,oBAAqBA,WAEDjD,IAAlBmmB,EAA8B,GAAK,CACrC,qBAAsBA,WAENnmB,IAAdomB,EAA0B,GAAK,CACjC,2BAA4BA,WAENpmB,IAApBumB,EAAgC,GAAK,CACvC,kCAAmCA,WAEjBvmB,IAAhB0mB,EAA4B,GAAK,CACnC,oBAAqBA,EAAYjd,KAAK,cAEXzJ,IAAzBhF,EAAqC,GAAK,CAC5C,8BAA+BA,WAERgF,IAArB2mB,EAAiC,GAAK,CACxC,0BAA2BA,WAEH3mB,IAAtB+lB,EAAkC,GAAK,CACzC,2BAA4BA,WAEP/lB,IAAnB4mB,EAA+B,GAAK,CACtC,sBAAuBA,WAEV5mB,IAAX6mB,EAAuB,GAAK,CAC9B,cAAeA,WAEG7mB,IAAhB8mB,EAA4B,GAAK,CACnC,mBAAoBA,WAEJ9mB,IAAd+mB,EAA0B,GAAK,CACjC,iBAAkBA,WAEO/mB,IAAvBgnB,EAAmC,GAAK,CAC1C,2BAA4BA,WAEJhnB,IAAtBinB,EAAkC,GAAK,CACzC,yBAA0BA,WAEVjnB,IAAdknB,EAA0B,GAAK,CACjC,iBAAkBA,EAAUzd,KAAK,cAEdzJ,IAAjBmnB,EAA6B,GAAK,CACpC,oBAAqBA,WAEDnnB,IAAlBonB,EAA8B,GAAK,CACrC,qBAAsBA,WAEOpnB,IAA3BqnB,EAAuC,GAAK,CAC9C,+BAAgCA,EAAuB5d,KAAK,cAEpCzJ,IAAtBsnB,EAAkC,GAAK,CACzC,0BAA2BA,WAEjBtnB,IAAR6lB,EAAoB,GAAK,CAC3B,UAAWA,WAEU7lB,IAAnBwnB,EAA+B,GAAK,CACtC,uBAAwBA,WAEAxnB,IAAtB+d,EAAkC,GAAK,CACzC,2BAA4BA,WAWN/d,IAApB2nB,EAAgC,GAAK,CACvC,uBAAwBA,MAI9B/rB,KAAK2L,cAAcwQ,GACnBnc,KAAK+S,UAAUhO,eAAeqZ,2BAA2B,CAAC,gBAAiB,kBAAmB,mBAC9F,MAAOlY,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKoH,cAAe,MAGxBpH,KAAKgY,sBAAuB,KAAAW,OAAK,YAC/B3Y,KAAKoH,cAAe,EAEpB,IACEpH,KAAKosB,6BAA6B,QAAQ,CACxCjrB,SAAU,QAEZ,MAAO+E,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKoH,cAAe,MAGxBpH,KAAKyG,uBAAwB,KAAAkS,OAAK,UAAWrC,GAC3CtW,KAAKoH,cAAe,EAEpB,IACEpH,KAAKosB,6BAA6B,QAAQ,CACxCjrB,SAAU,KACVkU,QAASiB,KAEX,MAAOpQ,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKoH,cAAe,MAGxBpH,KAAKqsB,kBAAmB,KAAA1T,OAAK,UAAWG,GACtC9Y,KAAKoH,cAAe,EAEpB,IACEpH,KAAK+C,OAAOupB,WAAWjY,KAAKyE,SAEtB,QAAQ,CACZ3X,SAAU,KACVkU,QAAS,CACPyD,WAAAA,KAGJ,MAAO5S,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKoH,cAAe,MAGxBpH,KAAK0I,wBAAyB,KAAAiQ,OAAK,YACjC,IAEE3Y,KAAK+C,OAAOuF,0BAA2B,QACjC,QAAQ,CACZnH,SAAU,OAEZ,MAAO+E,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,MAGVlG,KAAKusB,kBAAmB,KAAA5T,OAAK,YAC3B,IAEE,MACEtW,GAAImqB,GACFxsB,KAAKysB,mBACTzsB,KAAKysB,wBAAqBroB,QACpB,QAAQ,CACZjD,SAAU,KACV0X,OAAQ,CACN2T,UAAAA,KAGJ,MAAOtmB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,MAGVlG,KAAK0sB,0BAA2B,KAAA/T,OAAK,UAAWtW,GAC9CrC,KAAK2sB,8BAA+B,EAEpC,IACE,MAAM,QACJC,SACQ,QAAQ,CAChBzrB,SAAU,KACVkU,QAAS,CACPhT,GAAAA,KASJ,OALIuqB,IACF5sB,KAAK+S,UAAUhO,eAAeqE,uBACxBpJ,KAAKgY,wBAGN4U,EACP,MAAO1mB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK2sB,8BAA+B,MAGxC3sB,KAAK6sB,6BAA8B,KAAAlU,OAAK,YACtC3Y,KAAK8sB,yBAA0B,EAE/B,IACE,MAAM,eACJC,SACQ,QAAQ,CAChB5rB,SAAU,OAEZnB,KAAK2rB,4BAA8BoB,EACnC,MAAO7mB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK8sB,yBAA0B,MAGnC9sB,KAAK+S,UAAYA,EACjB/S,KAAKoqB,SAAW,GAAApH,YAAA,YAAwB,sBACxChjB,KAAKqqB,mBAAqB,GAAArH,YAAA,YAAwB,sBAAkB,IAEpE,KAAAzQ,cAAY,IAAMoB,OAAOqZ,OAAOhtB,KAAMH,OAAOG,KAAKqqB,uBAIpD+B,wBAAuB,SACrBa,EAAQ,YACRC,EAAW,gBACXxmB,EAAe,oBACfymB,EAAmB,iBACnBC,EAAgB,kBAChBC,EAAiB,mCACjBC,EAAkC,iCAClCC,EAAgC,uCAChCC,EAAsC,cACtCC,EAAa,oBACbC,EAAmB,UACnBC,EAAS,gCACTC,EAA+B,oBAC/BC,EAAmB,YACnBC,IAEA9tB,KAAK2H,WAAaulB,EAClBltB,KAAKwG,uBAAyBE,EAC9B1G,KAAKmH,kBAAoBgmB,EACzBntB,KAAKgqB,eAAiBoD,EACtBptB,KAAKulB,gBAAkB8H,EACvBrtB,KAAKkqB,+BAAiCoD,EACtCttB,KAAK+tB,6BAA+BR,EACpCvtB,KAAKguB,kCAAoCR,EACzCxtB,KAAKiuB,aAAeR,EACpBztB,KAAKkuB,kBAAoBR,EACzB1tB,KAAK2tB,UAAYA,EACjB3tB,KAAKmuB,6BAA+BP,EACpC5tB,KAAKitB,SAAWA,EAChBjtB,KAAKysB,mBAAqBoB,EAC1B7tB,KAAKiD,WAAa6qB,EAGpBM,4BAA4BnP,EAAOoP,GACjCruB,KAAK+C,OAAOwI,yBAA2B0T,EACvCjf,KAAK+C,OAAOsrB,WAAaA,IAGzBzc,GAAc,QAA0BD,EAAOuC,UAAW,eAAgB,CAAC,GAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,QAA0BF,EAAOuC,UAAW,0BAA2B,CAAC,GAAAS,YAAa,CACtGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPjD,GAAe,QAA0BH,EAAOuC,UAAW,+BAAgC,CAAC,GAAAS,YAAa,CAC3GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPhD,GAAe,QAA0BJ,EAAOuC,UAAW,yBAA0B,CAAC,GAAAS,YAAa,CACrGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP/C,GAAe,QAA0BL,EAAOuC,UAAW,oBAAqB,CAAC,GAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP9C,GAAe,QAA0BN,EAAOuC,UAAW,iBAAkB,CAAC,GAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPmE,GAAe,QAA0BvH,EAAOuC,UAAW,kBAAmB,CAAC,GAAAS,YAAa,CAC9FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPoE,GAAe,QAA0BxH,EAAOuC,UAAW,iCAAkC,CAAC,GAAAS,YAAa,CAC7GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPqE,GAAe,QAA0BzH,EAAOuC,UAAW,+BAAgC,CAAC,GAAAS,YAAa,CAC3GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPsE,GAAgB,QAA0B1H,EAAOuC,UAAW,oCAAqC,CAAC,GAAAS,YAAa,CACjHC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPuE,GAAgB,QAA0B3H,EAAOuC,UAAW,eAAgB,CAAC,GAAAS,YAAa,CAC5FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,MAAO,CACLuZ,MAAO,EACPC,QAAS,EACTC,QAAS,MAGXjV,GAAgB,QAA0B5H,EAAOuC,UAAW,YAAa,CAAC,GAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,MAAO,MAEPyE,GAAgB,QAA0B7H,EAAOuC,UAAW,+BAAgC,CAAC,GAAAS,YAAa,CAC5GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX0E,GAAgB,QAA0B9H,EAAOuC,UAAW,aAAc,CAAC,GAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP2E,GAAgB,QAA0B/H,EAAOuC,UAAW,WAAY,CAAC,GAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,MAAO,CACL,GAAI,OAGN4E,GAAgB,QAA0BhI,EAAOuC,UAAW,qBAAsB,CAAC,GAAAS,YAAa,CAClGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX6E,GAAgB,QAA0BjI,EAAOuC,UAAW,aAAc,CAAC,GAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX8E,GAAgB,QAA0BlI,EAAOuC,UAAW,eAAgB,CAAC,GAAAS,YAAa,CAC5FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP+E,GAAgB,QAA0BnI,EAAOuC,UAAW,gBAAiB,CAAC,GAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPgF,GAAgB,QAA0BpI,EAAOuC,UAAW,YAAa,CAAC,GAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXiF,GAAgB,QAA0BrI,EAAOuC,UAAW,qBAAsB,CAAC,GAAAS,YAAa,CAClGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXkF,GAAgB,QAA0BtI,EAAOuC,UAAW,uBAAwB,CAAC,GAAAS,YAAa,CACpGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXmF,GAAgB,QAA0BvI,EAAOuC,UAAW,kBAAmB,CAAC,GAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXoF,GAAgB,QAA0BxI,EAAOuC,UAAW,2BAA4B,CAAC,GAAAS,YAAa,CACxGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXqF,GAAgB,QAA0BzI,EAAOuC,UAAW,6BAA8B,CAAC,GAAAS,YAAa,CAC1GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXsF,GAAgB,QAA0B1I,EAAOuC,UAAW,cAAe,CAAC,GAAAS,YAAa,CAC3FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXuF,GAAgB,QAA0B3I,EAAOuC,UAAW,uBAAwB,CAAC,GAAAS,YAAa,CACpGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXwF,GAAgB,QAA0B5I,EAAOuC,UAAW,mBAAoB,CAAC,GAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXyF,GAAgB,QAA0B7I,EAAOuC,UAAW,oBAAqB,CAAC,GAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXwT,GAAgB,QAA0B5W,EAAOuC,UAAW,iBAAkB,CAAC,GAAAS,YAAa,CAC9FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXyT,GAAgB,QAA0B7W,EAAOuC,UAAW,SAAU,CAAC,GAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX0T,GAAgB,QAA0B9W,EAAOuC,UAAW,cAAe,CAAC,GAAAS,YAAa,CAC3FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX2T,GAAgB,QAA0B/W,EAAOuC,UAAW,YAAa,CAAC,GAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX4T,GAAgB,QAA0BhX,EAAOuC,UAAW,qBAAsB,CAAC,GAAAS,YAAa,CAClGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX6T,GAAgB,QAA0BjX,EAAOuC,UAAW,oBAAqB,CAAC,GAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX8T,GAAgB,QAA0BlX,EAAOuC,UAAW,YAAa,CAAC,GAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX+T,GAAgB,QAA0BnX,EAAOuC,UAAW,eAAgB,CAAC,GAAAS,YAAa,CAC5FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXgU,GAAgB,QAA0BpX,EAAOuC,UAAW,gBAAiB,CAAC,GAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXiU,GAAgB,QAA0BrX,EAAOuC,UAAW,uBAAwB,CAAC,GAAAS,YAAa,CACpGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXkU,GAAgB,QAA0BtX,EAAOuC,UAAW,4BAA6B,CAAC,GAAAS,YAAa,CACzGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXmU,GAAgB,QAA0BvX,EAAOuC,UAAW,gBAAiB,CAAC,GAAAS,YAAa,CAC7FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXoU,GAAgB,QAA0BxX,EAAOuC,UAAW,yBAA0B,CAAC,GAAAS,YAAa,CACtGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXqU,GAAgB,QAA0BzX,EAAOuC,UAAW,oBAAqB,CAAC,GAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXsU,GAAgB,QAA0B1X,EAAOuC,UAAW,8BAA+B,CAAC,GAAAS,YAAa,CAC3GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXuU,GAAgB,QAA0B3X,EAAOuC,UAAW,MAAO,CAAC,GAAAS,YAAa,CACnFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXwU,GAAgB,QAA0B5X,EAAOuC,UAAW,iBAAkB,CAAC,GAAAS,YAAa,CAC9FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXyU,GAAgB,QAA0B7X,EAAOuC,UAAW,kBAAmB,CAAC,GAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX0U,GAAgB,QAA0B9X,EAAOuC,UAAW,qBAAsB,CAAC,GAAAS,YAAa,CAClGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX2U,GAAgB,QAA0B/X,EAAOuC,UAAW,oBAAqB,CAAC,GAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX4U,GAAgB,QAA0BhY,EAAOuC,UAAW,kBAAmB,CAAC,GAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX6U,IAAgB,QAA0BjY,EAAOuC,UAAW,oBAAqB,CAAC,GAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX8U,IAAgB,QAA0BlY,EAAOuC,UAAW,SAAU,CAAC,GAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,QACX,QAA0BpD,EAAOuC,UAAW,yBAA0B,CAAC,GAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,0BAA2BvC,EAAOuC,YAAY,QAA0BvC,EAAOuC,UAAW,qBAAsB,CAAC,GAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,sBAAuBvC,EAAOuC,YAAY,QAA0BvC,EAAOuC,UAAW,yBAA0B,CAAC,GAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,0BAA2BvC,EAAOuC,YAAY,QAA0BvC,EAAOuC,UAAW,8BAA+B,CAAC,GAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,+BAAgCvC,EAAOuC,WAAavC,I,oCClxBvsBA,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,EAAciH,EAAcC,EAAcC,E,wHAM3H,IAAIqV,GAAgB9c,EAAS,MACvB+c,yBACF,MAAMvS,EAASC,MAAMC,KAAKrc,KAAK2uB,mBAAmBja,UAGlD,OADAyH,EAAOI,MAAK,CAAC5V,EAAG6V,IAAM7V,EAAE8X,WAAajC,EAAEiC,SAAW,EAAI9X,EAAE8X,SAAW,GAAK,IACjEtC,EAGLyS,mBACF,OAAO5uB,KAAK6uB,wBAA0B7uB,KAAK8uB,cAAclpB,KAAO5F,KAAK+S,UAAUjQ,YAAYirB,6BAGzFgB,wBACF,OAAO/uB,KAAKgvB,6BAA+BhvB,KAAK2uB,mBAAmB/oB,KAAO5F,KAAK+S,UAAUjQ,YAAYkrB,kCAGnGiB,qBACF,IAAIC,EAEJ,OAAOlvB,KAAK4uB,aAAe5uB,KAAK+uB,kBAAoB,IAA4E,QAArEG,EAAwBlvB,KAAK+S,UAAUhO,eAAeM,iBAAiD,IAA1B6pB,OAAmC,EAASA,EAAsBjqB,MAAe,QAAE3C,SAGzN6sB,4BACF,OAAOnvB,KAAK8uB,cAAclpB,KAAO5F,KAAK2uB,mBAAmB/oB,KAOvDwpB,0BACF,MAAO,IAAIpvB,KAAK8uB,cAAcpa,YAAa1U,KAAK2uB,mBAAmBja,UAAU/G,QAAO,EAClF8Q,SAAAA,MACKA,IAAUzY,OAGnBmM,YAAYY,IACV,OAA2B/S,KAAM,gBAAiB4R,EAAa5R,OAE/D,OAA2BA,KAAM,oBAAqB6R,EAAc7R,OAEpE,OAA2BA,KAAM,0BAA2B8R,EAAc9R,OAE1E,OAA2BA,KAAM,qBAAsB+R,EAAc/R,OAErE,OAA2BA,KAAM,wBAAyBgS,EAAchS,OAExE,OAA2BA,KAAM,mBAAoBiS,EAAcjS,OAEnE,OAA2BA,KAAM,+BAAgCkZ,EAAclZ,OAE/E,OAA2BA,KAAM,aAAcmZ,EAAcnZ,OAE7D,OAA2BA,KAAM,eAAgBoZ,EAAcpZ,MAE/DA,KAAK+S,eAAY,EACjB/S,KAAKqvB,gBAAiB,IAAA1W,OAAK,UAAWrC,GACpC,aAAa,OAAQ,CACnBnV,SAAU,IACVkU,QAASiB,OAGbtW,KAAKsvB,oBAAqB,IAAA3W,OAAK,YAC7B3Y,KAAKuvB,mBAAoB,EAEzB,IACEvvB,KAAKyR,gCAAgC,OAAQ,CAC3CtQ,SAAU,OAEZnB,KAAK6uB,yBAA0B,EAC/B,MAAO3oB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKuvB,mBAAoB,MAG7BvvB,KAAKwvB,sBAAuB,IAAA7W,OAAK,YAC/B3Y,KAAKyvB,kBAAmB,EAExB,IACEzvB,KAAK0R,qCAAqC,OAAQ,CAChDvQ,SAAU,OAEZnB,KAAKgvB,8BAA+B,EACpC,MAAO9oB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKyvB,kBAAmB,MAG5BzvB,KAAK0vB,yBAA0B,IAAA/W,OAAK,UAAWlD,GAC7C,MAAMrE,EAAOqE,aAAoB,IAA2B,OAAS,UAC/D,WACJqD,GACErD,EACJA,EAASmD,MAAO,EAEhB,IACE,MAAM,MACJ3T,SACQ,OAAQ,CAChB9D,SAAU,IACV0X,OAAQ,CACNzH,KAAAA,EACA0H,WAAqB,SAAT1H,EAAkB0H,EAAWoG,QAAQ,MAAO,KAAOpG,KAInE,IAAIpY,EAAMV,KAAK2vB,sBAAsB9c,IAAIiG,GAEzC,GAAKpY,EAEE,CAEL,MAAMmiB,EAAW5d,EAAMvE,KAAI,EACzB2B,GAAAA,KACIA,IAEN,IAAK,MAAMutB,KAAoBlvB,EAAIkT,QACW,IAAxCiP,EAAS1c,QAAQypB,IACnBlvB,EAAIwV,OAAO0Z,QATflvB,EAAM,IAAIykB,IAeZ,IAAK,MAAMV,KAAQ9Q,OAAOe,OAAOzP,GAC/BvE,EAAI8R,IAAIiS,EAAKpiB,GAAI,IAAI,IAA+BoiB,EAAMzkB,OAC1DA,KAAK2vB,sBAAsBnd,IAAIsG,EAAYpY,GAE7C,MAAOwF,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAuP,EAASmD,MAAO,MAGpB5Y,KAAK0f,aAAc,IAAA/G,OAAK,UAAWtW,GACjCrC,KAAK6vB,YAAa,EAElB,IACE,MAAM1T,QAAe,OAAQ,CAC3Bhb,SAAU,IACV0X,OAAQ,CACNxW,GAAAA,KAGJrC,KAAKqf,aAAa7M,IAAInQ,EAAI8Z,GAC1B,MAAOjW,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK6vB,YAAa,MAGtB7vB,KAAK+S,UAAYA,EAInBtB,2BAA0B,MACxBxM,IAGA,MAAM4d,EAAWlP,OAAOC,KAAK3O,GAE7B,IAAK,MAAM2qB,KAAoB5vB,KAAK8uB,cAAclb,QACJ,IAAxCiP,EAAS1c,QAAQypB,IACnB5vB,KAAK8uB,cAAc5Y,OAAO0Z,GAK9B,IAAK,MAAM5J,KAAOnD,EAChB7iB,KAAK8uB,cAActc,IAAIwT,EAAK,IAAI,IAAoB/gB,EAAM+gB,GAAMhmB,OAKpE0R,gCAA+B,MAC7BzM,IAGA,MAAM4d,EAAWlP,OAAOC,KAAK3O,GAE7B,IAAK,MAAM2qB,KAAoB5vB,KAAK2uB,mBAAmB/a,QACT,IAAxCiP,EAAS1c,QAAQypB,IACnB5vB,KAAK2uB,mBAAmBzY,OAAO0Z,GAKnC,IAAK,MAAME,KAAgBjN,EACzB7iB,KAAK2uB,mBAAmBnc,IAAIsd,EAAc,IAAI,IAAyB7qB,EAAM6qB,GAAe9vB,SAK9F4R,GAAc,OAA0BD,EAAOuC,UAAW,gBAAiB,CAAC,EAAAS,YAAa,CAC3FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEXtT,GAAe,OAA0BF,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPjD,GAAe,OAA0BH,EAAOuC,UAAW,0BAA2B,CAAC,EAAAS,YAAa,CACtGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPhD,GAAe,OAA0BJ,EAAOuC,UAAW,qBAAsB,CAAC,EAAAS,YAAa,CACjGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEXnT,GAAe,OAA0BL,EAAOuC,UAAW,wBAAyB,CAAC,EAAAS,YAAa,CACpGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEXlT,GAAe,OAA0BN,EAAOuC,UAAW,mBAAoB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPmE,GAAe,OAA0BvH,EAAOuC,UAAW,+BAAgC,CAAC,EAAAS,YAAa,CAC3GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPoE,GAAe,OAA0BxH,EAAOuC,UAAW,aAAc,CAAC,EAAAS,YAAa,CACzFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPqE,GAAe,OAA0BzH,EAAOuC,UAAW,eAAgB,CAAC,EAAAS,YAAa,CAC3FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,QAEX,OAA0BxT,EAAOuC,UAAW,qBAAsB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,sBAAuBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,eAAgB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,gBAAiBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,oBAAqB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,qBAAsBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,iBAAkB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,kBAAmBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,wBAAyB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,yBAA0BvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,sBAAuB,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,uBAAwBvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,4BAA6B,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,6BAA8BvC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,iCAAkC,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,kCAAmCvC,EAAOuC,WAAavC,I,oCC5Qr2CA,EAAQC,E,2DAMZ,IAAIme,GAAcpe,EAAS,cAAyB,EAAAqR,YAClD7Q,YAAYY,GACVyC,SAEA,OAA2BxV,KAAM,YAAa4R,EAAa5R,MAE3DA,KAAK+S,eAAY,EACjB/S,KAAKqiB,MAAQ,EAAA1N,WAAA,OAAkB,CAC7Bqb,UAAM5rB,EACN6rB,oBAAgB7rB,EAChB8rB,kBAAc9rB,GACb,GAAI,CACL2f,MAAM,IAER/jB,KAAKyjB,QAAU,EAAA9O,WAAA,OAAkB,CAC/BgP,WAAOvf,EACPnE,aAASmE,GACR,GAAI,CACL2f,MAAM,IAER/jB,KAAKmwB,WAAY,IAAAxX,OAAK,YAIlB,MAAM,IAAIyX,MAAM,yDAGpBpwB,KAAKqwB,qBAAsB,IAAA1X,OAAK,YAI5B,MAAM,IAAIyX,MAAM,yDAGpBpwB,KAAKswB,mBAAoB,IAAA3X,OAAK,YAI1B,MAAM,IAAIyX,MAAM,yDAGpBpwB,KAAK+S,UAAYA,GACjB,IAAAR,cAAY,KACVvS,KAAKyjB,QAAQE,MAAQ,CAAC,MAAS4M,SAAS,GAAI,QAAS,OACrDvwB,KAAKyjB,QAAQxjB,QAAUD,KAAK+S,UAAUjQ,YAAYC,OAAO9C,WAU7D6kB,WAAWnB,GACT3jB,KAAKyjB,QAAQE,MAAQA,EASvBoB,aAAa9kB,GACXD,KAAKyjB,QAAQxjB,QAAUA,IAIvB2R,GAAc,OAA0BD,EAAOuC,UAAW,YAAa,CAAC,EAAAS,YAAa,CACvFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,MAAO,CACLib,MAAM,EACNQ,eAAe,EACfN,cAAc,OAGhB,OAA0Bve,EAAOuC,UAAW,aAAc,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,cAAevC,EAAOuC,YAAY,OAA0BvC,EAAOuC,UAAW,eAAgB,CAAC,EAAAmE,QAAS1E,OAAOyE,yBAAyBzG,EAAOuC,UAAW,gBAAiBvC,EAAOuC,WAAavC,I,iJCvFzT,IAAA8e,WAAU,CACRC,eAAgB,WASlB,MAAM9d,EACA3S,cACF,OAAOD,KAAK2wB,YAAc3wB,KAAK2wB,YAAc3wB,KAAK2wB,aAAc,IAAAC,sBAAqB5wB,MAGvFmS,cACEnS,KAAK8C,iBAAc,EACnB9C,KAAKuU,0BAAuB,EAC5BvU,KAAK+d,iBAAc,EACnB/d,KAAK6wB,kBAAe,EACpB7wB,KAAK8wB,gBAAa,EAClB9wB,KAAK+E,oBAAiB,EACtB/E,KAAK+wB,cAAW,EAChB/wB,KAAKkR,kBAAe,EACpBlR,KAAK2wB,iBAAc,EACnB3wB,KAAK8C,YAAc,IAAI,IAAY9C,MACnCA,KAAKuU,qBAAuB,IAAI,IAAqBvU,MACrDA,KAAK+d,YAAc,IAAI,IAAY/d,MACnCA,KAAK6wB,aAAe,IAAI,IAAa7wB,MACrCA,KAAK8wB,WAAa,IAAI,IAAW9wB,MACjCA,KAAK+E,eAAiB,IAAI,IAAe/E,MACzCA,KAAK+wB,SAAW,IAAI,IAAS/wB,MAC7BA,KAAKkR,aAAe,IAAI,IAAalR,MAG5BgxB,2BACT,OAAOpe,EAAUC,IAAI5S,QAAQ+wB,cAGpBne,iBACT,OAAOD,EAAUqe,GAAKre,EAAUqe,GAAKre,EAAUqe,GAAK,IAAIre,GAK5DA,EAAUqe,QAAK,EAEf,MAAMC,EAAY,IAAMte,EAAUC,IAAI5S,QAAQixB,a,oCC9C1Cvf,EAAQC,EAAaC,EAAcC,EAAcC,EAAcC,EAAcC,EAAciH,EAAcC,EAAcC,EAAcC,EAAeC,EAAeC,EAAeC,E,sHAStL,IAAI2X,GAAYxf,EAAS,cAAuB,EAAAqR,YAC1CoO,+BACF,OAAOpxB,KAAKqxB,+BAAiCrxB,KAAKmgB,qBAAqB7D,QAAQ1W,KAAO5F,KAAK+S,UAAUjQ,YAAYonB,+BAGnH/X,YAAYY,GACVyC,SAEA,OAA2BxV,KAAM,UAAW4R,EAAa5R,OAEzD,OAA2BA,KAAM,cAAe6R,EAAc7R,OAE9D,OAA2BA,KAAM,mBAAoB8R,EAAc9R,OAEnE,OAA2BA,KAAM,uBAAwB+R,EAAc/R,OAEvE,OAA2BA,KAAM,iCAAkCgS,EAAchS,OAEjF,OAA2BA,KAAM,oBAAqBiS,EAAcjS,OAEpE,OAA2BA,KAAM,0BAA2BkZ,EAAclZ,OAE1E,OAA2BA,KAAM,mBAAoBmZ,EAAcnZ,OAEnE,OAA2BA,KAAM,UAAWoZ,EAAcpZ,OAE1D,OAA2BA,KAAM,WAAYqZ,EAAerZ,OAE5D,OAA2BA,KAAM,kBAAmBsZ,EAAetZ,OAEnE,OAA2BA,KAAM,WAAYuZ,EAAevZ,OAE5D,OAA2BA,KAAM,kBAAmBwZ,EAAexZ,MAEnEA,KAAK+S,eAAY,EACjB/S,KAAKsxB,2BAA4B,IAAA3Y,OAAK,YAEpC,MACM4Y,EAAQ/jB,KAAKgkB,KAAKxxB,KAAKoxB,yBADb,KAGhB,IAAK,IAAIxjB,EAAI,EAAGA,EAAI2jB,EAAO3jB,UACnB5N,KAAKmgB,qBAAqBtN,IAAI,CAClCwC,QAAS,CACPkC,OAAQ,CAAC,QAAS,UAAW,YAE/BsB,OAAQ,CACNyL,OATU,IASF1W,EAER4P,SAAU,IAEVvd,QAAS,UAKfD,KAAKqxB,gCAAiC,KAExCrxB,KAAKyxB,cAAe,IAAA9Y,OAAK,YACvB3Y,KAAK0xB,aAAc,EAEnB,IACE,MAAM,kBACJC,EAAiB,QACjBhP,SACQ,OAAQ,CAChBxhB,SAAU,MAGZ,IAAK,MAAMywB,KAAOje,OAAOC,KAAK+O,GAC5B3iB,KAAK2iB,QAAQnQ,IAAIof,EAAK,IAAI,IAAUjP,EAAQiP,GAAM5xB,OAGpDA,KAAK2xB,kBAAoBA,EACzB,MAAOzrB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK0xB,aAAc,MAGvB1xB,KAAK6xB,mBAAoB,IAAAlZ,OAAK,YAC5B3Y,KAAK8xB,kBAAmB,EAExB,IACE,MAAM,wBACJC,EAAuB,iBACvBC,EAAgB,SAChBpR,EAAQ,gBACRK,EAAe,SACfE,EAAQ,gBACRC,SACQ,OAAQ,CAChBjgB,SAAU,MAGZ,IAAK,MAAM6kB,KAAOrS,OAAOC,KAAKgN,GAC5B5gB,KAAK4gB,SAASpO,IAAIwT,EAAK,IAAI,IAAWpF,EAASoF,IAAM,EAAOhmB,OAG9D,IAAK,MAAMgmB,KAAOrS,OAAOC,KAAKqN,GAC5BjhB,KAAKihB,gBAAgBzO,IAAIwT,EAAK,IAAI,IAAW/E,EAAgB+E,IAAM,EAAMhmB,OAG3E,IAAK,MAAMgmB,KAAOrS,OAAOC,KAAKuN,GAC5BnhB,KAAKmhB,SAAS3O,IAAIwT,EAAK,IAAI,IAAW7E,EAAS6E,IAAM,EAAOhmB,OAG9D,IAAK,MAAMgmB,KAAOrS,OAAOC,KAAKwN,GAC5BphB,KAAKohB,gBAAgB5O,IAAIwT,EAAK,IAAI,IAAW5E,EAAgB4E,IAAM,EAAMhmB,OAG3EA,KAAK+xB,wBAA0BA,EAC/B/xB,KAAKgyB,iBAAmBA,EACxB,MAAO9rB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAK8xB,kBAAmB,MAG5B9xB,KAAKiyB,WAAY,IAAAtZ,OAAK,YACpB3Y,KAAKkyB,SAAU,EAEf,IACE,MAAM,gBACJC,SACQ,OAAQ,CAChBhxB,SAAU,MAEZnB,KAAK+S,UAAUjQ,YAAYgpB,mBAAqBqG,EAChD,MAAOjsB,GAEP,MADA8S,QAAQC,IAAI/S,GACNA,EACN,QACAlG,KAAKkyB,SAAU,MAGnBlyB,KAAK+S,UAAYA,GACjB,IAAAR,cAAY,KACVvS,KAAKmgB,qBAAuB,IAAI,IAAiCngB,WAKnE4R,GAAc,OAA0BD,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACrFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPlD,GAAe,OAA0BF,EAAOuC,UAAW,cAAe,CAAC,EAAAS,YAAa,CAC1FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPjD,GAAe,OAA0BH,EAAOuC,UAAW,mBAAoB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEPhD,GAAe,OAA0BJ,EAAOuC,UAAW,uBAAwB,CAAC,EAAAS,YAAa,CACnGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACX/C,GAAe,OAA0BL,EAAOuC,UAAW,iCAAkC,CAAC,EAAAS,YAAa,CAC7GC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,KAEP9C,GAAe,OAA0BN,EAAOuC,UAAW,oBAAqB,CAAC,EAAAS,YAAa,CAChGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXmE,GAAe,OAA0BvH,EAAOuC,UAAW,0BAA2B,CAAC,EAAAS,YAAa,CACtGC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXoE,GAAe,OAA0BxH,EAAOuC,UAAW,mBAAoB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,OACXqE,GAAe,OAA0BzH,EAAOuC,UAAW,UAAW,CAAC,EAAAS,YAAa,CACtFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEX9L,GAAgB,OAA0B1H,EAAOuC,UAAW,WAAY,CAAC,EAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEX7L,GAAgB,OAA0B3H,EAAOuC,UAAW,kBAAmB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEX5L,GAAgB,OAA0B5H,EAAOuC,UAAW,WAAY,CAAC,EAAAS,YAAa,CACxFC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,OAEX3L,GAAgB,OAA0B7H,EAAOuC,UAAW,kBAAmB,CAAC,EAAAS,YAAa,CAC/FC,cAAc,EACdC,YAAY,EACZC,UAAU,EACVC,YAAa,WACX,OAAO,IAAIoQ,QAEX,OAA0BxT,EAAOuC,UAAW,2BAA4B,CAAC,EAAAiE,UAAWxE,OAAOyE,yBAAyBzG,EAAOuC,UAAW,4BAA6BvC,EAAOuC,WAAavC,I,wCChP3L,MAAMygB,EAAiB,WACjBC,EAAkC,8B,eCDxC,SAASC,EAAgB9xB,GACvB,MAAM+xB,EAAY9wB,SAASX,cAAc,YACzCyxB,EAAUC,UAAYhyB,EACtBiB,SAASgxB,KAAKC,YAAYH,GAC1BA,EAAUI,SACVlxB,SAASmxB,YAAY,QACrBL,EAAUM,S,iCCDZ,SAASC,IACP,OAAOjzB,OAAO,qBAAiBqf,QAAQ,aAAa6T,GAAKA,EAAE,GAAG5X,iB,gECChE,SAAS3T,IACP,OAAO,SAAuBzE,S,0ECLhC,IAAIiwB,EAEJ,SAASngB,IACP,OAAOmgB,IAA8BA,GAAe,IAAAC,2BAA0B,EAAAjQ,YAAA,YAAwB,wBAGxG,MAAMkQ,EAAK,IAAIC,IAAStgB,IAAMqgB,MAAMC,GAI9BC,EAAK,IAAID,IAAStgB,IAAMugB,MAAMD,GAE9BlxB,EAAK,IAAIkxB,IAAStgB,IAAM5Q,MAAMkxB,GAE9BjxB,EAAK,IAAIixB,IAAStgB,IAAM3Q,MAAMixB,I,sDCdpC,IAAIH,EAEJ,SAASngB,IACP,OAAOmgB,IAA8BA,GAAe,IAAAK,sBAAqBxzB,OAAO,EAAAmjB,YAAA,YAAwB,sBAAkB,MAG5H,MAAMsQ,EAAa,IAAIH,IAAStgB,IAAMygB,cAAcH,GAE9C9d,EAAU,IAAI8d,IAAStgB,IAAMwC,WAAW8d,I,eCR9C,SAAShrB,EAAS5G,EAAM,GACtBE,SAASgxB,KAAKc,UAAYhyB,EAE1BE,SAAS+xB,gBAAgBD,UAAYhyB,E,iCCDvC,SAASkyB,EAAeC,EAAKC,EAAY,GAAIC,EAAY,OACvD,IAAKF,GAAOA,EAAI1tB,QAAU2tB,EACxB,OAAOD,EAGT,MACMG,EAAcF,EADLC,EAAU5tB,OAEnB8tB,EAAatmB,KAAKgkB,KAAKqC,EAAc,GACrCE,EAAYvmB,KAAKC,MAAMomB,EAAc,GAC3C,OAAOH,EAAIM,OAAO,EAAGF,GAAcF,EAAYF,EAAIM,OAAON,EAAI1tB,OAAS+tB,G,kDCblE,MAAME,EAA2B,CACtC7yB,KAAM,aACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM+e,EAA2B,CACtC/yB,KAAM,iBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMgf,EAA+B,CAC1ChzB,KAAM,eACN8yB,O,QAAQ9e,cAAA,S,gCCFH,MAAMif,EAA4B,CACvCjzB,KAAM,eACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMkf,EAAgC,CAC3ClzB,KAAM,mBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMmf,EAAkC,CAC7CnzB,KAAM,uBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMof,EAAkC,CAC7CpzB,KAAM,sBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMqf,EAA8B,CACzCrzB,KAAM,iBACN8yB,O,QAAQ9e,cAAA,M,+BCFH,MAAMsf,EAAuC,CAClDtzB,KAAM,2BACN8yB,O,QAAQ9e,cAAA,M,+BCFH,MAAMuf,EAAwB,CACnCvzB,KAAM,UACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMwf,EAAgC,CAC3CxzB,KAAM,mBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMyf,EAA+B,CAC1CzzB,KAAM,wBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM0f,EAAkC,CAC7C1zB,KAAM,qBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM2f,EAAyB,CACpC3zB,KAAM,UACN8yB,O,QAAQ9e,cAAA,O,qlBCFH,MAAM4f,EAA0B,CACrC5zB,KAAM,WACN8yB,OAAQ,EAAA9e,cAAA,MCFG6f,EAAyB,CACpC7zB,KAAM,WACN8yB,OAAQ,EAAA9e,cAAA,K,4CCFH,MAAM8f,EAA2B,CACtC9zB,KAAM,cACN8yB,OAAQ,EAAA9e,cAAA,KCFG+f,EAAmC,CAC9C/zB,KAAM,sBACN8yB,OAAQ,EAAA9e,cAAA,KCFGggB,EAAqC,CAChDh0B,KAAM,wBACN8yB,OAAQ,EAAA9e,cAAA,K,uBCFH,MAAMigB,EAAiC,CAC5Cj0B,KAAM,iBACN8yB,OAAQ,EAAA9e,cAAA,Q,sDCFH,MAAMkgB,EAAiC,CAC5Cl0B,KAAM,mBACN8yB,OAAQ,EAAA9e,cAAA,M,6FCFH,MAAMmgB,EAA2C,CACtDn0B,KAAM,+BACN8yB,OAAQ,EAAA9e,cAAA,M,kJCFH,MAAMogB,EAA6C,CACxDp0B,KAAM,kCACN8yB,O,QAAQ9e,cAAA,S,gCCFH,MAAMqgB,EAA8B,CACzCr0B,KAAM,wBACN8yB,O,QAAQ9e,cAAA,S,gCCFH,MAAMsgB,EAA4B,CACvCt0B,KAAM,gCACN8yB,O,QAAQ9e,cAAA,O,gCCFH,MAAMugB,EAA+B,CAC1Cv0B,KAAM,cACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMwgB,EAAkC,CAC7Cx0B,KAAM,sBACN8yB,O,QAAQ9e,cAAA,O,gCCFH,MAAMygB,EAA+B,CAC1Cz0B,KAAM,kBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM0gB,EAAgC,CAC3C10B,KAAM,mBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM2gB,EAA0C,CACrD30B,KAAM,+BACN8yB,O,QAAQ9e,cAAA,M,+BCFH,MAAM4gB,EAAgC,CAC3C50B,KAAM,mBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM6gB,EAA0C,CACrD70B,KAAM,+BACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM8gB,EAA0B,CACrC90B,KAAM,kBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM+gB,EAAiC,CAC5C/0B,KAAM,oBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMghB,EAAiC,CAC5Ch1B,KAAM,oBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMihB,EAAqC,CAChDj1B,KAAM,8BACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMkhB,EAA+B,CAC1Cl1B,KAAM,iBACN8yB,O,QAAQ9e,cAAA,O,gCCFH,MAAMmhB,EAAoD,CAC/Dn1B,KAAM,8CACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMohB,EAAwC,CACnDp1B,KAAM,4BACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMqhB,EAAyC,CACpDr1B,KAAM,kCACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMshB,EAAqC,CAChDt1B,KAAM,6BACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMuhB,EAAsC,CACjDv1B,KAAM,0BACN8yB,O,QAAQ9e,cAAA,M,+BCFH,MAAMwhB,EAAiC,CAC5Cx1B,KAAM,oBACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAMyhB,EAAwB,CACnCz1B,KAAM,WACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM0hB,EAA4B,CACvC11B,KAAM,eACN8yB,O,QAAQ9e,cAAA,M,gCCFH,MAAM2hB,EAAyB,CACpC31B,KAAM,YACNC,UAAW,QACX6yB,O,QAAQ9e,cAAA,M,gCCHH,MAAM4hB,EAA8B,CACzC51B,KAAM,YACNC,UAAW,QACX6yB,O,QAAQ9e,cAAA,Q,iCCJV6hB,EAAOC,QAAUp1B,O,SCAjBm1B,EAAOC,QAAUC,U,SCAjBF,EAAOC,QAAUE,gB,QCAjBH,EAAOC,QAAUG,oB,SCAjBJ,EAAOC,QAAUI,qC,MCAjBL,EAAOC,QAAUK,oB,SCAjBN,EAAOC,QAAUM,gB,SCAjBP,EAAOC,QAAUO,Q,SCAjBR,EAAOC,QAAUQ,M,SCAjBT,EAAOC,QAAUS,Q,SCAjBV,EAAOC,QAAUU,KCCbC,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB3zB,IAAjB4zB,EACH,OAAOA,EAAad,QAGrB,IAAID,EAASY,EAAyBE,GAAY,CACjD11B,GAAI01B,EACJE,QAAQ,EACRf,QAAS,IAUV,OANAgB,EAAoBH,GAAUd,EAAQA,EAAOC,QAASY,GAGtDb,EAAOgB,QAAS,EAGThB,EAAOC,QAIfY,EAAoB5T,EAAIgU,EtH5BpBt5B,EAAW,GACfk5B,EAAoBK,EAAI,CAAChc,EAAQic,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,EAAAA,EACnB,IAAS5qB,EAAI,EAAGA,EAAIhP,EAASoH,OAAQ4H,IAAK,CAGzC,IAFA,IAAKwqB,EAAUC,EAAIC,GAAY15B,EAASgP,GACpC6qB,GAAY,EACPC,EAAI,EAAGA,EAAIN,EAASpyB,OAAQ0yB,MACpB,EAAXJ,GAAsBC,GAAgBD,IAAa3kB,OAAOC,KAAKkkB,EAAoBK,GAAGQ,OAAO53B,GAAS+2B,EAAoBK,EAAEp3B,GAAKq3B,EAASM,MAC9IN,EAASQ,OAAOF,IAAK,IAErBD,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACb75B,EAASg6B,OAAOhrB,IAAK,GACrB,IAAIirB,EAAIR,SACEj0B,IAANy0B,IAAiB1c,EAAS0c,IAGhC,OAAO1c,EAvBNmc,EAAWA,GAAY,EACvB,IAAI,IAAI1qB,EAAIhP,EAASoH,OAAQ4H,EAAI,GAAKhP,EAASgP,EAAI,GAAG,GAAK0qB,EAAU1qB,IAAKhP,EAASgP,GAAKhP,EAASgP,EAAI,GACrGhP,EAASgP,GAAK,CAACwqB,EAAUC,EAAIC,IuHJ/BR,EAAoBgB,EAAK7B,IACxB,IAAI8B,EAAS9B,GAAUA,EAAO+B,WAC7B,IAAO/B,EAAiB,QACxB,IAAM,EAEP,OADAa,EAAoBmB,EAAEF,EAAQ,CAAEpyB,EAAGoyB,IAC5BA,GCLRjB,EAAoBmB,EAAI,CAAC/B,EAASgC,KACjC,IAAI,IAAIn4B,KAAOm4B,EACXpB,EAAoBqB,EAAED,EAAYn4B,KAAS+2B,EAAoBqB,EAAEjC,EAASn2B,IAC5E4S,OAAOylB,eAAelC,EAASn2B,EAAK,CAAE8T,YAAY,EAAMhC,IAAKqmB,EAAWn4B,MCJ3E+2B,EAAoBuB,EAAI,GAGxBvB,EAAoB5xB,EAAKozB,GACjB1d,QAAQC,IAAIlI,OAAOC,KAAKkkB,EAAoBuB,GAAG7T,QAAO,CAAC+T,EAAUx4B,KACvE+2B,EAAoBuB,EAAEt4B,GAAKu4B,EAASC,GAC7BA,IACL,KCNJzB,EAAoB0B,EAAKF,KAEX,CAAC,EAAI,2BAA2B,IAAM,uBAAuB,IAAM,6BAA6B,IAAM,0BAA0B,IAAM,6BAA6B,IAAM,2BAA2B,IAAM,2BAA2B,IAAM,2BAA2B,IAAM,6BAA6BA,IAAYA,GAAW,gBAAkB,CAAC,EAAI,uBAAuB,GAAK,uBAAuB,GAAK,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,wBAAwBA,ICFnjCxB,EAAoB2B,SAAYH,GAExB,YCHRxB,EAAoB/E,EAAI,WACvB,GAA0B,iBAAf2G,WAAyB,OAAOA,WAC3C,IACC,OAAO15B,MAAQ,IAAI25B,SAAS,cAAb,GACd,MAAOzzB,GACR,GAAsB,iBAAXrG,OAAqB,OAAOA,QALjB,GCAxBi4B,EAAoBqB,EAAI,CAACS,EAAKC,IAAUlmB,OAAOO,UAAUC,eAAeC,KAAKwlB,EAAKC,G5HA9Eh7B,EAAa,GACbC,EAAoB,qBAExBg5B,EAAoBgC,EAAI,CAACC,EAAK30B,EAAMrE,EAAKu4B,KACxC,GAAGz6B,EAAWk7B,GAAQl7B,EAAWk7B,GAAK1lB,KAAKjP,OAA3C,CACA,IAAI40B,EAAQC,EACZ,QAAW71B,IAARrD,EAEF,IADA,IAAIm5B,EAAUz4B,SAAS04B,qBAAqB,UACpCvsB,EAAI,EAAGA,EAAIssB,EAAQl0B,OAAQ4H,IAAK,CACvC,IAAIwsB,EAAIF,EAAQtsB,GAChB,GAAGwsB,EAAEC,aAAa,QAAUN,GAAOK,EAAEC,aAAa,iBAAmBv7B,EAAoBiC,EAAK,CAAEi5B,EAASI,EAAG,OAG1GJ,IACHC,GAAa,GACbD,EAASv4B,SAASX,cAAc,WAEzBw5B,QAAU,QACjBN,EAAOO,QAAU,IACbzC,EAAoB0C,IACvBR,EAAOS,aAAa,QAAS3C,EAAoB0C,IAElDR,EAAOS,aAAa,eAAgB37B,EAAoBiC,GACxDi5B,EAAOtwB,IAAMqwB,GAEdl7B,EAAWk7B,GAAO,CAAC30B,GACnB,IAAIs1B,EAAmB,CAACC,EAAM9uB,KAE7BmuB,EAAOY,QAAUZ,EAAOa,OAAS,KACjCxT,aAAakT,GACb,IAAIO,EAAUj8B,EAAWk7B,GAIzB,UAHOl7B,EAAWk7B,GAClBC,EAAOe,YAAcf,EAAOe,WAAWC,YAAYhB,GACnDc,GAAWA,EAAQznB,SAASglB,GAAQA,EAAGxsB,KACpC8uB,EAAM,OAAOA,EAAK9uB,IAGlB0uB,EAAUtnB,WAAWynB,EAAiBO,KAAK,UAAM72B,EAAW,CAAEgN,KAAM,UAAW5M,OAAQw1B,IAAW,MACtGA,EAAOY,QAAUF,EAAiBO,KAAK,KAAMjB,EAAOY,SACpDZ,EAAOa,OAASH,EAAiBO,KAAK,KAAMjB,EAAOa,QACnDZ,GAAcx4B,SAASy5B,KAAKxI,YAAYsH,K6HvCzClC,EAAoBe,EAAK3B,IACH,oBAAXiE,QAA0BA,OAAOC,aAC1CznB,OAAOylB,eAAelC,EAASiE,OAAOC,YAAa,CAAEp5B,MAAO,WAE7D2R,OAAOylB,eAAelC,EAAS,aAAc,CAAEl1B,OAAO,KCLvD81B,EAAoBuD,IAAOpE,IAC1BA,EAAOqE,MAAQ,GACVrE,EAAO3sB,WAAU2sB,EAAO3sB,SAAW,IACjC2sB,G,MCHR,IAAIsE,EACAzD,EAAoB/E,EAAEyI,gBAAeD,EAAYzD,EAAoB/E,EAAE5xB,SAAW,IACtF,IAAIM,EAAWq2B,EAAoB/E,EAAEtxB,SACrC,IAAK85B,GAAa95B,IACbA,EAASg6B,gBACZF,EAAY95B,EAASg6B,cAAc/xB,MAC/B6xB,GAAW,CACf,IAAIrB,EAAUz4B,EAAS04B,qBAAqB,UACzCD,EAAQl0B,SAAQu1B,EAAYrB,EAAQA,EAAQl0B,OAAS,GAAG0D,KAK7D,IAAK6xB,EAAW,MAAM,IAAInL,MAAM,yDAChCmL,EAAYA,EAAUrc,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpF4Y,EAAoB4D,EAAIH,G,SCVxB,IAAII,EAAkB,CACrB,IAAK,GAGN7D,EAAoBuB,EAAEX,EAAI,CAACY,EAASC,KAElC,IAAIqC,EAAqB9D,EAAoBqB,EAAEwC,EAAiBrC,GAAWqC,EAAgBrC,QAAWl1B,EACtG,GAA0B,IAAvBw3B,EAGF,GAAGA,EACFrC,EAASllB,KAAKunB,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIjgB,SAAQ,CAACkgB,EAASC,IAAYH,EAAqBD,EAAgBrC,GAAW,CAACwC,EAASC,KAC1GxC,EAASllB,KAAKunB,EAAmB,GAAKC,GAGtC,IAAI9B,EAAMjC,EAAoB4D,EAAI5D,EAAoB0B,EAAEF,GAEpD0C,EAAQ,IAAI5L,MAgBhB0H,EAAoBgC,EAAEC,GAfFluB,IACnB,GAAGisB,EAAoBqB,EAAEwC,EAAiBrC,KAEf,KAD1BsC,EAAqBD,EAAgBrC,MACRqC,EAAgBrC,QAAWl1B,GACrDw3B,GAAoB,CACtB,IAAIK,EAAYpwB,IAAyB,SAAfA,EAAMuF,KAAkB,UAAYvF,EAAMuF,MAChE8qB,EAAUrwB,GAASA,EAAMrH,QAAUqH,EAAMrH,OAAOkF,IACpDsyB,EAAM7tB,QAAU,iBAAmBmrB,EAAU,cAAgB2C,EAAY,KAAOC,EAAU,IAC1FF,EAAM5kB,KAAO,iBACb4kB,EAAM5qB,KAAO6qB,EACbD,EAAM3mB,QAAU6mB,EAChBN,EAAmB,GAAGI,MAIgB,SAAW1C,EAASA,KAclExB,EAAoBK,EAAEO,EAAKY,GAA0C,IAA7BqC,EAAgBrC,GAGxD,IAAI6C,EAAuB,CAACC,EAA4B9lB,KACvD,IAGIyhB,EAAUuB,GAHTlB,EAAUiE,EAAaC,GAAWhmB,EAGhB1I,EAAI,EAC3B,GAAGwqB,EAASmE,MAAMl6B,GAAgC,IAAxBs5B,EAAgBt5B,KAAa,CACtD,IAAI01B,KAAYsE,EACZvE,EAAoBqB,EAAEkD,EAAatE,KACrCD,EAAoB5T,EAAE6T,GAAYsE,EAAYtE,IAGhD,GAAGuE,EAAS,IAAIngB,EAASmgB,EAAQxE,GAGlC,IADGsE,GAA4BA,EAA2B9lB,GACrD1I,EAAIwqB,EAASpyB,OAAQ4H,IACzB0rB,EAAUlB,EAASxqB,GAChBkqB,EAAoBqB,EAAEwC,EAAiBrC,IAAYqC,EAAgBrC,IACrEqC,EAAgBrC,GAAS,KAE1BqC,EAAgBrC,GAAW,EAE5B,OAAOxB,EAAoBK,EAAEhc,IAG1BqgB,EAAqBC,KAAoC,8BAAIA,KAAoC,+BAAK,GAC1GD,EAAmBnpB,QAAQ8oB,EAAqBlB,KAAK,KAAM,IAC3DuB,EAAmBnoB,KAAO8nB,EAAqBlB,KAAK,KAAMuB,EAAmBnoB,KAAK4mB,KAAKuB,K,GClFvF,IAAIE,EAAsB5E,EAAoBK,OAAE/zB,EAAW,CAAC,MAAM,IAAO0zB,EAAoB,QAC7F4E,EAAsB5E,EAAoBK,EAAEuE,G","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/load script","webpack:///../../backends/real-cookie-banner-backend/src/types/service/tcf.ts","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/getManagerDependingVariables.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/contexts/i18n.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/reactNl2Br.tsx","webpack:///./src/public/ts/admin.tsx","webpack:///./src/public/ts/components/config/dashboard/checklistItem.tsx","webpack:///./src/public/ts/components/config/dashboard/checklist.tsx","webpack:///./src/public/ts/components/config/noticeRevisionNeedsRetrigger.tsx","webpack:///./src/public/ts/components/config/noticeBannerActiveNoCookies.tsx","webpack:///./src/public/ts/components/config/noticeAnonymousScriptNotWritable.tsx","webpack:///./src/public/ts/components/config/noticeNoManager.tsx","webpack:///./src/public/ts/components/routerScrollToTop.tsx","webpack:///./src/public/ts/components/proHeadlineButton.tsx","webpack:///./src/public/ts/components/config/header.tsx","webpack:///./src/public/ts/components/config/footer.tsx","webpack:///./src/public/ts/components/configApp.tsx","webpack:///./src/public/ts/components/inAppFomoCouponCounter.tsx","webpack:///./src/public/ts/components/proModal.tsx","webpack:///./src/public/ts/components/proModalHint.tsx","webpack:///./src/public/ts/hooks/useProModal.tsx","webpack:///./src/public/ts/hooks/useScannerProgress.tsx","webpack:///./src/public/ts/models/bannerPreset.tsx","webpack:///./src/public/ts/models/blockerCollection.tsx","webpack:///./src/public/ts/models/blockerModel.tsx","webpack:///./src/public/ts/models/blockerPreset.tsx","webpack:///./src/public/ts/models/consent.tsx","webpack:///./src/public/ts/models/cookieCollection.tsx","webpack:///./src/public/ts/models/cookieGroupCollection.tsx","webpack:///./src/public/ts/models/cookieGroupModel.tsx","webpack:///./src/public/ts/models/cookieModel.tsx","webpack:///./src/public/ts/models/cookiePreset.tsx","webpack:///./src/public/ts/models/revision.tsx","webpack:///./src/public/ts/models/revisionIndependent.tsx","webpack:///./src/public/ts/models/scannerResultExternalUrl.tsx","webpack:///./src/public/ts/models/scannerResultExternalUrlSingle.tsx","webpack:///./src/public/ts/models/scannerResultPreset.tsx","webpack:///./src/public/ts/models/tcfFeature.tsx","webpack:///./src/public/ts/models/tcfPurpose.tsx","webpack:///./src/public/ts/models/tcfVendor.tsx","webpack:///./src/public/ts/models/tcfVendorConfigurationCollection.tsx","webpack:///./src/public/ts/models/tcfVendorConfigurationModel.tsx","webpack:///./src/public/ts/store/checklist.tsx","webpack:///./src/public/ts/store/consent.tsx","webpack:///./src/public/ts/store/cookie.tsx","webpack:///./src/public/ts/store/customizeBanner.tsx","webpack:///./src/public/ts/store/option.tsx","webpack:///./src/public/ts/store/scanner.tsx","webpack:///./src/public/ts/store/stats.tsx","webpack:///./src/public/ts/store/stores.tsx","webpack:///./src/public/ts/store/tcf.tsx","webpack:///./src/public/ts/types/queue.tsx","webpack:///./src/public/ts/utils/copyToClipboard.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/i18n.tsx","webpack:///./src/public/ts/utils/request.tsx","webpack:///./src/public/ts/utils/scrollTo.tsx","webpack:///./src/public/ts/utils/truncateMiddle.tsx","webpack:///./src/public/ts/wp-api/checklist.get.tsx","webpack:///./src/public/ts/wp-api/checklist.put.tsx","webpack:///./src/public/ts/wp-api/consentAll.delete.tsx","webpack:///./src/public/ts/wp-api/consentAll.get.tsx","webpack:///./src/public/ts/wp-api/consentReferer.get.tsx","webpack:///./src/public/ts/wp-api/cookieGroupOrder.put.tsx","webpack:///./src/public/ts/wp-api/cookieUnassigned.get.tsx","webpack:///./src/public/ts/wp-api/cookiesOrder.put.tsx","webpack:///./src/public/ts/wp-api/countryBypassDatabase.put.tsx","webpack:///./src/public/ts/wp-api/export.get.tsx","webpack:///./src/public/ts/wp-api/exportConsents.get.tsx","webpack:///./src/public/ts/wp-api/forwardCookie.get.tsx","webpack:///./src/public/ts/wp-api/forwardEndpoints.get.tsx","webpack:///./src/public/ts/wp-api/import.post.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/wp-api/statsMain.get.tsx","webpack:///./src/public/ts/wp-api/statsCustomBypass.get.tsx","webpack:///./src/public/ts/wp-api/statsButtonsClicked.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/wp-api/consentForward.post.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///./src/public/ts/wp-api/liteDismissConfigPageProNotice.delete.tsx","webpack:///./src/public/ts/wp-api/migration.delete.tsx","webpack:///./src/public/ts/wp-api/migration.post.tsx","webpack:///./src/public/ts/wp-api/modalHintSeen.put.tsx","webpack:///./src/public/ts/wp-api/navMenuAddLinks.post.tsx","webpack:///./src/public/ts/wp-api/presetsBanner.get.tsx","webpack:///./src/public/ts/wp-api/presetsBlocker.get.tsx","webpack:///./src/public/ts/wp-api/presetsBlockerAttributes.get.tsx","webpack:///./src/public/ts/wp-api/presetsCookies.get.tsx","webpack:///./src/public/ts/wp-api/presetsCookiesAttributes.get.tsx","webpack:///./src/public/ts/wp-api/revision.get.tsx","webpack:///./src/public/ts/wp-api/revisionCurrent.get.tsx","webpack:///./src/public/ts/wp-api/revisionCurrent.put.tsx","webpack:///./src/public/ts/wp-api/revisionIndependent.get.tsx","webpack:///./src/public/ts/wp-api/scannerQueue.post.tsx","webpack:///./src/public/ts/wp-api/scannerResultsAllExternalUrls.get.tsx","webpack:///./src/public/ts/wp-api/scannerResultsExternal.get.tsx","webpack:///./src/public/ts/wp-api/scannerResultsExternalHost.put.tsx","webpack:///./src/public/ts/wp-api/scannerResultsMarkup.get.tsx","webpack:///./src/public/ts/wp-api/scannerResultsPreset.get.tsx","webpack:///./src/public/ts/wp-api/tcfDeclarations.get.tsx","webpack:///./src/public/ts/wp-api/tcfGvl.put.tsx","webpack:///./src/public/ts/wp-api/tcfVendors.get.tsx","webpack:///./src/public/ts/wp-api/wp/settings.get.tsx","webpack:///./src/public/ts/wp-api/wp/settings.patch.tsx","webpack:///external var \"React\"","webpack:///external var \"ReactDOM\"","webpack:///external var \"ReactRouterDOM\"","webpack:///external var \"devowlWp_customize\"","webpack:///external var \"devowlWp_realProductManagerWpClient\"","webpack:///external var \"devowlWp_realQueue\"","webpack:///external var \"devowlWp_utils\"","webpack:///external var \"jQuery\"","webpack:///external var \"mobx\"","webpack:///external var \"moment\"","webpack:///external var \"wp\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/get mini-css chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"realCookieBanner_:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/* eslint-disable @typescript-eslint/no-empty-interface */\nvar ETcfGvlDisclosureType;\n\n(function (ETcfGvlDisclosureType) {\n ETcfGvlDisclosureType[\"Cookie\"] = \"cookie\";\n ETcfGvlDisclosureType[\"Web\"] = \"web\";\n ETcfGvlDisclosureType[\"App\"] = \"app\";\n})(ETcfGvlDisclosureType || (ETcfGvlDisclosureType = {}));\n\nvar ETcfGvlLanguage;\n\n(function (ETcfGvlLanguage) {\n ETcfGvlLanguage[\"Bulgarian\"] = \"bg\";\n ETcfGvlLanguage[\"Catalan\"] = \"ca\";\n ETcfGvlLanguage[\"Czech\"] = \"cs\";\n ETcfGvlLanguage[\"Danish\"] = \"da\";\n ETcfGvlLanguage[\"German\"] = \"de\";\n ETcfGvlLanguage[\"Greek\"] = \"el\";\n ETcfGvlLanguage[\"Spanish\"] = \"es\";\n ETcfGvlLanguage[\"Estonian\"] = \"et\";\n ETcfGvlLanguage[\"Basque\"] = \"eus\";\n ETcfGvlLanguage[\"Finnish\"] = \"fi\";\n ETcfGvlLanguage[\"French\"] = \"fr\";\n ETcfGvlLanguage[\"Galician\"] = \"gl\";\n ETcfGvlLanguage[\"Croatian\"] = \"hr\";\n ETcfGvlLanguage[\"Hungarian\"] = \"hu\";\n ETcfGvlLanguage[\"Italian\"] = \"it\";\n ETcfGvlLanguage[\"Japanese\"] = \"ja\";\n ETcfGvlLanguage[\"Lithuanian\"] = \"lt\";\n ETcfGvlLanguage[\"Latvian\"] = \"lv\";\n ETcfGvlLanguage[\"Maltese\"] = \"mt\";\n ETcfGvlLanguage[\"Dutch\"] = \"nl\";\n ETcfGvlLanguage[\"Norwegian\"] = \"no\";\n ETcfGvlLanguage[\"Polish\"] = \"pl\";\n ETcfGvlLanguage[\"Portuguese\"] = \"pt\";\n ETcfGvlLanguage[\"Romanian\"] = \"ro\";\n ETcfGvlLanguage[\"SerbianCyrillic\"] = \"sr-Cyrl\";\n ETcfGvlLanguage[\"SerbianLatin\"] = \"sr-Latn\";\n ETcfGvlLanguage[\"Russian\"] = \"ru\";\n ETcfGvlLanguage[\"Slovak\"] = \"sk\";\n ETcfGvlLanguage[\"Slovenian\"] = \"sl\";\n ETcfGvlLanguage[\"Swedish\"] = \"sv\";\n ETcfGvlLanguage[\"Turkish\"] = \"tr\";\n ETcfGvlLanguage[\"Chinese\"] = \"zh\";\n})(ETcfGvlLanguage || (ETcfGvlLanguage = {}));\n\nexport { ETcfGvlLanguage, ETcfGvlDisclosureType };","export const LABEL_GTM = \"Google Tag Manager\";\nexport const LABEL_MTM = \"Matomo Tag Manager\";\n\nfunction getManagerDependingVariables(setCookiesViaManager, presetId) {\n let useGlobalObjectName;\n let getDataLayer;\n let serviceIsManager = false;\n let managerLabel = \"\";\n let expectedManagerPresetId;\n\n if (setCookiesViaManager && setCookiesViaManager !== \"none\") {\n const isGtm = setCookiesViaManager === \"googleTagManager\";\n const isMtm = setCookiesViaManager === \"matomoTagManager\";\n\n if (isGtm) {\n expectedManagerPresetId = \"gtm\";\n useGlobalObjectName = \"dataLayer\";\n managerLabel = LABEL_GTM;\n } else if (isMtm) {\n expectedManagerPresetId = \"mtm\";\n useGlobalObjectName = \"_mtm\";\n managerLabel = LABEL_MTM;\n }\n\n if (isGtm || isMtm) {\n getDataLayer = () => {\n window[useGlobalObjectName] = window[useGlobalObjectName] || [];\n return window[useGlobalObjectName];\n };\n }\n\n if (expectedManagerPresetId && presetId === expectedManagerPresetId) {\n serviceIsManager = true;\n }\n }\n\n return {\n getDataLayer,\n serviceIsManager,\n managerLabel,\n expectedManagerPresetId\n };\n}\n\nexport { getManagerDependingVariables };","import { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nclass I18nContextFactory {\n static Context() {\n return this.context = this.context || /*#__PURE__*/createContext({});\n }\n\n}\n\nI18nContextFactory.context = void 0;\n\nfunction useI18n() {\n return useContext(I18nContextFactory.Context());\n}\n\nexport { I18nContextFactory, useI18n };","import { createElement } from \"react\";\nconst newlineRegex = /(\\r\\n|\\r|\\n|<br[ ]?\\/>)/g;\n/**\n * @see https://codesandbox.io/s/94k7k80jxy\n */\n\nconst reactNl2Br = text => text.split(newlineRegex).map((line, index) => line.match(newlineRegex) ? /*#__PURE__*/createElement(\"br\", {\n key: index\n}) : line);\n\nexport { reactNl2Br };","import _message from \"antd/es/message\";\nimport _ConfigProvider from \"antd/es/config-provider\";\n\n/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * The entry point for the admin side wp-admin resource (config page).\n */\nimport \"mobx-react/batchingForReactDom\";\nimport { render } from \"react-dom\";\nimport { RootStore } from \"./store\";\nimport { ConfigApp } from \"./components/configApp\";\nimport \"./style/antd.less\";\nimport \"./style/admin.scss\";\nimport moment from \"moment\";\nimport { handleCorruptRestApi, getWebpackPublicPath } from \"@devowl-wp/utils\";\nimport { request, __, _i } from \"./utils\";\nimport { I18nContextFactory } from \"@devowl-wp/react-cookie-banner-admin\";\n__webpack_public_path__ = getWebpackPublicPath(process.env.slug);\nhandleCorruptRestApi({\n [RootStore.get.optionStore.restNamespace]: async () => {\n await request({\n location: {\n path: \"/plugin\"\n }\n });\n },\n [\"wp/v2\"]: async () => {\n await request({\n location: {\n path: \"/settings\",\n namespace: \"wp/v2\"\n }\n });\n }\n}); // Configure prefix for root (https://bit.ly/3wb2pv9)\n\n_ConfigProvider.config({\n prefixCls: process.env.ANTD_PREFIX\n});\n\n_message.config({\n top: 50\n});\n\nconst node = document.getElementById(\"\".concat(RootStore.get.optionStore.slug, \"-component\"));\n\nif (node) {\n const I18nContext = I18nContextFactory.Context();\n render( /*#__PURE__*/React.createElement(I18nContext.Provider, {\n value: {\n __,\n _i\n }\n }, /*#__PURE__*/React.createElement(_ConfigProvider, {\n prefixCls: process.env.ANTD_PREFIX,\n locale: {\n locale: moment.locale()\n }\n }, /*#__PURE__*/React.createElement(RootStore.StoreProvider, null, /*#__PURE__*/React.createElement(ConfigApp, null)))), node);\n} // Expose this functionalities to add-ons, but you need to activate the library functionality\n// in your webpack configuration, see also https://webpack.js.org/guides/author-libraries/\n\n\nexport * from \"@devowl-wp/utils\";\nexport * from \"./wp-api\";\nexport * from \"./store\";","import _Tooltip from \"antd/es/tooltip\";\nimport _Tag from \"antd/es/tag\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../utils\";\nimport { CheckCircleOutlined, CheckCircleFilled, InfoCircleFilled } from \"@ant-design/icons\";\nimport { useStores } from \"../../../store\";\nimport { PRO_TAG_BACKGROUND_COLOR, useScannerProgress } from \"../../../hooks\";\nimport { InAppFomoCouponCounter, IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO } from \"../..\";\nconst DashboardChecklistItem = observer(({\n id,\n checked,\n title,\n description,\n link,\n linkText,\n linkTarget,\n needsPro,\n onLinkClick\n}) => {\n const {\n optionStore: {\n others: {\n isPro\n },\n fomoCoupon\n }\n } = useStores();\n const isInfo = !isPro && needsPro;\n let extraContentTag = null;\n let extraContentDescription = null;\n let useLink = link;\n\n switch (id) {\n case \"scanner\":\n {\n const {\n percent: scanPercent,\n remaining: scanRemaining,\n currentJob\n } = useScannerProgress();\n\n if (scanRemaining > 0 && scanPercent > 0 && (currentJob === null || currentJob === void 0 ? void 0 : currentJob.group_position) > 0) {\n extraContentTag = /*#__PURE__*/React.createElement(_Tag, null, __(\"Currently scanning (%d %%)\", scanPercent));\n }\n\n break;\n }\n\n case \"get-pro\":\n {\n extraContentDescription = /*#__PURE__*/React.createElement(InAppFomoCouponCounter, null);\n\n if (fomoCoupon) {\n useLink += \"&\".concat(IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO);\n }\n\n break;\n }\n\n default:\n break;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"5px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Tooltip, {\n title: checked && description\n }, /*#__PURE__*/React.createElement(\"span\", null, isInfo ? /*#__PURE__*/React.createElement(InfoCircleFilled, {\n style: {\n color: \"#7ec8ec\"\n }\n }) : checked ? /*#__PURE__*/React.createElement(CheckCircleFilled, {\n style: {\n color: \"#52c41a\"\n }\n }) : /*#__PURE__*/React.createElement(CheckCircleOutlined, {\n style: {\n color: \"#e2e2e2\"\n }\n }), \" \", /*#__PURE__*/React.createElement(\"span\", {\n style: {\n textDecoration: checked ? \"line-through\" : undefined,\n fontWeight: \"bold\"\n }\n }, title), !!useLink && !!linkText && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", /*#__PURE__*/React.createElement(\"a\", {\n href: useLink,\n target: linkTarget,\n rel: \"noreferrer\",\n onClick: onLinkClick\n }, linkText)))), isInfo && id !== \"get-pro\" && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\", /*#__PURE__*/React.createElement(_Tag, {\n color: PRO_TAG_BACKGROUND_COLOR\n }, __(\"Needs PRO\"))), !!extraContentTag && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\", extraContentTag), !!description && !checked && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n paddingLeft: 17\n }\n }, description), !!extraContentDescription && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n paddingLeft: 17\n }\n }, extraContentDescription));\n});\nexport { DashboardChecklistItem };","import _Spin from \"antd/es/spin\";\nimport _Space from \"antd/es/space\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Tag from \"antd/es/tag\";\nimport { useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../utils\";\nimport { DashboardChecklistItem } from \".\";\nimport { useStores } from \"../../../store\";\nimport { CheckCircleOutlined, MinusCircleOutlined } from \"@ant-design/icons\";\nconst DashboardChecklistCardContent = observer(({\n onLinkClick,\n ...props\n}) => {\n const {\n checklistStore\n } = useStores();\n const {\n busyChecklist,\n items,\n completed,\n checkable,\n done,\n checklist: {\n overdue\n }\n } = checklistStore;\n const [showHidden, setShowHidden] = useState(typeof props.showHidden === \"boolean\" ? props.showHidden : done ? false : true);\n return /*#__PURE__*/React.createElement(_Spin, {\n spinning: busyChecklist\n }, /*#__PURE__*/React.createElement(_Space, {\n direction: \"vertical\",\n size: \"large\"\n }, overdue && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"How time flies! You have installed Real Cookie Banner some time ago, but you still haven't finished the configuration yet.\"))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"We have collected all relevant steps for the legally compliant use of Real Cookie Banner after the first installation. Set up the cookie banner step by step to add a cookie banner to your website in compliance with the ePrivacy Directive and GDPR.\")), /*#__PURE__*/React.createElement(\"div\", null, done && (showHidden ? /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(MinusCircleOutlined, null),\n color: \"default\",\n style: {\n cursor: \"pointer\"\n },\n onClick: () => setShowHidden(false)\n }, __(\"Hide completed steps\")) : /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(CheckCircleOutlined, null),\n color: \"success\",\n style: {\n cursor: \"pointer\"\n },\n onClick: () => setShowHidden(true)\n }, __(\"%d / %d steps completed\", completed.length > checkable.length ? checkable.length : completed.length, // avoid overflow due infos\n checkable.length))), items.map(({\n id,\n ...rest\n }) => {\n if (!showHidden && rest.checked) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(DashboardChecklistItem, _extends({\n key: id,\n id: id\n }, rest, {\n onLinkClick: e => {\n if ([\"get-pro\"].indexOf(id) > -1) {\n checklistStore.toggleChecklistItem(id, true);\n }\n\n onLinkClick === null || onLinkClick === void 0 ? void 0 : onLinkClick(e);\n }\n }));\n }))));\n});\nexport { DashboardChecklistCardContent };","import _Popconfirm from \"antd/es/popconfirm\";\nimport { observer } from \"mobx-react\";\nimport { _i, __ } from \"../../utils\";\nimport { useStores } from \"../../store\";\nimport { useLocation } from \"react-router-dom\";\nconst NoticeRevisionNeedsRetrigger = observer(() => {\n const {\n optionStore\n } = useStores();\n const {\n pathname\n } = useLocation();\n return optionStore.needsRevisionRetrigger && pathname.indexOf(\"/edit/\") === -1 && pathname.indexOf(\"/new\") === -1 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You have changed settings that affect the content or behavior of the cookie banner. You should ask all visitors for their consent again.\"), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(\"a\", {\n style: {\n cursor: \"pointer\",\n textDecoration: \"underline\"\n },\n onClick: () => optionStore.updateCurrentRevision({\n needs_retrigger: true\n })\n }, __(\"Request new consent\")), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(_Popconfirm, {\n title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"strong\", null, __(\"Are you sure you don't want to collect new consents?\")), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), _i(__(\"Consent must be obtained in accordance with {{a}}Art. 7 GDPR{{/a}}. Your visitor must be informed about all circumstances of the consent. However, you have made changes to your cookie banner, which lead to the fact that previously visitors have consented differently or to something different than is now in the cookie banner. Therefore, previously collected consents may have become partially invalid.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://gdpr-info.eu/art-7-gdpr/\"),\n rel: \"noreferrer\",\n target: \"_blank\"\n })\n }), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), __(\"If you have created a new service like Google Analytics (without visual content blocker), previous visitors can never consent without collecting new consents and you cannot track them, for example.\")),\n placement: \"bottomRight\",\n onConfirm: () => optionStore.updateCurrentRevision({\n needs_retrigger: false\n }),\n okText: __(\"Dismiss notice\"),\n cancelText: __(\"Cancel\"),\n overlayStyle: {\n maxWidth: 450\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n style: {\n cursor: \"pointer\",\n textDecoration: \"underline\"\n }\n }, __(\"Dismiss notice\")))));\n});\nexport { NoticeRevisionNeedsRetrigger };","import { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { useStores } from \"../../store\";\nconst NoticeBannerActiveNoCookies = observer(() => {\n const {\n optionStore: {\n publicCookieCount,\n busySettings,\n bannerActive\n }\n } = useStores();\n return bannerActive && !publicCookieCount && !busySettings && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"The cookie banner is activated, but unfortunately you have not yet created or enabled services.\")));\n});\nexport { NoticeBannerActiveNoCookies };","import { observer } from \"mobx-react\";\nimport { getOtherOptionsFromWindow, _i, __ } from \"../../utils\";\nconst NoticeAnonymousScriptNotWritable = observer(() => {\n const {\n showNoticeAnonymousScriptNotWritable\n } = getOtherOptionsFromWindow();\n return !!showNoticeAnonymousScriptNotWritable && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Your {{code}}wp-content{{/code}} folder is not writable. Please check your permissions!\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })));\n});\nexport { NoticeAnonymousScriptNotWritable };","import { observer } from \"mobx-react\";\nimport { __, _i } from \"../../utils\";\nimport { useStores } from \"../../store\";\nimport { useLocation } from \"react-router-dom\";\nimport { getManagerDependingVariables } from \"@devowl-wp/cookie-consent-web-client\";\nconst NoticeNoManager = observer(() => {\n const {\n optionStore: {\n setCookiesViaManager,\n hasManager\n }\n } = useStores();\n const {\n managerLabel,\n expectedManagerPresetId\n } = getManagerDependingVariables(setCookiesViaManager);\n const {\n pathname\n } = useLocation();\n return managerLabel && !hasManager && /^\\/cookies\\/\\d+$/.test(pathname) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"You have not yet defined a %s service. To use {{strong}}%s{{/strong}} with Real Cookie Banner, you must create the appropriate service.\", managerLabel, managerLabel), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }), \" \", \"\\u2022 \", /*#__PURE__*/React.createElement(\"a\", {\n href: \"#\".concat(pathname, \"/new?force=\").concat(expectedManagerPresetId)\n }, __(\"Create now\"))));\n});\nexport { NoticeNoManager };","import { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { scrollTo } from \"../utils\";\n/**\n * @see https://stackoverflow.com/a/54343182/5506547\n */\n\nconst RouterScrollToTop = () => {\n const {\n listen\n } = useHistory();\n useEffect(() => {\n const destroy = listen(() => {\n scrollTo(0);\n });\n return () => {\n destroy();\n };\n }, [listen]);\n return null;\n};\n\nexport { RouterScrollToTop };","import _Popconfirm from \"antd/es/popconfirm\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { InfoCircleOutlined } from \"@ant-design/icons\";\nimport { useStores } from \"../store\";\nimport { __ } from \"../utils\";\nconst ProHeadlineButton = observer(() => {\n const {\n optionStore\n } = useStores();\n const {\n others: {\n proUrl,\n isPro,\n isConfigProNoticeVisible\n }\n } = optionStore;\n const href = \"\".concat(proUrl, \"&feature=main-button\");\n const handleConfirm = useCallback(() => {\n window.open(href, \"_blank\");\n optionStore.dismissConfigProNotice();\n }, [optionStore]);\n const handleClose = useCallback(() => {\n optionStore.dismissConfigProNotice();\n }, [optionStore]);\n return !isPro && /*#__PURE__*/React.createElement(_Popconfirm, {\n visible: !!isConfigProNoticeVisible,\n title: __(\"Thank you for using the free version of Real Cookie Banner. You might also be interested in the PRO version, which offers you more features, 20+ design templates, 100+ service templates, 60+ content blocker templates and much more.\"),\n icon: /*#__PURE__*/React.createElement(InfoCircleOutlined, {\n style: {\n color: \"#1890ff\"\n }\n }),\n placement: \"bottom\",\n onConfirm: handleConfirm,\n onCancel: handleClose,\n cancelText: __(\"No, not interested...\"),\n okText: __(\"I want to learn more!\"),\n overlayStyle: {\n maxWidth: 450\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n rel: \"noreferrer\",\n onClick: handleConfirm\n }, __(\"Get PRO version\")));\n});\nexport { ProHeadlineButton };","import _Modal from \"antd/es/modal\";\nimport { CheckCircleOutlined } from \"@ant-design/icons\";\nimport { observer } from \"mobx-react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { ProHeadlineButton, DashboardChecklistCardContent } from \"..\";\nimport { useStores } from \"../../store\";\nimport { __ } from \"../../utils\";\nconst ConfigHeader = observer(() => {\n const [isChecklistModalOpen, setChecklistModalOpen] = useState(false);\n const {\n optionStore,\n checklistStore\n } = useStores();\n const {\n pathname\n } = useLocation();\n const {\n others: {\n customizeBannerUrl\n },\n publicUrl\n } = optionStore;\n const {\n completed,\n checkable,\n done\n } = checklistStore;\n useEffect(() => {\n checklistStore.fetchChecklist();\n }, []);\n const handleCustomizeBannerButtonClick = useCallback(e => {\n window.location.href = \"\".concat(customizeBannerUrl, \"&return=\").concat(encodeURIComponent(window.location.href));\n e.preventDefault();\n }, []);\n const handleChecklistModalOpen = useCallback(() => {\n setChecklistModalOpen(true);\n checklistStore.fetchChecklist();\n }, [setChecklistModalOpen]);\n const handleChecklistModalClose = useCallback(() => {\n setChecklistModalOpen(false);\n }, [setChecklistModalOpen]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h1\", {\n className: \"wp-heading-inline\"\n }, __(\"Real Cookie Banner\")), /*#__PURE__*/React.createElement(\"img\", {\n className: \"rcb-nav-logo\",\n src: \"\".concat(publicUrl, \"images/logos/real-cookie-banner.svg\")\n }), /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n href: \"#\",\n onClick: handleCustomizeBannerButtonClick\n }, __(\"Customize banner\")), /*#__PURE__*/React.createElement(ProHeadlineButton, null), !done && pathname !== \"/\" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n style: {\n color: \"#52c41a\",\n background: \"#f6ffed\",\n borderColor: \"#85af65\"\n },\n onClick: handleChecklistModalOpen\n }, /*#__PURE__*/React.createElement(CheckCircleOutlined, null), \"\\xA0\", __(\"%d / %d steps completed\", completed.length > checkable.length ? checkable.length : completed.length, // avoid overflow due infos\n checkable.length)), /*#__PURE__*/React.createElement(_Modal, {\n visible: isChecklistModalOpen,\n title: __(\"Set up the cookie banner\"),\n onCancel: handleChecklistModalClose,\n okButtonProps: {\n style: {\n display: \"none\"\n }\n },\n cancelText: __(\"Close\"),\n width: 800\n }, /*#__PURE__*/React.createElement(DashboardChecklistCardContent, {\n showHidden: true,\n onLinkClick: handleChecklistModalClose\n }))), /*#__PURE__*/React.createElement(\"hr\", {\n className: \"wp-header-end\"\n }));\n});\nexport { ConfigHeader };","import { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { HeartFilled } from \"@ant-design/icons\";\nimport { _i, __ } from \"../../utils\";\nconst ConfigFooter = observer(() => {\n const {\n optionStore: {\n publicUrl\n }\n } = useStores();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"rcb-config-footer\"\n }, _i(__(\"Real Cookie Banner is brought to you with {{icon/}} by\"), {\n icon: /*#__PURE__*/React.createElement(HeartFilled, {\n style: {\n color: \"#dca7a7\"\n }\n })\n }), /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: \"\".concat(publicUrl, \"images/logos/devowl-with-text.svg\")\n })));\n});\nexport { ConfigFooter };","import _Badge from \"antd/es/badge\";\nimport _Spin from \"antd/es/spin\";\nimport { useEffect } from \"react\";\nimport { lazy, Suspense } from \"react\";\nimport { useLayoutEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { HashRouter as Router, Switch, Route, NavLink } from \"react-router-dom\";\nimport { __ } from \"../utils\";\nimport { useStores } from \"../store\";\nimport { NoticeRevisionNeedsRetrigger, NoticeBannerActiveNoCookies, NoticeAnonymousScriptNotWritable, NoticeNoManager, RouterScrollToTop } from \".\";\nimport { ConfigHeader, ConfigFooter } from \".\";\nimport { SuspenseChunkTranslation } from \"@devowl-wp/utils\";\nimport { useScannerProgress } from \"../hooks\";\nimport { JOB_DONE_EVENT_PREFIX } from \"@devowl-wp/real-queue\";\nimport { AUTOMATIC_SCAN_STATER_QUEUE_JOB } from \"../types\";\nconst CSS_SPINNER_IN_CONTENT = {\n display: \"block\",\n marginTop: 10\n}; // Lazy load components\n\nconst createSuspenseComponent = (tab, children) => ({\n // eslint-disable-next-line react/display-name\n default: () => /*#__PURE__*/React.createElement(SuspenseChunkTranslation, {\n chunkFile: __webpack_get_script_filename__(\"chunk-config-tab-\".concat(tab)),\n options: () => useStores().optionStore,\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, children)\n});\n\nconst DashboardCards = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-dashboard\" */\n\"./config/dashboard/cards\").then(({\n DashboardCards\n}) => createSuspenseComponent(\"dashboard\", /*#__PURE__*/React.createElement(DashboardCards, null))));\nconst SettingsForm = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-settings\" */\n\"./config/settings/form\").then(({\n SettingsForm\n}) => createSuspenseComponent(\"settings\", /*#__PURE__*/React.createElement(SettingsForm, null))));\nconst ScannerRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-scanner\" */\n\"./config/scanner/router\").then(({\n ScannerRouter\n}) => createSuspenseComponent(\"scanner\", /*#__PURE__*/React.createElement(ScannerRouter, null))));\nconst CookieGroupsTabRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-cookies\" */\n\"./config/cookies/groups/tabRouter\").then(({\n CookieGroupsTabRouter\n}) => createSuspenseComponent(\"cookies\", /*#__PURE__*/React.createElement(CookieGroupsTabRouter, null))));\nconst ConsentTabRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-consent\" */\n\"./config/consent/tabRouter\").then(({\n ConsentTabRouter\n}) => createSuspenseComponent(\"consent\", /*#__PURE__*/React.createElement(ConsentTabRouter, null))));\nconst BlockerRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-blocker\" */\n\"./config/blocker/router\").then(({\n BlockerRouter\n}) => createSuspenseComponent(\"blocker\", /*#__PURE__*/React.createElement(BlockerRouter, null))));\nconst ImportExportCards = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-import\" */\n\"./config/import/cards\").then(({\n ImportExportCards\n}) => createSuspenseComponent(\"import\", /*#__PURE__*/React.createElement(ImportExportCards, null))));\nconst ConfigLicensing = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-licensing\" */\n\"./config/licensing/licensing\").then(({\n ConfigLicensing\n}) => createSuspenseComponent(\"licensing\", /*#__PURE__*/React.createElement(ConfigLicensing, null))));\nconst ConfigApp = observer(() => {\n const {\n percent: scanPercent,\n remaining: scanRemaining,\n currentJob\n } = useScannerProgress();\n const {\n optionStore,\n checklistStore\n } = useStores();\n const {\n others: {\n showLicenseFormImmediate,\n colorScheme: [,, badgeColor]\n }\n } = optionStore; // Initially fetch settings here so the form is shown\n\n useLayoutEffect(() => {\n optionStore.fetchSettings(); // Listen to the automatic scan starter and update the checklist\n\n const listener = () =>\n /*_: CustomEvent<JobDoneEvent>*/\n {\n checklistStore.fetchChecklist();\n };\n\n const event = \"\".concat(JOB_DONE_EVENT_PREFIX).concat(AUTOMATIC_SCAN_STATER_QUEUE_JOB);\n document.addEventListener(event, listener);\n return () => {\n document.removeEventListener(event, listener);\n };\n }, []); // Automatically show the notice which indicates empty privacy policy services\n\n useEffect(() => {\n const notice = document.getElementById(\"rcb-services-with-empty-privacy-policy-notice\");\n\n if (!showLicenseFormImmediate && notice) {\n notice.style.display = \"block\";\n }\n }, [showLicenseFormImmediate]);\n return showLicenseFormImmediate ? /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, /*#__PURE__*/React.createElement(ConfigLicensing, null)) : /*#__PURE__*/React.createElement(Router, null, /*#__PURE__*/React.createElement(ConfigHeader, null), /*#__PURE__*/React.createElement(\"nav\", {\n className: \"nav-tab-wrapper wp-clearfix\"\n }, /*#__PURE__*/React.createElement(NavLink, {\n to: \"/\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\",\n exact: true\n }, __(\"Dashboard\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/settings\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Settings\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/scanner\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, scanRemaining > 0 && scanPercent > 0 && (currentJob === null || currentJob === void 0 ? void 0 : currentJob.group_position) > 0 ? /*#__PURE__*/React.createElement(_Badge, {\n count: \"\".concat(scanPercent, \" %\"),\n style: {\n top: -11,\n fontSize: 10,\n height: 16,\n lineHeight: \"16px\",\n background: badgeColor\n }\n }, __(\"Scanner\")) : __(\"Scanner\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/cookies\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Services (Cookies)\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/blocker\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Content Blocker\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/consent\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Consent\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/import\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Import / Export\")), window.location.host !== \"try.devowl.io\" && /*#__PURE__*/React.createElement(NavLink, {\n to: \"/licensing\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Licensing\")), /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/support/\"),\n className: \"nav-tab\",\n target: \"_blank\",\n rel: \"noreferrer\"\n }, __(\"Support\"))), /*#__PURE__*/React.createElement(NoticeRevisionNeedsRetrigger, null), /*#__PURE__*/React.createElement(NoticeBannerActiveNoCookies, null), /*#__PURE__*/React.createElement(NoticeAnonymousScriptNotWritable, null), /*#__PURE__*/React.createElement(NoticeNoManager, null), /*#__PURE__*/React.createElement(RouterScrollToTop, null), /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {\n path: \"/\",\n exact: true\n }, /*#__PURE__*/React.createElement(DashboardCards, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/settings/:tab?\"\n }, !optionStore.areSettingsFetched ? null : /*#__PURE__*/React.createElement(SettingsForm, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/scanner\"\n }, /*#__PURE__*/React.createElement(ScannerRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/cookies/:cookieGroup?\"\n }, /*#__PURE__*/React.createElement(CookieGroupsTabRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/consent/:tab?\"\n }, /*#__PURE__*/React.createElement(ConsentTabRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/blocker\"\n }, /*#__PURE__*/React.createElement(BlockerRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/import\"\n }, /*#__PURE__*/React.createElement(ImportExportCards, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/licensing\"\n }, /*#__PURE__*/React.createElement(ConfigLicensing, null)))), /*#__PURE__*/React.createElement(ConfigFooter, null));\n});\nexport { ConfigApp, createSuspenseComponent };","import _Alert from \"antd/es/alert\";\nimport _Tag from \"antd/es/tag\";\nimport _message from \"antd/es/message\";\nimport { observer } from \"mobx-react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { useStores } from \"../store\";\nimport { _i, __, copyToClipboard } from \"../utils\";\nconst IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO = \"promo=in-app\";\nconst InAppFomoCouponCounter = observer(({\n style\n}) => {\n const {\n optionStore: {\n fomoCoupon\n }\n } = useStores();\n const coupon = fomoCoupon === null || fomoCoupon === void 0 ? void 0 : fomoCoupon.coupon;\n const valueInPercent = fomoCoupon === null || fomoCoupon === void 0 ? void 0 : fomoCoupon.valueInPercent;\n const validUntil = fomoCoupon === null || fomoCoupon === void 0 ? void 0 : fomoCoupon.validUntil;\n const createTimerString = useCallback(() => {\n if (validUntil) {\n const remaining = new Date(validUntil).getTime() - new Date().getTime(); // Already expired?\n\n if (remaining <= 0) {\n return undefined;\n }\n\n const fullSeconds = remaining / 1000;\n return [Math.floor(fullSeconds / 3600), Math.floor(fullSeconds / 60) % 60, Math.floor(fullSeconds % 60)].map(v => v < 10 ? \"0\".concat(v) : v).filter((v, i) => v !== \"00\" || i > 0).join(\":\");\n } else {\n return undefined;\n }\n }, [validUntil]);\n const [, setRerender] = useState();\n useEffect(() => {\n const interval = setInterval(() => {\n setRerender(new Date().getTime());\n }, 1000);\n return () => {\n clearInterval(interval);\n };\n }, []);\n const timerString = createTimerString();\n return timerString ? /*#__PURE__*/React.createElement(_Alert, {\n style: style,\n message: _i(__(\"Use coupon {{tag}}%s{{/tag}} in the next {{strongHours}}%s hours{{/strongHours}} and save {{strongPercent}}%d %%{{/strongPercent}} in the first year!\", coupon, timerString, valueInPercent), {\n tag: /*#__PURE__*/React.createElement(_Tag, {\n color: \"success\",\n style: {\n marginRight: 0,\n cursor: \"pointer\"\n },\n onClick: () => {\n copyToClipboard(coupon);\n\n _message.success(__(\"Successfully copied coupon to clipboard!\"));\n }\n }),\n strongHours: /*#__PURE__*/React.createElement(\"strong\", {\n style: {\n color: \"#d33131\"\n }\n }),\n strongPercent: /*#__PURE__*/React.createElement(\"strong\", null)\n })\n }) : null;\n});\nexport { IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO, InAppFomoCouponCounter };","import _Modal from \"antd/es/modal\";\nimport { useState } from \"react\";\nimport { useEffect } from \"react\";\nimport { useCallback } from \"react\";\nimport { UnlockFilled } from \"@ant-design/icons\";\nimport { __, getOtherOptionsFromWindow, _i } from \"../utils\";\nimport { ProModalHint, InAppFomoCouponCounter, IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO } from \".\";\nimport { reactNl2Br } from \"@devowl-wp/react-cookie-banner\";\n\nconst ProModal = ({\n visible = false,\n showHints = true,\n showFomoCouponCounter = true,\n title,\n testDrive = false,\n assetName,\n description,\n feature,\n onClose,\n inContainer,\n inContainerElement\n}) => {\n const {\n proUrl,\n hints\n } = getOtherOptionsFromWindow();\n const [descriptionRef, setDescriptionRef] = useState();\n const handleRedirect = useCallback(() => {\n window.open(\"\".concat(proUrl, \"&feature=\").concat(feature, \"&\").concat(IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO), \"_blank\").focus();\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose]); // Do not automatically scroll / focus the container if `inContainer` is set\n\n useEffect(() => {\n if (inContainer && descriptionRef) {\n (descriptionRef === null || descriptionRef === void 0 ? void 0 : descriptionRef.parentElement.parentElement.previousElementSibling).removeAttribute(\"tabIndex\");\n }\n }, [descriptionRef]);\n const hint = hints === null || hints === void 0 ? void 0 : hints.proDialog; // Do not output the model until the container is ready\n\n if (inContainer && !inContainerElement) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(_Modal, {\n visible: inContainer ? true : visible,\n title: /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(UnlockFilled, null), \"\\xA0\", title, \"\\xA0\", __(\"Get PRO!\")),\n onOk: handleRedirect,\n onCancel: onClose,\n cancelText: __(\"No, not interested...\"),\n okText: __(\"I want to learn more!\"),\n className: \"rcb-pro-modal\",\n width: assetName ? 800 : 700,\n getContainer: inContainer ? inContainerElement : undefined\n }, !!assetName && /*#__PURE__*/React.createElement(\"img\", {\n style: {\n marginTop: 10\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/\".concat(assetName)\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n maxWidth: 600,\n margin: \"auto\"\n },\n ref: setDescriptionRef\n }, /*#__PURE__*/React.createElement(\"p\", null, reactNl2Br(description)), testDrive && /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Check out this feature with a {{a}}free sandbox{{/a}} before buying!\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://try.devowl.io/?product=RCB\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), !!hint && showHints && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n maxWidth: 600,\n margin: \"auto\",\n textAlign: \"left\"\n }\n }, /*#__PURE__*/React.createElement(ProModalHint, hint)), showFomoCouponCounter && /*#__PURE__*/React.createElement(InAppFomoCouponCounter, {\n style: {\n marginBottom: 15\n }\n }));\n};\n\nexport { ProModal };","import _Row from \"antd/es/row\";\nimport _Col from \"antd/es/col\";\nimport _Divider from \"antd/es/divider\";\n\nconst ProModalHint = ({\n title,\n description,\n link,\n linkText,\n logo\n}) => {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Divider, null, title), /*#__PURE__*/React.createElement(_Row, {\n wrap: false,\n style: {\n marginBottom: 10\n }\n }, /*#__PURE__*/React.createElement(_Col, {\n flex: \"auto\"\n }, !!description && /*#__PURE__*/React.createElement(\"p\", {\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), \"\\xA0\", !!link && !!linkText && /*#__PURE__*/React.createElement(\"a\", {\n href: link,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"button-link\"\n }, linkText))), /*#__PURE__*/React.createElement(_Col, {\n flex: \"150px\",\n style: {\n alignSelf: \"center\"\n }\n }, !!logo && /*#__PURE__*/React.createElement(\"img\", {\n src: logo,\n style: {\n maxWidth: \"calc(100% - 20px)\",\n height: \"auto\",\n marginLeft: 20\n }\n }))));\n};\n\nexport { ProModalHint };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _Tag from \"antd/es/tag\";\nimport { UnlockOutlined } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\nimport { useStores } from \"../store\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { ProModal } from \"../components\";\nconst PRO_TAG_BACKGROUND_COLOR = \"#2db7f5\";\n/**\n * Provide a PRO modal when clicking a given button.\n *\n * @param overrideIsPro Allows to override the `isPro` attribute coming from the option store (e. g. for demo environment purposes, try.devowl.io)\n */\n\nfunction useProModal(feature, overrideIsPro) {\n const [visible, setVisible] = useState(false);\n const {\n optionStore: {\n others: {\n isPro\n }\n }\n } = useStores();\n const useIsPro = typeof overrideIsPro === \"boolean\" ? overrideIsPro : isPro;\n const open = useCallback(e => {\n setVisible(true);\n e === null || e === void 0 ? void 0 : e.preventDefault();\n }, [setVisible]);\n const tag = useMemo(() => useIsPro ? null : /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(UnlockOutlined, null),\n color: PRO_TAG_BACKGROUND_COLOR,\n style: {\n cursor: \"pointer\"\n },\n onClick: open\n }, feature.tagText || __(\"Unlock feature\")), [open, feature]);\n const modal = useMemo(() => useIsPro ? null : /*#__PURE__*/React.createElement(ProModal, _extends({\n visible: visible,\n onClose: () => setVisible(false)\n }, feature)), [visible, setVisible, feature]);\n return {\n isPro: useIsPro,\n tag,\n modal,\n open\n };\n}\n\nexport { useProModal, PRO_TAG_BACKGROUND_COLOR };","import { useProgress } from \"@devowl-wp/real-queue\";\nimport { useCallback } from \"react\";\nimport { useStores } from \"../store\";\nimport { SCAN_QUEUE_JOB } from \"../types\";\n\n/**\n * Returns the status / progress of the scanner.\n */\nfunction useScannerProgress(fetchStatusInterval, fetchAdditionalData = false, onCancel) {\n const {\n scannerStore\n } = useStores();\n return useProgress({\n type: SCAN_QUEUE_JOB,\n fetchStatusInterval,\n fetchAdditionalData,\n onAdditionalData: useCallback(({\n \"rcb-scan-list\": rcbScanList\n }) => {\n const {\n presets,\n externalUrls\n } = rcbScanList;\n scannerStore.resultPresetsFromResponse(presets);\n scannerStore.resultExternalUrlsFromResponse(externalUrls);\n }, [scannerStore]),\n onCancel\n });\n}\n\nexport { useScannerProgress };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;\n\nimport { observable, set, runInAction } from \"mobx\";\nimport { getSidebarCustomize } from \"@devowl-wp/customize\";\nlet BannerPreset = (_class = class BannerPreset {\n /**\n * When hover the preview card we need to save the available settings.\n */\n constructor(preset, store) {\n _initializerDefineProperty(this, \"id\", _descriptor, this);\n\n _initializerDefineProperty(this, \"name\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"needsPro\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"description\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"tags\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"settings\", _descriptor6, this);\n\n this.store = void 0;\n this.resetPreviewInUiSettings = void 0;\n runInAction(() => set(this, preset));\n this.store = store;\n }\n\n static getIframeStore() {\n try {\n return document.querySelector(\"#customize-preview > iframe\").contentWindow.realCookieBanner_customize_banner.RootStore.get;\n } catch (e) {\n // Element does not yet exist\n return undefined;\n }\n }\n\n applyInUi() {\n // Check if pro\n if (!this.store.rootStore.optionStore.others.isPro && this.needsPro) {\n return false;\n } // First, save all in our store so the paint is done correctly\n\n\n this.previewInUi(); // Afterwards, save in customize state\n\n setTimeout(() => {\n const customize = getSidebarCustomize();\n this.store.presetDefaults.forEach((defaultValue, key) => {\n const setting = customize(key); // Apply it\n\n setting.set(this.settings[key] === undefined ? defaultValue : this.settings[key]);\n });\n }, 100);\n return true;\n }\n\n previewInUi() {\n const customize = getSidebarCustomize();\n const {\n presetDefaults\n } = this.store;\n const {\n settings\n } = this.store.rootStore.optionStore.others.customizeIdsBanner;\n const batchUpdates = []; // Make it restorable\n\n this.resetPreviewInUiSettings = {};\n\n for (const section of Object.keys(settings)) {\n const sectionSettings = settings[section];\n\n for (const setting of Object.keys(sectionSettings)) {\n const customizeKey = sectionSettings[setting];\n\n if (!presetDefaults.has(customizeKey)) {\n continue;\n }\n\n this.resetPreviewInUiSettings[customizeKey] = [section, setting, customize(customizeKey).get()];\n const newValue = Object.prototype.hasOwnProperty.call(this.settings, customizeKey) ? this.settings[customizeKey] : presetDefaults.get(customizeKey);\n batchUpdates.push([section, setting, newValue]);\n }\n }\n\n BannerPreset.getIframeStore().customizeBannerStore.setBannerFromPreset(batchUpdates);\n }\n\n resetPreviewInUi() {\n if (this.resetPreviewInUiSettings) {\n BannerPreset.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings));\n this.resetPreviewInUiSettings = {};\n }\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"id\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"name\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"needsPro\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"description\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"tags\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"settings\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { BannerPreset };","var _dec, _class;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { BlockerModel } from \".\";\nlet BlockerCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-blocker\",\n singlePath: \"/rcb-blocker/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = class BlockerCollection extends AbstractPostCollection {\n constructor(store) {\n super();\n this.store = void 0;\n this.store = store;\n }\n\n instance(response) {\n return new BlockerModel(this).fromResponse(response);\n }\n\n}) || _class);\nexport { BlockerCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { BlockerPreset } from \".\";\nimport { action, computed, observable, reaction, runInAction } from \"mobx\";\nimport { RootStore } from \"../store\";\nlet BlockerModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-blocker\"\n },\n patch: {\n path: \"/rcb-blocker/:id\"\n },\n delete: {\n path: \"/rcb-blocker/:id\"\n }\n}), _dec(_class = (_class2 = class BlockerModel extends AbstractPost {\n get rules() {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.meta.rules.split(\"\\n\");\n }\n\n get tcfVendors() {\n var _this$data2;\n\n // In lite version this can be `null`\n if (!((_this$data2 = this.data) !== null && _this$data2 !== void 0 && _this$data2.meta.tcfVendors)) {\n return [];\n }\n\n return this.data.meta.tcfVendors.split(\",\").filter(Boolean).map(Number);\n }\n\n get services() {\n var _this$data3;\n\n return (_this$data3 = this.data) === null || _this$data3 === void 0 ? void 0 : _this$data3.meta.services.split(\",\").filter(Boolean).map(Number);\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"presetModel\", _descriptor, this);\n\n reaction(() => {\n var _this$data4;\n\n return (_this$data4 = this.data) === null || _this$data4 === void 0 ? void 0 : _this$data4.preset;\n }, preset => runInAction(() => {\n this.presetModel = preset ? new BlockerPreset(preset, RootStore.get.cookieStore) : undefined;\n }), {\n fireImmediately: true\n });\n }\n\n setName(name) {\n this.data.title.rendered = name;\n }\n\n setStatus(status) {\n this.data.status = status;\n }\n\n setDescription(purpose) {\n this.data.content.rendered = purpose;\n }\n\n setMeta(meta) {\n this.data.meta = meta;\n }\n\n transformDataForPatch() {\n const data = super.transformDataForPatch();\n return {\n title: data.title,\n content: data.content,\n status: data.status,\n meta: data.meta,\n slug: data.title\n };\n }\n\n afterPatch() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterDelete() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"presetModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"rules\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"rules\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"tcfVendors\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"tcfVendors\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"services\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"services\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setDescription\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setDescription\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { BlockerModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { locationRestPresetsBlockerAttributesGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet BlockerPreset = (_class = class BlockerPreset {\n get fullLogoUrl() {\n const {\n logoFile\n } = this.data;\n const {\n publicUrl\n } = this.store.rootStore.optionStore;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow(function* () {\n try {\n this.busy = true;\n const response = yield request({\n location: locationRestPresetsBlockerAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n this.attributes = response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype)), _class);\nexport { BlockerPreset };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29;\n\nimport { observable, set, runInAction, computed } from \"mobx\";\nlet Consent = (_class = class Consent {\n get revision() {\n return this.store.revisions.get(this.revision_hash);\n }\n\n get revision_independent() {\n return this.store.revisionsIndependent.get(this.revision_independent_hash);\n }\n\n get custom_bypass_readable() {\n const {\n custom_bypass\n } = this;\n return custom_bypass ? custom_bypass.charAt(0).toUpperCase() + custom_bypass.slice(1) : \"\";\n }\n\n /**\n * Prepare the entry for JSON export.\n */\n get export() {\n return JSON.parse(JSON.stringify({ ...this.plain,\n revision: this.revision.data,\n revision_independent: this.revision_independent.data\n }));\n }\n\n constructor(consent, store) {\n _initializerDefineProperty(this, \"id\", _descriptor, this);\n\n _initializerDefineProperty(this, \"plugin_version\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"design_version\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"ipv4\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"ipv6\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"ipv4_hash\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"ipv6_hash\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"uuid\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"previous_decision\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"decision\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"decision_labels\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"created\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"blocker\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"blocker_thumbnail\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"dnt\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"custom_bypass\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"user_country\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"revision_hash\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"revision_independent_hash\", _descriptor19, this);\n\n _initializerDefineProperty(this, \"button_clicked\", _descriptor20, this);\n\n _initializerDefineProperty(this, \"context\", _descriptor21, this);\n\n _initializerDefineProperty(this, \"viewport_width\", _descriptor22, this);\n\n _initializerDefineProperty(this, \"viewport_height\", _descriptor23, this);\n\n _initializerDefineProperty(this, \"viewed_page\", _descriptor24, this);\n\n _initializerDefineProperty(this, \"url_imprint\", _descriptor25, this);\n\n _initializerDefineProperty(this, \"url_privacy_policy\", _descriptor26, this);\n\n _initializerDefineProperty(this, \"forwarded\", _descriptor27, this);\n\n _initializerDefineProperty(this, \"forwarded_blocker\", _descriptor28, this);\n\n _initializerDefineProperty(this, \"tcf_string\", _descriptor29, this);\n\n this.store = void 0;\n this.plain = void 0;\n runInAction(() => set(this, consent));\n this.store = store;\n this.plain = consent;\n }\n\n fetchRevisions() {\n return Promise.all([this.store.fetchRevision({\n hash: this.revision_hash\n }), this.store.fetchRevisionIndependent({\n hash: this.revision_independent_hash\n })]);\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"id\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"plugin_version\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"design_version\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"ipv4\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"ipv6\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"ipv4_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"ipv6_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"uuid\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"previous_decision\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"decision\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"decision_labels\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"created\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"blocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"blocker_thumbnail\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"dnt\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"custom_bypass\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"user_country\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"revision_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"revision_independent_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor20 = _applyDecoratedDescriptor(_class.prototype, \"button_clicked\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor21 = _applyDecoratedDescriptor(_class.prototype, \"context\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor22 = _applyDecoratedDescriptor(_class.prototype, \"viewport_width\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor23 = _applyDecoratedDescriptor(_class.prototype, \"viewport_height\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor24 = _applyDecoratedDescriptor(_class.prototype, \"viewed_page\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor25 = _applyDecoratedDescriptor(_class.prototype, \"url_imprint\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor26 = _applyDecoratedDescriptor(_class.prototype, \"url_privacy_policy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor27 = _applyDecoratedDescriptor(_class.prototype, \"forwarded\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor28 = _applyDecoratedDescriptor(_class.prototype, \"forwarded_blocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor29 = _applyDecoratedDescriptor(_class.prototype, \"tcf_string\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"revision\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"revision\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"revision_independent\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"revision_independent\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"custom_bypass_readable\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"custom_bypass_readable\"), _class.prototype)), _class);\nexport { Consent };","import _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\n\nvar _dec, _class, _class2;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieModel } from \".\";\nimport { computed, flow } from \"mobx\";\nimport { locationRestCookiesOrderPut } from \"../wp-api\";\nlet CookieCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-cookie\",\n singlePath: \"/rcb-cookie/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = (_class2 = class CookieCollection extends AbstractPostCollection {\n get sortedCookies() {\n const result = Array.from(this.entries.values());\n result.sort((a, b) => {\n if (a.data.menu_order < b.data.menu_order) {\n return -1;\n } else if (a.data.menu_order > b.data.menu_order) {\n return 1;\n } else {\n // a.menu_order === b.menu_order\n if (a.key < b.key) {\n return 1;\n } else if (a.key > b.key) {\n return -1;\n } else {\n return 0;\n }\n }\n });\n return result;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n constructor(store) {\n super();\n this.store = void 0;\n this.orderCookies = flow(function* (ids) {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestCookiesOrderPut,\n request: {\n ids\n }\n }); // Apply the order to existing cached models instead of fetching again\n\n let i = 0;\n\n for (const id of ids) {\n const cookie = this.entries.get(id);\n cookie.setOrder(i);\n i++;\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.store = store;\n }\n\n instance(response) {\n return new CookieModel(this).fromResponse(response);\n }\n\n}, (_applyDecoratedDescriptor(_class2.prototype, \"sortedCookies\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"sortedCookies\"), _class2.prototype)), _class2)) || _class);\nexport { CookieCollection };","import _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\n\nvar _dec, _class, _class2;\n\nimport { ClientCollection, RouteHttpVerb, AbstractCategoryCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieGroupModel } from \".\";\nimport { computed, flow } from \"mobx\";\nimport { locationRestCookieGroupOrderPut } from \"../wp-api\";\nlet CookieGroupCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-cookie-group\",\n singlePath: \"/rcb-cookie-group/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = (_class2 = class CookieGroupCollection extends AbstractCategoryCollection {\n get sortedGroups() {\n const result = Array.from(this.entries.values());\n result.sort((a, b) => {\n if (a.data.meta.order < b.data.meta.order) {\n return -1;\n } else if (a.data.meta.order > b.data.meta.order) {\n return 1;\n } else {\n return 0;\n }\n });\n return result;\n }\n\n constructor(store) {\n super();\n this.store = void 0;\n this.orderCookieGroups = flow(function* (ids) {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestCookieGroupOrderPut,\n request: {\n ids\n }\n }); // Apply the order to existing cached models instead of fetching again\n\n let i = 0;\n\n for (const id of ids) {\n const group = this.entries.get(id);\n group.setOrder(i);\n i++;\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n instance(response) {\n return new CookieGroupModel(this).fromResponse(response);\n }\n\n}, (_applyDecoratedDescriptor(_class2.prototype, \"sortedGroups\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"sortedGroups\"), _class2.prototype)), _class2)) || _class);\nexport { CookieGroupCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor, _descriptor2;\n\nimport { ClientModel, AbstractCategory } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieCollection } from \".\";\nimport { action, observable, runInAction, flow, computed } from \"mobx\";\nlet CookieGroupModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-cookie-group\"\n },\n patch: {\n path: \"/rcb-cookie-group/:id\"\n },\n delete: {\n path: \"/rcb-cookie-group/:id\"\n }\n}), _dec(_class = (_class2 = class CookieGroupModel extends AbstractCategory {\n get cookiesCount() {\n // TODO: this.data.count should return a count also of private cookies\n return this.fetchedAllCookies ? this.cookies.entries.size : this.data.count;\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"cookies\", _descriptor, this);\n\n _initializerDefineProperty(this, \"fetchedAllCookies\", _descriptor2, this);\n\n this.fetchCookies = flow(function* () {\n yield this.cookies.get({\n request: {\n status: [\"draft\", \"publish\", \"private\"]\n },\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100,\n // Fetch all\n \"rcb-cookie-group\": this.key,\n context: \"edit\"\n }\n });\n this.fetchedAllCookies = true;\n });\n runInAction(() => {\n this.cookies = new CookieCollection(this);\n });\n }\n\n setName(name) {\n this.data.name = name;\n }\n\n setDescription(description) {\n this.data.description = description;\n }\n\n setOrder(order) {\n this.data.meta.order = order;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n afterDelete() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPatch() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"cookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, \"fetchedAllCookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class2.prototype, \"cookiesCount\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"cookiesCount\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setDescription\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setDescription\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setOrder\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setOrder\"), _class2.prototype)), _class2)) || _class);\nexport { CookieGroupModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookiePreset } from \".\";\nimport { computed, action, observable, runInAction, reaction } from \"mobx\";\nimport { RootStore } from \"../store\";\nlet CookieModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-cookie\"\n },\n patch: {\n path: \"/rcb-cookie/:id\"\n },\n delete: {\n path: \"/rcb-cookie/:id\"\n }\n}), _dec(_class = (_class2 = class CookieModel extends AbstractPost {\n get rootStore() {\n return this.collection.store.collection.store.rootStore;\n }\n\n get technicalDefinitions() {\n return JSON.parse(this.data.meta.technicalDefinitions);\n }\n\n get codeDynamics() {\n return JSON.parse(this.data.meta.codeDynamics || \"{}\");\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"presetModel\", _descriptor, this);\n\n this.store = void 0;\n reaction(() => {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.preset;\n }, preset => runInAction(() => {\n this.presetModel = preset ? new CookiePreset(preset, RootStore.get.cookieStore) : undefined;\n }), {\n fireImmediately: true\n });\n }\n\n afterPatch() {\n // Remove this cookie from all other groups\n const groups = this.collection.store.collection;\n const [thisGroup] = this.data[\"rcb-cookie-group\"];\n groups.entries.forEach(group => {\n if (thisGroup !== group.key) {\n group.cookies.entries.delete(this.key);\n } else {\n group.cookies.entries.set(this.key, this);\n }\n });\n this.rootStore.optionStore.fetchCurrentRevision();\n this.rootStore.cookieStore.unassignedCookies.delete(this.key);\n }\n\n setOrder(order) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.data.menu_order = order;\n }\n\n setName(name) {\n this.data.title.rendered = name;\n }\n\n setStatus(status) {\n this.data.status = status;\n }\n\n setPurpose(purpose) {\n this.data.content.rendered = purpose;\n }\n\n setGroup(group) {\n this.data[\"rcb-cookie-group\"] = [group];\n }\n\n setMeta(meta) {\n this.data.meta = meta;\n }\n\n transformDataForPersist() {\n const data = super.transformDataForPersist();\n return { ...data,\n \"rcb-cookie-group\": [this.collection.store.key]\n };\n }\n\n transformDataForPatch() {\n const data = super.transformDataForPatch();\n return {\n title: data.title,\n content: data.content,\n status: data.status,\n meta: data.meta,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n menu_order: data.menu_order,\n \"rcb-cookie-group\": this.data[\"rcb-cookie-group\"],\n // Force to rewrite slug\n slug: data.title\n };\n }\n\n afterDelete() {\n this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n const {\n optionStore,\n checklistStore\n } = this.collection.store.cookies.store.collection.store.rootStore;\n optionStore.fetchCurrentRevision();\n checklistStore.probablyFetchByChangedItem(\"add-cookie\");\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"presetModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"rootStore\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"rootStore\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"technicalDefinitions\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"technicalDefinitions\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"codeDynamics\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"codeDynamics\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"afterPatch\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"afterPatch\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setOrder\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setOrder\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setPurpose\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setPurpose\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setGroup\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setGroup\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { CookieModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { locationRestPresetsCookiesAttributesGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet CookiePreset = (_class = class CookiePreset {\n get fullLogoUrl() {\n const {\n logoFile\n } = this.data;\n const {\n publicUrl\n } = this.store.rootStore.optionStore;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow(function* () {\n try {\n this.busy = true;\n const response = yield request({\n location: locationRestPresetsCookiesAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n this.attributes = response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype)), _class);\nexport { CookiePreset };","class Revision {\n // @observable: We never make changes\n constructor(preset, store) {\n this.data = void 0;\n this.store = void 0;\n this.data = preset;\n this.store = store;\n }\n\n}\n\nexport { Revision };","class RevisionIndependent {\n // @observable: We never make changes\n constructor(preset, store) {\n this.data = void 0;\n this.store = void 0;\n this.data = preset;\n this.store = store;\n }\n\n}\n\nexport { RevisionIndependent };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { computed, flow, observable, runInAction } from \"mobx\";\nimport { locationRestScannerResultExternalPatch } from \"../wp-api\";\nimport { request, __ } from \"../utils\";\nlet ScannerResultExternalUrl = (_class = class ScannerResultExternalUrl {\n get identifier() {\n return this.data.host;\n }\n\n get inactive() {\n return this.blockedStatus === \"full\" || this.data.ignored;\n }\n\n get blockedStatus() {\n const {\n foundCount,\n blockedCount\n } = this.data;\n return blockedCount === 0 ? \"none\" : foundCount === blockedCount ? \"full\" : \"partial\";\n }\n\n get blockedStatusText() {\n switch (this.blockedStatus) {\n case \"full\":\n return __(\"Fully blocked\");\n\n case \"partial\":\n return __(\"Partially blocked\");\n\n default:\n return __(\"Not blocked\");\n }\n }\n\n constructor(externalUrl, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n this.store = void 0;\n this.ignore = flow(function* (state = true) {\n try {\n yield request({\n location: locationRestScannerResultExternalPatch,\n request: {\n ignored: state\n },\n params: {\n host: this.data.host.replace(/\\./g, \"_\")\n }\n });\n this.data.ignored = state;\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n runInAction(() => {\n this.data = externalUrl;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"identifier\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"identifier\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"inactive\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"inactive\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedStatus\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedStatus\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedStatusText\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedStatusText\"), _class.prototype)), _class);\nexport { ScannerResultExternalUrl };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction, flow, computed } from \"mobx\";\nimport { truncateMiddle } from \"../utils\";\nlet ScannerResultExternalUrlSingle = (_class = class ScannerResultExternalUrlSingle {\n get markup() {\n return this.store.resultMarkup.get(this.data.id);\n }\n\n get blockedUrlTruncate() {\n return truncateMiddle(this.data.blockedUrl, 50, \"[...]\");\n }\n\n get sourceUrlTruncate() {\n return truncateMiddle(this.data.sourceUrl, 50, \"[...]\");\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n this.store = void 0;\n this.fetchMarkup = flow(function* () {\n yield this.store.fetchMarkup(this.data.id);\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"markup\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"markup\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedUrlTruncate\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedUrlTruncate\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"sourceUrlTruncate\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"sourceUrlTruncate\"), _class.prototype)), _class);\nexport { ScannerResultExternalUrlSingle };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { request } from \"../utils\";\nimport { locationRestPresetsBlockerAttributesGet } from \"../wp-api\";\nlet ScannerResultPreset = (_class = class ScannerResultPreset {\n get identifier() {\n return this.data.identifier;\n }\n\n get fullLogoUrl() {\n const {\n logoFile\n } = this.data;\n const {\n publicUrl\n } = this.store.rootStore.optionStore;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n /**\n * Determines if this preset needs further attention. It is inactive when it e.g. already exists.\n */\n\n\n get inactive() {\n return this.data.created;\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow(function* () {\n try {\n this.busy = true;\n const response = yield request({\n location: locationRestPresetsBlockerAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n this.attributes = response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"identifier\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"identifier\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"inactive\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"inactive\"), _class.prototype)), _class);\nexport { ScannerResultPreset };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction } from \"mobx\";\nlet TcfFeature = (_class = class TcfFeature {\n constructor(data, special, store) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"special\", _descriptor2, this);\n\n this.store = void 0;\n runInAction(() => {\n this.special = special;\n this.data = data;\n });\n this.store = store;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"special\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { TcfFeature };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction } from \"mobx\";\nlet TcfPurpose = (_class = class TcfPurpose {\n constructor(data, special, store) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"special\", _descriptor2, this);\n\n this.store = void 0;\n runInAction(() => {\n this.special = special;\n this.data = data;\n });\n this.store = store;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"special\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { TcfPurpose };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { computed, observable, runInAction } from \"mobx\";\nimport { ETcfGvlDisclosureType } from \"@devowl-wp/real-cookie-banner-backend/src/types/service/tcf\";\nlet TcfVendor = (_class = class TcfVendor {\n /**\n * Get existing vendor configuration for this vendor.\n */\n get vendorConfiguration() {\n for (const c of this.store.vendorConfigurations.entries.values()) {\n if (c.vendorModel.data.id === this.data.id) {\n return c;\n }\n }\n\n return undefined;\n }\n\n get deviceStorageDisclosure() {\n const {\n usesCookies,\n cookieMaxAgeSeconds,\n cookieRefresh,\n usesNonCookieAccess,\n deviceStorageDisclosure\n } = this.data;\n const result = deviceStorageDisclosure !== null && deviceStorageDisclosure !== void 0 && deviceStorageDisclosure.disclosures.length ? [...deviceStorageDisclosure.disclosures] : []; // Include implicit device storage into table\n\n if (usesNonCookieAccess) {\n result.unshift({\n type: ETcfGvlDisclosureType.Web,\n identifier: \"*\",\n purposes: undefined,\n cookieRefresh: undefined,\n domain: \"*\",\n maxAgeSeconds: null\n });\n }\n\n if (usesCookies) {\n result.unshift({\n type: ETcfGvlDisclosureType.Cookie,\n identifier: \"*\",\n purposes: undefined,\n cookieRefresh,\n domain: \"*\",\n maxAgeSeconds: cookieMaxAgeSeconds\n });\n }\n\n return result;\n }\n\n get allPurposes() {\n return [...this.legIntPurposes, ...this.purposes, ...this.specialPurposes].filter(Boolean);\n }\n\n get allFeatures() {\n return [...this.features, ...this.specialFeatures].filter(Boolean);\n }\n /**\n * Calculate a map of restrictions for this vendor. This can be used to make a form\n * configurable depending on the current vendor.\n */\n\n\n get restrictivePurposes() {\n const result = {\n normal: {}\n };\n\n for (const purpose of [...this.legIntPurposes, ...this.purposes]) {\n result.normal[purpose.data.id.toString()] = {\n enabled: true,\n legInt: this.legIntPurposes.indexOf(purpose) > -1 && !purpose.special ? \"yes\" : \"no\"\n };\n }\n\n return result;\n }\n /**\n * Map the integers to valid declaration objects.\n */\n\n\n get purposes() {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.purposes.map(id => this.store.purposes.get(\"\".concat(id)));\n }\n\n get legIntPurposes() {\n var _this$data2;\n\n return (_this$data2 = this.data) === null || _this$data2 === void 0 ? void 0 : _this$data2.legIntPurposes.map(id => this.store.purposes.get(\"\".concat(id)));\n }\n\n get flexiblePurposes() {\n var _this$data3;\n\n return (_this$data3 = this.data) === null || _this$data3 === void 0 ? void 0 : _this$data3.flexiblePurposes.map(id => this.store.purposes.get(\"\".concat(id)));\n }\n\n get specialPurposes() {\n var _this$data4;\n\n return (_this$data4 = this.data) === null || _this$data4 === void 0 ? void 0 : _this$data4.specialPurposes.map(id => this.store.specialPurposes.get(\"\".concat(id)));\n }\n\n get features() {\n var _this$data5;\n\n return (_this$data5 = this.data) === null || _this$data5 === void 0 ? void 0 : _this$data5.features.map(id => this.store.features.get(\"\".concat(id)));\n }\n\n get specialFeatures() {\n var _this$data6;\n\n return (_this$data6 = this.data) === null || _this$data6 === void 0 ? void 0 : _this$data6.specialFeatures.map(id => this.store.specialFeatures.get(\"\".concat(id)));\n }\n\n constructor(data, store) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n this.store = void 0;\n runInAction(() => {\n this.data = data;\n });\n this.store = store;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"vendorConfiguration\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"vendorConfiguration\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"deviceStorageDisclosure\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"deviceStorageDisclosure\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"allPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"allPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"allFeatures\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"allFeatures\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"restrictivePurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"restrictivePurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"purposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"purposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"legIntPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"legIntPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"flexiblePurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"flexiblePurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"specialPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"specialPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"features\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"features\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"specialFeatures\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"specialFeatures\"), _class.prototype)), _class);\nexport { TcfVendor };","var _dec, _class;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { TcfVendorConfigurationModel } from \".\";\nlet TcfVendorConfigurationCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-tcf-vendor-conf\",\n singlePath: \"/rcb-tcf-vendor-conf/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = class TcfVendorConfigurationCollection extends AbstractPostCollection {\n constructor(store) {\n super();\n this.store = void 0;\n this.store = store;\n }\n\n instance(response) {\n return new TcfVendorConfigurationModel(this).fromResponse(response);\n }\n\n}) || _class);\nexport { TcfVendorConfigurationCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { action, computed, observable, reaction, runInAction } from \"mobx\";\nimport { TcfVendor } from \"./tcfVendor\";\nimport $ from \"jquery\";\nlet TcfVendorConfigurationModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-tcf-vendor-conf\"\n },\n patch: {\n path: \"/rcb-tcf-vendor-conf/:id\"\n },\n delete: {\n path: \"/rcb-tcf-vendor-conf/:id\"\n }\n}), _dec(_class = (_class2 = class TcfVendorConfigurationModel extends AbstractPost {\n /**\n * In some cases, vendors can be abandoned by the GVL.\n */\n get hasVendor() {\n return !!this.vendorModel;\n }\n\n get restrictivePurposes() {\n var _this$vendorModel, _this$vendorModel2;\n\n // Fallback to original if we have changed to `global`\n const disableRestrictivePurposes = this.collection.store.rootStore.optionStore.tcfScopeOfConsent === \"global\";\n const originalRestrictivePurposes = ((_this$vendorModel = this.vendorModel) === null || _this$vendorModel === void 0 ? void 0 : _this$vendorModel.restrictivePurposes) || {\n normal: {}\n };\n\n if (disableRestrictivePurposes) {\n return originalRestrictivePurposes;\n }\n\n const result = JSON.parse(this.data.meta.restrictivePurposes); // Merge with original vendor purposes so all are listed\n\n return $.extend(true, {}, ((_this$vendorModel2 = this.vendorModel) === null || _this$vendorModel2 === void 0 ? void 0 : _this$vendorModel2.restrictivePurposes) || {}, result);\n }\n\n get stats() {\n var _this$vendorModel3;\n\n const {\n normal\n } = this.restrictivePurposes;\n const arr = [...Object.values(normal)];\n return {\n activePurposes: arr.filter(({\n enabled\n }) => enabled).length,\n legIntPurposes: arr.filter(({\n enabled,\n legInt\n }) => enabled && legInt === \"yes\").length,\n activeFeatures: ((_this$vendorModel3 = this.vendorModel) === null || _this$vendorModel3 === void 0 ? void 0 : _this$vendorModel3.allFeatures.length) || 0\n };\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"vendorModel\", _descriptor, this);\n\n reaction(() => this.data.vendor, vendor => runInAction(() => {\n if (vendor) {\n const {\n vendors\n } = this.collection.store;\n const vendorId = vendor.id.toString();\n let existing = vendors.get(vendorId);\n\n if (!existing) {\n existing = new TcfVendor(vendor, this.collection.store);\n vendors.set(vendorId, existing);\n }\n\n this.vendorModel = existing;\n }\n }), {\n fireImmediately: true\n }); // Automatically set the vendor model (e.g. newly saved configuration)\n\n reaction(() => {\n var _this$data$meta;\n\n return (_this$data$meta = this.data.meta) === null || _this$data$meta === void 0 ? void 0 : _this$data$meta.vendorId;\n }, vendorId => {\n if (vendorId) {\n this.vendorModel = this.collection.store.vendors.get(vendorId.toString());\n }\n }, {\n fireImmediately: true\n });\n }\n\n setStatus(status) {\n this.data.status = status;\n }\n\n setMeta(meta) {\n this.data.meta = meta;\n }\n\n transformDataForPatch() {\n const data = super.transformDataForPatch();\n return {\n status: data.status,\n meta: data.meta\n };\n }\n\n afterPatch() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterDelete() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"vendorModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"hasVendor\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"hasVendor\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"restrictivePurposes\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"restrictivePurposes\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"stats\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"stats\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { TcfVendorConfigurationModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, flow, computed } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { locationRestChecklistGet, locationRestChecklistPut } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet ChecklistStore = (_class = class ChecklistStore extends BaseOptions {\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busyChecklist\", _descriptor, this);\n\n _initializerDefineProperty(this, \"checklist\", _descriptor2, this);\n\n this.rootStore = void 0;\n this.probablyFetchByChangedItem = flow(function* (itemId, force) {\n if (force) {\n yield this.fetchChecklist();\n return;\n }\n\n const useItemIds = !Array.isArray(itemId) ? [itemId] : itemId;\n\n if (this.items.filter(({\n id,\n checked\n }) => useItemIds.indexOf(id) > -1 && !checked).length > 0) {\n yield this.fetchChecklist();\n }\n });\n this.fetchChecklist = flow(function* () {\n this.busyChecklist = true;\n\n try {\n this.checklist = yield request({\n location: locationRestChecklistGet,\n params: {\n _wp_http_referer: window.location.href\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyChecklist = false;\n }\n });\n this.toggleChecklistItem = flow(function* (id, state) {\n this.busyChecklist = true;\n\n try {\n this.checklist = yield request({\n location: locationRestChecklistPut,\n request: {\n state\n },\n params: {\n id,\n _wp_http_referer: window.location.href\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyChecklist = false;\n }\n });\n this.rootStore = rootStore;\n }\n\n get items() {\n return this.checklist && Object.keys(this.checklist.items).map(id => ({\n id,\n ...this.checklist.items[id]\n })) || [];\n }\n\n get completed() {\n return this.items.filter(({\n checked\n }) => checked);\n }\n\n get checkable() {\n const {\n isPro\n } = this.rootStore.optionStore.others;\n return this.items.filter(({\n needsPro\n }) => !needsPro || isPro && needsPro);\n }\n\n get done() {\n var _this$checklist;\n\n return this.completed.length >= this.checkable.length || !!((_this$checklist = this.checklist) !== null && _this$checklist !== void 0 && _this$checklist.dismissed);\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyChecklist\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"checklist\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"items\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"items\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"completed\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"completed\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"checkable\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"checkable\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"done\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"done\"), _class.prototype)), _class);\nexport { ChecklistStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10;\n\nimport { observable, flow, action, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { locationRestRevisionGet, locationRestRevisionIndependentGet, locationRestConsentAllGet, locationRestConsentAllDelete, locationRestConsentRefererGet } from \"../wp-api\";\nimport { Consent, Revision, RevisionIndependent } from \"../models\";\nconst DATE_FORMAT = \"YYYY-MM-DD\";\nlet ConsentStore = (_class = class ConsentStore extends BaseOptions {\n /**\n * Current visible page in Consent tab\n */\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busyConsent\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busyReferer\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"count\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"truncatedIpsCount\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"perPage\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"offset\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"pageCollection\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"revisions\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"revisionsIndependent\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"referer\", _descriptor10, this);\n\n this.filters = observable.object({\n page: 1,\n dates: [undefined, undefined],\n context: undefined,\n referer: undefined,\n ip: undefined,\n uuid: undefined\n }, {}, {\n deep: false\n });\n this.rootStore = void 0;\n this.fetchAll = flow(function* () {\n this.busyConsent = true;\n\n try {\n const {\n page,\n referer,\n ip,\n uuid,\n context\n } = this.filters;\n const dates = this.filters.dates.map(m => m ? m.format(DATE_FORMAT) : \"\");\n const {\n count,\n truncatedIpsCount,\n items\n } = yield request({\n location: locationRestConsentAllGet,\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: this.perPage,\n offset: (page - 1) * this.perPage,\n from: dates[0],\n to: dates[1],\n ip,\n uuid,\n referer,\n context\n }\n });\n this.count = count;\n this.truncatedIpsCount = truncatedIpsCount;\n this.pageCollection.clear();\n\n for (const item of items) {\n this.pageCollection.set(item.id, new Consent(item, this));\n }\n } catch (e) {\n this.count = 0;\n this.truncatedIpsCount = 0;\n this.pageCollection.clear();\n console.log(e);\n throw e;\n } finally {\n this.busyConsent = false;\n }\n });\n this.fetchRevision = flow(function* (params) {\n try {\n const response = yield request({\n location: locationRestRevisionGet,\n params\n });\n this.revisions.set(params.hash, new Revision(response, this));\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchRevisionIndependent = flow(function* (params) {\n try {\n const response = yield request({\n location: locationRestRevisionIndependentGet,\n params\n });\n this.revisionsIndependent.set(params.hash, new RevisionIndependent(response, this));\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchReferer = flow(function* (params) {\n this.busyReferer = true;\n\n try {\n const response = yield request({\n location: locationRestConsentRefererGet,\n params\n });\n this.referer = response.items;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyReferer = false;\n }\n });\n this.deleteAll = flow(function* () {\n this.busyConsent = true;\n\n try {\n yield request({\n location: locationRestConsentAllDelete\n });\n this.applyPage(0);\n yield this.fetchAll();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyConsent = false;\n }\n });\n this.rootStore = rootStore;\n runInAction(() => {\n this.filters.context = this.rootStore.optionStore.others.context;\n });\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyPage(page) {\n this.filters.page = page;\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param dates\n */\n\n\n applyDates(dates) {\n this.filters.dates = dates;\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param context\n */\n\n\n applyContext(context) {\n this.filters.context = context;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyReferer(referer) {\n this.filters.referer = referer;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyIp(ip) {\n this.filters.ip = ip;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyUuid(uuid) {\n this.filters.uuid = uuid;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyConsent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyReferer\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"count\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"truncatedIpsCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"perPage\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 50;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"offset\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"pageCollection\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"revisions\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"revisionsIndependent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"referer\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return [];\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"applyPage\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyPage\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyDates\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyDates\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyContext\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyContext\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyReferer\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyReferer\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyIp\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyIp\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyUuid\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyUuid\"), _class.prototype)), _class);\nexport { ConsentStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;\n\nimport { observable, flow, computed, runInAction } from \"mobx\";\nimport { CookieGroupCollection, BlockerCollection, CookiePreset, BlockerPreset } from \"../models\";\nimport { locationRestPresetsBlockerGet, locationRestPresetsCookiesGet, locationRestCookieUnassignedGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet CookieStore = (_class = class CookieStore {\n get blockersCount() {\n return this.fetchedAllBlockers ? this.blockers.entries.size : this.rootStore.optionStore.allBlockerCount;\n }\n\n get cookiesCount() {\n return Array.from(this.groups.entries.values()).map(({\n cookiesCount\n }) => cookiesCount).reduce((total, num) => total + num, 0);\n }\n\n constructor(rootStore) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"groups\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"unassignedCookies\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"blockers\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"presetsBlocker\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"busyPresetsBlocker\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"presetsCookie\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"busyPresetsCookie\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"fetchedAllBlockers\", _descriptor9, this);\n\n this.rootStore = void 0;\n this.fetchGroups = flow(function* () {\n yield this.groups.get({\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100\n }\n });\n yield this.fetchUnassignedCookies();\n });\n this.fetchUnassignedCookies = flow(function* () {\n try {\n const items = yield request({\n location: locationRestCookieUnassignedGet\n }); // Save presets as object\n\n for (const item of Object.values(items)) {\n this.unassignedCookies.set(item.id, item);\n }\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchBlockers = flow(function* () {\n yield this.blockers.get({\n request: {\n status: [\"draft\", \"publish\", \"private\"]\n },\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100,\n // Fetch all\n context: \"edit\"\n }\n });\n this.fetchedAllBlockers = true;\n });\n this.fetchPresetsBlocker = flow(function* () {\n this.busyPresetsBlocker = true;\n\n try {\n const {\n items\n } = yield request({\n location: locationRestPresetsBlockerGet\n }); // Save presets as object\n\n for (const pid of Object.keys(items)) {\n this.presetsBlocker.set(pid, new BlockerPreset(items[pid], this));\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyPresetsBlocker = false;\n }\n });\n this.fetchPresetsCookie = flow(function* () {\n this.busyPresetsCookie = true;\n\n try {\n const {\n items\n } = yield request({\n location: locationRestPresetsCookiesGet\n }); // Save presets as object\n\n for (const pid of Object.keys(items)) {\n this.presetsCookie.set(pid, new CookiePreset(items[pid], this));\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyPresetsCookie = false;\n }\n });\n this.rootStore = rootStore;\n runInAction(() => {\n this.groups = new CookieGroupCollection(this);\n this.blockers = new BlockerCollection(this);\n });\n }\n\n get essentialGroup() {\n if (this.groups.entries.size === 0) {\n return undefined;\n }\n\n const it = this.groups.entries.values();\n let group;\n\n while (group = it.next().value) {\n if (group.data.slug === this.rootStore.optionStore.others.essentialGroup) {\n break;\n }\n }\n\n return group;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"groups\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"unassignedCookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"blockers\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"presetsBlocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"busyPresetsBlocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"presetsCookie\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"busyPresetsCookie\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"fetchedAllBlockers\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"blockersCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockersCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"cookiesCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"cookiesCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"essentialGroup\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"essentialGroup\"), _class.prototype)), _class);\nexport { CookieStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;\n\nimport { action, observable, flow, runInAction } from \"mobx\";\nimport { locationRestPresetsBannerGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { BannerPreset } from \"../models\";\nimport { getSidebarCustomize } from \"@devowl-wp/customize\";\nlet CustomizeBannerStore = (_class = class CustomizeBannerStore {\n constructor(rootStore) {\n _initializerDefineProperty(this, \"visible\", _descriptor, this);\n\n _initializerDefineProperty(this, \"animationVisible\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"individualPrivacyOpen\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"previewCheckboxActiveState\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"busyPresets\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"presets\", _descriptor6, this);\n\n this.rootStore = void 0;\n this.presetConstants = new Map();\n this.presetDefaults = new Map();\n this.debounceFromCustomize = {};\n this.fetchPresets = flow(function* () {\n this.busyPresets = true;\n\n try {\n const {\n defaults,\n constants,\n items\n } = yield request({\n location: locationRestPresetsBannerGet\n }); // Save defaults\n\n for (const did of Object.keys(defaults)) {\n this.presetDefaults.set(did, defaults[did]);\n } // Save constants\n\n\n for (const cid of Object.keys(constants)) {\n this.presetConstants.set(cid, constants[cid]);\n } // Save presets as object\n\n\n for (const pid of Object.keys(items)) {\n this.presets.set(pid, new BannerPreset({\n id: pid,\n ...items[pid]\n }, this));\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyPresets = false;\n }\n });\n this.rootStore = rootStore;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n setBannerFromCustomize(section, setting, value, maybeDebounce = true) {\n const {\n customizeValuesBanner\n } = this.rootStore.optionStore.others; // Apply debounce for specific settings\n\n const debounceSetting = setting.toString();\n\n if (maybeDebounce && [\"css\", \"animationInDuration\", \"animationOutDuration\"].indexOf(debounceSetting) > -1) {\n clearTimeout(this.debounceFromCustomize[debounceSetting]);\n this.debounceFromCustomize[debounceSetting] = setTimeout(() => this.setBannerFromCustomize(section, setting, value, false), 500);\n } else {\n const currentValue = customizeValuesBanner[section][setting];\n customizeValuesBanner[section][setting] = value; // When we want to customize the animation out, let's simulate a \"hide\"\n\n if (debounceSetting.startsWith(\"animationOut\") && currentValue !== value) {\n this.forceAnimationOutSimulation();\n }\n }\n }\n\n setBannerFromPreset(batchUpdates) {\n for (const row of batchUpdates) {\n const [section, setting, value] = row;\n this.rootStore.optionStore.others.customizeValuesBanner[section][setting] = value;\n }\n }\n\n forceAnimationOutSimulation() {\n const {\n customizeValuesBanner\n } = this.rootStore.optionStore.others;\n\n if (customizeValuesBanner[\"layout\"][\"animationOut\"] === \"none\") {\n return;\n }\n\n this.animationVisible = false;\n setTimeout(() => runInAction(() => {\n this.animationVisible = true;\n }), +customizeValuesBanner[\"layout\"][\"animationOutDuration\"] + 1000);\n }\n\n setVisible(state) {\n this.visible = state;\n }\n\n setIndividualPrivacyOpen(state) {\n this.individualPrivacyOpen = state;\n }\n\n setPreviewCheckboxActiveState(state) {\n this.previewCheckboxActiveState = state;\n }\n /**\n * Allow developers to export the current customize settings via PHP.\n *\n * ```ts\n * realCookieBanner_customize.RootStore.get.customizeBannerStore.exportPhp()\n * ```\n */\n\n\n exportPhp() {\n const result = {};\n const customize = getSidebarCustomize();\n this.presetDefaults.forEach((defaultValue, key) => {\n let currentValue = customize(key).get(); // Fix booleans\n\n if (typeof defaultValue === \"boolean\") {\n currentValue = !!+currentValue;\n } else if (!isNaN(currentValue) && currentValue !== \"\") {\n // Fix integers\n currentValue = +currentValue;\n }\n\n if (JSON.stringify(defaultValue) !== JSON.stringify(currentValue)) {\n result[this.presetConstants.get(key)] = currentValue;\n }\n }); // Prepare output\n\n return this.jsonToPHPArray(result);\n }\n\n jsonToPHPArray(result) {\n const output = JSON.stringify(result, null, 4).split(\"\\n\");\n output.shift();\n output.pop();\n return output.join(\"\\n\").replace(/^(\\s+)\"([A-Za-z\\\\]+::[A-Z_]+)\"(:)/gm, \"$1$2 =>\").replace(/^(\\s+)([A-Za-z\\\\]+)::/gm, (full, spaces, namespaces) => {\n return \"\".concat(spaces).concat(namespaces.replace(/\\\\\\\\/gm, \"\\\\\"), \"::\");\n });\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"visible\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"animationVisible\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return true;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"individualPrivacyOpen\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"previewCheckboxActiveState\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"busyPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"presets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"setBannerFromCustomize\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setBannerFromCustomize\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setBannerFromPreset\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setBannerFromPreset\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"forceAnimationOutSimulation\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"forceAnimationOutSimulation\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setVisible\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setVisible\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setIndividualPrivacyOpen\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setIndividualPrivacyOpen\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setPreviewCheckboxActiveState\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setPreviewCheckboxActiveState\"), _class.prototype)), _class);\nexport { CustomizeBannerStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31, _descriptor32, _descriptor33, _descriptor34, _descriptor35, _descriptor36, _descriptor37, _descriptor38, _descriptor39, _descriptor40, _descriptor41, _descriptor42, _descriptor43, _descriptor44, _descriptor45, _descriptor46, _descriptor47, _descriptor48, _descriptor49, _descriptor50, _descriptor51, _descriptor52;\n\nimport { observable, runInAction, flow, action, computed } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { locationRestWpSettings, locationRestWpSettingsPatch, locationRestRevisionCurrentGet, locationRestRevisionCurrentPut, locationRestLiteDismissConfigPageProNotice, locationRestCountryBypassDatabasePut, locationRestMigrationDelete, locationRestNavMenuAddLinksPost } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { locationRestModalHintSeenPut } from \"../wp-api/modalHintSeen.put\";\nlet OptionStore = (_class = class OptionStore extends BaseOptions {\n /* @observable\n public onlyEuCookieBanner: ResponseRouteWpSettings[\"rcb-only-eu-cookie-banner\"]; */\n // Affiliate settings are only available and registered in PRO version\n // Country Bypass settings (all optional for free version)\n // TCF compatibility settings (all optional for free version)\n // Implement \"others\" property in your Assets.php;\n\n /**\n * Ignore real-cookie-banner cookie as it is hidden when no other cookie is created.\n */\n get isOnlyRcbCookieCreated() {\n return this.allCookieCount === 1 && (!this.tcf || !this.allTcfVendorConfigurationCount);\n }\n\n get areSettingsFetched() {\n return this.respectDoNotTrack !== undefined;\n }\n\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busySettings\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busyCountryBypassUpdate\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"busyAddLinksToNavigationMenu\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"needsRevisionRetrigger\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"publicCookieCount\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"allCookieCount\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"allBlockerCount\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"allTcfVendorConfigurationCount\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"allScannerResultPresetsCount\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"allScannerResultExternalUrlsCount\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"cookieCounts\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"nav_menus\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"tcfVendorConfigurationCounts\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"hasManager\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"contexts\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"dashboardMigration\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"fomoCoupon\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"bannerActive\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"blockerActive\", _descriptor19, this);\n\n _initializerDefineProperty(this, \"imprintId\", _descriptor20, this);\n\n _initializerDefineProperty(this, \"imprintExternalUrl\", _descriptor21, this);\n\n _initializerDefineProperty(this, \"imprintIsExternalUrl\", _descriptor22, this);\n\n _initializerDefineProperty(this, \"privacyPolicyId\", _descriptor23, this);\n\n _initializerDefineProperty(this, \"privacyPolicyExternalUrl\", _descriptor24, this);\n\n _initializerDefineProperty(this, \"privacyPolicyIsExternalUrl\", _descriptor25, this);\n\n _initializerDefineProperty(this, \"hidePageIds\", _descriptor26, this);\n\n _initializerDefineProperty(this, \"setCookiesViaManager\", _descriptor27, this);\n\n _initializerDefineProperty(this, \"acceptAllForBots\", _descriptor28, this);\n\n _initializerDefineProperty(this, \"respectDoNotTrack\", _descriptor29, this);\n\n _initializerDefineProperty(this, \"cookieDuration\", _descriptor30, this);\n\n _initializerDefineProperty(this, \"saveIp\", _descriptor31, this);\n\n _initializerDefineProperty(this, \"ePrivacyUSA\", _descriptor32, this);\n\n _initializerDefineProperty(this, \"ageNotice\", _descriptor33, this);\n\n _initializerDefineProperty(this, \"listServicesNotice\", _descriptor34, this);\n\n _initializerDefineProperty(this, \"consentForwarding\", _descriptor35, this);\n\n _initializerDefineProperty(this, \"forwardTo\", _descriptor36, this);\n\n _initializerDefineProperty(this, \"crossDomains\", _descriptor37, this);\n\n _initializerDefineProperty(this, \"affiliateLink\", _descriptor38, this);\n\n _initializerDefineProperty(this, \"affiliateLabelBehind\", _descriptor39, this);\n\n _initializerDefineProperty(this, \"affiliateLabelDescription\", _descriptor40, this);\n\n _initializerDefineProperty(this, \"countryBypass\", _descriptor41, this);\n\n _initializerDefineProperty(this, \"countryBypassCountries\", _descriptor42, this);\n\n _initializerDefineProperty(this, \"countryBypassType\", _descriptor43, this);\n\n _initializerDefineProperty(this, \"countryBypassDbDownloadTime\", _descriptor44, this);\n\n _initializerDefineProperty(this, \"tcf\", _descriptor45, this);\n\n _initializerDefineProperty(this, \"tcfPublisherCc\", _descriptor46, this);\n\n _initializerDefineProperty(this, \"tcfAcceptedTime\", _descriptor47, this);\n\n _initializerDefineProperty(this, \"tcfGvlDownloadTime\", _descriptor48, this);\n\n _initializerDefineProperty(this, \"tcfScopeOfConsent\", _descriptor49, this);\n\n _initializerDefineProperty(this, \"consentDuration\", _descriptor50, this);\n\n _initializerDefineProperty(this, \"consentsDeletedAt\", _descriptor51, this);\n\n _initializerDefineProperty(this, \"others\", _descriptor52, this);\n\n this.pureSlug = void 0;\n this.pureSlugCamelCased = void 0;\n this.rootStore = void 0;\n this.fetchSettings = flow(function* (setFrom) {\n this.busySettings = true;\n\n try {\n const result = setFrom || (yield request({\n location: locationRestWpSettings\n }));\n this.bannerActive = result[\"rcb-banner-active\"];\n this.blockerActive = result[\"rcb-blocker-active\"];\n this.imprintId = result[\"rcb-banner-legal-imprint\"];\n this.imprintExternalUrl = result[\"rcb-banner-legal-imprint-external-url\"];\n this.imprintIsExternalUrl = result[\"rcb-banner-legal-imprint-is-external-url\"];\n this.privacyPolicyId = result[\"rcb-banner-legal-privacy-policy\"];\n this.privacyPolicyExternalUrl = result[\"rcb-banner-legal-privacy-policy-external-url\"];\n this.privacyPolicyIsExternalUrl = result[\"rcb-banner-legal-privacy-policy-is-external-url\"];\n this.hidePageIds = (result[\"rcb-hide-page-ids\"] || \"\").split(\",\").map(Number).filter(Boolean);\n this.setCookiesViaManager = result[\"rcb-set-cookies-via-manager\"] || \"none\";\n this.acceptAllForBots = result[\"rcb-accept-all-for-bots\"];\n this.respectDoNotTrack = result[\"rcb-respect-do-not-track\"]; // this.onlyEuCookieBanner = result[\"rcb-only-eu-cookie-banner\"] || false;\n\n this.cookieDuration = result[\"rcb-cookie-duration\"];\n this.saveIp = result[\"rcb-save-ip\"];\n this.ePrivacyUSA = result[\"rcb-eprivacy-usa\"];\n this.ageNotice = result[\"rcb-age-notice\"];\n this.listServicesNotice = result[\"rcb-list-services-notice\"];\n this.consentForwarding = result[\"rcb-consent-forwarding\"] || false;\n this.forwardTo = (result[\"rcb-forward-to\"] || \"\").split(\"|\").filter(Boolean);\n this.crossDomains = result[\"rcb-cross-domains\"] || \"\";\n this.countryBypass = result[\"rcb-country-bypass\"];\n this.countryBypassCountries = (result[\"rcb-country-bypass-countries\"] || \"\").split(\",\").filter(Boolean);\n this.countryBypassType = result[\"rcb-country-bypass-type\"];\n this.countryBypassDbDownloadTime = result[\"rcb-country-bypass-db-download-time\"];\n this.tcf = result[\"rcb-tcf\"];\n this.tcfPublisherCc = result[\"rcb-tcf-publisher-cc\"];\n this.tcfAcceptedTime = result[\"rcb-tcf-accepted-time\"];\n this.tcfGvlDownloadTime = result[\"rcb-tcf-gvl-download-time\"];\n this.tcfScopeOfConsent = result[\"rcb-tcf-scope-of-consent\"];\n this.consentDuration = result[\"rcb-consent-duration\"];\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* onlypro: start */\n this.affiliateLink = result[\"rcb-affiliate-link\"];\n this.affiliateLabelBehind = result[\"rcb-affiliate-label-behind\"];\n this.affiliateLabelDescription = result[\"rcb-affiliate-description\"];\n /* onlypro: end */\n }\n\n yield this.fetchCurrentRevision();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.updateSettings = flow(function* ({\n bannerActive,\n blockerActive,\n imprintId,\n privacyPolicyId,\n // Due to incompatibilities with WPML / PolyLang we need to edit this in customizer as\n // the customizer can save settings per language\n // imprintExternalUrl,\n // imprintIsExternalUrl,\n // privacyPolicyExternalUrl,\n // privacyPolicyIsExternalUrl,\n hidePageIds,\n setCookiesViaManager,\n acceptAllForBots,\n respectDoNotTrack,\n // onlyEuCookieBanner,\n cookieDuration,\n saveIp,\n ePrivacyUSA,\n ageNotice,\n listServicesNotice,\n consentForwarding,\n forwardTo,\n crossDomains,\n affiliateLink,\n affiliateLabelBehind,\n affiliateLabelDescription,\n countryBypass,\n countryBypassCountries,\n countryBypassType,\n tcf,\n tcfPublisherCc,\n tcfScopeOfConsent,\n consentDuration\n }) {\n this.busySettings = true;\n\n try {\n const result = yield request({\n location: locationRestWpSettingsPatch,\n request: { ...(bannerActive === undefined ? {} : {\n \"rcb-banner-active\": bannerActive\n }),\n ...(blockerActive === undefined ? {} : {\n \"rcb-blocker-active\": blockerActive\n }),\n ...(imprintId === undefined ? {} : {\n \"rcb-banner-legal-imprint\": imprintId\n }),\n ...(privacyPolicyId === undefined ? {} : {\n \"rcb-banner-legal-privacy-policy\": privacyPolicyId\n }),\n ...(hidePageIds === undefined ? {} : {\n \"rcb-hide-page-ids\": hidePageIds.join(\",\")\n }),\n ...(setCookiesViaManager === undefined ? {} : {\n \"rcb-set-cookies-via-manager\": setCookiesViaManager\n }),\n ...(acceptAllForBots === undefined ? {} : {\n \"rcb-accept-all-for-bots\": acceptAllForBots\n }),\n ...(respectDoNotTrack === undefined ? {} : {\n \"rcb-respect-do-not-track\": respectDoNotTrack\n }),\n ...(cookieDuration === undefined ? {} : {\n \"rcb-cookie-duration\": cookieDuration\n }),\n ...(saveIp === undefined ? {} : {\n \"rcb-save-ip\": saveIp\n }),\n ...(ePrivacyUSA === undefined ? {} : {\n \"rcb-eprivacy-usa\": ePrivacyUSA\n }),\n ...(ageNotice === undefined ? {} : {\n \"rcb-age-notice\": ageNotice\n }),\n ...(listServicesNotice === undefined ? {} : {\n \"rcb-list-services-notice\": listServicesNotice\n }),\n ...(consentForwarding === undefined ? {} : {\n \"rcb-consent-forwarding\": consentForwarding\n }),\n ...(forwardTo === undefined ? {} : {\n \"rcb-forward-to\": forwardTo.join(\"|\")\n }),\n ...(crossDomains === undefined ? {} : {\n \"rcb-cross-domains\": crossDomains\n }),\n ...(countryBypass === undefined ? {} : {\n \"rcb-country-bypass\": countryBypass\n }),\n ...(countryBypassCountries === undefined ? {} : {\n \"rcb-country-bypass-countries\": countryBypassCountries.join(\",\")\n }),\n ...(countryBypassType === undefined ? {} : {\n \"rcb-country-bypass-type\": countryBypassType\n }),\n ...(tcf === undefined ? {} : {\n \"rcb-tcf\": tcf\n }),\n ...(tcfPublisherCc === undefined ? {} : {\n \"rcb-tcf-publisher-cc\": tcfPublisherCc\n }),\n ...(tcfScopeOfConsent === undefined ? {} : {\n \"rcb-tcf-scope-of-consent\": tcfScopeOfConsent\n }),\n ...(process.env.PLUGIN_CTX === \"pro\" ? affiliateLink === undefined ? {} : {\n \"rcb-affiliate-link\": affiliateLink\n } : {}),\n ...(process.env.PLUGIN_CTX === \"pro\" ? affiliateLabelBehind === undefined ? {} : {\n \"rcb-affiliate-label-behind\": affiliateLabelBehind\n } : {}),\n ...(process.env.PLUGIN_CTX === \"pro\" ? affiliateLabelDescription === undefined ? {} : {\n \"rcb-affiliate-description\": affiliateLabelDescription\n } : {}),\n ...(consentDuration === undefined ? {} : {\n \"rcb-consent-duration\": consentDuration\n })\n }\n });\n this.fetchSettings(result);\n this.rootStore.checklistStore.probablyFetchByChangedItem([\"save-settings\", \"activate-banner\", \"privacy-policy\"]);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.fetchCurrentRevision = flow(function* () {\n this.busySettings = true;\n\n try {\n this.setFromCurrentRevision(yield request({\n location: locationRestRevisionCurrentGet\n }));\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.updateCurrentRevision = flow(function* (data) {\n this.busySettings = true;\n\n try {\n this.setFromCurrentRevision(yield request({\n location: locationRestRevisionCurrentPut,\n request: data\n }));\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.setModalHintSeen = flow(function* (identifier) {\n this.busySettings = true;\n\n try {\n this.others.modalHints.push(identifier); // Immediate push as this can never fail\n\n yield request({\n location: locationRestModalHintSeenPut,\n request: {\n identifier\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.dismissConfigProNotice = flow(function* () {\n try {\n // Immediate set because it can not fail\n this.others.isConfigProNoticeVisible = false;\n yield request({\n location: locationRestLiteDismissConfigPageProNotice\n });\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.dismissMigration = flow(function* () {\n try {\n // Immediate set because it can not fail\n const {\n id: migration\n } = this.dashboardMigration;\n this.dashboardMigration = undefined;\n yield request({\n location: locationRestMigrationDelete,\n params: {\n migration\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.addLinksToNavigationMenu = flow(function* (id) {\n this.busyAddLinksToNavigationMenu = true;\n\n try {\n const {\n success\n } = yield request({\n location: locationRestNavMenuAddLinksPost,\n request: {\n id\n }\n });\n\n if (success) {\n this.rootStore.checklistStore.fetchChecklist();\n yield this.fetchCurrentRevision();\n }\n\n return success;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyAddLinksToNavigationMenu = false;\n }\n });\n this.updateCountryBypassDatabase = flow(function* () {\n this.busyCountryBypassUpdate = true;\n\n try {\n const {\n dbDownloadTime\n } = yield request({\n location: locationRestCountryBypassDatabasePut\n });\n this.countryBypassDbDownloadTime = dbDownloadTime;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyCountryBypassUpdate = false;\n }\n });\n this.rootStore = rootStore;\n this.pureSlug = BaseOptions.getPureSlug(process.env.slug);\n this.pureSlugCamelCased = BaseOptions.getPureSlug(process.env.slug, true); // Use the localized WP object to fill this object values.\n\n runInAction(() => Object.assign(this, window[this.pureSlugCamelCased]));\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n setFromCurrentRevision({\n contexts,\n has_manager,\n needs_retrigger,\n public_cookie_count,\n all_cookie_count,\n all_blocker_count,\n all_tcf_vendor_configuration_count,\n all_scanner_result_presets_count,\n all_scanner_result_external_urls_count,\n cookie_counts,\n consents_deleted_at,\n nav_menus,\n tcf_vendor_configuration_counts,\n dashboard_migration,\n fomo_coupon\n }) {\n this.hasManager = has_manager;\n this.needsRevisionRetrigger = needs_retrigger;\n this.publicCookieCount = public_cookie_count;\n this.allCookieCount = all_cookie_count;\n this.allBlockerCount = all_blocker_count;\n this.allTcfVendorConfigurationCount = all_tcf_vendor_configuration_count;\n this.allScannerResultPresetsCount = all_scanner_result_presets_count;\n this.allScannerResultExternalUrlsCount = all_scanner_result_external_urls_count;\n this.cookieCounts = cookie_counts;\n this.consentsDeletedAt = consents_deleted_at;\n this.nav_menus = nav_menus;\n this.tcfVendorConfigurationCounts = tcf_vendor_configuration_counts;\n this.contexts = contexts;\n this.dashboardMigration = dashboard_migration;\n this.fomoCoupon = fomo_coupon;\n }\n\n setShowLicenseFormImmediate(state, isLicensed) {\n this.others.showLicenseFormImmediate = state;\n this.others.isLicensed = isLicensed;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busySettings\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyCountryBypassUpdate\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"busyAddLinksToNavigationMenu\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"needsRevisionRetrigger\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"publicCookieCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"allCookieCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"allBlockerCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"allTcfVendorConfigurationCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"allScannerResultPresetsCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"allScannerResultExternalUrlsCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"cookieCounts\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return {\n draft: 0,\n private: 0,\n publish: 0\n };\n }\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"nav_menus\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return [];\n }\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"tcfVendorConfigurationCounts\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"hasManager\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"contexts\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return {\n \"\": \"\"\n };\n }\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"dashboardMigration\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"fomoCoupon\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"bannerActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"blockerActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor20 = _applyDecoratedDescriptor(_class.prototype, \"imprintId\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor21 = _applyDecoratedDescriptor(_class.prototype, \"imprintExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor22 = _applyDecoratedDescriptor(_class.prototype, \"imprintIsExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor23 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicyId\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor24 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicyExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor25 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicyIsExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor26 = _applyDecoratedDescriptor(_class.prototype, \"hidePageIds\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor27 = _applyDecoratedDescriptor(_class.prototype, \"setCookiesViaManager\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor28 = _applyDecoratedDescriptor(_class.prototype, \"acceptAllForBots\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor29 = _applyDecoratedDescriptor(_class.prototype, \"respectDoNotTrack\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor30 = _applyDecoratedDescriptor(_class.prototype, \"cookieDuration\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor31 = _applyDecoratedDescriptor(_class.prototype, \"saveIp\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor32 = _applyDecoratedDescriptor(_class.prototype, \"ePrivacyUSA\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor33 = _applyDecoratedDescriptor(_class.prototype, \"ageNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor34 = _applyDecoratedDescriptor(_class.prototype, \"listServicesNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor35 = _applyDecoratedDescriptor(_class.prototype, \"consentForwarding\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor36 = _applyDecoratedDescriptor(_class.prototype, \"forwardTo\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor37 = _applyDecoratedDescriptor(_class.prototype, \"crossDomains\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor38 = _applyDecoratedDescriptor(_class.prototype, \"affiliateLink\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor39 = _applyDecoratedDescriptor(_class.prototype, \"affiliateLabelBehind\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor40 = _applyDecoratedDescriptor(_class.prototype, \"affiliateLabelDescription\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor41 = _applyDecoratedDescriptor(_class.prototype, \"countryBypass\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor42 = _applyDecoratedDescriptor(_class.prototype, \"countryBypassCountries\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor43 = _applyDecoratedDescriptor(_class.prototype, \"countryBypassType\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor44 = _applyDecoratedDescriptor(_class.prototype, \"countryBypassDbDownloadTime\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor45 = _applyDecoratedDescriptor(_class.prototype, \"tcf\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor46 = _applyDecoratedDescriptor(_class.prototype, \"tcfPublisherCc\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor47 = _applyDecoratedDescriptor(_class.prototype, \"tcfAcceptedTime\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor48 = _applyDecoratedDescriptor(_class.prototype, \"tcfGvlDownloadTime\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor49 = _applyDecoratedDescriptor(_class.prototype, \"tcfScopeOfConsent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor50 = _applyDecoratedDescriptor(_class.prototype, \"consentDuration\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor51 = _applyDecoratedDescriptor(_class.prototype, \"consentsDeletedAt\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor52 = _applyDecoratedDescriptor(_class.prototype, \"others\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"isOnlyRcbCookieCreated\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"isOnlyRcbCookieCreated\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"areSettingsFetched\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"areSettingsFetched\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setFromCurrentRevision\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setFromCurrentRevision\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setShowLicenseFormImmediate\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setShowLicenseFormImmediate\"), _class.prototype)), _class);\nexport { OptionStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;\n\nimport { computed, flow, observable, action } from \"mobx\";\nimport { ScannerResultExternalUrl, ScannerResultPreset, ScannerResultExternalUrlSingle } from \"../models\";\nimport { request } from \"../utils\";\nimport { locationRestScannerResultAllExternalUrlsByHostGet, locationRestScannerResultPresetsGet, locationRestScannerQueuePost, locationRestScannerResultExternalsGet, locationRestScannerResultMarkupGet } from \"../wp-api\";\nlet ScannerStore = (_class = class ScannerStore {\n get sortedExternalUrls() {\n const result = Array.from(this.resultExternalUrls.values()); // Move inactive items to the bottom list\n\n result.sort((a, b) => a.inactive === b.inactive ? 0 : a.inactive ? 1 : -1);\n return result;\n }\n\n get presetsCount() {\n return this.fetchedAllResultPresets ? this.resultPresets.size : this.rootStore.optionStore.allScannerResultPresetsCount;\n }\n\n get externalUrlsCount() {\n return this.fetchedAllResultExternalUrls ? this.resultExternalUrls.size : this.rootStore.optionStore.allScannerResultExternalUrlsCount;\n }\n\n get canShowResults() {\n var _this$rootStore$check;\n\n return this.presetsCount + this.externalUrlsCount > 0 && ((_this$rootStore$check = this.rootStore.checklistStore.checklist) === null || _this$rootStore$check === void 0 ? void 0 : _this$rootStore$check.items[\"scanner\"].checked);\n }\n\n get foundScanResultsCount() {\n return this.resultPresets.size + this.resultExternalUrls.size;\n }\n /**\n * Count of presets and external URL hosts which still needs attention.\n */\n\n\n get needsAttentionCount() {\n return [...this.resultPresets.values(), ...this.resultExternalUrls.values()].filter(({\n inactive\n }) => !inactive).length;\n }\n\n constructor(rootStore) {\n _initializerDefineProperty(this, \"resultPresets\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busyResultPresets\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"fetchedAllResultPresets\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"resultExternalUrls\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"resultAllExternalUrls\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"busyExternalUrls\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"fetchedAllResultExternalUrls\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"busyMarkup\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"resultMarkup\", _descriptor9, this);\n\n this.rootStore = void 0;\n this.addUrlsToQueue = flow(function* (data) {\n return yield request({\n location: locationRestScannerQueuePost,\n request: data\n });\n });\n this.fetchResultPresets = flow(function* () {\n this.busyResultPresets = true;\n\n try {\n this.resultPresetsFromResponse(yield request({\n location: locationRestScannerResultPresetsGet\n }));\n this.fetchedAllResultPresets = true;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyResultPresets = false;\n }\n });\n this.fetchResultExternals = flow(function* () {\n this.busyExternalUrls = true;\n\n try {\n this.resultExternalUrlsFromResponse(yield request({\n location: locationRestScannerResultExternalsGet\n }));\n this.fetchedAllResultExternalUrls = true;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyExternalUrls = false;\n }\n });\n this.fetchResultAllExternals = flow(function* (instance) {\n const type = instance instanceof ScannerResultExternalUrl ? \"host\" : \"preset\";\n const {\n identifier\n } = instance;\n instance.busy = true;\n\n try {\n const {\n items\n } = yield request({\n location: locationRestScannerResultAllExternalUrlsByHostGet,\n params: {\n type,\n identifier: type === \"host\" ? identifier.replace(/\\./g, \"_\") : identifier\n }\n }); // Check if map for this host already exists\n\n let map = this.resultAllExternalUrls.get(identifier);\n\n if (!map) {\n map = new Map();\n } else {\n // As we load all data within one request, we can safely remove stale objects\n const existing = items.map(({\n id\n }) => id);\n\n for (const probablyStaleKey of map.keys()) {\n if (existing.indexOf(probablyStaleKey) === -1) {\n map.delete(probablyStaleKey);\n }\n }\n } // Save presets as objects\n\n\n for (const item of Object.values(items)) {\n map.set(item.id, new ScannerResultExternalUrlSingle(item, this));\n this.resultAllExternalUrls.set(identifier, map);\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n instance.busy = false;\n }\n });\n this.fetchMarkup = flow(function* (id) {\n this.busyMarkup = true;\n\n try {\n const result = yield request({\n location: locationRestScannerResultMarkupGet,\n params: {\n id\n }\n });\n this.resultMarkup.set(id, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyMarkup = false;\n }\n });\n this.rootStore = rootStore;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n resultPresetsFromResponse({\n items\n }) {\n // As we load all data within one request, we can safely remove stale objects\n const existing = Object.keys(items);\n\n for (const probablyStaleKey of this.resultPresets.keys()) {\n if (existing.indexOf(probablyStaleKey) === -1) {\n this.resultPresets.delete(probablyStaleKey);\n }\n } // Save presets as object\n\n\n for (const pid of existing) {\n this.resultPresets.set(pid, new ScannerResultPreset(items[pid], this));\n }\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n resultExternalUrlsFromResponse({\n items\n }) {\n // As we load all data within one request, we can safely remove stale objects\n const existing = Object.keys(items);\n\n for (const probablyStaleKey of this.resultExternalUrls.keys()) {\n if (existing.indexOf(probablyStaleKey) === -1) {\n this.resultExternalUrls.delete(probablyStaleKey);\n }\n } // Save presets as objects\n\n\n for (const externalHost of existing) {\n this.resultExternalUrls.set(externalHost, new ScannerResultExternalUrl(items[externalHost], this));\n }\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"resultPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyResultPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"fetchedAllResultPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"resultExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"resultAllExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"busyExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"fetchedAllResultExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"busyMarkup\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"resultMarkup\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"sortedExternalUrls\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"sortedExternalUrls\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"presetsCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"presetsCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"externalUrlsCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"externalUrlsCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"canShowResults\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"canShowResults\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"foundScanResultsCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"foundScanResultsCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"needsAttentionCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"needsAttentionCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"resultPresetsFromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"resultPresetsFromResponse\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"resultExternalUrlsFromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"resultExternalUrlsFromResponse\"), _class.prototype)), _class);\nexport { ScannerStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { observable, flow, runInAction, action } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport moment from \"moment\";\nconst DATE_FORMAT = \"YYYY-MM-DD\";\nlet StatsStore = (_class = class StatsStore extends BaseOptions {\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busyStats\", _descriptor, this);\n\n this.rootStore = void 0;\n this.stats = observable.object({\n main: undefined,\n buttonsClicked: undefined,\n customBypass: undefined\n }, {}, {\n deep: false\n });\n this.filters = observable.object({\n dates: undefined,\n context: undefined\n }, {}, {\n deep: false\n });\n this.fetchMain = flow(function* () {\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n } else {\n throw new Error(\"This feature is not available in the free version.\");\n }\n });\n this.fetchButtonsClicked = flow(function* () {\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n } else {\n throw new Error(\"This feature is not available in the free version.\");\n }\n });\n this.fetchCustomBypass = flow(function* () {\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n } else {\n throw new Error(\"This feature is not available in the free version.\");\n }\n });\n this.rootStore = rootStore;\n runInAction(() => {\n this.filters.dates = [moment().subtract(30, \"days\"), moment()];\n this.filters.context = this.rootStore.optionStore.others.context;\n });\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param dates\n */\n\n\n applyDates(dates) {\n this.filters.dates = dates;\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param context\n */\n\n\n applyContext(context) {\n this.filters.context = context;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyStats\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return {\n main: false,\n buttonClicked: false,\n customBypass: false\n };\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"applyDates\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyDates\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyContext\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyContext\"), _class.prototype)), _class);\nexport { StatsStore };","import { configure } from \"mobx\";\nimport { createContextFactory } from \"@devowl-wp/utils\";\nimport { OptionStore, CustomizeBannerStore, CookieStore, ConsentStore, StatsStore, ChecklistStore, TcfStore, ScannerStore } from \".\";\nconfigure({\n enforceActions: \"always\"\n});\n/**\n * A collection of all available stores which gets available\n * through the custom hook useStores in your function components.\n *\n * @see https://mobx.js.org/best/store.html#combining-multiple-stores\n */\n\nclass RootStore {\n get context() {\n return this.contextMemo ? this.contextMemo : this.contextMemo = createContextFactory(this);\n }\n\n constructor() {\n this.optionStore = void 0;\n this.customizeBannerStore = void 0;\n this.cookieStore = void 0;\n this.consentStore = void 0;\n this.statsStore = void 0;\n this.checklistStore = void 0;\n this.tcfStore = void 0;\n this.scannerStore = void 0;\n this.contextMemo = void 0;\n this.optionStore = new OptionStore(this);\n this.customizeBannerStore = new CustomizeBannerStore(this);\n this.cookieStore = new CookieStore(this);\n this.consentStore = new ConsentStore(this);\n this.statsStore = new StatsStore(this);\n this.checklistStore = new ChecklistStore(this);\n this.tcfStore = new TcfStore(this);\n this.scannerStore = new ScannerStore(this);\n }\n\n static get StoreProvider() {\n return RootStore.get.context.StoreProvider;\n }\n\n static get get() {\n return RootStore.me ? RootStore.me : RootStore.me = new RootStore();\n }\n\n}\n\nRootStore.me = void 0;\n\nconst useStores = () => RootStore.get.context.useStores();\n\nexport { RootStore, useStores };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13;\n\nimport { observable, flow, computed, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { locationRestTcfDeclarationsGet } from \"../wp-api\";\nimport { locationRestTcfVendorsGet } from \"../wp-api\";\nimport { locationRestTcfGvlPut } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { TcfPurpose, TcfVendor, TcfFeature, TcfVendorConfigurationCollection } from \"../models\";\nlet TcfStore = (_class = class TcfStore extends BaseOptions {\n get vendorConfigurationCount() {\n return this.fetchedAllVendorConfigurations ? this.vendorConfigurations.entries.size : this.rootStore.optionStore.allTcfVendorConfigurationCount;\n }\n\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busyGvl\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busyVendors\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"busyDeclarations\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"vendorConfigurations\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"fetchedAllVendorConfigurations\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"vendorListVersion\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"gvlSpecificationVersion\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"tcfPolicyVersion\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"vendors\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"purposes\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"specialPurposes\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"features\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"specialFeatures\", _descriptor13, this);\n\n this.rootStore = void 0;\n this.fetchVendorConfigurations = flow(function* () {\n // In our UI, we do not have pagination, yet, so load all\n const perPage = 100;\n const pages = Math.ceil(this.vendorConfigurationCount / perPage);\n\n for (let i = 0; i < pages; i++) {\n yield this.vendorConfigurations.get({\n request: {\n status: [\"draft\", \"publish\", \"private\"]\n },\n params: {\n offset: i * perPage,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100,\n // Fetch all\n context: \"edit\"\n }\n });\n }\n\n this.fetchedAllVendorConfigurations = true;\n });\n this.fetchVendors = flow(function* () {\n this.busyVendors = true;\n\n try {\n const {\n vendorListVersion,\n vendors\n } = yield request({\n location: locationRestTcfVendorsGet\n });\n\n for (const vid of Object.keys(vendors)) {\n this.vendors.set(vid, new TcfVendor(vendors[vid], this));\n }\n\n this.vendorListVersion = vendorListVersion;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyVendors = false;\n }\n });\n this.fetchDeclarations = flow(function* () {\n this.busyDeclarations = true;\n\n try {\n const {\n gvlSpecificationVersion,\n tcfPolicyVersion,\n purposes,\n specialPurposes,\n features,\n specialFeatures\n } = yield request({\n location: locationRestTcfDeclarationsGet\n });\n\n for (const pid of Object.keys(purposes)) {\n this.purposes.set(pid, new TcfPurpose(purposes[pid], false, this));\n }\n\n for (const pid of Object.keys(specialPurposes)) {\n this.specialPurposes.set(pid, new TcfPurpose(specialPurposes[pid], true, this));\n }\n\n for (const pid of Object.keys(features)) {\n this.features.set(pid, new TcfFeature(features[pid], false, this));\n }\n\n for (const pid of Object.keys(specialFeatures)) {\n this.specialFeatures.set(pid, new TcfFeature(specialFeatures[pid], true, this));\n }\n\n this.gvlSpecificationVersion = gvlSpecificationVersion;\n this.tcfPolicyVersion = tcfPolicyVersion;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyDeclarations = false;\n }\n });\n this.updateGvl = flow(function* () {\n this.busyGvl = true;\n\n try {\n const {\n gvlDownloadTime\n } = yield request({\n location: locationRestTcfGvlPut\n });\n this.rootStore.optionStore.tcfGvlDownloadTime = gvlDownloadTime;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyGvl = false;\n }\n });\n this.rootStore = rootStore;\n runInAction(() => {\n this.vendorConfigurations = new TcfVendorConfigurationCollection(this);\n });\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyGvl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyVendors\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"busyDeclarations\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"vendorConfigurations\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"fetchedAllVendorConfigurations\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"vendorListVersion\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"gvlSpecificationVersion\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"tcfPolicyVersion\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"vendors\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"purposes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"specialPurposes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"features\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"specialFeatures\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"vendorConfigurationCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"vendorConfigurationCount\"), _class.prototype)), _class);\nexport { TcfStore };","const SCAN_QUEUE_JOB = \"rcb-scan\";\nconst AUTOMATIC_SCAN_STATER_QUEUE_JOB = \"rcb-automatic-scan-starter\";\nexport { SCAN_QUEUE_JOB, AUTOMATIC_SCAN_STATER_QUEUE_JOB };","function copyToClipboard(text) {\n const textField = document.createElement(\"textarea\");\n textField.innerText = text;\n document.body.appendChild(textField);\n textField.select();\n document.execCommand(\"copy\");\n textField.remove();\n}\n\nexport { copyToClipboard };","/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner` directly.\n */\nfunction getOptionsFromWindow() {\n return window[process.env.slug.replace(/-([a-z])/g, g => g[1].toUpperCase())];\n}\n\nexport { getOptionsFromWindow };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner.others` directly.\n */\n\nfunction getOtherOptionsFromWindow() {\n return getOptionsFromWindow().others;\n}\n\nexport { getOtherOptionsFromWindow };","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createLocalizationFactory, BaseOptions } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createLocalizationFactory(BaseOptions.getPureSlug(process.env.slug));\n}\n\nconst _n = (...args) => get()._n(...args);\n\nconst _nx = (...args) => get()._nx(...args);\n\nconst _x = (...args) => get()._x(...args);\n\nconst __ = (...args) => get().__(...args);\n\nconst _i = (...args) => get()._i(...args);\n\nexport { _n, _nx, _x, __, _i };","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createRequestFactory, BaseOptions } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createRequestFactory(window[BaseOptions.getPureSlug(process.env.slug, true)]);\n}\n\nconst urlBuilder = (...args) => get().urlBuilder(...args);\n\nconst request = (...args) => get().request(...args);\n\nexport { urlBuilder, request };","/**\n * @see https://www.w3schools.com/howto/howto_js_scroll_to_top.asp\n */\nfunction scrollTo(top = 0) {\n document.body.scrollTop = top; // For Safari\n\n document.documentElement.scrollTop = top; // For Chrome, Firefox, IE and Opera\n}\n\nexport { scrollTo };","/**\n * Truncate a string with separator in the middle of the string.\n *\n * @see https://stackoverflow.com/a/5723274/5506547\n */\nfunction truncateMiddle(str, maxLength = 50, separator = \"...\") {\n if (!str || str.length <= maxLength) {\n return str;\n }\n\n const sepLen = separator.length;\n const charsToShow = maxLength - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return str.substr(0, frontChars) + separator + str.substr(str.length - backChars);\n}\n\nexport { truncateMiddle };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestChecklistGet = {\n path: \"/checklist\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestChecklistPut = {\n path: \"/checklist/:id\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentAllDelete = {\n path: \"/consent/all\",\n method: RouteHttpVerb.DELETE\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentAllGet = {\n path: \"/consent/all\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentRefererGet = {\n path: \"/consent/referer\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestCookieGroupOrderPut = {\n path: \"/cookie-groups/order\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestCookieUnassignedGet = {\n path: \"/cookies/unassigned\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestCookiesOrderPut = {\n path: \"/cookies/order\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestCountryBypassDatabasePut = {\n path: \"/country-bypass/database\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestExportGet = {\n path: \"/export\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestExportConsentsGet = {\n path: \"/export/consents\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestForwardCookieGet = {\n path: \"/forward/cookie/:slug\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestForwardEndpointsGet = {\n path: \"/forward/endpoints\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestImportPost = {\n path: \"/import\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentPost = {\n path: \"/consent\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestStatsMainGet = {\n path: \"/stats/main\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestStatsCustomBypassGet = {\n path: \"/stats/customBypass\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestStatsButtonsClickedGet = {\n path: \"/stats/buttonsClicked\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentForwardPost = {\n path: \"/consent/forward\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLiteDismissConfigPageProNotice = {\n path: \"/dismiss-config-page-pro-notice\",\n method: RouteHttpVerb.DELETE\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestMigrationDelete = {\n path: \"/migration/:migration\",\n method: RouteHttpVerb.DELETE\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestMigrationPost = {\n path: \"/migration/:migration/:action\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestModalHintSeenPut = {\n path: \"/modal-hint\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestNavMenuAddLinksPost = {\n path: \"/nav-menu/add-links\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPresetsBannerGet = {\n path: \"/presets/banner\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPresetsBlockerGet = {\n path: \"/presets/blocker\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPresetsBlockerAttributesGet = {\n path: \"/presets/blocker/:identifier\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPresetsCookiesGet = {\n path: \"/presets/cookies\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPresetsCookiesAttributesGet = {\n path: \"/presets/cookies/:identifier\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestRevisionGet = {\n path: \"/revision/:hash\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestRevisionCurrentGet = {\n path: \"/revision/current\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestRevisionCurrentPut = {\n path: \"/revision/current\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestRevisionIndependentGet = {\n path: \"/revision/independent/:hash\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestScannerQueuePost = {\n path: \"/scanner/queue\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestScannerResultAllExternalUrlsByHostGet = {\n path: \"/scanner/result/externals/:type/:identifier\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestScannerResultExternalsGet = {\n path: \"/scanner/result/externals\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestScannerResultExternalPatch = {\n path: \"/scanner/result/externals/:host\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestScannerResultMarkupGet = {\n path: \"/scanner/result/markup/:id\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestScannerResultPresetsGet = {\n path: \"/scanner/result/presets\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestTcfDeclarationsGet = {\n path: \"/tcf/declarations\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestTcfGvlPut = {\n path: \"/tcf/gvl\",\n method: RouteHttpVerb.PUT\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestTcfVendorsGet = {\n path: \"/tcf/vendors\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestWpSettings = {\n path: \"/settings\",\n namespace: \"wp/v2\",\n method: RouteHttpVerb.GET\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestWpSettingsPatch = {\n path: \"/settings\",\n namespace: \"wp/v2\",\n method: RouteHttpVerb.PATCH\n};","module.exports = React;","module.exports = ReactDOM;","module.exports = ReactRouterDOM;","module.exports = devowlWp_customize;","module.exports = devowlWp_realProductManagerWpClient;","module.exports = devowlWp_realQueue;","module.exports = devowlWp_utils;","module.exports = jQuery;","module.exports = mobx;","module.exports = moment;","module.exports = wp;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"3\":\"chunk-config-tab-scanner\",\"184\":\"chunk-config-tab-tcf\",\"322\":\"chunk-config-tab-licensing\",\"357\":\"chunk-config-tab-import\",\"379\":\"chunk-config-tab-dashboard\",\"478\":\"chunk-config-tab-blocker\",\"625\":\"chunk-config-tab-consent\",\"718\":\"chunk-config-tab-cookies\",\"768\":\"chunk-config-tab-settings\"}[chunkId] || chunkId) + \".lite.js?ver=\" + {\"3\":\"fda8a3d7baf68c23de17\",\"81\":\"1597b7ea247ebc729b3f\",\"85\":\"c1cace28db802702418a\",\"184\":\"fe97b05fb51ed960cc94\",\"185\":\"d7db871864b2eb3ac805\",\"307\":\"73276fcc2cfb96b77e26\",\"322\":\"5e85950ce97d48f995ac\",\"357\":\"7df71e03e569097e1232\",\"379\":\"54231007934f68c04f42\",\"414\":\"80bd17f5390c8b52cd65\",\"446\":\"8bd9b252600f8f721c0e\",\"466\":\"b69d94a17213c9cde347\",\"474\":\"acc17755b51f87dc3229\",\"478\":\"76f4ec784e34db6f7508\",\"544\":\"046af70c36e9f6a7dfd9\",\"578\":\"36d419efcf879ad47d09\",\"625\":\"3a44d7831990367ae6b5\",\"637\":\"ef6cb6d16781bb56366d\",\"718\":\"7bc9539bfbf1059837b6\",\"737\":\"f0776900ca027073c701\",\"768\":\"9cbb4b6f33a116a0e1b5\",\"793\":\"20235de6234cd515b3d0\",\"853\":\"bc80c41606727317b951\",\"902\":\"dff6cad5a218cf713e40\",\"932\":\"cba370a1023bd0e9d17c\"}[chunkId] + \"\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + \"admin\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t328: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkrealCookieBanner_\"] = self[\"webpackChunkrealCookieBanner_\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [194], () => (__webpack_require__(6974)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","ETcfGvlDisclosureType","ETcfGvlLanguage","LABEL_GTM","LABEL_MTM","getManagerDependingVariables","setCookiesViaManager","presetId","useGlobalObjectName","getDataLayer","expectedManagerPresetId","serviceIsManager","managerLabel","isGtm","isMtm","window","I18nContextFactory","static","this","context","createContext","useI18n","useContext","Context","newlineRegex","reactNl2Br","text","split","map","line","index","match","createElement","key","getWebpackPublicPath","handleCorruptRestApi","async","location","path","namespace","prefixCls","top","node","document","getElementById","concat","I18nContext","render","React","Provider","value","__","_i","locale","DashboardChecklistItem","id","checked","title","description","link","linkText","linkTarget","needsPro","onLinkClick","optionStore","others","isPro","fomoCoupon","isInfo","extraContentTag","extraContentDescription","useLink","percent","scanPercent","remaining","scanRemaining","currentJob","useScannerProgress","group_position","style","margin","InfoCircleFilled","color","CheckCircleFilled","CheckCircleOutlined","textDecoration","undefined","fontWeight","Fragment","href","target","rel","onClick","className","paddingLeft","DashboardChecklistCardContent","props","checklistStore","busyChecklist","items","completed","checkable","done","checklist","overdue","showHidden","setShowHidden","useState","spinning","direction","size","icon","MinusCircleOutlined","cursor","length","rest","e","indexOf","toggleChecklistItem","NoticeRevisionNeedsRetrigger","pathname","useLocation","needsRevisionRetrigger","updateCurrentRevision","needs_retrigger","a","placement","onConfirm","okText","cancelText","overlayStyle","maxWidth","NoticeBannerActiveNoCookies","publicCookieCount","busySettings","bannerActive","NoticeAnonymousScriptNotWritable","showNoticeAnonymousScriptNotWritable","getOtherOptionsFromWindow","code","NoticeNoManager","hasManager","test","strong","RouterScrollToTop","listen","useHistory","useEffect","destroy","scrollTo","ProHeadlineButton","proUrl","isConfigProNoticeVisible","handleConfirm","useCallback","open","dismissConfigProNotice","handleClose","visible","InfoCircleOutlined","onCancel","ConfigHeader","isChecklistModalOpen","setChecklistModalOpen","customizeBannerUrl","publicUrl","fetchChecklist","handleCustomizeBannerButtonClick","encodeURIComponent","preventDefault","handleChecklistModalOpen","handleChecklistModalClose","src","background","borderColor","okButtonProps","display","width","ConfigFooter","HeartFilled","CSS_SPINNER_IN_CONTENT","marginTop","createSuspenseComponent","tab","children","default","SuspenseChunkTranslation","chunkFile","options","fallback","DashboardCards","lazy","then","SettingsForm","ScannerRouter","CookieGroupsTabRouter","ConsentTabRouter","BlockerRouter","ImportExportCards","ConfigLicensing","ConfigApp","showLicenseFormImmediate","colorScheme","badgeColor","useLayoutEffect","fetchSettings","listener","event","JOB_DONE_EVENT_PREFIX","addEventListener","removeEventListener","notice","Suspense","NavLink","to","activeClassName","exact","count","fontSize","height","lineHeight","host","Switch","Route","areSettingsFetched","IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO","InAppFomoCouponCounter","coupon","valueInPercent","validUntil","createTimerString","Date","getTime","fullSeconds","Math","floor","v","filter","i","join","setRerender","interval","setInterval","clearInterval","timerString","message","tag","marginRight","strongHours","strongPercent","ProModal","showHints","showFomoCouponCounter","testDrive","assetName","feature","onClose","inContainer","inContainerElement","hints","descriptionRef","setDescriptionRef","handleRedirect","focus","parentElement","previousElementSibling","removeAttribute","hint","proDialog","onOk","getContainer","ref","textAlign","marginBottom","ProModalHint","logo","wrap","flex","dangerouslySetInnerHTML","__html","alignSelf","marginLeft","PRO_TAG_BACKGROUND_COLOR","useProModal","overrideIsPro","setVisible","useIsPro","useMemo","tagText","modal","fetchStatusInterval","fetchAdditionalData","scannerStore","useProgress","type","onAdditionalData","rcbScanList","presets","externalUrls","resultPresetsFromResponse","resultExternalUrlsFromResponse","_class","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","BannerPreset","constructor","preset","store","resetPreviewInUiSettings","runInAction","set","querySelector","contentWindow","realCookieBanner_customize_banner","RootStore","get","applyInUi","rootStore","previewInUi","setTimeout","customize","getSidebarCustomize","presetDefaults","forEach","defaultValue","settings","customizeIdsBanner","batchUpdates","section","Object","keys","sectionSettings","setting","customizeKey","has","newValue","prototype","hasOwnProperty","call","push","getIframeStore","customizeBannerStore","setBannerFromPreset","resetPreviewInUi","values","observable","configurable","enumerable","writable","initializer","BlockerCollection","ClientCollection","singlePath","methods","RouteHttpVerb","request","_dec","AbstractPostCollection","super","instance","response","fromResponse","_class2","BlockerModel","ClientModel","keyId","create","patch","delete","AbstractPost","rules","_this$data","data","meta","tcfVendors","_this$data2","Boolean","Number","services","_this$data3","collection","reaction","_this$data4","presetModel","fireImmediately","setName","name","rendered","setStatus","status","setDescription","purpose","content","setMeta","transformDataForPatch","slug","afterPatch","blockers","fetchCurrentRevision","afterDelete","afterPersist","computed","getOwnPropertyDescriptor","action","BlockerPreset","fullLogoUrl","logoFile","startsWith","fetchAttributes","flow","busy","params","identifier","attributes","console","log","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","_descriptor20","_descriptor21","_descriptor22","_descriptor23","_descriptor24","_descriptor25","_descriptor26","_descriptor27","_descriptor28","_descriptor29","Consent","revision","revisions","revision_hash","revision_independent","revisionsIndependent","revision_independent_hash","custom_bypass_readable","custom_bypass","charAt","toUpperCase","slice","export","JSON","parse","stringify","plain","consent","fetchRevisions","Promise","all","fetchRevision","hash","fetchRevisionIndependent","CookieCollection","sortedCookies","result","Array","from","entries","sort","b","menu_order","orderCookies","ids","setOrder","CookieGroupCollection","AbstractCategoryCollection","sortedGroups","order","orderCookieGroups","CookieGroupModel","AbstractCategory","cookiesCount","fetchedAllCookies","cookies","fetchCookies","per_page","CookieModel","technicalDefinitions","codeDynamics","groups","thisGroup","group","cookieStore","unassignedCookies","setPurpose","setGroup","transformDataForPersist","probablyFetchByChangedItem","CookiePreset","Revision","RevisionIndependent","ScannerResultExternalUrl","inactive","blockedStatus","ignored","foundCount","blockedCount","blockedStatusText","externalUrl","ignore","state","replace","ScannerResultExternalUrlSingle","markup","resultMarkup","blockedUrlTruncate","blockedUrl","sourceUrlTruncate","sourceUrl","fetchMarkup","ScannerResultPreset","created","TcfFeature","special","TcfPurpose","TcfVendor","vendorConfiguration","c","vendorConfigurations","vendorModel","deviceStorageDisclosure","usesCookies","cookieMaxAgeSeconds","cookieRefresh","usesNonCookieAccess","disclosures","unshift","purposes","domain","maxAgeSeconds","allPurposes","legIntPurposes","specialPurposes","allFeatures","features","specialFeatures","restrictivePurposes","normal","toString","enabled","legInt","flexiblePurposes","_this$data5","_this$data6","TcfVendorConfigurationCollection","TcfVendorConfigurationModel","hasVendor","_this$vendorModel","_this$vendorModel2","disableRestrictivePurposes","tcfScopeOfConsent","originalRestrictivePurposes","stats","_this$vendorModel3","arr","activePurposes","activeFeatures","vendor","vendors","vendorId","existing","_this$data$meta","ChecklistStore","BaseOptions","itemId","force","useItemIds","isArray","_wp_http_referer","_this$checklist","dismissed","ConsentStore","filters","page","dates","referer","ip","uuid","deep","fetchAll","busyConsent","m","format","truncatedIpsCount","perPage","offset","pageCollection","clear","item","fetchReferer","busyReferer","deleteAll","applyPage","applyDates","applyContext","applyReferer","applyIp","applyUuid","Map","CookieStore","blockersCount","fetchedAllBlockers","allBlockerCount","reduce","total","num","fetchGroups","fetchUnassignedCookies","fetchBlockers","fetchPresetsBlocker","busyPresetsBlocker","pid","presetsBlocker","fetchPresetsCookie","busyPresetsCookie","presetsCookie","essentialGroup","it","next","CustomizeBannerStore","presetConstants","debounceFromCustomize","fetchPresets","busyPresets","defaults","constants","did","cid","setBannerFromCustomize","maybeDebounce","customizeValuesBanner","debounceSetting","clearTimeout","currentValue","forceAnimationOutSimulation","row","animationVisible","setIndividualPrivacyOpen","individualPrivacyOpen","setPreviewCheckboxActiveState","previewCheckboxActiveState","exportPhp","isNaN","jsonToPHPArray","output","shift","pop","full","spaces","namespaces","_descriptor30","_descriptor31","_descriptor32","_descriptor33","_descriptor34","_descriptor35","_descriptor36","_descriptor37","_descriptor38","_descriptor39","_descriptor40","_descriptor41","_descriptor42","_descriptor43","_descriptor44","_descriptor45","_descriptor46","_descriptor47","_descriptor48","_descriptor49","_descriptor50","_descriptor51","_descriptor52","OptionStore","isOnlyRcbCookieCreated","allCookieCount","tcf","allTcfVendorConfigurationCount","respectDoNotTrack","pureSlug","pureSlugCamelCased","setFrom","blockerActive","imprintId","imprintExternalUrl","imprintIsExternalUrl","privacyPolicyId","privacyPolicyExternalUrl","privacyPolicyIsExternalUrl","hidePageIds","acceptAllForBots","cookieDuration","saveIp","ePrivacyUSA","ageNotice","listServicesNotice","consentForwarding","forwardTo","crossDomains","countryBypass","countryBypassCountries","countryBypassType","countryBypassDbDownloadTime","tcfPublisherCc","tcfAcceptedTime","tcfGvlDownloadTime","consentDuration","updateSettings","affiliateLink","affiliateLabelBehind","affiliateLabelDescription","setFromCurrentRevision","setModalHintSeen","modalHints","dismissMigration","migration","dashboardMigration","addLinksToNavigationMenu","busyAddLinksToNavigationMenu","success","updateCountryBypassDatabase","busyCountryBypassUpdate","dbDownloadTime","assign","contexts","has_manager","public_cookie_count","all_cookie_count","all_blocker_count","all_tcf_vendor_configuration_count","all_scanner_result_presets_count","all_scanner_result_external_urls_count","cookie_counts","consents_deleted_at","nav_menus","tcf_vendor_configuration_counts","dashboard_migration","fomo_coupon","allScannerResultPresetsCount","allScannerResultExternalUrlsCount","cookieCounts","consentsDeletedAt","tcfVendorConfigurationCounts","setShowLicenseFormImmediate","isLicensed","draft","private","publish","ScannerStore","sortedExternalUrls","resultExternalUrls","presetsCount","fetchedAllResultPresets","resultPresets","externalUrlsCount","fetchedAllResultExternalUrls","canShowResults","_this$rootStore$check","foundScanResultsCount","needsAttentionCount","addUrlsToQueue","fetchResultPresets","busyResultPresets","fetchResultExternals","busyExternalUrls","fetchResultAllExternals","resultAllExternalUrls","probablyStaleKey","busyMarkup","externalHost","StatsStore","main","buttonsClicked","customBypass","fetchMain","Error","fetchButtonsClicked","fetchCustomBypass","subtract","buttonClicked","configure","enforceActions","contextMemo","createContextFactory","consentStore","statsStore","tcfStore","StoreProvider","me","useStores","TcfStore","vendorConfigurationCount","fetchedAllVendorConfigurations","fetchVendorConfigurations","pages","ceil","fetchVendors","busyVendors","vendorListVersion","vid","fetchDeclarations","busyDeclarations","gvlSpecificationVersion","tcfPolicyVersion","updateGvl","busyGvl","gvlDownloadTime","SCAN_QUEUE_JOB","AUTOMATIC_SCAN_STATER_QUEUE_JOB","copyToClipboard","textField","innerText","body","appendChild","select","execCommand","remove","getOptionsFromWindow","g","FACTORY_MEMO","createLocalizationFactory","_n","args","_x","createRequestFactory","urlBuilder","scrollTop","documentElement","truncateMiddle","str","maxLength","separator","charsToShow","frontChars","backChars","substr","locationRestChecklistGet","method","locationRestChecklistPut","locationRestConsentAllDelete","locationRestConsentAllGet","locationRestConsentRefererGet","locationRestCookieGroupOrderPut","locationRestCookieUnassignedGet","locationRestCookiesOrderPut","locationRestCountryBypassDatabasePut","locationRestExportGet","locationRestExportConsentsGet","locationRestForwardCookieGet","locationRestForwardEndpointsGet","locationRestImportPost","locationRestConsentPost","locationRestConsentGet","locationRestStatsMainGet","locationRestStatsCustomBypassGet","locationRestStatsButtonsClickedGet","locationRestConsentClearDelete","locationRestConsentForwardPost","locationRestConsentDynamicPredecisionGet","locationRestLiteDismissConfigPageProNotice","locationRestMigrationDelete","locationRestMigrationPost","locationRestModalHintSeenPut","locationRestNavMenuAddLinksPost","locationRestPresetsBannerGet","locationRestPresetsBlockerGet","locationRestPresetsBlockerAttributesGet","locationRestPresetsCookiesGet","locationRestPresetsCookiesAttributesGet","locationRestRevisionGet","locationRestRevisionCurrentGet","locationRestRevisionCurrentPut","locationRestRevisionIndependentGet","locationRestScannerQueuePost","locationRestScannerResultAllExternalUrlsByHostGet","locationRestScannerResultExternalsGet","locationRestScannerResultExternalPatch","locationRestScannerResultMarkupGet","locationRestScannerResultPresetsGet","locationRestTcfDeclarationsGet","locationRestTcfGvlPut","locationRestTcfVendorsGet","locationRestWpSettings","locationRestWpSettingsPatch","module","exports","ReactDOM","ReactRouterDOM","devowlWp_customize","devowlWp_realProductManagerWpClient","devowlWp_realQueue","devowlWp_utils","jQuery","mobx","moment","wp","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","f","chunkId","promises","u","miniCssF","globalThis","Function","obj","prop","l","url","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","bind","head","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","p","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}
|
1 |
+
{"version":3,"file":"admin.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/load script","webpack:///../../backends/real-cookie-banner-backend/src/types/service/tcf.ts","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/getManagerDependingVariables.tsx","webpack:///../../frontend-packages/react-cookie-banner-admin/src/contexts/i18n.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/reactNl2Br.tsx","webpack:///./src/public/ts/admin.tsx","webpack:///./src/public/ts/components/config/dashboard/checklistItem.tsx","webpack:///./src/public/ts/components/config/dashboard/checklist.tsx","webpack:///./src/public/ts/components/config/noticeRevisionNeedsRetrigger.tsx","webpack:///./src/public/ts/components/config/noticeBannerActiveNoCookies.tsx","webpack:///./src/public/ts/components/config/noticeAnonymousScriptNotWritable.tsx","webpack:///./src/public/ts/components/config/noticeNoManager.tsx","webpack:///./src/public/ts/components/routerScrollToTop.tsx","webpack:///./src/public/ts/components/proHeadlineButton.tsx","webpack:///./src/public/ts/components/config/header.tsx","webpack:///./src/public/ts/components/config/footer.tsx","webpack:///./src/public/ts/components/configApp.tsx","webpack:///./src/public/ts/components/inAppFomoCouponCounter.tsx","webpack:///./src/public/ts/components/proModal.tsx","webpack:///./src/public/ts/components/proModalHint.tsx","webpack:///./src/public/ts/hooks/useProModal.tsx","webpack:///./src/public/ts/hooks/useScannerProgress.tsx","webpack:///./src/public/ts/models/bannerPreset.tsx","webpack:///./src/public/ts/models/blockerCollection.tsx","webpack:///./src/public/ts/models/blockerModel.tsx","webpack:///./src/public/ts/models/blockerPreset.tsx","webpack:///./src/public/ts/models/consent.tsx","webpack:///./src/public/ts/models/cookieCollection.tsx","webpack:///./src/public/ts/models/cookieGroupCollection.tsx","webpack:///./src/public/ts/models/cookieGroupModel.tsx","webpack:///./src/public/ts/models/cookieModel.tsx","webpack:///./src/public/ts/models/cookiePreset.tsx","webpack:///./src/public/ts/models/revision.tsx","webpack:///./src/public/ts/models/revisionIndependent.tsx","webpack:///./src/public/ts/models/scannerResultExternalUrl.tsx","webpack:///./src/public/ts/models/scannerResultExternalUrlSingle.tsx","webpack:///./src/public/ts/models/scannerResultPreset.tsx","webpack:///./src/public/ts/models/tcfFeature.tsx","webpack:///./src/public/ts/models/tcfPurpose.tsx","webpack:///./src/public/ts/models/tcfVendor.tsx","webpack:///./src/public/ts/models/tcfVendorConfigurationCollection.tsx","webpack:///./src/public/ts/models/tcfVendorConfigurationModel.tsx","webpack:///./src/public/ts/store/checklist.tsx","webpack:///./src/public/ts/store/consent.tsx","webpack:///./src/public/ts/store/cookie.tsx","webpack:///./src/public/ts/store/customizeBanner.tsx","webpack:///./src/public/ts/store/option.tsx","webpack:///./src/public/ts/store/scanner.tsx","webpack:///./src/public/ts/store/stats.tsx","webpack:///./src/public/ts/store/stores.tsx","webpack:///./src/public/ts/store/tcf.tsx","webpack:///./src/public/ts/types/queue.tsx","webpack:///./src/public/ts/utils/copyToClipboard.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/i18n.tsx","webpack:///./src/public/ts/utils/request.tsx","webpack:///./src/public/ts/utils/scrollTo.tsx","webpack:///./src/public/ts/utils/truncateMiddle.tsx","webpack:///./src/public/ts/wp-api/checklist.get.tsx","webpack:///./src/public/ts/wp-api/checklist.put.tsx","webpack:///./src/public/ts/wp-api/consentAll.delete.tsx","webpack:///./src/public/ts/wp-api/consentAll.get.tsx","webpack:///./src/public/ts/wp-api/consentReferer.get.tsx","webpack:///./src/public/ts/wp-api/cookieGroupOrder.put.tsx","webpack:///./src/public/ts/wp-api/cookieUnassigned.get.tsx","webpack:///./src/public/ts/wp-api/cookiesOrder.put.tsx","webpack:///./src/public/ts/wp-api/countryBypassDatabase.put.tsx","webpack:///./src/public/ts/wp-api/dismissNotice.delete.tsx","webpack:///./src/public/ts/wp-api/export.get.tsx","webpack:///./src/public/ts/wp-api/exportConsents.get.tsx","webpack:///./src/public/ts/wp-api/forwardCookie.get.tsx","webpack:///./src/public/ts/wp-api/forwardEndpoints.get.tsx","webpack:///./src/public/ts/wp-api/import.post.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/wp-api/statsMain.get.tsx","webpack:///./src/public/ts/wp-api/statsCustomBypass.get.tsx","webpack:///./src/public/ts/wp-api/statsButtonsClicked.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/wp-api/consentForward.post.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///./src/public/ts/wp-api/liteDismissConfigPageProNotice.delete.tsx","webpack:///./src/public/ts/wp-api/migration.delete.tsx","webpack:///./src/public/ts/wp-api/migration.post.tsx","webpack:///./src/public/ts/wp-api/modalHintSeen.put.tsx","webpack:///./src/public/ts/wp-api/navMenuAddLinks.post.tsx","webpack:///./src/public/ts/wp-api/presetsBanner.get.tsx","webpack:///./src/public/ts/wp-api/presetsBlocker.get.tsx","webpack:///./src/public/ts/wp-api/presetsBlockerAttributes.get.tsx","webpack:///./src/public/ts/wp-api/presetsCookies.get.tsx","webpack:///./src/public/ts/wp-api/presetsCookiesAttributes.get.tsx","webpack:///./src/public/ts/wp-api/revision.get.tsx","webpack:///./src/public/ts/wp-api/revisionCurrent.get.tsx","webpack:///./src/public/ts/wp-api/revisionCurrent.put.tsx","webpack:///./src/public/ts/wp-api/revisionIndependent.get.tsx","webpack:///./src/public/ts/wp-api/scannerQueue.post.tsx","webpack:///./src/public/ts/wp-api/scannerResultsAllExternalUrls.get.tsx","webpack:///./src/public/ts/wp-api/scannerResultsExternal.get.tsx","webpack:///./src/public/ts/wp-api/scannerResultsExternalHost.put.tsx","webpack:///./src/public/ts/wp-api/scannerResultsMarkup.get.tsx","webpack:///./src/public/ts/wp-api/scannerResultsPreset.get.tsx","webpack:///./src/public/ts/wp-api/tcfDeclarations.get.tsx","webpack:///./src/public/ts/wp-api/tcfGvl.put.tsx","webpack:///./src/public/ts/wp-api/tcfVendors.get.tsx","webpack:///./src/public/ts/wp-api/wp/settings.get.tsx","webpack:///./src/public/ts/wp-api/wp/settings.patch.tsx","webpack:///external var \"React\"","webpack:///external var \"ReactDOM\"","webpack:///external var \"ReactRouterDOM\"","webpack:///external var \"devowlWp_customize\"","webpack:///external var \"devowlWp_realProductManagerWpClient\"","webpack:///external var \"devowlWp_realQueue\"","webpack:///external var \"devowlWp_utils\"","webpack:///external var \"jQuery\"","webpack:///external var \"mobx\"","webpack:///external var \"moment\"","webpack:///external var \"wp\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/get mini-css chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"realCookieBanner_:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/* eslint-disable @typescript-eslint/no-empty-interface */\nvar ETcfGvlDisclosureType;\n\n(function (ETcfGvlDisclosureType) {\n ETcfGvlDisclosureType[\"Cookie\"] = \"cookie\";\n ETcfGvlDisclosureType[\"Web\"] = \"web\";\n ETcfGvlDisclosureType[\"App\"] = \"app\";\n})(ETcfGvlDisclosureType || (ETcfGvlDisclosureType = {}));\n\nvar ETcfGvlLanguage;\n\n(function (ETcfGvlLanguage) {\n ETcfGvlLanguage[\"Bulgarian\"] = \"bg\";\n ETcfGvlLanguage[\"Catalan\"] = \"ca\";\n ETcfGvlLanguage[\"Czech\"] = \"cs\";\n ETcfGvlLanguage[\"Danish\"] = \"da\";\n ETcfGvlLanguage[\"German\"] = \"de\";\n ETcfGvlLanguage[\"Greek\"] = \"el\";\n ETcfGvlLanguage[\"Spanish\"] = \"es\";\n ETcfGvlLanguage[\"Estonian\"] = \"et\";\n ETcfGvlLanguage[\"Basque\"] = \"eus\";\n ETcfGvlLanguage[\"Finnish\"] = \"fi\";\n ETcfGvlLanguage[\"French\"] = \"fr\";\n ETcfGvlLanguage[\"Galician\"] = \"gl\";\n ETcfGvlLanguage[\"Croatian\"] = \"hr\";\n ETcfGvlLanguage[\"Hungarian\"] = \"hu\";\n ETcfGvlLanguage[\"Italian\"] = \"it\";\n ETcfGvlLanguage[\"Japanese\"] = \"ja\";\n ETcfGvlLanguage[\"Lithuanian\"] = \"lt\";\n ETcfGvlLanguage[\"Latvian\"] = \"lv\";\n ETcfGvlLanguage[\"Maltese\"] = \"mt\";\n ETcfGvlLanguage[\"Dutch\"] = \"nl\";\n ETcfGvlLanguage[\"Norwegian\"] = \"no\";\n ETcfGvlLanguage[\"Polish\"] = \"pl\";\n ETcfGvlLanguage[\"Portuguese\"] = \"pt\";\n ETcfGvlLanguage[\"Romanian\"] = \"ro\";\n ETcfGvlLanguage[\"SerbianCyrillic\"] = \"sr-Cyrl\";\n ETcfGvlLanguage[\"SerbianLatin\"] = \"sr-Latn\";\n ETcfGvlLanguage[\"Russian\"] = \"ru\";\n ETcfGvlLanguage[\"Slovak\"] = \"sk\";\n ETcfGvlLanguage[\"Slovenian\"] = \"sl\";\n ETcfGvlLanguage[\"Swedish\"] = \"sv\";\n ETcfGvlLanguage[\"Turkish\"] = \"tr\";\n ETcfGvlLanguage[\"Chinese\"] = \"zh\";\n})(ETcfGvlLanguage || (ETcfGvlLanguage = {}));\n\nexport { ETcfGvlLanguage, ETcfGvlDisclosureType };","export const LABEL_GTM = \"Google Tag Manager\";\nexport const LABEL_MTM = \"Matomo Tag Manager\";\n\nfunction getManagerDependingVariables(setCookiesViaManager, presetId) {\n let useGlobalObjectName;\n let getDataLayer;\n let serviceIsManager = false;\n let managerLabel = \"\";\n let expectedManagerPresetId;\n\n if (setCookiesViaManager && setCookiesViaManager !== \"none\") {\n const isGtm = setCookiesViaManager === \"googleTagManager\";\n const isMtm = setCookiesViaManager === \"matomoTagManager\";\n\n if (isGtm) {\n expectedManagerPresetId = \"gtm\";\n useGlobalObjectName = \"dataLayer\";\n managerLabel = LABEL_GTM;\n } else if (isMtm) {\n expectedManagerPresetId = \"mtm\";\n useGlobalObjectName = \"_mtm\";\n managerLabel = LABEL_MTM;\n }\n\n if (isGtm || isMtm) {\n getDataLayer = () => {\n window[useGlobalObjectName] = window[useGlobalObjectName] || [];\n return window[useGlobalObjectName];\n };\n }\n\n if (expectedManagerPresetId && presetId === expectedManagerPresetId) {\n serviceIsManager = true;\n }\n }\n\n return {\n getDataLayer,\n serviceIsManager,\n managerLabel,\n expectedManagerPresetId\n };\n}\n\nexport { getManagerDependingVariables };","import { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nclass I18nContextFactory {\n static Context() {\n return this.context = this.context || /*#__PURE__*/createContext({});\n }\n\n}\n\nI18nContextFactory.context = void 0;\n\nfunction useI18n() {\n return useContext(I18nContextFactory.Context());\n}\n\nexport { I18nContextFactory, useI18n };","import { createElement } from \"react\";\nconst newlineRegex = /(\\r\\n|\\r|\\n|<br[ ]?\\/>)/g;\n/**\n * @see https://codesandbox.io/s/94k7k80jxy\n */\n\nconst reactNl2Br = text => text.split(newlineRegex).map((line, index) => line.match(newlineRegex) ? /*#__PURE__*/createElement(\"br\", {\n key: index\n}) : line);\n\nexport { reactNl2Br };","import _message from \"antd/es/message\";\nimport _ConfigProvider from \"antd/es/config-provider\";\n\n/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * The entry point for the admin side wp-admin resource (config page).\n */\nimport \"mobx-react/batchingForReactDom\";\nimport { render } from \"react-dom\";\nimport { RootStore } from \"./store\";\nimport { ConfigApp } from \"./components/configApp\";\nimport \"./style/antd.less\";\nimport \"./style/admin.scss\";\nimport moment from \"moment\";\nimport { handleCorruptRestApi, getWebpackPublicPath } from \"@devowl-wp/utils\";\nimport { request, __, _i } from \"./utils\";\nimport { I18nContextFactory } from \"@devowl-wp/react-cookie-banner-admin\";\n__webpack_public_path__ = getWebpackPublicPath(process.env.slug);\nhandleCorruptRestApi({\n [RootStore.get.optionStore.restNamespace]: async () => {\n await request({\n location: {\n path: \"/plugin\"\n }\n });\n },\n [\"wp/v2\"]: async () => {\n await request({\n location: {\n path: \"/settings\",\n namespace: \"wp/v2\"\n }\n });\n }\n}); // Configure prefix for root (https://bit.ly/3wb2pv9)\n\n_ConfigProvider.config({\n prefixCls: process.env.ANTD_PREFIX\n});\n\n_message.config({\n top: 50\n});\n\nconst node = document.getElementById(\"\".concat(RootStore.get.optionStore.slug, \"-component\"));\n\nif (node) {\n const I18nContext = I18nContextFactory.Context();\n render( /*#__PURE__*/React.createElement(I18nContext.Provider, {\n value: {\n __,\n _i\n }\n }, /*#__PURE__*/React.createElement(_ConfigProvider, {\n prefixCls: process.env.ANTD_PREFIX,\n locale: {\n locale: moment.locale()\n }\n }, /*#__PURE__*/React.createElement(RootStore.StoreProvider, null, /*#__PURE__*/React.createElement(ConfigApp, null)))), node);\n} // Expose this functionalities to add-ons, but you need to activate the library functionality\n// in your webpack configuration, see also https://webpack.js.org/guides/author-libraries/\n\n\nexport * from \"@devowl-wp/utils\";\nexport * from \"./wp-api\";\nexport * from \"./store\";","import _Tooltip from \"antd/es/tooltip\";\nimport _Tag from \"antd/es/tag\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../utils\";\nimport { CheckCircleOutlined, CheckCircleFilled, InfoCircleFilled } from \"@ant-design/icons\";\nimport { useStores } from \"../../../store\";\nimport { PRO_TAG_BACKGROUND_COLOR, useScannerProgress } from \"../../../hooks\";\nimport { InAppFomoCouponCounter, IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO } from \"../..\";\nconst DashboardChecklistItem = observer(({\n id,\n checked,\n title,\n description,\n link,\n linkText,\n linkTarget,\n needsPro,\n onLinkClick\n}) => {\n const {\n optionStore: {\n others: {\n isPro\n },\n fomoCoupon\n }\n } = useStores();\n const isInfo = !isPro && needsPro;\n let extraContentTag = null;\n let extraContentDescription = null;\n let useLink = link;\n\n switch (id) {\n case \"scanner\":\n {\n const {\n percent: scanPercent,\n remaining: scanRemaining,\n currentJob\n } = useScannerProgress();\n\n if (scanRemaining > 0 && scanPercent > 0 && (currentJob === null || currentJob === void 0 ? void 0 : currentJob.group_position) > 0) {\n extraContentTag = /*#__PURE__*/React.createElement(_Tag, null, __(\"Currently scanning (%d %%)\", scanPercent));\n }\n\n break;\n }\n\n case \"get-pro\":\n {\n extraContentDescription = /*#__PURE__*/React.createElement(InAppFomoCouponCounter, null);\n\n if (fomoCoupon) {\n useLink += \"&\".concat(IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO);\n }\n\n break;\n }\n\n default:\n break;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"5px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Tooltip, {\n title: checked && description\n }, /*#__PURE__*/React.createElement(\"span\", null, isInfo ? /*#__PURE__*/React.createElement(InfoCircleFilled, {\n style: {\n color: \"#7ec8ec\"\n }\n }) : checked ? /*#__PURE__*/React.createElement(CheckCircleFilled, {\n style: {\n color: \"#52c41a\"\n }\n }) : /*#__PURE__*/React.createElement(CheckCircleOutlined, {\n style: {\n color: \"#e2e2e2\"\n }\n }), \" \", /*#__PURE__*/React.createElement(\"span\", {\n style: {\n textDecoration: checked ? \"line-through\" : undefined,\n fontWeight: \"bold\"\n }\n }, title), !!useLink && !!linkText && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", /*#__PURE__*/React.createElement(\"a\", {\n href: useLink,\n target: linkTarget,\n rel: \"noreferrer\",\n onClick: onLinkClick\n }, linkText)))), isInfo && id !== \"get-pro\" && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\", /*#__PURE__*/React.createElement(_Tag, {\n color: PRO_TAG_BACKGROUND_COLOR\n }, __(\"Needs PRO\"))), !!extraContentTag && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\", extraContentTag), !!description && !checked && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n paddingLeft: 17\n }\n }, description), !!extraContentDescription && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n paddingLeft: 17\n }\n }, extraContentDescription));\n});\nexport { DashboardChecklistItem };","import _Spin from \"antd/es/spin\";\nimport _Space from \"antd/es/space\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Tag from \"antd/es/tag\";\nimport { useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../utils\";\nimport { DashboardChecklistItem } from \".\";\nimport { useStores } from \"../../../store\";\nimport { CheckCircleOutlined, MinusCircleOutlined } from \"@ant-design/icons\";\nconst DashboardChecklistCardContent = observer(({\n onLinkClick,\n ...props\n}) => {\n const {\n checklistStore\n } = useStores();\n const {\n busyChecklist,\n items,\n completed,\n checkable,\n done,\n checklist: {\n overdue\n }\n } = checklistStore;\n const [showHidden, setShowHidden] = useState(typeof props.showHidden === \"boolean\" ? props.showHidden : done ? false : true);\n return /*#__PURE__*/React.createElement(_Spin, {\n spinning: busyChecklist\n }, /*#__PURE__*/React.createElement(_Space, {\n direction: \"vertical\",\n size: \"large\"\n }, overdue && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"How time flies! You have installed Real Cookie Banner some time ago, but you still haven't finished the configuration yet.\"))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"We have collected all relevant steps for the legally compliant use of Real Cookie Banner after the first installation. Set up the cookie banner step by step to add a cookie banner to your website in compliance with the ePrivacy Directive and GDPR.\")), /*#__PURE__*/React.createElement(\"div\", null, done && (showHidden ? /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(MinusCircleOutlined, null),\n color: \"default\",\n style: {\n cursor: \"pointer\"\n },\n onClick: () => setShowHidden(false)\n }, __(\"Hide completed steps\")) : /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(CheckCircleOutlined, null),\n color: \"success\",\n style: {\n cursor: \"pointer\"\n },\n onClick: () => setShowHidden(true)\n }, __(\"%d / %d steps completed\", completed.length > checkable.length ? checkable.length : completed.length, // avoid overflow due infos\n checkable.length))), items.map(({\n id,\n ...rest\n }) => {\n if (!showHidden && rest.checked) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(DashboardChecklistItem, _extends({\n key: id,\n id: id\n }, rest, {\n onLinkClick: e => {\n if ([\"get-pro\"].indexOf(id) > -1) {\n checklistStore.toggleChecklistItem(id, true);\n }\n\n onLinkClick === null || onLinkClick === void 0 ? void 0 : onLinkClick(e);\n }\n }));\n }))));\n});\nexport { DashboardChecklistCardContent };","import _Popconfirm from \"antd/es/popconfirm\";\nimport { observer } from \"mobx-react\";\nimport { _i, __ } from \"../../utils\";\nimport { useStores } from \"../../store\";\nimport { useLocation } from \"react-router-dom\";\nconst NoticeRevisionNeedsRetrigger = observer(() => {\n const {\n optionStore\n } = useStores();\n const {\n pathname\n } = useLocation();\n return optionStore.needsRevisionRetrigger && pathname.indexOf(\"/edit/\") === -1 && pathname.indexOf(\"/new\") === -1 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You have changed settings that affect the content or behavior of the cookie banner. You should ask all visitors for their consent again.\"), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(\"a\", {\n style: {\n cursor: \"pointer\",\n textDecoration: \"underline\"\n },\n onClick: () => optionStore.updateCurrentRevision({\n needs_retrigger: true\n })\n }, __(\"Request new consent\")), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(_Popconfirm, {\n title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"strong\", null, __(\"Are you sure you don't want to collect new consents?\")), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), _i(__(\"Consent must be obtained in accordance with {{a}}Art. 7 GDPR{{/a}}. Your visitor must be informed about all circumstances of the consent. However, you have made changes to your cookie banner, which lead to the fact that previously visitors have consented differently or to something different than is now in the cookie banner. Therefore, previously collected consents may have become partially invalid.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://gdpr-info.eu/art-7-gdpr/\"),\n rel: \"noreferrer\",\n target: \"_blank\"\n })\n }), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), __(\"If you have created a new service like Google Analytics (without visual content blocker), previous visitors can never consent without collecting new consents and you cannot track them, for example.\")),\n placement: \"bottomRight\",\n onConfirm: () => optionStore.updateCurrentRevision({\n needs_retrigger: false\n }),\n okText: __(\"Dismiss notice\"),\n cancelText: __(\"Cancel\"),\n overlayStyle: {\n maxWidth: 450\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n style: {\n cursor: \"pointer\",\n textDecoration: \"underline\"\n }\n }, __(\"Dismiss notice\")))));\n});\nexport { NoticeRevisionNeedsRetrigger };","import { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { useStores } from \"../../store\";\nconst NoticeBannerActiveNoCookies = observer(() => {\n const {\n optionStore: {\n publicCookieCount,\n busySettings,\n bannerActive\n }\n } = useStores();\n return bannerActive && !publicCookieCount && !busySettings && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"The cookie banner is activated, but unfortunately you have not yet created or enabled services.\")));\n});\nexport { NoticeBannerActiveNoCookies };","import { observer } from \"mobx-react\";\nimport { getOtherOptionsFromWindow, _i, __ } from \"../../utils\";\nconst NoticeAnonymousScriptNotWritable = observer(() => {\n const {\n showNoticeAnonymousScriptNotWritable\n } = getOtherOptionsFromWindow();\n return !!showNoticeAnonymousScriptNotWritable && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Your {{code}}wp-content{{/code}} folder is not writable. Please check your permissions!\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })));\n});\nexport { NoticeAnonymousScriptNotWritable };","import { observer } from \"mobx-react\";\nimport { __, _i } from \"../../utils\";\nimport { useStores } from \"../../store\";\nimport { useLocation } from \"react-router-dom\";\nimport { getManagerDependingVariables } from \"@devowl-wp/cookie-consent-web-client\";\nconst NoticeNoManager = observer(() => {\n const {\n optionStore: {\n setCookiesViaManager,\n hasManager\n }\n } = useStores();\n const {\n managerLabel,\n expectedManagerPresetId\n } = getManagerDependingVariables(setCookiesViaManager);\n const {\n pathname\n } = useLocation();\n return managerLabel && !hasManager && /^\\/cookies\\/\\d+$/.test(pathname) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"You have not yet defined a %s service. To use {{strong}}%s{{/strong}} with Real Cookie Banner, you must create the appropriate service.\", managerLabel, managerLabel), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }), \" \", \"\\u2022 \", /*#__PURE__*/React.createElement(\"a\", {\n href: \"#\".concat(pathname, \"/new?force=\").concat(expectedManagerPresetId)\n }, __(\"Create now\"))));\n});\nexport { NoticeNoManager };","import { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { scrollTo } from \"../utils\";\n/**\n * @see https://stackoverflow.com/a/54343182/5506547\n */\n\nconst RouterScrollToTop = () => {\n const {\n listen\n } = useHistory();\n useEffect(() => {\n const destroy = listen(() => {\n scrollTo(0);\n });\n return () => {\n destroy();\n };\n }, [listen]);\n return null;\n};\n\nexport { RouterScrollToTop };","import _Popconfirm from \"antd/es/popconfirm\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { InfoCircleOutlined } from \"@ant-design/icons\";\nimport { useStores } from \"../store\";\nimport { __ } from \"../utils\";\nconst ProHeadlineButton = observer(() => {\n const {\n optionStore\n } = useStores();\n const {\n others: {\n proUrl,\n isPro,\n isConfigProNoticeVisible\n }\n } = optionStore;\n const href = \"\".concat(proUrl, \"&feature=main-button\");\n const handleConfirm = useCallback(() => {\n window.open(href, \"_blank\");\n optionStore.dismissConfigProNotice();\n }, [optionStore]);\n const handleClose = useCallback(() => {\n optionStore.dismissConfigProNotice();\n }, [optionStore]);\n return !isPro && /*#__PURE__*/React.createElement(_Popconfirm, {\n visible: !!isConfigProNoticeVisible,\n title: __(\"Thank you for using the free version of Real Cookie Banner. You might also be interested in the PRO version, which offers you more features, 20+ design templates, 100+ service templates, 60+ content blocker templates and much more.\"),\n icon: /*#__PURE__*/React.createElement(InfoCircleOutlined, {\n style: {\n color: \"#1890ff\"\n }\n }),\n placement: \"bottom\",\n onConfirm: handleConfirm,\n onCancel: handleClose,\n cancelText: __(\"No, not interested...\"),\n okText: __(\"I want to learn more!\"),\n overlayStyle: {\n maxWidth: 450\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n rel: \"noreferrer\",\n onClick: handleConfirm\n }, __(\"Get PRO version\")));\n});\nexport { ProHeadlineButton };","import _Modal from \"antd/es/modal\";\nimport { CheckCircleOutlined } from \"@ant-design/icons\";\nimport { observer } from \"mobx-react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { ProHeadlineButton, DashboardChecklistCardContent } from \"..\";\nimport { useStores } from \"../../store\";\nimport { __ } from \"../../utils\";\nconst ConfigHeader = observer(() => {\n const [isChecklistModalOpen, setChecklistModalOpen] = useState(false);\n const {\n optionStore,\n checklistStore\n } = useStores();\n const {\n pathname\n } = useLocation();\n const {\n others: {\n customizeBannerUrl\n },\n publicUrl\n } = optionStore;\n const {\n completed,\n checkable,\n done\n } = checklistStore;\n useEffect(() => {\n checklistStore.fetchChecklist();\n }, []);\n const handleCustomizeBannerButtonClick = useCallback(e => {\n window.location.href = \"\".concat(customizeBannerUrl, \"&return=\").concat(encodeURIComponent(window.location.href));\n e.preventDefault();\n }, []);\n const handleChecklistModalOpen = useCallback(() => {\n setChecklistModalOpen(true);\n checklistStore.fetchChecklist();\n }, [setChecklistModalOpen]);\n const handleChecklistModalClose = useCallback(() => {\n setChecklistModalOpen(false);\n }, [setChecklistModalOpen]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h1\", {\n className: \"wp-heading-inline\"\n }, __(\"Real Cookie Banner\")), /*#__PURE__*/React.createElement(\"img\", {\n className: \"rcb-nav-logo\",\n src: \"\".concat(publicUrl, \"images/logos/real-cookie-banner.svg\")\n }), /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n href: \"#\",\n onClick: handleCustomizeBannerButtonClick\n }, __(\"Customize banner\")), /*#__PURE__*/React.createElement(ProHeadlineButton, null), !done && pathname !== \"/\" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n style: {\n color: \"#52c41a\",\n background: \"#f6ffed\",\n borderColor: \"#85af65\"\n },\n onClick: handleChecklistModalOpen\n }, /*#__PURE__*/React.createElement(CheckCircleOutlined, null), \"\\xA0\", __(\"%d / %d steps completed\", completed.length > checkable.length ? checkable.length : completed.length, // avoid overflow due infos\n checkable.length)), /*#__PURE__*/React.createElement(_Modal, {\n visible: isChecklistModalOpen,\n title: __(\"Set up the cookie banner\"),\n onCancel: handleChecklistModalClose,\n okButtonProps: {\n style: {\n display: \"none\"\n }\n },\n cancelText: __(\"Close\"),\n width: 800\n }, /*#__PURE__*/React.createElement(DashboardChecklistCardContent, {\n showHidden: true,\n onLinkClick: handleChecklistModalClose\n }))), /*#__PURE__*/React.createElement(\"hr\", {\n className: \"wp-header-end\"\n }));\n});\nexport { ConfigHeader };","import { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { HeartFilled } from \"@ant-design/icons\";\nimport { _i, __ } from \"../../utils\";\nconst ConfigFooter = observer(() => {\n const {\n optionStore: {\n publicUrl\n }\n } = useStores();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"rcb-config-footer\"\n }, _i(__(\"Real Cookie Banner is brought to you with {{icon/}} by\"), {\n icon: /*#__PURE__*/React.createElement(HeartFilled, {\n style: {\n color: \"#dca7a7\"\n }\n })\n }), /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: \"\".concat(publicUrl, \"images/logos/devowl-with-text.svg\")\n })));\n});\nexport { ConfigFooter };","import _Badge from \"antd/es/badge\";\nimport _Spin from \"antd/es/spin\";\nimport { useEffect } from \"react\";\nimport { lazy, Suspense } from \"react\";\nimport { useLayoutEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { HashRouter as Router, Switch, Route, NavLink } from \"react-router-dom\";\nimport { __ } from \"../utils\";\nimport { useStores } from \"../store\";\nimport { NoticeRevisionNeedsRetrigger, NoticeBannerActiveNoCookies, NoticeAnonymousScriptNotWritable, NoticeNoManager, RouterScrollToTop } from \".\";\nimport { ConfigHeader, ConfigFooter } from \".\";\nimport { SuspenseChunkTranslation } from \"@devowl-wp/utils\";\nimport { useScannerProgress } from \"../hooks\";\nimport { JOB_DONE_EVENT_PREFIX } from \"@devowl-wp/real-queue\";\nimport { AUTOMATIC_SCAN_STATER_QUEUE_JOB } from \"../types\";\nconst CSS_SPINNER_IN_CONTENT = {\n display: \"block\",\n marginTop: 10\n}; // Lazy load components\n\nconst createSuspenseComponent = (tab, children) => ({\n // eslint-disable-next-line react/display-name\n default: () => /*#__PURE__*/React.createElement(SuspenseChunkTranslation, {\n chunkFile: __webpack_get_script_filename__(\"chunk-config-tab-\".concat(tab)),\n options: () => useStores().optionStore,\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, children)\n});\n\nconst DashboardCards = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-dashboard\" */\n\"./config/dashboard/cards\").then(({\n DashboardCards\n}) => createSuspenseComponent(\"dashboard\", /*#__PURE__*/React.createElement(DashboardCards, null))));\nconst SettingsForm = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-settings\" */\n\"./config/settings/form\").then(({\n SettingsForm\n}) => createSuspenseComponent(\"settings\", /*#__PURE__*/React.createElement(SettingsForm, null))));\nconst ScannerRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-scanner\" */\n\"./config/scanner/router\").then(({\n ScannerRouter\n}) => createSuspenseComponent(\"scanner\", /*#__PURE__*/React.createElement(ScannerRouter, null))));\nconst CookieGroupsTabRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-cookies\" */\n\"./config/cookies/groups/tabRouter\").then(({\n CookieGroupsTabRouter\n}) => createSuspenseComponent(\"cookies\", /*#__PURE__*/React.createElement(CookieGroupsTabRouter, null))));\nconst ConsentTabRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-consent\" */\n\"./config/consent/tabRouter\").then(({\n ConsentTabRouter\n}) => createSuspenseComponent(\"consent\", /*#__PURE__*/React.createElement(ConsentTabRouter, null))));\nconst BlockerRouter = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-blocker\" */\n\"./config/blocker/router\").then(({\n BlockerRouter\n}) => createSuspenseComponent(\"blocker\", /*#__PURE__*/React.createElement(BlockerRouter, null))));\nconst ImportExportCards = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-import\" */\n\"./config/import/cards\").then(({\n ImportExportCards\n}) => createSuspenseComponent(\"import\", /*#__PURE__*/React.createElement(ImportExportCards, null))));\nconst ConfigLicensing = /*#__PURE__*/lazy(() => import(\n/* webpackChunkName: \"chunk-config-tab-licensing\" */\n\"./config/licensing/licensing\").then(({\n ConfigLicensing\n}) => createSuspenseComponent(\"licensing\", /*#__PURE__*/React.createElement(ConfigLicensing, null))));\nconst ConfigApp = observer(() => {\n const {\n percent: scanPercent,\n remaining: scanRemaining,\n currentJob\n } = useScannerProgress();\n const {\n optionStore,\n checklistStore\n } = useStores();\n const {\n others: {\n showLicenseFormImmediate,\n colorScheme: [,, badgeColor]\n }\n } = optionStore; // Initially fetch settings here so the form is shown\n\n useLayoutEffect(() => {\n optionStore.fetchSettings(); // Listen to the automatic scan starter and update the checklist\n\n const listener = () =>\n /*_: CustomEvent<JobDoneEvent>*/\n {\n checklistStore.fetchChecklist();\n };\n\n const event = \"\".concat(JOB_DONE_EVENT_PREFIX).concat(AUTOMATIC_SCAN_STATER_QUEUE_JOB);\n document.addEventListener(event, listener);\n return () => {\n document.removeEventListener(event, listener);\n };\n }, []); // Automatically show the notice which indicates empty privacy policy services\n\n useEffect(() => {\n const notice = document.getElementById(\"rcb-services-with-empty-privacy-policy-notice\");\n\n if (!showLicenseFormImmediate && notice) {\n notice.style.display = \"block\";\n }\n }, [showLicenseFormImmediate]);\n return showLicenseFormImmediate ? /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, /*#__PURE__*/React.createElement(ConfigLicensing, null)) : /*#__PURE__*/React.createElement(Router, null, /*#__PURE__*/React.createElement(ConfigHeader, null), /*#__PURE__*/React.createElement(\"nav\", {\n className: \"nav-tab-wrapper wp-clearfix\"\n }, /*#__PURE__*/React.createElement(NavLink, {\n to: \"/\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\",\n exact: true\n }, __(\"Dashboard\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/settings\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Settings\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/scanner\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, scanRemaining > 0 && scanPercent > 0 && (currentJob === null || currentJob === void 0 ? void 0 : currentJob.group_position) > 0 ? /*#__PURE__*/React.createElement(_Badge, {\n count: \"\".concat(scanPercent, \" %\"),\n style: {\n top: -11,\n fontSize: 10,\n height: 16,\n lineHeight: \"16px\",\n background: badgeColor\n }\n }, __(\"Scanner\")) : __(\"Scanner\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/cookies\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Services (Cookies)\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/blocker\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Content Blocker\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/consent\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Consent\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/import\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Import / Export\")), window.location.host !== \"try.devowl.io\" && /*#__PURE__*/React.createElement(NavLink, {\n to: \"/licensing\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Licensing\")), /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/support/\"),\n className: \"nav-tab\",\n target: \"_blank\",\n rel: \"noreferrer\"\n }, __(\"Support\"))), /*#__PURE__*/React.createElement(NoticeRevisionNeedsRetrigger, null), /*#__PURE__*/React.createElement(NoticeBannerActiveNoCookies, null), /*#__PURE__*/React.createElement(NoticeAnonymousScriptNotWritable, null), /*#__PURE__*/React.createElement(NoticeNoManager, null), /*#__PURE__*/React.createElement(RouterScrollToTop, null), /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {\n path: \"/\",\n exact: true\n }, /*#__PURE__*/React.createElement(DashboardCards, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/settings/:tab?\"\n }, !optionStore.areSettingsFetched ? null : /*#__PURE__*/React.createElement(SettingsForm, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/scanner\"\n }, /*#__PURE__*/React.createElement(ScannerRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/cookies/:cookieGroup?\"\n }, /*#__PURE__*/React.createElement(CookieGroupsTabRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/consent/:tab?\"\n }, /*#__PURE__*/React.createElement(ConsentTabRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/blocker\"\n }, /*#__PURE__*/React.createElement(BlockerRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/import\"\n }, /*#__PURE__*/React.createElement(ImportExportCards, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/licensing\"\n }, /*#__PURE__*/React.createElement(ConfigLicensing, null)))), /*#__PURE__*/React.createElement(ConfigFooter, null));\n});\nexport { ConfigApp, createSuspenseComponent };","import _Alert from \"antd/es/alert\";\nimport _Tag from \"antd/es/tag\";\nimport _message from \"antd/es/message\";\nimport { observer } from \"mobx-react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { useStores } from \"../store\";\nimport { _i, __, copyToClipboard } from \"../utils\";\nconst IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO = \"promo=in-app\";\nconst InAppFomoCouponCounter = observer(({\n style\n}) => {\n const {\n optionStore: {\n fomoCoupon\n }\n } = useStores();\n const coupon = fomoCoupon === null || fomoCoupon === void 0 ? void 0 : fomoCoupon.coupon;\n const valueInPercent = fomoCoupon === null || fomoCoupon === void 0 ? void 0 : fomoCoupon.valueInPercent;\n const validUntil = fomoCoupon === null || fomoCoupon === void 0 ? void 0 : fomoCoupon.validUntil;\n const createTimerString = useCallback(() => {\n if (validUntil) {\n const remaining = new Date(validUntil).getTime() - new Date().getTime(); // Already expired?\n\n if (remaining <= 0) {\n return undefined;\n }\n\n const fullSeconds = remaining / 1000;\n return [Math.floor(fullSeconds / 3600), Math.floor(fullSeconds / 60) % 60, Math.floor(fullSeconds % 60)].map(v => v < 10 ? \"0\".concat(v) : v).filter((v, i) => v !== \"00\" || i > 0).join(\":\");\n } else {\n return undefined;\n }\n }, [validUntil]);\n const [, setRerender] = useState();\n useEffect(() => {\n const interval = setInterval(() => {\n setRerender(new Date().getTime());\n }, 1000);\n return () => {\n clearInterval(interval);\n };\n }, []);\n const timerString = createTimerString();\n return timerString ? /*#__PURE__*/React.createElement(_Alert, {\n style: style,\n message: _i(__(\"Use coupon {{tag}}%s{{/tag}} in the next {{strongHours}}%s hours{{/strongHours}} and save {{strongPercent}}%d %%{{/strongPercent}} in the first year!\", coupon, timerString, valueInPercent), {\n tag: /*#__PURE__*/React.createElement(_Tag, {\n color: \"success\",\n style: {\n marginRight: 0,\n cursor: \"pointer\"\n },\n onClick: () => {\n copyToClipboard(coupon);\n\n _message.success(__(\"Successfully copied coupon to clipboard!\"));\n }\n }),\n strongHours: /*#__PURE__*/React.createElement(\"strong\", {\n style: {\n color: \"#d33131\"\n }\n }),\n strongPercent: /*#__PURE__*/React.createElement(\"strong\", null)\n })\n }) : null;\n});\nexport { IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO, InAppFomoCouponCounter };","import _Modal from \"antd/es/modal\";\nimport { useState } from \"react\";\nimport { useEffect } from \"react\";\nimport { useCallback } from \"react\";\nimport { UnlockFilled } from \"@ant-design/icons\";\nimport { __, getOtherOptionsFromWindow, _i } from \"../utils\";\nimport { ProModalHint, InAppFomoCouponCounter, IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO } from \".\";\nimport { reactNl2Br } from \"@devowl-wp/react-cookie-banner\";\n\nconst ProModal = ({\n visible = false,\n showHints = true,\n showFomoCouponCounter = true,\n title,\n testDrive = false,\n assetName,\n description,\n feature,\n onClose,\n inContainer,\n inContainerElement\n}) => {\n const {\n proUrl,\n hints\n } = getOtherOptionsFromWindow();\n const [descriptionRef, setDescriptionRef] = useState();\n const handleRedirect = useCallback(() => {\n window.open(\"\".concat(proUrl, \"&feature=\").concat(feature, \"&\").concat(IN_APP_FOMO_URL_PARAMETER_TO_DEACTIVATE_WEBSITE_FOMO), \"_blank\").focus();\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose]); // Do not automatically scroll / focus the container if `inContainer` is set\n\n useEffect(() => {\n if (inContainer && descriptionRef) {\n (descriptionRef === null || descriptionRef === void 0 ? void 0 : descriptionRef.parentElement.parentElement.previousElementSibling).removeAttribute(\"tabIndex\");\n }\n }, [descriptionRef]);\n const hint = hints === null || hints === void 0 ? void 0 : hints.proDialog; // Do not output the model until the container is ready\n\n if (inContainer && !inContainerElement) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(_Modal, {\n visible: inContainer ? true : visible,\n title: /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(UnlockFilled, null), \"\\xA0\", title, \"\\xA0\", __(\"Get PRO!\")),\n onOk: handleRedirect,\n onCancel: onClose,\n cancelText: __(\"No, not interested...\"),\n okText: __(\"I want to learn more!\"),\n className: \"rcb-pro-modal\",\n width: assetName ? 800 : 700,\n getContainer: inContainer ? inContainerElement : undefined\n }, !!assetName && /*#__PURE__*/React.createElement(\"img\", {\n style: {\n marginTop: 10\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/\".concat(assetName)\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n maxWidth: 600,\n margin: \"auto\"\n },\n ref: setDescriptionRef\n }, /*#__PURE__*/React.createElement(\"p\", null, reactNl2Br(description)), testDrive && /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Check out this feature with a {{a}}free sandbox{{/a}} before buying!\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://try.devowl.io/?product=RCB\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), !!hint && showHints && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n maxWidth: 600,\n margin: \"auto\",\n textAlign: \"left\"\n }\n }, /*#__PURE__*/React.createElement(ProModalHint, hint)), showFomoCouponCounter && /*#__PURE__*/React.createElement(InAppFomoCouponCounter, {\n style: {\n marginBottom: 15\n }\n }));\n};\n\nexport { ProModal };","import _Row from \"antd/es/row\";\nimport _Col from \"antd/es/col\";\nimport _Divider from \"antd/es/divider\";\n\nconst ProModalHint = ({\n title,\n description,\n link,\n linkText,\n logo\n}) => {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Divider, null, title), /*#__PURE__*/React.createElement(_Row, {\n wrap: false,\n style: {\n marginBottom: 10\n }\n }, /*#__PURE__*/React.createElement(_Col, {\n flex: \"auto\"\n }, !!description && /*#__PURE__*/React.createElement(\"p\", {\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), \"\\xA0\", !!link && !!linkText && /*#__PURE__*/React.createElement(\"a\", {\n href: link,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"button-link\"\n }, linkText))), /*#__PURE__*/React.createElement(_Col, {\n flex: \"150px\",\n style: {\n alignSelf: \"center\"\n }\n }, !!logo && /*#__PURE__*/React.createElement(\"img\", {\n src: logo,\n style: {\n maxWidth: \"calc(100% - 20px)\",\n height: \"auto\",\n marginLeft: 20\n }\n }))));\n};\n\nexport { ProModalHint };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _Tag from \"antd/es/tag\";\nimport { UnlockOutlined } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\nimport { useStores } from \"../store\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { ProModal } from \"../components\";\nconst PRO_TAG_BACKGROUND_COLOR = \"#2db7f5\";\n/**\n * Provide a PRO modal when clicking a given button.\n *\n * @param overrideIsPro Allows to override the `isPro` attribute coming from the option store (e. g. for demo environment purposes, try.devowl.io)\n */\n\nfunction useProModal(feature, overrideIsPro) {\n const [visible, setVisible] = useState(false);\n const {\n optionStore: {\n others: {\n isPro\n }\n }\n } = useStores();\n const useIsPro = typeof overrideIsPro === \"boolean\" ? overrideIsPro : isPro;\n const open = useCallback(e => {\n setVisible(true);\n e === null || e === void 0 ? void 0 : e.preventDefault();\n }, [setVisible]);\n const tag = useMemo(() => useIsPro ? null : /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(UnlockOutlined, null),\n color: PRO_TAG_BACKGROUND_COLOR,\n style: {\n cursor: \"pointer\"\n },\n onClick: open\n }, feature.tagText || __(\"Unlock feature\")), [open, feature]);\n const modal = useMemo(() => useIsPro ? null : /*#__PURE__*/React.createElement(ProModal, _extends({\n visible: visible,\n onClose: () => setVisible(false)\n }, feature)), [visible, setVisible, feature]);\n return {\n isPro: useIsPro,\n tag,\n modal,\n open\n };\n}\n\nexport { useProModal, PRO_TAG_BACKGROUND_COLOR };","import { useProgress } from \"@devowl-wp/real-queue\";\nimport { useCallback } from \"react\";\nimport { useStores } from \"../store\";\nimport { SCAN_QUEUE_JOB } from \"../types\";\n\n/**\n * Returns the status / progress of the scanner.\n */\nfunction useScannerProgress(fetchStatusInterval, fetchAdditionalData = false, onCancel) {\n const {\n scannerStore\n } = useStores();\n return useProgress({\n type: SCAN_QUEUE_JOB,\n fetchStatusInterval,\n fetchAdditionalData,\n onAdditionalData: useCallback(({\n \"rcb-scan-list\": rcbScanList\n }) => {\n const {\n presets,\n externalUrls\n } = rcbScanList;\n scannerStore.resultPresetsFromResponse(presets);\n scannerStore.resultExternalUrlsFromResponse(externalUrls);\n }, [scannerStore]),\n onCancel\n });\n}\n\nexport { useScannerProgress };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;\n\nimport { observable, set, runInAction } from \"mobx\";\nimport { getSidebarCustomize } from \"@devowl-wp/customize\";\nlet BannerPreset = (_class = class BannerPreset {\n /**\n * When hover the preview card we need to save the available settings.\n */\n constructor(preset, store) {\n _initializerDefineProperty(this, \"id\", _descriptor, this);\n\n _initializerDefineProperty(this, \"name\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"needsPro\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"description\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"tags\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"settings\", _descriptor6, this);\n\n this.store = void 0;\n this.resetPreviewInUiSettings = void 0;\n runInAction(() => set(this, preset));\n this.store = store;\n }\n\n static getIframeStore() {\n try {\n return document.querySelector(\"#customize-preview > iframe\").contentWindow.realCookieBanner_customize_banner.RootStore.get;\n } catch (e) {\n // Element does not yet exist\n return undefined;\n }\n }\n\n applyInUi() {\n // Check if pro\n if (!this.store.rootStore.optionStore.others.isPro && this.needsPro) {\n return false;\n } // First, save all in our store so the paint is done correctly\n\n\n this.previewInUi(); // Afterwards, save in customize state\n\n setTimeout(() => {\n const customize = getSidebarCustomize();\n this.store.presetDefaults.forEach((defaultValue, key) => {\n const setting = customize(key); // Apply it\n\n setting.set(this.settings[key] === undefined ? defaultValue : this.settings[key]);\n });\n }, 100);\n return true;\n }\n\n previewInUi() {\n const customize = getSidebarCustomize();\n const {\n presetDefaults\n } = this.store;\n const {\n settings\n } = this.store.rootStore.optionStore.others.customizeIdsBanner;\n const batchUpdates = []; // Make it restorable\n\n this.resetPreviewInUiSettings = {};\n\n for (const section of Object.keys(settings)) {\n const sectionSettings = settings[section];\n\n for (const setting of Object.keys(sectionSettings)) {\n const customizeKey = sectionSettings[setting];\n\n if (!presetDefaults.has(customizeKey)) {\n continue;\n }\n\n this.resetPreviewInUiSettings[customizeKey] = [section, setting, customize(customizeKey).get()];\n const newValue = Object.prototype.hasOwnProperty.call(this.settings, customizeKey) ? this.settings[customizeKey] : presetDefaults.get(customizeKey);\n batchUpdates.push([section, setting, newValue]);\n }\n }\n\n BannerPreset.getIframeStore().customizeBannerStore.setBannerFromPreset(batchUpdates);\n }\n\n resetPreviewInUi() {\n if (this.resetPreviewInUiSettings) {\n BannerPreset.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings));\n this.resetPreviewInUiSettings = {};\n }\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"id\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"name\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"needsPro\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"description\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"tags\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"settings\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { BannerPreset };","var _dec, _class;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { BlockerModel } from \".\";\nlet BlockerCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-blocker\",\n singlePath: \"/rcb-blocker/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = class BlockerCollection extends AbstractPostCollection {\n constructor(store) {\n super();\n this.store = void 0;\n this.store = store;\n }\n\n instance(response) {\n return new BlockerModel(this).fromResponse(response);\n }\n\n}) || _class);\nexport { BlockerCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { BlockerPreset } from \".\";\nimport { action, computed, observable, reaction, runInAction } from \"mobx\";\nimport { RootStore } from \"../store\";\nlet BlockerModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-blocker\"\n },\n patch: {\n path: \"/rcb-blocker/:id\"\n },\n delete: {\n path: \"/rcb-blocker/:id\"\n }\n}), _dec(_class = (_class2 = class BlockerModel extends AbstractPost {\n get rules() {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.meta.rules.split(\"\\n\");\n }\n\n get tcfVendors() {\n var _this$data2;\n\n // In lite version this can be `null`\n if (!((_this$data2 = this.data) !== null && _this$data2 !== void 0 && _this$data2.meta.tcfVendors)) {\n return [];\n }\n\n return this.data.meta.tcfVendors.split(\",\").filter(Boolean).map(Number);\n }\n\n get services() {\n var _this$data3;\n\n return (_this$data3 = this.data) === null || _this$data3 === void 0 ? void 0 : _this$data3.meta.services.split(\",\").filter(Boolean).map(Number);\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"presetModel\", _descriptor, this);\n\n reaction(() => {\n var _this$data4;\n\n return (_this$data4 = this.data) === null || _this$data4 === void 0 ? void 0 : _this$data4.preset;\n }, preset => runInAction(() => {\n this.presetModel = preset ? new BlockerPreset(preset, RootStore.get.cookieStore) : undefined;\n }), {\n fireImmediately: true\n });\n }\n\n setName(name) {\n this.data.title.rendered = name;\n }\n\n setStatus(status) {\n this.data.status = status;\n }\n\n setDescription(purpose) {\n this.data.content.rendered = purpose;\n }\n\n setMeta(meta) {\n this.data.meta = meta;\n }\n\n transformDataForPatch() {\n const data = super.transformDataForPatch();\n return {\n title: data.title,\n content: data.content,\n status: data.status,\n meta: data.meta,\n slug: data.title\n };\n }\n\n afterPatch() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterDelete() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"presetModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"rules\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"rules\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"tcfVendors\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"tcfVendors\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"services\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"services\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setDescription\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setDescription\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { BlockerModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { locationRestPresetsBlockerAttributesGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet BlockerPreset = (_class = class BlockerPreset {\n get fullLogoUrl() {\n const {\n logoFile\n } = this.data;\n const {\n publicUrl\n } = this.store.rootStore.optionStore;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow(function* () {\n try {\n this.busy = true;\n const response = yield request({\n location: locationRestPresetsBlockerAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n this.attributes = response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype)), _class);\nexport { BlockerPreset };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29;\n\nimport { observable, set, runInAction, computed } from \"mobx\";\nlet Consent = (_class = class Consent {\n get revision() {\n return this.store.revisions.get(this.revision_hash);\n }\n\n get revision_independent() {\n return this.store.revisionsIndependent.get(this.revision_independent_hash);\n }\n\n get custom_bypass_readable() {\n const {\n custom_bypass\n } = this;\n return custom_bypass ? custom_bypass.charAt(0).toUpperCase() + custom_bypass.slice(1) : \"\";\n }\n\n /**\n * Prepare the entry for JSON export.\n */\n get export() {\n return JSON.parse(JSON.stringify({ ...this.plain,\n revision: this.revision.data,\n revision_independent: this.revision_independent.data\n }));\n }\n\n constructor(consent, store) {\n _initializerDefineProperty(this, \"id\", _descriptor, this);\n\n _initializerDefineProperty(this, \"plugin_version\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"design_version\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"ipv4\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"ipv6\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"ipv4_hash\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"ipv6_hash\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"uuid\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"previous_decision\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"decision\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"decision_labels\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"created\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"blocker\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"blocker_thumbnail\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"dnt\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"custom_bypass\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"user_country\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"revision_hash\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"revision_independent_hash\", _descriptor19, this);\n\n _initializerDefineProperty(this, \"button_clicked\", _descriptor20, this);\n\n _initializerDefineProperty(this, \"context\", _descriptor21, this);\n\n _initializerDefineProperty(this, \"viewport_width\", _descriptor22, this);\n\n _initializerDefineProperty(this, \"viewport_height\", _descriptor23, this);\n\n _initializerDefineProperty(this, \"viewed_page\", _descriptor24, this);\n\n _initializerDefineProperty(this, \"url_imprint\", _descriptor25, this);\n\n _initializerDefineProperty(this, \"url_privacy_policy\", _descriptor26, this);\n\n _initializerDefineProperty(this, \"forwarded\", _descriptor27, this);\n\n _initializerDefineProperty(this, \"forwarded_blocker\", _descriptor28, this);\n\n _initializerDefineProperty(this, \"tcf_string\", _descriptor29, this);\n\n this.store = void 0;\n this.plain = void 0;\n runInAction(() => set(this, consent));\n this.store = store;\n this.plain = consent;\n }\n\n fetchRevisions() {\n return Promise.all([this.store.fetchRevision({\n hash: this.revision_hash\n }), this.store.fetchRevisionIndependent({\n hash: this.revision_independent_hash\n })]);\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"id\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"plugin_version\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"design_version\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"ipv4\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"ipv6\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"ipv4_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"ipv6_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"uuid\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"previous_decision\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"decision\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"decision_labels\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"created\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"blocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"blocker_thumbnail\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"dnt\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"custom_bypass\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"user_country\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"revision_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"revision_independent_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor20 = _applyDecoratedDescriptor(_class.prototype, \"button_clicked\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor21 = _applyDecoratedDescriptor(_class.prototype, \"context\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor22 = _applyDecoratedDescriptor(_class.prototype, \"viewport_width\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor23 = _applyDecoratedDescriptor(_class.prototype, \"viewport_height\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor24 = _applyDecoratedDescriptor(_class.prototype, \"viewed_page\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor25 = _applyDecoratedDescriptor(_class.prototype, \"url_imprint\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor26 = _applyDecoratedDescriptor(_class.prototype, \"url_privacy_policy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor27 = _applyDecoratedDescriptor(_class.prototype, \"forwarded\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor28 = _applyDecoratedDescriptor(_class.prototype, \"forwarded_blocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor29 = _applyDecoratedDescriptor(_class.prototype, \"tcf_string\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"revision\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"revision\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"revision_independent\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"revision_independent\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"custom_bypass_readable\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"custom_bypass_readable\"), _class.prototype)), _class);\nexport { Consent };","import _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\n\nvar _dec, _class, _class2;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieModel } from \".\";\nimport { computed, flow } from \"mobx\";\nimport { locationRestCookiesOrderPut } from \"../wp-api\";\nlet CookieCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-cookie\",\n singlePath: \"/rcb-cookie/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = (_class2 = class CookieCollection extends AbstractPostCollection {\n get sortedCookies() {\n const result = Array.from(this.entries.values());\n result.sort((a, b) => {\n if (a.data.menu_order < b.data.menu_order) {\n return -1;\n } else if (a.data.menu_order > b.data.menu_order) {\n return 1;\n } else {\n // a.menu_order === b.menu_order\n if (a.key < b.key) {\n return 1;\n } else if (a.key > b.key) {\n return -1;\n } else {\n return 0;\n }\n }\n });\n return result;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n constructor(store) {\n super();\n this.store = void 0;\n this.orderCookies = flow(function* (ids) {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestCookiesOrderPut,\n request: {\n ids\n }\n }); // Apply the order to existing cached models instead of fetching again\n\n let i = 0;\n\n for (const id of ids) {\n const cookie = this.entries.get(id);\n cookie.setOrder(i);\n i++;\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.store = store;\n }\n\n instance(response) {\n return new CookieModel(this).fromResponse(response);\n }\n\n}, (_applyDecoratedDescriptor(_class2.prototype, \"sortedCookies\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"sortedCookies\"), _class2.prototype)), _class2)) || _class);\nexport { CookieCollection };","import _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\n\nvar _dec, _class, _class2;\n\nimport { ClientCollection, RouteHttpVerb, AbstractCategoryCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieGroupModel } from \".\";\nimport { computed, flow } from \"mobx\";\nimport { locationRestCookieGroupOrderPut } from \"../wp-api\";\nlet CookieGroupCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-cookie-group\",\n singlePath: \"/rcb-cookie-group/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = (_class2 = class CookieGroupCollection extends AbstractCategoryCollection {\n get sortedGroups() {\n const result = Array.from(this.entries.values());\n result.sort((a, b) => {\n if (a.data.meta.order < b.data.meta.order) {\n return -1;\n } else if (a.data.meta.order > b.data.meta.order) {\n return 1;\n } else {\n return 0;\n }\n });\n return result;\n }\n\n constructor(store) {\n super();\n this.store = void 0;\n this.orderCookieGroups = flow(function* (ids) {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestCookieGroupOrderPut,\n request: {\n ids\n }\n }); // Apply the order to existing cached models instead of fetching again\n\n let i = 0;\n\n for (const id of ids) {\n const group = this.entries.get(id);\n group.setOrder(i);\n i++;\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n instance(response) {\n return new CookieGroupModel(this).fromResponse(response);\n }\n\n}, (_applyDecoratedDescriptor(_class2.prototype, \"sortedGroups\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"sortedGroups\"), _class2.prototype)), _class2)) || _class);\nexport { CookieGroupCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor, _descriptor2;\n\nimport { ClientModel, AbstractCategory } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieCollection } from \".\";\nimport { action, observable, runInAction, flow, computed } from \"mobx\";\nlet CookieGroupModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-cookie-group\"\n },\n patch: {\n path: \"/rcb-cookie-group/:id\"\n },\n delete: {\n path: \"/rcb-cookie-group/:id\"\n }\n}), _dec(_class = (_class2 = class CookieGroupModel extends AbstractCategory {\n get cookiesCount() {\n // TODO: this.data.count should return a count also of private cookies\n return this.fetchedAllCookies ? this.cookies.entries.size : this.data.count;\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"cookies\", _descriptor, this);\n\n _initializerDefineProperty(this, \"fetchedAllCookies\", _descriptor2, this);\n\n this.fetchCookies = flow(function* () {\n yield this.cookies.get({\n request: {\n status: [\"draft\", \"publish\", \"private\"]\n },\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100,\n // Fetch all\n \"rcb-cookie-group\": this.key,\n context: \"edit\"\n }\n });\n this.fetchedAllCookies = true;\n });\n runInAction(() => {\n this.cookies = new CookieCollection(this);\n });\n }\n\n setName(name) {\n this.data.name = name;\n }\n\n setDescription(description) {\n this.data.description = description;\n }\n\n setOrder(order) {\n this.data.meta.order = order;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n afterDelete() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPatch() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"cookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, \"fetchedAllCookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class2.prototype, \"cookiesCount\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"cookiesCount\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setDescription\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setDescription\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setOrder\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setOrder\"), _class2.prototype)), _class2)) || _class);\nexport { CookieGroupModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookiePreset } from \".\";\nimport { computed, action, observable, runInAction, reaction } from \"mobx\";\nimport { RootStore } from \"../store\";\nlet CookieModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-cookie\"\n },\n patch: {\n path: \"/rcb-cookie/:id\"\n },\n delete: {\n path: \"/rcb-cookie/:id\"\n }\n}), _dec(_class = (_class2 = class CookieModel extends AbstractPost {\n get rootStore() {\n return this.collection.store.collection.store.rootStore;\n }\n\n get technicalDefinitions() {\n return JSON.parse(this.data.meta.technicalDefinitions);\n }\n\n get codeDynamics() {\n return JSON.parse(this.data.meta.codeDynamics || \"{}\");\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"presetModel\", _descriptor, this);\n\n this.store = void 0;\n reaction(() => {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.preset;\n }, preset => runInAction(() => {\n this.presetModel = preset ? new CookiePreset(preset, RootStore.get.cookieStore) : undefined;\n }), {\n fireImmediately: true\n });\n }\n\n afterPatch() {\n // Remove this cookie from all other groups\n const groups = this.collection.store.collection;\n const [thisGroup] = this.data[\"rcb-cookie-group\"];\n groups.entries.forEach(group => {\n if (thisGroup !== group.key) {\n group.cookies.entries.delete(this.key);\n } else {\n group.cookies.entries.set(this.key, this);\n }\n });\n this.rootStore.optionStore.fetchCurrentRevision();\n this.rootStore.cookieStore.unassignedCookies.delete(this.key);\n }\n\n setOrder(order) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.data.menu_order = order;\n }\n\n setName(name) {\n this.data.title.rendered = name;\n }\n\n setStatus(status) {\n this.data.status = status;\n }\n\n setPurpose(purpose) {\n this.data.content.rendered = purpose;\n }\n\n setGroup(group) {\n this.data[\"rcb-cookie-group\"] = [group];\n }\n\n setMeta(meta) {\n this.data.meta = meta;\n }\n\n transformDataForPersist() {\n const data = super.transformDataForPersist();\n return { ...data,\n \"rcb-cookie-group\": [this.collection.store.key]\n };\n }\n\n transformDataForPatch() {\n const data = super.transformDataForPatch();\n return {\n title: data.title,\n content: data.content,\n status: data.status,\n meta: data.meta,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n menu_order: data.menu_order,\n \"rcb-cookie-group\": this.data[\"rcb-cookie-group\"],\n // Force to rewrite slug\n slug: data.title\n };\n }\n\n afterDelete() {\n this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n const {\n optionStore,\n checklistStore\n } = this.collection.store.cookies.store.collection.store.rootStore;\n optionStore.fetchCurrentRevision();\n checklistStore.probablyFetchByChangedItem(\"add-cookie\");\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"presetModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"rootStore\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"rootStore\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"technicalDefinitions\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"technicalDefinitions\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"codeDynamics\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"codeDynamics\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"afterPatch\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"afterPatch\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setOrder\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setOrder\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setPurpose\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setPurpose\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setGroup\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setGroup\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { CookieModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { locationRestPresetsCookiesAttributesGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet CookiePreset = (_class = class CookiePreset {\n get fullLogoUrl() {\n const {\n logoFile\n } = this.data;\n const {\n publicUrl\n } = this.store.rootStore.optionStore;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow(function* () {\n try {\n this.busy = true;\n const response = yield request({\n location: locationRestPresetsCookiesAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n this.attributes = response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype)), _class);\nexport { CookiePreset };","class Revision {\n // @observable: We never make changes\n constructor(preset, store) {\n this.data = void 0;\n this.store = void 0;\n this.data = preset;\n this.store = store;\n }\n\n}\n\nexport { Revision };","class RevisionIndependent {\n // @observable: We never make changes\n constructor(preset, store) {\n this.data = void 0;\n this.store = void 0;\n this.data = preset;\n this.store = store;\n }\n\n}\n\nexport { RevisionIndependent };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { computed, flow, observable, runInAction } from \"mobx\";\nimport { locationRestScannerResultExternalPatch } from \"../wp-api\";\nimport { request, __ } from \"../utils\";\nlet ScannerResultExternalUrl = (_class = class ScannerResultExternalUrl {\n get identifier() {\n return this.data.host;\n }\n\n get inactive() {\n return this.blockedStatus === \"full\" || this.data.ignored;\n }\n\n get blockedStatus() {\n const {\n foundCount,\n blockedCount\n } = this.data;\n return blockedCount === 0 ? \"none\" : foundCount === blockedCount ? \"full\" : \"partial\";\n }\n\n get blockedStatusText() {\n switch (this.blockedStatus) {\n case \"full\":\n return __(\"Fully blocked\");\n\n case \"partial\":\n return __(\"Partially blocked\");\n\n default:\n return __(\"Not blocked\");\n }\n }\n\n constructor(externalUrl, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n this.store = void 0;\n this.ignore = flow(function* (state = true) {\n try {\n yield request({\n location: locationRestScannerResultExternalPatch,\n request: {\n ignored: state\n },\n params: {\n host: this.data.host.replace(/\\./g, \"_\")\n }\n });\n this.data.ignored = state;\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n runInAction(() => {\n this.data = externalUrl;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"identifier\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"identifier\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"inactive\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"inactive\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedStatus\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedStatus\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedStatusText\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedStatusText\"), _class.prototype)), _class);\nexport { ScannerResultExternalUrl };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction, flow, computed } from \"mobx\";\nimport { truncateMiddle } from \"../utils\";\nlet ScannerResultExternalUrlSingle = (_class = class ScannerResultExternalUrlSingle {\n get markup() {\n return this.store.resultMarkup.get(this.data.id);\n }\n\n get blockedUrlTruncate() {\n return truncateMiddle(this.data.blockedUrl, 50, \"[...]\");\n }\n\n get sourceUrlTruncate() {\n return truncateMiddle(this.data.sourceUrl, 50, \"[...]\");\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n this.store = void 0;\n this.fetchMarkup = flow(function* () {\n yield this.store.fetchMarkup(this.data.id);\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"markup\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"markup\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedUrlTruncate\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedUrlTruncate\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"sourceUrlTruncate\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"sourceUrlTruncate\"), _class.prototype)), _class);\nexport { ScannerResultExternalUrlSingle };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { request } from \"../utils\";\nimport { locationRestPresetsBlockerAttributesGet } from \"../wp-api\";\nlet ScannerResultPreset = (_class = class ScannerResultPreset {\n get identifier() {\n return this.data.identifier;\n }\n\n get fullLogoUrl() {\n const {\n logoFile\n } = this.data;\n const {\n publicUrl\n } = this.store.rootStore.optionStore;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n /**\n * Determines if this preset needs further attention. It is inactive when it e.g. already exists.\n */\n\n\n get inactive() {\n return this.data.created;\n }\n\n constructor(preset, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow(function* () {\n try {\n this.busy = true;\n const response = yield request({\n location: locationRestPresetsBlockerAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n this.attributes = response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => {\n this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"identifier\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"identifier\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"inactive\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"inactive\"), _class.prototype)), _class);\nexport { ScannerResultPreset };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction } from \"mobx\";\nlet TcfFeature = (_class = class TcfFeature {\n constructor(data, special, store) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"special\", _descriptor2, this);\n\n this.store = void 0;\n runInAction(() => {\n this.special = special;\n this.data = data;\n });\n this.store = store;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"special\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { TcfFeature };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction } from \"mobx\";\nlet TcfPurpose = (_class = class TcfPurpose {\n constructor(data, special, store) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"special\", _descriptor2, this);\n\n this.store = void 0;\n runInAction(() => {\n this.special = special;\n this.data = data;\n });\n this.store = store;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"special\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { TcfPurpose };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { computed, observable, runInAction } from \"mobx\";\nimport { ETcfGvlDisclosureType } from \"@devowl-wp/real-cookie-banner-backend/src/types/service/tcf\";\nlet TcfVendor = (_class = class TcfVendor {\n /**\n * Get existing vendor configuration for this vendor.\n */\n get vendorConfiguration() {\n for (const c of this.store.vendorConfigurations.entries.values()) {\n if (c.vendorModel.data.id === this.data.id) {\n return c;\n }\n }\n\n return undefined;\n }\n\n get deviceStorageDisclosure() {\n const {\n usesCookies,\n cookieMaxAgeSeconds,\n cookieRefresh,\n usesNonCookieAccess,\n deviceStorageDisclosure\n } = this.data;\n const result = deviceStorageDisclosure !== null && deviceStorageDisclosure !== void 0 && deviceStorageDisclosure.disclosures.length ? [...deviceStorageDisclosure.disclosures] : []; // Include implicit device storage into table\n\n if (usesNonCookieAccess) {\n result.unshift({\n type: ETcfGvlDisclosureType.Web,\n identifier: \"*\",\n purposes: undefined,\n cookieRefresh: undefined,\n domain: \"*\",\n maxAgeSeconds: null\n });\n }\n\n if (usesCookies) {\n result.unshift({\n type: ETcfGvlDisclosureType.Cookie,\n identifier: \"*\",\n purposes: undefined,\n cookieRefresh,\n domain: \"*\",\n maxAgeSeconds: cookieMaxAgeSeconds\n });\n }\n\n return result;\n }\n\n get allPurposes() {\n return [...this.legIntPurposes, ...this.purposes, ...this.specialPurposes].filter(Boolean);\n }\n\n get allFeatures() {\n return [...this.features, ...this.specialFeatures].filter(Boolean);\n }\n /**\n * Calculate a map of restrictions for this vendor. This can be used to make a form\n * configurable depending on the current vendor.\n */\n\n\n get restrictivePurposes() {\n const result = {\n normal: {}\n };\n\n for (const purpose of [...this.legIntPurposes, ...this.purposes]) {\n result.normal[purpose.data.id.toString()] = {\n enabled: true,\n legInt: this.legIntPurposes.indexOf(purpose) > -1 && !purpose.special ? \"yes\" : \"no\"\n };\n }\n\n return result;\n }\n /**\n * Map the integers to valid declaration objects.\n */\n\n\n get purposes() {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.purposes.map(id => this.store.purposes.get(\"\".concat(id)));\n }\n\n get legIntPurposes() {\n var _this$data2;\n\n return (_this$data2 = this.data) === null || _this$data2 === void 0 ? void 0 : _this$data2.legIntPurposes.map(id => this.store.purposes.get(\"\".concat(id)));\n }\n\n get flexiblePurposes() {\n var _this$data3;\n\n return (_this$data3 = this.data) === null || _this$data3 === void 0 ? void 0 : _this$data3.flexiblePurposes.map(id => this.store.purposes.get(\"\".concat(id)));\n }\n\n get specialPurposes() {\n var _this$data4;\n\n return (_this$data4 = this.data) === null || _this$data4 === void 0 ? void 0 : _this$data4.specialPurposes.map(id => this.store.specialPurposes.get(\"\".concat(id)));\n }\n\n get features() {\n var _this$data5;\n\n return (_this$data5 = this.data) === null || _this$data5 === void 0 ? void 0 : _this$data5.features.map(id => this.store.features.get(\"\".concat(id)));\n }\n\n get specialFeatures() {\n var _this$data6;\n\n return (_this$data6 = this.data) === null || _this$data6 === void 0 ? void 0 : _this$data6.specialFeatures.map(id => this.store.specialFeatures.get(\"\".concat(id)));\n }\n\n constructor(data, store) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n this.store = void 0;\n runInAction(() => {\n this.data = data;\n });\n this.store = store;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"vendorConfiguration\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"vendorConfiguration\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"deviceStorageDisclosure\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"deviceStorageDisclosure\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"allPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"allPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"allFeatures\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"allFeatures\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"restrictivePurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"restrictivePurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"purposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"purposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"legIntPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"legIntPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"flexiblePurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"flexiblePurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"specialPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"specialPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"features\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"features\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"specialFeatures\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"specialFeatures\"), _class.prototype)), _class);\nexport { TcfVendor };","var _dec, _class;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { TcfVendorConfigurationModel } from \".\";\nlet TcfVendorConfigurationCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-tcf-vendor-conf\",\n singlePath: \"/rcb-tcf-vendor-conf/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request\n}), _dec(_class = class TcfVendorConfigurationCollection extends AbstractPostCollection {\n constructor(store) {\n super();\n this.store = void 0;\n this.store = store;\n }\n\n instance(response) {\n return new TcfVendorConfigurationModel(this).fromResponse(response);\n }\n\n}) || _class);\nexport { TcfVendorConfigurationCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { action, computed, observable, reaction, runInAction } from \"mobx\";\nimport { TcfVendor } from \"./tcfVendor\";\nimport $ from \"jquery\";\nlet TcfVendorConfigurationModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request,\n create: {\n path: \"/rcb-tcf-vendor-conf\"\n },\n patch: {\n path: \"/rcb-tcf-vendor-conf/:id\"\n },\n delete: {\n path: \"/rcb-tcf-vendor-conf/:id\"\n }\n}), _dec(_class = (_class2 = class TcfVendorConfigurationModel extends AbstractPost {\n /**\n * In some cases, vendors can be abandoned by the GVL.\n */\n get hasVendor() {\n return !!this.vendorModel;\n }\n\n get restrictivePurposes() {\n var _this$vendorModel, _this$vendorModel2;\n\n // Fallback to original if we have changed to `global`\n const disableRestrictivePurposes = this.collection.store.rootStore.optionStore.tcfScopeOfConsent === \"global\";\n const originalRestrictivePurposes = ((_this$vendorModel = this.vendorModel) === null || _this$vendorModel === void 0 ? void 0 : _this$vendorModel.restrictivePurposes) || {\n normal: {}\n };\n\n if (disableRestrictivePurposes) {\n return originalRestrictivePurposes;\n }\n\n const result = JSON.parse(this.data.meta.restrictivePurposes); // Merge with original vendor purposes so all are listed\n\n return $.extend(true, {}, ((_this$vendorModel2 = this.vendorModel) === null || _this$vendorModel2 === void 0 ? void 0 : _this$vendorModel2.restrictivePurposes) || {}, result);\n }\n\n get stats() {\n var _this$vendorModel3;\n\n const {\n normal\n } = this.restrictivePurposes;\n const arr = [...Object.values(normal)];\n return {\n activePurposes: arr.filter(({\n enabled\n }) => enabled).length,\n legIntPurposes: arr.filter(({\n enabled,\n legInt\n }) => enabled && legInt === \"yes\").length,\n activeFeatures: ((_this$vendorModel3 = this.vendorModel) === null || _this$vendorModel3 === void 0 ? void 0 : _this$vendorModel3.allFeatures.length) || 0\n };\n }\n\n constructor(collection, data = {}) {\n super(collection, data);\n\n _initializerDefineProperty(this, \"vendorModel\", _descriptor, this);\n\n reaction(() => this.data.vendor, vendor => runInAction(() => {\n if (vendor) {\n const {\n vendors\n } = this.collection.store;\n const vendorId = vendor.id.toString();\n let existing = vendors.get(vendorId);\n\n if (!existing) {\n existing = new TcfVendor(vendor, this.collection.store);\n vendors.set(vendorId, existing);\n }\n\n this.vendorModel = existing;\n }\n }), {\n fireImmediately: true\n }); // Automatically set the vendor model (e.g. newly saved configuration)\n\n reaction(() => {\n var _this$data$meta;\n\n return (_this$data$meta = this.data.meta) === null || _this$data$meta === void 0 ? void 0 : _this$data$meta.vendorId;\n }, vendorId => {\n if (vendorId) {\n this.vendorModel = this.collection.store.vendors.get(vendorId.toString());\n }\n }, {\n fireImmediately: true\n });\n }\n\n setStatus(status) {\n this.data.status = status;\n }\n\n setMeta(meta) {\n this.data.meta = meta;\n }\n\n transformDataForPatch() {\n const data = super.transformDataForPatch();\n return {\n status: data.status,\n meta: data.meta\n };\n }\n\n afterPatch() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterDelete() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n afterPersist() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"vendorModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"hasVendor\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"hasVendor\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"restrictivePurposes\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"restrictivePurposes\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"stats\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"stats\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { TcfVendorConfigurationModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, flow, computed } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { locationRestChecklistGet, locationRestChecklistPut } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet ChecklistStore = (_class = class ChecklistStore extends BaseOptions {\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busyChecklist\", _descriptor, this);\n\n _initializerDefineProperty(this, \"checklist\", _descriptor2, this);\n\n this.rootStore = void 0;\n this.probablyFetchByChangedItem = flow(function* (itemId, force) {\n if (force) {\n yield this.fetchChecklist();\n return;\n }\n\n const useItemIds = !Array.isArray(itemId) ? [itemId] : itemId;\n\n if (this.items.filter(({\n id,\n checked\n }) => useItemIds.indexOf(id) > -1 && !checked).length > 0) {\n yield this.fetchChecklist();\n }\n });\n this.fetchChecklist = flow(function* () {\n this.busyChecklist = true;\n\n try {\n this.checklist = yield request({\n location: locationRestChecklistGet,\n params: {\n _wp_http_referer: window.location.href\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyChecklist = false;\n }\n });\n this.toggleChecklistItem = flow(function* (id, state) {\n this.busyChecklist = true;\n\n try {\n this.checklist = yield request({\n location: locationRestChecklistPut,\n request: {\n state\n },\n params: {\n id,\n _wp_http_referer: window.location.href\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyChecklist = false;\n }\n });\n this.rootStore = rootStore;\n }\n\n get items() {\n return this.checklist && Object.keys(this.checklist.items).map(id => ({\n id,\n ...this.checklist.items[id]\n })) || [];\n }\n\n get completed() {\n return this.items.filter(({\n checked\n }) => checked);\n }\n\n get checkable() {\n const {\n isPro\n } = this.rootStore.optionStore.others;\n return this.items.filter(({\n needsPro\n }) => !needsPro || isPro && needsPro);\n }\n\n get done() {\n var _this$checklist;\n\n return this.completed.length >= this.checkable.length || !!((_this$checklist = this.checklist) !== null && _this$checklist !== void 0 && _this$checklist.dismissed);\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyChecklist\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"checklist\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"items\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"items\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"completed\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"completed\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"checkable\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"checkable\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"done\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"done\"), _class.prototype)), _class);\nexport { ChecklistStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10;\n\nimport { observable, flow, action, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { locationRestRevisionGet, locationRestRevisionIndependentGet, locationRestConsentAllGet, locationRestConsentAllDelete, locationRestConsentRefererGet } from \"../wp-api\";\nimport { Consent, Revision, RevisionIndependent } from \"../models\";\nconst DATE_FORMAT = \"YYYY-MM-DD\";\nlet ConsentStore = (_class = class ConsentStore extends BaseOptions {\n /**\n * Current visible page in Consent tab\n */\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busyConsent\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busyReferer\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"count\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"truncatedIpsCount\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"perPage\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"offset\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"pageCollection\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"revisions\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"revisionsIndependent\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"referer\", _descriptor10, this);\n\n this.filters = observable.object({\n page: 1,\n dates: [undefined, undefined],\n context: undefined,\n referer: undefined,\n ip: undefined,\n uuid: undefined\n }, {}, {\n deep: false\n });\n this.rootStore = void 0;\n this.fetchAll = flow(function* () {\n this.busyConsent = true;\n\n try {\n const {\n page,\n referer,\n ip,\n uuid,\n context\n } = this.filters;\n const dates = this.filters.dates.map(m => m ? m.format(DATE_FORMAT) : \"\");\n const {\n count,\n truncatedIpsCount,\n items\n } = yield request({\n location: locationRestConsentAllGet,\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: this.perPage,\n offset: (page - 1) * this.perPage,\n from: dates[0],\n to: dates[1],\n ip,\n uuid,\n referer,\n context\n }\n });\n this.count = count;\n this.truncatedIpsCount = truncatedIpsCount;\n this.pageCollection.clear();\n\n for (const item of items) {\n this.pageCollection.set(item.id, new Consent(item, this));\n }\n } catch (e) {\n this.count = 0;\n this.truncatedIpsCount = 0;\n this.pageCollection.clear();\n console.log(e);\n throw e;\n } finally {\n this.busyConsent = false;\n }\n });\n this.fetchRevision = flow(function* (params) {\n try {\n const response = yield request({\n location: locationRestRevisionGet,\n params\n });\n this.revisions.set(params.hash, new Revision(response, this));\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchRevisionIndependent = flow(function* (params) {\n try {\n const response = yield request({\n location: locationRestRevisionIndependentGet,\n params\n });\n this.revisionsIndependent.set(params.hash, new RevisionIndependent(response, this));\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchReferer = flow(function* (params) {\n this.busyReferer = true;\n\n try {\n const response = yield request({\n location: locationRestConsentRefererGet,\n params\n });\n this.referer = response.items;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyReferer = false;\n }\n });\n this.deleteAll = flow(function* () {\n this.busyConsent = true;\n\n try {\n yield request({\n location: locationRestConsentAllDelete\n });\n this.applyPage(0);\n yield this.fetchAll();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyConsent = false;\n }\n });\n this.rootStore = rootStore;\n runInAction(() => {\n this.filters.context = this.rootStore.optionStore.others.context;\n });\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyPage(page) {\n this.filters.page = page;\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param dates\n */\n\n\n applyDates(dates) {\n this.filters.dates = dates;\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param context\n */\n\n\n applyContext(context) {\n this.filters.context = context;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyReferer(referer) {\n this.filters.referer = referer;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyIp(ip) {\n this.filters.ip = ip;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n applyUuid(uuid) {\n this.filters.uuid = uuid;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyConsent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyReferer\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"count\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"truncatedIpsCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"perPage\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 50;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"offset\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"pageCollection\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"revisions\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"revisionsIndependent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"referer\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return [];\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"applyPage\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyPage\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyDates\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyDates\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyContext\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyContext\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyReferer\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyReferer\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyIp\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyIp\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyUuid\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyUuid\"), _class.prototype)), _class);\nexport { ConsentStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;\n\nimport { observable, flow, computed, runInAction } from \"mobx\";\nimport { CookieGroupCollection, BlockerCollection, CookiePreset, BlockerPreset } from \"../models\";\nimport { locationRestPresetsBlockerGet, locationRestPresetsCookiesGet, locationRestCookieUnassignedGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet CookieStore = (_class = class CookieStore {\n get blockersCount() {\n return this.fetchedAllBlockers ? this.blockers.entries.size : this.rootStore.optionStore.allBlockerCount;\n }\n\n get cookiesCount() {\n return Array.from(this.groups.entries.values()).map(({\n cookiesCount\n }) => cookiesCount).reduce((total, num) => total + num, 0);\n }\n\n constructor(rootStore) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"groups\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"unassignedCookies\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"blockers\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"presetsBlocker\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"busyPresetsBlocker\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"presetsCookie\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"busyPresetsCookie\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"fetchedAllBlockers\", _descriptor9, this);\n\n this.rootStore = void 0;\n this.fetchGroups = flow(function* () {\n yield this.groups.get({\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100\n }\n });\n yield this.fetchUnassignedCookies();\n });\n this.fetchUnassignedCookies = flow(function* () {\n try {\n const items = yield request({\n location: locationRestCookieUnassignedGet\n }); // Save presets as object\n\n for (const item of Object.values(items)) {\n this.unassignedCookies.set(item.id, item);\n }\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchBlockers = flow(function* () {\n yield this.blockers.get({\n request: {\n status: [\"draft\", \"publish\", \"private\"]\n },\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100,\n // Fetch all\n context: \"edit\"\n }\n });\n this.fetchedAllBlockers = true;\n });\n this.fetchPresetsBlocker = flow(function* () {\n this.busyPresetsBlocker = true;\n\n try {\n const {\n items\n } = yield request({\n location: locationRestPresetsBlockerGet\n }); // Save presets as object\n\n for (const pid of Object.keys(items)) {\n this.presetsBlocker.set(pid, new BlockerPreset(items[pid], this));\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyPresetsBlocker = false;\n }\n });\n this.fetchPresetsCookie = flow(function* () {\n this.busyPresetsCookie = true;\n\n try {\n const {\n items\n } = yield request({\n location: locationRestPresetsCookiesGet\n }); // Save presets as object\n\n for (const pid of Object.keys(items)) {\n this.presetsCookie.set(pid, new CookiePreset(items[pid], this));\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyPresetsCookie = false;\n }\n });\n this.rootStore = rootStore;\n runInAction(() => {\n this.groups = new CookieGroupCollection(this);\n this.blockers = new BlockerCollection(this);\n });\n }\n\n get essentialGroup() {\n if (this.groups.entries.size === 0) {\n return undefined;\n }\n\n const it = this.groups.entries.values();\n let group;\n\n while (group = it.next().value) {\n if (group.data.slug === this.rootStore.optionStore.others.essentialGroup) {\n break;\n }\n }\n\n return group;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"groups\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"unassignedCookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"blockers\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"presetsBlocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"busyPresetsBlocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"presetsCookie\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"busyPresetsCookie\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"fetchedAllBlockers\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"blockersCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockersCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"cookiesCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"cookiesCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"essentialGroup\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"essentialGroup\"), _class.prototype)), _class);\nexport { CookieStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;\n\nimport { action, observable, flow, runInAction } from \"mobx\";\nimport { locationRestPresetsBannerGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { BannerPreset } from \"../models\";\nimport { getSidebarCustomize } from \"@devowl-wp/customize\";\nlet CustomizeBannerStore = (_class = class CustomizeBannerStore {\n constructor(rootStore) {\n _initializerDefineProperty(this, \"visible\", _descriptor, this);\n\n _initializerDefineProperty(this, \"animationVisible\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"individualPrivacyOpen\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"previewCheckboxActiveState\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"busyPresets\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"presets\", _descriptor6, this);\n\n this.rootStore = void 0;\n this.presetConstants = new Map();\n this.presetDefaults = new Map();\n this.debounceFromCustomize = {};\n this.fetchPresets = flow(function* () {\n this.busyPresets = true;\n\n try {\n const {\n defaults,\n constants,\n items\n } = yield request({\n location: locationRestPresetsBannerGet\n }); // Save defaults\n\n for (const did of Object.keys(defaults)) {\n this.presetDefaults.set(did, defaults[did]);\n } // Save constants\n\n\n for (const cid of Object.keys(constants)) {\n this.presetConstants.set(cid, constants[cid]);\n } // Save presets as object\n\n\n for (const pid of Object.keys(items)) {\n this.presets.set(pid, new BannerPreset({\n id: pid,\n ...items[pid]\n }, this));\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyPresets = false;\n }\n });\n this.rootStore = rootStore;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n setBannerFromCustomize(section, setting, value, maybeDebounce = true) {\n const {\n customizeValuesBanner\n } = this.rootStore.optionStore.others; // Apply debounce for specific settings\n\n const debounceSetting = setting.toString();\n\n if (maybeDebounce && [\"css\", \"animationInDuration\", \"animationOutDuration\"].indexOf(debounceSetting) > -1) {\n clearTimeout(this.debounceFromCustomize[debounceSetting]);\n this.debounceFromCustomize[debounceSetting] = setTimeout(() => this.setBannerFromCustomize(section, setting, value, false), 500);\n } else {\n const currentValue = customizeValuesBanner[section][setting];\n customizeValuesBanner[section][setting] = value; // When we want to customize the animation out, let's simulate a \"hide\"\n\n if (debounceSetting.startsWith(\"animationOut\") && currentValue !== value) {\n this.forceAnimationOutSimulation();\n }\n }\n }\n\n setBannerFromPreset(batchUpdates) {\n for (const row of batchUpdates) {\n const [section, setting, value] = row;\n this.rootStore.optionStore.others.customizeValuesBanner[section][setting] = value;\n }\n }\n\n forceAnimationOutSimulation() {\n const {\n customizeValuesBanner\n } = this.rootStore.optionStore.others;\n\n if (customizeValuesBanner[\"layout\"][\"animationOut\"] === \"none\") {\n return;\n }\n\n this.animationVisible = false;\n setTimeout(() => runInAction(() => {\n this.animationVisible = true;\n }), +customizeValuesBanner[\"layout\"][\"animationOutDuration\"] + 1000);\n }\n\n setVisible(state) {\n this.visible = state;\n }\n\n setIndividualPrivacyOpen(state) {\n this.individualPrivacyOpen = state;\n }\n\n setPreviewCheckboxActiveState(state) {\n this.previewCheckboxActiveState = state;\n }\n /**\n * Allow developers to export the current customize settings via PHP.\n *\n * ```ts\n * realCookieBanner_customize.RootStore.get.customizeBannerStore.exportPhp()\n * ```\n */\n\n\n exportPhp() {\n const result = {};\n const customize = getSidebarCustomize();\n this.presetDefaults.forEach((defaultValue, key) => {\n let currentValue = customize(key).get(); // Fix booleans\n\n if (typeof defaultValue === \"boolean\") {\n currentValue = !!+currentValue;\n } else if (!isNaN(currentValue) && currentValue !== \"\") {\n // Fix integers\n currentValue = +currentValue;\n }\n\n if (JSON.stringify(defaultValue) !== JSON.stringify(currentValue)) {\n result[this.presetConstants.get(key)] = currentValue;\n }\n }); // Prepare output\n\n return this.jsonToPHPArray(result);\n }\n\n jsonToPHPArray(result) {\n const output = JSON.stringify(result, null, 4).split(\"\\n\");\n output.shift();\n output.pop();\n return output.join(\"\\n\").replace(/^(\\s+)\"([A-Za-z\\\\]+::[A-Z_]+)\"(:)/gm, \"$1$2 =>\").replace(/^(\\s+)([A-Za-z\\\\]+)::/gm, (full, spaces, namespaces) => {\n return \"\".concat(spaces).concat(namespaces.replace(/\\\\\\\\/gm, \"\\\\\"), \"::\");\n });\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"visible\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"animationVisible\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return true;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"individualPrivacyOpen\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"previewCheckboxActiveState\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"busyPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"presets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"setBannerFromCustomize\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setBannerFromCustomize\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setBannerFromPreset\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setBannerFromPreset\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"forceAnimationOutSimulation\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"forceAnimationOutSimulation\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setVisible\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setVisible\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setIndividualPrivacyOpen\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setIndividualPrivacyOpen\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setPreviewCheckboxActiveState\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setPreviewCheckboxActiveState\"), _class.prototype)), _class);\nexport { CustomizeBannerStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31, _descriptor32, _descriptor33, _descriptor34, _descriptor35, _descriptor36, _descriptor37, _descriptor38, _descriptor39, _descriptor40, _descriptor41, _descriptor42, _descriptor43, _descriptor44, _descriptor45, _descriptor46, _descriptor47, _descriptor48, _descriptor49, _descriptor50, _descriptor51, _descriptor52, _descriptor53;\n\nimport { observable, runInAction, flow, action, computed } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { locationRestWpSettings, locationRestWpSettingsPatch, locationRestRevisionCurrentGet, locationRestRevisionCurrentPut, locationRestLiteDismissConfigPageProNotice, locationRestCountryBypassDatabasePut, locationRestMigrationDelete, locationRestNavMenuAddLinksPost } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { locationRestModalHintSeenPut } from \"../wp-api/modalHintSeen.put\";\nlet OptionStore = (_class = class OptionStore extends BaseOptions {\n /* @observable\n public onlyEuCookieBanner: ResponseRouteWpSettings[\"rcb-only-eu-cookie-banner\"]; */\n // Affiliate settings are only available and registered in PRO version\n // Country Bypass settings (all optional for free version)\n // TCF compatibility settings (all optional for free version)\n // Implement \"others\" property in your Assets.php;\n\n /**\n * Ignore real-cookie-banner cookie as it is hidden when no other cookie is created.\n */\n get isOnlyRcbCookieCreated() {\n return this.allCookieCount === 1 && (!this.tcf || !this.allTcfVendorConfigurationCount);\n }\n\n get areSettingsFetched() {\n return this.respectDoNotTrack !== undefined;\n }\n\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"busySettings\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busyCountryBypassUpdate\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"busyAddLinksToNavigationMenu\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"needsRevisionRetrigger\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"publicCookieCount\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"allCookieCount\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"allBlockerCount\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"allTcfVendorConfigurationCount\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"allScannerResultPresetsCount\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"allScannerResultExternalUrlsCount\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"cookieCounts\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"nav_menus\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"tcfVendorConfigurationCounts\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"isScanAgainNoticeActive\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"hasManager\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"contexts\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"dashboardMigration\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"fomoCoupon\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"bannerActive\", _descriptor19, this);\n\n _initializerDefineProperty(this, \"blockerActive\", _descriptor20, this);\n\n _initializerDefineProperty(this, \"imprintId\", _descriptor21, this);\n\n _initializerDefineProperty(this, \"imprintExternalUrl\", _descriptor22, this);\n\n _initializerDefineProperty(this, \"imprintIsExternalUrl\", _descriptor23, this);\n\n _initializerDefineProperty(this, \"privacyPolicyId\", _descriptor24, this);\n\n _initializerDefineProperty(this, \"privacyPolicyExternalUrl\", _descriptor25, this);\n\n _initializerDefineProperty(this, \"privacyPolicyIsExternalUrl\", _descriptor26, this);\n\n _initializerDefineProperty(this, \"hidePageIds\", _descriptor27, this);\n\n _initializerDefineProperty(this, \"setCookiesViaManager\", _descriptor28, this);\n\n _initializerDefineProperty(this, \"acceptAllForBots\", _descriptor29, this);\n\n _initializerDefineProperty(this, \"respectDoNotTrack\", _descriptor30, this);\n\n _initializerDefineProperty(this, \"cookieDuration\", _descriptor31, this);\n\n _initializerDefineProperty(this, \"saveIp\", _descriptor32, this);\n\n _initializerDefineProperty(this, \"ePrivacyUSA\", _descriptor33, this);\n\n _initializerDefineProperty(this, \"ageNotice\", _descriptor34, this);\n\n _initializerDefineProperty(this, \"listServicesNotice\", _descriptor35, this);\n\n _initializerDefineProperty(this, \"consentForwarding\", _descriptor36, this);\n\n _initializerDefineProperty(this, \"forwardTo\", _descriptor37, this);\n\n _initializerDefineProperty(this, \"crossDomains\", _descriptor38, this);\n\n _initializerDefineProperty(this, \"affiliateLink\", _descriptor39, this);\n\n _initializerDefineProperty(this, \"affiliateLabelBehind\", _descriptor40, this);\n\n _initializerDefineProperty(this, \"affiliateLabelDescription\", _descriptor41, this);\n\n _initializerDefineProperty(this, \"countryBypass\", _descriptor42, this);\n\n _initializerDefineProperty(this, \"countryBypassCountries\", _descriptor43, this);\n\n _initializerDefineProperty(this, \"countryBypassType\", _descriptor44, this);\n\n _initializerDefineProperty(this, \"countryBypassDbDownloadTime\", _descriptor45, this);\n\n _initializerDefineProperty(this, \"tcf\", _descriptor46, this);\n\n _initializerDefineProperty(this, \"tcfPublisherCc\", _descriptor47, this);\n\n _initializerDefineProperty(this, \"tcfAcceptedTime\", _descriptor48, this);\n\n _initializerDefineProperty(this, \"tcfGvlDownloadTime\", _descriptor49, this);\n\n _initializerDefineProperty(this, \"tcfScopeOfConsent\", _descriptor50, this);\n\n _initializerDefineProperty(this, \"consentDuration\", _descriptor51, this);\n\n _initializerDefineProperty(this, \"consentsDeletedAt\", _descriptor52, this);\n\n _initializerDefineProperty(this, \"others\", _descriptor53, this);\n\n this.pureSlug = void 0;\n this.pureSlugCamelCased = void 0;\n this.rootStore = void 0;\n this.fetchSettings = flow(function* (setFrom) {\n this.busySettings = true;\n\n try {\n const result = setFrom || (yield request({\n location: locationRestWpSettings\n }));\n this.bannerActive = result[\"rcb-banner-active\"];\n this.blockerActive = result[\"rcb-blocker-active\"];\n this.imprintId = result[\"rcb-banner-legal-imprint\"];\n this.imprintExternalUrl = result[\"rcb-banner-legal-imprint-external-url\"];\n this.imprintIsExternalUrl = result[\"rcb-banner-legal-imprint-is-external-url\"];\n this.privacyPolicyId = result[\"rcb-banner-legal-privacy-policy\"];\n this.privacyPolicyExternalUrl = result[\"rcb-banner-legal-privacy-policy-external-url\"];\n this.privacyPolicyIsExternalUrl = result[\"rcb-banner-legal-privacy-policy-is-external-url\"];\n this.hidePageIds = (result[\"rcb-hide-page-ids\"] || \"\").split(\",\").map(Number).filter(Boolean);\n this.setCookiesViaManager = result[\"rcb-set-cookies-via-manager\"] || \"none\";\n this.acceptAllForBots = result[\"rcb-accept-all-for-bots\"];\n this.respectDoNotTrack = result[\"rcb-respect-do-not-track\"]; // this.onlyEuCookieBanner = result[\"rcb-only-eu-cookie-banner\"] || false;\n\n this.cookieDuration = result[\"rcb-cookie-duration\"];\n this.saveIp = result[\"rcb-save-ip\"];\n this.ePrivacyUSA = result[\"rcb-eprivacy-usa\"];\n this.ageNotice = result[\"rcb-age-notice\"];\n this.listServicesNotice = result[\"rcb-list-services-notice\"];\n this.consentForwarding = result[\"rcb-consent-forwarding\"] || false;\n this.forwardTo = (result[\"rcb-forward-to\"] || \"\").split(\"|\").filter(Boolean);\n this.crossDomains = result[\"rcb-cross-domains\"] || \"\";\n this.countryBypass = result[\"rcb-country-bypass\"];\n this.countryBypassCountries = (result[\"rcb-country-bypass-countries\"] || \"\").split(\",\").filter(Boolean);\n this.countryBypassType = result[\"rcb-country-bypass-type\"];\n this.countryBypassDbDownloadTime = result[\"rcb-country-bypass-db-download-time\"];\n this.tcf = result[\"rcb-tcf\"];\n this.tcfPublisherCc = result[\"rcb-tcf-publisher-cc\"];\n this.tcfAcceptedTime = result[\"rcb-tcf-accepted-time\"];\n this.tcfGvlDownloadTime = result[\"rcb-tcf-gvl-download-time\"];\n this.tcfScopeOfConsent = result[\"rcb-tcf-scope-of-consent\"];\n this.consentDuration = result[\"rcb-consent-duration\"];\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* onlypro: start */\n this.affiliateLink = result[\"rcb-affiliate-link\"];\n this.affiliateLabelBehind = result[\"rcb-affiliate-label-behind\"];\n this.affiliateLabelDescription = result[\"rcb-affiliate-description\"];\n /* onlypro: end */\n }\n\n yield this.fetchCurrentRevision();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.updateSettings = flow(function* ({\n bannerActive,\n blockerActive,\n imprintId,\n privacyPolicyId,\n // Due to incompatibilities with WPML / PolyLang we need to edit this in customizer as\n // the customizer can save settings per language\n // imprintExternalUrl,\n // imprintIsExternalUrl,\n // privacyPolicyExternalUrl,\n // privacyPolicyIsExternalUrl,\n hidePageIds,\n setCookiesViaManager,\n acceptAllForBots,\n respectDoNotTrack,\n // onlyEuCookieBanner,\n cookieDuration,\n saveIp,\n ePrivacyUSA,\n ageNotice,\n listServicesNotice,\n consentForwarding,\n forwardTo,\n crossDomains,\n affiliateLink,\n affiliateLabelBehind,\n affiliateLabelDescription,\n countryBypass,\n countryBypassCountries,\n countryBypassType,\n tcf,\n tcfPublisherCc,\n tcfScopeOfConsent,\n consentDuration\n }) {\n this.busySettings = true;\n\n try {\n const result = yield request({\n location: locationRestWpSettingsPatch,\n request: { ...(bannerActive === undefined ? {} : {\n \"rcb-banner-active\": bannerActive\n }),\n ...(blockerActive === undefined ? {} : {\n \"rcb-blocker-active\": blockerActive\n }),\n ...(imprintId === undefined ? {} : {\n \"rcb-banner-legal-imprint\": imprintId\n }),\n ...(privacyPolicyId === undefined ? {} : {\n \"rcb-banner-legal-privacy-policy\": privacyPolicyId\n }),\n ...(hidePageIds === undefined ? {} : {\n \"rcb-hide-page-ids\": hidePageIds.join(\",\")\n }),\n ...(setCookiesViaManager === undefined ? {} : {\n \"rcb-set-cookies-via-manager\": setCookiesViaManager\n }),\n ...(acceptAllForBots === undefined ? {} : {\n \"rcb-accept-all-for-bots\": acceptAllForBots\n }),\n ...(respectDoNotTrack === undefined ? {} : {\n \"rcb-respect-do-not-track\": respectDoNotTrack\n }),\n ...(cookieDuration === undefined ? {} : {\n \"rcb-cookie-duration\": cookieDuration\n }),\n ...(saveIp === undefined ? {} : {\n \"rcb-save-ip\": saveIp\n }),\n ...(ePrivacyUSA === undefined ? {} : {\n \"rcb-eprivacy-usa\": ePrivacyUSA\n }),\n ...(ageNotice === undefined ? {} : {\n \"rcb-age-notice\": ageNotice\n }),\n ...(listServicesNotice === undefined ? {} : {\n \"rcb-list-services-notice\": listServicesNotice\n }),\n ...(consentForwarding === undefined ? {} : {\n \"rcb-consent-forwarding\": consentForwarding\n }),\n ...(forwardTo === undefined ? {} : {\n \"rcb-forward-to\": forwardTo.join(\"|\")\n }),\n ...(crossDomains === undefined ? {} : {\n \"rcb-cross-domains\": crossDomains\n }),\n ...(countryBypass === undefined ? {} : {\n \"rcb-country-bypass\": countryBypass\n }),\n ...(countryBypassCountries === undefined ? {} : {\n \"rcb-country-bypass-countries\": countryBypassCountries.join(\",\")\n }),\n ...(countryBypassType === undefined ? {} : {\n \"rcb-country-bypass-type\": countryBypassType\n }),\n ...(tcf === undefined ? {} : {\n \"rcb-tcf\": tcf\n }),\n ...(tcfPublisherCc === undefined ? {} : {\n \"rcb-tcf-publisher-cc\": tcfPublisherCc\n }),\n ...(tcfScopeOfConsent === undefined ? {} : {\n \"rcb-tcf-scope-of-consent\": tcfScopeOfConsent\n }),\n ...(process.env.PLUGIN_CTX === \"pro\" ? affiliateLink === undefined ? {} : {\n \"rcb-affiliate-link\": affiliateLink\n } : {}),\n ...(process.env.PLUGIN_CTX === \"pro\" ? affiliateLabelBehind === undefined ? {} : {\n \"rcb-affiliate-label-behind\": affiliateLabelBehind\n } : {}),\n ...(process.env.PLUGIN_CTX === \"pro\" ? affiliateLabelDescription === undefined ? {} : {\n \"rcb-affiliate-description\": affiliateLabelDescription\n } : {}),\n ...(consentDuration === undefined ? {} : {\n \"rcb-consent-duration\": consentDuration\n })\n }\n });\n this.fetchSettings(result);\n this.rootStore.checklistStore.probablyFetchByChangedItem([\"save-settings\", \"activate-banner\", \"privacy-policy\"]);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.fetchCurrentRevision = flow(function* () {\n this.busySettings = true;\n\n try {\n this.setFromCurrentRevision(yield request({\n location: locationRestRevisionCurrentGet\n }));\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.updateCurrentRevision = flow(function* (data) {\n this.busySettings = true;\n\n try {\n this.setFromCurrentRevision(yield request({\n location: locationRestRevisionCurrentPut,\n request: data\n }));\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.setModalHintSeen = flow(function* (identifier) {\n this.busySettings = true;\n\n try {\n this.others.modalHints.push(identifier); // Immediate push as this can never fail\n\n yield request({\n location: locationRestModalHintSeenPut,\n request: {\n identifier\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busySettings = false;\n }\n });\n this.dismissConfigProNotice = flow(function* () {\n try {\n // Immediate set because it can not fail\n this.others.isConfigProNoticeVisible = false;\n yield request({\n location: locationRestLiteDismissConfigPageProNotice\n });\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.dismissMigration = flow(function* () {\n try {\n // Immediate set because it can not fail\n const {\n id: migration\n } = this.dashboardMigration;\n this.dashboardMigration = undefined;\n yield request({\n location: locationRestMigrationDelete,\n params: {\n migration\n }\n });\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.addLinksToNavigationMenu = flow(function* (id) {\n this.busyAddLinksToNavigationMenu = true;\n\n try {\n const {\n success\n } = yield request({\n location: locationRestNavMenuAddLinksPost,\n request: {\n id\n }\n });\n\n if (success) {\n this.rootStore.checklistStore.fetchChecklist();\n yield this.fetchCurrentRevision();\n }\n\n return success;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyAddLinksToNavigationMenu = false;\n }\n });\n this.updateCountryBypassDatabase = flow(function* () {\n this.busyCountryBypassUpdate = true;\n\n try {\n const {\n dbDownloadTime\n } = yield request({\n location: locationRestCountryBypassDatabasePut\n });\n this.countryBypassDbDownloadTime = dbDownloadTime;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyCountryBypassUpdate = false;\n }\n });\n this.rootStore = rootStore;\n this.pureSlug = BaseOptions.getPureSlug(process.env.slug);\n this.pureSlugCamelCased = BaseOptions.getPureSlug(process.env.slug, true); // Use the localized WP object to fill this object values.\n\n runInAction(() => Object.assign(this, window[this.pureSlugCamelCased]));\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n setFromCurrentRevision({\n contexts,\n has_manager,\n needs_retrigger,\n public_cookie_count,\n all_cookie_count,\n all_blocker_count,\n all_tcf_vendor_configuration_count,\n all_scanner_result_presets_count,\n all_scanner_result_external_urls_count,\n cookie_counts,\n consents_deleted_at,\n nav_menus,\n tcf_vendor_configuration_counts,\n dashboard_migration,\n fomo_coupon,\n scan_again_notice_active\n }) {\n this.hasManager = has_manager;\n this.needsRevisionRetrigger = needs_retrigger;\n this.publicCookieCount = public_cookie_count;\n this.allCookieCount = all_cookie_count;\n this.allBlockerCount = all_blocker_count;\n this.allTcfVendorConfigurationCount = all_tcf_vendor_configuration_count;\n this.allScannerResultPresetsCount = all_scanner_result_presets_count;\n this.allScannerResultExternalUrlsCount = all_scanner_result_external_urls_count;\n this.isScanAgainNoticeActive = scan_again_notice_active;\n this.cookieCounts = cookie_counts;\n this.consentsDeletedAt = consents_deleted_at;\n this.nav_menus = nav_menus;\n this.tcfVendorConfigurationCounts = tcf_vendor_configuration_counts;\n this.contexts = contexts;\n this.dashboardMigration = dashboard_migration;\n this.fomoCoupon = fomo_coupon;\n }\n\n setShowLicenseFormImmediate(state, isLicensed) {\n this.others.showLicenseFormImmediate = state;\n this.others.isLicensed = isLicensed;\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busySettings\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyCountryBypassUpdate\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"busyAddLinksToNavigationMenu\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"needsRevisionRetrigger\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"publicCookieCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"allCookieCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"allBlockerCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"allTcfVendorConfigurationCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"allScannerResultPresetsCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"allScannerResultExternalUrlsCount\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return 0;\n }\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"cookieCounts\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return {\n draft: 0,\n private: 0,\n publish: 0\n };\n }\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"nav_menus\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return [];\n }\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"tcfVendorConfigurationCounts\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"isScanAgainNoticeActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"hasManager\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"contexts\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return {\n \"\": \"\"\n };\n }\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"dashboardMigration\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"fomoCoupon\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"bannerActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor20 = _applyDecoratedDescriptor(_class.prototype, \"blockerActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor21 = _applyDecoratedDescriptor(_class.prototype, \"imprintId\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor22 = _applyDecoratedDescriptor(_class.prototype, \"imprintExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor23 = _applyDecoratedDescriptor(_class.prototype, \"imprintIsExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor24 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicyId\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor25 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicyExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor26 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicyIsExternalUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor27 = _applyDecoratedDescriptor(_class.prototype, \"hidePageIds\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor28 = _applyDecoratedDescriptor(_class.prototype, \"setCookiesViaManager\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor29 = _applyDecoratedDescriptor(_class.prototype, \"acceptAllForBots\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor30 = _applyDecoratedDescriptor(_class.prototype, \"respectDoNotTrack\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor31 = _applyDecoratedDescriptor(_class.prototype, \"cookieDuration\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor32 = _applyDecoratedDescriptor(_class.prototype, \"saveIp\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor33 = _applyDecoratedDescriptor(_class.prototype, \"ePrivacyUSA\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor34 = _applyDecoratedDescriptor(_class.prototype, \"ageNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor35 = _applyDecoratedDescriptor(_class.prototype, \"listServicesNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor36 = _applyDecoratedDescriptor(_class.prototype, \"consentForwarding\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor37 = _applyDecoratedDescriptor(_class.prototype, \"forwardTo\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor38 = _applyDecoratedDescriptor(_class.prototype, \"crossDomains\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor39 = _applyDecoratedDescriptor(_class.prototype, \"affiliateLink\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor40 = _applyDecoratedDescriptor(_class.prototype, \"affiliateLabelBehind\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor41 = _applyDecoratedDescriptor(_class.prototype, \"affiliateLabelDescription\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor42 = _applyDecoratedDescriptor(_class.prototype, \"countryBypass\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor43 = _applyDecoratedDescriptor(_class.prototype, \"countryBypassCountries\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor44 = _applyDecoratedDescriptor(_class.prototype, \"countryBypassType\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor45 = _applyDecoratedDescriptor(_class.prototype, \"countryBypassDbDownloadTime\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor46 = _applyDecoratedDescriptor(_class.prototype, \"tcf\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor47 = _applyDecoratedDescriptor(_class.prototype, \"tcfPublisherCc\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor48 = _applyDecoratedDescriptor(_class.prototype, \"tcfAcceptedTime\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor49 = _applyDecoratedDescriptor(_class.prototype, \"tcfGvlDownloadTime\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor50 = _applyDecoratedDescriptor(_class.prototype, \"tcfScopeOfConsent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor51 = _applyDecoratedDescriptor(_class.prototype, \"consentDuration\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor52 = _applyDecoratedDescriptor(_class.prototype, \"consentsDeletedAt\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor53 = _applyDecoratedDescriptor(_class.prototype, \"others\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"isOnlyRcbCookieCreated\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"isOnlyRcbCookieCreated\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"areSettingsFetched\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"areSettingsFetched\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setFromCurrentRevision\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setFromCurrentRevision\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"setShowLicenseFormImmediate\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"setShowLicenseFormImmediate\"), _class.prototype)), _class);\nexport { OptionStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10;\n\nimport { computed, flow, observable, action } from \"mobx\";\nimport { ScannerResultExternalUrl, ScannerResultPreset, ScannerResultExternalUrlSingle } from \"../models\";\nimport { request } from \"../utils\";\nimport { locationRestScannerResultAllExternalUrlsByHostGet, locationRestScannerResultPresetsGet, locationRestScannerQueuePost, locationRestScannerResultExternalsGet, locationRestScannerResultMarkupGet } from \"../wp-api\";\nimport { locationRestScannerDismissNotice } from \"../wp-api/dismissNotice.delete\";\nlet ScannerStore = (_class = class ScannerStore {\n get sortedExternalUrls() {\n const result = Array.from(this.resultExternalUrls.values()); // Move inactive items to the bottom list\n\n result.sort((a, b) => a.inactive === b.inactive ? 0 : a.inactive ? 1 : -1);\n return result;\n }\n\n get presetsCount() {\n return this.fetchedAllResultPresets ? this.resultPresets.size : this.rootStore.optionStore.allScannerResultPresetsCount;\n }\n\n get externalUrlsCount() {\n return this.fetchedAllResultExternalUrls ? this.resultExternalUrls.size : this.rootStore.optionStore.allScannerResultExternalUrlsCount;\n }\n\n get canShowResults() {\n var _this$rootStore$check;\n\n return this.presetsCount + this.externalUrlsCount > 0 && ((_this$rootStore$check = this.rootStore.checklistStore.checklist) === null || _this$rootStore$check === void 0 ? void 0 : _this$rootStore$check.items[\"scanner\"].checked);\n }\n\n get foundScanResultsCount() {\n return this.resultPresets.size + this.resultExternalUrls.size;\n }\n /**\n * Count of presets and external URL hosts which still needs attention.\n */\n\n\n get needsAttentionCount() {\n return [...this.resultPresets.values(), ...this.resultExternalUrls.values()].filter(({\n inactive\n }) => !inactive).length;\n }\n\n constructor(rootStore) {\n _initializerDefineProperty(this, \"resultPresets\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busyResultPresets\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"fetchedAllResultPresets\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"resultExternalUrls\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"resultAllExternalUrls\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"busyExternalUrls\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"fetchedAllResultExternalUrls\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"busyMarkup\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"resultMarkup\", _descriptor9, this);\n\n this.rootStore = void 0;\n this.addUrlsToQueue = flow(function* (data) {\n return yield request({\n location: locationRestScannerQueuePost,\n request: data\n });\n });\n this.fetchResultPresets = flow(function* () {\n this.busyResultPresets = true;\n\n try {\n this.resultPresetsFromResponse(yield request({\n location: locationRestScannerResultPresetsGet\n }));\n this.fetchedAllResultPresets = true;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyResultPresets = false;\n }\n });\n this.fetchResultExternals = flow(function* () {\n this.busyExternalUrls = true;\n\n try {\n this.resultExternalUrlsFromResponse(yield request({\n location: locationRestScannerResultExternalsGet\n }));\n this.fetchedAllResultExternalUrls = true;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyExternalUrls = false;\n }\n });\n this.fetchResultAllExternals = flow(function* (instance) {\n const type = instance instanceof ScannerResultExternalUrl ? \"host\" : \"preset\";\n const {\n identifier\n } = instance;\n instance.busy = true;\n\n try {\n const {\n items\n } = yield request({\n location: locationRestScannerResultAllExternalUrlsByHostGet,\n params: {\n type,\n identifier: type === \"host\" ? identifier.replace(/\\./g, \"_\") : identifier\n }\n }); // Check if map for this host already exists\n\n let map = this.resultAllExternalUrls.get(identifier);\n\n if (!map) {\n map = new Map();\n } else {\n // As we load all data within one request, we can safely remove stale objects\n const existing = items.map(({\n id\n }) => id);\n\n for (const probablyStaleKey of map.keys()) {\n if (existing.indexOf(probablyStaleKey) === -1) {\n map.delete(probablyStaleKey);\n }\n }\n } // Save presets as objects\n\n\n for (const item of Object.values(items)) {\n map.set(item.id, new ScannerResultExternalUrlSingle(item, this));\n this.resultAllExternalUrls.set(identifier, map);\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n instance.busy = false;\n }\n });\n this.fetchMarkup = flow(function* (id) {\n this.busyMarkup = true;\n\n try {\n const result = yield request({\n location: locationRestScannerResultMarkupGet,\n params: {\n id\n }\n });\n this.resultMarkup.set(id, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busyMarkup = false;\n }\n });\n\n _initializerDefineProperty(this, \"dismissNotice\", _descriptor10, this);\n\n this.rootStore = rootStore;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n resultPresetsFromResponse({\n items\n }) {\n // As we load all data within one request, we can safely remove stale objects\n const existing = Object.keys(items);\n\n for (const probablyStaleKey of this.resultPresets.keys()) {\n if (existing.indexOf(probablyStaleKey) === -1) {\n this.resultPresets.delete(probablyStaleKey);\n }\n } // Save presets as object\n\n\n for (const pid of existing) {\n this.resultPresets.set(pid, new ScannerResultPreset(items[pid], this));\n }\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n resultExternalUrlsFromResponse({\n items\n }) {\n // As we load all data within one request, we can safely remove stale objects\n const existing = Object.keys(items);\n\n for (const probablyStaleKey of this.resultExternalUrls.keys()) {\n if (existing.indexOf(probablyStaleKey) === -1) {\n this.resultExternalUrls.delete(probablyStaleKey);\n }\n } // Save presets as objects\n\n\n for (const externalHost of existing) {\n this.resultExternalUrls.set(externalHost, new ScannerResultExternalUrl(items[externalHost], this));\n }\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"resultPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyResultPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"fetchedAllResultPresets\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"resultExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"resultAllExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"busyExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"fetchedAllResultExternalUrls\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"busyMarkup\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"resultMarkup\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"sortedExternalUrls\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"sortedExternalUrls\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"presetsCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"presetsCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"externalUrlsCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"externalUrlsCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"canShowResults\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"canShowResults\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"foundScanResultsCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"foundScanResultsCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"needsAttentionCount\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"needsAttentionCount\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"resultPresetsFromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"resultPresetsFromResponse\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"resultExternalUrlsFromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"resultExternalUrlsFromResponse\"), _class.prototype), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"dismissNotice\", [action], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return flow(function* (notice_type) {\n try {\n const {\n success\n } = yield request({\n location: locationRestScannerDismissNotice,\n request: {\n notice_type\n }\n });\n\n if (success && notice_type === \"toggle-plugin-state\") {\n this.isScanAgainNoticeActive = false;\n }\n\n return success;\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n }\n})), _class);\nexport { ScannerStore };","im
|