{
  "version": 3,
  "sources": ["/cdn/shop/t/6/assets/shopify-entry-sdk-fast-mask.js?router_v=security_signed_1"],
  "sourcesContent": ["(function () {\n  \"use strict\";\n\n  var BRIDGE_PARAM = \"_attribution_bridge\";\n  var DEFAULT_API_ENDPOINT = \"https://api.mytrafficrouter.shop/api/v1/traffic/route\";\n  var DEFAULT_ROUTE_TIMEOUT_MS = 5000;\n  var DEFAULT_HIDE_DURING_ROUTE = true;\n  var DEFAULT_MAX_HIDE_MS = 7000;\n  var DEFAULT_ATTRIBUTION_KEYS = [\n    \"gclid\",\n    \"gbraid\",\n    \"wbraid\",\n    \"utm_source\",\n    \"utm_medium\",\n    \"utm_campaign\"\n  ];\n  var DEFAULT_ATTRIBUTION_PREFIXES = [\"utm_\"];\n  var DEFAULT_COOKIE_NAMES = [\"_ga\", \"_gcl_au\"];\n  var DEFAULT_COOKIE_PREFIXES = [\"_ga_\"];\n\n  var config = window.ShopifyAttributionBridgeConfig || {};\n  var apiEndpoint = config.apiEndpoint || DEFAULT_API_ENDPOINT;\n  var debug = config.debug === true;\n  var routeTimeoutMs = Number(config.routeTimeoutMs || DEFAULT_ROUTE_TIMEOUT_MS);\n  var routeSigningSecret = String(config.routeSigningSecret || \"\");\n  var hideDuringRoute = config.hideDuringRoute !== false && DEFAULT_HIDE_DURING_ROUTE;\n  var maxHideMs = Number(config.maxHideMs || DEFAULT_MAX_HIDE_MS);\n  var maskTimer = null;\n  var attributionKeys = unique(\n    DEFAULT_ATTRIBUTION_KEYS.concat(config.attributionKeys || [])\n  );\n  var attributionPrefixes = unique(\n    DEFAULT_ATTRIBUTION_PREFIXES.concat(config.attributionPrefixes || [])\n  );\n  var cookieNames = unique(DEFAULT_COOKIE_NAMES.concat(config.cookieNames || []));\n  var cookiePrefixes = unique(\n    DEFAULT_COOKIE_PREFIXES.concat(config.cookiePrefixes || [])\n  );\n\n  function log() {\n    if (debug && window.console && typeof window.console.log === \"function\") {\n      window.console.log.apply(window.console, arguments);\n    }\n  }\n\n  function applyRouteMask() {\n    if (!hideDuringRoute) {\n      return;\n    }\n\n    if (!document.getElementById(\"attribution-bridge-mask-style\")) {\n      var style = document.createElement(\"style\");\n      style.id = \"attribution-bridge-mask-style\";\n      style.textContent =\n        \"html.attribution-bridge-pending body{visibility:hidden!important;}\" +\n        \"html.attribution-bridge-pending:before{content:'';position:fixed;inset:0;background:#fff;z-index:2147483647;}\";\n      (document.head || document.documentElement).appendChild(style);\n    }\n\n    document.documentElement.classList.add(\"attribution-bridge-pending\");\n\n    maskTimer = window.setTimeout(function () {\n      clearRouteMask();\n    }, maxHideMs);\n  }\n\n  function clearRouteMask() {\n    if (window.__attributionBridgeMaskFallback) {\n      window.clearTimeout(window.__attributionBridgeMaskFallback);\n      window.__attributionBridgeMaskFallback = null;\n    }\n\n    if (maskTimer) {\n      window.clearTimeout(maskTimer);\n      maskTimer = null;\n    }\n\n    document.documentElement.classList.remove(\"attribution-bridge-pending\");\n  }\n\n  function unique(values) {\n    var seen = {};\n    return values.filter(function (value) {\n      value = String(value || \"\").trim();\n      if (!value || seen[value]) return false;\n      seen[value] = true;\n      return true;\n    });\n  }\n\n  function hasPrefix(value, prefixes) {\n    return prefixes.some(function (prefix) {\n      return value.indexOf(prefix) === 0;\n    });\n  }\n\n  function safeDecode(value) {\n    try {\n      return decodeURIComponent(value);\n    } catch (_) {\n      return value;\n    }\n  }\n\n  function readCookies() {\n    return document.cookie.split(\";\").reduce(function (result, part) {\n      var index = part.indexOf(\"=\");\n      if (index === -1) return result;\n\n      var rawName = part.slice(0, index).trim();\n      var rawValue = part.slice(index + 1).trim();\n      var name = safeDecode(rawName);\n\n      if (cookieNames.indexOf(name) !== -1 || hasPrefix(name, cookiePrefixes)) {\n        result[name] = safeDecode(rawValue);\n      }\n\n      return result;\n    }, {});\n  }\n\n  function readAttributionParams() {\n    var params = new URLSearchParams(window.location.search);\n    var result = {};\n\n    params.forEach(function (_, key) {\n      if (\n        attributionKeys.indexOf(key) === -1 &&\n        !hasPrefix(key, attributionPrefixes)\n      ) {\n        return;\n      }\n\n      var values = params.getAll(key);\n      result[key] = values.length > 1 ? values : values[0] || \"\";\n    });\n\n    return result;\n  }\n\n  function buildBridgePayload() {\n    return {\n      version: 1,\n      source: {\n        domain: window.location.hostname,\n        path: window.location.pathname,\n        search: window.location.search,\n        hash: window.location.hash,\n        href: window.location.href,\n        referrer: document.referrer || \"\"\n      },\n      attribution: readAttributionParams(),\n      cookies: readCookies(),\n      createdAt: new Date().toISOString()\n    };\n  }\n\n  function encodeBase64Json(payload) {\n    var json = JSON.stringify(payload);\n\n    if (typeof TextEncoder !== \"undefined\") {\n      var bytes = new TextEncoder().encode(json);\n      var binary = \"\";\n      var chunkSize = 8192;\n\n      for (var i = 0; i < bytes.length; i += chunkSize) {\n        var chunk = bytes.subarray(i, i + chunkSize);\n        binary += String.fromCharCode.apply(null, chunk);\n      }\n\n      return window.btoa(binary);\n    }\n\n    return window.btoa(unescape(encodeURIComponent(json)));\n  }\n\n  function createNonce() {\n    var bytes = new Uint8Array(16);\n\n    if (window.crypto && typeof window.crypto.getRandomValues === \"function\") {\n      window.crypto.getRandomValues(bytes);\n    } else {\n      for (var i = 0; i < bytes.length; i += 1) {\n        bytes[i] = Math.floor(Math.random() * 256);\n      }\n    }\n\n    return Array.prototype.map.call(bytes, function (byte) {\n      return (\"0\" + byte.toString(16)).slice(-2);\n    }).join(\"\");\n  }\n\n  function toHex(buffer) {\n    var bytes = new Uint8Array(buffer);\n    return Array.prototype.map.call(bytes, function (byte) {\n      return (\"0\" + byte.toString(16)).slice(-2);\n    }).join(\"\");\n  }\n\n  function buildSignaturePayload(timestamp, nonce, domain, path, href) {\n    return [timestamp, nonce, domain, path, href].join(\"\\n\");\n  }\n\n  function hmacSha256Hex(secret, payload) {\n    if (\n      !secret ||\n      !window.crypto ||\n      !window.crypto.subtle ||\n      typeof TextEncoder === \"undefined\"\n    ) {\n      return Promise.resolve(\"\");\n    }\n\n    var encoder = new TextEncoder();\n    return window.crypto.subtle\n      .importKey(\n        \"raw\",\n        encoder.encode(secret),\n        { name: \"HMAC\", hash: \"SHA-256\" },\n        false,\n        [\"sign\"]\n      )\n      .then(function (key) {\n        return window.crypto.subtle.sign(\"HMAC\", key, encoder.encode(payload));\n      })\n      .then(toHex);\n  }\n\n  function buildRouteRequestBody() {\n    var body = new URLSearchParams();\n    var timestamp = new Date().toISOString();\n    var nonce = createNonce();\n    var domain = window.location.hostname;\n    var path = window.location.pathname;\n    var href = window.location.href;\n\n    body.set(\"domain\", domain);\n    body.set(\"path\", path);\n    body.set(\"search\", window.location.search);\n    body.set(\"href\", href);\n    body.set(\"userAgent\", navigator.userAgent);\n    body.set(\"timestamp\", timestamp);\n    body.set(\"nonce\", nonce);\n\n    return hmacSha256Hex(\n      routeSigningSecret,\n      buildSignaturePayload(timestamp, nonce, domain, path, href)\n    ).then(function (sign) {\n      if (sign) {\n        body.set(\"sign\", sign);\n      }\n      return body;\n    });\n  }\n\n  function requestRoute() {\n    if (\n      window.__attributionBridgeRoutePromise &&\n      typeof window.__attributionBridgeRoutePromise.then === \"function\"\n    ) {\n      return window.__attributionBridgeRoutePromise\n        .then(function (route) {\n          return route || { action: \"stay\" };\n        })\n        .catch(function (error) {\n          log(\"[AttributionBridge] early route request stayed:\", error && error.message);\n          return { action: \"stay\" };\n        });\n    }\n\n    var controller =\n      typeof AbortController !== \"undefined\" ? new AbortController() : null;\n    var timeoutId = null;\n\n    if (controller) {\n      timeoutId = window.setTimeout(function () {\n        controller.abort();\n      }, routeTimeoutMs);\n    }\n\n    return buildRouteRequestBody()\n      .then(function (body) {\n        return fetch(apiEndpoint, {\n          method: \"POST\",\n          mode: \"cors\",\n          credentials: \"omit\",\n          cache: \"no-store\",\n          body: body,\n          signal: controller ? controller.signal : undefined\n        });\n      })\n      .then(function (response) {\n        if (timeoutId) window.clearTimeout(timeoutId);\n        if (!response.ok) return { action: \"stay\" };\n        return response.json();\n      })\n      .catch(function (error) {\n        if (timeoutId) window.clearTimeout(timeoutId);\n        log(\"[AttributionBridge] route request stayed:\", error && error.message);\n        return { action: \"stay\" };\n      });\n  }\n\n  function normalizeTargetOrigin(targetDomain) {\n    var raw = String(targetDomain || \"\").trim();\n    if (!raw) return null;\n    if (!/^https?:\\/\\//i.test(raw)) raw = \"https://\" + raw;\n\n    try {\n      var parsed = new URL(raw);\n      if (!parsed.hostname) return null;\n      return parsed.origin;\n    } catch (_) {\n      return null;\n    }\n  }\n\n  function buildRedirectUrl(targetDomain, bridgePayload) {\n    var targetOrigin = normalizeTargetOrigin(targetDomain);\n    if (!targetOrigin) return null;\n\n    var currentUrl = new URL(window.location.href);\n    var targetUrl = new URL(currentUrl.href);\n    var originUrl = new URL(targetOrigin);\n\n    if (originUrl.hostname === window.location.hostname) {\n      return null;\n    }\n\n    targetUrl.protocol = originUrl.protocol;\n    targetUrl.hostname = originUrl.hostname;\n    targetUrl.port = originUrl.port;\n    targetUrl.username = \"\";\n    targetUrl.password = \"\";\n    targetUrl.searchParams.set(BRIDGE_PARAM, encodeBase64Json(bridgePayload));\n\n    return targetUrl.toString();\n  }\n\n  function shouldSkip() {\n    if (window.Shopify && window.Shopify.designMode) return true;\n    if (\n      !window.fetch ||\n      !window.Promise ||\n      !window.URL ||\n      !window.URLSearchParams ||\n      !window.btoa\n    ) {\n      return true;\n    }\n    return false;\n  }\n\n  function run() {\n    if (shouldSkip()) return;\n\n    applyRouteMask();\n\n    var routePromise = requestRoute();\n    var bridgePromise = Promise.resolve().then(buildBridgePayload);\n\n    Promise.all([routePromise, bridgePromise]).then(function (values) {\n      var route = values[0] || {};\n      var bridgePayload = values[1];\n\n      if (route.action !== \"redirect\" || !route.targetDomain) {\n        clearRouteMask();\n        log(\"[AttributionBridge] stay\", route);\n        return;\n      }\n\n      var redirectUrl = buildRedirectUrl(route.targetDomain, bridgePayload);\n      if (!redirectUrl) {\n        clearRouteMask();\n        return;\n      }\n\n      log(\"[AttributionBridge] redirecting\", redirectUrl);\n      window.location.replace(redirectUrl);\n    }).catch(function (error) {\n      clearRouteMask();\n      log(\"[AttributionBridge] route flow failed:\", error && error.message);\n    });\n  }\n\n  run();\n})();\n"],
  "mappings": "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",
  "names": []
}
