{"version":3,"sources":["jsdelivr-header.js","/npm/hexo-theme-next@8.23.0/source/js/config.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNK,OAAO,OAAM,OAAO,KAAO,CAAC,GAEjC,WACE,MAEM,EAAe,CAAC,EACtB,IAAI,EAAiB,CAAC,EAEtB,MAEM,EAAS,IACb,MAAM,EAAY,SAAS,cAAc,2BAA4B,OACrE,IAAK,EAAW,OAChB,MAAM,GALM,EAKe,EAAU,KALjB,KAAK,MAAM,GAAQ,OAA3B,MAMC,SAAT,EACF,OAAO,OAAO,EAAc,GAE5B,EAAe,GAAQ,CACzB,EAGF,EAAO,QAEP,OAAO,OAAS,IAAI,MAAM,CAAC,EAAG,CAC5B,GAAA,CAAI,EAAgB,GAClB,IAAI,EAcJ,GAbI,KAAQ,EACV,EAAW,EAAa,IAElB,KAAQ,GAAiB,EAAO,GACtC,EAAW,EAAe,IAItB,KAAQ,GAAuC,iBAAb,IAEtC,EAAe,GAAQ,CAAC,GAGtB,KAAQ,EAAgB,CAC1B,MAAM,EAAW,EAAe,GAGhC,MAAwB,iBAAb,GAA6C,iBAAb,EAElC,IAAI,MAAM,IAAK,KAAa,GAAY,CAC7C,IAAG,CAAC,EAAQ,EAAM,KAChB,EAAO,GAAQ,EACf,EAAS,GAAQ,GACV,KAKN,CACT,CAGA,OAAO,CACT,IAGF,SAAS,iBAAiB,gBAAgB,KACxC,EAAiB,CAAC,CAAC,GAEtB,CA/DD","file":"/npm/hexo-theme-next@8.23.0/source/js/config.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/hexo-theme-next@8.23.0/source/js/config.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","if (!window.NexT) window.NexT = {};\n\n(function() {\n  const className = 'next-config';\n\n  const staticConfig = {};\n  let variableConfig = {};\n\n  const parse = text => JSON.parse(text || '{}');\n\n  const update = name => {\n    const targetEle = document.querySelector(`.${className}[data-name=\"${name}\"]`);\n    if (!targetEle) return;\n    const parsedConfig = parse(targetEle.text);\n    if (name === 'main') {\n      Object.assign(staticConfig, parsedConfig);\n    } else {\n      variableConfig[name] = parsedConfig;\n    }\n  };\n\n  update('main');\n\n  window.CONFIG = new Proxy({}, {\n    get(overrideConfig, name) {\n      let existing;\n      if (name in staticConfig) {\n        existing = staticConfig[name];\n      } else {\n        if (!(name in variableConfig)) update(name);\n        existing = variableConfig[name];\n      }\n\n      // For unset override and mixable existing\n      if (!(name in overrideConfig) && typeof existing === 'object') {\n        // Get ready to mix.\n        overrideConfig[name] = {};\n      }\n\n      if (name in overrideConfig) {\n        const override = overrideConfig[name];\n\n        // When mixable\n        if (typeof override === 'object' && typeof existing === 'object') {\n          // Mix, proxy changes to the override.\n          return new Proxy({ ...existing, ...override }, {\n            set(target, prop, value) {\n              target[prop] = value;\n              override[prop] = value;\n              return true;\n            }\n          });\n        }\n\n        return override;\n      }\n\n      // Only when not mixable and override hasn't been set.\n      return existing;\n    }\n  });\n\n  document.addEventListener('pjax:success', () => {\n    variableConfig = {};\n  });\n})();\n"]}