Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiosmosis <diosmosis@users.noreply.github.com>2022-07-11 05:04:02 +0300
committerdiosmosis <diosmosis@users.noreply.github.com>2022-07-11 05:04:02 +0300
commitf8da27b18c17d6e6692cf6d57e07baa9157de630 (patch)
treed052ddefc154af6946395f1041360873d5af023e
parent8934a46c66450ae59bd5b9514ec3ea09f9f069cb (diff)
parenta0ec25efb4943d78e525b2183948c6f8fb526a71 (diff)
Merge branch '5.x-dev' into vue-remove-angularjs-Referrersvue-remove-angularjs-Referrers
-rw-r--r--composer.json9
-rw-r--r--composer.lock24
-rw-r--r--core/Cookie.php2
-rw-r--r--core/DeviceDetector/DeviceDetectorFactory.php46
-rw-r--r--core/Http.php18
-rw-r--r--core/SupportedBrowser.php3
-rw-r--r--core/Tracker/Request.php9
-rw-r--r--core/Tracker/Settings.php2
-rw-r--r--core/Tracker/VisitExcluded.php2
-rw-r--r--js/piwik.js84
-rw-r--r--js/piwik.min.js73
-rw-r--r--matomo.js73
-rw-r--r--piwik.js73
-rw-r--r--plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml4
-rw-r--r--plugins/API/tests/System/expected/test_AutoSuggestAPITest_operatingSystemName__API.getSuggestedValuesForSegment.xml2
-rw-r--r--plugins/CoreHome/stylesheets/layout.less11
-rw-r--r--plugins/CoreHome/stylesheets/selector.less2
-rw-r--r--plugins/CoreHome/vue/dist/CoreHome.umd.js56
-rw-r--r--plugins/CoreHome/vue/dist/CoreHome.umd.min.js4
-rw-r--r--plugins/CoreHome/vue/src/SiteSelector/SiteSelector.adapter.ts6
-rw-r--r--plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue2
-rw-r--r--plugins/CustomDimensions/tests/System/expected/test___API.getReportPagesMetadata.xml8
-rw-r--r--plugins/CustomDimensions/tests/System/expected/test___API.getSegmentsMetadata.xml34
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_small_screen.png4
m---------plugins/DeviceDetectorCache0
-rw-r--r--plugins/DevicesDetection/Columns/Base.php4
-rw-r--r--plugins/DevicesDetection/Columns/BrowserEngine.php3
-rw-r--r--plugins/DevicesDetection/Columns/BrowserName.php3
-rw-r--r--plugins/DevicesDetection/Columns/BrowserVersion.php3
-rw-r--r--plugins/DevicesDetection/Columns/ClientType.php3
-rw-r--r--plugins/DevicesDetection/Columns/DeviceBrand.php3
-rw-r--r--plugins/DevicesDetection/Columns/DeviceModel.php3
-rw-r--r--plugins/DevicesDetection/Columns/DeviceType.php3
-rw-r--r--plugins/DevicesDetection/Columns/Os.php3
-rw-r--r--plugins/DevicesDetection/Columns/OsVersion.php3
-rw-r--r--plugins/DevicesDetection/Controller.php5
-rw-r--r--plugins/DevicesDetection/lang/en.json3
-rw-r--r--plugins/DevicesDetection/templates/detection.twig60
-rw-r--r--plugins/DevicesDetection/tests/Fixtures/MultiDeviceGoalConversions.php2
-rw-r--r--plugins/DevicesDetection/tests/System/GoalReportForDevicesTest.php15
-rw-r--r--plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getOsVersions_day.xml94
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml4
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html30
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html28
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv14
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdfbin579013 -> 579031 bytes
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_tsv__ScheduledReports.generateReport_week.original.tsv14
-rw-r--r--plugins/Morpheus/javascripts/piwikHelper.js2
-rw-r--r--plugins/VisitTime/lang/en.json76
m---------plugins/VisitorGenerator0
-rw-r--r--plugins/VisitorInterest/lang/en.json24
-rw-r--r--plugins/WebsiteMeasurable/lang/en.json4
-rw-r--r--tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_month.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_ImportLogs_siteIdThree_TrackedUsingLogReplayWithFixedSiteId__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json2
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumnsWithProcessedMetrics___API.getProcessedReport_day.xml4
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_and_graph__ScheduledReports.generateReport_month.original.html30
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_only__ScheduledReports.generateReport_month.original.html28
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_csv__ScheduledReports.generateReport_month.original.csv14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdfbin555895 -> 555917 bytes
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_tsv__ScheduledReports.generateReport_month.original.tsv14
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml18
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml24
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml8
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml36
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_reportLimitingdimension_2_rankingQuery__CustomDimensions.getCustomDimension_day.xml4
-rw-r--r--tests/UI/expected-screenshots/Menus_mobile_top.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins_no_internet.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_admin_visitor_generator.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_dashboard5_mobile.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_email_reports_editor.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_period_select_date_range_click.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_visitors_engagement.png4
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_visitors_times.png4
-rw-r--r--tests/javascript/index.php5
-rw-r--r--tests/javascript/matomo.php5
86 files changed, 771 insertions, 474 deletions
diff --git a/composer.json b/composer.json
index f1dd539490..f488b576f6 100644
--- a/composer.json
+++ b/composer.json
@@ -28,7 +28,10 @@
"php": "7.2.9"
},
"prepend-autoloader": false,
- "sort-packages": true
+ "sort-packages": true,
+ "allow-plugins": {
+ "dealerdirect/phpcodesniffer-composer-installer": true
+ }
},
"require": {
"php": ">=7.2.5",
@@ -39,9 +42,9 @@
"lox/xhprof": "dev-master",
"matomo/cache": "~2.0",
"matomo/decompress": "~2.0",
- "matomo/device-detector": "^5.0",
+ "matomo/device-detector": "~6.0.0",
"matomo/ini": "~3.0",
- "matomo/matomo-php-tracker": "^3.0",
+ "matomo/matomo-php-tracker": "~3.1.0",
"matomo/network": "~2.0",
"matomo/referrer-spam-list": "dev-master",
"matomo/searchengine-and-social-list": "~3.0",
diff --git a/composer.lock b/composer.lock
index 2db8db7297..05e19ee641 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "f7f3caa46d358cadcbf0094f477b2cea",
+ "content-hash": "da1fc0afe262e854dd151a9a470d6777",
"packages": [
{
"name": "composer/ca-bundle",
@@ -398,16 +398,16 @@
},
{
"name": "matomo/device-detector",
- "version": "5.0.5",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/matomo-org/device-detector.git",
- "reference": "cd1283126b4cf5081fdc0381b5b5e7849333cfa4"
+ "reference": "a745aed40656e54d877f4b89754107a0b12a2a9d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/cd1283126b4cf5081fdc0381b5b5e7849333cfa4",
- "reference": "cd1283126b4cf5081fdc0381b5b5e7849333cfa4",
+ "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/a745aed40656e54d877f4b89754107a0b12a2a9d",
+ "reference": "a745aed40656e54d877f4b89754107a0b12a2a9d",
"shasum": ""
},
"require": {
@@ -463,7 +463,7 @@
"source": "https://github.com/matomo-org/matomo",
"wiki": "https://dev.matomo.org/"
},
- "time": "2022-03-08T09:22:55+00:00"
+ "time": "2022-06-10T08:32:53+00:00"
},
{
"name": "matomo/doctrine-cache-fork",
@@ -603,16 +603,16 @@
},
{
"name": "matomo/matomo-php-tracker",
- "version": "3.0.4",
+ "version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/matomo-org/matomo-php-tracker.git",
- "reference": "441d377411296e04558f88c27706545c9524ac2e"
+ "reference": "0001560e0f8986d117099a5ae5b534b924a5466f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/matomo-org/matomo-php-tracker/zipball/441d377411296e04558f88c27706545c9524ac2e",
- "reference": "441d377411296e04558f88c27706545c9524ac2e",
+ "url": "https://api.github.com/repos/matomo-org/matomo-php-tracker/zipball/0001560e0f8986d117099a5ae5b534b924a5466f",
+ "reference": "0001560e0f8986d117099a5ae5b534b924a5466f",
"shasum": ""
},
"require": {
@@ -655,7 +655,7 @@
"issues": "https://github.com/matomo-org/matomo-php-tracker/issues",
"source": "https://github.com/matomo-org/matomo-php-tracker"
},
- "time": "2021-11-15T18:55:52+00:00"
+ "time": "2022-07-04T15:15:27+00:00"
},
{
"name": "matomo/network",
@@ -4494,5 +4494,5 @@
"platform-overrides": {
"php": "7.2.9"
},
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.2.0"
}
diff --git a/core/Cookie.php b/core/Cookie.php
index 6ce81416e4..e5ec99916f 100644
--- a/core/Cookie.php
+++ b/core/Cookie.php
@@ -456,7 +456,7 @@ class Cookie
} else {
$userAgent = Http::getUserAgent();
$ddFactory = StaticContainer::get(\Piwik\DeviceDetector\DeviceDetectorFactory::class);
- $deviceDetector = $ddFactory->makeInstance($userAgent);
+ $deviceDetector = $ddFactory->makeInstance($userAgent, Http::getClientHintsFromServerVariables());
$deviceDetector->parse();
$browserFamily = \DeviceDetector\Parser\Client\Browser::getBrowserFamily($deviceDetector->getClient('short_name'));
diff --git a/core/DeviceDetector/DeviceDetectorFactory.php b/core/DeviceDetector/DeviceDetectorFactory.php
index bc81a74a57..5902f4fae8 100644
--- a/core/DeviceDetector/DeviceDetectorFactory.php
+++ b/core/DeviceDetector/DeviceDetectorFactory.php
@@ -1,4 +1,5 @@
<?php
+
/**
* Matomo - free/libre analytics platform
*
@@ -6,50 +7,65 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
+
namespace Piwik\DeviceDetector;
+use DeviceDetector\ClientHints;
use DeviceDetector\DeviceDetector;
use Piwik\Container\StaticContainer;
class DeviceDetectorFactory
{
- protected static $deviceDetectorInstances = array();
+ protected static $deviceDetectorInstances = [];
/**
* Returns an instance of DeviceDetector for the given user agent. Uses template method pattern
* and calls getDeviceDetectionInfo() when it doesn't find a matching instance in the cache.
* @param string $userAgent
- * @return DeviceDetector|mixed
+ * @param array $clientHints
+ * @return DeviceDetector
*/
- public function makeInstance($userAgent)
+ public function makeInstance($userAgent, array $clientHints = [])
{
- $userAgent = self::getNormalizedUserAgent($userAgent);
+ $cacheKey = self::getNormalizedUserAgent($userAgent, $clientHints);
- if (array_key_exists($userAgent, self::$deviceDetectorInstances)) {
- return self::$deviceDetectorInstances[$userAgent];
+ if (array_key_exists($cacheKey, self::$deviceDetectorInstances)) {
+ return self::$deviceDetectorInstances[$cacheKey];
}
- $deviceDetector = $this->getDeviceDetectionInfo($userAgent);
+ $deviceDetector = $this->getDeviceDetectionInfo($userAgent, $clientHints);
- self::$deviceDetectorInstances[$userAgent] = $deviceDetector;
+ self::$deviceDetectorInstances[$cacheKey] = $deviceDetector;
return $deviceDetector;
}
- public static function getNormalizedUserAgent($userAgent)
+ public static function getNormalizedUserAgent($userAgent, array $clientHints = [])
{
- return mb_substr(trim($userAgent), 0, 500);
+ $normalizedClientHints = '';
+ if (is_array($clientHints) && count($clientHints)) {
+ $hints = ClientHints::factory($clientHints);
+ $brands = $hints->getBrandList();
+ ksort($brands);
+
+ // we only take the (sorted) list of brand, os + version and model name into account, as the other values
+ // are actually not used and should not change the result
+ $normalizedClientHints = md5(json_encode($brands) . $hints->getOperatingSystem() . $hints->getOperatingSystemVersion() . $hints->getModel());
+ }
+
+ return mb_substr($normalizedClientHints . trim($userAgent), 0, 500);
}
/**
* Creates a new DeviceDetector for the user agent. Called by makeInstance() when no matching instance
* was found in the cache.
- * @param $userAgent
+ * @param string $userAgent
+ * @param array $clientHints
* @return DeviceDetector
*/
- protected function getDeviceDetectionInfo($userAgent)
+ protected function getDeviceDetectionInfo($userAgent, array $clientHints = [])
{
- $deviceDetector = new DeviceDetector($userAgent);
+ $deviceDetector = new DeviceDetector($userAgent, ClientHints::factory($clientHints));
$deviceDetector->discardBotInformation();
$deviceDetector->setCache(StaticContainer::get('DeviceDetector\Cache\Cache'));
$deviceDetector->parse();
@@ -58,6 +74,6 @@ class DeviceDetectorFactory
public static function clearInstancesCache()
{
- self::$deviceDetectorInstances = array();
+ self::$deviceDetectorInstances = [];
}
-} \ No newline at end of file
+}
diff --git a/core/Http.php b/core/Http.php
index 6d0117a935..c598b82e63 100644
--- a/core/Http.php
+++ b/core/Http.php
@@ -993,6 +993,24 @@ class Http
: 'Matomo/' . Version::VERSION;
}
+ public static function getClientHintsFromServerVariables(): array
+ {
+ $clientHints = [];
+
+ foreach ($_SERVER as $key => $value) {
+ if (
+ 0 === strpos(strtolower($key), strtolower('HTTP_SEC_CH_UA'))
+ || 'X_HTTP_REQUESTED_WITH' === strtoupper($key)
+ ) {
+ $clientHints[$key] = $value;
+ }
+ }
+
+ ksort($clientHints);
+
+ return $clientHints;
+ }
+
/**
* Fetches a file located at `$url` and saves it to `$destinationPath`.
*
diff --git a/core/SupportedBrowser.php b/core/SupportedBrowser.php
index 3f9f195df0..f2a7cbb133 100644
--- a/core/SupportedBrowser.php
+++ b/core/SupportedBrowser.php
@@ -9,7 +9,6 @@
namespace Piwik;
-use Piwik\Piwik;
use Piwik\Container\StaticContainer;
use Piwik\DeviceDetector\DeviceDetectorFactory;
use Piwik\Exception\NotSupportedBrowserException;
@@ -44,7 +43,7 @@ class SupportedBrowser
$ddFactory = StaticContainer::get(DeviceDetectorFactory::class);
/** @var \DeviceDetector\DeviceDetector */
- $deviceDetector = $ddFactory->makeInstance($userAgent);
+ $deviceDetector = $ddFactory->makeInstance($userAgent, Http::getClientHintsFromServerVariables());
$deviceDetector->parse();
$client = $deviceDetector->getClient();
diff --git a/core/Tracker/Request.php b/core/Tracker/Request.php
index 2b1496f451..50a8fa87e4 100644
--- a/core/Tracker/Request.php
+++ b/core/Tracker/Request.php
@@ -14,6 +14,7 @@ use Piwik\Container\StaticContainer;
use Piwik\Cookie;
use Piwik\Exception\InvalidRequestParameterException;
use Piwik\Exception\UnexpectedWebsiteFoundException;
+use Piwik\Http;
use Piwik\IP;
use Matomo\Network\IPUtils;
use Piwik\Piwik;
@@ -634,6 +635,14 @@ class Request
return Common::getRequestVar('ua', $default, 'string', $this->params);
}
+ public function getClientHints()
+ {
+ // use headers as default if no data was send with the tracking request
+ $default = Http::getClientHintsFromServerVariables();
+
+ return Common::getRequestVar('uadata', $default, 'json', $this->params);
+ }
+
public function shouldUseThirdPartyCookie()
{
return TrackerConfig::getConfigValue('use_third_party_id_cookie', $this->getIdSiteIfExists());
diff --git a/core/Tracker/Settings.php b/core/Tracker/Settings.php
index 74a66d0c65..cf1eba210d 100644
--- a/core/Tracker/Settings.php
+++ b/core/Tracker/Settings.php
@@ -39,7 +39,7 @@ class Settings // TODO: merge w/ visitor recognizer or make it it's own service.
$userAgent = $request->getUserAgent();
- $deviceDetector = StaticContainer::get(DeviceDetectorFactory::class)->makeInstance($userAgent);
+ $deviceDetector = StaticContainer::get(DeviceDetectorFactory::class)->makeInstance($userAgent, $request->getClientHints());
$aBrowserInfo = $deviceDetector->getClient();
if (empty($aBrowserInfo['type']) || 'browser' !== $aBrowserInfo['type']) {
diff --git a/core/Tracker/VisitExcluded.php b/core/Tracker/VisitExcluded.php
index 8d412cef26..ca6d64c7c5 100644
--- a/core/Tracker/VisitExcluded.php
+++ b/core/Tracker/VisitExcluded.php
@@ -190,7 +190,7 @@ class VisitExcluded
{
$allowBots = $this->request->getParam('bots');
- $deviceDetector = StaticContainer::get(DeviceDetectorFactory::class)->makeInstance($this->userAgent );
+ $deviceDetector = StaticContainer::get(DeviceDetectorFactory::class)->makeInstance($this->userAgent, $this->request->getClientHints());
return !$allowBots
&& ($deviceDetector->isBot() || $this->isIpInRange());
diff --git a/js/piwik.js b/js/piwik.js
index 0bc90bee21..e4751f1e92 100644
--- a/js/piwik.js
+++ b/js/piwik.js
@@ -45,6 +45,7 @@
event, which, button, srcElement, type, target, data,
parentNode, tagName, hostname, className,
userAgent, cookieEnabled, sendBeacon, platform, mimeTypes, enabledPlugin, javaEnabled,
+ userAgentData, getHighEntropyValues, brands, uaFullVersion, fullVersionList,
serviceWorker, ready, then, sync, register,
XMLHttpRequest, ActiveXObject, open, setRequestHeader, onreadystatechange, send, readyState, status,
getTime, getTimeAlias, setTime, toGMTString, getHours, getMinutes, getSeconds,
@@ -2377,6 +2378,11 @@ if (typeof window.Matomo !== 'object') {
// Browser features via client-side data collection
browserFeatures = {},
+ // Browser client hints
+ clientHints = {},
+ clientHintsRequestQueue = [],
+ clientHintsResolved = false,
+
// Keeps track of previously tracked content impressions
trackedContentImpressions = [],
isTrackOnlyVisibleContentEnabled = false,
@@ -3032,10 +3038,65 @@ if (typeof window.Matomo !== 'object') {
}
}
+ function injectClientHints(request) {
+ if (!clientHints) {
+ return request;
+ }
+
+ var i, appendix = '&uadata=' + encodeWrapper(windowAlias.JSON.stringify(clientHints));
+
+ if (request instanceof Array) {
+ for (i = 0; i < request.length; i++) {
+ request[i] += appendix;
+ }
+ } else {
+ request += appendix;
+ }
+
+ return request;
+ }
+
+ function detectClientHints (callback) {
+ if (!configBrowserFeatureDetection || !isDefined(navigatorAlias.userAgentData) || !isFunction(navigatorAlias.userAgentData.getHighEntropyValues)) {
+ callback();
+ return;
+ }
+
+ // Initialize with low entropy values that are always available
+ clientHints = {
+ brands: navigatorAlias.userAgentData.brands,
+ platform: navigatorAlias.userAgentData.platform
+ };
+
+ // try to gather high entropy values
+ // currently this methods simply returns the requested values through a Promise
+ // In later versions it might require a user permission
+ navigatorAlias.userAgentData.getHighEntropyValues(
+ ['brands', 'model', 'platform', 'platformVersion', 'uaFullVersion', 'fullVersionList']
+ ).then(function(ua) {
+ var i;
+ if (ua.fullVersionList) {
+ // if fullVersionList is available, brands and uaFullVersion isn't needed
+ delete ua.brands;
+ delete ua.uaFullVersion;
+ }
+
+ clientHints = ua;
+ callback();
+ }, function (message) {
+ callback();
+ });
+ }
+
/*
* Send request
*/
function sendRequest(request, delay, callback) {
+ if (!clientHintsResolved) {
+ clientHintsRequestQueue.push(request);
+ return;
+ }
+
refreshConsentStatus();
if (!configHasConsent) {
consentRequestsQueue.push(request);
@@ -3049,8 +3110,9 @@ if (typeof window.Matomo !== 'object') {
request += '&consent=1';
}
- makeSureThereIsAGapAfterFirstTrackingRequestToPreventMultipleVisitorCreation(function () {
+ request = injectClientHints(request);
+ makeSureThereIsAGapAfterFirstTrackingRequestToPreventMultipleVisitorCreation(function () {
if (configAlwaysUseSendBeacon && sendPostRequestViaSendBeacon(request, callback, true)) {
setExpireDateTime(100);
return;
@@ -3105,6 +3167,11 @@ if (typeof window.Matomo !== 'object') {
return;
}
+ if (!clientHintsResolved) {
+ clientHintsRequestQueue.push(requests);
+ return;
+ }
+
if (!configHasConsent) {
consentRequestsQueue.push(requests);
return;
@@ -3117,7 +3184,7 @@ if (typeof window.Matomo !== 'object') {
var i = 0, bulk;
for (i; i < chunks.length; i++) {
- bulk = '{"requests":["?' + chunks[i].join('","?') + '"],"send_image":0}';
+ bulk = '{"requests":["?' + injectClientHints(chunks[i]).join('","?') + '"],"send_image":0}';
if (configAlwaysUseSendBeacon && sendPostRequestViaSendBeacon(bulk, null, false)) {
// makes sure to load the next page faster by not waiting as long
// we apply this once we know send beacon works
@@ -3176,6 +3243,19 @@ if (typeof window.Matomo !== 'object') {
* Browser features (plugins, resolution, cookies)
*/
function detectBrowserFeatures() {
+ detectClientHints(function() {
+ var i, requestType;
+ clientHintsResolved = true;
+ for (i = 0; i < clientHintsRequestQueue.length; i++) {
+ requestType = typeof clientHintsRequestQueue[i];
+ if (requestType === 'string') {
+ sendRequest(clientHintsRequestQueue[i], configTrackerPause);
+ } else if (requestType === 'object') {
+ sendBulkRequest(clientHintsRequestQueue[i], configTrackerPause);
+ }
+ }
+ clientHintsRequestQueue = [];
+ });
// Browser Feature is disabled return empty object
if (!configBrowserFeatureDetection) {
diff --git a/js/piwik.min.js b/js/piwik.min.js
index 6893f82409..58e9482f66 100644
--- a/js/piwik.min.js
+++ b/js/piwik.min.js
@@ -29,42 +29,43 @@ at=ai.findFirstNodeHavingAttribute(au,this.CONTENT_PIECE_ATTR);if(!at){at=ai.fin
}if(aw){aw+="&ca=1"}return aw},buildContentBlock:function(av){if(!av){return}var at=this.findContentName(av);var au=this.findContentPiece(av);var aw=this.findContentTarget(av);at=this.trim(at);au=this.trim(au);aw=this.trim(aw);return{name:at||"Unknown",piece:au||"Unknown",target:aw||""}},collectContent:function(aw){if(!aw||!aw.length){return[]}var av=[];var at,au;for(at=0;at<aw.length;at++){au=this.buildContentBlock(aw[at]);if(M(au)){av.push(au)}}return av},setLocation:function(at){this.location=at},getLocation:function(){var at=this.location||W.location;if(!at.origin){at.origin=at.protocol+"//"+at.hostname+(at.port?":"+at.port:"")}return at},toAbsoluteUrl:function(au){if((!au||String(au)!==au)&&au!==""){return au}if(""===au){return this.getLocation().href}if(au.search(/^\/\//)!==-1){return this.getLocation().protocol+au}if(au.search(/:\/\//)!==-1){return au}if(0===au.indexOf("#")){return this.getLocation().origin+this.getLocation().pathname+au}if(0===au.indexOf("?")){return this.getLocation().origin+this.getLocation().pathname+au
}if(0===au.search("^[a-zA-Z]{2,11}:")){return au}if(au.search(/^\//)!==-1){return this.getLocation().origin+au}var at="(.*/)";var av=this.getLocation().origin+this.getLocation().pathname.match(new RegExp(at))[0];return av+au},isUrlToCurrentDomain:function(au){var av=this.toAbsoluteUrl(au);if(!av){return false}var at=this.getLocation().origin;if(at===av){return true}if(0===String(av).indexOf(at)){if(":"===String(av).substr(at.length,1)){return false}return true}return false},setHrefAttribute:function(au,at){if(!au||!at){return}ai.setAnyAttribute(au,"href",at)},shouldIgnoreInteraction:function(at){if(ai.hasNodeAttribute(at,this.CONTENT_IGNOREINTERACTION_ATTR)){return true}if(ai.hasNodeCssClass(at,this.CONTENT_IGNOREINTERACTION_CLASS)){return true}if(ai.hasNodeCssClass(at,this.LEGACY_CONTENT_IGNOREINTERACTION_CLASS)){return true}return false}};function aa(au,ax){if(ax){return ax}au=w.toAbsoluteUrl(au);if(A(au,"?")){var aw=au.indexOf("?");au=au.slice(0,aw)}if(U(au,"matomo.php")){au=f(au,"matomo.php".length)
}else{if(U(au,"piwik.php")){au=f(au,"piwik.php".length)}else{if(U(au,".php")){var at=au.lastIndexOf("/");var av=1;au=au.slice(0,at+av)}}}if(U(au,"/js/")){au=f(au,"js/".length)}return au}function R(az){var aB="Matomo_Overlay";var au=new RegExp("index\\.php\\?module=Overlay&action=startOverlaySession&idSite=([0-9]+)&period=([^&]+)&date=([^&]+)(&segment=[^&]*)?");var av=au.exec(J.referrer);if(av){var ax=av[1];if(ax!==String(az)){return false}var ay=av[2],at=av[3],aw=av[4];if(!aw){aw=""}else{if(aw.indexOf("&segment=")===0){aw=aw.substr("&segment=".length)}}W.name=aB+"###"+ay+"###"+at+"###"+aw}var aA=W.name.split("###");return aA.length===4&&aA[0]===aB}function ad(au,az,av){var ay=W.name.split("###"),ax=ay[1],at=ay[2],aw=ay[3],aA=aa(au,az);o(aA+"plugins/Overlay/client/client.js?v=1",function(){Matomo_Overlay_Client.initialize(aA,av,ax,at,aw)})}function v(){var av;try{av=W.frameElement}catch(au){return true}if(M(av)){return(av&&String(av.nodeName).toLowerCase()==="iframe")?true:false}try{return W.self!==W.top
-}catch(at){return true}}function T(cj,cf){var bP=this,bj="mtm_consent",cN="mtm_cookie_consent",cW="mtm_consent_removed",ca=ae(J.domain,W.location.href,N()),c4=O(ca[0]),bT=p(ca[1]),bu=p(ca[2]),c2=false,cn="GET",dm=cn,aM="application/x-www-form-urlencoded; charset=UTF-8",cF=aM,aI=cj||"",bO="",db="",ct="",cc=cf||"",bF="",bU="",ba,bp="",di=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c4],bG=[],cG=[],co=[],bR=[],be=[],bQ=500,c7=true,cT,bb,bX,bV,at,cw=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bN=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],bq="_pk_",az="pk_vid",a5=180,c9,bw,bY=false,aN="Lax",bs=false,c0,bk,bC,cU=33955200000,cu=1800000,dh=15768000000,a8=true,bL=false,bn=false,bW=false,aV=false,ch,b2={},cs={},bt={},bA=200,cB={},dc={},dj={},cg=[],ck=false,cL=false,au=false,dk=false,cX=false,aS=false,bi=v(),cH=null,da=null,aW,bI,cd=aq,bv,aQ,bH=false,cy=0,bB=["id","ses","cvar","ref"],cK=false,bJ=null,cV=[],cA=[],aB=X++,aA=false,c8=true;
-try{bp=J.title}catch(cI){bp=""}function aH(dy){if(bs){return 0}var dw=new RegExp("(^|;)[ ]*"+dy+"=([^;]*)"),dx=dw.exec(J.cookie);return dx?V(dx[2]):0}bJ=!aH(cW);function dr(dA,dB,dE,dD,dy,dz,dC){if(bs&&dA!==cW){return}var dx;if(dE){dx=new Date();dx.setTime(dx.getTime()+dE)}if(!dC){dC="Lax"}J.cookie=dA+"="+t(dB)+(dE?";expires="+dx.toGMTString():"")+";path="+(dD||"/")+(dy?";domain="+dy:"")+(dz?";secure":"")+";SameSite="+dC;if((!dE||dE>=0)&&aH(dA)!==String(dB)){var dw="There was an error setting cookie `"+dA+"`. Please check domain and path.";ao(dw)}}function b8(dw){var dy,dx;dw=j(dw,az);for(dx=0;dx<co.length;dx++){dw=j(dw,co[dx])}if(bV){dy=new RegExp("#.*");return dw.replace(dy,"")}return dw}function b1(dy,dw){var dz=s(dw),dx;if(dz){return dw}if(dw.slice(0,1)==="/"){return s(dy)+"://"+d(dy)+dw}dy=b8(dy);dx=dy.indexOf("?");if(dx>=0){dy=dy.slice(0,dx)}dx=dy.lastIndexOf("/");if(dx!==dy.length-1){dy=dy.slice(0,dx+1)}return dy+dw}function cR(dy,dw){var dx;dy=String(dy).toLowerCase();dw=String(dw).toLowerCase();
-if(dy===dw){return true}if(dw.slice(0,1)==="."){if(dy===dw.slice(1)){return true}dx=dy.length-dw.length;if((dx>0)&&(dy.slice(dx)===dw)){return true}}return false}function cr(dw){var dx=document.createElement("a");if(dw.indexOf("//")!==0&&dw.indexOf("http")!==0){if(dw.indexOf("*")===0){dw=dw.substr(1)}if(dw.indexOf(".")===0){dw=dw.substr(1)}dw="http://"+dw}dx.href=w.toAbsoluteUrl(dw);if(dx.pathname){return dx.pathname}return""}function a9(dx,dw){if(!an(dw,"/")){dw="/"+dw}if(!an(dx,"/")){dx="/"+dx}var dy=(dw==="/"||dw==="/*");if(dy){return true}if(dx===dw){return true}dw=String(dw).toLowerCase();dx=String(dx).toLowerCase();if(U(dw,"*")){dw=dw.slice(0,-1);dy=(!dw||dw==="/");if(dy){return true}if(dx===dw){return true}return dx.indexOf(dw)===0}if(!U(dx,"/")){dx+="/"}if(!U(dw,"/")){dw+="/"}return dx.indexOf(dw)===0}function aw(dA,dC){var dx,dw,dy,dz,dB;for(dx=0;dx<aC.length;dx++){dz=O(aC[dx]);dB=cr(aC[dx]);if(cR(dA,dz)&&a9(dC,dB)){return true}}return false}function a1(dz){var dx,dw,dy;for(dx=0;
-dx<aC.length;dx++){dw=O(aC[dx].toLowerCase());if(dz===dw){return true}if(dw.slice(0,1)==="."){if(dz===dw.slice(1)){return true}dy=dz.length-dw.length;if((dy>0)&&(dz.slice(dy)===dw)){return true}}}return false}function cx(dw){var dx,dz,dB,dy,dA;if(!dw.length||!cG.length){return false}dz=d(dw);dB=cr(dw);if(dz.indexOf("www.")===0){dz=dz.substr(4)}for(dx=0;dx<cG.length;dx++){dy=O(cG[dx]);dA=cr(cG[dx]);if(dy.indexOf("www.")===0){dy=dy.substr(4)}if(cR(dz,dy)&&a9(dB,dA)){return true}}return false}function cv(dw,dy){dw=dw.replace("send_image=0","send_image=1");var dx=new Image(1,1);dx.onload=function(){H=0;if(typeof dy==="function"){dy({request:dw,trackerUrl:aI,success:true})}};dx.onerror=function(){if(typeof dy==="function"){dy({request:dw,trackerUrl:aI,success:false})}};dx.src=aI+(aI.indexOf("?")<0?"?":"&")+dw}function cO(dw){if(dm==="POST"){return true}return dw&&(dw.length>2000||dw.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob
-}function bc(dA,dD,dC){var dy=aP();if(!dy){return false}var dz={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dE=false;var dx=aI;try{var dw=new Blob([dA],dz);if(dC&&!cO(dA)){dw=new Blob([],dz);dx=dx+(dx.indexOf("?")<0?"?":"&")+dA}dE=g.sendBeacon(dx,dw)}catch(dB){return false}if(dE&&typeof dD==="function"){dD({request:dA,trackerUrl:aI,success:true,isSendBeacon:true})}return dE}function dg(dx,dy,dw){if(!M(dw)||null===dw){dw=true}if(m&&bc(dx,dy,dw)){return}setTimeout(function(){if(m&&bc(dx,dy,dw)){return}var dB;try{var dA=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dA.open("POST",aI,true);dA.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dC=m&&bc(dx,dy,dw);if(!dC&&dw){cv(dx,dy)}else{if(typeof dy==="function"){dy({request:dx,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dy==="function")){dy({request:dx,trackerUrl:aI,success:true,xhr:this})}}};
-dA.setRequestHeader("Content-Type",cF);dA.withCredentials=true;dA.send(dx)}catch(dz){dB=m&&bc(dx,dy,dw);if(!dB&&dw){cv(dx,dy)}else{if(typeof dy==="function"){dy({request:dx,trackerUrl:aI,success:false})}}}},50)}function cl(dx){var dw=new Date();var dy=dw.getTime()+dx;if(!r||dy>r){r=dy}}function bg(){bi=true;cH=new Date().getTime()}function dq(){var dw=new Date().getTime();return !cH||(dw-cH)>bb}function aD(){if(dq()){bX()}}function a0(){if(J.visibilityState==="hidden"&&dq()){bX()}else{if(J.visibilityState==="visible"){cH=new Date().getTime()}}}function dt(){if(aS||!bb){return}aS=true;ar(W,"focus",bg);ar(W,"blur",aD);ar(W,"visibilitychange",a0);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dq()){bX()}}})}function cM(dA){var dx=new Date();var dw=dx.getTime();da=dw;if(cL&&dw<cL){var dy=cL-dw;setTimeout(dA,dy);cl(dy+50);cL+=50;return}if(cL===false){var dz=800;cL=dw+dz}dA()}function aT(){if(aH(cW)){bJ=false}else{if(aH(bj)){bJ=true}}}function bM(dx,dw,dy){aT();if(!bJ){cV.push(dx);
-return}aA=true;if(!c0&&dx){if(cK&&bJ){dx+="&consent=1"}cM(function(){if(c7&&bc(dx,dy,true)){cl(100);return}if(cO(dx)){dg(dx,dy)}else{cv(dx,dy)}cl(dw)})}if(!aS){dt()}}function cq(dw){if(c0){return false}return(dw&&dw.length)}function df(dw,dA){if(!dA||dA>=dw.length){return[dw]}var dx=0;var dy=dw.length;var dz=[];for(dx;dx<dy;dx+=dA){dz.push(dw.slice(dx,dx+dA))}return dz}function ds(dx,dw){if(!cq(dx)){return}if(!bJ){cV.push(dx);return}aA=true;cM(function(){var dA=df(dx,50);var dy=0,dz;for(dy;dy<dA.length;dy++){dz='{"requests":["?'+dA[dy].join('","?')+'"],"send_image":0}';if(c7&&bc(dz,null,false)){cl(100)}else{dg(dz,null,false)}}cl(dw)})}function aY(dw){return bq+dw+"."+cc+"."+bv}function b5(dy,dx,dw){dr(dy,"",-129600000,dx,dw)}function cb(){if(bs){return"0"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dw=bq+"testcookie";dr(dw,"1",undefined,bw,c9,bY,aN);var dx=aH(dw)==="1"?"1":"0";b5(dw);return dx}function bo(){bv=cd((c9||c4)+(bw||"/")).slice(0,4)}function cS(){if(!c8){return{}
-}if(M(dj.res)){return dj}var dx,dz,dA={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dx in dA){if(Object.prototype.hasOwnProperty.call(dA,dx)){dz=g.mimeTypes[dA[dx]];dj[dx]=(dz&&dz.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&M(g.javaEnabled)&&g.javaEnabled()){dj.java="1"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){dj.cookie=g.cookieEnabled?"1":"0"}else{dj.cookie=cb()}}var dy=parseInt(ab.width,10);var dw=parseInt(ab.height,10);dj.res=parseInt(dy,10)+"x"+parseInt(dw,10);return dj}function b3(){var dx=aY("cvar"),dw=aH(dx);if(dw&&dw.length){dw=W.JSON.parse(dw);if(Z(dw)){return dw}}return{}}function cP(){if(aV===false){aV=b3()}}function c1(){var dw=cS();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dw)+(new Date()).getTime()+Math.random()).slice(0,16)
-}function aF(){var dw=cS();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dw)).slice(0,6)}function bl(){return Math.floor((new Date()).getTime()/1000)}function aO(){var dx=bl();var dy=aF();var dw=String(dx)+dy;return dw}function de(dy){dy=String(dy);var dB=aF();var dz=dB.length;var dA=dy.substr(-1*dz,dz);var dx=parseInt(dy.substr(0,dy.length-dz),10);if(dx&&dA&&dA===dB){var dw=bl();if(a5<=0){return true}if(dw>=dx&&dw<=(dx+a5)){return true}}return false}function du(dw){if(!cX){return""}var dA=e(dw,az);if(!dA){return""}dA=String(dA);var dy=new RegExp("^[a-zA-Z0-9]+$");if(dA.length===32&&dy.test(dA)){var dx=dA.substr(16,32);if(de(dx)){var dz=dA.substr(0,16);return dz}}return""}function cY(){if(!bU){bU=du(bT)}var dy=new Date(),dw=Math.round(dy.getTime()/1000),dx=aY("id"),dB=aH(dx),dA,dz;if(dB){dA=dB.split(".");dA.unshift("0");if(bU.length){dA[1]=bU}return dA}if(bU.length){dz=bU}else{if("0"===cb()){dz=""}else{dz=c1()}}dA=["1",dz,dw];return dA}function a4(){var dz=cY(),dx=dz[0],dy=dz[1],dw=dz[2];
-return{newVisitor:dx,uuid:dy,createTs:dw}}function aL(){var dz=new Date(),dx=dz.getTime(),dA=a4().createTs;var dw=parseInt(dA,10);var dy=(dw*1000)+cU-dx;return dy}function aR(dw){if(!cc){return}var dy=new Date(),dx=Math.round(dy.getTime()/1000);if(!M(dw)){dw=a4()}var dz=dw.uuid+"."+dw.createTs+".";dr(aY("id"),dz,aL(),bw,c9,bY,aN)}function bS(){var dw=aH(aY("ref"));if(dw.length){try{dw=W.JSON.parse(dw);if(Z(dw)){return dw}}catch(dx){}}return["","",0,""]}function bD(dy){var dx=bq+"testcookie_domain";var dw="testvalue";dr(dx,dw,10000,null,dy,bY,aN);if(aH(dx)===dw){b5(dx,null,dy);return true}return false}function aJ(){var dx=bs;bs=false;var dw,dy;for(dw=0;dw<bB.length;dw++){dy=aY(bB[dw]);if(dy!==cW&&dy!==bj&&0!==aH(dy)){b5(dy,bw,c9)}}bs=dx}function b9(dw){cc=dw}function dv(dA){if(!dA||!Z(dA)){return}var dz=[];var dy;for(dy in dA){if(Object.prototype.hasOwnProperty.call(dA,dy)){dz.push(dy)}}var dB={};dz.sort();var dw=dz.length;var dx;for(dx=0;dx<dw;dx++){dB[dz[dx]]=dA[dz[dx]]}return dB}function ci(){dr(aY("ses"),"1",cu,bw,c9,bY,aN)
-}function bm(){var dz="";var dx="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dy=dx.length;var dw;for(dw=0;dw<6;dw++){dz+=dx.charAt(Math.floor(Math.random()*dy))}return dz}function aE(dx){if(ct!==""){dx+=ct;bn=true;return dx}if(!h){return dx}var dy=(typeof h.timing==="object")&&h.timing?h.timing:undefined;if(!dy){dy=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:undefined}if(!dy){return dx}var dw="";if(dy.connectEnd&&dy.fetchStart){if(dy.connectEnd<dy.fetchStart){return dx}dw+="&pf_net="+Math.round(dy.connectEnd-dy.fetchStart)}if(dy.responseStart&&dy.requestStart){if(dy.responseStart<dy.requestStart){return dx}dw+="&pf_srv="+Math.round(dy.responseStart-dy.requestStart)}if(dy.responseStart&&dy.responseEnd){if(dy.responseEnd<dy.responseStart){return dx}dw+="&pf_tfr="+Math.round(dy.responseEnd-dy.responseStart)}if(M(dy.domLoading)){if(dy.domInteractive&&dy.domLoading){if(dy.domInteractive<dy.domLoading){return dx
-}dw+="&pf_dm1="+Math.round(dy.domInteractive-dy.domLoading)}}else{if(dy.domInteractive&&dy.responseEnd){if(dy.domInteractive<dy.responseEnd){return dx}dw+="&pf_dm1="+Math.round(dy.domInteractive-dy.responseEnd)}}if(dy.domComplete&&dy.domInteractive){if(dy.domComplete<dy.domInteractive){return dx}dw+="&pf_dm2="+Math.round(dy.domComplete-dy.domInteractive)}if(dy.loadEventEnd&&dy.loadEventStart){if(dy.loadEventEnd<dy.loadEventStart){return dx}dw+="&pf_onl="+Math.round(dy.loadEventEnd-dy.loadEventStart)}return dx+dw}function dl(){var dG,dz=new Date(),dA=Math.round(dz.getTime()/1000),dL,dy,dB=1024,dI,dC,dx=aY("ses"),dF=aY("ref"),dE=aH(dx),dw=bS(),dK=ba||bT,dH,dD,dJ={};dH=dw[0];dD=dw[1];dL=dw[2];dy=dw[3];if(!dE){if(!bC||!dH.length){for(dG in cw){if(Object.prototype.hasOwnProperty.call(cw,dG)){dH=e(dK,cw[dG]);if(dH.length){break}}}for(dG in bN){if(Object.prototype.hasOwnProperty.call(bN,dG)){dD=e(dK,bN[dG]);if(dD.length){break}}}}dI=d(bu);dC=dy.length?d(dy):"";if(dI.length&&!a1(dI)&&!cx(bu)&&(!bC||!dC.length||a1(dC)||cx(dy))){dy=bu
-}if(dy.length||dH.length){dL=dA;dw=[dH,dD,dL,b8(dy.slice(0,dB))];dr(dF,W.JSON.stringify(dw),dh,bw,c9,bY,aN)}}if(dH.length){dJ._rcn=t(dH)}if(dD.length){dJ._rck=t(dD)}dJ._refts=dL;if(String(dy).length){dJ._ref=t(b8(dy.slice(0,dB)))}return dJ}function cz(dx,dI,dJ){var dH,dw=new Date(),dG=aV,dC=aY("cvar"),dK=ba||bT;if(bs){aJ()}if(c0){return""}var dD=a4();var dA=J.characterSet||J.charset;if(!dA||dA.toLowerCase()==="utf-8"){dA=null}dx+="&idsite="+cc+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dw.getHours()+"&m="+dw.getMinutes()+"&s="+dw.getSeconds()+"&url="+t(b8(dK))+(bu.length&&!cx(bu)?"&urlref="+t(b8(bu)):"")+(ac(bF)?"&uid="+t(bF):"")+"&_id="+dD.uuid+"&_idn="+dD.newVisitor+(dA?"&cs="+t(dA):"")+"&send_image=0";var dF=dl();for(dH in dF){if(Object.prototype.hasOwnProperty.call(dF,dH)){dx+="&"+dH+"="+dF[dH]}}var dM=cS();for(dH in dM){if(Object.prototype.hasOwnProperty.call(dM,dH)){dx+="&"+dH+"="+dM[dH]}}var dN=[];if(dI){for(dH in dI){if(Object.prototype.hasOwnProperty.call(dI,dH)&&/^dimension\d+$/.test(dH)){var dy=dH.replace("dimension","");
-dN.push(parseInt(dy,10));dN.push(String(dy));dx+="&"+dH+"="+t(dI[dH]);delete dI[dH]}}}if(dI&&D(dI)){dI=null}for(dH in cB){if(Object.prototype.hasOwnProperty.call(cB,dH)){dx+="&"+dH+"="+t(cB[dH])}}for(dH in bt){if(Object.prototype.hasOwnProperty.call(bt,dH)){var dB=(-1===P(dN,dH));if(dB){dx+="&dimension"+dH+"="+t(bt[dH])}}}if(dI){dx+="&data="+t(W.JSON.stringify(dI))}else{if(at){dx+="&data="+t(W.JSON.stringify(at))}}function dz(dO,dP){var dQ=W.JSON.stringify(dO);if(dQ.length>2){return"&"+dP+"="+t(dQ)}return""}var dL=dv(b2);var dE=dv(cs);dx+=dz(dL,"cvar");dx+=dz(dE,"e_cvar");if(aV){dx+=dz(aV,"_cvar");for(dH in dG){if(Object.prototype.hasOwnProperty.call(dG,dH)){if(aV[dH][0]===""||aV[dH][1]===""){delete aV[dH]}}}if(bW){dr(dC,W.JSON.stringify(aV),cu,bw,c9,bY,aN)}}if(a8&&bL&&!bn){dx=aE(dx);bn=true}if(aQ){dx+="&pv_id="+aQ}aR(dD);ci();dx+=ag(dJ,{tracker:bP,request:dx});if(db.length){dx+="&"+db}if(C(ch)){dx=ch(dx)}return dx}bX=function bd(){var dw=new Date();dw=dw.getTime();if(!da){return false}if(da+bb<=dw){bP.ping();
-return true}return false};function bx(dz,dy,dD,dA,dw,dG){var dC="idgoal=0",dx=new Date(),dE=[],dF,dB=String(dz).length;if(dB){dC+="&ec_id="+t(dz)}dC+="&revenue="+dy;if(String(dD).length){dC+="&ec_st="+dD}if(String(dA).length){dC+="&ec_tx="+dA}if(String(dw).length){dC+="&ec_sh="+dw}if(String(dG).length){dC+="&ec_dt="+dG}if(dc){for(dF in dc){if(Object.prototype.hasOwnProperty.call(dc,dF)){if(!M(dc[dF][1])){dc[dF][1]=""}if(!M(dc[dF][2])){dc[dF][2]=""}if(!M(dc[dF][3])||String(dc[dF][3]).length===0){dc[dF][3]=0}if(!M(dc[dF][4])||String(dc[dF][4]).length===0){dc[dF][4]=1}dE.push(dc[dF])}}dC+="&ec_items="+t(W.JSON.stringify(dE))}dC=cz(dC,at,"ecommerce");bM(dC,bQ);if(dB){dc={}}}function b4(dw,dA,dz,dy,dx,dB){if(String(dw).length&&M(dA)){bx(dw,dA,dz,dy,dx,dB)}}function bz(dw){if(M(dw)){bx("",dw,"","","","")}}function b6(dx,dz,dy){if(!bH){aQ=bm()}var dw=cz("action_name="+t(ap(dx||bp)),dz,"log");if(a8&&!bn){dw=aE(dw)}bM(dw,bQ,dy)}function a6(dy,dx){var dz,dw="(^| )(piwik[_-]"+dx+"|matomo[_-]"+dx;if(dy){for(dz=0;
-dz<dy.length;dz++){dw+="|"+dy[dz]}}dw+=")( |$)";return new RegExp(dw)}function aZ(dw){return(aI&&dw&&0===String(dw).indexOf(aI))}function cD(dA,dw,dB,dx){if(aZ(dw)){return 0}var dz=a6(bR,"download"),dy=a6(be,"link"),dC=new RegExp("\\.("+di.join("|")+")([?&#]|$)","i");if(dy.test(dA)){return"link"}if(dx||dz.test(dA)||dC.test(dw)){return"download"}if(dB){return 0}return"link"}function ay(dx){var dw;dw=dx.parentNode;while(dw!==null&&M(dw)){if(ai.isLinkElement(dx)){break}dx=dw;dw=dx.parentNode}return dx}function dp(dB){dB=ay(dB);if(!ai.hasNodeAttribute(dB,"href")){return}if(!M(dB.href)){return}var dA=ai.getAttributeValueFromNode(dB,"href");var dx=dB.pathname||cr(dB.href);var dC=dB.hostname||d(dB.href);var dD=dC.toLowerCase();var dy=dB.href.replace(dC,dD);var dz=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dz.test(dy)){var dw=cD(dB.className,dy,aw(dD,dx),ai.hasNodeAttribute(dB,"download"));if(dw){return{type:dw,href:dy}}}}function aU(dw,dx,dy,dz){var dA=w.buildInteractionRequestParams(dw,dx,dy,dz);
-if(!dA){return}return cz(dA,null,"contentInteraction")}function bh(dw,dx){if(!dw||!dx){return false}var dy=w.findTargetNode(dw);if(w.shouldIgnoreInteraction(dy)){return false}dy=w.findTargetNodeNoDefault(dw);if(dy&&!Y(dy,dx)){return false}return true}function cC(dy,dx,dA){if(!dy){return}var dw=w.findParentContentNode(dy);if(!dw){return}if(!bh(dw,dy)){return}var dz=w.buildContentBlock(dw);if(!dz){return}if(!dz.target&&dA){dz.target=dA}return w.buildInteractionRequestParams(dx,dz.name,dz.piece,dz.target)}function a2(dx){if(!cg||!cg.length){return false}var dw,dy;for(dw=0;dw<cg.length;dw++){dy=cg[dw];if(dy&&dy.name===dx.name&&dy.piece===dx.piece&&dy.target===dx.target){return true}}return false}function a3(dw){return function(dA){if(!dw){return}var dy=w.findParentContentNode(dw);var dx;if(dA){dx=dA.target||dA.srcElement}if(!dx){dx=dw}if(!bh(dy,dx)){return}if(!dy){return false}var dB=w.findTargetNode(dy);if(!dB||w.shouldIgnoreInteraction(dB)){return false}var dz=dp(dB);if(dk&&dz&&dz.type){return dz.type
-}return bP.trackContentInteractionNode(dx,"click")}}function b7(dy){if(!dy||!dy.length){return}var dw,dx;for(dw=0;dw<dy.length;dw++){dx=w.findTargetNode(dy[dw]);if(dx&&!dx.contentInteractionTrackingSetupDone){dx.contentInteractionTrackingSetupDone=true;ar(dx,"click",a3(dx))}}}function bE(dy,dz){if(!dy||!dy.length){return[]}var dw,dx;for(dw=0;dw<dy.length;dw++){if(a2(dy[dw])){dy.splice(dw,1);dw--}else{cg.push(dy[dw])}}if(!dy||!dy.length){return[]}b7(dz);var dA=[];for(dw=0;dw<dy.length;dw++){dx=cz(w.buildImpressionRequestParams(dy[dw].name,dy[dw].piece,dy[dw].target),undefined,"contentImpressions");if(dx){dA.push(dx)}}return dA}function cJ(dx){var dw=w.collectContent(dx);return bE(dw,dx)}function bf(dx){if(!dx||!dx.length){return[]}var dw;for(dw=0;dw<dx.length;dw++){if(!w.isNodeVisible(dx[dw])){dx.splice(dw,1);dw--}}if(!dx||!dx.length){return[]}return cJ(dx)}function aK(dy,dw,dx){var dz=w.buildImpressionRequestParams(dy,dw,dx);return cz(dz,null,"contentImpression")}function dn(dz,dx){if(!dz){return
-}var dw=w.findParentContentNode(dz);var dy=w.buildContentBlock(dw);if(!dy){return}if(!dx){dx="Unknown"}return aU(dx,dy.name,dy.piece,dy.target)}function cZ(dx,dz,dw,dy){return"e_c="+t(dx)+"&e_a="+t(dz)+(M(dw)?"&e_n="+t(dw):"")+(M(dy)?"&e_v="+t(dy):"")+"&ca=1"}function ax(dy,dA,dw,dz,dC,dB){if(!ac(dy)||!ac(dA)){ao("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dx=cz(cZ(dy,dA,dw,dz),dC,"event");bM(dx,bQ,dB)}function ce(dw,dz,dx,dA){var dy=cz("search="+t(dw)+(dz?"&search_cat="+t(dz):"")+(M(dx)?"&search_count="+dx:""),dA,"sitesearch");bM(dy,bQ)}function c3(dw,dA,dz,dy){var dx=cz("idgoal="+dw+(dA?"&revenue="+dA:""),dz,"goal");bM(dx,bQ,dy)}function dd(dz,dw,dD,dC,dy){var dB=dw+"="+t(b8(dz));var dx=cC(dy,"click",dz);if(dx){dB+="&"+dx}var dA=cz(dB,dD,"link");bM(dA,bQ,dC)}function b0(dx,dw){if(dx!==""){return dx+dw.charAt(0).toUpperCase()+dw.slice(1)}return dw}function cm(dB){var dA,dw,dz=["","webkit","ms","moz"],dy;
-if(!bk){for(dw=0;dw<dz.length;dw++){dy=dz[dw];if(Object.prototype.hasOwnProperty.call(J,b0(dy,"hidden"))){if(J[b0(dy,"visibilityState")]==="prerender"){dA=true}break}}}if(dA){ar(J,dy+"visibilitychange",function dx(){J.removeEventListener(dy+"visibilitychange",dx,false);dB()});return}dB()}function by(){var dx=bP.getVisitorId();var dw=aO();return dx+dw}function cp(dw){if(!dw){return}if(!ai.hasNodeAttribute(dw,"href")){return}var dx=ai.getAttributeValueFromNode(dw,"href");if(!dx||aZ(dx)){return}if(!bP.getVisitorId()){return}dx=j(dx,az);var dy=by();dx=I(dx,az,dy);ai.setAnyAttribute(dw,"href",dx)}function br(dz){var dA=ai.getAttributeValueFromNode(dz,"href");if(!dA){return false}dA=String(dA);var dx=dA.indexOf("//")===0||dA.indexOf("http://")===0||dA.indexOf("https://")===0;if(!dx){return false}var dw=dz.pathname||cr(dz.href);var dy=(dz.hostname||d(dz.href)).toLowerCase();if(aw(dy,dw)){if(!cR(c4,O(dy))){return true}return false}return false}function cQ(dw){var dx=dp(dw);if(dx&&dx.type){dx.href=p(dx.href);
-dd(dx.href,dx.type,undefined,null,dw);return}if(cX){dw=ay(dw);if(br(dw)){cp(dw)}}}function cE(){return J.all&&!J.addEventListener}function c5(dw){var dy=dw.which;var dx=(typeof dw.button);if(!dy&&dx!=="undefined"){if(cE()){if(dw.button&1){dy=1}else{if(dw.button&2){dy=3}else{if(dw.button&4){dy=2}}}}else{if(dw.button===0||dw.button==="0"){dy=1}else{if(dw.button&1){dy=2}else{if(dw.button&2){dy=3}}}}}return dy}function bZ(dw){switch(c5(dw)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a7(dw){return dw.target||dw.srcElement}function c6(dw){return dw==="A"||dw==="AREA"}function aG(dw){function dx(dz){var dA=a7(dz);var dB=dA.nodeName;var dy=a6(bG,"ignore");while(!c6(dB)&&dA&&dA.parentNode){dA=dA.parentNode;dB=dA.nodeName}if(dA&&c6(dB)&&!dy.test(dA.className)){return dA}}return function(dA){dA=dA||W.event;var dB=dx(dA);if(!dB){return}var dz=bZ(dA);if(dA.type==="click"){var dy=false;if(dw&&dz==="middle"){dy=true}if(dB&&!dy){cQ(dB)}}else{if(dA.type==="mousedown"){if(dz==="middle"&&dB){aW=dz;
-bI=dB}else{aW=bI=null}}else{if(dA.type==="mouseup"){if(dz===aW&&dB===bI){cQ(dB)}aW=bI=null}else{if(dA.type==="contextmenu"){cQ(dB)}}}}}}function av(dz,dy,dw){var dx=typeof dy;if(dx==="undefined"){dy=true}ar(dz,"click",aG(dy),dw);if(dy){ar(dz,"mouseup",aG(dy),dw);ar(dz,"mousedown",aG(dy),dw);ar(dz,"contextmenu",aG(dy),dw)}}function aX(dx,dA,dB){if(ck){return true}ck=true;var dC=false;var dz,dy;function dw(){dC=true}n(function(){function dD(dF){setTimeout(function(){if(!ck){return}dC=false;dB.trackVisibleContentImpressions();dD(dF)},dF)}function dE(dF){setTimeout(function(){if(!ck){return}if(dC){dC=false;dB.trackVisibleContentImpressions()}dE(dF)},dF)}if(dx){dz=["scroll","resize"];for(dy=0;dy<dz.length;dy++){if(J.addEventListener){J.addEventListener(dz[dy],dw,false)}else{W.attachEvent("on"+dz[dy],dw)}}dE(100)}if(dA&&dA>0){dA=parseInt(dA,10);dD(dA)}})}var bK={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dw=this.requests;this.requests=[];if(dw.length===1){bM(dw[0],bQ)
-}else{ds(dw,bQ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dx){if(!this.canQueue()){ds(dx,bQ);return}var dw;for(dw=0;dw<dx.length;dw++){this.push(dx[dw])}},push:function(dw){if(!dw){return}if(!this.canQueue()){bM(dw,bQ);return}bK.requests.push(dw);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bK.timeout=null;bK.sendRequests()},bK.interval);var dx="RequestQueue"+aB;if(!Object.prototype.hasOwnProperty.call(b,dx)){b[dx]={unload:function(){if(bK.timeout){clearTimeout(bK.timeout)}bK.sendRequests()}}}}};bo();this.hasConsent=function(){return bJ};this.getVisitorInfo=function(){if(!aH(aY("id"))){aR()}return cY()};this.getVisitorId=function(){return this.getVisitorInfo()[1]};this.getAttributionInfo=function(){return bS()};this.getAttributionCampaignName=function(){return bS()[0]};this.getAttributionCampaignKeyword=function(){return bS()[1]};this.getAttributionReferrerTimestamp=function(){return bS()[2]};this.getAttributionReferrerUrl=function(){return bS()[3]
-};this.setTrackerUrl=function(dw){aI=dw};this.getTrackerUrl=function(){return aI};this.getMatomoUrl=function(){return aa(this.getTrackerUrl(),bO)};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dy,dx){if(!M(dy)||null===dy){dy=this.getTrackerUrl()}var dw=new T(dy,dx);L.push(dw);u.trigger("TrackerAdded",[this]);return dw};this.getSiteId=function(){return cc};this.setSiteId=function(dw){b9(dw)};this.resetUserId=function(){bF=""};this.setUserId=function(dw){if(ac(dw)){bF=dw}};this.setVisitorId=function(dx){var dw=/[0-9A-Fa-f]{16}/g;if(x(dx)&&dw.test(dx)){bU=dx}else{ao("Invalid visitorId set"+dx)}};this.getUserId=function(){return bF};this.setCustomData=function(dw,dx){if(Z(dw)){at=dw}else{if(!at){at={}}at[dw]=dx}};this.getCustomData=function(){return at};this.setCustomRequestProcessing=function(dw){ch=dw};this.appendToTrackingUrl=function(dw){db=dw};this.getRequest=function(dw){return cz(dw)};this.addPlugin=function(dw,dx){b[dw]=dx};this.setCustomDimension=function(dw,dx){dw=parseInt(dw,10);
-if(dw>0){if(!M(dx)){dx=""}if(!x(dx)){dx=String(dx)}bt[dw]=dx}};this.getCustomDimension=function(dw){dw=parseInt(dw,10);if(dw>0&&Object.prototype.hasOwnProperty.call(bt,dw)){return bt[dw]}};this.deleteCustomDimension=function(dw){dw=parseInt(dw,10);if(dw>0){delete bt[dw]}};this.setCustomVariable=function(dx,dw,dA,dy){var dz;if(!M(dy)){dy="visit"}if(!M(dw)){return}if(!M(dA)){dA=""}if(dx>0){dw=!x(dw)?String(dw):dw;dA=!x(dA)?String(dA):dA;dz=[dw.slice(0,bA),dA.slice(0,bA)];if(dy==="visit"||dy===2){cP();aV[dx]=dz}else{if(dy==="page"||dy===3){b2[dx]=dz}else{if(dy==="event"){cs[dx]=dz}}}}};this.getCustomVariable=function(dx,dy){var dw;if(!M(dy)){dy="visit"}if(dy==="page"||dy===3){dw=b2[dx]}else{if(dy==="event"){dw=cs[dx]}else{if(dy==="visit"||dy===2){cP();dw=aV[dx]}}}if(!M(dw)||(dw&&dw[0]==="")){return false}return dw};this.deleteCustomVariable=function(dw,dx){if(this.getCustomVariable(dw,dx)){this.setCustomVariable(dw,"","",dx)}};this.deleteCustomVariables=function(dw){if(dw==="page"||dw===3){b2={}
-}else{if(dw==="event"){cs={}}else{if(dw==="visit"||dw===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bW=true};this.setLinkTrackingTimer=function(dw){bQ=dw};this.getLinkTrackingTimer=function(){return bQ};this.setDownloadExtensions=function(dw){if(x(dw)){dw=dw.split("|")}di=dw};this.addDownloadExtensions=function(dx){var dw;if(x(dx)){dx=dx.split("|")}for(dw=0;dw<dx.length;dw++){di.push(dx[dw])}};this.removeDownloadExtensions=function(dy){var dx,dw=[];if(x(dy)){dy=dy.split("|")}for(dx=0;dx<di.length;dx++){if(P(dy,di[dx])===-1){dw.push(di[dx])}}di=dw};this.setDomains=function(dw){aC=x(dw)?[dw]:dw;var dA=false,dy=0,dx;for(dy;dy<aC.length;dy++){dx=String(aC[dy]);if(cR(c4,O(dx))){dA=true;break}var dz=cr(dx);if(dz&&dz!=="/"&&dz!=="/*"){dA=true;break}}if(!dA){aC.push(c4)}};this.setExcludedReferrers=function(dw){cG=x(dw)?[dw]:dw};this.enableCrossDomainLinking=function(){cX=true};this.disableCrossDomainLinking=function(){cX=false};this.isCrossDomainLinkingEnabled=function(){return cX
-};this.setCrossDomainLinkingTimeout=function(dw){a5=dw};this.getCrossDomainLinkingUrlParameter=function(){return t(az)+"="+t(by())};this.setIgnoreClasses=function(dw){bG=x(dw)?[dw]:dw};this.setRequestMethod=function(dw){if(dw){dm=String(dw).toUpperCase()}else{dm=cn}if(dm==="GET"){this.disableAlwaysUseSendBeacon()}};this.setRequestContentType=function(dw){cF=dw||aM};this.setGenerationTimeMs=function(dw){ao("setGenerationTimeMs is no longer supported since Matomo 4. The call will be ignored. The replacement is setPagePerformanceTiming.")};this.setPagePerformanceTiming=function(dA,dC,dB,dx,dD,dy){var dz={pf_net:dA,pf_srv:dC,pf_tfr:dB,pf_dm1:dx,pf_dm2:dD,pf_onl:dy};try{dz=Q(dz,M);dz=B(dz);ct=l(dz);if(ct===""){ao("setPagePerformanceTiming() called without parameters. This function needs to be called with at least one performance parameter.");return}bn=false;bL=true}catch(dw){ao("setPagePerformanceTiming: "+dw.toString())}};this.setReferrerUrl=function(dw){bu=dw};this.setCustomUrl=function(dw){ba=b1(bT,dw)
-};this.getCurrentUrl=function(){return ba||bT};this.setDocumentTitle=function(dw){bp=dw};this.setPageViewId=function(dw){aQ=dw;bH=true};this.setAPIUrl=function(dw){bO=dw};this.setDownloadClasses=function(dw){bR=x(dw)?[dw]:dw};this.setLinkClasses=function(dw){be=x(dw)?[dw]:dw};this.setCampaignNameKey=function(dw){cw=x(dw)?[dw]:dw};this.setCampaignKeywordKey=function(dw){bN=x(dw)?[dw]:dw};this.discardHashTag=function(dw){bV=dw};this.setCookieNamePrefix=function(dw){bq=dw;if(aV){aV=b3()}};this.setCookieDomain=function(dw){var dx=O(dw);if(!bs&&!bD(dx)){ao("Can't write cookie on domain "+dw)}else{c9=dx;bo()}};this.setExcludedQueryParams=function(dw){co=x(dw)?[dw]:dw};this.getCookieDomain=function(){return c9};this.hasCookies=function(){return"1"===cb()};this.setSessionCookie=function(dy,dx,dw){if(!dy){throw new Error("Missing cookie name")}if(!M(dw)){dw=cu}bB.push(dy);dr(aY(dy),dx,dw,bw,c9,bY,aN)};this.getCookie=function(dx){var dw=aH(aY(dx));if(dw===0){return null}return dw};this.setCookiePath=function(dw){bw=dw;
-bo()};this.getCookiePath=function(dw){return bw};this.setVisitorCookieTimeout=function(dw){cU=dw*1000};this.setSessionCookieTimeout=function(dw){cu=dw*1000};this.getSessionCookieTimeout=function(){return cu};this.setReferralCookieTimeout=function(dw){dh=dw*1000};this.setConversionAttributionFirstReferrer=function(dw){bC=dw};this.setSecureCookie=function(dw){if(dw&&location.protocol!=="https:"){ao("Error in setSecureCookie: You cannot use `Secure` on http.");return}bY=dw};this.setCookieSameSite=function(dw){dw=String(dw);dw=dw.charAt(0).toUpperCase()+dw.toLowerCase().slice(1);if(dw!=="None"&&dw!=="Lax"&&dw!=="Strict"){ao("Ignored value for sameSite. Please use either Lax, None, or Strict.");return}if(dw==="None"){if(location.protocol==="https:"){this.setSecureCookie(true)}else{ao("sameSite=None cannot be used on http, reverted to sameSite=Lax.");dw="Lax"}}aN=dw};this.disableCookies=function(){bs=true;if(cc){aJ()}};this.areCookiesEnabled=function(){return !bs};this.setCookieConsentGiven=function(){if(bs&&!c0){bs=false;
-c8=true;if(cc&&aA){aR();var dw=cz("ping=1",null,"ping");bM(dw,bQ)}}};this.requireCookieConsent=function(){if(this.getRememberedCookieConsent()){return false}this.disableCookies();return true};this.getRememberedCookieConsent=function(){return aH(cN)};this.forgetCookieConsentGiven=function(){b5(cN,bw,c9);this.disableCookies()};this.rememberCookieConsentGiven=function(dx){if(dx){dx=dx*60*60*1000}else{dx=30*365*24*60*60*1000}this.setCookieConsentGiven();var dw=new Date().getTime();dr(cN,dw,dx,bw,c9,bY,aN)};this.deleteCookies=function(){aJ()};this.setDoNotTrack=function(dx){var dw=g.doNotTrack||g.msDoNotTrack;c0=dx&&(dw==="yes"||dw==="1");if(c0){this.disableCookies()}};this.alwaysUseSendBeacon=function(){c7=true};this.disableAlwaysUseSendBeacon=function(){c7=false};this.addListener=function(dx,dw){av(dx,dw,false)};this.enableLinkTracking=function(dx){if(dk){return}dk=true;var dw=this;q(function(){au=true;var dy=J.body;av(dy,dx,true)})};this.enableJSErrorTracking=function(){if(c2){return}c2=true;
-var dw=W.onerror;W.onerror=function(dB,dz,dy,dA,dx){cm(function(){var dC="JavaScript Errors";var dD=dz+":"+dy;if(dA){dD+=":"+dA}if(P(cA,dC+dD+dB)===-1){cA.push(dC+dD+dB);ax(dC,dD,dB)}});if(dw){return dw(dB,dz,dy,dA,dx)}return false}};this.disablePerformanceTracking=function(){a8=false};this.enableHeartBeatTimer=function(dw){dw=Math.max(dw||15,5);bb=dw*1000;if(da!==null){dt()}};this.disableHeartBeatTimer=function(){if(bb||aS){if(W.removeEventListener){W.removeEventListener("focus",bg);W.removeEventListener("blur",aD);W.removeEventListener("visibilitychange",a0)}else{if(W.detachEvent){W.detachEvent("onfocus",bg);W.detachEvent("onblur",aD);W.detachEvent("visibilitychange",a0)}}}bb=null;aS=false};this.killFrame=function(){if(W.location!==W.top.location){W.top.location=W.location}};this.redirectFile=function(dw){if(W.location.protocol==="file:"){W.location=dw}};this.setCountPreRendered=function(dw){bk=dw};this.trackGoal=function(dw,dz,dy,dx){cm(function(){c3(dw,dz,dy,dx)})};this.trackLink=function(dx,dw,dz,dy){cm(function(){dd(dx,dw,dz,dy)
-})};this.getNumTrackedPageViews=function(){return cy};this.trackPageView=function(dw,dy,dx){cg=[];cV=[];cA=[];if(R(cc)){cm(function(){ad(aI,bO,cc)})}else{cm(function(){cy++;b6(dw,dy,dx)})}};this.disableBrowserFeatureDetection=function(){c8=false};this.enableBrowserFeatureDetection=function(){c8=true};this.trackAllContentImpressions=function(){if(R(cc)){return}cm(function(){q(function(){var dw=w.findContentNodes();var dx=cJ(dw);bK.pushMultiple(dx)})})};this.trackVisibleContentImpressions=function(dw,dx){if(R(cc)){return}if(!M(dw)){dw=true}if(!M(dx)){dx=750}aX(dw,dx,this);cm(function(){n(function(){var dy=w.findContentNodes();var dz=bf(dy);bK.pushMultiple(dz)})})};this.trackContentImpression=function(dy,dw,dx){if(R(cc)){return}dy=a(dy);dw=a(dw);dx=a(dx);if(!dy){return}dw=dw||"Unknown";cm(function(){var dz=aK(dy,dw,dx);bK.push(dz)})};this.trackContentImpressionsWithinNode=function(dw){if(R(cc)||!dw){return}cm(function(){if(ck){n(function(){var dx=w.findContentNodesWithinNode(dw);var dy=bf(dx);
-bK.pushMultiple(dy)})}else{q(function(){var dx=w.findContentNodesWithinNode(dw);var dy=cJ(dx);bK.pushMultiple(dy)})}})};this.trackContentInteraction=function(dy,dz,dw,dx){if(R(cc)){return}dy=a(dy);dz=a(dz);dw=a(dw);dx=a(dx);if(!dy||!dz){return}dw=dw||"Unknown";cm(function(){var dA=aU(dy,dz,dw,dx);if(dA){bK.push(dA)}})};this.trackContentInteractionNode=function(dy,dx){if(R(cc)||!dy){return}var dw=null;cm(function(){dw=dn(dy,dx);if(dw){bK.push(dw)}});return dw};this.logAllContentBlocksOnPage=function(){var dy=w.findContentNodes();var dw=w.collectContent(dy);var dx=typeof console;if(dx!=="undefined"&&console&&console.log){console.log(dw)}};this.trackEvent=function(dx,dz,dw,dy,dB,dA){cm(function(){ax(dx,dz,dw,dy,dB,dA)})};this.trackSiteSearch=function(dw,dy,dx,dz){cg=[];cm(function(){ce(dw,dy,dx,dz)})};this.setEcommerceView=function(dA,dw,dy,dx){cB={};if(ac(dy)){dy=String(dy)}if(!M(dy)||dy===null||dy===false||!dy.length){dy=""}else{if(dy instanceof Array){dy=W.JSON.stringify(dy)}}var dz="_pkc";
-cB[dz]=dy;if(M(dx)&&dx!==null&&dx!==false&&String(dx).length){dz="_pkp";cB[dz]=dx}if(!ac(dA)&&!ac(dw)){return}if(ac(dA)){dz="_pks";cB[dz]=dA}if(!ac(dw)){dw=""}dz="_pkn";cB[dz]=dw};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(dc))};this.addEcommerceItem=function(dA,dw,dy,dx,dz){if(ac(dA)){dc[dA]=[String(dA),dw,dy,dx,dz]}};this.removeEcommerceItem=function(dw){if(ac(dw)){dw=String(dw);delete dc[dw]}};this.clearEcommerceCart=function(){dc={}};this.trackEcommerceOrder=function(dw,dA,dz,dy,dx,dB){b4(dw,dA,dz,dy,dx,dB)};this.trackEcommerceCartUpdate=function(dw){bz(dw)};this.trackRequest=function(dx,dz,dy,dw){cm(function(){var dA=cz(dx,dz,dw);bM(dA,bQ,dy)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bK.enabled=false};this.setRequestQueueInterval=function(dw){if(dw<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bK.interval=dw};this.queueRequest=function(dw){cm(function(){var dx=cz(dw);
-bK.push(dx)})};this.isConsentRequired=function(){return cK};this.getRememberedConsent=function(){var dw=aH(bj);if(aH(cW)){if(dw){b5(bj,bw,c9)}return null}if(!dw||dw===0){return null}return dw};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()};this.requireConsent=function(){cK=true;bJ=this.hasRememberedConsent();if(!bJ){bs=true}y++;b["CoreConsent"+y]={unload:function(){if(!bJ){aJ()}}}};this.setConsentGiven=function(dx){bJ=true;c8=true;b5(cW,bw,c9);var dy,dw;for(dy=0;dy<cV.length;dy++){dw=typeof cV[dy];if(dw==="string"){bM(cV[dy],bQ)}else{if(dw==="object"){ds(cV[dy],bQ)}}}cV=[];if(!M(dx)||dx){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dy){if(dy){dy=dy*60*60*1000}else{dy=30*365*24*60*60*1000}var dw=true;this.setConsentGiven(dw);var dx=new Date().getTime();dr(bj,dx,dy,bw,c9,bY,aN)};this.forgetConsentGiven=function(){var dw=30*365*24*60*60*1000;b5(bj,bw,c9);dr(cW,new Date().getTime(),dw,bw,c9,bY,aN);this.forgetCookieConsentGiven();this.requireConsent()
-};this.isUserOptedOut=function(){return !bJ};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};n(function(){setTimeout(function(){bL=true},0)});u.trigger("TrackerSetup",[this]);u.addPlugin("TrackerVisitorIdCookie"+aB,{unload:function(){if(!aA){aR();dl()}}})}function K(){return{push:aj}}function c(ay,ax){var az={};var av,aw;for(av=0;av<ax.length;av++){var at=ax[av];az[at]=1;for(aw=0;aw<ay.length;aw++){if(ay[aw]&&ay[aw][0]){var au=ay[aw][0];if(at===au){aj(ay[aw]);delete ay[aw];if(az[au]>1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableBrowserFeatureDetection","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","disableAlwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams","setExcludedReferrers"];
+}catch(at){return true}}function T(cn,ci){var bR=this,bk="mtm_consent",cS="mtm_cookie_consent",c1="mtm_consent_removed",cd=ae(J.domain,W.location.href,N()),c9=O(cd[0]),bW=p(cd[1]),bw=p(cd[2]),c7=false,cr="GET",ds=cr,aM="application/x-www-form-urlencoded; charset=UTF-8",cK=aM,aI=cn||"",bQ="",dg="",cx="",cf=ci||"",bH="",bX="",bb,bq="",dn=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c9],bI=[],cL=[],cs=[],bU=[],bf=[],bS=500,dc=true,cY,bc,b0,bY,at,cB=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bP=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],br="_pk_",az="pk_vid",a6=180,de,by,b1=false,aN="Lax",bt=false,c5,bl,bE,cZ=33955200000,cy=1800000,dm=15768000000,a9=true,bN=false,bo=false,bZ=false,aV=false,cl,b5={},cw={},bv={},bC=200,cG={},dh={},dp={},aZ={},cj=[],bu=false,ck=[],co=false,cQ=false,au=false,dq=false,c2=false,aS=false,bj=v(),cM=null,df=null,aW,bK,cg=aq,bx,aQ,bJ=false,cD=0,bD=["id","ses","cvar","ref"],cP=false,bL=null,c0=[],cF=[],aB=X++,aA=false,dd=true;
+try{bq=J.title}catch(cN){bq=""}function aH(dD){if(bt){return 0}var dB=new RegExp("(^|;)[ ]*"+dD+"=([^;]*)"),dC=dB.exec(J.cookie);return dC?V(dC[2]):0}bL=!aH(c1);function dw(dF,dG,dJ,dI,dD,dE,dH){if(bt&&dF!==c1){return}var dC;if(dJ){dC=new Date();dC.setTime(dC.getTime()+dJ)}if(!dH){dH="Lax"}J.cookie=dF+"="+t(dG)+(dJ?";expires="+dC.toGMTString():"")+";path="+(dI||"/")+(dD?";domain="+dD:"")+(dE?";secure":"")+";SameSite="+dH;if((!dJ||dJ>=0)&&aH(dF)!==String(dG)){var dB="There was an error setting cookie `"+dF+"`. Please check domain and path.";ao(dB)}}function cb(dB){var dD,dC;dB=j(dB,az);for(dC=0;dC<cs.length;dC++){dB=j(dB,cs[dC])}if(bY){dD=new RegExp("#.*");return dB.replace(dD,"")}return dB}function b4(dD,dB){var dE=s(dB),dC;if(dE){return dB}if(dB.slice(0,1)==="/"){return s(dD)+"://"+d(dD)+dB}dD=cb(dD);dC=dD.indexOf("?");if(dC>=0){dD=dD.slice(0,dC)}dC=dD.lastIndexOf("/");if(dC!==dD.length-1){dD=dD.slice(0,dC+1)}return dD+dB}function cW(dD,dB){var dC;dD=String(dD).toLowerCase();dB=String(dB).toLowerCase();
+if(dD===dB){return true}if(dB.slice(0,1)==="."){if(dD===dB.slice(1)){return true}dC=dD.length-dB.length;if((dC>0)&&(dD.slice(dC)===dB)){return true}}return false}function cv(dB){var dC=document.createElement("a");if(dB.indexOf("//")!==0&&dB.indexOf("http")!==0){if(dB.indexOf("*")===0){dB=dB.substr(1)}if(dB.indexOf(".")===0){dB=dB.substr(1)}dB="http://"+dB}dC.href=w.toAbsoluteUrl(dB);if(dC.pathname){return dC.pathname}return""}function ba(dC,dB){if(!an(dB,"/")){dB="/"+dB}if(!an(dC,"/")){dC="/"+dC}var dD=(dB==="/"||dB==="/*");if(dD){return true}if(dC===dB){return true}dB=String(dB).toLowerCase();dC=String(dC).toLowerCase();if(U(dB,"*")){dB=dB.slice(0,-1);dD=(!dB||dB==="/");if(dD){return true}if(dC===dB){return true}return dC.indexOf(dB)===0}if(!U(dC,"/")){dC+="/"}if(!U(dB,"/")){dB+="/"}return dC.indexOf(dB)===0}function aw(dF,dH){var dC,dB,dD,dE,dG;for(dC=0;dC<aC.length;dC++){dE=O(aC[dC]);dG=cv(aC[dC]);if(cW(dF,dE)&&ba(dH,dG)){return true}}return false}function a2(dE){var dC,dB,dD;for(dC=0;
+dC<aC.length;dC++){dB=O(aC[dC].toLowerCase());if(dE===dB){return true}if(dB.slice(0,1)==="."){if(dE===dB.slice(1)){return true}dD=dE.length-dB.length;if((dD>0)&&(dE.slice(dD)===dB)){return true}}}return false}function cC(dB){var dC,dE,dG,dD,dF;if(!dB.length||!cL.length){return false}dE=d(dB);dG=cv(dB);if(dE.indexOf("www.")===0){dE=dE.substr(4)}for(dC=0;dC<cL.length;dC++){dD=O(cL[dC]);dF=cv(cL[dC]);if(dD.indexOf("www.")===0){dD=dD.substr(4)}if(cW(dE,dD)&&ba(dG,dF)){return true}}return false}function cz(dB,dD){dB=dB.replace("send_image=0","send_image=1");var dC=new Image(1,1);dC.onload=function(){H=0;if(typeof dD==="function"){dD({request:dB,trackerUrl:aI,success:true})}};dC.onerror=function(){if(typeof dD==="function"){dD({request:dB,trackerUrl:aI,success:false})}};dC.src=aI+(aI.indexOf("?")<0?"?":"&")+dB}function cT(dB){if(ds==="POST"){return true}return dB&&(dB.length>2000||dB.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob
+}function bd(dF,dI,dH){var dD=aP();if(!dD){return false}var dE={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dJ=false;var dC=aI;try{var dB=new Blob([dF],dE);if(dH&&!cT(dF)){dB=new Blob([],dE);dC=dC+(dC.indexOf("?")<0?"?":"&")+dF}dJ=g.sendBeacon(dC,dB)}catch(dG){return false}if(dJ&&typeof dI==="function"){dI({request:dF,trackerUrl:aI,success:true,isSendBeacon:true})}return dJ}function dl(dC,dD,dB){if(!M(dB)||null===dB){dB=true}if(m&&bd(dC,dD,dB)){return}setTimeout(function(){if(m&&bd(dC,dD,dB)){return}var dG;try{var dF=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dF.open("POST",aI,true);dF.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dH=m&&bd(dC,dD,dB);if(!dH&&dB){cz(dC,dD)}else{if(typeof dD==="function"){dD({request:dC,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dD==="function")){dD({request:dC,trackerUrl:aI,success:true,xhr:this})}}};
+dF.setRequestHeader("Content-Type",cK);dF.withCredentials=true;dF.send(dC)}catch(dE){dG=m&&bd(dC,dD,dB);if(!dG&&dB){cz(dC,dD)}else{if(typeof dD==="function"){dD({request:dC,trackerUrl:aI,success:false})}}}},50)}function cp(dC){var dB=new Date();var dD=dB.getTime()+dC;if(!r||dD>r){r=dD}}function bh(){bj=true;cM=new Date().getTime()}function dv(){var dB=new Date().getTime();return !cM||(dB-cM)>bc}function aD(){if(dv()){b0()}}function a1(){if(J.visibilityState==="hidden"&&dv()){b0()}else{if(J.visibilityState==="visible"){cM=new Date().getTime()}}}function dy(){if(aS||!bc){return}aS=true;ar(W,"focus",bh);ar(W,"blur",aD);ar(W,"visibilitychange",a1);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dv()){b0()}}})}function cR(dF){var dC=new Date();var dB=dC.getTime();df=dB;if(cQ&&dB<cQ){var dD=cQ-dB;setTimeout(dF,dD);cp(dD+50);cQ+=50;return}if(cQ===false){var dE=800;cQ=dB+dE}dF()}function aT(){if(aH(c1)){bL=false}else{if(aH(bk)){bL=true}}}function bT(dD){if(!aZ){return dD}var dC,dB="&uadata="+t(W.JSON.stringify(aZ));
+if(dD instanceof Array){for(dC=0;dC<dD.length;dC++){dD[dC]+=dB}}else{dD+=dB}return dD}function cA(dB){if(!dd||!M(g.userAgentData)||!C(g.userAgentData.getHighEntropyValues)){dB();return}aZ={brands:g.userAgentData.brands,platform:g.userAgentData.platform};g.userAgentData.getHighEntropyValues(["brands","model","platform","platformVersion","uaFullVersion","fullVersionList"]).then(function(dD){var dC;if(dD.fullVersionList){delete dD.brands;delete dD.uaFullVersion}aZ=dD;dB()},function(dC){dB()})}function bO(dC,dB,dD){if(!bu){cj.push(dC);return}aT();if(!bL){c0.push(dC);return}aA=true;if(!c5&&dC){if(cP&&bL){dC+="&consent=1"}dC=bT(dC);cR(function(){if(dc&&bd(dC,dD,true)){cp(100);return}if(cT(dC)){dl(dC,dD)}else{cz(dC,dD)}cp(dB)})}if(!aS){dy()}}function cu(dB){if(c5){return false}return(dB&&dB.length)}function dk(dB,dF){if(!dF||dF>=dB.length){return[dB]}var dC=0;var dD=dB.length;var dE=[];for(dC;dC<dD;dC+=dF){dE.push(dB.slice(dC,dC+dF))}return dE}function dx(dC,dB){if(!cu(dC)){return}if(!bu){cj.push(dC);
+return}if(!bL){c0.push(dC);return}aA=true;cR(function(){var dF=dk(dC,50);var dD=0,dE;for(dD;dD<dF.length;dD++){dE='{"requests":["?'+bT(dF[dD]).join('","?')+'"],"send_image":0}';if(dc&&bd(dE,null,false)){cp(100)}else{dl(dE,null,false)}}cp(dB)})}function aY(dB){return br+dB+"."+cf+"."+bx}function b8(dD,dC,dB){dw(dD,"",-129600000,dC,dB)}function ce(){if(bt){return"0"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dB=br+"testcookie";dw(dB,"1",undefined,by,de,b1,aN);var dC=aH(dB)==="1"?"1":"0";b8(dB);return dC}function bp(){bx=cg((de||c9)+(by||"/")).slice(0,4)}function cX(){cA(function(){var dH,dG;bu=true;for(dH=0;dH<cj.length;dH++){dG=typeof cj[dH];if(dG==="string"){bO(cj[dH],bS)}else{if(dG==="object"){dx(cj[dH],bS)}}}cj=[]});if(!dd){return{}}if(M(dp.res)){return dp}var dC,dE,dF={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};
+if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dC in dF){if(Object.prototype.hasOwnProperty.call(dF,dC)){dE=g.mimeTypes[dF[dC]];dp[dC]=(dE&&dE.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&M(g.javaEnabled)&&g.javaEnabled()){dp.java="1"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){dp.cookie=g.cookieEnabled?"1":"0"}else{dp.cookie=ce()}}var dD=parseInt(ab.width,10);var dB=parseInt(ab.height,10);dp.res=parseInt(dD,10)+"x"+parseInt(dB,10);return dp}function b6(){var dC=aY("cvar"),dB=aH(dC);if(dB&&dB.length){dB=W.JSON.parse(dB);if(Z(dB)){return dB}}return{}}function cU(){if(aV===false){aV=b6()}}function c6(){var dB=cX();return cg((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dB)+(new Date()).getTime()+Math.random()).slice(0,16)}function aF(){var dB=cX();return cg((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dB)).slice(0,6)}function bm(){return Math.floor((new Date()).getTime()/1000)
+}function aO(){var dC=bm();var dD=aF();var dB=String(dC)+dD;return dB}function dj(dD){dD=String(dD);var dG=aF();var dE=dG.length;var dF=dD.substr(-1*dE,dE);var dC=parseInt(dD.substr(0,dD.length-dE),10);if(dC&&dF&&dF===dG){var dB=bm();if(a6<=0){return true}if(dB>=dC&&dB<=(dC+a6)){return true}}return false}function dz(dB){if(!c2){return""}var dF=e(dB,az);if(!dF){return""}dF=String(dF);var dD=new RegExp("^[a-zA-Z0-9]+$");if(dF.length===32&&dD.test(dF)){var dC=dF.substr(16,32);if(dj(dC)){var dE=dF.substr(0,16);return dE}}return""}function c3(){if(!bX){bX=dz(bW)}var dD=new Date(),dB=Math.round(dD.getTime()/1000),dC=aY("id"),dG=aH(dC),dF,dE;if(dG){dF=dG.split(".");dF.unshift("0");if(bX.length){dF[1]=bX}return dF}if(bX.length){dE=bX}else{if("0"===ce()){dE=""}else{dE=c6()}}dF=["1",dE,dB];return dF}function a5(){var dE=c3(),dC=dE[0],dD=dE[1],dB=dE[2];return{newVisitor:dC,uuid:dD,createTs:dB}}function aL(){var dE=new Date(),dC=dE.getTime(),dF=a5().createTs;var dB=parseInt(dF,10);var dD=(dB*1000)+cZ-dC;
+return dD}function aR(dB){if(!cf){return}var dD=new Date(),dC=Math.round(dD.getTime()/1000);if(!M(dB)){dB=a5()}var dE=dB.uuid+"."+dB.createTs+".";dw(aY("id"),dE,aL(),by,de,b1,aN)}function bV(){var dB=aH(aY("ref"));if(dB.length){try{dB=W.JSON.parse(dB);if(Z(dB)){return dB}}catch(dC){}}return["","",0,""]}function bF(dD){var dC=br+"testcookie_domain";var dB="testvalue";dw(dC,dB,10000,null,dD,b1,aN);if(aH(dC)===dB){b8(dC,null,dD);return true}return false}function aJ(){var dC=bt;bt=false;var dB,dD;for(dB=0;dB<bD.length;dB++){dD=aY(bD[dB]);if(dD!==c1&&dD!==bk&&0!==aH(dD)){b8(dD,by,de)}}bt=dC}function cc(dB){cf=dB}function dA(dF){if(!dF||!Z(dF)){return}var dE=[];var dD;for(dD in dF){if(Object.prototype.hasOwnProperty.call(dF,dD)){dE.push(dD)}}var dG={};dE.sort();var dB=dE.length;var dC;for(dC=0;dC<dB;dC++){dG[dE[dC]]=dF[dE[dC]]}return dG}function cm(){dw(aY("ses"),"1",cy,by,de,b1,aN)}function bn(){var dE="";var dC="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dD=dC.length;
+var dB;for(dB=0;dB<6;dB++){dE+=dC.charAt(Math.floor(Math.random()*dD))}return dE}function aE(dC){if(cx!==""){dC+=cx;bo=true;return dC}if(!h){return dC}var dD=(typeof h.timing==="object")&&h.timing?h.timing:undefined;if(!dD){dD=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:undefined}if(!dD){return dC}var dB="";if(dD.connectEnd&&dD.fetchStart){if(dD.connectEnd<dD.fetchStart){return dC}dB+="&pf_net="+Math.round(dD.connectEnd-dD.fetchStart)}if(dD.responseStart&&dD.requestStart){if(dD.responseStart<dD.requestStart){return dC}dB+="&pf_srv="+Math.round(dD.responseStart-dD.requestStart)}if(dD.responseStart&&dD.responseEnd){if(dD.responseEnd<dD.responseStart){return dC}dB+="&pf_tfr="+Math.round(dD.responseEnd-dD.responseStart)}if(M(dD.domLoading)){if(dD.domInteractive&&dD.domLoading){if(dD.domInteractive<dD.domLoading){return dC}dB+="&pf_dm1="+Math.round(dD.domInteractive-dD.domLoading)}}else{if(dD.domInteractive&&dD.responseEnd){if(dD.domInteractive<dD.responseEnd){return dC
+}dB+="&pf_dm1="+Math.round(dD.domInteractive-dD.responseEnd)}}if(dD.domComplete&&dD.domInteractive){if(dD.domComplete<dD.domInteractive){return dC}dB+="&pf_dm2="+Math.round(dD.domComplete-dD.domInteractive)}if(dD.loadEventEnd&&dD.loadEventStart){if(dD.loadEventEnd<dD.loadEventStart){return dC}dB+="&pf_onl="+Math.round(dD.loadEventEnd-dD.loadEventStart)}return dC+dB}function dr(){var dL,dE=new Date(),dF=Math.round(dE.getTime()/1000),dQ,dD,dG=1024,dN,dH,dC=aY("ses"),dK=aY("ref"),dJ=aH(dC),dB=bV(),dP=bb||bW,dM,dI,dO={};dM=dB[0];dI=dB[1];dQ=dB[2];dD=dB[3];if(!dJ){if(!bE||!dM.length){for(dL in cB){if(Object.prototype.hasOwnProperty.call(cB,dL)){dM=e(dP,cB[dL]);if(dM.length){break}}}for(dL in bP){if(Object.prototype.hasOwnProperty.call(bP,dL)){dI=e(dP,bP[dL]);if(dI.length){break}}}}dN=d(bw);dH=dD.length?d(dD):"";if(dN.length&&!a2(dN)&&!cC(bw)&&(!bE||!dH.length||a2(dH)||cC(dD))){dD=bw}if(dD.length||dM.length){dQ=dF;dB=[dM,dI,dQ,cb(dD.slice(0,dG))];dw(dK,W.JSON.stringify(dB),dm,by,de,b1,aN)}}if(dM.length){dO._rcn=t(dM)
+}if(dI.length){dO._rck=t(dI)}dO._refts=dQ;if(String(dD).length){dO._ref=t(cb(dD.slice(0,dG)))}return dO}function cE(dC,dN,dO){var dM,dB=new Date(),dL=aV,dH=aY("cvar"),dP=bb||bW;if(bt){aJ()}if(c5){return""}var dI=a5();var dF=J.characterSet||J.charset;if(!dF||dF.toLowerCase()==="utf-8"){dF=null}dC+="&idsite="+cf+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dB.getHours()+"&m="+dB.getMinutes()+"&s="+dB.getSeconds()+"&url="+t(cb(dP))+(bw.length&&!cC(bw)?"&urlref="+t(cb(bw)):"")+(ac(bH)?"&uid="+t(bH):"")+"&_id="+dI.uuid+"&_idn="+dI.newVisitor+(dF?"&cs="+t(dF):"")+"&send_image=0";var dK=dr();for(dM in dK){if(Object.prototype.hasOwnProperty.call(dK,dM)){dC+="&"+dM+"="+dK[dM]}}var dR=cX();for(dM in dR){if(Object.prototype.hasOwnProperty.call(dR,dM)){dC+="&"+dM+"="+dR[dM]}}var dS=[];if(dN){for(dM in dN){if(Object.prototype.hasOwnProperty.call(dN,dM)&&/^dimension\d+$/.test(dM)){var dD=dM.replace("dimension","");dS.push(parseInt(dD,10));dS.push(String(dD));dC+="&"+dM+"="+t(dN[dM]);delete dN[dM]
+}}}if(dN&&D(dN)){dN=null}for(dM in cG){if(Object.prototype.hasOwnProperty.call(cG,dM)){dC+="&"+dM+"="+t(cG[dM])}}for(dM in bv){if(Object.prototype.hasOwnProperty.call(bv,dM)){var dG=(-1===P(dS,dM));if(dG){dC+="&dimension"+dM+"="+t(bv[dM])}}}if(dN){dC+="&data="+t(W.JSON.stringify(dN))}else{if(at){dC+="&data="+t(W.JSON.stringify(at))}}function dE(dT,dU){var dV=W.JSON.stringify(dT);if(dV.length>2){return"&"+dU+"="+t(dV)}return""}var dQ=dA(b5);var dJ=dA(cw);dC+=dE(dQ,"cvar");dC+=dE(dJ,"e_cvar");if(aV){dC+=dE(aV,"_cvar");for(dM in dL){if(Object.prototype.hasOwnProperty.call(dL,dM)){if(aV[dM][0]===""||aV[dM][1]===""){delete aV[dM]}}}if(bZ){dw(dH,W.JSON.stringify(aV),cy,by,de,b1,aN)}}if(a9&&bN&&!bo){dC=aE(dC);bo=true}if(aQ){dC+="&pv_id="+aQ}aR(dI);cm();dC+=ag(dO,{tracker:bR,request:dC});if(dg.length){dC+="&"+dg}if(C(cl)){dC=cl(dC)}return dC}b0=function be(){var dB=new Date();dB=dB.getTime();if(!df){return false}if(df+bc<=dB){bR.ping();return true}return false};function bz(dE,dD,dI,dF,dB,dL){var dH="idgoal=0",dC=new Date(),dJ=[],dK,dG=String(dE).length;
+if(dG){dH+="&ec_id="+t(dE)}dH+="&revenue="+dD;if(String(dI).length){dH+="&ec_st="+dI}if(String(dF).length){dH+="&ec_tx="+dF}if(String(dB).length){dH+="&ec_sh="+dB}if(String(dL).length){dH+="&ec_dt="+dL}if(dh){for(dK in dh){if(Object.prototype.hasOwnProperty.call(dh,dK)){if(!M(dh[dK][1])){dh[dK][1]=""}if(!M(dh[dK][2])){dh[dK][2]=""}if(!M(dh[dK][3])||String(dh[dK][3]).length===0){dh[dK][3]=0}if(!M(dh[dK][4])||String(dh[dK][4]).length===0){dh[dK][4]=1}dJ.push(dh[dK])}}dH+="&ec_items="+t(W.JSON.stringify(dJ))}dH=cE(dH,at,"ecommerce");bO(dH,bS);if(dG){dh={}}}function b7(dB,dF,dE,dD,dC,dG){if(String(dB).length&&M(dF)){bz(dB,dF,dE,dD,dC,dG)}}function bB(dB){if(M(dB)){bz("",dB,"","","","")}}function b9(dC,dE,dD){if(!bJ){aQ=bn()}var dB=cE("action_name="+t(ap(dC||bq)),dE,"log");if(a9&&!bo){dB=aE(dB)}bO(dB,bS,dD)}function a7(dD,dC){var dE,dB="(^| )(piwik[_-]"+dC+"|matomo[_-]"+dC;if(dD){for(dE=0;dE<dD.length;dE++){dB+="|"+dD[dE]}}dB+=")( |$)";return new RegExp(dB)}function a0(dB){return(aI&&dB&&0===String(dB).indexOf(aI))
+}function cI(dF,dB,dG,dC){if(a0(dB)){return 0}var dE=a7(bU,"download"),dD=a7(bf,"link"),dH=new RegExp("\\.("+dn.join("|")+")([?&#]|$)","i");if(dD.test(dF)){return"link"}if(dC||dE.test(dF)||dH.test(dB)){return"download"}if(dG){return 0}return"link"}function ay(dC){var dB;dB=dC.parentNode;while(dB!==null&&M(dB)){if(ai.isLinkElement(dC)){break}dC=dB;dB=dC.parentNode}return dC}function du(dG){dG=ay(dG);if(!ai.hasNodeAttribute(dG,"href")){return}if(!M(dG.href)){return}var dF=ai.getAttributeValueFromNode(dG,"href");var dC=dG.pathname||cv(dG.href);var dH=dG.hostname||d(dG.href);var dI=dH.toLowerCase();var dD=dG.href.replace(dH,dI);var dE=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dE.test(dD)){var dB=cI(dG.className,dD,aw(dI,dC),ai.hasNodeAttribute(dG,"download"));if(dB){return{type:dB,href:dD}}}}function aU(dB,dC,dD,dE){var dF=w.buildInteractionRequestParams(dB,dC,dD,dE);if(!dF){return}return cE(dF,null,"contentInteraction")}function bi(dB,dC){if(!dB||!dC){return false
+}var dD=w.findTargetNode(dB);if(w.shouldIgnoreInteraction(dD)){return false}dD=w.findTargetNodeNoDefault(dB);if(dD&&!Y(dD,dC)){return false}return true}function cH(dD,dC,dF){if(!dD){return}var dB=w.findParentContentNode(dD);if(!dB){return}if(!bi(dB,dD)){return}var dE=w.buildContentBlock(dB);if(!dE){return}if(!dE.target&&dF){dE.target=dF}return w.buildInteractionRequestParams(dC,dE.name,dE.piece,dE.target)}function a3(dC){if(!ck||!ck.length){return false}var dB,dD;for(dB=0;dB<ck.length;dB++){dD=ck[dB];if(dD&&dD.name===dC.name&&dD.piece===dC.piece&&dD.target===dC.target){return true}}return false}function a4(dB){return function(dF){if(!dB){return}var dD=w.findParentContentNode(dB);var dC;if(dF){dC=dF.target||dF.srcElement}if(!dC){dC=dB}if(!bi(dD,dC)){return}if(!dD){return false}var dG=w.findTargetNode(dD);if(!dG||w.shouldIgnoreInteraction(dG)){return false}var dE=du(dG);if(dq&&dE&&dE.type){return dE.type}return bR.trackContentInteractionNode(dC,"click")}}function ca(dD){if(!dD||!dD.length){return
+}var dB,dC;for(dB=0;dB<dD.length;dB++){dC=w.findTargetNode(dD[dB]);if(dC&&!dC.contentInteractionTrackingSetupDone){dC.contentInteractionTrackingSetupDone=true;ar(dC,"click",a4(dC))}}}function bG(dD,dE){if(!dD||!dD.length){return[]}var dB,dC;for(dB=0;dB<dD.length;dB++){if(a3(dD[dB])){dD.splice(dB,1);dB--}else{ck.push(dD[dB])}}if(!dD||!dD.length){return[]}ca(dE);var dF=[];for(dB=0;dB<dD.length;dB++){dC=cE(w.buildImpressionRequestParams(dD[dB].name,dD[dB].piece,dD[dB].target),undefined,"contentImpressions");if(dC){dF.push(dC)}}return dF}function cO(dC){var dB=w.collectContent(dC);return bG(dB,dC)}function bg(dC){if(!dC||!dC.length){return[]}var dB;for(dB=0;dB<dC.length;dB++){if(!w.isNodeVisible(dC[dB])){dC.splice(dB,1);dB--}}if(!dC||!dC.length){return[]}return cO(dC)}function aK(dD,dB,dC){var dE=w.buildImpressionRequestParams(dD,dB,dC);return cE(dE,null,"contentImpression")}function dt(dE,dC){if(!dE){return}var dB=w.findParentContentNode(dE);var dD=w.buildContentBlock(dB);if(!dD){return}if(!dC){dC="Unknown"
+}return aU(dC,dD.name,dD.piece,dD.target)}function c4(dC,dE,dB,dD){return"e_c="+t(dC)+"&e_a="+t(dE)+(M(dB)?"&e_n="+t(dB):"")+(M(dD)?"&e_v="+t(dD):"")+"&ca=1"}function ax(dD,dF,dB,dE,dH,dG){if(!ac(dD)||!ac(dF)){ao("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dC=cE(c4(dD,dF,dB,dE),dH,"event");bO(dC,bS,dG)}function ch(dB,dE,dC,dF){var dD=cE("search="+t(dB)+(dE?"&search_cat="+t(dE):"")+(M(dC)?"&search_count="+dC:""),dF,"sitesearch");bO(dD,bS)}function c8(dB,dF,dE,dD){var dC=cE("idgoal="+dB+(dF?"&revenue="+dF:""),dE,"goal");bO(dC,bS,dD)}function di(dE,dB,dI,dH,dD){var dG=dB+"="+t(cb(dE));var dC=cH(dD,"click",dE);if(dC){dG+="&"+dC}var dF=cE(dG,dI,"link");bO(dF,bS,dH)}function b3(dC,dB){if(dC!==""){return dC+dB.charAt(0).toUpperCase()+dB.slice(1)}return dB}function cq(dG){var dF,dB,dE=["","webkit","ms","moz"],dD;if(!bl){for(dB=0;dB<dE.length;dB++){dD=dE[dB];if(Object.prototype.hasOwnProperty.call(J,b3(dD,"hidden"))){if(J[b3(dD,"visibilityState")]==="prerender"){dF=true
+}break}}}if(dF){ar(J,dD+"visibilitychange",function dC(){J.removeEventListener(dD+"visibilitychange",dC,false);dG()});return}dG()}function bA(){var dC=bR.getVisitorId();var dB=aO();return dC+dB}function ct(dB){if(!dB){return}if(!ai.hasNodeAttribute(dB,"href")){return}var dC=ai.getAttributeValueFromNode(dB,"href");if(!dC||a0(dC)){return}if(!bR.getVisitorId()){return}dC=j(dC,az);var dD=bA();dC=I(dC,az,dD);ai.setAnyAttribute(dB,"href",dC)}function bs(dE){var dF=ai.getAttributeValueFromNode(dE,"href");if(!dF){return false}dF=String(dF);var dC=dF.indexOf("//")===0||dF.indexOf("http://")===0||dF.indexOf("https://")===0;if(!dC){return false}var dB=dE.pathname||cv(dE.href);var dD=(dE.hostname||d(dE.href)).toLowerCase();if(aw(dD,dB)){if(!cW(c9,O(dD))){return true}return false}return false}function cV(dB){var dC=du(dB);if(dC&&dC.type){dC.href=p(dC.href);di(dC.href,dC.type,undefined,null,dB);return}if(c2){dB=ay(dB);if(bs(dB)){ct(dB)}}}function cJ(){return J.all&&!J.addEventListener}function da(dB){var dD=dB.which;
+var dC=(typeof dB.button);if(!dD&&dC!=="undefined"){if(cJ()){if(dB.button&1){dD=1}else{if(dB.button&2){dD=3}else{if(dB.button&4){dD=2}}}}else{if(dB.button===0||dB.button==="0"){dD=1}else{if(dB.button&1){dD=2}else{if(dB.button&2){dD=3}}}}}return dD}function b2(dB){switch(da(dB)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a8(dB){return dB.target||dB.srcElement}function db(dB){return dB==="A"||dB==="AREA"}function aG(dB){function dC(dE){var dF=a8(dE);var dG=dF.nodeName;var dD=a7(bI,"ignore");while(!db(dG)&&dF&&dF.parentNode){dF=dF.parentNode;dG=dF.nodeName}if(dF&&db(dG)&&!dD.test(dF.className)){return dF}}return function(dF){dF=dF||W.event;var dG=dC(dF);if(!dG){return}var dE=b2(dF);if(dF.type==="click"){var dD=false;if(dB&&dE==="middle"){dD=true}if(dG&&!dD){cV(dG)}}else{if(dF.type==="mousedown"){if(dE==="middle"&&dG){aW=dE;bK=dG}else{aW=bK=null}}else{if(dF.type==="mouseup"){if(dE===aW&&dG===bK){cV(dG)}aW=bK=null}else{if(dF.type==="contextmenu"){cV(dG)}}}}}}function av(dE,dD,dB){var dC=typeof dD;
+if(dC==="undefined"){dD=true}ar(dE,"click",aG(dD),dB);if(dD){ar(dE,"mouseup",aG(dD),dB);ar(dE,"mousedown",aG(dD),dB);ar(dE,"contextmenu",aG(dD),dB)}}function aX(dC,dF,dG){if(co){return true}co=true;var dH=false;var dE,dD;function dB(){dH=true}n(function(){function dI(dK){setTimeout(function(){if(!co){return}dH=false;dG.trackVisibleContentImpressions();dI(dK)},dK)}function dJ(dK){setTimeout(function(){if(!co){return}if(dH){dH=false;dG.trackVisibleContentImpressions()}dJ(dK)},dK)}if(dC){dE=["scroll","resize"];for(dD=0;dD<dE.length;dD++){if(J.addEventListener){J.addEventListener(dE[dD],dB,false)}else{W.attachEvent("on"+dE[dD],dB)}}dJ(100)}if(dF&&dF>0){dF=parseInt(dF,10);dI(dF)}})}var bM={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dB=this.requests;this.requests=[];if(dB.length===1){bO(dB[0],bS)}else{dx(dB,bS)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dC){if(!this.canQueue()){dx(dC,bS);return}var dB;for(dB=0;dB<dC.length;dB++){this.push(dC[dB])
+}},push:function(dB){if(!dB){return}if(!this.canQueue()){bO(dB,bS);return}bM.requests.push(dB);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bM.timeout=null;bM.sendRequests()},bM.interval);var dC="RequestQueue"+aB;if(!Object.prototype.hasOwnProperty.call(b,dC)){b[dC]={unload:function(){if(bM.timeout){clearTimeout(bM.timeout)}bM.sendRequests()}}}}};bp();this.hasConsent=function(){return bL};this.getVisitorInfo=function(){if(!aH(aY("id"))){aR()}return c3()};this.getVisitorId=function(){return this.getVisitorInfo()[1]};this.getAttributionInfo=function(){return bV()};this.getAttributionCampaignName=function(){return bV()[0]};this.getAttributionCampaignKeyword=function(){return bV()[1]};this.getAttributionReferrerTimestamp=function(){return bV()[2]};this.getAttributionReferrerUrl=function(){return bV()[3]};this.setTrackerUrl=function(dB){aI=dB};this.getTrackerUrl=function(){return aI};this.getMatomoUrl=function(){return aa(this.getTrackerUrl(),bQ)
+};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dD,dC){if(!M(dD)||null===dD){dD=this.getTrackerUrl()}var dB=new T(dD,dC);L.push(dB);u.trigger("TrackerAdded",[this]);return dB};this.getSiteId=function(){return cf};this.setSiteId=function(dB){cc(dB)};this.resetUserId=function(){bH=""};this.setUserId=function(dB){if(ac(dB)){bH=dB}};this.setVisitorId=function(dC){var dB=/[0-9A-Fa-f]{16}/g;if(x(dC)&&dB.test(dC)){bX=dC}else{ao("Invalid visitorId set"+dC)}};this.getUserId=function(){return bH};this.setCustomData=function(dB,dC){if(Z(dB)){at=dB}else{if(!at){at={}}at[dB]=dC}};this.getCustomData=function(){return at};this.setCustomRequestProcessing=function(dB){cl=dB};this.appendToTrackingUrl=function(dB){dg=dB};this.getRequest=function(dB){return cE(dB)};this.addPlugin=function(dB,dC){b[dB]=dC};this.setCustomDimension=function(dB,dC){dB=parseInt(dB,10);if(dB>0){if(!M(dC)){dC=""}if(!x(dC)){dC=String(dC)}bv[dB]=dC}};this.getCustomDimension=function(dB){dB=parseInt(dB,10);
+if(dB>0&&Object.prototype.hasOwnProperty.call(bv,dB)){return bv[dB]}};this.deleteCustomDimension=function(dB){dB=parseInt(dB,10);if(dB>0){delete bv[dB]}};this.setCustomVariable=function(dC,dB,dF,dD){var dE;if(!M(dD)){dD="visit"}if(!M(dB)){return}if(!M(dF)){dF=""}if(dC>0){dB=!x(dB)?String(dB):dB;dF=!x(dF)?String(dF):dF;dE=[dB.slice(0,bC),dF.slice(0,bC)];if(dD==="visit"||dD===2){cU();aV[dC]=dE}else{if(dD==="page"||dD===3){b5[dC]=dE}else{if(dD==="event"){cw[dC]=dE}}}}};this.getCustomVariable=function(dC,dD){var dB;if(!M(dD)){dD="visit"}if(dD==="page"||dD===3){dB=b5[dC]}else{if(dD==="event"){dB=cw[dC]}else{if(dD==="visit"||dD===2){cU();dB=aV[dC]}}}if(!M(dB)||(dB&&dB[0]==="")){return false}return dB};this.deleteCustomVariable=function(dB,dC){if(this.getCustomVariable(dB,dC)){this.setCustomVariable(dB,"","",dC)}};this.deleteCustomVariables=function(dB){if(dB==="page"||dB===3){b5={}}else{if(dB==="event"){cw={}}else{if(dB==="visit"||dB===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bZ=true
+};this.setLinkTrackingTimer=function(dB){bS=dB};this.getLinkTrackingTimer=function(){return bS};this.setDownloadExtensions=function(dB){if(x(dB)){dB=dB.split("|")}dn=dB};this.addDownloadExtensions=function(dC){var dB;if(x(dC)){dC=dC.split("|")}for(dB=0;dB<dC.length;dB++){dn.push(dC[dB])}};this.removeDownloadExtensions=function(dD){var dC,dB=[];if(x(dD)){dD=dD.split("|")}for(dC=0;dC<dn.length;dC++){if(P(dD,dn[dC])===-1){dB.push(dn[dC])}}dn=dB};this.setDomains=function(dB){aC=x(dB)?[dB]:dB;var dF=false,dD=0,dC;for(dD;dD<aC.length;dD++){dC=String(aC[dD]);if(cW(c9,O(dC))){dF=true;break}var dE=cv(dC);if(dE&&dE!=="/"&&dE!=="/*"){dF=true;break}}if(!dF){aC.push(c9)}};this.setExcludedReferrers=function(dB){cL=x(dB)?[dB]:dB};this.enableCrossDomainLinking=function(){c2=true};this.disableCrossDomainLinking=function(){c2=false};this.isCrossDomainLinkingEnabled=function(){return c2};this.setCrossDomainLinkingTimeout=function(dB){a6=dB};this.getCrossDomainLinkingUrlParameter=function(){return t(az)+"="+t(bA())
+};this.setIgnoreClasses=function(dB){bI=x(dB)?[dB]:dB};this.setRequestMethod=function(dB){if(dB){ds=String(dB).toUpperCase()}else{ds=cr}if(ds==="GET"){this.disableAlwaysUseSendBeacon()}};this.setRequestContentType=function(dB){cK=dB||aM};this.setGenerationTimeMs=function(dB){ao("setGenerationTimeMs is no longer supported since Matomo 4. The call will be ignored. The replacement is setPagePerformanceTiming.")};this.setPagePerformanceTiming=function(dF,dH,dG,dC,dI,dD){var dE={pf_net:dF,pf_srv:dH,pf_tfr:dG,pf_dm1:dC,pf_dm2:dI,pf_onl:dD};try{dE=Q(dE,M);dE=B(dE);cx=l(dE);if(cx===""){ao("setPagePerformanceTiming() called without parameters. This function needs to be called with at least one performance parameter.");return}bo=false;bN=true}catch(dB){ao("setPagePerformanceTiming: "+dB.toString())}};this.setReferrerUrl=function(dB){bw=dB};this.setCustomUrl=function(dB){bb=b4(bW,dB)};this.getCurrentUrl=function(){return bb||bW};this.setDocumentTitle=function(dB){bq=dB};this.setPageViewId=function(dB){aQ=dB;
+bJ=true};this.setAPIUrl=function(dB){bQ=dB};this.setDownloadClasses=function(dB){bU=x(dB)?[dB]:dB};this.setLinkClasses=function(dB){bf=x(dB)?[dB]:dB};this.setCampaignNameKey=function(dB){cB=x(dB)?[dB]:dB};this.setCampaignKeywordKey=function(dB){bP=x(dB)?[dB]:dB};this.discardHashTag=function(dB){bY=dB};this.setCookieNamePrefix=function(dB){br=dB;if(aV){aV=b6()}};this.setCookieDomain=function(dB){var dC=O(dB);if(!bt&&!bF(dC)){ao("Can't write cookie on domain "+dB)}else{de=dC;bp()}};this.setExcludedQueryParams=function(dB){cs=x(dB)?[dB]:dB};this.getCookieDomain=function(){return de};this.hasCookies=function(){return"1"===ce()};this.setSessionCookie=function(dD,dC,dB){if(!dD){throw new Error("Missing cookie name")}if(!M(dB)){dB=cy}bD.push(dD);dw(aY(dD),dC,dB,by,de,b1,aN)};this.getCookie=function(dC){var dB=aH(aY(dC));if(dB===0){return null}return dB};this.setCookiePath=function(dB){by=dB;bp()};this.getCookiePath=function(dB){return by};this.setVisitorCookieTimeout=function(dB){cZ=dB*1000};this.setSessionCookieTimeout=function(dB){cy=dB*1000
+};this.getSessionCookieTimeout=function(){return cy};this.setReferralCookieTimeout=function(dB){dm=dB*1000};this.setConversionAttributionFirstReferrer=function(dB){bE=dB};this.setSecureCookie=function(dB){if(dB&&location.protocol!=="https:"){ao("Error in setSecureCookie: You cannot use `Secure` on http.");return}b1=dB};this.setCookieSameSite=function(dB){dB=String(dB);dB=dB.charAt(0).toUpperCase()+dB.toLowerCase().slice(1);if(dB!=="None"&&dB!=="Lax"&&dB!=="Strict"){ao("Ignored value for sameSite. Please use either Lax, None, or Strict.");return}if(dB==="None"){if(location.protocol==="https:"){this.setSecureCookie(true)}else{ao("sameSite=None cannot be used on http, reverted to sameSite=Lax.");dB="Lax"}}aN=dB};this.disableCookies=function(){bt=true;if(cf){aJ()}};this.areCookiesEnabled=function(){return !bt};this.setCookieConsentGiven=function(){if(bt&&!c5){bt=false;dd=true;if(cf&&aA){aR();var dB=cE("ping=1",null,"ping");bO(dB,bS)}}};this.requireCookieConsent=function(){if(this.getRememberedCookieConsent()){return false
+}this.disableCookies();return true};this.getRememberedCookieConsent=function(){return aH(cS)};this.forgetCookieConsentGiven=function(){b8(cS,by,de);this.disableCookies()};this.rememberCookieConsentGiven=function(dC){if(dC){dC=dC*60*60*1000}else{dC=30*365*24*60*60*1000}this.setCookieConsentGiven();var dB=new Date().getTime();dw(cS,dB,dC,by,de,b1,aN)};this.deleteCookies=function(){aJ()};this.setDoNotTrack=function(dC){var dB=g.doNotTrack||g.msDoNotTrack;c5=dC&&(dB==="yes"||dB==="1");if(c5){this.disableCookies()}};this.alwaysUseSendBeacon=function(){dc=true};this.disableAlwaysUseSendBeacon=function(){dc=false};this.addListener=function(dC,dB){av(dC,dB,false)};this.enableLinkTracking=function(dC){if(dq){return}dq=true;var dB=this;q(function(){au=true;var dD=J.body;av(dD,dC,true)})};this.enableJSErrorTracking=function(){if(c7){return}c7=true;var dB=W.onerror;W.onerror=function(dG,dE,dD,dF,dC){cq(function(){var dH="JavaScript Errors";var dI=dE+":"+dD;if(dF){dI+=":"+dF}if(P(cF,dH+dI+dG)===-1){cF.push(dH+dI+dG);
+ax(dH,dI,dG)}});if(dB){return dB(dG,dE,dD,dF,dC)}return false}};this.disablePerformanceTracking=function(){a9=false};this.enableHeartBeatTimer=function(dB){dB=Math.max(dB||15,5);bc=dB*1000;if(df!==null){dy()}};this.disableHeartBeatTimer=function(){if(bc||aS){if(W.removeEventListener){W.removeEventListener("focus",bh);W.removeEventListener("blur",aD);W.removeEventListener("visibilitychange",a1)}else{if(W.detachEvent){W.detachEvent("onfocus",bh);W.detachEvent("onblur",aD);W.detachEvent("visibilitychange",a1)}}}bc=null;aS=false};this.killFrame=function(){if(W.location!==W.top.location){W.top.location=W.location}};this.redirectFile=function(dB){if(W.location.protocol==="file:"){W.location=dB}};this.setCountPreRendered=function(dB){bl=dB};this.trackGoal=function(dB,dE,dD,dC){cq(function(){c8(dB,dE,dD,dC)})};this.trackLink=function(dC,dB,dE,dD){cq(function(){di(dC,dB,dE,dD)})};this.getNumTrackedPageViews=function(){return cD};this.trackPageView=function(dB,dD,dC){ck=[];c0=[];cF=[];if(R(cf)){cq(function(){ad(aI,bQ,cf)
+})}else{cq(function(){cD++;b9(dB,dD,dC)})}};this.disableBrowserFeatureDetection=function(){dd=false};this.enableBrowserFeatureDetection=function(){dd=true};this.trackAllContentImpressions=function(){if(R(cf)){return}cq(function(){q(function(){var dB=w.findContentNodes();var dC=cO(dB);bM.pushMultiple(dC)})})};this.trackVisibleContentImpressions=function(dB,dC){if(R(cf)){return}if(!M(dB)){dB=true}if(!M(dC)){dC=750}aX(dB,dC,this);cq(function(){n(function(){var dD=w.findContentNodes();var dE=bg(dD);bM.pushMultiple(dE)})})};this.trackContentImpression=function(dD,dB,dC){if(R(cf)){return}dD=a(dD);dB=a(dB);dC=a(dC);if(!dD){return}dB=dB||"Unknown";cq(function(){var dE=aK(dD,dB,dC);bM.push(dE)})};this.trackContentImpressionsWithinNode=function(dB){if(R(cf)||!dB){return}cq(function(){if(co){n(function(){var dC=w.findContentNodesWithinNode(dB);var dD=bg(dC);bM.pushMultiple(dD)})}else{q(function(){var dC=w.findContentNodesWithinNode(dB);var dD=cO(dC);bM.pushMultiple(dD)})}})};this.trackContentInteraction=function(dD,dE,dB,dC){if(R(cf)){return
+}dD=a(dD);dE=a(dE);dB=a(dB);dC=a(dC);if(!dD||!dE){return}dB=dB||"Unknown";cq(function(){var dF=aU(dD,dE,dB,dC);if(dF){bM.push(dF)}})};this.trackContentInteractionNode=function(dD,dC){if(R(cf)||!dD){return}var dB=null;cq(function(){dB=dt(dD,dC);if(dB){bM.push(dB)}});return dB};this.logAllContentBlocksOnPage=function(){var dD=w.findContentNodes();var dB=w.collectContent(dD);var dC=typeof console;if(dC!=="undefined"&&console&&console.log){console.log(dB)}};this.trackEvent=function(dC,dE,dB,dD,dG,dF){cq(function(){ax(dC,dE,dB,dD,dG,dF)})};this.trackSiteSearch=function(dB,dD,dC,dE){ck=[];cq(function(){ch(dB,dD,dC,dE)})};this.setEcommerceView=function(dF,dB,dD,dC){cG={};if(ac(dD)){dD=String(dD)}if(!M(dD)||dD===null||dD===false||!dD.length){dD=""}else{if(dD instanceof Array){dD=W.JSON.stringify(dD)}}var dE="_pkc";cG[dE]=dD;if(M(dC)&&dC!==null&&dC!==false&&String(dC).length){dE="_pkp";cG[dE]=dC}if(!ac(dF)&&!ac(dB)){return}if(ac(dF)){dE="_pks";cG[dE]=dF}if(!ac(dB)){dB=""}dE="_pkn";cG[dE]=dB};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(dh))
+};this.addEcommerceItem=function(dF,dB,dD,dC,dE){if(ac(dF)){dh[dF]=[String(dF),dB,dD,dC,dE]}};this.removeEcommerceItem=function(dB){if(ac(dB)){dB=String(dB);delete dh[dB]}};this.clearEcommerceCart=function(){dh={}};this.trackEcommerceOrder=function(dB,dF,dE,dD,dC,dG){b7(dB,dF,dE,dD,dC,dG)};this.trackEcommerceCartUpdate=function(dB){bB(dB)};this.trackRequest=function(dC,dE,dD,dB){cq(function(){var dF=cE(dC,dE,dB);bO(dF,bS,dD)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bM.enabled=false};this.setRequestQueueInterval=function(dB){if(dB<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bM.interval=dB};this.queueRequest=function(dB){cq(function(){var dC=cE(dB);bM.push(dC)})};this.isConsentRequired=function(){return cP};this.getRememberedConsent=function(){var dB=aH(bk);if(aH(c1)){if(dB){b8(bk,by,de)}return null}if(!dB||dB===0){return null}return dB};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()
+};this.requireConsent=function(){cP=true;bL=this.hasRememberedConsent();if(!bL){bt=true}y++;b["CoreConsent"+y]={unload:function(){if(!bL){aJ()}}}};this.setConsentGiven=function(dC){bL=true;dd=true;b8(c1,by,de);var dD,dB;for(dD=0;dD<c0.length;dD++){dB=typeof c0[dD];if(dB==="string"){bO(c0[dD],bS)}else{if(dB==="object"){dx(c0[dD],bS)}}}c0=[];if(!M(dC)||dC){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dD){if(dD){dD=dD*60*60*1000}else{dD=30*365*24*60*60*1000}var dB=true;this.setConsentGiven(dB);var dC=new Date().getTime();dw(bk,dC,dD,by,de,b1,aN)};this.forgetConsentGiven=function(){var dB=30*365*24*60*60*1000;b8(bk,by,de);dw(c1,new Date().getTime(),dB,by,de,b1,aN);this.forgetCookieConsentGiven();this.requireConsent()};this.isUserOptedOut=function(){return !bL};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};n(function(){setTimeout(function(){bN=true},0)});u.trigger("TrackerSetup",[this]);u.addPlugin("TrackerVisitorIdCookie"+aB,{unload:function(){if(!aA){aR();
+dr()}}})}function K(){return{push:aj}}function c(ay,ax){var az={};var av,aw;for(av=0;av<ax.length;av++){var at=ax[av];az[at]=1;for(aw=0;aw<ay.length;aw++){if(ay[aw]&&ay[aw][0]){var au=ay[aw][0];if(at===au){aj(ay[aw]);delete ay[aw];if(az[au]>1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableBrowserFeatureDetection","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","disableAlwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams","setExcludedReferrers"];
function ah(av,au){var at=new T(av,au);L.push(at);_paq=c(_paq,E);for(H=0;H<_paq.length;H++){if(_paq[H]){aj(_paq[H])}}_paq=new K();u.trigger("TrackerAdded",[at]);return at}ar(W,"beforeunload",am,false);ar(W,"visibilitychange",function(){if(m){return}if(J.visibilityState==="hidden"){ag("unload")}},false);ar(W,"online",function(){if(M(g.serviceWorker)){g.serviceWorker.ready.then(function(at){if(at&&at.sync){return at.sync.register("matomoSync")}},function(){})}},false);ar(W,"message",function(ay){if(!ay||!ay.origin){return}var aA,aw,au;var aB=d(ay.origin);var ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){au=d(ax[aw].getMatomoUrl());if(au===aB){aA=ax[aw];break}}if(!aA){return}var av=null;try{av=JSON.parse(ay.data)}catch(az){return}if(!av){return}function at(aE){var aG=J.getElementsByTagName("iframe");for(aw=0;aw<aG.length;aw++){var aF=aG[aw];var aC=d(aF.src);if(aF.contentWindow&&M(aF.contentWindow.postMessage)&&aC===aB){var aD=JSON.stringify(aE);aF.contentWindow.postMessage(aD,"*")}}}if(M(av.maq_initial_value)){at({maq_opted_in:av.maq_initial_value&&aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})
}else{if(M(av.maq_opted_in)){ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){aA=ax[aw];if(av.maq_opted_in){aA.rememberConsentGiven()}else{aA.forgetConsentGiven()}}at({maq_confirm_opted_in:aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;u={initialized:false,JSON:W.JSON,DOM:{addEventListener:function(aw,av,au,at){var ax=typeof at;if(ax==="undefined"){at=false}ar(aw,av,au,at)},onLoad:n,onReady:q,isNodeVisible:i,isOrWasNodeVisible:w.isNodeVisible},on:function(au,at){if(!z[au]){z[au]=[]}z[au].push(at)},off:function(av,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){if(z[av][at]===au){z[av].splice(at,1)}}},trigger:function(av,aw,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){z[av][at].apply(au||W,aw)}},addPlugin:function(at,au){b[at]=au},getTracker:function(au,at){if(!M(at)){at=this.getAsyncTracker().getSiteId()}if(!M(au)){au=this.getAsyncTracker().getTrackerUrl()
}return new T(au,at)},getAsyncTrackers:function(){return L},addTracker:function(av,au){var at;if(!L.length){at=ah(av,au)}else{at=L[0].addTracker(av,au)}return at},getAsyncTracker:function(ax,aw){var av;if(L&&L.length&&L[0]){av=L[0]}else{return ah(ax,aw)}if(!aw&&!ax){return av}if((!M(aw)||null===aw)&&av){aw=av.getSiteId()}if((!M(ax)||null===ax)&&av){ax=av.getTrackerUrl()}var au,at=0;for(at;at<L.length;at++){au=L[at];if(au&&String(au.getSiteId())===String(aw)&&au.getTrackerUrl()===ax){return au}}},retryMissedPluginCalls:function(){var au=al;al=[];var at=0;for(at;at<au.length;at++){aj(au[at])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return u});define("matomo",[],function(){return u})}return u}())}
diff --git a/matomo.js b/matomo.js
index 6893f82409..58e9482f66 100644
--- a/matomo.js
+++ b/matomo.js
@@ -29,42 +29,43 @@ at=ai.findFirstNodeHavingAttribute(au,this.CONTENT_PIECE_ATTR);if(!at){at=ai.fin
}if(aw){aw+="&ca=1"}return aw},buildContentBlock:function(av){if(!av){return}var at=this.findContentName(av);var au=this.findContentPiece(av);var aw=this.findContentTarget(av);at=this.trim(at);au=this.trim(au);aw=this.trim(aw);return{name:at||"Unknown",piece:au||"Unknown",target:aw||""}},collectContent:function(aw){if(!aw||!aw.length){return[]}var av=[];var at,au;for(at=0;at<aw.length;at++){au=this.buildContentBlock(aw[at]);if(M(au)){av.push(au)}}return av},setLocation:function(at){this.location=at},getLocation:function(){var at=this.location||W.location;if(!at.origin){at.origin=at.protocol+"//"+at.hostname+(at.port?":"+at.port:"")}return at},toAbsoluteUrl:function(au){if((!au||String(au)!==au)&&au!==""){return au}if(""===au){return this.getLocation().href}if(au.search(/^\/\//)!==-1){return this.getLocation().protocol+au}if(au.search(/:\/\//)!==-1){return au}if(0===au.indexOf("#")){return this.getLocation().origin+this.getLocation().pathname+au}if(0===au.indexOf("?")){return this.getLocation().origin+this.getLocation().pathname+au
}if(0===au.search("^[a-zA-Z]{2,11}:")){return au}if(au.search(/^\//)!==-1){return this.getLocation().origin+au}var at="(.*/)";var av=this.getLocation().origin+this.getLocation().pathname.match(new RegExp(at))[0];return av+au},isUrlToCurrentDomain:function(au){var av=this.toAbsoluteUrl(au);if(!av){return false}var at=this.getLocation().origin;if(at===av){return true}if(0===String(av).indexOf(at)){if(":"===String(av).substr(at.length,1)){return false}return true}return false},setHrefAttribute:function(au,at){if(!au||!at){return}ai.setAnyAttribute(au,"href",at)},shouldIgnoreInteraction:function(at){if(ai.hasNodeAttribute(at,this.CONTENT_IGNOREINTERACTION_ATTR)){return true}if(ai.hasNodeCssClass(at,this.CONTENT_IGNOREINTERACTION_CLASS)){return true}if(ai.hasNodeCssClass(at,this.LEGACY_CONTENT_IGNOREINTERACTION_CLASS)){return true}return false}};function aa(au,ax){if(ax){return ax}au=w.toAbsoluteUrl(au);if(A(au,"?")){var aw=au.indexOf("?");au=au.slice(0,aw)}if(U(au,"matomo.php")){au=f(au,"matomo.php".length)
}else{if(U(au,"piwik.php")){au=f(au,"piwik.php".length)}else{if(U(au,".php")){var at=au.lastIndexOf("/");var av=1;au=au.slice(0,at+av)}}}if(U(au,"/js/")){au=f(au,"js/".length)}return au}function R(az){var aB="Matomo_Overlay";var au=new RegExp("index\\.php\\?module=Overlay&action=startOverlaySession&idSite=([0-9]+)&period=([^&]+)&date=([^&]+)(&segment=[^&]*)?");var av=au.exec(J.referrer);if(av){var ax=av[1];if(ax!==String(az)){return false}var ay=av[2],at=av[3],aw=av[4];if(!aw){aw=""}else{if(aw.indexOf("&segment=")===0){aw=aw.substr("&segment=".length)}}W.name=aB+"###"+ay+"###"+at+"###"+aw}var aA=W.name.split("###");return aA.length===4&&aA[0]===aB}function ad(au,az,av){var ay=W.name.split("###"),ax=ay[1],at=ay[2],aw=ay[3],aA=aa(au,az);o(aA+"plugins/Overlay/client/client.js?v=1",function(){Matomo_Overlay_Client.initialize(aA,av,ax,at,aw)})}function v(){var av;try{av=W.frameElement}catch(au){return true}if(M(av)){return(av&&String(av.nodeName).toLowerCase()==="iframe")?true:false}try{return W.self!==W.top
-}catch(at){return true}}function T(cj,cf){var bP=this,bj="mtm_consent",cN="mtm_cookie_consent",cW="mtm_consent_removed",ca=ae(J.domain,W.location.href,N()),c4=O(ca[0]),bT=p(ca[1]),bu=p(ca[2]),c2=false,cn="GET",dm=cn,aM="application/x-www-form-urlencoded; charset=UTF-8",cF=aM,aI=cj||"",bO="",db="",ct="",cc=cf||"",bF="",bU="",ba,bp="",di=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c4],bG=[],cG=[],co=[],bR=[],be=[],bQ=500,c7=true,cT,bb,bX,bV,at,cw=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bN=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],bq="_pk_",az="pk_vid",a5=180,c9,bw,bY=false,aN="Lax",bs=false,c0,bk,bC,cU=33955200000,cu=1800000,dh=15768000000,a8=true,bL=false,bn=false,bW=false,aV=false,ch,b2={},cs={},bt={},bA=200,cB={},dc={},dj={},cg=[],ck=false,cL=false,au=false,dk=false,cX=false,aS=false,bi=v(),cH=null,da=null,aW,bI,cd=aq,bv,aQ,bH=false,cy=0,bB=["id","ses","cvar","ref"],cK=false,bJ=null,cV=[],cA=[],aB=X++,aA=false,c8=true;
-try{bp=J.title}catch(cI){bp=""}function aH(dy){if(bs){return 0}var dw=new RegExp("(^|;)[ ]*"+dy+"=([^;]*)"),dx=dw.exec(J.cookie);return dx?V(dx[2]):0}bJ=!aH(cW);function dr(dA,dB,dE,dD,dy,dz,dC){if(bs&&dA!==cW){return}var dx;if(dE){dx=new Date();dx.setTime(dx.getTime()+dE)}if(!dC){dC="Lax"}J.cookie=dA+"="+t(dB)+(dE?";expires="+dx.toGMTString():"")+";path="+(dD||"/")+(dy?";domain="+dy:"")+(dz?";secure":"")+";SameSite="+dC;if((!dE||dE>=0)&&aH(dA)!==String(dB)){var dw="There was an error setting cookie `"+dA+"`. Please check domain and path.";ao(dw)}}function b8(dw){var dy,dx;dw=j(dw,az);for(dx=0;dx<co.length;dx++){dw=j(dw,co[dx])}if(bV){dy=new RegExp("#.*");return dw.replace(dy,"")}return dw}function b1(dy,dw){var dz=s(dw),dx;if(dz){return dw}if(dw.slice(0,1)==="/"){return s(dy)+"://"+d(dy)+dw}dy=b8(dy);dx=dy.indexOf("?");if(dx>=0){dy=dy.slice(0,dx)}dx=dy.lastIndexOf("/");if(dx!==dy.length-1){dy=dy.slice(0,dx+1)}return dy+dw}function cR(dy,dw){var dx;dy=String(dy).toLowerCase();dw=String(dw).toLowerCase();
-if(dy===dw){return true}if(dw.slice(0,1)==="."){if(dy===dw.slice(1)){return true}dx=dy.length-dw.length;if((dx>0)&&(dy.slice(dx)===dw)){return true}}return false}function cr(dw){var dx=document.createElement("a");if(dw.indexOf("//")!==0&&dw.indexOf("http")!==0){if(dw.indexOf("*")===0){dw=dw.substr(1)}if(dw.indexOf(".")===0){dw=dw.substr(1)}dw="http://"+dw}dx.href=w.toAbsoluteUrl(dw);if(dx.pathname){return dx.pathname}return""}function a9(dx,dw){if(!an(dw,"/")){dw="/"+dw}if(!an(dx,"/")){dx="/"+dx}var dy=(dw==="/"||dw==="/*");if(dy){return true}if(dx===dw){return true}dw=String(dw).toLowerCase();dx=String(dx).toLowerCase();if(U(dw,"*")){dw=dw.slice(0,-1);dy=(!dw||dw==="/");if(dy){return true}if(dx===dw){return true}return dx.indexOf(dw)===0}if(!U(dx,"/")){dx+="/"}if(!U(dw,"/")){dw+="/"}return dx.indexOf(dw)===0}function aw(dA,dC){var dx,dw,dy,dz,dB;for(dx=0;dx<aC.length;dx++){dz=O(aC[dx]);dB=cr(aC[dx]);if(cR(dA,dz)&&a9(dC,dB)){return true}}return false}function a1(dz){var dx,dw,dy;for(dx=0;
-dx<aC.length;dx++){dw=O(aC[dx].toLowerCase());if(dz===dw){return true}if(dw.slice(0,1)==="."){if(dz===dw.slice(1)){return true}dy=dz.length-dw.length;if((dy>0)&&(dz.slice(dy)===dw)){return true}}}return false}function cx(dw){var dx,dz,dB,dy,dA;if(!dw.length||!cG.length){return false}dz=d(dw);dB=cr(dw);if(dz.indexOf("www.")===0){dz=dz.substr(4)}for(dx=0;dx<cG.length;dx++){dy=O(cG[dx]);dA=cr(cG[dx]);if(dy.indexOf("www.")===0){dy=dy.substr(4)}if(cR(dz,dy)&&a9(dB,dA)){return true}}return false}function cv(dw,dy){dw=dw.replace("send_image=0","send_image=1");var dx=new Image(1,1);dx.onload=function(){H=0;if(typeof dy==="function"){dy({request:dw,trackerUrl:aI,success:true})}};dx.onerror=function(){if(typeof dy==="function"){dy({request:dw,trackerUrl:aI,success:false})}};dx.src=aI+(aI.indexOf("?")<0?"?":"&")+dw}function cO(dw){if(dm==="POST"){return true}return dw&&(dw.length>2000||dw.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob
-}function bc(dA,dD,dC){var dy=aP();if(!dy){return false}var dz={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dE=false;var dx=aI;try{var dw=new Blob([dA],dz);if(dC&&!cO(dA)){dw=new Blob([],dz);dx=dx+(dx.indexOf("?")<0?"?":"&")+dA}dE=g.sendBeacon(dx,dw)}catch(dB){return false}if(dE&&typeof dD==="function"){dD({request:dA,trackerUrl:aI,success:true,isSendBeacon:true})}return dE}function dg(dx,dy,dw){if(!M(dw)||null===dw){dw=true}if(m&&bc(dx,dy,dw)){return}setTimeout(function(){if(m&&bc(dx,dy,dw)){return}var dB;try{var dA=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dA.open("POST",aI,true);dA.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dC=m&&bc(dx,dy,dw);if(!dC&&dw){cv(dx,dy)}else{if(typeof dy==="function"){dy({request:dx,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dy==="function")){dy({request:dx,trackerUrl:aI,success:true,xhr:this})}}};
-dA.setRequestHeader("Content-Type",cF);dA.withCredentials=true;dA.send(dx)}catch(dz){dB=m&&bc(dx,dy,dw);if(!dB&&dw){cv(dx,dy)}else{if(typeof dy==="function"){dy({request:dx,trackerUrl:aI,success:false})}}}},50)}function cl(dx){var dw=new Date();var dy=dw.getTime()+dx;if(!r||dy>r){r=dy}}function bg(){bi=true;cH=new Date().getTime()}function dq(){var dw=new Date().getTime();return !cH||(dw-cH)>bb}function aD(){if(dq()){bX()}}function a0(){if(J.visibilityState==="hidden"&&dq()){bX()}else{if(J.visibilityState==="visible"){cH=new Date().getTime()}}}function dt(){if(aS||!bb){return}aS=true;ar(W,"focus",bg);ar(W,"blur",aD);ar(W,"visibilitychange",a0);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dq()){bX()}}})}function cM(dA){var dx=new Date();var dw=dx.getTime();da=dw;if(cL&&dw<cL){var dy=cL-dw;setTimeout(dA,dy);cl(dy+50);cL+=50;return}if(cL===false){var dz=800;cL=dw+dz}dA()}function aT(){if(aH(cW)){bJ=false}else{if(aH(bj)){bJ=true}}}function bM(dx,dw,dy){aT();if(!bJ){cV.push(dx);
-return}aA=true;if(!c0&&dx){if(cK&&bJ){dx+="&consent=1"}cM(function(){if(c7&&bc(dx,dy,true)){cl(100);return}if(cO(dx)){dg(dx,dy)}else{cv(dx,dy)}cl(dw)})}if(!aS){dt()}}function cq(dw){if(c0){return false}return(dw&&dw.length)}function df(dw,dA){if(!dA||dA>=dw.length){return[dw]}var dx=0;var dy=dw.length;var dz=[];for(dx;dx<dy;dx+=dA){dz.push(dw.slice(dx,dx+dA))}return dz}function ds(dx,dw){if(!cq(dx)){return}if(!bJ){cV.push(dx);return}aA=true;cM(function(){var dA=df(dx,50);var dy=0,dz;for(dy;dy<dA.length;dy++){dz='{"requests":["?'+dA[dy].join('","?')+'"],"send_image":0}';if(c7&&bc(dz,null,false)){cl(100)}else{dg(dz,null,false)}}cl(dw)})}function aY(dw){return bq+dw+"."+cc+"."+bv}function b5(dy,dx,dw){dr(dy,"",-129600000,dx,dw)}function cb(){if(bs){return"0"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dw=bq+"testcookie";dr(dw,"1",undefined,bw,c9,bY,aN);var dx=aH(dw)==="1"?"1":"0";b5(dw);return dx}function bo(){bv=cd((c9||c4)+(bw||"/")).slice(0,4)}function cS(){if(!c8){return{}
-}if(M(dj.res)){return dj}var dx,dz,dA={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dx in dA){if(Object.prototype.hasOwnProperty.call(dA,dx)){dz=g.mimeTypes[dA[dx]];dj[dx]=(dz&&dz.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&M(g.javaEnabled)&&g.javaEnabled()){dj.java="1"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){dj.cookie=g.cookieEnabled?"1":"0"}else{dj.cookie=cb()}}var dy=parseInt(ab.width,10);var dw=parseInt(ab.height,10);dj.res=parseInt(dy,10)+"x"+parseInt(dw,10);return dj}function b3(){var dx=aY("cvar"),dw=aH(dx);if(dw&&dw.length){dw=W.JSON.parse(dw);if(Z(dw)){return dw}}return{}}function cP(){if(aV===false){aV=b3()}}function c1(){var dw=cS();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dw)+(new Date()).getTime()+Math.random()).slice(0,16)
-}function aF(){var dw=cS();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dw)).slice(0,6)}function bl(){return Math.floor((new Date()).getTime()/1000)}function aO(){var dx=bl();var dy=aF();var dw=String(dx)+dy;return dw}function de(dy){dy=String(dy);var dB=aF();var dz=dB.length;var dA=dy.substr(-1*dz,dz);var dx=parseInt(dy.substr(0,dy.length-dz),10);if(dx&&dA&&dA===dB){var dw=bl();if(a5<=0){return true}if(dw>=dx&&dw<=(dx+a5)){return true}}return false}function du(dw){if(!cX){return""}var dA=e(dw,az);if(!dA){return""}dA=String(dA);var dy=new RegExp("^[a-zA-Z0-9]+$");if(dA.length===32&&dy.test(dA)){var dx=dA.substr(16,32);if(de(dx)){var dz=dA.substr(0,16);return dz}}return""}function cY(){if(!bU){bU=du(bT)}var dy=new Date(),dw=Math.round(dy.getTime()/1000),dx=aY("id"),dB=aH(dx),dA,dz;if(dB){dA=dB.split(".");dA.unshift("0");if(bU.length){dA[1]=bU}return dA}if(bU.length){dz=bU}else{if("0"===cb()){dz=""}else{dz=c1()}}dA=["1",dz,dw];return dA}function a4(){var dz=cY(),dx=dz[0],dy=dz[1],dw=dz[2];
-return{newVisitor:dx,uuid:dy,createTs:dw}}function aL(){var dz=new Date(),dx=dz.getTime(),dA=a4().createTs;var dw=parseInt(dA,10);var dy=(dw*1000)+cU-dx;return dy}function aR(dw){if(!cc){return}var dy=new Date(),dx=Math.round(dy.getTime()/1000);if(!M(dw)){dw=a4()}var dz=dw.uuid+"."+dw.createTs+".";dr(aY("id"),dz,aL(),bw,c9,bY,aN)}function bS(){var dw=aH(aY("ref"));if(dw.length){try{dw=W.JSON.parse(dw);if(Z(dw)){return dw}}catch(dx){}}return["","",0,""]}function bD(dy){var dx=bq+"testcookie_domain";var dw="testvalue";dr(dx,dw,10000,null,dy,bY,aN);if(aH(dx)===dw){b5(dx,null,dy);return true}return false}function aJ(){var dx=bs;bs=false;var dw,dy;for(dw=0;dw<bB.length;dw++){dy=aY(bB[dw]);if(dy!==cW&&dy!==bj&&0!==aH(dy)){b5(dy,bw,c9)}}bs=dx}function b9(dw){cc=dw}function dv(dA){if(!dA||!Z(dA)){return}var dz=[];var dy;for(dy in dA){if(Object.prototype.hasOwnProperty.call(dA,dy)){dz.push(dy)}}var dB={};dz.sort();var dw=dz.length;var dx;for(dx=0;dx<dw;dx++){dB[dz[dx]]=dA[dz[dx]]}return dB}function ci(){dr(aY("ses"),"1",cu,bw,c9,bY,aN)
-}function bm(){var dz="";var dx="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dy=dx.length;var dw;for(dw=0;dw<6;dw++){dz+=dx.charAt(Math.floor(Math.random()*dy))}return dz}function aE(dx){if(ct!==""){dx+=ct;bn=true;return dx}if(!h){return dx}var dy=(typeof h.timing==="object")&&h.timing?h.timing:undefined;if(!dy){dy=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:undefined}if(!dy){return dx}var dw="";if(dy.connectEnd&&dy.fetchStart){if(dy.connectEnd<dy.fetchStart){return dx}dw+="&pf_net="+Math.round(dy.connectEnd-dy.fetchStart)}if(dy.responseStart&&dy.requestStart){if(dy.responseStart<dy.requestStart){return dx}dw+="&pf_srv="+Math.round(dy.responseStart-dy.requestStart)}if(dy.responseStart&&dy.responseEnd){if(dy.responseEnd<dy.responseStart){return dx}dw+="&pf_tfr="+Math.round(dy.responseEnd-dy.responseStart)}if(M(dy.domLoading)){if(dy.domInteractive&&dy.domLoading){if(dy.domInteractive<dy.domLoading){return dx
-}dw+="&pf_dm1="+Math.round(dy.domInteractive-dy.domLoading)}}else{if(dy.domInteractive&&dy.responseEnd){if(dy.domInteractive<dy.responseEnd){return dx}dw+="&pf_dm1="+Math.round(dy.domInteractive-dy.responseEnd)}}if(dy.domComplete&&dy.domInteractive){if(dy.domComplete<dy.domInteractive){return dx}dw+="&pf_dm2="+Math.round(dy.domComplete-dy.domInteractive)}if(dy.loadEventEnd&&dy.loadEventStart){if(dy.loadEventEnd<dy.loadEventStart){return dx}dw+="&pf_onl="+Math.round(dy.loadEventEnd-dy.loadEventStart)}return dx+dw}function dl(){var dG,dz=new Date(),dA=Math.round(dz.getTime()/1000),dL,dy,dB=1024,dI,dC,dx=aY("ses"),dF=aY("ref"),dE=aH(dx),dw=bS(),dK=ba||bT,dH,dD,dJ={};dH=dw[0];dD=dw[1];dL=dw[2];dy=dw[3];if(!dE){if(!bC||!dH.length){for(dG in cw){if(Object.prototype.hasOwnProperty.call(cw,dG)){dH=e(dK,cw[dG]);if(dH.length){break}}}for(dG in bN){if(Object.prototype.hasOwnProperty.call(bN,dG)){dD=e(dK,bN[dG]);if(dD.length){break}}}}dI=d(bu);dC=dy.length?d(dy):"";if(dI.length&&!a1(dI)&&!cx(bu)&&(!bC||!dC.length||a1(dC)||cx(dy))){dy=bu
-}if(dy.length||dH.length){dL=dA;dw=[dH,dD,dL,b8(dy.slice(0,dB))];dr(dF,W.JSON.stringify(dw),dh,bw,c9,bY,aN)}}if(dH.length){dJ._rcn=t(dH)}if(dD.length){dJ._rck=t(dD)}dJ._refts=dL;if(String(dy).length){dJ._ref=t(b8(dy.slice(0,dB)))}return dJ}function cz(dx,dI,dJ){var dH,dw=new Date(),dG=aV,dC=aY("cvar"),dK=ba||bT;if(bs){aJ()}if(c0){return""}var dD=a4();var dA=J.characterSet||J.charset;if(!dA||dA.toLowerCase()==="utf-8"){dA=null}dx+="&idsite="+cc+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dw.getHours()+"&m="+dw.getMinutes()+"&s="+dw.getSeconds()+"&url="+t(b8(dK))+(bu.length&&!cx(bu)?"&urlref="+t(b8(bu)):"")+(ac(bF)?"&uid="+t(bF):"")+"&_id="+dD.uuid+"&_idn="+dD.newVisitor+(dA?"&cs="+t(dA):"")+"&send_image=0";var dF=dl();for(dH in dF){if(Object.prototype.hasOwnProperty.call(dF,dH)){dx+="&"+dH+"="+dF[dH]}}var dM=cS();for(dH in dM){if(Object.prototype.hasOwnProperty.call(dM,dH)){dx+="&"+dH+"="+dM[dH]}}var dN=[];if(dI){for(dH in dI){if(Object.prototype.hasOwnProperty.call(dI,dH)&&/^dimension\d+$/.test(dH)){var dy=dH.replace("dimension","");
-dN.push(parseInt(dy,10));dN.push(String(dy));dx+="&"+dH+"="+t(dI[dH]);delete dI[dH]}}}if(dI&&D(dI)){dI=null}for(dH in cB){if(Object.prototype.hasOwnProperty.call(cB,dH)){dx+="&"+dH+"="+t(cB[dH])}}for(dH in bt){if(Object.prototype.hasOwnProperty.call(bt,dH)){var dB=(-1===P(dN,dH));if(dB){dx+="&dimension"+dH+"="+t(bt[dH])}}}if(dI){dx+="&data="+t(W.JSON.stringify(dI))}else{if(at){dx+="&data="+t(W.JSON.stringify(at))}}function dz(dO,dP){var dQ=W.JSON.stringify(dO);if(dQ.length>2){return"&"+dP+"="+t(dQ)}return""}var dL=dv(b2);var dE=dv(cs);dx+=dz(dL,"cvar");dx+=dz(dE,"e_cvar");if(aV){dx+=dz(aV,"_cvar");for(dH in dG){if(Object.prototype.hasOwnProperty.call(dG,dH)){if(aV[dH][0]===""||aV[dH][1]===""){delete aV[dH]}}}if(bW){dr(dC,W.JSON.stringify(aV),cu,bw,c9,bY,aN)}}if(a8&&bL&&!bn){dx=aE(dx);bn=true}if(aQ){dx+="&pv_id="+aQ}aR(dD);ci();dx+=ag(dJ,{tracker:bP,request:dx});if(db.length){dx+="&"+db}if(C(ch)){dx=ch(dx)}return dx}bX=function bd(){var dw=new Date();dw=dw.getTime();if(!da){return false}if(da+bb<=dw){bP.ping();
-return true}return false};function bx(dz,dy,dD,dA,dw,dG){var dC="idgoal=0",dx=new Date(),dE=[],dF,dB=String(dz).length;if(dB){dC+="&ec_id="+t(dz)}dC+="&revenue="+dy;if(String(dD).length){dC+="&ec_st="+dD}if(String(dA).length){dC+="&ec_tx="+dA}if(String(dw).length){dC+="&ec_sh="+dw}if(String(dG).length){dC+="&ec_dt="+dG}if(dc){for(dF in dc){if(Object.prototype.hasOwnProperty.call(dc,dF)){if(!M(dc[dF][1])){dc[dF][1]=""}if(!M(dc[dF][2])){dc[dF][2]=""}if(!M(dc[dF][3])||String(dc[dF][3]).length===0){dc[dF][3]=0}if(!M(dc[dF][4])||String(dc[dF][4]).length===0){dc[dF][4]=1}dE.push(dc[dF])}}dC+="&ec_items="+t(W.JSON.stringify(dE))}dC=cz(dC,at,"ecommerce");bM(dC,bQ);if(dB){dc={}}}function b4(dw,dA,dz,dy,dx,dB){if(String(dw).length&&M(dA)){bx(dw,dA,dz,dy,dx,dB)}}function bz(dw){if(M(dw)){bx("",dw,"","","","")}}function b6(dx,dz,dy){if(!bH){aQ=bm()}var dw=cz("action_name="+t(ap(dx||bp)),dz,"log");if(a8&&!bn){dw=aE(dw)}bM(dw,bQ,dy)}function a6(dy,dx){var dz,dw="(^| )(piwik[_-]"+dx+"|matomo[_-]"+dx;if(dy){for(dz=0;
-dz<dy.length;dz++){dw+="|"+dy[dz]}}dw+=")( |$)";return new RegExp(dw)}function aZ(dw){return(aI&&dw&&0===String(dw).indexOf(aI))}function cD(dA,dw,dB,dx){if(aZ(dw)){return 0}var dz=a6(bR,"download"),dy=a6(be,"link"),dC=new RegExp("\\.("+di.join("|")+")([?&#]|$)","i");if(dy.test(dA)){return"link"}if(dx||dz.test(dA)||dC.test(dw)){return"download"}if(dB){return 0}return"link"}function ay(dx){var dw;dw=dx.parentNode;while(dw!==null&&M(dw)){if(ai.isLinkElement(dx)){break}dx=dw;dw=dx.parentNode}return dx}function dp(dB){dB=ay(dB);if(!ai.hasNodeAttribute(dB,"href")){return}if(!M(dB.href)){return}var dA=ai.getAttributeValueFromNode(dB,"href");var dx=dB.pathname||cr(dB.href);var dC=dB.hostname||d(dB.href);var dD=dC.toLowerCase();var dy=dB.href.replace(dC,dD);var dz=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dz.test(dy)){var dw=cD(dB.className,dy,aw(dD,dx),ai.hasNodeAttribute(dB,"download"));if(dw){return{type:dw,href:dy}}}}function aU(dw,dx,dy,dz){var dA=w.buildInteractionRequestParams(dw,dx,dy,dz);
-if(!dA){return}return cz(dA,null,"contentInteraction")}function bh(dw,dx){if(!dw||!dx){return false}var dy=w.findTargetNode(dw);if(w.shouldIgnoreInteraction(dy)){return false}dy=w.findTargetNodeNoDefault(dw);if(dy&&!Y(dy,dx)){return false}return true}function cC(dy,dx,dA){if(!dy){return}var dw=w.findParentContentNode(dy);if(!dw){return}if(!bh(dw,dy)){return}var dz=w.buildContentBlock(dw);if(!dz){return}if(!dz.target&&dA){dz.target=dA}return w.buildInteractionRequestParams(dx,dz.name,dz.piece,dz.target)}function a2(dx){if(!cg||!cg.length){return false}var dw,dy;for(dw=0;dw<cg.length;dw++){dy=cg[dw];if(dy&&dy.name===dx.name&&dy.piece===dx.piece&&dy.target===dx.target){return true}}return false}function a3(dw){return function(dA){if(!dw){return}var dy=w.findParentContentNode(dw);var dx;if(dA){dx=dA.target||dA.srcElement}if(!dx){dx=dw}if(!bh(dy,dx)){return}if(!dy){return false}var dB=w.findTargetNode(dy);if(!dB||w.shouldIgnoreInteraction(dB)){return false}var dz=dp(dB);if(dk&&dz&&dz.type){return dz.type
-}return bP.trackContentInteractionNode(dx,"click")}}function b7(dy){if(!dy||!dy.length){return}var dw,dx;for(dw=0;dw<dy.length;dw++){dx=w.findTargetNode(dy[dw]);if(dx&&!dx.contentInteractionTrackingSetupDone){dx.contentInteractionTrackingSetupDone=true;ar(dx,"click",a3(dx))}}}function bE(dy,dz){if(!dy||!dy.length){return[]}var dw,dx;for(dw=0;dw<dy.length;dw++){if(a2(dy[dw])){dy.splice(dw,1);dw--}else{cg.push(dy[dw])}}if(!dy||!dy.length){return[]}b7(dz);var dA=[];for(dw=0;dw<dy.length;dw++){dx=cz(w.buildImpressionRequestParams(dy[dw].name,dy[dw].piece,dy[dw].target),undefined,"contentImpressions");if(dx){dA.push(dx)}}return dA}function cJ(dx){var dw=w.collectContent(dx);return bE(dw,dx)}function bf(dx){if(!dx||!dx.length){return[]}var dw;for(dw=0;dw<dx.length;dw++){if(!w.isNodeVisible(dx[dw])){dx.splice(dw,1);dw--}}if(!dx||!dx.length){return[]}return cJ(dx)}function aK(dy,dw,dx){var dz=w.buildImpressionRequestParams(dy,dw,dx);return cz(dz,null,"contentImpression")}function dn(dz,dx){if(!dz){return
-}var dw=w.findParentContentNode(dz);var dy=w.buildContentBlock(dw);if(!dy){return}if(!dx){dx="Unknown"}return aU(dx,dy.name,dy.piece,dy.target)}function cZ(dx,dz,dw,dy){return"e_c="+t(dx)+"&e_a="+t(dz)+(M(dw)?"&e_n="+t(dw):"")+(M(dy)?"&e_v="+t(dy):"")+"&ca=1"}function ax(dy,dA,dw,dz,dC,dB){if(!ac(dy)||!ac(dA)){ao("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dx=cz(cZ(dy,dA,dw,dz),dC,"event");bM(dx,bQ,dB)}function ce(dw,dz,dx,dA){var dy=cz("search="+t(dw)+(dz?"&search_cat="+t(dz):"")+(M(dx)?"&search_count="+dx:""),dA,"sitesearch");bM(dy,bQ)}function c3(dw,dA,dz,dy){var dx=cz("idgoal="+dw+(dA?"&revenue="+dA:""),dz,"goal");bM(dx,bQ,dy)}function dd(dz,dw,dD,dC,dy){var dB=dw+"="+t(b8(dz));var dx=cC(dy,"click",dz);if(dx){dB+="&"+dx}var dA=cz(dB,dD,"link");bM(dA,bQ,dC)}function b0(dx,dw){if(dx!==""){return dx+dw.charAt(0).toUpperCase()+dw.slice(1)}return dw}function cm(dB){var dA,dw,dz=["","webkit","ms","moz"],dy;
-if(!bk){for(dw=0;dw<dz.length;dw++){dy=dz[dw];if(Object.prototype.hasOwnProperty.call(J,b0(dy,"hidden"))){if(J[b0(dy,"visibilityState")]==="prerender"){dA=true}break}}}if(dA){ar(J,dy+"visibilitychange",function dx(){J.removeEventListener(dy+"visibilitychange",dx,false);dB()});return}dB()}function by(){var dx=bP.getVisitorId();var dw=aO();return dx+dw}function cp(dw){if(!dw){return}if(!ai.hasNodeAttribute(dw,"href")){return}var dx=ai.getAttributeValueFromNode(dw,"href");if(!dx||aZ(dx)){return}if(!bP.getVisitorId()){return}dx=j(dx,az);var dy=by();dx=I(dx,az,dy);ai.setAnyAttribute(dw,"href",dx)}function br(dz){var dA=ai.getAttributeValueFromNode(dz,"href");if(!dA){return false}dA=String(dA);var dx=dA.indexOf("//")===0||dA.indexOf("http://")===0||dA.indexOf("https://")===0;if(!dx){return false}var dw=dz.pathname||cr(dz.href);var dy=(dz.hostname||d(dz.href)).toLowerCase();if(aw(dy,dw)){if(!cR(c4,O(dy))){return true}return false}return false}function cQ(dw){var dx=dp(dw);if(dx&&dx.type){dx.href=p(dx.href);
-dd(dx.href,dx.type,undefined,null,dw);return}if(cX){dw=ay(dw);if(br(dw)){cp(dw)}}}function cE(){return J.all&&!J.addEventListener}function c5(dw){var dy=dw.which;var dx=(typeof dw.button);if(!dy&&dx!=="undefined"){if(cE()){if(dw.button&1){dy=1}else{if(dw.button&2){dy=3}else{if(dw.button&4){dy=2}}}}else{if(dw.button===0||dw.button==="0"){dy=1}else{if(dw.button&1){dy=2}else{if(dw.button&2){dy=3}}}}}return dy}function bZ(dw){switch(c5(dw)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a7(dw){return dw.target||dw.srcElement}function c6(dw){return dw==="A"||dw==="AREA"}function aG(dw){function dx(dz){var dA=a7(dz);var dB=dA.nodeName;var dy=a6(bG,"ignore");while(!c6(dB)&&dA&&dA.parentNode){dA=dA.parentNode;dB=dA.nodeName}if(dA&&c6(dB)&&!dy.test(dA.className)){return dA}}return function(dA){dA=dA||W.event;var dB=dx(dA);if(!dB){return}var dz=bZ(dA);if(dA.type==="click"){var dy=false;if(dw&&dz==="middle"){dy=true}if(dB&&!dy){cQ(dB)}}else{if(dA.type==="mousedown"){if(dz==="middle"&&dB){aW=dz;
-bI=dB}else{aW=bI=null}}else{if(dA.type==="mouseup"){if(dz===aW&&dB===bI){cQ(dB)}aW=bI=null}else{if(dA.type==="contextmenu"){cQ(dB)}}}}}}function av(dz,dy,dw){var dx=typeof dy;if(dx==="undefined"){dy=true}ar(dz,"click",aG(dy),dw);if(dy){ar(dz,"mouseup",aG(dy),dw);ar(dz,"mousedown",aG(dy),dw);ar(dz,"contextmenu",aG(dy),dw)}}function aX(dx,dA,dB){if(ck){return true}ck=true;var dC=false;var dz,dy;function dw(){dC=true}n(function(){function dD(dF){setTimeout(function(){if(!ck){return}dC=false;dB.trackVisibleContentImpressions();dD(dF)},dF)}function dE(dF){setTimeout(function(){if(!ck){return}if(dC){dC=false;dB.trackVisibleContentImpressions()}dE(dF)},dF)}if(dx){dz=["scroll","resize"];for(dy=0;dy<dz.length;dy++){if(J.addEventListener){J.addEventListener(dz[dy],dw,false)}else{W.attachEvent("on"+dz[dy],dw)}}dE(100)}if(dA&&dA>0){dA=parseInt(dA,10);dD(dA)}})}var bK={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dw=this.requests;this.requests=[];if(dw.length===1){bM(dw[0],bQ)
-}else{ds(dw,bQ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dx){if(!this.canQueue()){ds(dx,bQ);return}var dw;for(dw=0;dw<dx.length;dw++){this.push(dx[dw])}},push:function(dw){if(!dw){return}if(!this.canQueue()){bM(dw,bQ);return}bK.requests.push(dw);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bK.timeout=null;bK.sendRequests()},bK.interval);var dx="RequestQueue"+aB;if(!Object.prototype.hasOwnProperty.call(b,dx)){b[dx]={unload:function(){if(bK.timeout){clearTimeout(bK.timeout)}bK.sendRequests()}}}}};bo();this.hasConsent=function(){return bJ};this.getVisitorInfo=function(){if(!aH(aY("id"))){aR()}return cY()};this.getVisitorId=function(){return this.getVisitorInfo()[1]};this.getAttributionInfo=function(){return bS()};this.getAttributionCampaignName=function(){return bS()[0]};this.getAttributionCampaignKeyword=function(){return bS()[1]};this.getAttributionReferrerTimestamp=function(){return bS()[2]};this.getAttributionReferrerUrl=function(){return bS()[3]
-};this.setTrackerUrl=function(dw){aI=dw};this.getTrackerUrl=function(){return aI};this.getMatomoUrl=function(){return aa(this.getTrackerUrl(),bO)};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dy,dx){if(!M(dy)||null===dy){dy=this.getTrackerUrl()}var dw=new T(dy,dx);L.push(dw);u.trigger("TrackerAdded",[this]);return dw};this.getSiteId=function(){return cc};this.setSiteId=function(dw){b9(dw)};this.resetUserId=function(){bF=""};this.setUserId=function(dw){if(ac(dw)){bF=dw}};this.setVisitorId=function(dx){var dw=/[0-9A-Fa-f]{16}/g;if(x(dx)&&dw.test(dx)){bU=dx}else{ao("Invalid visitorId set"+dx)}};this.getUserId=function(){return bF};this.setCustomData=function(dw,dx){if(Z(dw)){at=dw}else{if(!at){at={}}at[dw]=dx}};this.getCustomData=function(){return at};this.setCustomRequestProcessing=function(dw){ch=dw};this.appendToTrackingUrl=function(dw){db=dw};this.getRequest=function(dw){return cz(dw)};this.addPlugin=function(dw,dx){b[dw]=dx};this.setCustomDimension=function(dw,dx){dw=parseInt(dw,10);
-if(dw>0){if(!M(dx)){dx=""}if(!x(dx)){dx=String(dx)}bt[dw]=dx}};this.getCustomDimension=function(dw){dw=parseInt(dw,10);if(dw>0&&Object.prototype.hasOwnProperty.call(bt,dw)){return bt[dw]}};this.deleteCustomDimension=function(dw){dw=parseInt(dw,10);if(dw>0){delete bt[dw]}};this.setCustomVariable=function(dx,dw,dA,dy){var dz;if(!M(dy)){dy="visit"}if(!M(dw)){return}if(!M(dA)){dA=""}if(dx>0){dw=!x(dw)?String(dw):dw;dA=!x(dA)?String(dA):dA;dz=[dw.slice(0,bA),dA.slice(0,bA)];if(dy==="visit"||dy===2){cP();aV[dx]=dz}else{if(dy==="page"||dy===3){b2[dx]=dz}else{if(dy==="event"){cs[dx]=dz}}}}};this.getCustomVariable=function(dx,dy){var dw;if(!M(dy)){dy="visit"}if(dy==="page"||dy===3){dw=b2[dx]}else{if(dy==="event"){dw=cs[dx]}else{if(dy==="visit"||dy===2){cP();dw=aV[dx]}}}if(!M(dw)||(dw&&dw[0]==="")){return false}return dw};this.deleteCustomVariable=function(dw,dx){if(this.getCustomVariable(dw,dx)){this.setCustomVariable(dw,"","",dx)}};this.deleteCustomVariables=function(dw){if(dw==="page"||dw===3){b2={}
-}else{if(dw==="event"){cs={}}else{if(dw==="visit"||dw===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bW=true};this.setLinkTrackingTimer=function(dw){bQ=dw};this.getLinkTrackingTimer=function(){return bQ};this.setDownloadExtensions=function(dw){if(x(dw)){dw=dw.split("|")}di=dw};this.addDownloadExtensions=function(dx){var dw;if(x(dx)){dx=dx.split("|")}for(dw=0;dw<dx.length;dw++){di.push(dx[dw])}};this.removeDownloadExtensions=function(dy){var dx,dw=[];if(x(dy)){dy=dy.split("|")}for(dx=0;dx<di.length;dx++){if(P(dy,di[dx])===-1){dw.push(di[dx])}}di=dw};this.setDomains=function(dw){aC=x(dw)?[dw]:dw;var dA=false,dy=0,dx;for(dy;dy<aC.length;dy++){dx=String(aC[dy]);if(cR(c4,O(dx))){dA=true;break}var dz=cr(dx);if(dz&&dz!=="/"&&dz!=="/*"){dA=true;break}}if(!dA){aC.push(c4)}};this.setExcludedReferrers=function(dw){cG=x(dw)?[dw]:dw};this.enableCrossDomainLinking=function(){cX=true};this.disableCrossDomainLinking=function(){cX=false};this.isCrossDomainLinkingEnabled=function(){return cX
-};this.setCrossDomainLinkingTimeout=function(dw){a5=dw};this.getCrossDomainLinkingUrlParameter=function(){return t(az)+"="+t(by())};this.setIgnoreClasses=function(dw){bG=x(dw)?[dw]:dw};this.setRequestMethod=function(dw){if(dw){dm=String(dw).toUpperCase()}else{dm=cn}if(dm==="GET"){this.disableAlwaysUseSendBeacon()}};this.setRequestContentType=function(dw){cF=dw||aM};this.setGenerationTimeMs=function(dw){ao("setGenerationTimeMs is no longer supported since Matomo 4. The call will be ignored. The replacement is setPagePerformanceTiming.")};this.setPagePerformanceTiming=function(dA,dC,dB,dx,dD,dy){var dz={pf_net:dA,pf_srv:dC,pf_tfr:dB,pf_dm1:dx,pf_dm2:dD,pf_onl:dy};try{dz=Q(dz,M);dz=B(dz);ct=l(dz);if(ct===""){ao("setPagePerformanceTiming() called without parameters. This function needs to be called with at least one performance parameter.");return}bn=false;bL=true}catch(dw){ao("setPagePerformanceTiming: "+dw.toString())}};this.setReferrerUrl=function(dw){bu=dw};this.setCustomUrl=function(dw){ba=b1(bT,dw)
-};this.getCurrentUrl=function(){return ba||bT};this.setDocumentTitle=function(dw){bp=dw};this.setPageViewId=function(dw){aQ=dw;bH=true};this.setAPIUrl=function(dw){bO=dw};this.setDownloadClasses=function(dw){bR=x(dw)?[dw]:dw};this.setLinkClasses=function(dw){be=x(dw)?[dw]:dw};this.setCampaignNameKey=function(dw){cw=x(dw)?[dw]:dw};this.setCampaignKeywordKey=function(dw){bN=x(dw)?[dw]:dw};this.discardHashTag=function(dw){bV=dw};this.setCookieNamePrefix=function(dw){bq=dw;if(aV){aV=b3()}};this.setCookieDomain=function(dw){var dx=O(dw);if(!bs&&!bD(dx)){ao("Can't write cookie on domain "+dw)}else{c9=dx;bo()}};this.setExcludedQueryParams=function(dw){co=x(dw)?[dw]:dw};this.getCookieDomain=function(){return c9};this.hasCookies=function(){return"1"===cb()};this.setSessionCookie=function(dy,dx,dw){if(!dy){throw new Error("Missing cookie name")}if(!M(dw)){dw=cu}bB.push(dy);dr(aY(dy),dx,dw,bw,c9,bY,aN)};this.getCookie=function(dx){var dw=aH(aY(dx));if(dw===0){return null}return dw};this.setCookiePath=function(dw){bw=dw;
-bo()};this.getCookiePath=function(dw){return bw};this.setVisitorCookieTimeout=function(dw){cU=dw*1000};this.setSessionCookieTimeout=function(dw){cu=dw*1000};this.getSessionCookieTimeout=function(){return cu};this.setReferralCookieTimeout=function(dw){dh=dw*1000};this.setConversionAttributionFirstReferrer=function(dw){bC=dw};this.setSecureCookie=function(dw){if(dw&&location.protocol!=="https:"){ao("Error in setSecureCookie: You cannot use `Secure` on http.");return}bY=dw};this.setCookieSameSite=function(dw){dw=String(dw);dw=dw.charAt(0).toUpperCase()+dw.toLowerCase().slice(1);if(dw!=="None"&&dw!=="Lax"&&dw!=="Strict"){ao("Ignored value for sameSite. Please use either Lax, None, or Strict.");return}if(dw==="None"){if(location.protocol==="https:"){this.setSecureCookie(true)}else{ao("sameSite=None cannot be used on http, reverted to sameSite=Lax.");dw="Lax"}}aN=dw};this.disableCookies=function(){bs=true;if(cc){aJ()}};this.areCookiesEnabled=function(){return !bs};this.setCookieConsentGiven=function(){if(bs&&!c0){bs=false;
-c8=true;if(cc&&aA){aR();var dw=cz("ping=1",null,"ping");bM(dw,bQ)}}};this.requireCookieConsent=function(){if(this.getRememberedCookieConsent()){return false}this.disableCookies();return true};this.getRememberedCookieConsent=function(){return aH(cN)};this.forgetCookieConsentGiven=function(){b5(cN,bw,c9);this.disableCookies()};this.rememberCookieConsentGiven=function(dx){if(dx){dx=dx*60*60*1000}else{dx=30*365*24*60*60*1000}this.setCookieConsentGiven();var dw=new Date().getTime();dr(cN,dw,dx,bw,c9,bY,aN)};this.deleteCookies=function(){aJ()};this.setDoNotTrack=function(dx){var dw=g.doNotTrack||g.msDoNotTrack;c0=dx&&(dw==="yes"||dw==="1");if(c0){this.disableCookies()}};this.alwaysUseSendBeacon=function(){c7=true};this.disableAlwaysUseSendBeacon=function(){c7=false};this.addListener=function(dx,dw){av(dx,dw,false)};this.enableLinkTracking=function(dx){if(dk){return}dk=true;var dw=this;q(function(){au=true;var dy=J.body;av(dy,dx,true)})};this.enableJSErrorTracking=function(){if(c2){return}c2=true;
-var dw=W.onerror;W.onerror=function(dB,dz,dy,dA,dx){cm(function(){var dC="JavaScript Errors";var dD=dz+":"+dy;if(dA){dD+=":"+dA}if(P(cA,dC+dD+dB)===-1){cA.push(dC+dD+dB);ax(dC,dD,dB)}});if(dw){return dw(dB,dz,dy,dA,dx)}return false}};this.disablePerformanceTracking=function(){a8=false};this.enableHeartBeatTimer=function(dw){dw=Math.max(dw||15,5);bb=dw*1000;if(da!==null){dt()}};this.disableHeartBeatTimer=function(){if(bb||aS){if(W.removeEventListener){W.removeEventListener("focus",bg);W.removeEventListener("blur",aD);W.removeEventListener("visibilitychange",a0)}else{if(W.detachEvent){W.detachEvent("onfocus",bg);W.detachEvent("onblur",aD);W.detachEvent("visibilitychange",a0)}}}bb=null;aS=false};this.killFrame=function(){if(W.location!==W.top.location){W.top.location=W.location}};this.redirectFile=function(dw){if(W.location.protocol==="file:"){W.location=dw}};this.setCountPreRendered=function(dw){bk=dw};this.trackGoal=function(dw,dz,dy,dx){cm(function(){c3(dw,dz,dy,dx)})};this.trackLink=function(dx,dw,dz,dy){cm(function(){dd(dx,dw,dz,dy)
-})};this.getNumTrackedPageViews=function(){return cy};this.trackPageView=function(dw,dy,dx){cg=[];cV=[];cA=[];if(R(cc)){cm(function(){ad(aI,bO,cc)})}else{cm(function(){cy++;b6(dw,dy,dx)})}};this.disableBrowserFeatureDetection=function(){c8=false};this.enableBrowserFeatureDetection=function(){c8=true};this.trackAllContentImpressions=function(){if(R(cc)){return}cm(function(){q(function(){var dw=w.findContentNodes();var dx=cJ(dw);bK.pushMultiple(dx)})})};this.trackVisibleContentImpressions=function(dw,dx){if(R(cc)){return}if(!M(dw)){dw=true}if(!M(dx)){dx=750}aX(dw,dx,this);cm(function(){n(function(){var dy=w.findContentNodes();var dz=bf(dy);bK.pushMultiple(dz)})})};this.trackContentImpression=function(dy,dw,dx){if(R(cc)){return}dy=a(dy);dw=a(dw);dx=a(dx);if(!dy){return}dw=dw||"Unknown";cm(function(){var dz=aK(dy,dw,dx);bK.push(dz)})};this.trackContentImpressionsWithinNode=function(dw){if(R(cc)||!dw){return}cm(function(){if(ck){n(function(){var dx=w.findContentNodesWithinNode(dw);var dy=bf(dx);
-bK.pushMultiple(dy)})}else{q(function(){var dx=w.findContentNodesWithinNode(dw);var dy=cJ(dx);bK.pushMultiple(dy)})}})};this.trackContentInteraction=function(dy,dz,dw,dx){if(R(cc)){return}dy=a(dy);dz=a(dz);dw=a(dw);dx=a(dx);if(!dy||!dz){return}dw=dw||"Unknown";cm(function(){var dA=aU(dy,dz,dw,dx);if(dA){bK.push(dA)}})};this.trackContentInteractionNode=function(dy,dx){if(R(cc)||!dy){return}var dw=null;cm(function(){dw=dn(dy,dx);if(dw){bK.push(dw)}});return dw};this.logAllContentBlocksOnPage=function(){var dy=w.findContentNodes();var dw=w.collectContent(dy);var dx=typeof console;if(dx!=="undefined"&&console&&console.log){console.log(dw)}};this.trackEvent=function(dx,dz,dw,dy,dB,dA){cm(function(){ax(dx,dz,dw,dy,dB,dA)})};this.trackSiteSearch=function(dw,dy,dx,dz){cg=[];cm(function(){ce(dw,dy,dx,dz)})};this.setEcommerceView=function(dA,dw,dy,dx){cB={};if(ac(dy)){dy=String(dy)}if(!M(dy)||dy===null||dy===false||!dy.length){dy=""}else{if(dy instanceof Array){dy=W.JSON.stringify(dy)}}var dz="_pkc";
-cB[dz]=dy;if(M(dx)&&dx!==null&&dx!==false&&String(dx).length){dz="_pkp";cB[dz]=dx}if(!ac(dA)&&!ac(dw)){return}if(ac(dA)){dz="_pks";cB[dz]=dA}if(!ac(dw)){dw=""}dz="_pkn";cB[dz]=dw};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(dc))};this.addEcommerceItem=function(dA,dw,dy,dx,dz){if(ac(dA)){dc[dA]=[String(dA),dw,dy,dx,dz]}};this.removeEcommerceItem=function(dw){if(ac(dw)){dw=String(dw);delete dc[dw]}};this.clearEcommerceCart=function(){dc={}};this.trackEcommerceOrder=function(dw,dA,dz,dy,dx,dB){b4(dw,dA,dz,dy,dx,dB)};this.trackEcommerceCartUpdate=function(dw){bz(dw)};this.trackRequest=function(dx,dz,dy,dw){cm(function(){var dA=cz(dx,dz,dw);bM(dA,bQ,dy)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bK.enabled=false};this.setRequestQueueInterval=function(dw){if(dw<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bK.interval=dw};this.queueRequest=function(dw){cm(function(){var dx=cz(dw);
-bK.push(dx)})};this.isConsentRequired=function(){return cK};this.getRememberedConsent=function(){var dw=aH(bj);if(aH(cW)){if(dw){b5(bj,bw,c9)}return null}if(!dw||dw===0){return null}return dw};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()};this.requireConsent=function(){cK=true;bJ=this.hasRememberedConsent();if(!bJ){bs=true}y++;b["CoreConsent"+y]={unload:function(){if(!bJ){aJ()}}}};this.setConsentGiven=function(dx){bJ=true;c8=true;b5(cW,bw,c9);var dy,dw;for(dy=0;dy<cV.length;dy++){dw=typeof cV[dy];if(dw==="string"){bM(cV[dy],bQ)}else{if(dw==="object"){ds(cV[dy],bQ)}}}cV=[];if(!M(dx)||dx){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dy){if(dy){dy=dy*60*60*1000}else{dy=30*365*24*60*60*1000}var dw=true;this.setConsentGiven(dw);var dx=new Date().getTime();dr(bj,dx,dy,bw,c9,bY,aN)};this.forgetConsentGiven=function(){var dw=30*365*24*60*60*1000;b5(bj,bw,c9);dr(cW,new Date().getTime(),dw,bw,c9,bY,aN);this.forgetCookieConsentGiven();this.requireConsent()
-};this.isUserOptedOut=function(){return !bJ};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};n(function(){setTimeout(function(){bL=true},0)});u.trigger("TrackerSetup",[this]);u.addPlugin("TrackerVisitorIdCookie"+aB,{unload:function(){if(!aA){aR();dl()}}})}function K(){return{push:aj}}function c(ay,ax){var az={};var av,aw;for(av=0;av<ax.length;av++){var at=ax[av];az[at]=1;for(aw=0;aw<ay.length;aw++){if(ay[aw]&&ay[aw][0]){var au=ay[aw][0];if(at===au){aj(ay[aw]);delete ay[aw];if(az[au]>1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableBrowserFeatureDetection","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","disableAlwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams","setExcludedReferrers"];
+}catch(at){return true}}function T(cn,ci){var bR=this,bk="mtm_consent",cS="mtm_cookie_consent",c1="mtm_consent_removed",cd=ae(J.domain,W.location.href,N()),c9=O(cd[0]),bW=p(cd[1]),bw=p(cd[2]),c7=false,cr="GET",ds=cr,aM="application/x-www-form-urlencoded; charset=UTF-8",cK=aM,aI=cn||"",bQ="",dg="",cx="",cf=ci||"",bH="",bX="",bb,bq="",dn=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c9],bI=[],cL=[],cs=[],bU=[],bf=[],bS=500,dc=true,cY,bc,b0,bY,at,cB=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bP=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],br="_pk_",az="pk_vid",a6=180,de,by,b1=false,aN="Lax",bt=false,c5,bl,bE,cZ=33955200000,cy=1800000,dm=15768000000,a9=true,bN=false,bo=false,bZ=false,aV=false,cl,b5={},cw={},bv={},bC=200,cG={},dh={},dp={},aZ={},cj=[],bu=false,ck=[],co=false,cQ=false,au=false,dq=false,c2=false,aS=false,bj=v(),cM=null,df=null,aW,bK,cg=aq,bx,aQ,bJ=false,cD=0,bD=["id","ses","cvar","ref"],cP=false,bL=null,c0=[],cF=[],aB=X++,aA=false,dd=true;
+try{bq=J.title}catch(cN){bq=""}function aH(dD){if(bt){return 0}var dB=new RegExp("(^|;)[ ]*"+dD+"=([^;]*)"),dC=dB.exec(J.cookie);return dC?V(dC[2]):0}bL=!aH(c1);function dw(dF,dG,dJ,dI,dD,dE,dH){if(bt&&dF!==c1){return}var dC;if(dJ){dC=new Date();dC.setTime(dC.getTime()+dJ)}if(!dH){dH="Lax"}J.cookie=dF+"="+t(dG)+(dJ?";expires="+dC.toGMTString():"")+";path="+(dI||"/")+(dD?";domain="+dD:"")+(dE?";secure":"")+";SameSite="+dH;if((!dJ||dJ>=0)&&aH(dF)!==String(dG)){var dB="There was an error setting cookie `"+dF+"`. Please check domain and path.";ao(dB)}}function cb(dB){var dD,dC;dB=j(dB,az);for(dC=0;dC<cs.length;dC++){dB=j(dB,cs[dC])}if(bY){dD=new RegExp("#.*");return dB.replace(dD,"")}return dB}function b4(dD,dB){var dE=s(dB),dC;if(dE){return dB}if(dB.slice(0,1)==="/"){return s(dD)+"://"+d(dD)+dB}dD=cb(dD);dC=dD.indexOf("?");if(dC>=0){dD=dD.slice(0,dC)}dC=dD.lastIndexOf("/");if(dC!==dD.length-1){dD=dD.slice(0,dC+1)}return dD+dB}function cW(dD,dB){var dC;dD=String(dD).toLowerCase();dB=String(dB).toLowerCase();
+if(dD===dB){return true}if(dB.slice(0,1)==="."){if(dD===dB.slice(1)){return true}dC=dD.length-dB.length;if((dC>0)&&(dD.slice(dC)===dB)){return true}}return false}function cv(dB){var dC=document.createElement("a");if(dB.indexOf("//")!==0&&dB.indexOf("http")!==0){if(dB.indexOf("*")===0){dB=dB.substr(1)}if(dB.indexOf(".")===0){dB=dB.substr(1)}dB="http://"+dB}dC.href=w.toAbsoluteUrl(dB);if(dC.pathname){return dC.pathname}return""}function ba(dC,dB){if(!an(dB,"/")){dB="/"+dB}if(!an(dC,"/")){dC="/"+dC}var dD=(dB==="/"||dB==="/*");if(dD){return true}if(dC===dB){return true}dB=String(dB).toLowerCase();dC=String(dC).toLowerCase();if(U(dB,"*")){dB=dB.slice(0,-1);dD=(!dB||dB==="/");if(dD){return true}if(dC===dB){return true}return dC.indexOf(dB)===0}if(!U(dC,"/")){dC+="/"}if(!U(dB,"/")){dB+="/"}return dC.indexOf(dB)===0}function aw(dF,dH){var dC,dB,dD,dE,dG;for(dC=0;dC<aC.length;dC++){dE=O(aC[dC]);dG=cv(aC[dC]);if(cW(dF,dE)&&ba(dH,dG)){return true}}return false}function a2(dE){var dC,dB,dD;for(dC=0;
+dC<aC.length;dC++){dB=O(aC[dC].toLowerCase());if(dE===dB){return true}if(dB.slice(0,1)==="."){if(dE===dB.slice(1)){return true}dD=dE.length-dB.length;if((dD>0)&&(dE.slice(dD)===dB)){return true}}}return false}function cC(dB){var dC,dE,dG,dD,dF;if(!dB.length||!cL.length){return false}dE=d(dB);dG=cv(dB);if(dE.indexOf("www.")===0){dE=dE.substr(4)}for(dC=0;dC<cL.length;dC++){dD=O(cL[dC]);dF=cv(cL[dC]);if(dD.indexOf("www.")===0){dD=dD.substr(4)}if(cW(dE,dD)&&ba(dG,dF)){return true}}return false}function cz(dB,dD){dB=dB.replace("send_image=0","send_image=1");var dC=new Image(1,1);dC.onload=function(){H=0;if(typeof dD==="function"){dD({request:dB,trackerUrl:aI,success:true})}};dC.onerror=function(){if(typeof dD==="function"){dD({request:dB,trackerUrl:aI,success:false})}};dC.src=aI+(aI.indexOf("?")<0?"?":"&")+dB}function cT(dB){if(ds==="POST"){return true}return dB&&(dB.length>2000||dB.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob
+}function bd(dF,dI,dH){var dD=aP();if(!dD){return false}var dE={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dJ=false;var dC=aI;try{var dB=new Blob([dF],dE);if(dH&&!cT(dF)){dB=new Blob([],dE);dC=dC+(dC.indexOf("?")<0?"?":"&")+dF}dJ=g.sendBeacon(dC,dB)}catch(dG){return false}if(dJ&&typeof dI==="function"){dI({request:dF,trackerUrl:aI,success:true,isSendBeacon:true})}return dJ}function dl(dC,dD,dB){if(!M(dB)||null===dB){dB=true}if(m&&bd(dC,dD,dB)){return}setTimeout(function(){if(m&&bd(dC,dD,dB)){return}var dG;try{var dF=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dF.open("POST",aI,true);dF.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dH=m&&bd(dC,dD,dB);if(!dH&&dB){cz(dC,dD)}else{if(typeof dD==="function"){dD({request:dC,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dD==="function")){dD({request:dC,trackerUrl:aI,success:true,xhr:this})}}};
+dF.setRequestHeader("Content-Type",cK);dF.withCredentials=true;dF.send(dC)}catch(dE){dG=m&&bd(dC,dD,dB);if(!dG&&dB){cz(dC,dD)}else{if(typeof dD==="function"){dD({request:dC,trackerUrl:aI,success:false})}}}},50)}function cp(dC){var dB=new Date();var dD=dB.getTime()+dC;if(!r||dD>r){r=dD}}function bh(){bj=true;cM=new Date().getTime()}function dv(){var dB=new Date().getTime();return !cM||(dB-cM)>bc}function aD(){if(dv()){b0()}}function a1(){if(J.visibilityState==="hidden"&&dv()){b0()}else{if(J.visibilityState==="visible"){cM=new Date().getTime()}}}function dy(){if(aS||!bc){return}aS=true;ar(W,"focus",bh);ar(W,"blur",aD);ar(W,"visibilitychange",a1);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dv()){b0()}}})}function cR(dF){var dC=new Date();var dB=dC.getTime();df=dB;if(cQ&&dB<cQ){var dD=cQ-dB;setTimeout(dF,dD);cp(dD+50);cQ+=50;return}if(cQ===false){var dE=800;cQ=dB+dE}dF()}function aT(){if(aH(c1)){bL=false}else{if(aH(bk)){bL=true}}}function bT(dD){if(!aZ){return dD}var dC,dB="&uadata="+t(W.JSON.stringify(aZ));
+if(dD instanceof Array){for(dC=0;dC<dD.length;dC++){dD[dC]+=dB}}else{dD+=dB}return dD}function cA(dB){if(!dd||!M(g.userAgentData)||!C(g.userAgentData.getHighEntropyValues)){dB();return}aZ={brands:g.userAgentData.brands,platform:g.userAgentData.platform};g.userAgentData.getHighEntropyValues(["brands","model","platform","platformVersion","uaFullVersion","fullVersionList"]).then(function(dD){var dC;if(dD.fullVersionList){delete dD.brands;delete dD.uaFullVersion}aZ=dD;dB()},function(dC){dB()})}function bO(dC,dB,dD){if(!bu){cj.push(dC);return}aT();if(!bL){c0.push(dC);return}aA=true;if(!c5&&dC){if(cP&&bL){dC+="&consent=1"}dC=bT(dC);cR(function(){if(dc&&bd(dC,dD,true)){cp(100);return}if(cT(dC)){dl(dC,dD)}else{cz(dC,dD)}cp(dB)})}if(!aS){dy()}}function cu(dB){if(c5){return false}return(dB&&dB.length)}function dk(dB,dF){if(!dF||dF>=dB.length){return[dB]}var dC=0;var dD=dB.length;var dE=[];for(dC;dC<dD;dC+=dF){dE.push(dB.slice(dC,dC+dF))}return dE}function dx(dC,dB){if(!cu(dC)){return}if(!bu){cj.push(dC);
+return}if(!bL){c0.push(dC);return}aA=true;cR(function(){var dF=dk(dC,50);var dD=0,dE;for(dD;dD<dF.length;dD++){dE='{"requests":["?'+bT(dF[dD]).join('","?')+'"],"send_image":0}';if(dc&&bd(dE,null,false)){cp(100)}else{dl(dE,null,false)}}cp(dB)})}function aY(dB){return br+dB+"."+cf+"."+bx}function b8(dD,dC,dB){dw(dD,"",-129600000,dC,dB)}function ce(){if(bt){return"0"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dB=br+"testcookie";dw(dB,"1",undefined,by,de,b1,aN);var dC=aH(dB)==="1"?"1":"0";b8(dB);return dC}function bp(){bx=cg((de||c9)+(by||"/")).slice(0,4)}function cX(){cA(function(){var dH,dG;bu=true;for(dH=0;dH<cj.length;dH++){dG=typeof cj[dH];if(dG==="string"){bO(cj[dH],bS)}else{if(dG==="object"){dx(cj[dH],bS)}}}cj=[]});if(!dd){return{}}if(M(dp.res)){return dp}var dC,dE,dF={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};
+if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dC in dF){if(Object.prototype.hasOwnProperty.call(dF,dC)){dE=g.mimeTypes[dF[dC]];dp[dC]=(dE&&dE.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&M(g.javaEnabled)&&g.javaEnabled()){dp.java="1"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){dp.cookie=g.cookieEnabled?"1":"0"}else{dp.cookie=ce()}}var dD=parseInt(ab.width,10);var dB=parseInt(ab.height,10);dp.res=parseInt(dD,10)+"x"+parseInt(dB,10);return dp}function b6(){var dC=aY("cvar"),dB=aH(dC);if(dB&&dB.length){dB=W.JSON.parse(dB);if(Z(dB)){return dB}}return{}}function cU(){if(aV===false){aV=b6()}}function c6(){var dB=cX();return cg((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dB)+(new Date()).getTime()+Math.random()).slice(0,16)}function aF(){var dB=cX();return cg((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dB)).slice(0,6)}function bm(){return Math.floor((new Date()).getTime()/1000)
+}function aO(){var dC=bm();var dD=aF();var dB=String(dC)+dD;return dB}function dj(dD){dD=String(dD);var dG=aF();var dE=dG.length;var dF=dD.substr(-1*dE,dE);var dC=parseInt(dD.substr(0,dD.length-dE),10);if(dC&&dF&&dF===dG){var dB=bm();if(a6<=0){return true}if(dB>=dC&&dB<=(dC+a6)){return true}}return false}function dz(dB){if(!c2){return""}var dF=e(dB,az);if(!dF){return""}dF=String(dF);var dD=new RegExp("^[a-zA-Z0-9]+$");if(dF.length===32&&dD.test(dF)){var dC=dF.substr(16,32);if(dj(dC)){var dE=dF.substr(0,16);return dE}}return""}function c3(){if(!bX){bX=dz(bW)}var dD=new Date(),dB=Math.round(dD.getTime()/1000),dC=aY("id"),dG=aH(dC),dF,dE;if(dG){dF=dG.split(".");dF.unshift("0");if(bX.length){dF[1]=bX}return dF}if(bX.length){dE=bX}else{if("0"===ce()){dE=""}else{dE=c6()}}dF=["1",dE,dB];return dF}function a5(){var dE=c3(),dC=dE[0],dD=dE[1],dB=dE[2];return{newVisitor:dC,uuid:dD,createTs:dB}}function aL(){var dE=new Date(),dC=dE.getTime(),dF=a5().createTs;var dB=parseInt(dF,10);var dD=(dB*1000)+cZ-dC;
+return dD}function aR(dB){if(!cf){return}var dD=new Date(),dC=Math.round(dD.getTime()/1000);if(!M(dB)){dB=a5()}var dE=dB.uuid+"."+dB.createTs+".";dw(aY("id"),dE,aL(),by,de,b1,aN)}function bV(){var dB=aH(aY("ref"));if(dB.length){try{dB=W.JSON.parse(dB);if(Z(dB)){return dB}}catch(dC){}}return["","",0,""]}function bF(dD){var dC=br+"testcookie_domain";var dB="testvalue";dw(dC,dB,10000,null,dD,b1,aN);if(aH(dC)===dB){b8(dC,null,dD);return true}return false}function aJ(){var dC=bt;bt=false;var dB,dD;for(dB=0;dB<bD.length;dB++){dD=aY(bD[dB]);if(dD!==c1&&dD!==bk&&0!==aH(dD)){b8(dD,by,de)}}bt=dC}function cc(dB){cf=dB}function dA(dF){if(!dF||!Z(dF)){return}var dE=[];var dD;for(dD in dF){if(Object.prototype.hasOwnProperty.call(dF,dD)){dE.push(dD)}}var dG={};dE.sort();var dB=dE.length;var dC;for(dC=0;dC<dB;dC++){dG[dE[dC]]=dF[dE[dC]]}return dG}function cm(){dw(aY("ses"),"1",cy,by,de,b1,aN)}function bn(){var dE="";var dC="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dD=dC.length;
+var dB;for(dB=0;dB<6;dB++){dE+=dC.charAt(Math.floor(Math.random()*dD))}return dE}function aE(dC){if(cx!==""){dC+=cx;bo=true;return dC}if(!h){return dC}var dD=(typeof h.timing==="object")&&h.timing?h.timing:undefined;if(!dD){dD=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:undefined}if(!dD){return dC}var dB="";if(dD.connectEnd&&dD.fetchStart){if(dD.connectEnd<dD.fetchStart){return dC}dB+="&pf_net="+Math.round(dD.connectEnd-dD.fetchStart)}if(dD.responseStart&&dD.requestStart){if(dD.responseStart<dD.requestStart){return dC}dB+="&pf_srv="+Math.round(dD.responseStart-dD.requestStart)}if(dD.responseStart&&dD.responseEnd){if(dD.responseEnd<dD.responseStart){return dC}dB+="&pf_tfr="+Math.round(dD.responseEnd-dD.responseStart)}if(M(dD.domLoading)){if(dD.domInteractive&&dD.domLoading){if(dD.domInteractive<dD.domLoading){return dC}dB+="&pf_dm1="+Math.round(dD.domInteractive-dD.domLoading)}}else{if(dD.domInteractive&&dD.responseEnd){if(dD.domInteractive<dD.responseEnd){return dC
+}dB+="&pf_dm1="+Math.round(dD.domInteractive-dD.responseEnd)}}if(dD.domComplete&&dD.domInteractive){if(dD.domComplete<dD.domInteractive){return dC}dB+="&pf_dm2="+Math.round(dD.domComplete-dD.domInteractive)}if(dD.loadEventEnd&&dD.loadEventStart){if(dD.loadEventEnd<dD.loadEventStart){return dC}dB+="&pf_onl="+Math.round(dD.loadEventEnd-dD.loadEventStart)}return dC+dB}function dr(){var dL,dE=new Date(),dF=Math.round(dE.getTime()/1000),dQ,dD,dG=1024,dN,dH,dC=aY("ses"),dK=aY("ref"),dJ=aH(dC),dB=bV(),dP=bb||bW,dM,dI,dO={};dM=dB[0];dI=dB[1];dQ=dB[2];dD=dB[3];if(!dJ){if(!bE||!dM.length){for(dL in cB){if(Object.prototype.hasOwnProperty.call(cB,dL)){dM=e(dP,cB[dL]);if(dM.length){break}}}for(dL in bP){if(Object.prototype.hasOwnProperty.call(bP,dL)){dI=e(dP,bP[dL]);if(dI.length){break}}}}dN=d(bw);dH=dD.length?d(dD):"";if(dN.length&&!a2(dN)&&!cC(bw)&&(!bE||!dH.length||a2(dH)||cC(dD))){dD=bw}if(dD.length||dM.length){dQ=dF;dB=[dM,dI,dQ,cb(dD.slice(0,dG))];dw(dK,W.JSON.stringify(dB),dm,by,de,b1,aN)}}if(dM.length){dO._rcn=t(dM)
+}if(dI.length){dO._rck=t(dI)}dO._refts=dQ;if(String(dD).length){dO._ref=t(cb(dD.slice(0,dG)))}return dO}function cE(dC,dN,dO){var dM,dB=new Date(),dL=aV,dH=aY("cvar"),dP=bb||bW;if(bt){aJ()}if(c5){return""}var dI=a5();var dF=J.characterSet||J.charset;if(!dF||dF.toLowerCase()==="utf-8"){dF=null}dC+="&idsite="+cf+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dB.getHours()+"&m="+dB.getMinutes()+"&s="+dB.getSeconds()+"&url="+t(cb(dP))+(bw.length&&!cC(bw)?"&urlref="+t(cb(bw)):"")+(ac(bH)?"&uid="+t(bH):"")+"&_id="+dI.uuid+"&_idn="+dI.newVisitor+(dF?"&cs="+t(dF):"")+"&send_image=0";var dK=dr();for(dM in dK){if(Object.prototype.hasOwnProperty.call(dK,dM)){dC+="&"+dM+"="+dK[dM]}}var dR=cX();for(dM in dR){if(Object.prototype.hasOwnProperty.call(dR,dM)){dC+="&"+dM+"="+dR[dM]}}var dS=[];if(dN){for(dM in dN){if(Object.prototype.hasOwnProperty.call(dN,dM)&&/^dimension\d+$/.test(dM)){var dD=dM.replace("dimension","");dS.push(parseInt(dD,10));dS.push(String(dD));dC+="&"+dM+"="+t(dN[dM]);delete dN[dM]
+}}}if(dN&&D(dN)){dN=null}for(dM in cG){if(Object.prototype.hasOwnProperty.call(cG,dM)){dC+="&"+dM+"="+t(cG[dM])}}for(dM in bv){if(Object.prototype.hasOwnProperty.call(bv,dM)){var dG=(-1===P(dS,dM));if(dG){dC+="&dimension"+dM+"="+t(bv[dM])}}}if(dN){dC+="&data="+t(W.JSON.stringify(dN))}else{if(at){dC+="&data="+t(W.JSON.stringify(at))}}function dE(dT,dU){var dV=W.JSON.stringify(dT);if(dV.length>2){return"&"+dU+"="+t(dV)}return""}var dQ=dA(b5);var dJ=dA(cw);dC+=dE(dQ,"cvar");dC+=dE(dJ,"e_cvar");if(aV){dC+=dE(aV,"_cvar");for(dM in dL){if(Object.prototype.hasOwnProperty.call(dL,dM)){if(aV[dM][0]===""||aV[dM][1]===""){delete aV[dM]}}}if(bZ){dw(dH,W.JSON.stringify(aV),cy,by,de,b1,aN)}}if(a9&&bN&&!bo){dC=aE(dC);bo=true}if(aQ){dC+="&pv_id="+aQ}aR(dI);cm();dC+=ag(dO,{tracker:bR,request:dC});if(dg.length){dC+="&"+dg}if(C(cl)){dC=cl(dC)}return dC}b0=function be(){var dB=new Date();dB=dB.getTime();if(!df){return false}if(df+bc<=dB){bR.ping();return true}return false};function bz(dE,dD,dI,dF,dB,dL){var dH="idgoal=0",dC=new Date(),dJ=[],dK,dG=String(dE).length;
+if(dG){dH+="&ec_id="+t(dE)}dH+="&revenue="+dD;if(String(dI).length){dH+="&ec_st="+dI}if(String(dF).length){dH+="&ec_tx="+dF}if(String(dB).length){dH+="&ec_sh="+dB}if(String(dL).length){dH+="&ec_dt="+dL}if(dh){for(dK in dh){if(Object.prototype.hasOwnProperty.call(dh,dK)){if(!M(dh[dK][1])){dh[dK][1]=""}if(!M(dh[dK][2])){dh[dK][2]=""}if(!M(dh[dK][3])||String(dh[dK][3]).length===0){dh[dK][3]=0}if(!M(dh[dK][4])||String(dh[dK][4]).length===0){dh[dK][4]=1}dJ.push(dh[dK])}}dH+="&ec_items="+t(W.JSON.stringify(dJ))}dH=cE(dH,at,"ecommerce");bO(dH,bS);if(dG){dh={}}}function b7(dB,dF,dE,dD,dC,dG){if(String(dB).length&&M(dF)){bz(dB,dF,dE,dD,dC,dG)}}function bB(dB){if(M(dB)){bz("",dB,"","","","")}}function b9(dC,dE,dD){if(!bJ){aQ=bn()}var dB=cE("action_name="+t(ap(dC||bq)),dE,"log");if(a9&&!bo){dB=aE(dB)}bO(dB,bS,dD)}function a7(dD,dC){var dE,dB="(^| )(piwik[_-]"+dC+"|matomo[_-]"+dC;if(dD){for(dE=0;dE<dD.length;dE++){dB+="|"+dD[dE]}}dB+=")( |$)";return new RegExp(dB)}function a0(dB){return(aI&&dB&&0===String(dB).indexOf(aI))
+}function cI(dF,dB,dG,dC){if(a0(dB)){return 0}var dE=a7(bU,"download"),dD=a7(bf,"link"),dH=new RegExp("\\.("+dn.join("|")+")([?&#]|$)","i");if(dD.test(dF)){return"link"}if(dC||dE.test(dF)||dH.test(dB)){return"download"}if(dG){return 0}return"link"}function ay(dC){var dB;dB=dC.parentNode;while(dB!==null&&M(dB)){if(ai.isLinkElement(dC)){break}dC=dB;dB=dC.parentNode}return dC}function du(dG){dG=ay(dG);if(!ai.hasNodeAttribute(dG,"href")){return}if(!M(dG.href)){return}var dF=ai.getAttributeValueFromNode(dG,"href");var dC=dG.pathname||cv(dG.href);var dH=dG.hostname||d(dG.href);var dI=dH.toLowerCase();var dD=dG.href.replace(dH,dI);var dE=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dE.test(dD)){var dB=cI(dG.className,dD,aw(dI,dC),ai.hasNodeAttribute(dG,"download"));if(dB){return{type:dB,href:dD}}}}function aU(dB,dC,dD,dE){var dF=w.buildInteractionRequestParams(dB,dC,dD,dE);if(!dF){return}return cE(dF,null,"contentInteraction")}function bi(dB,dC){if(!dB||!dC){return false
+}var dD=w.findTargetNode(dB);if(w.shouldIgnoreInteraction(dD)){return false}dD=w.findTargetNodeNoDefault(dB);if(dD&&!Y(dD,dC)){return false}return true}function cH(dD,dC,dF){if(!dD){return}var dB=w.findParentContentNode(dD);if(!dB){return}if(!bi(dB,dD)){return}var dE=w.buildContentBlock(dB);if(!dE){return}if(!dE.target&&dF){dE.target=dF}return w.buildInteractionRequestParams(dC,dE.name,dE.piece,dE.target)}function a3(dC){if(!ck||!ck.length){return false}var dB,dD;for(dB=0;dB<ck.length;dB++){dD=ck[dB];if(dD&&dD.name===dC.name&&dD.piece===dC.piece&&dD.target===dC.target){return true}}return false}function a4(dB){return function(dF){if(!dB){return}var dD=w.findParentContentNode(dB);var dC;if(dF){dC=dF.target||dF.srcElement}if(!dC){dC=dB}if(!bi(dD,dC)){return}if(!dD){return false}var dG=w.findTargetNode(dD);if(!dG||w.shouldIgnoreInteraction(dG)){return false}var dE=du(dG);if(dq&&dE&&dE.type){return dE.type}return bR.trackContentInteractionNode(dC,"click")}}function ca(dD){if(!dD||!dD.length){return
+}var dB,dC;for(dB=0;dB<dD.length;dB++){dC=w.findTargetNode(dD[dB]);if(dC&&!dC.contentInteractionTrackingSetupDone){dC.contentInteractionTrackingSetupDone=true;ar(dC,"click",a4(dC))}}}function bG(dD,dE){if(!dD||!dD.length){return[]}var dB,dC;for(dB=0;dB<dD.length;dB++){if(a3(dD[dB])){dD.splice(dB,1);dB--}else{ck.push(dD[dB])}}if(!dD||!dD.length){return[]}ca(dE);var dF=[];for(dB=0;dB<dD.length;dB++){dC=cE(w.buildImpressionRequestParams(dD[dB].name,dD[dB].piece,dD[dB].target),undefined,"contentImpressions");if(dC){dF.push(dC)}}return dF}function cO(dC){var dB=w.collectContent(dC);return bG(dB,dC)}function bg(dC){if(!dC||!dC.length){return[]}var dB;for(dB=0;dB<dC.length;dB++){if(!w.isNodeVisible(dC[dB])){dC.splice(dB,1);dB--}}if(!dC||!dC.length){return[]}return cO(dC)}function aK(dD,dB,dC){var dE=w.buildImpressionRequestParams(dD,dB,dC);return cE(dE,null,"contentImpression")}function dt(dE,dC){if(!dE){return}var dB=w.findParentContentNode(dE);var dD=w.buildContentBlock(dB);if(!dD){return}if(!dC){dC="Unknown"
+}return aU(dC,dD.name,dD.piece,dD.target)}function c4(dC,dE,dB,dD){return"e_c="+t(dC)+"&e_a="+t(dE)+(M(dB)?"&e_n="+t(dB):"")+(M(dD)?"&e_v="+t(dD):"")+"&ca=1"}function ax(dD,dF,dB,dE,dH,dG){if(!ac(dD)||!ac(dF)){ao("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dC=cE(c4(dD,dF,dB,dE),dH,"event");bO(dC,bS,dG)}function ch(dB,dE,dC,dF){var dD=cE("search="+t(dB)+(dE?"&search_cat="+t(dE):"")+(M(dC)?"&search_count="+dC:""),dF,"sitesearch");bO(dD,bS)}function c8(dB,dF,dE,dD){var dC=cE("idgoal="+dB+(dF?"&revenue="+dF:""),dE,"goal");bO(dC,bS,dD)}function di(dE,dB,dI,dH,dD){var dG=dB+"="+t(cb(dE));var dC=cH(dD,"click",dE);if(dC){dG+="&"+dC}var dF=cE(dG,dI,"link");bO(dF,bS,dH)}function b3(dC,dB){if(dC!==""){return dC+dB.charAt(0).toUpperCase()+dB.slice(1)}return dB}function cq(dG){var dF,dB,dE=["","webkit","ms","moz"],dD;if(!bl){for(dB=0;dB<dE.length;dB++){dD=dE[dB];if(Object.prototype.hasOwnProperty.call(J,b3(dD,"hidden"))){if(J[b3(dD,"visibilityState")]==="prerender"){dF=true
+}break}}}if(dF){ar(J,dD+"visibilitychange",function dC(){J.removeEventListener(dD+"visibilitychange",dC,false);dG()});return}dG()}function bA(){var dC=bR.getVisitorId();var dB=aO();return dC+dB}function ct(dB){if(!dB){return}if(!ai.hasNodeAttribute(dB,"href")){return}var dC=ai.getAttributeValueFromNode(dB,"href");if(!dC||a0(dC)){return}if(!bR.getVisitorId()){return}dC=j(dC,az);var dD=bA();dC=I(dC,az,dD);ai.setAnyAttribute(dB,"href",dC)}function bs(dE){var dF=ai.getAttributeValueFromNode(dE,"href");if(!dF){return false}dF=String(dF);var dC=dF.indexOf("//")===0||dF.indexOf("http://")===0||dF.indexOf("https://")===0;if(!dC){return false}var dB=dE.pathname||cv(dE.href);var dD=(dE.hostname||d(dE.href)).toLowerCase();if(aw(dD,dB)){if(!cW(c9,O(dD))){return true}return false}return false}function cV(dB){var dC=du(dB);if(dC&&dC.type){dC.href=p(dC.href);di(dC.href,dC.type,undefined,null,dB);return}if(c2){dB=ay(dB);if(bs(dB)){ct(dB)}}}function cJ(){return J.all&&!J.addEventListener}function da(dB){var dD=dB.which;
+var dC=(typeof dB.button);if(!dD&&dC!=="undefined"){if(cJ()){if(dB.button&1){dD=1}else{if(dB.button&2){dD=3}else{if(dB.button&4){dD=2}}}}else{if(dB.button===0||dB.button==="0"){dD=1}else{if(dB.button&1){dD=2}else{if(dB.button&2){dD=3}}}}}return dD}function b2(dB){switch(da(dB)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a8(dB){return dB.target||dB.srcElement}function db(dB){return dB==="A"||dB==="AREA"}function aG(dB){function dC(dE){var dF=a8(dE);var dG=dF.nodeName;var dD=a7(bI,"ignore");while(!db(dG)&&dF&&dF.parentNode){dF=dF.parentNode;dG=dF.nodeName}if(dF&&db(dG)&&!dD.test(dF.className)){return dF}}return function(dF){dF=dF||W.event;var dG=dC(dF);if(!dG){return}var dE=b2(dF);if(dF.type==="click"){var dD=false;if(dB&&dE==="middle"){dD=true}if(dG&&!dD){cV(dG)}}else{if(dF.type==="mousedown"){if(dE==="middle"&&dG){aW=dE;bK=dG}else{aW=bK=null}}else{if(dF.type==="mouseup"){if(dE===aW&&dG===bK){cV(dG)}aW=bK=null}else{if(dF.type==="contextmenu"){cV(dG)}}}}}}function av(dE,dD,dB){var dC=typeof dD;
+if(dC==="undefined"){dD=true}ar(dE,"click",aG(dD),dB);if(dD){ar(dE,"mouseup",aG(dD),dB);ar(dE,"mousedown",aG(dD),dB);ar(dE,"contextmenu",aG(dD),dB)}}function aX(dC,dF,dG){if(co){return true}co=true;var dH=false;var dE,dD;function dB(){dH=true}n(function(){function dI(dK){setTimeout(function(){if(!co){return}dH=false;dG.trackVisibleContentImpressions();dI(dK)},dK)}function dJ(dK){setTimeout(function(){if(!co){return}if(dH){dH=false;dG.trackVisibleContentImpressions()}dJ(dK)},dK)}if(dC){dE=["scroll","resize"];for(dD=0;dD<dE.length;dD++){if(J.addEventListener){J.addEventListener(dE[dD],dB,false)}else{W.attachEvent("on"+dE[dD],dB)}}dJ(100)}if(dF&&dF>0){dF=parseInt(dF,10);dI(dF)}})}var bM={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dB=this.requests;this.requests=[];if(dB.length===1){bO(dB[0],bS)}else{dx(dB,bS)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dC){if(!this.canQueue()){dx(dC,bS);return}var dB;for(dB=0;dB<dC.length;dB++){this.push(dC[dB])
+}},push:function(dB){if(!dB){return}if(!this.canQueue()){bO(dB,bS);return}bM.requests.push(dB);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bM.timeout=null;bM.sendRequests()},bM.interval);var dC="RequestQueue"+aB;if(!Object.prototype.hasOwnProperty.call(b,dC)){b[dC]={unload:function(){if(bM.timeout){clearTimeout(bM.timeout)}bM.sendRequests()}}}}};bp();this.hasConsent=function(){return bL};this.getVisitorInfo=function(){if(!aH(aY("id"))){aR()}return c3()};this.getVisitorId=function(){return this.getVisitorInfo()[1]};this.getAttributionInfo=function(){return bV()};this.getAttributionCampaignName=function(){return bV()[0]};this.getAttributionCampaignKeyword=function(){return bV()[1]};this.getAttributionReferrerTimestamp=function(){return bV()[2]};this.getAttributionReferrerUrl=function(){return bV()[3]};this.setTrackerUrl=function(dB){aI=dB};this.getTrackerUrl=function(){return aI};this.getMatomoUrl=function(){return aa(this.getTrackerUrl(),bQ)
+};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dD,dC){if(!M(dD)||null===dD){dD=this.getTrackerUrl()}var dB=new T(dD,dC);L.push(dB);u.trigger("TrackerAdded",[this]);return dB};this.getSiteId=function(){return cf};this.setSiteId=function(dB){cc(dB)};this.resetUserId=function(){bH=""};this.setUserId=function(dB){if(ac(dB)){bH=dB}};this.setVisitorId=function(dC){var dB=/[0-9A-Fa-f]{16}/g;if(x(dC)&&dB.test(dC)){bX=dC}else{ao("Invalid visitorId set"+dC)}};this.getUserId=function(){return bH};this.setCustomData=function(dB,dC){if(Z(dB)){at=dB}else{if(!at){at={}}at[dB]=dC}};this.getCustomData=function(){return at};this.setCustomRequestProcessing=function(dB){cl=dB};this.appendToTrackingUrl=function(dB){dg=dB};this.getRequest=function(dB){return cE(dB)};this.addPlugin=function(dB,dC){b[dB]=dC};this.setCustomDimension=function(dB,dC){dB=parseInt(dB,10);if(dB>0){if(!M(dC)){dC=""}if(!x(dC)){dC=String(dC)}bv[dB]=dC}};this.getCustomDimension=function(dB){dB=parseInt(dB,10);
+if(dB>0&&Object.prototype.hasOwnProperty.call(bv,dB)){return bv[dB]}};this.deleteCustomDimension=function(dB){dB=parseInt(dB,10);if(dB>0){delete bv[dB]}};this.setCustomVariable=function(dC,dB,dF,dD){var dE;if(!M(dD)){dD="visit"}if(!M(dB)){return}if(!M(dF)){dF=""}if(dC>0){dB=!x(dB)?String(dB):dB;dF=!x(dF)?String(dF):dF;dE=[dB.slice(0,bC),dF.slice(0,bC)];if(dD==="visit"||dD===2){cU();aV[dC]=dE}else{if(dD==="page"||dD===3){b5[dC]=dE}else{if(dD==="event"){cw[dC]=dE}}}}};this.getCustomVariable=function(dC,dD){var dB;if(!M(dD)){dD="visit"}if(dD==="page"||dD===3){dB=b5[dC]}else{if(dD==="event"){dB=cw[dC]}else{if(dD==="visit"||dD===2){cU();dB=aV[dC]}}}if(!M(dB)||(dB&&dB[0]==="")){return false}return dB};this.deleteCustomVariable=function(dB,dC){if(this.getCustomVariable(dB,dC)){this.setCustomVariable(dB,"","",dC)}};this.deleteCustomVariables=function(dB){if(dB==="page"||dB===3){b5={}}else{if(dB==="event"){cw={}}else{if(dB==="visit"||dB===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bZ=true
+};this.setLinkTrackingTimer=function(dB){bS=dB};this.getLinkTrackingTimer=function(){return bS};this.setDownloadExtensions=function(dB){if(x(dB)){dB=dB.split("|")}dn=dB};this.addDownloadExtensions=function(dC){var dB;if(x(dC)){dC=dC.split("|")}for(dB=0;dB<dC.length;dB++){dn.push(dC[dB])}};this.removeDownloadExtensions=function(dD){var dC,dB=[];if(x(dD)){dD=dD.split("|")}for(dC=0;dC<dn.length;dC++){if(P(dD,dn[dC])===-1){dB.push(dn[dC])}}dn=dB};this.setDomains=function(dB){aC=x(dB)?[dB]:dB;var dF=false,dD=0,dC;for(dD;dD<aC.length;dD++){dC=String(aC[dD]);if(cW(c9,O(dC))){dF=true;break}var dE=cv(dC);if(dE&&dE!=="/"&&dE!=="/*"){dF=true;break}}if(!dF){aC.push(c9)}};this.setExcludedReferrers=function(dB){cL=x(dB)?[dB]:dB};this.enableCrossDomainLinking=function(){c2=true};this.disableCrossDomainLinking=function(){c2=false};this.isCrossDomainLinkingEnabled=function(){return c2};this.setCrossDomainLinkingTimeout=function(dB){a6=dB};this.getCrossDomainLinkingUrlParameter=function(){return t(az)+"="+t(bA())
+};this.setIgnoreClasses=function(dB){bI=x(dB)?[dB]:dB};this.setRequestMethod=function(dB){if(dB){ds=String(dB).toUpperCase()}else{ds=cr}if(ds==="GET"){this.disableAlwaysUseSendBeacon()}};this.setRequestContentType=function(dB){cK=dB||aM};this.setGenerationTimeMs=function(dB){ao("setGenerationTimeMs is no longer supported since Matomo 4. The call will be ignored. The replacement is setPagePerformanceTiming.")};this.setPagePerformanceTiming=function(dF,dH,dG,dC,dI,dD){var dE={pf_net:dF,pf_srv:dH,pf_tfr:dG,pf_dm1:dC,pf_dm2:dI,pf_onl:dD};try{dE=Q(dE,M);dE=B(dE);cx=l(dE);if(cx===""){ao("setPagePerformanceTiming() called without parameters. This function needs to be called with at least one performance parameter.");return}bo=false;bN=true}catch(dB){ao("setPagePerformanceTiming: "+dB.toString())}};this.setReferrerUrl=function(dB){bw=dB};this.setCustomUrl=function(dB){bb=b4(bW,dB)};this.getCurrentUrl=function(){return bb||bW};this.setDocumentTitle=function(dB){bq=dB};this.setPageViewId=function(dB){aQ=dB;
+bJ=true};this.setAPIUrl=function(dB){bQ=dB};this.setDownloadClasses=function(dB){bU=x(dB)?[dB]:dB};this.setLinkClasses=function(dB){bf=x(dB)?[dB]:dB};this.setCampaignNameKey=function(dB){cB=x(dB)?[dB]:dB};this.setCampaignKeywordKey=function(dB){bP=x(dB)?[dB]:dB};this.discardHashTag=function(dB){bY=dB};this.setCookieNamePrefix=function(dB){br=dB;if(aV){aV=b6()}};this.setCookieDomain=function(dB){var dC=O(dB);if(!bt&&!bF(dC)){ao("Can't write cookie on domain "+dB)}else{de=dC;bp()}};this.setExcludedQueryParams=function(dB){cs=x(dB)?[dB]:dB};this.getCookieDomain=function(){return de};this.hasCookies=function(){return"1"===ce()};this.setSessionCookie=function(dD,dC,dB){if(!dD){throw new Error("Missing cookie name")}if(!M(dB)){dB=cy}bD.push(dD);dw(aY(dD),dC,dB,by,de,b1,aN)};this.getCookie=function(dC){var dB=aH(aY(dC));if(dB===0){return null}return dB};this.setCookiePath=function(dB){by=dB;bp()};this.getCookiePath=function(dB){return by};this.setVisitorCookieTimeout=function(dB){cZ=dB*1000};this.setSessionCookieTimeout=function(dB){cy=dB*1000
+};this.getSessionCookieTimeout=function(){return cy};this.setReferralCookieTimeout=function(dB){dm=dB*1000};this.setConversionAttributionFirstReferrer=function(dB){bE=dB};this.setSecureCookie=function(dB){if(dB&&location.protocol!=="https:"){ao("Error in setSecureCookie: You cannot use `Secure` on http.");return}b1=dB};this.setCookieSameSite=function(dB){dB=String(dB);dB=dB.charAt(0).toUpperCase()+dB.toLowerCase().slice(1);if(dB!=="None"&&dB!=="Lax"&&dB!=="Strict"){ao("Ignored value for sameSite. Please use either Lax, None, or Strict.");return}if(dB==="None"){if(location.protocol==="https:"){this.setSecureCookie(true)}else{ao("sameSite=None cannot be used on http, reverted to sameSite=Lax.");dB="Lax"}}aN=dB};this.disableCookies=function(){bt=true;if(cf){aJ()}};this.areCookiesEnabled=function(){return !bt};this.setCookieConsentGiven=function(){if(bt&&!c5){bt=false;dd=true;if(cf&&aA){aR();var dB=cE("ping=1",null,"ping");bO(dB,bS)}}};this.requireCookieConsent=function(){if(this.getRememberedCookieConsent()){return false
+}this.disableCookies();return true};this.getRememberedCookieConsent=function(){return aH(cS)};this.forgetCookieConsentGiven=function(){b8(cS,by,de);this.disableCookies()};this.rememberCookieConsentGiven=function(dC){if(dC){dC=dC*60*60*1000}else{dC=30*365*24*60*60*1000}this.setCookieConsentGiven();var dB=new Date().getTime();dw(cS,dB,dC,by,de,b1,aN)};this.deleteCookies=function(){aJ()};this.setDoNotTrack=function(dC){var dB=g.doNotTrack||g.msDoNotTrack;c5=dC&&(dB==="yes"||dB==="1");if(c5){this.disableCookies()}};this.alwaysUseSendBeacon=function(){dc=true};this.disableAlwaysUseSendBeacon=function(){dc=false};this.addListener=function(dC,dB){av(dC,dB,false)};this.enableLinkTracking=function(dC){if(dq){return}dq=true;var dB=this;q(function(){au=true;var dD=J.body;av(dD,dC,true)})};this.enableJSErrorTracking=function(){if(c7){return}c7=true;var dB=W.onerror;W.onerror=function(dG,dE,dD,dF,dC){cq(function(){var dH="JavaScript Errors";var dI=dE+":"+dD;if(dF){dI+=":"+dF}if(P(cF,dH+dI+dG)===-1){cF.push(dH+dI+dG);
+ax(dH,dI,dG)}});if(dB){return dB(dG,dE,dD,dF,dC)}return false}};this.disablePerformanceTracking=function(){a9=false};this.enableHeartBeatTimer=function(dB){dB=Math.max(dB||15,5);bc=dB*1000;if(df!==null){dy()}};this.disableHeartBeatTimer=function(){if(bc||aS){if(W.removeEventListener){W.removeEventListener("focus",bh);W.removeEventListener("blur",aD);W.removeEventListener("visibilitychange",a1)}else{if(W.detachEvent){W.detachEvent("onfocus",bh);W.detachEvent("onblur",aD);W.detachEvent("visibilitychange",a1)}}}bc=null;aS=false};this.killFrame=function(){if(W.location!==W.top.location){W.top.location=W.location}};this.redirectFile=function(dB){if(W.location.protocol==="file:"){W.location=dB}};this.setCountPreRendered=function(dB){bl=dB};this.trackGoal=function(dB,dE,dD,dC){cq(function(){c8(dB,dE,dD,dC)})};this.trackLink=function(dC,dB,dE,dD){cq(function(){di(dC,dB,dE,dD)})};this.getNumTrackedPageViews=function(){return cD};this.trackPageView=function(dB,dD,dC){ck=[];c0=[];cF=[];if(R(cf)){cq(function(){ad(aI,bQ,cf)
+})}else{cq(function(){cD++;b9(dB,dD,dC)})}};this.disableBrowserFeatureDetection=function(){dd=false};this.enableBrowserFeatureDetection=function(){dd=true};this.trackAllContentImpressions=function(){if(R(cf)){return}cq(function(){q(function(){var dB=w.findContentNodes();var dC=cO(dB);bM.pushMultiple(dC)})})};this.trackVisibleContentImpressions=function(dB,dC){if(R(cf)){return}if(!M(dB)){dB=true}if(!M(dC)){dC=750}aX(dB,dC,this);cq(function(){n(function(){var dD=w.findContentNodes();var dE=bg(dD);bM.pushMultiple(dE)})})};this.trackContentImpression=function(dD,dB,dC){if(R(cf)){return}dD=a(dD);dB=a(dB);dC=a(dC);if(!dD){return}dB=dB||"Unknown";cq(function(){var dE=aK(dD,dB,dC);bM.push(dE)})};this.trackContentImpressionsWithinNode=function(dB){if(R(cf)||!dB){return}cq(function(){if(co){n(function(){var dC=w.findContentNodesWithinNode(dB);var dD=bg(dC);bM.pushMultiple(dD)})}else{q(function(){var dC=w.findContentNodesWithinNode(dB);var dD=cO(dC);bM.pushMultiple(dD)})}})};this.trackContentInteraction=function(dD,dE,dB,dC){if(R(cf)){return
+}dD=a(dD);dE=a(dE);dB=a(dB);dC=a(dC);if(!dD||!dE){return}dB=dB||"Unknown";cq(function(){var dF=aU(dD,dE,dB,dC);if(dF){bM.push(dF)}})};this.trackContentInteractionNode=function(dD,dC){if(R(cf)||!dD){return}var dB=null;cq(function(){dB=dt(dD,dC);if(dB){bM.push(dB)}});return dB};this.logAllContentBlocksOnPage=function(){var dD=w.findContentNodes();var dB=w.collectContent(dD);var dC=typeof console;if(dC!=="undefined"&&console&&console.log){console.log(dB)}};this.trackEvent=function(dC,dE,dB,dD,dG,dF){cq(function(){ax(dC,dE,dB,dD,dG,dF)})};this.trackSiteSearch=function(dB,dD,dC,dE){ck=[];cq(function(){ch(dB,dD,dC,dE)})};this.setEcommerceView=function(dF,dB,dD,dC){cG={};if(ac(dD)){dD=String(dD)}if(!M(dD)||dD===null||dD===false||!dD.length){dD=""}else{if(dD instanceof Array){dD=W.JSON.stringify(dD)}}var dE="_pkc";cG[dE]=dD;if(M(dC)&&dC!==null&&dC!==false&&String(dC).length){dE="_pkp";cG[dE]=dC}if(!ac(dF)&&!ac(dB)){return}if(ac(dF)){dE="_pks";cG[dE]=dF}if(!ac(dB)){dB=""}dE="_pkn";cG[dE]=dB};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(dh))
+};this.addEcommerceItem=function(dF,dB,dD,dC,dE){if(ac(dF)){dh[dF]=[String(dF),dB,dD,dC,dE]}};this.removeEcommerceItem=function(dB){if(ac(dB)){dB=String(dB);delete dh[dB]}};this.clearEcommerceCart=function(){dh={}};this.trackEcommerceOrder=function(dB,dF,dE,dD,dC,dG){b7(dB,dF,dE,dD,dC,dG)};this.trackEcommerceCartUpdate=function(dB){bB(dB)};this.trackRequest=function(dC,dE,dD,dB){cq(function(){var dF=cE(dC,dE,dB);bO(dF,bS,dD)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bM.enabled=false};this.setRequestQueueInterval=function(dB){if(dB<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bM.interval=dB};this.queueRequest=function(dB){cq(function(){var dC=cE(dB);bM.push(dC)})};this.isConsentRequired=function(){return cP};this.getRememberedConsent=function(){var dB=aH(bk);if(aH(c1)){if(dB){b8(bk,by,de)}return null}if(!dB||dB===0){return null}return dB};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()
+};this.requireConsent=function(){cP=true;bL=this.hasRememberedConsent();if(!bL){bt=true}y++;b["CoreConsent"+y]={unload:function(){if(!bL){aJ()}}}};this.setConsentGiven=function(dC){bL=true;dd=true;b8(c1,by,de);var dD,dB;for(dD=0;dD<c0.length;dD++){dB=typeof c0[dD];if(dB==="string"){bO(c0[dD],bS)}else{if(dB==="object"){dx(c0[dD],bS)}}}c0=[];if(!M(dC)||dC){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dD){if(dD){dD=dD*60*60*1000}else{dD=30*365*24*60*60*1000}var dB=true;this.setConsentGiven(dB);var dC=new Date().getTime();dw(bk,dC,dD,by,de,b1,aN)};this.forgetConsentGiven=function(){var dB=30*365*24*60*60*1000;b8(bk,by,de);dw(c1,new Date().getTime(),dB,by,de,b1,aN);this.forgetCookieConsentGiven();this.requireConsent()};this.isUserOptedOut=function(){return !bL};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};n(function(){setTimeout(function(){bN=true},0)});u.trigger("TrackerSetup",[this]);u.addPlugin("TrackerVisitorIdCookie"+aB,{unload:function(){if(!aA){aR();
+dr()}}})}function K(){return{push:aj}}function c(ay,ax){var az={};var av,aw;for(av=0;av<ax.length;av++){var at=ax[av];az[at]=1;for(aw=0;aw<ay.length;aw++){if(ay[aw]&&ay[aw][0]){var au=ay[aw][0];if(at===au){aj(ay[aw]);delete ay[aw];if(az[au]>1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableBrowserFeatureDetection","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","disableAlwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams","setExcludedReferrers"];
function ah(av,au){var at=new T(av,au);L.push(at);_paq=c(_paq,E);for(H=0;H<_paq.length;H++){if(_paq[H]){aj(_paq[H])}}_paq=new K();u.trigger("TrackerAdded",[at]);return at}ar(W,"beforeunload",am,false);ar(W,"visibilitychange",function(){if(m){return}if(J.visibilityState==="hidden"){ag("unload")}},false);ar(W,"online",function(){if(M(g.serviceWorker)){g.serviceWorker.ready.then(function(at){if(at&&at.sync){return at.sync.register("matomoSync")}},function(){})}},false);ar(W,"message",function(ay){if(!ay||!ay.origin){return}var aA,aw,au;var aB=d(ay.origin);var ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){au=d(ax[aw].getMatomoUrl());if(au===aB){aA=ax[aw];break}}if(!aA){return}var av=null;try{av=JSON.parse(ay.data)}catch(az){return}if(!av){return}function at(aE){var aG=J.getElementsByTagName("iframe");for(aw=0;aw<aG.length;aw++){var aF=aG[aw];var aC=d(aF.src);if(aF.contentWindow&&M(aF.contentWindow.postMessage)&&aC===aB){var aD=JSON.stringify(aE);aF.contentWindow.postMessage(aD,"*")}}}if(M(av.maq_initial_value)){at({maq_opted_in:av.maq_initial_value&&aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})
}else{if(M(av.maq_opted_in)){ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){aA=ax[aw];if(av.maq_opted_in){aA.rememberConsentGiven()}else{aA.forgetConsentGiven()}}at({maq_confirm_opted_in:aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;u={initialized:false,JSON:W.JSON,DOM:{addEventListener:function(aw,av,au,at){var ax=typeof at;if(ax==="undefined"){at=false}ar(aw,av,au,at)},onLoad:n,onReady:q,isNodeVisible:i,isOrWasNodeVisible:w.isNodeVisible},on:function(au,at){if(!z[au]){z[au]=[]}z[au].push(at)},off:function(av,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){if(z[av][at]===au){z[av].splice(at,1)}}},trigger:function(av,aw,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){z[av][at].apply(au||W,aw)}},addPlugin:function(at,au){b[at]=au},getTracker:function(au,at){if(!M(at)){at=this.getAsyncTracker().getSiteId()}if(!M(au)){au=this.getAsyncTracker().getTrackerUrl()
}return new T(au,at)},getAsyncTrackers:function(){return L},addTracker:function(av,au){var at;if(!L.length){at=ah(av,au)}else{at=L[0].addTracker(av,au)}return at},getAsyncTracker:function(ax,aw){var av;if(L&&L.length&&L[0]){av=L[0]}else{return ah(ax,aw)}if(!aw&&!ax){return av}if((!M(aw)||null===aw)&&av){aw=av.getSiteId()}if((!M(ax)||null===ax)&&av){ax=av.getTrackerUrl()}var au,at=0;for(at;at<L.length;at++){au=L[at];if(au&&String(au.getSiteId())===String(aw)&&au.getTrackerUrl()===ax){return au}}},retryMissedPluginCalls:function(){var au=al;al=[];var at=0;for(at;at<au.length;at++){aj(au[at])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return u});define("matomo",[],function(){return u})}return u}())}
diff --git a/piwik.js b/piwik.js
index 6893f82409..58e9482f66 100644
--- a/piwik.js
+++ b/piwik.js
@@ -29,42 +29,43 @@ at=ai.findFirstNodeHavingAttribute(au,this.CONTENT_PIECE_ATTR);if(!at){at=ai.fin
}if(aw){aw+="&ca=1"}return aw},buildContentBlock:function(av){if(!av){return}var at=this.findContentName(av);var au=this.findContentPiece(av);var aw=this.findContentTarget(av);at=this.trim(at);au=this.trim(au);aw=this.trim(aw);return{name:at||"Unknown",piece:au||"Unknown",target:aw||""}},collectContent:function(aw){if(!aw||!aw.length){return[]}var av=[];var at,au;for(at=0;at<aw.length;at++){au=this.buildContentBlock(aw[at]);if(M(au)){av.push(au)}}return av},setLocation:function(at){this.location=at},getLocation:function(){var at=this.location||W.location;if(!at.origin){at.origin=at.protocol+"//"+at.hostname+(at.port?":"+at.port:"")}return at},toAbsoluteUrl:function(au){if((!au||String(au)!==au)&&au!==""){return au}if(""===au){return this.getLocation().href}if(au.search(/^\/\//)!==-1){return this.getLocation().protocol+au}if(au.search(/:\/\//)!==-1){return au}if(0===au.indexOf("#")){return this.getLocation().origin+this.getLocation().pathname+au}if(0===au.indexOf("?")){return this.getLocation().origin+this.getLocation().pathname+au
}if(0===au.search("^[a-zA-Z]{2,11}:")){return au}if(au.search(/^\//)!==-1){return this.getLocation().origin+au}var at="(.*/)";var av=this.getLocation().origin+this.getLocation().pathname.match(new RegExp(at))[0];return av+au},isUrlToCurrentDomain:function(au){var av=this.toAbsoluteUrl(au);if(!av){return false}var at=this.getLocation().origin;if(at===av){return true}if(0===String(av).indexOf(at)){if(":"===String(av).substr(at.length,1)){return false}return true}return false},setHrefAttribute:function(au,at){if(!au||!at){return}ai.setAnyAttribute(au,"href",at)},shouldIgnoreInteraction:function(at){if(ai.hasNodeAttribute(at,this.CONTENT_IGNOREINTERACTION_ATTR)){return true}if(ai.hasNodeCssClass(at,this.CONTENT_IGNOREINTERACTION_CLASS)){return true}if(ai.hasNodeCssClass(at,this.LEGACY_CONTENT_IGNOREINTERACTION_CLASS)){return true}return false}};function aa(au,ax){if(ax){return ax}au=w.toAbsoluteUrl(au);if(A(au,"?")){var aw=au.indexOf("?");au=au.slice(0,aw)}if(U(au,"matomo.php")){au=f(au,"matomo.php".length)
}else{if(U(au,"piwik.php")){au=f(au,"piwik.php".length)}else{if(U(au,".php")){var at=au.lastIndexOf("/");var av=1;au=au.slice(0,at+av)}}}if(U(au,"/js/")){au=f(au,"js/".length)}return au}function R(az){var aB="Matomo_Overlay";var au=new RegExp("index\\.php\\?module=Overlay&action=startOverlaySession&idSite=([0-9]+)&period=([^&]+)&date=([^&]+)(&segment=[^&]*)?");var av=au.exec(J.referrer);if(av){var ax=av[1];if(ax!==String(az)){return false}var ay=av[2],at=av[3],aw=av[4];if(!aw){aw=""}else{if(aw.indexOf("&segment=")===0){aw=aw.substr("&segment=".length)}}W.name=aB+"###"+ay+"###"+at+"###"+aw}var aA=W.name.split("###");return aA.length===4&&aA[0]===aB}function ad(au,az,av){var ay=W.name.split("###"),ax=ay[1],at=ay[2],aw=ay[3],aA=aa(au,az);o(aA+"plugins/Overlay/client/client.js?v=1",function(){Matomo_Overlay_Client.initialize(aA,av,ax,at,aw)})}function v(){var av;try{av=W.frameElement}catch(au){return true}if(M(av)){return(av&&String(av.nodeName).toLowerCase()==="iframe")?true:false}try{return W.self!==W.top
-}catch(at){return true}}function T(cj,cf){var bP=this,bj="mtm_consent",cN="mtm_cookie_consent",cW="mtm_consent_removed",ca=ae(J.domain,W.location.href,N()),c4=O(ca[0]),bT=p(ca[1]),bu=p(ca[2]),c2=false,cn="GET",dm=cn,aM="application/x-www-form-urlencoded; charset=UTF-8",cF=aM,aI=cj||"",bO="",db="",ct="",cc=cf||"",bF="",bU="",ba,bp="",di=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c4],bG=[],cG=[],co=[],bR=[],be=[],bQ=500,c7=true,cT,bb,bX,bV,at,cw=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bN=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],bq="_pk_",az="pk_vid",a5=180,c9,bw,bY=false,aN="Lax",bs=false,c0,bk,bC,cU=33955200000,cu=1800000,dh=15768000000,a8=true,bL=false,bn=false,bW=false,aV=false,ch,b2={},cs={},bt={},bA=200,cB={},dc={},dj={},cg=[],ck=false,cL=false,au=false,dk=false,cX=false,aS=false,bi=v(),cH=null,da=null,aW,bI,cd=aq,bv,aQ,bH=false,cy=0,bB=["id","ses","cvar","ref"],cK=false,bJ=null,cV=[],cA=[],aB=X++,aA=false,c8=true;
-try{bp=J.title}catch(cI){bp=""}function aH(dy){if(bs){return 0}var dw=new RegExp("(^|;)[ ]*"+dy+"=([^;]*)"),dx=dw.exec(J.cookie);return dx?V(dx[2]):0}bJ=!aH(cW);function dr(dA,dB,dE,dD,dy,dz,dC){if(bs&&dA!==cW){return}var dx;if(dE){dx=new Date();dx.setTime(dx.getTime()+dE)}if(!dC){dC="Lax"}J.cookie=dA+"="+t(dB)+(dE?";expires="+dx.toGMTString():"")+";path="+(dD||"/")+(dy?";domain="+dy:"")+(dz?";secure":"")+";SameSite="+dC;if((!dE||dE>=0)&&aH(dA)!==String(dB)){var dw="There was an error setting cookie `"+dA+"`. Please check domain and path.";ao(dw)}}function b8(dw){var dy,dx;dw=j(dw,az);for(dx=0;dx<co.length;dx++){dw=j(dw,co[dx])}if(bV){dy=new RegExp("#.*");return dw.replace(dy,"")}return dw}function b1(dy,dw){var dz=s(dw),dx;if(dz){return dw}if(dw.slice(0,1)==="/"){return s(dy)+"://"+d(dy)+dw}dy=b8(dy);dx=dy.indexOf("?");if(dx>=0){dy=dy.slice(0,dx)}dx=dy.lastIndexOf("/");if(dx!==dy.length-1){dy=dy.slice(0,dx+1)}return dy+dw}function cR(dy,dw){var dx;dy=String(dy).toLowerCase();dw=String(dw).toLowerCase();
-if(dy===dw){return true}if(dw.slice(0,1)==="."){if(dy===dw.slice(1)){return true}dx=dy.length-dw.length;if((dx>0)&&(dy.slice(dx)===dw)){return true}}return false}function cr(dw){var dx=document.createElement("a");if(dw.indexOf("//")!==0&&dw.indexOf("http")!==0){if(dw.indexOf("*")===0){dw=dw.substr(1)}if(dw.indexOf(".")===0){dw=dw.substr(1)}dw="http://"+dw}dx.href=w.toAbsoluteUrl(dw);if(dx.pathname){return dx.pathname}return""}function a9(dx,dw){if(!an(dw,"/")){dw="/"+dw}if(!an(dx,"/")){dx="/"+dx}var dy=(dw==="/"||dw==="/*");if(dy){return true}if(dx===dw){return true}dw=String(dw).toLowerCase();dx=String(dx).toLowerCase();if(U(dw,"*")){dw=dw.slice(0,-1);dy=(!dw||dw==="/");if(dy){return true}if(dx===dw){return true}return dx.indexOf(dw)===0}if(!U(dx,"/")){dx+="/"}if(!U(dw,"/")){dw+="/"}return dx.indexOf(dw)===0}function aw(dA,dC){var dx,dw,dy,dz,dB;for(dx=0;dx<aC.length;dx++){dz=O(aC[dx]);dB=cr(aC[dx]);if(cR(dA,dz)&&a9(dC,dB)){return true}}return false}function a1(dz){var dx,dw,dy;for(dx=0;
-dx<aC.length;dx++){dw=O(aC[dx].toLowerCase());if(dz===dw){return true}if(dw.slice(0,1)==="."){if(dz===dw.slice(1)){return true}dy=dz.length-dw.length;if((dy>0)&&(dz.slice(dy)===dw)){return true}}}return false}function cx(dw){var dx,dz,dB,dy,dA;if(!dw.length||!cG.length){return false}dz=d(dw);dB=cr(dw);if(dz.indexOf("www.")===0){dz=dz.substr(4)}for(dx=0;dx<cG.length;dx++){dy=O(cG[dx]);dA=cr(cG[dx]);if(dy.indexOf("www.")===0){dy=dy.substr(4)}if(cR(dz,dy)&&a9(dB,dA)){return true}}return false}function cv(dw,dy){dw=dw.replace("send_image=0","send_image=1");var dx=new Image(1,1);dx.onload=function(){H=0;if(typeof dy==="function"){dy({request:dw,trackerUrl:aI,success:true})}};dx.onerror=function(){if(typeof dy==="function"){dy({request:dw,trackerUrl:aI,success:false})}};dx.src=aI+(aI.indexOf("?")<0?"?":"&")+dw}function cO(dw){if(dm==="POST"){return true}return dw&&(dw.length>2000||dw.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob
-}function bc(dA,dD,dC){var dy=aP();if(!dy){return false}var dz={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dE=false;var dx=aI;try{var dw=new Blob([dA],dz);if(dC&&!cO(dA)){dw=new Blob([],dz);dx=dx+(dx.indexOf("?")<0?"?":"&")+dA}dE=g.sendBeacon(dx,dw)}catch(dB){return false}if(dE&&typeof dD==="function"){dD({request:dA,trackerUrl:aI,success:true,isSendBeacon:true})}return dE}function dg(dx,dy,dw){if(!M(dw)||null===dw){dw=true}if(m&&bc(dx,dy,dw)){return}setTimeout(function(){if(m&&bc(dx,dy,dw)){return}var dB;try{var dA=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dA.open("POST",aI,true);dA.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dC=m&&bc(dx,dy,dw);if(!dC&&dw){cv(dx,dy)}else{if(typeof dy==="function"){dy({request:dx,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dy==="function")){dy({request:dx,trackerUrl:aI,success:true,xhr:this})}}};
-dA.setRequestHeader("Content-Type",cF);dA.withCredentials=true;dA.send(dx)}catch(dz){dB=m&&bc(dx,dy,dw);if(!dB&&dw){cv(dx,dy)}else{if(typeof dy==="function"){dy({request:dx,trackerUrl:aI,success:false})}}}},50)}function cl(dx){var dw=new Date();var dy=dw.getTime()+dx;if(!r||dy>r){r=dy}}function bg(){bi=true;cH=new Date().getTime()}function dq(){var dw=new Date().getTime();return !cH||(dw-cH)>bb}function aD(){if(dq()){bX()}}function a0(){if(J.visibilityState==="hidden"&&dq()){bX()}else{if(J.visibilityState==="visible"){cH=new Date().getTime()}}}function dt(){if(aS||!bb){return}aS=true;ar(W,"focus",bg);ar(W,"blur",aD);ar(W,"visibilitychange",a0);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dq()){bX()}}})}function cM(dA){var dx=new Date();var dw=dx.getTime();da=dw;if(cL&&dw<cL){var dy=cL-dw;setTimeout(dA,dy);cl(dy+50);cL+=50;return}if(cL===false){var dz=800;cL=dw+dz}dA()}function aT(){if(aH(cW)){bJ=false}else{if(aH(bj)){bJ=true}}}function bM(dx,dw,dy){aT();if(!bJ){cV.push(dx);
-return}aA=true;if(!c0&&dx){if(cK&&bJ){dx+="&consent=1"}cM(function(){if(c7&&bc(dx,dy,true)){cl(100);return}if(cO(dx)){dg(dx,dy)}else{cv(dx,dy)}cl(dw)})}if(!aS){dt()}}function cq(dw){if(c0){return false}return(dw&&dw.length)}function df(dw,dA){if(!dA||dA>=dw.length){return[dw]}var dx=0;var dy=dw.length;var dz=[];for(dx;dx<dy;dx+=dA){dz.push(dw.slice(dx,dx+dA))}return dz}function ds(dx,dw){if(!cq(dx)){return}if(!bJ){cV.push(dx);return}aA=true;cM(function(){var dA=df(dx,50);var dy=0,dz;for(dy;dy<dA.length;dy++){dz='{"requests":["?'+dA[dy].join('","?')+'"],"send_image":0}';if(c7&&bc(dz,null,false)){cl(100)}else{dg(dz,null,false)}}cl(dw)})}function aY(dw){return bq+dw+"."+cc+"."+bv}function b5(dy,dx,dw){dr(dy,"",-129600000,dx,dw)}function cb(){if(bs){return"0"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dw=bq+"testcookie";dr(dw,"1",undefined,bw,c9,bY,aN);var dx=aH(dw)==="1"?"1":"0";b5(dw);return dx}function bo(){bv=cd((c9||c4)+(bw||"/")).slice(0,4)}function cS(){if(!c8){return{}
-}if(M(dj.res)){return dj}var dx,dz,dA={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dx in dA){if(Object.prototype.hasOwnProperty.call(dA,dx)){dz=g.mimeTypes[dA[dx]];dj[dx]=(dz&&dz.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&M(g.javaEnabled)&&g.javaEnabled()){dj.java="1"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){dj.cookie=g.cookieEnabled?"1":"0"}else{dj.cookie=cb()}}var dy=parseInt(ab.width,10);var dw=parseInt(ab.height,10);dj.res=parseInt(dy,10)+"x"+parseInt(dw,10);return dj}function b3(){var dx=aY("cvar"),dw=aH(dx);if(dw&&dw.length){dw=W.JSON.parse(dw);if(Z(dw)){return dw}}return{}}function cP(){if(aV===false){aV=b3()}}function c1(){var dw=cS();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dw)+(new Date()).getTime()+Math.random()).slice(0,16)
-}function aF(){var dw=cS();return cd((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dw)).slice(0,6)}function bl(){return Math.floor((new Date()).getTime()/1000)}function aO(){var dx=bl();var dy=aF();var dw=String(dx)+dy;return dw}function de(dy){dy=String(dy);var dB=aF();var dz=dB.length;var dA=dy.substr(-1*dz,dz);var dx=parseInt(dy.substr(0,dy.length-dz),10);if(dx&&dA&&dA===dB){var dw=bl();if(a5<=0){return true}if(dw>=dx&&dw<=(dx+a5)){return true}}return false}function du(dw){if(!cX){return""}var dA=e(dw,az);if(!dA){return""}dA=String(dA);var dy=new RegExp("^[a-zA-Z0-9]+$");if(dA.length===32&&dy.test(dA)){var dx=dA.substr(16,32);if(de(dx)){var dz=dA.substr(0,16);return dz}}return""}function cY(){if(!bU){bU=du(bT)}var dy=new Date(),dw=Math.round(dy.getTime()/1000),dx=aY("id"),dB=aH(dx),dA,dz;if(dB){dA=dB.split(".");dA.unshift("0");if(bU.length){dA[1]=bU}return dA}if(bU.length){dz=bU}else{if("0"===cb()){dz=""}else{dz=c1()}}dA=["1",dz,dw];return dA}function a4(){var dz=cY(),dx=dz[0],dy=dz[1],dw=dz[2];
-return{newVisitor:dx,uuid:dy,createTs:dw}}function aL(){var dz=new Date(),dx=dz.getTime(),dA=a4().createTs;var dw=parseInt(dA,10);var dy=(dw*1000)+cU-dx;return dy}function aR(dw){if(!cc){return}var dy=new Date(),dx=Math.round(dy.getTime()/1000);if(!M(dw)){dw=a4()}var dz=dw.uuid+"."+dw.createTs+".";dr(aY("id"),dz,aL(),bw,c9,bY,aN)}function bS(){var dw=aH(aY("ref"));if(dw.length){try{dw=W.JSON.parse(dw);if(Z(dw)){return dw}}catch(dx){}}return["","",0,""]}function bD(dy){var dx=bq+"testcookie_domain";var dw="testvalue";dr(dx,dw,10000,null,dy,bY,aN);if(aH(dx)===dw){b5(dx,null,dy);return true}return false}function aJ(){var dx=bs;bs=false;var dw,dy;for(dw=0;dw<bB.length;dw++){dy=aY(bB[dw]);if(dy!==cW&&dy!==bj&&0!==aH(dy)){b5(dy,bw,c9)}}bs=dx}function b9(dw){cc=dw}function dv(dA){if(!dA||!Z(dA)){return}var dz=[];var dy;for(dy in dA){if(Object.prototype.hasOwnProperty.call(dA,dy)){dz.push(dy)}}var dB={};dz.sort();var dw=dz.length;var dx;for(dx=0;dx<dw;dx++){dB[dz[dx]]=dA[dz[dx]]}return dB}function ci(){dr(aY("ses"),"1",cu,bw,c9,bY,aN)
-}function bm(){var dz="";var dx="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dy=dx.length;var dw;for(dw=0;dw<6;dw++){dz+=dx.charAt(Math.floor(Math.random()*dy))}return dz}function aE(dx){if(ct!==""){dx+=ct;bn=true;return dx}if(!h){return dx}var dy=(typeof h.timing==="object")&&h.timing?h.timing:undefined;if(!dy){dy=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:undefined}if(!dy){return dx}var dw="";if(dy.connectEnd&&dy.fetchStart){if(dy.connectEnd<dy.fetchStart){return dx}dw+="&pf_net="+Math.round(dy.connectEnd-dy.fetchStart)}if(dy.responseStart&&dy.requestStart){if(dy.responseStart<dy.requestStart){return dx}dw+="&pf_srv="+Math.round(dy.responseStart-dy.requestStart)}if(dy.responseStart&&dy.responseEnd){if(dy.responseEnd<dy.responseStart){return dx}dw+="&pf_tfr="+Math.round(dy.responseEnd-dy.responseStart)}if(M(dy.domLoading)){if(dy.domInteractive&&dy.domLoading){if(dy.domInteractive<dy.domLoading){return dx
-}dw+="&pf_dm1="+Math.round(dy.domInteractive-dy.domLoading)}}else{if(dy.domInteractive&&dy.responseEnd){if(dy.domInteractive<dy.responseEnd){return dx}dw+="&pf_dm1="+Math.round(dy.domInteractive-dy.responseEnd)}}if(dy.domComplete&&dy.domInteractive){if(dy.domComplete<dy.domInteractive){return dx}dw+="&pf_dm2="+Math.round(dy.domComplete-dy.domInteractive)}if(dy.loadEventEnd&&dy.loadEventStart){if(dy.loadEventEnd<dy.loadEventStart){return dx}dw+="&pf_onl="+Math.round(dy.loadEventEnd-dy.loadEventStart)}return dx+dw}function dl(){var dG,dz=new Date(),dA=Math.round(dz.getTime()/1000),dL,dy,dB=1024,dI,dC,dx=aY("ses"),dF=aY("ref"),dE=aH(dx),dw=bS(),dK=ba||bT,dH,dD,dJ={};dH=dw[0];dD=dw[1];dL=dw[2];dy=dw[3];if(!dE){if(!bC||!dH.length){for(dG in cw){if(Object.prototype.hasOwnProperty.call(cw,dG)){dH=e(dK,cw[dG]);if(dH.length){break}}}for(dG in bN){if(Object.prototype.hasOwnProperty.call(bN,dG)){dD=e(dK,bN[dG]);if(dD.length){break}}}}dI=d(bu);dC=dy.length?d(dy):"";if(dI.length&&!a1(dI)&&!cx(bu)&&(!bC||!dC.length||a1(dC)||cx(dy))){dy=bu
-}if(dy.length||dH.length){dL=dA;dw=[dH,dD,dL,b8(dy.slice(0,dB))];dr(dF,W.JSON.stringify(dw),dh,bw,c9,bY,aN)}}if(dH.length){dJ._rcn=t(dH)}if(dD.length){dJ._rck=t(dD)}dJ._refts=dL;if(String(dy).length){dJ._ref=t(b8(dy.slice(0,dB)))}return dJ}function cz(dx,dI,dJ){var dH,dw=new Date(),dG=aV,dC=aY("cvar"),dK=ba||bT;if(bs){aJ()}if(c0){return""}var dD=a4();var dA=J.characterSet||J.charset;if(!dA||dA.toLowerCase()==="utf-8"){dA=null}dx+="&idsite="+cc+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dw.getHours()+"&m="+dw.getMinutes()+"&s="+dw.getSeconds()+"&url="+t(b8(dK))+(bu.length&&!cx(bu)?"&urlref="+t(b8(bu)):"")+(ac(bF)?"&uid="+t(bF):"")+"&_id="+dD.uuid+"&_idn="+dD.newVisitor+(dA?"&cs="+t(dA):"")+"&send_image=0";var dF=dl();for(dH in dF){if(Object.prototype.hasOwnProperty.call(dF,dH)){dx+="&"+dH+"="+dF[dH]}}var dM=cS();for(dH in dM){if(Object.prototype.hasOwnProperty.call(dM,dH)){dx+="&"+dH+"="+dM[dH]}}var dN=[];if(dI){for(dH in dI){if(Object.prototype.hasOwnProperty.call(dI,dH)&&/^dimension\d+$/.test(dH)){var dy=dH.replace("dimension","");
-dN.push(parseInt(dy,10));dN.push(String(dy));dx+="&"+dH+"="+t(dI[dH]);delete dI[dH]}}}if(dI&&D(dI)){dI=null}for(dH in cB){if(Object.prototype.hasOwnProperty.call(cB,dH)){dx+="&"+dH+"="+t(cB[dH])}}for(dH in bt){if(Object.prototype.hasOwnProperty.call(bt,dH)){var dB=(-1===P(dN,dH));if(dB){dx+="&dimension"+dH+"="+t(bt[dH])}}}if(dI){dx+="&data="+t(W.JSON.stringify(dI))}else{if(at){dx+="&data="+t(W.JSON.stringify(at))}}function dz(dO,dP){var dQ=W.JSON.stringify(dO);if(dQ.length>2){return"&"+dP+"="+t(dQ)}return""}var dL=dv(b2);var dE=dv(cs);dx+=dz(dL,"cvar");dx+=dz(dE,"e_cvar");if(aV){dx+=dz(aV,"_cvar");for(dH in dG){if(Object.prototype.hasOwnProperty.call(dG,dH)){if(aV[dH][0]===""||aV[dH][1]===""){delete aV[dH]}}}if(bW){dr(dC,W.JSON.stringify(aV),cu,bw,c9,bY,aN)}}if(a8&&bL&&!bn){dx=aE(dx);bn=true}if(aQ){dx+="&pv_id="+aQ}aR(dD);ci();dx+=ag(dJ,{tracker:bP,request:dx});if(db.length){dx+="&"+db}if(C(ch)){dx=ch(dx)}return dx}bX=function bd(){var dw=new Date();dw=dw.getTime();if(!da){return false}if(da+bb<=dw){bP.ping();
-return true}return false};function bx(dz,dy,dD,dA,dw,dG){var dC="idgoal=0",dx=new Date(),dE=[],dF,dB=String(dz).length;if(dB){dC+="&ec_id="+t(dz)}dC+="&revenue="+dy;if(String(dD).length){dC+="&ec_st="+dD}if(String(dA).length){dC+="&ec_tx="+dA}if(String(dw).length){dC+="&ec_sh="+dw}if(String(dG).length){dC+="&ec_dt="+dG}if(dc){for(dF in dc){if(Object.prototype.hasOwnProperty.call(dc,dF)){if(!M(dc[dF][1])){dc[dF][1]=""}if(!M(dc[dF][2])){dc[dF][2]=""}if(!M(dc[dF][3])||String(dc[dF][3]).length===0){dc[dF][3]=0}if(!M(dc[dF][4])||String(dc[dF][4]).length===0){dc[dF][4]=1}dE.push(dc[dF])}}dC+="&ec_items="+t(W.JSON.stringify(dE))}dC=cz(dC,at,"ecommerce");bM(dC,bQ);if(dB){dc={}}}function b4(dw,dA,dz,dy,dx,dB){if(String(dw).length&&M(dA)){bx(dw,dA,dz,dy,dx,dB)}}function bz(dw){if(M(dw)){bx("",dw,"","","","")}}function b6(dx,dz,dy){if(!bH){aQ=bm()}var dw=cz("action_name="+t(ap(dx||bp)),dz,"log");if(a8&&!bn){dw=aE(dw)}bM(dw,bQ,dy)}function a6(dy,dx){var dz,dw="(^| )(piwik[_-]"+dx+"|matomo[_-]"+dx;if(dy){for(dz=0;
-dz<dy.length;dz++){dw+="|"+dy[dz]}}dw+=")( |$)";return new RegExp(dw)}function aZ(dw){return(aI&&dw&&0===String(dw).indexOf(aI))}function cD(dA,dw,dB,dx){if(aZ(dw)){return 0}var dz=a6(bR,"download"),dy=a6(be,"link"),dC=new RegExp("\\.("+di.join("|")+")([?&#]|$)","i");if(dy.test(dA)){return"link"}if(dx||dz.test(dA)||dC.test(dw)){return"download"}if(dB){return 0}return"link"}function ay(dx){var dw;dw=dx.parentNode;while(dw!==null&&M(dw)){if(ai.isLinkElement(dx)){break}dx=dw;dw=dx.parentNode}return dx}function dp(dB){dB=ay(dB);if(!ai.hasNodeAttribute(dB,"href")){return}if(!M(dB.href)){return}var dA=ai.getAttributeValueFromNode(dB,"href");var dx=dB.pathname||cr(dB.href);var dC=dB.hostname||d(dB.href);var dD=dC.toLowerCase();var dy=dB.href.replace(dC,dD);var dz=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dz.test(dy)){var dw=cD(dB.className,dy,aw(dD,dx),ai.hasNodeAttribute(dB,"download"));if(dw){return{type:dw,href:dy}}}}function aU(dw,dx,dy,dz){var dA=w.buildInteractionRequestParams(dw,dx,dy,dz);
-if(!dA){return}return cz(dA,null,"contentInteraction")}function bh(dw,dx){if(!dw||!dx){return false}var dy=w.findTargetNode(dw);if(w.shouldIgnoreInteraction(dy)){return false}dy=w.findTargetNodeNoDefault(dw);if(dy&&!Y(dy,dx)){return false}return true}function cC(dy,dx,dA){if(!dy){return}var dw=w.findParentContentNode(dy);if(!dw){return}if(!bh(dw,dy)){return}var dz=w.buildContentBlock(dw);if(!dz){return}if(!dz.target&&dA){dz.target=dA}return w.buildInteractionRequestParams(dx,dz.name,dz.piece,dz.target)}function a2(dx){if(!cg||!cg.length){return false}var dw,dy;for(dw=0;dw<cg.length;dw++){dy=cg[dw];if(dy&&dy.name===dx.name&&dy.piece===dx.piece&&dy.target===dx.target){return true}}return false}function a3(dw){return function(dA){if(!dw){return}var dy=w.findParentContentNode(dw);var dx;if(dA){dx=dA.target||dA.srcElement}if(!dx){dx=dw}if(!bh(dy,dx)){return}if(!dy){return false}var dB=w.findTargetNode(dy);if(!dB||w.shouldIgnoreInteraction(dB)){return false}var dz=dp(dB);if(dk&&dz&&dz.type){return dz.type
-}return bP.trackContentInteractionNode(dx,"click")}}function b7(dy){if(!dy||!dy.length){return}var dw,dx;for(dw=0;dw<dy.length;dw++){dx=w.findTargetNode(dy[dw]);if(dx&&!dx.contentInteractionTrackingSetupDone){dx.contentInteractionTrackingSetupDone=true;ar(dx,"click",a3(dx))}}}function bE(dy,dz){if(!dy||!dy.length){return[]}var dw,dx;for(dw=0;dw<dy.length;dw++){if(a2(dy[dw])){dy.splice(dw,1);dw--}else{cg.push(dy[dw])}}if(!dy||!dy.length){return[]}b7(dz);var dA=[];for(dw=0;dw<dy.length;dw++){dx=cz(w.buildImpressionRequestParams(dy[dw].name,dy[dw].piece,dy[dw].target),undefined,"contentImpressions");if(dx){dA.push(dx)}}return dA}function cJ(dx){var dw=w.collectContent(dx);return bE(dw,dx)}function bf(dx){if(!dx||!dx.length){return[]}var dw;for(dw=0;dw<dx.length;dw++){if(!w.isNodeVisible(dx[dw])){dx.splice(dw,1);dw--}}if(!dx||!dx.length){return[]}return cJ(dx)}function aK(dy,dw,dx){var dz=w.buildImpressionRequestParams(dy,dw,dx);return cz(dz,null,"contentImpression")}function dn(dz,dx){if(!dz){return
-}var dw=w.findParentContentNode(dz);var dy=w.buildContentBlock(dw);if(!dy){return}if(!dx){dx="Unknown"}return aU(dx,dy.name,dy.piece,dy.target)}function cZ(dx,dz,dw,dy){return"e_c="+t(dx)+"&e_a="+t(dz)+(M(dw)?"&e_n="+t(dw):"")+(M(dy)?"&e_v="+t(dy):"")+"&ca=1"}function ax(dy,dA,dw,dz,dC,dB){if(!ac(dy)||!ac(dA)){ao("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dx=cz(cZ(dy,dA,dw,dz),dC,"event");bM(dx,bQ,dB)}function ce(dw,dz,dx,dA){var dy=cz("search="+t(dw)+(dz?"&search_cat="+t(dz):"")+(M(dx)?"&search_count="+dx:""),dA,"sitesearch");bM(dy,bQ)}function c3(dw,dA,dz,dy){var dx=cz("idgoal="+dw+(dA?"&revenue="+dA:""),dz,"goal");bM(dx,bQ,dy)}function dd(dz,dw,dD,dC,dy){var dB=dw+"="+t(b8(dz));var dx=cC(dy,"click",dz);if(dx){dB+="&"+dx}var dA=cz(dB,dD,"link");bM(dA,bQ,dC)}function b0(dx,dw){if(dx!==""){return dx+dw.charAt(0).toUpperCase()+dw.slice(1)}return dw}function cm(dB){var dA,dw,dz=["","webkit","ms","moz"],dy;
-if(!bk){for(dw=0;dw<dz.length;dw++){dy=dz[dw];if(Object.prototype.hasOwnProperty.call(J,b0(dy,"hidden"))){if(J[b0(dy,"visibilityState")]==="prerender"){dA=true}break}}}if(dA){ar(J,dy+"visibilitychange",function dx(){J.removeEventListener(dy+"visibilitychange",dx,false);dB()});return}dB()}function by(){var dx=bP.getVisitorId();var dw=aO();return dx+dw}function cp(dw){if(!dw){return}if(!ai.hasNodeAttribute(dw,"href")){return}var dx=ai.getAttributeValueFromNode(dw,"href");if(!dx||aZ(dx)){return}if(!bP.getVisitorId()){return}dx=j(dx,az);var dy=by();dx=I(dx,az,dy);ai.setAnyAttribute(dw,"href",dx)}function br(dz){var dA=ai.getAttributeValueFromNode(dz,"href");if(!dA){return false}dA=String(dA);var dx=dA.indexOf("//")===0||dA.indexOf("http://")===0||dA.indexOf("https://")===0;if(!dx){return false}var dw=dz.pathname||cr(dz.href);var dy=(dz.hostname||d(dz.href)).toLowerCase();if(aw(dy,dw)){if(!cR(c4,O(dy))){return true}return false}return false}function cQ(dw){var dx=dp(dw);if(dx&&dx.type){dx.href=p(dx.href);
-dd(dx.href,dx.type,undefined,null,dw);return}if(cX){dw=ay(dw);if(br(dw)){cp(dw)}}}function cE(){return J.all&&!J.addEventListener}function c5(dw){var dy=dw.which;var dx=(typeof dw.button);if(!dy&&dx!=="undefined"){if(cE()){if(dw.button&1){dy=1}else{if(dw.button&2){dy=3}else{if(dw.button&4){dy=2}}}}else{if(dw.button===0||dw.button==="0"){dy=1}else{if(dw.button&1){dy=2}else{if(dw.button&2){dy=3}}}}}return dy}function bZ(dw){switch(c5(dw)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a7(dw){return dw.target||dw.srcElement}function c6(dw){return dw==="A"||dw==="AREA"}function aG(dw){function dx(dz){var dA=a7(dz);var dB=dA.nodeName;var dy=a6(bG,"ignore");while(!c6(dB)&&dA&&dA.parentNode){dA=dA.parentNode;dB=dA.nodeName}if(dA&&c6(dB)&&!dy.test(dA.className)){return dA}}return function(dA){dA=dA||W.event;var dB=dx(dA);if(!dB){return}var dz=bZ(dA);if(dA.type==="click"){var dy=false;if(dw&&dz==="middle"){dy=true}if(dB&&!dy){cQ(dB)}}else{if(dA.type==="mousedown"){if(dz==="middle"&&dB){aW=dz;
-bI=dB}else{aW=bI=null}}else{if(dA.type==="mouseup"){if(dz===aW&&dB===bI){cQ(dB)}aW=bI=null}else{if(dA.type==="contextmenu"){cQ(dB)}}}}}}function av(dz,dy,dw){var dx=typeof dy;if(dx==="undefined"){dy=true}ar(dz,"click",aG(dy),dw);if(dy){ar(dz,"mouseup",aG(dy),dw);ar(dz,"mousedown",aG(dy),dw);ar(dz,"contextmenu",aG(dy),dw)}}function aX(dx,dA,dB){if(ck){return true}ck=true;var dC=false;var dz,dy;function dw(){dC=true}n(function(){function dD(dF){setTimeout(function(){if(!ck){return}dC=false;dB.trackVisibleContentImpressions();dD(dF)},dF)}function dE(dF){setTimeout(function(){if(!ck){return}if(dC){dC=false;dB.trackVisibleContentImpressions()}dE(dF)},dF)}if(dx){dz=["scroll","resize"];for(dy=0;dy<dz.length;dy++){if(J.addEventListener){J.addEventListener(dz[dy],dw,false)}else{W.attachEvent("on"+dz[dy],dw)}}dE(100)}if(dA&&dA>0){dA=parseInt(dA,10);dD(dA)}})}var bK={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dw=this.requests;this.requests=[];if(dw.length===1){bM(dw[0],bQ)
-}else{ds(dw,bQ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dx){if(!this.canQueue()){ds(dx,bQ);return}var dw;for(dw=0;dw<dx.length;dw++){this.push(dx[dw])}},push:function(dw){if(!dw){return}if(!this.canQueue()){bM(dw,bQ);return}bK.requests.push(dw);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bK.timeout=null;bK.sendRequests()},bK.interval);var dx="RequestQueue"+aB;if(!Object.prototype.hasOwnProperty.call(b,dx)){b[dx]={unload:function(){if(bK.timeout){clearTimeout(bK.timeout)}bK.sendRequests()}}}}};bo();this.hasConsent=function(){return bJ};this.getVisitorInfo=function(){if(!aH(aY("id"))){aR()}return cY()};this.getVisitorId=function(){return this.getVisitorInfo()[1]};this.getAttributionInfo=function(){return bS()};this.getAttributionCampaignName=function(){return bS()[0]};this.getAttributionCampaignKeyword=function(){return bS()[1]};this.getAttributionReferrerTimestamp=function(){return bS()[2]};this.getAttributionReferrerUrl=function(){return bS()[3]
-};this.setTrackerUrl=function(dw){aI=dw};this.getTrackerUrl=function(){return aI};this.getMatomoUrl=function(){return aa(this.getTrackerUrl(),bO)};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dy,dx){if(!M(dy)||null===dy){dy=this.getTrackerUrl()}var dw=new T(dy,dx);L.push(dw);u.trigger("TrackerAdded",[this]);return dw};this.getSiteId=function(){return cc};this.setSiteId=function(dw){b9(dw)};this.resetUserId=function(){bF=""};this.setUserId=function(dw){if(ac(dw)){bF=dw}};this.setVisitorId=function(dx){var dw=/[0-9A-Fa-f]{16}/g;if(x(dx)&&dw.test(dx)){bU=dx}else{ao("Invalid visitorId set"+dx)}};this.getUserId=function(){return bF};this.setCustomData=function(dw,dx){if(Z(dw)){at=dw}else{if(!at){at={}}at[dw]=dx}};this.getCustomData=function(){return at};this.setCustomRequestProcessing=function(dw){ch=dw};this.appendToTrackingUrl=function(dw){db=dw};this.getRequest=function(dw){return cz(dw)};this.addPlugin=function(dw,dx){b[dw]=dx};this.setCustomDimension=function(dw,dx){dw=parseInt(dw,10);
-if(dw>0){if(!M(dx)){dx=""}if(!x(dx)){dx=String(dx)}bt[dw]=dx}};this.getCustomDimension=function(dw){dw=parseInt(dw,10);if(dw>0&&Object.prototype.hasOwnProperty.call(bt,dw)){return bt[dw]}};this.deleteCustomDimension=function(dw){dw=parseInt(dw,10);if(dw>0){delete bt[dw]}};this.setCustomVariable=function(dx,dw,dA,dy){var dz;if(!M(dy)){dy="visit"}if(!M(dw)){return}if(!M(dA)){dA=""}if(dx>0){dw=!x(dw)?String(dw):dw;dA=!x(dA)?String(dA):dA;dz=[dw.slice(0,bA),dA.slice(0,bA)];if(dy==="visit"||dy===2){cP();aV[dx]=dz}else{if(dy==="page"||dy===3){b2[dx]=dz}else{if(dy==="event"){cs[dx]=dz}}}}};this.getCustomVariable=function(dx,dy){var dw;if(!M(dy)){dy="visit"}if(dy==="page"||dy===3){dw=b2[dx]}else{if(dy==="event"){dw=cs[dx]}else{if(dy==="visit"||dy===2){cP();dw=aV[dx]}}}if(!M(dw)||(dw&&dw[0]==="")){return false}return dw};this.deleteCustomVariable=function(dw,dx){if(this.getCustomVariable(dw,dx)){this.setCustomVariable(dw,"","",dx)}};this.deleteCustomVariables=function(dw){if(dw==="page"||dw===3){b2={}
-}else{if(dw==="event"){cs={}}else{if(dw==="visit"||dw===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bW=true};this.setLinkTrackingTimer=function(dw){bQ=dw};this.getLinkTrackingTimer=function(){return bQ};this.setDownloadExtensions=function(dw){if(x(dw)){dw=dw.split("|")}di=dw};this.addDownloadExtensions=function(dx){var dw;if(x(dx)){dx=dx.split("|")}for(dw=0;dw<dx.length;dw++){di.push(dx[dw])}};this.removeDownloadExtensions=function(dy){var dx,dw=[];if(x(dy)){dy=dy.split("|")}for(dx=0;dx<di.length;dx++){if(P(dy,di[dx])===-1){dw.push(di[dx])}}di=dw};this.setDomains=function(dw){aC=x(dw)?[dw]:dw;var dA=false,dy=0,dx;for(dy;dy<aC.length;dy++){dx=String(aC[dy]);if(cR(c4,O(dx))){dA=true;break}var dz=cr(dx);if(dz&&dz!=="/"&&dz!=="/*"){dA=true;break}}if(!dA){aC.push(c4)}};this.setExcludedReferrers=function(dw){cG=x(dw)?[dw]:dw};this.enableCrossDomainLinking=function(){cX=true};this.disableCrossDomainLinking=function(){cX=false};this.isCrossDomainLinkingEnabled=function(){return cX
-};this.setCrossDomainLinkingTimeout=function(dw){a5=dw};this.getCrossDomainLinkingUrlParameter=function(){return t(az)+"="+t(by())};this.setIgnoreClasses=function(dw){bG=x(dw)?[dw]:dw};this.setRequestMethod=function(dw){if(dw){dm=String(dw).toUpperCase()}else{dm=cn}if(dm==="GET"){this.disableAlwaysUseSendBeacon()}};this.setRequestContentType=function(dw){cF=dw||aM};this.setGenerationTimeMs=function(dw){ao("setGenerationTimeMs is no longer supported since Matomo 4. The call will be ignored. The replacement is setPagePerformanceTiming.")};this.setPagePerformanceTiming=function(dA,dC,dB,dx,dD,dy){var dz={pf_net:dA,pf_srv:dC,pf_tfr:dB,pf_dm1:dx,pf_dm2:dD,pf_onl:dy};try{dz=Q(dz,M);dz=B(dz);ct=l(dz);if(ct===""){ao("setPagePerformanceTiming() called without parameters. This function needs to be called with at least one performance parameter.");return}bn=false;bL=true}catch(dw){ao("setPagePerformanceTiming: "+dw.toString())}};this.setReferrerUrl=function(dw){bu=dw};this.setCustomUrl=function(dw){ba=b1(bT,dw)
-};this.getCurrentUrl=function(){return ba||bT};this.setDocumentTitle=function(dw){bp=dw};this.setPageViewId=function(dw){aQ=dw;bH=true};this.setAPIUrl=function(dw){bO=dw};this.setDownloadClasses=function(dw){bR=x(dw)?[dw]:dw};this.setLinkClasses=function(dw){be=x(dw)?[dw]:dw};this.setCampaignNameKey=function(dw){cw=x(dw)?[dw]:dw};this.setCampaignKeywordKey=function(dw){bN=x(dw)?[dw]:dw};this.discardHashTag=function(dw){bV=dw};this.setCookieNamePrefix=function(dw){bq=dw;if(aV){aV=b3()}};this.setCookieDomain=function(dw){var dx=O(dw);if(!bs&&!bD(dx)){ao("Can't write cookie on domain "+dw)}else{c9=dx;bo()}};this.setExcludedQueryParams=function(dw){co=x(dw)?[dw]:dw};this.getCookieDomain=function(){return c9};this.hasCookies=function(){return"1"===cb()};this.setSessionCookie=function(dy,dx,dw){if(!dy){throw new Error("Missing cookie name")}if(!M(dw)){dw=cu}bB.push(dy);dr(aY(dy),dx,dw,bw,c9,bY,aN)};this.getCookie=function(dx){var dw=aH(aY(dx));if(dw===0){return null}return dw};this.setCookiePath=function(dw){bw=dw;
-bo()};this.getCookiePath=function(dw){return bw};this.setVisitorCookieTimeout=function(dw){cU=dw*1000};this.setSessionCookieTimeout=function(dw){cu=dw*1000};this.getSessionCookieTimeout=function(){return cu};this.setReferralCookieTimeout=function(dw){dh=dw*1000};this.setConversionAttributionFirstReferrer=function(dw){bC=dw};this.setSecureCookie=function(dw){if(dw&&location.protocol!=="https:"){ao("Error in setSecureCookie: You cannot use `Secure` on http.");return}bY=dw};this.setCookieSameSite=function(dw){dw=String(dw);dw=dw.charAt(0).toUpperCase()+dw.toLowerCase().slice(1);if(dw!=="None"&&dw!=="Lax"&&dw!=="Strict"){ao("Ignored value for sameSite. Please use either Lax, None, or Strict.");return}if(dw==="None"){if(location.protocol==="https:"){this.setSecureCookie(true)}else{ao("sameSite=None cannot be used on http, reverted to sameSite=Lax.");dw="Lax"}}aN=dw};this.disableCookies=function(){bs=true;if(cc){aJ()}};this.areCookiesEnabled=function(){return !bs};this.setCookieConsentGiven=function(){if(bs&&!c0){bs=false;
-c8=true;if(cc&&aA){aR();var dw=cz("ping=1",null,"ping");bM(dw,bQ)}}};this.requireCookieConsent=function(){if(this.getRememberedCookieConsent()){return false}this.disableCookies();return true};this.getRememberedCookieConsent=function(){return aH(cN)};this.forgetCookieConsentGiven=function(){b5(cN,bw,c9);this.disableCookies()};this.rememberCookieConsentGiven=function(dx){if(dx){dx=dx*60*60*1000}else{dx=30*365*24*60*60*1000}this.setCookieConsentGiven();var dw=new Date().getTime();dr(cN,dw,dx,bw,c9,bY,aN)};this.deleteCookies=function(){aJ()};this.setDoNotTrack=function(dx){var dw=g.doNotTrack||g.msDoNotTrack;c0=dx&&(dw==="yes"||dw==="1");if(c0){this.disableCookies()}};this.alwaysUseSendBeacon=function(){c7=true};this.disableAlwaysUseSendBeacon=function(){c7=false};this.addListener=function(dx,dw){av(dx,dw,false)};this.enableLinkTracking=function(dx){if(dk){return}dk=true;var dw=this;q(function(){au=true;var dy=J.body;av(dy,dx,true)})};this.enableJSErrorTracking=function(){if(c2){return}c2=true;
-var dw=W.onerror;W.onerror=function(dB,dz,dy,dA,dx){cm(function(){var dC="JavaScript Errors";var dD=dz+":"+dy;if(dA){dD+=":"+dA}if(P(cA,dC+dD+dB)===-1){cA.push(dC+dD+dB);ax(dC,dD,dB)}});if(dw){return dw(dB,dz,dy,dA,dx)}return false}};this.disablePerformanceTracking=function(){a8=false};this.enableHeartBeatTimer=function(dw){dw=Math.max(dw||15,5);bb=dw*1000;if(da!==null){dt()}};this.disableHeartBeatTimer=function(){if(bb||aS){if(W.removeEventListener){W.removeEventListener("focus",bg);W.removeEventListener("blur",aD);W.removeEventListener("visibilitychange",a0)}else{if(W.detachEvent){W.detachEvent("onfocus",bg);W.detachEvent("onblur",aD);W.detachEvent("visibilitychange",a0)}}}bb=null;aS=false};this.killFrame=function(){if(W.location!==W.top.location){W.top.location=W.location}};this.redirectFile=function(dw){if(W.location.protocol==="file:"){W.location=dw}};this.setCountPreRendered=function(dw){bk=dw};this.trackGoal=function(dw,dz,dy,dx){cm(function(){c3(dw,dz,dy,dx)})};this.trackLink=function(dx,dw,dz,dy){cm(function(){dd(dx,dw,dz,dy)
-})};this.getNumTrackedPageViews=function(){return cy};this.trackPageView=function(dw,dy,dx){cg=[];cV=[];cA=[];if(R(cc)){cm(function(){ad(aI,bO,cc)})}else{cm(function(){cy++;b6(dw,dy,dx)})}};this.disableBrowserFeatureDetection=function(){c8=false};this.enableBrowserFeatureDetection=function(){c8=true};this.trackAllContentImpressions=function(){if(R(cc)){return}cm(function(){q(function(){var dw=w.findContentNodes();var dx=cJ(dw);bK.pushMultiple(dx)})})};this.trackVisibleContentImpressions=function(dw,dx){if(R(cc)){return}if(!M(dw)){dw=true}if(!M(dx)){dx=750}aX(dw,dx,this);cm(function(){n(function(){var dy=w.findContentNodes();var dz=bf(dy);bK.pushMultiple(dz)})})};this.trackContentImpression=function(dy,dw,dx){if(R(cc)){return}dy=a(dy);dw=a(dw);dx=a(dx);if(!dy){return}dw=dw||"Unknown";cm(function(){var dz=aK(dy,dw,dx);bK.push(dz)})};this.trackContentImpressionsWithinNode=function(dw){if(R(cc)||!dw){return}cm(function(){if(ck){n(function(){var dx=w.findContentNodesWithinNode(dw);var dy=bf(dx);
-bK.pushMultiple(dy)})}else{q(function(){var dx=w.findContentNodesWithinNode(dw);var dy=cJ(dx);bK.pushMultiple(dy)})}})};this.trackContentInteraction=function(dy,dz,dw,dx){if(R(cc)){return}dy=a(dy);dz=a(dz);dw=a(dw);dx=a(dx);if(!dy||!dz){return}dw=dw||"Unknown";cm(function(){var dA=aU(dy,dz,dw,dx);if(dA){bK.push(dA)}})};this.trackContentInteractionNode=function(dy,dx){if(R(cc)||!dy){return}var dw=null;cm(function(){dw=dn(dy,dx);if(dw){bK.push(dw)}});return dw};this.logAllContentBlocksOnPage=function(){var dy=w.findContentNodes();var dw=w.collectContent(dy);var dx=typeof console;if(dx!=="undefined"&&console&&console.log){console.log(dw)}};this.trackEvent=function(dx,dz,dw,dy,dB,dA){cm(function(){ax(dx,dz,dw,dy,dB,dA)})};this.trackSiteSearch=function(dw,dy,dx,dz){cg=[];cm(function(){ce(dw,dy,dx,dz)})};this.setEcommerceView=function(dA,dw,dy,dx){cB={};if(ac(dy)){dy=String(dy)}if(!M(dy)||dy===null||dy===false||!dy.length){dy=""}else{if(dy instanceof Array){dy=W.JSON.stringify(dy)}}var dz="_pkc";
-cB[dz]=dy;if(M(dx)&&dx!==null&&dx!==false&&String(dx).length){dz="_pkp";cB[dz]=dx}if(!ac(dA)&&!ac(dw)){return}if(ac(dA)){dz="_pks";cB[dz]=dA}if(!ac(dw)){dw=""}dz="_pkn";cB[dz]=dw};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(dc))};this.addEcommerceItem=function(dA,dw,dy,dx,dz){if(ac(dA)){dc[dA]=[String(dA),dw,dy,dx,dz]}};this.removeEcommerceItem=function(dw){if(ac(dw)){dw=String(dw);delete dc[dw]}};this.clearEcommerceCart=function(){dc={}};this.trackEcommerceOrder=function(dw,dA,dz,dy,dx,dB){b4(dw,dA,dz,dy,dx,dB)};this.trackEcommerceCartUpdate=function(dw){bz(dw)};this.trackRequest=function(dx,dz,dy,dw){cm(function(){var dA=cz(dx,dz,dw);bM(dA,bQ,dy)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bK.enabled=false};this.setRequestQueueInterval=function(dw){if(dw<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bK.interval=dw};this.queueRequest=function(dw){cm(function(){var dx=cz(dw);
-bK.push(dx)})};this.isConsentRequired=function(){return cK};this.getRememberedConsent=function(){var dw=aH(bj);if(aH(cW)){if(dw){b5(bj,bw,c9)}return null}if(!dw||dw===0){return null}return dw};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()};this.requireConsent=function(){cK=true;bJ=this.hasRememberedConsent();if(!bJ){bs=true}y++;b["CoreConsent"+y]={unload:function(){if(!bJ){aJ()}}}};this.setConsentGiven=function(dx){bJ=true;c8=true;b5(cW,bw,c9);var dy,dw;for(dy=0;dy<cV.length;dy++){dw=typeof cV[dy];if(dw==="string"){bM(cV[dy],bQ)}else{if(dw==="object"){ds(cV[dy],bQ)}}}cV=[];if(!M(dx)||dx){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dy){if(dy){dy=dy*60*60*1000}else{dy=30*365*24*60*60*1000}var dw=true;this.setConsentGiven(dw);var dx=new Date().getTime();dr(bj,dx,dy,bw,c9,bY,aN)};this.forgetConsentGiven=function(){var dw=30*365*24*60*60*1000;b5(bj,bw,c9);dr(cW,new Date().getTime(),dw,bw,c9,bY,aN);this.forgetCookieConsentGiven();this.requireConsent()
-};this.isUserOptedOut=function(){return !bJ};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};n(function(){setTimeout(function(){bL=true},0)});u.trigger("TrackerSetup",[this]);u.addPlugin("TrackerVisitorIdCookie"+aB,{unload:function(){if(!aA){aR();dl()}}})}function K(){return{push:aj}}function c(ay,ax){var az={};var av,aw;for(av=0;av<ax.length;av++){var at=ax[av];az[at]=1;for(aw=0;aw<ay.length;aw++){if(ay[aw]&&ay[aw][0]){var au=ay[aw][0];if(at===au){aj(ay[aw]);delete ay[aw];if(az[au]>1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableBrowserFeatureDetection","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","disableAlwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams","setExcludedReferrers"];
+}catch(at){return true}}function T(cn,ci){var bR=this,bk="mtm_consent",cS="mtm_cookie_consent",c1="mtm_consent_removed",cd=ae(J.domain,W.location.href,N()),c9=O(cd[0]),bW=p(cd[1]),bw=p(cd[2]),c7=false,cr="GET",ds=cr,aM="application/x-www-form-urlencoded; charset=UTF-8",cK=aM,aI=cn||"",bQ="",dg="",cx="",cf=ci||"",bH="",bX="",bb,bq="",dn=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","rtf","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],aC=[c9],bI=[],cL=[],cs=[],bU=[],bf=[],bS=500,dc=true,cY,bc,b0,bY,at,cB=["pk_campaign","mtm_campaign","piwik_campaign","matomo_campaign","utm_campaign","utm_source","utm_medium"],bP=["pk_kwd","mtm_kwd","piwik_kwd","matomo_kwd","utm_term"],br="_pk_",az="pk_vid",a6=180,de,by,b1=false,aN="Lax",bt=false,c5,bl,bE,cZ=33955200000,cy=1800000,dm=15768000000,a9=true,bN=false,bo=false,bZ=false,aV=false,cl,b5={},cw={},bv={},bC=200,cG={},dh={},dp={},aZ={},cj=[],bu=false,ck=[],co=false,cQ=false,au=false,dq=false,c2=false,aS=false,bj=v(),cM=null,df=null,aW,bK,cg=aq,bx,aQ,bJ=false,cD=0,bD=["id","ses","cvar","ref"],cP=false,bL=null,c0=[],cF=[],aB=X++,aA=false,dd=true;
+try{bq=J.title}catch(cN){bq=""}function aH(dD){if(bt){return 0}var dB=new RegExp("(^|;)[ ]*"+dD+"=([^;]*)"),dC=dB.exec(J.cookie);return dC?V(dC[2]):0}bL=!aH(c1);function dw(dF,dG,dJ,dI,dD,dE,dH){if(bt&&dF!==c1){return}var dC;if(dJ){dC=new Date();dC.setTime(dC.getTime()+dJ)}if(!dH){dH="Lax"}J.cookie=dF+"="+t(dG)+(dJ?";expires="+dC.toGMTString():"")+";path="+(dI||"/")+(dD?";domain="+dD:"")+(dE?";secure":"")+";SameSite="+dH;if((!dJ||dJ>=0)&&aH(dF)!==String(dG)){var dB="There was an error setting cookie `"+dF+"`. Please check domain and path.";ao(dB)}}function cb(dB){var dD,dC;dB=j(dB,az);for(dC=0;dC<cs.length;dC++){dB=j(dB,cs[dC])}if(bY){dD=new RegExp("#.*");return dB.replace(dD,"")}return dB}function b4(dD,dB){var dE=s(dB),dC;if(dE){return dB}if(dB.slice(0,1)==="/"){return s(dD)+"://"+d(dD)+dB}dD=cb(dD);dC=dD.indexOf("?");if(dC>=0){dD=dD.slice(0,dC)}dC=dD.lastIndexOf("/");if(dC!==dD.length-1){dD=dD.slice(0,dC+1)}return dD+dB}function cW(dD,dB){var dC;dD=String(dD).toLowerCase();dB=String(dB).toLowerCase();
+if(dD===dB){return true}if(dB.slice(0,1)==="."){if(dD===dB.slice(1)){return true}dC=dD.length-dB.length;if((dC>0)&&(dD.slice(dC)===dB)){return true}}return false}function cv(dB){var dC=document.createElement("a");if(dB.indexOf("//")!==0&&dB.indexOf("http")!==0){if(dB.indexOf("*")===0){dB=dB.substr(1)}if(dB.indexOf(".")===0){dB=dB.substr(1)}dB="http://"+dB}dC.href=w.toAbsoluteUrl(dB);if(dC.pathname){return dC.pathname}return""}function ba(dC,dB){if(!an(dB,"/")){dB="/"+dB}if(!an(dC,"/")){dC="/"+dC}var dD=(dB==="/"||dB==="/*");if(dD){return true}if(dC===dB){return true}dB=String(dB).toLowerCase();dC=String(dC).toLowerCase();if(U(dB,"*")){dB=dB.slice(0,-1);dD=(!dB||dB==="/");if(dD){return true}if(dC===dB){return true}return dC.indexOf(dB)===0}if(!U(dC,"/")){dC+="/"}if(!U(dB,"/")){dB+="/"}return dC.indexOf(dB)===0}function aw(dF,dH){var dC,dB,dD,dE,dG;for(dC=0;dC<aC.length;dC++){dE=O(aC[dC]);dG=cv(aC[dC]);if(cW(dF,dE)&&ba(dH,dG)){return true}}return false}function a2(dE){var dC,dB,dD;for(dC=0;
+dC<aC.length;dC++){dB=O(aC[dC].toLowerCase());if(dE===dB){return true}if(dB.slice(0,1)==="."){if(dE===dB.slice(1)){return true}dD=dE.length-dB.length;if((dD>0)&&(dE.slice(dD)===dB)){return true}}}return false}function cC(dB){var dC,dE,dG,dD,dF;if(!dB.length||!cL.length){return false}dE=d(dB);dG=cv(dB);if(dE.indexOf("www.")===0){dE=dE.substr(4)}for(dC=0;dC<cL.length;dC++){dD=O(cL[dC]);dF=cv(cL[dC]);if(dD.indexOf("www.")===0){dD=dD.substr(4)}if(cW(dE,dD)&&ba(dG,dF)){return true}}return false}function cz(dB,dD){dB=dB.replace("send_image=0","send_image=1");var dC=new Image(1,1);dC.onload=function(){H=0;if(typeof dD==="function"){dD({request:dB,trackerUrl:aI,success:true})}};dC.onerror=function(){if(typeof dD==="function"){dD({request:dB,trackerUrl:aI,success:false})}};dC.src=aI+(aI.indexOf("?")<0?"?":"&")+dB}function cT(dB){if(ds==="POST"){return true}return dB&&(dB.length>2000||dB.indexOf('{"requests"')===0)}function aP(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob
+}function bd(dF,dI,dH){var dD=aP();if(!dD){return false}var dE={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dJ=false;var dC=aI;try{var dB=new Blob([dF],dE);if(dH&&!cT(dF)){dB=new Blob([],dE);dC=dC+(dC.indexOf("?")<0?"?":"&")+dF}dJ=g.sendBeacon(dC,dB)}catch(dG){return false}if(dJ&&typeof dI==="function"){dI({request:dF,trackerUrl:aI,success:true,isSendBeacon:true})}return dJ}function dl(dC,dD,dB){if(!M(dB)||null===dB){dB=true}if(m&&bd(dC,dD,dB)){return}setTimeout(function(){if(m&&bd(dC,dD,dB)){return}var dG;try{var dF=W.XMLHttpRequest?new W.XMLHttpRequest():W.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dF.open("POST",aI,true);dF.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dH=m&&bd(dC,dD,dB);if(!dH&&dB){cz(dC,dD)}else{if(typeof dD==="function"){dD({request:dC,trackerUrl:aI,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dD==="function")){dD({request:dC,trackerUrl:aI,success:true,xhr:this})}}};
+dF.setRequestHeader("Content-Type",cK);dF.withCredentials=true;dF.send(dC)}catch(dE){dG=m&&bd(dC,dD,dB);if(!dG&&dB){cz(dC,dD)}else{if(typeof dD==="function"){dD({request:dC,trackerUrl:aI,success:false})}}}},50)}function cp(dC){var dB=new Date();var dD=dB.getTime()+dC;if(!r||dD>r){r=dD}}function bh(){bj=true;cM=new Date().getTime()}function dv(){var dB=new Date().getTime();return !cM||(dB-cM)>bc}function aD(){if(dv()){b0()}}function a1(){if(J.visibilityState==="hidden"&&dv()){b0()}else{if(J.visibilityState==="visible"){cM=new Date().getTime()}}}function dy(){if(aS||!bc){return}aS=true;ar(W,"focus",bh);ar(W,"blur",aD);ar(W,"visibilitychange",a1);af++;u.addPlugin("HeartBeat"+af,{unload:function(){if(aS&&dv()){b0()}}})}function cR(dF){var dC=new Date();var dB=dC.getTime();df=dB;if(cQ&&dB<cQ){var dD=cQ-dB;setTimeout(dF,dD);cp(dD+50);cQ+=50;return}if(cQ===false){var dE=800;cQ=dB+dE}dF()}function aT(){if(aH(c1)){bL=false}else{if(aH(bk)){bL=true}}}function bT(dD){if(!aZ){return dD}var dC,dB="&uadata="+t(W.JSON.stringify(aZ));
+if(dD instanceof Array){for(dC=0;dC<dD.length;dC++){dD[dC]+=dB}}else{dD+=dB}return dD}function cA(dB){if(!dd||!M(g.userAgentData)||!C(g.userAgentData.getHighEntropyValues)){dB();return}aZ={brands:g.userAgentData.brands,platform:g.userAgentData.platform};g.userAgentData.getHighEntropyValues(["brands","model","platform","platformVersion","uaFullVersion","fullVersionList"]).then(function(dD){var dC;if(dD.fullVersionList){delete dD.brands;delete dD.uaFullVersion}aZ=dD;dB()},function(dC){dB()})}function bO(dC,dB,dD){if(!bu){cj.push(dC);return}aT();if(!bL){c0.push(dC);return}aA=true;if(!c5&&dC){if(cP&&bL){dC+="&consent=1"}dC=bT(dC);cR(function(){if(dc&&bd(dC,dD,true)){cp(100);return}if(cT(dC)){dl(dC,dD)}else{cz(dC,dD)}cp(dB)})}if(!aS){dy()}}function cu(dB){if(c5){return false}return(dB&&dB.length)}function dk(dB,dF){if(!dF||dF>=dB.length){return[dB]}var dC=0;var dD=dB.length;var dE=[];for(dC;dC<dD;dC+=dF){dE.push(dB.slice(dC,dC+dF))}return dE}function dx(dC,dB){if(!cu(dC)){return}if(!bu){cj.push(dC);
+return}if(!bL){c0.push(dC);return}aA=true;cR(function(){var dF=dk(dC,50);var dD=0,dE;for(dD;dD<dF.length;dD++){dE='{"requests":["?'+bT(dF[dD]).join('","?')+'"],"send_image":0}';if(dc&&bd(dE,null,false)){cp(100)}else{dl(dE,null,false)}}cp(dB)})}function aY(dB){return br+dB+"."+cf+"."+bx}function b8(dD,dC,dB){dw(dD,"",-129600000,dC,dB)}function ce(){if(bt){return"0"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var dB=br+"testcookie";dw(dB,"1",undefined,by,de,b1,aN);var dC=aH(dB)==="1"?"1":"0";b8(dB);return dC}function bp(){bx=cg((de||c9)+(by||"/")).slice(0,4)}function cX(){cA(function(){var dH,dG;bu=true;for(dH=0;dH<cj.length;dH++){dG=typeof cj[dH];if(dG==="string"){bO(cj[dH],bS)}else{if(dG==="object"){dx(cj[dH],bS)}}}cj=[]});if(!dd){return{}}if(M(dp.res)){return dp}var dC,dE,dF={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};
+if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dC in dF){if(Object.prototype.hasOwnProperty.call(dF,dC)){dE=g.mimeTypes[dF[dC]];dp[dC]=(dE&&dE.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&M(g.javaEnabled)&&g.javaEnabled()){dp.java="1"}if(!M(W.showModalDialog)&&M(g.cookieEnabled)){dp.cookie=g.cookieEnabled?"1":"0"}else{dp.cookie=ce()}}var dD=parseInt(ab.width,10);var dB=parseInt(ab.height,10);dp.res=parseInt(dD,10)+"x"+parseInt(dB,10);return dp}function b6(){var dC=aY("cvar"),dB=aH(dC);if(dB&&dB.length){dB=W.JSON.parse(dB);if(Z(dB)){return dB}}return{}}function cU(){if(aV===false){aV=b6()}}function c6(){var dB=cX();return cg((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dB)+(new Date()).getTime()+Math.random()).slice(0,16)}function aF(){var dB=cX();return cg((g.userAgent||"")+(g.platform||"")+W.JSON.stringify(dB)).slice(0,6)}function bm(){return Math.floor((new Date()).getTime()/1000)
+}function aO(){var dC=bm();var dD=aF();var dB=String(dC)+dD;return dB}function dj(dD){dD=String(dD);var dG=aF();var dE=dG.length;var dF=dD.substr(-1*dE,dE);var dC=parseInt(dD.substr(0,dD.length-dE),10);if(dC&&dF&&dF===dG){var dB=bm();if(a6<=0){return true}if(dB>=dC&&dB<=(dC+a6)){return true}}return false}function dz(dB){if(!c2){return""}var dF=e(dB,az);if(!dF){return""}dF=String(dF);var dD=new RegExp("^[a-zA-Z0-9]+$");if(dF.length===32&&dD.test(dF)){var dC=dF.substr(16,32);if(dj(dC)){var dE=dF.substr(0,16);return dE}}return""}function c3(){if(!bX){bX=dz(bW)}var dD=new Date(),dB=Math.round(dD.getTime()/1000),dC=aY("id"),dG=aH(dC),dF,dE;if(dG){dF=dG.split(".");dF.unshift("0");if(bX.length){dF[1]=bX}return dF}if(bX.length){dE=bX}else{if("0"===ce()){dE=""}else{dE=c6()}}dF=["1",dE,dB];return dF}function a5(){var dE=c3(),dC=dE[0],dD=dE[1],dB=dE[2];return{newVisitor:dC,uuid:dD,createTs:dB}}function aL(){var dE=new Date(),dC=dE.getTime(),dF=a5().createTs;var dB=parseInt(dF,10);var dD=(dB*1000)+cZ-dC;
+return dD}function aR(dB){if(!cf){return}var dD=new Date(),dC=Math.round(dD.getTime()/1000);if(!M(dB)){dB=a5()}var dE=dB.uuid+"."+dB.createTs+".";dw(aY("id"),dE,aL(),by,de,b1,aN)}function bV(){var dB=aH(aY("ref"));if(dB.length){try{dB=W.JSON.parse(dB);if(Z(dB)){return dB}}catch(dC){}}return["","",0,""]}function bF(dD){var dC=br+"testcookie_domain";var dB="testvalue";dw(dC,dB,10000,null,dD,b1,aN);if(aH(dC)===dB){b8(dC,null,dD);return true}return false}function aJ(){var dC=bt;bt=false;var dB,dD;for(dB=0;dB<bD.length;dB++){dD=aY(bD[dB]);if(dD!==c1&&dD!==bk&&0!==aH(dD)){b8(dD,by,de)}}bt=dC}function cc(dB){cf=dB}function dA(dF){if(!dF||!Z(dF)){return}var dE=[];var dD;for(dD in dF){if(Object.prototype.hasOwnProperty.call(dF,dD)){dE.push(dD)}}var dG={};dE.sort();var dB=dE.length;var dC;for(dC=0;dC<dB;dC++){dG[dE[dC]]=dF[dE[dC]]}return dG}function cm(){dw(aY("ses"),"1",cy,by,de,b1,aN)}function bn(){var dE="";var dC="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dD=dC.length;
+var dB;for(dB=0;dB<6;dB++){dE+=dC.charAt(Math.floor(Math.random()*dD))}return dE}function aE(dC){if(cx!==""){dC+=cx;bo=true;return dC}if(!h){return dC}var dD=(typeof h.timing==="object")&&h.timing?h.timing:undefined;if(!dD){dD=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:undefined}if(!dD){return dC}var dB="";if(dD.connectEnd&&dD.fetchStart){if(dD.connectEnd<dD.fetchStart){return dC}dB+="&pf_net="+Math.round(dD.connectEnd-dD.fetchStart)}if(dD.responseStart&&dD.requestStart){if(dD.responseStart<dD.requestStart){return dC}dB+="&pf_srv="+Math.round(dD.responseStart-dD.requestStart)}if(dD.responseStart&&dD.responseEnd){if(dD.responseEnd<dD.responseStart){return dC}dB+="&pf_tfr="+Math.round(dD.responseEnd-dD.responseStart)}if(M(dD.domLoading)){if(dD.domInteractive&&dD.domLoading){if(dD.domInteractive<dD.domLoading){return dC}dB+="&pf_dm1="+Math.round(dD.domInteractive-dD.domLoading)}}else{if(dD.domInteractive&&dD.responseEnd){if(dD.domInteractive<dD.responseEnd){return dC
+}dB+="&pf_dm1="+Math.round(dD.domInteractive-dD.responseEnd)}}if(dD.domComplete&&dD.domInteractive){if(dD.domComplete<dD.domInteractive){return dC}dB+="&pf_dm2="+Math.round(dD.domComplete-dD.domInteractive)}if(dD.loadEventEnd&&dD.loadEventStart){if(dD.loadEventEnd<dD.loadEventStart){return dC}dB+="&pf_onl="+Math.round(dD.loadEventEnd-dD.loadEventStart)}return dC+dB}function dr(){var dL,dE=new Date(),dF=Math.round(dE.getTime()/1000),dQ,dD,dG=1024,dN,dH,dC=aY("ses"),dK=aY("ref"),dJ=aH(dC),dB=bV(),dP=bb||bW,dM,dI,dO={};dM=dB[0];dI=dB[1];dQ=dB[2];dD=dB[3];if(!dJ){if(!bE||!dM.length){for(dL in cB){if(Object.prototype.hasOwnProperty.call(cB,dL)){dM=e(dP,cB[dL]);if(dM.length){break}}}for(dL in bP){if(Object.prototype.hasOwnProperty.call(bP,dL)){dI=e(dP,bP[dL]);if(dI.length){break}}}}dN=d(bw);dH=dD.length?d(dD):"";if(dN.length&&!a2(dN)&&!cC(bw)&&(!bE||!dH.length||a2(dH)||cC(dD))){dD=bw}if(dD.length||dM.length){dQ=dF;dB=[dM,dI,dQ,cb(dD.slice(0,dG))];dw(dK,W.JSON.stringify(dB),dm,by,de,b1,aN)}}if(dM.length){dO._rcn=t(dM)
+}if(dI.length){dO._rck=t(dI)}dO._refts=dQ;if(String(dD).length){dO._ref=t(cb(dD.slice(0,dG)))}return dO}function cE(dC,dN,dO){var dM,dB=new Date(),dL=aV,dH=aY("cvar"),dP=bb||bW;if(bt){aJ()}if(c5){return""}var dI=a5();var dF=J.characterSet||J.charset;if(!dF||dF.toLowerCase()==="utf-8"){dF=null}dC+="&idsite="+cf+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dB.getHours()+"&m="+dB.getMinutes()+"&s="+dB.getSeconds()+"&url="+t(cb(dP))+(bw.length&&!cC(bw)?"&urlref="+t(cb(bw)):"")+(ac(bH)?"&uid="+t(bH):"")+"&_id="+dI.uuid+"&_idn="+dI.newVisitor+(dF?"&cs="+t(dF):"")+"&send_image=0";var dK=dr();for(dM in dK){if(Object.prototype.hasOwnProperty.call(dK,dM)){dC+="&"+dM+"="+dK[dM]}}var dR=cX();for(dM in dR){if(Object.prototype.hasOwnProperty.call(dR,dM)){dC+="&"+dM+"="+dR[dM]}}var dS=[];if(dN){for(dM in dN){if(Object.prototype.hasOwnProperty.call(dN,dM)&&/^dimension\d+$/.test(dM)){var dD=dM.replace("dimension","");dS.push(parseInt(dD,10));dS.push(String(dD));dC+="&"+dM+"="+t(dN[dM]);delete dN[dM]
+}}}if(dN&&D(dN)){dN=null}for(dM in cG){if(Object.prototype.hasOwnProperty.call(cG,dM)){dC+="&"+dM+"="+t(cG[dM])}}for(dM in bv){if(Object.prototype.hasOwnProperty.call(bv,dM)){var dG=(-1===P(dS,dM));if(dG){dC+="&dimension"+dM+"="+t(bv[dM])}}}if(dN){dC+="&data="+t(W.JSON.stringify(dN))}else{if(at){dC+="&data="+t(W.JSON.stringify(at))}}function dE(dT,dU){var dV=W.JSON.stringify(dT);if(dV.length>2){return"&"+dU+"="+t(dV)}return""}var dQ=dA(b5);var dJ=dA(cw);dC+=dE(dQ,"cvar");dC+=dE(dJ,"e_cvar");if(aV){dC+=dE(aV,"_cvar");for(dM in dL){if(Object.prototype.hasOwnProperty.call(dL,dM)){if(aV[dM][0]===""||aV[dM][1]===""){delete aV[dM]}}}if(bZ){dw(dH,W.JSON.stringify(aV),cy,by,de,b1,aN)}}if(a9&&bN&&!bo){dC=aE(dC);bo=true}if(aQ){dC+="&pv_id="+aQ}aR(dI);cm();dC+=ag(dO,{tracker:bR,request:dC});if(dg.length){dC+="&"+dg}if(C(cl)){dC=cl(dC)}return dC}b0=function be(){var dB=new Date();dB=dB.getTime();if(!df){return false}if(df+bc<=dB){bR.ping();return true}return false};function bz(dE,dD,dI,dF,dB,dL){var dH="idgoal=0",dC=new Date(),dJ=[],dK,dG=String(dE).length;
+if(dG){dH+="&ec_id="+t(dE)}dH+="&revenue="+dD;if(String(dI).length){dH+="&ec_st="+dI}if(String(dF).length){dH+="&ec_tx="+dF}if(String(dB).length){dH+="&ec_sh="+dB}if(String(dL).length){dH+="&ec_dt="+dL}if(dh){for(dK in dh){if(Object.prototype.hasOwnProperty.call(dh,dK)){if(!M(dh[dK][1])){dh[dK][1]=""}if(!M(dh[dK][2])){dh[dK][2]=""}if(!M(dh[dK][3])||String(dh[dK][3]).length===0){dh[dK][3]=0}if(!M(dh[dK][4])||String(dh[dK][4]).length===0){dh[dK][4]=1}dJ.push(dh[dK])}}dH+="&ec_items="+t(W.JSON.stringify(dJ))}dH=cE(dH,at,"ecommerce");bO(dH,bS);if(dG){dh={}}}function b7(dB,dF,dE,dD,dC,dG){if(String(dB).length&&M(dF)){bz(dB,dF,dE,dD,dC,dG)}}function bB(dB){if(M(dB)){bz("",dB,"","","","")}}function b9(dC,dE,dD){if(!bJ){aQ=bn()}var dB=cE("action_name="+t(ap(dC||bq)),dE,"log");if(a9&&!bo){dB=aE(dB)}bO(dB,bS,dD)}function a7(dD,dC){var dE,dB="(^| )(piwik[_-]"+dC+"|matomo[_-]"+dC;if(dD){for(dE=0;dE<dD.length;dE++){dB+="|"+dD[dE]}}dB+=")( |$)";return new RegExp(dB)}function a0(dB){return(aI&&dB&&0===String(dB).indexOf(aI))
+}function cI(dF,dB,dG,dC){if(a0(dB)){return 0}var dE=a7(bU,"download"),dD=a7(bf,"link"),dH=new RegExp("\\.("+dn.join("|")+")([?&#]|$)","i");if(dD.test(dF)){return"link"}if(dC||dE.test(dF)||dH.test(dB)){return"download"}if(dG){return 0}return"link"}function ay(dC){var dB;dB=dC.parentNode;while(dB!==null&&M(dB)){if(ai.isLinkElement(dC)){break}dC=dB;dB=dC.parentNode}return dC}function du(dG){dG=ay(dG);if(!ai.hasNodeAttribute(dG,"href")){return}if(!M(dG.href)){return}var dF=ai.getAttributeValueFromNode(dG,"href");var dC=dG.pathname||cv(dG.href);var dH=dG.hostname||d(dG.href);var dI=dH.toLowerCase();var dD=dG.href.replace(dH,dI);var dE=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto|tel):","i");if(!dE.test(dD)){var dB=cI(dG.className,dD,aw(dI,dC),ai.hasNodeAttribute(dG,"download"));if(dB){return{type:dB,href:dD}}}}function aU(dB,dC,dD,dE){var dF=w.buildInteractionRequestParams(dB,dC,dD,dE);if(!dF){return}return cE(dF,null,"contentInteraction")}function bi(dB,dC){if(!dB||!dC){return false
+}var dD=w.findTargetNode(dB);if(w.shouldIgnoreInteraction(dD)){return false}dD=w.findTargetNodeNoDefault(dB);if(dD&&!Y(dD,dC)){return false}return true}function cH(dD,dC,dF){if(!dD){return}var dB=w.findParentContentNode(dD);if(!dB){return}if(!bi(dB,dD)){return}var dE=w.buildContentBlock(dB);if(!dE){return}if(!dE.target&&dF){dE.target=dF}return w.buildInteractionRequestParams(dC,dE.name,dE.piece,dE.target)}function a3(dC){if(!ck||!ck.length){return false}var dB,dD;for(dB=0;dB<ck.length;dB++){dD=ck[dB];if(dD&&dD.name===dC.name&&dD.piece===dC.piece&&dD.target===dC.target){return true}}return false}function a4(dB){return function(dF){if(!dB){return}var dD=w.findParentContentNode(dB);var dC;if(dF){dC=dF.target||dF.srcElement}if(!dC){dC=dB}if(!bi(dD,dC)){return}if(!dD){return false}var dG=w.findTargetNode(dD);if(!dG||w.shouldIgnoreInteraction(dG)){return false}var dE=du(dG);if(dq&&dE&&dE.type){return dE.type}return bR.trackContentInteractionNode(dC,"click")}}function ca(dD){if(!dD||!dD.length){return
+}var dB,dC;for(dB=0;dB<dD.length;dB++){dC=w.findTargetNode(dD[dB]);if(dC&&!dC.contentInteractionTrackingSetupDone){dC.contentInteractionTrackingSetupDone=true;ar(dC,"click",a4(dC))}}}function bG(dD,dE){if(!dD||!dD.length){return[]}var dB,dC;for(dB=0;dB<dD.length;dB++){if(a3(dD[dB])){dD.splice(dB,1);dB--}else{ck.push(dD[dB])}}if(!dD||!dD.length){return[]}ca(dE);var dF=[];for(dB=0;dB<dD.length;dB++){dC=cE(w.buildImpressionRequestParams(dD[dB].name,dD[dB].piece,dD[dB].target),undefined,"contentImpressions");if(dC){dF.push(dC)}}return dF}function cO(dC){var dB=w.collectContent(dC);return bG(dB,dC)}function bg(dC){if(!dC||!dC.length){return[]}var dB;for(dB=0;dB<dC.length;dB++){if(!w.isNodeVisible(dC[dB])){dC.splice(dB,1);dB--}}if(!dC||!dC.length){return[]}return cO(dC)}function aK(dD,dB,dC){var dE=w.buildImpressionRequestParams(dD,dB,dC);return cE(dE,null,"contentImpression")}function dt(dE,dC){if(!dE){return}var dB=w.findParentContentNode(dE);var dD=w.buildContentBlock(dB);if(!dD){return}if(!dC){dC="Unknown"
+}return aU(dC,dD.name,dD.piece,dD.target)}function c4(dC,dE,dB,dD){return"e_c="+t(dC)+"&e_a="+t(dE)+(M(dB)?"&e_n="+t(dB):"")+(M(dD)?"&e_v="+t(dD):"")+"&ca=1"}function ax(dD,dF,dB,dE,dH,dG){if(!ac(dD)||!ac(dF)){ao("Error while logging event: Parameters `category` and `action` must not be empty or filled with whitespaces");return false}var dC=cE(c4(dD,dF,dB,dE),dH,"event");bO(dC,bS,dG)}function ch(dB,dE,dC,dF){var dD=cE("search="+t(dB)+(dE?"&search_cat="+t(dE):"")+(M(dC)?"&search_count="+dC:""),dF,"sitesearch");bO(dD,bS)}function c8(dB,dF,dE,dD){var dC=cE("idgoal="+dB+(dF?"&revenue="+dF:""),dE,"goal");bO(dC,bS,dD)}function di(dE,dB,dI,dH,dD){var dG=dB+"="+t(cb(dE));var dC=cH(dD,"click",dE);if(dC){dG+="&"+dC}var dF=cE(dG,dI,"link");bO(dF,bS,dH)}function b3(dC,dB){if(dC!==""){return dC+dB.charAt(0).toUpperCase()+dB.slice(1)}return dB}function cq(dG){var dF,dB,dE=["","webkit","ms","moz"],dD;if(!bl){for(dB=0;dB<dE.length;dB++){dD=dE[dB];if(Object.prototype.hasOwnProperty.call(J,b3(dD,"hidden"))){if(J[b3(dD,"visibilityState")]==="prerender"){dF=true
+}break}}}if(dF){ar(J,dD+"visibilitychange",function dC(){J.removeEventListener(dD+"visibilitychange",dC,false);dG()});return}dG()}function bA(){var dC=bR.getVisitorId();var dB=aO();return dC+dB}function ct(dB){if(!dB){return}if(!ai.hasNodeAttribute(dB,"href")){return}var dC=ai.getAttributeValueFromNode(dB,"href");if(!dC||a0(dC)){return}if(!bR.getVisitorId()){return}dC=j(dC,az);var dD=bA();dC=I(dC,az,dD);ai.setAnyAttribute(dB,"href",dC)}function bs(dE){var dF=ai.getAttributeValueFromNode(dE,"href");if(!dF){return false}dF=String(dF);var dC=dF.indexOf("//")===0||dF.indexOf("http://")===0||dF.indexOf("https://")===0;if(!dC){return false}var dB=dE.pathname||cv(dE.href);var dD=(dE.hostname||d(dE.href)).toLowerCase();if(aw(dD,dB)){if(!cW(c9,O(dD))){return true}return false}return false}function cV(dB){var dC=du(dB);if(dC&&dC.type){dC.href=p(dC.href);di(dC.href,dC.type,undefined,null,dB);return}if(c2){dB=ay(dB);if(bs(dB)){ct(dB)}}}function cJ(){return J.all&&!J.addEventListener}function da(dB){var dD=dB.which;
+var dC=(typeof dB.button);if(!dD&&dC!=="undefined"){if(cJ()){if(dB.button&1){dD=1}else{if(dB.button&2){dD=3}else{if(dB.button&4){dD=2}}}}else{if(dB.button===0||dB.button==="0"){dD=1}else{if(dB.button&1){dD=2}else{if(dB.button&2){dD=3}}}}}return dD}function b2(dB){switch(da(dB)){case 1:return"left";case 2:return"middle";case 3:return"right"}}function a8(dB){return dB.target||dB.srcElement}function db(dB){return dB==="A"||dB==="AREA"}function aG(dB){function dC(dE){var dF=a8(dE);var dG=dF.nodeName;var dD=a7(bI,"ignore");while(!db(dG)&&dF&&dF.parentNode){dF=dF.parentNode;dG=dF.nodeName}if(dF&&db(dG)&&!dD.test(dF.className)){return dF}}return function(dF){dF=dF||W.event;var dG=dC(dF);if(!dG){return}var dE=b2(dF);if(dF.type==="click"){var dD=false;if(dB&&dE==="middle"){dD=true}if(dG&&!dD){cV(dG)}}else{if(dF.type==="mousedown"){if(dE==="middle"&&dG){aW=dE;bK=dG}else{aW=bK=null}}else{if(dF.type==="mouseup"){if(dE===aW&&dG===bK){cV(dG)}aW=bK=null}else{if(dF.type==="contextmenu"){cV(dG)}}}}}}function av(dE,dD,dB){var dC=typeof dD;
+if(dC==="undefined"){dD=true}ar(dE,"click",aG(dD),dB);if(dD){ar(dE,"mouseup",aG(dD),dB);ar(dE,"mousedown",aG(dD),dB);ar(dE,"contextmenu",aG(dD),dB)}}function aX(dC,dF,dG){if(co){return true}co=true;var dH=false;var dE,dD;function dB(){dH=true}n(function(){function dI(dK){setTimeout(function(){if(!co){return}dH=false;dG.trackVisibleContentImpressions();dI(dK)},dK)}function dJ(dK){setTimeout(function(){if(!co){return}if(dH){dH=false;dG.trackVisibleContentImpressions()}dJ(dK)},dK)}if(dC){dE=["scroll","resize"];for(dD=0;dD<dE.length;dD++){if(J.addEventListener){J.addEventListener(dE[dD],dB,false)}else{W.attachEvent("on"+dE[dD],dB)}}dJ(100)}if(dF&&dF>0){dF=parseInt(dF,10);dI(dF)}})}var bM={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dB=this.requests;this.requests=[];if(dB.length===1){bO(dB[0],bS)}else{dx(dB,bS)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dC){if(!this.canQueue()){dx(dC,bS);return}var dB;for(dB=0;dB<dC.length;dB++){this.push(dC[dB])
+}},push:function(dB){if(!dB){return}if(!this.canQueue()){bO(dB,bS);return}bM.requests.push(dB);if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.timeout=setTimeout(function(){bM.timeout=null;bM.sendRequests()},bM.interval);var dC="RequestQueue"+aB;if(!Object.prototype.hasOwnProperty.call(b,dC)){b[dC]={unload:function(){if(bM.timeout){clearTimeout(bM.timeout)}bM.sendRequests()}}}}};bp();this.hasConsent=function(){return bL};this.getVisitorInfo=function(){if(!aH(aY("id"))){aR()}return c3()};this.getVisitorId=function(){return this.getVisitorInfo()[1]};this.getAttributionInfo=function(){return bV()};this.getAttributionCampaignName=function(){return bV()[0]};this.getAttributionCampaignKeyword=function(){return bV()[1]};this.getAttributionReferrerTimestamp=function(){return bV()[2]};this.getAttributionReferrerUrl=function(){return bV()[3]};this.setTrackerUrl=function(dB){aI=dB};this.getTrackerUrl=function(){return aI};this.getMatomoUrl=function(){return aa(this.getTrackerUrl(),bQ)
+};this.getPiwikUrl=function(){return this.getMatomoUrl()};this.addTracker=function(dD,dC){if(!M(dD)||null===dD){dD=this.getTrackerUrl()}var dB=new T(dD,dC);L.push(dB);u.trigger("TrackerAdded",[this]);return dB};this.getSiteId=function(){return cf};this.setSiteId=function(dB){cc(dB)};this.resetUserId=function(){bH=""};this.setUserId=function(dB){if(ac(dB)){bH=dB}};this.setVisitorId=function(dC){var dB=/[0-9A-Fa-f]{16}/g;if(x(dC)&&dB.test(dC)){bX=dC}else{ao("Invalid visitorId set"+dC)}};this.getUserId=function(){return bH};this.setCustomData=function(dB,dC){if(Z(dB)){at=dB}else{if(!at){at={}}at[dB]=dC}};this.getCustomData=function(){return at};this.setCustomRequestProcessing=function(dB){cl=dB};this.appendToTrackingUrl=function(dB){dg=dB};this.getRequest=function(dB){return cE(dB)};this.addPlugin=function(dB,dC){b[dB]=dC};this.setCustomDimension=function(dB,dC){dB=parseInt(dB,10);if(dB>0){if(!M(dC)){dC=""}if(!x(dC)){dC=String(dC)}bv[dB]=dC}};this.getCustomDimension=function(dB){dB=parseInt(dB,10);
+if(dB>0&&Object.prototype.hasOwnProperty.call(bv,dB)){return bv[dB]}};this.deleteCustomDimension=function(dB){dB=parseInt(dB,10);if(dB>0){delete bv[dB]}};this.setCustomVariable=function(dC,dB,dF,dD){var dE;if(!M(dD)){dD="visit"}if(!M(dB)){return}if(!M(dF)){dF=""}if(dC>0){dB=!x(dB)?String(dB):dB;dF=!x(dF)?String(dF):dF;dE=[dB.slice(0,bC),dF.slice(0,bC)];if(dD==="visit"||dD===2){cU();aV[dC]=dE}else{if(dD==="page"||dD===3){b5[dC]=dE}else{if(dD==="event"){cw[dC]=dE}}}}};this.getCustomVariable=function(dC,dD){var dB;if(!M(dD)){dD="visit"}if(dD==="page"||dD===3){dB=b5[dC]}else{if(dD==="event"){dB=cw[dC]}else{if(dD==="visit"||dD===2){cU();dB=aV[dC]}}}if(!M(dB)||(dB&&dB[0]==="")){return false}return dB};this.deleteCustomVariable=function(dB,dC){if(this.getCustomVariable(dB,dC)){this.setCustomVariable(dB,"","",dC)}};this.deleteCustomVariables=function(dB){if(dB==="page"||dB===3){b5={}}else{if(dB==="event"){cw={}}else{if(dB==="visit"||dB===2){aV={}}}}};this.storeCustomVariablesInCookie=function(){bZ=true
+};this.setLinkTrackingTimer=function(dB){bS=dB};this.getLinkTrackingTimer=function(){return bS};this.setDownloadExtensions=function(dB){if(x(dB)){dB=dB.split("|")}dn=dB};this.addDownloadExtensions=function(dC){var dB;if(x(dC)){dC=dC.split("|")}for(dB=0;dB<dC.length;dB++){dn.push(dC[dB])}};this.removeDownloadExtensions=function(dD){var dC,dB=[];if(x(dD)){dD=dD.split("|")}for(dC=0;dC<dn.length;dC++){if(P(dD,dn[dC])===-1){dB.push(dn[dC])}}dn=dB};this.setDomains=function(dB){aC=x(dB)?[dB]:dB;var dF=false,dD=0,dC;for(dD;dD<aC.length;dD++){dC=String(aC[dD]);if(cW(c9,O(dC))){dF=true;break}var dE=cv(dC);if(dE&&dE!=="/"&&dE!=="/*"){dF=true;break}}if(!dF){aC.push(c9)}};this.setExcludedReferrers=function(dB){cL=x(dB)?[dB]:dB};this.enableCrossDomainLinking=function(){c2=true};this.disableCrossDomainLinking=function(){c2=false};this.isCrossDomainLinkingEnabled=function(){return c2};this.setCrossDomainLinkingTimeout=function(dB){a6=dB};this.getCrossDomainLinkingUrlParameter=function(){return t(az)+"="+t(bA())
+};this.setIgnoreClasses=function(dB){bI=x(dB)?[dB]:dB};this.setRequestMethod=function(dB){if(dB){ds=String(dB).toUpperCase()}else{ds=cr}if(ds==="GET"){this.disableAlwaysUseSendBeacon()}};this.setRequestContentType=function(dB){cK=dB||aM};this.setGenerationTimeMs=function(dB){ao("setGenerationTimeMs is no longer supported since Matomo 4. The call will be ignored. The replacement is setPagePerformanceTiming.")};this.setPagePerformanceTiming=function(dF,dH,dG,dC,dI,dD){var dE={pf_net:dF,pf_srv:dH,pf_tfr:dG,pf_dm1:dC,pf_dm2:dI,pf_onl:dD};try{dE=Q(dE,M);dE=B(dE);cx=l(dE);if(cx===""){ao("setPagePerformanceTiming() called without parameters. This function needs to be called with at least one performance parameter.");return}bo=false;bN=true}catch(dB){ao("setPagePerformanceTiming: "+dB.toString())}};this.setReferrerUrl=function(dB){bw=dB};this.setCustomUrl=function(dB){bb=b4(bW,dB)};this.getCurrentUrl=function(){return bb||bW};this.setDocumentTitle=function(dB){bq=dB};this.setPageViewId=function(dB){aQ=dB;
+bJ=true};this.setAPIUrl=function(dB){bQ=dB};this.setDownloadClasses=function(dB){bU=x(dB)?[dB]:dB};this.setLinkClasses=function(dB){bf=x(dB)?[dB]:dB};this.setCampaignNameKey=function(dB){cB=x(dB)?[dB]:dB};this.setCampaignKeywordKey=function(dB){bP=x(dB)?[dB]:dB};this.discardHashTag=function(dB){bY=dB};this.setCookieNamePrefix=function(dB){br=dB;if(aV){aV=b6()}};this.setCookieDomain=function(dB){var dC=O(dB);if(!bt&&!bF(dC)){ao("Can't write cookie on domain "+dB)}else{de=dC;bp()}};this.setExcludedQueryParams=function(dB){cs=x(dB)?[dB]:dB};this.getCookieDomain=function(){return de};this.hasCookies=function(){return"1"===ce()};this.setSessionCookie=function(dD,dC,dB){if(!dD){throw new Error("Missing cookie name")}if(!M(dB)){dB=cy}bD.push(dD);dw(aY(dD),dC,dB,by,de,b1,aN)};this.getCookie=function(dC){var dB=aH(aY(dC));if(dB===0){return null}return dB};this.setCookiePath=function(dB){by=dB;bp()};this.getCookiePath=function(dB){return by};this.setVisitorCookieTimeout=function(dB){cZ=dB*1000};this.setSessionCookieTimeout=function(dB){cy=dB*1000
+};this.getSessionCookieTimeout=function(){return cy};this.setReferralCookieTimeout=function(dB){dm=dB*1000};this.setConversionAttributionFirstReferrer=function(dB){bE=dB};this.setSecureCookie=function(dB){if(dB&&location.protocol!=="https:"){ao("Error in setSecureCookie: You cannot use `Secure` on http.");return}b1=dB};this.setCookieSameSite=function(dB){dB=String(dB);dB=dB.charAt(0).toUpperCase()+dB.toLowerCase().slice(1);if(dB!=="None"&&dB!=="Lax"&&dB!=="Strict"){ao("Ignored value for sameSite. Please use either Lax, None, or Strict.");return}if(dB==="None"){if(location.protocol==="https:"){this.setSecureCookie(true)}else{ao("sameSite=None cannot be used on http, reverted to sameSite=Lax.");dB="Lax"}}aN=dB};this.disableCookies=function(){bt=true;if(cf){aJ()}};this.areCookiesEnabled=function(){return !bt};this.setCookieConsentGiven=function(){if(bt&&!c5){bt=false;dd=true;if(cf&&aA){aR();var dB=cE("ping=1",null,"ping");bO(dB,bS)}}};this.requireCookieConsent=function(){if(this.getRememberedCookieConsent()){return false
+}this.disableCookies();return true};this.getRememberedCookieConsent=function(){return aH(cS)};this.forgetCookieConsentGiven=function(){b8(cS,by,de);this.disableCookies()};this.rememberCookieConsentGiven=function(dC){if(dC){dC=dC*60*60*1000}else{dC=30*365*24*60*60*1000}this.setCookieConsentGiven();var dB=new Date().getTime();dw(cS,dB,dC,by,de,b1,aN)};this.deleteCookies=function(){aJ()};this.setDoNotTrack=function(dC){var dB=g.doNotTrack||g.msDoNotTrack;c5=dC&&(dB==="yes"||dB==="1");if(c5){this.disableCookies()}};this.alwaysUseSendBeacon=function(){dc=true};this.disableAlwaysUseSendBeacon=function(){dc=false};this.addListener=function(dC,dB){av(dC,dB,false)};this.enableLinkTracking=function(dC){if(dq){return}dq=true;var dB=this;q(function(){au=true;var dD=J.body;av(dD,dC,true)})};this.enableJSErrorTracking=function(){if(c7){return}c7=true;var dB=W.onerror;W.onerror=function(dG,dE,dD,dF,dC){cq(function(){var dH="JavaScript Errors";var dI=dE+":"+dD;if(dF){dI+=":"+dF}if(P(cF,dH+dI+dG)===-1){cF.push(dH+dI+dG);
+ax(dH,dI,dG)}});if(dB){return dB(dG,dE,dD,dF,dC)}return false}};this.disablePerformanceTracking=function(){a9=false};this.enableHeartBeatTimer=function(dB){dB=Math.max(dB||15,5);bc=dB*1000;if(df!==null){dy()}};this.disableHeartBeatTimer=function(){if(bc||aS){if(W.removeEventListener){W.removeEventListener("focus",bh);W.removeEventListener("blur",aD);W.removeEventListener("visibilitychange",a1)}else{if(W.detachEvent){W.detachEvent("onfocus",bh);W.detachEvent("onblur",aD);W.detachEvent("visibilitychange",a1)}}}bc=null;aS=false};this.killFrame=function(){if(W.location!==W.top.location){W.top.location=W.location}};this.redirectFile=function(dB){if(W.location.protocol==="file:"){W.location=dB}};this.setCountPreRendered=function(dB){bl=dB};this.trackGoal=function(dB,dE,dD,dC){cq(function(){c8(dB,dE,dD,dC)})};this.trackLink=function(dC,dB,dE,dD){cq(function(){di(dC,dB,dE,dD)})};this.getNumTrackedPageViews=function(){return cD};this.trackPageView=function(dB,dD,dC){ck=[];c0=[];cF=[];if(R(cf)){cq(function(){ad(aI,bQ,cf)
+})}else{cq(function(){cD++;b9(dB,dD,dC)})}};this.disableBrowserFeatureDetection=function(){dd=false};this.enableBrowserFeatureDetection=function(){dd=true};this.trackAllContentImpressions=function(){if(R(cf)){return}cq(function(){q(function(){var dB=w.findContentNodes();var dC=cO(dB);bM.pushMultiple(dC)})})};this.trackVisibleContentImpressions=function(dB,dC){if(R(cf)){return}if(!M(dB)){dB=true}if(!M(dC)){dC=750}aX(dB,dC,this);cq(function(){n(function(){var dD=w.findContentNodes();var dE=bg(dD);bM.pushMultiple(dE)})})};this.trackContentImpression=function(dD,dB,dC){if(R(cf)){return}dD=a(dD);dB=a(dB);dC=a(dC);if(!dD){return}dB=dB||"Unknown";cq(function(){var dE=aK(dD,dB,dC);bM.push(dE)})};this.trackContentImpressionsWithinNode=function(dB){if(R(cf)||!dB){return}cq(function(){if(co){n(function(){var dC=w.findContentNodesWithinNode(dB);var dD=bg(dC);bM.pushMultiple(dD)})}else{q(function(){var dC=w.findContentNodesWithinNode(dB);var dD=cO(dC);bM.pushMultiple(dD)})}})};this.trackContentInteraction=function(dD,dE,dB,dC){if(R(cf)){return
+}dD=a(dD);dE=a(dE);dB=a(dB);dC=a(dC);if(!dD||!dE){return}dB=dB||"Unknown";cq(function(){var dF=aU(dD,dE,dB,dC);if(dF){bM.push(dF)}})};this.trackContentInteractionNode=function(dD,dC){if(R(cf)||!dD){return}var dB=null;cq(function(){dB=dt(dD,dC);if(dB){bM.push(dB)}});return dB};this.logAllContentBlocksOnPage=function(){var dD=w.findContentNodes();var dB=w.collectContent(dD);var dC=typeof console;if(dC!=="undefined"&&console&&console.log){console.log(dB)}};this.trackEvent=function(dC,dE,dB,dD,dG,dF){cq(function(){ax(dC,dE,dB,dD,dG,dF)})};this.trackSiteSearch=function(dB,dD,dC,dE){ck=[];cq(function(){ch(dB,dD,dC,dE)})};this.setEcommerceView=function(dF,dB,dD,dC){cG={};if(ac(dD)){dD=String(dD)}if(!M(dD)||dD===null||dD===false||!dD.length){dD=""}else{if(dD instanceof Array){dD=W.JSON.stringify(dD)}}var dE="_pkc";cG[dE]=dD;if(M(dC)&&dC!==null&&dC!==false&&String(dC).length){dE="_pkp";cG[dE]=dC}if(!ac(dF)&&!ac(dB)){return}if(ac(dF)){dE="_pks";cG[dE]=dF}if(!ac(dB)){dB=""}dE="_pkn";cG[dE]=dB};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(dh))
+};this.addEcommerceItem=function(dF,dB,dD,dC,dE){if(ac(dF)){dh[dF]=[String(dF),dB,dD,dC,dE]}};this.removeEcommerceItem=function(dB){if(ac(dB)){dB=String(dB);delete dh[dB]}};this.clearEcommerceCart=function(){dh={}};this.trackEcommerceOrder=function(dB,dF,dE,dD,dC,dG){b7(dB,dF,dE,dD,dC,dG)};this.trackEcommerceCartUpdate=function(dB){bB(dB)};this.trackRequest=function(dC,dE,dD,dB){cq(function(){var dF=cE(dC,dE,dB);bO(dF,bS,dD)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bM.enabled=false};this.setRequestQueueInterval=function(dB){if(dB<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bM.interval=dB};this.queueRequest=function(dB){cq(function(){var dC=cE(dB);bM.push(dC)})};this.isConsentRequired=function(){return cP};this.getRememberedConsent=function(){var dB=aH(bk);if(aH(c1)){if(dB){b8(bk,by,de)}return null}if(!dB||dB===0){return null}return dB};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()
+};this.requireConsent=function(){cP=true;bL=this.hasRememberedConsent();if(!bL){bt=true}y++;b["CoreConsent"+y]={unload:function(){if(!bL){aJ()}}}};this.setConsentGiven=function(dC){bL=true;dd=true;b8(c1,by,de);var dD,dB;for(dD=0;dD<c0.length;dD++){dB=typeof c0[dD];if(dB==="string"){bO(c0[dD],bS)}else{if(dB==="object"){dx(c0[dD],bS)}}}c0=[];if(!M(dC)||dC){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dD){if(dD){dD=dD*60*60*1000}else{dD=30*365*24*60*60*1000}var dB=true;this.setConsentGiven(dB);var dC=new Date().getTime();dw(bk,dC,dD,by,de,b1,aN)};this.forgetConsentGiven=function(){var dB=30*365*24*60*60*1000;b8(bk,by,de);dw(c1,new Date().getTime(),dB,by,de,b1,aN);this.forgetCookieConsentGiven();this.requireConsent()};this.isUserOptedOut=function(){return !bL};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};n(function(){setTimeout(function(){bN=true},0)});u.trigger("TrackerSetup",[this]);u.addPlugin("TrackerVisitorIdCookie"+aB,{unload:function(){if(!aA){aR();
+dr()}}})}function K(){return{push:aj}}function c(ay,ax){var az={};var av,aw;for(av=0;av<ax.length;av++){var at=ax[av];az[at]=1;for(aw=0;aw<ay.length;aw++){if(ay[aw]&&ay[aw][0]){var au=ay[aw][0];if(at===au){aj(ay[aw]);delete ay[aw];if(az[au]>1&&au!=="addTracker"&&au!=="enableLinkTracking"){ao("The method "+au+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}az[au]++}}}}return ay}var E=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableBrowserFeatureDetection","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","disableAlwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking","setPagePerformanceTiming","setExcludedQueryParams","setExcludedReferrers"];
function ah(av,au){var at=new T(av,au);L.push(at);_paq=c(_paq,E);for(H=0;H<_paq.length;H++){if(_paq[H]){aj(_paq[H])}}_paq=new K();u.trigger("TrackerAdded",[at]);return at}ar(W,"beforeunload",am,false);ar(W,"visibilitychange",function(){if(m){return}if(J.visibilityState==="hidden"){ag("unload")}},false);ar(W,"online",function(){if(M(g.serviceWorker)){g.serviceWorker.ready.then(function(at){if(at&&at.sync){return at.sync.register("matomoSync")}},function(){})}},false);ar(W,"message",function(ay){if(!ay||!ay.origin){return}var aA,aw,au;var aB=d(ay.origin);var ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){au=d(ax[aw].getMatomoUrl());if(au===aB){aA=ax[aw];break}}if(!aA){return}var av=null;try{av=JSON.parse(ay.data)}catch(az){return}if(!av){return}function at(aE){var aG=J.getElementsByTagName("iframe");for(aw=0;aw<aG.length;aw++){var aF=aG[aw];var aC=d(aF.src);if(aF.contentWindow&&M(aF.contentWindow.postMessage)&&aC===aB){var aD=JSON.stringify(aE);aF.contentWindow.postMessage(aD,"*")}}}if(M(av.maq_initial_value)){at({maq_opted_in:av.maq_initial_value&&aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})
}else{if(M(av.maq_opted_in)){ax=u.getAsyncTrackers();for(aw=0;aw<ax.length;aw++){aA=ax[aw];if(av.maq_opted_in){aA.rememberConsentGiven()}else{aA.forgetConsentGiven()}}at({maq_confirm_opted_in:aA.hasConsent(),maq_url:aA.getMatomoUrl(),maq_optout_by_default:aA.isConsentRequired()})}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;u={initialized:false,JSON:W.JSON,DOM:{addEventListener:function(aw,av,au,at){var ax=typeof at;if(ax==="undefined"){at=false}ar(aw,av,au,at)},onLoad:n,onReady:q,isNodeVisible:i,isOrWasNodeVisible:w.isNodeVisible},on:function(au,at){if(!z[au]){z[au]=[]}z[au].push(at)},off:function(av,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){if(z[av][at]===au){z[av].splice(at,1)}}},trigger:function(av,aw,au){if(!z[av]){return}var at=0;for(at;at<z[av].length;at++){z[av][at].apply(au||W,aw)}},addPlugin:function(at,au){b[at]=au},getTracker:function(au,at){if(!M(at)){at=this.getAsyncTracker().getSiteId()}if(!M(au)){au=this.getAsyncTracker().getTrackerUrl()
}return new T(au,at)},getAsyncTrackers:function(){return L},addTracker:function(av,au){var at;if(!L.length){at=ah(av,au)}else{at=L[0].addTracker(av,au)}return at},getAsyncTracker:function(ax,aw){var av;if(L&&L.length&&L[0]){av=L[0]}else{return ah(ax,aw)}if(!aw&&!ax){return av}if((!M(aw)||null===aw)&&av){aw=av.getSiteId()}if((!M(ax)||null===ax)&&av){ax=av.getTrackerUrl()}var au,at=0;for(at;at<L.length;at++){au=L[at];if(au&&String(au.getSiteId())===String(aw)&&au.getTrackerUrl()===ax){return au}}},retryMissedPluginCalls:function(){var au=al;al=[];var at=0;for(at;at<au.length;at++){aj(au[at])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return u});define("matomo",[],function(){return u})}return u}())}
diff --git a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml
index 0a45edcc89..aea9f9226b 100644
--- a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml
+++ b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_browserName__API.getSuggestedValuesForSegment.xml
@@ -10,9 +10,11 @@
<row>xStand</row>
<row>wOSBrowser</row>
<row>vivo Browser</row>
+ <row>vBrowser</row>
<row>t-online.de Browser</row>
<row>surf</row>
<row>mCent</row>
+ <row>iDesktop PC Browser</row>
<row>iCab Mobile</row>
<row>iCab</row>
<row>iBrowser Mini</row>
@@ -28,6 +30,4 @@
<row>Yandex Browser Lite</row>
<row>Yandex Browser</row>
<row>Yahoo! Japan Browser</row>
- <row>Yaani Browser</row>
- <row>Xvast</row>
</result> \ No newline at end of file
diff --git a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_operatingSystemName__API.getSuggestedValuesForSegment.xml b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_operatingSystemName__API.getSuggestedValuesForSegment.xml
index 920b6c6374..d322d5adca 100644
--- a/plugins/API/tests/System/expected/test_AutoSuggestAPITest_operatingSystemName__API.getSuggestedValuesForSegment.xml
+++ b/plugins/API/tests/System/expected/test_AutoSuggestAPITest_operatingSystemName__API.getSuggestedValuesForSegment.xml
@@ -27,7 +27,7 @@
<row>TmaxOS</row>
<row>Tizen</row>
<row>ThreadX</row>
+ <row>TencentOS</row>
<row>Symbian^3</row>
<row>Symbian OS Series 60</row>
- <row>Symbian OS Series 40</row>
</result> \ No newline at end of file
diff --git a/plugins/CoreHome/stylesheets/layout.less b/plugins/CoreHome/stylesheets/layout.less
index 6c5ffb517e..4841b4f2bf 100644
--- a/plugins/CoreHome/stylesheets/layout.less
+++ b/plugins/CoreHome/stylesheets/layout.less
@@ -28,12 +28,21 @@ nav {
.icon-more-verti,
.icon-menu-hamburger {
- font-size: 2.7rem;
+ // nav{line-height:56px} - {padding:10+10px}
+ font-size: 36px;
padding: 8px 10px 10px;
display: inline-block;
cursor: pointer;
}
+ @media only screen and (min-width: 601px) {
+ .icon-more-verti,
+ .icon-menu-hamburger {
+ // nav{line-height:64px} - {padding:10+10px}
+ font-size: 48px;
+ }
+ }
+
.side-nav {
.languageSelection {
display: block !important;
diff --git a/plugins/CoreHome/stylesheets/selector.less b/plugins/CoreHome/stylesheets/selector.less
index d7053dd45d..bf8732d1c0 100644
--- a/plugins/CoreHome/stylesheets/selector.less
+++ b/plugins/CoreHome/stylesheets/selector.less
@@ -23,6 +23,8 @@
}
.icon {
+ // remove relative: [class^="icon-"], [class*=" icon-"]{line-height:1em}
+ .font-default(11px, 12px);
padding-right: 6px;
display: inline-block;
vertical-align: top;
diff --git a/plugins/CoreHome/vue/dist/CoreHome.umd.js b/plugins/CoreHome/vue/dist/CoreHome.umd.js
index 6019b20262..0f7a209045 100644
--- a/plugins/CoreHome/vue/dist/CoreHome.umd.js
+++ b/plugins/CoreHome/vue/dist/CoreHome.umd.js
@@ -5761,44 +5761,44 @@ PeriodDatePickervue_type_script_lang_ts.render = PeriodDatePickervue_type_templa
directiveName: 'piwikPeriodDatePicker',
restrict: 'E'
}));
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue?vue&type=template&id=72269392
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue?vue&type=template&id=2c07efef
-var SiteSelectorvue_type_template_id_72269392_hoisted_1 = ["value", "name"];
-var SiteSelectorvue_type_template_id_72269392_hoisted_2 = ["title"];
-var SiteSelectorvue_type_template_id_72269392_hoisted_3 = ["textContent"];
-var SiteSelectorvue_type_template_id_72269392_hoisted_4 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_1 = ["value", "name"];
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_2 = ["title"];
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_3 = ["textContent"];
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_4 = {
key: 1,
class: "placeholder"
};
-var SiteSelectorvue_type_template_id_72269392_hoisted_5 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_5 = {
class: "dropdown"
};
-var SiteSelectorvue_type_template_id_72269392_hoisted_6 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_6 = {
class: "custom_select_search"
};
-var SiteSelectorvue_type_template_id_72269392_hoisted_7 = ["placeholder"];
-var SiteSelectorvue_type_template_id_72269392_hoisted_8 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_7 = ["placeholder"];
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_8 = {
key: 0
};
-var SiteSelectorvue_type_template_id_72269392_hoisted_9 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_9 = {
class: "custom_select_container"
};
-var SiteSelectorvue_type_template_id_72269392_hoisted_10 = ["onClick"];
-var SiteSelectorvue_type_template_id_72269392_hoisted_11 = ["innerHTML", "href", "title"];
-var SiteSelectorvue_type_template_id_72269392_hoisted_12 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_10 = ["onClick"];
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_11 = ["innerHTML", "href", "title"];
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_12 = {
class: "ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all\n siteSelect"
};
-var SiteSelectorvue_type_template_id_72269392_hoisted_13 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_13 = {
class: "ui-menu-item"
};
-var SiteSelectorvue_type_template_id_72269392_hoisted_14 = {
+var SiteSelectorvue_type_template_id_2c07efef_hoisted_14 = {
class: "ui-corner-all",
tabindex: "-1"
};
var _hoisted_15 = {
key: 1
};
-function SiteSelectorvue_type_template_id_72269392_render(_ctx, _cache, $props, $setup, $data, $options) {
+function SiteSelectorvue_type_template_id_2c07efef_render(_ctx, _cache, $props, $setup, $data, $options) {
var _ctx$modelValue, _ctx$modelValue2, _ctx$modelValue3, _ctx$modelValue4;
var _component_AllSitesLink = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("AllSitesLink");
@@ -5817,7 +5817,7 @@ function SiteSelectorvue_type_template_id_72269392_render(_ctx, _cache, $props,
type: "hidden",
value: (_ctx$modelValue = _ctx.modelValue) === null || _ctx$modelValue === void 0 ? void 0 : _ctx$modelValue.id,
name: _ctx.name
- }, null, 8, SiteSelectorvue_type_template_id_72269392_hoisted_1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
+ }, null, 8, SiteSelectorvue_type_template_id_2c07efef_hoisted_1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
ref: "selectorLink",
onClick: _cache[0] || (_cache[0] = function () {
return _ctx.onClickSelector && _ctx.onClickSelector.apply(_ctx, arguments);
@@ -5839,7 +5839,7 @@ function SiteSelectorvue_type_template_id_72269392_render(_ctx, _cache, $props,
}, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [(_ctx$modelValue2 = _ctx.modelValue) !== null && _ctx$modelValue2 !== void 0 && _ctx$modelValue2.name || !_ctx.placeholder ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
key: 0,
textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(((_ctx$modelValue3 = _ctx.modelValue) === null || _ctx$modelValue3 === void 0 ? void 0 : _ctx$modelValue3.name) || _ctx.firstSiteName)
- }, null, 8, SiteSelectorvue_type_template_id_72269392_hoisted_3)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !((_ctx$modelValue4 = _ctx.modelValue) !== null && _ctx$modelValue4 !== void 0 && _ctx$modelValue4.name) && _ctx.placeholder ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", SiteSelectorvue_type_template_id_72269392_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.placeholder), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])], 42, SiteSelectorvue_type_template_id_72269392_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", SiteSelectorvue_type_template_id_72269392_hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", SiteSelectorvue_type_template_id_72269392_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
+ }, null, 8, SiteSelectorvue_type_template_id_2c07efef_hoisted_3)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !((_ctx$modelValue4 = _ctx.modelValue) !== null && _ctx$modelValue4 !== void 0 && _ctx$modelValue4.name) && _ctx.placeholder ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", SiteSelectorvue_type_template_id_2c07efef_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.placeholder), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])], 42, SiteSelectorvue_type_template_id_2c07efef_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", SiteSelectorvue_type_template_id_2c07efef_hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", SiteSelectorvue_type_template_id_2c07efef_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
type: "text",
onClick: _cache[2] || (_cache[2] = function ($event) {
_ctx.searchTerm = '';
@@ -5852,7 +5852,7 @@ function SiteSelectorvue_type_template_id_72269392_render(_ctx, _cache, $props,
tabindex: "4",
class: "websiteSearch inp browser-default",
placeholder: _ctx.translate('General_Search')
- }, null, 8, SiteSelectorvue_type_template_id_72269392_hoisted_7), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], _ctx.searchTerm], [_directive_focus_if, {}, _ctx.shouldFocusOnSearch]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", {
+ }, null, 8, SiteSelectorvue_type_template_id_2c07efef_hoisted_7), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], _ctx.searchTerm], [_directive_focus_if, {}, _ctx.shouldFocusOnSearch]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", {
title: "Clear",
onClick: _cache[4] || (_cache[4] = function ($event) {
_ctx.searchTerm = '';
@@ -5861,13 +5861,13 @@ function SiteSelectorvue_type_template_id_72269392_render(_ctx, _cache, $props,
}),
class: "reset",
src: "plugins/CoreHome/images/reset_search.png"
- }, null, 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.searchTerm]])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.autocompleteMinSites <= _ctx.sites.length || _ctx.searchTerm]]), _ctx.allSitesLocation === 'top' && _ctx.showAllSitesItem ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", SiteSelectorvue_type_template_id_72269392_hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_AllSitesLink, {
+ }, null, 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.searchTerm]])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.autocompleteMinSites <= _ctx.sites.length || _ctx.searchTerm]]), _ctx.allSitesLocation === 'top' && _ctx.showAllSitesItem ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", SiteSelectorvue_type_template_id_2c07efef_hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_AllSitesLink, {
href: _ctx.urlAllSites,
"all-sites-text": _ctx.allSitesText,
onClick: _cache[5] || (_cache[5] = function ($event) {
return _ctx.onAllSitesClick($event);
})
- }, null, 8, ["href", "all-sites-text"])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", SiteSelectorvue_type_template_id_72269392_hoisted_9, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("ul", {
+ }, null, 8, ["href", "all-sites-text"])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", SiteSelectorvue_type_template_id_2c07efef_hoisted_9, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("ul", {
class: "custom_select_ul_list",
onClick: _cache[7] || (_cache[7] = function ($event) {
return _ctx.showSitesList = false;
@@ -5888,8 +5888,8 @@ function SiteSelectorvue_type_template_id_72269392_render(_ctx, _cache, $props,
tabindex: "4",
href: _ctx.getUrlForSiteId(site.idsite),
title: site.name
- }, null, 8, SiteSelectorvue_type_template_id_72269392_hoisted_11)], 8, SiteSelectorvue_type_template_id_72269392_hoisted_10)), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !(!_ctx.showSelectedSite && _ctx.activeSiteId === site.idsite)]]);
- }), 128))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("ul", SiteSelectorvue_type_template_id_72269392_hoisted_12, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("li", SiteSelectorvue_type_template_id_72269392_hoisted_13, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", SiteSelectorvue_type_template_id_72269392_hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('SitesManager_NotFound') + ' ' + _ctx.searchTerm), 1)])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.sites.length && _ctx.searchTerm]])]), _ctx.allSitesLocation === 'bottom' && _ctx.showAllSitesItem ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_15, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_AllSitesLink, {
+ }, null, 8, SiteSelectorvue_type_template_id_2c07efef_hoisted_11)], 8, SiteSelectorvue_type_template_id_2c07efef_hoisted_10)), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !(!_ctx.showSelectedSite && "".concat(_ctx.activeSiteId) === "".concat(site.idsite))]]);
+ }), 128))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("ul", SiteSelectorvue_type_template_id_2c07efef_hoisted_12, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("li", SiteSelectorvue_type_template_id_2c07efef_hoisted_13, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", SiteSelectorvue_type_template_id_2c07efef_hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('SitesManager_NotFound') + ' ' + _ctx.searchTerm), 1)])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.sites.length && _ctx.searchTerm]])]), _ctx.allSitesLocation === 'bottom' && _ctx.showAllSitesItem ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_15, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_AllSitesLink, {
href: _ctx.urlAllSites,
"all-sites-text": _ctx.allSitesText,
onClick: _cache[8] || (_cache[8] = function ($event) {
@@ -5899,7 +5899,7 @@ function SiteSelectorvue_type_template_id_72269392_render(_ctx, _cache, $props,
blur: _ctx.onBlur
}]]);
}
-// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue?vue&type=template&id=72269392
+// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue?vue&type=template&id=2c07efef
// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CoreHome/vue/src/SiteSelector/AllSitesLink.vue?vue&type=template&id=45607d28
@@ -6372,7 +6372,7 @@ function debounce(fn) {
-SiteSelectorvue_type_script_lang_ts.render = SiteSelectorvue_type_template_id_72269392_render
+SiteSelectorvue_type_script_lang_ts.render = SiteSelectorvue_type_template_id_2c07efef_render
/* harmony default export */ var SiteSelector = (SiteSelectorvue_type_script_lang_ts);
// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/SiteSelector/SiteSelector.adapter.ts
@@ -6468,15 +6468,17 @@ SiteSelectorvue_type_script_lang_ts.render = SiteSelectorvue_type_template_id_72
});
if (attrs.siteid && attrs.sitename) {
- vm.modelValue = {
+ scope.value = {
id: attrs.siteid,
name: Matomo_Matomo.helper.htmlDecode(attrs.sitename)
};
+ vm.modelValue = scope.value;
} else if (Matomo_Matomo.idSite) {
- vm.modelValue = {
+ scope.value = {
id: Matomo_Matomo.idSite,
name: Matomo_Matomo.helper.htmlDecode(Matomo_Matomo.siteName)
};
+ vm.modelValue = scope.value;
} // setup ng-model mapping
diff --git a/plugins/CoreHome/vue/dist/CoreHome.umd.min.js b/plugins/CoreHome/vue/dist/CoreHome.umd.min.js
index 46595f74a7..40d28457eb 100644
--- a/plugins/CoreHome/vue/dist/CoreHome.umd.min.js
+++ b/plugins/CoreHome/vue/dist/CoreHome.umd.min.js
@@ -324,7 +324,7 @@ function On(e){return{restrict:"A",priority:10,link:function(t,n,r){var i={insta
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function Bi(e,t,n,r,i,o){var l,c,s,u,d=Object(a["resolveComponent"])("AllSitesLink"),p=Object(a["resolveDirective"])("focus-if"),m=Object(a["resolveDirective"])("focus-anywhere-but-here");return Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createElementBlock"])("div",{class:Object(a["normalizeClass"])(["siteSelector piwikSelector borderedControl",{expanded:e.showSitesList,disabled:!e.hasMultipleSites}])},[e.name?(Object(a["openBlock"])(),Object(a["createElementBlock"])("input",{key:0,type:"hidden",value:null===(l=e.modelValue)||void 0===l?void 0:l.id,name:e.name},null,8,wi)):Object(a["createCommentVNode"])("",!0),Object(a["createElementVNode"])("a",{ref:"selectorLink",onClick:t[0]||(t[0]=function(){return e.onClickSelector&&e.onClickSelector.apply(e,arguments)}),onKeydown:t[1]||(t[1]=function(t){return e.onPressEnter(t)}),href:"javascript:void(0)",class:Object(a["normalizeClass"])([{loading:e.isLoading},"title"]),tabindex:"4",title:e.selectorLinkTitle},[Object(a["createElementVNode"])("span",{class:Object(a["normalizeClass"])(["icon icon-arrow-bottom",{iconHidden:e.isLoading,collapsed:!e.showSitesList}])},null,2),Object(a["createElementVNode"])("span",null,[null!==(c=e.modelValue)&&void 0!==c&&c.name||!e.placeholder?(Object(a["openBlock"])(),Object(a["createElementBlock"])("span",{key:0,textContent:Object(a["toDisplayString"])((null===(s=e.modelValue)||void 0===s?void 0:s.name)||e.firstSiteName)},null,8,ji)):Object(a["createCommentVNode"])("",!0),null!==(u=e.modelValue)&&void 0!==u&&u.name||!e.placeholder?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createElementBlock"])("span",ki,Object(a["toDisplayString"])(e.placeholder),1))])],42,Oi),Object(a["withDirectives"])(Object(a["createElementVNode"])("div",Si,[Object(a["withDirectives"])(Object(a["createElementVNode"])("div",Ci,[Object(a["withDirectives"])(Object(a["createElementVNode"])("input",{type:"text",onClick:t[2]||(t[2]=function(t){e.searchTerm="",e.loadInitialSites()}),"onUpdate:modelValue":t[3]||(t[3]=function(t){return e.searchTerm=t}),tabindex:"4",class:"websiteSearch inp browser-default",placeholder:e.translate("General_Search")},null,8,Ei),[[a["vModelText"],e.searchTerm],[p,{},e.shouldFocusOnSearch]]),Object(a["withDirectives"])(Object(a["createElementVNode"])("img",{title:"Clear",onClick:t[4]||(t[4]=function(t){e.searchTerm="",e.loadInitialSites()}),class:"reset",src:"plugins/CoreHome/images/reset_search.png"},null,512),[[a["vShow"],e.searchTerm]])],512),[[a["vShow"],e.autocompleteMinSites<=e.sites.length||e.searchTerm]]),"top"===e.allSitesLocation&&e.showAllSitesItem?(Object(a["openBlock"])(),Object(a["createElementBlock"])("div",Di,[Object(a["createVNode"])(d,{href:e.urlAllSites,"all-sites-text":e.allSitesText,onClick:t[5]||(t[5]=function(t){return e.onAllSitesClick(t)})},null,8,["href","all-sites-text"])])):Object(a["createCommentVNode"])("",!0),Object(a["createElementVNode"])("div",Pi,[Object(a["createElementVNode"])("ul",{class:"custom_select_ul_list",onClick:t[7]||(t[7]=function(t){return e.showSitesList=!1})},[(Object(a["openBlock"])(!0),Object(a["createElementBlock"])(a["Fragment"],null,Object(a["renderList"])(e.sites,(function(n,r){return Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createElementBlock"])("li",{onClick:function(t){return e.switchSite(Object.assign(Object.assign({},n),{},{id:n.idsite}),t)},key:r},[Object(a["createElementVNode"])("a",{onClick:t[6]||(t[6]=function(e){return e.preventDefault()}),innerHTML:e.$sanitize(e.getMatchedSiteName(n.name)),tabindex:"4",href:e.getUrlForSiteId(n.idsite),title:n.name},null,8,Ni)],8,Vi)),[[a["vShow"],!(!e.showSelectedSite&&e.activeSiteId===n.idsite)]])})),128))]),Object(a["withDirectives"])(Object(a["createElementVNode"])("ul",Ti,[Object(a["createElementVNode"])("li",Ai,[Object(a["createElementVNode"])("a",Ii,Object(a["toDisplayString"])(e.translate("SitesManager_NotFound")+" "+e.searchTerm),1)])],512),[[a["vShow"],!e.sites.length&&e.searchTerm]])]),"bottom"===e.allSitesLocation&&e.showAllSitesItem?(Object(a["openBlock"])(),Object(a["createElementBlock"])("div",xi,[Object(a["createVNode"])(d,{href:e.urlAllSites,"all-sites-text":e.allSitesText,onClick:t[8]||(t[8]=function(t){return e.onAllSitesClick(t)})},null,8,["href","all-sites-text"])])):Object(a["createCommentVNode"])("",!0)],512),[[a["vShow"],e.showSitesList]])],2)),[[m,{blur:e.onBlur}]])}var Mi=["innerHTML","href"];function Li(e,t,n,r,i,o){var l=this;return Object(a["openBlock"])(),Object(a["createElementBlock"])("div",{onClick:t[1]||(t[1]=function(e){return l.onClick(e)}),class:"custom_select_all"},[Object(a["createElementVNode"])("a",{onClick:t[0]||(t[0]=function(e){return e.preventDefault()}),innerHTML:e.$sanitize(e.allSitesText),tabindex:"4",href:e.href},null,8,Mi)])}var Fi=Object(a["defineComponent"])({props:{href:String,allSitesText:String},emits:["click"],methods:{onClick:function(e){this.$emit("click",e)}}});Fi.render=Li;var Ri=Fi;function _i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hi(e,t,n){return t&&$i(e.prototype,t),n&&$i(e,n),e}function Ui(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
+ */function Bi(e,t,n,r,i,o){var l,c,s,u,d=Object(a["resolveComponent"])("AllSitesLink"),p=Object(a["resolveDirective"])("focus-if"),m=Object(a["resolveDirective"])("focus-anywhere-but-here");return Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createElementBlock"])("div",{class:Object(a["normalizeClass"])(["siteSelector piwikSelector borderedControl",{expanded:e.showSitesList,disabled:!e.hasMultipleSites}])},[e.name?(Object(a["openBlock"])(),Object(a["createElementBlock"])("input",{key:0,type:"hidden",value:null===(l=e.modelValue)||void 0===l?void 0:l.id,name:e.name},null,8,wi)):Object(a["createCommentVNode"])("",!0),Object(a["createElementVNode"])("a",{ref:"selectorLink",onClick:t[0]||(t[0]=function(){return e.onClickSelector&&e.onClickSelector.apply(e,arguments)}),onKeydown:t[1]||(t[1]=function(t){return e.onPressEnter(t)}),href:"javascript:void(0)",class:Object(a["normalizeClass"])([{loading:e.isLoading},"title"]),tabindex:"4",title:e.selectorLinkTitle},[Object(a["createElementVNode"])("span",{class:Object(a["normalizeClass"])(["icon icon-arrow-bottom",{iconHidden:e.isLoading,collapsed:!e.showSitesList}])},null,2),Object(a["createElementVNode"])("span",null,[null!==(c=e.modelValue)&&void 0!==c&&c.name||!e.placeholder?(Object(a["openBlock"])(),Object(a["createElementBlock"])("span",{key:0,textContent:Object(a["toDisplayString"])((null===(s=e.modelValue)||void 0===s?void 0:s.name)||e.firstSiteName)},null,8,ji)):Object(a["createCommentVNode"])("",!0),null!==(u=e.modelValue)&&void 0!==u&&u.name||!e.placeholder?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createElementBlock"])("span",ki,Object(a["toDisplayString"])(e.placeholder),1))])],42,Oi),Object(a["withDirectives"])(Object(a["createElementVNode"])("div",Si,[Object(a["withDirectives"])(Object(a["createElementVNode"])("div",Ci,[Object(a["withDirectives"])(Object(a["createElementVNode"])("input",{type:"text",onClick:t[2]||(t[2]=function(t){e.searchTerm="",e.loadInitialSites()}),"onUpdate:modelValue":t[3]||(t[3]=function(t){return e.searchTerm=t}),tabindex:"4",class:"websiteSearch inp browser-default",placeholder:e.translate("General_Search")},null,8,Ei),[[a["vModelText"],e.searchTerm],[p,{},e.shouldFocusOnSearch]]),Object(a["withDirectives"])(Object(a["createElementVNode"])("img",{title:"Clear",onClick:t[4]||(t[4]=function(t){e.searchTerm="",e.loadInitialSites()}),class:"reset",src:"plugins/CoreHome/images/reset_search.png"},null,512),[[a["vShow"],e.searchTerm]])],512),[[a["vShow"],e.autocompleteMinSites<=e.sites.length||e.searchTerm]]),"top"===e.allSitesLocation&&e.showAllSitesItem?(Object(a["openBlock"])(),Object(a["createElementBlock"])("div",Di,[Object(a["createVNode"])(d,{href:e.urlAllSites,"all-sites-text":e.allSitesText,onClick:t[5]||(t[5]=function(t){return e.onAllSitesClick(t)})},null,8,["href","all-sites-text"])])):Object(a["createCommentVNode"])("",!0),Object(a["createElementVNode"])("div",Pi,[Object(a["createElementVNode"])("ul",{class:"custom_select_ul_list",onClick:t[7]||(t[7]=function(t){return e.showSitesList=!1})},[(Object(a["openBlock"])(!0),Object(a["createElementBlock"])(a["Fragment"],null,Object(a["renderList"])(e.sites,(function(n,r){return Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createElementBlock"])("li",{onClick:function(t){return e.switchSite(Object.assign(Object.assign({},n),{},{id:n.idsite}),t)},key:r},[Object(a["createElementVNode"])("a",{onClick:t[6]||(t[6]=function(e){return e.preventDefault()}),innerHTML:e.$sanitize(e.getMatchedSiteName(n.name)),tabindex:"4",href:e.getUrlForSiteId(n.idsite),title:n.name},null,8,Ni)],8,Vi)),[[a["vShow"],!(!e.showSelectedSite&&"".concat(e.activeSiteId)==="".concat(n.idsite))]])})),128))]),Object(a["withDirectives"])(Object(a["createElementVNode"])("ul",Ti,[Object(a["createElementVNode"])("li",Ai,[Object(a["createElementVNode"])("a",Ii,Object(a["toDisplayString"])(e.translate("SitesManager_NotFound")+" "+e.searchTerm),1)])],512),[[a["vShow"],!e.sites.length&&e.searchTerm]])]),"bottom"===e.allSitesLocation&&e.showAllSitesItem?(Object(a["openBlock"])(),Object(a["createElementBlock"])("div",xi,[Object(a["createVNode"])(d,{href:e.urlAllSites,"all-sites-text":e.allSitesText,onClick:t[8]||(t[8]=function(t){return e.onAllSitesClick(t)})},null,8,["href","all-sites-text"])])):Object(a["createCommentVNode"])("",!0)],512),[[a["vShow"],e.showSitesList]])],2)),[[m,{blur:e.onBlur}]])}var Mi=["innerHTML","href"];function Li(e,t,n,r,i,o){var l=this;return Object(a["openBlock"])(),Object(a["createElementBlock"])("div",{onClick:t[1]||(t[1]=function(e){return l.onClick(e)}),class:"custom_select_all"},[Object(a["createElementVNode"])("a",{onClick:t[0]||(t[0]=function(e){return e.preventDefault()}),innerHTML:e.$sanitize(e.allSitesText),tabindex:"4",href:e.href},null,8,Mi)])}var Fi=Object(a["defineComponent"])({props:{href:String,allSitesText:String},emits:["click"],methods:{onClick:function(e){this.$emit("click",e)}}});Fi.render=Li;var Ri=Fi;function _i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hi(e,t,n){return t&&$i(e.prototype,t),n&&$i(e,n),e}function Ui(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
/*!
* Matomo - free/libre analytics platform
*
@@ -336,7 +336,7 @@ function On(e){return{restrict:"A",priority:10,link:function(t,n,r){var i={insta
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */kt({component:Yi,require:"?ngModel",scope:{showSelectedSite:{angularJsBind:"="},showAllSitesItem:{angularJsBind:"="},switchSiteOnSelect:{angularJsBind:"="},onlySitesWithAdminAccess:{angularJsBind:"="},name:{angularJsBind:"@"},allSitesText:{angularJsBind:"@"},allSitesLocation:{angularJsBind:"@"},placeholder:{angularJsBind:"@"},modelValue:{default:function(e,t,n){return n.siteid&&n.sitename?{id:n.siteid,name:S.helper.htmlDecode(n.sitename)}:S.idSite?{id:S.idSite,name:S.helper.htmlDecode(S.siteName)}:void 0}}},$inject:["$timeout"],directiveName:"piwikSiteselector",events:{"update:modelValue":function(e,t,n,r,i,a,o){(e&&!t.modelValue||!e&&t.modelValue||e.id!==t.modelValue.id)&&o((function(){n.value=e,r.attr("siteid",e.id),r.trigger("change",e),a&&(a.$setViewValue(e),a.$render())}))},blur:function(e,t,n){setTimeout((function(){return n.$apply()}))}},postCreate:function(e,t,n,r,i){var o=i;t.$watch("value",(function(t){Object(a["nextTick"])((function(){t!==e.modelValue&&(e.modelValue=t)}))})),r.siteid&&r.sitename?e.modelValue={id:r.siteid,name:S.helper.htmlDecode(r.sitename)}:S.idSite&&(e.modelValue={id:S.idSite,name:S.helper.htmlDecode(S.siteName)}),o&&(o.$setViewValue(e.modelValue),o.$render=function(){Object(a["nextTick"])((function(){Object(a["nextTick"])((function(){window.angular.isString(o.$viewValue)?e.modelValue=JSON.parse(o.$viewValue):e.modelValue=o.$viewValue}))}))})}});
+ */kt({component:Yi,require:"?ngModel",scope:{showSelectedSite:{angularJsBind:"="},showAllSitesItem:{angularJsBind:"="},switchSiteOnSelect:{angularJsBind:"="},onlySitesWithAdminAccess:{angularJsBind:"="},name:{angularJsBind:"@"},allSitesText:{angularJsBind:"@"},allSitesLocation:{angularJsBind:"@"},placeholder:{angularJsBind:"@"},modelValue:{default:function(e,t,n){return n.siteid&&n.sitename?{id:n.siteid,name:S.helper.htmlDecode(n.sitename)}:S.idSite?{id:S.idSite,name:S.helper.htmlDecode(S.siteName)}:void 0}}},$inject:["$timeout"],directiveName:"piwikSiteselector",events:{"update:modelValue":function(e,t,n,r,i,a,o){(e&&!t.modelValue||!e&&t.modelValue||e.id!==t.modelValue.id)&&o((function(){n.value=e,r.attr("siteid",e.id),r.trigger("change",e),a&&(a.$setViewValue(e),a.$render())}))},blur:function(e,t,n){setTimeout((function(){return n.$apply()}))}},postCreate:function(e,t,n,r,i){var o=i;t.$watch("value",(function(t){Object(a["nextTick"])((function(){t!==e.modelValue&&(e.modelValue=t)}))})),r.siteid&&r.sitename?(t.value={id:r.siteid,name:S.helper.htmlDecode(r.sitename)},e.modelValue=t.value):S.idSite&&(t.value={id:S.idSite,name:S.helper.htmlDecode(S.siteName)},e.modelValue=t.value),o&&(o.$setViewValue(e.modelValue),o.$render=function(){Object(a["nextTick"])((function(){Object(a["nextTick"])((function(){window.angular.isString(o.$viewValue)?e.modelValue=JSON.parse(o.$viewValue):e.modelValue=o.$viewValue}))}))})}});
/*!
* Matomo - free/libre analytics platform
*
diff --git a/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.adapter.ts b/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.adapter.ts
index a29f6c4a1f..68edc0d5ff 100644
--- a/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.adapter.ts
+++ b/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.adapter.ts
@@ -98,12 +98,14 @@ export default createAngularJsAdapter<[ITimeoutService]>({
});
if (attrs.siteid && attrs.sitename) {
- vm.modelValue = { id: attrs.siteid, name: Matomo.helper.htmlDecode(attrs.sitename) };
+ scope.value = { id: attrs.siteid, name: Matomo.helper.htmlDecode(attrs.sitename) };
+ vm.modelValue = scope.value;
} else if (Matomo.idSite) {
- vm.modelValue = {
+ scope.value = {
id: Matomo.idSite,
name: Matomo.helper.htmlDecode(Matomo.siteName),
};
+ vm.modelValue = scope.value;
}
// setup ng-model mapping
diff --git a/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue b/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue
index ab537111ab..a255203521 100644
--- a/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue
+++ b/plugins/CoreHome/vue/src/SiteSelector/SiteSelector.vue
@@ -80,7 +80,7 @@
>
<li
@click="switchSite({ ...site, id: site.idsite }, $event)"
- v-show="!(!showSelectedSite && activeSiteId === site.idsite)"
+ v-show="!(!showSelectedSite && `${activeSiteId}` === `${site.idsite}`)"
v-for="(site, index) in sites"
:key="index"
>
diff --git a/plugins/CustomDimensions/tests/System/expected/test___API.getReportPagesMetadata.xml b/plugins/CustomDimensions/tests/System/expected/test___API.getReportPagesMetadata.xml
index 6a48012830..176a710136 100644
--- a/plugins/CustomDimensions/tests/System/expected/test___API.getReportPagesMetadata.xml
+++ b/plugins/CustomDimensions/tests/System/expected/test___API.getReportPagesMetadata.xml
@@ -111,7 +111,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Visit Number</name>
+ <name>Visits by visit number</name>
<module>VisitorInterest</module>
<action>getNumberOfVisitsByVisitCount</action>
<order>125</order>
@@ -125,7 +125,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Days Since Last Visit</name>
+ <name>Visits by days since last visit</name>
<module>VisitorInterest</module>
<action>getNumberOfVisitsByDaysSinceLast</action>
<order>130</order>
@@ -1325,7 +1325,7 @@
<id>VisitTime_SubmenuTimes</id>
<name>Times</name>
<order>35</order>
- <help>&lt;p&gt;The Times section shows you when people are visiting your site. You can see the most popular local times your users visit at, so you can understand where your site fits into their life. Additionally, it shows the most popular server times, which can reveal demands on your technology stack.&lt;/p&gt;</help>
+ <help>&lt;p&gt;The &quot;Times&quot; section shows when people visit your site. Popular local times helps you cater your site to their lives. The most popular server times reveals technical demand.&lt;/p&gt;</help>
</subcategory>
<widgets>
<row>
@@ -1357,7 +1357,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Day of Week</name>
+ <name>Visits by day of the week</name>
<module>VisitTime</module>
<action>getByDayOfWeek</action>
<order>125</order>
diff --git a/plugins/CustomDimensions/tests/System/expected/test___API.getSegmentsMetadata.xml b/plugins/CustomDimensions/tests/System/expected/test___API.getSegmentsMetadata.xml
index e31da68ba6..324d84256f 100644
--- a/plugins/CustomDimensions/tests/System/expected/test___API.getSegmentsMetadata.xml
+++ b/plugins/CustomDimensions/tests/System/expected/test___API.getSegmentsMetadata.xml
@@ -33,7 +33,7 @@
<row>
<type>metric</type>
<category>Visitors</category>
- <name>Local time - minute (Start of visit)</name>
+ <name>Local time — minute (start of visit)</name>
<segment>visitLocalMinute</segment>
</row>
<row>
@@ -138,7 +138,7 @@
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Local time - hour (Start of visit)</name>
+ <name>Local time — hour (start of visit)</name>
<segment>visitLocalHour</segment>
</row>
<row>
@@ -192,79 +192,79 @@
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Site time - hour (Start of visit)</name>
+ <name>Site time — hour (start of visit)</name>
<segment>visitStartServerHour</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Site time - hour (Time of last action)</name>
+ <name>Site time — hour (time of last action)</name>
<segment>visitServerHour</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - date (Time of last action)</name>
+ <name>Time in UTC — date (time of last action)</name>
<segment>visitEndServerDate</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - day of month (Time of last action)</name>
+ <name>Time in UTC — day of month (time of last action)</name>
<segment>visitEndServerDayOfMonth</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - day of week (Time of last action)</name>
+ <name>Time in UTC — day of week (time of last action)</name>
<segment>visitEndServerDayOfWeek</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - day of year (Time of last action)</name>
+ <name>Time in UTC — day of year (time of last action)</name>
<segment>visitEndServerDayOfYear</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - minute (Start of visit)</name>
+ <name>Time in UTC — minute (start of visit)</name>
<segment>visitStartServerMinute</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - minute (Time of last action)</name>
+ <name>Time in UTC — minute (time of last action)</name>
<segment>visitEndServerMinute</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - month (Time of last action)</name>
+ <name>Time in UTC — month (time of last action)</name>
<segment>visitEndServerMonth</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - quarter (Time of last action)</name>
+ <name>Time in UTC — quarter (time of last action)</name>
<segment>visitEndServerQuarter</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - second (Time of last action)</name>
+ <name>Time in UTC — second (Time of last action)</name>
<segment>visitEndServerSecond</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - week of year (Time of last action)</name>
+ <name>Time in UTC — week of year (time of last action)</name>
<segment>visitEndServerWeekOfYear</segment>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - year (Time of last action)</name>
+ <name>Time in UTC — year (time of last action)</name>
<segment>visitEndServerYear</segment>
</row>
<row>
@@ -441,13 +441,13 @@
<row>
<type>dimension</type>
<category>Behaviour</category>
- <name>Site time - hour</name>
+ <name>Site time — hour</name>
<segment>actionServerHour</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
- <name>Time in UTC - minute</name>
+ <name>Time in UTC — minute</name>
<segment>actionServerMinute</segment>
</row>
</result> \ No newline at end of file
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_small_screen.png b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_small_screen.png
index 31f26f3197..4d95521ccd 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_small_screen.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_small_screen.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c8200a233b30a708b15d95ad1266d3b02b8571858c4056f809a183cbd15b2ce6
-size 240977
+oid sha256:520a88356a74fca41d8599b36ce60a629c6a67f1a845c3a6c2e41e64ccfbb532
+size 240774
diff --git a/plugins/DeviceDetectorCache b/plugins/DeviceDetectorCache
-Subproject 86a895429c30310ec507cc1012610ce39f62b0d
+Subproject e7ddda820a6b45552b0f963f318338bf2ef8754
diff --git a/plugins/DevicesDetection/Columns/Base.php b/plugins/DevicesDetection/Columns/Base.php
index 5c3a073c91..a28b7de08a 100644
--- a/plugins/DevicesDetection/Columns/Base.php
+++ b/plugins/DevicesDetection/Columns/Base.php
@@ -14,8 +14,8 @@ use Piwik\Plugin\Dimension\VisitDimension;
abstract class Base extends VisitDimension
{
- protected function getUAParser($userAgent)
+ protected function getUAParser($userAgent, $clientHints)
{
- return StaticContainer::get(DeviceDetectorFactory::class)->makeInstance($userAgent);
+ return StaticContainer::get(DeviceDetectorFactory::class)->makeInstance($userAgent, $clientHints);
}
}
diff --git a/plugins/DevicesDetection/Columns/BrowserEngine.php b/plugins/DevicesDetection/Columns/BrowserEngine.php
index d69d70c976..0e5cfd453c 100644
--- a/plugins/DevicesDetection/Columns/BrowserEngine.php
+++ b/plugins/DevicesDetection/Columns/BrowserEngine.php
@@ -37,8 +37,7 @@ class BrowserEngine extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
$aBrowserInfo = $parser->getClient();
diff --git a/plugins/DevicesDetection/Columns/BrowserName.php b/plugins/DevicesDetection/Columns/BrowserName.php
index 69ff56a235..8acaaed039 100644
--- a/plugins/DevicesDetection/Columns/BrowserName.php
+++ b/plugins/DevicesDetection/Columns/BrowserName.php
@@ -76,8 +76,7 @@ class BrowserName extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
$aBrowserInfo = $parser->getClient();
diff --git a/plugins/DevicesDetection/Columns/BrowserVersion.php b/plugins/DevicesDetection/Columns/BrowserVersion.php
index 9b2de1de0b..a57bf30593 100644
--- a/plugins/DevicesDetection/Columns/BrowserVersion.php
+++ b/plugins/DevicesDetection/Columns/BrowserVersion.php
@@ -32,8 +32,7 @@ class BrowserVersion extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
$aBrowserInfo = $parser->getClient();
diff --git a/plugins/DevicesDetection/Columns/ClientType.php b/plugins/DevicesDetection/Columns/ClientType.php
index 489221bb3e..da1066be71 100644
--- a/plugins/DevicesDetection/Columns/ClientType.php
+++ b/plugins/DevicesDetection/Columns/ClientType.php
@@ -48,8 +48,7 @@ class ClientType extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
$clientTypes = \Piwik\Plugins\DevicesDetection\getClientTypeMapping();
diff --git a/plugins/DevicesDetection/Columns/DeviceBrand.php b/plugins/DevicesDetection/Columns/DeviceBrand.php
index befb4dc75b..683508e431 100644
--- a/plugins/DevicesDetection/Columns/DeviceBrand.php
+++ b/plugins/DevicesDetection/Columns/DeviceBrand.php
@@ -57,8 +57,7 @@ class DeviceBrand extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
return $parser->getBrand();
}
diff --git a/plugins/DevicesDetection/Columns/DeviceModel.php b/plugins/DevicesDetection/Columns/DeviceModel.php
index 98f2c9fb18..6bb3626dca 100644
--- a/plugins/DevicesDetection/Columns/DeviceModel.php
+++ b/plugins/DevicesDetection/Columns/DeviceModel.php
@@ -30,8 +30,7 @@ class DeviceModel extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
$model = $parser->getModel();
diff --git a/plugins/DevicesDetection/Columns/DeviceType.php b/plugins/DevicesDetection/Columns/DeviceType.php
index a59974368d..a069b485cd 100644
--- a/plugins/DevicesDetection/Columns/DeviceType.php
+++ b/plugins/DevicesDetection/Columns/DeviceType.php
@@ -50,8 +50,7 @@ class DeviceType extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
return $parser->getDevice();
}
diff --git a/plugins/DevicesDetection/Columns/Os.php b/plugins/DevicesDetection/Columns/Os.php
index 63ed9c342e..48c617de09 100644
--- a/plugins/DevicesDetection/Columns/Os.php
+++ b/plugins/DevicesDetection/Columns/Os.php
@@ -78,8 +78,7 @@ class Os extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
if ($parser->isBot()) {
$os = Settings::OS_BOT;
diff --git a/plugins/DevicesDetection/Columns/OsVersion.php b/plugins/DevicesDetection/Columns/OsVersion.php
index 6df88cd832..e9d063cc8f 100644
--- a/plugins/DevicesDetection/Columns/OsVersion.php
+++ b/plugins/DevicesDetection/Columns/OsVersion.php
@@ -30,8 +30,7 @@ class OsVersion extends Base
*/
public function onNewVisit(Request $request, Visitor $visitor, $action)
{
- $userAgent = $request->getUserAgent();
- $parser = $this->getUAParser($userAgent);
+ $parser = $this->getUAParser($request->getUserAgent(), $request->getClientHints());
return $parser->getOs('version');
}
diff --git a/plugins/DevicesDetection/Controller.php b/plugins/DevicesDetection/Controller.php
index d74ba9d527..dff2b25d67 100644
--- a/plugins/DevicesDetection/Controller.php
+++ b/plugins/DevicesDetection/Controller.php
@@ -8,6 +8,7 @@
*/
namespace Piwik\Plugins\DevicesDetection;
+use DeviceDetector\ClientHints;
use DeviceDetector\DeviceDetector;
use Piwik\Common;
use Piwik\Piwik;
@@ -25,11 +26,13 @@ class Controller extends \Piwik\Plugin\Controller
ControllerAdmin::setBasicVariablesAdminView($view);
$userAgent = Common::getRequestVar('ua', $_SERVER['HTTP_USER_AGENT'], 'string');
+ $clientHints = Common::getRequestVar('clienthints', '', 'json');
- $uaParser = new DeviceDetector($userAgent);
+ $uaParser = new DeviceDetector($userAgent, is_array($clientHints) ? ClientHints::factory($clientHints) : null);
$uaParser->parse();
$view->userAgent = $userAgent;
+ $view->clientHints = $clientHints;
$view->bot_info = $uaParser->getBot();
$view->browser_name = $uaParser->getClient('name');
$view->browser_short_name = $uaParser->getClient('short_name');
diff --git a/plugins/DevicesDetection/lang/en.json b/plugins/DevicesDetection/lang/en.json
index acec477774..b1a18c7a83 100644
--- a/plugins/DevicesDetection/lang/en.json
+++ b/plugins/DevicesDetection/lang/en.json
@@ -22,6 +22,9 @@
"dataTableLabelTypes": "Type",
"ClientType": "Client type",
"ClientTypes": "Client types",
+ "ClientHints": "Client Hints",
+ "ClientHintsNotSupported": "Your Browser does not support client hints.",
+ "ConsiderClientHints": "Consider Client Hints",
"Device": "Device",
"DeviceBrand": "Device brand",
"DeviceBrands": "Device brands",
diff --git a/plugins/DevicesDetection/templates/detection.twig b/plugins/DevicesDetection/templates/detection.twig
index 399e6434c5..28213e81f8 100644
--- a/plugins/DevicesDetection/templates/detection.twig
+++ b/plugins/DevicesDetection/templates/detection.twig
@@ -6,6 +6,36 @@
<script type="text/javascript">
+ var clientHints = {};
+
+ $(document).ready(function() {
+ if (!navigator.userAgentData || typeof navigator.userAgentData.getHighEntropyValues !== 'function') {
+ $('#noclienthints').css({display: 'inline-block'});
+ $('[name=clienthints],.usech').hide();
+ } else {
+ // Initialize with low entropy values that are always available
+ clientHints = {
+ brands: navigator.userAgentData.brands,
+ platform: navigator.userAgentData.platform
+ };
+
+ // try to gather high entropy values
+ // currently this methods simply returns the requested values through a Promise
+ // In later versions it might require a user permission
+ navigator.userAgentData.getHighEntropyValues(
+ ['brands', 'model', 'platform', 'platformVersion', 'uaFullVersion', 'fullVersionList']
+ ).then(function (ua) {
+ if (ua.fullVersionList) {
+ // if fullVersionList is available, brands and uaFullVersion isn't needed
+ delete ua.brands;
+ delete ua.uaFullVersion;
+ }
+
+ clientHints = ua;
+ });
+ }
+ });
+
function showList(type) {
var ajaxHandler = new ajaxHelper();
ajaxHandler.addParams({
@@ -22,6 +52,15 @@
ajaxHandler.send();
}
+ function toggleClientHints() {
+ $('[name=clienthints]').toggle();
+ if ($('[name=clienthints]:visible').length) {
+ $('[name=clienthints]').text().length || $('[name=clienthints]').text(JSON.stringify(clientHints));
+ } else {
+ $('[name=clienthints]').text('');
+ }
+ }
+
</script>
<style type="text/css">
@@ -42,11 +81,26 @@
</style>
<div piwik-content-block content-title="{{ title|e('html_attr') }}">
- <h3>{{ 'DevicesDetection_UserAgent'|translate|e('html_attr') }}</h3>
-
<form action="{{ linkTo({}) }}" method="POST">
+
+ <h3>{{ 'DevicesDetection_UserAgent'|translate }}</h3>
+
<textarea name="ua">{{ userAgent }}</textarea>
- <br />
+
+ <h3>{{ 'DevicesDetection_ClientHints'|translate }}</h3>
+
+ <span class="checkbox-container usech">
+ <label>
+ <input type="checkbox" id="usech" {% if clientHints %}checked{% endif %} onchange="toggleClientHints()"/>
+ <span>{{ 'DevicesDetection_ConsiderClientHints'|translate }}</span>
+ </label>
+ </span>
+
+ <textarea name="clienthints" style="margin-top: 2em; {% if not clientHints %}display: none{% endif %}">{% if clientHints %}{{ clientHints|json_encode }}{% endif %}</textarea>
+
+ <span id="noclienthints" class="alert alert-warning" style="display: none">{{ 'DevicesDetection_ClientHintsNotSupported'|translate }}</span>
+
+ <br /><br />
<input type="submit" value="{{ 'General_Refresh'|translate }}" class="btn" />
</form>
diff --git a/plugins/DevicesDetection/tests/Fixtures/MultiDeviceGoalConversions.php b/plugins/DevicesDetection/tests/Fixtures/MultiDeviceGoalConversions.php
index dca57f9897..b4d38249e2 100644
--- a/plugins/DevicesDetection/tests/Fixtures/MultiDeviceGoalConversions.php
+++ b/plugins/DevicesDetection/tests/Fixtures/MultiDeviceGoalConversions.php
@@ -159,6 +159,8 @@ class MultiDeviceGoalConversions extends Fixture
$t = self::getTracker($this->idSite, $this->getAdjustedDateTime(1.6), $defaultInit = true);
$t->setUserAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; Banca Caboto s.p.a.; rv:11.0) like Gecko');
+ // The client hints below should change the OS to Windows 11 and browser to Edge 95.5.2
+ $t->setClientHints('', 'Windows', '14.0.0', '" Not A;Brand";v="99", "Chromium";v="95", "Microsoft Edge";v="95"', '95.5.2');
$t->setUrl('http://example.org/index.htm');
self::checkResponse($t->doTrackPageView('0'));
diff --git a/plugins/DevicesDetection/tests/System/GoalReportForDevicesTest.php b/plugins/DevicesDetection/tests/System/GoalReportForDevicesTest.php
index 475158055c..8b9e862309 100644
--- a/plugins/DevicesDetection/tests/System/GoalReportForDevicesTest.php
+++ b/plugins/DevicesDetection/tests/System/GoalReportForDevicesTest.php
@@ -1,10 +1,12 @@
<?php
+
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
+
namespace Piwik\Plugins\DevicesDetection\tests\System;
use Piwik\Plugins\DevicesDetection\tests\Fixtures\MultiDeviceGoalConversions;
@@ -34,11 +36,12 @@ class GoalReportForDevicesTest extends SystemTestCase
$idSite = self::$fixture->idSite;
$dateTime = self::$fixture->dateTime;
- return array(
- array('DevicesDetection.getType', array('idSite' => $idSite, 'date' => $dateTime)),
- array('DevicesDetection.getBrand', array('idSite' => $idSite, 'date' => $dateTime)),
- array('DevicesDetection.getModel', array('idSite' => $idSite, 'date' => $dateTime)),
- );
+ return [
+ ['DevicesDetection.getType', ['idSite' => $idSite, 'date' => $dateTime]],
+ ['DevicesDetection.getOsVersions', ['idSite' => $idSite, 'date' => $dateTime]],
+ ['DevicesDetection.getBrand', ['idSite' => $idSite, 'date' => $dateTime]],
+ ['DevicesDetection.getModel', ['idSite' => $idSite, 'date' => $dateTime]],
+ ];
}
/**
@@ -50,4 +53,4 @@ class GoalReportForDevicesTest extends SystemTestCase
}
}
-GoalReportForDevicesTest::$fixture = new MultiDeviceGoalConversions(); \ No newline at end of file
+GoalReportForDevicesTest::$fixture = new MultiDeviceGoalConversions();
diff --git a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getOsVersions_day.xml b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getOsVersions_day.xml
new file mode 100644
index 0000000000..b64d346b97
--- /dev/null
+++ b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getOsVersions_day.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <label>Unknown</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>3</nb_visits>
+ <nb_actions>2</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>3</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <nb_visits_converted>1</nb_visits_converted>
+ <segment>operatingSystemCode==UNK;operatingSystemVersion==UNK</segment>
+ <logo>plugins/Morpheus/icons/dist/os/UNK.png</logo>
+ </row>
+ <row>
+ <label>Android 4.2</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_actions>3</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>2</max_actions>
+ <sum_visit_length>721</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>1</nb_visits_converted>
+ <segment>operatingSystemCode==AND;operatingSystemVersion==4.2</segment>
+ <logo>plugins/Morpheus/icons/dist/os/AND.png</logo>
+ </row>
+ <row>
+ <label>iOS 6.0</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>3</sum_visit_length>
+ <bounce_count>2</bounce_count>
+ <nb_visits_converted>1</nb_visits_converted>
+ <segment>operatingSystemCode==IOS;operatingSystemVersion==6.0</segment>
+ <logo>plugins/Morpheus/icons/dist/os/IOS.png</logo>
+ </row>
+ <row>
+ <label>iOS 7.1</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>3</sum_visit_length>
+ <bounce_count>2</bounce_count>
+ <nb_visits_converted>1</nb_visits_converted>
+ <segment>operatingSystemCode==IOS;operatingSystemVersion==7.1</segment>
+ <logo>plugins/Morpheus/icons/dist/os/IOS.png</logo>
+ </row>
+ <row>
+ <label>Android 2.3</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>1084</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>1</nb_visits_converted>
+ <segment>operatingSystemCode==AND;operatingSystemVersion==2.3</segment>
+ <logo>plugins/Morpheus/icons/dist/os/AND.png</logo>
+ </row>
+ <row>
+ <label>Java ME</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>724</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>1</nb_visits_converted>
+ <segment>operatingSystemCode==JME;operatingSystemVersion==</segment>
+ <logo>plugins/Morpheus/icons/dist/os/UNK.png</logo>
+ </row>
+ <row>
+ <label>Windows 11</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>1084</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>1</nb_visits_converted>
+ <segment>operatingSystemCode==WIN;operatingSystemVersion==11</segment>
+ <logo>plugins/Morpheus/icons/dist/os/WIN.png</logo>
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml
index 08b580c397..2999f23e34 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml
@@ -8,7 +8,7 @@
<name>Visits per hour in the site's timezone</name>
<module>VisitTime</module>
<action>getVisitInformationPerServerTime</action>
- <dimension>Site time - hour (Start of visit)</dimension>
+ <dimension>Site time — hour (start of visit)</dimension>
<documentation>This graph shows what time it was in the &lt;strong&gt; site's time zone &lt;/strong&gt; during the visits.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
@@ -43,7 +43,7 @@
<uniqueId>VisitTime_getVisitInformationPerServerTime</uniqueId>
</metadata>
<columns>
- <label>Site time - hour (Start of visit)</label>
+ <label>Site time — hour (start of visit)</label>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
<nb_actions>Actions</nb_actions>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html
index 5d5182028f..2c0fa99e4a 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html
@@ -150,7 +150,7 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitTime_getByDayOfWeek" style="text-decoration:none; color: #0d0d0d;">
- Visits by Day of Week
+ Visits by day of the week
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -265,17 +265,17 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerVisitDuration" style="text-decoration:none; color: #0d0d0d;">
- Length of Visits
+ Length of visits
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerPage" style="text-decoration:none; color: #0d0d0d;">
- Pages per Visit
+ Pages per visit
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsByVisitCount" style="text-decoration:none; color: #0d0d0d;">
- Visits by Visit Number
+ Visits by visit number
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -1961,7 +1961,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Local time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Local time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -2558,7 +2558,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Site time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Site time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -3140,7 +3140,7 @@
</a></p>
<h2 id="VisitTime_getByDayOfWeek" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Day of Week
+ Visits by day of the week
</h2>
<img alt=""
@@ -4198,11 +4198,11 @@
There is no data for this report.
<h2 id="VisitorInterest_getNumberOfVisitsPerVisitDuration" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Length of Visits
+ Length of visits
</h2>
<img alt=""
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAADICAIAAACF9KXqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJrElEQVR4nO3dz28baRkHcDdJRRq2LYpWSpRAq8Zi0x8SQi0VhxVIIE6LhLTixnUlQJwQRyTEAbQrxL8AQuwF8QegigMnBBwKJ6S0KnKr7RKrEVK7TaIoZSHmYOFM7Nh+Oh7PO+N+PofI45mxn8d2xl+/M2Of6XQ6DQCAceZSFwAA1IPQAACECA0AQIjQAACECA0AQIjQAACElBcams3msCtPnTViLQCgfJUYaWi1WmNnSQ8AkFZ5oaHVavW98TebzRFxAQColIVib+7dX/6175ofvvOFsWv10kM2VfSu6aWN3ty+/CF5AEAJCg4N//hw9+OPP+5Nnj17dnt7e319PbJu38BDdrKbErK7KoYtCQBMSfG7Jw4yGo1Gu93uzcqOEIx9p4/nAIkBAEpQiQMhu7qRInLAY3xJAKAoBe+emFD2yIbIOERkSQCgEMWHhqWlpRFze3soxp5mGTlSIb4kADChgkPD219ttre3860bf++XEgCgfAWHhm98+XKjcTnfuqNPpMzOdcolAJTvTKfTSV0DAFADFTp7AgCoMqEBAAgRGgCAEKEBAAgRGgCAkBOnXDqPEQAY5jg0+OlIAGCE490TIgIAMIJjGgCAkNO/Rjq7b2L75G9J7OzsrK6uTr0uAHL53Z/+mbqE/L7+5qdTl8Ao/aHBj00D1Nfu/r/v/DnnrwZWwYVPnv3S51dSV8FQ/WdPDMaF9fX1EZMAVMe53cPUJUzk4sWLa2trqatgqONjGpwuAQCMMPR7Ghp2UgAAGcehQUQAAEZwyiUAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAhQgMAECI0AAAh/aGh2Ww2m80kpQAAVXYiNDSbzVarlaoUAKDKToQGiQEAGMYxDQBAyMLYJZ4/f56d3N/fv3DhwtTqAWrj3qOnqUvI6dqV5dQlTMv+/ovUJUzkxeGLvb297DWz9DKbgV7Gh4Z2u52dfPTokSMlgXfff7B38J/UVeT0vbevfGblXOoqpqK+T0rXR88/arePh8Dfv/P43gf7CeuZxE+/fW1+7kxv8v4He7++82HCeibx3nevdy+MDw3Xrl0bMQm8mhYWHjYadX1/unz50mcvz+Zgw7Pdw0bjQeoq8ltZWdnc3OhNvvbHp41GXUPD5htvzM8fB6D9/z5pNOoaGjY3N7sXHNMAAIScGGno7XfoXnAyBQDQcyI0SAkAwDB2TwAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABAiNAAAIUIDABCykJ1oNpu9y61Wq/RiAIDqOg4NzWYzGxT6JgGAV5zdEwBAiNAAAIQsjF9kiHd+fOeo0ymwlDL9/Adfef1T53qTv/39vb8/+FfCeiZxvfn6t9663pt8tnv4/Z/9IWE9k5ibO/Orn7yVvea9X/zl2e5hqnom9M2vbX7xc2u9yb9tPfnNna2E9Uzi4muf+NF33kxdxbTM0hYApupM5/9v/MOOabh79252hfv371+/PvUX6MOHD1dXV5eWlqZ9RyV4+vTp4eHh2tra+EXrYGtrq4QXQDna7fbi4uLy8nLqQgpwcHDw5MmTjY2N1IUUwxagsra2tq5evTo3Nwuj1LYAOYwfabh9+/aIySlZXFy8dOnS+fPnS7ivadvZ2Tk4OLhy5UrqQopxdHR069at1FUUY3l5eWlpaWVlJXUhBdjb23v8+PGNGzdSF1IMW4DKOjo6unnz5vz8fOpCCmALkMMspEUAoATHIw2tVsv3NAAAw5zYPSEoAADD2D0BAIQcnz0BADBC/u9pyCFyzER3mb6TP8euVabBCodd2Te3q7dMFfoaVsPodrIrVqGdHA9+/JaT9NI1+q5z1Jbwu+FPvetss10vVV4J7QQrLHarVXhf+crrW6siT1aOqgrf/E7phVfa28Sk9XfKsrGxMWIye2V2VmStMg1WOOzKvrmRWyjZsBpGt3PqrITt5HjwKyte7cbGRsV7yQpWW/2O6rjVylfe2LWSyFFVZTe/fepSZ6fTKXWkYax4/Bn8pFuOU+9udA0vm8dzrJXPsLso8ANuCe1M+OD3Bfm+grvN9v4GbzO34C331dM3K3tradsZW+3gYoNX9i4nb2fYKz/HPZbZV74Vq9lUjqrytV/+Cy/fAx4cXi22/mqFhqBZ/QXOuvQVHDGrSzvZkcBTL4+eVbKx916pdia/8Uq1U6A69jX2Hz9JU1PaMVrHJyhrevXXMjTUUaqhkbFyFDbsZVdxk5Rafo/DPnkXUkk57cSrnbCvEtpJ8jqv1H9WXzG5H5BimwpWNaXNb+FPUMlvE/nuJXFoyPcY9QZVKvVPlTXYVyTQJekrUli9nqbBaiv+aukz7FCv3tBidsmKNzVYbWXTc9wMtDBolprKt/mtgpfaGjcSPWuJQ8OEn/wq+wqYsb7q1U5RH4mSGKw2O1mvMZ5Tq53e8Mn09FVY8WrzmaWmZqmXQckDkC93mrqxh4ClUtnCClT9N6SselXLK6Wam4vIAbblVDKhutTZKHOkoRX4bYveAr0R2lPXSjiSNljhsCt7Tm2hCn0Ne0bq1c7oahsD/40Vf1euV7WTq35OGlthcKuVSr7yqtlUjqri26u06lJnwzdCAgBBdk8AACFCAwAQ8j8Uq0zrDVwPVAAAAABJRU5ErkJggg=="
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAADICAIAAACF9KXqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJx0lEQVR4nO3d72sceR0H8G2SYhqvrYSDhERbmsFLf4BIa/HBoaD46ATh8JlPD1R8JD4UxAfKHXL/wol4T8Q/QIoPfCTqg+ojIS2VbbmeWRqE9pqEkFrN+iC4mezu7H52dnZmdvt6PSg7uzM7n093dvad78zsnmm32w0AgGHmqi4AAJgOQgMAECI0AAAhQgMAECI0AAAhQgMAEFJeaEiSJOvOvg8NWAoAKF8tRhqazebQh6QHAKhWeaGh2Wx2ffAnSTIgLgAAtbJQ7NO9+8u/dt3z43e+NHSpTnpIp4rOPZ200Xm0K39IHgBQgoJDwz8+3n358mVn8uzZs9vb2+vr65FluwYe0pPHKSF9qCJrTgBgQoo/PHGQ0mg0Wq1W56H0CMHQT/p4DpAYAKAEtTgR8thxpIic8BifEwAoSsGHJ8aUPrMhMg4RmRMAKETxoWFpaWnAo50jFEMvs4ycqRCfEwAYU8Gh4e2vJ63t7XzLxj/7pQQAKF/BoeFbX73caFzOt+zgCynTj7rkEgDKd6bdblddAwAwBWp09QQAUGdCAwAQIjQAACFCAwAQIjQAACGnLrl0HSMAkOUkNPjpSABggJPDEyICADCAcxoAgJD+XyOdPjaxffq3JHZ2dlZXVydeFwC5/O5P/6y6hPy++eZnqy6BQbpDgx+bBpheu/v/vvPnnL8aWAcXPn32K19cqboKMnVfPdEbF9bX1wdMAlAf53YPqy5hLBcvXlxbW6u6CjKdnNPgcgkAYIDM72loOEgBAKSchAYRAQAYwCWXAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhAgNAECI0AAAhHSHhiRJkiSppBQAoM5OhYYkSZrNZlWlAAB1dio0SAwAQBbnNAAAIQtD53j+/Hl6cn9//8KFCxOrB5ga9x49rbqEnK5dWa66hEnZ339RdQljeXH4Ym9vL33PLG1mM9DL8NDQarXSk48ePXKmJPDuhw/2Dv5TdRU5/eDtK59bOVd1FRMxvS/KsU+ef9JqnQyBf3jn8b2P9iusZxw//+61+bkzncn7H+39+s7HFdYzjve+f/34xvDQcO3atQGTwKtpYeFhozGtn0+XL1/6/OXZHGx4tnvYaDyouor8VlZWNjc3OpOv/fFpozGtoWHzjTfm508C0P5/nzQa0xoaNjc3j284pwEACDk10tA57nB8w8UUAEDHqdAgJQAAWRyeAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIERoAABChAYAIGQhPZEkSed2s9ksvRgAoL5OQkOSJOmg0DUJALziHJ4AAEKEBgAgZGH4LBne+emdo3a7wFLK9P6Pvvb6Z851Jn/7+3t/f/CvCusZx/Xk9e+8db0z+Wz38Ie/+EOF9Yxjbu7Mr372Vvqe9z74y7Pdw6rqGdO3v7H55S+sdSb/tvXkN3e2KqxnHBdf+9RPvvdm1VVMyiztAWCizrT//8GfdU7D3bt30wvcv3//+vWJb6APHz5cXV1dWlqa9IpK8PTp08PDw7W1teGzToOtra0SNoBytFqtxcXF5eXlqgspwMHBwZMnTzY2NqoupBj2ALW1tbV19erVublZGKW2B8hh+EjD7du3B0xOyOLi4qVLl86fP1/CuiZtZ2fn4ODgypUrVRdSjKOjo1u3blVdRTGWl5eXlpZWVlaqLqQAe3t7jx8/vnHjRtWFFMMeoLaOjo5u3rw5Pz9fdSEFsAfIYRbSIgBQgpORhmaz6XsaAIAspw5PCAoAQBaHJwCAkJOrJwAABsj/PQ2jGumEieOZuy4BjS8+Ib1VZd2ZteyxzswVNpW16mA76WeovJ3BNY9TVflfph6vNkdtFX43fN9Vp5s9NlJ5JbQTrLDY/VXhfeUrr2upmrxYOaoqfN87oQ2vtM+Icetvl2JjY2PAZN+Z0/OMtPiE9FaVdWfWspGnKkfWqoPt9J2nqnYG11yHLScuXu3GxkbNe0kLVlv/jvpWWM/9VdfaRy1v6FKVyFFV3fa9Waalzna7Xd5IQ1w8BPX+sTs5fVcRXO+okTzHUiPJeubgGkcKqpNuZ/DTjjoC1FXtcaedf4PPmdtI//+9f2M1atbO0Gp7Z+u9s3O78nayNvscayyzr3wL1rOpHFXla7/8DS/ff3hweLXY+usYGoJm8nc4p6Wp4KDZVLSTHgnse3vwQyUbuvZatTP+k9eqnQJNY19D3/WVNDWho6LT+AKlTa7+KQ4NU6fMcZGIcerJ2vLqbJw6y28w6y/vQiopp514tWP2VUI7lWzktXpbdRWT+z+k2KaCVU1o31v4C1TyZ0S+tVQZGvqOWMbb6Ayt1OqtNaCpSKYrs6lIPUNHlYeuovzXqPeNV8PtZICsU706Q4vpOWveVG+1dYvOOcxAC71mqaneXmo7HtBl1H1yJa9alaFh/D7TR2iKqKgAM9bU4Ngef4Yy2ynqT6JK9FabnpyuAZ6+1U5u+GRyuiqsebX5zFJTs9RLr8oDkC93KsOYf68Xrm71TE79P5DSpqtaXin13GlETrAtp5IxTUudjdJGGpqj/LBFZ87OOG3fxUsememtKuvOXn3rr7CprJdjGtsZWnPXu7Hmn8rTVe346p+ThlYY3F9VJV959WwqR1XxnVW1pqXOhm+EBACCHJ4AAEKEBgAg5H9UfEq9Y2ziHAAAAABJRU5ErkJggg=="
height="200"
width="700"
margin="0 auto"/>
@@ -4223,7 +4223,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 0-10s </td>
+ 0–10s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4231,7 +4231,7 @@
<tr style="background-color: #f2f2f2;">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 11-30s </td>
+ 11–30s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4239,7 +4239,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 31-60s </td>
+ 31–60s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4308,7 +4308,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsPerPage" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Pages per Visit
+ Pages per visit
</h2>
<img alt=""
@@ -4418,7 +4418,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsByVisitCount" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Visit Number
+ Visits by visit number
</h2>
<img alt=""
@@ -4433,7 +4433,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Visits by Visit Number&nbsp;&nbsp;
+ &nbsp;Visits by visit number&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html
index 2ee14b8d70..afc6f46060 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html
@@ -150,7 +150,7 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitTime_getByDayOfWeek" style="text-decoration:none; color: #0d0d0d;">
- Visits by Day of Week
+ Visits by day of the week
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -265,17 +265,17 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerVisitDuration" style="text-decoration:none; color: #0d0d0d;">
- Length of Visits
+ Length of visits
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerPage" style="text-decoration:none; color: #0d0d0d;">
- Pages per Visit
+ Pages per visit
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsByVisitCount" style="text-decoration:none; color: #0d0d0d;">
- Visits by Visit Number
+ Visits by visit number
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -1821,7 +1821,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Local time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Local time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -2411,7 +2411,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Site time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Site time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -2993,7 +2993,7 @@
</a></p>
<h2 id="VisitTime_getByDayOfWeek" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Day of Week
+ Visits by day of the week
</h2>
@@ -3981,7 +3981,7 @@
There is no data for this report.
<h2 id="VisitorInterest_getNumberOfVisitsPerVisitDuration" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Length of Visits
+ Length of visits
</h2>
@@ -3999,7 +3999,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 0-10s </td>
+ 0–10s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4007,7 +4007,7 @@
<tr style="background-color: #f2f2f2;">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 11-30s </td>
+ 11–30s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4015,7 +4015,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 31-60s </td>
+ 31–60s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4084,7 +4084,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsPerPage" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Pages per Visit
+ Pages per visit
</h2>
@@ -4187,7 +4187,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsByVisitCount" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Visit Number
+ Visits by visit number
</h2>
@@ -4195,7 +4195,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Visits by Visit Number&nbsp;&nbsp;
+ &nbsp;Visits by visit number&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv
index a9d3d6e154..d2f6773778 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv
@@ -139,7 +139,7 @@ label,nb_visits,nb_actions,revenue,nb_actions_per_visit,avg_time_on_site,bounce_
22,0,0,$0,0,00:00:00,0%
23,0,0,$0,0,00:00:00,0%
-Visits by Day of Week
+Visits by day of the week
label,nb_visits,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate,nb_actions
Monday,0,0%,0,00:00:00,0%,0
Tuesday,3,66.67%,4.3,00:30:01,0%,13
@@ -236,11 +236,11 @@ No data available
Content Piece
No data available
-Length of Visits
+Length of visits
label,nb_visits
-0-10s,0
-11-30s,0
-31-60s,0
+0–10s,0
+11–30s,0
+31–60s,0
1-2 min,0
2-4 min,0
4-7 min,1
@@ -249,7 +249,7 @@ label,nb_visits
15-30 min,1
30+ min,1
-Pages per Visit
+Pages per visit
label,nb_visits
1 page,0
2 pages,0
@@ -262,7 +262,7 @@ label,nb_visits
15-20 pages,0
21+ pages,0
-Visits by Visit Number
+Visits by visit number
label,nb_visits,nb_visits_percentage
1 visit,1,20%
2 visits,1,20%
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf
index d28180fa4a..11ad614610 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf
Binary files differ
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_tsv__ScheduledReports.generateReport_week.original.tsv b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_tsv__ScheduledReports.generateReport_week.original.tsv
index 8821bda686..59cc4eab6b 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_tsv__ScheduledReports.generateReport_week.original.tsv
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_tsv__ScheduledReports.generateReport_week.original.tsv
@@ -139,7 +139,7 @@ label nb_visits nb_actions revenue nb_actions_per_visit avg_time_on_site bounce_
22 0 0 $0 0 00:00:00 0%
23 0 0 $0 0 00:00:00 0%
-Visits by Day of Week
+Visits by day of the week
label nb_visits conversion_rate nb_actions_per_visit avg_time_on_site bounce_rate nb_actions
Monday 0 0% 0 00:00:00 0% 0
Tuesday 3 66.67% 4.3 00:30:01 0% 13
@@ -236,11 +236,11 @@ No data available
Content Piece
No data available
-Length of Visits
+Length of visits
label nb_visits
-0-10s 0
-11-30s 0
-31-60s 0
+0–10s 0
+11–30s 0
+31–60s 0
1-2 min 0
2-4 min 0
4-7 min 1
@@ -249,7 +249,7 @@ label nb_visits
15-30 min 1
30+ min 1
-Pages per Visit
+Pages per visit
label nb_visits
1 page 0
2 pages 0
@@ -262,7 +262,7 @@ label nb_visits
15-20 pages 0
21+ pages 0
-Visits by Visit Number
+Visits by visit number
label nb_visits nb_visits_percentage
1 visit 1 20%
2 visits 1 20%
diff --git a/plugins/Morpheus/javascripts/piwikHelper.js b/plugins/Morpheus/javascripts/piwikHelper.js
index ab0a8eb8b5..66293bcc69 100644
--- a/plugins/Morpheus/javascripts/piwikHelper.js
+++ b/plugins/Morpheus/javascripts/piwikHelper.js
@@ -198,7 +198,7 @@ window.piwikHelper = {
var componentParams = {};
function handleProperty(name, value) {
- if (name === 'vue-entry') {
+ if (name === 'vue-entry' || name === 'class' || name === 'style') {
return;
}
diff --git a/plugins/VisitTime/lang/en.json b/plugins/VisitTime/lang/en.json
index d5dc99db8a..40c8b089c8 100644
--- a/plugins/VisitTime/lang/en.json
+++ b/plugins/VisitTime/lang/en.json
@@ -1,53 +1,53 @@
{
"VisitTime": {
"ColumnLocalTime": "Local time",
- "ColumnLocalHour": "Local time - hour (Start of visit)",
- "ColumnLocalMinute": "Local time - minute (Start of visit)",
+ "ColumnLocalHour": "Local time — hour (start of visit)",
+ "ColumnLocalMinute": "Local time — minute (start of visit)",
"ColumnServerTime": "Server time",
- "ColumnServerHour": "Server time - hour",
- "ColumnSiteHour": "Site time - hour",
- "ColumnVisitEndServerHour": "Server time - hour (Time of last action)",
- "ColumnVisitEndSiteHour": "Site time - hour (Time of last action)",
- "ColumnVisitEndServerMinute": "Server time - minute (Time of last action)",
- "ColumnVisitEndUTCMinute": "Time in UTC - minute (Time of last action)",
- "ColumnVisitStartServerHour": "Server time - hour (Start of visit)",
- "ColumnVisitStartSiteHour": "Site time - hour (Start of visit)",
- "ColumnVisitStartServerMinute": "Server time - minute (Start of visit)",
- "ColumnVisitStartUTCMinute": "Time in UTC - minute (Start of visit)",
- "ColumnVisitEndServerDate": "Server time - date (Time of last action)",
- "ColumnVisitEndUTCDate": "Time in UTC - date (Time of last action)",
- "ColumnVisitEndServerDayOfMonth": "Server time - day of month (Time of last action)",
- "ColumnVisitEndUTCDayOfMonth": "Time in UTC - day of month (Time of last action)",
- "ColumnVisitEndServerDayOfWeek": "Server time - day of week (Time of last action)",
- "ColumnVisitEndUTCDayOfWeek": "Time in UTC - day of week (Time of last action)",
- "ColumnVisitEndServerDayOfYear": "Server time - day of year (Time of last action)",
- "ColumnVisitEndUTCDayOfYear": "Time in UTC - day of year (Time of last action)",
- "ColumnVisitEndServerQuarter": "Server time - quarter (Time of last action)",
- "ColumnVisitEndUTCQuarter": "Time in UTC - quarter (Time of last action)",
- "ColumnVisitEndServerSecond": "Server time - second (Time of last action)",
- "ColumnVisitEndUTCSecond": "Time in UTC - second (Time of last action)",
- "ColumnVisitEndServerWeekOfYear": "Server time - week of year (Time of last action)",
- "ColumnVisitEndUTCWeekOfYear": "Time in UTC - week of year (Time of last action)",
- "ColumnVisitEndServerMonth": "Server time - month (Time of last action)",
- "ColumnVisitEndUTCMonth": "Time in UTC - month (Time of last action)",
- "ColumnVisitEndServerYear": "Server time - year (Time of last action)",
- "ColumnVisitEndUTCYear": "Time in UTC - year (Time of last action)",
- "ColumnServerMinute": "Server time - minute",
- "ColumnUTCMinute": "Time in UTC - minute",
+ "ColumnServerHour": "Server time — hour",
+ "ColumnSiteHour": "Site time — hour",
+ "ColumnVisitEndServerHour": "Server time — hour (time of last action)",
+ "ColumnVisitEndSiteHour": "Site time — hour (time of last action)",
+ "ColumnVisitEndServerMinute": "Server time — minute (time of last action)",
+ "ColumnVisitEndUTCMinute": "Time in UTC — minute (time of last action)",
+ "ColumnVisitStartServerHour": "Server time — hour (start of visit)",
+ "ColumnVisitStartSiteHour": "Site time — hour (start of visit)",
+ "ColumnVisitStartServerMinute": "Server time — minute (start of visit)",
+ "ColumnVisitStartUTCMinute": "Time in UTC — minute (start of visit)",
+ "ColumnVisitEndServerDate": "Server time — date (time of last action)",
+ "ColumnVisitEndUTCDate": "Time in UTC — date (time of last action)",
+ "ColumnVisitEndServerDayOfMonth": "Server time — day of month (time of last action)",
+ "ColumnVisitEndUTCDayOfMonth": "Time in UTC — day of month (time of last action)",
+ "ColumnVisitEndServerDayOfWeek": "Server time — day of week (time of last action)",
+ "ColumnVisitEndUTCDayOfWeek": "Time in UTC — day of week (time of last action)",
+ "ColumnVisitEndServerDayOfYear": "Server time — day of year (Time of last action)",
+ "ColumnVisitEndUTCDayOfYear": "Time in UTC — day of year (time of last action)",
+ "ColumnVisitEndServerQuarter": "Server time — quarter (time of last action)",
+ "ColumnVisitEndUTCQuarter": "Time in UTC — quarter (time of last action)",
+ "ColumnVisitEndServerSecond": "Server time — second (time of last action)",
+ "ColumnVisitEndUTCSecond": "Time in UTC — second (Time of last action)",
+ "ColumnVisitEndServerWeekOfYear": "Server time — week of year (time of last action)",
+ "ColumnVisitEndUTCWeekOfYear": "Time in UTC — week of year (time of last action)",
+ "ColumnVisitEndServerMonth": "Server time — month (time of last action)",
+ "ColumnVisitEndUTCMonth": "Time in UTC — month (time of last action)",
+ "ColumnVisitEndServerYear": "Server time — year (time of last action)",
+ "ColumnVisitEndUTCYear": "Time in UTC — year (time of last action)",
+ "ColumnServerMinute": "Server time — minute",
+ "ColumnUTCMinute": "Time in UTC — minute",
"DayOfWeek": "Day of the week",
"LocalTime": "Visits per local time",
"NHour": "%sh",
- "PluginDescription": "Reports the local time and the server time when your visitors view your website or app.",
+ "PluginDescription": "Reports the local time and the server time of when your visitors view your website or app.",
"ServerTime": "Visits per server time",
"SiteTime": "Visits per hour in the site's timezone",
"SubmenuTimes": "Times",
- "VisitsByDayOfWeek": "Visits by Day of Week",
+ "VisitsByDayOfWeek": "Visits by day of the week",
"WidgetByDayOfWeekDocumentation": "This graph shows the number of visits your website received on each day of the week.",
- "WidgetLocalTime": "Visits by Local Time",
+ "WidgetLocalTime": "Visits by local time",
"WidgetLocalTimeDocumentation": "This graph shows what time it was in the %1$s visitors' time zones %2$s during their visits.",
- "WidgetServerTime": "Visits by Server Time",
+ "WidgetServerTime": "Visits by server time",
"WidgetServerTimeDocumentation": "This graph shows what time it was in the %1$s server's time zone %2$s during the visits.",
"WidgetSiteTimeDocumentation": "This graph shows what time it was in the %1$s site's time zone %2$s during the visits.",
- "TimesSubcategoryHelp": "The Times section shows you when people are visiting your site. You can see the most popular local times your users visit at, so you can understand where your site fits into their life. Additionally, it shows the most popular server times, which can reveal demands on your technology stack."
+ "TimesSubcategoryHelp": "The \"Times\" section shows when people visit your site. Popular local times helps you cater your site to their lives. The most popular server times reveals technical demand."
}
-} \ No newline at end of file
+}
diff --git a/plugins/VisitorGenerator b/plugins/VisitorGenerator
-Subproject fe28e7f872c46115952c3e9e0a2f686bf557851
+Subproject 8ccb5fd4772d172e2024fc54ee7775b066ef2ba
diff --git a/plugins/VisitorInterest/lang/en.json b/plugins/VisitorInterest/lang/en.json
index 010761125f..8b5332bad4 100644
--- a/plugins/VisitorInterest/lang/en.json
+++ b/plugins/VisitorInterest/lang/en.json
@@ -1,24 +1,24 @@
{
"VisitorInterest": {
- "BetweenXYMinutes": "%1$s-%2$s min",
- "BetweenXYSeconds": "%1$s-%2$ss",
+ "BetweenXYMinutes": "%1$s–%2$s min",
+ "BetweenXYSeconds": "%1$s–%2$ss",
"ColumnPagesPerVisit": "Pages per visit",
"ColumnVisitDuration": "Visit duration",
"Engagement": "Engagement",
"NPages": "%s pages",
"OnePage": "1 page",
- "PluginDescription": "Reports about visitors interest: number of pages viewed, time spent on the Website, days since last visit, and more.",
+ "PluginDescription": "Visitor interest: number of pages viewed, time spent on the website, days since last visit, and more.",
"VisitNum": "Visit number",
"VisitsByDaysSinceLast": "Visits by days since last visit",
- "visitsByVisitCount": "Visits by Visit Number",
+ "visitsByVisitCount": "Visits by visit number",
"VisitsPerDuration": "Visits per visit duration",
"VisitsPerNbOfPages": "Visits per number of pages",
- "WidgetLengths": "Length of Visits",
- "WidgetLengthsDocumentation": "In this report, you can see how many visits had a certain total duration. Initially, the report is shown as a tag cloud, more common durations are displayed in a larger font.",
- "WidgetPages": "Pages per Visit",
- "WidgetPagesDocumentation": "In this report, you can see how many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, more common numbers of pages are displayed in a larger font.",
- "WidgetVisitsByDaysSinceLast": "Visits by Days Since Last Visit",
- "WidgetVisitsByDaysSinceLastDocumentation": "In this report, you can see how many visits were from visitors whose last visit was a certain number of days ago.",
- "WidgetVisitsByNumDocumentation": "In this report, you can see the number of visits who were the Nth visit, ie. visitors who visited your website at least N times."
+ "WidgetLengths": "Length of visits",
+ "WidgetLengthsDocumentation": "How many visits had a certain total duration. Initially, the report is shown as a tag cloud, wherein more common durations have a larger font.",
+ "WidgetPages": "Pages per visit",
+ "WidgetPagesDocumentation": "How many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, wherein more common numbers of pages have a larger font.",
+ "WidgetVisitsByDaysSinceLast": "Visits by days since last visit",
+ "WidgetVisitsByDaysSinceLastDocumentation": "How many visits were from returning visitors whose last visit was a certain number of days ago.",
+ "WidgetVisitsByNumDocumentation": "The number of visitors reaching their Nth visit. I.e. the total amount of visitors visiting your website a given amount of times or more."
}
-} \ No newline at end of file
+}
diff --git a/plugins/WebsiteMeasurable/lang/en.json b/plugins/WebsiteMeasurable/lang/en.json
index 65cee92859..655b729d00 100644
--- a/plugins/WebsiteMeasurable/lang/en.json
+++ b/plugins/WebsiteMeasurable/lang/en.json
@@ -2,6 +2,6 @@
"WebsiteMeasurable": {
"Website": "Website",
"Websites": "Websites",
- "WebsiteDescription": "A website consists of web pages typically served from a single web domain."
+ "WebsiteDescription": "A website consists of webpages, typically served from a single domain on the web."
}
-} \ No newline at end of file
+}
diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_month.xml
index d367771a01..a035d38913 100644
--- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_month.xml
+++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_month.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
- <label>0-10s</label>
+ <label>0–10s</label>
<nb_visits>40</nb_visits>
<segment>visitDuration&gt;=0;visitDuration&lt;=10</segment>
</row>
<row>
- <label>11-30s</label>
+ <label>11–30s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=11;visitDuration&lt;=30</segment>
</row>
<row>
- <label>31-60s</label>
+ <label>31–60s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=31;visitDuration&lt;=60</segment>
</row>
diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml
index 5a0ee59989..34c4ba4849 100644
--- a/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml
+++ b/tests/PHPUnit/System/expected/test_ImportLogs__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
- <label>0-10s</label>
+ <label>0–10s</label>
<nb_visits>50</nb_visits>
<segment>visitDuration&gt;=0;visitDuration&lt;=10</segment>
</row>
<row>
- <label>11-30s</label>
+ <label>11–30s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=11;visitDuration&lt;=30</segment>
</row>
<row>
- <label>31-60s</label>
+ <label>31–60s</label>
<nb_visits>2</nb_visits>
<segment>visitDuration&gt;=31;visitDuration&lt;=60</segment>
</row>
diff --git a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdThree_TrackedUsingLogReplayWithFixedSiteId__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdThree_TrackedUsingLogReplayWithFixedSiteId__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml
index 63a6a4ca54..effc9d7862 100644
--- a/tests/PHPUnit/System/expected/test_ImportLogs_siteIdThree_TrackedUsingLogReplayWithFixedSiteId__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml
+++ b/tests/PHPUnit/System/expected/test_ImportLogs_siteIdThree_TrackedUsingLogReplayWithFixedSiteId__VisitorInterest.getNumberOfVisitsPerVisitDuration_range.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
- <label>0-10s</label>
+ <label>0–10s</label>
<nb_visits>13</nb_visits>
<segment>visitDuration&gt;=0;visitDuration&lt;=10</segment>
</row>
<row>
- <label>11-30s</label>
+ <label>11–30s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=11;visitDuration&lt;=30</segment>
</row>
<row>
- <label>31-60s</label>
+ <label>31–60s</label>
<nb_visits>1</nb_visits>
<segment>visitDuration&gt;=31;visitDuration&lt;=60</segment>
</row>
diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml
index 7942cf7654..16d6937ef6 100644
--- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric_constantRowsCountShouldKeepEmptyRows__API.getProcessedReport_day.xml
@@ -8,7 +8,7 @@
<name>Visits per hour in the site's timezone</name>
<module>VisitTime</module>
<action>getVisitInformationPerServerTime</action>
- <dimension>Site time - hour (Start of visit)</dimension>
+ <dimension>Site time — hour (start of visit)</dimension>
<documentation>This graph shows what time it was in the &lt;strong&gt; site's time zone &lt;/strong&gt; during the visits.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
@@ -43,7 +43,7 @@
<uniqueId>VisitTime_getVisitInformationPerServerTime</uniqueId>
</metadata>
<columns>
- <label>Site time - hour (Start of visit)</label>
+ <label>Site time — hour (start of visit)</label>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
<nb_actions>Actions</nb_actions>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml
index 748ce76d7c..58611310c0 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
- <label>0-10s</label>
+ <label>0–10s</label>
<nb_visits>1</nb_visits>
<segment>visitDuration&gt;=0;visitDuration&lt;=10</segment>
</row>
<row>
- <label>11-30s</label>
+ <label>11–30s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=11;visitDuration&lt;=30</segment>
</row>
<row>
- <label>31-60s</label>
+ <label>31–60s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=31;visitDuration&lt;=60</segment>
</row>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json
index 20475dd8a9..4d26a381db 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_json__API.getBulkRequest.json
@@ -1 +1 @@
-[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1622,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1622,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0-10s","nb_visits":"1","segment":"visitDuration>=0;visitDuration<=10"},{"label":"11-30s","nb_visits":"0","segment":"visitDuration>=11;visitDuration<=30"},{"label":"31-60s","nb_visits":"0","segment":"visitDuration>=31;visitDuration<=60"},{"label":"1-2 min","nb_visits":"0","segment":"visitDuration>=60;visitDuration<=120"},{"label":"2-4 min","nb_visits":"0","segment":"visitDuration>=120;visitDuration<=240"},{"label":"4-7 min","nb_visits":"0","segment":"visitDuration>=240;visitDuration<=420"},{"label":"7-10 min","nb_visits":"0","segment":"visitDuration>=420;visitDuration<=600"},{"label":"10-15 min","nb_visits":"0","segment":"visitDuration>=600;visitDuration<=900"},{"label":"15-30 min","nb_visits":"1","segment":"visitDuration>=900;visitDuration<=1800"},{"label":"30+ min","nb_visits":"0","segment":"visitDuration>=1801"}],{"value":"yesterday"}] \ No newline at end of file
+[{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1622,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},{"2010-03-06":{"nb_uniq_visitors":1,"nb_users":0,"nb_visits":2,"nb_actions":8,"nb_visits_converted":2,"bounce_count":1,"sum_visit_length":1622,"max_actions":7,"bounce_rate":"50%","nb_actions_per_visit":4,"avg_time_on_site":811},"2010-03-07":[]},[{"label":"0\u201310s","nb_visits":"1","segment":"visitDuration>=0;visitDuration<=10"},{"label":"11\u201330s","nb_visits":"0","segment":"visitDuration>=11;visitDuration<=30"},{"label":"31\u201360s","nb_visits":"0","segment":"visitDuration>=31;visitDuration<=60"},{"label":"1-2 min","nb_visits":"0","segment":"visitDuration>=60;visitDuration<=120"},{"label":"2-4 min","nb_visits":"0","segment":"visitDuration>=120;visitDuration<=240"},{"label":"4-7 min","nb_visits":"0","segment":"visitDuration>=240;visitDuration<=420"},{"label":"7-10 min","nb_visits":"0","segment":"visitDuration>=420;visitDuration<=600"},{"label":"10-15 min","nb_visits":"0","segment":"visitDuration>=600;visitDuration<=900"},{"label":"15-30 min","nb_visits":"1","segment":"visitDuration>=900;visitDuration<=1800"},{"label":"30+ min","nb_visits":"0","segment":"visitDuration>=1801"}],{"value":"yesterday"}] \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml
index 258f91e9df..191359da70 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_bulk_xml__API.getBulkRequest.xml
@@ -36,17 +36,17 @@
</row>
<row>
<row>
- <label>0-10s</label>
+ <label>0–10s</label>
<nb_visits>1</nb_visits>
<segment>visitDuration&gt;=0;visitDuration&lt;=10</segment>
</row>
<row>
- <label>11-30s</label>
+ <label>11–30s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=11;visitDuration&lt;=30</segment>
</row>
<row>
- <label>31-60s</label>
+ <label>31–60s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=31;visitDuration&lt;=60</segment>
</row>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumnsWithProcessedMetrics___API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumnsWithProcessedMetrics___API.getProcessedReport_day.xml
index 5f45d94cf4..637b917bba 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumnsWithProcessedMetrics___API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumnsWithProcessedMetrics___API.getProcessedReport_day.xml
@@ -8,7 +8,7 @@
<name>Visits per hour in the site's timezone</name>
<module>VisitTime</module>
<action>getVisitInformationPerServerTime</action>
- <dimension>Site time - hour (Start of visit)</dimension>
+ <dimension>Site time — hour (start of visit)</dimension>
<documentation>This graph shows what time it was in the &lt;strong&gt; site's time zone &lt;/strong&gt; during the visits.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
@@ -28,7 +28,7 @@
<uniqueId>VisitTime_getVisitInformationPerServerTime</uniqueId>
</metadata>
<columns>
- <label>Site time - hour (Start of visit)</label>
+ <label>Site time — hour (start of visit)</label>
<nb_visits>Visits</nb_visits>
<revenue>Revenue</revenue>
</columns>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml
index 748ce76d7c..58611310c0 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__VisitorInterest.getNumberOfVisitsPerVisitDuration_day.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
- <label>0-10s</label>
+ <label>0–10s</label>
<nb_visits>1</nb_visits>
<segment>visitDuration&gt;=0;visitDuration&lt;=10</segment>
</row>
<row>
- <label>11-30s</label>
+ <label>11–30s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=11;visitDuration&lt;=30</segment>
</row>
<row>
- <label>31-60s</label>
+ <label>31–60s</label>
<nb_visits>0</nb_visits>
<segment>visitDuration&gt;=31;visitDuration&lt;=60</segment>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml
index 183d928bc4..589ee8c69f 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml
@@ -9,7 +9,7 @@
<module>VisitorInterest</module>
<action>getNumberOfVisitsByDaysSinceLast</action>
<dimension>Days since last visit</dimension>
- <documentation>In this report, you can see how many visits were from visitors whose last visit was a certain number of days ago.</documentation>
+ <documentation>How many visits were from returning visitors whose last visit was a certain number of days ago.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
</metrics>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_and_graph__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_and_graph__ScheduledReports.generateReport_month.original.html
index 6f2ab18cc8..588e8fd63d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_and_graph__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_and_graph__ScheduledReports.generateReport_month.original.html
@@ -150,7 +150,7 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitTime_getByDayOfWeek" style="text-decoration:none; color: #0d0d0d;">
- Visits by Day of Week
+ Visits by day of the week
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -265,17 +265,17 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerVisitDuration" style="text-decoration:none; color: #0d0d0d;">
- Length of Visits
+ Length of visits
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerPage" style="text-decoration:none; color: #0d0d0d;">
- Pages per Visit
+ Pages per visit
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsByVisitCount" style="text-decoration:none; color: #0d0d0d;">
- Visits by Visit Number
+ Visits by visit number
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -2237,7 +2237,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Local time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Local time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -2834,7 +2834,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Site time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Site time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -3416,7 +3416,7 @@
</a></p>
<h2 id="VisitTime_getByDayOfWeek" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Day of Week
+ Visits by day of the week
</h2>
<img alt=""
@@ -4406,11 +4406,11 @@
There is no data for this report.
<h2 id="VisitorInterest_getNumberOfVisitsPerVisitDuration" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Length of Visits
+ Length of visits
</h2>
<img alt=""
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAADICAIAAACF9KXqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJVklEQVR4nO3dzYsceRkH8J6X4Dhs4jIsZHZmScg07iYT8JAYRBYUxYOsIIg3rzl4XTwKsgdhZfEvEBSP4sWbBA+eRDxETwtjVDrBuNObQUg2mTAMJEx7GKyp6dcn1dX1q+r5fA7D1Fv38/RL9bd/Vd290Ov1WgAAkyymLgAAaAahAQAIERoAgBChAQAIERoAgBChAQAIqS40tNvtUTOHLhqzFQBQvVqMNHQ6nYmLpAcASKu60NDpdPpe+Nvt9pi4AADUynK5F/fhr/7aN+fHt788cassPeRTRTYnSxvZ0r78IXkAQAVKDg3/+s+zFy9eZJPnzp3b3d3d3NyMbNs38JCfPE4J+UMVo9YEAGak/MMTBzmtVqvb7WaL8iMEE1/p4zlAYgCACtTiRMhjx5EicsJjfE0AoCwlH56YUv7Mhsg4RGRNAKAU5YeG1dXVMUuzIxQTP2YZOVMhviYAMKWSQ8P3vtnu7u4W2zb+2i8lAED1Sg4N3/3a5VbrcrFtx3+QMr/URy4BoHoLvV4vdQ0AQAPU6NMTAECdCQ0AQIjQAACECA0AQIjQAACEnPrIpc8xAgCjnIQGPx0JAIzh8AQAECI0AAAhp74Rcug5Dbunf0tib29vfX29muIAOON+/+dPUpdQ0HfefSt1CeVzTgMANfWL3/3j485nqaso6Ntf3VxaXEhdRckm/2DV5ubmmEkAmJGVlX+nLqG4jTffXFqat3MA5q0fAGBGTkYa/N40ADDGqcMTggIAMIrDEwBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQMDw3tdrviOgCAmhsSGiQGAGBQf2hot9udTidJKQBAnZ0KDRIDADDKcvbfqMTw9OnT/OTz588vXLgw87oAOPNevnyZuoTi9vf3l5bm7dMGy/mJ/NkMWYbodrv5dR48eOCkBwAqcHh4mLqE4rqffrq0uJC6ipKdhIb8MEN+1OHatWv5DfomAWBGXvvT41breeoqCnrn7bfnb6Rh3voBAGZEaAAAQoaHBp+hAAD6GGkAAEKEBgAgRGgAAEKEBgAgRGgAAEKEBgAgRGgAAEKEBgAgRGgAAEKEBgAgRGgAAEKEBgAgRGgAAEKWp9n4wSeflVVHxa689XrqEgCgYYqHhtsf3Hny7LDEUqr00ftf/+LltdRVAECTODwBAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQIDQBAiNAAAIQs5yfa7Xb2f6fTqbwYAKC+TkJDu93OB4W+SQDgjHN4AgAIERoAgJDlyaucAb/9w98//ud/U1dR0Hb7jR+8t51NPnl2+P5Hf0xYzzQWFxd+/dP38nN+9su/PHl2mKqeKX3/W+985Usb2eTfdh795s5Ownqm8YXXPveTH76bn3P7gztHvV6qeqb08x99443XP59N2gPUxOAeYJ7Mxx5goff/p/2ocxru3r2b3/LevXvb29utGbt///76+vrq6uqsr6gCjx8/Pjw83NjYmLxqE+zs7FTwAKhGt9tdWVlZW1tLXUgJDg4OHj16tLW1lbqQctgD1NbOzs7Vq1cXF+dhlNoeoIDJIw23bt0aMzkjKysrly5dOn/+fAXXNWt7e3sHBwdXrlxJXUg5jo6Obt68mbqKcqytra2url68eDF1ISXY399/+PDh9evXUxdSDnuA2jo6Orpx48bS0lLqQkpgD1DAPKRFAKACJyMNnU7H9zQAAKOcOjwhKAAAozg8AQCEnHx6AgBgjEq/pyFyzsTxOn0f/py4VZUGKxw1s2/psWydOvQ1qobx7eQ3rEM7BW78+CUn6eXY+KsuUFvC74YfetX5Zo+9UnkVtBOssNy9Vul9FSuvb6ua3FkFqip99zujB15lLxPT1t+rytbW1pjJ/Mz8oshWVRqscNTMvqWRS6jYqBrGtzN0UcJ2Ctz4tRWvdmtrq+a95AWrrX9HTdxrFStv4lZJFKiqtrvfPk2ps9fr1esbIePxZ/CdbjWGXt34Gl41jxfYqphRV1HiG9wK2pnyxu8L8n0FHzeb/Q1eZmHBS+6rp29R/tLStjOx2sHVBmdm/ydvZ9Qjv8A1VtlXsQ3r2VSBqoq1X/0Dr9gNHhxeLbf+eoWGoHn9Bc6m9BUcMWtKO/mRwKH/j19UsYnXXqt2pr/wWrVToib2NfGJn6SpGR0YbeIdlDe7+hsZGpoo1dDIRAUKG/Wwq7lpSq2+x1HvvEuppJp24tVO2VcF7SR5nNfqmdVXTOEbpNymglXNaPdb+h1U8ctEsWtJHBqK3UbZoEqtnlR5g31FAl2SviKFNetuGqy25o+WPqNO9cqGFvNr1rypwWprm57j5qCFQfPUVLHdbx280t64leheSxwapnznV9tHwJz11ax2ynpLlMRgtfnJZo3xDK12dsMns9NXYc2rLWaempqnXgYlD0C+3GnmJp4ClkptCytR/V+Q8ppVLWdKPXcXkRNsq6lkSk2ps1XlSEMn8NsW2QrZCO3QrRKOpA1WOGpmZmgLdehr1D3SrHbGV9saeDbW/FW5WdVOr/45aWKFwb1WKsXKq2dTBaqK76/SakqdLd8ICQAEOTwBAIQIDQBAyP8AHUs+XCXIBcoAAAAASUVORK5CYII="
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAADICAIAAACF9KXqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJcElEQVR4nO3dzYskdx0G8N6ZDY5DNoYhsJudsGGnMdkX8LAxiAQUxYNEEMSb1xy8Bo+C5CBEgn+BoHgUL95k8eBJxMPqKTCuSmcxZie7CJtkZxkGEqY9DPbU9usz1dVV1b2fz2GZqq7q+n63u6uf/lVV95l+v98BAJhlrekCAIDlIDQAABGhAQCICA0AQERoAAAiQgMAEKkvNHS73Ukzx940ZS0AoH6tGGno9Xozb5IeAKBZ9YWGXq839Mbf7XanxAUAoFXOVnt3b//qr0NzfvzGl2euNUgPxVQxmDNIG4Nbh/KH5AEANag4NPzrPw8//fTTweRTTz119+7d7e3tZN2hgYfi5HFKKB6qmLQkALAg1R+eOCjodDp7e3uDm4ojBDPf6fMcIDEAQA1acSLkseNIkZzwmC8JAFSl4sMTcyqe2ZCMQyRLAgCVqD40bG5uTrl1cIRi5mWWyZkK+ZIAwJwqDg3f+2Z37+7dcuvm7/1SAgDUr+LQ8N2vvdjpvFhu3ekXUhZvdcklANTvTL/fb7oGAGAJtOjqCQCgzYQGACAiNAAAEaEBAIgIDQBA5LFLLl3HCABMchIa/HQkADCFwxMAQERoAAAij30j5NhzGu4+/lsS9+/fv3DhQj3FAfCE+/2fP2i6hJK+89oLTZdQPec0ANBSv/jdP97tfdx0FSV9+6vb62tnmq6iYrN/sGp7e3vKJAAsyMbGv5suobyLzz+/vr5q5wCsWj8AwIKcjDT4vWkAYIrHDk8ICgDAJA5PAAARoQEAiAgNAEBEaAAAIkIDABARGgCAiNAAAESEBgAgIjQAABGhAQCICA0AQERoAAAiQgMAEBEaAICI0AAARIQGACAiNAAAEaEBAIgIDQBARGgAACJCAwAQERoAgIjQAABEhAYAICI0AAARoQEAiAgNAEBEaAAAIkIDABARGgCAiNAAAESEBgAgIjQAABGhAQCICA0AQERoAAAiQgMAEBEaAICI0AAARIQGACAiNAAAEaEBAIgIDQBARGgAACJCAwAQERoAgIjQAABEhAYAICI0AAARoQEAiAgNAEBEaAAAIkIDABARGgCAiNAAAESEBgAgIjQAABGhAQCICA0AQERoAAAiQgMAEBEaAICI0AAARIQGACAiNAAAEaEBAIiMDw3dbrfmOgCAlhsTGiQGAGDUcGjodru9Xq+RUgCANnssNEgMAMAkZwd/TUoMn3zySXHy0aNHzzzzzMLrAuCJ99lnnzVdQnn7+/vr66t2tcHZ4kTxbIZBhtjb2ysuc+fOHSc9AFCDw8PDpksob+/DD9fXzjRdRcVOQkNxmKE46nD16tXiCkOTALAgT//pQafzqOkqSnr5pZdWb6Rh1foBABZEaAAAIuNDg2soAIAhRhoAgIjQAABEhAYAICI0AAARoQEAiAgNAEBEaAAAIkIDABARGgCAiNAAAESEBgAgIjQAABGhAQCInJ1n5TsffFxVHTW7/MKzTZcAAEumfGh4462bHz08rLCUOr3z5te/+OJW01UAwDJxeAIAiAgNAEBEaAAAIkIDABARGgCAiNAAAESEBgAgIjQAABGhAQCICA0AQERoAAAiQgMAEBEaAICI0AAARIQGACAiNAAAEaEBAIgIDQBARGgAACJCAwAQERoAgIjQAABEhAYAICI0AAARoQEAiAgNAEBEaAAAIkIDABARGgCAiNAAAESEBgAgIjQAABGhAQCICA0AQERoAAAiQgMAEBEaAICI0AAARIQGACAiNAAAEaEBAIgIDQBARGgAACJCAwAQERoAgIjQAABEhAYAICI0AAARoQEAiAgNAEBEaAAAImeLE91ud/B3r9ervRgAoL1OQkO32y0GhaFJAOAJ5/AEABARGgCAyNnZizwBfvuHv7/7z/82XUVJ17rP/eD1a4PJjx4evvnOHxusZx5ra2d+/dPXi3N+9su/fPTwsKl65vT9b738lS9dHEz+bffeb27uNljPPL7w9Od+8sPXinPeeOvmUb/fVD1z+vmPvvHcs58fTNoDtMToHmCVrMYe4Ez//y/7Sec03Lp1q7jm7du3r1271lmw995778KFC5ubm4veUA0ePHhweHh48eLF2Ysug93d3RqeAPXY29vb2NjY2tpqupAKHBwc3Lt3b2dnp+lCqmEP0Fq7u7tXrlxZW1uFUWp7gBJmjzS8+uqrUyYXZGNj49KlS+fOnathW4t2//79g4ODy5cvN11INY6Ojl555ZWmq6jG1tbW5ubm+fPnmy6kAvv7+++///7169ebLqQa9gCtdXR0dOPGjfX19aYLqYA9QAmrkBYBgBqcjDT0ej3f0wAATPLY4QlBAQCYxOEJACBycvUEAMAU9X1Pw6lOmDheeOgS0Hz1BRmtatLMSeseGyzcYFOTNh22U7yHxtuZXvM8VdX/Zep5tSVqa/C74cduutjssVOVV0M7YYXV7q8q76tceUNrteTBKlFV5fveBT3xanuPmLf+fi12dnamTI5duLjMqVZfkNGqJs2ctG5yV/WYtOmwnbHLNNXO9Jrb8MzJ5dXu7Oy0vJeisNr2dzS2wnbur4a2ftryZq7ViBJVtW3fO8my1Nnv99v4jZB5CBr9sLs4YzcRbve0kbzEWqcy6Z7DLZ4qqC66nel3e9oRoKFqjzsd/BveZ2mn+v8f/YzVaVk7M6sdXWx05uDvxtuZ9LQvscU6+yq3YjubKlFVufbrf+KV+w8Ph1errb+NoSG0kr/DuSxNhYNmS9FOcSRw7N/Tb6rZzK23qp3577xV7VRoGfua+apvpKkFHRVdxgeoaHH1L3FoWDp1josk5qln0jOvzeaps/4GJ33yrqSSetrJq52zrxraaeRJ3qqX1VAxpf9Dqm0qrGpB+97KH6Ca3yPKbaXJ0DB2xDJvYzC00qqX1pSmkkxXZ1NJPTNHlWduov7HaPSF18LnyRSTTvUaDC0Wl2x5U6PVti06l7ACLYxapaZGe2nteMCQ0+6TG3nUmgwN8/dZPEJTRUUVWLGmpsf2/B7qbKeqj0SNGK22OLlcAzxjq13c8MniDFXY8mrLWaWmVqmXUY0HIF/uVIc5P69Xrm31LE7735CKlqtanijt3GkkJ9jWU8mclqXOTm0jDb3T/LDFYMnBOO3Y1WsemRmtatLMUWPrb7CpSQ/HMrYzs+ahV2PL35WXq9r5tT8nzaww3F81pVx57WyqRFX5zqpZy1JnxzdCAgAhhycAgIjQAABE/gddHDwunD7NNwAAAABJRU5ErkJggg=="
height="200"
width="700"
margin="0 auto"/>
@@ -4431,7 +4431,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 0-10s </td>
+ 0–10s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
3
</td>
@@ -4439,7 +4439,7 @@
<tr style="background-color: #f2f2f2;">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 11-30s </td>
+ 11–30s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4447,7 +4447,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 31-60s </td>
+ 31–60s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4516,7 +4516,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsPerPage" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Pages per Visit
+ Pages per visit
</h2>
<img alt=""
@@ -4626,7 +4626,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsByVisitCount" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Visit Number
+ Visits by visit number
</h2>
<img alt=""
@@ -4641,7 +4641,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Visits by Visit Number&nbsp;&nbsp;
+ &nbsp;Visits by visit number&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_only__ScheduledReports.generateReport_month.original.html
index b8dcd11ea3..e671fd13e4 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_only__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_html_tables_only__ScheduledReports.generateReport_month.original.html
@@ -150,7 +150,7 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitTime_getByDayOfWeek" style="text-decoration:none; color: #0d0d0d;">
- Visits by Day of Week
+ Visits by day of the week
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -265,17 +265,17 @@
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerVisitDuration" style="text-decoration:none; color: #0d0d0d;">
- Length of Visits
+ Length of visits
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsPerPage" style="text-decoration:none; color: #0d0d0d;">
- Pages per Visit
+ Pages per visit
</a>
</li>
<li style="font-size:15px;line-height:24px;">
<a href="#VisitorInterest_getNumberOfVisitsByVisitCount" style="text-decoration:none; color: #0d0d0d;">
- Visits by Visit Number
+ Visits by visit number
</a>
</li>
<li style="font-size:15px;line-height:24px;">
@@ -2097,7 +2097,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Local time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Local time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -2687,7 +2687,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Site time - hour (Start of visit)&nbsp;&nbsp;
+ &nbsp;Site time — hour (start of visit)&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
@@ -3269,7 +3269,7 @@
</a></p>
<h2 id="VisitTime_getByDayOfWeek" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Day of Week
+ Visits by day of the week
</h2>
@@ -4196,7 +4196,7 @@
There is no data for this report.
<h2 id="VisitorInterest_getNumberOfVisitsPerVisitDuration" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Length of Visits
+ Length of visits
</h2>
@@ -4214,7 +4214,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 0-10s </td>
+ 0–10s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
3
</td>
@@ -4222,7 +4222,7 @@
<tr style="background-color: #f2f2f2;">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 11-30s </td>
+ 11–30s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4230,7 +4230,7 @@
<tr style=";">
<td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- 31-60s </td>
+ 31–60s </td>
<td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;font-variant-numeric: tabular-nums;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
0
</td>
@@ -4299,7 +4299,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsPerPage" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Pages per Visit
+ Pages per visit
</h2>
@@ -4402,7 +4402,7 @@
</a></p>
<h2 id="VisitorInterest_getNumberOfVisitsByVisitCount" style=" color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; font-size: 24pt; font-weight:normal; margin:45px 0 30px 0;">
- Visits by Visit Number
+ Visits by visit number
</h2>
@@ -4410,7 +4410,7 @@
<table style="border-collapse:collapse; border:1px solid rgb(231,231,231); padding:5px;">
<thead style="background-color: #f2f2f2;">
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif;">
- &nbsp;Visits by Visit Number&nbsp;&nbsp;
+ &nbsp;Visits by visit number&nbsp;&nbsp;
</th>
<th style="border-bottom:1px solid rgb(231,231,231);font-size: 15px;text-align: left;font-weight:normal;padding:13px 0 13px 10px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, &#039;Segoe UI&#039;, Roboto, Oxygen-Sans, Cantarell, &#039;Helvetica Neue&#039;, sans-serif; text-align:right;">
&nbsp;Visits&nbsp;&nbsp;
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_csv__ScheduledReports.generateReport_month.original.csv
index adb71400d4..d59a128e94 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_csv__ScheduledReports.generateReport_month.original.csv
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_csv__ScheduledReports.generateReport_month.original.csv
@@ -153,7 +153,7 @@ label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,rev
22,0,0,0,00:00:00,0%,$0
23,1,1,1,00:00:00,100%,$0
-Visits by Day of Week
+Visits by day of the week
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Monday,2,6,0%,3,00:07:31,50%
Tuesday,2,10,0%,5,00:15:01,0%
@@ -249,11 +249,11 @@ No data available
Content Piece
No data available
-Length of Visits
+Length of visits
label,nb_visits
-0-10s,3
-11-30s,0
-31-60s,0
+0–10s,3
+11–30s,0
+31–60s,0
1-2 min,0
2-4 min,0
4-7 min,0
@@ -262,7 +262,7 @@ label,nb_visits
15-30 min,8
30+ min,0
-Pages per Visit
+Pages per visit
label,nb_visits
1 page,3
2 pages,0
@@ -275,7 +275,7 @@ label,nb_visits
15-20 pages,0
21+ pages,0
-Visits by Visit Number
+Visits by visit number
label,nb_visits,nb_visits_percentage
1 visit,2,18%
2 visits,2,18%
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf
index b5822da4b3..7c7cd19317 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf
Binary files differ
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_tsv__ScheduledReports.generateReport_month.original.tsv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_tsv__ScheduledReports.generateReport_month.original.tsv
index 1bb5cc38c3..731a0b5c7e 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_tsv__ScheduledReports.generateReport_month.original.tsv
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_schedrep_in_tsv__ScheduledReports.generateReport_month.original.tsv
@@ -153,7 +153,7 @@ label nb_visits nb_actions nb_actions_per_visit avg_time_on_site bounce_rate rev
22 0 0 0 00:00:00 0% $0
23 1 1 1 00:00:00 100% $0
-Visits by Day of Week
+Visits by day of the week
label nb_visits nb_actions conversion_rate nb_actions_per_visit avg_time_on_site bounce_rate
Monday 2 6 0% 3 00:07:31 50%
Tuesday 2 10 0% 5 00:15:01 0%
@@ -249,11 +249,11 @@ No data available
Content Piece
No data available
-Length of Visits
+Length of visits
label nb_visits
-0-10s 3
-11-30s 0
-31-60s 0
+0–10s 3
+11–30s 0
+31–60s 0
1-2 min 0
2-4 min 0
4-7 min 0
@@ -262,7 +262,7 @@ label nb_visits
15-30 min 8
30+ min 0
-Pages per Visit
+Pages per visit
label nb_visits
1 page 3
2 pages 0
@@ -275,7 +275,7 @@ label nb_visits
15-20 pages 0
21+ pages 0
-Visits by Visit Number
+Visits by visit number
label nb_visits nb_visits_percentage
1 visit 2 18%
2 visits 2 18%
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml
index f088c38a71..c72f06e5ca 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml
@@ -3,7 +3,7 @@
<row>
<id>website</id>
<name>Website</name>
- <description>A website consists of web pages typically served from a single web domain.</description>
+ <description>A website consists of webpages, typically served from a single domain on the web.</description>
<howToSetupUrl>?module=CoreAdminHome&amp;action=trackingCodeGenerator</howToSetupUrl>
<settings>
<row>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml
index 99e01d349a..da1e4a2b27 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getGlossaryReports.xml
@@ -196,8 +196,8 @@
<documentation>This report shows which exact language code the visitor's browsers is set to. (e.g. &quot;German - Austria (de-at)&quot;)</documentation>
</row>
<row>
- <name>Length of Visits (Actions)</name>
- <documentation>In this report, you can see how many visits had a certain total duration. Initially, the report is shown as a tag cloud, more common durations are displayed in a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
+ <name>Length of visits (Actions)</name>
+ <documentation>How many visits had a certain total duration. Initially, the report is shown as a tag cloud, wherein more common durations have a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
</row>
<row>
<name>Main metrics (API)</name>
@@ -234,8 +234,8 @@
<onlineGuideUrl>https://matomo.org/docs/site-search/</onlineGuideUrl>
</row>
<row>
- <name>Pages per Visit (Actions)</name>
- <documentation>In this report, you can see how many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, more common numbers of pages are displayed in a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
+ <name>Pages per visit (Actions)</name>
+ <documentation>How many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, wherein more common numbers of pages have a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
</row>
<row>
<name>Performance overview (Actions)</name>
@@ -303,16 +303,16 @@
<documentation>This report provides a very general overview of how your visitors behave.</documentation>
</row>
<row>
- <name>Visits by Day of Week (Visitors)</name>
+ <name>Visits by day of the week (Visitors)</name>
<documentation>This graph shows the number of visits your website received on each day of the week.</documentation>
</row>
<row>
- <name>Visits by Visit Number (Actions)</name>
- <documentation>In this report, you can see the number of visits who were the Nth visit, ie. visitors who visited your website at least N times.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
+ <name>Visits by days since last visit (Actions)</name>
+ <documentation>How many visits were from returning visitors whose last visit was a certain number of days ago.</documentation>
</row>
<row>
- <name>Visits by days since last visit (Actions)</name>
- <documentation>In this report, you can see how many visits were from visitors whose last visit was a certain number of days ago.</documentation>
+ <name>Visits by visit number (Actions)</name>
+ <documentation>The number of visitors reaching their Nth visit. I.e. the total amount of visitors visiting your website a given amount of times or more.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
</row>
<row>
<name>Visits per hour in the site's timezone (Visitors)</name>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
index 5f6f71d13e..3b3eaaa715 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
@@ -767,7 +767,7 @@
<name>Visits per local time</name>
<module>VisitTime</module>
<action>getVisitInformationPerLocalTime</action>
- <dimension>Local time - hour (Start of visit)</dimension>
+ <dimension>Local time — hour (start of visit)</dimension>
<documentation>This graph shows what time it was in the &lt;strong&gt; visitors' time zones &lt;/strong&gt; during their visits.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
@@ -794,7 +794,7 @@
<constantRowsCount>1</constantRowsCount>
<relatedReports>
<row>
- <name>Visits by Day of Week</name>
+ <name>Visits by day of the week</name>
<module>VisitTime</module>
<action>getByDayOfWeek</action>
</row>
@@ -808,7 +808,7 @@
<name>Visits per hour in the site's timezone</name>
<module>VisitTime</module>
<action>getVisitInformationPerServerTime</action>
- <dimension>Site time - hour (Start of visit)</dimension>
+ <dimension>Site time — hour (start of visit)</dimension>
<documentation>This graph shows what time it was in the &lt;strong&gt; site's time zone &lt;/strong&gt; during the visits.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
@@ -845,7 +845,7 @@
<row>
<category>Visitors</category>
<subcategory>Times</subcategory>
- <name>Visits by Day of Week</name>
+ <name>Visits by day of the week</name>
<module>VisitTime</module>
<action>getByDayOfWeek</action>
<dimension>Day of the week</dimension>
@@ -1580,11 +1580,11 @@
<row>
<category>Actions</category>
<subcategory>Engagement</subcategory>
- <name>Length of Visits</name>
+ <name>Length of visits</name>
<module>VisitorInterest</module>
<action>getNumberOfVisitsPerVisitDuration</action>
<dimension>Visit duration</dimension>
- <documentation>In this report, you can see how many visits had a certain total duration. Initially, the report is shown as a tag cloud, more common durations are displayed in a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
+ <documentation>How many visits had a certain total duration. Initially, the report is shown as a tag cloud, wherein more common durations have a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
</metrics>
@@ -1598,11 +1598,11 @@
<row>
<category>Actions</category>
<subcategory>Engagement</subcategory>
- <name>Pages per Visit</name>
+ <name>Pages per visit</name>
<module>VisitorInterest</module>
<action>getNumberOfVisitsPerPage</action>
<dimension>Pages per visit</dimension>
- <documentation>In this report, you can see how many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, more common numbers of pages are displayed in a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
+ <documentation>How many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, wherein more common numbers of pages have a larger font.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
</metrics>
@@ -1616,11 +1616,11 @@
<row>
<category>Actions</category>
<subcategory>Engagement</subcategory>
- <name>Visits by Visit Number</name>
+ <name>Visits by visit number</name>
<module>VisitorInterest</module>
<action>getNumberOfVisitsByVisitCount</action>
- <dimension>Visits by Visit Number</dimension>
- <documentation>In this report, you can see the number of visits who were the Nth visit, ie. visitors who visited your website at least N times.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
+ <dimension>Visits by visit number</dimension>
+ <documentation>The number of visitors reaching their Nth visit. I.e. the total amount of visitors visiting your website a given amount of times or more.&lt;br /&gt;Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
</metrics>
@@ -1641,7 +1641,7 @@
<module>VisitorInterest</module>
<action>getNumberOfVisitsByDaysSinceLast</action>
<dimension>Days since last visit</dimension>
- <documentation>In this report, you can see how many visits were from visitors whose last visit was a certain number of days ago.</documentation>
+ <documentation>How many visits were from returning visitors whose last visit was a certain number of days ago.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
</metrics>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml
index 5f77407349..1adc347ff9 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml
@@ -45,7 +45,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Visit Number</name>
+ <name>Visits by visit number</name>
<module>VisitorInterest</module>
<action>getNumberOfVisitsByVisitCount</action>
<order>125</order>
@@ -59,7 +59,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Days Since Last Visit</name>
+ <name>Visits by days since last visit</name>
<module>VisitorInterest</module>
<action>getNumberOfVisitsByDaysSinceLast</action>
<order>130</order>
@@ -1160,7 +1160,7 @@
<id>VisitTime_SubmenuTimes</id>
<name>Times</name>
<order>35</order>
- <help>&lt;p&gt;The Times section shows you when people are visiting your site. You can see the most popular local times your users visit at, so you can understand where your site fits into their life. Additionally, it shows the most popular server times, which can reveal demands on your technology stack.&lt;/p&gt;</help>
+ <help>&lt;p&gt;The &quot;Times&quot; section shows when people visit your site. Popular local times helps you cater your site to their lives. The most popular server times reveals technical demand.&lt;/p&gt;</help>
</subcategory>
<widgets>
<row>
@@ -1192,7 +1192,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Day of Week</name>
+ <name>Visits by day of the week</name>
<module>VisitTime</module>
<action>getByDayOfWeek</action>
<order>125</order>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
index e579fe47e2..75d1c0a56c 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
@@ -34,7 +34,7 @@
<row>
<type>metric</type>
<category>Visitors</category>
- <name>Local time - minute (Start of visit)</name>
+ <name>Local time — minute (start of visit)</name>
<segment>visitLocalMinute</segment>
<acceptedValues>0, 1, 2, 3, ..., 67, 57, 58, 59</acceptedValues>
</row>
@@ -124,7 +124,7 @@
<category>Visitors</category>
<name>Device brand</name>
<segment>deviceBrand</segment>
- <acceptedValues>2E, 3GNET, 3GO, 3Q, 4Good, 4ife, 7 Mobile, 360, 8848, A1, Accent, Ace, Acer, Acteck, Adronix, Advan, Advance, AfriOne, AGM, AG Mobile, AIDATA, Ainol, Airness, AIRON, Airties, AIS, Aiuto, Aiwa, Akai, AKIRA, Alba, Alcatel, Alcor, ALDI NORD, ALDI SÜD, Alfawise, Aligator, AllCall, AllDocube, Allview, Allwinner, Alps, Altech UEC, Altice, altron, Amazon, AMCV, AMGOO, Amigoo, Amino, Amoi, Andowl, Angelcare, Anker, Anry, ANS, AOC, Aocos, AOpen, Aoson, AOYODKG, Apple, Archos, Arian Space, Ark, ArmPhone, Arnova, ARRIS, Artel, Artizlee, ArtLine, Asano, Asanzo, Ask, Aspera, Assistant, Astro, Asus, AT&amp;T, Atmaca Elektronik, Atom, Atvio, Audiovox, AURIS, Autan, Avenzo, AVH, Avvio, Awow, Axioo, Axxion, Azumi Mobile, b2m, BangOlufsen, Barnes &amp; Noble, BBK, BB Mobile, BDF, BDQ, Becker, Beeline, Beelink, Beetel, Beista, Bellphone, Benco, BenQ, BenQ-Siemens, Benzo, Beyond, Bezkam, BGH, Bigben, BIHEE, BilimLand, Billion, BioRugged, Bird, Bitel, Bitmore, Bkav, Black Bear, Black Fox, Blackview, Blaupunkt, Bleck, Blloc, Blow, Blu, Bluboo, Bluebird, Bluedot, Bluegood, Bluewave, BMAX, Bmobile, Bobarry, bogo, Boway, bq, Brandt, Bravis, BrightSign, Brondi, BS Mobile, Bubblegum, Bundy, Bush, CAGI, Camfone, Canal Digital, Capitel, Captiva, Carrefour, Casio, Casper, Cat, Cavion, Celcus, Celkon, Cell-C, CellAllure, Cellution, Centric, CG Mobile, CGV, Changhong, Cherry Mobile, Chico Mobile, China Mobile, China Telecom, Chuwi, Claresta, Clarmin, ClearPHONE, Clementoni, Cloud, Cloudfone, Cloudpad, Clout, CnM, Cobalt, Coby Kyros, Colors, Comio, Compal, Compaq, ComTrade Tesla, Concord, ConCorde, Condor, Connectce, Connex, Conquest, Contixo, Coolpad, CORN, Cosmote, Covia, Cowon, CreNova, Crescent, Cricket, Crius Mea, Crony, Crosscall, Crown, Cube, CUBOT, CVTE, Cyrus, Daewoo, Danew, Datalogic, Datamini, Datang, Datawind, Datsun, Dazen, Dbtel, Dell, Denver, Desay, DeWalt, DEXP, DF, Dialog, Dicam, Digi, Digicel, DIGIFORS, Digihome, Digiland, Digma, DING DING, DISH, Ditecma, Diva, Divisat, DIXON, DMM, DNS, DoCoMo, Doffler, Dolamee, Doogee, Doopro, Doov, Dopod, Doppio, DORLAND, Doro, Dragon Touch, Dreamgate, Droxio, Dune HD, DUNNS Mobile, E-Boda, E-Ceros, E-tel, Eagle, Easypix, EBEST, Echo Mobiles, ecom, ECON, ECS, EE, Einstein, EKO, Eks Mobility, EKT, ELARI, Electroneum, ELECTRONIA, Elekta, Element, Elenberg, Elephone, Eltex, Ematic, Energizer, Energy Sistem, Engel, Enot, Epik One, Epson, Ergo, Ericsson, Ericy, Erisson, Essential, Essentielb, eSTAR, Eton, eTouch, Etuline, Eurocase, Eurostar, Evercoss, Evertek, Evolio, Evolveo, Evoo, EVPAD, EvroMedia, EWIS, EXCEED, Exmart, ExMobile, EXO, Explay, Extrem, Ezio, Ezze, F&amp;U, F2 Mobile, F150, Facebook, Fairphone, Famoco, Fantec, FaRao Pro, FarEasTone, Fengxiang, FEONAL, Fero, FiGi, FiGO, FiiO, FinePower, Finlux, FireFly Mobile, FISE, Fly, FLYCAT, FMT, FNB, FNF, Fondi, Fonos, FORME, Formuler, Forstar, Fortis, Fourel, Four Mobile, Foxconn, Freetel, Fuego, Fujitsu, Funai, Fusion5, G-TiDE, G-Touch, Galaxy Innovations, Garmin-Asus, Gateway, Gemini, General Mobile, Genesis, GEOFOX, Geotel, Geotex, GFive, Ghia, Ghong, Ghost, Gigabyte, Gigaset, Gini, Ginzzu, Gionee, Globex, Glofiish, GLONYX, GLX, GOCLEVER, Gocomma, GoGEN, Gol Mobile, Goly, Gome, GoMobile, Google, Goophone, Gooweel, Gplus, Gradiente, Grape, Gree, Greentel, Gresso, Gretel, Grundig, Gtel, H96, Hafury, Haier, Hamlet, HannSpree, Hardkernel, Hasee, Helio, HERO, Hezire, Hi, Hi-Level, High Q, Highscreen, HiMax, Hi Nova, Hipstreet, Hisense, Hitachi, Hitech, HKPro, Hoffmann, Hometech, Homtom, Honeywell, Hoozo, Horizon, Horizont, Hosin, Hotel, Hot Pepper, Hotwav, How, HP, HTC, Huadoo, Huavi, Huawei, Humax, Hurricane, Huskee, Hyrican, Hyundai, Hyve, i-Cherry, i-Joy, i-mate, i-mobile, iBall, iBerry, iBrit, IconBIT, iData, iDroid, iGet, iHunt, Ikea, IKI Mobile, iKoMo, iKon, IKU Mobile, iLA, iLife, iMan, iMars, IMO Mobile, Impression, INCAR, Inch, Inco, iNew, Infinix, InFocus, InfoKit, Inkti, InnJoo, Innos, Innostream, Inoi, INQ, Insignia, INSYS, Intek, Intex, Invens, Inverto, Invin, iOcean, iOutdoor, iPEGTOP, iPro, iQ&amp;T, IQM, IRA, Irbis, Iris, iRola, iRulu, iSafe Mobile, iSWAG, IT, iTel, iTruck, IUNI, iVA, iView, iVooMi, ivvi, iZotron, JAY-Tech, Jedi, Jeka, Jesy, JFone, Jiake, Jiayu, Jinga, Jio, Jivi, JKL, Jolla, Jumper, Juniper Systems, Just5, JVC, K-Touch, Kaan, Kaiomy, Kalley, Kanji, Karbonn, Kata, KATV1, Kazam, Kazuna, KDDI, Kempler &amp; Strauss, Keneksi, Kenxinda, Kiano, Kingbox, Kingsun, KINGZONE, Kiowa, Kivi, Klipad, Kocaso, Kodak, Kogan, Komu, Konka, Konrow, Koobee, Koolnee, Kooper, KOPO, Koridy, Koslam, KREZ, KRIP, KRONO, Krüger&amp;Matz, KT-Tech, KUBO, Kuliao, Kult, Kumai, Kurio, Kvant, Kyocera, Kyowon, Kzen, L-Max, LAIQ, Land Rover, Landvo, Lanix, Lark, Laurus, Lava, LCT, Leader Phone, Leagoo, Leben, Ledstar, LeEco, Leff, LEMFO, Lemhoov, Lenco, Lenovo, Leotec, Le Pan, Lephone, Lesia, Lexand, Lexibook, LG, Liberton, Lifemaxx, Lingwin, Linnex, Linsar, Loewe, Logic, Logicom, Loview, LT Mobile, Lumigon, Lumus, Luna, Luxor, LYF, M-Horse, M-Tech, M.T.T., M4tel, MAC AUDIO, Macoox, Mafe, Magicsee, Magnus, Majestic, Malata, Manhattan, Mann, Manta Multimedia, Mantra, Mara, Massgo, Masstel, Mastertech, Matrix, Maxcom, Maximus, Maxtron, MAXVI, Maxwest, Maze, Maze Speed, MBOX, MDC Store, MDTV, meanIT, Mecer, Mecool, Mediacom, MediaTek, Medion, MEEG, MegaFon, Meitu, Meizu, Melrose, Memup, Metz, MEU, MicroMax, Microsoft, Microtech, Minix, Mintt, Mio, Mione, Miray, Mito, Mitsubishi, Mitsui, MIVO, MIXC, MiXzo, MLLED, MLS, MMI, Mobicel, MobiIoT, Mobiistar, Mobiola, Mobistel, MobiWire, Mobo, Modecom, Mofut, Motorola, Movic, mPhone, Mpman, MSI, MStar, MTC, MTN, Multilaser, MYFON, MyGica, Mymaga, MyPhone, Myria, Myros, Mystery, MyTab, MyWigo, Nabi, Naomi Phone, National, Navcity, Navitech, Navitel, Navon, NavRoad, NEC, Necnot, Neffos, Neo, Neomi, Neon IQ, Netgear, NeuImage, New Balance, Newgen, Newland, Newman, Newsday, NewsMy, Nexa, NEXBOX, Nexian, NEXON, Nextbit, NextBook, NextTab, NGM, NG Optics, Nikon, Nintendo, NOA, Noain, Nobby, Noblex, NOBUX, NOGA, Nokia, Nomi, Nomu, Noontec, Nordmende, NorthTech, Nos, Nous, Novex, NuAns, Nubia, NUU Mobile, Nuvo, Nvidia, NYX Mobile, O+, O2, Oale, OASYS, Obabox, Obi, Oculus, Odys, OINOM, Ok, Okapia, OKSI, OKWU, OMIX, Onda, OnePlus, Onix, Onkyo, ONN, ONYX BOOX, Ookee, OpelMobile, Openbox, OPPO, Opsson, Orange, Orbic, Orbita, Ordissimo, Orion, Ouki, Oukitel, OUYA, Overmax, Ovvi, Owwo, Oysters, Oyyu, OzoneHD, P-UP, Packard Bell, Paladin, Palm, Panacom, Panasonic, Pantech, Parrot Mobile, PCBOX, PCD, PCD Argentina, PEAQ, Pendoo, Pentagram, Perfeo, Phicomm, Philco, Philips, Phonemax, phoneOne, Pico, Pioneer, PiPO, Pixela, Pixelphone, Pixus, Planet Computers, Ployer, Plum, Pluzz, PocketBook, POCO, Point Mobile, Point of View, Polar, PolarLine, Polaroid, Polestar, PolyPad, Polytron, Pomp, Poppox, POPTEL, Porsche, Positivo, Positivo BGH, PPTV, Premio, Prestigio, Primepad, Primux, Prixton, PROFiLO, Proline, Prology, ProScan, Protruly, ProVision, PULID, Purism, Q-Box, Q-Touch, Q.Bell, Qilive, QMobile, Qnet Mobile, QTECH, Qtek, Quantum, Qubo, Quechua, Qumo, R-TV, Rakuten, Ramos, Raspberry, Ravoz, Razer, RCA Tablets, Reach, Readboy, Realme, RED, Redfox, Reeder, REGAL, Remdun, Retroid Pocket, Revo, Rikomagic, RIM, Rinno, Ritmix, Ritzviva, Riviera, Rivo, Roadrover, Rokit, Roku, Rombica, Ross&amp;Moor, Rover, RoverPad, Royole, RoyQueen, RT Project, RugGear, Ruio, Runbo, Ryte, S-TELL, S2Tel, Saba, Safaricom, Sagem, Saiet, Salora, Samsung, Sanei, Sansui, Santin, Sanyo, Savio, SCBC, Schneider, Schok, Seatel, Seeken, SEG, Sega, Selecline, Selenga, Selevision, Selfix, SEMP TCL, Sencor, Sendo, Senkatel, Senseit, Senwa, Seuic, SFR, Shanling, Sharp, Shift Phones, Shivaki, Shtrikh-M, Shuttle, Sico, Siemens, Sigma, Silelis, Silent Circle, Simbans, Simply, Singtech, Siragon, Sirin labs, SK Broadband, SKG, Sky, Skyworth, Smadl, Smailo, Smart, Smartab, SmartBook, SMARTEC, Smart Electronic, Smartfren, Smartisan, Smarty, Smooth Mobile, Smotreshka, Softbank, Soho Style, SOLE, SOLO, Solone, Sonim, SONOS, Sony, Sony Ericsson, Soundmax, Soyes, Spark, SPC, Spectralink, Spectrum, Spice, Sprint, SQOOL, Star, Starlight, Starmobile, Starway, Starwind, STF Mobile, STG Telecom, STK, Stonex, Storex, StrawBerry, STRONG, Stylo, Subor, Sugar, Sumvision, Sunmi, Sunny, Sunstech, SunVan, Sunvell, SUNWIND, SuperSonic, SuperTab, Supra, Suzuki, Swipe, SWISSMOBILITY, Swisstone, SWTV, Symphony, Syrox, T-Mobile, TAG Tech, Taiga System, Takara, Tambo, Tanix, TB Touch, TCL, TD Systems, Technicolor, Technika, TechniSat, Technopc, TechnoTrend, TechPad, Techwood, Teclast, Tecno Mobile, TEENO, Teknosa, Tele2, Telefunken, Telego, Telenor, Telia, Telit, Telpo, Tesco, Tesla, Tetratab, teXet, ThL, Thomson, Thuraya, TIANYU, Tigers, Time2, Timovi, Tinai, Tinmo, TiPhone, TiVo, TOKYO, Tolino, Tone, Tooky, Topelotek, Top House, Toplux, Topway, Torex, TOSCIDO, Toshiba, Touchmate, Transpeed, TrekStor, Trevi, Trident, Trifone, Trio, Tronsmart, True, True Slim, TTEC, TuCEL, Tunisie Telecom, Turbo, Turbo-X, TurboKids, TurboPad, Turkcell, TVC, TWM, Twoe, TWZ, Tymes, Türk Telekom, U-Magic, U.S. Cellular, Ugoos, Uhans, Uhappy, Ulefone, Umax, UMIDIGI, Unihertz, Unimax, Uniscope, UNIWA, Unknown, Unnecto, UNNO, Unonu, Unowhy, Urovo, UTime, UTOK, UTStarcom, UZ Mobile, v-mobile, VAIO, Vankyo, Vargo, Vastking, VAVA, VC, VDVD, Vega, Venso, Venturer, VEON, Verico, Verizon, Vernee, Verssed, Vertex, Vertu, Verykool, Vesta, Vestel, Vexia, VGO TEL, Videocon, Videoweb, ViewSonic, Vinabox, Vinga, Vinsoc, Vios, Vipro, Virzo, Vision Touch, Vitelcom, Viumee, Vivax, Vivo, VIWA, Vizio, VK Mobile, VKworld, Vodacom, Vodafone, Vonino, Vontar, Vorago, Vorcom, Vorke, Voto, VOX, Voxtel, Voyo, Vsmart, Vsun, Vulcan, VVETIME, Walton, WE, Web TV, Weimei, WellcoM, WELLINGTON, Western Digital, Westpoint, Wexler, Wieppo, Wigor, Wiko, Wileyfox, Winds, Wink, Winmax, Winnovo, Wintouch, Wiseasy, WIWA, Wizz, Wolder, Wolfgang, Wolki, Wonu, Woo, Wortmann, Woxter, X-BO, X-TIGI, X-View, X.Vision, XGIMI, Xgody, Xiaolajiao, Xiaomi, Xion, Xolo, Xoro, Xshitou, Xtouch, Xtratech, Yandex, Yarvik, YASIN, Yes, Yezz, Yoka TV, Yota, YOTOPT, Ytone, Yu, Yuandao, YUHO, Yuno, Yusun, Yxtel, Zaith, Zatec, Zebra, Zeemi, Zen, Zenek, Zentality, Zfiner, ZH&amp;K, Zidoo, ZIFRO, Ziox, Zonda, Zopo, ZTE, Zuum, Zync, ZYQ, Zyrex, öwn</acceptedValues>
+ <acceptedValues>2E, 3GNET, 3GO, 3Q, 4Good, 4ife, 7 Mobile, 360, 8848, A1, Accent, Ace, Acer, Acteck, Adronix, Advan, Advance, AFFIX, AfriOne, AGM, AG Mobile, AIDATA, Ainol, Airness, AIRON, Airtel, Airties, AIS, Aiuto, Aiwa, Akai, AKIRA, Alba, Alcatel, Alcor, ALDI NORD, ALDI SÜD, Alfawise, Aligator, AllCall, AllDocube, Allview, Allwinner, Alps, Altech UEC, Altice, altron, Amazon, AMCV, AMGOO, Amigoo, Amino, Amoi, Andowl, Angelcare, Anker, Anry, ANS, AOC, Aocos, AOpen, Aoro, Aoson, AOYODKG, Apple, Aquarius, Archos, Arian Space, Ark, ArmPhone, Arnova, ARRIS, Artel, Artizlee, ArtLine, Asano, Asanzo, Ask, Aspera, Assistant, Astro, Asus, AT&amp;T, Atmaca Elektronik, ATMAN, Atom, Atvio, Audiovox, AURIS, Autan, AUX, Avenzo, AVH, Avvio, Awow, Axioo, Axxion, AYYA, Azumi Mobile, b2m, BangOlufsen, Barnes &amp; Noble, BBK, BB Mobile, BDF, BDQ, BDsharing, Becker, Beeline, Beelink, Beetel, Beista, Bellphone, Benco, Benesse, BenQ, BenQ-Siemens, Benzo, Beyond, Bezkam, BGH, Bigben, BIHEE, BilimLand, Billion, BioRugged, Bird, Bitel, Bitmore, Bittium, Bkav, Black Bear, Black Fox, Blackview, Blaupunkt, Bleck, Blloc, Blow, Blu, Bluboo, Bluebird, Bluedot, Bluegood, Bluewave, BMAX, Bmobile, Bobarry, bogo, Boway, bq, Brandt, Bravis, BrightSign, Brondi, BROR, BS Mobile, Bubblegum, Bundy, Bush, CAGI, Camfone, Canal Digital, Capitel, Captiva, Carrefour, Casio, Casper, Cat, Cavion, Celcus, Celkon, Cell-C, CellAllure, Cellution, Centric, CG Mobile, CGV, Changhong, Cherry Mobile, Chico Mobile, China Mobile, China Telecom, Chuwi, Claresta, Clarmin, ClearPHONE, Clementoni, Cloud, Cloudfone, Cloudpad, Clout, CnM, Cobalt, Coby Kyros, Colors, Comio, Compal, Compaq, COMPUMAX, ComTrade Tesla, Concord, ConCorde, Condor, Connectce, Connex, Conquest, Contixo, Coolpad, CORN, Cosmote, Covia, Cowon, COYOTE, CreNova, Crescent, Cricket, Crius Mea, Crony, Crosscall, Crown, Cube, CUBOT, CVTE, Cyrus, Daewoo, Danew, Datalogic, Datamini, Datang, Datawind, Datsun, Dazen, Dbtel, Dell, Denver, Desay, DeWalt, DEXP, DF, Dialog, Dicam, Digi, Digicel, DIGIFORS, Digihome, Digiland, Digma, DING DING, DISH, Ditecma, Diva, Divisat, DIXON, DMM, DNS, DoCoMo, Doffler, Dolamee, Doogee, Doopro, Doov, Dopod, Doppio, DORLAND, Doro, Dragon Touch, Dreamgate, Droxio, Dune HD, DUNNS Mobile, E-Boda, E-Ceros, E-tel, Eagle, Easypix, EBEN, EBEST, Echo Mobiles, ecom, ECON, ECS, EE, EGL, Einstein, EKO, Eks Mobility, EKT, ELARI, Electroneum, ELECTRONIA, Elekta, Element, Elenberg, Elephone, Eltex, Ematic, Energizer, Energy Sistem, Engel, Enot, Epik One, Epson, Ergo, Ericsson, Ericy, Erisson, Essential, Essentielb, eSTAR, Eton, eTouch, Etuline, Eurocase, Eurostar, Evercoss, Evertek, Evolio, Evolveo, Evoo, EVPAD, EvroMedia, EWIS, EXCEED, Exmart, ExMobile, EXO, Explay, Extrem, EYU, Ezio, Ezze, F&amp;U, F2 Mobile, F150, Facebook, Fairphone, Famoco, Fantec, FaRao Pro, FarEasTone, Fengxiang, FEONAL, Fero, FiGi, FiGO, FiiO, FinePower, Finlux, FireFly Mobile, FISE, Fly, FLYCAT, FMT, FNB, FNF, Fondi, Fonos, FOODO, FORME, Formuler, Forstar, Fortis, Fourel, Four Mobile, Foxconn, Freetel, Fuego, Fujitsu, Funai, Fusion5, Future Mobile Technology, G-TiDE, G-Touch, Galaxy Innovations, Garmin-Asus, Gateway, Gemini, General Mobile, Genesis, GEOFOX, Geotel, Geotex, GFive, Ghia, Ghong, Ghost, Gigabyte, Gigaset, Gini, Ginzzu, Gionee, Globex, Glofiish, GLONYX, GLX, GOCLEVER, Gocomma, GoGEN, Gol Mobile, Goly, Gome, GoMobile, Google, Goophone, Gooweel, Gplus, Gradiente, Grape, Gree, Greentel, Gresso, Gretel, Grundig, Gtel, H96, Hafury, Haier, Haipai, Hamlet, HannSpree, HAOVM, Hardkernel, Hasee, Helio, HERO, Hezire, Hi, Hi-Level, High Q, Highscreen, HiMax, Hi Nova, Hipstreet, Hisense, Hitachi, Hitech, HKPro, Hoffmann, Hometech, Homtom, Honeywell, Hoozo, Horizon, Horizont, Hosin, Hotel, Hot Pepper, HOTREALS, Hotwav, How, HP, HTC, Huadoo, Huagan, Huavi, Huawei, Humax, Hurricane, Huskee, Hyrican, Hyundai, Hyve, i-Cherry, i-Joy, i-mate, i-mobile, iBall, iBerry, iBrit, IconBIT, iData, iDroid, iGet, iHunt, Ikea, IKI Mobile, iKoMo, iKon, IKU Mobile, iLA, iLife, iMan, iMars, IMO Mobile, Impression, INCAR, Inch, Inco, iNew, Infinix, InFocus, InfoKit, Inkti, InnJoo, Innos, Innostream, Inoi, INQ, Insignia, INSYS, Intek, Intex, Invens, Inverto, Invin, iOcean, iOutdoor, iPEGTOP, iPro, iQ&amp;T, IQM, IRA, Irbis, Iris, iRola, iRulu, iSafe Mobile, iSWAG, IT, iTel, iTruck, IUNI, iVA, iView, iVooMi, ivvi, iWaylink, iZotron, JAY-Tech, Jedi, Jeka, Jesy, JFone, Jiake, Jiayu, Jinga, Jio, Jivi, JKL, Jolla, Joy, Jumper, Juniper Systems, Just5, JVC, K-Touch, Kaan, Kaiomy, Kalley, Kanji, Karbonn, Kata, KATV1, Kazam, Kazuna, KDDI, Kempler &amp; Strauss, Keneksi, Kenxinda, Kiano, Kingbox, Kingsun, KINGZONE, Kiowa, Kivi, Klipad, Kocaso, Kodak, Kogan, Komu, Konka, Konrow, Koobee, Koolnee, Kooper, KOPO, Koridy, Koslam, KREZ, KRIP, KRONO, Krüger&amp;Matz, KT-Tech, KUBO, Kuliao, Kult, Kumai, Kurio, Kvant, Kyocera, Kyowon, Kzen, L-Max, LAIQ, Land Rover, Landvo, Lanix, Lark, Laurus, Lava, LCT, Leader Phone, Leagoo, Leben, Ledstar, LeEco, Leff, Leke, LEMFO, Lemhoov, Lenco, Lenovo, Leotec, Le Pan, Lephone, Lesia, Lexand, Lexibook, LG, Liberton, Lifemaxx, Lingwin, Linnex, Linsar, Listo, Loewe, Logic, Logic Instrument, Logicom, LOKMAT, Loview, LT Mobile, Lumigon, Lumus, Luna, Luxor, LYF, M-Horse, M-Tech, M.T.T., M4tel, MAC AUDIO, Macoox, Mafe, Magicsee, Magnus, Majestic, Malata, Manhattan, Mann, Manta Multimedia, Mantra, Mara, Massgo, Masstel, Mastertech, Matrix, Maxcom, Maximus, Maxtron, MAXVI, Maxwest, MAXX, Maze, Maze Speed, MBI, MBOX, MDC Store, MDTV, meanIT, Mecer, Mecool, Mediacom, MediaTek, Medion, MEEG, MegaFon, Meitu, Meizu, Melrose, Memup, Metz, MEU, MicroMax, Microsoft, Microtech, Minix, Mintt, Mio, Mione, Miray, Mito, Mitsubishi, Mitsui, MIVO, MIXC, MiXzo, MLLED, MLS, MMI, Mobicel, MobiIoT, Mobiistar, Mobiola, Mobistel, MobiWire, Mobo, Modecom, Mofut, Motorola, Movic, mPhone, Mpman, MSI, MStar, MTC, MTN, Multilaser, MYFON, MyGica, Mymaga, MyPhone, Myria, Myros, Mystery, MyTab, MyWigo, Nabi, Naomi Phone, National, Navcity, Navitech, Navitel, Navon, NavRoad, NEC, Necnot, Neffos, Neo, Neolix, Neomi, Neon IQ, Netgear, NeuImage, New Balance, Newgen, Newland, Newman, Newsday, NewsMy, Nexa, NEXBOX, Nexian, NEXON, Nextbit, NextBook, NextTab, NGM, NG Optics, Nikon, Nintendo, NOA, Noain, Nobby, Noblex, NOBUX, NOGA, Nokia, Nomi, Nomu, Noontec, Nordmende, NorthTech, Nos, Nous, Novex, NuAns, Nubia, NUU Mobile, Nuvo, Nvidia, NYX Mobile, O+, O2, Oale, OASYS, Obabox, Obi, Oculus, Odys, OINOM, Ok, Okapia, OKSI, OKWU, OMIX, Onda, OnePlus, Onix, Onkyo, ONN, ONYX BOOX, Ookee, OpelMobile, Openbox, OPPO, Opsson, Orange, Orbic, Orbita, Ordissimo, Orion, OUJIA, Ouki, Oukitel, OUYA, Overmax, Ovvi, Owwo, OYSIN, Oysters, Oyyu, OzoneHD, P-UP, Packard Bell, Paladin, Palm, Panacom, Panasonic, Pantech, Parrot Mobile, PCBOX, PCD, PCD Argentina, PEAQ, Pelitt, Pendoo, Pentagram, Perfeo, Phicomm, Philco, Philips, Phonemax, phoneOne, Pico, Pioneer, PiPO, Pixela, Pixelphone, Pixus, Planet Computers, Ployer, Plum, Pluzz, PocketBook, POCO, Point Mobile, Point of View, Polar, PolarLine, Polaroid, Polestar, PolyPad, Polytron, Pomp, Poppox, POPTEL, Porsche, Positivo, Positivo BGH, PPTV, Premio, Prestigio, Primepad, Primux, Prixton, PROFiLO, Proline, Prology, ProScan, Protruly, ProVision, PULID, Purism, Q-Box, Q-Touch, Q.Bell, Qilive, QLink, QMobile, Qnet Mobile, QTECH, Qtek, Quantum, Qubo, Quechua, Qumo, Qware, R-TV, Rakuten, Ramos, Raspberry, Ravoz, Razer, RCA Tablets, Reach, Readboy, Realme, RED, Redfox, Reeder, REGAL, Remdun, Retroid Pocket, Revo, Rikomagic, RIM, Rinno, Ritmix, Ritzviva, Riviera, Rivo, ROADMAX, Roadrover, Rokit, Roku, Rombica, Ross&amp;Moor, Rover, RoverPad, Royole, RoyQueen, RT Project, RugGear, Ruio, Runbo, Ryte, S-TELL, S2Tel, Saba, Safaricom, Sagem, Saiet, Salora, Samsung, Sanei, Sansui, Santin, Sanyo, Savio, SCBC, Schneider, Schok, Seatel, Seeken, SEG, Sega, Selecline, Selenga, Selevision, Selfix, SEMP TCL, Sencor, Sendo, Senkatel, Senseit, Senwa, Seuic, SFR, Shanling, Sharp, Shift Phones, Shivaki, Shtrikh-M, Shuttle, Sico, Siemens, Sigma, Silelis, Silent Circle, Simbans, Simply, Singtech, Siragon, Sirin labs, SK Broadband, SKG, Sky, Skyworth, Smadl, Smailo, Smart, Smartab, SmartBook, SMARTEC, Smart Electronic, Smartfren, Smartisan, Smarty, Smooth Mobile, Smotreshka, Softbank, Soho Style, SOLE, SOLO, Solone, Sonim, SONOS, Sony, Sony Ericsson, Soundmax, Soyes, Spark, SPC, Spectralink, Spectrum, Spice, Sprint, SQOOL, Star, Starlight, Starmobile, Starway, Starwind, STF Mobile, STG Telecom, STK, Stonex, Storex, StrawBerry, STRONG, Stylo, Subor, Sugar, Sumvision, Sunmi, Sunny, Sunstech, SunVan, Sunvell, SUNWIND, SuperSonic, SuperTab, Supra, Suzuki, Swipe, SWISSMOBILITY, Swisstone, SWTV, Sylvania, Symphony, Syrox, T-Mobile, TAG Tech, Taiga System, Takara, Tambo, Tanix, TB Touch, TCL, TD Systems, TD Tech, Technicolor, Technika, TechniSat, Technopc, TechnoTrend, TechPad, Techwood, Teclast, Tecno Mobile, TEENO, Teknosa, Tele2, Telefunken, Telego, Telenor, Telia, Telit, Telpo, TENPLUS, Tesco, Tesla, Tetratab, teXet, ThL, Thomson, Thuraya, TIANYU, Tigers, Time2, Timovi, Tinai, Tinmo, TiPhone, TiVo, TJC, TOKYO, Tolino, Tone, Tooky, Topelotek, Top House, Toplux, Topway, Torex, TOSCIDO, Toshiba, Touchmate, Transpeed, TrekStor, Trevi, Trident, Trifone, Trio, Tronsmart, True, True Slim, TTEC, TuCEL, Tunisie Telecom, Turbo, Turbo-X, TurboKids, TurboPad, Turkcell, TVC, TWM, Twoe, TWZ, Tymes, Türk Telekom, U-Magic, U.S. Cellular, Ugoos, Uhans, Uhappy, Ulefone, Umax, UMIDIGI, Unihertz, Unimax, Uniscope, UNIWA, Unknown, Unnecto, UNNO, Unonu, Unowhy, Urovo, UTime, UTOK, UTStarcom, UZ Mobile, v-mobile, VAIO, Vankyo, Vargo, Vastking, VAVA, VC, VDVD, Vega, Venso, Venturer, VEON, Verico, Verizon, Vernee, Verssed, Vertex, Vertu, Verykool, Vesta, Vestel, Vexia, VGO TEL, Videocon, Videoweb, ViewSonic, Vinabox, Vinga, Vinsoc, Vios, Vipro, Virzo, Vision Touch, Vitelcom, Viumee, Vivax, Vivo, VIWA, Vizio, VK Mobile, VKworld, Vodacom, Vodafone, VOGA, Vonino, Vontar, Vorago, Vorcom, Vorke, Vortex, Voto, VOX, Voxtel, Voyo, Vsmart, Vsun, VUCATIMES, Vulcan, VVETIME, Walton, WE, Web TV, Weimei, WellcoM, WELLINGTON, Western Digital, Westpoint, Wexler, Wieppo, Wigor, Wiko, Wileyfox, Winds, Wink, Winmax, Winnovo, Wintouch, Wiseasy, WIWA, Wizz, Wolder, Wolfgang, Wolki, Wonu, Woo, Wortmann, Woxter, X-AGE, X-BO, X-TIGI, X-View, X.Vision, XGIMI, Xgody, Xiaodu, Xiaolajiao, Xiaomi, Xion, Xolo, Xoro, Xshitou, Xtouch, Xtratech, Yandex, Yarvik, YASIN, YEPEN, Yes, Yezz, Yoka TV, Yota, YOTOPT, Ytone, Yu, Yuandao, YU Fly, YUHO, Yuno, Yusun, Yxtel, Zaith, Zatec, Zebra, Zeeker, Zeemi, Zen, Zenek, Zentality, Zfiner, ZH&amp;K, Zidoo, ZIFRO, Ziox, Zonda, Zonko, Zopo, ZTE, Zuum, Zync, ZYQ, Zyrex, öwn</acceptedValues>
</row>
<row>
<type>dimension</type>
@@ -151,7 +151,7 @@
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Local time - hour (Start of visit)</name>
+ <name>Local time — hour (start of visit)</name>
<segment>visitLocalHour</segment>
<acceptedValues>0, 1, 2, 3, ..., 20, 21, 22, 23</acceptedValues>
</row>
@@ -193,91 +193,91 @@
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Site time - hour (Start of visit)</name>
+ <name>Site time — hour (start of visit)</name>
<segment>visitStartServerHour</segment>
<acceptedValues>0, 1, 2, 3, ..., 20, 21, 22, 23</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Site time - hour (Time of last action)</name>
+ <name>Site time — hour (time of last action)</name>
<segment>visitServerHour</segment>
<acceptedValues>0, 1, 2, 3, ..., 20, 21, 22, 23</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - date (Time of last action)</name>
+ <name>Time in UTC — date (time of last action)</name>
<segment>visitEndServerDate</segment>
<acceptedValues>2018-12-31, 2018-03-20, ...</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - day of month (Time of last action)</name>
+ <name>Time in UTC — day of month (time of last action)</name>
<segment>visitEndServerDayOfMonth</segment>
<acceptedValues>0, 1, 2, 3, ..., 29, 30, 31</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - day of week (Time of last action)</name>
+ <name>Time in UTC — day of week (time of last action)</name>
<segment>visitEndServerDayOfWeek</segment>
<acceptedValues>1, 2, 3, 4, 5, 6, 7</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - day of year (Time of last action)</name>
+ <name>Time in UTC — day of year (time of last action)</name>
<segment>visitEndServerDayOfYear</segment>
<acceptedValues>1, 2, 3, 4, ..., 365, 366</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - minute (Start of visit)</name>
+ <name>Time in UTC — minute (start of visit)</name>
<segment>visitStartServerMinute</segment>
<acceptedValues>0, 1, 2, 3, ..., 56, 57, 58, 59</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - minute (Time of last action)</name>
+ <name>Time in UTC — minute (time of last action)</name>
<segment>visitEndServerMinute</segment>
<acceptedValues>0, 1, 2, 3, ..., 56, 57, 58, 59</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - month (Time of last action)</name>
+ <name>Time in UTC — month (time of last action)</name>
<segment>visitEndServerMonth</segment>
<acceptedValues>1, 2, 3, ..., 11, 12</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - quarter (Time of last action)</name>
+ <name>Time in UTC — quarter (time of last action)</name>
<segment>visitEndServerQuarter</segment>
<acceptedValues>1, 2, 3, 4</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - second (Time of last action)</name>
+ <name>Time in UTC — second (Time of last action)</name>
<segment>visitEndServerSecond</segment>
<acceptedValues>0, 1, 2, 3, ..., 58, 59</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - week of year (Time of last action)</name>
+ <name>Time in UTC — week of year (time of last action)</name>
<segment>visitEndServerWeekOfYear</segment>
<acceptedValues>1, 2, 3, 4, ..., 51, 52, 53</acceptedValues>
</row>
<row>
<type>dimension</type>
<category>Visitors</category>
- <name>Time in UTC - year (Time of last action)</name>
+ <name>Time in UTC — year (time of last action)</name>
<segment>visitEndServerYear</segment>
<acceptedValues>2016, 2017, 2018, ..., 9998, 9999</acceptedValues>
</row>
@@ -684,13 +684,13 @@
<row>
<type>dimension</type>
<category>Behaviour</category>
- <name>Site time - hour</name>
+ <name>Site time — hour</name>
<segment>actionServerHour</segment>
</row>
<row>
<type>dimension</type>
<category>Behaviour</category>
- <name>Time in UTC - minute</name>
+ <name>Time in UTC — minute</name>
<segment>actionServerMinute</segment>
<acceptedValues>0, 1, 2, 3, ..., 56, 57, 58, 59</acceptedValues>
</row>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml
index 2f9e40d62e..ad14bbbc0c 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml
@@ -769,7 +769,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Day of Week</name>
+ <name>Visits by day of the week</name>
<category>
<id>General_Visitors</id>
<name>Visitors</name>
@@ -781,7 +781,7 @@
<id>VisitTime_SubmenuTimes</id>
<name>Times</name>
<order>35</order>
- <help>&lt;p&gt;The Times section shows you when people are visiting your site. You can see the most popular local times your users visit at, so you can understand where your site fits into their life. Additionally, it shows the most popular server times, which can reveal demands on your technology stack.&lt;/p&gt;</help>
+ <help>&lt;p&gt;The &quot;Times&quot; section shows when people visit your site. Popular local times helps you cater your site to their lives. The most popular server times reveals technical demand.&lt;/p&gt;</help>
</subcategory>
<module>VisitTime</module>
<action>getByDayOfWeek</action>
@@ -808,7 +808,7 @@
<id>VisitTime_SubmenuTimes</id>
<name>Times</name>
<order>35</order>
- <help>&lt;p&gt;The Times section shows you when people are visiting your site. You can see the most popular local times your users visit at, so you can understand where your site fits into their life. Additionally, it shows the most popular server times, which can reveal demands on your technology stack.&lt;/p&gt;</help>
+ <help>&lt;p&gt;The &quot;Times&quot; section shows when people visit your site. Popular local times helps you cater your site to their lives. The most popular server times reveals technical demand.&lt;/p&gt;</help>
</subcategory>
<module>VisitTime</module>
<action>getVisitInformationPerLocalTime</action>
@@ -835,7 +835,7 @@
<id>VisitTime_SubmenuTimes</id>
<name>Times</name>
<order>35</order>
- <help>&lt;p&gt;The Times section shows you when people are visiting your site. You can see the most popular local times your users visit at, so you can understand where your site fits into their life. Additionally, it shows the most popular server times, which can reveal demands on your technology stack.&lt;/p&gt;</help>
+ <help>&lt;p&gt;The &quot;Times&quot; section shows when people visit your site. Popular local times helps you cater your site to their lives. The most popular server times reveals technical demand.&lt;/p&gt;</help>
</subcategory>
<module>VisitTime</module>
<action>getVisitInformationPerServerTime</action>
@@ -1614,7 +1614,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Days Since Last Visit</name>
+ <name>Visits by days since last visit</name>
<category>
<id>General_Actions</id>
<name>Behaviour</name>
@@ -1641,7 +1641,7 @@
<isReport>1</isReport>
</row>
<row>
- <name>Visits by Visit Number</name>
+ <name>Visits by visit number</name>
<category>
<id>General_Actions</id>
<name>Behaviour</name>
diff --git a/tests/PHPUnit/System/expected/test_reportLimitingdimension_2_rankingQuery__CustomDimensions.getCustomDimension_day.xml b/tests/PHPUnit/System/expected/test_reportLimitingdimension_2_rankingQuery__CustomDimensions.getCustomDimension_day.xml
index ecd14db85a..32ab8d4f1c 100644
--- a/tests/PHPUnit/System/expected/test_reportLimitingdimension_2_rankingQuery__CustomDimensions.getCustomDimension_day.xml
+++ b/tests/PHPUnit/System/expected/test_reportLimitingdimension_2_rankingQuery__CustomDimensions.getCustomDimension_day.xml
@@ -205,8 +205,6 @@
<avg_time_on_dimension>0</avg_time_on_dimension>
-
-
</row>
<row>
@@ -247,8 +245,6 @@
<avg_time_on_dimension>0</avg_time_on_dimension>
-
-
</row>
</subtable>
</row>
diff --git a/tests/UI/expected-screenshots/Menus_mobile_top.png b/tests/UI/expected-screenshots/Menus_mobile_top.png
index d805ea9e7b..daca13a9c4 100644
--- a/tests/UI/expected-screenshots/Menus_mobile_top.png
+++ b/tests/UI/expected-screenshots/Menus_mobile_top.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3934ce1630db57efd1094686bf0776b21ebe87789040b58e6fcbbfa363c28734
-size 176190
+oid sha256:5447a4a96d8770fded893806c37895ef21926efc3bbceb744326f72de58b0523
+size 176031
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins.png b/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins.png
index 20f709eddd..913bf0ae52 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:2390c83b9eb3890b110078585097d7f0ce50dff1347e3d627cb5a1f1f1079d8e
-size 1097506
+oid sha256:975d8c4b98913328903e4190557ee8f55603dd3f1c4c25dc1a1c1f8b5a52d68c
+size 1094718
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins_no_internet.png b/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins_no_internet.png
index ca3f9621ea..702ef02b27 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins_no_internet.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_admin_plugins_no_internet.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b4eec846d22ab3fce767845c622bb3e5d618a753a72396563ba4f2aa896a605f
-size 1099155
+oid sha256:473402d68038b231fcbce274c904412c9353466acc5fd3373619249d4acce19b
+size 1096391
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_admin_visitor_generator.png b/tests/UI/expected-screenshots/UIIntegrationTest_admin_visitor_generator.png
index 21b26c41e2..4a8596bbcb 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_admin_visitor_generator.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_admin_visitor_generator.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a3b3520fc7bbfaf44073c811780e855fdfd3a5047ae608fc33e28d543aafb807
-size 84546
+oid sha256:ba02cdf4651aa52b3b278f301e502d8aae8e61ad026dec8b32af328890816644
+size 83223
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png
index 79b0e9c5d3..bab84c33c6 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b103ba590eb56e0b539d91c6e711228d184ed07d8df3f6454324a94312960579
-size 364567
+oid sha256:0df56a8ab9d4322b1cf84d9b497402ed62f95ce1e603ea1e9718d6abf53a3005
+size 362993
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard5_mobile.png b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard5_mobile.png
index 7b571d1805..e097aed5e9 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard5_mobile.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard5_mobile.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0449f3e15348d9b2d13988a4b3aac47d223a53cf55f667a50f7c59879bcf4e61
-size 28964
+oid sha256:f70ad0192147205e670211faef1b0ee1549175764c476ba35624394c45baf01c
+size 28835
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_email_reports_editor.png b/tests/UI/expected-screenshots/UIIntegrationTest_email_reports_editor.png
index 53a1483f68..c9cdf19994 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_email_reports_editor.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_email_reports_editor.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:fca1c222e32c5f1218690b6658c65354a5d7eaaaa5da31fbdcfa2adc35d63ea9
-size 482378
+oid sha256:7bac96e9f928b5e9263e1c96c05a96ff076186c50aa6046313a7e675ddc10448
+size 482563
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_period_select_date_range_click.png b/tests/UI/expected-screenshots/UIIntegrationTest_period_select_date_range_click.png
index f7ef13acd7..bdfa2153ea 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_period_select_date_range_click.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_period_select_date_range_click.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8df592d8eab989ba953b692a4a6c0214a9afeb619cdc1203aa0ce120bd4b58e1
-size 81763
+oid sha256:d04ce8e7c2b1017f3aed672f4fd76d39d2f08ad9d337a03990cc9155f480b050
+size 81977
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_visitors_engagement.png b/tests/UI/expected-screenshots/UIIntegrationTest_visitors_engagement.png
index f9b8b994f5..2d6b3772ad 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_visitors_engagement.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_visitors_engagement.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:685e945bda0d027c5a717f600d7f893f28563dc885336acb2130e111ab1e7d89
-size 166119
+oid sha256:fc118e390966c687cbbaa61c9fea73b8629403e4873a9bdd954f01795ff1dde2
+size 164567
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_visitors_times.png b/tests/UI/expected-screenshots/UIIntegrationTest_visitors_times.png
index b33a31a9b7..c6e4b28045 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_visitors_times.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_visitors_times.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:953e1b47024bf275d21d2b6afe046a51fa1a0666b9867e14bf476c0d6d34ba48
-size 25489
+oid sha256:c7f6c5029d9ce97261ef02b435c8f19cd7a7d78668b7db959a64a7be3d81c449
+size 25727
diff --git a/tests/javascript/index.php b/tests/javascript/index.php
index c967b6b47c..81ec2570a5 100644
--- a/tests/javascript/index.php
+++ b/tests/javascript/index.php
@@ -3286,6 +3286,7 @@ function PiwikTest() {
expect(5);
var tracker = Piwik.getTracker();
+ tracker.disableBrowserFeatureDetection(); // avoid client hint queue
tracker.setTrackerUrl("matomo.php");
tracker.setSiteId(1);
tracker.setCustomData({ "token": '---' });
@@ -3594,6 +3595,7 @@ if ($mysql) {
expect(11);
var tracker = Piwik.getTracker();
+ tracker.disableBrowserFeatureDetection(); // avoid client hint queue
tracker.setTrackerUrl("matomo.php");
tracker.setSiteId(1);
tracker.setCustomData({ "token" : getAlwaysUseSendBeaconToken() });
@@ -3706,6 +3708,7 @@ if ($mysql) {
};
var tracker = Piwik.getTracker();
+ tracker.disableBrowserFeatureDetection(); // avoid client hint queue
tracker.setTrackerUrl("matomo.php");
tracker.setSiteId(1);
@@ -4992,6 +4995,7 @@ if ($mysql) {
var queue;
var tracker = Piwik.getTracker();
+ tracker.disableBrowserFeatureDetection(); // avoid client hint queue
tracker.setCustomData('token', getConsentToken() + '1');
deepEqual(tracker.getConsentRequestsQueue(), [], "getConsentRequestsQueue, by default is empty" );
strictEqual(tracker.hasRememberedConsent(), false, "hasRememberedConsent, has no consent given by default" );
@@ -5257,6 +5261,7 @@ if ($mysql) {
expect(8);
var tracker = Piwik.getTracker();
+ tracker.disableBrowserFeatureDetection(); // avoid client hint queue
ok( ! ( _paq instanceof Array ), "async tracker proxy not an array" );
equal( typeof tracker, typeof _paq, "async tracker proxy" );
diff --git a/tests/javascript/matomo.php b/tests/javascript/matomo.php
index be7dfe7f23..d340207175 100644
--- a/tests/javascript/matomo.php
+++ b/tests/javascript/matomo.php
@@ -74,7 +74,10 @@ function logRequest($db, $uri, $data) {
$id = getNextRequestId($db, $token);
- $query = $db->query("INSERT INTO requests (requestid, token, ip, ts, uri, referer, ua) VALUES (\"$id\", \"$token\", \"$ip\", \"$ts\", \"$uri\", \"$referrer\", \"$ua\")");
+ $query = $db->query(
+ "INSERT INTO requests (requestid, token, ip, ts, uri, referer, ua) VALUES (?, ?, ?, ?, ?, ?, ?)",
+ [$id, $token, $ip, $ts, $uri, $referrer, $ua]
+ );
return $query;
}