{"version":3,"sources":["../../../dev/j/components/singleDL-primary.js"],"names":["getSafe","obj","path","parts","split","acc","i","length","window","sdl","test","document","cookie","push","client","cmpId","match","consentGroups","replace","session","countryCode","sdlObj","secChUa","navigator","userAgentData","brands","platform","mobile","server","provider","env","location","host","indexOf","dataCenter","sdlVersion","params","queryParams","queryString","search","substring","pairs","pair","decodeURIComponent","checkedParams","key","hasOwnProperty","event","screen","url","urlParams","unwantedParams","pathname","toString","URLSearchParams","woParams","protocol","hostname","hash","locale","screenCategory","title","type","name","lineOfBusiness","screenId","error","console","system","message","description"],"mappings":"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","file":"singleDL-primary.js","sourcesContent":["/**\n * Single DataLayer - Primary part\n * Placed in the , pushes data to sdl object\n * Secondary part (singleDL-secondary.js) is placed in footer\n * @version 1.1.0\n * @author Vendula Frýzlová , Jaroslav Slaby , Fedor Kušš \n * @copyright Avast Software s.r.o ©2022\n */\n\n(function () {\n 'use strict';\n\n // Function to safely retrieve values from nested objects\n function getSafe(obj, path) {\n var parts = path.split('.');\n var acc = obj;\n for (var i = 0; i < parts.length; i++) {\n if (acc && typeof acc[parts[i]] !== 'undefined') {\n acc = acc[parts[i]];\n } else {\n return 'unknown - ' + parts[i];\n }\n }\n return acc;\n }\n\n // Function to remove unwanted parameters from URL\n function removeUnwantedParamsFromUrl(urlParams) {\n var unwantedParams = ['ASWPARAM', 'aswparam', '_ga', '_gl'];\n for (var i = 0; i < unwantedParams.length; i++) {\n urlParams.delete(unwantedParams[i]);\n }\n var URLWithoutUnwantedParams = window.location.host + window.location.pathname + '?' + urlParams.toString();\n return URLWithoutUnwantedParams;\n }\n\n // Function to parse query parameters manually\n function getQueryParams() {\n var queryParams = {};\n var queryString = window.location.search.substring(1);\n var pairs = queryString.split(\"&\");\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split(\"=\");\n if (pair[0]) {\n queryParams[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');\n }\n }\n return queryParams;\n }\n\n // Function to check if URL parameters have values\n function checkURLParams(params) {\n var checkedParams = {};\n for (var key in params) {\n // Only add parameters that have a value\n if (params.hasOwnProperty(key) && params[key]) {\n checkedParams[key] = params[key];\n }\n }\n return checkedParams;\n }\n\n\twindow.sdl = window.sdl || [];\n\n\ttry {\n\t\t// Check for OptanonConsent cookie and push cmpId to sdl\n\t\tif (/OptanonConsent=.*?(consentId=(.*?)(?=&))/.test(document.cookie)) {\n\t\t\tsdl.push({\n\t\t\t\tclient: {\n\t\t\t\t\tcmpId: document.cookie.match(/OptanonConsent=.*?(consentId=(.*?)(?=&))/)[2]\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Check for NotLandingPage&groups cookie and push consentGroups to sdl\n\t\tif (/(?<=NotLandingPage&groups=|groups=).*?(?=&|;|$)/.test(document.cookie)) {\n\t\t\tsdl.push({\n\t\t\t\tconsentGroups: document.cookie.match(/(?<=NotLandingPage&groups=|groups=).*?(?=&|;|$)/)[0].replace(/%3A/g, ':').replace(/%/g, ',').replace(/2C/g, ' ')\n\t\t\t});\n\t\t}\n\n\t\t// Push session and server information to sdl\n\t\tsdl.push({\n\t\t\tsession: {\n\t\t\t\tcountryCode: getSafe(sdlObj, 'session.countryCode'),\n\t\t\t\tsecChUa: (function () {\n\t\t\t\t\tif (typeof navigator.userAgentData !== 'undefined' && navigator.userAgentData.brands.length > 0) {\n\t\t\t\t\t\treturn navigator.userAgentData.brands;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t})(),\n\t\t\t\tplatform: getSafe(window, 'avastGlobals.detect.os.name'),\n\t\t\t\tmobile: (function () {\n\t\t\t\t\tif (typeof navigator.userAgentData !== 'undefined') {\n\t\t\t\t\t\treturn navigator.userAgentData.mobile;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '-';\n\t\t\t\t\t}\n\t\t\t\t})()\n\t\t\t},\n\t\t\tserver: {\n\t\t\t\tprovider: 'CMS',\n\t\t\t\tplatform: 'WEB',\n\t\t\t\tenv: window.location.host.indexOf('web-preview') === 0 ? 'dev' : 'prod',\n\t\t\t\tdataCenter: '-',\n\t\t\t\tsdlVersion: '2021-05-05/v1'\n\t\t\t}\n\t\t});\n\n\t\t// Use manual query parameter parsing for compatibility\n\t\tvar params = getQueryParams();\n\t\t// Check if URL parameters have values\n\t\tvar checkedParams = checkURLParams(params);\n\n\t\t// Push screen information to sdl\n\t\tsdl.push({\n\t\t\tevent: 'screen',\n\t\t\tscreen: {\n\t\t\t\tlocation: {\n\t\t\t\t\turl: window.location.search ? removeUnwantedParamsFromUrl(new URLSearchParams(window.location.search)) : window.location.host + window.location.pathname,\n\t\t\t\t\twoParams: window.location.host + window.location.pathname,\n\t\t\t\t\tprotocol: window.location.protocol.replace(':', ''),\n\t\t\t\t\tpath: '/' + getSafe(sdlObj, 'screen.locale') + '/' + getSafe(sdlObj, 'screen.path'),\n\t\t\t\t\thostname: getSafe(sdlObj, 'screen.hostname'),\n\t\t\t\t\thash: window.location.hash,\n\t\t\t\t\tparams: window.location.search ? checkedParams : ''\n\t\t\t\t},\n\t\t\t\tlocale: getSafe(sdlObj, 'screen.locale'),\n\t\t\t\tscreenCategory: getSafe(sdlObj, 'screen.screenCategory'),\n\t\t\t\ttitle: document.title,\n\t\t\t\ttype: getSafe(sdlObj, 'screen.fileName').indexOf('error-page.php') !== -1 ? 'error' : getSafe(sdlObj, 'screen.type'),\n\t\t\t\tname: getSafe(sdlObj, 'screen.name'),\n\t\t\t\tlineOfBusiness: getSafe(sdlObj, 'screen.lineOfBusiness'),\n\t\t\t\tscreenId: getSafe(sdlObj, 'screen.screenId')\n\t\t\t}\n\t\t});\n\n\t} catch (error) {\n\t\tconsole.error(error);\n\t\t// Push error information to sdl\n\t\tsdl.push({\n\t\t\tsystem: {\n\t\t\t\terror: {\n\t\t\t\t\ttype: error.name,\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t\tdescription: 'singleDL-primary.js'\n\t\t\t\t}\n\t\t\t},\n\t\t\tevent: 'system.error'\n\t\t});\n\t}\n})();\n"]}