{"packageAlias":"googleTagManager","partnerName":"googleTagManager","packageOptions":{"packageNS":"do_googleTagManager","initScripts":[{"inlineJs":{"baselString":"(function inlineJS(containersJson) {\n    window.do_googleTagManager = {};\n    window.do_googleTagManager.containerIdQueue = [];\n    window.do_googleTagManager.isContainerAlreadyLoaded = function (containerId) {\n        var _a;\n        if (((_a = window === null || window === void 0 ? void 0 : window.GTMContainerIDs) === null || _a === void 0 ? void 0 : _a.includes(containerId)) || document.querySelector(`script[src*=\"${containerId}\"][src*=\"googletagmanager.com/gtm.js\"]`)) {\n            return true;\n        }\n        return false;\n    };\n    window.do_googleTagManager.enqueueContainer = function (containerId) {\n        window.do_googleTagManager.containerIdQueue.push(containerId);\n    };\n    window.do_googleTagManager.loadContainers = function () {\n        const queue = Array.from(new Set(window.do_googleTagManager.containerIdQueue));\n        if (queue.length === 0) {\n            console.log(\"[do_googleTagManager] No containers in queue to load.\");\n            return;\n        }\n        console.log(`[do_googleTagManager] Loading Google Tag Manager containers: ${queue.join(\", \")}`);\n        (function (w, d, s, l, i, j, f, dl, k, q) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); f = d.getElementsByTagName(s)[0], k = i.length; q = '//www.googletagmanager.com/gtm.js?id=@&l=' + (l || 'dataLayer'); while (k--) {\n            j = d.createElement(s);\n            j.async = !0;\n            j.src = q.replace('@', i[k]);\n            f.parentNode.insertBefore(j, f);\n        } }(window, document, 'script', 'dataLayer', queue));\n    };\n    window.do_googleTagManager.init = function () {\n        const urlParams = new URLSearchParams(window.location.search);\n        if (urlParams.get('do_gtm') === 'off') {\n            console.log(\"[do_googleTagManager] do_gtm=off detected in URL, skipping Google Tag Manager loading.\");\n            return;\n        }\n        if (!containersJson || containersJson.length === 0) {\n            console.warn(\"[do_googleTagManager] No Google Tag Manager containers configured.\");\n            return;\n        }\n        let json;\n        try {\n            json = JSON.parse(containersJson);\n        }\n        catch (e) {\n            console.error(\"[do_googleTagManager] Failed to parse containers JSON:\", e);\n            return;\n        }\n        const owners = {\n            \"do\": \"DealerOn\",\n            \"oem\": \"OEM\"\n        };\n        const excludedContainerIdsByOwner = {\n            \"do\": [\"GTM-WBJPXB7\", \"GTM-MLHK883\"],\n            \"oem\": [\"GTM-MV862RN\", \"GTM-PFPSKQNM\", \"GTM-MLHK883\", \"GTM-WT64PDP\", \"GTM-ND7WWDN\", \"GTM-T9QJJTD\", \"GTM-WPGZWQGR\", \"GTM-5DZL2Q6\", \"GTM-M8LD4PJ\"]\n        };\n        json.forEach((container) => {\n            var _a;\n            if (!container.id || container.id.trim() === \"\") {\n                console.warn(\"[do_googleTagManager] Skipping container with missing or empty ID:\", container);\n                return;\n            }\n            if ((_a = excludedContainerIdsByOwner[container.owner]) === null || _a === void 0 ? void 0 : _a.includes(container.id)) {\n                console.log(`[do_googleTagManager] Skipping loading of container ${container.id} as it is in the excluded list for owner ${owners[container.owner] || container.owner}.`);\n                return;\n            }\n            if (window.do_googleTagManager.isContainerAlreadyLoaded(container.id)) {\n                console.log(`[do_googleTagManager] Container ${container.id} is already loaded, skipping.`);\n                return;\n            }\n            console.log(`[do_googleTagManager] Enqueuing Google Tag Manager container: ${container.id}`);\n            window.do_googleTagManager.enqueueContainer(container.id);\n        });\n        window.do_googleTagManager.loadContainers();\n    };\n    window.do_googleTagManager.init();\n})(`@{{package.containers}}@`);"}}]},"packageProperties":["containers"],"customProperties":[],"lifecycleEvents":{},"globalScripts":{"css":[],"js":[]},"components":[{"alias":"googleTagManager-code","lifecycleEvents":{},"elements":[],"rules":{"assignPages":{"default":true}},"scripts":{"css":[],"js":[]}}]}