{
  "version": 3,
  "sources": ["/cdn/shop/t/28/assets/bling-card-preview-v4.js?bling=sync1"],
  "sourcesContent": ["/**\n * Product card overlays \u2014 draw canvas demo text/logo placeholders on thumbnails\n * site-wide (collections, homepage, search, related products, etc.).\n */\n(function () {\n  if (window.__BLING_CARD_PREVIEW__) return;\n  window.__BLING_CARD_PREVIEW__ = true;\n  const BLING_CHARM_CLEAR_MAP = {\"All_Charms_image_1.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-01.png?v=1786428203\",\"All_Charms_image_2.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-02.png?v=1786428206\",\"All_Charms_image_3.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-03.png?v=1786428208\",\"All_Charms_image_4.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-04.png?v=1786428211\",\"All_Charms_image_5.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-05.png?v=1786428215\",\"All_Charms_image_6.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-06.png?v=1786428217\",\"All_Charms_image_7.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-07.png?v=1786428220\",\"All_Charms_image_8.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-08.png?v=1786428223\",\"All_Charms_image_9.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-09.png?v=1786428226\",\"All_Charms_image_10.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-10.png?v=1786428229\",\"All_Charms_image_11.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-11.png?v=1786428232\",\"All_Charms_image_12.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-12.png?v=1786428235\",\"All_Charms_image_13.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-13.png?v=1786428239\",\"All_Charms_image_14.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-14.png?v=1786428242\",\"All_Charms_image_15.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-15.png?v=1786428245\",\"All_Charms_image_16.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-16.png?v=1786428247\",\"All_Charms_image_17.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-17.png?v=1786428251\",\"All_Charms_image_18.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-18.png?v=1786428254\",\"All_Charms_image_19.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-19.png?v=1786428258\",\"All_Charms_image_20.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-20.png?v=1786428264\",\"All_Charms_image_21.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-21.png?v=1786428267\",\"All_Charms_image_22.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-22.png?v=1786428270\",\"All_Charms_image_23.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-23.png?v=1786428272\",\"All_Charms_image_24.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-24.png?v=1786428275\",\"All_Charms_image_25.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-25.png?v=1786428277\",\"All_Charms_image_26.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-26.png?v=1786428280\",\"All_Charms_image_27.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-27.png?v=1786428282\",\"All_Charms_image_28.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-28.png?v=1786428285\",\"All_Charms_image_29.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-29.png?v=1786428288\",\"All_Charms_image_30.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-30.png?v=1786428291\",\"All_Charms_image_31.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-31.png?v=1786428293\",\"All_Charms_image_32.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-32.png?v=1786428296\",\"All_Charms_image_33.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-33.png?v=1786428298\",\"All_Charms_image_34.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-34.png?v=1786428301\",\"All_Charms_image_35.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-35.png?v=1786428304\",\"All_Charms_image_36.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-36.png?v=1786428306\",\"All_Charms_image_37.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-37.png?v=1786428309\",\"All_Charms_image_38.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-38.png?v=1786428312\",\"All_Charms_image_39.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-39.png?v=1786428315\",\"All_Charms_image_40.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-40.png?v=1786428319\",\"All_Charms_image_41.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-41.png?v=1786428321\",\"All_Charms_image_42.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-42.png?v=1786428324\",\"All_Charms_image_43.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-43.png?v=1786428326\",\"All_Charms_image_44.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-44.png?v=1786428330\",\"All_Charms_image_45.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-45.png?v=1786428336\",\"All_Charms_image_46.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-46.png?v=1786428338\",\"All_Charms_image_47.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-47.png?v=1786428341\",\"All_Charms_image_48.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-48.png?v=1786428344\",\"All_Charms_image_49.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-49.png?v=1786428347\",\"All_Charms_image_50.png\":\"https://cdn.shopify.com/s/files/1/0614/2902/2833/t/21/assets/bling-charm-clear-50.png?v=1786428350\"};\n  const BLING_CHARM_FILE_V = {\"1\":\"1786429890\",\"2\":\"1786429894\",\"3\":\"1786429897\",\"4\":\"1786429901\",\"5\":\"1786429904\",\"6\":\"1786429908\",\"7\":\"1786429912\",\"8\":\"1786429915\",\"9\":\"1786429918\",\"10\":\"1786429922\",\"11\":\"1786429925\",\"12\":\"1786429929\",\"13\":\"1786429933\",\"14\":\"1786429936\",\"15\":\"1786429941\",\"16\":\"1786429944\",\"17\":\"1786429948\",\"18\":\"1786429951\",\"19\":\"1786429954\",\"20\":\"1786429959\",\"21\":\"1786429962\",\"22\":\"1786429965\",\"23\":\"1786429969\",\"24\":\"1786429972\",\"25\":\"1786429975\",\"26\":\"1786429979\",\"27\":\"1786429982\",\"28\":\"1786429986\",\"29\":\"1786429990\",\"30\":\"1786429993\",\"31\":\"1786429996\",\"32\":\"1786429999\",\"33\":\"1786430003\",\"34\":\"1786430006\",\"35\":\"1786430009\",\"36\":\"1786430013\",\"37\":\"1786430016\",\"38\":\"1786430019\",\"39\":\"1786430022\",\"40\":\"1786430026\",\"41\":\"1786430029\",\"42\":\"1786430033\",\"43\":\"1786430036\",\"44\":\"1786430039\",\"45\":\"1786430042\",\"46\":\"1786430047\",\"47\":\"1786430050\",\"48\":\"1786430054\",\"49\":\"1786430058\",\"50\":\"1786430061\"};\n  function blingClearCharmUrl(url) {\n    if (!url) return url;\n    const m = String(url).match(/All_Charms_image_(\\d+)\\.png/i);\n    if (!m) return url;\n    const n = Number(m[1]);\n    const mapped = BLING_CHARM_CLEAR_MAP['All_Charms_image_' + n + '.png'];\n    if (mapped) return mapped;\n    const bare = String(url).split('?')[0];\n    const v = BLING_CHARM_FILE_V[n];\n    return v ? bare + '?v=' + v : url;\n  }\n  const cache = new Map();\n  const inflight = new Map();\n  const painted = new WeakSet();\n\n  function productIdFromEl(el) {\n    if (!el) return '';\n    const direct = el.getAttribute('data-product-id') || el.dataset.productId;\n    if (direct) return String(direct).replace(/\\D/g, '');\n    const host = el.closest('[data-product-id]');\n    return host ? String(host.getAttribute('data-product-id') || '').replace(/\\D/g, '') : '';\n  }\n\n  function findCards() {\n    const out = [];\n    const seenMedia = new WeakSet();\n    const push = (id, media, card) => {\n      if (!id || !media) return;\n      if (seenMedia.has(media) || painted.has(media) || media.querySelector('.bling-card-zone-canvas')) return;\n      seenMedia.add(media);\n      out.push({ id, card, media });\n    };\n\n    // Bling custom cards\n    document.querySelectorAll('.pcard').forEach((card) => {\n      const id = productIdFromEl(card) || productIdFromEl(card.parentElement);\n      push(id, card.querySelector('.pcard-img'), card);\n    });\n\n    // Dawn / card-product cards\n    document.querySelectorAll('.product-card-wrapper, .card-wrapper').forEach((card) => {\n      const id = productIdFromEl(card) || productIdFromEl(card.closest('[data-product-id]'));\n      push(id, card.querySelector('.card__media, .media'), card);\n    });\n\n    // Grid items / resource cards with data-product-id on a parent\n    document.querySelectorAll('[data-product-id]').forEach((host) => {\n      if (host.matches('.pcard, .product-card-wrapper, .card-wrapper')) return;\n      const media = host.querySelector(\n        ':scope > .pcard-img, :scope .pcard-img, :scope .card__media, :scope .resource-card__media, :scope .media',\n      );\n      if (!media) return;\n      // Skip PDP gallery / form hosts\n      if (media.closest('.pdp-main-viewer, .pdp-gallery, bling-customization-form')) return;\n      push(productIdFromEl(host), media, host);\n    });\n\n    return out;\n  }\n\n  const LOGO_PLACEHOLDER_SVG =\n    'data:image/svg+xml,' +\n    encodeURIComponent(\n      '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><defs><linearGradient id=\"g\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0%\" stop-color=\"#f0e2b0\"/><stop offset=\"45%\" stop-color=\"#d4af37\"/><stop offset=\"100%\" stop-color=\"#8a6d1b\"/></linearGradient></defs><rect x=\"8\" y=\"8\" width=\"240\" height=\"240\" rx=\"36\" fill=\"url(#g)\"/><text x=\"128\" y=\"148\" text-anchor=\"middle\" font-family=\"Georgia,serif\" font-size=\"64\" font-weight=\"700\" fill=\"#2a1f0a\" letter-spacing=\"4\">LOGO</text></svg>',\n    );\n  const imgCache = new Map();\n\n  function loadImage(url) {\n    if (!url) return Promise.resolve(null);\n    if (imgCache.has(url)) return imgCache.get(url);\n    const p = new Promise((resolve) => {\n      const img = new Image();\n      img.crossOrigin = 'anonymous';\n      img.onload = () => resolve(img);\n      img.onerror = () => resolve(null);\n      img.src = url;\n    });\n    imgCache.set(url, p);\n    return p;\n  }\n\n  function processLogoImage(img) {\n    if (window.BlingZoneRender && typeof window.BlingZoneRender.processLogoImage === 'function') {\n      return window.BlingZoneRender.processLogoImage(img);\n    }\n    return img;\n  }\n\n  function isSvgAssetUrl(url) {\n    return /^data:image\\/svg\\+xml/i.test(url) || /\\.svg(\\?|$)/i.test(url);\n  }\n\n  async function loadCharmAsset(url, options) {\n    let img = null;\n    try {\n      const res = await fetch(url, { mode: 'cors', credentials: 'omit' });\n      if (res.ok) {\n        const blob = await res.blob();\n        const obj = URL.createObjectURL(blob);\n        img = await loadImage(obj);\n        URL.revokeObjectURL(obj);\n      }\n    } catch {\n      img = null;\n    }\n    if (!img) img = await loadImage(url);\n    if (!img) return null;\n    const skipKnockout = options && options.skipKnockout;\n    if (skipKnockout) return img;\n    const processed = processLogoImage(img);\n    return processed || img;\n  }\n\n  function optionImageUrl(platformUrl, key) {\n    if (!key) return '';\n    key = blingClearCharmUrl(key);\n    if (/^https?:\\/\\//i.test(key)) return key;\n    // `cors=1`: CORS-readable copy (never a header-less cached one) so the charm can be drawn on the card.\n    return `${platformUrl}/api/uploads/file?key=${encodeURIComponent(key)}&cors=1`;\n  }\n\n  function parseOptions(field) {\n    if (Array.isArray(field.options)) return field.options;\n    if (field.options_json) {\n      try {\n        const parsed = JSON.parse(field.options_json);\n        return Array.isArray(parsed) ? parsed : [];\n      } catch {\n        return [];\n      }\n    }\n    return [];\n  }\n\n  function isCharmField(field) {\n    const t = field && field.field_type;\n    if (t !== 'radio' && t !== 'dropdown') return false;\n    return parseOptions(field).some((o) => o && o.image);\n  }\n\n  function resolveField(zone, fields) {\n    if (!zone || !fields) return null;\n    const keys = [zone.field, zone.id, zone.label]\n      .filter(Boolean)\n      .map((s) => String(s).toLowerCase().trim());\n    for (const f of fields) {\n      const fKeys = [f.id, f.label].map((s) => String(s).toLowerCase().trim());\n      if (keys.some((k) => fKeys.includes(k))) return f;\n    }\n    return null;\n  }\n\n  const PRIMARY_PLATFORM = (\n    window.BLING_PLATFORM_URL || 'https://bling-platform-aqh.pages.dev'\n  ).replace(/\\/$/, '');\n  const FALLBACK_PLATFORM = 'https://bling-platform.pages.dev';\n\n  // Products that strictly DO NOT support customization (Diwali hampers, folder bags, candles)\n  const NON_CUSTOMIZABLE_IDS = new Set([\n    '7812558225521', '7812558356593', '7812558585969', '7812558061681', '7812558717041',\n    '7812558192753', '7812558749809', '7812558159985', '7812558291057', '7812557963377',\n    '7794899157105', '7794899189873', '7794899222641', '7794899288177',\n    '7794892537969', '7794892636273', '7794892669041', '7794892701809',\n    '7794899452017', '7794899484785'\n  ]);\n\n  const SPECIAL_GIFT_SET_ZONES = {\n    // Personalized Diary Bottle Pen Corporate Gift Set\n    '7799452172401': [\n      {\"id\":\"zone_1787599217162_979\",\"label\":\"Text Personalization\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.3321428571428572,\"cy\":0.5735714285714286,\"w\":0.12642857142857142,\"h\":0.06642857142857143,\"rot\":90,\"color\":\"#ffffff\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787599249173_239\",\"label\":\"Text Personalization 2\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.6082142857142857,\"cy\":0.7328571428571429,\"w\":0.03714285714285716,\"h\":0.034285714285714294,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787599276997_960\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.6053571428571428,\"cy\":0.6817857142857142,\"w\":0.041428571428571426,\"h\":0.04571428571428572,\"rot\":0,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787599296619_853\",\"label\":\"Text Personalization 3\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.7303571428571428,\"cy\":0.6699999999999999,\"w\":0.030000000000000013,\"h\":0.02714285714285715,\"rot\":90,\"color\":\"#ffffff\",\"demo\":\"Name\"}\n    ],\n    // Personalized Leather Wallet, Passport Cover, Luggage Tag & Eyewear Case Giftset\n    '7799465115761': [\n      {\"id\":\"zone_1787603922327_297\",\"label\":\"Text Personalization\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.6732142857142858,\"cy\":0.5982142857142857,\"w\":0.044285714285714275,\"h\":0.03785714285714286,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787603982472_432\",\"label\":\"Text Personalization 2\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.40714285714285714,\"cy\":0.5896428571428571,\"w\":0.047857142857142876,\"h\":0.02714285714285715,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787603995359_866\",\"label\":\"Text Personalization 3\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.8517857142857143,\"cy\":0.5860714285714286,\"w\":0.04071428571428574,\"h\":0.023571428571428577,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787604011467_413\",\"label\":\"Text Personalization 4\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.28750000000000003,\"cy\":0.57,\"w\":0.05712356196733698,\"h\":0.02,\"rot\":-12,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787604037286_846\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.12142857142857144,\"cy\":0.6085714285714285,\"w\":0.03428571428571428,\"h\":0.031428571428571445,\"rot\":-11,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787604076157_264\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.40535714285714286,\"cy\":0.5478571428571428,\"w\":0.03785714285714287,\"h\":0.035,\"rot\":0,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787604093791_875\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.6732142857142858,\"cy\":0.5675,\"w\":0.05571428571428573,\"h\":0.02071428571428572,\"rot\":0,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787604122132_405\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.8535714285714285,\"cy\":0.5407142857142857,\"w\":0.041428571428571426,\"h\":0.038571428571428576,\"rot\":0,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787604143574_341\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.9071428571428571,\"cy\":0.4103571428571428,\"w\":0.03428571428571428,\"h\":0.038571428571428576,\"rot\":0,\"color\":\"#2b2b2b\"}\n    ],\n    // Personalized Couple Gift Set\n    '7799463215217': [\n      {\"id\":\"zone_1787598224182_436\",\"label\":\"Text Personalization\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.23035714285714287,\"cy\":0.3628571428571429,\"w\":0.03975282155965712,\"h\":0.02,\"rot\":24,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598254829_811\",\"label\":\"Text Personalization 2\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.7160714285714286,\"cy\":0.3682142857142857,\"w\":0.033571428571428585,\"h\":0.04857142857142858,\"rot\":8,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598274100_789\",\"label\":\"Text Personalization 3\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.4089285714285714,\"cy\":0.38607142857142857,\"w\":0.03357142857142857,\"h\":0.06642857142857143,\"rot\":122,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598294828_188\",\"label\":\"Text Personalization 4\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.5478571428571428,\"cy\":0.6475000000000001,\"w\":0.029595560501587313,\"h\":0.021017898075730845,\"rot\":12,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598341991_949\",\"label\":\"Text Personalization 5\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.7,\"cy\":0.6682142857142856,\"w\":0.02344973509388953,\"h\":0.06618518447349335,\"rot\":15,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598362441_286\",\"label\":\"Text Personalization 6\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.24285714285714288,\"cy\":0.7735714285714286,\"w\":0.026428571428571412,\"h\":0.05571428571428572,\"rot\":18,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598390491_133\",\"label\":\"Text Personalization 7\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.5178571428571428,\"cy\":0.8842857142857143,\"w\":0.030714285714285715,\"h\":0.06285714285714286,\"rot\":17,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598803040_870\",\"label\":\"Text Personalization 8\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.2892857142857143,\"cy\":0.5860714285714286,\"w\":0.03423835646368066,\"h\":0.07407195977347686,\"rot\":19,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787598827305_794\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.24285714285714285,\"cy\":0.3282142857142857,\"w\":0.028600636379520063,\"h\":0.025261989822762034,\"rot\":20,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787598901650_267\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.3428571428571429,\"cy\":0.27464285714285713,\"w\":0.025700234925492955,\"h\":0.02464086729703139,\"rot\":23,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787598933458_57\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.7267857142857143,\"cy\":0.3353571428571428,\"w\":0.02461386595768154,\"h\":0.026592565186924925,\"rot\":11,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787598953271_729\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.8214285714285714,\"cy\":0.2728571428571428,\"w\":0.020835394409026944,\"h\":0.030396945248278774,\"rot\":12,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787598986238_110\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.5607142857142857,\"cy\":0.6174999999999999,\"w\":0.030714285714285722,\"h\":0.031428571428571445,\"rot\":18,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787599007788_833\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.7142857142857143,\"cy\":0.6424999999999998,\"w\":0.028765817359782196,\"h\":0.030085211147922095,\"rot\":19,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787599050989_717\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.5285714285714286,\"cy\":0.8532142857142857,\"w\":0.030714285714285722,\"h\":0.038571428571428576,\"rot\":19,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787599070463_46\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.10892857142857142,\"cy\":0.7282142857142857,\"w\":0.02,\"h\":0.027857142857142858,\"rot\":19,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787599087922_755\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.48214285714285715,\"cy\":0.27999999999999997,\"w\":0.02,\"h\":0.027857142857142858,\"rot\":118,\"color\":\"#2b2b2b\"},\n      {\"id\":\"zone_1787599111893_168\",\"label\":\"Select Charm\",\"type\":\"logo\",\"template_field_id\":\"tpl_1\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.3035714285714286,\"cy\":0.5603571428571428,\"w\":0.02,\"h\":0.030937525360106116,\"rot\":22,\"color\":\"#2b2b2b\"}\n    ],\n    // Personalized Brown Diary, Lucky Tree and Tumbler Gift Set\n    '7799462985841': [\n      {\"id\":\"zone_1787592986972_563\",\"label\":\"Text Personalization\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.5375,\"cy\":0.72,\"w\":0.0907142857142857,\"h\":0.10928571428571429,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787593021635_856\",\"label\":\"Text Personalization 2\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.8571428571428572,\"cy\":0.5753571428571429,\"w\":0.09785714285714285,\"h\":0.045000000000000005,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787593130598_423\",\"label\":\"Text Personalization 3\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.19642857142857145,\"cy\":0.7521428571428572,\"w\":0.07999999999999999,\"h\":0.045000000000000005,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787593144188_765\",\"label\":\"Text Personalization 4\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.45357142857142857,\"cy\":0.77,\"w\":0.05857142857142855,\"h\":0.09142857142857144,\"rot\":0,\"color\":\"#ffffff\",\"demo\":\"Name\"}\n    ],\n    // Personalized Diary, Pen Holder and Pen Corporate Gift Set\n    '7799453122673': [\n      {\"id\":\"zone_1787600046517_705\",\"label\":\"Text Personalization\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.45714285714285713,\"cy\":0.7878571428571428,\"w\":0.16571428571428573,\"h\":0.05928571428571429,\"rot\":0,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787600054488_224\",\"label\":\"Text Personalization 2\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.8321428571428572,\"cy\":0.43785714285714283,\"w\":0.08714285714285713,\"h\":0.06285714285714286,\"rot\":4,\"color\":\"#2b2b2b\",\"demo\":\"Name\"},\n      {\"id\":\"zone_1787600072963_355\",\"label\":\"Text Personalization 3\",\"type\":\"text\",\"template_field_id\":\"tpl_0\",\"is_form_only\":false,\"share_input\":false,\"cx\":0.6589285714285714,\"cy\":0.6360714285714286,\"w\":0.051428571428571435,\"h\":0.020000000000000004,\"rot\":73,\"color\":\"#ffffff\",\"demo\":\"Name\"}\n    ]\n  };\n\n  async function fetchPlatformData(platformUrl, productId) {\n    try {\n      const url = `${platformUrl}/api/customization/fields?product_id=${encodeURIComponent(productId)}`;\n      const res = await fetch(url, { headers: { Origin: window.location.origin } });\n      if (!res.ok) return null;\n      const json = await res.json();\n      return { json, platformUrl };\n    } catch (e) {\n      return null;\n    }\n  }\n\n  const CARD_CFG_CACHE_VER = 10;\n  const CARD_CFG_TTL_MS = 20 * 60 * 1000;\n\n  function readCardCfgCache(productId) {\n    try {\n      const raw = sessionStorage.getItem(`bling_card_cfg_${productId}_v${CARD_CFG_CACHE_VER}`);\n      if (!raw) return null;\n      const parsed = JSON.parse(raw);\n      if (!parsed?.ts || Date.now() - parsed.ts > CARD_CFG_TTL_MS) return null;\n      if (Array.isArray(parsed.zones) && parsed.zones.length) return { zones: parsed.zones, assets: null };\n      return null;\n    } catch {\n      return null;\n    }\n  }\n\n  function writeCardCfgCache(productId, data) {\n    try {\n      sessionStorage.setItem(\n        `bling_card_cfg_${productId}_v${CARD_CFG_CACHE_VER}`,\n        JSON.stringify({ ts: Date.now(), zones: data && data.zones ? data.zones : [] }),\n      );\n    } catch {\n      /* ignore */\n    }\n  }\n\n  function defaultCharmAssetUrl() {\n    const map = window.BLING_CHARM_CLEAR_MAP;\n    if (map && map['1']) return map['1'];\n    return blingClearCharmUrl('https://cdn.shopify.com/s/files/1/0614/2902/2833/files/All_Charms_image_1.png');\n  }\n\n  async function loadCanvas(productId) {\n    // 0. Hard exclusion for non-customizable products (Diwali hampers, folder bags, candles)\n    if (NON_CUSTOMIZABLE_IDS.has(String(productId))) {\n      cache.set(productId, null);\n      return null;\n    }\n    if (cache.has(productId)) return cache.get(productId);\n    const sessionZones = readCardCfgCache(productId);\n    if (inflight.has(productId)) return inflight.get(productId);\n\n    const p = (async () => {\n      // 1. Check active primary platform first\n      let res = await fetchPlatformData(PRIMARY_PLATFORM, productId);\n      let data = res && res.json && res.json.data;\n      let canvas = data && data.canvas;\n      let fields = (data && data.fields) || [];\n      let zones = canvas && Array.isArray(canvas.zones) ? canvas.zones : [];\n      let usable = zones.filter((z) => {\n        if (!z) return false;\n        if (z.type === 'logo') return true;\n        return String(z.demo || '').trim().length > 0;\n      });\n\n      if (!usable.length && sessionZones?.zones?.length) {\n        usable = sessionZones.zones;\n        fields = fields.length ? fields : [];\n      }\n\n      // 2. If no zones on primary, check special configured giftsets\n      if (!usable.length && SPECIAL_GIFT_SET_ZONES[String(productId)]) {\n        usable = SPECIAL_GIFT_SET_ZONES[String(productId)];\n      }\n\n      // 3. If still no zones, query fallback platform (for ALL other older store products)\n      if (!usable.length && PRIMARY_PLATFORM !== FALLBACK_PLATFORM) {\n        const fallbackRes = await fetchPlatformData(FALLBACK_PLATFORM, productId);\n        if (fallbackRes) {\n          const fbData = fallbackRes.json && fallbackRes.json.data;\n          const fbCanvas = fbData && fbData.canvas;\n          const fbZones = fbCanvas && Array.isArray(fbCanvas.zones) ? fbCanvas.zones : [];\n          const fbUsable = fbZones.filter((z) => {\n            if (!z) return false;\n            if (z.type === 'logo') return true;\n            return String(z.demo || '').trim().length > 0;\n          });\n          if (fbUsable.length) {\n            res = fallbackRes;\n            data = fbData;\n            canvas = fbCanvas;\n            fields = (fbData && fbData.fields) || [];\n            usable = fbUsable;\n          }\n        }\n      }\n\n      if (!usable.length) {\n        cache.set(productId, null);\n        inflight.delete(productId);\n        return null;\n      }\n\n      const activePlatform = (res && res.platformUrl) || PRIMARY_PLATFORM;\n      const charmFields = fields.filter(isCharmField);\n      const logoZones = usable.filter((z) => z.type === 'logo');\n      const assets = {};\n      await Promise.all(\n        logoZones.map(async (z, zi) => {\n          const field = resolveField(z, fields);\n          const isCharm = field && isCharmField(field);\n          let url =\n            (window.BlingZoneRender && window.BlingZoneRender.logoPlaceholderUrl\n              ? window.BlingZoneRender.logoPlaceholderUrl()\n              : '') || LOGO_PLACEHOLDER_SVG;\n          if (isCharm) {\n            const opts = parseOptions(field).filter((o) => o && o.image);\n            const opt =\n              opts.find((o) => String(o.value) === 'charm_01') ||\n              opts.find((o) => /^charm\\s*0?1$/i.test(String(o.label || ''))) ||\n              opts[0];\n            if (opt) url = optionImageUrl(activePlatform, opt.image);\n            else url = defaultCharmAssetUrl();\n          } else if (!field && charmFields[zi]) {\n            // Unlinked logo zone: assign distinct charms by order\n            const f = charmFields[zi];\n            const opts = parseOptions(f).filter((o) => o && o.image);\n            const opt = opts[Math.min(zi, Math.max(0, opts.length - 1))];\n            if (opt) url = optionImageUrl(activePlatform, opt.image);\n          }\n          const skipKnockout = isCharm && isSvgAssetUrl(url);\n          assets[z.id || zi] = await loadCharmAsset(url, { skipKnockout });\n        }),\n      );\n\n      const result = { zones: usable, assets };\n      cache.set(productId, result);\n      writeCardCfgCache(productId, result);\n      inflight.delete(productId);\n      return result;\n    })().catch(() => {\n      cache.set(productId, null);\n      inflight.delete(productId);\n      return null;\n    });\n\n    inflight.set(productId, p);\n    return p;\n  }\n\n  function ensureStyles() {\n    let st = document.getElementById('bling-card-preview-styles');\n    if (!st) {\n      st = document.createElement('style');\n      st.id = 'bling-card-preview-styles';\n      document.head.appendChild(st);\n    }\n    st.textContent = `\n      .pcard-img, .card__media, .resource-card__media { position: relative; }\n      .pcard-main-img { position: relative; z-index: 0; }\n      .bling-card-zone-canvas {\n        position: absolute !important;\n        left: 0; top: 0; width: 100%; height: 100%;\n        pointer-events: none !important;\n        z-index: 1 !important;\n        border-radius: inherit;\n        opacity: 1;\n        transition: opacity 0.3s ease !important;\n        transform: none !important;\n        transform-origin: center center !important;\n      }\n      .pcard-img, .card__media, .resource-card__media, .media--hover-effect {\n        overflow: hidden !important;\n      }\n      .pcard-img img, .card__media img, .media--hover-effect img {\n        transform: none !important;\n      }\n      .pcard:hover img, .card-wrapper:hover img {\n        transform: none !important;\n      }\n      .pcard-hover-img { z-index: 2 !important; }\n      .card-wrapper .media--hover-effect > img + img,\n      .product-card-wrapper .media--hover-effect > img + img {\n        z-index: 2 !important;\n      }\n    `;\n  }\n\n  const CARD_TEXT_SCALE = 0.72; // Scaled down exclusively for product card thumbnails to fit gracefully\n\n  function drawText(ctx, text, font, maxW, maxH, color) {\n    const setFont = (s) => {\n      ctx.font = `${s}px '${font}', Georgia, serif`;\n    };\n    let lo = 3;\n    let hi = Math.max(4, Math.round(maxH * 2.2));\n    let best = lo;\n    while (lo <= hi) {\n      const mid = (lo + hi) >> 1;\n      setFont(mid);\n      const m = ctx.measureText(text);\n      const w =\n        (m.actualBoundingBoxLeft || 0) +\n        (m.actualBoundingBoxRight != null ? m.actualBoundingBoxRight : m.width);\n      const h =\n        (m.actualBoundingBoxAscent != null ? m.actualBoundingBoxAscent : mid * 0.72) +\n        (m.actualBoundingBoxDescent != null ? m.actualBoundingBoxDescent : mid * 0.22);\n      if (w <= maxW && h <= maxH) {\n        best = mid;\n        lo = mid + 1;\n      } else {\n        hi = mid - 1;\n      }\n    }\n    const scaledSize = Math.max(3, Math.round(best * CARD_TEXT_SCALE));\n    setFont(scaledSize);\n    ctx.fillStyle = color || '#3a2a1a';\n    ctx.textAlign = 'center';\n    ctx.textBaseline = 'middle';\n    ctx.fillText(text, 0, 0);\n  }\n\n  function paint(ctx, W, H, zones, assets, productImg) {\n    if (window.BlingZoneRender && typeof window.BlingZoneRender.paintZonesOnContext === 'function') {\n      window.BlingZoneRender.paintZonesOnContext(ctx, W, H, productImg || null, zones, assets, {\n        defaultFont: 'Georgia',\n      });\n      return;\n    }\n    const PAD = 0.96;\n    const TEXT_FIT = 0.78;\n    let logoIdx = 0;\n    for (let i = 0; i < zones.length; i++) {\n      const z = zones[i];\n      const bx = (Number(z.cx) || 0.5) * W;\n      const by = (Number(z.cy) || 0.5) * H;\n      const maxW = Math.max(8, (Number(z.w) || 0.35) * W * PAD);\n      const maxH = Math.max(8, (Number(z.h) || 0.08) * H * PAD);\n      ctx.save();\n      ctx.translate(bx, by);\n      ctx.rotate(((Number(z.rot) || 0) * Math.PI) / 180);\n      if (z.type === 'logo') {\n        const img = (assets && (assets[z.id] || assets[logoIdx])) || null;\n        logoIdx += 1;\n        if (img && img.width) {\n          const scale = Math.min(maxW / img.width, maxH / img.height);\n          const dw = img.width * scale;\n          const dh = img.height * scale;\n          ctx.drawImage(img, -dw / 2, -dh / 2, dw, dh);\n        }\n      } else {\n        const text = (\n          window.BlingZoneRender && window.BlingZoneRender.demoTextForZone\n            ? window.BlingZoneRender.demoTextForZone(z)\n            : String(z.demo || 'Name').trim()\n        ).trim();\n        if (text) {\n          const font = String(z.font || 'Georgia').replace(/['\\\\]/g, '');\n          drawText(ctx, text, font, maxW * TEXT_FIT, maxH * TEXT_FIT, z.color || '#3a2a1a');\n        }\n      }\n      ctx.restore();\n    }\n  }\n\n  function waitForMedia(media) {\n    const img = media.querySelector('img.pcard-main-img, img');\n    if (!img) return Promise.resolve();\n    if (img.complete && img.naturalWidth) return Promise.resolve();\n    return new Promise((resolve) => {\n      const done = () => resolve();\n      img.addEventListener('load', done, { once: true });\n      img.addEventListener('error', done, { once: true });\n      setTimeout(done, 1200);\n    });\n  }\n\n  async function overlayCard({ id, media }) {\n    if (painted.has(media)) return;\n    painted.add(media);\n    const data = await loadCanvas(id);\n    if (!data) return;\n    ensureStyles();\n    await waitForMedia(media);\n    const cs = getComputedStyle(media);\n    if (cs.position === 'static') media.style.position = 'relative';\n    const mainImg = media.querySelector('img.pcard-main-img, img');\n    let canvas =\n      (mainImg && mainImg.parentElement\n        ? mainImg.parentElement.querySelector(':scope > .bling-card-zone-canvas')\n        : null) || media.querySelector(':scope > .bling-card-zone-canvas');\n    if (!canvas) {\n      canvas = document.createElement('canvas');\n      canvas.className = 'bling-card-zone-canvas';\n      canvas.setAttribute('aria-hidden', 'true');\n      if (mainImg && mainImg.parentElement) {\n        mainImg.parentElement.insertBefore(canvas, mainImg.nextSibling);\n      } else {\n        media.appendChild(canvas);\n      }\n    }\n    const paintNow = () => {\n      const w = Math.max(1, media.clientWidth || 0);\n      const h = Math.max(1, media.clientHeight || 0);\n      if (w < 8 || h < 8) return false;\n      const dpr = Math.min(window.devicePixelRatio || 1, 2);\n      canvas.width = Math.round(w * dpr);\n      canvas.height = Math.round(h * dpr);\n      canvas.style.width = '100%';\n      canvas.style.height = '100%';\n      const ctx = canvas.getContext('2d');\n      ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n      ctx.clearRect(0, 0, w, h);\n      const productImg = media.querySelector('img.pcard-main-img, img');\n      paint(ctx, w, h, data.zones, data.assets, productImg);\n      return true;\n    };\n    if (!paintNow()) {\n      requestAnimationFrame(() => {\n        if (paintNow()) return;\n        setTimeout(paintNow, 150);\n        setTimeout(paintNow, 600);\n        setTimeout(paintNow, 1500);\n      });\n    }\n    if (typeof ResizeObserver !== 'undefined') {\n      const ro = new ResizeObserver(() => paintNow());\n      ro.observe(media);\n      setTimeout(() => ro.disconnect(), 8000);\n    }\n  }\n\n  function observe() {\n    const cards = findCards();\n    if (!cards.length) return;\n    ensureStyles();\n    // Paint every product card thumbnail site-wide (related/footer grids are often\n    // far below the fold \u2014 do not wait for IntersectionObserver).\n    cards.forEach(({ id, media }) => {\n      media.setAttribute('data-bling-preview-id', id);\n      overlayCard({ id, media });\n    });\n  }\n\n  function isCardNode(n) {\n    if (!n || n.nodeType !== 1) return false;\n    if (n.classList && n.classList.contains('bling-card-zone-canvas')) return false;\n    if (\n      n.classList &&\n      (n.classList.contains('pcard') ||\n        n.classList.contains('product-card-wrapper') ||\n        n.classList.contains('card-wrapper') ||\n        n.hasAttribute('data-product-id'))\n    ) {\n      return true;\n    }\n    return !!(\n      n.querySelector &&\n      n.querySelector('.pcard, .product-card-wrapper, .card-wrapper[data-product-id], [data-product-id] .pcard-img')\n    );\n  }\n\n  function boot() {\n    observe();\n    document.addEventListener('shopify:section:load', () => setTimeout(observe, 50));\n    // Late-loaded recommendations / carousels / tabs\n    [400, 1200, 3000].forEach((ms) => setTimeout(observe, ms));\n    let t;\n    const mo = new MutationObserver((mutations) => {\n      for (const m of mutations) {\n        for (const n of m.addedNodes) {\n          if (!isCardNode(n)) continue;\n          clearTimeout(t);\n          t = setTimeout(observe, 200);\n          return;\n        }\n      }\n    });\n    mo.observe(document.body, { childList: true, subtree: true });\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n})();\n"],
  "mappings": "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",
  "names": []
}
